diff --git a/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/.browserslistrc b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/.browserslistrc
new file mode 100644
index 00000000..d6471a38
--- /dev/null
+++ b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/.browserslistrc
@@ -0,0 +1,2 @@
+> 1%
+last 2 versions
diff --git a/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/.editorconfig b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/.editorconfig
new file mode 100644
index 00000000..7053c49a
--- /dev/null
+++ b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/.editorconfig
@@ -0,0 +1,5 @@
+[*.{js,jsx,ts,tsx,vue}]
+indent_style = space
+indent_size = 2
+trim_trailing_whitespace = true
+insert_final_newline = true
diff --git a/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/.eslintrc.js b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/.eslintrc.js
new file mode 100644
index 00000000..f62621ce
--- /dev/null
+++ b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/.eslintrc.js
@@ -0,0 +1,40 @@
+module.exports = {
+ root: true,
+ env: {
+ node: true
+ },
+ 'extends': [
+ 'plugin:vue/essential',
+ '@vue/standard'
+ ],
+ parserOptions: {
+ parser: 'babel-eslint'
+ },
+ rules: {
+ 'no-console': process.env.NODE_ENV === 'production' ? 'error' : 'off',
+ 'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off',
+ 'semi': ['off', 'always'],
+ 'prefer-promise-reject-errors': ['error', { 'allowEmptyReject': true }],
+ 'no-trailing-spaces': ['error', { 'skipBlankLines': true }],
+ 'prefer-const': ['off'],
+ 'quote-props': ['off'],
+ 'object-curly-spacing': ['off'],
+ 'dot-notation': ['off'],
+ 'lines-between-class-members': ['off'],
+ // 'no-undef': ['off', 'always'],
+ // 'no-unused-vars': ['off', 'always'],
+ 'no-new-func': ['off', 'always'],
+ 'no-console': ['off']
+ },
+ overrides: [
+ {
+ files: [
+ '**/__tests__/*.{j,t}s?(x)',
+ '**/tests/unit/**/*.spec.{j,t}s?(x)'
+ ],
+ env: {
+ jest: true
+ }
+ }
+ ]
+}
diff --git a/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/.gitignore b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/.gitignore
new file mode 100644
index 00000000..a0dddc6f
--- /dev/null
+++ b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/.gitignore
@@ -0,0 +1,21 @@
+.DS_Store
+node_modules
+/dist
+
+# local env files
+.env.local
+.env.*.local
+
+# Log files
+npm-debug.log*
+yarn-debug.log*
+yarn-error.log*
+
+# Editor directories and files
+.idea
+.vscode
+*.suo
+*.ntvs*
+*.njsproj
+*.sln
+*.sw?
diff --git a/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/README.md b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/README.md
new file mode 100644
index 00000000..fe1441d6
--- /dev/null
+++ b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/README.md
@@ -0,0 +1,17 @@
+## 橙单代码生成器
+### 构建命令
+``` bash
+# install dependencies
+npm install
+
+# serve with hot reload at localhost:8080
+npm run dev
+
+# build for production with minification
+npm run build
+
+# run all tests
+npm test
+```
+
+### 官方文档:[http://101.200.178.51/](http://101.200.178.51/)
\ No newline at end of file
diff --git a/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/babel.config.js b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/babel.config.js
new file mode 100644
index 00000000..e9558405
--- /dev/null
+++ b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/babel.config.js
@@ -0,0 +1,5 @@
+module.exports = {
+ presets: [
+ '@vue/cli-plugin-babel/preset'
+ ]
+}
diff --git a/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/jest.config.js b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/jest.config.js
new file mode 100644
index 00000000..0f957914
--- /dev/null
+++ b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/jest.config.js
@@ -0,0 +1,3 @@
+module.exports = {
+ preset: '@vue/cli-plugin-unit-jest'
+}
diff --git a/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/package.json b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/package.json
new file mode 100644
index 00000000..1fcb6289
--- /dev/null
+++ b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/package.json
@@ -0,0 +1,61 @@
+{
+ "name": "orange-single-page-project",
+ "version": "1.0.0",
+ "private": true,
+ "scripts": {
+ "serve": "vue-cli-service serve",
+ "dev": "vue-cli-service serve",
+ "build": "vue-cli-service build",
+ "test:unit": "vue-cli-service test:unit",
+ "lint": "vue-cli-service lint"
+ },
+ "dependencies": {
+ "axios": "^0.18.0",
+ "echarts": "^4.2.1",
+ "element-ui": "^2.13.0",
+ "jquery": "^3.3.1",
+ "jsencrypt": "^3.0.0-rc.1",
+ "json-bigint": "^0.3.0",
+ "layui-layer": "^1.0.9",
+ "lodash": "^4.17.5",
+ "core-js": "^3.6.4",
+ "register-service-worker": "^1.6.2",
+ "sortablejs": "^1.7.0",
+ "v-charts": "^1.19.0",
+ "vue": "^2.6.11",
+ "vue-router": "^3.1.5",
+ "vuex": "^3.1.2",
+ "wangeditor": "^3.1.1"
+ },
+ "devDependencies": {
+ "@vue/cli-plugin-babel": "~4.2.0",
+ "@vue/cli-plugin-eslint": "~4.2.0",
+ "@vue/cli-plugin-pwa": "~4.2.0",
+ "@vue/cli-plugin-router": "~4.2.0",
+ "@vue/cli-plugin-unit-jest": "~4.2.0",
+ "@vue/cli-plugin-vuex": "~4.2.0",
+ "@vue/cli-service": "~4.2.0",
+ "@vue/eslint-config-standard": "^5.1.0",
+ "@vue/test-utils": "1.0.0-beta.31",
+ "babel-eslint": "^10.0.3",
+ "eslint": "^6.7.2",
+ "eslint-plugin-import": "^2.20.1",
+ "eslint-plugin-node": "^11.0.0",
+ "eslint-plugin-promise": "^4.2.1",
+ "eslint-plugin-standard": "^4.0.0",
+ "eslint-plugin-vue": "^6.1.2",
+ "lint-staged": "^9.5.0",
+ "node-sass": "^4.13.1",
+ "sass-loader": "^7.3.1",
+ "vue-template-compiler": "^2.6.11"
+ },
+ "gitHooks": {
+ "pre-commit": "lint-staged"
+ },
+ "lint-staged": {
+ "*.{js,jsx,vue}": [
+ "vue-cli-service lint",
+ "git add"
+ ]
+ }
+}
diff --git a/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/public/favicon.ico b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/public/favicon.ico
new file mode 100644
index 00000000..df36fcfb
Binary files /dev/null and b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/public/favicon.ico differ
diff --git a/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/public/img/icons/android-chrome-192x192.png b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/public/img/icons/android-chrome-192x192.png
new file mode 100644
index 00000000..b02aa64d
Binary files /dev/null and b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/public/img/icons/android-chrome-192x192.png differ
diff --git a/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/public/img/icons/android-chrome-512x512.png b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/public/img/icons/android-chrome-512x512.png
new file mode 100644
index 00000000..06088b01
Binary files /dev/null and b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/public/img/icons/android-chrome-512x512.png differ
diff --git a/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/public/img/icons/android-chrome-maskable-192x192.png b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/public/img/icons/android-chrome-maskable-192x192.png
new file mode 100644
index 00000000..791e9c8c
Binary files /dev/null and b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/public/img/icons/android-chrome-maskable-192x192.png differ
diff --git a/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/public/img/icons/android-chrome-maskable-512x512.png b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/public/img/icons/android-chrome-maskable-512x512.png
new file mode 100644
index 00000000..5f2098ed
Binary files /dev/null and b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/public/img/icons/android-chrome-maskable-512x512.png differ
diff --git a/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/public/img/icons/apple-touch-icon-120x120.png b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/public/img/icons/apple-touch-icon-120x120.png
new file mode 100644
index 00000000..1427cf62
Binary files /dev/null and b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/public/img/icons/apple-touch-icon-120x120.png differ
diff --git a/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/public/img/icons/apple-touch-icon-152x152.png b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/public/img/icons/apple-touch-icon-152x152.png
new file mode 100644
index 00000000..f24d454a
Binary files /dev/null and b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/public/img/icons/apple-touch-icon-152x152.png differ
diff --git a/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/public/img/icons/apple-touch-icon-180x180.png b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/public/img/icons/apple-touch-icon-180x180.png
new file mode 100644
index 00000000..404e192a
Binary files /dev/null and b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/public/img/icons/apple-touch-icon-180x180.png differ
diff --git a/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/public/img/icons/apple-touch-icon-60x60.png b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/public/img/icons/apple-touch-icon-60x60.png
new file mode 100644
index 00000000..cf10a560
Binary files /dev/null and b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/public/img/icons/apple-touch-icon-60x60.png differ
diff --git a/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/public/img/icons/apple-touch-icon-76x76.png b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/public/img/icons/apple-touch-icon-76x76.png
new file mode 100644
index 00000000..c500769e
Binary files /dev/null and b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/public/img/icons/apple-touch-icon-76x76.png differ
diff --git a/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/public/img/icons/apple-touch-icon.png b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/public/img/icons/apple-touch-icon.png
new file mode 100644
index 00000000..03c0c5d5
Binary files /dev/null and b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/public/img/icons/apple-touch-icon.png differ
diff --git a/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/public/img/icons/favicon-16x16.png b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/public/img/icons/favicon-16x16.png
new file mode 100644
index 00000000..42af0096
Binary files /dev/null and b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/public/img/icons/favicon-16x16.png differ
diff --git a/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/public/img/icons/favicon-32x32.png b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/public/img/icons/favicon-32x32.png
new file mode 100644
index 00000000..46ca04de
Binary files /dev/null and b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/public/img/icons/favicon-32x32.png differ
diff --git a/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/public/img/icons/msapplication-icon-144x144.png b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/public/img/icons/msapplication-icon-144x144.png
new file mode 100644
index 00000000..7808237a
Binary files /dev/null and b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/public/img/icons/msapplication-icon-144x144.png differ
diff --git a/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/public/img/icons/mstile-150x150.png b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/public/img/icons/mstile-150x150.png
new file mode 100644
index 00000000..3b37a43a
Binary files /dev/null and b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/public/img/icons/mstile-150x150.png differ
diff --git a/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/public/img/icons/safari-pinned-tab.svg b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/public/img/icons/safari-pinned-tab.svg
new file mode 100644
index 00000000..732afd8e
--- /dev/null
+++ b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/public/img/icons/safari-pinned-tab.svg
@@ -0,0 +1,149 @@
+
+
+
diff --git a/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/public/index.html b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/public/index.html
new file mode 100644
index 00000000..8d49ea34
--- /dev/null
+++ b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/public/index.html
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+
+ UAA应用管理项目
+
+
+
+
+
+
+
diff --git a/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/public/robots.txt b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/public/robots.txt
new file mode 100644
index 00000000..eb053628
--- /dev/null
+++ b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/public/robots.txt
@@ -0,0 +1,2 @@
+User-agent: *
+Disallow:
diff --git a/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/App.vue b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/App.vue
new file mode 100644
index 00000000..857c190e
--- /dev/null
+++ b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/App.vue
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
diff --git a/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/api/Controller/AuthClientDetailsController.js b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/api/Controller/AuthClientDetailsController.js
new file mode 100644
index 00000000..20d9306a
--- /dev/null
+++ b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/api/Controller/AuthClientDetailsController.js
@@ -0,0 +1,25 @@
+export default class AuthClientDetailsController {
+ static list (sender, params, axiosOption, httpOption) {
+ return sender.doUrl('/admin/uaaadmin/authClientDetails/list', 'post', params, axiosOption, httpOption);
+ }
+
+ static view (sender, params, axiosOption, httpOption) {
+ return sender.doUrl('/admin/uaaadmin/authClientDetails/view', 'get', params, axiosOption, httpOption);
+ }
+
+ static export (sender, params, fileName) {
+ return sender.download('/admin/uaaadmin/authClientDetails/export', params, fileName);
+ }
+
+ static add (sender, params, axiosOption, httpOption) {
+ return sender.doUrl('/admin/uaaadmin/authClientDetails/add', 'post', params, axiosOption, httpOption);
+ }
+
+ static update (sender, params, axiosOption, httpOption) {
+ return sender.doUrl('/admin/uaaadmin/authClientDetails/update', 'post', params, axiosOption, httpOption);
+ }
+
+ static delete (sender, params, axiosOption, httpOption) {
+ return sender.doUrl('/admin/uaaadmin/authClientDetails/delete', 'post', params, axiosOption, httpOption);
+ }
+}
diff --git a/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/api/Controller/DictionaryController.js b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/api/Controller/DictionaryController.js
new file mode 100644
index 00000000..f414b366
--- /dev/null
+++ b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/api/Controller/DictionaryController.js
@@ -0,0 +1,14 @@
+import * as staticDict from '@/staticDict'
+
+export default class DictionaryController {
+ static dictUserStatus () {
+ return new Promise((resolve) => {
+ resolve(staticDict.UserStatus);
+ });
+ }
+ static dictUserType () {
+ return new Promise((resolve) => {
+ resolve(staticDict.UserType);
+ });
+ }
+}
diff --git a/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/api/Controller/SysUaaOperatorController.js b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/api/Controller/SysUaaOperatorController.js
new file mode 100644
index 00000000..dced9a06
--- /dev/null
+++ b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/api/Controller/SysUaaOperatorController.js
@@ -0,0 +1,29 @@
+export default class SysUaaOperatorController {
+ static list (sender, params, axiosOption, httpOption) {
+ return sender.doUrl('/admin/uaaadmin/sysUaaOperator/list', 'post', params, axiosOption, httpOption);
+ }
+
+ static view (sender, params, axiosOption, httpOption) {
+ return sender.doUrl('/admin/uaaadmin/sysUaaOperator/view', 'get', params, axiosOption, httpOption);
+ }
+
+ static export (sender, params, fileName) {
+ return sender.download('/admin/uaaadmin/sysUaaOperator/export', params, fileName);
+ }
+
+ static add (sender, params, axiosOption, httpOption) {
+ return sender.doUrl('/admin/uaaadmin/sysUaaOperator/add', 'post', params, axiosOption, httpOption);
+ }
+
+ static update (sender, params, axiosOption, httpOption) {
+ return sender.doUrl('/admin/uaaadmin/sysUaaOperator/update', 'post', params, axiosOption, httpOption);
+ }
+
+ static delete (sender, params, axiosOption, httpOption) {
+ return sender.doUrl('/admin/uaaadmin/sysUaaOperator/delete', 'post', params, axiosOption, httpOption);
+ }
+
+ static resetPassword (sender, params, axiosOption, httpOption) {
+ return sender.doUrl('/admin/uaaadmin/sysUaaOperator/resetPassword', 'post', params, axiosOption, httpOption);
+ }
+}
diff --git a/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/api/Controller/SysUaaUserController.js b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/api/Controller/SysUaaUserController.js
new file mode 100644
index 00000000..8017b23d
--- /dev/null
+++ b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/api/Controller/SysUaaUserController.js
@@ -0,0 +1,29 @@
+export default class SysUaaUserController {
+ static list (sender, params, axiosOption, httpOption) {
+ return sender.doUrl('/admin/uaaadmin/sysUaaUser/list', 'post', params, axiosOption, httpOption);
+ }
+
+ static view (sender, params, axiosOption, httpOption) {
+ return sender.doUrl('/admin/uaaadmin/sysUaaUser/view', 'get', params, axiosOption, httpOption);
+ }
+
+ static export (sender, params, fileName) {
+ return sender.download('/admin/uaaadmin/sysUaaUser/export', params, fileName);
+ }
+
+ static add (sender, params, axiosOption, httpOption) {
+ return sender.doUrl('/admin/uaaadmin/sysUaaUser/add', 'post', params, axiosOption, httpOption);
+ }
+
+ static update (sender, params, axiosOption, httpOption) {
+ return sender.doUrl('/admin/uaaadmin/sysUaaUser/update', 'post', params, axiosOption, httpOption);
+ }
+
+ static delete (sender, params, axiosOption, httpOption) {
+ return sender.doUrl('/admin/uaaadmin/sysUaaUser/delete', 'post', params, axiosOption, httpOption);
+ }
+
+ static resetPassword (sender, params, axiosOption, httpOption) {
+ return sender.doUrl('/admin/uaaadmin/sysUaaUser/resetPassword', 'post', params, axiosOption, httpOption);
+ }
+}
diff --git a/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/api/Controller/SystemController.js b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/api/Controller/SystemController.js
new file mode 100644
index 00000000..a0bc5ca2
--- /dev/null
+++ b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/api/Controller/SystemController.js
@@ -0,0 +1,13 @@
+export default class SystemController {
+ static login (sender, params, axiosOption, httpOption) {
+ return sender.doUrl('admin/upms/login/doLogin', 'post', params, axiosOption, httpOption);
+ }
+
+ static logout (sender, params, axiosOption, httpOption) {
+ return sender.doUrl('admin/upms/login/doLogout', 'post', params, axiosOption, httpOption);
+ }
+
+ static changePassword (sender, params, axiosOption, httpOption) {
+ return sender.doUrl('admin/upms/login/changePassword', 'post', params, axiosOption, httpOption);
+ }
+}
diff --git a/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/api/index.js b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/api/index.js
new file mode 100644
index 00000000..7b93b0ba
--- /dev/null
+++ b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/api/index.js
@@ -0,0 +1,13 @@
+import SystemController from './Controller/SystemController'
+import DictionaryController from './Controller/DictionaryController'
+import AuthClientDetailsController from './Controller/AuthClientDetailsController.js'
+import SysUaaUserController from './Controller/SysUaaUserController.js'
+import SysUaaOperatorController from './Controller/SysUaaOperatorController.js'
+
+export {
+ SystemController,
+ DictionaryController,
+ AuthClientDetailsController,
+ SysUaaUserController,
+ SysUaaOperatorController
+}
diff --git a/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/assets/img/default-header.jpg b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/assets/img/default-header.jpg
new file mode 100644
index 00000000..222d18da
Binary files /dev/null and b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/assets/img/default-header.jpg differ
diff --git a/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/assets/img/login_bg.jpg b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/assets/img/login_bg.jpg
new file mode 100644
index 00000000..74474f84
Binary files /dev/null and b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/assets/img/login_bg.jpg differ
diff --git a/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/assets/img/logo.jpg b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/assets/img/logo.jpg
new file mode 100644
index 00000000..a88fc0d0
Binary files /dev/null and b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/assets/img/logo.jpg differ
diff --git a/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/assets/img/orange-group1.png b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/assets/img/orange-group1.png
new file mode 100644
index 00000000..efd59f26
Binary files /dev/null and b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/assets/img/orange-group1.png differ
diff --git a/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/assets/style/base.scss b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/assets/style/base.scss
new file mode 100644
index 00000000..2ceda7be
--- /dev/null
+++ b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/assets/style/base.scss
@@ -0,0 +1,593 @@
+@import "element-color.scss";
+@import "transition.scss";
+
+html, body {
+ padding: 0;
+ margin: 0;
+ font-size: 14px;
+ font-family: "Helvetica Neue",Helvetica,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","微软雅黑",Arial,sans-serif;
+ background-color: rgb(228,240,255);
+}
+
+*,
+*:before,
+*:after {
+ box-sizing: border-box;
+}
+
+$header-height: 60px;
+
+// 过滤组件长度
+$filter-item-width: 250px;
+// 范围选择过滤组件长度
+$filter-item-range-width: 400px;
+// 左侧过滤树组件每一项高度
+$tree-node-height: 40px;
+// 高级管理表单标题高度
+$advanced-title-height: 50px;
+$border-color: rgb(216, 220, 229);
+$menuHover: rgba(255,255,255,0.3);
+$menu-background-color: transparent;
+$tabs-header-margin-bottom: 25px;
+$tab-header-background-color: #EBEEF5;
+$image-item-width: 65px;
+$box-padding-size: 25px;
+
+/**
+ * 弹窗样式,封装的layer的弹窗
+ **/
+body .layer-dialog .layui-layer-title{
+ border-radius: 4px 4px 0px 0px;
+ border:1px solid #01000000;
+}
+
+body .layer-dialog .layui-layer-setwin {color: #ffffff}
+
+body .layer-dialog {
+ border-radius: 4px;
+ border:1px solid #01000000;
+}
+
+body .layer-dialog .layui-layer-content {
+ padding: $box-padding-size;
+}
+
+
+.demo-project {
+ .el-main {
+ padding: 0px;
+ }
+ .flex-box {
+ flex-wrap: wrap;
+ }
+ .scrollbar_dropdown__wrap {
+ overflow-x: hidden;
+ }
+
+ .icon-btn.el-button {
+ font-size: 18px;
+ padding: 5px 0px;
+ }
+
+ .default-padding-box {
+ padding: $box-padding-size;
+ }
+
+ .padding-no-top {
+ padding: 0px $box-padding-size $box-padding-size $box-padding-size;
+ }
+
+ .default-border {
+ border: 1px solid $border-color1;
+ }
+
+ .default-border-left {
+ border-left: 1px solid $border-color1;
+ }
+
+ .default-border-right {
+ border-right: 1px solid $border-color1;
+ }
+
+ .default-border-top {
+ border-top: 1px solid $border-color1;
+ }
+
+ .default-border-bottom {
+ border-bottom: 1px solid $border-color1;
+ }
+
+ .page-close-box {
+ position: absolute;
+ background: #13ce66;
+ transform: rotate(45deg);
+ height: 60px;
+ width: 60px;
+ right: -30px;
+ top:-30px;
+ text-align: center;
+
+ .el-button {
+ transform: rotate(-45deg);
+ color: white;
+ margin-top: 30px;
+ }
+ }
+
+ /**
+ * 过滤组件样式
+ **/
+ .mask-box {
+ position: absolute;
+ width: 100%;
+ height: 100%;
+ background-color: rgba(0,0,0,0.5);
+ top: 0;
+ z-index: 10;
+ }
+
+ .filter-box {
+ position: relative;
+ background-color: white;
+ padding: $box-padding-size $box-padding-size 0px $box-padding-size;
+ z-index: 20;
+ }
+
+ .advance-filter-box {
+ padding-bottom: 25px;
+ }
+
+ .filter-item {
+ width: $filter-item-width;
+ }
+
+ .cascader-item {
+ width: 160px!important;
+ }
+
+ .is-range, .is-search {
+ width: $filter-item-range-width;
+ }
+
+ .table-operation-box {
+ align-self: flex-end;
+ margin-bottom: 10px;
+ overflow: hidden;
+ }
+
+ /**
+ * 左侧树状组件的样式,用户高级管理表单以及用户管理表单
+ **/
+ .advanced-left-box {
+ border-right: 1px solid $border-color;
+ .el-tree-node__content {
+ height: $tree-node-height;
+ }
+
+ .tree-node-item {
+ height: $tree-node-height;
+ line-height: $tree-node-height;
+ width: 100%;
+
+ .tree-node-menu {
+ display: none;
+ float: right;
+ padding-right: 10px;
+ color: red!important;
+ }
+
+ &:hover .tree-node-menu {
+ display: block;
+ }
+ }
+
+ .el-tree-node .el-button+.el-button {
+ margin-left: 5px;
+ }
+ }
+ /**
+ * form表单输入组件宽度
+ **/
+ .full-width-input {
+ .el-select {
+ width: 100%;
+ }
+
+ .el-input {
+ width: 100%;
+ }
+
+ .el-cascader {
+ width: 100%;
+ }
+
+ .el-date-editor {
+ width: 100%;
+ }
+
+ .el-input-number {
+ width: 100%;
+ }
+ }
+ /**
+ * 左侧菜单样式
+ **/
+ .sidebar-bg {
+ background: linear-gradient(#FC8051, #EB6265);
+ }
+
+ .sidebar-title {
+ height: 160px;
+ overflow: hidden;
+ }
+
+ .sidebar-title-text {
+ width: 100%;
+ font-size: 18px;
+ color: #fff;
+ text-align: center;
+ margin: 0px;
+ }
+ .el-menu {
+ background-color: $menu-background-color;
+ border-right-width: 0px;
+ }
+
+ .menu-wrapper {
+ .el-menu {
+ background: linear-gradient(#FC8051, #EB6265);
+ }
+
+ .el-menu-item {
+ color: white;
+ i {
+ color: white;
+ }
+ &:hover {
+ background-color: rgba(255,255,255,0.3)!important;
+ }
+ }
+
+ .el-submenu {
+ .el-menu {
+ background: none;
+ }
+ }
+ }
+
+ .el-submenu__title i {
+ color: white;
+ }
+
+ .el-menu--collapse {
+ .el-submenu__icon-arrow {
+ display: none;
+ }
+ }
+
+ .nest-menu .el-submenu>.el-submenu__title, .el-submenu .el-menu-item {
+ min-width: 180px!important;
+ background: $menu-background-color;
+ }
+
+ .el-menu-item.is-active {
+ border-left: 3px solid #47ba5a;
+ background-color: rgba(255,255,255,0.3)!important;
+ }
+
+ .el-submenu__title {
+ background-color: $menu-background-color!important;
+ }
+
+ .el-menu {
+ border-right-width: 0px;
+ }
+
+ .menu-collapse-btn {
+ padding: 0px;
+ width: 15px;
+ border-radius: 2px;
+ border: none;
+ height: 100px;
+ background-color: $--color-primary-light-5;
+ position: fixed;
+ top: 20%;
+ z-index: -1;
+ color: white;
+
+ &:hover {
+ background-color: $--color-primary-light-7;
+ }
+ .chart-border {
+ border: 1px solid #EBEEF5;
+ }
+ }
+
+ /**
+ * 多tab页表单,tab样式
+ **/
+ .el-tabs__header {
+ margin: 0 0 20px;
+ }
+ /**
+ * 表格表头背景色
+ **/
+ .table-header-gray, .has-gutter .gutter {
+ background-color: $tab-header-background-color;
+ }
+
+ /**
+ * 图片上传以及显示样式
+ **/
+ .upload-image-item {
+ font-size: 28px;
+ color: #8c939d;
+ width: $image-item-width;
+ height: $image-item-width;
+ text-align: center;
+ display: block;
+
+ .el-upload i {
+ line-height: $image-item-width;
+ }
+ }
+
+ .upload-image-multi {
+ display: inline;
+ }
+
+ .upload-image-item .el-upload {
+ border: 1px dashed #d9d9d9;
+ border-radius: 6px;
+ cursor: pointer;
+ position: relative;
+ overflow: hidden;
+ }
+ .upload-image-item .el-upload:hover {
+ border-color: #409eff;
+ }
+
+ .upload-image-show {
+ width: $image-item-width;
+ height: $image-item-width;
+ display: inline;
+ }
+
+ .table-cell-image {
+ width: $image-item-width;
+ height: $image-item-width;
+ line-height: $image-item-width;
+ text-align: center;
+ font-size: $image-item-width;
+ color: #606266;
+ margin: 0px 5px;
+ }
+
+ .upload-image-list .el-upload-list__item {
+ width: $image-item-width;
+ height: $image-item-width;
+ line-height: $image-item-width;
+ }
+
+ .upload-image-item .el-upload-list--picture-card .el-upload-list__item {
+ width: $image-item-width;
+ height: $image-item-width;
+ }
+
+ .upload-image-item .el-upload.el-upload--text {
+ width: $image-item-width;
+ height: $image-item-width;
+ }
+
+ .upload-image-item .el-upload--picture-card {
+ width: $image-item-width;
+ height: $image-item-width;
+ line-height: $image-item-width;
+ }
+ /**
+ *
+ **/
+ $header-menu-height: 32px;
+
+ .sidebar {
+ height: 100%;
+ background-color: #304156;
+ overflow: hidden;
+ }
+
+ .header {
+ display: flex;
+ height: $header-height;
+ background-color: white;
+ }
+
+ .header .menu-column {
+ margin-right: 20px;
+ .el-menu-item.is-active {
+ border-left: 0px solid #47ba5a;
+ }
+ }
+
+ .header-menu {
+ float: right;
+ height: $header-menu-height;
+ line-height: $header-menu-height;
+ margin-top: ($header-height - $header-menu-height) / 2;
+ }
+
+ .header-img {
+ width: $header-menu-height;
+ height: $header-menu-height;
+ border-radius: 50%;
+ margin-left: 10px;
+ float: right;
+ }
+
+ .user-dropdown {
+ color: $sub-text-color;
+ cursor: pointer;
+ font-size: 12px;
+ }
+ .user-dropdown-item {
+ font-size: 12px;
+ color: $main-text-color;
+ }
+
+ .hamburger-container {
+ line-height: 70px;
+ height: $header-height;
+ float: left;
+ padding: 0 10px;
+ }
+
+ .el-submenu__title {
+ background: #00000000;
+ }
+
+ ::-webkit-scrollbar {
+ width: 7px;
+ height: 7px;
+ background: none;
+ }
+
+ ::-webkit-scrollbar-thumb {
+ background: #DDDEE0;
+ border-radius: 7px;
+ }
+
+ ::-webkit-scrollbar-thumb:hover {
+ background: #A8A8A8;
+ }
+ .tree-select {
+ .el-tree-node__content {
+ height: 34px;
+ line-height: 34px;
+ padding-right: 10px;
+ }
+ }
+
+ .tree-select.single-select-tree {
+ .el-tree-node.is-current > .el-tree-node__content > .el-tree-node__label {
+ color: $--color-primary;
+ font-weight: 700;
+ }
+ }
+
+ .cell {
+ .operation-cell {
+ color: #006CDC;
+ cursor: pointer;
+ text-decoration: underline;
+ }
+ }
+
+ .single-select-tree {
+ min-width: 200px!important;
+ }
+
+ .base-card-header {
+ display: flex;
+ align-items: center;
+ height: 50px;
+ line-height: 50px;
+ }
+
+ .base-card-operation {
+ flex-grow: 1;
+ display: flex;
+ justify-content: flex-end;
+ }
+
+ .el-card__header {
+ padding: 0px 15px;
+ }
+ .el-card__body {
+ padding: 15px;
+ }
+
+ .custom-cascader {
+ width: 200px!important;
+ }
+
+ .no-scroll {
+ overflow: hidden;
+ }
+
+ .custom-scroll .el-scrollbar__view {
+ overflow-x: hidden!important;
+ }
+
+ .upload-img-del {
+ position: absolute;
+ height: 20px;
+ width: 20px;
+ line-height: 20px;
+ font-size: 16px;
+ top: 2px;
+ right: 2px;
+ color: #C0C4CC;
+ }
+
+ .upload-img-del:hover {
+ color: #EF5E1C;
+ }
+
+ .input-label {
+ display: inline-block;
+ height: 29px;
+ line-height: 28px;
+ }
+
+ .input-progress {
+ height: 29px;
+ display: flex;
+ align-items: center;
+ }
+
+ .input-item {
+ width: 100%!important;
+ }
+
+ .table-header-gray {
+ background: rgba(237,237,237,1);
+ }
+
+ .card-header {
+ display: flex;
+ justify-content: space-between;
+ padding: 10px 0px;
+ line-height: 28px;
+ }
+}
+
+.ml20 {
+ margin-left: 20px;
+}
+
+.mr20 {
+ margin-right: 20px;
+}
+
+.mt20 {
+ margin-top: 20px;
+}
+
+.mb20 {
+ margin-bottom: 20px;
+}
+
+.pl20 {
+ padding-left: 20px;
+}
+
+.pr20 {
+ padding-right: 20px;
+}
+
+.pt20 {
+ padding-top: 20px;
+}
+
+.pb20 {
+ padding-bottom: 20px;
+}
diff --git a/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/assets/style/element-color.scss b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/assets/style/element-color.scss
new file mode 100644
index 00000000..7487d64c
--- /dev/null
+++ b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/assets/style/element-color.scss
@@ -0,0 +1,25 @@
+$main-text-color: #303133;
+$normal-text-color: #606266;
+$sub-text-color: #909399;
+$placeholder-text-color: #C0C4CC;
+
+$border-color1: #DCDFE6;
+$border-color2: #E4E7ED;
+$border-color3: #EBEEF5;
+$border-color4: #F2F6FC;
+
+$success-color: #67C23A;
+$warning-color: #E6A23C;
+$danger-color: #F56C6C;
+$info-color: #909399;
+$--color-white: white;
+$--color-primary: #EF5E1C !default;
+$--color-primary-light-1: mix($--color-white, $--color-primary, 10%) !default; /* 53a8ff */
+$--color-primary-light-2: mix($--color-white, $--color-primary, 20%) !default; /* 66b1ff */
+$--color-primary-light-3: mix($--color-white, $--color-primary, 30%) !default; /* 79bbff */
+$--color-primary-light-4: mix($--color-white, $--color-primary, 40%) !default; /* 8cc5ff */
+$--color-primary-light-5: mix($--color-white, $--color-primary, 50%) !default; /* a0cfff */
+$--color-primary-light-6: mix($--color-white, $--color-primary, 60%) !default; /* b3d8ff */
+$--color-primary-light-7: mix($--color-white, $--color-primary, 70%) !default; /* c6e2ff */
+$--color-primary-light-8: mix($--color-white, $--color-primary, 80%) !default; /* d9ecff */
+$--color-primary-light-9: mix($--color-white, $--color-primary, 90%) !default; /* ecf5ff */
diff --git a/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/assets/style/form-style.scss b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/assets/style/form-style.scss
new file mode 100644
index 00000000..f13e0e01
--- /dev/null
+++ b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/assets/style/form-style.scss
@@ -0,0 +1,112 @@
+.form-advanced-manager {
+ .advance-filter-box {
+ position: absolute;
+ top: 100%;
+ left: 0px;
+ background-color: white;
+ width: 100%;
+ padding: 10px $box-padding-size 15px $box-padding-size;
+ }
+
+ .title-box {
+ border-bottom: 1px solid $border-color;
+ padding: 0px 20px;
+ z-index: 20;
+ background-color: white;
+ height: $advanced-title-height;
+
+ .title {
+ line-height: $advanced-title-height;
+ color: #606266;
+ }
+
+ .menu-box {
+ position: absolute;
+ top: 0px;
+ right: 10px;
+ height: $advanced-title-height;
+
+ .el-row {
+ margin: 10px 0px;
+ height: $advanced-title-height - 20;
+ }
+ }
+ }
+
+ .advanced-right-box {
+ padding: 0px;
+ .gutter-box {
+ margin: (($advanced-title-height - 16)/2) 0px;
+ height: 16px;
+ width: 3px;
+ background-color: $--color-primary;
+ float: left
+ }
+ }
+}
+
+.form-dict-manager {
+ .dict-title {
+ height: 50px;
+ line-height: 50px;
+ color: $main-text-color;
+ border-bottom: 1px solid $border-color1;
+ font-size: 14px;
+
+ span {
+ margin-left: 20px;
+ }
+ }
+
+ .dict-item {
+ width: 100%;
+ height: 40px;
+ line-height: 40px;
+ color: #606266;
+ cursor: pointer;
+ padding-left: 20px;
+
+ &:hover {
+ background-color: $--color-primary-light-9;
+ }
+ }
+
+ .active-dict-item {
+ border-left: 3px solid $--color-primary;
+ color: $--color-primary;
+ background-color: $--color-primary-light-9 !important;
+ }
+
+ .el-scrollbar__bar.is-horizontal {
+ display: none!important;
+ }
+}
+
+
+.form-table-manager {
+ .advance-filter-box {
+ position: absolute;
+ padding: 20px;
+ top: 100%;
+ left: 0px;
+ background-color: white;
+ width: 100%;
+ padding: 10px $box-padding-size 15px $box-padding-size;
+ }
+}
+
+.form-table-multi-select {
+ //
+}
+
+.form-config {
+ padding: $box-padding-size;
+}
+
+.form-multi-fragment {
+ //
+}
+
+.form-single-fragment {
+ //
+}
\ No newline at end of file
diff --git a/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/assets/style/index.scss b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/assets/style/index.scss
new file mode 100644
index 00000000..a88aa046
--- /dev/null
+++ b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/assets/style/index.scss
@@ -0,0 +1,3 @@
+@import "../theme/index.css";
+@import "base.scss";
+@import "form-style.scss";
\ No newline at end of file
diff --git a/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/assets/style/transition.scss b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/assets/style/transition.scss
new file mode 100644
index 00000000..49d81925
--- /dev/null
+++ b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/assets/style/transition.scss
@@ -0,0 +1,31 @@
+/*fade*/
+.fade-enter-active,
+.fade-leave-active {
+ transition: opacity 0.28s;
+}
+
+.fade-enter,
+.fade-leave-active {
+ opacity: 0;
+}
+
+/*fade*/
+.breadcrumb-enter-active,
+.breadcrumb-leave-active {
+ transition: all .5s;
+}
+
+.breadcrumb-enter,
+.breadcrumb-leave-active {
+ opacity: 0;
+ transform: translateX(20px);
+}
+
+.breadcrumb-move {
+ transition: all .5s;
+}
+
+.breadcrumb-leave-active {
+ position: absolute;
+}
+
diff --git a/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/assets/theme/fonts/element-icons.ttf b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/assets/theme/fonts/element-icons.ttf
new file mode 100644
index 00000000..91b74de3
Binary files /dev/null and b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/assets/theme/fonts/element-icons.ttf differ
diff --git a/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/assets/theme/fonts/element-icons.woff b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/assets/theme/fonts/element-icons.woff
new file mode 100644
index 00000000..02b9a253
Binary files /dev/null and b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/assets/theme/fonts/element-icons.woff differ
diff --git a/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/assets/theme/index.css b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/assets/theme/index.css
new file mode 100644
index 00000000..862181da
--- /dev/null
+++ b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/assets/theme/index.css
@@ -0,0 +1 @@
+@charset "UTF-8";.el-pagination--small .arrow.disabled,.el-table .hidden-columns,.el-table td.is-hidden>*,.el-table th.is-hidden>*,.el-table--hidden{visibility:hidden}.el-input__suffix,.el-tree.is-dragging .el-tree-node__content *{pointer-events:none}.el-dropdown .el-dropdown-selfdefine:focus:active,.el-dropdown .el-dropdown-selfdefine:focus:not(.focusing),.el-message__closeBtn:focus,.el-message__content:focus,.el-popover:focus,.el-popover:focus:active,.el-popover__reference:focus:hover,.el-popover__reference:focus:not(.focusing),.el-rate:active,.el-rate:focus,.el-tooltip:focus:hover,.el-tooltip:focus:not(.focusing),.el-upload-list__item.is-success:active,.el-upload-list__item.is-success:not(.focusing):focus{outline-width:0}@font-face{font-family:element-icons;src:url(fonts/element-icons.woff) format("woff"),url(fonts/element-icons.ttf) format("truetype");font-weight:400;font-display:"auto";font-style:normal}[class*=" el-icon-"],[class^=el-icon-]{font-family:element-icons!important;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;vertical-align:baseline;display:inline-block;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.el-icon-ice-cream-round:before{content:"\e6a0"}.el-icon-ice-cream-square:before{content:"\e6a3"}.el-icon-lollipop:before{content:"\e6a4"}.el-icon-potato-strips:before{content:"\e6a5"}.el-icon-milk-tea:before{content:"\e6a6"}.el-icon-ice-drink:before{content:"\e6a7"}.el-icon-ice-tea:before{content:"\e6a9"}.el-icon-coffee:before{content:"\e6aa"}.el-icon-orange:before{content:"\e6ab"}.el-icon-pear:before{content:"\e6ac"}.el-icon-apple:before{content:"\e6ad"}.el-icon-cherry:before{content:"\e6ae"}.el-icon-watermelon:before{content:"\e6af"}.el-icon-grape:before{content:"\e6b0"}.el-icon-refrigerator:before{content:"\e6b1"}.el-icon-goblet-square-full:before{content:"\e6b2"}.el-icon-goblet-square:before{content:"\e6b3"}.el-icon-goblet-full:before{content:"\e6b4"}.el-icon-goblet:before{content:"\e6b5"}.el-icon-cold-drink:before{content:"\e6b6"}.el-icon-coffee-cup:before{content:"\e6b8"}.el-icon-water-cup:before{content:"\e6b9"}.el-icon-hot-water:before{content:"\e6ba"}.el-icon-ice-cream:before{content:"\e6bb"}.el-icon-dessert:before{content:"\e6bc"}.el-icon-sugar:before{content:"\e6bd"}.el-icon-tableware:before{content:"\e6be"}.el-icon-burger:before{content:"\e6bf"}.el-icon-knife-fork:before{content:"\e6c1"}.el-icon-fork-spoon:before{content:"\e6c2"}.el-icon-chicken:before{content:"\e6c3"}.el-icon-food:before{content:"\e6c4"}.el-icon-dish-1:before{content:"\e6c5"}.el-icon-dish:before{content:"\e6c6"}.el-icon-moon-night:before{content:"\e6ee"}.el-icon-moon:before{content:"\e6f0"}.el-icon-cloudy-and-sunny:before{content:"\e6f1"}.el-icon-partly-cloudy:before{content:"\e6f2"}.el-icon-cloudy:before{content:"\e6f3"}.el-icon-sunny:before{content:"\e6f6"}.el-icon-sunset:before{content:"\e6f7"}.el-icon-sunrise-1:before{content:"\e6f8"}.el-icon-sunrise:before{content:"\e6f9"}.el-icon-heavy-rain:before{content:"\e6fa"}.el-icon-lightning:before{content:"\e6fb"}.el-icon-light-rain:before{content:"\e6fc"}.el-icon-wind-power:before{content:"\e6fd"}.el-icon-baseball:before{content:"\e712"}.el-icon-soccer:before{content:"\e713"}.el-icon-football:before{content:"\e715"}.el-icon-basketball:before{content:"\e716"}.el-icon-ship:before{content:"\e73f"}.el-icon-truck:before{content:"\e740"}.el-icon-bicycle:before{content:"\e741"}.el-icon-mobile-phone:before{content:"\e6d3"}.el-icon-service:before{content:"\e6d4"}.el-icon-key:before{content:"\e6e2"}.el-icon-unlock:before{content:"\e6e4"}.el-icon-lock:before{content:"\e6e5"}.el-icon-watch:before{content:"\e6fe"}.el-icon-watch-1:before{content:"\e6ff"}.el-icon-timer:before{content:"\e702"}.el-icon-alarm-clock:before{content:"\e703"}.el-icon-map-location:before{content:"\e704"}.el-icon-delete-location:before{content:"\e705"}.el-icon-add-location:before{content:"\e706"}.el-icon-location-information:before{content:"\e707"}.el-icon-location-outline:before{content:"\e708"}.el-icon-location:before{content:"\e79e"}.el-icon-place:before{content:"\e709"}.el-icon-discover:before{content:"\e70a"}.el-icon-first-aid-kit:before{content:"\e70b"}.el-icon-trophy-1:before{content:"\e70c"}.el-icon-trophy:before{content:"\e70d"}.el-icon-medal:before{content:"\e70e"}.el-icon-medal-1:before{content:"\e70f"}.el-icon-stopwatch:before{content:"\e710"}.el-icon-mic:before{content:"\e711"}.el-icon-copy-document:before{content:"\e718"}.el-icon-full-screen:before{content:"\e719"}.el-icon-switch-button:before{content:"\e71b"}.el-icon-aim:before{content:"\e71c"}.el-icon-crop:before{content:"\e71d"}.el-icon-odometer:before{content:"\e71e"}.el-icon-time:before{content:"\e71f"}.el-icon-bangzhu:before{content:"\e724"}.el-icon-close-notification:before{content:"\e726"}.el-icon-microphone:before{content:"\e727"}.el-icon-turn-off-microphone:before{content:"\e728"}.el-icon-position:before{content:"\e729"}.el-icon-postcard:before{content:"\e72a"}.el-icon-message:before{content:"\e72b"}.el-icon-chat-line-square:before{content:"\e72d"}.el-icon-chat-dot-square:before{content:"\e72e"}.el-icon-chat-dot-round:before{content:"\e72f"}.el-icon-chat-square:before{content:"\e730"}.el-icon-chat-line-round:before{content:"\e731"}.el-icon-chat-round:before{content:"\e732"}.el-icon-set-up:before{content:"\e733"}.el-icon-turn-off:before{content:"\e734"}.el-icon-open:before{content:"\e735"}.el-icon-connection:before{content:"\e736"}.el-icon-link:before{content:"\e737"}.el-icon-cpu:before{content:"\e738"}.el-icon-thumb:before{content:"\e739"}.el-icon-female:before{content:"\e73a"}.el-icon-male:before{content:"\e73b"}.el-icon-guide:before{content:"\e73c"}.el-icon-news:before{content:"\e73e"}.el-icon-price-tag:before{content:"\e744"}.el-icon-discount:before{content:"\e745"}.el-icon-wallet:before{content:"\e747"}.el-icon-coin:before{content:"\e748"}.el-icon-money:before{content:"\e749"}.el-icon-bank-card:before{content:"\e74a"}.el-icon-box:before{content:"\e74b"}.el-icon-present:before{content:"\e74c"}.el-icon-sell:before{content:"\e6d5"}.el-icon-sold-out:before{content:"\e6d6"}.el-icon-shopping-bag-2:before{content:"\e74d"}.el-icon-shopping-bag-1:before{content:"\e74e"}.el-icon-shopping-cart-2:before{content:"\e74f"}.el-icon-shopping-cart-1:before{content:"\e750"}.el-icon-shopping-cart-full:before{content:"\e751"}.el-icon-smoking:before{content:"\e752"}.el-icon-no-smoking:before{content:"\e753"}.el-icon-house:before{content:"\e754"}.el-icon-table-lamp:before{content:"\e755"}.el-icon-school:before{content:"\e756"}.el-icon-office-building:before{content:"\e757"}.el-icon-toilet-paper:before{content:"\e758"}.el-icon-notebook-2:before{content:"\e759"}.el-icon-notebook-1:before{content:"\e75a"}.el-icon-files:before{content:"\e75b"}.el-icon-collection:before{content:"\e75c"}.el-icon-receiving:before{content:"\e75d"}.el-icon-suitcase-1:before{content:"\e760"}.el-icon-suitcase:before{content:"\e761"}.el-icon-film:before{content:"\e763"}.el-icon-collection-tag:before{content:"\e765"}.el-icon-data-analysis:before{content:"\e766"}.el-icon-pie-chart:before{content:"\e767"}.el-icon-data-board:before{content:"\e768"}.el-icon-data-line:before{content:"\e76d"}.el-icon-reading:before{content:"\e769"}.el-icon-magic-stick:before{content:"\e76a"}.el-icon-coordinate:before{content:"\e76b"}.el-icon-mouse:before{content:"\e76c"}.el-icon-brush:before{content:"\e76e"}.el-icon-headset:before{content:"\e76f"}.el-icon-umbrella:before{content:"\e770"}.el-icon-scissors:before{content:"\e771"}.el-icon-mobile:before{content:"\e773"}.el-icon-attract:before{content:"\e774"}.el-icon-monitor:before{content:"\e775"}.el-icon-search:before{content:"\e778"}.el-icon-takeaway-box:before{content:"\e77a"}.el-icon-paperclip:before{content:"\e77d"}.el-icon-printer:before{content:"\e77e"}.el-icon-document-add:before{content:"\e782"}.el-icon-document:before{content:"\e785"}.el-icon-document-checked:before{content:"\e786"}.el-icon-document-copy:before{content:"\e787"}.el-icon-document-delete:before{content:"\e788"}.el-icon-document-remove:before{content:"\e789"}.el-icon-tickets:before{content:"\e78b"}.el-icon-folder-checked:before{content:"\e77f"}.el-icon-folder-delete:before{content:"\e780"}.el-icon-folder-remove:before{content:"\e781"}.el-icon-folder-add:before{content:"\e783"}.el-icon-folder-opened:before{content:"\e784"}.el-icon-folder:before{content:"\e78a"}.el-icon-edit-outline:before{content:"\e764"}.el-icon-edit:before{content:"\e78c"}.el-icon-date:before{content:"\e78e"}.el-icon-c-scale-to-original:before{content:"\e7c6"}.el-icon-view:before{content:"\e6ce"}.el-icon-loading:before{content:"\e6cf"}.el-icon-rank:before{content:"\e6d1"}.el-icon-sort-down:before{content:"\e7c4"}.el-icon-sort-up:before{content:"\e7c5"}.el-icon-sort:before{content:"\e6d2"}.el-icon-finished:before{content:"\e6cd"}.el-icon-refresh-left:before{content:"\e6c7"}.el-icon-refresh-right:before{content:"\e6c8"}.el-icon-refresh:before{content:"\e6d0"}.el-icon-video-play:before{content:"\e7c0"}.el-icon-video-pause:before{content:"\e7c1"}.el-icon-d-arrow-right:before{content:"\e6dc"}.el-icon-d-arrow-left:before{content:"\e6dd"}.el-icon-arrow-up:before{content:"\e6e1"}.el-icon-arrow-down:before{content:"\e6df"}.el-icon-arrow-right:before{content:"\e6e0"}.el-icon-arrow-left:before{content:"\e6de"}.el-icon-top-right:before{content:"\e6e7"}.el-icon-top-left:before{content:"\e6e8"}.el-icon-top:before{content:"\e6e6"}.el-icon-bottom:before{content:"\e6eb"}.el-icon-right:before{content:"\e6e9"}.el-icon-back:before{content:"\e6ea"}.el-icon-bottom-right:before{content:"\e6ec"}.el-icon-bottom-left:before{content:"\e6ed"}.el-icon-caret-top:before{content:"\e78f"}.el-icon-caret-bottom:before{content:"\e790"}.el-icon-caret-right:before{content:"\e791"}.el-icon-caret-left:before{content:"\e792"}.el-icon-d-caret:before{content:"\e79a"}.el-icon-share:before{content:"\e793"}.el-icon-menu:before{content:"\e798"}.el-icon-s-grid:before{content:"\e7a6"}.el-icon-s-check:before{content:"\e7a7"}.el-icon-s-data:before{content:"\e7a8"}.el-icon-s-opportunity:before{content:"\e7aa"}.el-icon-s-custom:before{content:"\e7ab"}.el-icon-s-claim:before{content:"\e7ad"}.el-icon-s-finance:before{content:"\e7ae"}.el-icon-s-comment:before{content:"\e7af"}.el-icon-s-flag:before{content:"\e7b0"}.el-icon-s-marketing:before{content:"\e7b1"}.el-icon-s-shop:before{content:"\e7b4"}.el-icon-s-open:before{content:"\e7b5"}.el-icon-s-management:before{content:"\e7b6"}.el-icon-s-ticket:before{content:"\e7b7"}.el-icon-s-release:before{content:"\e7b8"}.el-icon-s-home:before{content:"\e7b9"}.el-icon-s-promotion:before{content:"\e7ba"}.el-icon-s-operation:before{content:"\e7bb"}.el-icon-s-unfold:before{content:"\e7bc"}.el-icon-s-fold:before{content:"\e7a9"}.el-icon-s-platform:before{content:"\e7bd"}.el-icon-s-order:before{content:"\e7be"}.el-icon-s-cooperation:before{content:"\e7bf"}.el-icon-bell:before{content:"\e725"}.el-icon-message-solid:before{content:"\e799"}.el-icon-video-camera:before{content:"\e772"}.el-icon-video-camera-solid:before{content:"\e796"}.el-icon-camera:before{content:"\e779"}.el-icon-camera-solid:before{content:"\e79b"}.el-icon-download:before{content:"\e77c"}.el-icon-upload2:before{content:"\e77b"}.el-icon-upload:before{content:"\e7c3"}.el-icon-picture-outline-round:before{content:"\e75f"}.el-icon-picture-outline:before{content:"\e75e"}.el-icon-picture:before{content:"\e79f"}.el-icon-close:before{content:"\e6db"}.el-icon-check:before{content:"\e6da"}.el-icon-plus:before{content:"\e6d9"}.el-icon-minus:before{content:"\e6d8"}.el-icon-help:before{content:"\e73d"}.el-icon-s-help:before{content:"\e7b3"}.el-icon-circle-close:before{content:"\e78d"}.el-icon-circle-check:before{content:"\e720"}.el-icon-circle-plus-outline:before{content:"\e723"}.el-icon-remove-outline:before{content:"\e722"}.el-icon-zoom-out:before{content:"\e776"}.el-icon-zoom-in:before{content:"\e777"}.el-icon-error:before{content:"\e79d"}.el-icon-success:before{content:"\e79c"}.el-icon-circle-plus:before{content:"\e7a0"}.el-icon-remove:before{content:"\e7a2"}.el-icon-info:before{content:"\e7a1"}.el-icon-question:before{content:"\e7a4"}.el-icon-warning-outline:before{content:"\e6c9"}.el-icon-warning:before{content:"\e7a3"}.el-icon-goods:before{content:"\e7c2"}.el-icon-s-goods:before{content:"\e7b2"}.el-icon-star-off:before{content:"\e717"}.el-icon-star-on:before{content:"\e797"}.el-icon-more-outline:before{content:"\e6cc"}.el-icon-more:before{content:"\e794"}.el-icon-phone-outline:before{content:"\e6cb"}.el-icon-phone:before{content:"\e795"}.el-icon-user:before{content:"\e6e3"}.el-icon-user-solid:before{content:"\e7a5"}.el-icon-setting:before{content:"\e6ca"}.el-icon-s-tools:before{content:"\e7ac"}.el-icon-delete:before{content:"\e6d7"}.el-icon-delete-solid:before{content:"\e7c9"}.el-icon-eleme:before{content:"\e7c7"}.el-icon-platform-eleme:before{content:"\e7ca"}.el-icon-loading{-webkit-animation:rotating 2s linear infinite;animation:rotating 2s linear infinite}.el-icon--right{margin-left:5px}.el-icon--left{margin-right:5px}@-webkit-keyframes rotating{0%{-webkit-transform:rotateZ(0);transform:rotateZ(0)}100%{-webkit-transform:rotateZ(360deg);transform:rotateZ(360deg)}}@keyframes rotating{0%{-webkit-transform:rotateZ(0);transform:rotateZ(0)}100%{-webkit-transform:rotateZ(360deg);transform:rotateZ(360deg)}}.el-pagination{white-space:nowrap;padding:2px 5px;color:#303133;font-weight:700}.el-pagination::after,.el-pagination::before{display:table;content:""}.el-pagination::after{clear:both}.el-pagination button,.el-pagination span:not([class*=suffix]){display:inline-block;font-size:13px;min-width:35.5px;height:28px;line-height:28px;vertical-align:top;-webkit-box-sizing:border-box;box-sizing:border-box}.el-pagination .el-input__inner{text-align:center;-moz-appearance:textfield;line-height:normal}.el-pagination .el-input__suffix{right:0;-webkit-transform:scale(.8);transform:scale(.8)}.el-pagination .el-select .el-input{width:100px;margin:0 5px}.el-pagination .el-select .el-input .el-input__inner{padding-right:25px;border-radius:3px}.el-pagination button{border:none;padding:0 6px;background:0 0}.el-pagination button:focus{outline:0}.el-pagination button:hover{color:#FDA833}.el-pagination button:disabled{color:#C0C4CC;background-color:#FFF;cursor:not-allowed}.el-pagination .btn-next,.el-pagination .btn-prev{background:center center no-repeat #FFF;background-size:16px;cursor:pointer;margin:0;color:#303133}.el-pagination .btn-next .el-icon,.el-pagination .btn-prev .el-icon{display:block;font-size:12px;font-weight:700}.el-pagination .btn-prev{padding-right:12px}.el-pagination .btn-next{padding-left:12px}.el-pagination .el-pager li.disabled{color:#C0C4CC;cursor:not-allowed}.el-pager li,.el-pager li.btn-quicknext:hover,.el-pager li.btn-quickprev:hover{cursor:pointer}.el-pagination--small .btn-next,.el-pagination--small .btn-prev,.el-pagination--small .el-pager li,.el-pagination--small .el-pager li.btn-quicknext,.el-pagination--small .el-pager li.btn-quickprev,.el-pagination--small .el-pager li:last-child{border-color:transparent;font-size:12px;line-height:22px;height:22px;min-width:22px}.el-pagination--small .more::before,.el-pagination--small li.more::before{line-height:24px}.el-pagination--small button,.el-pagination--small span:not([class*=suffix]){height:22px;line-height:22px}.el-pagination--small .el-pagination__editor,.el-pagination--small .el-pagination__editor.el-input .el-input__inner{height:22px}.el-pagination__sizes{margin:0 10px 0 0;font-weight:400;color:#606266}.el-pagination__sizes .el-input .el-input__inner{font-size:13px;padding-left:8px}.el-pagination__sizes .el-input .el-input__inner:hover{border-color:#FDA833}.el-pagination__total{margin-right:10px;font-weight:400;color:#606266}.el-pagination__jump{margin-left:24px;font-weight:400;color:#606266}.el-pagination__jump .el-input__inner{padding:0 3px}.el-pagination__rightwrapper{float:right}.el-pagination__editor{line-height:18px;padding:0 2px;height:28px;text-align:center;margin:0 2px;-webkit-box-sizing:border-box;box-sizing:border-box;border-radius:3px}.el-pager,.el-pagination.is-background .btn-next,.el-pagination.is-background .btn-prev{padding:0}.el-pagination__editor.el-input{width:50px}.el-pagination__editor.el-input .el-input__inner{height:28px}.el-pagination__editor .el-input__inner::-webkit-inner-spin-button,.el-pagination__editor .el-input__inner::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.el-pagination.is-background .btn-next,.el-pagination.is-background .btn-prev,.el-pagination.is-background .el-pager li{margin:0 5px;background-color:#f4f4f5;color:#606266;min-width:30px;border-radius:2px}.el-pagination.is-background .btn-next.disabled,.el-pagination.is-background .btn-next:disabled,.el-pagination.is-background .btn-prev.disabled,.el-pagination.is-background .btn-prev:disabled,.el-pagination.is-background .el-pager li.disabled{color:#C0C4CC}.el-pagination.is-background .el-pager li:not(.disabled):hover{color:#FDA833}.el-pagination.is-background .el-pager li:not(.disabled).active{background-color:#FDA833;color:#FFF}.el-dialog,.el-pager li{background:#FFF;-webkit-box-sizing:border-box}.el-pagination.is-background.el-pagination--small .btn-next,.el-pagination.is-background.el-pagination--small .btn-prev,.el-pagination.is-background.el-pagination--small .el-pager li{margin:0 3px;min-width:22px}.el-pager,.el-pager li{vertical-align:top;margin:0;display:inline-block}.el-pager{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;list-style:none;font-size:0}.el-date-table,.el-table th{-webkit-user-select:none;-moz-user-select:none}.el-pager .more::before{line-height:30px}.el-pager li{padding:0 4px;font-size:13px;min-width:35.5px;height:28px;line-height:28px;box-sizing:border-box;text-align:center}.el-menu--collapse .el-menu .el-submenu,.el-menu--popup{min-width:200px}.el-pager li.btn-quicknext,.el-pager li.btn-quickprev{line-height:28px;color:#303133}.el-pager li.btn-quicknext.disabled,.el-pager li.btn-quickprev.disabled{color:#C0C4CC}.el-pager li.active+li{border-left:0}.el-pager li:hover{color:#FDA833}.el-pager li.active{color:#FDA833;cursor:default}@-webkit-keyframes v-modal-in{0%{opacity:0}}@-webkit-keyframes v-modal-out{100%{opacity:0}}.el-dialog{position:relative;margin:0 auto 50px;border-radius:2px;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.3);box-shadow:0 1px 3px rgba(0,0,0,.3);box-sizing:border-box;width:50%}.el-dialog.is-fullscreen{width:100%;margin-top:0;margin-bottom:0;height:100%;overflow:auto}.el-dialog__wrapper{position:fixed;top:0;right:0;bottom:0;left:0;overflow:auto;margin:0}.el-dialog__header{padding:20px 20px 10px}.el-dialog__headerbtn{position:absolute;top:20px;right:20px;padding:0;background:0 0;border:none;outline:0;cursor:pointer;font-size:16px}.el-dialog__headerbtn .el-dialog__close{color:#909399}.el-dialog__headerbtn:focus .el-dialog__close,.el-dialog__headerbtn:hover .el-dialog__close{color:#FDA833}.el-dialog__title{line-height:24px;font-size:18px;color:#303133}.el-dialog__body{padding:30px 20px;color:#606266;font-size:14px;word-break:break-all}.el-dialog__footer{padding:10px 20px 20px;text-align:right;-webkit-box-sizing:border-box;box-sizing:border-box}.el-dialog--center{text-align:center}.el-dialog--center .el-dialog__body{text-align:initial;padding:25px 25px 30px}.el-dialog--center .el-dialog__footer{text-align:inherit}.dialog-fade-enter-active{-webkit-animation:dialog-fade-in .3s;animation:dialog-fade-in .3s}.dialog-fade-leave-active{-webkit-animation:dialog-fade-out .3s;animation:dialog-fade-out .3s}@-webkit-keyframes dialog-fade-in{0%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}100%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}}@keyframes dialog-fade-in{0%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}100%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}}@-webkit-keyframes dialog-fade-out{0%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}100%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}}@keyframes dialog-fade-out{0%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}100%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}}.el-autocomplete{position:relative;display:inline-block}.el-autocomplete-suggestion{margin:5px 0;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1);border-radius:4px;border:1px solid #E4E7ED;-webkit-box-sizing:border-box;box-sizing:border-box;background-color:#FFF}.el-dropdown-menu,.el-menu--collapse .el-submenu .el-menu{z-index:10;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1)}.el-autocomplete-suggestion__wrap{max-height:280px;padding:10px 0;-webkit-box-sizing:border-box;box-sizing:border-box}.el-autocomplete-suggestion__list{margin:0;padding:0}.el-autocomplete-suggestion li{padding:0 20px;margin:0;line-height:34px;cursor:pointer;color:#606266;font-size:14px;list-style:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.el-autocomplete-suggestion li.highlighted,.el-autocomplete-suggestion li:hover{background-color:#F5F7FA}.el-autocomplete-suggestion li.divider{margin-top:6px;border-top:1px solid #000}.el-autocomplete-suggestion li.divider:last-child{margin-bottom:-6px}.el-autocomplete-suggestion.is-loading li{text-align:center;height:100px;line-height:100px;font-size:20px;color:#999}.el-autocomplete-suggestion.is-loading li::after{display:inline-block;content:"";height:100%;vertical-align:middle}.el-autocomplete-suggestion.is-loading li:hover{background-color:#FFF}.el-autocomplete-suggestion.is-loading .el-icon-loading{vertical-align:middle}.el-dropdown{display:inline-block;position:relative;color:#606266;font-size:14px}.el-dropdown .el-button-group{display:block}.el-dropdown .el-button-group .el-button{float:none}.el-dropdown .el-dropdown__caret-button{padding-left:5px;padding-right:5px;position:relative;border-left:none}.el-dropdown .el-dropdown__caret-button::before{content:'';position:absolute;display:block;width:1px;top:5px;bottom:5px;left:0;background:rgba(255,255,255,.5)}.el-dropdown .el-dropdown__caret-button.el-button--default::before{background:rgba(220,223,230,.5)}.el-dropdown .el-dropdown__caret-button:hover::before{top:0;bottom:0}.el-dropdown .el-dropdown__caret-button .el-dropdown__icon{padding-left:0}.el-dropdown__icon{font-size:12px;margin:0 3px}.el-dropdown-menu{position:absolute;top:0;left:0;padding:10px 0;margin:5px 0;background-color:#FFF;border:1px solid #EBEEF5;border-radius:4px;box-shadow:0 2px 12px 0 rgba(0,0,0,.1)}.el-dropdown-menu__item{list-style:none;line-height:36px;padding:0 20px;margin:0;font-size:14px;color:#606266;cursor:pointer;outline:0}.el-dropdown-menu__item:focus,.el-dropdown-menu__item:not(.is-disabled):hover{background-color:rgb(255, 246, 235);color:rgb(253, 185, 92)}.el-dropdown-menu__item i{margin-right:5px}.el-dropdown-menu__item--divided{position:relative;margin-top:6px;border-top:1px solid #EBEEF5}.el-dropdown-menu__item--divided:before{content:'';height:6px;display:block;margin:0 -20px;background-color:#FFF}.el-dropdown-menu__item.is-disabled{cursor:default;color:#bbb;pointer-events:none}.el-dropdown-menu--medium{padding:6px 0}.el-dropdown-menu--medium .el-dropdown-menu__item{line-height:30px;padding:0 17px;font-size:14px}.el-dropdown-menu--medium .el-dropdown-menu__item.el-dropdown-menu__item--divided{margin-top:6px}.el-dropdown-menu--medium .el-dropdown-menu__item.el-dropdown-menu__item--divided:before{height:6px;margin:0 -17px}.el-dropdown-menu--small{padding:6px 0}.el-dropdown-menu--small .el-dropdown-menu__item{line-height:27px;padding:0 15px;font-size:13px}.el-dropdown-menu--small .el-dropdown-menu__item.el-dropdown-menu__item--divided{margin-top:4px}.el-dropdown-menu--small .el-dropdown-menu__item.el-dropdown-menu__item--divided:before{height:4px;margin:0 -15px}.el-dropdown-menu--mini{padding:3px 0}.el-dropdown-menu--mini .el-dropdown-menu__item{line-height:24px;padding:0 10px;font-size:12px}.el-dropdown-menu--mini .el-dropdown-menu__item.el-dropdown-menu__item--divided{margin-top:3px}.el-dropdown-menu--mini .el-dropdown-menu__item.el-dropdown-menu__item--divided:before{height:3px;margin:0 -10px}.el-menu{border-right:solid 1px #e6e6e6;list-style:none;position:relative;margin:0;padding-left:0;background-color:#FFF}.el-menu--horizontal>.el-menu-item:not(.is-disabled):focus,.el-menu--horizontal>.el-menu-item:not(.is-disabled):hover,.el-menu--horizontal>.el-submenu .el-submenu__title:hover{background-color:#fff}.el-menu::after,.el-menu::before{display:table;content:""}.el-menu::after{clear:both}.el-menu.el-menu--horizontal{border-bottom:solid 1px #e6e6e6}.el-menu--horizontal{border-right:none}.el-menu--horizontal>.el-menu-item{float:left;height:60px;line-height:60px;margin:0;border-bottom:2px solid transparent;color:#909399}.el-menu--horizontal>.el-menu-item a,.el-menu--horizontal>.el-menu-item a:hover{color:inherit}.el-menu--horizontal>.el-submenu{float:left}.el-menu--horizontal>.el-submenu:focus,.el-menu--horizontal>.el-submenu:hover{outline:0}.el-menu--horizontal>.el-submenu:focus .el-submenu__title,.el-menu--horizontal>.el-submenu:hover .el-submenu__title{color:#303133}.el-menu--horizontal>.el-submenu.is-active .el-submenu__title{border-bottom:2px solid #FDA833;color:#303133}.el-menu--horizontal>.el-submenu .el-submenu__title{height:60px;line-height:60px;border-bottom:2px solid transparent;color:#909399}.el-menu--horizontal>.el-submenu .el-submenu__icon-arrow{position:static;vertical-align:middle;margin-left:8px;margin-top:-3px}.el-menu--horizontal .el-menu .el-menu-item,.el-menu--horizontal .el-menu .el-submenu__title{background-color:#FFF;float:none;height:36px;line-height:36px;padding:0 10px;color:#909399}.el-menu--horizontal .el-menu .el-menu-item.is-active,.el-menu--horizontal .el-menu .el-submenu.is-active>.el-submenu__title{color:#303133}.el-menu--horizontal .el-menu-item:not(.is-disabled):focus,.el-menu--horizontal .el-menu-item:not(.is-disabled):hover{outline:0;color:#303133}.el-menu--horizontal>.el-menu-item.is-active{border-bottom:2px solid #FDA833;color:#303133}.el-menu--collapse{width:64px}.el-menu--collapse>.el-menu-item [class^=el-icon-],.el-menu--collapse>.el-submenu>.el-submenu__title [class^=el-icon-]{margin:0;vertical-align:middle;width:24px;text-align:center}.el-menu--collapse>.el-menu-item .el-submenu__icon-arrow,.el-menu--collapse>.el-submenu>.el-submenu__title .el-submenu__icon-arrow{display:none}.el-menu--collapse>.el-menu-item span,.el-menu--collapse>.el-submenu>.el-submenu__title span{height:0;width:0;overflow:hidden;visibility:hidden;display:inline-block}.el-menu--collapse>.el-menu-item.is-active i{color:inherit}.el-menu--collapse .el-submenu{position:relative}.el-menu--collapse .el-submenu .el-menu{position:absolute;margin-left:5px;top:0;left:100%;border:1px solid #E4E7ED;border-radius:2px;box-shadow:0 2px 12px 0 rgba(0,0,0,.1)}.el-menu-item,.el-submenu__title{height:56px;line-height:56px;position:relative;-webkit-box-sizing:border-box;white-space:nowrap;list-style:none}.el-menu--collapse .el-submenu.is-opened>.el-submenu__title .el-submenu__icon-arrow{-webkit-transform:none;transform:none}.el-menu--popup{z-index:100;border:none;padding:5px 0;border-radius:2px;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1)}.el-menu--popup-bottom-start{margin-top:5px}.el-menu--popup-right-start{margin-left:5px;margin-right:5px}.el-menu-item{font-size:14px;color:#303133;padding:0 20px;cursor:pointer;-webkit-transition:border-color .3s,background-color .3s,color .3s;transition:border-color .3s,background-color .3s,color .3s;box-sizing:border-box}.el-menu-item *{vertical-align:middle}.el-menu-item i{color:#909399}.el-menu-item:focus,.el-menu-item:hover{outline:0;background-color:rgb(255, 246, 235)}.el-menu-item.is-disabled{opacity:.25;cursor:not-allowed;background:0 0!important}.el-menu-item [class^=el-icon-]{margin-right:5px;width:24px;text-align:center;font-size:18px;vertical-align:middle}.el-menu-item.is-active{color:#FDA833}.el-menu-item.is-active i{color:inherit}.el-submenu{list-style:none;margin:0;padding-left:0}.el-submenu__title{font-size:14px;color:#303133;padding:0 20px;cursor:pointer;-webkit-transition:border-color .3s,background-color .3s,color .3s;transition:border-color .3s,background-color .3s,color .3s;box-sizing:border-box}.el-submenu__title *{vertical-align:middle}.el-submenu__title i{color:#909399}.el-submenu__title:focus,.el-submenu__title:hover{outline:0;background-color:rgb(255, 246, 235)}.el-submenu__title.is-disabled{opacity:.25;cursor:not-allowed;background:0 0!important}.el-submenu__title:hover{background-color:rgb(255, 246, 235)}.el-submenu .el-menu{border:none}.el-submenu .el-menu-item{height:50px;line-height:50px;padding:0 45px;min-width:200px}.el-submenu__icon-arrow{position:absolute;top:50%;right:20px;margin-top:-7px;-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s;font-size:12px}.el-submenu.is-active .el-submenu__title{border-bottom-color:#FDA833}.el-submenu.is-opened>.el-submenu__title .el-submenu__icon-arrow{-webkit-transform:rotateZ(180deg);transform:rotateZ(180deg)}.el-submenu.is-disabled .el-menu-item,.el-submenu.is-disabled .el-submenu__title{opacity:.25;cursor:not-allowed;background:0 0!important}.el-submenu [class^=el-icon-]{vertical-align:middle;margin-right:5px;width:24px;text-align:center;font-size:18px}.el-menu-item-group>ul{padding:0}.el-menu-item-group__title{padding:7px 0 7px 20px;line-height:normal;font-size:12px;color:#909399}.el-radio-button__inner,.el-radio-group{display:inline-block;line-height:1;vertical-align:middle}.horizontal-collapse-transition .el-submenu__title .el-submenu__icon-arrow{-webkit-transition:.2s;transition:.2s;opacity:0}.el-radio-group{font-size:0}.el-radio-button{position:relative;display:inline-block;outline:0}.el-radio-button__inner{white-space:nowrap;background:#FFF;border:1px solid #DCDFE6;font-weight:500;border-left:0;color:#606266;-webkit-appearance:none;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box;outline:0;margin:0;position:relative;cursor:pointer;-webkit-transition:all .3s cubic-bezier(.645,.045,.355,1);transition:all .3s cubic-bezier(.645,.045,.355,1);padding:12px 20px;font-size:14px;border-radius:0}.el-radio-button__inner.is-round{padding:12px 20px}.el-radio-button__inner:hover{color:#FDA833}.el-radio-button__inner [class*=el-icon-]{line-height:.9}.el-radio-button__inner [class*=el-icon-]+span{margin-left:5px}.el-radio-button:first-child .el-radio-button__inner{border-left:1px solid #DCDFE6;border-radius:4px 0 0 4px;-webkit-box-shadow:none!important;box-shadow:none!important}.el-radio-button__orig-radio{opacity:0;outline:0;position:absolute;z-index:-1}.el-radio-button__orig-radio:checked+.el-radio-button__inner{color:#FFF;background-color:#FDA833;border-color:#FDA833;-webkit-box-shadow:-1px 0 0 0 #FDA833;box-shadow:-1px 0 0 0 #FDA833}.el-radio-button__orig-radio:disabled+.el-radio-button__inner{color:#C0C4CC;cursor:not-allowed;background-image:none;background-color:#FFF;border-color:#EBEEF5;-webkit-box-shadow:none;box-shadow:none}.el-radio-button__orig-radio:disabled:checked+.el-radio-button__inner{background-color:#F2F6FC}.el-radio-button:last-child .el-radio-button__inner{border-radius:0 4px 4px 0}.el-popover,.el-radio-button:first-child:last-child .el-radio-button__inner{border-radius:4px}.el-radio-button--medium .el-radio-button__inner{padding:10px 20px;font-size:14px;border-radius:0}.el-radio-button--medium .el-radio-button__inner.is-round{padding:10px 20px}.el-radio-button--small .el-radio-button__inner{padding:9px 15px;font-size:12px;border-radius:0}.el-radio-button--small .el-radio-button__inner.is-round{padding:9px 15px}.el-radio-button--mini .el-radio-button__inner{padding:7px 15px;font-size:12px;border-radius:0}.el-radio-button--mini .el-radio-button__inner.is-round{padding:7px 15px}.el-radio-button:focus:not(.is-focus):not(:active):not(.is-disabled){-webkit-box-shadow:0 0 2px 2px #FDA833;box-shadow:0 0 2px 2px #FDA833}.el-switch{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;position:relative;font-size:14px;line-height:20px;height:20px;vertical-align:middle}.el-switch__core,.el-switch__label{display:inline-block;cursor:pointer}.el-switch.is-disabled .el-switch__core,.el-switch.is-disabled .el-switch__label{cursor:not-allowed}.el-switch__label{-webkit-transition:.2s;transition:.2s;height:20px;font-size:14px;font-weight:500;vertical-align:middle;color:#303133}.el-switch__label.is-active{color:#FDA833}.el-switch__label--left{margin-right:10px}.el-switch__label--right{margin-left:10px}.el-switch__label *{line-height:1;font-size:14px;display:inline-block}.el-switch__input{position:absolute;width:0;height:0;opacity:0;margin:0}.el-switch__core{margin:0;position:relative;width:40px;height:20px;border:1px solid #DCDFE6;outline:0;border-radius:10px;-webkit-box-sizing:border-box;box-sizing:border-box;background:#DCDFE6;-webkit-transition:border-color .3s,background-color .3s;transition:border-color .3s,background-color .3s;vertical-align:middle}.el-switch__core:after{content:"";position:absolute;top:1px;left:1px;border-radius:100%;-webkit-transition:all .3s;transition:all .3s;width:16px;height:16px;background-color:#FFF}.el-switch.is-checked .el-switch__core{border-color:#FDA833;background-color:#FDA833}.el-switch.is-checked .el-switch__core::after{left:100%;margin-left:-17px}.el-switch.is-disabled{opacity:.6}.el-switch--wide .el-switch__label.el-switch__label--left span{left:10px}.el-switch--wide .el-switch__label.el-switch__label--right span{right:10px}.el-switch .label-fade-enter,.el-switch .label-fade-leave-active{opacity:0}.el-select-dropdown{position:absolute;z-index:1001;border:1px solid #E4E7ED;border-radius:4px;background-color:#FFF;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1);-webkit-box-sizing:border-box;box-sizing:border-box;margin:5px 0}.el-select-dropdown.is-multiple .el-select-dropdown__item.selected{color:#FDA833;background-color:#FFF}.el-select-dropdown.is-multiple .el-select-dropdown__item.selected.hover{background-color:#F5F7FA}.el-select-dropdown.is-multiple .el-select-dropdown__item.selected::after{position:absolute;right:20px;font-family:element-icons;content:"\e6da";font-size:12px;font-weight:700;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.el-select-dropdown .el-scrollbar.is-empty .el-select-dropdown__list{padding:0}.el-select-dropdown__empty{padding:10px 0;margin:0;text-align:center;color:#999;font-size:14px}.el-select-dropdown__wrap{max-height:274px}.el-select-dropdown__list{list-style:none;padding:6px 0;margin:0;-webkit-box-sizing:border-box;box-sizing:border-box}.el-select-dropdown__item{font-size:14px;padding:0 20px;position:relative;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#606266;height:34px;line-height:34px;-webkit-box-sizing:border-box;box-sizing:border-box;cursor:pointer}.el-select-dropdown__item.is-disabled{color:#C0C4CC;cursor:not-allowed}.el-select-dropdown__item.is-disabled:hover{background-color:#FFF}.el-select-dropdown__item.hover,.el-select-dropdown__item:hover{background-color:#F5F7FA}.el-select-dropdown__item.selected{color:#FDA833;font-weight:700}.el-select-group{margin:0;padding:0}.el-select-group__wrap{position:relative;list-style:none;margin:0;padding:0}.el-select-group__wrap:not(:last-of-type){padding-bottom:24px}.el-select-group__wrap:not(:last-of-type)::after{content:'';position:absolute;display:block;left:20px;right:20px;bottom:12px;height:1px;background:#E4E7ED}.el-select-group__title{padding-left:20px;font-size:12px;color:#909399;line-height:30px}.el-select-group .el-select-dropdown__item{padding-left:20px}.el-select{display:inline-block;position:relative}.el-select .el-select__tags>span{display:contents}.el-select:hover .el-input__inner{border-color:#C0C4CC}.el-select .el-input__inner{cursor:pointer;padding-right:35px}.el-select .el-input__inner:focus{border-color:#FDA833}.el-select .el-input .el-select__caret{color:#C0C4CC;font-size:14px;-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s;-webkit-transform:rotateZ(180deg);transform:rotateZ(180deg);cursor:pointer}.el-select .el-input .el-select__caret.is-reverse{-webkit-transform:rotateZ(0);transform:rotateZ(0)}.el-select .el-input .el-select__caret.is-show-close{font-size:14px;text-align:center;-webkit-transform:rotateZ(180deg);transform:rotateZ(180deg);border-radius:100%;color:#C0C4CC;-webkit-transition:color .2s cubic-bezier(.645,.045,.355,1);transition:color .2s cubic-bezier(.645,.045,.355,1)}.el-select .el-input .el-select__caret.is-show-close:hover{color:#909399}.el-select .el-input.is-disabled .el-input__inner{cursor:not-allowed}.el-select .el-input.is-disabled .el-input__inner:hover{border-color:#E4E7ED}.el-select .el-input.is-focus .el-input__inner{border-color:#FDA833}.el-select>.el-input{display:block}.el-select__input{border:none;outline:0;padding:0;margin-left:15px;color:#666;font-size:14px;-webkit-appearance:none;-moz-appearance:none;appearance:none;height:28px;background-color:transparent}.el-select__input.is-mini{height:14px}.el-select__close{cursor:pointer;position:absolute;top:8px;z-index:1000;right:25px;color:#C0C4CC;line-height:18px;font-size:14px}.el-select__close:hover{color:#909399}.el-select__tags{position:absolute;line-height:normal;white-space:normal;z-index:1;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-ms-flex-wrap:wrap;flex-wrap:wrap}.el-select .el-tag__close{margin-top:-2px}.el-select .el-tag{-webkit-box-sizing:border-box;box-sizing:border-box;border-color:transparent;margin:2px 0 2px 6px;background-color:#f0f2f5}.el-select .el-tag__close.el-icon-close{background-color:#C0C4CC;right:-7px;top:0;color:#FFF}.el-select .el-tag__close.el-icon-close:hover{background-color:#909399}.el-table,.el-table__expanded-cell{background-color:#FFF}.el-select .el-tag__close.el-icon-close::before{display:block;-webkit-transform:translate(0,.5px);transform:translate(0,.5px)}.el-table{position:relative;overflow:hidden;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-box-flex:1;-ms-flex:1;flex:1;width:100%;max-width:100%;font-size:14px;color:#606266}.el-table--mini,.el-table--small,.el-table__expand-icon{font-size:12px}.el-table__empty-block{min-height:60px;text-align:center;width:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.el-table__empty-text{line-height:60px;width:50%;color:#909399}.el-table__expand-column .cell{padding:0;text-align:center}.el-table__expand-icon{position:relative;cursor:pointer;color:#666;-webkit-transition:-webkit-transform .2s ease-in-out;transition:-webkit-transform .2s ease-in-out;transition:transform .2s ease-in-out;transition:transform .2s ease-in-out,-webkit-transform .2s ease-in-out;height:20px}.el-table__expand-icon--expanded{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.el-table__expand-icon>.el-icon{position:absolute;left:50%;top:50%;margin-left:-5px;margin-top:-5px}.el-table__expanded-cell[class*=cell]{padding:20px 50px}.el-table__expanded-cell:hover{background-color:transparent!important}.el-table__placeholder{display:inline-block;width:20px}.el-table__append-wrapper{overflow:hidden}.el-table--fit{border-right:0;border-bottom:0}.el-table--fit td.gutter,.el-table--fit th.gutter{border-right-width:1px}.el-table--scrollable-x .el-table__body-wrapper{overflow-x:auto}.el-table--scrollable-y .el-table__body-wrapper{overflow-y:auto}.el-table thead{color:#909399;font-weight:500}.el-table thead.is-group th{background:#F5F7FA}.el-table th,.el-table tr{background-color:#FFF}.el-table td,.el-table th{padding:12px 0;min-width:0;-webkit-box-sizing:border-box;box-sizing:border-box;text-overflow:ellipsis;vertical-align:middle;position:relative;text-align:left}.el-table td.is-center,.el-table th.is-center{text-align:center}.el-table td.is-right,.el-table th.is-right{text-align:right}.el-table td.gutter,.el-table th.gutter{width:15px;border-right-width:0;border-bottom-width:0;padding:0}.el-table--medium td,.el-table--medium th{padding:10px 0}.el-table--small td,.el-table--small th{padding:8px 0}.el-table--mini td,.el-table--mini th{padding:6px 0}.el-table .cell,.el-table--border td:first-child .cell,.el-table--border th:first-child .cell{padding-left:10px}.el-table tr input[type=checkbox]{margin:0}.el-table td,.el-table th.is-leaf{border-bottom:1px solid #EBEEF5}.el-table th.is-sortable{cursor:pointer}.el-table th{overflow:hidden;-ms-user-select:none;user-select:none}.el-table th>.cell{display:inline-block;-webkit-box-sizing:border-box;box-sizing:border-box;position:relative;vertical-align:middle;padding-left:10px;padding-right:10px;width:100%}.el-table th>.cell.highlight{color:#FDA833}.el-table th.required>div::before{display:inline-block;content:"";width:8px;height:8px;border-radius:50%;background:#ff4d51;margin-right:5px;vertical-align:middle}.el-table td div{-webkit-box-sizing:border-box;box-sizing:border-box}.el-table td.gutter{width:0}.el-table .cell{-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden;text-overflow:ellipsis;white-space:normal;word-break:break-all;line-height:23px;padding-right:10px}.el-table .cell.el-tooltip{white-space:nowrap;min-width:50px}.el-table--border,.el-table--group{border:1px solid #EBEEF5}.el-table--border::after,.el-table--group::after,.el-table::before{content:'';position:absolute;background-color:#EBEEF5;z-index:1}.el-table--border::after,.el-table--group::after{top:0;right:0;width:1px;height:100%}.el-table::before{left:0;bottom:0;width:100%;height:1px}.el-table--border{border-right:none;border-bottom:none}.el-table--border.el-loading-parent--relative{border-color:transparent}.el-table--border td,.el-table--border th,.el-table__body-wrapper .el-table--border.is-scrolling-left~.el-table__fixed{border-right:1px solid #EBEEF5}.el-table--border th.gutter:last-of-type{border-bottom:1px solid #EBEEF5;border-bottom-width:1px}.el-table--border th,.el-table__fixed-right-patch{border-bottom:1px solid #EBEEF5}.el-table__fixed,.el-table__fixed-right{position:absolute;top:0;left:0;overflow-x:hidden;overflow-y:hidden;-webkit-box-shadow:0 0 10px rgba(0,0,0,.12);box-shadow:0 0 10px rgba(0,0,0,.12)}.el-table__fixed-right::before,.el-table__fixed::before{content:'';position:absolute;left:0;bottom:0;width:100%;height:1px;background-color:#EBEEF5;z-index:4}.el-table__fixed-right-patch{position:absolute;top:-1px;right:0;background-color:#FFF}.el-table__fixed-right{top:0;left:auto;right:0}.el-table__fixed-right .el-table__fixed-body-wrapper,.el-table__fixed-right .el-table__fixed-footer-wrapper,.el-table__fixed-right .el-table__fixed-header-wrapper{left:auto;right:0}.el-table__fixed-header-wrapper{position:absolute;left:0;top:0;z-index:3}.el-table__fixed-footer-wrapper{position:absolute;left:0;bottom:0;z-index:3}.el-table__fixed-footer-wrapper tbody td{border-top:1px solid #EBEEF5;background-color:#F5F7FA;color:#606266}.el-table__fixed-body-wrapper{position:absolute;left:0;top:37px;overflow:hidden;z-index:3}.el-table__body-wrapper,.el-table__footer-wrapper,.el-table__header-wrapper{width:100%}.el-table__footer-wrapper{margin-top:-1px}.el-table__footer-wrapper td{border-top:1px solid #EBEEF5}.el-table__body,.el-table__footer,.el-table__header{table-layout:fixed;border-collapse:separate}.el-table__footer-wrapper,.el-table__header-wrapper{overflow:hidden}.el-table__footer-wrapper tbody td,.el-table__header-wrapper tbody td{background-color:#F5F7FA;color:#606266}.el-table__body-wrapper{overflow:hidden;position:relative}.el-table__body-wrapper.is-scrolling-left~.el-table__fixed,.el-table__body-wrapper.is-scrolling-none~.el-table__fixed,.el-table__body-wrapper.is-scrolling-none~.el-table__fixed-right,.el-table__body-wrapper.is-scrolling-right~.el-table__fixed-right{-webkit-box-shadow:none;box-shadow:none}.el-picker-panel,.el-table-filter{-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1)}.el-table__body-wrapper .el-table--border.is-scrolling-right~.el-table__fixed-right{border-left:1px solid #EBEEF5}.el-table .caret-wrapper{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:34px;width:24px;vertical-align:middle;cursor:pointer;overflow:initial;position:relative}.el-table .sort-caret{width:0;height:0;border:5px solid transparent;position:absolute;left:7px}.el-table .sort-caret.ascending{border-bottom-color:#C0C4CC;top:5px}.el-table .sort-caret.descending{border-top-color:#C0C4CC;bottom:7px}.el-table .ascending .sort-caret.ascending{border-bottom-color:#FDA833}.el-table .descending .sort-caret.descending{border-top-color:#FDA833}.el-table .hidden-columns{position:absolute;z-index:-1}.el-table--striped .el-table__body tr.el-table__row--striped td{background:#FAFAFA}.el-table--striped .el-table__body tr.el-table__row--striped.current-row td{background-color:rgb(255, 246, 235)}.el-table__body tr.hover-row.current-row>td,.el-table__body tr.hover-row.el-table__row--striped.current-row>td,.el-table__body tr.hover-row.el-table__row--striped>td,.el-table__body tr.hover-row>td{background-color:#F5F7FA}.el-table__body tr.current-row>td{background-color:rgb(255, 246, 235)}.el-table__column-resize-proxy{position:absolute;left:200px;top:0;bottom:0;width:0;border-left:1px solid #EBEEF5;z-index:10}.el-table__column-filter-trigger{display:inline-block;line-height:34px;cursor:pointer}.el-table__column-filter-trigger i{color:#909399;font-size:12px;-webkit-transform:scale(.75);transform:scale(.75)}.el-table--enable-row-transition .el-table__body td{-webkit-transition:background-color .25s ease;transition:background-color .25s ease}.el-table--enable-row-hover .el-table__body tr:hover>td{background-color:#F5F7FA}.el-table--fluid-height .el-table__fixed,.el-table--fluid-height .el-table__fixed-right{bottom:0;overflow:hidden}.el-table [class*=el-table__row--level] .el-table__expand-icon{display:inline-block;width:20px;line-height:20px;height:20px;text-align:center;margin-right:3px}.el-table-column--selection .cell{padding-left:14px;padding-right:14px}.el-table-filter{border:1px solid #EBEEF5;border-radius:2px;background-color:#FFF;box-shadow:0 2px 12px 0 rgba(0,0,0,.1);-webkit-box-sizing:border-box;box-sizing:border-box;margin:2px 0}.el-date-table td,.el-date-table td div{height:30px;-webkit-box-sizing:border-box}.el-table-filter__list{padding:5px 0;margin:0;list-style:none;min-width:100px}.el-table-filter__list-item{line-height:36px;padding:0 10px;cursor:pointer;font-size:14px}.el-table-filter__list-item:hover{background-color:rgb(255, 246, 235);color:rgb(253, 185, 92)}.el-table-filter__list-item.is-active{background-color:#FDA833;color:#FFF}.el-table-filter__content{min-width:100px}.el-table-filter__bottom{border-top:1px solid #EBEEF5;padding:8px}.el-table-filter__bottom button{background:0 0;border:none;color:#606266;cursor:pointer;font-size:13px;padding:0 3px}.el-date-table td.in-range div,.el-date-table td.in-range div:hover,.el-date-table.is-week-mode .el-date-table__row.current div,.el-date-table.is-week-mode .el-date-table__row:hover div{background-color:#F2F6FC}.el-table-filter__bottom button:hover{color:#FDA833}.el-table-filter__bottom button:focus{outline:0}.el-table-filter__bottom button.is-disabled{color:#C0C4CC;cursor:not-allowed}.el-table-filter__wrap{max-height:280px}.el-table-filter__checkbox-group{padding:10px}.el-table-filter__checkbox-group label.el-checkbox{display:block;margin-right:5px;margin-bottom:8px;margin-left:5px}.el-table-filter__checkbox-group .el-checkbox:last-child{margin-bottom:0}.el-date-table{font-size:12px;-ms-user-select:none;user-select:none}.el-date-table.is-week-mode .el-date-table__row:hover td.available:hover{color:#606266}.el-date-table.is-week-mode .el-date-table__row:hover td:first-child div{margin-left:5px;border-top-left-radius:15px;border-bottom-left-radius:15px}.el-date-table.is-week-mode .el-date-table__row:hover td:last-child div{margin-right:5px;border-top-right-radius:15px;border-bottom-right-radius:15px}.el-date-table td{width:32px;padding:4px 0;box-sizing:border-box;text-align:center;cursor:pointer;position:relative}.el-date-table td div{padding:3px 0;box-sizing:border-box}.el-date-table td span{width:24px;height:24px;display:block;margin:0 auto;line-height:24px;position:absolute;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%);border-radius:50%}.el-date-table td.next-month,.el-date-table td.prev-month{color:#C0C4CC}.el-date-table td.today{position:relative}.el-date-table td.today span{color:#FDA833;font-weight:700}.el-date-table td.today.end-date span,.el-date-table td.today.start-date span{color:#FFF}.el-date-table td.available:hover{color:#FDA833}.el-date-table td.current:not(.disabled) span{color:#FFF;background-color:#FDA833}.el-date-table td.end-date div,.el-date-table td.start-date div{color:#FFF}.el-date-table td.end-date span,.el-date-table td.start-date span{background-color:#FDA833}.el-date-table td.start-date div{margin-left:5px;border-top-left-radius:15px;border-bottom-left-radius:15px}.el-date-table td.end-date div{margin-right:5px;border-top-right-radius:15px;border-bottom-right-radius:15px}.el-date-table td.disabled div{background-color:#F5F7FA;opacity:1;cursor:not-allowed;color:#C0C4CC}.el-date-table td.selected div{margin-left:5px;margin-right:5px;background-color:#F2F6FC;border-radius:15px}.el-date-table td.selected div:hover{background-color:#F2F6FC}.el-date-table td.selected span{background-color:#FDA833;color:#FFF;border-radius:15px}.el-date-table td.week{font-size:80%;color:#606266}.el-month-table,.el-year-table{font-size:12px;border-collapse:collapse}.el-date-table th{padding:5px;color:#606266;font-weight:400;border-bottom:solid 1px #EBEEF5}.el-month-table{margin:-1px}.el-month-table td{text-align:center;padding:8px 0;cursor:pointer}.el-month-table td div{height:48px;padding:6px 0;-webkit-box-sizing:border-box;box-sizing:border-box}.el-month-table td.today .cell{color:#FDA833;font-weight:700}.el-month-table td.today.end-date .cell,.el-month-table td.today.start-date .cell{color:#FFF}.el-month-table td.disabled .cell{background-color:#F5F7FA;cursor:not-allowed;color:#C0C4CC}.el-month-table td.disabled .cell:hover{color:#C0C4CC}.el-month-table td .cell{width:60px;height:36px;display:block;line-height:36px;color:#606266;margin:0 auto;border-radius:18px}.el-month-table td .cell:hover{color:#FDA833}.el-month-table td.in-range div,.el-month-table td.in-range div:hover{background-color:#F2F6FC}.el-month-table td.end-date div,.el-month-table td.start-date div{color:#FFF}.el-month-table td.end-date .cell,.el-month-table td.start-date .cell{color:#FFF;background-color:#FDA833}.el-month-table td.start-date div{border-top-left-radius:24px;border-bottom-left-radius:24px}.el-month-table td.end-date div{border-top-right-radius:24px;border-bottom-right-radius:24px}.el-month-table td.current:not(.disabled) .cell{color:#FDA833}.el-year-table{margin:-1px}.el-year-table .el-icon{color:#303133}.el-year-table td{text-align:center;padding:20px 3px;cursor:pointer}.el-year-table td.today .cell{color:#FDA833;font-weight:700}.el-year-table td.disabled .cell{background-color:#F5F7FA;cursor:not-allowed;color:#C0C4CC}.el-year-table td.disabled .cell:hover{color:#C0C4CC}.el-year-table td .cell{width:48px;height:32px;display:block;line-height:32px;color:#606266;margin:0 auto}.el-year-table td .cell:hover,.el-year-table td.current:not(.disabled) .cell{color:#FDA833}.el-date-range-picker{width:646px}.el-date-range-picker.has-sidebar{width:756px}.el-date-range-picker table{table-layout:fixed;width:100%}.el-date-range-picker .el-picker-panel__body{min-width:513px}.el-date-range-picker .el-picker-panel__content{margin:0}.el-date-range-picker__header{position:relative;text-align:center;height:28px}.el-date-range-picker__header [class*=arrow-left]{float:left}.el-date-range-picker__header [class*=arrow-right]{float:right}.el-date-range-picker__header div{font-size:16px;font-weight:500;margin-right:50px}.el-date-range-picker__content{float:left;width:50%;-webkit-box-sizing:border-box;box-sizing:border-box;margin:0;padding:16px}.el-date-range-picker__content.is-left{border-right:1px solid #e4e4e4}.el-date-range-picker__content .el-date-range-picker__header div{margin-left:50px;margin-right:50px}.el-date-range-picker__editors-wrap{-webkit-box-sizing:border-box;box-sizing:border-box;display:table-cell}.el-date-range-picker__editors-wrap.is-right{text-align:right}.el-date-range-picker__time-header{position:relative;border-bottom:1px solid #e4e4e4;font-size:12px;padding:8px 5px 5px;display:table;width:100%;-webkit-box-sizing:border-box;box-sizing:border-box}.el-date-range-picker__time-header>.el-icon-arrow-right{font-size:20px;vertical-align:middle;display:table-cell;color:#303133}.el-date-range-picker__time-picker-wrap{position:relative;display:table-cell;padding:0 5px}.el-date-range-picker__time-picker-wrap .el-picker-panel{position:absolute;top:13px;right:0;z-index:1;background:#FFF}.el-date-picker{width:322px}.el-date-picker.has-sidebar.has-time{width:434px}.el-date-picker.has-sidebar{width:438px}.el-date-picker.has-time .el-picker-panel__body-wrapper{position:relative}.el-date-picker .el-picker-panel__content{width:292px}.el-date-picker table{table-layout:fixed;width:100%}.el-date-picker__editor-wrap{position:relative;display:table-cell;padding:0 5px}.el-date-picker__time-header{position:relative;border-bottom:1px solid #e4e4e4;font-size:12px;padding:8px 5px 5px;display:table;width:100%;-webkit-box-sizing:border-box;box-sizing:border-box}.el-date-picker__header{margin:12px;text-align:center}.el-date-picker__header--bordered{margin-bottom:0;padding-bottom:12px;border-bottom:solid 1px #EBEEF5}.el-date-picker__header--bordered+.el-picker-panel__content{margin-top:0}.el-date-picker__header-label{font-size:16px;font-weight:500;padding:0 5px;line-height:22px;text-align:center;cursor:pointer;color:#606266}.el-date-picker__header-label.active,.el-date-picker__header-label:hover{color:#FDA833}.el-date-picker__prev-btn{float:left}.el-date-picker__next-btn{float:right}.el-date-picker__time-wrap{padding:10px;text-align:center}.el-date-picker__time-label{float:left;cursor:pointer;line-height:30px;margin-left:10px}.time-select{margin:5px 0;min-width:0}.time-select .el-picker-panel__content{max-height:200px;margin:0}.time-select-item{padding:8px 10px;font-size:14px;line-height:20px}.time-select-item.selected:not(.disabled){color:#FDA833;font-weight:700}.time-select-item.disabled{color:#E4E7ED;cursor:not-allowed}.time-select-item:hover{background-color:#F5F7FA;font-weight:700;cursor:pointer}.el-date-editor{position:relative;display:inline-block;text-align:left}.el-date-editor.el-input,.el-date-editor.el-input__inner{width:220px}.el-date-editor--monthrange.el-input,.el-date-editor--monthrange.el-input__inner{width:300px}.el-date-editor--daterange.el-input,.el-date-editor--daterange.el-input__inner,.el-date-editor--timerange.el-input,.el-date-editor--timerange.el-input__inner{width:350px}.el-date-editor--datetimerange.el-input,.el-date-editor--datetimerange.el-input__inner{width:400px}.el-date-editor--dates .el-input__inner{text-overflow:ellipsis;white-space:nowrap}.el-date-editor .el-icon-circle-close{cursor:pointer}.el-date-editor .el-range__icon{font-size:14px;margin-left:-5px;color:#C0C4CC;float:left;line-height:32px}.el-date-editor .el-range-input,.el-date-editor .el-range-separator{height:100%;margin:0;text-align:center;display:inline-block;font-size:14px}.el-date-editor .el-range-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;outline:0;padding:0;width:39%;color:#606266}.el-date-editor .el-range-input::-webkit-input-placeholder{color:#C0C4CC}.el-date-editor .el-range-input:-ms-input-placeholder{color:#C0C4CC}.el-date-editor .el-range-input::-ms-input-placeholder{color:#C0C4CC}.el-date-editor .el-range-input::placeholder{color:#C0C4CC}.el-date-editor .el-range-separator{padding:0 5px;line-height:32px;width:5%;color:#303133}.el-date-editor .el-range__close-icon{font-size:14px;color:#C0C4CC;width:25px;display:inline-block;float:right;line-height:32px}.el-range-editor.el-input__inner{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:3px 10px}.el-range-editor .el-range-input{line-height:1}.el-range-editor.is-active,.el-range-editor.is-active:hover{border-color:#FDA833}.el-range-editor--medium.el-input__inner{height:36px}.el-range-editor--medium .el-range-separator{line-height:28px;font-size:14px}.el-range-editor--medium .el-range-input{font-size:14px}.el-range-editor--medium .el-range__close-icon,.el-range-editor--medium .el-range__icon{line-height:28px}.el-range-editor--small.el-input__inner{height:32px}.el-range-editor--small .el-range-separator{line-height:24px;font-size:13px}.el-range-editor--small .el-range-input{font-size:13px}.el-range-editor--small .el-range__close-icon,.el-range-editor--small .el-range__icon{line-height:24px}.el-range-editor--mini.el-input__inner{height:28px}.el-range-editor--mini .el-range-separator{line-height:20px;font-size:12px}.el-range-editor--mini .el-range-input{font-size:12px}.el-range-editor--mini .el-range__close-icon,.el-range-editor--mini .el-range__icon{line-height:20px}.el-range-editor.is-disabled{background-color:#F5F7FA;border-color:#E4E7ED;color:#C0C4CC;cursor:not-allowed}.el-range-editor.is-disabled:focus,.el-range-editor.is-disabled:hover{border-color:#E4E7ED}.el-range-editor.is-disabled input{background-color:#F5F7FA;color:#C0C4CC;cursor:not-allowed}.el-range-editor.is-disabled input::-webkit-input-placeholder{color:#C0C4CC}.el-range-editor.is-disabled input:-ms-input-placeholder{color:#C0C4CC}.el-range-editor.is-disabled input::-ms-input-placeholder{color:#C0C4CC}.el-range-editor.is-disabled input::placeholder{color:#C0C4CC}.el-range-editor.is-disabled .el-range-separator{color:#C0C4CC}.el-picker-panel{color:#606266;border:1px solid #E4E7ED;box-shadow:0 2px 12px 0 rgba(0,0,0,.1);background:#FFF;border-radius:4px;line-height:30px;margin:5px 0}.el-popover,.el-time-panel{-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1)}.el-picker-panel__body-wrapper::after,.el-picker-panel__body::after{content:"";display:table;clear:both}.el-picker-panel__content{position:relative;margin:15px}.el-picker-panel__footer{border-top:1px solid #e4e4e4;padding:4px;text-align:right;background-color:#FFF;position:relative;font-size:0}.el-picker-panel__shortcut{display:block;width:100%;border:0;background-color:transparent;line-height:28px;font-size:14px;color:#606266;padding-left:12px;text-align:left;outline:0;cursor:pointer}.el-picker-panel__shortcut:hover{color:#FDA833}.el-picker-panel__shortcut.active{background-color:#e6f1fe;color:#FDA833}.el-picker-panel__btn{border:1px solid #dcdcdc;color:#333;line-height:24px;border-radius:2px;padding:0 20px;cursor:pointer;background-color:transparent;outline:0;font-size:12px}.el-picker-panel__btn[disabled]{color:#ccc;cursor:not-allowed}.el-picker-panel__icon-btn{font-size:12px;color:#303133;border:0;background:0 0;cursor:pointer;outline:0;margin-top:8px}.el-picker-panel__icon-btn:hover{color:#FDA833}.el-picker-panel__icon-btn.is-disabled{color:#bbb}.el-picker-panel__icon-btn.is-disabled:hover{cursor:not-allowed}.el-picker-panel__link-btn{vertical-align:middle}.el-picker-panel [slot=sidebar],.el-picker-panel__sidebar{position:absolute;top:0;bottom:0;width:110px;border-right:1px solid #e4e4e4;-webkit-box-sizing:border-box;box-sizing:border-box;padding-top:6px;background-color:#FFF;overflow:auto}.el-picker-panel [slot=sidebar]+.el-picker-panel__body,.el-picker-panel__sidebar+.el-picker-panel__body{margin-left:110px}.el-time-spinner.has-seconds .el-time-spinner__wrapper{width:33.3%}.el-time-spinner__wrapper{max-height:190px;overflow:auto;display:inline-block;width:50%;vertical-align:top;position:relative}.el-time-spinner__wrapper .el-scrollbar__wrap:not(.el-scrollbar__wrap--hidden-default){padding-bottom:15px}.el-time-spinner__input.el-input .el-input__inner,.el-time-spinner__list{padding:0;text-align:center}.el-time-spinner__wrapper.is-arrow{-webkit-box-sizing:border-box;box-sizing:border-box;text-align:center;overflow:hidden}.el-time-spinner__wrapper.is-arrow .el-time-spinner__list{-webkit-transform:translateY(-32px);transform:translateY(-32px)}.el-time-spinner__wrapper.is-arrow .el-time-spinner__item:hover:not(.disabled):not(.active){background:#FFF;cursor:default}.el-time-spinner__arrow{font-size:12px;color:#909399;position:absolute;left:0;width:100%;z-index:1;text-align:center;height:30px;line-height:30px;cursor:pointer}.el-time-spinner__arrow:hover{color:#FDA833}.el-time-spinner__arrow.el-icon-arrow-up{top:10px}.el-time-spinner__arrow.el-icon-arrow-down{bottom:10px}.el-time-spinner__input.el-input{width:70%}.el-time-spinner__list{margin:0;list-style:none}.el-time-spinner__list::after,.el-time-spinner__list::before{content:'';display:block;width:100%;height:80px}.el-time-spinner__item{height:32px;line-height:32px;font-size:12px;color:#606266}.el-time-spinner__item:hover:not(.disabled):not(.active){background:#F5F7FA;cursor:pointer}.el-time-spinner__item.active:not(.disabled){color:#303133;font-weight:700}.el-time-spinner__item.disabled{color:#C0C4CC;cursor:not-allowed}.el-time-panel{margin:5px 0;border:1px solid #E4E7ED;background-color:#FFF;box-shadow:0 2px 12px 0 rgba(0,0,0,.1);border-radius:2px;position:absolute;width:180px;left:0;z-index:1000;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-box-sizing:content-box;box-sizing:content-box}.el-slider__button,.el-slider__button-wrapper{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.el-time-panel__content{font-size:0;position:relative;overflow:hidden}.el-time-panel__content::after,.el-time-panel__content::before{content:"";top:50%;position:absolute;margin-top:-15px;height:32px;z-index:-1;left:0;right:0;-webkit-box-sizing:border-box;box-sizing:border-box;padding-top:6px;text-align:left;border-top:1px solid #E4E7ED;border-bottom:1px solid #E4E7ED}.el-time-panel__content::after{left:50%;margin-left:12%;margin-right:12%}.el-time-panel__content::before{padding-left:50%;margin-right:12%;margin-left:12%}.el-time-panel__content.has-seconds::after{left:calc(100% / 3 * 2)}.el-time-panel__content.has-seconds::before{padding-left:calc(100% / 3)}.el-time-panel__footer{border-top:1px solid #e4e4e4;padding:4px;height:36px;line-height:25px;text-align:right;-webkit-box-sizing:border-box;box-sizing:border-box}.el-time-panel__btn{border:none;line-height:28px;padding:0 5px;margin:0 5px;cursor:pointer;background-color:transparent;outline:0;font-size:12px;color:#303133}.el-time-panel__btn.confirm{font-weight:800;color:#FDA833}.el-time-range-picker{width:354px;overflow:visible}.el-time-range-picker__content{position:relative;text-align:center;padding:10px}.el-time-range-picker__cell{-webkit-box-sizing:border-box;box-sizing:border-box;margin:0;padding:4px 7px 7px;width:50%;display:inline-block}.el-time-range-picker__header{margin-bottom:5px;text-align:center;font-size:14px}.el-time-range-picker__body{border-radius:2px;border:1px solid #E4E7ED}.el-popover{position:absolute;background:#FFF;min-width:150px;border:1px solid #EBEEF5;padding:12px;z-index:2000;color:#606266;line-height:1.4;text-align:justify;font-size:14px;box-shadow:0 2px 12px 0 rgba(0,0,0,.1);word-break:break-all}.el-popover--plain{padding:18px 20px}.el-popover__title{color:#303133;font-size:16px;line-height:1;margin-bottom:12px}.v-modal-enter{-webkit-animation:v-modal-in .2s ease;animation:v-modal-in .2s ease}.v-modal-leave{-webkit-animation:v-modal-out .2s ease forwards;animation:v-modal-out .2s ease forwards}@keyframes v-modal-in{0%{opacity:0}}@keyframes v-modal-out{100%{opacity:0}}.v-modal{position:fixed;left:0;top:0;width:100%;height:100%;opacity:.5;background:#000}.el-popup-parent--hidden{overflow:hidden}.el-message-box{display:inline-block;width:420px;padding-bottom:10px;vertical-align:middle;background-color:#FFF;border-radius:4px;border:1px solid #EBEEF5;font-size:18px;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1);text-align:left;overflow:hidden;-webkit-backface-visibility:hidden;backface-visibility:hidden}.el-message-box__wrapper{position:fixed;top:0;bottom:0;left:0;right:0;text-align:center}.el-message-box__wrapper::after{content:"";display:inline-block;height:100%;width:0;vertical-align:middle}.el-message-box__header{position:relative;padding:15px 15px 10px}.el-message-box__title{padding-left:0;margin-bottom:0;font-size:18px;line-height:1;color:#303133}.el-message-box__headerbtn{position:absolute;top:15px;right:15px;padding:0;border:none;outline:0;background:0 0;font-size:16px;cursor:pointer}.el-form-item.is-error .el-input__inner,.el-form-item.is-error .el-input__inner:focus,.el-form-item.is-error .el-textarea__inner,.el-form-item.is-error .el-textarea__inner:focus,.el-message-box__input input.invalid,.el-message-box__input input.invalid:focus{border-color:#F56C6C}.el-message-box__headerbtn .el-message-box__close{color:#909399}.el-message-box__headerbtn:focus .el-message-box__close,.el-message-box__headerbtn:hover .el-message-box__close{color:#FDA833}.el-message-box__content{padding:10px 15px;color:#606266;font-size:14px}.el-message-box__container{position:relative}.el-message-box__input{padding-top:15px}.el-message-box__status{position:absolute;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);font-size:24px!important}.el-message-box__status::before{padding-left:1px}.el-message-box__status+.el-message-box__message{padding-left:36px;padding-right:12px}.el-message-box__status.el-icon-success{color:#67C23A}.el-message-box__status.el-icon-info{color:#909399}.el-message-box__status.el-icon-warning{color:#E6A23C}.el-message-box__status.el-icon-error{color:#F56C6C}.el-message-box__message{margin:0}.el-message-box__message p{margin:0;line-height:24px}.el-message-box__errormsg{color:#F56C6C;font-size:12px;min-height:18px;margin-top:2px}.el-message-box__btns{padding:5px 15px 0;text-align:right}.el-message-box__btns button:nth-child(2){margin-left:10px}.el-message-box__btns-reverse{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.el-message-box--center{padding-bottom:30px}.el-message-box--center .el-message-box__header{padding-top:30px}.el-message-box--center .el-message-box__title{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.el-message-box--center .el-message-box__status{position:relative;top:auto;padding-right:5px;text-align:center;-webkit-transform:translateY(-1px);transform:translateY(-1px)}.el-message-box--center .el-message-box__message{margin-left:0}.el-message-box--center .el-message-box__btns,.el-message-box--center .el-message-box__content{text-align:center}.el-message-box--center .el-message-box__content{padding-left:27px;padding-right:27px}.msgbox-fade-enter-active{-webkit-animation:msgbox-fade-in .3s;animation:msgbox-fade-in .3s}.msgbox-fade-leave-active{-webkit-animation:msgbox-fade-out .3s;animation:msgbox-fade-out .3s}@-webkit-keyframes msgbox-fade-in{0%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}100%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}}@keyframes msgbox-fade-in{0%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}100%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}}@-webkit-keyframes msgbox-fade-out{0%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}100%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}}@keyframes msgbox-fade-out{0%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}100%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}}.el-breadcrumb{font-size:14px;line-height:1}.el-breadcrumb::after,.el-breadcrumb::before{display:table;content:""}.el-breadcrumb::after{clear:both}.el-breadcrumb__separator{margin:0 9px;font-weight:700;color:#C0C4CC}.el-breadcrumb__separator[class*=icon]{margin:0 6px;font-weight:400}.el-breadcrumb__item{float:left}.el-breadcrumb__inner{color:#606266}.el-breadcrumb__inner a,.el-breadcrumb__inner.is-link{font-weight:700;text-decoration:none;-webkit-transition:color .2s cubic-bezier(.645,.045,.355,1);transition:color .2s cubic-bezier(.645,.045,.355,1);color:#303133}.el-breadcrumb__inner a:hover,.el-breadcrumb__inner.is-link:hover{color:#FDA833;cursor:pointer}.el-breadcrumb__item:last-child .el-breadcrumb__inner,.el-breadcrumb__item:last-child .el-breadcrumb__inner a,.el-breadcrumb__item:last-child .el-breadcrumb__inner a:hover,.el-breadcrumb__item:last-child .el-breadcrumb__inner:hover{font-weight:400;color:#606266;cursor:text}.el-breadcrumb__item:last-child .el-breadcrumb__separator{display:none}.el-form--label-left .el-form-item__label{text-align:left}.el-form--label-top .el-form-item__label{float:none;display:inline-block;text-align:left;padding:0 0 10px}.el-form--inline .el-form-item{display:inline-block;margin-right:10px;vertical-align:top}.el-form--inline .el-form-item__label{float:none;display:inline-block}.el-form--inline .el-form-item__content{display:inline-block;vertical-align:top}.el-form--inline.el-form--label-top .el-form-item__content{display:block}.el-form-item{margin-bottom:22px}.el-form-item::after,.el-form-item::before{display:table;content:""}.el-form-item::after{clear:both}.el-form-item .el-form-item{margin-bottom:0}.el-form-item--mini.el-form-item,.el-form-item--small.el-form-item{margin-bottom:18px}.el-form-item .el-input__validateIcon{display:none}.el-form-item--medium .el-form-item__content,.el-form-item--medium .el-form-item__label{line-height:36px}.el-form-item--small .el-form-item__content,.el-form-item--small .el-form-item__label{line-height:32px}.el-form-item--small .el-form-item__error{padding-top:2px}.el-form-item--mini .el-form-item__content,.el-form-item--mini .el-form-item__label{line-height:28px}.el-form-item--mini .el-form-item__error{padding-top:1px}.el-form-item__label-wrap{float:left}.el-form-item__label-wrap .el-form-item__label{display:inline-block;float:none}.el-form-item__label{text-align:right;vertical-align:middle;float:left;font-size:14px;color:#606266;line-height:40px;padding:0 12px 0 0;-webkit-box-sizing:border-box;box-sizing:border-box}.el-form-item__content{line-height:40px;position:relative;font-size:14px}.el-form-item__content::after,.el-form-item__content::before{display:table;content:""}.el-form-item__content::after{clear:both}.el-form-item__content .el-input-group{vertical-align:top}.el-form-item__error{color:#F56C6C;font-size:12px;line-height:1;padding-top:4px;position:absolute;top:100%;left:0}.el-form-item__error--inline{position:relative;top:auto;left:auto;display:inline-block;margin-left:10px}.el-form-item.is-required:not(.is-no-asterisk) .el-form-item__label-wrap>.el-form-item__label:before,.el-form-item.is-required:not(.is-no-asterisk)>.el-form-item__label:before{content:'*';color:#F56C6C;margin-right:4px}.el-form-item.is-error .el-input-group__append .el-input__inner,.el-form-item.is-error .el-input-group__prepend .el-input__inner{border-color:transparent}.el-form-item.is-error .el-input__validateIcon{color:#F56C6C}.el-form-item--feedback .el-input__validateIcon{display:inline-block}.el-tabs__header{padding:0;position:relative;margin:0 0 15px}.el-tabs__active-bar{position:absolute;bottom:0;left:0;height:2px;background-color:#FDA833;z-index:1;-webkit-transition:-webkit-transform .3s cubic-bezier(.645,.045,.355,1);transition:-webkit-transform .3s cubic-bezier(.645,.045,.355,1);transition:transform .3s cubic-bezier(.645,.045,.355,1);transition:transform .3s cubic-bezier(.645,.045,.355,1),-webkit-transform .3s cubic-bezier(.645,.045,.355,1);list-style:none}.el-tabs__new-tab{float:right;border:1px solid #d3dce6;height:18px;width:18px;line-height:18px;margin:12px 0 9px 10px;border-radius:3px;text-align:center;font-size:12px;color:#d3dce6;cursor:pointer;-webkit-transition:all .15s;transition:all .15s}.el-collapse-item__arrow,.el-tabs__nav{-webkit-transition:-webkit-transform .3s}.el-tabs__new-tab .el-icon-plus{-webkit-transform:scale(.8,.8);transform:scale(.8,.8)}.el-tabs__new-tab:hover{color:#FDA833}.el-tabs__nav-wrap{overflow:hidden;margin-bottom:-1px;position:relative}.el-tabs__nav-wrap::after{content:"";position:absolute;left:0;bottom:0;width:100%;height:2px;background-color:#E4E7ED;z-index:1}.el-tabs--border-card>.el-tabs__header .el-tabs__nav-wrap::after,.el-tabs--card>.el-tabs__header .el-tabs__nav-wrap::after{content:none}.el-tabs__nav-wrap.is-scrollable{padding:0 20px;-webkit-box-sizing:border-box;box-sizing:border-box}.el-tabs__nav-scroll{overflow:hidden}.el-tabs__nav-next,.el-tabs__nav-prev{position:absolute;cursor:pointer;line-height:44px;font-size:12px;color:#909399}.el-tabs__nav-next{right:0}.el-tabs__nav-prev{left:0}.el-tabs__nav{white-space:nowrap;position:relative;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s;float:left;z-index:2}.el-tabs__nav.is-stretch{min-width:100%;display:-webkit-box;display:-ms-flexbox;display:flex}.el-tabs__nav.is-stretch>*{-webkit-box-flex:1;-ms-flex:1;flex:1;text-align:center}.el-tabs__item{padding:0 20px;height:40px;-webkit-box-sizing:border-box;box-sizing:border-box;line-height:40px;display:inline-block;list-style:none;font-size:14px;font-weight:500;color:#303133;position:relative}.el-tabs__item:focus,.el-tabs__item:focus:active{outline:0}.el-tabs__item:focus.is-active.is-focus:not(:active){-webkit-box-shadow:0 0 2px 2px #FDA833 inset;box-shadow:0 0 2px 2px #FDA833 inset;border-radius:3px}.el-tabs__item .el-icon-close{border-radius:50%;text-align:center;-webkit-transition:all .3s cubic-bezier(.645,.045,.355,1);transition:all .3s cubic-bezier(.645,.045,.355,1);margin-left:5px}.el-tabs__item .el-icon-close:before{-webkit-transform:scale(.9);transform:scale(.9);display:inline-block}.el-tabs__item .el-icon-close:hover{background-color:#C0C4CC;color:#FFF}.el-tabs__item.is-active{color:#FDA833}.el-tabs__item:hover{color:#FDA833;cursor:pointer}.el-tabs__item.is-disabled{color:#C0C4CC;cursor:default}.el-tabs__content{overflow:hidden;position:relative}.el-tabs--card>.el-tabs__header{border-bottom:1px solid #E4E7ED}.el-tabs--card>.el-tabs__header .el-tabs__nav{border:1px solid #E4E7ED;border-bottom:none;border-radius:4px 4px 0 0;-webkit-box-sizing:border-box;box-sizing:border-box}.el-tabs--card>.el-tabs__header .el-tabs__active-bar{display:none}.el-tabs--card>.el-tabs__header .el-tabs__item .el-icon-close{position:relative;font-size:12px;width:0;height:14px;vertical-align:middle;line-height:15px;overflow:hidden;top:-1px;right:-2px;-webkit-transform-origin:100% 50%;transform-origin:100% 50%}.el-tabs--card>.el-tabs__header .el-tabs__item.is-active.is-closable .el-icon-close,.el-tabs--card>.el-tabs__header .el-tabs__item.is-closable:hover .el-icon-close{width:14px}.el-tabs--card>.el-tabs__header .el-tabs__item{border-bottom:1px solid transparent;border-left:1px solid #E4E7ED;-webkit-transition:color .3s cubic-bezier(.645,.045,.355,1),padding .3s cubic-bezier(.645,.045,.355,1);transition:color .3s cubic-bezier(.645,.045,.355,1),padding .3s cubic-bezier(.645,.045,.355,1)}.el-tabs--card>.el-tabs__header .el-tabs__item:first-child{border-left:none}.el-tabs--card>.el-tabs__header .el-tabs__item.is-closable:hover{padding-left:13px;padding-right:13px}.el-tabs--card>.el-tabs__header .el-tabs__item.is-active{border-bottom-color:#FFF}.el-tabs--card>.el-tabs__header .el-tabs__item.is-active.is-closable{padding-left:20px;padding-right:20px}.el-tabs--border-card{background:#FFF;border:1px solid #DCDFE6;-webkit-box-shadow:0 2px 4px 0 rgba(0,0,0,.12),0 0 6px 0 rgba(0,0,0,.04);box-shadow:0 2px 4px 0 rgba(0,0,0,.12),0 0 6px 0 rgba(0,0,0,.04)}.el-tabs--border-card>.el-tabs__content{padding:15px}.el-tabs--border-card>.el-tabs__header{background-color:#F5F7FA;border-bottom:1px solid #E4E7ED;margin:0}.el-tabs--border-card>.el-tabs__header .el-tabs__item{-webkit-transition:all .3s cubic-bezier(.645,.045,.355,1);transition:all .3s cubic-bezier(.645,.045,.355,1);border:1px solid transparent;margin-top:-1px;color:#909399}.el-tabs--border-card>.el-tabs__header .el-tabs__item+.el-tabs__item,.el-tabs--border-card>.el-tabs__header .el-tabs__item:first-child{margin-left:-1px}.el-tabs--border-card>.el-tabs__header .el-tabs__item.is-active{color:#FDA833;background-color:#FFF;border-right-color:#DCDFE6;border-left-color:#DCDFE6}.el-tabs--border-card>.el-tabs__header .el-tabs__item:not(.is-disabled):hover{color:#FDA833}.el-tabs--border-card>.el-tabs__header .el-tabs__item.is-disabled{color:#C0C4CC}.el-tabs--border-card>.el-tabs__header .is-scrollable .el-tabs__item:first-child{margin-left:0}.el-tabs--bottom .el-tabs__item.is-bottom:nth-child(2),.el-tabs--bottom .el-tabs__item.is-top:nth-child(2),.el-tabs--top .el-tabs__item.is-bottom:nth-child(2),.el-tabs--top .el-tabs__item.is-top:nth-child(2){padding-left:0}.el-tabs--bottom .el-tabs__item.is-bottom:last-child,.el-tabs--bottom .el-tabs__item.is-top:last-child,.el-tabs--top .el-tabs__item.is-bottom:last-child,.el-tabs--top .el-tabs__item.is-top:last-child{padding-right:0}.el-tabs--bottom .el-tabs--left>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--bottom .el-tabs--right>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--bottom.el-tabs--border-card>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--bottom.el-tabs--card>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--top .el-tabs--left>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--top .el-tabs--right>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--top.el-tabs--border-card>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--top.el-tabs--card>.el-tabs__header .el-tabs__item:nth-child(2){padding-left:20px}.el-tabs--bottom .el-tabs--left>.el-tabs__header .el-tabs__item:last-child,.el-tabs--bottom .el-tabs--right>.el-tabs__header .el-tabs__item:last-child,.el-tabs--bottom.el-tabs--border-card>.el-tabs__header .el-tabs__item:last-child,.el-tabs--bottom.el-tabs--card>.el-tabs__header .el-tabs__item:last-child,.el-tabs--top .el-tabs--left>.el-tabs__header .el-tabs__item:last-child,.el-tabs--top .el-tabs--right>.el-tabs__header .el-tabs__item:last-child,.el-tabs--top.el-tabs--border-card>.el-tabs__header .el-tabs__item:last-child,.el-tabs--top.el-tabs--card>.el-tabs__header .el-tabs__item:last-child{padding-right:20px}.el-tabs--bottom .el-tabs__header.is-bottom{margin-bottom:0;margin-top:10px}.el-tabs--bottom.el-tabs--border-card .el-tabs__header.is-bottom{border-bottom:0;border-top:1px solid #DCDFE6}.el-tabs--bottom.el-tabs--border-card .el-tabs__nav-wrap.is-bottom{margin-top:-1px;margin-bottom:0}.el-tabs--bottom.el-tabs--border-card .el-tabs__item.is-bottom:not(.is-active){border:1px solid transparent}.el-tabs--bottom.el-tabs--border-card .el-tabs__item.is-bottom{margin:0 -1px -1px}.el-tabs--left,.el-tabs--right{overflow:hidden}.el-tabs--left .el-tabs__header.is-left,.el-tabs--left .el-tabs__header.is-right,.el-tabs--left .el-tabs__nav-scroll,.el-tabs--left .el-tabs__nav-wrap.is-left,.el-tabs--left .el-tabs__nav-wrap.is-right,.el-tabs--right .el-tabs__header.is-left,.el-tabs--right .el-tabs__header.is-right,.el-tabs--right .el-tabs__nav-scroll,.el-tabs--right .el-tabs__nav-wrap.is-left,.el-tabs--right .el-tabs__nav-wrap.is-right{height:100%}.el-tabs--left .el-tabs__active-bar.is-left,.el-tabs--left .el-tabs__active-bar.is-right,.el-tabs--right .el-tabs__active-bar.is-left,.el-tabs--right .el-tabs__active-bar.is-right{top:0;bottom:auto;width:2px;height:auto}.el-tabs--left .el-tabs__nav-wrap.is-left,.el-tabs--left .el-tabs__nav-wrap.is-right,.el-tabs--right .el-tabs__nav-wrap.is-left,.el-tabs--right .el-tabs__nav-wrap.is-right{margin-bottom:0}.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-next,.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-next,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-next,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-next,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev{height:30px;line-height:30px;width:100%;text-align:center;cursor:pointer}.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-next i,.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev i,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-next i,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev i,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-next i,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev i,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-next i,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev i{-webkit-transform:rotateZ(90deg);transform:rotateZ(90deg)}.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev{left:auto;top:0}.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-next,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-next,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-next,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-next{right:auto;bottom:0}.el-tabs--left .el-tabs__active-bar.is-left,.el-tabs--left .el-tabs__nav-wrap.is-left::after{right:0;left:auto}.el-tabs--left .el-tabs__nav-wrap.is-left.is-scrollable,.el-tabs--left .el-tabs__nav-wrap.is-right.is-scrollable,.el-tabs--right .el-tabs__nav-wrap.is-left.is-scrollable,.el-tabs--right .el-tabs__nav-wrap.is-right.is-scrollable{padding:30px 0}.el-tabs--left .el-tabs__nav-wrap.is-left::after,.el-tabs--left .el-tabs__nav-wrap.is-right::after,.el-tabs--right .el-tabs__nav-wrap.is-left::after,.el-tabs--right .el-tabs__nav-wrap.is-right::after{height:100%;width:2px;bottom:auto;top:0}.el-tabs--left .el-tabs__nav.is-left,.el-tabs--left .el-tabs__nav.is-right,.el-tabs--right .el-tabs__nav.is-left,.el-tabs--right .el-tabs__nav.is-right{float:none}.el-tabs--left .el-tabs__item.is-left,.el-tabs--left .el-tabs__item.is-right,.el-tabs--right .el-tabs__item.is-left,.el-tabs--right .el-tabs__item.is-right{display:block}.el-tabs--left.el-tabs--card .el-tabs__active-bar.is-left,.el-tabs--right.el-tabs--card .el-tabs__active-bar.is-right{display:none}.el-tabs--left .el-tabs__header.is-left{float:left;margin-bottom:0;margin-right:10px}.el-tabs--left .el-tabs__nav-wrap.is-left{margin-right:-1px}.el-tabs--left .el-tabs__item.is-left{text-align:right}.el-tabs--left.el-tabs--card .el-tabs__item.is-left{border-left:none;border-right:1px solid #E4E7ED;border-bottom:none;border-top:1px solid #E4E7ED;text-align:left}.el-tabs--left.el-tabs--card .el-tabs__item.is-left:first-child{border-right:1px solid #E4E7ED;border-top:none}.el-tabs--left.el-tabs--card .el-tabs__item.is-left.is-active{border:1px solid #E4E7ED;border-right-color:#fff;border-left:none;border-bottom:none}.el-tabs--left.el-tabs--card .el-tabs__item.is-left.is-active:first-child{border-top:none}.el-tabs--left.el-tabs--card .el-tabs__item.is-left.is-active:last-child{border-bottom:none}.el-tabs--left.el-tabs--card .el-tabs__nav{border-radius:4px 0 0 4px;border-bottom:1px solid #E4E7ED;border-right:none}.el-tabs--left.el-tabs--card .el-tabs__new-tab{float:none}.el-tabs--left.el-tabs--border-card .el-tabs__header.is-left{border-right:1px solid #dfe4ed}.el-tabs--left.el-tabs--border-card .el-tabs__item.is-left{border:1px solid transparent;margin:-1px 0 -1px -1px}.el-tabs--left.el-tabs--border-card .el-tabs__item.is-left.is-active{border-color:#d1dbe5 transparent}.el-tabs--right .el-tabs__header.is-right{float:right;margin-bottom:0;margin-left:10px}.el-tabs--right .el-tabs__nav-wrap.is-right{margin-left:-1px}.el-tabs--right .el-tabs__nav-wrap.is-right::after{left:0;right:auto}.el-tabs--right .el-tabs__active-bar.is-right{left:0}.el-tabs--right.el-tabs--card .el-tabs__item.is-right{border-bottom:none;border-top:1px solid #E4E7ED}.el-tabs--right.el-tabs--card .el-tabs__item.is-right:first-child{border-left:1px solid #E4E7ED;border-top:none}.el-tabs--right.el-tabs--card .el-tabs__item.is-right.is-active{border:1px solid #E4E7ED;border-left-color:#fff;border-right:none;border-bottom:none}.el-tabs--right.el-tabs--card .el-tabs__item.is-right.is-active:first-child{border-top:none}.el-tabs--right.el-tabs--card .el-tabs__item.is-right.is-active:last-child{border-bottom:none}.el-tabs--right.el-tabs--card .el-tabs__nav{border-radius:0 4px 4px 0;border-bottom:1px solid #E4E7ED;border-left:none}.el-tabs--right.el-tabs--border-card .el-tabs__header.is-right{border-left:1px solid #dfe4ed}.el-tabs--right.el-tabs--border-card .el-tabs__item.is-right{border:1px solid transparent;margin:-1px -1px -1px 0}.el-tabs--right.el-tabs--border-card .el-tabs__item.is-right.is-active{border-color:#d1dbe5 transparent}.slideInLeft-transition,.slideInRight-transition{display:inline-block}.slideInRight-enter{-webkit-animation:slideInRight-enter .3s;animation:slideInRight-enter .3s}.slideInRight-leave{position:absolute;left:0;right:0;-webkit-animation:slideInRight-leave .3s;animation:slideInRight-leave .3s}.slideInLeft-enter{-webkit-animation:slideInLeft-enter .3s;animation:slideInLeft-enter .3s}.slideInLeft-leave{position:absolute;left:0;right:0;-webkit-animation:slideInLeft-leave .3s;animation:slideInLeft-leave .3s}@-webkit-keyframes slideInRight-enter{0%{opacity:0;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(100%);transform:translateX(100%)}to{opacity:1;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes slideInRight-enter{0%{opacity:0;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(100%);transform:translateX(100%)}to{opacity:1;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(0);transform:translateX(0)}}@-webkit-keyframes slideInRight-leave{0%{-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(0);transform:translateX(0);opacity:1}100%{-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(100%);transform:translateX(100%);opacity:0}}@keyframes slideInRight-leave{0%{-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(0);transform:translateX(0);opacity:1}100%{-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(100%);transform:translateX(100%);opacity:0}}@-webkit-keyframes slideInLeft-enter{0%{opacity:0;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(-100%);transform:translateX(-100%)}to{opacity:1;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes slideInLeft-enter{0%{opacity:0;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(-100%);transform:translateX(-100%)}to{opacity:1;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(0);transform:translateX(0)}}@-webkit-keyframes slideInLeft-leave{0%{-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(0);transform:translateX(0);opacity:1}100%{-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(-100%);transform:translateX(-100%);opacity:0}}@keyframes slideInLeft-leave{0%{-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(0);transform:translateX(0);opacity:1}100%{-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(-100%);transform:translateX(-100%);opacity:0}}.el-tree{position:relative;cursor:default;background:#FFF;color:#606266}.el-tree__empty-block{position:relative;min-height:60px;text-align:center;width:100%;height:100%}.el-tree__empty-text{position:absolute;left:50%;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);color:#909399;font-size:14px}.el-tree__drop-indicator{position:absolute;left:0;right:0;height:1px;background-color:#FDA833}.el-tree-node{white-space:nowrap;outline:0}.el-tree-node:focus>.el-tree-node__content{background-color:#F5F7FA}.el-tree-node.is-drop-inner>.el-tree-node__content .el-tree-node__label{background-color:#FDA833;color:#fff}.el-tree-node__content{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:26px;cursor:pointer}.el-tree-node__content>.el-tree-node__expand-icon{padding:6px}.el-tree-node__content>label.el-checkbox{margin-right:8px}.el-tree-node__content:hover{background-color:#F5F7FA}.el-tree.is-dragging .el-tree-node__content{cursor:move}.el-tree.is-dragging.is-drop-not-allow .el-tree-node__content{cursor:not-allowed}.el-tree-node__expand-icon{cursor:pointer;color:#C0C4CC;font-size:12px;-webkit-transform:rotate(0);transform:rotate(0);-webkit-transition:-webkit-transform .3s ease-in-out;transition:-webkit-transform .3s ease-in-out;transition:transform .3s ease-in-out;transition:transform .3s ease-in-out,-webkit-transform .3s ease-in-out}.el-tree-node__expand-icon.expanded{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.el-tree-node__expand-icon.is-leaf{color:transparent;cursor:default}.el-tree-node__label{font-size:14px}.el-tree-node__loading-icon{margin-right:8px;font-size:14px;color:#C0C4CC}.el-tree-node>.el-tree-node__children{overflow:hidden;background-color:transparent}.el-tree-node.is-expanded>.el-tree-node__children{display:block}.el-tree--highlight-current .el-tree-node.is-current>.el-tree-node__content{background-color:#f0f7ff}.el-alert{width:100%;padding:8px 16px;margin:0;-webkit-box-sizing:border-box;box-sizing:border-box;border-radius:4px;position:relative;background-color:#FFF;overflow:hidden;opacity:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-transition:opacity .2s;transition:opacity .2s}.el-alert.is-light .el-alert__closebtn{color:#C0C4CC}.el-alert.is-dark .el-alert__closebtn,.el-alert.is-dark .el-alert__description{color:#FFF}.el-alert.is-center{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.el-alert--success.is-light{background-color:#f0f9eb;color:#67C23A}.el-alert--success.is-light .el-alert__description{color:#67C23A}.el-alert--success.is-dark{background-color:#67C23A;color:#FFF}.el-alert--info.is-light{background-color:#f4f4f5;color:#909399}.el-alert--info.is-dark{background-color:#909399;color:#FFF}.el-alert--info .el-alert__description{color:#909399}.el-alert--warning.is-light{background-color:#fdf6ec;color:#E6A23C}.el-alert--warning.is-light .el-alert__description{color:#E6A23C}.el-alert--warning.is-dark{background-color:#E6A23C;color:#FFF}.el-alert--error.is-light{background-color:#fef0f0;color:#F56C6C}.el-alert--error.is-light .el-alert__description{color:#F56C6C}.el-alert--error.is-dark{background-color:#F56C6C;color:#FFF}.el-alert__content{display:table-cell;padding:0 8px}.el-alert__icon{font-size:16px;width:16px}.el-alert__icon.is-big{font-size:28px;width:28px}.el-alert__title{font-size:13px;line-height:18px}.el-alert__title.is-bold{font-weight:700}.el-alert .el-alert__description{font-size:12px;margin:5px 0 0}.el-alert__closebtn{font-size:12px;opacity:1;position:absolute;top:12px;right:15px;cursor:pointer}.el-alert-fade-enter,.el-alert-fade-leave-active,.el-loading-fade-enter,.el-loading-fade-leave-active,.el-notification-fade-leave-active{opacity:0}.el-alert__closebtn.is-customed{font-style:normal;font-size:13px;top:9px}.el-notification{display:-webkit-box;display:-ms-flexbox;display:flex;width:330px;padding:14px 26px 14px 13px;border-radius:8px;-webkit-box-sizing:border-box;box-sizing:border-box;border:1px solid #EBEEF5;position:fixed;background-color:#FFF;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1);-webkit-transition:opacity .3s,left .3s,right .3s,top .4s,bottom .3s,-webkit-transform .3s;transition:opacity .3s,left .3s,right .3s,top .4s,bottom .3s,-webkit-transform .3s;transition:opacity .3s,transform .3s,left .3s,right .3s,top .4s,bottom .3s;transition:opacity .3s,transform .3s,left .3s,right .3s,top .4s,bottom .3s,-webkit-transform .3s;overflow:hidden}.el-notification.right{right:16px}.el-notification.left{left:16px}.el-notification__group{margin-left:13px;margin-right:8px}.el-notification__title{font-weight:700;font-size:16px;color:#303133;margin:0}.el-notification__content{font-size:14px;line-height:21px;margin:6px 0 0;color:#606266;text-align:justify}.el-notification__content p{margin:0}.el-notification__icon{height:24px;width:24px;font-size:24px}.el-notification__closeBtn{position:absolute;top:18px;right:15px;cursor:pointer;color:#909399;font-size:16px}.el-notification__closeBtn:hover{color:#606266}.el-notification .el-icon-success{color:#67C23A}.el-notification .el-icon-error{color:#F56C6C}.el-notification .el-icon-info{color:#909399}.el-notification .el-icon-warning{color:#E6A23C}.el-notification-fade-enter.right{right:0;-webkit-transform:translateX(100%);transform:translateX(100%)}.el-notification-fade-enter.left{left:0;-webkit-transform:translateX(-100%);transform:translateX(-100%)}.el-input-number{position:relative;display:inline-block;width:180px;line-height:38px}.el-input-number .el-input{display:block}.el-input-number .el-input__inner{-webkit-appearance:none;padding-left:50px;padding-right:50px;text-align:center}.el-input-number__decrease,.el-input-number__increase{position:absolute;z-index:1;top:1px;width:40px;height:auto;text-align:center;background:#F5F7FA;color:#606266;cursor:pointer;font-size:13px}.el-input-number__decrease:hover,.el-input-number__increase:hover{color:#FDA833}.el-input-number__decrease:hover:not(.is-disabled)~.el-input .el-input__inner:not(.is-disabled),.el-input-number__increase:hover:not(.is-disabled)~.el-input .el-input__inner:not(.is-disabled){border-color:#FDA833}.el-input-number__decrease.is-disabled,.el-input-number__increase.is-disabled{color:#C0C4CC;cursor:not-allowed}.el-input-number__increase{right:1px;border-radius:0 4px 4px 0;border-left:1px solid #DCDFE6}.el-input-number__decrease{left:1px;border-radius:4px 0 0 4px;border-right:1px solid #DCDFE6}.el-input-number.is-disabled .el-input-number__decrease,.el-input-number.is-disabled .el-input-number__increase{border-color:#E4E7ED;color:#E4E7ED}.el-input-number.is-disabled .el-input-number__decrease:hover,.el-input-number.is-disabled .el-input-number__increase:hover{color:#E4E7ED;cursor:not-allowed}.el-input-number--medium{width:200px;line-height:34px}.el-input-number--medium .el-input-number__decrease,.el-input-number--medium .el-input-number__increase{width:36px;font-size:14px}.el-input-number--medium .el-input__inner{padding-left:43px;padding-right:43px}.el-input-number--small{width:130px;line-height:30px}.el-input-number--small .el-input-number__decrease,.el-input-number--small .el-input-number__increase{width:32px;font-size:13px}.el-input-number--small .el-input-number__decrease [class*=el-icon],.el-input-number--small .el-input-number__increase [class*=el-icon]{-webkit-transform:scale(.9);transform:scale(.9)}.el-input-number--small .el-input__inner{padding-left:39px;padding-right:39px}.el-input-number--mini{width:130px;line-height:26px}.el-input-number--mini .el-input-number__decrease,.el-input-number--mini .el-input-number__increase{width:28px;font-size:12px}.el-input-number--mini .el-input-number__decrease [class*=el-icon],.el-input-number--mini .el-input-number__increase [class*=el-icon]{-webkit-transform:scale(.8);transform:scale(.8)}.el-input-number--mini .el-input__inner{padding-left:35px;padding-right:35px}.el-input-number.is-without-controls .el-input__inner{padding-left:15px;padding-right:15px}.el-input-number.is-controls-right .el-input__inner{padding-left:15px;padding-right:50px}.el-input-number.is-controls-right .el-input-number__decrease,.el-input-number.is-controls-right .el-input-number__increase{height:auto;line-height:19px}.el-input-number.is-controls-right .el-input-number__decrease [class*=el-icon],.el-input-number.is-controls-right .el-input-number__increase [class*=el-icon]{-webkit-transform:scale(.8);transform:scale(.8)}.el-input-number.is-controls-right .el-input-number__increase{border-radius:0 4px 0 0;border-bottom:1px solid #DCDFE6}.el-input-number.is-controls-right .el-input-number__decrease{right:1px;bottom:1px;top:auto;left:auto;border-right:none;border-left:1px solid #DCDFE6;border-radius:0 0 4px}.el-input-number.is-controls-right[class*=medium] [class*=decrease],.el-input-number.is-controls-right[class*=medium] [class*=increase]{line-height:17px}.el-input-number.is-controls-right[class*=small] [class*=decrease],.el-input-number.is-controls-right[class*=small] [class*=increase]{line-height:15px}.el-input-number.is-controls-right[class*=mini] [class*=decrease],.el-input-number.is-controls-right[class*=mini] [class*=increase]{line-height:13px}.el-tooltip__popper{position:absolute;border-radius:4px;padding:10px;z-index:2000;font-size:12px;line-height:1.2;min-width:10px;word-wrap:break-word}.el-tooltip__popper .popper__arrow,.el-tooltip__popper .popper__arrow::after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.el-tooltip__popper .popper__arrow{border-width:6px}.el-tooltip__popper .popper__arrow::after{content:" ";border-width:5px}.el-progress-bar__inner::after,.el-row::after,.el-row::before,.el-slider::after,.el-slider::before,.el-slider__button-wrapper::after,.el-upload-cover::after{content:""}.el-tooltip__popper[x-placement^=top]{margin-bottom:12px}.el-tooltip__popper[x-placement^=top] .popper__arrow{bottom:-6px;border-top-color:#303133;border-bottom-width:0}.el-tooltip__popper[x-placement^=top] .popper__arrow::after{bottom:1px;margin-left:-5px;border-top-color:#303133;border-bottom-width:0}.el-tooltip__popper[x-placement^=bottom]{margin-top:12px}.el-tooltip__popper[x-placement^=bottom] .popper__arrow{top:-6px;border-top-width:0;border-bottom-color:#303133}.el-tooltip__popper[x-placement^=bottom] .popper__arrow::after{top:1px;margin-left:-5px;border-top-width:0;border-bottom-color:#303133}.el-tooltip__popper[x-placement^=right]{margin-left:12px}.el-tooltip__popper[x-placement^=right] .popper__arrow{left:-6px;border-right-color:#303133;border-left-width:0}.el-tooltip__popper[x-placement^=right] .popper__arrow::after{bottom:-5px;left:1px;border-right-color:#303133;border-left-width:0}.el-tooltip__popper[x-placement^=left]{margin-right:12px}.el-tooltip__popper[x-placement^=left] .popper__arrow{right:-6px;border-right-width:0;border-left-color:#303133}.el-tooltip__popper[x-placement^=left] .popper__arrow::after{right:1px;bottom:-5px;margin-left:-5px;border-right-width:0;border-left-color:#303133}.el-tooltip__popper.is-dark{background:#303133;color:#FFF}.el-tooltip__popper.is-light{background:#FFF;border:1px solid #303133}.el-tooltip__popper.is-light[x-placement^=top] .popper__arrow{border-top-color:#303133}.el-tooltip__popper.is-light[x-placement^=top] .popper__arrow::after{border-top-color:#FFF}.el-tooltip__popper.is-light[x-placement^=bottom] .popper__arrow{border-bottom-color:#303133}.el-tooltip__popper.is-light[x-placement^=bottom] .popper__arrow::after{border-bottom-color:#FFF}.el-tooltip__popper.is-light[x-placement^=left] .popper__arrow{border-left-color:#303133}.el-tooltip__popper.is-light[x-placement^=left] .popper__arrow::after{border-left-color:#FFF}.el-tooltip__popper.is-light[x-placement^=right] .popper__arrow{border-right-color:#303133}.el-tooltip__popper.is-light[x-placement^=right] .popper__arrow::after{border-right-color:#FFF}.el-slider::after,.el-slider::before{display:table}.el-slider__button-wrapper .el-tooltip,.el-slider__button-wrapper::after{vertical-align:middle;display:inline-block}.el-slider::after{clear:both}.el-slider__runway{width:100%;height:6px;margin:16px 0;background-color:#E4E7ED;border-radius:3px;position:relative;cursor:pointer;vertical-align:middle}.el-slider__runway.show-input{margin-right:160px;width:auto}.el-slider__runway.disabled{cursor:default}.el-slider__runway.disabled .el-slider__bar{background-color:#C0C4CC}.el-slider__runway.disabled .el-slider__button{border-color:#C0C4CC}.el-slider__runway.disabled .el-slider__button-wrapper.dragging,.el-slider__runway.disabled .el-slider__button-wrapper.hover,.el-slider__runway.disabled .el-slider__button-wrapper:hover{cursor:not-allowed}.el-slider__runway.disabled .el-slider__button.dragging,.el-slider__runway.disabled .el-slider__button.hover,.el-slider__runway.disabled .el-slider__button:hover{-webkit-transform:scale(1);transform:scale(1);cursor:not-allowed}.el-slider__button-wrapper,.el-slider__stop{-webkit-transform:translateX(-50%);position:absolute}.el-slider__input{float:right;margin-top:3px;width:130px}.el-slider__input.el-input-number--mini{margin-top:5px}.el-slider__input.el-input-number--medium{margin-top:0}.el-slider__input.el-input-number--large{margin-top:-2px}.el-slider__bar{height:6px;background-color:#FDA833;border-top-left-radius:3px;border-bottom-left-radius:3px;position:absolute}.el-slider__button-wrapper{height:36px;width:36px;z-index:1001;top:-15px;transform:translateX(-50%);background-color:transparent;text-align:center;user-select:none;line-height:normal}.el-slider__button-wrapper::after{height:100%}.el-slider__button-wrapper.hover,.el-slider__button-wrapper:hover{cursor:-webkit-grab;cursor:grab}.el-slider__button-wrapper.dragging{cursor:-webkit-grabbing;cursor:grabbing}.el-slider__button{width:16px;height:16px;border:2px solid #FDA833;background-color:#FFF;border-radius:50%;-webkit-transition:.2s;transition:.2s;user-select:none}.el-image-viewer__btn,.el-step__icon-inner{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.el-slider__button.dragging,.el-slider__button.hover,.el-slider__button:hover{-webkit-transform:scale(1.2);transform:scale(1.2)}.el-slider__button.hover,.el-slider__button:hover{cursor:-webkit-grab;cursor:grab}.el-slider__button.dragging{cursor:-webkit-grabbing;cursor:grabbing}.el-slider__stop{height:6px;width:6px;border-radius:100%;background-color:#FFF;transform:translateX(-50%)}.el-slider__marks{top:0;left:12px;width:18px;height:100%}.el-slider__marks-text{position:absolute;-webkit-transform:translateX(-50%);transform:translateX(-50%);font-size:14px;color:#909399;margin-top:15px}.el-slider.is-vertical{position:relative}.el-slider.is-vertical .el-slider__runway{width:6px;height:100%;margin:0 16px}.el-slider.is-vertical .el-slider__bar{width:6px;height:auto;border-radius:0 0 3px 3px}.el-slider.is-vertical .el-slider__button-wrapper{top:auto;left:-15px;-webkit-transform:translateY(50%);transform:translateY(50%)}.el-slider.is-vertical .el-slider__stop{-webkit-transform:translateY(50%);transform:translateY(50%)}.el-slider.is-vertical.el-slider--with-input{padding-bottom:58px}.el-slider.is-vertical.el-slider--with-input .el-slider__input{overflow:visible;float:none;position:absolute;bottom:22px;width:36px;margin-top:15px}.el-slider.is-vertical.el-slider--with-input .el-slider__input .el-input__inner{text-align:center;padding-left:5px;padding-right:5px}.el-slider.is-vertical.el-slider--with-input .el-slider__input .el-input-number__decrease,.el-slider.is-vertical.el-slider--with-input .el-slider__input .el-input-number__increase{top:32px;margin-top:-1px;border:1px solid #DCDFE6;line-height:20px;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-transition:border-color .2s cubic-bezier(.645,.045,.355,1);transition:border-color .2s cubic-bezier(.645,.045,.355,1)}.el-slider.is-vertical.el-slider--with-input .el-slider__input .el-input-number__decrease{width:18px;right:18px;border-bottom-left-radius:4px}.el-slider.is-vertical.el-slider--with-input .el-slider__input .el-input-number__increase{width:19px;border-bottom-right-radius:4px}.el-slider.is-vertical.el-slider--with-input .el-slider__input .el-input-number__increase~.el-input .el-input__inner{border-bottom-left-radius:0;border-bottom-right-radius:0}.el-slider.is-vertical.el-slider--with-input .el-slider__input:hover .el-input-number__decrease,.el-slider.is-vertical.el-slider--with-input .el-slider__input:hover .el-input-number__increase{border-color:#C0C4CC}.el-slider.is-vertical.el-slider--with-input .el-slider__input:active .el-input-number__decrease,.el-slider.is-vertical.el-slider--with-input .el-slider__input:active .el-input-number__increase{border-color:#FDA833}.el-slider.is-vertical .el-slider__marks-text{margin-top:0;left:15px;-webkit-transform:translateY(50%);transform:translateY(50%)}.el-loading-parent--relative{position:relative!important}.el-loading-parent--hidden{overflow:hidden!important}.el-loading-mask{position:absolute;z-index:2000;background-color:rgba(255,255,255,.9);margin:0;top:0;right:0;bottom:0;left:0;-webkit-transition:opacity .3s;transition:opacity .3s}.el-loading-mask.is-fullscreen{position:fixed}.el-loading-mask.is-fullscreen .el-loading-spinner{margin-top:-25px}.el-loading-mask.is-fullscreen .el-loading-spinner .circular{height:50px;width:50px}.el-loading-spinner{top:50%;margin-top:-21px;width:100%;text-align:center;position:absolute}.el-col-pull-0,.el-col-pull-1,.el-col-pull-10,.el-col-pull-11,.el-col-pull-13,.el-col-pull-14,.el-col-pull-15,.el-col-pull-16,.el-col-pull-17,.el-col-pull-18,.el-col-pull-19,.el-col-pull-2,.el-col-pull-20,.el-col-pull-21,.el-col-pull-22,.el-col-pull-23,.el-col-pull-24,.el-col-pull-3,.el-col-pull-4,.el-col-pull-5,.el-col-pull-6,.el-col-pull-7,.el-col-pull-8,.el-col-pull-9,.el-col-push-0,.el-col-push-1,.el-col-push-10,.el-col-push-11,.el-col-push-12,.el-col-push-13,.el-col-push-14,.el-col-push-15,.el-col-push-16,.el-col-push-17,.el-col-push-18,.el-col-push-19,.el-col-push-2,.el-col-push-20,.el-col-push-21,.el-col-push-22,.el-col-push-23,.el-col-push-24,.el-col-push-3,.el-col-push-4,.el-col-push-5,.el-col-push-6,.el-col-push-7,.el-col-push-8,.el-col-push-9,.el-row{position:relative}.el-loading-spinner .el-loading-text{color:#FDA833;margin:3px 0;font-size:14px}.el-loading-spinner .circular{height:42px;width:42px;-webkit-animation:loading-rotate 2s linear infinite;animation:loading-rotate 2s linear infinite}.el-loading-spinner .path{-webkit-animation:loading-dash 1.5s ease-in-out infinite;animation:loading-dash 1.5s ease-in-out infinite;stroke-dasharray:90,150;stroke-dashoffset:0;stroke-width:2;stroke:#FDA833;stroke-linecap:round}.el-loading-spinner i{color:#FDA833}@-webkit-keyframes loading-rotate{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes loading-rotate{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes loading-dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-40px}100%{stroke-dasharray:90,150;stroke-dashoffset:-120px}}@keyframes loading-dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-40px}100%{stroke-dasharray:90,150;stroke-dashoffset:-120px}}.el-row{-webkit-box-sizing:border-box;box-sizing:border-box}.el-row::after,.el-row::before{display:table}.el-row::after{clear:both}.el-row--flex{display:-webkit-box;display:-ms-flexbox;display:flex}.el-col-0,.el-row--flex:after,.el-row--flex:before{display:none}.el-row--flex.is-justify-center{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.el-row--flex.is-justify-end{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.el-row--flex.is-justify-space-between{-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.el-row--flex.is-justify-space-around{-ms-flex-pack:distribute;justify-content:space-around}.el-row--flex.is-align-middle{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.el-row--flex.is-align-bottom{-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end}[class*=el-col-]{float:left;-webkit-box-sizing:border-box;box-sizing:border-box}.el-upload--picture-card,.el-upload-dragger{-webkit-box-sizing:border-box;cursor:pointer}.el-col-0{width:0%}.el-col-offset-0{margin-left:0}.el-col-pull-0{right:0}.el-col-push-0{left:0}.el-col-1{width:4.16667%}.el-col-offset-1{margin-left:4.16667%}.el-col-pull-1{right:4.16667%}.el-col-push-1{left:4.16667%}.el-col-2{width:8.33333%}.el-col-offset-2{margin-left:8.33333%}.el-col-pull-2{right:8.33333%}.el-col-push-2{left:8.33333%}.el-col-3{width:12.5%}.el-col-offset-3{margin-left:12.5%}.el-col-pull-3{right:12.5%}.el-col-push-3{left:12.5%}.el-col-4{width:16.66667%}.el-col-offset-4{margin-left:16.66667%}.el-col-pull-4{right:16.66667%}.el-col-push-4{left:16.66667%}.el-col-5{width:20.83333%}.el-col-offset-5{margin-left:20.83333%}.el-col-pull-5{right:20.83333%}.el-col-push-5{left:20.83333%}.el-col-6{width:25%}.el-col-offset-6{margin-left:25%}.el-col-pull-6{right:25%}.el-col-push-6{left:25%}.el-col-7{width:29.16667%}.el-col-offset-7{margin-left:29.16667%}.el-col-pull-7{right:29.16667%}.el-col-push-7{left:29.16667%}.el-col-8{width:33.33333%}.el-col-offset-8{margin-left:33.33333%}.el-col-pull-8{right:33.33333%}.el-col-push-8{left:33.33333%}.el-col-9{width:37.5%}.el-col-offset-9{margin-left:37.5%}.el-col-pull-9{right:37.5%}.el-col-push-9{left:37.5%}.el-col-10{width:41.66667%}.el-col-offset-10{margin-left:41.66667%}.el-col-pull-10{right:41.66667%}.el-col-push-10{left:41.66667%}.el-col-11{width:45.83333%}.el-col-offset-11{margin-left:45.83333%}.el-col-pull-11{right:45.83333%}.el-col-push-11{left:45.83333%}.el-col-12{width:50%}.el-col-offset-12{margin-left:50%}.el-col-pull-12{position:relative;right:50%}.el-col-push-12{left:50%}.el-col-13{width:54.16667%}.el-col-offset-13{margin-left:54.16667%}.el-col-pull-13{right:54.16667%}.el-col-push-13{left:54.16667%}.el-col-14{width:58.33333%}.el-col-offset-14{margin-left:58.33333%}.el-col-pull-14{right:58.33333%}.el-col-push-14{left:58.33333%}.el-col-15{width:62.5%}.el-col-offset-15{margin-left:62.5%}.el-col-pull-15{right:62.5%}.el-col-push-15{left:62.5%}.el-col-16{width:66.66667%}.el-col-offset-16{margin-left:66.66667%}.el-col-pull-16{right:66.66667%}.el-col-push-16{left:66.66667%}.el-col-17{width:70.83333%}.el-col-offset-17{margin-left:70.83333%}.el-col-pull-17{right:70.83333%}.el-col-push-17{left:70.83333%}.el-col-18{width:75%}.el-col-offset-18{margin-left:75%}.el-col-pull-18{right:75%}.el-col-push-18{left:75%}.el-col-19{width:79.16667%}.el-col-offset-19{margin-left:79.16667%}.el-col-pull-19{right:79.16667%}.el-col-push-19{left:79.16667%}.el-col-20{width:83.33333%}.el-col-offset-20{margin-left:83.33333%}.el-col-pull-20{right:83.33333%}.el-col-push-20{left:83.33333%}.el-col-21{width:87.5%}.el-col-offset-21{margin-left:87.5%}.el-col-pull-21{right:87.5%}.el-col-push-21{left:87.5%}.el-col-22{width:91.66667%}.el-col-offset-22{margin-left:91.66667%}.el-col-pull-22{right:91.66667%}.el-col-push-22{left:91.66667%}.el-col-23{width:95.83333%}.el-col-offset-23{margin-left:95.83333%}.el-col-pull-23{right:95.83333%}.el-col-push-23{left:95.83333%}.el-col-24{width:100%}.el-col-offset-24{margin-left:100%}.el-col-pull-24{right:100%}.el-col-push-24{left:100%}@media only screen and (max-width:767px){.el-col-xs-0{display:none;width:0%}.el-col-xs-offset-0{margin-left:0}.el-col-xs-pull-0{position:relative;right:0}.el-col-xs-push-0{position:relative;left:0}.el-col-xs-1{width:4.16667%}.el-col-xs-offset-1{margin-left:4.16667%}.el-col-xs-pull-1{position:relative;right:4.16667%}.el-col-xs-push-1{position:relative;left:4.16667%}.el-col-xs-2{width:8.33333%}.el-col-xs-offset-2{margin-left:8.33333%}.el-col-xs-pull-2{position:relative;right:8.33333%}.el-col-xs-push-2{position:relative;left:8.33333%}.el-col-xs-3{width:12.5%}.el-col-xs-offset-3{margin-left:12.5%}.el-col-xs-pull-3{position:relative;right:12.5%}.el-col-xs-push-3{position:relative;left:12.5%}.el-col-xs-4{width:16.66667%}.el-col-xs-offset-4{margin-left:16.66667%}.el-col-xs-pull-4{position:relative;right:16.66667%}.el-col-xs-push-4{position:relative;left:16.66667%}.el-col-xs-5{width:20.83333%}.el-col-xs-offset-5{margin-left:20.83333%}.el-col-xs-pull-5{position:relative;right:20.83333%}.el-col-xs-push-5{position:relative;left:20.83333%}.el-col-xs-6{width:25%}.el-col-xs-offset-6{margin-left:25%}.el-col-xs-pull-6{position:relative;right:25%}.el-col-xs-push-6{position:relative;left:25%}.el-col-xs-7{width:29.16667%}.el-col-xs-offset-7{margin-left:29.16667%}.el-col-xs-pull-7{position:relative;right:29.16667%}.el-col-xs-push-7{position:relative;left:29.16667%}.el-col-xs-8{width:33.33333%}.el-col-xs-offset-8{margin-left:33.33333%}.el-col-xs-pull-8{position:relative;right:33.33333%}.el-col-xs-push-8{position:relative;left:33.33333%}.el-col-xs-9{width:37.5%}.el-col-xs-offset-9{margin-left:37.5%}.el-col-xs-pull-9{position:relative;right:37.5%}.el-col-xs-push-9{position:relative;left:37.5%}.el-col-xs-10{width:41.66667%}.el-col-xs-offset-10{margin-left:41.66667%}.el-col-xs-pull-10{position:relative;right:41.66667%}.el-col-xs-push-10{position:relative;left:41.66667%}.el-col-xs-11{width:45.83333%}.el-col-xs-offset-11{margin-left:45.83333%}.el-col-xs-pull-11{position:relative;right:45.83333%}.el-col-xs-push-11{position:relative;left:45.83333%}.el-col-xs-12{width:50%}.el-col-xs-offset-12{margin-left:50%}.el-col-xs-pull-12{position:relative;right:50%}.el-col-xs-push-12{position:relative;left:50%}.el-col-xs-13{width:54.16667%}.el-col-xs-offset-13{margin-left:54.16667%}.el-col-xs-pull-13{position:relative;right:54.16667%}.el-col-xs-push-13{position:relative;left:54.16667%}.el-col-xs-14{width:58.33333%}.el-col-xs-offset-14{margin-left:58.33333%}.el-col-xs-pull-14{position:relative;right:58.33333%}.el-col-xs-push-14{position:relative;left:58.33333%}.el-col-xs-15{width:62.5%}.el-col-xs-offset-15{margin-left:62.5%}.el-col-xs-pull-15{position:relative;right:62.5%}.el-col-xs-push-15{position:relative;left:62.5%}.el-col-xs-16{width:66.66667%}.el-col-xs-offset-16{margin-left:66.66667%}.el-col-xs-pull-16{position:relative;right:66.66667%}.el-col-xs-push-16{position:relative;left:66.66667%}.el-col-xs-17{width:70.83333%}.el-col-xs-offset-17{margin-left:70.83333%}.el-col-xs-pull-17{position:relative;right:70.83333%}.el-col-xs-push-17{position:relative;left:70.83333%}.el-col-xs-18{width:75%}.el-col-xs-offset-18{margin-left:75%}.el-col-xs-pull-18{position:relative;right:75%}.el-col-xs-push-18{position:relative;left:75%}.el-col-xs-19{width:79.16667%}.el-col-xs-offset-19{margin-left:79.16667%}.el-col-xs-pull-19{position:relative;right:79.16667%}.el-col-xs-push-19{position:relative;left:79.16667%}.el-col-xs-20{width:83.33333%}.el-col-xs-offset-20{margin-left:83.33333%}.el-col-xs-pull-20{position:relative;right:83.33333%}.el-col-xs-push-20{position:relative;left:83.33333%}.el-col-xs-21{width:87.5%}.el-col-xs-offset-21{margin-left:87.5%}.el-col-xs-pull-21{position:relative;right:87.5%}.el-col-xs-push-21{position:relative;left:87.5%}.el-col-xs-22{width:91.66667%}.el-col-xs-offset-22{margin-left:91.66667%}.el-col-xs-pull-22{position:relative;right:91.66667%}.el-col-xs-push-22{position:relative;left:91.66667%}.el-col-xs-23{width:95.83333%}.el-col-xs-offset-23{margin-left:95.83333%}.el-col-xs-pull-23{position:relative;right:95.83333%}.el-col-xs-push-23{position:relative;left:95.83333%}.el-col-xs-24{width:100%}.el-col-xs-offset-24{margin-left:100%}.el-col-xs-pull-24{position:relative;right:100%}.el-col-xs-push-24{position:relative;left:100%}}@media only screen and (min-width:768px){.el-col-sm-0{display:none;width:0%}.el-col-sm-offset-0{margin-left:0}.el-col-sm-pull-0{position:relative;right:0}.el-col-sm-push-0{position:relative;left:0}.el-col-sm-1{width:4.16667%}.el-col-sm-offset-1{margin-left:4.16667%}.el-col-sm-pull-1{position:relative;right:4.16667%}.el-col-sm-push-1{position:relative;left:4.16667%}.el-col-sm-2{width:8.33333%}.el-col-sm-offset-2{margin-left:8.33333%}.el-col-sm-pull-2{position:relative;right:8.33333%}.el-col-sm-push-2{position:relative;left:8.33333%}.el-col-sm-3{width:12.5%}.el-col-sm-offset-3{margin-left:12.5%}.el-col-sm-pull-3{position:relative;right:12.5%}.el-col-sm-push-3{position:relative;left:12.5%}.el-col-sm-4{width:16.66667%}.el-col-sm-offset-4{margin-left:16.66667%}.el-col-sm-pull-4{position:relative;right:16.66667%}.el-col-sm-push-4{position:relative;left:16.66667%}.el-col-sm-5{width:20.83333%}.el-col-sm-offset-5{margin-left:20.83333%}.el-col-sm-pull-5{position:relative;right:20.83333%}.el-col-sm-push-5{position:relative;left:20.83333%}.el-col-sm-6{width:25%}.el-col-sm-offset-6{margin-left:25%}.el-col-sm-pull-6{position:relative;right:25%}.el-col-sm-push-6{position:relative;left:25%}.el-col-sm-7{width:29.16667%}.el-col-sm-offset-7{margin-left:29.16667%}.el-col-sm-pull-7{position:relative;right:29.16667%}.el-col-sm-push-7{position:relative;left:29.16667%}.el-col-sm-8{width:33.33333%}.el-col-sm-offset-8{margin-left:33.33333%}.el-col-sm-pull-8{position:relative;right:33.33333%}.el-col-sm-push-8{position:relative;left:33.33333%}.el-col-sm-9{width:37.5%}.el-col-sm-offset-9{margin-left:37.5%}.el-col-sm-pull-9{position:relative;right:37.5%}.el-col-sm-push-9{position:relative;left:37.5%}.el-col-sm-10{width:41.66667%}.el-col-sm-offset-10{margin-left:41.66667%}.el-col-sm-pull-10{position:relative;right:41.66667%}.el-col-sm-push-10{position:relative;left:41.66667%}.el-col-sm-11{width:45.83333%}.el-col-sm-offset-11{margin-left:45.83333%}.el-col-sm-pull-11{position:relative;right:45.83333%}.el-col-sm-push-11{position:relative;left:45.83333%}.el-col-sm-12{width:50%}.el-col-sm-offset-12{margin-left:50%}.el-col-sm-pull-12{position:relative;right:50%}.el-col-sm-push-12{position:relative;left:50%}.el-col-sm-13{width:54.16667%}.el-col-sm-offset-13{margin-left:54.16667%}.el-col-sm-pull-13{position:relative;right:54.16667%}.el-col-sm-push-13{position:relative;left:54.16667%}.el-col-sm-14{width:58.33333%}.el-col-sm-offset-14{margin-left:58.33333%}.el-col-sm-pull-14{position:relative;right:58.33333%}.el-col-sm-push-14{position:relative;left:58.33333%}.el-col-sm-15{width:62.5%}.el-col-sm-offset-15{margin-left:62.5%}.el-col-sm-pull-15{position:relative;right:62.5%}.el-col-sm-push-15{position:relative;left:62.5%}.el-col-sm-16{width:66.66667%}.el-col-sm-offset-16{margin-left:66.66667%}.el-col-sm-pull-16{position:relative;right:66.66667%}.el-col-sm-push-16{position:relative;left:66.66667%}.el-col-sm-17{width:70.83333%}.el-col-sm-offset-17{margin-left:70.83333%}.el-col-sm-pull-17{position:relative;right:70.83333%}.el-col-sm-push-17{position:relative;left:70.83333%}.el-col-sm-18{width:75%}.el-col-sm-offset-18{margin-left:75%}.el-col-sm-pull-18{position:relative;right:75%}.el-col-sm-push-18{position:relative;left:75%}.el-col-sm-19{width:79.16667%}.el-col-sm-offset-19{margin-left:79.16667%}.el-col-sm-pull-19{position:relative;right:79.16667%}.el-col-sm-push-19{position:relative;left:79.16667%}.el-col-sm-20{width:83.33333%}.el-col-sm-offset-20{margin-left:83.33333%}.el-col-sm-pull-20{position:relative;right:83.33333%}.el-col-sm-push-20{position:relative;left:83.33333%}.el-col-sm-21{width:87.5%}.el-col-sm-offset-21{margin-left:87.5%}.el-col-sm-pull-21{position:relative;right:87.5%}.el-col-sm-push-21{position:relative;left:87.5%}.el-col-sm-22{width:91.66667%}.el-col-sm-offset-22{margin-left:91.66667%}.el-col-sm-pull-22{position:relative;right:91.66667%}.el-col-sm-push-22{position:relative;left:91.66667%}.el-col-sm-23{width:95.83333%}.el-col-sm-offset-23{margin-left:95.83333%}.el-col-sm-pull-23{position:relative;right:95.83333%}.el-col-sm-push-23{position:relative;left:95.83333%}.el-col-sm-24{width:100%}.el-col-sm-offset-24{margin-left:100%}.el-col-sm-pull-24{position:relative;right:100%}.el-col-sm-push-24{position:relative;left:100%}}@media only screen and (min-width:992px){.el-col-md-0{display:none;width:0%}.el-col-md-offset-0{margin-left:0}.el-col-md-pull-0{position:relative;right:0}.el-col-md-push-0{position:relative;left:0}.el-col-md-1{width:4.16667%}.el-col-md-offset-1{margin-left:4.16667%}.el-col-md-pull-1{position:relative;right:4.16667%}.el-col-md-push-1{position:relative;left:4.16667%}.el-col-md-2{width:8.33333%}.el-col-md-offset-2{margin-left:8.33333%}.el-col-md-pull-2{position:relative;right:8.33333%}.el-col-md-push-2{position:relative;left:8.33333%}.el-col-md-3{width:12.5%}.el-col-md-offset-3{margin-left:12.5%}.el-col-md-pull-3{position:relative;right:12.5%}.el-col-md-push-3{position:relative;left:12.5%}.el-col-md-4{width:16.66667%}.el-col-md-offset-4{margin-left:16.66667%}.el-col-md-pull-4{position:relative;right:16.66667%}.el-col-md-push-4{position:relative;left:16.66667%}.el-col-md-5{width:20.83333%}.el-col-md-offset-5{margin-left:20.83333%}.el-col-md-pull-5{position:relative;right:20.83333%}.el-col-md-push-5{position:relative;left:20.83333%}.el-col-md-6{width:25%}.el-col-md-offset-6{margin-left:25%}.el-col-md-pull-6{position:relative;right:25%}.el-col-md-push-6{position:relative;left:25%}.el-col-md-7{width:29.16667%}.el-col-md-offset-7{margin-left:29.16667%}.el-col-md-pull-7{position:relative;right:29.16667%}.el-col-md-push-7{position:relative;left:29.16667%}.el-col-md-8{width:33.33333%}.el-col-md-offset-8{margin-left:33.33333%}.el-col-md-pull-8{position:relative;right:33.33333%}.el-col-md-push-8{position:relative;left:33.33333%}.el-col-md-9{width:37.5%}.el-col-md-offset-9{margin-left:37.5%}.el-col-md-pull-9{position:relative;right:37.5%}.el-col-md-push-9{position:relative;left:37.5%}.el-col-md-10{width:41.66667%}.el-col-md-offset-10{margin-left:41.66667%}.el-col-md-pull-10{position:relative;right:41.66667%}.el-col-md-push-10{position:relative;left:41.66667%}.el-col-md-11{width:45.83333%}.el-col-md-offset-11{margin-left:45.83333%}.el-col-md-pull-11{position:relative;right:45.83333%}.el-col-md-push-11{position:relative;left:45.83333%}.el-col-md-12{width:50%}.el-col-md-offset-12{margin-left:50%}.el-col-md-pull-12{position:relative;right:50%}.el-col-md-push-12{position:relative;left:50%}.el-col-md-13{width:54.16667%}.el-col-md-offset-13{margin-left:54.16667%}.el-col-md-pull-13{position:relative;right:54.16667%}.el-col-md-push-13{position:relative;left:54.16667%}.el-col-md-14{width:58.33333%}.el-col-md-offset-14{margin-left:58.33333%}.el-col-md-pull-14{position:relative;right:58.33333%}.el-col-md-push-14{position:relative;left:58.33333%}.el-col-md-15{width:62.5%}.el-col-md-offset-15{margin-left:62.5%}.el-col-md-pull-15{position:relative;right:62.5%}.el-col-md-push-15{position:relative;left:62.5%}.el-col-md-16{width:66.66667%}.el-col-md-offset-16{margin-left:66.66667%}.el-col-md-pull-16{position:relative;right:66.66667%}.el-col-md-push-16{position:relative;left:66.66667%}.el-col-md-17{width:70.83333%}.el-col-md-offset-17{margin-left:70.83333%}.el-col-md-pull-17{position:relative;right:70.83333%}.el-col-md-push-17{position:relative;left:70.83333%}.el-col-md-18{width:75%}.el-col-md-offset-18{margin-left:75%}.el-col-md-pull-18{position:relative;right:75%}.el-col-md-push-18{position:relative;left:75%}.el-col-md-19{width:79.16667%}.el-col-md-offset-19{margin-left:79.16667%}.el-col-md-pull-19{position:relative;right:79.16667%}.el-col-md-push-19{position:relative;left:79.16667%}.el-col-md-20{width:83.33333%}.el-col-md-offset-20{margin-left:83.33333%}.el-col-md-pull-20{position:relative;right:83.33333%}.el-col-md-push-20{position:relative;left:83.33333%}.el-col-md-21{width:87.5%}.el-col-md-offset-21{margin-left:87.5%}.el-col-md-pull-21{position:relative;right:87.5%}.el-col-md-push-21{position:relative;left:87.5%}.el-col-md-22{width:91.66667%}.el-col-md-offset-22{margin-left:91.66667%}.el-col-md-pull-22{position:relative;right:91.66667%}.el-col-md-push-22{position:relative;left:91.66667%}.el-col-md-23{width:95.83333%}.el-col-md-offset-23{margin-left:95.83333%}.el-col-md-pull-23{position:relative;right:95.83333%}.el-col-md-push-23{position:relative;left:95.83333%}.el-col-md-24{width:100%}.el-col-md-offset-24{margin-left:100%}.el-col-md-pull-24{position:relative;right:100%}.el-col-md-push-24{position:relative;left:100%}}@media only screen and (min-width:1200px){.el-col-lg-0{display:none;width:0%}.el-col-lg-offset-0{margin-left:0}.el-col-lg-pull-0{position:relative;right:0}.el-col-lg-push-0{position:relative;left:0}.el-col-lg-1{width:4.16667%}.el-col-lg-offset-1{margin-left:4.16667%}.el-col-lg-pull-1{position:relative;right:4.16667%}.el-col-lg-push-1{position:relative;left:4.16667%}.el-col-lg-2{width:8.33333%}.el-col-lg-offset-2{margin-left:8.33333%}.el-col-lg-pull-2{position:relative;right:8.33333%}.el-col-lg-push-2{position:relative;left:8.33333%}.el-col-lg-3{width:12.5%}.el-col-lg-offset-3{margin-left:12.5%}.el-col-lg-pull-3{position:relative;right:12.5%}.el-col-lg-push-3{position:relative;left:12.5%}.el-col-lg-4{width:16.66667%}.el-col-lg-offset-4{margin-left:16.66667%}.el-col-lg-pull-4{position:relative;right:16.66667%}.el-col-lg-push-4{position:relative;left:16.66667%}.el-col-lg-5{width:20.83333%}.el-col-lg-offset-5{margin-left:20.83333%}.el-col-lg-pull-5{position:relative;right:20.83333%}.el-col-lg-push-5{position:relative;left:20.83333%}.el-col-lg-6{width:25%}.el-col-lg-offset-6{margin-left:25%}.el-col-lg-pull-6{position:relative;right:25%}.el-col-lg-push-6{position:relative;left:25%}.el-col-lg-7{width:29.16667%}.el-col-lg-offset-7{margin-left:29.16667%}.el-col-lg-pull-7{position:relative;right:29.16667%}.el-col-lg-push-7{position:relative;left:29.16667%}.el-col-lg-8{width:33.33333%}.el-col-lg-offset-8{margin-left:33.33333%}.el-col-lg-pull-8{position:relative;right:33.33333%}.el-col-lg-push-8{position:relative;left:33.33333%}.el-col-lg-9{width:37.5%}.el-col-lg-offset-9{margin-left:37.5%}.el-col-lg-pull-9{position:relative;right:37.5%}.el-col-lg-push-9{position:relative;left:37.5%}.el-col-lg-10{width:41.66667%}.el-col-lg-offset-10{margin-left:41.66667%}.el-col-lg-pull-10{position:relative;right:41.66667%}.el-col-lg-push-10{position:relative;left:41.66667%}.el-col-lg-11{width:45.83333%}.el-col-lg-offset-11{margin-left:45.83333%}.el-col-lg-pull-11{position:relative;right:45.83333%}.el-col-lg-push-11{position:relative;left:45.83333%}.el-col-lg-12{width:50%}.el-col-lg-offset-12{margin-left:50%}.el-col-lg-pull-12{position:relative;right:50%}.el-col-lg-push-12{position:relative;left:50%}.el-col-lg-13{width:54.16667%}.el-col-lg-offset-13{margin-left:54.16667%}.el-col-lg-pull-13{position:relative;right:54.16667%}.el-col-lg-push-13{position:relative;left:54.16667%}.el-col-lg-14{width:58.33333%}.el-col-lg-offset-14{margin-left:58.33333%}.el-col-lg-pull-14{position:relative;right:58.33333%}.el-col-lg-push-14{position:relative;left:58.33333%}.el-col-lg-15{width:62.5%}.el-col-lg-offset-15{margin-left:62.5%}.el-col-lg-pull-15{position:relative;right:62.5%}.el-col-lg-push-15{position:relative;left:62.5%}.el-col-lg-16{width:66.66667%}.el-col-lg-offset-16{margin-left:66.66667%}.el-col-lg-pull-16{position:relative;right:66.66667%}.el-col-lg-push-16{position:relative;left:66.66667%}.el-col-lg-17{width:70.83333%}.el-col-lg-offset-17{margin-left:70.83333%}.el-col-lg-pull-17{position:relative;right:70.83333%}.el-col-lg-push-17{position:relative;left:70.83333%}.el-col-lg-18{width:75%}.el-col-lg-offset-18{margin-left:75%}.el-col-lg-pull-18{position:relative;right:75%}.el-col-lg-push-18{position:relative;left:75%}.el-col-lg-19{width:79.16667%}.el-col-lg-offset-19{margin-left:79.16667%}.el-col-lg-pull-19{position:relative;right:79.16667%}.el-col-lg-push-19{position:relative;left:79.16667%}.el-col-lg-20{width:83.33333%}.el-col-lg-offset-20{margin-left:83.33333%}.el-col-lg-pull-20{position:relative;right:83.33333%}.el-col-lg-push-20{position:relative;left:83.33333%}.el-col-lg-21{width:87.5%}.el-col-lg-offset-21{margin-left:87.5%}.el-col-lg-pull-21{position:relative;right:87.5%}.el-col-lg-push-21{position:relative;left:87.5%}.el-col-lg-22{width:91.66667%}.el-col-lg-offset-22{margin-left:91.66667%}.el-col-lg-pull-22{position:relative;right:91.66667%}.el-col-lg-push-22{position:relative;left:91.66667%}.el-col-lg-23{width:95.83333%}.el-col-lg-offset-23{margin-left:95.83333%}.el-col-lg-pull-23{position:relative;right:95.83333%}.el-col-lg-push-23{position:relative;left:95.83333%}.el-col-lg-24{width:100%}.el-col-lg-offset-24{margin-left:100%}.el-col-lg-pull-24{position:relative;right:100%}.el-col-lg-push-24{position:relative;left:100%}}@media only screen and (min-width:1920px){.el-col-xl-0{display:none;width:0%}.el-col-xl-offset-0{margin-left:0}.el-col-xl-pull-0{position:relative;right:0}.el-col-xl-push-0{position:relative;left:0}.el-col-xl-1{width:4.16667%}.el-col-xl-offset-1{margin-left:4.16667%}.el-col-xl-pull-1{position:relative;right:4.16667%}.el-col-xl-push-1{position:relative;left:4.16667%}.el-col-xl-2{width:8.33333%}.el-col-xl-offset-2{margin-left:8.33333%}.el-col-xl-pull-2{position:relative;right:8.33333%}.el-col-xl-push-2{position:relative;left:8.33333%}.el-col-xl-3{width:12.5%}.el-col-xl-offset-3{margin-left:12.5%}.el-col-xl-pull-3{position:relative;right:12.5%}.el-col-xl-push-3{position:relative;left:12.5%}.el-col-xl-4{width:16.66667%}.el-col-xl-offset-4{margin-left:16.66667%}.el-col-xl-pull-4{position:relative;right:16.66667%}.el-col-xl-push-4{position:relative;left:16.66667%}.el-col-xl-5{width:20.83333%}.el-col-xl-offset-5{margin-left:20.83333%}.el-col-xl-pull-5{position:relative;right:20.83333%}.el-col-xl-push-5{position:relative;left:20.83333%}.el-col-xl-6{width:25%}.el-col-xl-offset-6{margin-left:25%}.el-col-xl-pull-6{position:relative;right:25%}.el-col-xl-push-6{position:relative;left:25%}.el-col-xl-7{width:29.16667%}.el-col-xl-offset-7{margin-left:29.16667%}.el-col-xl-pull-7{position:relative;right:29.16667%}.el-col-xl-push-7{position:relative;left:29.16667%}.el-col-xl-8{width:33.33333%}.el-col-xl-offset-8{margin-left:33.33333%}.el-col-xl-pull-8{position:relative;right:33.33333%}.el-col-xl-push-8{position:relative;left:33.33333%}.el-col-xl-9{width:37.5%}.el-col-xl-offset-9{margin-left:37.5%}.el-col-xl-pull-9{position:relative;right:37.5%}.el-col-xl-push-9{position:relative;left:37.5%}.el-col-xl-10{width:41.66667%}.el-col-xl-offset-10{margin-left:41.66667%}.el-col-xl-pull-10{position:relative;right:41.66667%}.el-col-xl-push-10{position:relative;left:41.66667%}.el-col-xl-11{width:45.83333%}.el-col-xl-offset-11{margin-left:45.83333%}.el-col-xl-pull-11{position:relative;right:45.83333%}.el-col-xl-push-11{position:relative;left:45.83333%}.el-col-xl-12{width:50%}.el-col-xl-offset-12{margin-left:50%}.el-col-xl-pull-12{position:relative;right:50%}.el-col-xl-push-12{position:relative;left:50%}.el-col-xl-13{width:54.16667%}.el-col-xl-offset-13{margin-left:54.16667%}.el-col-xl-pull-13{position:relative;right:54.16667%}.el-col-xl-push-13{position:relative;left:54.16667%}.el-col-xl-14{width:58.33333%}.el-col-xl-offset-14{margin-left:58.33333%}.el-col-xl-pull-14{position:relative;right:58.33333%}.el-col-xl-push-14{position:relative;left:58.33333%}.el-col-xl-15{width:62.5%}.el-col-xl-offset-15{margin-left:62.5%}.el-col-xl-pull-15{position:relative;right:62.5%}.el-col-xl-push-15{position:relative;left:62.5%}.el-col-xl-16{width:66.66667%}.el-col-xl-offset-16{margin-left:66.66667%}.el-col-xl-pull-16{position:relative;right:66.66667%}.el-col-xl-push-16{position:relative;left:66.66667%}.el-col-xl-17{width:70.83333%}.el-col-xl-offset-17{margin-left:70.83333%}.el-col-xl-pull-17{position:relative;right:70.83333%}.el-col-xl-push-17{position:relative;left:70.83333%}.el-col-xl-18{width:75%}.el-col-xl-offset-18{margin-left:75%}.el-col-xl-pull-18{position:relative;right:75%}.el-col-xl-push-18{position:relative;left:75%}.el-col-xl-19{width:79.16667%}.el-col-xl-offset-19{margin-left:79.16667%}.el-col-xl-pull-19{position:relative;right:79.16667%}.el-col-xl-push-19{position:relative;left:79.16667%}.el-col-xl-20{width:83.33333%}.el-col-xl-offset-20{margin-left:83.33333%}.el-col-xl-pull-20{position:relative;right:83.33333%}.el-col-xl-push-20{position:relative;left:83.33333%}.el-col-xl-21{width:87.5%}.el-col-xl-offset-21{margin-left:87.5%}.el-col-xl-pull-21{position:relative;right:87.5%}.el-col-xl-push-21{position:relative;left:87.5%}.el-col-xl-22{width:91.66667%}.el-col-xl-offset-22{margin-left:91.66667%}.el-col-xl-pull-22{position:relative;right:91.66667%}.el-col-xl-push-22{position:relative;left:91.66667%}.el-col-xl-23{width:95.83333%}.el-col-xl-offset-23{margin-left:95.83333%}.el-col-xl-pull-23{position:relative;right:95.83333%}.el-col-xl-push-23{position:relative;left:95.83333%}.el-col-xl-24{width:100%}.el-col-xl-offset-24{margin-left:100%}.el-col-xl-pull-24{position:relative;right:100%}.el-col-xl-push-24{position:relative;left:100%}}@-webkit-keyframes progress{0%{background-position:0 0}100%{background-position:32px 0}}.el-upload{display:inline-block;text-align:center;cursor:pointer;outline:0}.el-upload__input{display:none}.el-upload__tip{font-size:12px;color:#606266;margin-top:7px}.el-upload iframe{position:absolute;z-index:-1;top:0;left:0;opacity:0;filter:alpha(opacity=0)}.el-upload--picture-card{background-color:#fbfdff;border:1px dashed #c0ccda;border-radius:6px;box-sizing:border-box;width:148px;height:148px;line-height:146px;vertical-align:top}.el-upload--picture-card i{font-size:28px;color:#8c939d}.el-upload--picture-card:hover,.el-upload:focus{border-color:#FDA833;color:#FDA833}.el-upload:focus .el-upload-dragger{border-color:#FDA833}.el-upload-dragger{background-color:#fff;border:1px dashed #d9d9d9;border-radius:6px;box-sizing:border-box;width:360px;height:180px;text-align:center;position:relative;overflow:hidden}.el-upload-dragger .el-icon-upload{font-size:67px;color:#C0C4CC;margin:40px 0 16px;line-height:50px}.el-upload-dragger+.el-upload__tip{text-align:center}.el-upload-dragger~.el-upload__files{border-top:1px solid #DCDFE6;margin-top:7px;padding-top:5px}.el-upload-dragger .el-upload__text{color:#606266;font-size:14px;text-align:center}.el-upload-dragger .el-upload__text em{color:#FDA833;font-style:normal}.el-upload-dragger:hover{border-color:#FDA833}.el-upload-dragger.is-dragover{background-color:rgba(32,159,255,.06);border:2px dashed #FDA833}.el-upload-list{margin:0;padding:0;list-style:none}.el-upload-list__item{-webkit-transition:all .5s cubic-bezier(.55,0,.1,1);transition:all .5s cubic-bezier(.55,0,.1,1);font-size:14px;color:#606266;line-height:1.8;margin-top:5px;position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;border-radius:4px;width:100%}.el-upload-list__item .el-progress{position:absolute;top:20px;width:100%}.el-upload-list__item .el-progress__text{position:absolute;right:0;top:-13px}.el-upload-list__item .el-progress-bar{margin-right:0;padding-right:0}.el-upload-list__item:first-child{margin-top:10px}.el-upload-list__item .el-icon-upload-success{color:#67C23A}.el-upload-list__item .el-icon-close{display:none;position:absolute;top:5px;right:5px;cursor:pointer;opacity:.75;color:#606266}.el-upload-list__item .el-icon-close:hover{opacity:1}.el-upload-list__item .el-icon-close-tip{display:none;position:absolute;top:5px;right:5px;font-size:12px;cursor:pointer;opacity:1;color:#FDA833}.el-upload-list__item:hover{background-color:#F5F7FA}.el-upload-list__item:hover .el-icon-close{display:inline-block}.el-upload-list__item:hover .el-progress__text{display:none}.el-upload-list__item.is-success .el-upload-list__item-status-label{display:block}.el-upload-list__item.is-success .el-upload-list__item-name:focus,.el-upload-list__item.is-success .el-upload-list__item-name:hover{color:#FDA833;cursor:pointer}.el-upload-list__item.is-success:focus:not(:hover) .el-icon-close-tip{display:inline-block}.el-upload-list__item.is-success:active .el-icon-close-tip,.el-upload-list__item.is-success:focus .el-upload-list__item-status-label,.el-upload-list__item.is-success:hover .el-upload-list__item-status-label,.el-upload-list__item.is-success:not(.focusing):focus .el-icon-close-tip{display:none}.el-upload-list.is-disabled .el-upload-list__item:hover .el-upload-list__item-status-label{display:block}.el-upload-list__item-name{color:#606266;display:block;margin-right:40px;overflow:hidden;padding-left:4px;text-overflow:ellipsis;-webkit-transition:color .3s;transition:color .3s;white-space:nowrap}.el-upload-list__item-name [class^=el-icon]{height:100%;margin-right:7px;color:#909399;line-height:inherit}.el-upload-list__item-status-label{position:absolute;right:5px;top:0;line-height:inherit;display:none}.el-upload-list__item-delete{position:absolute;right:10px;top:0;font-size:12px;color:#606266;display:none}.el-upload-list__item-delete:hover{color:#FDA833}.el-upload-list--picture-card{margin:0;display:inline;vertical-align:top}.el-upload-list--picture-card .el-upload-list__item{overflow:hidden;background-color:#fff;border:1px solid #c0ccda;border-radius:6px;-webkit-box-sizing:border-box;box-sizing:border-box;width:148px;height:148px;margin:0 8px 8px 0;display:inline-block}.el-upload-list--picture-card .el-upload-list__item .el-icon-check,.el-upload-list--picture-card .el-upload-list__item .el-icon-circle-check{color:#FFF}.el-upload-list--picture-card .el-upload-list__item .el-icon-close,.el-upload-list--picture-card .el-upload-list__item:hover .el-upload-list__item-status-label{display:none}.el-upload-list--picture-card .el-upload-list__item:hover .el-progress__text{display:block}.el-upload-list--picture-card .el-upload-list__item-name{display:none}.el-upload-list--picture-card .el-upload-list__item-thumbnail{width:100%;height:100%}.el-upload-list--picture-card .el-upload-list__item-status-label{position:absolute;right:-15px;top:-6px;width:40px;height:24px;background:#13ce66;text-align:center;-webkit-transform:rotate(45deg);transform:rotate(45deg);-webkit-box-shadow:0 0 1pc 1px rgba(0,0,0,.2);box-shadow:0 0 1pc 1px rgba(0,0,0,.2)}.el-upload-list--picture-card .el-upload-list__item-status-label i{font-size:12px;margin-top:11px;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}.el-upload-list--picture-card .el-upload-list__item-actions{position:absolute;width:100%;height:100%;left:0;top:0;cursor:default;text-align:center;color:#fff;opacity:0;font-size:20px;background-color:rgba(0,0,0,.5);-webkit-transition:opacity .3s;transition:opacity .3s}.el-upload-list--picture-card .el-upload-list__item-actions::after{display:inline-block;content:"";height:100%;vertical-align:middle}.el-upload-list--picture-card .el-upload-list__item-actions span{display:none;cursor:pointer}.el-upload-list--picture-card .el-upload-list__item-actions span+span{margin-left:15px}.el-upload-list--picture-card .el-upload-list__item-actions .el-upload-list__item-delete{position:static;font-size:inherit;color:inherit}.el-upload-list--picture-card .el-upload-list__item-actions:hover{opacity:1}.el-upload-list--picture-card .el-upload-list__item-actions:hover span{display:inline-block}.el-upload-list--picture-card .el-progress{top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);bottom:auto;width:126px}.el-upload-list--picture-card .el-progress .el-progress__text{top:50%}.el-upload-list--picture .el-upload-list__item{overflow:hidden;z-index:0;background-color:#fff;border:1px solid #c0ccda;border-radius:6px;-webkit-box-sizing:border-box;box-sizing:border-box;margin-top:10px;padding:10px 10px 10px 90px;height:92px}.el-upload-list--picture .el-upload-list__item .el-icon-check,.el-upload-list--picture .el-upload-list__item .el-icon-circle-check{color:#FFF}.el-upload-list--picture .el-upload-list__item:hover .el-upload-list__item-status-label{background:0 0;-webkit-box-shadow:none;box-shadow:none;top:-2px;right:-12px}.el-upload-list--picture .el-upload-list__item:hover .el-progress__text{display:block}.el-upload-list--picture .el-upload-list__item.is-success .el-upload-list__item-name{line-height:70px;margin-top:0}.el-upload-list--picture .el-upload-list__item.is-success .el-upload-list__item-name i{display:none}.el-upload-list--picture .el-upload-list__item-thumbnail{vertical-align:middle;display:inline-block;width:70px;height:70px;float:left;position:relative;z-index:1;margin-left:-80px;background-color:#FFF}.el-upload-list--picture .el-upload-list__item-name{display:block;margin-top:20px}.el-upload-list--picture .el-upload-list__item-name i{font-size:70px;line-height:1;position:absolute;left:9px;top:10px}.el-upload-list--picture .el-upload-list__item-status-label{position:absolute;right:-17px;top:-7px;width:46px;height:26px;background:#13ce66;text-align:center;-webkit-transform:rotate(45deg);transform:rotate(45deg);-webkit-box-shadow:0 1px 1px #ccc;box-shadow:0 1px 1px #ccc}.el-upload-list--picture .el-upload-list__item-status-label i{font-size:12px;margin-top:12px;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}.el-upload-list--picture .el-progress{position:relative;top:-7px}.el-upload-cover{position:absolute;left:0;top:0;width:100%;height:100%;overflow:hidden;z-index:10;cursor:default}.el-upload-cover::after{display:inline-block;height:100%;vertical-align:middle}.el-upload-cover img{display:block;width:100%;height:100%}.el-upload-cover__label{position:absolute;right:-15px;top:-6px;width:40px;height:24px;background:#13ce66;text-align:center;-webkit-transform:rotate(45deg);transform:rotate(45deg);-webkit-box-shadow:0 0 1pc 1px rgba(0,0,0,.2);box-shadow:0 0 1pc 1px rgba(0,0,0,.2)}.el-upload-cover__label i{font-size:12px;margin-top:11px;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);color:#fff}.el-upload-cover__progress{display:inline-block;vertical-align:middle;position:static;width:243px}.el-upload-cover__progress+.el-upload__inner{opacity:0}.el-upload-cover__content{position:absolute;top:0;left:0;width:100%;height:100%}.el-upload-cover__interact{position:absolute;bottom:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,.72);text-align:center}.el-upload-cover__interact .btn{display:inline-block;color:#FFF;font-size:14px;cursor:pointer;vertical-align:middle;-webkit-transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);margin-top:60px}.el-upload-cover__interact .btn span{opacity:0;-webkit-transition:opacity .15s linear;transition:opacity .15s linear}.el-upload-cover__interact .btn:not(:first-child){margin-left:35px}.el-upload-cover__interact .btn:hover{-webkit-transform:translateY(-13px);transform:translateY(-13px)}.el-upload-cover__interact .btn:hover span{opacity:1}.el-upload-cover__interact .btn i{color:#FFF;display:block;font-size:24px;line-height:inherit;margin:0 auto 5px}.el-upload-cover__title{position:absolute;bottom:0;left:0;background-color:#FFF;height:36px;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:400;text-align:left;padding:0 10px;margin:0;line-height:36px;font-size:14px;color:#303133}.el-upload-cover+.el-upload__inner{opacity:0;position:relative;z-index:1}.el-progress{position:relative;line-height:1}.el-progress__text{font-size:14px;color:#606266;display:inline-block;vertical-align:middle;margin-left:10px;line-height:1}.el-progress__text i{vertical-align:middle;display:block}.el-progress--circle,.el-progress--dashboard{display:inline-block}.el-progress--circle .el-progress__text,.el-progress--dashboard .el-progress__text{position:absolute;top:50%;left:0;width:100%;text-align:center;margin:0;-webkit-transform:translate(0,-50%);transform:translate(0,-50%)}.el-progress--circle .el-progress__text i,.el-progress--dashboard .el-progress__text i{vertical-align:middle;display:inline-block}.el-progress--without-text .el-progress__text{display:none}.el-progress--without-text .el-progress-bar{padding-right:0;margin-right:0;display:block}.el-progress-bar,.el-progress-bar__inner::after,.el-progress-bar__innerText,.el-spinner{display:inline-block;vertical-align:middle}.el-progress--text-inside .el-progress-bar{padding-right:0;margin-right:0}.el-progress.is-success .el-progress-bar__inner{background-color:#67C23A}.el-progress.is-success .el-progress__text{color:#67C23A}.el-progress.is-warning .el-progress-bar__inner{background-color:#E6A23C}.el-progress.is-warning .el-progress__text{color:#E6A23C}.el-progress.is-exception .el-progress-bar__inner{background-color:#F56C6C}.el-progress.is-exception .el-progress__text{color:#F56C6C}.el-progress-bar{padding-right:50px;width:100%;margin-right:-55px;-webkit-box-sizing:border-box;box-sizing:border-box}.el-progress-bar__outer{height:6px;border-radius:100px;background-color:#EBEEF5;overflow:hidden;position:relative;vertical-align:middle}.el-progress-bar__inner{position:absolute;left:0;top:0;height:100%;background-color:#FDA833;text-align:right;border-radius:100px;line-height:1;white-space:nowrap;-webkit-transition:width .6s ease;transition:width .6s ease}.el-card,.el-message{border-radius:4px;overflow:hidden}.el-progress-bar__inner::after{height:100%}.el-progress-bar__innerText{color:#FFF;font-size:12px;margin:0 5px}@keyframes progress{0%{background-position:0 0}100%{background-position:32px 0}}.el-time-spinner{width:100%;white-space:nowrap}.el-spinner-inner{-webkit-animation:rotate 2s linear infinite;animation:rotate 2s linear infinite;width:50px;height:50px}.el-spinner-inner .path{stroke:#ececec;stroke-linecap:round;-webkit-animation:dash 1.5s ease-in-out infinite;animation:dash 1.5s ease-in-out infinite}@-webkit-keyframes rotate{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes rotate{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes dash{0%{stroke-dasharray:1,150;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-35}100%{stroke-dasharray:90,150;stroke-dashoffset:-124}}@keyframes dash{0%{stroke-dasharray:1,150;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-35}100%{stroke-dasharray:90,150;stroke-dashoffset:-124}}.el-message{min-width:380px;-webkit-box-sizing:border-box;box-sizing:border-box;border-width:1px;border-style:solid;border-color:#EBEEF5;position:fixed;left:50%;top:20px;-webkit-transform:translateX(-50%);transform:translateX(-50%);background-color:#edf2fc;-webkit-transition:opacity .3s,top .4s,-webkit-transform .4s;transition:opacity .3s,top .4s,-webkit-transform .4s;transition:opacity .3s,transform .4s,top .4s;transition:opacity .3s,transform .4s,top .4s,-webkit-transform .4s;padding:15px 15px 15px 20px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.el-message.is-center{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.el-message.is-closable .el-message__content{padding-right:16px}.el-message p{margin:0}.el-message--info .el-message__content{color:#909399}.el-message--success{background-color:#f0f9eb;border-color:#e1f3d8}.el-message--success .el-message__content{color:#67C23A}.el-message--warning{background-color:#fdf6ec;border-color:#faecd8}.el-message--warning .el-message__content{color:#E6A23C}.el-message--error{background-color:#fef0f0;border-color:#fde2e2}.el-message--error .el-message__content{color:#F56C6C}.el-message__icon{margin-right:10px}.el-message__content{padding:0;font-size:14px;line-height:1}.el-message__closeBtn{position:absolute;top:50%;right:15px;-webkit-transform:translateY(-50%);transform:translateY(-50%);cursor:pointer;color:#C0C4CC;font-size:16px}.el-message__closeBtn:hover{color:#909399}.el-message .el-icon-success{color:#67C23A}.el-message .el-icon-error{color:#F56C6C}.el-message .el-icon-info{color:#909399}.el-message .el-icon-warning{color:#E6A23C}.el-message-fade-enter,.el-message-fade-leave-active{opacity:0;-webkit-transform:translate(-50%,-100%);transform:translate(-50%,-100%)}.el-badge{position:relative;vertical-align:middle;display:inline-block}.el-badge__content{background-color:#F56C6C;border-radius:10px;color:#FFF;display:inline-block;font-size:12px;height:18px;line-height:18px;padding:0 6px;text-align:center;white-space:nowrap;border:1px solid #FFF}.el-badge__content.is-fixed{position:absolute;top:0;right:10px;-webkit-transform:translateY(-50%) translateX(100%);transform:translateY(-50%) translateX(100%)}.el-rate__icon,.el-rate__item{position:relative;display:inline-block}.el-badge__content.is-fixed.is-dot{right:5px}.el-badge__content.is-dot{height:8px;width:8px;padding:0;right:0;border-radius:50%}.el-badge__content--primary{background-color:#FDA833}.el-badge__content--success{background-color:#67C23A}.el-badge__content--warning{background-color:#E6A23C}.el-badge__content--info{background-color:#909399}.el-badge__content--danger{background-color:#F56C6C}.el-card{border:1px solid #EBEEF5;background-color:#FFF;color:#303133;-webkit-transition:.3s;transition:.3s}.el-card.is-always-shadow,.el-card.is-hover-shadow:focus,.el-card.is-hover-shadow:hover{-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1)}.el-card__header{padding:18px 20px;border-bottom:1px solid #EBEEF5;-webkit-box-sizing:border-box;box-sizing:border-box}.el-card__body{padding:20px}.el-rate{height:20px;line-height:1}.el-rate__item{font-size:0;vertical-align:middle}.el-rate__icon{font-size:18px;margin-right:6px;color:#C0C4CC;-webkit-transition:.3s;transition:.3s}.el-rate__decimal,.el-rate__icon .path2{position:absolute;top:0;left:0}.el-rate__icon.hover{-webkit-transform:scale(1.15);transform:scale(1.15)}.el-rate__decimal{display:inline-block;overflow:hidden}.el-step.is-vertical,.el-steps{display:-webkit-box;display:-ms-flexbox}.el-rate__text{font-size:14px;vertical-align:middle}.el-steps{display:flex}.el-steps--simple{padding:13px 8%;border-radius:4px;background:#F5F7FA}.el-steps--horizontal{white-space:nowrap}.el-steps--vertical{height:100%;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-flow:column;flex-flow:column}.el-step{position:relative;-ms-flex-negative:1;flex-shrink:1}.el-step:last-of-type .el-step__line{display:none}.el-step:last-of-type.is-flex{-ms-flex-preferred-size:auto!important;flex-basis:auto!important;-ms-flex-negative:0;flex-shrink:0;-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0}.el-step:last-of-type .el-step__description,.el-step:last-of-type .el-step__main{padding-right:0}.el-step__head{position:relative;width:100%}.el-step__head.is-process{color:#303133;border-color:#303133}.el-step__head.is-wait{color:#C0C4CC;border-color:#C0C4CC}.el-step__head.is-success{color:#67C23A;border-color:#67C23A}.el-step__head.is-error{color:#F56C6C;border-color:#F56C6C}.el-step__head.is-finish{color:#FDA833;border-color:#FDA833}.el-step__icon{position:relative;z-index:1;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:24px;height:24px;font-size:14px;-webkit-box-sizing:border-box;box-sizing:border-box;background:#FFF;-webkit-transition:.15s ease-out;transition:.15s ease-out}.el-step__icon.is-text{border-radius:50%;border:2px solid;border-color:inherit}.el-step__icon.is-icon{width:40px}.el-step__icon-inner{display:inline-block;user-select:none;text-align:center;font-weight:700;line-height:1;color:inherit}.el-step__icon-inner[class*=el-icon]:not(.is-status){font-size:25px;font-weight:400}.el-step__icon-inner.is-status{-webkit-transform:translateY(1px);transform:translateY(1px)}.el-step__line{position:absolute;border-color:inherit;background-color:#C0C4CC}.el-step__line-inner{display:block;border-width:1px;border-style:solid;border-color:inherit;-webkit-transition:.15s ease-out;transition:.15s ease-out;-webkit-box-sizing:border-box;box-sizing:border-box;width:0;height:0}.el-step__main{white-space:normal;text-align:left}.el-step__title{font-size:16px;line-height:38px}.el-step__title.is-process{font-weight:700;color:#303133}.el-step__title.is-wait{color:#C0C4CC}.el-step__title.is-success{color:#67C23A}.el-step__title.is-error{color:#F56C6C}.el-step__title.is-finish{color:#FDA833}.el-step__description{padding-right:10%;margin-top:-5px;font-size:12px;line-height:20px;font-weight:400}.el-step__description.is-process{color:#303133}.el-step__description.is-wait{color:#C0C4CC}.el-step__description.is-success{color:#67C23A}.el-step__description.is-error{color:#F56C6C}.el-step__description.is-finish{color:#FDA833}.el-step.is-horizontal{display:inline-block}.el-step.is-horizontal .el-step__line{height:2px;top:11px;left:0;right:0}.el-step.is-vertical{display:flex}.el-step.is-vertical .el-step__head{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;width:24px}.el-step.is-vertical .el-step__main{padding-left:10px;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.el-step.is-vertical .el-step__title{line-height:24px;padding-bottom:8px}.el-step.is-vertical .el-step__line{width:2px;top:0;bottom:0;left:11px}.el-step.is-vertical .el-step__icon.is-icon{width:24px}.el-step.is-center .el-step__head,.el-step.is-center .el-step__main{text-align:center}.el-step.is-center .el-step__description{padding-left:20%;padding-right:20%}.el-step.is-center .el-step__line{left:50%;right:-50%}.el-step.is-simple{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.el-step.is-simple .el-step__head{width:auto;font-size:0;padding-right:10px}.el-step.is-simple .el-step__icon{background:0 0;width:16px;height:16px;font-size:12px}.el-step.is-simple .el-step__icon-inner[class*=el-icon]:not(.is-status){font-size:18px}.el-step.is-simple .el-step__icon-inner.is-status{-webkit-transform:scale(.8) translateY(1px);transform:scale(.8) translateY(1px)}.el-step.is-simple .el-step__main{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.el-step.is-simple .el-step__title{font-size:16px;line-height:20px}.el-step.is-simple:not(:last-of-type) .el-step__title{max-width:50%;word-break:break-all}.el-step.is-simple .el-step__arrow{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.el-step.is-simple .el-step__arrow::after,.el-step.is-simple .el-step__arrow::before{content:'';display:inline-block;position:absolute;height:15px;width:1px;background:#C0C4CC}.el-step.is-simple .el-step__arrow::before{-webkit-transform:rotate(-45deg) translateY(-4px);transform:rotate(-45deg) translateY(-4px);-webkit-transform-origin:0 0;transform-origin:0 0}.el-step.is-simple .el-step__arrow::after{-webkit-transform:rotate(45deg) translateY(4px);transform:rotate(45deg) translateY(4px);-webkit-transform-origin:100% 100%;transform-origin:100% 100%}.el-step.is-simple:last-of-type .el-step__arrow{display:none}.el-carousel{position:relative}.el-carousel--horizontal{overflow-x:hidden}.el-carousel--vertical{overflow-y:hidden}.el-carousel__container{position:relative;height:300px}.el-carousel__arrow{border:none;outline:0;padding:0;margin:0;height:36px;width:36px;cursor:pointer;-webkit-transition:.3s;transition:.3s;border-radius:50%;background-color:rgba(31,45,61,.11);color:#FFF;position:absolute;top:50%;z-index:10;-webkit-transform:translateY(-50%);transform:translateY(-50%);text-align:center;font-size:12px}.el-carousel__arrow--left{left:16px}.el-carousel__arrow--right{right:16px}.el-carousel__arrow:hover{background-color:rgba(31,45,61,.23)}.el-carousel__arrow i{cursor:pointer}.el-carousel__indicators{position:absolute;list-style:none;margin:0;padding:0;z-index:2}.el-carousel__indicators--horizontal{bottom:0;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%)}.el-carousel__indicators--vertical{right:0;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.el-carousel__indicators--outside{bottom:26px;text-align:center;position:static;-webkit-transform:none;transform:none}.el-carousel__indicators--outside .el-carousel__indicator:hover button{opacity:.64}.el-carousel__indicators--outside button{background-color:#C0C4CC;opacity:.24}.el-carousel__indicators--labels{left:0;right:0;-webkit-transform:none;transform:none;text-align:center}.el-carousel__indicators--labels .el-carousel__button{height:auto;width:auto;padding:2px 18px;font-size:12px}.el-carousel__indicators--labels .el-carousel__indicator{padding:6px 4px}.el-carousel__indicator{background-color:transparent;cursor:pointer}.el-carousel__indicator:hover button{opacity:.72}.el-carousel__indicator--horizontal{display:inline-block;padding:12px 4px}.el-carousel__indicator--vertical{padding:4px 12px}.el-carousel__indicator--vertical .el-carousel__button{width:2px;height:15px}.el-carousel__indicator.is-active button{opacity:1}.el-carousel__button{display:block;opacity:.48;width:30px;height:2px;background-color:#FFF;border:none;outline:0;padding:0;margin:0;cursor:pointer;-webkit-transition:.3s;transition:.3s}.el-carousel__item,.el-carousel__mask{height:100%;top:0;left:0;position:absolute}.carousel-arrow-left-enter,.carousel-arrow-left-leave-active{-webkit-transform:translateY(-50%) translateX(-10px);transform:translateY(-50%) translateX(-10px);opacity:0}.carousel-arrow-right-enter,.carousel-arrow-right-leave-active{-webkit-transform:translateY(-50%) translateX(10px);transform:translateY(-50%) translateX(10px);opacity:0}.el-carousel__item{width:100%;display:inline-block;overflow:hidden;z-index:0}.el-carousel__item.is-active{z-index:2}.el-carousel__item.is-animating{-webkit-transition:-webkit-transform .4s ease-in-out;transition:-webkit-transform .4s ease-in-out;transition:transform .4s ease-in-out;transition:transform .4s ease-in-out,-webkit-transform .4s ease-in-out}.el-carousel__item--card{width:50%;-webkit-transition:-webkit-transform .4s ease-in-out;transition:-webkit-transform .4s ease-in-out;transition:transform .4s ease-in-out;transition:transform .4s ease-in-out,-webkit-transform .4s ease-in-out}.el-carousel__item--card.is-in-stage{cursor:pointer;z-index:1}.el-carousel__item--card.is-in-stage.is-hover .el-carousel__mask,.el-carousel__item--card.is-in-stage:hover .el-carousel__mask{opacity:.12}.el-carousel__item--card.is-active{z-index:2}.el-carousel__mask{width:100%;background-color:#FFF;opacity:.24;-webkit-transition:.2s;transition:.2s}.el-fade-in-enter,.el-fade-in-leave-active,.el-fade-in-linear-enter,.el-fade-in-linear-leave,.el-fade-in-linear-leave-active,.fade-in-linear-enter,.fade-in-linear-leave,.fade-in-linear-leave-active{opacity:0}.fade-in-linear-enter-active,.fade-in-linear-leave-active{-webkit-transition:opacity .2s linear;transition:opacity .2s linear}.el-fade-in-linear-enter-active,.el-fade-in-linear-leave-active{-webkit-transition:opacity .2s linear;transition:opacity .2s linear}.el-fade-in-enter-active,.el-fade-in-leave-active{-webkit-transition:all .3s cubic-bezier(.55,0,.1,1);transition:all .3s cubic-bezier(.55,0,.1,1)}.el-zoom-in-center-enter-active,.el-zoom-in-center-leave-active{-webkit-transition:all .3s cubic-bezier(.55,0,.1,1);transition:all .3s cubic-bezier(.55,0,.1,1)}.el-zoom-in-center-enter,.el-zoom-in-center-leave-active{opacity:0;-webkit-transform:scaleX(0);transform:scaleX(0)}.el-zoom-in-top-enter-active,.el-zoom-in-top-leave-active{opacity:1;-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);-webkit-transform-origin:center top;transform-origin:center top}.el-zoom-in-top-enter,.el-zoom-in-top-leave-active{opacity:0;-webkit-transform:scaleY(0);transform:scaleY(0)}.el-zoom-in-bottom-enter-active,.el-zoom-in-bottom-leave-active{opacity:1;-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);-webkit-transform-origin:center bottom;transform-origin:center bottom}.el-zoom-in-bottom-enter,.el-zoom-in-bottom-leave-active{opacity:0;-webkit-transform:scaleY(0);transform:scaleY(0)}.el-zoom-in-left-enter-active,.el-zoom-in-left-leave-active{opacity:1;-webkit-transform:scale(1,1);transform:scale(1,1);-webkit-transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);-webkit-transform-origin:top left;transform-origin:top left}.el-zoom-in-left-enter,.el-zoom-in-left-leave-active{opacity:0;-webkit-transform:scale(.45,.45);transform:scale(.45,.45)}.collapse-transition{-webkit-transition:.3s height ease-in-out,.3s padding-top ease-in-out,.3s padding-bottom ease-in-out;transition:.3s height ease-in-out,.3s padding-top ease-in-out,.3s padding-bottom ease-in-out}.horizontal-collapse-transition{-webkit-transition:.3s width ease-in-out,.3s padding-left ease-in-out,.3s padding-right ease-in-out;transition:.3s width ease-in-out,.3s padding-left ease-in-out,.3s padding-right ease-in-out}.el-list-enter-active,.el-list-leave-active{-webkit-transition:all 1s;transition:all 1s}.el-list-enter,.el-list-leave-active{opacity:0;-webkit-transform:translateY(-30px);transform:translateY(-30px)}.el-opacity-transition{-webkit-transition:opacity .3s cubic-bezier(.55,0,.1,1);transition:opacity .3s cubic-bezier(.55,0,.1,1)}.el-collapse{border-top:1px solid #EBEEF5;border-bottom:1px solid #EBEEF5}.el-collapse-item.is-disabled .el-collapse-item__header{color:#bbb;cursor:not-allowed}.el-collapse-item__header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:48px;line-height:48px;background-color:#FFF;color:#303133;cursor:pointer;border-bottom:1px solid #EBEEF5;font-size:13px;font-weight:500;-webkit-transition:border-bottom-color .3s;transition:border-bottom-color .3s;outline:0}.el-collapse-item__arrow{margin:0 8px 0 auto;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s;font-weight:300}.el-collapse-item__arrow.is-active{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.el-collapse-item__header.focusing:focus:not(:hover){color:#FDA833}.el-collapse-item__header.is-active{border-bottom-color:transparent}.el-collapse-item__wrap{will-change:height;background-color:#FFF;overflow:hidden;-webkit-box-sizing:border-box;box-sizing:border-box;border-bottom:1px solid #EBEEF5}.el-cascader__tags,.el-tag{-webkit-box-sizing:border-box}.el-collapse-item__content{padding-bottom:25px;font-size:13px;color:#303133;line-height:1.769230769230769}.el-collapse-item:last-child{margin-bottom:-1px}.el-popper .popper__arrow,.el-popper .popper__arrow::after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.el-popper .popper__arrow{border-width:6px;-webkit-filter:drop-shadow(0 2px 12px rgba(0, 0, 0, .03));filter:drop-shadow(0 2px 12px rgba(0, 0, 0, .03))}.el-popper .popper__arrow::after{content:" ";border-width:6px}.el-popper[x-placement^=top]{margin-bottom:12px}.el-popper[x-placement^=top] .popper__arrow{bottom:-6px;left:50%;margin-right:3px;border-top-color:#EBEEF5;border-bottom-width:0}.el-popper[x-placement^=top] .popper__arrow::after{bottom:1px;margin-left:-6px;border-top-color:#FFF;border-bottom-width:0}.el-popper[x-placement^=bottom]{margin-top:12px}.el-popper[x-placement^=bottom] .popper__arrow{top:-6px;left:50%;margin-right:3px;border-top-width:0;border-bottom-color:#EBEEF5}.el-popper[x-placement^=bottom] .popper__arrow::after{top:1px;margin-left:-6px;border-top-width:0;border-bottom-color:#FFF}.el-popper[x-placement^=right]{margin-left:12px}.el-popper[x-placement^=right] .popper__arrow{top:50%;left:-6px;margin-bottom:3px;border-right-color:#EBEEF5;border-left-width:0}.el-popper[x-placement^=right] .popper__arrow::after{bottom:-6px;left:1px;border-right-color:#FFF;border-left-width:0}.el-popper[x-placement^=left]{margin-right:12px}.el-popper[x-placement^=left] .popper__arrow{top:50%;right:-6px;margin-bottom:3px;border-right-width:0;border-left-color:#EBEEF5}.el-popper[x-placement^=left] .popper__arrow::after{right:1px;bottom:-6px;margin-left:-6px;border-right-width:0;border-left-color:#FFF}.el-tag{background-color:rgb(255, 246, 235);border-color:rgb(255, 238, 214);display:inline-block;height:32px;padding:0 10px;line-height:30px;font-size:12px;color:#FDA833;border-width:1px;border-style:solid;border-radius:4px;box-sizing:border-box;white-space:nowrap}.el-tag.is-hit{border-color:#FDA833}.el-tag .el-tag__close{color:#FDA833}.el-tag .el-tag__close:hover{color:#FFF;background-color:#FDA833}.el-tag.el-tag--info{background-color:#f4f4f5;border-color:#e9e9eb;color:#909399}.el-tag.el-tag--info.is-hit{border-color:#909399}.el-tag.el-tag--info .el-tag__close{color:#909399}.el-tag.el-tag--info .el-tag__close:hover{color:#FFF;background-color:#909399}.el-tag.el-tag--success{background-color:#f0f9eb;border-color:#e1f3d8;color:#67c23a}.el-tag.el-tag--success.is-hit{border-color:#67C23A}.el-tag.el-tag--success .el-tag__close{color:#67c23a}.el-tag.el-tag--success .el-tag__close:hover{color:#FFF;background-color:#67c23a}.el-tag.el-tag--warning{background-color:#fdf6ec;border-color:#faecd8;color:#e6a23c}.el-tag.el-tag--warning.is-hit{border-color:#E6A23C}.el-tag.el-tag--warning .el-tag__close{color:#e6a23c}.el-tag.el-tag--warning .el-tag__close:hover{color:#FFF;background-color:#e6a23c}.el-tag.el-tag--danger{background-color:#fef0f0;border-color:#fde2e2;color:#f56c6c}.el-tag.el-tag--danger.is-hit{border-color:#F56C6C}.el-tag.el-tag--danger .el-tag__close{color:#f56c6c}.el-tag.el-tag--danger .el-tag__close:hover{color:#FFF;background-color:#f56c6c}.el-tag .el-icon-close{border-radius:50%;text-align:center;position:relative;cursor:pointer;font-size:12px;height:16px;width:16px;line-height:16px;vertical-align:middle;top:-1px;right:-5px}.el-tag .el-icon-close::before{display:block}.el-tag--dark{background-color:#FDA833;border-color:#FDA833;color:#fff}.el-tag--dark.is-hit{border-color:#FDA833}.el-tag--dark .el-tag__close{color:#fff}.el-tag--dark .el-tag__close:hover{color:#FFF;background-color:rgb(253, 185, 92)}.el-tag--dark.el-tag--info{background-color:#909399;border-color:#909399;color:#fff}.el-tag--dark.el-tag--info.is-hit{border-color:#909399}.el-tag--dark.el-tag--info .el-tag__close{color:#fff}.el-tag--dark.el-tag--info .el-tag__close:hover{color:#FFF;background-color:#a6a9ad}.el-tag--dark.el-tag--success{background-color:#67c23a;border-color:#67c23a;color:#fff}.el-tag--dark.el-tag--success.is-hit{border-color:#67C23A}.el-tag--dark.el-tag--success .el-tag__close{color:#fff}.el-tag--dark.el-tag--success .el-tag__close:hover{color:#FFF;background-color:#85ce61}.el-tag--dark.el-tag--warning{background-color:#e6a23c;border-color:#e6a23c;color:#fff}.el-tag--dark.el-tag--warning.is-hit{border-color:#E6A23C}.el-tag--dark.el-tag--warning .el-tag__close{color:#fff}.el-tag--dark.el-tag--warning .el-tag__close:hover{color:#FFF;background-color:#ebb563}.el-tag--dark.el-tag--danger{background-color:#f56c6c;border-color:#f56c6c;color:#fff}.el-tag--dark.el-tag--danger.is-hit{border-color:#F56C6C}.el-tag--dark.el-tag--danger .el-tag__close{color:#fff}.el-tag--dark.el-tag--danger .el-tag__close:hover{color:#FFF;background-color:#f78989}.el-tag--plain{background-color:#fff;border-color:rgb(254, 220, 173);color:#FDA833}.el-tag--plain.is-hit{border-color:#FDA833}.el-tag--plain .el-tag__close{color:#FDA833}.el-tag--plain .el-tag__close:hover{color:#FFF;background-color:#FDA833}.el-tag--plain.el-tag--info{background-color:#fff;border-color:#d3d4d6;color:#909399}.el-tag--plain.el-tag--info.is-hit{border-color:#909399}.el-tag--plain.el-tag--info .el-tag__close{color:#909399}.el-tag--plain.el-tag--info .el-tag__close:hover{color:#FFF;background-color:#909399}.el-tag--plain.el-tag--success{background-color:#fff;border-color:#c2e7b0;color:#67c23a}.el-tag--plain.el-tag--success.is-hit{border-color:#67C23A}.el-tag--plain.el-tag--success .el-tag__close{color:#67c23a}.el-tag--plain.el-tag--success .el-tag__close:hover{color:#FFF;background-color:#67c23a}.el-tag--plain.el-tag--warning{background-color:#fff;border-color:#f5dab1;color:#e6a23c}.el-tag--plain.el-tag--warning.is-hit{border-color:#E6A23C}.el-tag--plain.el-tag--warning .el-tag__close{color:#e6a23c}.el-tag--plain.el-tag--warning .el-tag__close:hover{color:#FFF;background-color:#e6a23c}.el-tag--plain.el-tag--danger{background-color:#fff;border-color:#fbc4c4;color:#f56c6c}.el-tag--plain.el-tag--danger.is-hit{border-color:#F56C6C}.el-tag--plain.el-tag--danger .el-tag__close{color:#f56c6c}.el-tag--plain.el-tag--danger .el-tag__close:hover{color:#FFF;background-color:#f56c6c}.el-tag--medium{height:28px;line-height:26px}.el-tag--medium .el-icon-close{-webkit-transform:scale(.8);transform:scale(.8)}.el-tag--small{height:24px;padding:0 8px;line-height:22px}.el-tag--small .el-icon-close{-webkit-transform:scale(.8);transform:scale(.8)}.el-tag--mini{height:20px;padding:0 5px;line-height:19px}.el-tag--mini .el-icon-close{margin-left:-3px;-webkit-transform:scale(.7);transform:scale(.7)}.el-cascader{display:inline-block;position:relative;font-size:14px;line-height:40px}.el-cascader:not(.is-disabled):hover .el-input__inner{cursor:pointer;border-color:#C0C4CC}.el-cascader .el-input .el-input__inner:focus,.el-cascader .el-input.is-focus .el-input__inner{border-color:#FDA833}.el-cascader .el-input{cursor:pointer}.el-cascader .el-input .el-input__inner{text-overflow:ellipsis}.el-cascader .el-input .el-icon-arrow-down{-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s;font-size:14px}.el-cascader .el-input .el-icon-arrow-down.is-reverse{-webkit-transform:rotateZ(180deg);transform:rotateZ(180deg)}.el-cascader .el-input .el-icon-circle-close:hover{color:#909399}.el-cascader--medium{font-size:14px;line-height:36px}.el-cascader--small{font-size:13px;line-height:32px}.el-cascader--mini{font-size:12px;line-height:28px}.el-cascader.is-disabled .el-cascader__label{z-index:2;color:#C0C4CC}.el-cascader__dropdown{margin:5px 0;font-size:14px;background:#FFF;border:1px solid #E4E7ED;border-radius:4px;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1)}.el-cascader__tags{position:absolute;left:0;right:30px;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;line-height:normal;text-align:left;box-sizing:border-box}.el-cascader__tags .el-tag{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;max-width:100%;margin:2px 0 2px 6px;text-overflow:ellipsis;background:#f0f2f5}.el-cascader__tags .el-tag:not(.is-hit){border-color:transparent}.el-cascader__tags .el-tag>span{-webkit-box-flex:1;-ms-flex:1;flex:1;overflow:hidden;text-overflow:ellipsis}.el-cascader__tags .el-tag .el-icon-close{-webkit-box-flex:0;-ms-flex:none;flex:none;background-color:#C0C4CC;color:#FFF}.el-cascader__tags .el-tag .el-icon-close:hover{background-color:#909399}.el-cascader__suggestion-panel{border-radius:4px}.el-cascader__suggestion-list{max-height:204px;margin:0;padding:6px 0;font-size:14px;color:#606266;text-align:center}.el-cascader__suggestion-item{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:34px;padding:0 15px;text-align:left;outline:0;cursor:pointer}.el-cascader__suggestion-item:focus,.el-cascader__suggestion-item:hover{background:#F5F7FA}.el-cascader__suggestion-item.is-checked{color:#FDA833;font-weight:700}.el-cascader__suggestion-item>span{margin-right:10px}.el-cascader__empty-text{margin:10px 0;color:#C0C4CC}.el-cascader__search-input{-webkit-box-flex:1;-ms-flex:1;flex:1;height:24px;min-width:60px;margin:2px 0 2px 15px;padding:0;color:#606266;border:none;outline:0;-webkit-box-sizing:border-box;box-sizing:border-box}.el-cascader__search-input::-webkit-input-placeholder{color:#C0C4CC}.el-cascader__search-input:-ms-input-placeholder{color:#C0C4CC}.el-cascader__search-input::-ms-input-placeholder{color:#C0C4CC}.el-cascader__search-input::placeholder{color:#C0C4CC}.el-color-predefine{display:-webkit-box;display:-ms-flexbox;display:flex;font-size:12px;margin-top:8px;width:280px}.el-color-predefine__colors{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-ms-flex:1;flex:1;-ms-flex-wrap:wrap;flex-wrap:wrap}.el-color-predefine__color-selector{margin:0 0 8px 8px;width:20px;height:20px;border-radius:4px;cursor:pointer}.el-color-predefine__color-selector:nth-child(10n+1){margin-left:0}.el-color-predefine__color-selector.selected{-webkit-box-shadow:0 0 3px 2px #FDA833;box-shadow:0 0 3px 2px #FDA833}.el-color-predefine__color-selector>div{display:-webkit-box;display:-ms-flexbox;display:flex;height:100%;border-radius:3px}.el-color-predefine__color-selector.is-alpha{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwH+YwCGIasIUwhT25BVBADtzYNYrHvv4gAAAABJRU5ErkJggg==)}.el-color-hue-slider{position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;width:280px;height:12px;background-color:red;padding:0 2px}.el-color-hue-slider__bar{position:relative;background:-webkit-gradient(linear,left top,right top,from(red),color-stop(17%,#ff0),color-stop(33%,#0f0),color-stop(50%,#0ff),color-stop(67%,#00f),color-stop(83%,#f0f),to(red));background:linear-gradient(to right,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red 100%);height:100%}.el-color-hue-slider__thumb{position:absolute;cursor:pointer;-webkit-box-sizing:border-box;box-sizing:border-box;left:0;top:0;width:4px;height:100%;border-radius:1px;background:#fff;border:1px solid #f0f0f0;-webkit-box-shadow:0 0 2px rgba(0,0,0,.6);box-shadow:0 0 2px rgba(0,0,0,.6);z-index:1}.el-color-hue-slider.is-vertical{width:12px;height:180px;padding:2px 0}.el-color-hue-slider.is-vertical .el-color-hue-slider__bar{background:-webkit-gradient(linear,left top,left bottom,from(red),color-stop(17%,#ff0),color-stop(33%,#0f0),color-stop(50%,#0ff),color-stop(67%,#00f),color-stop(83%,#f0f),to(red));background:linear-gradient(to bottom,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red 100%)}.el-color-hue-slider.is-vertical .el-color-hue-slider__thumb{left:0;top:0;width:100%;height:4px}.el-color-svpanel{position:relative;width:280px;height:180px}.el-color-svpanel__black,.el-color-svpanel__white{position:absolute;top:0;left:0;right:0;bottom:0}.el-color-svpanel__white{background:-webkit-gradient(linear,left top,right top,from(#fff),to(rgba(255,255,255,0)));background:linear-gradient(to right,#fff,rgba(255,255,255,0))}.el-color-svpanel__black{background:-webkit-gradient(linear,left bottom,left top,from(#000),to(rgba(0,0,0,0)));background:linear-gradient(to top,#000,rgba(0,0,0,0))}.el-color-svpanel__cursor{position:absolute}.el-color-svpanel__cursor>div{cursor:head;width:4px;height:4px;-webkit-box-shadow:0 0 0 1.5px #fff,inset 0 0 1px 1px rgba(0,0,0,.3),0 0 1px 2px rgba(0,0,0,.4);box-shadow:0 0 0 1.5px #fff,inset 0 0 1px 1px rgba(0,0,0,.3),0 0 1px 2px rgba(0,0,0,.4);border-radius:50%;-webkit-transform:translate(-2px,-2px);transform:translate(-2px,-2px)}.el-color-alpha-slider{position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;width:280px;height:12px;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwH+YwCGIasIUwhT25BVBADtzYNYrHvv4gAAAABJRU5ErkJggg==)}.el-color-alpha-slider__bar{position:relative;background:-webkit-gradient(linear,left top,right top,from(rgba(255,255,255,0)),to(white));background:linear-gradient(to right,rgba(255,255,255,0) 0,#fff 100%);height:100%}.el-color-alpha-slider__thumb{position:absolute;cursor:pointer;-webkit-box-sizing:border-box;box-sizing:border-box;left:0;top:0;width:4px;height:100%;border-radius:1px;background:#fff;border:1px solid #f0f0f0;-webkit-box-shadow:0 0 2px rgba(0,0,0,.6);box-shadow:0 0 2px rgba(0,0,0,.6);z-index:1}.el-color-alpha-slider.is-vertical{width:20px;height:180px}.el-color-alpha-slider.is-vertical .el-color-alpha-slider__bar{background:-webkit-gradient(linear,left top,left bottom,from(rgba(255,255,255,0)),to(white));background:linear-gradient(to bottom,rgba(255,255,255,0) 0,#fff 100%)}.el-color-alpha-slider.is-vertical .el-color-alpha-slider__thumb{left:0;top:0;width:100%;height:4px}.el-color-dropdown{width:300px}.el-color-dropdown__main-wrapper{margin-bottom:6px}.el-color-dropdown__main-wrapper::after{content:"";display:table;clear:both}.el-color-dropdown__btns{margin-top:6px;text-align:right}.el-color-dropdown__value{float:left;line-height:26px;font-size:12px;color:#000;width:160px}.el-color-dropdown__btn{border:1px solid #dcdcdc;color:#333;line-height:24px;border-radius:2px;padding:0 20px;cursor:pointer;background-color:transparent;outline:0;font-size:12px}.el-color-dropdown__btn[disabled]{color:#ccc;cursor:not-allowed}.el-color-dropdown__btn:hover{color:#FDA833;border-color:#FDA833}.el-color-dropdown__link-btn{cursor:pointer;color:#FDA833;text-decoration:none;padding:15px;font-size:12px}.el-color-dropdown__link-btn:hover{color:tint(primary,20%)}.el-color-picker{display:inline-block;position:relative;line-height:normal;height:40px}.el-color-picker.is-disabled .el-color-picker__trigger{cursor:not-allowed}.el-color-picker--medium{height:36px}.el-color-picker--medium .el-color-picker__trigger{height:36px;width:36px}.el-color-picker--medium .el-color-picker__mask{height:34px;width:34px}.el-color-picker--small{height:32px}.el-color-picker--small .el-color-picker__trigger{height:32px;width:32px}.el-color-picker--small .el-color-picker__mask{height:30px;width:30px}.el-color-picker--small .el-color-picker__empty,.el-color-picker--small .el-color-picker__icon{-webkit-transform:translate3d(-50%,-50%,0) scale(.8);transform:translate3d(-50%,-50%,0) scale(.8)}.el-color-picker--mini{height:28px}.el-color-picker--mini .el-color-picker__trigger{height:28px;width:28px}.el-color-picker--mini .el-color-picker__mask{height:26px;width:26px}.el-color-picker--mini .el-color-picker__empty,.el-color-picker--mini .el-color-picker__icon{-webkit-transform:translate3d(-50%,-50%,0) scale(.8);transform:translate3d(-50%,-50%,0) scale(.8)}.el-color-picker__mask{height:38px;width:38px;border-radius:4px;position:absolute;top:1px;left:1px;z-index:1;cursor:not-allowed;background-color:rgba(255,255,255,.7)}.el-color-picker__trigger{display:inline-block;-webkit-box-sizing:border-box;box-sizing:border-box;height:40px;width:40px;padding:4px;border:1px solid #e6e6e6;border-radius:4px;font-size:0;position:relative;cursor:pointer}.el-color-picker__color{position:relative;display:block;-webkit-box-sizing:border-box;box-sizing:border-box;border:1px solid #999;border-radius:2px;width:100%;height:100%;text-align:center}.el-color-picker__color.is-alpha{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwH+YwCGIasIUwhT25BVBADtzYNYrHvv4gAAAABJRU5ErkJggg==)}.el-color-picker__color-inner{position:absolute;left:0;top:0;right:0;bottom:0}.el-color-picker__empty,.el-color-picker__icon{top:50%;left:50%;font-size:12px;position:absolute}.el-color-picker__empty{color:#999;-webkit-transform:translate3d(-50%,-50%,0);transform:translate3d(-50%,-50%,0)}.el-color-picker__icon{display:inline-block;width:100%;-webkit-transform:translate3d(-50%,-50%,0);transform:translate3d(-50%,-50%,0);color:#FFF;text-align:center}.el-color-picker__panel{position:absolute;z-index:10;padding:6px;-webkit-box-sizing:content-box;box-sizing:content-box;background-color:#FFF;border:1px solid #EBEEF5;border-radius:4px;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1)}.el-textarea{position:relative;display:inline-block;width:100%;vertical-align:bottom;font-size:14px}.el-textarea__inner{display:block;resize:vertical;padding:5px 15px;line-height:1.5;-webkit-box-sizing:border-box;box-sizing:border-box;width:100%;font-size:inherit;color:#606266;background-color:#FFF;background-image:none;border:1px solid #DCDFE6;border-radius:4px;-webkit-transition:border-color .2s cubic-bezier(.645,.045,.355,1);transition:border-color .2s cubic-bezier(.645,.045,.355,1)}.el-textarea__inner::-webkit-input-placeholder{color:#C0C4CC}.el-textarea__inner:-ms-input-placeholder{color:#C0C4CC}.el-textarea__inner::-ms-input-placeholder{color:#C0C4CC}.el-textarea__inner::placeholder{color:#C0C4CC}.el-textarea__inner:hover{border-color:#C0C4CC}.el-textarea__inner:focus{outline:0;border-color:#FDA833}.el-textarea .el-input__count{color:#909399;background:#FFF;position:absolute;font-size:12px;bottom:5px;right:10px}.el-textarea.is-disabled .el-textarea__inner{background-color:#F5F7FA;border-color:#E4E7ED;color:#C0C4CC;cursor:not-allowed}.el-textarea.is-disabled .el-textarea__inner::-webkit-input-placeholder{color:#C0C4CC}.el-textarea.is-disabled .el-textarea__inner:-ms-input-placeholder{color:#C0C4CC}.el-textarea.is-disabled .el-textarea__inner::-ms-input-placeholder{color:#C0C4CC}.el-textarea.is-disabled .el-textarea__inner::placeholder{color:#C0C4CC}.el-textarea.is-exceed .el-textarea__inner{border-color:#F56C6C}.el-textarea.is-exceed .el-input__count{color:#F56C6C}.el-input{position:relative;font-size:14px;display:inline-block;width:100%}.el-input::-webkit-scrollbar{z-index:11;width:6px}.el-input::-webkit-scrollbar:horizontal{height:6px}.el-input::-webkit-scrollbar-thumb{border-radius:5px;width:6px;background:#b4bccc}.el-input::-webkit-scrollbar-corner{background:#fff}.el-input::-webkit-scrollbar-track{background:#fff}.el-input::-webkit-scrollbar-track-piece{background:#fff;width:6px}.el-input .el-input__clear{color:#C0C4CC;font-size:14px;cursor:pointer;-webkit-transition:color .2s cubic-bezier(.645,.045,.355,1);transition:color .2s cubic-bezier(.645,.045,.355,1)}.el-input .el-input__clear:hover{color:#909399}.el-input .el-input__count{height:100%;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:#909399;font-size:12px}.el-input .el-input__count .el-input__count-inner{background:#FFF;line-height:initial;display:inline-block;padding:0 5px}.el-input__inner{-webkit-appearance:none;background-color:#FFF;background-image:none;border-radius:4px;border:1px solid #DCDFE6;-webkit-box-sizing:border-box;box-sizing:border-box;color:#606266;display:inline-block;font-size:inherit;height:40px;line-height:40px;outline:0;padding:0 15px;-webkit-transition:border-color .2s cubic-bezier(.645,.045,.355,1);transition:border-color .2s cubic-bezier(.645,.045,.355,1);width:100%}.el-input__prefix,.el-input__suffix{position:absolute;top:0;-webkit-transition:all .3s;height:100%;color:#C0C4CC;text-align:center}.el-input__inner::-webkit-input-placeholder{color:#C0C4CC}.el-input__inner:-ms-input-placeholder{color:#C0C4CC}.el-input__inner::-ms-input-placeholder{color:#C0C4CC}.el-input__inner::placeholder{color:#C0C4CC}.el-input__inner:hover{border-color:#C0C4CC}.el-input.is-active .el-input__inner,.el-input__inner:focus{border-color:#FDA833;outline:0}.el-input__suffix{right:5px;transition:all .3s}.el-input__suffix-inner{pointer-events:all}.el-input__prefix{left:5px;transition:all .3s}.el-input__icon{height:100%;width:25px;text-align:center;-webkit-transition:all .3s;transition:all .3s;line-height:40px}.el-input__icon:after{content:'';height:100%;width:0;display:inline-block;vertical-align:middle}.el-input__validateIcon{pointer-events:none}.el-input.is-disabled .el-input__inner{background-color:#F5F7FA;border-color:#E4E7ED;color:#C0C4CC;cursor:not-allowed}.el-input.is-disabled .el-input__inner::-webkit-input-placeholder{color:#C0C4CC}.el-input.is-disabled .el-input__inner:-ms-input-placeholder{color:#C0C4CC}.el-input.is-disabled .el-input__inner::-ms-input-placeholder{color:#C0C4CC}.el-input.is-disabled .el-input__inner::placeholder{color:#C0C4CC}.el-input.is-disabled .el-input__icon{cursor:not-allowed}.el-link,.el-transfer-panel__filter .el-icon-circle-close{cursor:pointer}.el-input.is-exceed .el-input__inner{border-color:#F56C6C}.el-input.is-exceed .el-input__suffix .el-input__count{color:#F56C6C}.el-input--suffix .el-input__inner{padding-right:30px}.el-input--prefix .el-input__inner{padding-left:30px}.el-input--medium{font-size:14px}.el-input--medium .el-input__inner{height:36px;line-height:36px}.el-input--medium .el-input__icon{line-height:36px}.el-input--small{font-size:13px}.el-input--small .el-input__inner{height:32px;line-height:32px}.el-input--small .el-input__icon{line-height:32px}.el-input--mini{font-size:12px}.el-input--mini .el-input__inner{height:28px;line-height:28px}.el-input--mini .el-input__icon{line-height:28px}.el-input-group{line-height:normal;display:inline-table;width:100%;border-collapse:separate;border-spacing:0}.el-input-group>.el-input__inner{vertical-align:middle;display:table-cell}.el-input-group__append,.el-input-group__prepend{background-color:#F5F7FA;color:#909399;vertical-align:middle;display:table-cell;position:relative;border:1px solid #DCDFE6;border-radius:4px;padding:0 20px;width:1px;white-space:nowrap}.el-input-group--prepend .el-input__inner,.el-input-group__append{border-top-left-radius:0;border-bottom-left-radius:0}.el-input-group--append .el-input__inner,.el-input-group__prepend{border-top-right-radius:0;border-bottom-right-radius:0}.el-input-group__append:focus,.el-input-group__prepend:focus{outline:0}.el-input-group__append .el-button,.el-input-group__append .el-select,.el-input-group__prepend .el-button,.el-input-group__prepend .el-select{display:inline-block;margin:-10px -20px}.el-input-group__append button.el-button,.el-input-group__append div.el-select .el-input__inner,.el-input-group__append div.el-select:hover .el-input__inner,.el-input-group__prepend button.el-button,.el-input-group__prepend div.el-select .el-input__inner,.el-input-group__prepend div.el-select:hover .el-input__inner{border-color:transparent;background-color:transparent;color:inherit;border-top:0;border-bottom:0}.el-input-group__append .el-button,.el-input-group__append .el-input,.el-input-group__prepend .el-button,.el-input-group__prepend .el-input{font-size:inherit}.el-input-group__prepend{border-right:0}.el-input-group__append{border-left:0}.el-input-group--append .el-select .el-input.is-focus .el-input__inner,.el-input-group--prepend .el-select .el-input.is-focus .el-input__inner{border-color:transparent}.el-input__inner::-ms-clear{display:none;width:0;height:0}.el-transfer{font-size:14px}.el-transfer__buttons{display:inline-block;vertical-align:middle;padding:0 30px}.el-transfer__button{display:block;margin:0 auto;padding:10px;border-radius:50%;color:#FFF;background-color:#FDA833;font-size:0}.el-transfer__button.is-with-texts{border-radius:4px}.el-transfer__button.is-disabled,.el-transfer__button.is-disabled:hover{border:1px solid #DCDFE6;background-color:#F5F7FA;color:#C0C4CC}.el-transfer__button:first-child{margin-bottom:10px}.el-transfer__button:nth-child(2){margin:0}.el-transfer__button i,.el-transfer__button span{font-size:14px}.el-transfer__button [class*=el-icon-]+span{margin-left:0}.el-transfer-panel{border:1px solid #EBEEF5;border-radius:4px;overflow:hidden;background:#FFF;display:inline-block;vertical-align:middle;width:200px;max-height:100%;-webkit-box-sizing:border-box;box-sizing:border-box;position:relative}.el-transfer-panel__body{height:246px}.el-transfer-panel__body.is-with-footer{padding-bottom:40px}.el-transfer-panel__list{margin:0;padding:6px 0;list-style:none;height:246px;overflow:auto;-webkit-box-sizing:border-box;box-sizing:border-box}.el-transfer-panel__list.is-filterable{height:194px;padding-top:0}.el-transfer-panel__item{height:30px;line-height:30px;padding-left:15px;display:block}.el-transfer-panel__item+.el-transfer-panel__item{margin-left:0;display:block!important}.el-transfer-panel__item.el-checkbox{color:#606266}.el-transfer-panel__item:hover{color:#FDA833}.el-transfer-panel__item.el-checkbox .el-checkbox__label{width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block;-webkit-box-sizing:border-box;box-sizing:border-box;padding-left:24px;line-height:30px}.el-transfer-panel__item .el-checkbox__input{position:absolute;top:8px}.el-transfer-panel__filter{text-align:center;margin:15px;-webkit-box-sizing:border-box;box-sizing:border-box;display:block;width:auto}.el-transfer-panel__filter .el-input__inner{height:32px;width:100%;font-size:12px;display:inline-block;-webkit-box-sizing:border-box;box-sizing:border-box;border-radius:16px;padding-right:10px;padding-left:30px}.el-transfer-panel__filter .el-input__icon{margin-left:5px}.el-transfer-panel .el-transfer-panel__header{height:40px;line-height:40px;background:#F5F7FA;margin:0;padding-left:15px;border-bottom:1px solid #EBEEF5;-webkit-box-sizing:border-box;box-sizing:border-box;color:#000}.el-transfer-panel .el-transfer-panel__header .el-checkbox{display:block;line-height:40px}.el-transfer-panel .el-transfer-panel__header .el-checkbox .el-checkbox__label{font-size:16px;color:#303133;font-weight:400}.el-transfer-panel .el-transfer-panel__header .el-checkbox .el-checkbox__label span{position:absolute;right:15px;color:#909399;font-size:12px;font-weight:400}.el-divider__text,.el-link{font-weight:500;font-size:14px}.el-transfer-panel .el-transfer-panel__footer{height:40px;background:#FFF;margin:0;padding:0;border-top:1px solid #EBEEF5;position:absolute;bottom:0;left:0;width:100%;z-index:1}.el-transfer-panel .el-transfer-panel__footer::after{display:inline-block;content:"";height:100%;vertical-align:middle}.el-container,.el-timeline-item__node{display:-webkit-box;display:-ms-flexbox}.el-transfer-panel .el-transfer-panel__footer .el-checkbox{padding-left:20px;color:#606266}.el-transfer-panel .el-transfer-panel__empty{margin:0;height:30px;line-height:30px;padding:6px 15px 0;color:#909399;text-align:center}.el-transfer-panel .el-checkbox__label{padding-left:8px}.el-transfer-panel .el-checkbox__inner{height:14px;width:14px;border-radius:3px}.el-transfer-panel .el-checkbox__inner::after{height:6px;width:3px;left:4px}.el-container{display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-flex:1;-ms-flex:1;flex:1;-ms-flex-preferred-size:auto;flex-basis:auto;-webkit-box-sizing:border-box;box-sizing:border-box;min-width:0}.el-container.is-vertical,.el-drawer{-webkit-box-orient:vertical;-webkit-box-direction:normal}.el-aside,.el-header{-webkit-box-sizing:border-box}.el-container.is-vertical{-ms-flex-direction:column;flex-direction:column}.el-header{padding:0 20px;box-sizing:border-box;-ms-flex-negative:0;flex-shrink:0}.el-aside{overflow:auto;box-sizing:border-box;-ms-flex-negative:0;flex-shrink:0}.el-footer,.el-main{-webkit-box-sizing:border-box}.el-main{display:block;-webkit-box-flex:1;-ms-flex:1;flex:1;-ms-flex-preferred-size:auto;flex-basis:auto;overflow:auto;box-sizing:border-box;padding:20px}.el-footer{padding:0 20px;box-sizing:border-box;-ms-flex-negative:0;flex-shrink:0}.el-timeline{margin:0;font-size:14px;list-style:none}.el-timeline .el-timeline-item:last-child .el-timeline-item__tail{display:none}.el-timeline-item{position:relative;padding-bottom:20px}.el-timeline-item__wrapper{position:relative;padding-left:28px;top:-3px}.el-timeline-item__tail{position:absolute;left:4px;height:100%;border-left:2px solid #E4E7ED}.el-timeline-item__icon{color:#FFF;font-size:13px}.el-timeline-item__node{position:absolute;background-color:#E4E7ED;border-radius:50%;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.el-image__error,.el-timeline-item__dot{display:-webkit-box;display:-ms-flexbox}.el-timeline-item__node--normal{left:-1px;width:12px;height:12px}.el-timeline-item__node--large{left:-2px;width:14px;height:14px}.el-timeline-item__node--primary{background-color:#FDA833}.el-timeline-item__node--success{background-color:#67C23A}.el-timeline-item__node--warning{background-color:#E6A23C}.el-timeline-item__node--danger{background-color:#F56C6C}.el-timeline-item__node--info{background-color:#909399}.el-timeline-item__dot{position:absolute;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.el-timeline-item__content{color:#303133}.el-timeline-item__timestamp{color:#909399;line-height:1;font-size:13px}.el-timeline-item__timestamp.is-top{margin-bottom:8px;padding-top:4px}.el-timeline-item__timestamp.is-bottom{margin-top:8px}.el-link{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;vertical-align:middle;position:relative;text-decoration:none;outline:0;padding:0}.el-link.is-underline:hover:after{content:"";position:absolute;left:0;right:0;height:0;bottom:0;border-bottom:1px solid #FDA833}.el-link.el-link--default:after,.el-link.el-link--primary.is-underline:hover:after,.el-link.el-link--primary:after{border-color:#FDA833}.el-link.is-disabled{cursor:not-allowed}.el-link [class*=el-icon-]+span{margin-left:5px}.el-link.el-link--default{color:#606266}.el-link.el-link--default:hover{color:#FDA833}.el-link.el-link--default.is-disabled{color:#C0C4CC}.el-link.el-link--primary{color:#FDA833}.el-link.el-link--primary:hover{color:rgb(253, 185, 92)}.el-link.el-link--primary.is-disabled{color:rgb(254, 212, 153)}.el-link.el-link--danger.is-underline:hover:after,.el-link.el-link--danger:after{border-color:#F56C6C}.el-link.el-link--danger{color:#F56C6C}.el-link.el-link--danger:hover{color:#f78989}.el-link.el-link--danger.is-disabled{color:#fab6b6}.el-link.el-link--success.is-underline:hover:after,.el-link.el-link--success:after{border-color:#67C23A}.el-link.el-link--success{color:#67C23A}.el-link.el-link--success:hover{color:#85ce61}.el-link.el-link--success.is-disabled{color:#b3e19d}.el-link.el-link--warning.is-underline:hover:after,.el-link.el-link--warning:after{border-color:#E6A23C}.el-link.el-link--warning{color:#E6A23C}.el-link.el-link--warning:hover{color:#ebb563}.el-link.el-link--warning.is-disabled{color:#f3d19e}.el-link.el-link--info.is-underline:hover:after,.el-link.el-link--info:after{border-color:#909399}.el-link.el-link--info{color:#909399}.el-link.el-link--info:hover{color:#a6a9ad}.el-link.el-link--info.is-disabled{color:#c8c9cc}.el-divider{background-color:#DCDFE6;position:relative}.el-divider--horizontal{display:block;height:1px;width:100%;margin:24px 0}.el-divider--vertical{display:inline-block;width:1px;height:1em;margin:0 8px;vertical-align:middle;position:relative}.el-divider__text{position:absolute;background-color:#FFF;padding:0 20px;color:#303133}.el-image__error,.el-image__placeholder{background:#F5F7FA}.el-divider__text.is-left{left:20px;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.el-divider__text.is-center{left:50%;-webkit-transform:translateX(-50%) translateY(-50%);transform:translateX(-50%) translateY(-50%)}.el-divider__text.is-right{right:20px;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.el-image__error,.el-image__inner,.el-image__placeholder{width:100%;height:100%}.el-image{position:relative;display:inline-block;overflow:hidden}.el-image__inner{vertical-align:top}.el-image__inner--center{position:relative;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);display:block}.el-image__error{display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;font-size:14px;color:#C0C4CC;vertical-align:middle}.el-image__preview{cursor:pointer}.el-image-viewer__wrapper{position:fixed;top:0;right:0;bottom:0;left:0}.el-image-viewer__btn{position:absolute;z-index:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;border-radius:50%;opacity:.8;cursor:pointer;-webkit-box-sizing:border-box;box-sizing:border-box;user-select:none}.el-button,.el-checkbox{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.el-image-viewer__close{top:40px;right:40px;width:40px;height:40px;font-size:40px}.el-image-viewer__canvas{width:100%;height:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.el-image-viewer__actions{left:50%;bottom:30px;-webkit-transform:translateX(-50%);transform:translateX(-50%);width:282px;height:44px;padding:0 23px;background-color:#606266;border-color:#fff;border-radius:22px}.el-image-viewer__actions__inner{width:100%;height:100%;text-align:justify;cursor:default;font-size:23px;color:#fff;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-ms-flex-pack:distribute;justify-content:space-around}.el-image-viewer__next,.el-image-viewer__prev{top:50%;width:44px;height:44px;font-size:24px;color:#fff;background-color:#606266;border-color:#fff}.el-image-viewer__prev{-webkit-transform:translateY(-50%);transform:translateY(-50%);left:40px}.el-image-viewer__next{-webkit-transform:translateY(-50%);transform:translateY(-50%);right:40px;text-indent:2px}.el-image-viewer__mask{position:absolute;width:100%;height:100%;top:0;left:0;opacity:.5;background:#000}.viewer-fade-enter-active{-webkit-animation:viewer-fade-in .3s;animation:viewer-fade-in .3s}.viewer-fade-leave-active{-webkit-animation:viewer-fade-out .3s;animation:viewer-fade-out .3s}@-webkit-keyframes viewer-fade-in{0%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}100%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}}@keyframes viewer-fade-in{0%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}100%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}}@-webkit-keyframes viewer-fade-out{0%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}100%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}}@keyframes viewer-fade-out{0%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}100%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}}.el-button{display:inline-block;line-height:1;white-space:nowrap;cursor:pointer;background:#FFF;border:1px solid #DCDFE6;color:#606266;-webkit-appearance:none;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box;outline:0;margin:0;-webkit-transition:.1s;transition:.1s;font-weight:500;padding:12px 20px;font-size:14px;border-radius:4px}.el-button+.el-button{margin-left:10px}.el-button:focus,.el-button:hover{color:#FDA833;border-color:rgb(254, 229, 194);background-color:rgb(255, 246, 235)}.el-button:active{color:rgb(228, 151, 46);border-color:rgb(228, 151, 46);outline:0}.el-button::-moz-focus-inner{border:0}.el-button [class*=el-icon-]+span{margin-left:5px}.el-button.is-plain:focus,.el-button.is-plain:hover{background:#FFF;border-color:#FDA833;color:#FDA833}.el-button.is-active,.el-button.is-plain:active{color:rgb(228, 151, 46);border-color:rgb(228, 151, 46)}.el-button.is-plain:active{background:#FFF;outline:0}.el-button.is-disabled,.el-button.is-disabled:focus,.el-button.is-disabled:hover{color:#C0C4CC;cursor:not-allowed;background-image:none;background-color:#FFF;border-color:#EBEEF5}.el-button.is-disabled.el-button--text{background-color:transparent}.el-button.is-disabled.is-plain,.el-button.is-disabled.is-plain:focus,.el-button.is-disabled.is-plain:hover{background-color:#FFF;border-color:#EBEEF5;color:#C0C4CC}.el-button.is-loading{position:relative;pointer-events:none}.el-button.is-loading:before{pointer-events:none;content:'';position:absolute;left:-1px;top:-1px;right:-1px;bottom:-1px;border-radius:inherit;background-color:rgba(255,255,255,.35)}.el-button.is-round{border-radius:20px;padding:12px 23px}.el-button.is-circle{border-radius:50%;padding:12px}.el-button--primary{color:#FFF;background-color:#FDA833;border-color:#FDA833}.el-button--primary:focus,.el-button--primary:hover{background:rgb(253, 185, 92);border-color:rgb(253, 185, 92);color:#FFF}.el-button--primary.is-active,.el-button--primary:active{background:rgb(228, 151, 46);border-color:rgb(228, 151, 46);color:#FFF}.el-button--primary:active{outline:0}.el-button--primary.is-disabled,.el-button--primary.is-disabled:active,.el-button--primary.is-disabled:focus,.el-button--primary.is-disabled:hover{color:#FFF;background-color:rgb(254, 212, 153);border-color:rgb(254, 212, 153)}.el-button--primary.is-plain{color:#FDA833;background:rgb(255, 246, 235);border-color:rgb(254, 220, 173)}.el-button--primary.is-plain:focus,.el-button--primary.is-plain:hover{background:#FDA833;border-color:#FDA833;color:#FFF}.el-button--primary.is-plain:active{background:rgb(228, 151, 46);border-color:rgb(228, 151, 46);color:#FFF;outline:0}.el-button--primary.is-plain.is-disabled,.el-button--primary.is-plain.is-disabled:active,.el-button--primary.is-plain.is-disabled:focus,.el-button--primary.is-plain.is-disabled:hover{color:rgb(254, 203, 133);background-color:rgb(255, 246, 235);border-color:rgb(255, 238, 214)}.el-button--success{color:#FFF;background-color:#67C23A;border-color:#67C23A}.el-button--success:focus,.el-button--success:hover{background:#85ce61;border-color:#85ce61;color:#FFF}.el-button--success.is-active,.el-button--success:active{background:#5daf34;border-color:#5daf34;color:#FFF}.el-button--success:active{outline:0}.el-button--success.is-disabled,.el-button--success.is-disabled:active,.el-button--success.is-disabled:focus,.el-button--success.is-disabled:hover{color:#FFF;background-color:#b3e19d;border-color:#b3e19d}.el-button--success.is-plain{color:#67C23A;background:#f0f9eb;border-color:#c2e7b0}.el-button--success.is-plain:focus,.el-button--success.is-plain:hover{background:#67C23A;border-color:#67C23A;color:#FFF}.el-button--success.is-plain:active{background:#5daf34;border-color:#5daf34;color:#FFF;outline:0}.el-button--success.is-plain.is-disabled,.el-button--success.is-plain.is-disabled:active,.el-button--success.is-plain.is-disabled:focus,.el-button--success.is-plain.is-disabled:hover{color:#a4da89;background-color:#f0f9eb;border-color:#e1f3d8}.el-button--warning{color:#FFF;background-color:#E6A23C;border-color:#E6A23C}.el-button--warning:focus,.el-button--warning:hover{background:#ebb563;border-color:#ebb563;color:#FFF}.el-button--warning.is-active,.el-button--warning:active{background:#cf9236;border-color:#cf9236;color:#FFF}.el-button--warning:active{outline:0}.el-button--warning.is-disabled,.el-button--warning.is-disabled:active,.el-button--warning.is-disabled:focus,.el-button--warning.is-disabled:hover{color:#FFF;background-color:#f3d19e;border-color:#f3d19e}.el-button--warning.is-plain{color:#E6A23C;background:#fdf6ec;border-color:#f5dab1}.el-button--warning.is-plain:focus,.el-button--warning.is-plain:hover{background:#E6A23C;border-color:#E6A23C;color:#FFF}.el-button--warning.is-plain:active{background:#cf9236;border-color:#cf9236;color:#FFF;outline:0}.el-button--warning.is-plain.is-disabled,.el-button--warning.is-plain.is-disabled:active,.el-button--warning.is-plain.is-disabled:focus,.el-button--warning.is-plain.is-disabled:hover{color:#f0c78a;background-color:#fdf6ec;border-color:#faecd8}.el-button--danger{color:#FFF;background-color:#F56C6C;border-color:#F56C6C}.el-button--danger:focus,.el-button--danger:hover{background:#f78989;border-color:#f78989;color:#FFF}.el-button--danger.is-active,.el-button--danger:active{background:#dd6161;border-color:#dd6161;color:#FFF}.el-button--danger:active{outline:0}.el-button--danger.is-disabled,.el-button--danger.is-disabled:active,.el-button--danger.is-disabled:focus,.el-button--danger.is-disabled:hover{color:#FFF;background-color:#fab6b6;border-color:#fab6b6}.el-button--danger.is-plain{color:#F56C6C;background:#fef0f0;border-color:#fbc4c4}.el-button--danger.is-plain:focus,.el-button--danger.is-plain:hover{background:#F56C6C;border-color:#F56C6C;color:#FFF}.el-button--danger.is-plain:active{background:#dd6161;border-color:#dd6161;color:#FFF;outline:0}.el-button--danger.is-plain.is-disabled,.el-button--danger.is-plain.is-disabled:active,.el-button--danger.is-plain.is-disabled:focus,.el-button--danger.is-plain.is-disabled:hover{color:#f9a7a7;background-color:#fef0f0;border-color:#fde2e2}.el-button--info{color:#FFF;background-color:#909399;border-color:#909399}.el-button--info:focus,.el-button--info:hover{background:#a6a9ad;border-color:#a6a9ad;color:#FFF}.el-button--info.is-active,.el-button--info:active{background:#82848a;border-color:#82848a;color:#FFF}.el-button--info:active{outline:0}.el-button--info.is-disabled,.el-button--info.is-disabled:active,.el-button--info.is-disabled:focus,.el-button--info.is-disabled:hover{color:#FFF;background-color:#c8c9cc;border-color:#c8c9cc}.el-button--info.is-plain{color:#909399;background:#f4f4f5;border-color:#d3d4d6}.el-button--info.is-plain:focus,.el-button--info.is-plain:hover{background:#909399;border-color:#909399;color:#FFF}.el-button--info.is-plain:active{background:#82848a;border-color:#82848a;color:#FFF;outline:0}.el-button--info.is-plain.is-disabled,.el-button--info.is-plain.is-disabled:active,.el-button--info.is-plain.is-disabled:focus,.el-button--info.is-plain.is-disabled:hover{color:#bcbec2;background-color:#f4f4f5;border-color:#e9e9eb}.el-button--text,.el-button--text.is-disabled,.el-button--text.is-disabled:focus,.el-button--text.is-disabled:hover,.el-button--text:active{border-color:transparent}.el-button--medium{padding:10px 20px;font-size:14px;border-radius:4px}.el-button--mini,.el-button--small{font-size:12px;border-radius:3px}.el-button--medium.is-round{padding:10px 20px}.el-button--medium.is-circle{padding:10px}.el-button--small,.el-button--small.is-round{padding:9px 15px}.el-button--small.is-circle{padding:9px}.el-button--mini,.el-button--mini.is-round{padding:7px 15px}.el-button--mini.is-circle{padding:7px}.el-button--text{color:#FDA833;background:0 0;padding-left:0;padding-right:0}.el-button--text:focus,.el-button--text:hover{color:rgb(253, 185, 92);border-color:transparent;background-color:transparent}.el-button--text:active{color:rgb(228, 151, 46);background-color:transparent}.el-button-group{display:inline-block;vertical-align:middle}.el-button-group::after,.el-button-group::before{display:table;content:""}.el-button-group::after{clear:both}.el-button-group>.el-button{float:left;position:relative}.el-button-group>.el-button+.el-button{margin-left:0}.el-button-group>.el-button.is-disabled{z-index:1}.el-button-group>.el-button:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.el-button-group>.el-button:last-child{border-top-left-radius:0;border-bottom-left-radius:0}.el-button-group>.el-button:first-child:last-child{border-radius:4px}.el-button-group>.el-button:first-child:last-child.is-round{border-radius:20px}.el-button-group>.el-button:first-child:last-child.is-circle{border-radius:50%}.el-button-group>.el-button:not(:first-child):not(:last-child){border-radius:0}.el-button-group>.el-button:not(:last-child){margin-right:-1px}.el-button-group>.el-button.is-active,.el-button-group>.el-button:active,.el-button-group>.el-button:focus,.el-button-group>.el-button:hover{z-index:1}.el-button-group>.el-dropdown>.el-button{border-top-left-radius:0;border-bottom-left-radius:0;border-left-color:rgba(255,255,255,.5)}.el-button-group .el-button--primary:first-child{border-right-color:rgba(255,255,255,.5)}.el-button-group .el-button--primary:last-child{border-left-color:rgba(255,255,255,.5)}.el-button-group .el-button--primary:not(:first-child):not(:last-child){border-left-color:rgba(255,255,255,.5);border-right-color:rgba(255,255,255,.5)}.el-button-group .el-button--success:first-child{border-right-color:rgba(255,255,255,.5)}.el-button-group .el-button--success:last-child{border-left-color:rgba(255,255,255,.5)}.el-button-group .el-button--success:not(:first-child):not(:last-child){border-left-color:rgba(255,255,255,.5);border-right-color:rgba(255,255,255,.5)}.el-button-group .el-button--warning:first-child{border-right-color:rgba(255,255,255,.5)}.el-button-group .el-button--warning:last-child{border-left-color:rgba(255,255,255,.5)}.el-button-group .el-button--warning:not(:first-child):not(:last-child){border-left-color:rgba(255,255,255,.5);border-right-color:rgba(255,255,255,.5)}.el-button-group .el-button--danger:first-child{border-right-color:rgba(255,255,255,.5)}.el-button-group .el-button--danger:last-child{border-left-color:rgba(255,255,255,.5)}.el-button-group .el-button--danger:not(:first-child):not(:last-child){border-left-color:rgba(255,255,255,.5);border-right-color:rgba(255,255,255,.5)}.el-button-group .el-button--info:first-child{border-right-color:rgba(255,255,255,.5)}.el-button-group .el-button--info:last-child{border-left-color:rgba(255,255,255,.5)}.el-button-group .el-button--info:not(:first-child):not(:last-child){border-left-color:rgba(255,255,255,.5);border-right-color:rgba(255,255,255,.5)}.el-calendar{background-color:#fff}.el-calendar__header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;padding:12px 20px;border-bottom:1px solid #EBEEF5}.el-backtop,.el-page-header{display:-webkit-box;display:-ms-flexbox}.el-calendar__title{color:#000;-ms-flex-item-align:center;align-self:center}.el-calendar__body{padding:12px 20px 35px}.el-calendar-table{table-layout:fixed;width:100%}.el-calendar-table thead th{padding:12px 0;color:#606266;font-weight:400}.el-calendar-table:not(.is-range) td.next,.el-calendar-table:not(.is-range) td.prev{color:#C0C4CC}.el-backtop,.el-calendar-table td.is-today{color:#FDA833}.el-calendar-table td{border-bottom:1px solid #EBEEF5;border-right:1px solid #EBEEF5;vertical-align:top;-webkit-transition:background-color .2s ease;transition:background-color .2s ease}.el-calendar-table td.is-selected{background-color:#F2F8FE}.el-calendar-table tr:first-child td{border-top:1px solid #EBEEF5}.el-calendar-table tr td:first-child{border-left:1px solid #EBEEF5}.el-calendar-table tr.el-calendar-table__row--hide-border td{border-top:none}.el-calendar-table .el-calendar-day{-webkit-box-sizing:border-box;box-sizing:border-box;padding:8px;height:85px}.el-calendar-table .el-calendar-day:hover{cursor:pointer;background-color:#F2F8FE}.el-backtop{position:fixed;background-color:#FFF;width:40px;height:40px;border-radius:50%;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;font-size:20px;-webkit-box-shadow:0 0 6px rgba(0,0,0,.12);box-shadow:0 0 6px rgba(0,0,0,.12);cursor:pointer;z-index:5}.el-backtop:hover{background-color:#F2F6FC}.el-page-header{display:flex;line-height:24px}.el-page-header__left{display:-webkit-box;display:-ms-flexbox;display:flex;cursor:pointer;margin-right:40px;position:relative}.el-page-header__left::after{content:"";position:absolute;width:1px;height:16px;right:-20px;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);background-color:#DCDFE6}.el-checkbox,.el-checkbox__input{display:inline-block;position:relative;white-space:nowrap}.el-page-header__left .el-icon-back{font-size:18px;margin-right:6px;-ms-flex-item-align:center;align-self:center}.el-page-header__title{font-size:14px;font-weight:500}.el-page-header__content{font-size:18px;color:#303133}.el-checkbox{color:#606266;font-weight:500;font-size:14px;cursor:pointer;user-select:none;margin-right:30px}.el-checkbox-button__inner,.el-radio{font-weight:500;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none}.el-checkbox.is-bordered{padding:9px 20px 9px 10px;border-radius:4px;border:1px solid #DCDFE6;-webkit-box-sizing:border-box;box-sizing:border-box;line-height:normal;height:40px}.el-checkbox.is-bordered.is-checked{border-color:#FDA833}.el-checkbox.is-bordered.is-disabled{border-color:#EBEEF5;cursor:not-allowed}.el-checkbox.is-bordered+.el-checkbox.is-bordered{margin-left:10px}.el-checkbox.is-bordered.el-checkbox--medium{padding:7px 20px 7px 10px;border-radius:4px;height:36px}.el-checkbox.is-bordered.el-checkbox--medium .el-checkbox__label{line-height:17px;font-size:14px}.el-checkbox.is-bordered.el-checkbox--medium .el-checkbox__inner{height:14px;width:14px}.el-checkbox.is-bordered.el-checkbox--small{padding:5px 15px 5px 10px;border-radius:3px;height:32px}.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__label{line-height:15px;font-size:12px}.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner{height:12px;width:12px}.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner::after{height:6px;width:2px}.el-checkbox.is-bordered.el-checkbox--mini{padding:3px 15px 3px 10px;border-radius:3px;height:28px}.el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__label{line-height:12px;font-size:12px}.el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__inner{height:12px;width:12px}.el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__inner::after{height:6px;width:2px}.el-checkbox__input{cursor:pointer;outline:0;line-height:1;vertical-align:middle}.el-checkbox__input.is-disabled .el-checkbox__inner{background-color:#edf2fc;border-color:#DCDFE6;cursor:not-allowed}.el-checkbox__input.is-disabled .el-checkbox__inner::after{cursor:not-allowed;border-color:#C0C4CC}.el-checkbox__input.is-disabled .el-checkbox__inner+.el-checkbox__label{cursor:not-allowed}.el-checkbox__input.is-disabled.is-checked .el-checkbox__inner{background-color:#F2F6FC;border-color:#DCDFE6}.el-checkbox__input.is-disabled.is-checked .el-checkbox__inner::after{border-color:#C0C4CC}.el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner{background-color:#F2F6FC;border-color:#DCDFE6}.el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner::before{background-color:#C0C4CC;border-color:#C0C4CC}.el-checkbox__input.is-checked .el-checkbox__inner,.el-checkbox__input.is-indeterminate .el-checkbox__inner{background-color:#FDA833;border-color:#FDA833}.el-checkbox__input.is-disabled+span.el-checkbox__label{color:#C0C4CC;cursor:not-allowed}.el-checkbox__input.is-checked .el-checkbox__inner::after{-webkit-transform:rotate(45deg) scaleY(1);transform:rotate(45deg) scaleY(1)}.el-checkbox__input.is-checked+.el-checkbox__label{color:#FDA833}.el-checkbox__input.is-focus .el-checkbox__inner{border-color:#FDA833}.el-checkbox__input.is-indeterminate .el-checkbox__inner::before{content:'';position:absolute;display:block;background-color:#FFF;height:2px;-webkit-transform:scale(.5);transform:scale(.5);left:0;right:0;top:5px}.el-checkbox__input.is-indeterminate .el-checkbox__inner::after{display:none}.el-checkbox__inner{display:inline-block;position:relative;border:1px solid #DCDFE6;border-radius:2px;-webkit-box-sizing:border-box;box-sizing:border-box;width:14px;height:14px;background-color:#FFF;z-index:1;-webkit-transition:border-color .25s cubic-bezier(.71,-.46,.29,1.46),background-color .25s cubic-bezier(.71,-.46,.29,1.46);transition:border-color .25s cubic-bezier(.71,-.46,.29,1.46),background-color .25s cubic-bezier(.71,-.46,.29,1.46)}.el-checkbox__inner:hover{border-color:#FDA833}.el-checkbox__inner::after{-webkit-box-sizing:content-box;box-sizing:content-box;content:"";border:1px solid #FFF;border-left:0;border-top:0;height:7px;left:4px;position:absolute;top:1px;-webkit-transform:rotate(45deg) scaleY(0);transform:rotate(45deg) scaleY(0);width:3px;-webkit-transition:-webkit-transform .15s ease-in .05s;transition:-webkit-transform .15s ease-in .05s;transition:transform .15s ease-in .05s;transition:transform .15s ease-in .05s,-webkit-transform .15s ease-in .05s;-webkit-transform-origin:center;transform-origin:center}.el-checkbox__original{opacity:0;outline:0;position:absolute;margin:0;width:0;height:0;z-index:-1}.el-checkbox-button,.el-checkbox-button__inner{display:inline-block;position:relative}.el-checkbox__label{display:inline-block;padding-left:10px;line-height:19px;font-size:14px}.el-checkbox:last-of-type{margin-right:0}.el-checkbox-button__inner{line-height:1;white-space:nowrap;vertical-align:middle;cursor:pointer;background:#FFF;border:1px solid #DCDFE6;border-left:0;color:#606266;-webkit-appearance:none;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box;outline:0;margin:0;-webkit-transition:all .3s cubic-bezier(.645,.045,.355,1);transition:all .3s cubic-bezier(.645,.045,.355,1);padding:12px 20px;font-size:14px;border-radius:0}.el-checkbox-button__inner.is-round{padding:12px 20px}.el-checkbox-button__inner:hover{color:#FDA833}.el-checkbox-button__inner [class*=el-icon-]{line-height:.9}.el-radio,.el-radio__input{line-height:1;outline:0;white-space:nowrap}.el-checkbox-button__inner [class*=el-icon-]+span{margin-left:5px}.el-checkbox-button__original{opacity:0;outline:0;position:absolute;margin:0;z-index:-1}.el-radio,.el-radio__inner,.el-radio__input{position:relative;display:inline-block}.el-checkbox-button.is-checked .el-checkbox-button__inner{color:#FFF;background-color:#FDA833;border-color:#FDA833;-webkit-box-shadow:-1px 0 0 0 rgb(254, 203, 133);box-shadow:-1px 0 0 0 rgb(254, 203, 133)}.el-checkbox-button.is-checked:first-child .el-checkbox-button__inner{border-left-color:#FDA833}.el-checkbox-button.is-disabled .el-checkbox-button__inner{color:#C0C4CC;cursor:not-allowed;background-image:none;background-color:#FFF;border-color:#EBEEF5;-webkit-box-shadow:none;box-shadow:none}.el-checkbox-button.is-disabled:first-child .el-checkbox-button__inner{border-left-color:#EBEEF5}.el-checkbox-button:first-child .el-checkbox-button__inner{border-left:1px solid #DCDFE6;border-radius:4px 0 0 4px;-webkit-box-shadow:none!important;box-shadow:none!important}.el-checkbox-button.is-focus .el-checkbox-button__inner{border-color:#FDA833}.el-checkbox-button:last-child .el-checkbox-button__inner{border-radius:0 4px 4px 0}.el-checkbox-button--medium .el-checkbox-button__inner{padding:10px 20px;font-size:14px;border-radius:0}.el-checkbox-button--medium .el-checkbox-button__inner.is-round{padding:10px 20px}.el-checkbox-button--small .el-checkbox-button__inner{padding:9px 15px;font-size:12px;border-radius:0}.el-checkbox-button--small .el-checkbox-button__inner.is-round{padding:9px 15px}.el-checkbox-button--mini .el-checkbox-button__inner{padding:7px 15px;font-size:12px;border-radius:0}.el-checkbox-button--mini .el-checkbox-button__inner.is-round{padding:7px 15px}.el-checkbox-group{font-size:0}.el-radio,.el-radio--medium.is-bordered .el-radio__label{font-size:14px}.el-radio{color:#606266;cursor:pointer;margin-right:30px}.el-cascader-node>.el-radio,.el-radio:last-child{margin-right:0}.el-radio.is-bordered{padding:12px 20px 0 10px;border-radius:4px;border:1px solid #DCDFE6;-webkit-box-sizing:border-box;box-sizing:border-box;height:40px}.el-radio.is-bordered.is-checked{border-color:#FDA833}.el-radio.is-bordered.is-disabled{cursor:not-allowed;border-color:#EBEEF5}.el-radio__input.is-disabled .el-radio__inner,.el-radio__input.is-disabled.is-checked .el-radio__inner{background-color:#F5F7FA;border-color:#E4E7ED}.el-radio.is-bordered+.el-radio.is-bordered{margin-left:10px}.el-radio--medium.is-bordered{padding:10px 20px 0 10px;border-radius:4px;height:36px}.el-radio--mini.is-bordered .el-radio__label,.el-radio--small.is-bordered .el-radio__label{font-size:12px}.el-radio--medium.is-bordered .el-radio__inner{height:14px;width:14px}.el-radio--small.is-bordered{padding:8px 15px 0 10px;border-radius:3px;height:32px}.el-radio--small.is-bordered .el-radio__inner{height:12px;width:12px}.el-radio--mini.is-bordered{padding:6px 15px 0 10px;border-radius:3px;height:28px}.el-radio--mini.is-bordered .el-radio__inner{height:12px;width:12px}.el-radio__input{cursor:pointer;vertical-align:middle}.el-radio__input.is-disabled .el-radio__inner{cursor:not-allowed}.el-radio__input.is-disabled .el-radio__inner::after{cursor:not-allowed;background-color:#F5F7FA}.el-radio__input.is-disabled .el-radio__inner+.el-radio__label{cursor:not-allowed}.el-radio__input.is-disabled.is-checked .el-radio__inner::after{background-color:#C0C4CC}.el-radio__input.is-disabled+span.el-radio__label{color:#C0C4CC;cursor:not-allowed}.el-radio__input.is-checked .el-radio__inner{border-color:#FDA833;background:#FDA833}.el-radio__input.is-checked .el-radio__inner::after{-webkit-transform:translate(-50%,-50%) scale(1);transform:translate(-50%,-50%) scale(1)}.el-radio__input.is-checked+.el-radio__label{color:#FDA833}.el-radio__input.is-focus .el-radio__inner{border-color:#FDA833}.el-radio__inner{border:1px solid #DCDFE6;border-radius:100%;width:14px;height:14px;background-color:#FFF;cursor:pointer;-webkit-box-sizing:border-box;box-sizing:border-box}.el-radio__inner:hover{border-color:#FDA833}.el-radio__inner::after{width:4px;height:4px;border-radius:100%;background-color:#FFF;content:"";position:absolute;left:50%;top:50%;-webkit-transform:translate(-50%,-50%) scale(0);transform:translate(-50%,-50%) scale(0);-webkit-transition:-webkit-transform .15s ease-in;transition:-webkit-transform .15s ease-in;transition:transform .15s ease-in;transition:transform .15s ease-in,-webkit-transform .15s ease-in}.el-radio__original{opacity:0;outline:0;position:absolute;z-index:-1;top:0;left:0;right:0;bottom:0;margin:0}.el-radio:focus:not(.is-focus):not(:active):not(.is-disabled) .el-radio__inner{-webkit-box-shadow:0 0 2px 2px #FDA833;box-shadow:0 0 2px 2px #FDA833}.el-radio__label{font-size:14px;padding-left:10px}.el-scrollbar{overflow:hidden;position:relative}.el-scrollbar:active>.el-scrollbar__bar,.el-scrollbar:focus>.el-scrollbar__bar,.el-scrollbar:hover>.el-scrollbar__bar{opacity:1;-webkit-transition:opacity 340ms ease-out;transition:opacity 340ms ease-out}.el-scrollbar__wrap{overflow:scroll;height:100%}.el-scrollbar__wrap--hidden-default{scrollbar-width:none}.el-scrollbar__wrap--hidden-default::-webkit-scrollbar{width:0;height:0}.el-scrollbar__thumb{position:relative;display:block;width:0;height:0;cursor:pointer;border-radius:inherit;background-color:rgba(144,147,153,.3);-webkit-transition:.3s background-color;transition:.3s background-color}.el-scrollbar__thumb:hover{background-color:rgba(144,147,153,.5)}.el-scrollbar__bar{position:absolute;right:2px;bottom:2px;z-index:1;border-radius:4px;opacity:0;-webkit-transition:opacity 120ms ease-out;transition:opacity 120ms ease-out}.el-scrollbar__bar.is-vertical{width:6px;top:2px}.el-scrollbar__bar.is-vertical>div{width:100%}.el-scrollbar__bar.is-horizontal{height:6px;left:2px}.el-scrollbar__bar.is-horizontal>div{height:100%}.el-cascader-panel{display:-webkit-box;display:-ms-flexbox;display:flex;border-radius:4px;font-size:14px}.el-cascader-panel.is-bordered{border:1px solid #E4E7ED;border-radius:4px}.el-cascader-menu{min-width:180px;-webkit-box-sizing:border-box;box-sizing:border-box;color:#606266;border-right:solid 1px #E4E7ED}.el-cascader-menu:last-child{border-right:none}.el-cascader-menu:last-child .el-cascader-node{padding-right:20px}.el-cascader-menu__wrap{height:204px}.el-cascader-menu__list{position:relative;min-height:100%;margin:0;padding:6px 0;list-style:none;-webkit-box-sizing:border-box;box-sizing:border-box}.el-avatar,.el-drawer{-webkit-box-sizing:border-box;overflow:hidden}.el-cascader-menu__hover-zone{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.el-cascader-menu__empty-text{position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);text-align:center;color:#C0C4CC}.el-cascader-node{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:0 30px 0 20px;height:34px;line-height:34px;outline:0}.el-cascader-node.is-selectable.in-active-path{color:#606266}.el-cascader-node.in-active-path,.el-cascader-node.is-active,.el-cascader-node.is-selectable.in-checked-path{color:#FDA833;font-weight:700}.el-cascader-node:not(.is-disabled){cursor:pointer}.el-cascader-node:not(.is-disabled):focus,.el-cascader-node:not(.is-disabled):hover{background:#F5F7FA}.el-cascader-node.is-disabled{color:#C0C4CC;cursor:not-allowed}.el-cascader-node__prefix{position:absolute;left:10px}.el-cascader-node__postfix{position:absolute;right:10px}.el-cascader-node__label{-webkit-box-flex:1;-ms-flex:1;flex:1;padding:0 10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.el-cascader-node>.el-radio .el-radio__label{padding-left:0}.el-avatar{display:inline-block;box-sizing:border-box;text-align:center;color:#fff;background:#C0C4CC;width:40px;height:40px;line-height:40px;font-size:14px}.el-avatar>img{display:block;height:100%;vertical-align:middle}.el-drawer,.el-drawer__header{display:-webkit-box;display:-ms-flexbox}.el-avatar--circle{border-radius:50%}.el-avatar--square{border-radius:4px}.el-avatar--icon{font-size:18px}.el-avatar--large{width:40px;height:40px;line-height:40px}.el-avatar--medium{width:36px;height:36px;line-height:36px}.el-avatar--small{width:28px;height:28px;line-height:28px}.el-drawer.btt,.el-drawer.ttb,.el-drawer__container{left:0;right:0;width:100%}.el-drawer.ltr,.el-drawer.rtl,.el-drawer__container{top:0;bottom:0;height:100%}@-webkit-keyframes el-drawer-fade-in{0%{opacity:0}100%{opacity:1}}@keyframes el-drawer-fade-in{0%{opacity:0}100%{opacity:1}}@-webkit-keyframes rtl-drawer-in{0%{-webkit-transform:translate(100%,0);transform:translate(100%,0)}100%{-webkit-transform:translate(0,0);transform:translate(0,0)}}@keyframes rtl-drawer-in{0%{-webkit-transform:translate(100%,0);transform:translate(100%,0)}100%{-webkit-transform:translate(0,0);transform:translate(0,0)}}@-webkit-keyframes rtl-drawer-out{0%{-webkit-transform:translate(0,0);transform:translate(0,0)}100%{-webkit-transform:translate(100%,0);transform:translate(100%,0)}}@keyframes rtl-drawer-out{0%{-webkit-transform:translate(0,0);transform:translate(0,0)}100%{-webkit-transform:translate(100%,0);transform:translate(100%,0)}}@-webkit-keyframes ltr-drawer-in{0%{-webkit-transform:translate(-100%,0);transform:translate(-100%,0)}100%{-webkit-transform:translate(0,0);transform:translate(0,0)}}@keyframes ltr-drawer-in{0%{-webkit-transform:translate(-100%,0);transform:translate(-100%,0)}100%{-webkit-transform:translate(0,0);transform:translate(0,0)}}@-webkit-keyframes ltr-drawer-out{0%{-webkit-transform:translate(0,0);transform:translate(0,0)}100%{-webkit-transform:translate(-100%,0);transform:translate(-100%,0)}}@keyframes ltr-drawer-out{0%{-webkit-transform:translate(0,0);transform:translate(0,0)}100%{-webkit-transform:translate(-100%,0);transform:translate(-100%,0)}}@-webkit-keyframes ttb-drawer-in{0%{-webkit-transform:translate(0,-100%);transform:translate(0,-100%)}100%{-webkit-transform:translate(0,0);transform:translate(0,0)}}@keyframes ttb-drawer-in{0%{-webkit-transform:translate(0,-100%);transform:translate(0,-100%)}100%{-webkit-transform:translate(0,0);transform:translate(0,0)}}@-webkit-keyframes ttb-drawer-out{0%{-webkit-transform:translate(0,0);transform:translate(0,0)}100%{-webkit-transform:translate(0,-100%);transform:translate(0,-100%)}}@keyframes ttb-drawer-out{0%{-webkit-transform:translate(0,0);transform:translate(0,0)}100%{-webkit-transform:translate(0,-100%);transform:translate(0,-100%)}}@-webkit-keyframes btt-drawer-in{0%{-webkit-transform:translate(0,100%);transform:translate(0,100%)}100%{-webkit-transform:translate(0,0);transform:translate(0,0)}}@keyframes btt-drawer-in{0%{-webkit-transform:translate(0,100%);transform:translate(0,100%)}100%{-webkit-transform:translate(0,0);transform:translate(0,0)}}@-webkit-keyframes btt-drawer-out{0%{-webkit-transform:translate(0,0);transform:translate(0,0)}100%{-webkit-transform:translate(0,100%);transform:translate(0,100%)}}@keyframes btt-drawer-out{0%{-webkit-transform:translate(0,0);transform:translate(0,0)}100%{-webkit-transform:translate(0,100%);transform:translate(0,100%)}}.el-drawer{position:absolute;box-sizing:border-box;background-color:#FFF;display:flex;-ms-flex-direction:column;flex-direction:column;-webkit-box-shadow:0 8px 10px -5px rgba(0,0,0,.2),0 16px 24px 2px rgba(0,0,0,.14),0 6px 30px 5px rgba(0,0,0,.12);box-shadow:0 8px 10px -5px rgba(0,0,0,.2),0 16px 24px 2px rgba(0,0,0,.14),0 6px 30px 5px rgba(0,0,0,.12)}.el-drawer.rtl{-webkit-animation:rtl-drawer-out .3s;animation:rtl-drawer-out .3s;right:0}.el-drawer__open .el-drawer.rtl{-webkit-animation:rtl-drawer-in .3s 1ms;animation:rtl-drawer-in .3s 1ms}.el-drawer.ltr{-webkit-animation:ltr-drawer-out .3s;animation:ltr-drawer-out .3s;left:0}.el-drawer__open .el-drawer.ltr{-webkit-animation:ltr-drawer-in .3s 1ms;animation:ltr-drawer-in .3s 1ms}.el-drawer.ttb{-webkit-animation:ttb-drawer-out .3s;animation:ttb-drawer-out .3s;top:0}.el-drawer__open .el-drawer.ttb{-webkit-animation:ttb-drawer-in .3s 1ms;animation:ttb-drawer-in .3s 1ms}.el-drawer.btt{-webkit-animation:btt-drawer-out .3s;animation:btt-drawer-out .3s;bottom:0}.el-drawer__open .el-drawer.btt{-webkit-animation:btt-drawer-in .3s 1ms;animation:btt-drawer-in .3s 1ms}.el-drawer__wrapper{position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden;margin:0}.el-drawer__header{-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:#72767b;display:flex;margin-bottom:32px;padding:20px 20px 0}.el-drawer__header>:first-child{-webkit-box-flex:1;-ms-flex:1;flex:1}.el-drawer__title{margin:0;-webkit-box-flex:1;-ms-flex:1;flex:1;line-height:inherit;font-size:1rem}.el-drawer__close-btn{border:none;cursor:pointer;font-size:20px;color:inherit;background-color:transparent}.el-drawer__body{-webkit-box-flex:1;-ms-flex:1;flex:1}.el-drawer__body>*{-webkit-box-sizing:border-box;box-sizing:border-box}.el-drawer__container{position:relative}.el-drawer-fade-enter-active{-webkit-animation:el-drawer-fade-in .3s;animation:el-drawer-fade-in .3s}.el-drawer-fade-leave-active{animation:el-drawer-fade-in .3s reverse}.el-popconfirm__main{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.el-popconfirm__icon{margin-right:5px}.el-popconfirm__action{text-align:right;margin:0}
\ No newline at end of file
diff --git a/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/components/DateRange/index.vue b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/components/DateRange/index.vue
new file mode 100644
index 00000000..f4dd2c0b
--- /dev/null
+++ b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/components/DateRange/index.vue
@@ -0,0 +1,305 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/components/Dialog/index.js b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/components/Dialog/index.js
new file mode 100644
index 00000000..0e5c545f
--- /dev/null
+++ b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/components/Dialog/index.js
@@ -0,0 +1,77 @@
+import $ from 'jquery';
+import Vue from 'vue';
+import router from '@/router';
+import store from '@/store';
+
+window.jQuery = $;
+const layer = require('layui-layer');
+
+class Dialog {
+ /**
+ * 关闭弹窗
+ * @param {*} index 要关闭的弹窗的index
+ */
+ static close (index) {
+ layer.close(index);
+ }
+ /**
+ * 关闭所有弹窗
+ */
+ static closeAll () {
+ layer.closeAll();
+ }
+ /**
+ * 打开弹窗
+ * @param {*} title 弹窗标题
+ * @param {*} component 弹窗内容的组件
+ * @param {*} options 弹窗设置(详情请见layui官网)
+ * @param {*} params 弹窗组件参数
+ */
+ static show (title, component, options, params) {
+ return new Promise((resolve, reject) => {
+ let layerOptions = {
+ title: title,
+ type: 1,
+ skin: 'layer-dialog',
+ resize: false,
+ offset: 'auto',
+ zIndex: 1000,
+ index: 0,
+ contentDom: null
+ };
+
+ layerOptions = {...layerOptions, ...options};
+ layerOptions.end = () => {
+ if (layerOptions.contentDom) document.body.removeChild(layerOptions.contentDom);
+ }
+
+ let observer = {
+ cancel: function (isSuccess = false) {
+ layer.close(this.index);
+ if (isSuccess) {
+ resolve();
+ } else {
+ reject();
+ }
+ },
+ index: -1
+ }
+ layerOptions.cancel = () => {
+ reject();
+ }
+ let dom = document.createElement('div');
+ document.body.appendChild(dom);
+ let Content = Vue.extend(component);
+ let vueObj = new Content({router: router, store: store, propsData: params});
+ vueObj.observer = observer;
+ vueObj.$mount(dom);
+ layerOptions.contentDom = vueObj.$el;
+ layerOptions.content = $(layerOptions.contentDom);
+ observer.index = layer.open(layerOptions);
+ });
+ }
+}
+
+Vue.prototype.$dialog = Dialog;
+
+export default Dialog;
diff --git a/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/components/FilterBox/index.vue b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/components/FilterBox/index.vue
new file mode 100644
index 00000000..d7350358
--- /dev/null
+++ b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/components/FilterBox/index.vue
@@ -0,0 +1,134 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/components/Hamburger/index.vue b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/components/Hamburger/index.vue
new file mode 100644
index 00000000..6df80299
--- /dev/null
+++ b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/components/Hamburger/index.vue
@@ -0,0 +1,44 @@
+
+
+
+
+
+
+
diff --git a/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/components/IconSelect/icon.json b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/components/IconSelect/icon.json
new file mode 100644
index 00000000..13f2f58b
--- /dev/null
+++ b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/components/IconSelect/icon.json
@@ -0,0 +1,280 @@
+[
+ "el-icon-delete-solid",
+ "el-icon-delete",
+ "el-icon-s-tools",
+ "el-icon-setting",
+ "el-icon-user-solid",
+ "el-icon-user",
+ "el-icon-phone",
+ "el-icon-phone-outline",
+ "el-icon-more",
+ "el-icon-more-outline",
+ "el-icon-star-on",
+ "el-icon-star-off",
+ "el-icon-s-goods",
+ "el-icon-goods",
+ "el-icon-warning",
+ "el-icon-warning-outline",
+ "el-icon-question",
+ "el-icon-info",
+ "el-icon-remove",
+ "el-icon-circle-plus",
+ "el-icon-success",
+ "el-icon-error",
+ "el-icon-zoom-in",
+ "el-icon-zoom-out",
+ "el-icon-remove-outline",
+ "el-icon-circle-plus-outline",
+ "el-icon-circle-check",
+ "el-icon-circle-close",
+ "el-icon-s-help",
+ "el-icon-help",
+ "el-icon-minus",
+ "el-icon-plus",
+ "el-icon-check",
+ "el-icon-close",
+ "el-icon-picture",
+ "el-icon-picture-outline",
+ "el-icon-picture-outline-round",
+ "el-icon-upload",
+ "el-icon-upload2",
+ "el-icon-download",
+ "el-icon-camera-solid",
+ "el-icon-camera",
+ "el-icon-video-camera-solid",
+ "el-icon-video-camera",
+ "el-icon-message-solid",
+ "el-icon-bell",
+ "el-icon-s-cooperation",
+ "el-icon-s-order",
+ "el-icon-s-platform",
+ "el-icon-s-fold",
+ "el-icon-s-unfold",
+ "el-icon-s-operation",
+ "el-icon-s-promotion",
+ "el-icon-s-home",
+ "el-icon-s-release",
+ "el-icon-s-ticket",
+ "el-icon-s-management",
+ "el-icon-s-open",
+ "el-icon-s-shop",
+ "el-icon-s-marketing",
+ "el-icon-s-flag",
+ "el-icon-s-comment",
+ "el-icon-s-finance",
+ "el-icon-s-claim",
+ "el-icon-s-custom",
+ "el-icon-s-opportunity",
+ "el-icon-s-data",
+ "el-icon-s-check",
+ "el-icon-s-grid",
+ "el-icon-menu",
+ "el-icon-share",
+ "el-icon-d-caret",
+ "el-icon-caret-left",
+ "el-icon-caret-right",
+ "el-icon-caret-bottom",
+ "el-icon-caret-top",
+ "el-icon-bottom-left",
+ "el-icon-bottom-right",
+ "el-icon-back",
+ "el-icon-right",
+ "el-icon-bottom",
+ "el-icon-top",
+ "el-icon-top-left",
+ "el-icon-top-right",
+ "el-icon-arrow-left",
+ "el-icon-arrow-right",
+ "el-icon-arrow-down",
+ "el-icon-arrow-up",
+ "el-icon-d-arrow-left",
+ "el-icon-d-arrow-right",
+ "el-icon-video-pause",
+ "el-icon-video-play",
+ "el-icon-refresh",
+ "el-icon-refresh-right",
+ "el-icon-refresh-left",
+ "el-icon-finished",
+ "el-icon-sort",
+ "el-icon-sort-up",
+ "el-icon-sort-down",
+ "el-icon-rank",
+ "el-icon-loading",
+ "el-icon-view",
+ "el-icon-c-scale-to-original",
+ "el-icon-date",
+ "el-icon-edit",
+ "el-icon-edit-outline",
+ "el-icon-folder",
+ "el-icon-folder-opened",
+ "el-icon-folder-add",
+ "el-icon-folder-remove",
+ "el-icon-folder-delete",
+ "el-icon-folder-checked",
+ "el-icon-tickets",
+ "el-icon-document-remove",
+ "el-icon-document-delete",
+ "el-icon-document-copy",
+ "el-icon-document-checked",
+ "el-icon-document",
+ "el-icon-document-add",
+ "el-icon-printer",
+ "el-icon-paperclip",
+ "el-icon-takeaway-box",
+ "el-icon-search",
+ "el-icon-monitor",
+ "el-icon-attract",
+ "el-icon-mobile",
+ "el-icon-scissors",
+ "el-icon-umbrella",
+ "el-icon-headset",
+ "el-icon-brush",
+ "el-icon-mouse",
+ "el-icon-coordinate",
+ "el-icon-magic-stick",
+ "el-icon-reading",
+ "el-icon-data-line",
+ "el-icon-data-board",
+ "el-icon-pie-chart",
+ "el-icon-data-analysis",
+ "el-icon-collection-tag",
+ "el-icon-film",
+ "el-icon-suitcase",
+ "el-icon-suitcase-1",
+ "el-icon-receiving",
+ "el-icon-collection",
+ "el-icon-files",
+ "el-icon-notebook-1",
+ "el-icon-notebook-2",
+ "el-icon-toilet-paper",
+ "el-icon-office-building",
+ "el-icon-school",
+ "el-icon-table-lamp",
+ "el-icon-house",
+ "el-icon-no-smoking",
+ "el-icon-smoking",
+ "el-icon-shopping-cart-full",
+ "el-icon-shopping-cart-1",
+ "el-icon-shopping-cart-2",
+ "el-icon-shopping-bag-1",
+ "el-icon-shopping-bag-2",
+ "el-icon-sold-out",
+ "el-icon-sell",
+ "el-icon-present",
+ "el-icon-box",
+ "el-icon-bank-card",
+ "el-icon-money",
+ "el-icon-coin",
+ "el-icon-wallet",
+ "el-icon-discount",
+ "el-icon-price-tag",
+ "el-icon-news",
+ "el-icon-guide",
+ "el-icon-male",
+ "el-icon-female",
+ "el-icon-thumb",
+ "el-icon-cpu",
+ "el-icon-link",
+ "el-icon-connection",
+ "el-icon-open",
+ "el-icon-turn-off",
+ "el-icon-set-up",
+ "el-icon-chat-round",
+ "el-icon-chat-line-round",
+ "el-icon-chat-square",
+ "el-icon-chat-dot-round",
+ "el-icon-chat-dot-square",
+ "el-icon-chat-line-square",
+ "el-icon-message",
+ "el-icon-postcard",
+ "el-icon-position",
+ "el-icon-turn-off-microphone",
+ "el-icon-microphone",
+ "el-icon-close-notification",
+ "el-icon-bangzhu",
+ "el-icon-time",
+ "el-icon-odometer",
+ "el-icon-crop",
+ "el-icon-aim",
+ "el-icon-switch-button",
+ "el-icon-full-screen",
+ "el-icon-copy-document",
+ "el-icon-mic",
+ "el-icon-stopwatch",
+ "el-icon-medal-1",
+ "el-icon-medal",
+ "el-icon-trophy",
+ "el-icon-trophy-1",
+ "el-icon-first-aid-kit",
+ "el-icon-discover",
+ "el-icon-place",
+ "el-icon-location",
+ "el-icon-location-outline",
+ "el-icon-location-information",
+ "el-icon-add-location",
+ "el-icon-delete-location",
+ "el-icon-map-location",
+ "el-icon-alarm-clock",
+ "el-icon-timer",
+ "el-icon-watch-1",
+ "el-icon-watch",
+ "el-icon-lock",
+ "el-icon-unlock",
+ "el-icon-key",
+ "el-icon-service",
+ "el-icon-mobile-phone",
+ "el-icon-bicycle",
+ "el-icon-truck",
+ "el-icon-ship",
+ "el-icon-basketball",
+ "el-icon-football",
+ "el-icon-soccer",
+ "el-icon-baseball",
+ "el-icon-wind-power",
+ "el-icon-light-rain",
+ "el-icon-lightning",
+ "el-icon-heavy-rain",
+ "el-icon-sunrise",
+ "el-icon-sunrise-1",
+ "el-icon-sunset",
+ "el-icon-sunny",
+ "el-icon-cloudy",
+ "el-icon-partly-cloudy",
+ "el-icon-cloudy-and-sunny",
+ "el-icon-moon",
+ "el-icon-moon-night",
+ "el-icon-dish",
+ "el-icon-dish-1",
+ "el-icon-food",
+ "el-icon-chicken",
+ "el-icon-fork-spoon",
+ "el-icon-knife-fork",
+ "el-icon-burger",
+ "el-icon-tableware",
+ "el-icon-sugar",
+ "el-icon-dessert",
+ "el-icon-ice-cream",
+ "el-icon-hot-water",
+ "el-icon-water-cup",
+ "el-icon-coffee-cup",
+ "el-icon-cold-drink",
+ "el-icon-goblet",
+ "el-icon-goblet-full",
+ "el-icon-goblet-square",
+ "el-icon-goblet-square-full",
+ "el-icon-refrigerator",
+ "el-icon-grape",
+ "el-icon-watermelon",
+ "el-icon-cherry",
+ "el-icon-apple",
+ "el-icon-pear",
+ "el-icon-orange",
+ "el-icon-coffee",
+ "el-icon-ice-tea",
+ "el-icon-ice-drink",
+ "el-icon-milk-tea",
+ "el-icon-potato-strips",
+ "el-icon-lollipop",
+ "el-icon-ice-cream-square",
+ "el-icon-ice-cream-round"
+]
\ No newline at end of file
diff --git a/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/components/IconSelect/index.vue b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/components/IconSelect/index.vue
new file mode 100644
index 00000000..06be852b
--- /dev/null
+++ b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/components/IconSelect/index.vue
@@ -0,0 +1,104 @@
+
+
+
+
+
+
+
+
+
+ 清空
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/components/InputNumberRange/index.vue b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/components/InputNumberRange/index.vue
new file mode 100644
index 00000000..94f59ba4
--- /dev/null
+++ b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/components/InputNumberRange/index.vue
@@ -0,0 +1,226 @@
+
+
+
+
+
+
+
diff --git a/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/components/Progress/index.vue b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/components/Progress/index.vue
new file mode 100644
index 00000000..2225e489
--- /dev/null
+++ b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/components/Progress/index.vue
@@ -0,0 +1,44 @@
+
+
+
+
+
diff --git a/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/components/RichEditor/index.vue b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/components/RichEditor/index.vue
new file mode 100644
index 00000000..d839a475
--- /dev/null
+++ b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/components/RichEditor/index.vue
@@ -0,0 +1,129 @@
+
+
+
+
+
+
+
diff --git a/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/components/TableProgressColumn/index.vue b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/components/TableProgressColumn/index.vue
new file mode 100644
index 00000000..7e82a4eb
--- /dev/null
+++ b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/components/TableProgressColumn/index.vue
@@ -0,0 +1,119 @@
+
+
+
+
+
+
+
+
+
diff --git a/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/components/TreeSelect/index.vue b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/components/TreeSelect/index.vue
new file mode 100644
index 00000000..9099558f
--- /dev/null
+++ b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/components/TreeSelect/index.vue
@@ -0,0 +1,300 @@
+
+
+
+
+ {{data[getDataProps.label]}}
+
+
+
+
+
+
+
+
+
+
+
diff --git a/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/core/config/development.js b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/core/config/development.js
new file mode 100644
index 00000000..bbc6d3f5
--- /dev/null
+++ b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/core/config/development.js
@@ -0,0 +1,4 @@
+module.exports = {
+ baseUrl: 'http://localhost:9998/',
+ projectName: 'UAA应用管理项目'
+}
diff --git a/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/core/config/index.js b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/core/config/index.js
new file mode 100644
index 00000000..be8f130e
--- /dev/null
+++ b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/core/config/index.js
@@ -0,0 +1,12 @@
+const projectConfig = require('../config/' + process.env.NODE_ENV);
+
+export const globalConfig = {
+ httpOption: {
+ showMask: true,
+ showError: true
+ },
+ axiosOption: {
+ }
+};
+
+export default projectConfig;
diff --git a/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/core/config/production.js b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/core/config/production.js
new file mode 100644
index 00000000..bbc6d3f5
--- /dev/null
+++ b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/core/config/production.js
@@ -0,0 +1,4 @@
+module.exports = {
+ baseUrl: 'http://localhost:9998/',
+ projectName: 'UAA应用管理项目'
+}
diff --git a/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/core/directive/sortable.js b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/core/directive/sortable.js
new file mode 100644
index 00000000..410de2d9
--- /dev/null
+++ b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/core/directive/sortable.js
@@ -0,0 +1,14 @@
+import Vue from 'vue'
+import { SortableData } from './sortableData';
+
+/**
+ * 拖拽排序指令
+ */
+Vue.directive('sortable', {
+ inserted: function (el, binding, vnode) {
+ let sortableData = binding.value;
+ if (sortableData == null || !(sortableData instanceof SortableData)) return;
+
+ sortableData.init(vnode.elm);
+ }
+});
diff --git a/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/core/directive/sortableData.js b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/core/directive/sortableData.js
new file mode 100644
index 00000000..4993e08a
--- /dev/null
+++ b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/core/directive/sortableData.js
@@ -0,0 +1,60 @@
+import sortable from 'sortablejs'
+/**
+ * 拖拽排序对象
+ * expample
+ *
+ * - A
+ * - B
+ * - C
+ * - D
+ *
+ */
+export class SortableData {
+ constructor (data, group) {
+ this.list = data;
+ this.group = group;
+ this.ghostClass = 'sortable-ghost';
+ this.sortable = null;
+ this.disabled = false;
+ };
+
+ setData (list) {
+ this.list = list;
+ }
+
+ getElement (el) {
+ return el;
+ };
+
+ onEnd (oldIndex, newIndex) {
+ if (oldIndex === newIndex || this.list == null) return;
+ let targetRow = this.list.splice(oldIndex, 1)[0]
+ this.list.splice(newIndex, 0, targetRow);
+ };
+
+ init (el) {
+ var _this = this;
+
+ var _option = {};
+ if (this.ghostClass != null) _option.ghostClass = this.ghostClass;
+ if (this.group != null) _option.group = this.group;
+ if (this.disabled != null) _option.disabled = this.disabled;
+ // 列表中能拖动的dom的选择器(例如:.drag-item)
+ if (this.draggable != null) _option.draggable = this.draggable;
+ // 列表中拖动项,拖动把柄的选择器,只有点击这个选择出来的dom才可以开始拖动(例如:.drag-handle)
+ if (this.handle != null) _option.handle = this.handle;
+ _option.setData = function (dataTransfer) {
+ dataTransfer.setData('Text', '');
+ };
+ _option.onEnd = function (evt) {
+ _this.onEnd(evt.oldIndex, evt.newIndex);
+ };
+
+ this.sortable = sortable.create(_this.getElement(el), _option);
+ };
+
+ release () {
+ if (this.sortable != null) this.sortable.destroy();
+ this.sortable = null;
+ }
+};
diff --git a/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/core/http/index.js b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/core/http/index.js
new file mode 100644
index 00000000..ed4b2be0
--- /dev/null
+++ b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/core/http/index.js
@@ -0,0 +1,185 @@
+import Vue from 'vue';
+import { Loading, Message } from 'element-ui';
+import request from './request';
+import requestUrl from './requestUrl';
+import merge from 'lodash/merge';
+import { globalConfig } from '@/core/config';
+
+/**
+ * 遮罩管理,多次调用支持引用计数
+ */
+class LoadingManager {
+ constructor (options) {
+ this.options = options;
+ this.refCount = 0;
+ this.loading = undefined;
+ }
+
+ showMask () {
+ this.loading = Loading.service(this.options);
+ this.refCount++;
+ }
+
+ hideMask () {
+ if (this.refCount <= 1 && this.loading != null) {
+ this.loading.close();
+ this.loading = null;
+ }
+ this.refCount--;
+ this.refCount = Math.max(0, this.refCount);
+ }
+}
+
+const loadingManager = new LoadingManager({
+ fullscreen: true,
+ background: 'rgba(0, 0, 0, 0.1)'
+});
+
+/**
+ * post请求
+ * @param {String} url 请求的url
+ * @param {Object} params 请求参数
+ * @param {Object} options axios设置项
+ * @returns {Promise}
+ */
+const fetchPost = function (url, params, options) {
+ if (options == null) return {};
+ let tempOptions = {
+ ...options,
+ method: 'post',
+ url: requestUrl(url),
+ data: params
+ };
+
+ return request(tempOptions);
+};
+/**
+ * get请求
+ * @param {String} url 请求的url
+ * @param {Object} params 请求参数
+ * @param {Object} options axios设置项
+ * @returns {Promise}
+ */
+const fetchGet = function (url, params, options) {
+ if (options == null) return {};
+ let tempOptions = {
+ ...options,
+ method: 'get',
+ url: requestUrl(url),
+ params
+ };
+ return request(tempOptions);
+};
+/**
+ * 下载请求
+ * @param {String} url 请求的url
+ * @param {Object} params 请求参数
+ * @param {String} fileName 下载后保存的文件名
+ * @returns {Promise}
+ */
+const fetchDownload = function (url, params, fileName) {
+ return new Promise((resolve, reject) => {
+ request({
+ url: requestUrl(url),
+ method: 'post',
+ data: params,
+ responseType: 'blob',
+ transformResponse: function (data) {
+ return (data instanceof Blob && data.size > 0) ? data : undefined;
+ }
+ }).then(res => {
+ if (res.data == null) {
+ reject(new Error('下载文件失败'));
+ } else {
+ let blobData = new Blob([res.data], { type: 'application/octet-stream' });
+ let blobUrl = window.URL.createObjectURL(blobData);
+ let linkDom = document.createElement('a');
+ linkDom.style.display = 'none';
+ linkDom.href = blobUrl;
+ linkDom.setAttribute('download', fileName);
+ if (typeof linkDom.download === 'undefined') {
+ linkDom.setAttribute('target', '_blank');
+ }
+ document.body.appendChild(linkDom);
+ linkDom.click();
+ document.body.removeChild(linkDom);
+ window.URL.revokeObjectURL(blobData);
+ resolve();
+ }
+ }).catch(e => {
+ if (e instanceof Blob) {
+ let reader = new FileReader();
+ reader.onload = function () {
+ let jsonObj = JSON.parse(reader.result);
+ reject((jsonObj || {}).errorMessage || '下载文件失败');
+ }
+ reader.readAsText(e);
+ } else {
+ reject(e);
+ }
+ });
+ });
+}
+/**
+ * 数据请求
+ * @param {String} url 请求的url
+ * @param {String} type 请求类型(get,post)
+ * @param {Object} params 请求参数
+ * @param {Object} axiosOption axios设置
+ * @param {Object} options 显示设置
+ */
+const doUrl = function (url, type, params, axiosOption, options) {
+ options = merge(globalConfig.httpOption, options);
+ axiosOption = merge(globalConfig.axiosOption, axiosOption);
+ if (type == null || type === '') type = 'post';
+
+ return new Promise((resolve, reject) => {
+ if (options.showMask) loadingManager.showMask();
+ let ajaxCall = null;
+ if (type.toLowerCase() === 'get') {
+ ajaxCall = fetchGet(url, params, axiosOption);
+ } else if (type.toLowerCase() === 'post') {
+ ajaxCall = fetchPost(url, params, axiosOption);
+ }
+
+ if (ajaxCall != null) {
+ ajaxCall.then(res => {
+ if (options.showMask) loadingManager.hideMask();
+ if (res.data && res.data.success) {
+ resolve(res.data);
+ } else {
+ if (options.showError) {
+ Message.error({
+ showClose: true,
+ message: res.data.errorMessage ? res.data.errorMessage : '数据请求失败'
+ });
+ }
+ reject(res.data);
+ }
+ }).catch(e => {
+ if (options.showMask) loadingManager.hideMask();
+ if (options.showError) {
+ Message.error({
+ showClose: true,
+ message: e.errorMessage ? e.errorMessage : '网络请求错误'
+ });
+ }
+ reject(e);
+ });
+ } else {
+ if (options.showMask) loadingManager.hideMask();
+ reject(new Error('错误的请求类型 - ' + type));
+ }
+ });
+};
+
+Vue.prototype.download = fetchDownload;
+Vue.prototype.doUrl = doUrl;
+Vue.prototype.loadingManager = loadingManager;
+
+export default {
+ doUrl,
+ fetchPost,
+ fetchGet,
+ fetchDownload
+}
diff --git a/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/core/http/request.js b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/core/http/request.js
new file mode 100644
index 00000000..939ed4ce
--- /dev/null
+++ b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/core/http/request.js
@@ -0,0 +1,73 @@
+import axios from 'axios';
+import router from '@/router';
+import dialog from '@/components/Dialog';
+import JSONbig from 'json-bigint';
+
+// 创建axios实例
+const service = axios.create({
+ timeout: 1000 * 30,
+ withCredentials: true,
+ headers: {
+ // 'Content-Type': 'application/x-www-form-urlencoded; charset=utf-8'
+ 'Content-Type': 'application/json; charset=utf-8'
+ },
+ transformResponse: [
+ function (data) {
+ if (typeof data === 'string') {
+ const JSONbigString = new JSONbig({storeAsString: true});
+ return JSONbigString.parse(data);
+ } else {
+ return data;
+ }
+ }
+ ]
+})
+
+// request拦截器
+service.interceptors.request.use(
+ config => {
+ let token = window.sessionStorage.getItem('token');
+ let menuIdJsonStr = window.sessionStorage.getItem('currentMenuId');
+ let currentMenuId;
+ if (menuIdJsonStr != null) {
+ currentMenuId = (JSON.parse(menuIdJsonStr) || {}).data;
+ }
+ if (token != null) config.headers['Authorization'] = token;
+ if (currentMenuId != null) config.headers['MenuId'] = currentMenuId;
+ return config
+ }, error => {
+ return Promise.reject(error)
+ }
+);
+
+// response拦截器
+service.interceptors.response.use(
+ response => {
+ if (response.data && response.data.errorCode === 'UNAUTHORIZED_LOGIN') { // 401, token失效
+ dialog.closeAll();
+ router.push({ name: 'login' })
+ } else {
+ if (response.headers['refreshedtoken'] != null) {
+ window.sessionStorage.setItem('token', response.headers['refreshedtoken']);
+ }
+ }
+ return response
+ }, error => {
+ let response = error.response;
+
+ if (response && response.data) {
+ if (response.data.errorCode === 'UNAUTHORIZED_LOGIN') {
+ dialog.closeAll();
+ router.push({ name: 'login' });
+ }
+
+ return Promise.reject(response.data);
+ } else {
+ return Promise.reject(new Error({
+ errorMessage: '数据获取失败,请稍后再试'
+ }));
+ }
+ }
+);
+
+export default service
diff --git a/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/core/http/requestUrl.js b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/core/http/requestUrl.js
new file mode 100644
index 00000000..96a921e1
--- /dev/null
+++ b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/core/http/requestUrl.js
@@ -0,0 +1,27 @@
+import projectConfig from '@/core/config';
+import { objectToQueryString } from '@/utils';
+console.log(process.env.NODE_ENV, projectConfig);
+
+/**
+ * 请求地址统一处理/组装
+ * @param actionName action方法名称
+ */
+export default function (actionName) {
+ if (actionName != null && actionName !== '') {
+ if (actionName.substr(0, 1) === '/') actionName = actionName.substr(1);
+ }
+ return projectConfig.baseUrl + actionName;
+}
+
+export function buildGetUrl (actionName, params) {
+ let queryString = objectToQueryString(params);
+ if (actionName != null && actionName !== '') {
+ if (actionName.substr(0, 1) === '/') actionName = actionName.substr(1);
+ }
+
+ return projectConfig.baseUrl + actionName + (queryString == null ? '' : ('?' + queryString));
+}
+
+export {
+ projectConfig
+}
diff --git a/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/core/mixins/global.js b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/core/mixins/global.js
new file mode 100644
index 00000000..eb756b40
--- /dev/null
+++ b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/core/mixins/global.js
@@ -0,0 +1,117 @@
+import Vue from 'vue';
+import Request from '@/core/http/request.js';
+import { mapMutations, mapGetters } from 'vuex';
+
+// 全局mixin对象
+const globalMixin = {
+ data () {
+ return {
+ isHttpLoading: false
+ }
+ },
+ methods: {
+ /**
+ * 是否显示遮罩
+ * @param {Boolean} isShow 是否显示
+ */
+ showMask (isShow) {
+ isShow ? this.loadingManager.showMask() : this.loadingManager.hideMask();
+ },
+ /**
+ * 判读用户是否有权限
+ * @param {String} permCode 权限字
+ */
+ checkPermCodeExist (permCode) {
+ if (this.getUserInfo.permCodeSet != null) {
+ return this.getUserInfo.permCodeSet.has(permCode);
+ } else {
+ return this.getUserInfo.isAdmin;
+ }
+ },
+ /**
+ * 将输入的值转换成指定的类型
+ * @param {Any} value
+ * @param {String} type 要转换的类型(integer、float、boolean、string)
+ */
+ parseParams (value, type = 'string') {
+ if (value == null) return value;
+ switch (type) {
+ case 'integer': return Number.parseInt(value);
+ case 'float': return Number.parseFloat(value);
+ case 'boolean': return (value === 'true' || value);
+ default: return String(value);
+ }
+ },
+ /**
+ * 将输入值转换为执行的类型数组
+ * @param {Array} value 输入数组
+ * @param {String} type 要转换的类型(integer、float、boolean、string)
+ */
+ parseArrayParams (value, type = 'string') {
+ if (Array.isArray(value)) {
+ return value.map((item) => {
+ switch (type) {
+ case 'integer': return Number.parseInt(item);
+ case 'float': return Number.parseFloat(item);
+ case 'boolean': return (item === 'true' || item);
+ default: return String(item);
+ }
+ });
+ } else {
+ return [];
+ }
+ },
+ /**
+ * 下载上传的文件
+ * @param {*} url 下载文件的url
+ * @param {*} fileName 下载文件名
+ */
+ downloadFile (url, fileName) {
+ console.log(fileName);
+ Request({
+ url: url,
+ method: 'get',
+ responseType: 'blob',
+ transformResponse: function (data) {
+ console.log(data);
+ return data;
+ }
+ }).then(res => {
+ console.log(res);
+ let data = res.data;
+ if (res.status === 200 && data instanceof Blob) {
+ let url = window.URL.createObjectURL(data);
+ let link = document.createElement('a');
+ link.style.display = 'none';
+ link.href = url;
+ link.setAttribute('download', fileName);
+ document.body.appendChild(link);
+ link.click();
+ document.body.removeChild(link);
+ } else {
+ this.$message.error('下载文件失败');
+ }
+ }).catch(e => {
+ let reader = new FileReader();
+ reader.onload = () => {
+ let jsonObj = JSON.parse(reader.result);
+ this.$message.error((jsonObj || {}).errorMessage || '下载文件失败');
+ }
+ reader.readAsText(e);
+ });
+ },
+ ...mapMutations(['setLoadingStatus'])
+ },
+ computed: {
+ ...mapGetters(['getUserInfo'])
+ },
+ watch: {
+ 'loadingManager.loading': {
+ handler: function (newValue) {
+ this.isHttpLoading = (newValue != null);
+ }
+ }
+ }
+}
+
+Vue.mixin(globalMixin);
diff --git a/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/core/mixins/index.js b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/core/mixins/index.js
new file mode 100644
index 00000000..8a18b8b2
--- /dev/null
+++ b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/core/mixins/index.js
@@ -0,0 +1,293 @@
+import projectConfig from '@/core/config';
+import { buildGetUrl } from '@/core/http/requestUrl.js';
+import { formatDate, parseDate } from 'element-ui/src/utils/date-util';
+import { mapMutations } from 'vuex';
+/**
+ * 上传文件组件相关方法
+ */
+const uploadMixin = {
+ methods: {
+ /**
+ * 解析返回的上传文件数据
+ * @param {String} jsonData 上传文件数据,[{name, downloadUri, filename}]
+ * @param {Object} params 上传文件的参数
+ * @returns {Array} 上传文件信息,[{name, downloadUri, filename, url}]
+ */
+ parseUploadData (jsonData, params) {
+ let pathList = [];
+ if (jsonData != null) {
+ try {
+ pathList = JSON.parse(jsonData);
+ } catch (e) {
+ console.error(e);
+ }
+ }
+
+ return pathList.map((item) => {
+ let downloadParams = {...params};
+ downloadParams.filename = item.filename;
+ return {
+ ...item,
+ url: this.getUploadFileUrl(item, downloadParams)
+ }
+ });
+ },
+ /**
+ * 获得上传文件url列表
+ * @param {*} jsonData 上传文件数据,[{name, downloadUri, filename}]
+ * @param {*} params 上传文件的参数
+ * @returns {Array} 文件url列表
+ */
+ getPictureList (jsonData, params) {
+ let tempList = this.parseUploadData(jsonData, params);
+ if (Array.isArray(tempList)) {
+ return tempList.map(item => item.url);
+ } else {
+ return [];
+ }
+ },
+ /**
+ * 将选中文件信息格式化成json信息
+ * @param {Array} fileList 上传文件列表,[{name, fileUrl, data}]
+ */
+ fileListToJson (fileList) {
+ if (Array.isArray(fileList)) {
+ return JSON.stringify(fileList.map((item) => {
+ return {
+ name: item.name,
+ downloadUri: item.downloadUri || item.response.data.downloadUri,
+ filename: item.filename || item.response.data.filename
+ }
+ }));
+ } else {
+ return undefined;
+ }
+ },
+ /**
+ * 获得上传文件url
+ * @param {*} item 上传文件
+ * @param {*} params 上传文件的参数
+ */
+ getUploadFileUrl (item, params) {
+ if (item == null || item.downloadUri == null) {
+ return null;
+ } else {
+ let menuIdJsonStr = window.sessionStorage.getItem('currentMenuId');
+ let currentMenuId;
+ if (menuIdJsonStr != null) {
+ currentMenuId = (JSON.parse(menuIdJsonStr) || {}).data;
+ }
+ params.Authorization = window.sessionStorage.getItem('token');
+ params.MenuId = currentMenuId;
+ return buildGetUrl(item.downloadUri, params);
+ }
+ },
+ /**
+ * 获得上传接口
+ * @param {*} url 上传路径
+ */
+ getUploadActionUrl (url) {
+ if (url != null && url[0] === '/') {
+ url = url.substr(1);
+ }
+ return projectConfig.baseUrl + url;
+ },
+ /**
+ * 上传文件是否图片文件
+ * @param {*} file 上传文件
+ */
+ pictureFile (file) {
+ if (['image/jpeg', 'image/jpg', 'image/png'].indexOf(file.type) !== -1) {
+ return true;
+ } else {
+ this.$message.error('图片文件格式不正确,请重新选择');
+ return false;
+ }
+ }
+ },
+ computed: {
+ getUploadHeaders () {
+ let token = window.sessionStorage.getItem('token');
+ return {
+ Authorization: token
+ }
+ }
+ }
+};
+
+const allowStatsType = [
+ 'time',
+ 'datetime',
+ 'day',
+ 'month',
+ 'year'
+];
+/**
+ * 日期相关方法
+ */
+const statsDateRangeMixin = {
+ methods: {
+ /**
+ * 根据输入的日期获得日期范围(例如:输入2019-12-12,输出['2019-12-12 00:00:00', '2019-12-12 23:59:59'])
+ * @param {Date|String} date 要转换的日期
+ * @param {String} statsType 转换类型(day, month, year)
+ * @param {String} format 输出格式
+ */
+ getDateRangeFilter (date, statsType = 'day', format = 'yyyy-MM-dd HH:mm:ss') {
+ if (date == null) return [];
+
+ statsType = allowStatsType.indexOf(statsType) === -1 ? 'day' : statsType;
+ date = date.substr(0, date.indexOf(' '));
+ let tempList = date.split('-');
+ let year = Number.parseInt(tempList[0]);
+ let month = Number.parseInt(tempList[1]);
+ let day = Number.parseInt(tempList[2]);
+ if (isNaN(year) || isNaN(month) || isNaN(day)) {
+ return [];
+ }
+ let tempDate = new Date(year, month - 1, day);
+ // 判断是否正确的日期
+ if (isNaN(tempDate.getTime())) return [];
+
+ tempDate.setHours(0, 0, 0, 0);
+ let retDate;
+ switch (statsType) {
+ case 'day':
+ retDate = [
+ new Date(tempDate),
+ new Date(tempDate.setDate(tempDate.getDate() + 1))
+ ];
+ break;
+ case 'month':
+ tempDate.setDate(1);
+ retDate = [
+ new Date(tempDate),
+ new Date(tempDate.setMonth(tempDate.getMonth() + 1))
+ ];
+ break;
+ case 'year':
+ tempDate.setDate(1);
+ tempDate.setMonth(0);
+ retDate = [
+ new Date(tempDate),
+ new Date(tempDate.setFullYear(tempDate.getFullYear() + 1))
+ ]
+ }
+
+ retDate[1] = new Date(retDate[1].getTime() - 1);
+
+ return [
+ formatDate(retDate[0], format),
+ formatDate(retDate[1], format)
+ ];
+ },
+ /**
+ * 格式化日期
+ * @param {Date|String} date 要格式化的日期
+ * @param {String} statsType 输出日期类型
+ * @param {String} format 输入日期的格式
+ */
+ formatDateByStatsType (date, statsType = 'day', format = 'yyyy-MM-dd') {
+ if (date == null) return undefined;
+ statsType = allowStatsType.indexOf(statsType) === -1 ? 'day' : statsType;
+ if (statsType === 'datetime') format = 'yyyy-MM-dd HH:mm:ss';
+
+ let tempDate = ((date instanceof Date) ? date : parseDate(date, format));
+ if (!tempDate) return undefined;
+ switch (statsType) {
+ case 'time':
+ return formatDate(tempDate, 'HH:mm:ss');
+ case 'datetime':
+ return formatDate(tempDate, 'yyyy-MM-dd HH:mm:ss');
+ case 'day':
+ return formatDate(tempDate, 'yyyy-MM-dd');
+ case 'month':
+ return formatDate(tempDate, 'yyyy-MM');
+ case 'year':
+ return formatDate(tempDate, 'yyyy');
+ default:
+ return formatDate(tempDate, 'yyyy-MM-dd');
+ }
+ },
+ /**
+ * 获得统计类型中文名称
+ * @param {String} statsType 统计类型(day, month, year)
+ */
+ getStatsTypeShowName (statsType) {
+ statsType = allowStatsType.indexOf(statsType) === -1 ? 'day' : statsType;
+ switch (statsType) {
+ case 'day': return '日统计';
+ case 'month': return '月统计';
+ case 'year': return '年统计';
+ }
+ },
+ /**
+ * 获取统计类型字典列表
+ * @param {Array} statsTypeList 统计类型列表
+ */
+ getAllowStatsTypeList (statsTypeList) {
+ if (Array.isArray(statsTypeList) && statsTypeList.length > 0) {
+ return statsTypeList.map((item) => {
+ return {
+ id: item,
+ name: this.getStatsTypeShowName(item)
+ }
+ });
+ } else {
+ return [];
+ }
+ }
+ }
+}
+/**
+ * 页面缓存相关方法
+ */
+const cachePageMixin = {
+ methods: {
+ /**
+ * 移除缓存页面
+ * @param {*} name 缓存组件的名称
+ */
+ removeCachePage (name) {
+ this.removeCachePage(name);
+ },
+ /**
+ * 从跳转页面返回并且刷新当前页面时调用
+ */
+ onResume () {
+ },
+ ...mapMutations(['addCachePage', 'removeCachePage'])
+ },
+ created () {
+ this.addCachePage(this.$options.name);
+ },
+ activated () {
+ if (this.$route && this.$route.meta && this.$route.meta.refresh) {
+ this.onResume();
+ this.$route.meta.refresh = false;
+ }
+ }
+}
+/**
+ * 缓存页面跳转页面相关方法
+ */
+const cachedPageChildMixin = {
+ data () {
+ return {
+ // 是否刷新父页面
+ refreshParentCachedPage: false
+ }
+ },
+ beforeRouteLeave (to, from, next) {
+ if (to.meta == null) to.meta = {};
+ to.meta.refresh = this.refreshParentCachedPage;
+ next();
+ }
+}
+
+export {
+ uploadMixin,
+ statsDateRangeMixin,
+ cachePageMixin,
+ cachedPageChildMixin
+}
diff --git a/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/main.js b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/main.js
new file mode 100644
index 00000000..fcdd3963
--- /dev/null
+++ b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/main.js
@@ -0,0 +1,36 @@
+import '@/core/http';
+import '@/components/Dialog';
+import Vue from 'vue';
+import ElementUI from 'element-ui';
+// import 'element-ui/lib/theme-chalk/index.css'
+import '@/assets/style/index.scss';
+import '@/core/mixins/global.js';
+import App from './App';
+import router from './router';
+import store from './store';
+import TreeSelect from '@/components/TreeSelect';
+import RichEditor from '@/components/RichEditor';
+import InputNumberRange from '@/components/InputNumberRange';
+import DateRange from '@/components/DateRange';
+import FilterBox from '@/components/FilterBox';
+import TableProgressColumn from '@/components/TableProgressColumn';
+import VCharts from 'v-charts';
+
+Vue.component('tree-select', TreeSelect);
+Vue.component('rich-editor', RichEditor);
+Vue.component('input-number-range', InputNumberRange);
+Vue.component('date-range', DateRange);
+Vue.component('filter-box', FilterBox);
+Vue.component('table-progress-column', TableProgressColumn);
+
+Vue.use(ElementUI);
+Vue.use(VCharts);
+
+Vue.config.productionTip = false;
+
+/* eslint-disable no-new */
+new Vue({
+ router,
+ store,
+ render: h => h(App)
+}).$mount('#app');
diff --git a/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/registerServiceWorker.js b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/registerServiceWorker.js
new file mode 100644
index 00000000..76cede07
--- /dev/null
+++ b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/registerServiceWorker.js
@@ -0,0 +1,32 @@
+/* eslint-disable no-console */
+
+import { register } from 'register-service-worker'
+
+if (process.env.NODE_ENV === 'production') {
+ register(`${process.env.BASE_URL}service-worker.js`, {
+ ready () {
+ console.log(
+ 'App is being served from cache by a service worker.\n' +
+ 'For more details, visit https://goo.gl/AFskqB'
+ )
+ },
+ registered () {
+ console.log('Service worker has been registered.')
+ },
+ cached () {
+ console.log('Content has been cached for offline use.')
+ },
+ updatefound () {
+ console.log('New content is downloading.')
+ },
+ updated () {
+ console.log('New content is available; please refresh.')
+ },
+ offline () {
+ console.log('No internet connection found. App is running in offline mode.')
+ },
+ error (error) {
+ console.error('Error during service worker registration:', error)
+ }
+ })
+}
diff --git a/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/router/import-development.js b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/router/import-development.js
new file mode 100644
index 00000000..b29a72d9
--- /dev/null
+++ b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/router/import-development.js
@@ -0,0 +1 @@
+module.exports = file => require('../views/' + file + '.vue').default
diff --git a/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/router/import-production.js b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/router/import-production.js
new file mode 100644
index 00000000..10d919de
--- /dev/null
+++ b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/router/import-production.js
@@ -0,0 +1 @@
+module.exports = file => () => import('../views/' + file + '.vue')
diff --git a/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/router/index.js b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/router/index.js
new file mode 100644
index 00000000..77356d50
--- /dev/null
+++ b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/router/index.js
@@ -0,0 +1,30 @@
+import Vue from 'vue';
+import Router from 'vue-router';
+import routers from './systemRouters.js';
+import dialog from '@/components/Dialog';
+
+Vue.use(Router)
+
+const router = new Router({
+ mode: 'hash',
+ routes: routers
+});
+
+/**
+ * 路由跳转的时候判断token是否存在
+ */
+router.beforeResolve((to, from, next) => {
+ if (to.name === 'login') {
+ next();
+ } else {
+ let token = sessionStorage.getItem('token');
+ if (!token || !/\S/.test(token)) {
+ dialog.closeAll();
+ next({ name: 'login' })
+ } else {
+ next();
+ }
+ }
+});
+
+export default router;
diff --git a/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/router/systemRouters.js b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/router/systemRouters.js
new file mode 100644
index 00000000..80a3620f
--- /dev/null
+++ b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/router/systemRouters.js
@@ -0,0 +1,32 @@
+// 开发环境不使用懒加载, 因为懒加载页面太多的话会造成webpack热更新太慢, 所以只有开发环境使用懒加载
+const _import = require('./import-' + process.env.NODE_ENV)
+
+function getProps (route) {
+ return route.query;
+}
+
+// 系统生成路由
+const routers = [
+ { path: '/login', component: _import('login/index'), name: 'login', props: getProps, desc: '登录' },
+ {
+ path: '/',
+ component: _import('layout/index'),
+ name: 'main',
+ props: getProps,
+ redirect: {
+ name: 'welcome'
+ },
+ meta: {
+ title: '主页',
+ showOnly: true
+ },
+ children: [
+ {path: 'welcome', component: _import('welcome/index'), name: 'welcome', meta: {title: '欢迎'}},
+ {path: 'formUaaUser', component: _import('generated/formUaaUser/index'), name: 'formUaaUser', props: getProps, meta: {title: '用户管理'}},
+ {path: 'formAuthClient', component: _import('generated/formAuthClient/index'), name: 'formAuthClient', props: getProps, meta: {title: '应用管理'}},
+ {path: 'formUaaOperator', component: _import('generated/formUaaOperator/index'), name: 'formUaaOperator', props: getProps, meta: {title: '操作员管理'}}
+ ]
+ }
+];
+
+export default routers;
diff --git a/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/staticDict/index.js b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/staticDict/index.js
new file mode 100644
index 00000000..32431eb1
--- /dev/null
+++ b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/staticDict/index.js
@@ -0,0 +1,81 @@
+/**
+ * 常量字典数据
+ */
+import Vue from 'vue';
+
+class DictionaryBase extends Map {
+ constructor (dataList, keyId = 'id', symbolId = 'symbol') {
+ super();
+ this.setList(dataList, keyId, symbolId);
+ }
+
+ setList (dataList, keyId = 'id', symbolId = 'symbol') {
+ this.clear();
+ if (Array.isArray(dataList)) {
+ dataList.forEach((item) => {
+ this.set(item[keyId], item);
+ if (item[symbolId] != null) {
+ Object.defineProperty(this, item[symbolId], {
+ get: function () {
+ return item[keyId];
+ }
+ });
+ }
+ });
+ }
+ }
+
+ getList (valueId = 'name', parentIdKey = 'parentId', filter) {
+ let temp = [];
+ this.forEach((value, key) => {
+ let obj = {
+ id: key,
+ name: (typeof value === 'string') ? value : value[valueId],
+ parentId: value[parentIdKey]
+ };
+ if (typeof filter !== 'function' || filter(obj)) {
+ temp.push(obj);
+ }
+ });
+
+ return temp;
+ }
+
+ getValue (id, valueId = 'name') {
+ return (this.get(id) || {})[valueId];
+ }
+}
+
+const UserStatus = new DictionaryBase([
+ {
+ id: 0,
+ name: '正常',
+ symbol: 'USED'
+ },
+ {
+ id: 1,
+ name: '锁定',
+ symbol: 'LOCKED'
+ }
+]);
+Vue.prototype.UserStatus = UserStatus;
+
+const UserType = new DictionaryBase([
+ {
+ id: 0,
+ name: '管理员',
+ symbol: 'ADMIN'
+ },
+ {
+ id: 1,
+ name: '普通操作员',
+ symbol: 'NORMAL'
+ }
+]);
+Vue.prototype.UserType = UserType;
+
+export {
+ DictionaryBase,
+ UserStatus,
+ UserType
+}
diff --git a/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/store/actions.js b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/store/actions.js
new file mode 100644
index 00000000..b1c6ea43
--- /dev/null
+++ b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/store/actions.js
@@ -0,0 +1 @@
+export default {}
diff --git a/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/store/getters.js b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/store/getters.js
new file mode 100644
index 00000000..7aa8daaf
--- /dev/null
+++ b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/store/getters.js
@@ -0,0 +1,45 @@
+import { findMenuItem } from './utils';
+
+export default {
+ getCollapse: (state) => {
+ return state.isCollapse;
+ },
+ getClientHeight: (state) => {
+ return state.documentClientHeight;
+ },
+ getUserInfo: (state) => {
+ return state.userInfo;
+ },
+ getCachePages: (state) => {
+ return state.cachePages;
+ },
+ getTagList: (state) => {
+ return state.tagList;
+ },
+ getMenuList: (state) => {
+ return state.menuList;
+ },
+ getCurrentMenuId: (state) => {
+ return state.currentMenuId;
+ },
+ getMenuItem: (state) => {
+ if (Array.isArray(state.menuList)) {
+ for (let i = 0; i < state.menuList.length; i++) {
+ let temp = findMenuItem(state.menuList[i], state.currentMenuId);
+ if (temp != null) return temp;
+ }
+ }
+ return null;
+ },
+ getCurrentMenuPath: (state) => {
+ let menuPath = [];
+ if (Array.isArray(state.menuList)) {
+ for (let i = 0; i < state.menuList.length; i++) {
+ let temp = findMenuItem(state.menuList[i], state.currentMenuId, menuPath);
+ if (temp != null) break;
+ }
+ }
+
+ return menuPath;
+ }
+}
diff --git a/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/store/index.js b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/store/index.js
new file mode 100644
index 00000000..5fc44198
--- /dev/null
+++ b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/store/index.js
@@ -0,0 +1,15 @@
+import Vue from 'vue';
+import Vuex from 'vuex';
+import state from './state.js';
+import getters from './getters.js';
+import mutations from './mutations.js';
+import actions from './actions.js';
+
+Vue.use(Vuex);
+export default new Vuex.Store({
+ state,
+ getters,
+ mutations,
+ actions,
+ strict: process.env.NODE_ENV !== 'production'
+});
diff --git a/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/store/mutations.js b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/store/mutations.js
new file mode 100644
index 00000000..44fecde4
--- /dev/null
+++ b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/store/mutations.js
@@ -0,0 +1,139 @@
+import { initUserInfo, findMenuItem } from './utils';
+import { setObjectToSessionStorage, findItemFromList, treeDataTranslate } from '@/utils';
+
+export default {
+ setCollapse: (state, isCollapse) => {
+ state.isCollapse = isCollapse;
+ },
+ setClientHeight: (state, height) => {
+ state.documentClientHeight = height;
+ },
+ setUserInfo: (state, info) => {
+ setObjectToSessionStorage('userInfo', info);
+ state.userInfo = initUserInfo(info);
+ },
+ addCachePage (state, name) {
+ if (state.cachePages.indexOf(name) === -1) {
+ let temp = [...state.cachePages];
+ temp.push(name);
+ setObjectToSessionStorage('cachePages', temp);
+ state.cachePages = temp;
+ }
+ },
+ removeCachePage (state, name) {
+ let pos = state.cachePages.indexOf(name);
+ if (pos !== -1) {
+ let temp = [...state.cachePages];
+ temp.splice(pos, 1);
+ setObjectToSessionStorage('cachePages', temp);
+ state.cachePages = temp;
+ }
+ },
+ clearCachePage (state) {
+ setObjectToSessionStorage('cachePages', []);
+ state.cachePages = [];
+ },
+ addTag (state, id) {
+ if (id == null || id === '') return;
+ // 新增的标签是否存在
+ let tagList = state.tagList;
+ let tagItem = null;
+ if (Array.isArray(tagList)) {
+ tagItem = findItemFromList(tagList, id, 'menuId');
+ }
+ if (tagItem != null) return;
+ // 添加新增标签以及更新页面缓存
+ let menuList = state.menuList;
+ let menuObject = null;
+ if (Array.isArray(menuList)) {
+ for (let i = 0; i < menuList.length; i++) {
+ menuObject = findMenuItem(menuList[i], id);
+ if (menuObject != null) break;
+ }
+ }
+ if (menuObject != null) {
+ state.tagList = [...state.tagList, menuObject];
+ if (Array.isArray(state.cachePages) && state.cachePages.indexOf(menuObject.formRouterName) === -1) {
+ state.cachePages = [...state.cachePages, menuObject.formRouterName];
+ }
+ }
+ setObjectToSessionStorage('cachePages', state.cachePages);
+ setObjectToSessionStorage('tagList', state.tagList);
+ },
+ removeTag (state, id) {
+ if (id == null || id === '') return;
+ // 移除标签
+ let nextPos = -1;
+ let tagItem = null;
+ for (let i = 0; i < state.tagList.length; i++) {
+ if (state.tagList[i].menuId === id) {
+ tagItem = state.tagList[i];
+ state.tagList.splice(i, 1);
+ nextPos = Math.min(i, state.tagList.length - 1);
+ }
+ }
+ // let tagItem = findItemFromList(state.tagList, id, 'menuId', true);
+ if (tagItem == null) return;
+ // 移除页面缓存
+ findItemFromList(state.cachePages, tagItem.formRouterName, undefined, true);
+ setObjectToSessionStorage('cachePages', state.cachePages);
+ setObjectToSessionStorage('tagList', state.tagList);
+ // 如果移除的是当前显示页面,重新选择显示页面
+ let showTag = null;
+ if (state.currentMenuId === id) {
+ showTag = state.tagList[nextPos];
+ let tempId = (showTag || {}).menuId;
+ if (setObjectToSessionStorage('currentMenuId', tempId)) state.currentMenuId = tempId;
+ }
+ },
+ closeOtherTags (state, id) {
+ if (id == null || id === '') return;
+ // 移除其他所有标签
+ if (Array.isArray(state.tagList)) {
+ state.tagList = state.tagList.filter((item) => {
+ return item.menuId === id;
+ });
+ }
+
+ let menuObject = state.tagList[0];
+ if (menuObject && menuObject.formRouterName && menuObject.formRouterName !== '') {
+ state.cachePages = [menuObject.formRouterName];
+ if (setObjectToSessionStorage('currentMenuId', menuObject.menuId)) state.currentMenuId = menuObject.menuId;
+ }
+ setObjectToSessionStorage('cachePages', state.cachePages);
+ setObjectToSessionStorage('tagList', state.tagList);
+ },
+ clearAllTags (state) {
+ if (setObjectToSessionStorage('currentMenuId', undefined)) state.currentMenuId = undefined;
+ if (setObjectToSessionStorage('cachePages', [])) state.cachePages = [];
+ if (setObjectToSessionStorage('tagList', [])) state.tagList = [];
+ },
+ setMenuList: (state, list) => {
+ if (Array.isArray(list)) {
+ if (setObjectToSessionStorage('menuList', list)) state.menuList = treeDataTranslate(list, 'menuId', 'parentId');
+ }
+ },
+ setCurrentMenuId: (state, menuId) => {
+ let menuItem = null;
+ if (setObjectToSessionStorage('currentMenuId', menuId)) state.currentMenuId = menuId;
+ if (Array.isArray(state.tagList) && Array.isArray(state.menuList)) {
+ for (let i = 0; i < state.menuList.length; i++) {
+ menuItem = findMenuItem(state.menuList[i], menuId, 'menuId');
+ if (menuItem != null) {
+ // 添加新的tag
+ let tagItem = findItemFromList(state.tagList, menuId, 'menuId');
+ if (tagItem == null) {
+ state.tagList = [...state.tagList, menuItem];
+ setObjectToSessionStorage('tagList', state.tagList);
+ }
+ // 添加新缓存
+ if (Array.isArray(state.cachePages) && state.cachePages.indexOf(menuItem.formRouterName) === -1) {
+ state.cachePages = [...state.cachePages, menuItem.formRouterName];
+ setObjectToSessionStorage('cachePages', state.cachePages);
+ }
+ break;
+ }
+ }
+ }
+ }
+}
diff --git a/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/store/state.js b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/store/state.js
new file mode 100644
index 00000000..9a254ed1
--- /dev/null
+++ b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/store/state.js
@@ -0,0 +1,19 @@
+import { initUserInfo } from './utils';
+import { getObjectFromSessionStorage, treeDataTranslate } from '@/utils';
+
+export default {
+ // 是否左侧菜单折叠
+ isCollapse: false,
+ // 浏览器客户区高度
+ documentClientHeight: 100,
+ // 用户登录信息
+ userInfo: initUserInfo(),
+ // 缓存页面
+ cachePages: getObjectFromSessionStorage('cachePages', []),
+ // 当前标签
+ tagList: getObjectFromSessionStorage('tagList', []),
+ // 菜单列表
+ menuList: treeDataTranslate(getObjectFromSessionStorage('menuList', []), 'menuId', 'parentId'),
+ // 当前菜单
+ currentMenuId: getObjectFromSessionStorage('currentMenuId', undefined)
+}
diff --git a/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/store/utils/index.js b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/store/utils/index.js
new file mode 100644
index 00000000..ec129435
--- /dev/null
+++ b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/store/utils/index.js
@@ -0,0 +1,36 @@
+import { getObjectFromSessionStorage } from '@/utils';
+
+function findMenuItem (menuItem, menuId, path) {
+ if (Array.isArray(path)) path.push(menuItem);
+ if ((menuItem.menuId + '') === (menuId + '')) return menuItem;
+
+ let bFind = false;
+ let findItem = null;
+ if (Array.isArray(menuItem.children)) {
+ for (let i = 0; i < menuItem.children.length; i++) {
+ findItem = findMenuItem(menuItem.children[i], menuId, path);
+ if (findItem != null) {
+ bFind = true;
+ break;
+ }
+ }
+ }
+
+ if (!bFind && Array.isArray(path)) path.pop();
+ return bFind ? findItem : null;
+}
+
+function initUserInfo (userInfo) {
+ if (userInfo == null) userInfo = getObjectFromSessionStorage('userInfo');
+
+ if (userInfo != null && userInfo.permCodeList != null && Array.isArray(userInfo.permCodeList)) {
+ userInfo.permCodeSet = new Set(userInfo.permCodeList);
+ }
+
+ return userInfo;
+}
+
+export {
+ findMenuItem,
+ initUserInfo
+}
diff --git a/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/utils/chartOption.js b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/utils/chartOption.js
new file mode 100644
index 00000000..76b12e02
--- /dev/null
+++ b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/utils/chartOption.js
@@ -0,0 +1,56 @@
+const defaultLineChartOption = {
+ grid: {
+ left: '3%',
+ right: '4%',
+ bottom: '20px',
+ containLabel: true
+ },
+ xAxis: {
+ axisLabel: {
+ interval: 0,
+ showMaxLabel: true
+ }
+ },
+ legend: {
+ top: '3%'
+ }
+}
+
+const defaultBarChartOption = {
+ grid: {
+ left: '3%',
+ right: '4%',
+ bottom: '20px',
+ containLabel: true
+ },
+ xAxis: {
+ axisLabel: {
+ interval: 0,
+ showMaxLabel: true
+ }
+ },
+ legend: {
+ top: '3%'
+ }
+}
+
+const defaultPieChartOption = {
+ grid: {
+ left: '3%',
+ right: '4%',
+ bottom: '20px',
+ containLabel: true
+ },
+ legend: {
+ top: '3%'
+ },
+ series: {
+ center: ['50%', '60%']
+ }
+}
+
+export {
+ defaultLineChartOption,
+ defaultBarChartOption,
+ defaultPieChartOption
+}
diff --git a/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/utils/index.js b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/utils/index.js
new file mode 100644
index 00000000..7c48d739
--- /dev/null
+++ b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/utils/index.js
@@ -0,0 +1,222 @@
+import JSEncrypt from 'jsencrypt';
+
+/**
+ * 列表数据转换树形数据
+ * @param {Array} data 要转换的列表
+ * @param {String} id 主键字段字段名
+ * @param {String} pid 父字段字段名
+ * @returns {Array} 转换后的树数据
+ */
+export function treeDataTranslate (data, id = 'id', pid = 'parentId') {
+ var res = []
+ var temp = {}
+ for (var i = 0; i < data.length; i++) {
+ temp[data[i][id]] = data[i]
+ }
+ for (var k = 0; k < data.length; k++) {
+ if (temp[data[k][pid]] && data[k][id] !== data[k][pid]) {
+ if (!temp[data[k][pid]]['children']) {
+ temp[data[k][pid]]['children'] = []
+ }
+ if (!temp[data[k][pid]]['_level']) {
+ temp[data[k][pid]]['_level'] = 1
+ }
+ data[k]['_level'] = temp[data[k][pid]]._level + 1
+ data[k]['_parent'] = data[k][pid]
+ temp[data[k][pid]]['children'].push(data[k])
+ } else {
+ res.push(data[k])
+ }
+ }
+
+ return res
+}
+/**
+ * 获取字符串字节长度(中文算2个字符)
+ * @param {String} str 要获取长度的字符串
+ */
+export function getStringLength (str) {
+ return str.replace(/[\u4e00-\u9fa5\uff00-\uffff]/g, '**').length
+}
+/**
+ * 获取uuid
+ */
+export function getUUID () {
+ return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, c => {
+ return (c === 'x' ? (Math.random() * 16 | 0) : ('r&0x3' | '0x8')).toString(16)
+ });
+}
+/**
+ * 大小驼峰变换函数
+ * @param name 要转换的字符串
+ * @param type 转换的类型0:转换成小驼峰,1:转换成大驼峰
+ */
+export function nameTranslate (name, type) {
+ name = name.toLowerCase();
+ let nameArray = name.split('_');
+ nameArray.forEach((item, index) => {
+ if (index === 0) {
+ name = type === 1 ? item.slice(0, 1).toUpperCase() + item.slice(1) : item;
+ } else {
+ name = name + item.slice(0, 1).toUpperCase() + item.slice(1);
+ }
+ });
+
+ nameArray = name.split('-');
+ nameArray.forEach((item, index) => {
+ if (index === 0) {
+ name = type === 1 ? item.slice(0, 1).toUpperCase() + item.slice(1) : item;
+ } else {
+ name = name + item.slice(0, 1).toUpperCase() + item.slice(1);
+ }
+ });
+ return name;
+}
+/**
+ * 通过id从树中获取指定的节点
+ * @param {Object} node 根节点
+ * @param {String|Nubmer} id 键值
+ * @param {Array} list 保存查询路径
+ * @param {String} idKey 主键字段名
+ * @param {String} childKey 子节点字段名
+ */
+function findNode (node, id, list, idKey = 'id', childKey = 'children') {
+ if (Array.isArray(list)) list.push(node[idKey]);
+ if (node[idKey] === id) {
+ return node;
+ }
+
+ if (node[childKey] != null && Array.isArray(node[childKey])) {
+ for (let i = 0; i < node[childKey].length; i++) {
+ let tempNode = findNode(node[childKey][i], id, list, idKey, childKey);
+ if (tempNode) return tempNode;
+ }
+ }
+
+ if (Array.isArray(list)) list.pop();
+}
+/**
+ * 通过id返回从根节点到指定节点的路径
+ * @param {Array} treeRoot 树根节点数组
+ * @param {*} id 要查询的节点的id
+ * @param {*} idKey 主键字段名
+ * @param {*} childKey 子节点字段名
+ */
+export function findTreeNodePath (treeRoot, id, idKey = 'id', childKey = 'children') {
+ let tempList = [];
+ for (let i = 0; i < treeRoot.length; i++) {
+ if (findNode(treeRoot[i], id, tempList, idKey, childKey)) {
+ return tempList;
+ }
+ }
+
+ return [];
+}
+/**
+ * 通过id从树中查找节点
+ * @param {Array} treeRoot 根节点数组
+ * @param {*} id 要查找的节点的id
+ * @param {*} idKey 主键字段名
+ * @param {*} childKey 子节点字段名
+ */
+export function findTreeNode (treeRoot, id, idKey = 'id', childKey = 'children') {
+ for (let i = 0; i < treeRoot.length; i++) {
+ let tempNode = findNode(treeRoot[i], id, undefined, idKey, childKey);
+ if (tempNode) return tempNode;
+ }
+}
+/**
+ * 把Object转换成query字符串
+ * @param {Object} params 要转换的Object
+ */
+export function objectToQueryString (params) {
+ if (params == null) {
+ return null;
+ } else {
+ return Object.keys(params).map((key) => {
+ return `${key}=${params[key]}`;
+ }).join('&');
+ }
+}
+/**
+ * 从数组中查找某一项
+ * @param {Array} list 要查找的数组
+ * @param {String} id 要查找的节点id
+ * @param {String} idKey 主键字段名(如果为null则直接比较)
+ * @param {Boolean} removeItem 是否从数组中移除查找到的节点
+ * @returns {Object} 找到返回节点,没找到返回undefined
+ */
+export function findItemFromList (list, id, idKey, removeItem = false) {
+ if (Array.isArray(list) && list.length > 0 && id != null) {
+ for (let i = 0; i < list.length; i++) {
+ let item = list[i];
+ if (((idKey == null || idKey === '') && item === id) || (idKey != null && item[idKey] === id)) {
+ if (removeItem) list.splice(i, 1);
+ return item;
+ }
+ }
+ }
+ return null;
+}
+/**
+ * 将数据保存到sessionStorage
+ * @param {*} key sessionStorage的键值
+ * @param {*} value 要保存的数据
+ */
+export function setObjectToSessionStorage (key, value) {
+ if (key == null || key === '') return false;
+ if (value == null) {
+ window.sessionStorage.removeItem(key);
+ return true;
+ } else {
+ let jsonObj = {
+ data: value
+ }
+ window.sessionStorage.setItem(key, JSON.stringify(jsonObj));
+ return true;
+ }
+}
+/**
+ * 从sessionStorage里面获取数据
+ * @param {String} key 键值
+ * @param {*} defaultValue 默认值
+ */
+export function getObjectFromSessionStorage (key, defaultValue) {
+ let jsonObj = null;
+ try {
+ jsonObj = JSON.parse(window.sessionStorage.getItem(key));
+ jsonObj = (jsonObj || {}).data;
+ } catch (e) {
+ jsonObj = defaultValue;
+ };
+ return (jsonObj != null) ? jsonObj : defaultValue;
+}
+/**
+ * 判读字符串是否一个数字
+ * @param {String} str 要判断的字符串
+ */
+export function isNumber (str) {
+ let num = Number.parseFloat(str);
+ if (Number.isNaN(num)) return false;
+ return num.toString() === str;
+}
+/**
+ * 生成随机数
+ * @param {Integer} min 随机数最小值
+ * @param {Integer} max 随机数最大值
+ */
+export function random (min, max) {
+ let base = Math.random();
+ return min + base * (max - min);
+}
+/**
+ * 加密
+ * @param {*} value 要加密的字符串
+ */
+const publicKey = 'MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCpC4QMnbTrQOFriJJCCFFWhlruBJThAEBfRk7pRx1jsAhyNVL3CqJb0tRvpnbCnJhrRAEPdgFHXv5A0RrvFp+5Cw7QoFH6O9rKB8+0H7+aVQeKITMUHf/XMXioymw6Iq4QfWd8RhdtM1KM6eGTy8aU7SO2s69Mc1LXefg/x3yw6wIDAQAB';
+export function encrypt (value) {
+ if (value == null || value === '') return null;
+ let encrypt = new JSEncrypt();
+ encrypt.setPublicKey(publicKey);
+ return encodeURIComponent(encrypt.encrypt(value));
+}
diff --git a/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/utils/validate.js b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/utils/validate.js
new file mode 100644
index 00000000..5b148e39
--- /dev/null
+++ b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/utils/validate.js
@@ -0,0 +1,33 @@
+const pattern = {
+ mobie: /^((\+?86)|(\(\+86\)))?(13[012356789][0-9]{8}|15[012356789][0-9]{8}|18[02356789][0-9]{8}|147[0-9]{8}|1349[0-9]{7})$/,
+ english: /^[a-zA-Z]+$/,
+ englishAndNumber: /^[a-zA-Z0-9]+$/
+}
+
+/**
+ * 邮箱
+ * @param str
+ */
+export function isEmail (str) {
+ return /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+((.[a-zA-Z0-9_-]{2,3}){1,2})$/.test(str)
+}
+
+/**
+ * 手机号码
+ * @param str
+ */
+export function isMobile (str) {
+ return pattern.mobie.test(str)
+}
+
+/**
+ * 电话号码
+ * @param str
+ */
+export function isPhone (str) {
+ return /^([0-9]{3,4}-)?[0-9]{7,8}$/.test(str)
+}
+
+export default {
+ pattern
+}
diff --git a/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/utils/widget.js b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/utils/widget.js
new file mode 100644
index 00000000..db2cfa81
--- /dev/null
+++ b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/utils/widget.js
@@ -0,0 +1,297 @@
+import { Message } from 'element-ui';
+import { treeDataTranslate } from '@/utils';
+
+const DEFAULT_PAGE_SIZE = 10;
+
+export class DropdownWidget {
+ /**
+ * 下拉组件(Select、Cascade、TreeSelect等)
+ * @param {function () : Promise} loadDropdownData 下拉数据获取函数
+ * @param {Boolean} isTree 是否是树数据
+ * @param {String} idKey 键字段字段名
+ * @param {String} parentIdKey 父字段字段名
+ */
+ constructor (loadDropdownData, isTree = false, idKey = 'id', parentIdKey = 'parentId') {
+ this.loading = false;
+ this.dirty = true;
+ this.dropdownList = [];
+ this.isTree = isTree;
+ this.idKey = idKey;
+ this.parentIdKey = parentIdKey;
+ this.loadDropdownData = loadDropdownData;
+ this.setDropdownList = this.setDropdownList.bind(this);
+ this.onVisibleChange = this.onVisibleChange.bind(this);
+ }
+ /**
+ * 重新获取下拉数据
+ */
+ reloadDropdownData () {
+ return new Promise((resolve, reject) => {
+ if (!this.loading) {
+ if (typeof this.loadDropdownData === 'function') {
+ this.loading = true;
+ this.loadDropdownData().then(dataList => {
+ this.setDropdownList(dataList);
+ this.loading = false;
+ this.dirty = false;
+ resolve(this.dropdownList);
+ }).catch(e => {
+ this.setDropdownList([]);
+ this.loading = false;
+ reject(this.dropdownList);
+ });
+ } else {
+ reject(new Error('获取下拉数据失败'));
+ }
+ } else {
+ resolve(this.dropdownList);
+ }
+ });
+ }
+ /**
+ * 下拉框显示或隐藏时调用
+ * @param {Boolean} isShow 正在显示或者隐藏
+ */
+ onVisibleChange (isShow) {
+ return new Promise((resolve, reject) => {
+ if (isShow && this.dirty && !this.loading) {
+ this.reloadDropdownData().then(res => {
+ resolve(res);
+ }).catch(e => {
+ reject(e);
+ });
+ } else {
+ resolve(this.dropdownList);
+ }
+ });
+ }
+ /**
+ * 设置下拉数据
+ * @param {Array} dataList 要显示的下拉数据
+ */
+ setDropdownList (dataList) {
+ if (Array.isArray(dataList)) {
+ this.dropdownList = this.isTree ? treeDataTranslate(dataList, this.idKey, this.parentIdKey) : dataList;
+ }
+ }
+}
+
+export class TableWidget {
+ /**
+ * 表格组件
+ * @param {function (params: Object) : Promise} loadTableData 表数据获取函数
+ * @param {function () : Boolean} verifyTableParameter 表数据获取检验函数
+ * @param {Boolean} paged 是否支持分页
+ * @param {String} orderFieldName 默认排序字段
+ * @param {Boolean} ascending 默认排序方式(true为正序,false为倒序)
+ * @param {String} dateAggregateBy 默认排序字段的日期统计类型
+ */
+ constructor (loadTableData, verifyTableParameter, paged, orderFieldName, ascending, dateAggregateBy) {
+ this.oldPage = 0;
+ this.currentPage = 1;
+ this.oldPageSize = DEFAULT_PAGE_SIZE;
+ this.pageSize = DEFAULT_PAGE_SIZE;
+ this.totalCount = 0;
+ this.dataList = [];
+ this.orderInfo = {
+ fieldName: orderFieldName,
+ asc: ascending,
+ dateAggregateBy: dateAggregateBy
+ };
+ this.paged = paged;
+ this.searchVerify = verifyTableParameter || function () { return true; };
+ this.loadTableData = loadTableData || function () { return Promise.resolve(); };
+ this.onCurrentPageChange = this.onCurrentPageChange.bind(this);
+ this.onPageSizeChange = this.onPageSizeChange.bind(this);
+ this.onSortChange = this.onSortChange.bind(this);
+ this.getTableIndex = this.getTableIndex.bind(this);
+ }
+ /**
+ * 表格分页变化
+ * @param {Integer} newCurrentPage 变化后的显示页面
+ */
+ onCurrentPageChange (newCurrentPage) {
+ this.loadTableDataImpl(newCurrentPage, this.pageSize).then(() => {
+ this.oldPage = this.currentPage = newCurrentPage;
+ }).catch(() => {
+ this.currentPage = this.oldPage;
+ });
+ }
+ /**
+ * 表格分页每页显示数量变化
+ * @param {Integer} newPageSize 变化后的每页显示数量
+ */
+ onPageSizeChange (newPageSize) {
+ this.loadTableDataImpl(1, newPageSize).then(() => {
+ this.oldPage = this.currentPage = 1;
+ this.oldPageSize = this.pageSize = newPageSize;
+ }).catch(e => {
+ this.currentPage = this.oldPage;
+ this.pageSize = this.oldPageSize;
+ });
+ }
+ /**
+ * 表格排序字段变化
+ * @param {String} prop 排序字段的字段名
+ * @param {String} order 正序还是倒序
+ */
+ onSortChange ({ prop, order }) {
+ this.orderInfo.fieldName = prop;
+ this.orderInfo.asc = (order === 'ascending');
+ this.refreshTable();
+ }
+ /**
+ * 获取每一行的index信息
+ * @param {Integer} index 表格在本页位置
+ */
+ getTableIndex (index) {
+ return this.paged ? ((this.currentPage - 1) * this.pageSize + (index + 1)) : (index + 1);
+ }
+ /**
+ * 获取表格数据
+ * @param {Integer} pageNum 当前分页
+ * @param {Integer} pageSize 每页数量
+ * @param {Boolean} reload 是否重新获取数据
+ */
+ loadTableDataImpl (pageNum, pageSize, reload = false) {
+ return new Promise((resolve, reject) => {
+ if (typeof this.loadTableData !== 'function') {
+ reject();
+ } else {
+ // 如果pageSize和pageNum没有变化,并且不强制刷新
+ if (this.paged && !reload && this.oldPage === pageNum && this.oldPageSize === pageSize) {
+ resolve();
+ } else {
+ let params = {};
+ if (this.orderInfo.fieldName != null) params.orderParam = [this.orderInfo];
+ if (this.paged) {
+ params.pageParam = {
+ pageNum,
+ pageSize
+ }
+ }
+ this.loadTableData(params).then(tableData => {
+ this.dataList = tableData.dataList;
+ this.totalCount = tableData.totalCount;
+ resolve();
+ }).catch(e => {
+ reject(e);
+ });
+ }
+ }
+ });
+ }
+ /**
+ * 刷新表格数据
+ * @param {Boolean} research 是否按照新的查询条件重新查询(调用verify函数)
+ * @param {Integer} pageNum 当前页面
+ */
+ refreshTable (research = false, pageNum = undefined, showMsg = false) {
+ let reload = false;
+ if (research) {
+ if (typeof this.searchVerify === 'function' && !this.searchVerify()) return;
+ reload = true;
+ }
+
+ if (Number.isInteger(pageNum) && pageNum !== this.currentPage) {
+ this.loadTableDataImpl(pageNum, this.pageSize, reload).then(res => {
+ this.oldPage = this.currentPage = pageNum;
+ if (research && showMsg) Message.success('查询成功');
+ }).catch(e => {
+ this.currentPage = this.oldPage;
+ });
+ } else {
+ this.loadTableDataImpl(this.currentPage, this.pageSize, true).catch(e => {});
+ }
+ }
+}
+
+export class UploadWidget {
+ /**
+ * 上传组件
+ * @param {Integer} maxCount 最大上传数量
+ */
+ constructor (maxCount = 1) {
+ this.maxCount = maxCount;
+ this.fileList = [];
+ this.onFileChange = this.onFileChange.bind(this);
+ }
+ /**
+ * 上传文件列表改变
+ * @param {Object} file 改变的文件
+ * @param {Array} fileList 改变后的文件列表
+ */
+ onFileChange (file, fileList) {
+ if (Array.isArray(fileList) && fileList.length > 0) {
+ if (this.maxCount === 1) {
+ this.fileList = [fileList[fileList.length - 1]];
+ } else {
+ this.fileList = fileList;
+ }
+ } else {
+ this.fileList = [];
+ }
+ return this.fileList;
+ }
+}
+
+export class ChartWidget {
+ /**
+ * 图表组件
+ * @param {function (params) : Promise} loadTableData chart数据获取函数
+ * @param {function () : Boolean} verifyTableParameter 数据参数检验函数
+ * @param {Array} columns 数据列
+ */
+ constructor (loadTableData, verifyTableParameter, columns) {
+ this.columns = columns;
+ this.loading = false;
+ this.dataEmpty = false;
+ this.chartData = undefined;
+ this.chartObject = undefined;
+ this.dimensionMaps = new Map();
+ this.chartSetting = undefined;
+ this.searchVerify = verifyTableParameter || function () { return true; };
+ this.loadTableData = loadTableData || function () { return Promise.resolve(); };
+ }
+ /**
+ * 获取图表数据
+ * @param {Boolean} reload 是否重新获取数据
+ */
+ loadChartDataImpl (reload = false) {
+ return new Promise((resolve, reject) => {
+ if (typeof this.loadTableData !== 'function') {
+ reject();
+ } else {
+ if (!reload) {
+ resolve();
+ } else {
+ this.loading = true;
+ this.loadTableData().then(tableData => {
+ this.chartData = {
+ columns: this.columns,
+ rows: tableData.dataList
+ }
+ this.loading = false;
+ if (this.chartObject) this.chartObject.resize();
+ resolve();
+ }).catch(e => {
+ console.error(e);
+ this.loading = false;
+ reject(e);
+ });
+ }
+ }
+ });
+ }
+ /**
+ * 刷新图表数据
+ * @param {Boolean} research 是否按照新的查询条件重新查询(调用verify函数)
+ */
+ refreshChart (research = false) {
+ if (research) {
+ if (typeof this.searchVerify === 'function' && !this.searchVerify()) return;
+ }
+
+ this.loadChartDataImpl(true).catch(e => {});
+ }
+}
diff --git a/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/views/generated/formAuthClient/index.vue b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/views/generated/formAuthClient/index.vue
new file mode 100644
index 00000000..4ebbe735
--- /dev/null
+++ b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/views/generated/formAuthClient/index.vue
@@ -0,0 +1,184 @@
+
+
+
+
+
+
+
+ 查询
+
+ 新建
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 编辑
+
+
+ 删除
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/views/generated/formCreateAuthClient/index.vue b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/views/generated/formCreateAuthClient/index.vue
new file mode 100644
index 00000000..811a8b38
--- /dev/null
+++ b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/views/generated/formCreateAuthClient/index.vue
@@ -0,0 +1,179 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 取消
+
+
+ 保存
+
+
+
+
+
+
+
+
+
diff --git a/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/views/generated/formCreateUaaOperator/index.vue b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/views/generated/formCreateUaaOperator/index.vue
new file mode 100644
index 00000000..872a7388
--- /dev/null
+++ b/orange-demo-uaa/orange-demo-multi-service-uaa-admin-web/src/views/generated/formCreateUaaOperator/index.vue
@@ -0,0 +1,240 @@
+
+