| | |
| | | # Compiled Object files |
| | | *.slo |
| | | *.lo |
| | | *.o |
| | | *.obj |
| | | .DS_Store |
| | | node_modules |
| | | /dist |
| | | |
| | | # Compiled Dynamic libraries |
| | | *.so |
| | | *.dylib |
| | | *.dll |
| | | |
| | | # Compiled Static libraries |
| | | *.lai |
| | | *.la |
| | | *.a |
| | | *.lib |
| | | # local env files |
| | | .env.local |
| | | .env.*.local |
| | | |
| | | # Executables |
| | | *.exe |
| | | *.out |
| | | *.app |
| | | # Log files |
| | | npm-debug.log* |
| | | yarn-debug.log* |
| | | yarn-error.log* |
| | | pnpm-debug.log* |
| | | |
| | | # Editor directories and files |
| | | .idea |
| | | .vscode |
| | | *.suo |
| | | *.ntvs* |
| | | *.njsproj |
| | | *.sln |
| | | *.sw? |
| | |
| | | ## xiehe_website |
| | | # website |
| | | |
| | | ååç½ç« |
| | | ## Project setup |
| | | ``` |
| | | yarn install |
| | | ``` |
| | | |
| | | ### Compiles and hot-reloads for development |
| | | ``` |
| | | yarn serve |
| | | ``` |
| | | |
| | | ### Compiles and minifies for production |
| | | ``` |
| | | yarn build |
| | | ``` |
| | | |
| | | ### Lints and fixes files |
| | | ``` |
| | | yarn lint |
| | | ``` |
| | | |
| | | ### Customize configuration |
| | | See [Configuration Reference](https://cli.vuejs.org/config/). |
New file |
| | |
| | | module.exports = { |
| | | presets: [ |
| | | '@vue/cli-plugin-babel/preset' |
| | | ] |
| | | } |
New file |
| | |
| | | { |
| | | "compilerOptions": { |
| | | "target": "es5", |
| | | "module": "esnext", |
| | | "baseUrl": "./", |
| | | "moduleResolution": "node", |
| | | "paths": { |
| | | "@/*": [ |
| | | "src/*" |
| | | ] |
| | | }, |
| | | "lib": [ |
| | | "esnext", |
| | | "dom", |
| | | "dom.iterable", |
| | | "scripthost" |
| | | ] |
| | | } |
| | | } |
New file |
| | |
| | | { |
| | | "name": "website", |
| | | "version": "0.1.0", |
| | | "private": true, |
| | | "scripts": { |
| | | "serve": "vue-cli-service serve", |
| | | "build": "vue-cli-service build", |
| | | "lint": "vue-cli-service lint" |
| | | }, |
| | | "dependencies": { |
| | | "@vicons/ionicons5": "^0.12.0", |
| | | "axios": "^0.27.2", |
| | | "core-js": "^3.8.3", |
| | | "element-china-area-data": "^5.0.2", |
| | | "element-ui": "^2.15.10", |
| | | "moment": "^2.29.4", |
| | | "qrcodejs2": "0.0.2", |
| | | "spark-md5": "^3.0.2", |
| | | "vue": "^2.6.14", |
| | | "vue-router": "^3.5.1", |
| | | "vue-wxlogin": "^1.0.4", |
| | | "vuex": "^3.6.2" |
| | | }, |
| | | "devDependencies": { |
| | | "@babel/core": "^7.12.16", |
| | | "@babel/eslint-parser": "^7.12.16", |
| | | "@vue/cli-plugin-babel": "~5.0.0", |
| | | "@vue/cli-plugin-eslint": "~5.0.0", |
| | | "@vue/cli-plugin-router": "~5.0.0", |
| | | "@vue/cli-plugin-vuex": "~5.0.0", |
| | | "@vue/cli-service": "~5.0.0", |
| | | "eslint": "^7.32.0", |
| | | "eslint-plugin-vue": "^8.0.3", |
| | | "less": "^4.1.3", |
| | | "less-loader": "^11.0.0", |
| | | "vue-template-compiler": "^2.6.14" |
| | | }, |
| | | "eslintConfig": { |
| | | "root": true, |
| | | "env": { |
| | | "node": true |
| | | }, |
| | | "extends": [ |
| | | "plugin:vue/essential", |
| | | "eslint:recommended" |
| | | ], |
| | | "parserOptions": { |
| | | "parser": "@babel/eslint-parser" |
| | | }, |
| | | "rules": { |
| | | "vue/multi-word-component-names": 0, |
| | | "no-debugger": "off", |
| | | "no-unused-vars": "warn" |
| | | } |
| | | }, |
| | | "browserslist": [ |
| | | "> 1%", |
| | | "last 2 versions", |
| | | "not dead" |
| | | ] |
| | | } |
New file |
| | |
| | | <!DOCTYPE html> |
| | | <html lang="zh-cn"> |
| | | <head> |
| | | <meta charset="utf-8"> |
| | | <meta http-equiv="X-UA-Compatible" content="IE=edge"> |
| | | <meta name="viewport" content="width=device-width,initial-scale=1.0"> |
| | | <link rel="icon" href="<%= BASE_URL %>favicon.ico"> |
| | | <title>ååäºè¯¾å </title> |
| | | </head> |
| | | <body> |
| | | <noscript> |
| | | <strong>We're sorry but <%= htmlWebpackPlugin.options.title %> doesn't work properly without JavaScript enabled. Please enable it to continue.</strong> |
| | | </noscript> |
| | | <div id="app"></div> |
| | | <!-- built files will be auto injected --> |
| | | |
| | | </body> |
| | | </html> |
New file |
| | |
| | | <template> |
| | | <div id="app"> |
| | | <router-view /> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import { watch } from "vue"; |
| | | import { setSessionGuid, setNewView, storage } from "./assets/js/userAction"; |
| | | import tool from "./assets/js/toolClass"; |
| | | |
| | | export default { |
| | | name: "App", |
| | | data() { |
| | | return { |
| | | imgsrc: require("@/assets/images/officialAccount.jpg"), |
| | | }; |
| | | }, |
| | | created() { |
| | | // å¨ç§»å¨ç«¯æå¼Pcç½ç«æ¶çæç¤º |
| | | if ( |
| | | window.navigator.userAgent.match( |
| | | /(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone)/i |
| | | ) |
| | | ) { |
| | | this.$alert( |
| | | "<p style='text-align:left;'>请å¨PC端æå¼æ¤ç½é¡µï¼ææ«æä¸æ¹äºç»´ç å
³æ³¨æç¤¾å
¬ä¼å·ï¼åå»èåæ ä¸çâæå¦æå¡âæµè§ç¸å
³ä¿¡æ¯ãç³è¯·æ ·ä¹¦æä¸è½½ææé
å¥çèµæºã</p><img src='" + |
| | | this.imgsrc + |
| | | "'>", |
| | | "æç¤º", |
| | | { |
| | | dangerouslyUseHTMLString: true, |
| | | center: true, |
| | | customClass: "msgbox", |
| | | } |
| | | ); |
| | | } |
| | | |
| | | //å¨é¡µé¢å è½½æ¶è¯»åsessionStorageéçç¶æä¿¡æ¯ |
| | | if (sessionStorage.getItem("store")) { |
| | | this.$store.replaceState( |
| | | Object.assign( |
| | | {}, |
| | | this.$store.state, |
| | | JSON.parse(sessionStorage.getItem("store")) |
| | | ) |
| | | ); |
| | | sessionStorage.removeItem("store"); |
| | | } |
| | | |
| | | //å¨é¡µé¢å·æ°æ¶å°vuexéçä¿¡æ¯ä¿åå°sessionStorageé |
| | | window.addEventListener("beforeunload", () => { |
| | | sessionStorage.setItem("store", JSON.stringify(this.$store.state)); |
| | | }); |
| | | }, |
| | | watch: { |
| | | $route(to, from) { |
| | | if (to.path.indexOf("AdminLogin") == -1 && from.path.indexOf("AdminLogin") == -1) { |
| | | const detailList = ["/bookStore/detail", "teachingServices/detail"]; |
| | | if (detailList.includes(to.path)) { |
| | | if (to.path == "/bookStore/detail") { |
| | | setNewView("productId", to.query.id); |
| | | } else { |
| | | setNewView("cmsItemId", to.query.id); |
| | | } |
| | | } |
| | | let sessionGuid = storage.get("sessionGuid"); |
| | | const token = tool.getCookie("websiteFrontToken"); |
| | | if (!sessionGuid) { |
| | | setSessionGuid(); |
| | | } |
| | | sessionStorage.setItem("fromPath", from.fullPath.substring(1)); |
| | | sessionStorage.setItem("toPath", to.fullPath.substring(1)); |
| | | } |
| | | }, |
| | | }, |
| | | }; |
| | | </script> |
| | | |
| | | <style lang="less"> |
| | | @import "~@/assets/css/base.css"; |
| | | @import "~@/assets/css/common.css"; |
| | | |
| | | html, |
| | | body, |
| | | #app { |
| | | width: 100%; |
| | | height: 100%; |
| | | background-color: #f1f8f4; |
| | | .msgbox { |
| | | width: 380px !important; |
| | | } |
| | | } |
| | | </style> |
| | | <style lang="less"> |
| | | // 坿æ¬å®¹å¨ï¼ä¿ç坿æ¬é»è®¤æ ·å¼ï¼æè§å³æå¾ |
| | | .richTextBox { |
| | | line-height: 1.4; |
| | | font-size: 14px; |
| | | * { |
| | | margin: revert; |
| | | padding: revert; |
| | | border: revert; |
| | | font: revert; |
| | | vertical-align: revert; |
| | | } |
| | | } |
| | | </style> |
| | | <style lang="less" scoped></style> |
New file |
| | |
| | | /* http://meyerweb.com/eric/tools/css/reset/ |
| | | v2.0 | 20110126 |
| | | License: none (public domain) |
| | | */ |
| | | |
| | | html, body, div, span, applet, object, iframe, |
| | | h1, h2, h3, h4, h5, h6, p, blockquote, pre, |
| | | a, abbr, acronym, address, big, cite, code, |
| | | del, dfn, em, img, ins, kbd, q, s, samp, |
| | | small, strike, strong, sub, sup, tt, var, |
| | | b, u, i, center, |
| | | dl, dt, dd, ol, ul, li, |
| | | fieldset, form, label, legend, |
| | | table, caption, tbody, tfoot, thead, tr, th, td, |
| | | article, aside, canvas, details, embed, |
| | | figure, figcaption, footer, header, hgroup, |
| | | menu, nav, output, ruby, section, summary, |
| | | time, mark, audio, video { |
| | | margin: 0; |
| | | padding: 0; |
| | | border: 0; |
| | | font-size: 100%; |
| | | font: inherit; |
| | | vertical-align: baseline; |
| | | } |
| | | /* HTML5 display-role reset for older browsers */ |
| | | article, aside, details, figcaption, figure, |
| | | footer, header, hgroup, menu, nav, section { |
| | | display: block; |
| | | } |
| | | body { |
| | | line-height: 1; |
| | | font-size: 14px; |
| | | } |
| | | ol, ul { |
| | | list-style: none; |
| | | } |
| | | blockquote, q { |
| | | quotes: none; |
| | | } |
| | | blockquote:before, blockquote:after, |
| | | q:before, q:after { |
| | | content: ''; |
| | | content: none; |
| | | } |
| | | table { |
| | | border-collapse: collapse; |
| | | border-spacing: 0; |
| | | } |
New file |
| | |
| | | /* å±
ä¸å¸å± */ |
| | | .contentBox{ |
| | | width: 1200px; |
| | | margin: 0 auto; |
| | | } |
| | | |
| | | /* èªéåºå¾ç */ |
| | | .autoImg { |
| | | width: auto; |
| | | height: auto; |
| | | max-width: 100%; |
| | | max-height: 100%; |
| | | position: absolute; |
| | | top: 0; |
| | | left: 0; |
| | | right: 0; |
| | | bottom: 0; |
| | | margin: auto; |
| | | } |
| | | |
| | | .bannerImg { |
| | | width: 100%; |
| | | height: 100%; |
| | | position: absolute; |
| | | top: 0; |
| | | left: 0; |
| | | right: 0; |
| | | bottom: 0; |
| | | margin: auto; |
| | | } |
| | | |
| | | /* å
è´¹ */ |
| | | .freePrice { |
| | | color: #0bc266 !important; |
| | | } |
| | | |
| | | .titleBox { |
| | | height: 60px; |
| | | background: #d8f7e6; |
| | | line-height: 60px; |
| | | padding: 0 40px; |
| | | font-weight: 700; |
| | | color: #00873c; |
| | | font-size: 18px; |
| | | } |
| | | |
| | | /* 坿æ¬å®¹å¨ï¼ä¿ç坿æ¬é»è®¤æ ·å¼ï¼æè§å³æå¾ */ |
| | | .richTextBox { |
| | | line-height: 1.4; |
| | | } |
| | | |
| | | .richTextBox p { |
| | | display: block; |
| | | margin-block-start: 1em; |
| | | margin-block-end: 1em; |
| | | margin-inline-start: 0px; |
| | | margin-inline-end: 0px; |
| | | } |
| | | |
| | | .richTextBox table[border]:not([border="0"]):not([style*=border-style]) td, .richTextBox table[border]:not([border="0"]):not([style*=border-style]) th { |
| | | border-style: solid; |
| | | } |
| | | |
| | | .richTextBox table[border]:not([border="0"]):not([style*=border-width]) td, .richTextBox table[border]:not([border="0"]):not([style*=border-width]) th { |
| | | border-width: 1px; |
| | | } |
| | | .richTextBox table:not([cellpadding]) td, .richTextBox table:not([cellpadding]) th { |
| | | padding: 0.4rem; |
| | | } |
| | | |
| | | /* åè¡çç¥ */ |
| | | .ellipsis { |
| | | overflow: hidden; |
| | | white-space: nowrap; |
| | | text-overflow: ellipsis; |
| | | } |
| | | |
| | | /* flexå¸å± */ |
| | | .flex { |
| | | display: flex; |
| | | } |
| | | |
| | | .flex1 { |
| | | flex: 1; |
| | | overflow: hidden; |
| | | } |
| | | |
| | | /* ä¸ä¼ å¾ç */ |
| | | .avatar-uploader .el-upload { |
| | | width: 190px; |
| | | height: 140px; |
| | | border: 1px dashed #d9d9d9; |
| | | position: relative; |
| | | } |
| | | |
| | | .avatar-uploader .el-upload:hover { |
| | | border-color: #409eff; |
| | | } |
| | | |
| | | .avatarCover { |
| | | display: block; |
| | | position: absolute; |
| | | left: 0; |
| | | right: 0; |
| | | top: 0; |
| | | bottom: 0; |
| | | max-width: 100%; |
| | | max-height: 100%; |
| | | margin: auto; |
| | | } |
| | | |
| | | /* å
ç½®ç¶æåä½é¢è² */ |
| | | .primaryTxt { |
| | | color: #00873C !important; |
| | | } |
| | | .successTxt { |
| | | color: #67c23a !important; |
| | | } |
| | | .warningTxt { |
| | | color: #e6a23c !important; |
| | | } |
| | | .errorTxt { |
| | | color: #f56c6c !important; |
| | | } |
| | | .infoTxt { |
| | | color: #999 !important; |
| | | } |
| | | /* å
ç½®ç¶æèæ¯é¢è² */ |
| | | .primaryBack { |
| | | color: #fff !important; |
| | | background: #00873C !important; |
| | | } |
| | | .successBack { |
| | | color: #fff !important; |
| | | background: #67c23a !important; |
| | | } |
| | | .warningBack { |
| | | color: #fff !important; |
| | | background: #e6a23c !important; |
| | | } |
| | | .errorBack { |
| | | color: #fff !important; |
| | | background: #f56c6c !important; |
| | | } |
| | | |
| | | /* 主é¢è²ä¿®æ¹,æ ¹æ®UIæ¡æ¶å³å®æ¯å¦éè¦ */ |
| | | /* .el-button--primary { |
| | | background-color: #00873C !important; |
| | | border-color: #00873C !important; |
| | | } |
| | | |
| | | .el-button--primary:focus, |
| | | .el-button--primary:hover { |
| | | background: #086833 !important; |
| | | border-color: #086833 !important; |
| | | color: #fff !important; |
| | | } |
| | | |
| | | .el-tabs__item.is-active { |
| | | color: #00873C !important; |
| | | } */ |
| | | |
| | | .el-input-group__append, .el-input-group__prepend { |
| | | vertical-align: initial !important; |
| | | } |
| | | .el-checkbox__inner{ |
| | | border: 1px solid #000 !important; |
| | | width: 20px !important; |
| | | height: 20px !important; |
| | | } |
| | | |
| | | .el-checkbox__inner::after { |
| | | left: 7px !important; |
| | | top: 4px !important; |
| | | } |
New file |
| | |
| | | |
| | | @defaultColor: #00873C; |
| | | |
| | | @color: @defaultColor; |
New file |
| | |
| | | @font-face { |
| | | font-family: "iconfont"; /* Project id 3721619 */ |
| | | src: url('iconfont.woff2?t=1666778377066') format('woff2'), |
| | | url('iconfont.woff?t=1666778377066') format('woff'), |
| | | url('iconfont.ttf?t=1666778377066') format('truetype'); |
| | | } |
| | | |
| | | .iconfont { |
| | | font-family: "iconfont" !important; |
| | | font-size: 16px; |
| | | font-style: normal; |
| | | -webkit-font-smoothing: antialiased; |
| | | -moz-osx-font-smoothing: grayscale; |
| | | } |
| | | |
| | | .icon-dianhua:before { |
| | | content: "\e61b"; |
| | | } |
| | | |
| | | .icon-tongxunlu:before { |
| | | content: "\e632"; |
| | | } |
| | | |
| | | .icon-renwu-ren:before { |
| | | content: "\e749"; |
| | | } |
| | | |
| | | .icon-QQ:before { |
| | | content: "\e882"; |
| | | } |
| | | |
| | | .icon-shanchu:before { |
| | | content: "\e74b"; |
| | | } |
| | | |
| | | .icon-tubiaozhizuo-:before { |
| | | content: "\e605"; |
| | | } |
| | | |
| | | .icon-icon_yulan:before { |
| | | content: "\eb8a"; |
| | | } |
| | | |
| | | .icon-xiazai:before { |
| | | content: "\e606"; |
| | | } |
| | | |
| | | .icon-fenxiang:before { |
| | | content: "\e602"; |
| | | } |
| | | |
| | | .icon-shoucang:before { |
| | | content: "\e68e"; |
| | | } |
| | | |
New file |
| | |
| | | window._iconfont_svg_string_3721619='<svg><symbol id="icon-dianhua" viewBox="0 0 1024 1024"><path d="M766.438946 943.5579c-4.429893 0-7.181563-0.145309-7.476275-0.160659l-0.290619-0.01842c-42.736337-3.02387-90.967828-17.787108-139.483798-42.693358l-0.587378-0.315178-54.078663-30.248931c-102.549607-56.177464-259.853259-218.356147-266.500657-225.233787l-11.432377-11.828396 0.092098-0.11461c-27.666106-29.688159-84.594677-94.66094-133.902686-175.60753-55.477522-91.075275-81.612763-169.619142-77.67815-233.44889 2.922563-47.425126 22.463618-85.97307 58.07979-114.573455 38.268582-30.728862 73.250304-43.540655 106.933451-39.162952 36.108383 4.690836 69.019956 28.681226 103.573937 75.497485 2.307555 3.127224 4.591575 6.207375 6.842849 9.244548 25.679869 34.643008 47.857984 64.562435 55.935963 95.558379 9.42772 36.173874-1.87572 69.727061-34.558074 102.576213l-1.133823 1.139963-0.239454 0.143263c-1.543146 1.576915-8.922207 10.053983-9.100262 28.119431-0.180102 18.291598 6.823406 40.11565 20.814048 64.866357 19.22076 34.000372 51.161217 72.403007 94.934163 114.14162 73.369008 69.476351 120.596635 88.594781 147.289578 92.391247 23.400966 3.329838 33.67803-4.653997 35.45756-6.243191l0.306992-0.428765-0.25071 0.378623c0.052189-0.048095 0.096191-0.088004 0.12996-0.12075 27.874861-32.115442 63.648622-42.73122 106.3297-31.54853 30.785144 8.064676 64.736397 26.939559 110.083188 61.199851 34.673707 26.194592 55.872518 52.227502 64.805982 79.588663 9.91379 30.357402 5.175883 61.742203-14.482853 95.946212-5.145184 8.953929-16.573467 12.040221-25.526373 6.892991-8.951883-5.145184-12.039197-16.573467-6.892991-25.526373 14.275121-24.837688 17.885346-45.717228 11.357675-65.705468-6.482645-19.854187-23.427572-39.926338-51.800783-61.36051-53.480029-40.404222-80.984453-50.661843-97.019661-54.862515-29.009707-7.600095-50.218752-1.410116-68.768223 20.064988-2.236947 2.578732-16.8559 18.027585-47.285956 19.762089-50.306756 2.858094-114.064872-31.898501-189.489702-103.322204C364.582509 505.738389 321.769424 435.174264 324.130192 378.769626c1.333368-31.846312 17.013489-48.312332 21.691021-52.538587 46.799886-47.340191 27.248597-78.138638-25.329898-149.069107-2.266623-3.057639-4.564969-6.15928-6.887874-9.30697-28.097942-38.068014-52.979632-57.33073-78.30646-60.621682-23.048949-2.994194-48.796356 7.223518-78.70248 31.237445-27.442002 22.037922-41.891086 50.730405-44.171012 87.718831-3.406586 55.261605 21.591761 128.46586 72.290443 211.69647 55.645344 91.351568 121.350812 161.615864 140.164297 180.974771l2.491751 2.564405c20.531616 20.967544 164.28874 166.17981 255.178797 215.937051l0.149403 0.082888 53.862745 30.126134c43.889603 22.49227 86.947258 35.799344 124.561947 38.494733 1.385557 0.062422 16.679891 0.665149 33.288151-2.122337 5.990434-1.004887 12.458753-2.228761 19.305695-3.52222 25.75764-4.867868 57.81373-10.927887 100.929714-12.644995 10.296507-0.403183 19.015076 7.619538 19.425422 17.936511 0.411369 10.316973-7.618515 19.015076-17.936511 19.425422-40.364313 1.608637-70.922283 7.385201-95.474468 12.025894-7.04137 1.330298-13.690814 2.586918-20.058848 3.656273C786.892791 943.120948 774.135232 943.5579 766.438946 943.5579z" ></path></symbol><symbol id="icon-tongxunlu" viewBox="0 0 1024 1024"><path d="M820.672 3.52H246.08a128 128 0 0 0-128 128v118.464l-0.064 0.32v4.096h0.832c2.048 14.4 13.888 25.6 28.8 25.6s26.88-11.2 28.928-25.6h0.384v-1.92c0.064-0.704 0.448-1.408 0.448-2.176s-0.384-1.472-0.448-2.24V160a96 96 0 0 1 96-96h520.768a96 96 0 0 1 96 96v702.784a96 96 0 0 1-96 96H272.96a96 96 0 0 1-96-96V763.52c0.064-0.768 0.448-1.472 0.448-2.24a29.568 29.568 0 1 0-59.136-1.28h-0.192v0.96l-0.064 0.32V892.48a128 128 0 0 0 128 128h574.656a128 128 0 0 0 128-128V131.52a128 128 0 0 0-128-128z" fill="" ></path><path d="M85.376 377.6h128a32 32 0 0 0 0-64h-128a32 32 0 0 0 0 64zM245.376 668.288a32 32 0 0 0-32-32h-128a32 32 0 0 0 0 64h128a32 32 0 0 0 32-32zM118.08 457.024v104.704a29.632 29.632 0 1 0 59.264 0V456.96a29.632 29.632 0 1 0-59.264 0zM294.272 743.488s-4.928 35.52 26.112 37.504c13.952 0.896 25.024-10.432 27.136-23.808h0.192c8.64-107.2 91.264-185.344 200.64-185.344 109.44 0 191.744 78.144 200.32 185.344h0.512c2.112 13.376 13.248 24.96 27.2 23.808 35.008-3.008 26.048-37.44 26.048-37.44A256.96 256.96 0 0 0 636.8 532.544a160.32 160.32 0 1 0-176.768 0 256.96 256.96 0 0 0-165.696 210.944z m145.28-347.648a108.8 108.8 0 1 1 217.6 0 108.8 108.8 0 0 1-217.6 0z" fill="" ></path></symbol><symbol id="icon-renwu-ren" viewBox="0 0 1024 1024"><path d="M652.8 534.4C723.2 489.6 768 409.6 768 320c0-140.8-115.2-256-256-256S256 179.2 256 320c0 89.6 44.8 169.6 115.2 214.4C192 592 64 761.6 64 960h64c0-211.2 172.8-384 384-384s384 172.8 384 384h64c0-198.4-128-368-307.2-425.6zM512 512c-105.6 0-192-86.4-192-192s86.4-192 192-192 192 86.4 192 192-86.4 192-192 192z" ></path></symbol><symbol id="icon-QQ" viewBox="0 0 1024 1024"><path d="M824.8 613.2c-16-51.4-34.4-94.6-62.7-165.3C766.5 262.2 689.3 112 511.5 112 331.7 112 256.2 265.2 261 447.9c-28.4 70.8-46.7 113.7-62.7 165.3-34 109.5-23 154.8-14.6 155.8 18 2.2 70.1-82.4 70.1-82.4 0 49 25.2 112.9 79.8 159-26.4 8.1-85.7 29.9-71.6 53.8 11.4 19.3 196.2 12.3 249.5 6.3 53.3 6 238.1 13 249.5-6.3 14.1-23.8-45.3-45.7-71.6-53.8 54.6-46.2 79.8-110.1 79.8-159 0 0 52.1 84.6 70.1 82.4 8.5-1.1 19.5-46.4-14.5-155.8z" ></path></symbol><symbol id="icon-shanchu" viewBox="0 0 1024 1024"><path d="M607.897867 768.043004c-17.717453 0-31.994625-14.277171-31.994625-31.994625L575.903242 383.935495c0-17.717453 14.277171-31.994625 31.994625-31.994625s31.994625 14.277171 31.994625 31.994625l0 351.94087C639.892491 753.593818 625.61532 768.043004 607.897867 768.043004z" ></path><path d="M415.930119 768.043004c-17.717453 0-31.994625-14.277171-31.994625-31.994625L383.935495 383.935495c0-17.717453 14.277171-31.994625 31.994625-31.994625 17.717453 0 31.994625 14.277171 31.994625 31.994625l0 351.94087C447.924744 753.593818 433.647573 768.043004 415.930119 768.043004z" ></path><path d="M928.016126 223.962372l-159.973123 0L768.043004 159.973123c0-52.980346-42.659499-95.983874-95.295817-95.983874L351.94087 63.989249c-52.980346 0-95.983874 43.003528-95.983874 95.983874l0 63.989249-159.973123 0c-17.717453 0-31.994625 14.277171-31.994625 31.994625s14.277171 31.994625 31.994625 31.994625l832.032253 0c17.717453 0 31.994625-14.277171 31.994625-31.994625S945.73358 223.962372 928.016126 223.962372zM319.946246 159.973123c0-17.545439 14.449185-31.994625 31.994625-31.994625l320.806316 0c17.545439 0 31.306568 14.105157 31.306568 31.994625l0 63.989249L319.946246 223.962372 319.946246 159.973123 319.946246 159.973123z" ></path><path d="M736.048379 960.010751 288.123635 960.010751c-52.980346 0-95.983874-43.003528-95.983874-95.983874L192.139761 383.591466c0-17.717453 14.277171-31.994625 31.994625-31.994625s31.994625 14.277171 31.994625 31.994625l0 480.435411c0 17.717453 14.449185 31.994625 31.994625 31.994625l448.096758 0c17.717453 0 31.994625-14.277171 31.994625-31.994625L768.215018 384.795565c0-17.717453 14.277171-31.994625 31.994625-31.994625s31.994625 14.277171 31.994625 31.994625l0 479.231312C832.032253 916.835209 789.028725 960.010751 736.048379 960.010751z" ></path></symbol><symbol id="icon-tubiaozhizuo-" viewBox="0 0 1024 1024"><path d="M474.91 67h74.19v890h-74.19z" ></path></symbol><symbol id="icon-icon_yulan" viewBox="0 0 1024 1024"><path d="M512 736a224 224 0 1 1 0-448 224 224 0 0 1 0 448z m0-64a160 160 0 1 0 0-320 160 160 0 0 0 0 320z" ></path><path d="M512 864C323.232 864 154.144 751.264 5.44 529.856a32 32 0 0 1 0-35.712C154.144 272.704 323.2 160 512 160c188.768 0 357.856 112.736 506.56 334.144a32 32 0 0 1 0 35.712C869.856 751.296 700.8 864 512 864z m0-64c159.84 0 306.72-94.784 441.248-288C818.72 318.784 671.84 224 512 224c-159.84 0-306.72 94.784-441.248 288 134.528 193.216 281.408 288 441.248 288z" ></path></symbol><symbol id="icon-xiazai" viewBox="0 0 1024 1024"><path d="M544.256 605.184l244.224-244.224a31.744 31.744 0 0 1 45.056 45.056l-295.424 295.424a36.864 36.864 0 0 1-51.2 0L190.464 406.528a31.744 31.744 0 1 1 45.056-45.056l244.224 244.224V111.104a32.256 32.256 0 1 1 64 0zM153.6 902.656a32.256 32.256 0 0 1 0-64h716.8a32.256 32.256 0 0 1 0 64z" fill="#5A5A68" ></path></symbol><symbol id="icon-fenxiang" viewBox="0 0 1024 1024"><path d="M213.664 453.248L796.16 231.328l-138.688 499.296-164.864-103.04a24 24 0 1 0-25.44 40.704l192.128 120.064a24 24 0 0 0 35.84-13.92l160-576a24 24 0 0 0-31.68-28.864l-672 256a24 24 0 0 0-4.16 42.784l138.944 86.848a24 24 0 1 0 25.44-40.704l-98.016-61.248z" fill="#36383F" ></path><path d="M408 602.752L848 209.888a24 24 0 0 0-32-35.776L360 581.248V864a24 24 0 0 0 48 0v-261.248z" fill="#36383F" ></path></symbol><symbol id="icon-shoucang" viewBox="0 0 1024 1024"><path d="M766.976 692.224h-190.464c-14.336 0-26.112-11.776-26.112-26.112s11.776-26.112 26.112-26.112h190.464c14.336 0 26.112 11.776 26.112 26.112s-11.776 26.112-26.112 26.112z" fill="#000000" ></path><path d="M645.632 761.344v-190.464c0-14.336 11.776-26.112 26.112-26.112s26.112 11.776 26.112 26.112v190.464c0 14.336-11.776 26.112-26.112 26.112s-26.112-11.776-26.112-26.112zM508.928 855.552c-6.656 0-12.8-2.56-17.92-7.168l-299.008-299.008c-43.008-43.008-67.072-100.864-67.072-161.792s24.064-118.784 67.072-161.792c42.496-42.496 103.424-58.368 171.008-45.056 57.856 11.264 116.736 43.52 161.28 88.064 9.728 9.728 9.728 26.112 0 35.84-9.728 9.728-26.112 9.728-35.84 0C415.232 231.424 294.912 194.048 227.84 261.12c-33.792 33.792-52.224 78.336-52.224 125.952s18.432 92.672 52.224 125.952l299.008 299.008c9.728 9.728 9.728 26.112 0 35.84-5.12 5.632-11.264 7.68-17.92 7.68z" fill="#000000" ></path><path d="M812.544 556.544c-6.656 0-12.8-2.56-17.92-7.168-9.728-9.728-9.728-26.112 0-35.84 33.792-33.792 52.224-78.336 52.224-125.952s-18.432-92.672-52.224-125.952c-41.472-41.472-98.816-38.4-129.536-33.28-50.176 8.704-101.888 35.84-138.24 72.192-9.728 9.728-26.112 9.728-35.84 0-9.728-9.728-9.728-26.112 0-35.84 44.032-44.032 104.448-75.776 165.376-86.016 69.632-12.288 131.584 4.608 174.08 47.104 43.008 43.008 67.072 100.864 67.072 161.792 0 60.928-23.552 118.784-67.072 161.792-5.12 4.608-11.776 7.168-17.92 7.168z" fill="#000000" ></path></symbol></svg>',function(e){var t=(t=document.getElementsByTagName("script"))[t.length-1],a=t.getAttribute("data-injectcss"),t=t.getAttribute("data-disable-injectsvg");if(!t){var c,o,i,l,n,s=function(t,a){a.parentNode.insertBefore(t,a)};if(a&&!e.__iconfont__svg__cssinject__){e.__iconfont__svg__cssinject__=!0;try{document.write("<style>.svgfont {display: inline-block;width: 1em;height: 1em;fill: currentColor;vertical-align: -0.1em;font-size:16px;}</style>")}catch(t){console&&console.log(t)}}c=function(){var t,a=document.createElement("div");a.innerHTML=e._iconfont_svg_string_3721619,(a=a.getElementsByTagName("svg")[0])&&(a.setAttribute("aria-hidden","true"),a.style.position="absolute",a.style.width=0,a.style.height=0,a.style.overflow="hidden",a=a,(t=document.body).firstChild?s(a,t.firstChild):t.appendChild(a))},document.addEventListener?~["complete","loaded","interactive"].indexOf(document.readyState)?setTimeout(c,0):(o=function(){document.removeEventListener("DOMContentLoaded",o,!1),c()},document.addEventListener("DOMContentLoaded",o,!1)):document.attachEvent&&(i=c,l=e.document,n=!1,h(),l.onreadystatechange=function(){"complete"==l.readyState&&(l.onreadystatechange=null,d())})}function d(){n||(n=!0,i())}function h(){try{l.documentElement.doScroll("left")}catch(t){return void setTimeout(h,50)}d()}}(window); |
New file |
| | |
| | | { |
| | | "id": "3721619", |
| | | "name": "å大社", |
| | | "font_family": "iconfont", |
| | | "css_prefix_text": "icon-", |
| | | "description": "", |
| | | "glyphs": [ |
| | | { |
| | | "icon_id": "144688", |
| | | "name": "çµè¯", |
| | | "font_class": "dianhua", |
| | | "unicode": "e61b", |
| | | "unicode_decimal": 58907 |
| | | }, |
| | | { |
| | | "icon_id": "1381825", |
| | | "name": "é讯å½", |
| | | "font_class": "tongxunlu", |
| | | "unicode": "e632", |
| | | "unicode_decimal": 58930 |
| | | }, |
| | | { |
| | | "icon_id": "4933375", |
| | | "name": "人ç©-人", |
| | | "font_class": "renwu-ren", |
| | | "unicode": "e749", |
| | | "unicode_decimal": 59209 |
| | | }, |
| | | { |
| | | "icon_id": "4936984", |
| | | "name": "QQ", |
| | | "font_class": "QQ", |
| | | "unicode": "e882", |
| | | "unicode_decimal": 59522 |
| | | }, |
| | | { |
| | | "icon_id": "577357", |
| | | "name": "å é¤", |
| | | "font_class": "shanchu", |
| | | "unicode": "e74b", |
| | | "unicode_decimal": 59211 |
| | | }, |
| | | { |
| | | "icon_id": "6237070", |
| | | "name": "ç«çº¿", |
| | | "font_class": "tubiaozhizuo-", |
| | | "unicode": "e605", |
| | | "unicode_decimal": 58885 |
| | | }, |
| | | { |
| | | "icon_id": "4347521", |
| | | "name": "icon_é¢è§", |
| | | "font_class": "icon_yulan", |
| | | "unicode": "eb8a", |
| | | "unicode_decimal": 60298 |
| | | }, |
| | | { |
| | | "icon_id": "4880421", |
| | | "name": "ä¸è½½", |
| | | "font_class": "xiazai", |
| | | "unicode": "e606", |
| | | "unicode_decimal": 58886 |
| | | }, |
| | | { |
| | | "icon_id": "9666176", |
| | | "name": "å享", |
| | | "font_class": "fenxiang", |
| | | "unicode": "e602", |
| | | "unicode_decimal": 58882 |
| | | }, |
| | | { |
| | | "icon_id": "12344845", |
| | | "name": "æ¶è", |
| | | "font_class": "shoucang", |
| | | "unicode": "e68e", |
| | | "unicode_decimal": 59022 |
| | | } |
| | | ] |
| | | } |
New file |
| | |
| | | <?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1669360744685" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1168" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M766.976 692.224h-190.464c-14.336 0-26.112-11.776-26.112-26.112s11.776-26.112 26.112-26.112h190.464c14.336 0 26.112 11.776 26.112 26.112s-11.776 26.112-26.112 26.112z" fill="#009A44" p-id="1169"></path><path d="M645.632 761.344v-190.464c0-14.336 11.776-26.112 26.112-26.112s26.112 11.776 26.112 26.112v190.464c0 14.336-11.776 26.112-26.112 26.112s-26.112-11.776-26.112-26.112zM508.928 855.552c-6.656 0-12.8-2.56-17.92-7.168l-299.008-299.008c-43.008-43.008-67.072-100.864-67.072-161.792s24.064-118.784 67.072-161.792c42.496-42.496 103.424-58.368 171.008-45.056 57.856 11.264 116.736 43.52 161.28 88.064 9.728 9.728 9.728 26.112 0 35.84-9.728 9.728-26.112 9.728-35.84 0C415.232 231.424 294.912 194.048 227.84 261.12c-33.792 33.792-52.224 78.336-52.224 125.952s18.432 92.672 52.224 125.952l299.008 299.008c9.728 9.728 9.728 26.112 0 35.84-5.12 5.632-11.264 7.68-17.92 7.68z" fill="#009A44" p-id="1170"></path><path d="M812.544 556.544c-6.656 0-12.8-2.56-17.92-7.168-9.728-9.728-9.728-26.112 0-35.84 33.792-33.792 52.224-78.336 52.224-125.952s-18.432-92.672-52.224-125.952c-41.472-41.472-98.816-38.4-129.536-33.28-50.176 8.704-101.888 35.84-138.24 72.192-9.728 9.728-26.112 9.728-35.84 0-9.728-9.728-9.728-26.112 0-35.84 44.032-44.032 104.448-75.776 165.376-86.016 69.632-12.288 131.584 4.608 174.08 47.104 43.008 43.008 67.072 100.864 67.072 161.792 0 60.928-23.552 118.784-67.072 161.792-5.12 4.608-11.776 7.168-17.92 7.168z" fill="#009A44" p-id="1171"></path></svg> |
New file |
| | |
| | | <?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1679558961529" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="3002" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M461.842647 631.286804l22.067598-39.22128c-100.392478-56.483432-154.764829-113.929796-170.871669-182.065616l169.512718 0 0-45.008077-174.657902 0-0.050142-17.422811 0-77.797877 156.564825 0 0-44.99989L106.133226 224.771253l0 44.99989 156.709111 0 0 77.738525-0.042979 17.482163L88.473007 364.991832l0 45.008077 169.181167 0c-16.114003 68.13582-70.487378 125.583207-170.879855 182.065616l22.075785 39.22128c61.946864-34.853809 139.065266-86.675058 176.499853-165.742858 9.695826 20.555152 22.449291 40.244586 38.34226 58.924018C355.600951 561.991578 400.796292 596.934414 461.842647 631.286804z" fill="#DA1726" p-id="3003"></path><path d="M640.32976 432.744935c0.144286-50.42546 0.296759-98.048083-0.152473-132.307352-0.288572-21.99085-7.302313-39.795355-20.85191-52.950979-25.157983-24.414039-64.714907-23.735587-85.975117-23.378453-2.181689 0.041956-4.177136 0.076748-5.943362 0.076748l0 45.01217c1.995447 0 4.245697-0.047072 6.707772-0.089028 14.721283-0.25071 42.129516-0.713244 53.862745 10.68127 1.732457 1.681292 7.004531 6.7968 7.190773 21.22644 0.067538 4.924149 0.119727 10.163477 0.161682 15.631002l-69.910233 41.692564 23.059182 38.644135 46.986127-28.018124c-0.00921 15.945157-0.050142 32.81129-0.102331 50.127677l-69.944002 41.72224 23.059182 38.657438 46.731324-27.883047c-0.025583 12.905938-0.042979 25.735128-0.042979 38.300304 0 10.31595-6.070252 26.736944-13.270235 35.846416-20.886703 26.447349-56.478316 46.867424-56.809867 47.062875l22.159696 39.167045c1.765203-1.001817 43.522236-24.852014 69.969585-58.337663 13.525038-17.116843 22.957875-43.326784 22.957875-63.73765C640.176264 484.715587 640.253012 458.462666 640.32976 432.744935z" fill="#DA1726" p-id="3004"></path><path d="M708.015326 333.907882 753.032612 333.907882 753.032612 297.712519 848.710718 297.712519 848.710718 333.907882 893.719818 333.907882 893.719818 297.712519 937.080372 297.712519 937.080372 252.704442 893.719818 252.704442 893.719818 223.412302 848.710718 223.412302 848.710718 252.704442 753.032612 252.704442 753.032612 223.412302 708.015326 223.412302 708.015326 252.704442 665.621796 252.704442 665.621796 297.712519 708.015326 297.712519Z" fill="#DA1726" p-id="3005"></path><path d="M732.450854 633.655757l137.800459 0c36.763298 0 66.829058-30.072923 66.829058-66.833151L937.080372 391.660214l0-27.865651L665.621796 363.794563l0 45.008077L665.621796 566.822606C665.621796 603.582835 695.687556 633.655757 732.450854 633.655757zM823.851541 408.80264l68.220754 0 0 67.082838-68.220754 0L823.851541 408.80264zM823.851541 520.889461l68.220754 0 0 45.933145c0 11.831466-9.993608 21.820981-21.819958 21.820981l-46.400796 0L823.851541 520.889461zM710.639083 408.79343l68.212568 0 0 67.082838L710.639083 475.876268 710.639083 408.79343zM710.630896 520.889461l68.220754 0 0 67.754127-46.400796 0c-11.827373 0-21.820981-9.989515-21.820981-21.820981L710.629873 520.889461z" fill="#DA1726" p-id="3006"></path><path d="M392.713196 689.854711c-17.32969 0-23.51967 18.356067-23.51967 18.356067l-36.814464 92.37692 19.044752 0 15.341407-39.115879 50.544163 0 15.105023 39.115879 20.623713 0-36.797068-92.37692C416.241053 708.210777 410.092006 689.854711 392.713196 689.854711zM374.017392 743.5394l10.714016-26.091238c0 0 2.12336-5.866614 7.981788-5.866614 6.053879 0 7.997138 5.866614 7.997138 5.866614l9.399067 24.957415 0.424672 1.133823L374.017392 743.5394z" fill="#DA1726" p-id="3007"></path><path d="M88.201831 707.030905 132.99706 707.030905 132.99706 800.527322 133.00627 800.527322 151.642722 800.527322 151.642722 707.030905 196.447161 707.030905 196.447161 689.582511 88.201831 689.582511Z" fill="#DA1726" p-id="3008"></path><path d="M478.178707 763.26772l0-73.446779-18.525935 0 0 18.415418 0 63.628156c0 16.650215 11.538801 28.621874 29.079292 28.621874l22.534226 0 0-18.314111c0 0-4.168949 0.025583-13.71128 0.025583C485.123886 782.196839 478.178707 779.916912 478.178707 763.26772z" fill="#DA1726" p-id="3009"></path><path d="M541.924543 763.26772l0-73.446779-18.526959 0 0 18.415418 0 63.628156c0 16.650215 11.54801 28.621874 29.096688 28.621874l22.51683 0 0-18.314111c0 0-4.15974 0.025583-13.721513 0.025583C548.869722 782.196839 541.924543 779.916912 541.924543 763.26772z" fill="#DA1726" p-id="3010"></path><path d="M309.921585 690.321338c-6.180769-2.505054-11.92868 2.105964-13.066597 3.001357-8.126075 6.39771-16.887622 15.923668-32.815383 15.923668l-0.629333 0-0.194428 0-0.620124 0c-15.936971 0-24.698518-9.525957-32.815383-15.923668-1.137916-0.895393-6.894014-5.506411-13.075807-3.001357-5.782703 2.335185-6.691399 7.879458-6.691399 12.277628 0 8.468882 0.017396 57.319473 0.017396 97.836259l18.500353 0 0-83.249029c6.121418 3.378957 18.891256 11.759835 34.275641 11.759835l1.019213 0c14.629185 0 28.146037-8.379854 34.259268-11.759835l0 83.249029 18.517749 0c0.016373-40.516786 0.024559-89.366354 0.024559-97.836259C316.629357 698.200796 315.696102 692.656523 309.921585 690.321338z" fill="#DA1726" p-id="3011"></path><path d="M930.508699 690.321338c-6.180769-2.505054-11.92868 2.105964-13.066597 3.001357-8.117888 6.39771-16.879436 15.923668-32.807197 15.923668l-0.62831 0-0.203638 0-0.610914 0c-15.935947 0-24.707728-9.525957-32.816406-15.923668-1.136893-0.895393-6.894014-5.506411-13.075807-3.001357-5.78168 2.335185-6.690376 7.879458-6.690376 12.277628 0 8.468882 0.017396 57.319473 0.017396 97.836259l18.500353 0 0-83.249029c6.121418 3.378957 18.891256 11.759835 34.267455 11.759835l1.019213 0c14.637372 0 28.154223-8.379854 34.267455-11.759835l0 83.249029L937.199075 800.435225c0.016373-40.516786 0.025583-89.366354 0.025583-97.836259C937.224658 698.200796 936.282193 692.656523 930.508699 690.321338z" fill="#DA1726" p-id="3012"></path><path d="M603.888803 782.018783c-5.111414 0-9.271154 4.139274-9.271154 9.246595 0 5.111414 4.15974 9.254781 9.271154 9.254781 5.111414 0 9.254781-4.143367 9.254781-9.254781C613.142561 786.158057 609.000218 782.018783 603.888803 782.018783z" fill="#DA1726" p-id="3013"></path><path d="M766.642584 689.922249c-13.338796 0-24.800849 3.981684-34.097586 11.835559-11.114129 9.432837-16.759709 24.062022-16.759709 43.462884 0 17.685801 4.728698 31.465642 14.018272 40.941458 9.314133 9.517771 21.701255 14.366196 36.840046 14.366196 9.373485 0 18.178011-2.194992 26.158776-6.504134 7.964392-4.325515 14.119579-10.489912 18.331507-18.339694 4.13518-7.79043 6.214539-18.535145 6.214539-31.907711 0-16.666588-4.762467-29.946033-14.178931-39.455617C793.743826 694.774767 781.449825 689.922249 766.642584 689.922249zM789.829679 773.761726c-6.231935 6.049786-14.043854 9.122775-23.187095 9.122775-9.43386 0-17.057491-2.954285-23.331381-9.051143-6.376221-6.245238-9.628288-15.860223-9.628288-28.612665 0-12.744255 3.252067-22.338774 9.628288-28.53694 6.180769-5.985318 14.042831-9.025561 23.331381-9.025561 9.136078 0 16.921391 3.043313 23.13593 9.067516 6.4192 6.198166 9.679453 15.597233 9.679453 27.925003C799.457967 757.727541 796.222273 767.529791 789.829679 773.761726z" fill="#DA1726" p-id="3014"></path><path d="M675.395394 706.776102c9.136078 0 16.912182 3.039219 23.12672 9.05933 0.432859 0.424672 0.849344 0.865717 1.264806 1.324158l10.384511-15.401782c-9.16166-8.439206-20.862143-12.718673-34.777061-12.718673-13.338796 0-24.801872 3.973498-34.098609 11.831466-11.122315 9.42465-16.760732 24.066115-16.760732 43.454698 0 17.689894 4.720511 31.473829 14.018272 40.941458 9.305947 9.531074 21.693068 14.370289 36.84107 14.370289 9.364275 0 18.168802-2.199085 26.15059-6.512321 1.952468-1.061169 3.795443-2.232854 5.536087-3.510964l-8.277524-16.968463c-0.076748 0.076748-0.144286 0.152473-0.230244 0.229221-6.223748 6.053879-14.026458 9.126868-23.178909 9.126868-9.43386 0-17.066701-2.963495-23.332405-9.05933-6.376221-6.249331-9.627265-15.852036-9.627265-28.616758 0-12.740162 3.251044-22.334681 9.627265-28.523637C658.244782 709.797925 666.097634 706.776102 675.395394 706.776102z" fill="#DA1726" p-id="3015"></path></svg> |
New file |
| | |
| | | <?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1666837514634" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1889" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M442.5 699.7H285.8v21.4h156.7v-21.4zM663.6 220c-3.5-0.3-7.1-0.7-10.6-0.9-4-0.4-7.9-0.8-11.8-1.4 3.9 0.6 7.9 1 11.8 1.4 3.5 0.2 7 0.7 10.6 0.9z" fill="#E12319" p-id="1890"></path><path d="M767.2 83.4H213.1c-78.7 0-142.5 63.8-142.5 142.5V780c0 78.7 63.8 142.5 142.5 142.5h554.1c78.7 0 142.5-63.8 142.5-142.5V225.9c0-78.7-63.8-142.5-142.5-142.5zM228 323.3c1.8-4.8 3.3-9.6 5.5-14.2 2.8-5.8 6.3-11.2 10.4-16.2 10.2-12.4 17.2-26.6 23.1-41.5 3.4-8.4 7.1-16.7 10.5-25.2 3.9-9.7 12.4-11.4 21-8.8 4.2 1.3 8 3.6 11.3 6.4 6.4 5.4 13.7 9.6 20.7 14.3 1.2 0.8 2.1 1.2 3.4-0.2 13.4-14.5 30.1-24.2 47.9-32 35.1-15.6 71.9-25.7 109.7-32 30.8-5.1 61.8-6.1 93-4.6 0.6 0 1.2-0.1 1.8-0.1 1.8-1.7 3.4-1 5.1 0.2 1.2 0.4 2.4 0.5 3.6 0.3 0.8-0.7 1.5-0.7 2.2 0.2 4.4 0.4 8.7 0.9 13.1 1.3 0.8-0.7 1.5-0.6 2.1 0.2 1.5 0.2 2.9 0.3 4.4 0.5 0.6-0.6 1-0.5 1.4 0.2 0.9 0.4 1.9 0.6 2.9 0.4 1.2-1 2.2-0.7 3.1 0.5 7.3 1.6 14.7 3 22 4.8 19.9 4.9 39.1 11.5 55.4 24.7 13.1 10.6 18.2 23.9 15.5 40.9-3.7 22.9-11.7 44-23 64.1-1.4 2.5-3.9 3.8-5.6 5.9 0.8 3.9-3 5.8-3.9 9-0.8 2.7-3.2 4.4-4.9 6.5-0.1 0.4-0.2 0.9-0.8 0.6 0 0.5 0.2 1.3-0.7 0.7 0.6 1.6-1 2.3-1.7 3.2-10.5 13.9-23.5 25.2-37.2 35.8-28.5 22.1-61.1 35.1-96.5 41.2-8.8 1.5-17.7 0-26.5-1-6.5-0.7-13-1.5-19.5-2.8-1.2-0.2-2.6-1.2-3.8 0.1-0.1 0.1-0.4 0.2-0.5 0.3-0.7-4.6-4.8-2.7-7.1-3.2-20.3-4.7-38.9-13.6-57-23.5-23.5-13-46.3-27.1-65.9-45.9-15.1-14.5-28.3-30.4-36.5-50-1.6-3.9-3.1-8-3.7-12.2-0.4-3-1.6-4.8-4.7-5.7 0.6 6.8 1 13.6 0.4 20.3-2.1 27.1-15.2 46.2-41.1 55.6-8.6 3.1-16.9 7.1-26.3 8-12.5 1.3-28.2-12.2-22.6-27.1z m68.1 473.4c-6.2 11.1-14.9 20.9-22.5 31.2-6.1 8.2-14.1 10.8-25.4 7.4 3.6-6.4 7.8-12.1 10.2-18.5 6.9-18.3 13.5-36.8 19.3-55.5 1.9-6 3.5-9.2 10.3-8.8 8.2 0.5 16.4 0.1 28.3 0.1-7.4 16.5-12.7 30.9-20.2 44.1z m84.2-8c-0.5 32.8-19.2 49.6-53.4 47.3v-13.9c20-7.1 21-8.6 21-30.6v-51.4h-93.1v-57.7h218.5v57h-93v35.8c0 4.4 0.1 9 0 13.5z m75.7 40.6c-20-21.5-33.7-46.3-41.9-76.2h31.4c10.9 28.2 21.4 55.5 32 82.9-7.3 2-14.5 0.8-21.5-6.7z m25.2-162.6H246.9v-16.5h100.6c0.5-4.8 0.8-8.5 1.3-13h30.8c0.6 4.1 1.2 8.1 2 13.2h75.1c3.8 0 7.6-0.1 11.4-0.1 14.8-0.2 14.9-0.1 13.1 16.4z m26.7-172.5c-4.4 9.6-6.8 20-9.8 30.1-0.7 2.3-1.5 3.5-4.1 3.4-3 0-6.9 1.8-8.8 0.1-2-1.8-0.2-5.7 0-8.6 0.9-11.5 1.4-23 0.7-34.8-3.8 1.2-6.8 3.5-9.6 5.9-10.9 9.1-19.9 20-30.1 29.7-1.7 1.6-3.4 3.1-4.9 4.9-2.2 2.8-5.2 3.1-8.4 3.4-2.9 0.3-3.5-0.6-2-3.3 5.5-9.2 10.8-18.5 16.2-27.7 2.9-5 5.7-10.2 8.9-15.1 1.6-2.5 0.5-3-1.5-3.5-3.7-0.9-7-2.7-10-5-7.2-5.5-10.6-16.8-7.3-25.1 1.1 3.8 2.4 7.3 4.7 10.3 7.1 9.6 17.5 7.9 25.1 3.6 0.9-0.5 1.4-1.6 2-2.6 9-15 17.9-30 26.8-45.1 1.4-2.4 2.7-2.9 5.5-2.4 12 2.2 24 4 36.2 2.5 5.8-0.7 11.4-2 17.2-5.3v6c-0.3 36.2-0.6 72.5-0.7 108.7 0 3.4-1 4-4.1 3.7-7.6-0.7-7.5-0.6-9.4-8.1-2.2-8.4-3.3-17.2-6.4-25.4-1.7-4.3-3.6-8.5-6.9-11.9-4.3-4.3-7.5-4.3-11.9 0-3.4 3.4-5.5 7.5-7.4 11.6z m31.4 339c-4 3.5-11.6 2.9-18.5 4.4 8.2-18.6 15.7-35 22.6-51.6 2.6-6.2 5.3-13 5.4-19.6 0.2-12.7 6.8-15 17.5-13.9 6.2 0.6 12.6 0.1 20.4 0.1-9.5 32.3-23.6 59.5-47.4 80.6z m187.8-4.8c-19.7-21.3-32.9-45.8-40.9-74.1 2.1-0.9 2.4-1.1 2.8-1.1 29.8-3 29.5-2.9 37.6 25.3 2.9 10.2 6.8 20.1 11.1 29.8 4.1 9.2 9.4 17.9 14.3 27.2-10.3 2.7-17.8 0.6-24.9-7.1zM753.5 667c-3.5 0.2-7.5 0.6-11.5 0.6-45.9 0.1-91.9 0.3-137.8-0.1-8.8-0.1-13.8 2.2-17.1 10.8-5.5 14-12.4 27.5-19.8 43.6 17.9 0 33.9 0.3 50-0.4 1.8-0.1 4.7-5.1 4.9-8 0.6-9.7 0.2-19.5 0.2-30.1h31.7v38.3h90.7v17.8h-90.5c0 17.4 0.1 33.2 0 49-0.2 32.8-18.6 49.6-52.7 47.8-2.5-8.7-3.3-15.3 8.8-18.2 4.5-1.1 10.4-8 10.6-12.6 1.1-21.4 0.5-43 0.5-65.9h-95.1c11.2-24.4 21.6-46.9 33-71.8h-40.7v-17.5c13.6 0 27.2 0.2 40.8-0.1 3.2-0.1 8.4-0.8 9.1-2.6 7.7-19.4 23.5-8.5 37.3-11.9-1.8 5.5-3 8.9-4.7 14h152.2c0.1 6.4 0.1 11.1 0.1 17.3z" fill="#E12319" p-id="1891"></path><path d="M678 329.8c0.8 1.8-0.9 2.4-1.6 3.4-10.5 13.9-23.5 25.2-37.2 35.8-28.5 22.1-61.1 35.1-96.5 41.2-8.8 1.5-17.7 0-26.5-1-6.5-0.7-13-1.5-19.5-2.8-1.2-0.2-2.6-1.2-3.8 0.1-0.1 0.1-0.4 0.2-0.5 0.3-0.7-4.6-4.8-2.7-7.1-3.2-20.3-4.7-38.9-13.6-57-23.5-23.5-13-46.3-27.1-65.9-45.9-15.1-14.5-28.3-30.4-36.5-50-1.6-3.9-3.1-8-3.7-12.2-0.4-3-1.6-4.8-4.7-5.7 0.6 6.8 1 13.6 0.4 20.3-2.1 27.1-15.2 46.2-41.1 55.6-8.6 3.1-16.9 7.1-26.3 8-12.5 1.2-28.1-12.2-22.5-27.1 1.8-4.8 3.3-9.6 5.5-14.2 2.8-5.8 6.3-11.2 10.4-16.2 10.2-12.4 17.2-26.6 23.1-41.5 3.4-8.4 7.1-16.7 10.5-25.2 3.9-9.7 12.4-11.4 21-8.8 4.2 1.3 8 3.6 11.3 6.4 6.4 5.4 13.7 9.6 20.7 14.3 1.2 0.8 2.1 1.2 3.4-0.2 13.4-14.5 30.1-24.2 47.9-32 35.1-15.6 71.9-25.7 109.7-32 30.8-5.1 61.8-6.1 93-4.6 0.6 0 1.2-0.1 1.8-0.1 1.7 0.1 3.4 0.1 5.1 0.2 1.2 0.4 2.4 0.5 3.6 0.3 0.7 0.1 1.4 0.1 2.2 0.2 4.4 0.4 8.7 0.9 13.1 1.3 0.7 0.1 1.4 0.1 2.1 0.2 1.5 0.2 2.9 0.3 4.4 0.5 0.5 0.1 1 0.1 1.4 0.2 0.9 0.4 1.9 0.6 2.9 0.4 1 0.2 2.1 0.3 3.1 0.5 7.3 1.6 14.7 3 22 4.8 19.9 4.9 39.1 11.5 55.4 24.7 13.1 10.6 18.2 23.9 15.5 40.9-3.7 22.9-11.7 44-23 64.1-1.4 2.5-3.9 3.8-5.6 5.9-1.5 0.5-3 0.8-4.4 1.5-7.6 3.6-15.7 6-23.9 7.4-31.5 5.3-62.5 3-92.8-7.2-28.5-9.6-51.1-27.4-69-51.4-1.8-2.5-5.2-3.4-7.3-2-2 1.3-2.9 6.4-1.3 8.6 5.6 7.9 12 15.3 18.9 22.1 24.1 23.5 53.6 36.2 86.3 42 20.7 3.7 41.6 3.6 62.4 0.7 7-1 13.8-3.1 20.6-5.1z m-25-110.7c6.3 0.3 12.5 1.5 18.9 0.9 8.1-0.7 15.9-2 22.7-6.9 4.4-3.2 5-8.2 1.6-12.4-1.3-1.6-2.9-3-4.7-4-6.9-3.9-14.2-6.8-22-7.8-8-1-16-1.5-24.2-0.6-6.5 0.7-12.7 1.6-18.4 4.7-4.3 2.4-8.2 5.8-8.2 10.8 0 5.3 4.8 7.8 9.1 9.9 7.9 3.9 16.6 4.5 25.2 5.4z m-161.9-0.4c-0.7 6.7 5.1 13.4 12.1 14.2 6.2 0.7 14.6-5.4 15.3-11.1 0.8-6.1-5.6-13.4-12.3-14-8-0.7-14.3 3.9-15.1 10.9z" fill="#EEEEEE" p-id="1892"></path><path d="M437.2 448.7c1.1 3.8 2.4 7.3 4.7 10.3 7.1 9.6 17.5 7.9 25.1 3.6 0.9-0.5 1.4-1.6 2-2.6 9-15 17.9-30 26.8-45.1 1.4-2.4 2.7-2.9 5.5-2.4 12 2.2 24 4 36.2 2.5 5.8-0.7 11.4-2 17.2-5.3v6c-0.3 36.2-0.6 72.5-0.7 108.7 0 3.4-1 4-4.1 3.7-7.6-0.7-7.5-0.6-9.4-8.1-2.2-8.4-3.3-17.2-6.4-25.4-1.7-4.3-3.6-8.5-6.9-11.9-4.3-4.3-7.5-4.3-11.9 0-3.2 3.2-5.3 7.2-7.2 11.3-4.4 9.6-6.8 20-9.8 30.1-0.7 2.3-1.5 3.5-4.1 3.4-3 0-6.9 1.8-8.8 0.1-2-1.8-0.2-5.7 0-8.6 0.9-11.5 1.4-23 0.7-34.8-3.8 1.2-6.8 3.5-9.6 5.9-10.9 9.1-19.9 20-30.1 29.7-1.7 1.6-3.4 3.1-4.9 4.9-2.2 2.8-5.2 3.1-8.4 3.4-2.9 0.3-3.5-0.6-2-3.3 5.5-9.2 10.8-18.5 16.2-27.7 2.9-5 5.7-10.2 8.9-15.1 1.6-2.5 0.5-3-1.5-3.5-3.7-0.9-7-2.7-10-5-7.4-5.2-10.7-16.6-7.5-24.8z" fill="#EEEEEE" p-id="1893"></path><path d="M678 329.8c-6.8 2-13.6 4-20.7 5-20.9 2.9-41.7 3-62.4-0.7-32.7-5.8-62.1-18.5-86.3-42-7-6.8-13.3-14.1-18.9-22.1-1.6-2.2-0.7-7.2 1.3-8.6 2.2-1.4 5.5-0.5 7.3 2 17.9 24 40.5 41.8 69 51.4 30.2 10.2 61.3 12.4 92.8 7.2 8.3-1.4 16.3-3.8 23.9-7.4 1.4-0.6 2.9-1 4.4-1.5 0.8 3.9-3 5.8-3.9 9-0.8 2.7-3.2 4.4-4.9 6.5-0.5-0.1-0.8 0.1-0.8 0.6l0.1-0.1c-0.6 0.1-1.1 0.1-0.9 0.7zM591.3 169.5c-1.7-0.1-3.4-0.1-5.1-0.2 1.8-1.7 3.5-1 5.1 0.2zM624.2 172.9c-1-0.2-2.1-0.3-3.1-0.5 1.2-0.9 2.2-0.6 3.1 0.5zM597.1 169.9c-0.7-0.1-1.4-0.1-2.2-0.2 0.8-0.7 1.6-0.6 2.2 0.2zM612.4 171.4c-0.7-0.1-1.4-0.1-2.1-0.2 0.7-0.7 1.4-0.6 2.1 0.2zM618.2 172.1c-0.5-0.1-1-0.1-1.4-0.2 0.5-0.6 1-0.5 1.4 0.2z" fill="#282526" p-id="1894"></path><path d="M678.7 329.3c0.1-0.5 0.4-0.6 0.8-0.6-0.1 0.4-0.1 0.9-0.8 0.6z" fill="#EEEEEE" p-id="1895"></path><path d="M677.9 329.9c-0.1-0.7 0.4-0.7 0.9-0.7-0.1 0.5 0.3 1.6-0.9 0.7z" fill="#EEEEEE" p-id="1896"></path><path d="M653 219.1c-8.6-0.9-17.2-1.6-25.2-5.3-4.4-2.1-9.1-4.6-9.1-9.9 0-5 3.9-8.5 8.2-10.8 5.7-3.1 11.9-4 18.4-4.7 8.2-0.9 16.2-0.4 24.2 0.6 7.8 1 15.1 4 22 7.8 1.8 1 3.4 2.4 4.7 4 3.4 4.2 2.8 9.2-1.6 12.4-6.8 4.9-14.6 6.1-22.7 6.9-6.4 0.6-12.6-0.7-18.9-1z" fill="#282526" p-id="1897"></path><path d="M491.1 218.7c0.8-7 7.1-11.6 15.2-10.9 6.7 0.6 13 7.9 12.3 14-0.7 5.6-9.1 11.7-15.3 11.1-7.1-0.7-12.9-7.5-12.2-14.2z" fill="#444243" p-id="1898"></path><path d="M559.6 667.8h-40.7v-17.5c13.6 0 27.2 0.2 40.8-0.1 3.2-0.1 8.4-0.8 9.1-2.6 7.7-19.4 23.5-8.5 37.3-11.9-1.8 5.5-3 8.9-4.7 14h152.2V667c-3.5 0.2-7.5 0.6-11.5 0.6-45.9 0.1-91.9 0.3-137.8-0.1-8.8-0.1-13.8 2.2-17.1 10.8-5.5 14-12.4 27.5-19.8 43.6 17.9 0 33.9 0.3 50-0.4 1.8-0.1 4.7-5.1 4.9-8 0.6-9.7 0.2-19.5 0.2-30.1h31.7v38.3h90.7v17.8h-90.5c0 17.4 0.1 33.2 0 49-0.2 32.8-18.6 49.6-52.7 47.8-2.5-8.7-3.3-15.3 8.8-18.2 4.5-1.1 10.4-8 10.6-12.6 1.1-21.4 0.5-43 0.5-65.9h-95.1c11.3-24.4 21.7-47 33.1-71.8zM326.9 836v-13.9c20-7.1 21-8.6 21-30.6v-51.4h-93.1v-57.7h218.5v57h-93v49.5c-0.5 32.6-19.1 49.5-53.4 47.1z m-41.1-114.9h156.7v-21.4H285.8v21.4zM246.8 666.7v-16.5h100.6c0.5-4.8 0.8-8.5 1.3-13h30.8c0.6 4.1 1.2 8.1 2 13.2h75.1c3.8 0 7.6-0.1 11.4-0.1 15-0.1 15 0 13.2 16.5-77.7-0.1-155.5-0.1-234.4-0.1z" fill="#FFFFFF" p-id="1899"></path><path d="M686.2 754.2c2.1-0.9 2.4-1.1 2.8-1.1 29.8-3 29.5-2.9 37.6 25.3 2.9 10.2 6.8 20.1 11.1 29.8 4.1 9.2 9.4 17.9 14.3 27.2-10.3 2.8-17.8 0.7-24.9-7-19.7-21.3-33-45.9-40.9-74.2zM414.1 753.1h31.4c10.9 28.2 21.4 55.5 32 82.9-7.2 2.1-14.5 0.8-21.4-6.6-20.1-21.6-33.7-46.3-42-76.3zM316.4 752.6c-7.4 16.5-12.8 30.9-20.3 44.2-6.2 11.1-14.9 20.9-22.5 31.2-6.1 8.2-14.1 10.8-25.4 7.4 3.6-6.4 7.8-12.1 10.2-18.5 6.9-18.3 13.5-36.8 19.3-55.5 1.9-6 3.5-9.2 10.3-8.8 8.2 0.4 16.4 0 28.4 0zM586.6 752.5c-9.4 32.4-23.5 59.5-47.4 80.6-4 3.5-11.6 2.9-18.5 4.4 8.2-18.6 15.7-35 22.6-51.6 2.6-6.2 5.3-13 5.4-19.6 0.2-12.7 6.8-15 17.5-13.9 6.2 0.6 12.6 0.1 20.4 0.1z" fill="#FFFFFF" p-id="1900"></path></svg> |
New file |
| | |
| | | <?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1666837543425" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2096" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M83.168188 519.487531c17.535375-0.12689 35.071773-0.031722 52.608172-0.031722 17.198707 0.005117 34.398438-0.093121 51.596122 0.037862M115.494431 414.897452c-0.060375-11.618619-9.787924-21.146623-21.386076-20.948101-11.92868 0.204661-20.784372 9.349949-20.748556 21.428032 0.035816 11.970636 9.128915 20.87647 21.194718 20.756743C106.512872 436.015422 115.556852 426.843528 115.494431 414.897452zM289.782919 553.038672c16.989953 0 33.81413 0.290619 50.620911-0.121773 8.516977-0.208754 14.848173-7.466042 15.283078-15.975856 0.415462-8.111748-5.850242-16.909112-13.930267-17.206894-17.071817-0.629333-34.18252-0.191358-51.973722-0.191358C289.782919 530.900465 289.782919 541.259394 289.782919 553.038672zM187.373505 519.493671c-17.197684-0.130983-34.397415-0.032746-51.596122-0.035816-17.536398-0.002047-35.072797-0.097214-52.608172 0.029676M83.168188 519.487531c-12.458753 0.090051-19.564591 6.367011-19.522636 16.84669 0.039909 10.083659 6.940063 16.535605 18.760273 16.59291 35.071773 0.170892 70.14457 0.159636 105.216343 0.007163 11.793604-0.051165 18.978237-6.505158 19.142989-16.361643 0.173962-10.440793-7.086395-16.98586-19.392676-17.080004M84.947717 598.183871c24.419156 28.183899 55.475476 40.190351 92.771917 36.478819 47.625694-4.739954 86.159312-40.048111 91.570555-84.472903 6.16235-50.594305-20.676925-93.489254-68.474534-109.435435-18.427698-6.148024-18.427698-6.148024-18.46249-25.237801 0-4.723581 0.229221-9.460466-0.046049-14.167674-0.623193-10.627035-7.377014-17.526165-16.97665-17.672498-9.419534-0.143263-16.169261 5.803169-17.104563 16.244986-0.74906 8.372691-0.848321 16.874319-0.358157 25.267477 0.462534 7.91425-1.571798 11.656481-10.215666 13.803377-21.809725 5.415336-40.137139 17.253966-54.259788 35.004235-5.771447 7.254218-5.374404 16.502859 0.49221 21.914102 6.594185 6.082532 15.428388 5.467525 22.453385-1.62808 3.083222-3.114944 5.903453-6.505158 9.116635-9.474792 35.971259-33.253358 99.613742-21.217231 118.365828 22.680559 10.670014 24.978904 8.162914 49.242518-9.119705 70.372767-19.277042 23.568788-45.342698 30.407544-74.640977 25.463951-17.675568-2.982938-31.243585-13.151531-43.420929-26.048259-3.51301-3.719718-10.662851-6.179746-15.71696-5.583159-4.046153 0.477884-9.851369 6.060019-10.523681 10.100032C79.539544 586.947969 81.489966 594.192977 84.947717 598.183871zM257.008468 619.286492c23.107277 13.903661 47.164183 18.198477 73.251328 15.07637 60.35767-7.224542 100.997252-65.930595 85.044932-124.519991-10.425444-38.290071-36.285414-61.467957-74.200956-71.071685-8.639774-2.187829-11.669784-5.595438-10.839883-14.198374 0.709151-7.354502 0.26299-14.83487 0.101307-22.25384-0.25071-11.538801-6.647397-18.517749-16.845667-18.653849-10.204409-0.1361-16.756639 6.811126-16.983813 18.290575-0.160659 8.094352-0.469698 16.22452 0.083911 24.284079 0.50756 7.381108-2.189875 10.463306-9.461489 12.490475-10.384511 2.894933-20.227694 7.730055-30.834262 11.9471 6.991228 9.400091 12.596899 16.936741 18.73162 25.184589 37.731346-20.057825 77.543074-7.537673 97.270371 15.760962 18.804275 22.209838 21.172205 56.387241 4.752234 81.044828-8.879228 13.334703-21.12718 22.574135-36.33351 27.701922-22.774703 7.679913-44.886303 5.598508-65.754586-5.548366C268.717138 603.353614 263.006066 611.124602 257.008468 619.286492zM403.465075 415.390685c0.090051-12.009522-8.852622-21.298072-20.644179-21.443381-11.720949-0.144286-21.296025 9.224082-21.376866 20.917402-0.082888 11.992125 8.90788 21.169135 20.860097 21.291932C394.440537 436.281481 403.374 427.514817 403.465075 415.390685zM261.482363 415.359986c0.177032-11.543917-9.41851-21.366633-20.921495-21.417799-12.117992-0.053212-20.944008 8.718569-21.10262 20.971637-0.159636 12.251022 8.544607 21.204951 20.630876 21.222347C252.221442 436.154591 261.298168 427.338808 261.482363 415.359986z" p-id="2097" fill="#d81e06"></path><path d="M512.135076 497.649154l-10.077519 0 0-9.461489-0.205685 0c-4.149507 7.198959-10.593266 10.797927-19.334347 10.797927-7.198959 0-12.923334-2.562359-17.174148-7.687076-4.250814-5.123694-6.375198-12.040221-6.375198-20.747533 0-9.391904 2.39863-16.924461 7.197936-22.597671 4.799306-5.67321 11.072173-8.509814 18.819624-8.509814 7.746428 0 13.368472 3.016707 16.866133 9.049097l0.205685 0 0-35.015491 10.077519 0L512.135076 497.649154zM502.107699 463.815581c0-4.558829-1.499144-8.372691-4.498454-11.440563-2.99931-3.067872-6.693446-4.601808-11.08036-4.601808-5.347798 0-9.56382 1.997494-12.649088 5.990434-3.085268 3.993964-4.627391 9.435906-4.627391 16.325827 0 6.342452 1.481747 11.355629 4.447289 15.039531 2.964518 3.685949 6.915503 5.5279 11.851932 5.5279 4.866844 0 8.844435-1.808182 11.929704-5.424546 3.084245-3.616364 4.626367-8.114818 4.626367-13.497409L502.107699 463.815581zM531.467377 444.74013c5.655813-3.530406 12.186554-5.29561 19.591197-5.29561 13.710256 0 20.567431 7.198959 20.567431 21.595854l0 36.609803-9.975189 0 0-8.792247-0.25685 0c-3.942799 6.753821-9.752108 10.129708-17.430998 10.129708-5.519714 0-9.906627-1.49198-13.162788-4.473895-3.257184-2.982938-4.88424-7.009647-4.88424-12.0832 0-10.626012 6.28924-16.813944 18.87079-18.562774l16.864086-2.364861c0-9.289574-3.839445-13.934361-11.517311-13.934361-6.822382 0-13.044084 2.297322-18.665105 6.889921L531.4684 444.74013zM548.33351 470.91221c-4.663206 0.617054-7.875365 1.782599-9.641591 3.496637-1.766226 1.715061-2.648316 4.113691-2.648316 7.198959 0 2.707668 0.959861 4.919033 2.879584 6.633071 1.918699 1.714038 4.455475 2.570545 7.610328 2.570545 4.386914 0 8.003278-1.542122 10.850116-4.627391 2.843768-3.085268 4.267187-6.958482 4.267187-11.620665l0-5.450129L548.33351 470.91221zM636.412544 497.649154l-10.026354 0 0-32.341592c0-11.689227-4.26821-17.533328-12.803607-17.533328-4.421706 0-8.055466 1.645476-10.900258 4.936429-2.845815 3.290953-4.26821 7.455809-4.26821 12.494569l0 32.444946-10.078543 0 0-56.869219 10.078543 0 0 9.4093 0.205685 0c4.284583-7.164167 10.506285-10.745738 18.665105-10.745738 6.238075 0 10.985192 1.997494 14.242376 5.990434 3.257184 3.993964 4.88424 9.812483 4.88424 17.45658L636.411521 497.649154zM702.58771 492.867244c0 21.046339-10.214642 31.571043-30.644951 31.571043-7.060813 0-13.196557-1.320065-18.407232-3.959172l0-9.718339c6.341429 3.530406 12.426007 5.296633 18.253736 5.296633 13.81361 0 20.721951-7.268544 20.721951-21.801539l0-6.016017-0.205685 0c-4.319375 7.164167-10.765181 10.746762-19.334347 10.746762-7.130398 0-12.837376-2.553149-17.121959-7.661494-4.285606-5.107321-6.426363-11.877515-6.426363-20.310581 0-9.699919 2.365884-17.386996 7.095605-23.061228 4.730745-5.67321 11.037381-8.509814 18.921955-8.509814 7.575536 0 13.196557 3.016707 16.865109 9.049097l0.205685 0 0-7.712659 10.077519 0L702.588733 492.867244zM692.51019 463.815581c0.032746-4.386914-1.439792-8.157797-4.421706-11.311627-2.982938-3.15383-6.65149-4.730745-11.003612-4.730745-5.484921 0-9.753131 2.013867-12.803607 6.0416-3.051499 4.028757-4.577249 9.555633-4.577249 16.582677 0 6.033413 1.473561 10.917654 4.421706 14.653745 2.948145 3.736091 6.856152 5.604648 11.724019 5.604648 4.901637 0 8.911974-1.782599 12.032034-5.347798 3.119037-3.564175 4.66116-8.089235 4.627391-13.574157L692.509167 463.815581zM769.945817 497.649154l-10.077519 0 0-9.461489-0.205685 0c-4.148483 7.198959-10.593266 10.797927-19.334347 10.797927-7.197936 0-12.923334-2.562359-17.173125-7.687076-4.250814-5.123694-6.375198-12.040221-6.375198-20.747533 0-9.391904 2.39863-16.924461 7.197936-22.597671 4.798283-5.67321 11.072173-8.509814 18.819624-8.509814s13.368472 3.016707 16.865109 9.049097l0.205685 0 0-35.015491 10.077519 0L769.945817 497.649154zM759.919463 463.815581c0-4.558829-1.500167-8.372691-4.498454-11.440563-3.000334-3.067872-6.693446-4.601808-11.08036-4.601808-5.347798 0-9.564843 1.997494-12.649088 5.990434-3.085268 3.993964-4.627391 9.435906-4.627391 16.325827 0 6.342452 1.482771 11.355629 4.448312 15.039531 2.964518 3.685949 6.916527 5.5279 11.851932 5.5279 4.866844 0 8.844435-1.808182 11.92868-5.424546 3.085268-3.616364 4.627391-8.114818 4.627391-13.497409L759.920486 463.815581zM789.280164 444.74013c5.655813-3.530406 12.186554-5.29561 19.591197-5.29561 13.710256 0 20.567431 7.198959 20.567431 21.595854l0 36.609803-9.975189 0 0-8.792247-0.25685 0c-3.942799 6.753821-9.752108 10.129708-17.430998 10.129708-5.519714 0-9.906627-1.49198-13.162788-4.473895-3.257184-2.982938-4.88424-7.009647-4.88424-12.0832 0-10.626012 6.28924-16.813944 18.87079-18.562774l16.864086-2.364861c0-9.289574-3.839445-13.934361-11.517311-13.934361-6.822382 0-13.044084 2.297322-18.665105 6.889921L789.281187 444.74013zM806.145274 470.91221c-4.663206 0.617054-7.875365 1.782599-9.641591 3.496637-1.766226 1.715061-2.648316 4.113691-2.648316 7.198959 0 2.707668 0.959861 4.919033 2.879584 6.633071 1.918699 1.714038 4.455475 2.570545 7.610328 2.570545 4.386914 0 8.003278-1.542122 10.850116-4.627391 2.843768-3.085268 4.267187-6.958482 4.267187-11.620665l0-5.450129L806.145274 470.91221zM894.224308 497.649154l-10.026354 0 0-32.341592c0-11.689227-4.26821-17.533328-12.803607-17.533328-4.421706 0-8.055466 1.645476-10.900258 4.936429-2.845815 3.290953-4.26821 7.455809-4.26821 12.494569l0 32.444946-10.078543 0 0-56.869219 10.078543 0 0 9.4093 0.205685 0c4.284583-7.164167 10.506285-10.745738 18.665105-10.745738 6.238075 0 10.985192 1.997494 14.242376 5.990434 3.257184 3.993964 4.88424 9.812483 4.88424 17.45658L894.223285 497.649154zM960.399473 492.867244c0 21.046339-10.214642 31.571043-30.644951 31.571043-7.060813 0-13.196557-1.320065-18.407232-3.959172l0-9.718339c6.341429 3.530406 12.426007 5.296633 18.253736 5.296633 13.81361 0 20.721951-7.268544 20.721951-21.801539l0-6.016017-0.205685 0c-4.319375 7.164167-10.765181 10.746762-19.334347 10.746762-7.130398 0-12.837376-2.553149-17.121959-7.661494-4.285606-5.107321-6.426363-11.877515-6.426363-20.310581 0-9.699919 2.365884-17.386996 7.095605-23.061228 4.730745-5.67321 11.037381-8.509814 18.921955-8.509814 7.575536 0 13.196557 3.016707 16.865109 9.049097l0.205685 0 0-7.712659 10.077519 0L960.400496 492.867244zM950.322977 463.815581c0.032746-4.386914-1.439792-8.157797-4.421706-11.311627-2.982938-3.15383-6.65149-4.730745-11.003612-4.730745-5.484921 0-9.753131 2.013867-12.803607 6.0416-3.051499 4.028757-4.577249 9.555633-4.577249 16.582677 0 6.033413 1.473561 10.917654 4.421706 14.653745 2.948145 3.736091 6.856152 5.604648 11.724019 5.604648 4.901637 0 8.911974-1.782599 12.032034-5.347798 3.119037-3.564175 4.66116-8.089235 4.627391-13.574157L950.321954 463.815581z" p-id="2098" fill="#d81e06"></path><path d="M427.967118 627.373681c0-2.77623 0.950651-5.115508 2.854001-7.017834 1.901303-1.901303 4.267187-2.854001 7.095605-2.854001 2.87856 0 5.270027 0.963954 7.173376 2.892887 1.901303 1.927909 2.854001 4.254907 2.854001 6.978948 0 2.673899-0.951675 4.975315-2.854001 6.903224-1.90335 1.928932-4.319375 2.891863-7.250124 2.891863-2.828418 0-5.180999-0.962931-7.05672-2.891863C428.904467 632.350019 427.967118 630.04758 427.967118 627.373681zM529.235546 631.461789c-6.53074 3.906983-14.396895 5.862521-23.600511 5.862521-12.341073 0-22.265096-3.959172-29.771047-11.877515-7.507998-7.91732-11.260461-18.175965-11.260461-30.773887 0-13.985526 4.049223-25.25929 12.147668-33.82027s18.934235-12.842493 32.509415-12.842493c7.816013 0 14.500249 1.388627 20.053732 4.164856l0 14.962783c-6.016017-4.421706-12.700253-6.633071-20.053732-6.633071-8.637728 0-15.669888 2.996241-21.094434 8.985652-5.425569 5.990434-8.137331 13.973246-8.137331 23.947412 0 9.822716 2.557242 17.507746 7.674796 23.061228 5.116531 5.553483 12.018731 8.330736 20.708648 8.330736 7.353478 0 14.294564-2.416026 20.825304-7.250124L529.237593 631.461789zM543.812543 593.592296c0-14.08888 3.933589-25.208125 11.800767-33.358759 7.867178-8.148587 18.535145-12.224416 32.006971-12.224416 12.803607 0 22.842241 3.921309 30.118971 11.761881 7.274684 7.841595 10.913561 18.678408 10.913561 32.510438 0 13.471826-3.882424 24.346501-11.646248 32.625048-7.764847 8.278547-18.176988 12.417821-31.236422 12.417821-12.752442 0-22.933315-4.01136-30.54262-12.032034C547.616172 617.270579 543.812543 606.703919 543.812543 593.592296zM559.237861 593.129762c0 9.821693 2.480494 17.558911 7.442506 23.215748 4.962012 5.655813 11.632945 8.484232 20.014846 8.484232 8.637728 0 15.219633-2.76395 19.744693-8.29185 4.524037-5.526877 6.78759-13.458523 6.78759-23.793916 0-10.385535-2.263553-18.356067-6.78759-23.909549-4.52506-5.553483-11.106965-8.330736-19.744693-8.330736-8.484232 0-15.181771 2.90619-20.091594 8.716522C561.692772 575.031569 559.237861 583.001077 559.237861 593.129762zM772.727163 635.31863l-15.116279 0 0-48.975435c0-9.255805-1.439792-15.875572-4.319375-19.860327-2.880607-3.984754-7.611352-5.978155-14.192234-5.978155-5.552459 0-10.308787 2.597151-14.267958 7.79043-3.960195 5.193279-5.939269 11.337209-5.939269 18.433838l0 48.589648-15.116279 0 0-50.51858c0-16.196891-6.247284-24.295336-18.741853-24.295336-5.759167 0-10.527774 2.468215-14.306844 7.404644-3.778046 4.935406-5.668093 11.234879-5.668093 18.896372l0 48.5129-15.117302 0 0-85.302805 15.117302 0 0 13.497409 0.308015 0c6.067182-10.336416 14.937201-15.503089 26.610054-15.503089 5.706979 0 10.745738 1.568728 15.116279 4.705162 4.370541 3.136433 7.40362 7.379061 9.101285 12.726859 6.325056-11.619642 15.784498-17.430998 28.382421-17.430998 18.767436 0 28.152177 11.5695 28.152177 34.707476L772.72921 635.31863z" p-id="2099" fill="#d81e06"></path></svg> |
New file |
| | |
| | | export const requestCtx = "https://www.caupress.cn"; // 请æ±å°å |
| | | export const requestTimeOut = 300000; // 请æ±è¶
æ¶æ¶é´ |
| | | export const tokenKey = "zgnydx-token"; |
| | | export const userInfoKey = "zgnydx-userInfo"; // ç¨æ·ä¿¡æ¯key |
| | | export const appId = 1; |
| | | export const appRefCode = "caupress"; |
| | | export const goodsStore = `defaultGoodsStore${appId}`; // é»è®¤åååº |
| | | export const publicStore = `defaultPublicStore${appId}`; // é»è®¤èµæºå¼æ¾ä»å¨ |
| | | export const publicRepository = `defaultPublicRepository${appId}`; // é»è®¤èµæºå¼æ¾åº |
| | | export const reg_tel = |
| | | /^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8}$/; // çµè¯å·æ£å |
| | | |
| | | const pdfUrl = "https://www.caupress.cn/pdfRead/"; |
| | | // const pdfUrl = "http://192.168.3.196:8083/pdfRead/"; |
| | | |
| | | // é¢érefCode |
| | | export const refCodes = { |
| | | index: { |
| | | banner: "caupress_banner\\caupress_homepageBanner", |
| | | information: "caupress_informationCenter\\caupress_information", |
| | | notice: "caupress_informationCenter\\caupress_notice", |
| | | column: "caupress_homepageColumn", |
| | | honor: "caupress_honor", |
| | | }, |
| | | // æè§åé¦ |
| | | Feedback: "feedback", |
| | | // æç¨¿ |
| | | Contribution: "caupress_contributedWorks", |
| | | // éç§æ¿ç |
| | | Privacy:"caupress_protocol", |
| | | // æ³å¾å£°æ |
| | | Statement:"caupress_protocol", |
| | | //æå¸è®¤è¯formtypeItem |
| | | teacherCertification: "caupress_teacherCertification", |
| | | // çµåæ ·ä¹¦cmsTypeRefcode |
| | | electronicSampleApplication: "electronicSampleApplication", |
| | | // çµåæ ·ä¹¦ç³è¯· |
| | | applyBook: "applyBook", |
| | | // çº¸è´¨æ ·ä¹¦ç³è¯· |
| | | applyEntityBook: "applyEntityBook", |
| | | // èµæºä¸è½½ç³è¯· |
| | | productDownLoad: "productDownLoad", |
| | | }; |
| | | |
| | | export const seriesList = { |
| | | caupress_yyxbkspkxygclzyxljc: "åºç¨åæ¬ç§é£åç§å¦ä¸å·¥ç¨ç±»ä¸ä¸ç³»åææ", |
| | | caupress_ptgdyxsplzyxljc: "æ®éé«ç颿 ¡é£åç±»ä¸ä¸ç³»åææ", |
| | | caupress_ptgdjyfjylylzysswghjc: "æ®éé«ç颿 ¡é£æ¯åæ/åæç³»åææ", |
| | | caupress_gdzyjyxmsyzyjpjc: "é«çè䏿è²çç§å
½å»ä¸ä¸ç²¾åææ", |
| | | caupress_gdzyjyxmsyzyqgxjhxljc: |
| | | "é«çè䏿è²çç§å
½å»ä¸ä¸ç¾¤âå·¥å¦ç»åâç³»åææ", |
| | | caupress_xczxbwnmpxxl: "ä¹¡ææ¯å
´ç¾ä¸åæ°å¹è®ç³»åææ", |
| | | caupress_tdzyglyyxzxfzsdzyxljc: "åå°èµæºç®¡çåºç¨å转ååå±è¯ç¹ä¸ä¸ç³»åææ", |
| | | caupress_ptgdyxtdzyglzyjpkcj: "æ®éé«ç颿 ¡åå°èµæºç®¡çä¸ä¸ç²¾å课ç¨å»ºè®¾ææ", |
| | | caupress_gdzyjygklqcnygcnjxlghjc: |
| | | "é«çè䏿è²å·¥ç§ç±»æ±½è½¦ãåä¸å·¥ç¨ãåæºç³»åè§åææ", |
| | | }; |
| | | |
| | | const config = { |
| | | requestCtx, |
| | | requestTimeOut, |
| | | tokenKey, |
| | | userInfoKey, |
| | | appRefCode, |
| | | goodsStore, |
| | | publicStore, |
| | | publicRepository, |
| | | refCodes, |
| | | reg_tel, |
| | | seriesList, |
| | | pdfUrl |
| | | }; |
| | | export default config; |
New file |
| | |
| | | // åæ¶æ¥å£è°ç¨è½åï¼ |
| | | // éåçå¿
è¦æ§ï¼ï¼ |
| | | |
| | | import resource from "./api/resource"; |
| | | import store from "./api/store"; |
| | | import identity from "./api/identity"; |
| | | import ugc from "./api/ugc"; |
| | | import app from "./api/app"; |
| | | import file from "./api/file"; |
| | | import job from "./api/job"; |
| | | import edu from "./api/edu"; |
| | | |
| | | const WebMiddleGroundApi = { |
| | | resource, |
| | | store, |
| | | identity, |
| | | ugc, |
| | | app, |
| | | file, |
| | | job, |
| | | edu |
| | | }; |
| | | |
| | | export default WebMiddleGroundApi; |
New file |
| | |
| | | import request from "@/plugin/axios"; |
| | | const appApi = { |
| | | // è·åç¨æ·æ¶æ¯å表 |
| | | getAppMessageList(data) { |
| | | return request({ |
| | | url: "/app/api/ApiGetAppMessageList", |
| | | method: "post", |
| | | data |
| | | }); |
| | | }, |
| | | // è·åç¨æ·æ¶æ¯è¯¦æ
|
| | | getMessage(data) { |
| | | return request({ |
| | | url: "/app/api/ApiGetMessage", |
| | | method: "post", |
| | | data |
| | | }); |
| | | }, |
| | | |
| | | //è·ååè¯ |
| | | getTicketResult(data) { |
| | | return request({ |
| | | url: "/app/api/ApiGetTicketResult", |
| | | method: "post", |
| | | data |
| | | }); |
| | | }, |
| | | |
| | | //使ç¨åè¯ |
| | | useTicket(data) { |
| | | return request({ |
| | | url: "/app/api/ApiUseTicket", |
| | | method: "post", |
| | | data |
| | | }); |
| | | } |
| | | }; |
| | | |
| | | export default appApi; |
New file |
| | |
| | | import request from "@/plugin/axios"; |
| | | import { handleQueryResourceListData } from "../tool"; |
| | | const eduApi = { |
| | | /* |
| | | **è·åååå表** |
| | | path: æ°æ®è·¯å¾ |
| | | storeInfo: ä»å¨ |
| | | channelInfo: é¢é |
| | | subAccess: |
| | | queryType: æ£ç´¢ç±»å |
| | | paging: å页 |
| | | sort: æåº |
| | | fields: èªå®ä¹å段 |
| | | */ |
| | | getCourseProductList: ({ |
| | | courseInfo = null, |
| | | queryType, |
| | | LinkProductId = null, |
| | | paging = {}, |
| | | sort, |
| | | fields, |
| | | coverSize |
| | | }) => { |
| | | const query = { |
| | | Type: queryType || "\\", |
| | | CourseId: courseInfo + "", |
| | | LinkProductId: LinkProductId || "", |
| | | PageQuery: { |
| | | Start: paging.start || "0", |
| | | Size: paging.size || "10" |
| | | }, |
| | | SortQuery: sort |
| | | ? [sort] |
| | | : [ |
| | | { |
| | | LinkOrder: "Desc" |
| | | } |
| | | ], |
| | | CreateDate: [], |
| | | Description: [], |
| | | Name: [], |
| | | Icon: [], |
| | | RefCode: [], |
| | | TypeId: [], |
| | | SysType: [], |
| | | State: [], |
| | | Tag: [], |
| | | BeginDate: [], |
| | | EndDate: [], |
| | | ProductLinkInfo: [], |
| | | AllowDonate: [], |
| | | // DonatePriceList: [], |
| | | SubProductCount: [], |
| | | ...fields |
| | | }; |
| | | const body = { query: JSON.stringify({ Query: [{ Q1: query }] }) }; |
| | | let url = "/edu/api/ApiAppUserQueryCourseProduct"; |
| | | return request({ |
| | | url: url, |
| | | method: "post", |
| | | data: body |
| | | }).then((resp) => { |
| | | if (resp.length > 0) { |
| | | const data = resp[0]; |
| | | const datas = handleQueryResourceListData({ |
| | | datas: data.datas, |
| | | fields, |
| | | courseInfo, |
| | | coverSize |
| | | }); |
| | | return { |
| | | datas, |
| | | total: data.totalCount |
| | | }; |
| | | } |
| | | return { datas: [], total: 0 }; |
| | | }); |
| | | }, |
| | | |
| | | //ç³è¯·è¯¾ç¨ |
| | | applyNewCourse(data) { |
| | | return request({ |
| | | url: "/edu/api/ApiApplyNewCourse", |
| | | method: "post", |
| | | data |
| | | }); |
| | | }, |
| | | |
| | | //æ´æ°è¯¾ç¨ç³è¯·ä¿¡æ¯ |
| | | updateCourseApply(data) { |
| | | return request({ |
| | | url: "/edu/api/ApiUpdateCourseApply", |
| | | method: "post", |
| | | data |
| | | }); |
| | | }, |
| | | |
| | | //è·åæçè¯¾ç¨ |
| | | getAppCourseList(data) { |
| | | return request({ |
| | | url: "/edu/api/ApiGetAppCourseList", |
| | | method: "post", |
| | | data |
| | | }); |
| | | }, |
| | | |
| | | //è·åå·²ç³è¯·ç课ç¨è¯¦æ
|
| | | getCourseById(data) { |
| | | return request({ |
| | | url: "/edu/api/ApiGetCourseById", |
| | | method: "post", |
| | | data |
| | | }); |
| | | }, |
| | | |
| | | //è·åå建课ç¨ä¸çç级å表 |
| | | getCourseClassList(data) { |
| | | return request({ |
| | | url: "/edu/api/ApiGetCourseClassList", |
| | | method: "post", |
| | | data |
| | | }); |
| | | }, |
| | | |
| | | //å建ççº§ä¿¡æ¯ |
| | | newCourseClass(data) { |
| | | return request({ |
| | | url: "/edu/api/ApiNewCourseClass", |
| | | method: "post", |
| | | data |
| | | }); |
| | | }, |
| | | |
| | | //å é¤ççº§ä¿¡æ¯ |
| | | delCourseClass(data) { |
| | | return request({ |
| | | url: "/edu/api/ApiDelCourseClass", |
| | | method: "post", |
| | | data |
| | | }); |
| | | }, |
| | | |
| | | // æ´æ°ççº§ä¿¡æ¯ |
| | | updateCourseClass(data) { |
| | | return request({ |
| | | url: "/edu/api/ApiUpdateCourseClass", |
| | | method: "post", |
| | | data |
| | | }); |
| | | }, |
| | | |
| | | //å建课ç¨è®¢å |
| | | createCourseOrder(data) { |
| | | return request({ |
| | | url: "/store/api/CreateCourseOrder", |
| | | method: "post", |
| | | data |
| | | }); |
| | | }, |
| | | |
| | | // å
è´¹é¢åè¯¾ç¨ |
| | | MakeFreeOrderPay(data) { |
| | | return request({ |
| | | url: "/store/api/MakeFreeOrderPay", |
| | | method: "post", |
| | | data |
| | | }); |
| | | } |
| | | }; |
| | | |
| | | export default eduApi; |
New file |
| | |
| | | import request from "@/plugin/axios"; |
| | | const fileApi = { |
| | | // è·åpdfæ»é¡µæ° |
| | | getPdfTotalPage(data) { |
| | | return request({ |
| | | url: "/file/GetPdfTotalPage", |
| | | method: "post", |
| | | data |
| | | }); |
| | | }, |
| | | |
| | | //ä¸ä¼ æä»¶ |
| | | upload(data) { |
| | | return request({ |
| | | url: "/file/api/ApiUpload", |
| | | method: "post", |
| | | data |
| | | }); |
| | | }, |
| | | |
| | | // è·åé¿éäºå éå°å |
| | | getAliVod(data) { |
| | | return request({ |
| | | url: "/file/GetAliVod", |
| | | method: "post", |
| | | data, |
| | | }); |
| | | }, |
| | | }; |
| | | |
| | | export default fileApi; |
New file |
| | |
| | | import request from "@/plugin/axios"; |
| | | const identityApi = { |
| | | // è·åå¾å½¢éªè¯ç |
| | | getImgCode() { |
| | | return request({ |
| | | url: "/identity/NewCaptcha", |
| | | method: "post", |
| | | }); |
| | | }, |
| | | |
| | | // éªè¯å¾å½¢éªè¯ç |
| | | verificationImgCode(data) { |
| | | return request({ |
| | | url: "/identity/ValidCaptcha", |
| | | method: "post", |
| | | data, |
| | | }); |
| | | }, |
| | | |
| | | // è·åçä¿¡éªè¯ç |
| | | getPhoneCode(data) { |
| | | return request({ |
| | | url: "/identity/NewSms", |
| | | method: "post", |
| | | data, |
| | | }); |
| | | }, |
| | | // éªè¯çä¿¡éªè¯ç |
| | | verificationPhoneCode(data) { |
| | | return request({ |
| | | url: "/identity/api/ApiValidMobilePhone", |
| | | method: "post", |
| | | data, |
| | | }); |
| | | }, |
| | | |
| | | // éè¿ææºå·æ³¨åç¨æ· |
| | | registerAppUserWithPhone(data) { |
| | | return request({ |
| | | url: "/identity/api/RegisterAppUserWithPhone", |
| | | method: "post", |
| | | data, |
| | | }); |
| | | }, |
| | | |
| | | // è´¦å·å¯ç ç»å½ |
| | | loginByPassword(data) { |
| | | return request({ |
| | | url: "/identity/api/LoginByPassword", |
| | | method: "post", |
| | | data, |
| | | }); |
| | | }, |
| | | |
| | | // çä¿¡éªè¯ç ç»å½ |
| | | loginByMobilePhone(data) { |
| | | return request({ |
| | | url: "/identity/api/LoginByMobilePhone", |
| | | method: "post", |
| | | data, |
| | | }); |
| | | }, |
| | | |
| | | // è®¾ç½®ç¨æ·key |
| | | setUserKey(data) { |
| | | return request({ |
| | | url: "/identity/api/ApiAppUserSetKey", |
| | | method: "post", |
| | | data, |
| | | }); |
| | | }, |
| | | |
| | | // è·åç¨æ·key |
| | | getUserKey(data) { |
| | | return request({ |
| | | url: "/identity/api/ApiGetAppUserKey", |
| | | method: "post", |
| | | data, |
| | | }); |
| | | }, |
| | | |
| | | // å é¤ç¨æ·key |
| | | delUserKey(data) { |
| | | return request({ |
| | | url: "/identity/api/ApiDelAppUserKey", |
| | | method: "post", |
| | | data, |
| | | }); |
| | | }, |
| | | |
| | | // è·åå»å½åç¨æ·ä¿¡æ¯ |
| | | getCurrentAppUser() { |
| | | return request({ |
| | | url: "/identity/api/GetCurrentAppUser", |
| | | method: "post", |
| | | }); |
| | | }, |
| | | |
| | | // æ·»å ç¨æ·ä¿¡æ¯ |
| | | setAppUserInfo(data) { |
| | | return request({ |
| | | url: "/identity/api/SetAppUserInfoRequest", |
| | | method: "post", |
| | | data, |
| | | }); |
| | | }, |
| | | |
| | | // ç¨æ·æ´æ¢ç»å®ææºå·ï¼å¦æ²¡æç»å®ææºåèªå¨å建 |
| | | userSetPhoneNumber(data) { |
| | | return request({ |
| | | url: "/identity/api/ApiUserSetPhoneNumber", |
| | | method: "post", |
| | | data, |
| | | }); |
| | | }, |
| | | |
| | | // æ£æµç¨æ·æ¯å¦ç»å®å¾®ä¿¡ |
| | | checkBuildingWeChat(data) { |
| | | return request({ |
| | | url: "/identity/api/ApiCheckBuildingWeChat", |
| | | method: "post", |
| | | data, |
| | | }); |
| | | }, |
| | | |
| | | |
| | | // éè¿ææºå·éç½®å¯ç |
| | | changePasswordByMobilePhone(data) { |
| | | return request({ |
| | | url: "/identity/api/ChangePasswordByMobilePhone", |
| | | method: "post", |
| | | data, |
| | | }); |
| | | }, |
| | | |
| | | // å¾®ä¿¡å¼æ¾å¹³å°æ«ç ç»å½ |
| | | loginByWeChatOpenCode(data) { |
| | | return request({ |
| | | url: "/identity/api/LoginByWeChatOpenCode", |
| | | method: "post", |
| | | data, |
| | | }); |
| | | }, |
| | | |
| | | // ç¨æ·ç»å®å¾®ä¿¡å· |
| | | bindingWeChat(data) { |
| | | return request({ |
| | | url: "/identity/api/ApiBindingWeChat", |
| | | method: "post", |
| | | data, |
| | | }); |
| | | }, |
| | | }; |
| | | |
| | | export default identityApi; |
New file |
| | |
| | | import request from "@/plugin/axios"; |
| | | import { tokenKey } from "@/assets/js/config"; |
| | | import toolClass from "@/assets/js/toolClass"; |
| | | const jobApi = { |
| | | // ç»è®¡ |
| | | newJobWithNewView(data) { |
| | | return request({ |
| | | url: "/job/api/NewJobWithNewView", |
| | | method: "post", |
| | | data |
| | | }); |
| | | }, |
| | | |
| | | newSession(data) { |
| | | return request({ |
| | | url: toolClass.getCookie(tokenKey) ? "/job/api/AppUserNewSession" : "/job/api/NewSession", |
| | | method: "post", |
| | | data |
| | | }); |
| | | } |
| | | }; |
| | | |
| | | export default jobApi; |
New file |
| | |
| | | import request from "@/plugin/axios"; |
| | | import { publicStore, publicRepository } from "@/assets/js/config"; |
| | | import { tokenKey } from "@/assets/js/config"; |
| | | import { handleQueryResourceListData } from "../tool"; |
| | | import toolClass from "@/assets/js/toolClass"; |
| | | const resourceApi = { |
| | | /* |
| | | **è·åèµæºå表&详æ
** |
| | | path: æ°æ®è·¯å¾ |
| | | storeInfo: ä»å¨ |
| | | repositoryInfo: ä»åº |
| | | queryType: æ£ç´¢ç±»å |
| | | paging: å页 |
| | | sort: æåº |
| | | fields: èªå®ä¹å段 |
| | | itemId: è·å详æ
æ¶çèµæºID |
| | | */ |
| | | getItem: ({ |
| | | path, |
| | | storeInfo = publicStore, |
| | | repositoryInfo = publicRepository, |
| | | queryType, |
| | | linkType, |
| | | paging, |
| | | sort, |
| | | fields, |
| | | itemId, |
| | | itemType, |
| | | coverSize, |
| | | filterList, |
| | | }) => { |
| | | if (!path) return Promise.reject("æ¥å£è¯·æ±å¿
è¦åæ°ä¸è½ä¸ºç©ºï¼"); |
| | | const query = { |
| | | AccessControl: { |
| | | Path: path, |
| | | StoreRefCode: storeInfo + "", |
| | | RepositoryRefCode: repositoryInfo + "", |
| | | Type: queryType || "\\", |
| | | LinkType: linkType || "", |
| | | }, |
| | | PageQuery: { |
| | | Start: paging?.start || "0", |
| | | Size: paging?.size || "10", |
| | | }, |
| | | SortQuery: sort |
| | | ? [sort] |
| | | : [ |
| | | { |
| | | LinkOrder: "Desc", |
| | | }, |
| | | ], |
| | | CreateDate: [], |
| | | Description: [], |
| | | Name: [], |
| | | Icon: [], |
| | | RefCode: [], |
| | | Type: [], |
| | | TypeId: [], |
| | | State: [], |
| | | Tag: [], |
| | | LinkInfo: [], |
| | | LinkFile: [], |
| | | CmsItemType: [], |
| | | ChildrenFolderCount: [], |
| | | ChildrenCount: [], |
| | | ...fields, |
| | | ...filterList, |
| | | }; |
| | | if (itemId) query["Id="] = [`${itemId}`]; |
| | | if (itemType) query["Type="] = [`${itemType}`]; |
| | | const body = { query: JSON.stringify({ Query: [{ Q1: query }] }) }; |
| | | let token = toolClass.getCookie(tokenKey); |
| | | return request({ |
| | | url: token ? "/resource/api/ApiAppUserQuery" : "/resource/api/ApiQuery", |
| | | method: "post", |
| | | data: body, |
| | | }).then((resp) => { |
| | | if (resp.length > 0) { |
| | | const data = resp[0]; |
| | | const datas = handleQueryResourceListData({ |
| | | datas: data.datas, |
| | | fields, |
| | | path, |
| | | storeInfo, |
| | | repositoryInfo, |
| | | coverSize, |
| | | }); |
| | | return { datas, total: data.totalCount }; |
| | | } |
| | | return { datas: [], total: 0 }; |
| | | }); |
| | | }, |
| | | // æ¨¡ç³æç´¢ |
| | | EsQuery(query) { |
| | | let { params, path, paging } = query; |
| | | let queryBody = { |
| | | Type: "*", |
| | | Store: [], |
| | | ItemType: [], |
| | | CmsType: [], |
| | | SysType: ["CmsItem"], |
| | | LinkInfo: [], |
| | | PageQuery: { |
| | | Start: paging?.start || "0", |
| | | Size: paging?.size || "10", |
| | | }, |
| | | }; |
| | | // 设置ä¸åçPath |
| | | |
| | | // å¦ææ²¡ææç´¢å
³é®åï¼ååªç¨è·ååç§° |
| | | if (params.length > 0) { |
| | | let data = { |
| | | "||Name": [...params], |
| | | "||tourism_content*": [...params], |
| | | "||tourism_workflow*": [...params], |
| | | "||tourism_notes*": [...params], |
| | | "||tourism_caseIndex*": [...params], |
| | | "||tourism_basicCase*": [...params], |
| | | "||tourism_judgmentAndReasons*": [...params], |
| | | "||tourism_legalIssuesInvolvedInThisCase*": [...params], |
| | | "||tourism_referenceAnswerAndLegalAnalysis*": [...params], |
| | | "||tourism_case*": [...params], |
| | | "||tourism_clause*": [...params], |
| | | "||tourism_unscramble*": [...params], |
| | | "||tourism_specialRemind*": [...params], |
| | | "||tourism_fiction*": [...params], |
| | | "||tourism_authorityNature*": [...params], |
| | | "||tourism_authorityGist*": [...params], |
| | | "||tourism_penaltyGist*": [...params], |
| | | "||tourism_penaltyTerms*": [...params], |
| | | "||tourism_penaltyType*": [...params], |
| | | "||tourism_remarksNote*": [...params], |
| | | "||tourism_keyword*": [...params], |
| | | }; |
| | | Object.assign(queryBody, data); |
| | | } else { |
| | | let data = { |
| | | Name: [], |
| | | }; |
| | | Object.assign(queryBody, data); |
| | | } |
| | | |
| | | // å
¨é¨æç´¢ - åç¬çæä¸ªåº |
| | | if (path != "All") { |
| | | let data = { |
| | | Path: [ |
| | | { |
| | | Repository: "tourism_tourismLawsAndRegulationsDatabase", |
| | | Path: path, |
| | | }, |
| | | ], |
| | | }; |
| | | Object.assign(queryBody, data); |
| | | } |
| | | const body = { query: JSON.stringify({ Query: [{ Q1: queryBody }] }) }; |
| | | |
| | | return request({ |
| | | url: "/resource/api/ApiEsQuery", |
| | | method: "post", |
| | | data: body, |
| | | }).then((res) => { |
| | | if (res.length > 0) { |
| | | const data = res[0]; |
| | | |
| | | const datas = handleQueryResourceListData({ |
| | | datas: data.datas, |
| | | path, |
| | | }); |
| | | return { datas, total: data.totalCount }; |
| | | } |
| | | return { data: [], total: 0 }; |
| | | }); |
| | | }, |
| | | |
| | | //è·åèµæºç±»å |
| | | getCmsTypeByRefCode(data) { |
| | | return request({ |
| | | url: "resource/api/ApiGetCmsTypeByRefCode", |
| | | method: "post", |
| | | data, |
| | | }); |
| | | }, |
| | | |
| | | //åæ¶cmsæ¶è |
| | | delCmsItemLink(data) { |
| | | return request({ |
| | | url: "/resource/api/ApiDelCmsItemLink", |
| | | method: "post", |
| | | data, |
| | | }); |
| | | }, |
| | | |
| | | //cmsæ¶è |
| | | collectCmsItem(data) { |
| | | return request({ |
| | | url: "/resource/api/ApiAddCmsItemLink", |
| | | method: "post", |
| | | data, |
| | | }); |
| | | }, |
| | | }; |
| | | |
| | | export default resourceApi; |
New file |
| | |
| | | import request from "@/plugin/axios"; |
| | | import { tokenKey, goodsStore } from "@/assets/js/config"; |
| | | import toolClass from "@/assets/js/toolClass"; |
| | | import { |
| | | handleQueryResourceListData, |
| | | handleDetailQueryRequestData |
| | | } from "../tool"; |
| | | const storeApi = { |
| | | /* |
| | | **è·åååå表** |
| | | path: æ°æ®è·¯å¾ |
| | | storeInfo: ä»å¨ |
| | | channelInfo: é¢é |
| | | subAccess: |
| | | queryType: æ£ç´¢ç±»å |
| | | paging: å页 |
| | | sort: æåº |
| | | fields: èªå®ä¹å段 |
| | | */ |
| | | getProductList: ({ |
| | | path = "", |
| | | storeInfo = goodsStore, |
| | | storeEventIdOrRefCode = "", |
| | | queryType, |
| | | linkType, |
| | | subAccess = [], |
| | | paging = {}, |
| | | sort, |
| | | fields, |
| | | filterList, |
| | | coverSize, |
| | | mainProductId |
| | | }) => { |
| | | const query = { |
| | | AccessControl: { |
| | | Path: path, |
| | | StoreRefCode: storeInfo + "", |
| | | Type: queryType || "\\", |
| | | LinkType: linkType || "" |
| | | }, |
| | | SubAccess: subAccess.length > 0 ? subAccess : [], |
| | | PageQuery: { |
| | | Start: paging.start || "0", |
| | | Size: paging.size || "10" |
| | | }, |
| | | SortQuery: |
| | | sort?.length == 0 |
| | | ? [] |
| | | : sort |
| | | ? [sort] |
| | | : [ |
| | | { |
| | | LinkOrder: "Desc" |
| | | } |
| | | ], |
| | | CreateDate: [], |
| | | Description: [], |
| | | Name: [], |
| | | Icon: [], |
| | | RefCode: [], |
| | | TypeId: [], |
| | | SysType: [], |
| | | State: [], |
| | | Tag: [], |
| | | BeginDate: [], |
| | | EndDate: [], |
| | | ProductLinkInfo: [], |
| | | AllowDonate: [], |
| | | // DonatePriceList: [], |
| | | StoreEvent: [], |
| | | SubProductCount: [], |
| | | SaleMethod: [], |
| | | SaleMethodValid: [], |
| | | StoreEventIdOrRefCode: storeEventIdOrRefCode, |
| | | ...fields, |
| | | ...filterList |
| | | }; |
| | | if (mainProductId) { |
| | | query.AccessControl.MainProductId = mainProductId; |
| | | } |
| | | const body = { |
| | | query: JSON.stringify({ |
| | | Query: [ |
| | | { |
| | | Q1: query |
| | | } |
| | | ] |
| | | }) |
| | | }; |
| | | let token = toolClass.getCookie(tokenKey); |
| | | let url = token |
| | | ? "/store/api/ApiQueryProductByAppUser" |
| | | : "/store/api/ApiQueryProduct"; |
| | | return request({ |
| | | url: url, |
| | | method: "post", |
| | | data: body |
| | | }).then((resp) => { |
| | | if (resp.length > 0) { |
| | | const data = resp[0]; |
| | | const datas = handleQueryResourceListData({ |
| | | datas: data.datas, |
| | | fields, |
| | | path, |
| | | storeInfo, |
| | | coverSize |
| | | }); |
| | | return { |
| | | datas, |
| | | total: data.totalCount, |
| | | extraInfos: data.extraInfos?.StoreEvent |
| | | }; |
| | | } |
| | | return { |
| | | datas: [], |
| | | total: 0 |
| | | }; |
| | | }); |
| | | }, |
| | | /* |
| | | **è·ååå详æ
** |
| | | path: æ°æ®è·¯å¾ |
| | | storeInfo: ä»å¨ |
| | | channelInfo: é¢é |
| | | subAccess: |
| | | fields: èªå®ä¹å段 |
| | | productId: ååID |
| | | cmsPathï¼cmsPath |
| | | */ |
| | | getProductDetail: ({ |
| | | path = "", |
| | | storeInfo = goodsStore, |
| | | channelInfo = "", |
| | | queryType, |
| | | subAccess = [], |
| | | fields, |
| | | productId, |
| | | cmsPath, |
| | | coverSize, |
| | | itemId, |
| | | itemFields, |
| | | linkTypes |
| | | }) => { |
| | | const subQuery = {}; |
| | | if (cmsPath) { |
| | | subQuery["QueryCms"] = { |
| | | Path: cmsPath + "", |
| | | Type: "\\", |
| | | Name: [], |
| | | Icon: [], |
| | | TypeId: [], |
| | | PageQuery: { |
| | | Start: 0, |
| | | Size: 100 |
| | | }, |
| | | ProductLinkInfo: [], |
| | | ...itemFields |
| | | }; |
| | | if (itemId) subQuery["QueryCms"]["Id="] = [`${itemId}`]; |
| | | } |
| | | // è·åå
³èèµæº |
| | | let linkFields = {}; |
| | | if (linkTypes && linkTypes.length) { |
| | | for (let i = 0; i < linkTypes.length; i++) { |
| | | const linkType = linkTypes[i]; |
| | | subQuery["QueryLink_" + linkType.linkType] = { |
| | | Path: cmsPath + "", |
| | | Type: "\\", |
| | | Name: [], |
| | | Icon: [], |
| | | TypeId: [], |
| | | LinkTypes: [linkType.linkType], |
| | | PageQuery: { |
| | | Start: 0, |
| | | Size: 100 |
| | | }, |
| | | ProductLinkInfo: [], |
| | | ...linkType.fields |
| | | }; |
| | | linkFields = { |
| | | ...linkFields, |
| | | ...linkType.fields |
| | | }; |
| | | } |
| | | } |
| | | const query = { |
| | | AccessControl: { |
| | | Path: path, |
| | | StoreRefCode: storeInfo + "", |
| | | ChannelRefCode: channelInfo + "", |
| | | Type: queryType || "\\" |
| | | }, |
| | | SubAccess: subAccess.length > 0 ? subAccess : [], |
| | | PageQuery: { |
| | | Start: "0", |
| | | Size: "1" |
| | | }, |
| | | "Id=": [`${productId}`], |
| | | SortQuery: [], |
| | | CreateDate: [], |
| | | Description: [], |
| | | Name: [], |
| | | Icon: [], |
| | | RefCode: [], |
| | | TypeId: [], |
| | | SysType: [], |
| | | State: [], |
| | | Tag: [], |
| | | BeginDate: [], |
| | | EndDate: [], |
| | | ProductLinkInfo: [], |
| | | AllowDonate: [], |
| | | DonatePriceList: [], |
| | | StoreEvent: [], |
| | | SaleMethod: [], |
| | | SaleMethodValid: [], |
| | | ProductCmsQuery: [subQuery], |
| | | ...fields |
| | | }; |
| | | if (productId) query["Id="] = [`${productId}`]; |
| | | |
| | | const body = { |
| | | query: JSON.stringify({ |
| | | Query: [ |
| | | { |
| | | Q1: query |
| | | } |
| | | ] |
| | | }) |
| | | }; |
| | | let token = toolClass.getCookie(tokenKey); |
| | | let url = token |
| | | ? "/store/api/ApiQueryProductByAppUser" |
| | | : "/store/api/ApiQueryProduct"; |
| | | return request({ |
| | | url: url, |
| | | method: "post", |
| | | data: body |
| | | }).then((resp) => { |
| | | if (resp.length > 0) { |
| | | const data = resp[0]; |
| | | if (data.datas.length) { |
| | | data.datas[0].subDatas = data.datas[0].cmsDatas; |
| | | const datas = handleDetailQueryRequestData({ |
| | | item: data.datas[0], |
| | | fields, |
| | | itemFields: { |
| | | ...itemFields, |
| | | ...linkFields |
| | | }, |
| | | path, |
| | | coverSize |
| | | }); |
| | | return { |
| | | datas, |
| | | total: data.totalCount |
| | | }; |
| | | } else { |
| | | return { |
| | | datas: [], |
| | | total: 0 |
| | | }; |
| | | } |
| | | } |
| | | return { |
| | | datas: [], |
| | | total: 0 |
| | | }; |
| | | }); |
| | | }, |
| | | |
| | | // è·å伿 å¸å表 |
| | | getChannelPromoteCodeList(data) { |
| | | return request({ |
| | | url: "/store/api/ApiGetChannelPromoteCodeList", |
| | | method: "post", |
| | | data |
| | | }); |
| | | }, |
| | | |
| | | // è·åç¨æ·å·²é¢åç伿 å¸å表 |
| | | getPromoteCodeList(data) { |
| | | return request({ |
| | | url: "/store/api/ApiGetPromoteCodeList", |
| | | method: "post", |
| | | data |
| | | }); |
| | | }, |
| | | |
| | | // è·åç¨æ·æµè§æè¡ |
| | | getProductViewRank(data) { |
| | | return request({ |
| | | url: "/store/api/ApiGetProductViewRank", |
| | | method: "post", |
| | | data |
| | | }); |
| | | }, |
| | | |
| | | // è·åç¨æ·éå®æè¡ |
| | | getProductSaleRank(data) { |
| | | return request({ |
| | | url: "/store/api/ApiGetProductSaleRank", |
| | | method: "post", |
| | | data |
| | | }); |
| | | }, |
| | | |
| | | // è·åååå¯ç¨ä¼æ å¸ |
| | | getProductPromoteCodeList(data) { |
| | | return request({ |
| | | url: "/store/api/ApiGetProductPromoteCodeList", |
| | | method: "post", |
| | | data |
| | | }); |
| | | }, |
| | | |
| | | // è·å订åå¯ç¨ä¼æ å¸ |
| | | getOrderPromoteCodeList(data) { |
| | | return request({ |
| | | url: "/store/api/GetOrderPromoteCodeList", |
| | | method: "post", |
| | | data |
| | | }); |
| | | }, |
| | | |
| | | // è·åé宿¹å¼å¯ç¨ä¼æ å¸ |
| | | getSaleMethodPromoteCodeList(data) { |
| | | return request({ |
| | | url: "/store/api/GetSaleMethodPromoteCodeList", |
| | | method: "post", |
| | | data |
| | | }); |
| | | }, |
| | | |
| | | // é¢å伿 å· |
| | | getPromoteCode(data) { |
| | | return request({ |
| | | url: "/store/api/ApiGetPromoteCode", |
| | | method: "post", |
| | | data |
| | | }); |
| | | }, |
| | | |
| | | // 为订å使ç¨ä¼æ å¸ |
| | | updateOrderPromoteCode(data) { |
| | | return request({ |
| | | url: "/store/api/UpdateOrderPromoteCode", |
| | | method: "post", |
| | | data |
| | | }); |
| | | }, |
| | | |
| | | // 为é宿¹å¼ä½¿ç¨ä¼æ å¸ |
| | | updateSaleMethodPromoteCode(data) { |
| | | return request({ |
| | | url: "/store/api/UpdateSaleMethodPromoteCode", |
| | | method: "post", |
| | | data |
| | | }); |
| | | }, |
| | | |
| | | // éè¿è®¢åå·è·å订å |
| | | getOrderByOrderNum(data) { |
| | | return request({ |
| | | url: "/store/api/GetOrderByOrderNum", |
| | | method: "post", |
| | | data |
| | | }); |
| | | }, |
| | | |
| | | // å建订å |
| | | initOrder(data) { |
| | | return request({ |
| | | url: "/store/api/InitOrder", |
| | | method: "post", |
| | | data |
| | | }); |
| | | }, |
| | | |
| | | // 确认订å |
| | | confirmOrder(data) { |
| | | return request({ |
| | | url: "/store/api/ConfirmOrder", |
| | | method: "post", |
| | | data |
| | | }); |
| | | }, |
| | | |
| | | // åæ¶è®¢å |
| | | cancelOrder(data) { |
| | | return request({ |
| | | url: "/store/api/CancelOrder", |
| | | method: "post", |
| | | data |
| | | }); |
| | | }, |
| | | |
| | | // èµèµ |
| | | CreateDonateOrder(data) { |
| | | return request({ |
| | | url: "/store/api/CreateDonateOrder", |
| | | method: "post", |
| | | data |
| | | }); |
| | | }, |
| | | |
| | | //è·åç¨æ·è®¢åå表 |
| | | getUserOrderList(data) { |
| | | return request({ |
| | | url: "/store/api/GetUserOrderList", |
| | | method: "post", |
| | | data |
| | | }); |
| | | }, |
| | | |
| | | //è·åé¢éä¸çå表 |
| | | getStoreChannelList(data) { |
| | | return request({ |
| | | url: "/store/api/ApiGetStoreChannelList", |
| | | method: "post", |
| | | data |
| | | }); |
| | | }, |
| | | |
| | | //è·åè´ç©è½¦ |
| | | getShoppingCartProductList(data) { |
| | | return request({ |
| | | url: "/store/api/ApiGetShoppingCartProductList", |
| | | method: "post", |
| | | data |
| | | }); |
| | | }, |
| | | |
| | | //æ·»å å°è´ç©è½¦ |
| | | addShoppingCart(data) { |
| | | return request({ |
| | | url: "/store/api/ApiAddShoppingCart", |
| | | method: "post", |
| | | data |
| | | }); |
| | | }, |
| | | |
| | | //è´ç©è½¦å é¤åå |
| | | delShoppingCart(data) { |
| | | return request({ |
| | | url: "/store/api/ApiDelShoppingCart", |
| | | method: "post", |
| | | data |
| | | }); |
| | | }, |
| | | |
| | | //ä»è´ç©è½¦å建订å |
| | | shoppingCartCreateOrder(data) { |
| | | return request({ |
| | | url: "/store/api/ApiShoppingCartCreateOrder", |
| | | method: "post", |
| | | data |
| | | }); |
| | | }, |
| | | |
| | | //è·åå·²è´ä¹°çååå表 |
| | | getPurchasedProductList(data) { |
| | | return request({ |
| | | url: "/store/api/ApiGetPurchasedProductList", |
| | | method: "post", |
| | | data |
| | | }); |
| | | }, |
| | | |
| | | //è°å微信æ¯ä» |
| | | makeWeChatPay(data) { |
| | | return request({ |
| | | url: "/store/api/MakeWeChatPay", |
| | | method: "post", |
| | | data |
| | | }); |
| | | }, |
| | | |
| | | //è°å微信äºç»´ç æ¯ä» |
| | | makeWeChatQrPay(data) { |
| | | return request({ |
| | | url: "/store/api/MakeWeChatQrPay", |
| | | method: "post", |
| | | data |
| | | }); |
| | | }, |
| | | |
| | | // è·åæ¿æ´»ç 详æ
|
| | | getActiveCode(data) { |
| | | return request({ |
| | | url: "/store/api/ApiGetActiveCode", |
| | | method: "post", |
| | | data |
| | | }); |
| | | }, |
| | | |
| | | // ä½¿ç¨æ¿æ´»ç |
| | | userActiveCode(data) { |
| | | return request({ |
| | | url: "/store/api/ApiUseActiveCode", |
| | | method: "post", |
| | | data |
| | | }); |
| | | }, |
| | | |
| | | // ååæ¥è¯¢ç±»ååæ®µæ¥å£ |
| | | getProductTypeField(data) { |
| | | return request({ |
| | | url: "/store/api/ApiGetProductTypeField", |
| | | method: "post", |
| | | data |
| | | }); |
| | | }, |
| | | |
| | | // åæ¶æ¶èæç§»é¤ä¹¦æ¶ |
| | | delProductLink(data) { |
| | | return request({ |
| | | url: "/store/api/ApiDelProductLink", |
| | | method: "post", |
| | | data |
| | | }); |
| | | }, |
| | | |
| | | //æ¶èåå |
| | | productLink(data) { |
| | | return request({ |
| | | url: "/store/api/ApiAddProductLink", |
| | | method: "post", |
| | | data |
| | | }); |
| | | } |
| | | }; |
| | | |
| | | export default storeApi; |
New file |
| | |
| | | import request from "@/plugin/axios"; |
| | | import { tokenKey } from "@/assets/js/config"; |
| | | import toolClass from "@/assets/js/toolClass"; |
| | | const ugcApi = { |
| | | // è·åååç¹èµTopic |
| | | getProductLikesTopic(data) { |
| | | return request({ |
| | | url: toolClass.getCookie(tokenKey) |
| | | ? "/ugc/api/ApiAppUserGetProductLikesTopic" |
| | | : "/ugc/api/ApiGetProductLikesTopic", |
| | | method: "post", |
| | | data, |
| | | }); |
| | | }, |
| | | |
| | | // è·åååè¯è®ºTopic |
| | | getProductCommentTopic(data) { |
| | | return request({ |
| | | url: toolClass.getCookie(tokenKey) |
| | | ? "/ugc/api/ApiAppUserGetProductCommentTopic" |
| | | : "/ugc/api/ApiGetProductCommentTopic", |
| | | method: "post", |
| | | data, |
| | | }); |
| | | }, |
| | | |
| | | // è·åMessageList |
| | | getTopicMessageList(data) { |
| | | return request({ |
| | | url: toolClass.getCookie(tokenKey) |
| | | ? "/ugc/api/ApiAppUserGetTopicMessageList" |
| | | : "/ugc/api/ApiGetTopicMessageList", |
| | | method: "post", |
| | | data, |
| | | }); |
| | | }, |
| | | |
| | | // æ°å»ºMessage |
| | | newTopicMessage(data) { |
| | | return request({ |
| | | url: "/ugc/api/ApiNewTopicMessage", |
| | | method: "post", |
| | | data, |
| | | }); |
| | | }, |
| | | |
| | | // å é¤Message |
| | | delTopicMessage(data) { |
| | | return request({ |
| | | url: "/ugc/api/ApiDelTopicMessage", |
| | | method: "post", |
| | | data, |
| | | }); |
| | | }, |
| | | |
| | | // è·åcmsè¯è®º |
| | | getCmsItemCommentTopic(data) { |
| | | return request({ |
| | | url: "/ugc/api/ApiGetCmsItemCommentTopic", |
| | | method: "post", |
| | | data, |
| | | }); |
| | | }, |
| | | //æ´æ°TOPICMESSAGE |
| | | updateTopicMessage(data) { |
| | | return request({ |
| | | url: "/ugc/api/ApiUpdateTopicMessage", |
| | | method: "post", |
| | | data, |
| | | }); |
| | | }, |
| | | }; |
| | | |
| | | export default ugcApi; |
New file |
| | |
| | | import { requestCtx } from "@/assets/js/config"; |
| | | import moment from "moment"; |
| | | // å¤çå表æ¥è¯¢ç»æ |
| | | export function handleQueryResourceListData({ |
| | | datas, |
| | | fields, |
| | | path, |
| | | storeInfo, |
| | | repositoryInfo, |
| | | coverSize, |
| | | }) { |
| | | |
| | | const dataList = []; |
| | | for (let i = 0; i < datas.length; i++) { |
| | | const item = datas[i]; |
| | | // å¤çåæ®µ |
| | | const _fields = {}; |
| | | if (fields != null) { |
| | | for (let fieldKey in fields) { |
| | | if (item.datas[fieldKey]) { |
| | | const values = JSON.parse(item.datas[fieldKey]); |
| | | if (values.length > 0) { |
| | | // ç¨å段åå¤çè¿åçåæ®µå¼ |
| | | if (values[0].Value) { |
| | | _fields[fieldKey] = values[0].Value; |
| | | } else if (values[0].Data) { |
| | | _fields[fieldKey] = values[0].Data.Value; |
| | | } |
| | | item.datas[fieldKey] = values[0]; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | const subDatas = {}; |
| | | if (item.subDatas) { |
| | | for (let subData of item.subDatas) { |
| | | const tag = subData.queryTag.replace("Query", ""); |
| | | subDatas[tag] = subData.datas; |
| | | } |
| | | } |
| | | |
| | | let obj = { |
| | | ...item, |
| | | id: item.id, |
| | | name: item.datas.Name, |
| | | icon: getPublicImage( |
| | | item.datas.Icon, |
| | | coverSize?.width, |
| | | coverSize?.height |
| | | ), |
| | | repositoryInfo: repositoryInfo, |
| | | refCode: item.datas.RefCode === "[]" ? null : item.datas.RefCode, |
| | | state: item.datas.State, |
| | | type: item.datas.Type, |
| | | tag: item.datas.Tag, |
| | | creator: item.datas.Creator ? JSON.parse(item.datas.Creator) : undefined, |
| | | storeInfo: storeInfo, |
| | | linkType: item.datas.LinkType, |
| | | childrenCount: parseInt(item.datas.ChildrenCount ?? "0"), |
| | | childrenFolderCount: parseInt(item.datas.ChildrenFolderCount ?? "0"), |
| | | childrenChannelCount: parseInt(item.datas.ChildrenChannelCount ?? "0"), |
| | | createDate: moment(item.datas.CreateDate).format("YYYY-MM-DD"), |
| | | beginDate: moment(item.datas.BeginDate).format("YYYY-MM-DD"), |
| | | endDate: moment(item.datas.EndDate).format("YYYY-MM-DD"), |
| | | description: item.datas.Description, |
| | | sysType: item.datas.SysType, |
| | | idPath: path + "\\" + item.id, |
| | | typeId: parseInt(item.datas.TypeId), |
| | | linkFile: JSON.parse(item.datas.LinkFile ?? "[]"), |
| | | cmsItemType: item.datas.CmsItemType, |
| | | allowDonate: item.datas.AllowDonate == "True", |
| | | // donatePriceList: JSON.parse(item.datas.DonatePriceList ?? "[]"), |
| | | productLinkInfo: JSON.parse(item.datas.ProductLinkInfo ?? "[]"), |
| | | storeEvent: JSON.parse(item.datas.StoreEvent ?? "[]"), |
| | | linkInfo: JSON.parse(item.datas.LinkInfo ?? "[]"), |
| | | saleMethod: JSON.parse(item.datas.SaleMethod ?? "[]"), |
| | | subProductCount: parseInt(item.datas.SubProductCount), |
| | | ..._fields, |
| | | datas: item.datas, |
| | | subDatas, |
| | | }; |
| | | // ç»ä¸å¤çä»·æ ¼ |
| | | if (obj.defaultSaleMethod) { |
| | | if (obj.defaultSaleMethod.allowEvent && obj.storeEvent.length) { |
| | | // å·²åå æ´»å¨ï¼è·åæææ´»å¨å¹¶è®¡ç®ä»·æ ¼ |
| | | let time = new Date().getTime(); |
| | | // è¿æ»¤è¿ææ´»å¨ |
| | | let event = obj.storeEvent.filter((item) => { |
| | | let endTime = new Date(item.EndDate).getTime(); |
| | | return endTime > time; |
| | | }); |
| | | // åªå¤ç䏿¡æææ´»å¨ |
| | | if (event.length) { |
| | | obj.price = (obj.defaultSaleMethod.price * event[0].Value).toFixed(2); |
| | | obj.oldPrice = obj.defaultSaleMethod.price; |
| | | obj.storeEventId = event[0].Id; |
| | | } |
| | | } else { |
| | | obj.price = obj.defaultSaleMethod.price; |
| | | obj.oldPrice = obj.defaultSaleMethod.virtualPrice; |
| | | } |
| | | } |
| | | dataList.push(obj); |
| | | } |
| | | return dataList; |
| | | } |
| | | |
| | | // å¤ç详æ
æ¥è¯¢ç»æ |
| | | export function handleDetailQueryRequestData({ |
| | | item, |
| | | fields, |
| | | path, |
| | | coverSize, |
| | | itemFields, |
| | | }) { |
| | | let itemFieldsData = []; |
| | | for (const key in itemFields) { |
| | | itemFieldsData.push(key); |
| | | } |
| | | let fieldsData = []; |
| | | for (const key in fields) { |
| | | fieldsData.push(key); |
| | | } |
| | | for (let i = 0; i < fieldsData.length; i++) { |
| | | const field = fieldsData[i]; |
| | | item.datas[field] = JSON.parse(item.datas[field]); |
| | | const datas = item.datas[field]; |
| | | if (datas.length > 0) { |
| | | if (datas[0].Value) { |
| | | item[field] = datas[0].Value; |
| | | } else if (datas[0].Data) { |
| | | item[field] = datas[0].Data.Value; |
| | | } |
| | | } |
| | | } |
| | | |
| | | // å¤çcmsèµæº |
| | | const subDatas = item.subDatas; |
| | | const linkItemsMap = {}; |
| | | if (subDatas) { |
| | | for (const sdata of subDatas) { |
| | | const tag = sdata.queryTag; |
| | | for (const subItem of sdata.datas) { |
| | | convertCmsItemBase(subItem, coverSize); |
| | | subItem.fileMap = {}; |
| | | for (let i = 0; i < itemFieldsData.length; i++) { |
| | | const itemField = itemFieldsData[i]; |
| | | try { |
| | | subItem.datas[itemField] = JSON.parse(subItem.datas[itemField]); |
| | | } catch (error) { |
| | | subItem.datas[itemField] = []; |
| | | } |
| | | const itemDatas = subItem.datas[itemField]; |
| | | if (itemDatas.length > 0) { |
| | | if (itemDatas[0].Value) { |
| | | subItem[itemField] = itemDatas[0].Value; |
| | | if ( |
| | | itemDatas[0].FileList && |
| | | itemDatas[0].FileList.length |
| | | ) { |
| | | subItem.fileMap = { |
| | | ...subItem.fileMap, |
| | | ...handleLinkFileInfo(itemDatas[0].FileList), |
| | | }; |
| | | } |
| | | } else if (itemDatas[0].Data) { |
| | | subItem[itemField] = itemDatas[0].Data.Value; |
| | | if ( |
| | | itemDatas[0].Data.FileList && |
| | | itemDatas[0].Data.FileList.length |
| | | ) { |
| | | subItem.fileMap = { |
| | | ...subItem.fileMap, |
| | | ...handleLinkFileInfo(itemDatas[0].Data.FileList), |
| | | }; |
| | | } |
| | | } else if (itemDatas[0].CmsItemData) { |
| | | subItem[itemField] = itemDatas[0].CmsItemData.Value; |
| | | if ( |
| | | itemDatas[0].CmsItemData.FileList && |
| | | itemDatas[0].CmsItemData.FileList.length |
| | | ) { |
| | | subItem.fileMap = { |
| | | ...subItem.fileMap, |
| | | ...handleLinkFileInfo(itemDatas[0].CmsItemData.FileList), |
| | | }; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | if (subItem.productLinkInfo && subItem.productLinkInfo.length) |
| | | subItem.productLinkPath = |
| | | subItem.productLinkInfo[0].LinkPath + |
| | | "\\" + |
| | | subItem.productLinkInfo[0].CmsItemId; |
| | | if (subItem.linkInfo && subItem.linkInfo.length) |
| | | subItem.linkPath = |
| | | subItem.linkInfo[0].LinkPath + "\\" + subItem.linkInfo[0].CmsItemId; |
| | | } |
| | | linkItemsMap[tag] = sdata.datas; |
| | | } |
| | | } |
| | | convertCmsItemBase(item, coverSize); |
| | | item.idPath = path + "\\" + item.id; |
| | | item.subItems = linkItemsMap; |
| | | return item; |
| | | } |
| | | |
| | | const handleLinkFileInfo = (linkList) => { |
| | | let linkFileMap = {}; |
| | | for (let z = 0; z < linkList.length; z++) { |
| | | const linkItem = linkList[z]; |
| | | linkFileMap[linkItem.Md5] = { |
| | | linkType: linkItem.LinkType, |
| | | extension: linkItem.Extension, |
| | | fileName: linkItem.FileName, |
| | | fileType: linkItem.Type, |
| | | md5: linkItem.Md5, |
| | | icon: linkItem.Icon, |
| | | size: linkItem.Size, |
| | | metaData: JSON.parse(linkItem.MetaData ?? "{}"), |
| | | order: linkItem.Order, |
| | | protectType: linkItem.ProtectType |
| | | }; |
| | | } |
| | | return linkFileMap; |
| | | }; |
| | | |
| | | const convertCmsItemBase = (item, coverSize) => { |
| | | item.name = item.datas.Name; |
| | | item.description = item.datas.Description; |
| | | item.refCode = item.datas.RefCode; |
| | | item.state = item.datas.State; |
| | | item.type = item.datas.Type; |
| | | item.tag = item.datas.Tag; |
| | | item.typeId = parseInt(item.datas.TypeId); |
| | | item.icon = getPublicImage( |
| | | item.datas.Icon, |
| | | coverSize?.width, |
| | | coverSize?.height |
| | | ); |
| | | item.sysType = item.datas.SysType; |
| | | item.linkFile = JSON.parse(item.datas.LinkFile ?? "[]"); |
| | | item.linkType = item.datas.LinkType; |
| | | item.linkAppId = parseInt(item.datas.LinkAppId); |
| | | item.linkStoreId = parseInt(item.datas.LinkStore); |
| | | item.linkRepoId = item.datas.LinkRepository; |
| | | item.childrenCount = parseInt(item.datas.ChildrenCount ?? "0"); |
| | | item.linkId = parseInt(item.datas.LinkId); |
| | | item.linkOrg = JSON.parse(item.datas.LinkOrg ?? "[]")[0]; |
| | | item.linkDepartment = JSON.parse(item.datas.LinkDepartment ?? "[]")[0]; |
| | | item.linkInfo = JSON.parse(item.datas.LinkInfo ?? "[]"); |
| | | item.productLinkInfo = JSON.parse(item.datas.ProductLinkInfo ?? "[]"); |
| | | item.saleMethod = JSON.parse(item.datas.SaleMethod ?? "[]"); |
| | | item.allowDonate = item.datas.AllowDonate == "True"; |
| | | // item.donatePriceList = JSON.parse(item.datas.DonatePriceList ?? "[]"); |
| | | item.beginDate = moment(item.datas.BeginDate).format("YYYY-MM-DD"); |
| | | item.endDate = moment(item.datas.EndDate).format("YYYY-MM-DD"); |
| | | item.storeEvent = JSON.parse(item.datas.StoreEvent ?? "[]"); |
| | | // ç»ä¸å¤çä»·æ ¼ |
| | | if (item.defaultSaleMethod) { |
| | | if (item.defaultSaleMethod.allowEvent && item.storeEvent.length) { |
| | | // å·²åå æ´»å¨ï¼è·åæææ´»å¨å¹¶è®¡ç®ä»·æ ¼ |
| | | let time = new Date().getTime(); |
| | | // è¿æ»¤è¿ææ´»å¨ |
| | | let event = item.storeEvent.filter((item) => { |
| | | let endTime = new Date(item.EndDate).getTime(); |
| | | return endTime > time; |
| | | }); |
| | | // åªå¤ç䏿¡æææ´»å¨ |
| | | if (event.length) { |
| | | item.price = (item.defaultSaleMethod.price * event[0].Value).toFixed(2); |
| | | item.oldPrice = item.defaultSaleMethod.price; |
| | | item.storeEventId = event[0].Id; |
| | | } |
| | | } else { |
| | | item.price = item.defaultSaleMethod.price; |
| | | item.oldPrice = item.defaultSaleMethod.virtualPrice; |
| | | } |
| | | } |
| | | }; |
| | | |
| | | // è·åä¸åä¿æ¤çå¾ç |
| | | export function getPublicImage(md5, width, height) { |
| | | let src = null; |
| | | if (md5) { |
| | | src = requestCtx + `/file/GetPreViewImage?md5=${md5}`; |
| | | } else { |
| | | return require("@/assets/images/default-book-img.png"); |
| | | } |
| | | if (width) src += `&width=${width}`; |
| | | if (height) src += `&height=${height}`; |
| | | return src; |
| | | } |
New file |
| | |
| | | import SparkMD5 from "spark-md5"; |
| | | |
| | | var tool = { |
| | | setCookie: function (c_name, value, expiredays, path) { |
| | | var exdate = new Date(); |
| | | exdate.setDate(exdate.getDate() + expiredays); |
| | | document.cookie = |
| | | c_name + |
| | | "=" + |
| | | escape(value) + |
| | | (expiredays == null ? "" : ";expires=" + exdate.toGMTString()) + |
| | | (path ? ";path=" + path : ""); |
| | | }, |
| | | getCookie: function (c_name) { |
| | | if (document.cookie.length > 0) { |
| | | var c_start = document.cookie.indexOf(c_name + "="); |
| | | if (c_start != -1) { |
| | | c_start = c_start + c_name.length + 1; |
| | | var c_end = document.cookie.indexOf(";", c_start); |
| | | if (c_end == -1) c_end = document.cookie.length; |
| | | return unescape(document.cookie.substring(c_start, c_end)); |
| | | } |
| | | } |
| | | return ""; |
| | | }, |
| | | delCookie: function (name) { |
| | | var exp = new Date(); |
| | | exp.setTime(exp.getTime() - 1); |
| | | var cval = tool.getCookie(name); |
| | | if (cval != null) |
| | | document.cookie = name + "=" + cval + ";expires=" + exp.toGMTString(); |
| | | }, |
| | | // 强å¶ä¿ç2ä½å°æ°ï¼å¦ï¼2ï¼ä¼å¨2åé¢è¡¥ä¸00.å³2.00 |
| | | toDecimal2(x) { |
| | | var f; |
| | | f = parseFloat(x); |
| | | if (isNaN(f)) { |
| | | return false; |
| | | } |
| | | f = Math.round(x * 100) / 100; |
| | | var s = f.toString(); |
| | | var rs = s.indexOf("."); |
| | | if (rs < 0) { |
| | | rs = s.length; |
| | | s += "."; |
| | | } |
| | | while (s.length <= rs + 2) { |
| | | s += "0"; |
| | | } |
| | | return s; |
| | | }, |
| | | }; |
| | | |
| | | /** |
| | | * è·åä¸ä¸ªUUID |
| | | * @param len |
| | | * @param radix |
| | | * @returns {string} |
| | | */ |
| | | export function uuid(len = 32, radix = 16) { |
| | | const chars = |
| | | "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz".split(""); |
| | | let uuid = [], |
| | | i; |
| | | radix = radix || chars.length; |
| | | |
| | | if (len) { |
| | | // Compact form |
| | | for (i = 0; i < len; i++) uuid[i] = chars[0 | (Math.random() * radix)]; |
| | | } else { |
| | | // rfc4122, version 4 form |
| | | let r; |
| | | |
| | | // rfc4122 requires these characters |
| | | uuid[8] = uuid[13] = uuid[18] = uuid[23] = "-"; |
| | | uuid[14] = "4"; |
| | | |
| | | // Fill in random data. At i==19 set the high bits of clock sequence as |
| | | // per rfc4122, sec. 4.1.5 |
| | | for (i = 0; i < 36; i++) { |
| | | if (!uuid[i]) { |
| | | r = 0 | (Math.random() * 16); |
| | | uuid[i] = chars[i === 19 ? (r & 0x3) | 0x8 : r]; |
| | | } |
| | | } |
| | | } |
| | | |
| | | return uuid.join(""); |
| | | } |
| | | |
| | | export function getFileMd5(file, chunkSize) { |
| | | return new Promise((resolve, reject) => { |
| | | let blobSlice = |
| | | File.prototype.slice || |
| | | File.prototype.mozSlice || |
| | | File.prototype.webkitSlice; |
| | | let chunks = Math.ceil(file.size / chunkSize); |
| | | let currentChunk = 0; |
| | | let spark = new SparkMD5.ArrayBuffer(); |
| | | let fileReader = new FileReader(); |
| | | fileReader.onload = function (e) { |
| | | spark.append(e.target.result); |
| | | currentChunk++; |
| | | if (currentChunk < chunks) { |
| | | loadNext(); |
| | | } else { |
| | | const md5 = spark.end(); |
| | | resolve(md5); |
| | | } |
| | | }; |
| | | fileReader.onerror = function (e) { |
| | | reject(e); |
| | | }; |
| | | |
| | | function loadNext() { |
| | | let start = currentChunk * chunkSize; |
| | | let end = start + chunkSize; |
| | | if (end > file.size) { |
| | | end = file.size; |
| | | } |
| | | fileReader.readAsArrayBuffer(blobSlice.call(file, start, end)); |
| | | } |
| | | loadNext(); |
| | | }); |
| | | } |
| | | |
| | | export function worksDataBytool(res, value, linkList) { |
| | | let arr = []; |
| | | res.forEach((item) => { |
| | | const obj = { |
| | | baseType: item.typeField.baseType, |
| | | order: 0, |
| | | typeFieldId: item.typeField.id, |
| | | sequenceNum: item.config ? JSON.parse(item.config).uuid : "", |
| | | newDataAndFileLinkListRequest: [], |
| | | }; |
| | | for (let k in value) { |
| | | if (item.typeField.refCode === k) { |
| | | if (typeof value[k] == "object") { |
| | | obj.strValue = JSON.stringify(value[k]); |
| | | obj.newDataAndFileLinkListRequest = linkList; |
| | | } else { |
| | | obj.strValue = value[k]; |
| | | } |
| | | } |
| | | } |
| | | if (obj.strValue) { |
| | | arr.push(obj); |
| | | } |
| | | }); |
| | | return arr; |
| | | } |
| | | |
| | | export function resultsBytool(res, value) { |
| | | let obj = {}; |
| | | res.forEach((item, i) => { |
| | | item.sequenceNum = item.config ? JSON.parse(item.config).uuid : ""; |
| | | value.forEach((e) => { |
| | | if (item.sequenceNum == e.sequenceNum) { |
| | | try { |
| | | const val = JSON.parse(e.value); |
| | | obj[item.typeField.refCode] = val; |
| | | } catch (error) { |
| | | obj[item.typeField.refCode] = e.value; |
| | | } |
| | | } |
| | | }); |
| | | }); |
| | | return obj; |
| | | } |
| | | |
| | | export function UpdateworksDataBytool(initData, res, value, linkList) { |
| | | let arr = []; |
| | | for (let i = 0; i < initData.length; i++) { |
| | | const ele = initData[i]; |
| | | for (let j = 0; j < res.length; j++) { |
| | | const item = res[j]; |
| | | if (item.sequenceNum == ele.sequenceNum) { |
| | | item.refCode = ele.typeField.refCode; |
| | | } |
| | | } |
| | | } |
| | | res.forEach((item) => { |
| | | const obj = { |
| | | baseType: item.baseType, |
| | | order: 0, |
| | | id: item.id, |
| | | typeFieldId: item.fieldId, |
| | | sequenceNum: item.sequenceNum, |
| | | setDataAndFileLinkListRequest: [], |
| | | }; |
| | | for (let k in value) { |
| | | if (item.refCode === k) { |
| | | if (typeof value[k] == "object") { |
| | | obj.strValue = JSON.stringify(value[k]); |
| | | obj.setDataAndFileLinkListRequest = linkList; |
| | | } else { |
| | | obj.strValue = value[k].toString(); |
| | | } |
| | | } |
| | | } |
| | | if (obj.strValue) { |
| | | arr.push(obj); |
| | | } |
| | | }); |
| | | return arr; |
| | | } |
| | | |
| | | export default { |
| | | ...tool, |
| | | uuid, |
| | | getFileMd5, |
| | | worksDataBytool, |
| | | UpdateworksDataBytool, |
| | | resultsBytool, |
| | | }; |
New file |
| | |
| | | import config from "@/assets/js/config.js"; |
| | | import toolClass from "@/assets/js/toolClass"; |
| | | |
| | | |
| | | import jobApi |
| | | // newSession, |
| | | // newJobWithNewView |
| | | from "./middleGround/api/job" |
| | | |
| | | export function setSessionGuid(type, id) { |
| | | var cityCode = null; |
| | | var SnIp = null; |
| | | try { |
| | | // eslint-disable-next-line |
| | | SnIp = window.returnCitySN; |
| | | } catch (error) { |
| | | SnIp = null; |
| | | console.log(error); |
| | | } |
| | | if (SnIp != undefined && SnIp != null) { |
| | | cityCode = SnIp; |
| | | } else { |
| | | cityCode = { |
| | | cip: "0.0.0.0", |
| | | cname: "æªç¥" |
| | | }; |
| | | } |
| | | const _city = cityCode.cname.substring(3); |
| | | const _province = cityCode.cname.substring(0, 3); |
| | | const params = { |
| | | appRefCode: config.appRefCode, |
| | | hostName: config.requestCtx, |
| | | ipAddress: cityCode.cip, |
| | | browser: myBrowser(), |
| | | os: navigator.platform, |
| | | device: "pc", |
| | | province: _province, |
| | | city: _city ? _city : _province, |
| | | }; |
| | | |
| | | jobApi.newSession(params).then((res) => { |
| | | storage.set("sessionGuid", res, 30); |
| | | setNewView(type, id) |
| | | }); |
| | | } |
| | | |
| | | export const storage = { |
| | | /* |
| | | * set å卿¹æ³ |
| | | * @ param {String} key é® |
| | | * @ param {String} value å¼ï¼ |
| | | * @ param {String} expired è¿ææ¶é´ï¼ä»¥åé为åä½ï¼éå¿
é¡» |
| | | */ |
| | | set(key, val, expired) { |
| | | if (typeof val !== "string") { |
| | | val = JSON.stringify(val); |
| | | } |
| | | window.sessionStorage.setItem(key, val); |
| | | if (expired) { |
| | | window.sessionStorage.setItem( |
| | | `${key}__expires__`, |
| | | `${Date.now() + 1000 * 60 * expired}` |
| | | ); |
| | | } |
| | | }, |
| | | /* |
| | | * get è·åæ¹æ³ |
| | | * @ param {String} key é® |
| | | * @ param {String} expired å卿¶ä¸ºéå¿
须忮µï¼æä»¥æå¯è½åä¸å°ï¼é»è®¤ä¸º Date.now+1 |
| | | */ |
| | | get(key) { |
| | | const expired = |
| | | window.sessionStorage.getItem(`${key}__expires__`) || Date.now + 1; |
| | | const now = Date.now(); |
| | | |
| | | if (now >= expired) { |
| | | window.sessionStorage.removeItem(key); |
| | | return; |
| | | } |
| | | let val = window.sessionStorage.getItem(key); |
| | | try { |
| | | val = JSON.parse(val); |
| | | } catch (e) { |
| | | return e |
| | | } |
| | | return val; |
| | | } |
| | | }; |
| | | |
| | | function myBrowser() { |
| | | const userAgent = navigator.userAgent; //å徿µè§å¨çuserAgentå符串 |
| | | const isOpera = userAgent.indexOf("Opera") > -1; |
| | | if (isOpera) { |
| | | //夿æ¯å¦Operaæµè§å¨ |
| | | return "Opera"; |
| | | } |
| | | if (userAgent.indexOf("Firefox") > -1) { |
| | | //夿æ¯å¦Firefoxæµè§å¨ |
| | | return "Firefox"; |
| | | } |
| | | if (userAgent.indexOf("Chrome") > -1) { |
| | | return "Chrome"; |
| | | } |
| | | if (userAgent.indexOf("Safari") > -1) { |
| | | //夿æ¯å¦Safariæµè§å¨ |
| | | return "Safari"; |
| | | } |
| | | if ( |
| | | userAgent.indexOf("compatible") > -1 && |
| | | userAgent.indexOf("MSIE") > -1 && |
| | | !isOpera |
| | | ) { |
| | | //夿æ¯å¦IEæµè§å¨ |
| | | return "IE"; |
| | | } |
| | | return ""; |
| | | } |
| | | |
| | | export function setNewView(type, id) { |
| | | if (!sessionStorage.getItem("sessionGuid")) { |
| | | setSessionGuid(type, id) |
| | | } |
| | | |
| | | const sessionGuid = sessionStorage.getItem("sessionGuid"); |
| | | const fromPath = sessionStorage.getItem("fromPath"); |
| | | const toPath = sessionStorage.getItem("toPath"); |
| | | if (sessionGuid) { |
| | | let params = { |
| | | sessionGuid: sessionGuid, |
| | | appRefCode: config.appRefCode, |
| | | type: "View", |
| | | url: toPath == null ? "/" : toPath, |
| | | ref: fromPath == null ? "/" : fromPath |
| | | }; |
| | | if (id) { |
| | | params[type] = id; |
| | | } |
| | | jobApi.newJobWithNewView(params).then((res) => {}); |
| | | } |
| | | } |
New file |
| | |
| | | @charset "UTF-8";.fade-in-linear-enter-active,.fade-in-linear-leave-active{-webkit-transition:opacity .2s linear;transition:opacity .2s linear}.fade-in-linear-enter,.fade-in-linear-leave,.fade-in-linear-leave-active{opacity:0}.el-fade-in-linear-enter-active,.el-fade-in-linear-leave-active{-webkit-transition:opacity .2s linear;transition:opacity .2s linear}.el-fade-in-linear-enter,.el-fade-in-linear-leave,.el-fade-in-linear-leave-active{opacity:0}.el-fade-in-enter-active,.el-fade-in-leave-active{-webkit-transition:all .3s cubic-bezier(.55, 0, .1, 1);transition:all .3s cubic-bezier(.55, 0, .1, 1)}.el-fade-in-enter,.el-fade-in-leave-active{opacity:0}.el-zoom-in-center-enter-active,.el-zoom-in-center-leave-active{-webkit-transition:all .3s cubic-bezier(.55, 0, .1, 1);transition:all .3s cubic-bezier(.55, 0, .1, 1)}.el-zoom-in-center-enter,.el-zoom-in-center-leave-active{opacity:0;-webkit-transform:scaleX(0);transform:scaleX(0)}.el-zoom-in-top-enter-active,.el-zoom-in-top-leave-active{opacity:1;-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transition:opacity .3s cubic-bezier(.23, 1, .32, 1),-webkit-transform .3s cubic-bezier(.23, 1, .32, 1);transition:opacity .3s cubic-bezier(.23, 1, .32, 1),-webkit-transform .3s cubic-bezier(.23, 1, .32, 1);transition:transform .3s cubic-bezier(.23, 1, .32, 1),opacity .3s cubic-bezier(.23, 1, .32, 1);transition:transform .3s cubic-bezier(.23, 1, .32, 1),opacity .3s cubic-bezier(.23, 1, .32, 1),-webkit-transform .3s cubic-bezier(.23, 1, .32, 1);-webkit-transform-origin:center top;transform-origin:center top}.el-zoom-in-top-enter,.el-zoom-in-top-leave-active{opacity:0;-webkit-transform:scaleY(0);transform:scaleY(0)}.el-zoom-in-bottom-enter-active,.el-zoom-in-bottom-leave-active{opacity:1;-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transition:opacity .3s cubic-bezier(.23, 1, .32, 1),-webkit-transform .3s cubic-bezier(.23, 1, .32, 1);transition:opacity .3s cubic-bezier(.23, 1, .32, 1),-webkit-transform .3s cubic-bezier(.23, 1, .32, 1);transition:transform .3s cubic-bezier(.23, 1, .32, 1),opacity .3s cubic-bezier(.23, 1, .32, 1);transition:transform .3s cubic-bezier(.23, 1, .32, 1),opacity .3s cubic-bezier(.23, 1, .32, 1),-webkit-transform .3s cubic-bezier(.23, 1, .32, 1);-webkit-transform-origin:center bottom;transform-origin:center bottom}.el-zoom-in-bottom-enter,.el-zoom-in-bottom-leave-active{opacity:0;-webkit-transform:scaleY(0);transform:scaleY(0)}.el-zoom-in-left-enter-active,.el-zoom-in-left-leave-active{opacity:1;-webkit-transform:scale(1,1);transform:scale(1,1);-webkit-transition:opacity .3s cubic-bezier(.23, 1, .32, 1),-webkit-transform .3s cubic-bezier(.23, 1, .32, 1);transition:opacity .3s cubic-bezier(.23, 1, .32, 1),-webkit-transform .3s cubic-bezier(.23, 1, .32, 1);transition:transform .3s cubic-bezier(.23, 1, .32, 1),opacity .3s cubic-bezier(.23, 1, .32, 1);transition:transform .3s cubic-bezier(.23, 1, .32, 1),opacity .3s cubic-bezier(.23, 1, .32, 1),-webkit-transform .3s cubic-bezier(.23, 1, .32, 1);-webkit-transform-origin:top left;transform-origin:top left}.el-zoom-in-left-enter,.el-zoom-in-left-leave-active{opacity:0;-webkit-transform:scale(.45,.45);transform:scale(.45,.45)}.collapse-transition{-webkit-transition:.3s height ease-in-out,.3s padding-top ease-in-out,.3s padding-bottom ease-in-out;transition:.3s height ease-in-out,.3s padding-top ease-in-out,.3s padding-bottom ease-in-out}.horizontal-collapse-transition{-webkit-transition:.3s width ease-in-out,.3s padding-left ease-in-out,.3s padding-right ease-in-out;transition:.3s width ease-in-out,.3s padding-left ease-in-out,.3s padding-right ease-in-out}.el-list-enter-active,.el-list-leave-active{-webkit-transition:all 1s;transition:all 1s}.el-list-enter,.el-list-leave-active{opacity:0;-webkit-transform:translateY(-30px);transform:translateY(-30px)}.el-opacity-transition{-webkit-transition:opacity .3s cubic-bezier(.55, 0, .1, 1);transition:opacity .3s cubic-bezier(.55, 0, .1, 1)}@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-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,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-select-dropdown{position:absolute;z-index:1001;border:solid 1px #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{padding-right:40px}.el-select-dropdown.is-multiple .el-select-dropdown__item.selected{color:#00873c;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-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::-moz-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:#00873c}.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::-moz-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__inner::-ms-reveal{display:none}.el-input__inner::-webkit-input-placeholder{color:#c0c4cc}.el-input__inner::-moz-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__inner:focus{outline:0;border-color:#00873c}.el-input__suffix{position:absolute;height:100%;right:5px;top:0;text-align:center;color:#c0c4cc;-webkit-transition:all .3s;transition:all .3s;pointer-events:none}.el-input__suffix-inner{pointer-events:all}.el-input__prefix{position:absolute;height:100%;left:5px;top:0;text-align:center;color:#c0c4cc;-webkit-transition:all .3s;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-active .el-input__inner{outline:0;border-color:#00873c}.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::-moz-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-input.is-exceed .el-input__inner{border-color:#f56c6c}.el-input.is-exceed .el-input__suffix .el-input__count{color:#f56c6c}.el-input--suffix .el-input__inner{padding-right:30px}.el-input--prefix .el-input__inner{padding-left:30px}.el-input--medium{font-size:14px}.el-input--medium .el-input__inner{height:36px;line-height:36px}.el-input--medium .el-input__icon{line-height:36px}.el-input--small{font-size:13px}.el-input--small .el-input__inner{height:32px;line-height:32px}.el-input--small .el-input__icon{line-height:32px}.el-input--mini{font-size:12px}.el-input--mini .el-input__inner{height:28px;line-height:28px}.el-input--mini .el-input__icon{line-height:28px}.el-input-group{line-height:normal;display:inline-table;width:100%;border-collapse:separate;border-spacing:0}.el-input-group>.el-input__inner{vertical-align:middle;display:table-cell}.el-input-group__append,.el-input-group__prepend{background-color:#f5f7fa;color:#909399;vertical-align:middle;display:table-cell;position:relative;border:1px solid #dcdfe6;border-radius:4px;padding:0 20px;width:1px;white-space:nowrap}.el-input-group__append: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;border-top-right-radius:0;border-bottom-right-radius:0}.el-input-group__append{border-left:0;border-top-left-radius:0;border-bottom-left-radius:0}.el-input-group--prepend .el-input__inner{border-top-left-radius:0;border-bottom-left-radius:0}.el-input-group--prepend .el-select .el-input.is-focus .el-input__inner{border-color:transparent}.el-input-group--append .el-input__inner{border-top-right-radius:0;border-bottom-right-radius:0}.el-input-group--append .el-select .el-input.is-focus .el-input__inner{border-color:transparent}.el-input__inner::-ms-clear{display:none;width:0;height:0}.el-tag{background-color:#e6f3ec;border-color:#cce7d8;color:#00873c;display:inline-block;height:32px;padding:0 10px;line-height:30px;font-size:12px;color:#00873c;border-width:1px;border-style:solid;border-radius:4px;-webkit-box-sizing:border-box;box-sizing:border-box;white-space:nowrap}.el-tag.is-hit{border-color:#00873c}.el-tag .el-tag__close{color:#00873c}.el-tag .el-tag__close:hover{color:#fff;background-color:#00873c}.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:#00873c;border-color:#00873c;color:#fff}.el-tag--dark.is-hit{border-color:#00873c}.el-tag--dark .el-tag__close{color:#fff}.el-tag--dark .el-tag__close:hover{color:#fff;background-color:#339f63}.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:#99cfb1;color:#00873c}.el-tag--plain.is-hit{border-color:#00873c}.el-tag--plain .el-tag__close{color:#00873c}.el-tag--plain .el-tag__close:hover{color:#fff;background-color:#00873c}.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-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:#00873c;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-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-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:#00873c}.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:#00873c}.el-select>.el-input{display:block}.el-select__input{border:none;outline:0;padding:0;margin-left:15px;color:#666;font-size:14px;-webkit-appearance:none;-moz-appearance:none;appearance:none;height:28px;background-color:transparent}.el-select__input.is-mini{height:14px}.el-select__close{cursor:pointer;position:absolute;top:8px;z-index:1000;right:25px;color:#c0c4cc;line-height:18px;font-size:14px}.el-select__close:hover{color:#909399}.el-select__tags{position:absolute;line-height:normal;white-space:normal;z-index:1;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-ms-flex-wrap:wrap;flex-wrap:wrap}.el-select__tags-text{overflow:hidden;text-overflow:ellipsis}.el-select .el-tag{-webkit-box-sizing:border-box;box-sizing:border-box;border-color:transparent;margin:2px 0 2px 6px;background-color:#f0f2f5;display:-webkit-box;display:-ms-flexbox;display:flex;max-width:100%;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.el-select .el-tag__close.el-icon-close{background-color:#c0c4cc;top:0;color:#fff;-ms-flex-negative:0;flex-shrink:0}.el-select .el-tag__close.el-icon-close:hover{background-color:#909399}.el-select .el-tag__close.el-icon-close::before{display:block;-webkit-transform:translate(0,.5px);transform:translate(0,.5px)}.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:#00873c}.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;background-size:16px;background-color:#fff;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-pagination--small .btn-next,.el-pagination--small .btn-prev,.el-pagination--small .el-pager li,.el-pagination--small .el-pager li.btn-quicknext,.el-pagination--small .el-pager li.btn-quickprev,.el-pagination--small .el-pager li:last-child{border-color:transparent;font-size:12px;line-height:22px;height:22px;min-width:22px}.el-pagination--small .arrow.disabled{visibility:hidden}.el-pagination--small .more::before,.el-pagination--small li.more::before{line-height:24px}.el-pagination--small button,.el-pagination--small span:not([class*=suffix]){height:22px;line-height:22px}.el-pagination--small .el-pagination__editor{height:22px}.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:#00873c}.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-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-prev.disabled,.el-pagination.is-background .el-pager li.disabled{color:#c0c4cc}.el-pagination.is-background .btn-next,.el-pagination.is-background .btn-prev{padding:0}.el-pagination.is-background .btn-next:disabled,.el-pagination.is-background .btn-prev:disabled{color:#c0c4cc}.el-pagination.is-background .el-pager li:not(.disabled):hover{color:#00873c}.el-pagination.is-background .el-pager li:not(.disabled).active{background-color:#00873c;color:#fff}.el-pagination.is-background.el-pagination--small .btn-next,.el-pagination.is-background.el-pagination--small .btn-prev,.el-pagination.is-background.el-pagination--small .el-pager li{margin:0 3px;min-width:22px}.el-pager{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;list-style:none;display:inline-block;vertical-align:top;font-size:0;padding:0;margin:0}.el-pager .more::before{line-height:30px}.el-pager li{padding:0 4px;background:#fff;vertical-align:top;display:inline-block;font-size:13px;min-width:35.5px;height:28px;line-height:28px;cursor:pointer;-webkit-box-sizing:border-box;box-sizing:border-box;text-align:center;margin:0}.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.btn-quickprev:hover{cursor:pointer}.el-pager li.btn-quicknext:hover{cursor:pointer}.el-pager li.active+li{border-left:0}.el-pager li:hover{color:#00873c}.el-pager li.active{color:#00873c;cursor:default}.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}@-webkit-keyframes v-modal-in{0%{opacity:0}}@keyframes v-modal-in{0%{opacity:0}}@-webkit-keyframes v-modal-out{100%{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-dialog{position:relative;margin:0 auto 50px;background:#fff;border-radius:2px;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.3);box-shadow:0 1px 3px rgba(0,0,0,.3);-webkit-box-sizing:border-box;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;padding-bottom: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:#00873c}.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:20px;padding-top:10px;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-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::-moz-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:#00873c}.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::-moz-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__inner::-ms-reveal{display:none}.el-input__inner::-webkit-input-placeholder{color:#c0c4cc}.el-input__inner::-moz-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__inner:focus{outline:0;border-color:#00873c}.el-input__suffix{position:absolute;height:100%;right:5px;top:0;text-align:center;color:#c0c4cc;-webkit-transition:all .3s;transition:all .3s;pointer-events:none}.el-input__suffix-inner{pointer-events:all}.el-input__prefix{position:absolute;height:100%;left:5px;top:0;text-align:center;color:#c0c4cc;-webkit-transition:all .3s;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-active .el-input__inner{outline:0;border-color:#00873c}.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::-moz-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-input.is-exceed .el-input__inner{border-color:#f56c6c}.el-input.is-exceed .el-input__suffix .el-input__count{color:#f56c6c}.el-input--suffix .el-input__inner{padding-right:30px}.el-input--prefix .el-input__inner{padding-left:30px}.el-input--medium{font-size:14px}.el-input--medium .el-input__inner{height:36px;line-height:36px}.el-input--medium .el-input__icon{line-height:36px}.el-input--small{font-size:13px}.el-input--small .el-input__inner{height:32px;line-height:32px}.el-input--small .el-input__icon{line-height:32px}.el-input--mini{font-size:12px}.el-input--mini .el-input__inner{height:28px;line-height:28px}.el-input--mini .el-input__icon{line-height:28px}.el-input-group{line-height:normal;display:inline-table;width:100%;border-collapse:separate;border-spacing:0}.el-input-group>.el-input__inner{vertical-align:middle;display:table-cell}.el-input-group__append,.el-input-group__prepend{background-color:#f5f7fa;color:#909399;vertical-align:middle;display:table-cell;position:relative;border:1px solid #dcdfe6;border-radius:4px;padding:0 20px;width:1px;white-space:nowrap}.el-input-group__append: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;border-top-right-radius:0;border-bottom-right-radius:0}.el-input-group__append{border-left:0;border-top-left-radius:0;border-bottom-left-radius:0}.el-input-group--prepend .el-input__inner{border-top-left-radius:0;border-bottom-left-radius:0}.el-input-group--prepend .el-select .el-input.is-focus .el-input__inner{border-color:transparent}.el-input-group--append .el-input__inner{border-top-right-radius:0;border-bottom-right-radius:0}.el-input-group--append .el-select .el-input.is-focus .el-input__inner{border-color:transparent}.el-input__inner::-ms-clear{display:none;width:0;height:0}.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-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,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-autocomplete{position:relative;display:inline-block}.el-autocomplete-suggestion{margin:5px 0;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1);border-radius:4px;border:1px solid #e4e7ed;-webkit-box-sizing:border-box;box-sizing:border-box;background-color:#fff}.el-autocomplete-suggestion__wrap{max-height:280px;padding:10px 0;-webkit-box-sizing:border-box;box-sizing:border-box}.el-autocomplete-suggestion__list{margin:0;padding:0}.el-autocomplete-suggestion li{padding:0 20px;margin:0;line-height:34px;cursor:pointer;color:#606266;font-size:14px;list-style:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.el-autocomplete-suggestion li:hover{background-color:#f5f7fa}.el-autocomplete-suggestion li.highlighted{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-button{display:inline-block;line-height:1;white-space:nowrap;cursor:pointer;background:#fff;border:1px solid #dcdfe6;border-color:#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;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;padding:12px 20px;font-size:14px;border-radius:4px}.el-button+.el-button{margin-left:10px}.el-button.is-round{padding:12px 20px}.el-button:focus,.el-button:hover{color:#00873c;border-color:#b3dbc5;background-color:#e6f3ec}.el-button:active{color:#007a36;border-color:#007a36;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:#00873c;color:#00873c}.el-button.is-plain:active{background:#fff;border-color:#007a36;color:#007a36;outline:0}.el-button.is-active{color:#007a36;border-color:#007a36}.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:#00873c;border-color:#00873c}.el-button--primary:focus,.el-button--primary:hover{background:#339f63;border-color:#339f63;color:#fff}.el-button--primary:active{background:#007a36;border-color:#007a36;color:#fff;outline:0}.el-button--primary.is-active{background:#007a36;border-color:#007a36;color:#fff}.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:#80c39e;border-color:#80c39e}.el-button--primary.is-plain{color:#00873c;background:#e6f3ec;border-color:#99cfb1}.el-button--primary.is-plain:focus,.el-button--primary.is-plain:hover{background:#00873c;border-color:#00873c;color:#fff}.el-button--primary.is-plain:active{background:#007a36;border-color:#007a36;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:#66b78a;background-color:#e6f3ec;border-color:#cce7d8}.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:active{background:#5daf34;border-color:#5daf34;color:#fff;outline:0}.el-button--success.is-active{background:#5daf34;border-color:#5daf34;color:#fff}.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:active{background:#cf9236;border-color:#cf9236;color:#fff;outline:0}.el-button--warning.is-active{background:#cf9236;border-color:#cf9236;color:#fff}.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:active{background:#dd6161;border-color:#dd6161;color:#fff;outline:0}.el-button--danger.is-active{background:#dd6161;border-color:#dd6161;color:#fff}.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:active{background:#82848a;border-color:#82848a;color:#fff;outline:0}.el-button--info.is-active{background:#82848a;border-color:#82848a;color:#fff}.el-button--info.is-disabled,.el-button--info.is-disabled:active,.el-button--info.is-disabled:focus,.el-button--info.is-disabled:hover{color:#fff;background-color:#c8c9cc;border-color:#c8c9cc}.el-button--info.is-plain{color:#909399;background:#f4f4f5;border-color:#d3d4d6}.el-button--info.is-plain:focus,.el-button--info.is-plain:hover{background:#909399;border-color:#909399;color:#fff}.el-button--info.is-plain:active{background:#82848a;border-color:#82848a;color:#fff;outline:0}.el-button--info.is-plain.is-disabled,.el-button--info.is-plain.is-disabled:active,.el-button--info.is-plain.is-disabled:focus,.el-button--info.is-plain.is-disabled:hover{color:#bcbec2;background-color:#f4f4f5;border-color:#e9e9eb}.el-button--medium{padding:10px 20px;font-size:14px;border-radius:4px}.el-button--medium.is-round{padding:10px 20px}.el-button--medium.is-circle{padding:10px}.el-button--small{padding:9px 15px;font-size:12px;border-radius:3px}.el-button--small.is-round{padding:9px 15px}.el-button--small.is-circle{padding:9px}.el-button--mini{padding:7px 15px;font-size:12px;border-radius:3px}.el-button--mini.is-round{padding:7px 15px}.el-button--mini.is-circle{padding:7px}.el-button--text{border-color:transparent;color:#00873c;background:0 0;padding-left:0;padding-right:0}.el-button--text:focus,.el-button--text:hover{color:#339f63;border-color:transparent;background-color:transparent}.el-button--text:active{color:#007a36;border-color:transparent;background-color:transparent}.el-button--text.is-disabled,.el-button--text.is-disabled:focus,.el-button--text.is-disabled:hover{border-color:transparent}.el-button-group{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-top-right-radius:4px;border-bottom-right-radius:4px;border-top-left-radius:4px;border-bottom-left-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:not(.is-disabled):active,.el-button-group>.el-button:not(.is-disabled):focus,.el-button-group>.el-button:not(.is-disabled):hover{z-index:1}.el-button-group>.el-button.is-active{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-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,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-dropdown{display:inline-block;position:relative;color:#606266;font-size:14px}.el-dropdown .el-button-group{display:block}.el-dropdown .el-button-group .el-button{float:none}.el-dropdown .el-dropdown__caret-button{padding-left:5px;padding-right:5px;position:relative;border-left:none}.el-dropdown .el-dropdown__caret-button::before{content:'';position:absolute;display:block;width:1px;top:5px;bottom:5px;left:0;background:rgba(255,255,255,.5)}.el-dropdown .el-dropdown__caret-button.el-button--default::before{background:rgba(220,223,230,.5)}.el-dropdown .el-dropdown__caret-button:hover:not(.is-disabled)::before{top:0;bottom:0}.el-dropdown .el-dropdown__caret-button .el-dropdown__icon{padding-left:0}.el-dropdown__icon{font-size:12px;margin:0 3px}.el-dropdown .el-dropdown-selfdefine:focus:active,.el-dropdown .el-dropdown-selfdefine:focus:not(.focusing){outline-width:0}.el-dropdown [disabled]{cursor:not-allowed;color:#bbb}.el-dropdown-menu{position:absolute;top:0;left:0;z-index:10;padding:10px 0;margin:5px 0;background-color:#fff;border:1px solid #ebeef5;border-radius:4px;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1)}.el-dropdown-menu__item{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:#e6f3ec;color:#339f63}.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}.fade-in-linear-enter-active,.fade-in-linear-leave-active{-webkit-transition:opacity .2s linear;transition:opacity .2s linear}.fade-in-linear-enter,.fade-in-linear-leave,.fade-in-linear-leave-active{opacity:0}.el-fade-in-linear-enter-active,.el-fade-in-linear-leave-active{-webkit-transition:opacity .2s linear;transition:opacity .2s linear}.el-fade-in-linear-enter,.el-fade-in-linear-leave,.el-fade-in-linear-leave-active{opacity:0}.el-fade-in-enter-active,.el-fade-in-leave-active{-webkit-transition:all .3s cubic-bezier(.55, 0, .1, 1);transition:all .3s cubic-bezier(.55, 0, .1, 1)}.el-fade-in-enter,.el-fade-in-leave-active{opacity:0}.el-zoom-in-center-enter-active,.el-zoom-in-center-leave-active{-webkit-transition:all .3s cubic-bezier(.55, 0, .1, 1);transition:all .3s cubic-bezier(.55, 0, .1, 1)}.el-zoom-in-center-enter,.el-zoom-in-center-leave-active{opacity:0;-webkit-transform:scaleX(0);transform:scaleX(0)}.el-zoom-in-top-enter-active,.el-zoom-in-top-leave-active{opacity:1;-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transition:opacity .3s cubic-bezier(.23, 1, .32, 1),-webkit-transform .3s cubic-bezier(.23, 1, .32, 1);transition:opacity .3s cubic-bezier(.23, 1, .32, 1),-webkit-transform .3s cubic-bezier(.23, 1, .32, 1);transition:transform .3s cubic-bezier(.23, 1, .32, 1),opacity .3s cubic-bezier(.23, 1, .32, 1);transition:transform .3s cubic-bezier(.23, 1, .32, 1),opacity .3s cubic-bezier(.23, 1, .32, 1),-webkit-transform .3s cubic-bezier(.23, 1, .32, 1);-webkit-transform-origin:center top;transform-origin:center top}.el-zoom-in-top-enter,.el-zoom-in-top-leave-active{opacity:0;-webkit-transform:scaleY(0);transform:scaleY(0)}.el-zoom-in-bottom-enter-active,.el-zoom-in-bottom-leave-active{opacity:1;-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transition:opacity .3s cubic-bezier(.23, 1, .32, 1),-webkit-transform .3s cubic-bezier(.23, 1, .32, 1);transition:opacity .3s cubic-bezier(.23, 1, .32, 1),-webkit-transform .3s cubic-bezier(.23, 1, .32, 1);transition:transform .3s cubic-bezier(.23, 1, .32, 1),opacity .3s cubic-bezier(.23, 1, .32, 1);transition:transform .3s cubic-bezier(.23, 1, .32, 1),opacity .3s cubic-bezier(.23, 1, .32, 1),-webkit-transform .3s cubic-bezier(.23, 1, .32, 1);-webkit-transform-origin:center bottom;transform-origin:center bottom}.el-zoom-in-bottom-enter,.el-zoom-in-bottom-leave-active{opacity:0;-webkit-transform:scaleY(0);transform:scaleY(0)}.el-zoom-in-left-enter-active,.el-zoom-in-left-leave-active{opacity:1;-webkit-transform:scale(1,1);transform:scale(1,1);-webkit-transition:opacity .3s cubic-bezier(.23, 1, .32, 1),-webkit-transform .3s cubic-bezier(.23, 1, .32, 1);transition:opacity .3s cubic-bezier(.23, 1, .32, 1),-webkit-transform .3s cubic-bezier(.23, 1, .32, 1);transition:transform .3s cubic-bezier(.23, 1, .32, 1),opacity .3s cubic-bezier(.23, 1, .32, 1);transition:transform .3s cubic-bezier(.23, 1, .32, 1),opacity .3s cubic-bezier(.23, 1, .32, 1),-webkit-transform .3s cubic-bezier(.23, 1, .32, 1);-webkit-transform-origin:top left;transform-origin:top left}.el-zoom-in-left-enter,.el-zoom-in-left-leave-active{opacity:0;-webkit-transform:scale(.45,.45);transform:scale(.45,.45)}.collapse-transition{-webkit-transition:.3s height ease-in-out,.3s padding-top ease-in-out,.3s padding-bottom ease-in-out;transition:.3s height ease-in-out,.3s padding-top ease-in-out,.3s padding-bottom ease-in-out}.horizontal-collapse-transition{-webkit-transition:.3s width ease-in-out,.3s padding-left ease-in-out,.3s padding-right ease-in-out;transition:.3s width ease-in-out,.3s padding-left ease-in-out,.3s padding-right ease-in-out}.el-list-enter-active,.el-list-leave-active{-webkit-transition:all 1s;transition:all 1s}.el-list-enter,.el-list-leave-active{opacity:0;-webkit-transform:translateY(-30px);transform:translateY(-30px)}.el-opacity-transition{-webkit-transition:opacity .3s cubic-bezier(.55, 0, .1, 1);transition:opacity .3s cubic-bezier(.55, 0, .1, 1)}.el-menu{border-right:solid 1px #e6e6e6;list-style:none;position:relative;margin:0;padding-left:0;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-menu-item:not(.is-disabled):focus,.el-menu--horizontal>.el-menu-item:not(.is-disabled):hover{background-color:#fff}.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 #00873c;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__title:hover{background-color:#fff}.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 #00873c;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-menu .el-submenu{min-width:200px}.el-menu--collapse .el-submenu{position:relative}.el-menu--collapse .el-submenu .el-menu{position:absolute;margin-left:5px;top:0;left:100%;z-index:10;border:1px solid #e4e7ed;border-radius:2px;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1)}.el-menu--collapse .el-submenu.is-opened>.el-submenu__title .el-submenu__icon-arrow{-webkit-transform:none;transform:none}.el-menu--popup{z-index:100;min-width:200px;border:none;padding:5px 0;border-radius:2px;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1)}.el-menu--popup-bottom-start{margin-top:5px}.el-menu--popup-right-start{margin-left:5px;margin-right:5px}.el-menu-item{height:56px;line-height:56px;font-size:14px;color:#303133;padding:0 20px;list-style:none;cursor:pointer;position:relative;-webkit-transition:border-color .3s,background-color .3s,color .3s;transition:border-color .3s,background-color .3s,color .3s;-webkit-box-sizing:border-box;box-sizing:border-box;white-space:nowrap}.el-menu-item *{vertical-align:middle}.el-menu-item i{color:#909399}.el-menu-item:focus,.el-menu-item:hover{outline:0;background-color:#e6f3ec}.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:#00873c}.el-menu-item.is-active i{color:inherit}.el-submenu{list-style:none;margin:0;padding-left:0}.el-submenu__title{height:56px;line-height:56px;font-size:14px;color:#303133;padding:0 20px;list-style:none;cursor:pointer;position:relative;-webkit-transition:border-color .3s,background-color .3s,color .3s;transition:border-color .3s,background-color .3s,color .3s;-webkit-box-sizing:border-box;box-sizing:border-box;white-space:nowrap}.el-submenu__title *{vertical-align:middle}.el-submenu__title i{color:#909399}.el-submenu__title:focus,.el-submenu__title:hover{outline:0;background-color:#e6f3ec}.el-submenu__title.is-disabled{opacity:.25;cursor:not-allowed;background:0 0!important}.el-submenu__title:hover{background-color:#e6f3ec}.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:#00873c}.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}.horizontal-collapse-transition .el-submenu__title .el-submenu__icon-arrow{-webkit-transition:.2s;transition:.2s;opacity:0}.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::-moz-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:#00873c}.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::-moz-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__inner::-ms-reveal{display:none}.el-input__inner::-webkit-input-placeholder{color:#c0c4cc}.el-input__inner::-moz-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__inner:focus{outline:0;border-color:#00873c}.el-input__suffix{position:absolute;height:100%;right:5px;top:0;text-align:center;color:#c0c4cc;-webkit-transition:all .3s;transition:all .3s;pointer-events:none}.el-input__suffix-inner{pointer-events:all}.el-input__prefix{position:absolute;height:100%;left:5px;top:0;text-align:center;color:#c0c4cc;-webkit-transition:all .3s;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-active .el-input__inner{outline:0;border-color:#00873c}.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::-moz-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-input.is-exceed .el-input__inner{border-color:#f56c6c}.el-input.is-exceed .el-input__suffix .el-input__count{color:#f56c6c}.el-input--suffix .el-input__inner{padding-right:30px}.el-input--prefix .el-input__inner{padding-left:30px}.el-input--medium{font-size:14px}.el-input--medium .el-input__inner{height:36px;line-height:36px}.el-input--medium .el-input__icon{line-height:36px}.el-input--small{font-size:13px}.el-input--small .el-input__inner{height:32px;line-height:32px}.el-input--small .el-input__icon{line-height:32px}.el-input--mini{font-size:12px}.el-input--mini .el-input__inner{height:28px;line-height:28px}.el-input--mini .el-input__icon{line-height:28px}.el-input-group{line-height:normal;display:inline-table;width:100%;border-collapse:separate;border-spacing:0}.el-input-group>.el-input__inner{vertical-align:middle;display:table-cell}.el-input-group__append,.el-input-group__prepend{background-color:#f5f7fa;color:#909399;vertical-align:middle;display:table-cell;position:relative;border:1px solid #dcdfe6;border-radius:4px;padding:0 20px;width:1px;white-space:nowrap}.el-input-group__append: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;border-top-right-radius:0;border-bottom-right-radius:0}.el-input-group__append{border-left:0;border-top-left-radius:0;border-bottom-left-radius:0}.el-input-group--prepend .el-input__inner{border-top-left-radius:0;border-bottom-left-radius:0}.el-input-group--prepend .el-select .el-input.is-focus .el-input__inner{border-color:transparent}.el-input-group--append .el-input__inner{border-top-right-radius:0;border-bottom-right-radius:0}.el-input-group--append .el-select .el-input.is-focus .el-input__inner{border-color:transparent}.el-input__inner::-ms-clear{display:none;width:0;height:0}.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::-moz-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:#00873c}.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::-moz-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__inner::-ms-reveal{display:none}.el-input__inner::-webkit-input-placeholder{color:#c0c4cc}.el-input__inner::-moz-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__inner:focus{outline:0;border-color:#00873c}.el-input__suffix{position:absolute;height:100%;right:5px;top:0;text-align:center;color:#c0c4cc;-webkit-transition:all .3s;transition:all .3s;pointer-events:none}.el-input__suffix-inner{pointer-events:all}.el-input__prefix{position:absolute;height:100%;left:5px;top:0;text-align:center;color:#c0c4cc;-webkit-transition:all .3s;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-active .el-input__inner{outline:0;border-color:#00873c}.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::-moz-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-input.is-exceed .el-input__inner{border-color:#f56c6c}.el-input.is-exceed .el-input__suffix .el-input__count{color:#f56c6c}.el-input--suffix .el-input__inner{padding-right:30px}.el-input--prefix .el-input__inner{padding-left:30px}.el-input--medium{font-size:14px}.el-input--medium .el-input__inner{height:36px;line-height:36px}.el-input--medium .el-input__icon{line-height:36px}.el-input--small{font-size:13px}.el-input--small .el-input__inner{height:32px;line-height:32px}.el-input--small .el-input__icon{line-height:32px}.el-input--mini{font-size:12px}.el-input--mini .el-input__inner{height:28px;line-height:28px}.el-input--mini .el-input__icon{line-height:28px}.el-input-group{line-height:normal;display:inline-table;width:100%;border-collapse:separate;border-spacing:0}.el-input-group>.el-input__inner{vertical-align:middle;display:table-cell}.el-input-group__append,.el-input-group__prepend{background-color:#f5f7fa;color:#909399;vertical-align:middle;display:table-cell;position:relative;border:1px solid #dcdfe6;border-radius:4px;padding:0 20px;width:1px;white-space:nowrap}.el-input-group__append: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;border-top-right-radius:0;border-bottom-right-radius:0}.el-input-group__append{border-left:0;border-top-left-radius:0;border-bottom-left-radius:0}.el-input-group--prepend .el-input__inner{border-top-left-radius:0;border-bottom-left-radius:0}.el-input-group--prepend .el-select .el-input.is-focus .el-input__inner{border-color:transparent}.el-input-group--append .el-input__inner{border-top-right-radius:0;border-bottom-right-radius:0}.el-input-group--append .el-select .el-input.is-focus .el-input__inner{border-color:transparent}.el-input__inner::-ms-clear{display:none;width:0;height:0}.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:#00873c}.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:#00873c}.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 0}.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-radio{color:#606266;font-weight:500;line-height:1;position:relative;cursor:pointer;display:inline-block;white-space:nowrap;outline:0;font-size:14px;margin-right:30px;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none}.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:#00873c}.el-radio.is-bordered.is-disabled{cursor:not-allowed;border-color:#ebeef5}.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--medium.is-bordered .el-radio__label{font-size:14px}.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__label{font-size:12px}.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__label{font-size:12px}.el-radio--mini.is-bordered .el-radio__inner{height:12px;width:12px}.el-radio:last-child{margin-right:0}.el-radio__input{white-space:nowrap;cursor:pointer;outline:0;display:inline-block;line-height:1;position:relative;vertical-align:middle}.el-radio__input.is-disabled .el-radio__inner{background-color:#f5f7fa;border-color:#e4e7ed;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{background-color:#f5f7fa;border-color:#e4e7ed}.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:#00873c;background:#00873c}.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:#00873c}.el-radio__input.is-focus .el-radio__inner{border-color:#00873c}.el-radio__inner{border:1px solid #dcdfe6;border-radius:100%;width:14px;height:14px;background-color:#fff;position:relative;cursor:pointer;display:inline-block;-webkit-box-sizing:border-box;box-sizing:border-box}.el-radio__inner:hover{border-color:#00873c}.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 #00873c;box-shadow:0 0 2px 2px #00873c}.el-radio__label{font-size:14px;padding-left:10px}.el-radio-group{display:inline-block;line-height:1;vertical-align:middle;font-size:0}.el-radio-button{position:relative;display:inline-block;outline:0}.el-radio-button__inner{display:inline-block;line-height:1;white-space:nowrap;vertical-align:middle;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:#00873c}.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:#00873c;border-color:#00873c;-webkit-box-shadow:-1px 0 0 0 #00873c;box-shadow:-1px 0 0 0 #00873c}.el-radio-button__orig-radio:disabled+.el-radio-button__inner{color:#c0c4cc;cursor:not-allowed;background-image:none;background-color:#fff;border-color:#ebeef5;-webkit-box-shadow:none;box-shadow:none}.el-radio-button__orig-radio:disabled:checked+.el-radio-button__inner{background-color:#f2f6fc}.el-radio-button:last-child .el-radio-button__inner{border-radius:0 4px 4px 0}.el-radio-button:first-child:last-child .el-radio-button__inner{border-radius:4px}.el-radio-button--medium .el-radio-button__inner{padding:10px 20px;font-size:14px;border-radius:0}.el-radio-button--medium .el-radio-button__inner.is-round{padding:10px 20px}.el-radio-button--small .el-radio-button__inner{padding:9px 15px;font-size:12px;border-radius:0}.el-radio-button--small .el-radio-button__inner.is-round{padding:9px 15px}.el-radio-button--mini .el-radio-button__inner{padding:7px 15px;font-size:12px;border-radius:0}.el-radio-button--mini .el-radio-button__inner.is-round{padding:7px 15px}.el-radio-button:focus:not(.is-focus):not(:active):not(.is-disabled){-webkit-box-shadow:0 0 2px 2px #00873c;box-shadow:0 0 2px 2px #00873c}.el-checkbox{color:#606266;font-weight:500;font-size:14px;position:relative;cursor:pointer;display:inline-block;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;margin-right:30px}.el-checkbox.is-bordered{padding:9px 20px 9px 10px;border-radius:4px;border:1px solid #dcdfe6;-webkit-box-sizing:border-box;box-sizing:border-box;line-height:normal;height:40px}.el-checkbox.is-bordered.is-checked{border-color:#00873c}.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{white-space:nowrap;cursor:pointer;outline:0;display:inline-block;line-height:1;position:relative;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-disabled+span.el-checkbox__label{color:#c0c4cc;cursor:not-allowed}.el-checkbox__input.is-checked .el-checkbox__inner{background-color:#00873c;border-color:#00873c}.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:#00873c}.el-checkbox__input.is-focus .el-checkbox__inner{border-color:#00873c}.el-checkbox__input.is-indeterminate .el-checkbox__inner{background-color:#00873c;border-color:#00873c}.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:#00873c}.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__label{display:inline-block;padding-left:10px;line-height:19px;font-size:14px}.el-checkbox:last-of-type{margin-right:0}.el-checkbox-button{position:relative;display:inline-block}.el-checkbox-button__inner{display:inline-block;line-height:1;font-weight:500;white-space:nowrap;vertical-align:middle;cursor:pointer;background:#fff;border:1px solid #dcdfe6;border-left:0;color:#606266;-webkit-appearance:none;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box;outline:0;margin:0;position:relative;-webkit-transition:all .3s cubic-bezier(.645, .045, .355, 1);transition:all .3s cubic-bezier(.645, .045, .355, 1);-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;padding:12px 20px;font-size:14px;border-radius:0}.el-checkbox-button__inner.is-round{padding:12px 20px}.el-checkbox-button__inner:hover{color:#00873c}.el-checkbox-button__inner [class*=el-icon-]{line-height:.9}.el-checkbox-button__inner [class*=el-icon-]+span{margin-left:5px}.el-checkbox-button__original{opacity:0;outline:0;position:absolute;margin:0;z-index:-1}.el-checkbox-button.is-checked .el-checkbox-button__inner{color:#fff;background-color:#00873c;border-color:#00873c;-webkit-box-shadow:-1px 0 0 0 #66b78a;box-shadow:-1px 0 0 0 #66b78a}.el-checkbox-button.is-checked:first-child .el-checkbox-button__inner{border-left-color:#00873c}.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:#00873c}.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-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.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;display:inline-block;font-size:14px;font-weight:500;cursor:pointer;vertical-align:middle;color:#303133}.el-switch__label.is-active{color:#00873c}.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;display:inline-block;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;cursor:pointer;-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:#00873c;background-color:#00873c}.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-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,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-select-dropdown{position:absolute;z-index:1001;border:solid 1px #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{padding-right:40px}.el-select-dropdown.is-multiple .el-select-dropdown__item.selected{color:#00873c;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-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::-moz-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:#00873c}.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::-moz-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__inner::-ms-reveal{display:none}.el-input__inner::-webkit-input-placeholder{color:#c0c4cc}.el-input__inner::-moz-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__inner:focus{outline:0;border-color:#00873c}.el-input__suffix{position:absolute;height:100%;right:5px;top:0;text-align:center;color:#c0c4cc;-webkit-transition:all .3s;transition:all .3s;pointer-events:none}.el-input__suffix-inner{pointer-events:all}.el-input__prefix{position:absolute;height:100%;left:5px;top:0;text-align:center;color:#c0c4cc;-webkit-transition:all .3s;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-active .el-input__inner{outline:0;border-color:#00873c}.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::-moz-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-input.is-exceed .el-input__inner{border-color:#f56c6c}.el-input.is-exceed .el-input__suffix .el-input__count{color:#f56c6c}.el-input--suffix .el-input__inner{padding-right:30px}.el-input--prefix .el-input__inner{padding-left:30px}.el-input--medium{font-size:14px}.el-input--medium .el-input__inner{height:36px;line-height:36px}.el-input--medium .el-input__icon{line-height:36px}.el-input--small{font-size:13px}.el-input--small .el-input__inner{height:32px;line-height:32px}.el-input--small .el-input__icon{line-height:32px}.el-input--mini{font-size:12px}.el-input--mini .el-input__inner{height:28px;line-height:28px}.el-input--mini .el-input__icon{line-height:28px}.el-input-group{line-height:normal;display:inline-table;width:100%;border-collapse:separate;border-spacing:0}.el-input-group>.el-input__inner{vertical-align:middle;display:table-cell}.el-input-group__append,.el-input-group__prepend{background-color:#f5f7fa;color:#909399;vertical-align:middle;display:table-cell;position:relative;border:1px solid #dcdfe6;border-radius:4px;padding:0 20px;width:1px;white-space:nowrap}.el-input-group__append: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;border-top-right-radius:0;border-bottom-right-radius:0}.el-input-group__append{border-left:0;border-top-left-radius:0;border-bottom-left-radius:0}.el-input-group--prepend .el-input__inner{border-top-left-radius:0;border-bottom-left-radius:0}.el-input-group--prepend .el-select .el-input.is-focus .el-input__inner{border-color:transparent}.el-input-group--append .el-input__inner{border-top-right-radius:0;border-bottom-right-radius:0}.el-input-group--append .el-select .el-input.is-focus .el-input__inner{border-color:transparent}.el-input__inner::-ms-clear{display:none;width:0;height:0}.el-tag{background-color:#e6f3ec;border-color:#cce7d8;color:#00873c;display:inline-block;height:32px;padding:0 10px;line-height:30px;font-size:12px;color:#00873c;border-width:1px;border-style:solid;border-radius:4px;-webkit-box-sizing:border-box;box-sizing:border-box;white-space:nowrap}.el-tag.is-hit{border-color:#00873c}.el-tag .el-tag__close{color:#00873c}.el-tag .el-tag__close:hover{color:#fff;background-color:#00873c}.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:#00873c;border-color:#00873c;color:#fff}.el-tag--dark.is-hit{border-color:#00873c}.el-tag--dark .el-tag__close{color:#fff}.el-tag--dark .el-tag__close:hover{color:#fff;background-color:#339f63}.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:#99cfb1;color:#00873c}.el-tag--plain.is-hit{border-color:#00873c}.el-tag--plain .el-tag__close{color:#00873c}.el-tag--plain .el-tag__close:hover{color:#fff;background-color:#00873c}.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-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:#00873c;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-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-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:#00873c}.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:#00873c}.el-select>.el-input{display:block}.el-select__input{border:none;outline:0;padding:0;margin-left:15px;color:#666;font-size:14px;-webkit-appearance:none;-moz-appearance:none;appearance:none;height:28px;background-color:transparent}.el-select__input.is-mini{height:14px}.el-select__close{cursor:pointer;position:absolute;top:8px;z-index:1000;right:25px;color:#c0c4cc;line-height:18px;font-size:14px}.el-select__close:hover{color:#909399}.el-select__tags{position:absolute;line-height:normal;white-space:normal;z-index:1;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-ms-flex-wrap:wrap;flex-wrap:wrap}.el-select__tags-text{overflow:hidden;text-overflow:ellipsis}.el-select .el-tag{-webkit-box-sizing:border-box;box-sizing:border-box;border-color:transparent;margin:2px 0 2px 6px;background-color:#f0f2f5;display:-webkit-box;display:-ms-flexbox;display:flex;max-width:100%;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.el-select .el-tag__close.el-icon-close{background-color:#c0c4cc;top:0;color:#fff;-ms-flex-negative:0;flex-shrink:0}.el-select .el-tag__close.el-icon-close:hover{background-color:#909399}.el-select .el-tag__close.el-icon-close::before{display:block;-webkit-transform:translate(0,.5px);transform:translate(0,.5px)}.el-button{display:inline-block;line-height:1;white-space:nowrap;cursor:pointer;background:#fff;border:1px solid #dcdfe6;border-color:#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;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;padding:12px 20px;font-size:14px;border-radius:4px}.el-button+.el-button{margin-left:10px}.el-button.is-round{padding:12px 20px}.el-button:focus,.el-button:hover{color:#00873c;border-color:#b3dbc5;background-color:#e6f3ec}.el-button:active{color:#007a36;border-color:#007a36;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:#00873c;color:#00873c}.el-button.is-plain:active{background:#fff;border-color:#007a36;color:#007a36;outline:0}.el-button.is-active{color:#007a36;border-color:#007a36}.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:#00873c;border-color:#00873c}.el-button--primary:focus,.el-button--primary:hover{background:#339f63;border-color:#339f63;color:#fff}.el-button--primary:active{background:#007a36;border-color:#007a36;color:#fff;outline:0}.el-button--primary.is-active{background:#007a36;border-color:#007a36;color:#fff}.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:#80c39e;border-color:#80c39e}.el-button--primary.is-plain{color:#00873c;background:#e6f3ec;border-color:#99cfb1}.el-button--primary.is-plain:focus,.el-button--primary.is-plain:hover{background:#00873c;border-color:#00873c;color:#fff}.el-button--primary.is-plain:active{background:#007a36;border-color:#007a36;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:#66b78a;background-color:#e6f3ec;border-color:#cce7d8}.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:active{background:#5daf34;border-color:#5daf34;color:#fff;outline:0}.el-button--success.is-active{background:#5daf34;border-color:#5daf34;color:#fff}.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:active{background:#cf9236;border-color:#cf9236;color:#fff;outline:0}.el-button--warning.is-active{background:#cf9236;border-color:#cf9236;color:#fff}.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:active{background:#dd6161;border-color:#dd6161;color:#fff;outline:0}.el-button--danger.is-active{background:#dd6161;border-color:#dd6161;color:#fff}.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:active{background:#82848a;border-color:#82848a;color:#fff;outline:0}.el-button--info.is-active{background:#82848a;border-color:#82848a;color:#fff}.el-button--info.is-disabled,.el-button--info.is-disabled:active,.el-button--info.is-disabled:focus,.el-button--info.is-disabled:hover{color:#fff;background-color:#c8c9cc;border-color:#c8c9cc}.el-button--info.is-plain{color:#909399;background:#f4f4f5;border-color:#d3d4d6}.el-button--info.is-plain:focus,.el-button--info.is-plain:hover{background:#909399;border-color:#909399;color:#fff}.el-button--info.is-plain:active{background:#82848a;border-color:#82848a;color:#fff;outline:0}.el-button--info.is-plain.is-disabled,.el-button--info.is-plain.is-disabled:active,.el-button--info.is-plain.is-disabled:focus,.el-button--info.is-plain.is-disabled:hover{color:#bcbec2;background-color:#f4f4f5;border-color:#e9e9eb}.el-button--medium{padding:10px 20px;font-size:14px;border-radius:4px}.el-button--medium.is-round{padding:10px 20px}.el-button--medium.is-circle{padding:10px}.el-button--small{padding:9px 15px;font-size:12px;border-radius:3px}.el-button--small.is-round{padding:9px 15px}.el-button--small.is-circle{padding:9px}.el-button--mini{padding:7px 15px;font-size:12px;border-radius:3px}.el-button--mini.is-round{padding:7px 15px}.el-button--mini.is-circle{padding:7px}.el-button--text{border-color:transparent;color:#00873c;background:0 0;padding-left:0;padding-right:0}.el-button--text:focus,.el-button--text:hover{color:#339f63;border-color:transparent;background-color:transparent}.el-button--text:active{color:#007a36;border-color:transparent;background-color:transparent}.el-button--text.is-disabled,.el-button--text.is-disabled:focus,.el-button--text.is-disabled:hover{border-color:transparent}.el-button-group{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-top-right-radius:4px;border-bottom-right-radius:4px;border-top-left-radius:4px;border-bottom-left-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:not(.is-disabled):active,.el-button-group>.el-button:not(.is-disabled):focus,.el-button-group>.el-button:not(.is-disabled):hover{z-index:1}.el-button-group>.el-button.is-active{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-checkbox{color:#606266;font-weight:500;font-size:14px;position:relative;cursor:pointer;display:inline-block;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;margin-right:30px}.el-checkbox.is-bordered{padding:9px 20px 9px 10px;border-radius:4px;border:1px solid #dcdfe6;-webkit-box-sizing:border-box;box-sizing:border-box;line-height:normal;height:40px}.el-checkbox.is-bordered.is-checked{border-color:#00873c}.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{white-space:nowrap;cursor:pointer;outline:0;display:inline-block;line-height:1;position:relative;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-disabled+span.el-checkbox__label{color:#c0c4cc;cursor:not-allowed}.el-checkbox__input.is-checked .el-checkbox__inner{background-color:#00873c;border-color:#00873c}.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:#00873c}.el-checkbox__input.is-focus .el-checkbox__inner{border-color:#00873c}.el-checkbox__input.is-indeterminate .el-checkbox__inner{background-color:#00873c;border-color:#00873c}.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:#00873c}.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__label{display:inline-block;padding-left:10px;line-height:19px;font-size:14px}.el-checkbox:last-of-type{margin-right:0}.el-checkbox-button{position:relative;display:inline-block}.el-checkbox-button__inner{display:inline-block;line-height:1;font-weight:500;white-space:nowrap;vertical-align:middle;cursor:pointer;background:#fff;border:1px solid #dcdfe6;border-left:0;color:#606266;-webkit-appearance:none;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box;outline:0;margin:0;position:relative;-webkit-transition:all .3s cubic-bezier(.645, .045, .355, 1);transition:all .3s cubic-bezier(.645, .045, .355, 1);-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;padding:12px 20px;font-size:14px;border-radius:0}.el-checkbox-button__inner.is-round{padding:12px 20px}.el-checkbox-button__inner:hover{color:#00873c}.el-checkbox-button__inner [class*=el-icon-]{line-height:.9}.el-checkbox-button__inner [class*=el-icon-]+span{margin-left:5px}.el-checkbox-button__original{opacity:0;outline:0;position:absolute;margin:0;z-index:-1}.el-checkbox-button.is-checked .el-checkbox-button__inner{color:#fff;background-color:#00873c;border-color:#00873c;-webkit-box-shadow:-1px 0 0 0 #66b78a;box-shadow:-1px 0 0 0 #66b78a}.el-checkbox-button.is-checked:first-child .el-checkbox-button__inner{border-left-color:#00873c}.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:#00873c}.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-tag{background-color:#e6f3ec;border-color:#cce7d8;color:#00873c;display:inline-block;height:32px;padding:0 10px;line-height:30px;font-size:12px;color:#00873c;border-width:1px;border-style:solid;border-radius:4px;-webkit-box-sizing:border-box;box-sizing:border-box;white-space:nowrap}.el-tag.is-hit{border-color:#00873c}.el-tag .el-tag__close{color:#00873c}.el-tag .el-tag__close:hover{color:#fff;background-color:#00873c}.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:#00873c;border-color:#00873c;color:#fff}.el-tag--dark.is-hit{border-color:#00873c}.el-tag--dark .el-tag__close{color:#fff}.el-tag--dark .el-tag__close:hover{color:#fff;background-color:#339f63}.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:#99cfb1;color:#00873c}.el-tag--plain.is-hit{border-color:#00873c}.el-tag--plain .el-tag__close{color:#00873c}.el-tag--plain .el-tag__close:hover{color:#fff;background-color:#00873c}.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-tooltip:focus:hover,.el-tooltip:focus:not(.focusing){outline-width:0}.el-tooltip__popper{position:absolute;border-radius:4px;padding:10px;z-index:2000;font-size:12px;line-height:1.2;min-width:10px;word-wrap:break-word}.el-tooltip__popper .popper__arrow,.el-tooltip__popper .popper__arrow::after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.el-tooltip__popper .popper__arrow{border-width:6px}.el-tooltip__popper .popper__arrow::after{content:" ";border-width:5px}.el-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-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%;background-color:#fff;font-size:14px;color:#606266}.el-table__empty-block{min-height:60px;text-align:center;width:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.el-table__empty-text{line-height:60px;width:50%;color:#909399}.el-table__expand-column .cell{padding:0;text-align:center}.el-table__expand-icon{position:relative;cursor:pointer;color:#666;font-size:12px;-webkit-transition:-webkit-transform .2s ease-in-out;transition:-webkit-transform .2s ease-in-out;transition:transform .2s ease-in-out;transition:transform .2s ease-in-out,-webkit-transform .2s ease-in-out;height:20px}.el-table__expand-icon--expanded{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.el-table__expand-icon>.el-icon{position:absolute;left:50%;top:50%;margin-left:-5px;margin-top:-5px}.el-table__expanded-cell{background-color:#fff}.el-table__expanded-cell[class*=cell]{padding:20px 50px}.el-table__expanded-cell:hover{background-color:transparent!important}.el-table__placeholder{display:inline-block;width:20px}.el-table__append-wrapper{overflow:hidden}.el-table--fit{border-right:0;border-bottom:0}.el-table--fit .el-table__cell.gutter{border-right-width:1px}.el-table--scrollable-x .el-table__body-wrapper{overflow-x:auto}.el-table--scrollable-y .el-table__body-wrapper{overflow-y:auto}.el-table thead{color:#909399;font-weight:500}.el-table thead.is-group th.el-table__cell{background:#f5f7fa}.el-table .el-table__cell{padding:12px 0;min-width:0;-webkit-box-sizing:border-box;box-sizing:border-box;text-overflow:ellipsis;vertical-align:middle;position:relative;text-align:left}.el-table .el-table__cell.is-center{text-align:center}.el-table .el-table__cell.is-right{text-align:right}.el-table .el-table__cell.gutter{width:15px;border-right-width:0;border-bottom-width:0;padding:0}.el-table .el-table__cell.is-hidden>*{visibility:hidden}.el-table--medium .el-table__cell{padding:10px 0}.el-table--small{font-size:12px}.el-table--small .el-table__cell{padding:8px 0}.el-table--mini{font-size:12px}.el-table--mini .el-table__cell{padding:6px 0}.el-table tr{background-color:#fff}.el-table tr input[type=checkbox]{margin:0}.el-table td.el-table__cell,.el-table th.el-table__cell.is-leaf{border-bottom:1px solid #ebeef5}.el-table th.el-table__cell.is-sortable{cursor:pointer}.el-table th.el-table__cell{overflow:hidden;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:#fff}.el-table th.el-table__cell>.cell{display:inline-block;-webkit-box-sizing:border-box;box-sizing:border-box;position:relative;vertical-align:middle;padding-left:10px;padding-right:10px;width:100%}.el-table th.el-table__cell>.cell.highlight{color:#00873c}.el-table th.el-table__cell.required>div::before{display:inline-block;content:"";width:8px;height:8px;border-radius:50%;background:#ff4d51;margin-right:5px;vertical-align:middle}.el-table td.el-table__cell div{-webkit-box-sizing:border-box;box-sizing:border-box}.el-table td.el-table__cell.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-left:10px;padding-right:10px}.el-table .cell.el-tooltip{white-space:nowrap;min-width:50px}.el-table--border,.el-table--group{border:1px solid #ebeef5}.el-table--border::after,.el-table--group::after,.el-table::before{content:'';position:absolute;background-color:#ebeef5;z-index:1}.el-table--border::after,.el-table--group::after{top:0;right:0;width:1px;height:100%}.el-table::before{left:0;bottom:0;width:100%;height:1px}.el-table--border{border-right:none;border-bottom:none}.el-table--border.el-loading-parent--relative{border-color:transparent}.el-table--border .el-table__cell{border-right:1px solid #ebeef5}.el-table--border .el-table__cell:first-child .cell{padding-left:10px}.el-table--border th.el-table__cell.gutter:last-of-type{border-bottom:1px solid #ebeef5;border-bottom-width:1px}.el-table--border th.el-table__cell{border-bottom:1px solid #ebeef5}.el-table--hidden{visibility:hidden}.el-table__fixed,.el-table__fixed-right{position:absolute;top:0;left:0;overflow-x:hidden;overflow-y:hidden;-webkit-box-shadow:0 0 10px rgba(0,0,0,.12);box-shadow:0 0 10px rgba(0,0,0,.12)}.el-table__fixed-right::before,.el-table__fixed::before{content:'';position:absolute;left:0;bottom:0;width:100%;height:1px;background-color:#ebeef5;z-index:4}.el-table__fixed-right-patch{position:absolute;top:-1px;right:0;background-color:#fff;border-bottom:1px solid #ebeef5}.el-table__fixed-right{top:0;left:auto;right:0}.el-table__fixed-right .el-table__fixed-body-wrapper,.el-table__fixed-right .el-table__fixed-footer-wrapper,.el-table__fixed-right .el-table__fixed-header-wrapper{left:auto;right:0}.el-table__fixed-header-wrapper{position:absolute;left:0;top:0;z-index:3}.el-table__fixed-footer-wrapper{position:absolute;left:0;bottom:0;z-index:3}.el-table__fixed-footer-wrapper tbody td.el-table__cell{border-top:1px solid #ebeef5;background-color:#f5f7fa;color:#606266}.el-table__fixed-body-wrapper{position:absolute;left:0;top:37px;overflow:hidden;z-index:3}.el-table__body-wrapper,.el-table__footer-wrapper,.el-table__header-wrapper{width:100%}.el-table__footer-wrapper{margin-top:-1px}.el-table__footer-wrapper td.el-table__cell{border-top:1px solid #ebeef5}.el-table__body,.el-table__footer,.el-table__header{table-layout:fixed;border-collapse:separate}.el-table__footer-wrapper,.el-table__header-wrapper{overflow:hidden}.el-table__footer-wrapper tbody td.el-table__cell,.el-table__header-wrapper tbody td.el-table__cell{background-color:#f5f7fa;color:#606266}.el-table__body-wrapper{overflow:hidden;position:relative}.el-table__body-wrapper.is-scrolling-none~.el-table__fixed,.el-table__body-wrapper.is-scrolling-none~.el-table__fixed-right{-webkit-box-shadow:none;box-shadow:none}.el-table__body-wrapper.is-scrolling-left~.el-table__fixed{-webkit-box-shadow:none;box-shadow:none}.el-table__body-wrapper.is-scrolling-right~.el-table__fixed-right{-webkit-box-shadow:none;box-shadow:none}.el-table__body-wrapper .el-table--border.is-scrolling-right~.el-table__fixed-right{border-left:1px solid #ebeef5}.el-table__body-wrapper .el-table--border.is-scrolling-left~.el-table__fixed{border-right: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:solid 5px 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:#00873c}.el-table .descending .sort-caret.descending{border-top-color:#00873c}.el-table .hidden-columns{visibility:hidden;position:absolute;z-index:-1}.el-table--striped .el-table__body tr.el-table__row--striped td.el-table__cell{background:#fafafa}.el-table--striped .el-table__body tr.el-table__row--striped.current-row td.el-table__cell{background-color:#e6f3ec}.el-table__body tr.hover-row.current-row>td.el-table__cell,.el-table__body tr.hover-row.el-table__row--striped.current-row>td.el-table__cell,.el-table__body tr.hover-row.el-table__row--striped>td.el-table__cell,.el-table__body tr.hover-row>td.el-table__cell{background-color:#f5f7fa}.el-table__body tr.current-row>td.el-table__cell{background-color:#e6f3ec}.el-table__column-resize-proxy{position:absolute;left:200px;top:0;bottom:0;width:0;border-left:1px solid #ebeef5;z-index:10}.el-table__column-filter-trigger{display:inline-block;line-height:34px;cursor:pointer}.el-table__column-filter-trigger i{color:#909399;font-size:12px;-webkit-transform:scale(.75);transform:scale(.75)}.el-table--enable-row-transition .el-table__body td.el-table__cell{-webkit-transition:background-color .25s ease;transition:background-color .25s ease}.el-table--enable-row-hover .el-table__body tr:hover>td.el-table__cell{background-color:#f5f7fa}.el-table--fluid-height .el-table__fixed,.el-table--fluid-height .el-table__fixed-right{bottom:0;overflow:hidden}.el-table [class*=el-table__row--level] .el-table__expand-icon{display:inline-block;width:20px;line-height:20px;height:20px;text-align:center;margin-right:3px}.el-checkbox{color:#606266;font-weight:500;font-size:14px;position:relative;cursor:pointer;display:inline-block;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;margin-right:30px}.el-checkbox.is-bordered{padding:9px 20px 9px 10px;border-radius:4px;border:1px solid #dcdfe6;-webkit-box-sizing:border-box;box-sizing:border-box;line-height:normal;height:40px}.el-checkbox.is-bordered.is-checked{border-color:#00873c}.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{white-space:nowrap;cursor:pointer;outline:0;display:inline-block;line-height:1;position:relative;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-disabled+span.el-checkbox__label{color:#c0c4cc;cursor:not-allowed}.el-checkbox__input.is-checked .el-checkbox__inner{background-color:#00873c;border-color:#00873c}.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:#00873c}.el-checkbox__input.is-focus .el-checkbox__inner{border-color:#00873c}.el-checkbox__input.is-indeterminate .el-checkbox__inner{background-color:#00873c;border-color:#00873c}.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:#00873c}.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__label{display:inline-block;padding-left:10px;line-height:19px;font-size:14px}.el-checkbox:last-of-type{margin-right:0}.el-checkbox-button{position:relative;display:inline-block}.el-checkbox-button__inner{display:inline-block;line-height:1;font-weight:500;white-space:nowrap;vertical-align:middle;cursor:pointer;background:#fff;border:1px solid #dcdfe6;border-left:0;color:#606266;-webkit-appearance:none;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box;outline:0;margin:0;position:relative;-webkit-transition:all .3s cubic-bezier(.645, .045, .355, 1);transition:all .3s cubic-bezier(.645, .045, .355, 1);-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;padding:12px 20px;font-size:14px;border-radius:0}.el-checkbox-button__inner.is-round{padding:12px 20px}.el-checkbox-button__inner:hover{color:#00873c}.el-checkbox-button__inner [class*=el-icon-]{line-height:.9}.el-checkbox-button__inner [class*=el-icon-]+span{margin-left:5px}.el-checkbox-button__original{opacity:0;outline:0;position:absolute;margin:0;z-index:-1}.el-checkbox-button.is-checked .el-checkbox-button__inner{color:#fff;background-color:#00873c;border-color:#00873c;-webkit-box-shadow:-1px 0 0 0 #66b78a;box-shadow:-1px 0 0 0 #66b78a}.el-checkbox-button.is-checked:first-child .el-checkbox-button__inner{border-left-color:#00873c}.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:#00873c}.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-tag{background-color:#e6f3ec;border-color:#cce7d8;color:#00873c;display:inline-block;height:32px;padding:0 10px;line-height:30px;font-size:12px;color:#00873c;border-width:1px;border-style:solid;border-radius:4px;-webkit-box-sizing:border-box;box-sizing:border-box;white-space:nowrap}.el-tag.is-hit{border-color:#00873c}.el-tag .el-tag__close{color:#00873c}.el-tag .el-tag__close:hover{color:#fff;background-color:#00873c}.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:#00873c;border-color:#00873c;color:#fff}.el-tag--dark.is-hit{border-color:#00873c}.el-tag--dark .el-tag__close{color:#fff}.el-tag--dark .el-tag__close:hover{color:#fff;background-color:#339f63}.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:#99cfb1;color:#00873c}.el-tag--plain.is-hit{border-color:#00873c}.el-tag--plain .el-tag__close{color:#00873c}.el-tag--plain .el-tag__close:hover{color:#fff;background-color:#00873c}.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-table-column--selection .cell{padding-left:14px;padding-right:14px}.el-table-filter{border:solid 1px #ebeef5;border-radius:2px;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:2px 0}.el-table-filter__list{padding:5px 0;margin:0;list-style:none;min-width:100px}.el-table-filter__list-item{line-height:36px;padding:0 10px;cursor:pointer;font-size:14px}.el-table-filter__list-item:hover{background-color:#e6f3ec;color:#339f63}.el-table-filter__list-item.is-active{background-color:#00873c;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-table-filter__bottom button:hover{color:#00873c}.el-table-filter__bottom button:focus{outline:0}.el-table-filter__bottom button.is-disabled{color:#c0c4cc;cursor:not-allowed}.el-table-filter__wrap{max-height:280px}.el-table-filter__checkbox-group{padding:10px}.el-table-filter__checkbox-group label.el-checkbox{display:block;margin-right:5px;margin-bottom:8px;margin-left:5px}.el-table-filter__checkbox-group .el-checkbox:last-child{margin-bottom:0}.el-date-table{font-size:12px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.el-date-table.is-week-mode .el-date-table__row:hover div{background-color:#f2f6fc}.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.is-week-mode .el-date-table__row.current div{background-color:#f2f6fc}.el-date-table td{width:32px;height:30px;padding:4px 0;-webkit-box-sizing:border-box;box-sizing:border-box;text-align:center;cursor:pointer;position:relative}.el-date-table td div{height:30px;padding:3px 0;-webkit-box-sizing:border-box;box-sizing:border-box}.el-date-table td span{width:24px;height:24px;display:block;margin:0 auto;line-height:24px;position:absolute;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%);border-radius:50%}.el-date-table td.next-month,.el-date-table td.prev-month{color:#c0c4cc}.el-date-table td.today{position:relative}.el-date-table td.today span{color:#00873c;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:#00873c}.el-date-table td.in-range div{background-color:#f2f6fc}.el-date-table td.in-range div:hover{background-color:#f2f6fc}.el-date-table td.current:not(.disabled) span{color:#fff;background-color:#00873c}.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:#00873c}.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:#00873c;color:#fff;border-radius:15px}.el-date-table td.week{font-size:80%;color:#606266}.el-date-table th{padding:5px;color:#606266;font-weight:400;border-bottom:solid 1px #ebeef5}.el-month-table{font-size:12px;margin:-1px;border-collapse:collapse}.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:#00873c;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:#00873c}.el-month-table td.in-range div{background-color:#f2f6fc}.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:#00873c}.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:#00873c}.el-year-table{font-size:12px;margin:-1px;border-collapse:collapse}.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:#00873c;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{color:#00873c}.el-year-table td.current:not(.disabled) .cell{color:#00873c}.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__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:#00873c}.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__input.el-input .el-input__inner{padding:0;text-align:center}.el-time-spinner__list{padding:0;margin:0;list-style:none;text-align:center}.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}.fade-in-linear-enter-active,.fade-in-linear-leave-active{-webkit-transition:opacity .2s linear;transition:opacity .2s linear}.fade-in-linear-enter,.fade-in-linear-leave,.fade-in-linear-leave-active{opacity:0}.el-fade-in-linear-enter-active,.el-fade-in-linear-leave-active{-webkit-transition:opacity .2s linear;transition:opacity .2s linear}.el-fade-in-linear-enter,.el-fade-in-linear-leave,.el-fade-in-linear-leave-active{opacity:0}.el-fade-in-enter-active,.el-fade-in-leave-active{-webkit-transition:all .3s cubic-bezier(.55, 0, .1, 1);transition:all .3s cubic-bezier(.55, 0, .1, 1)}.el-fade-in-enter,.el-fade-in-leave-active{opacity:0}.el-zoom-in-center-enter-active,.el-zoom-in-center-leave-active{-webkit-transition:all .3s cubic-bezier(.55, 0, .1, 1);transition:all .3s cubic-bezier(.55, 0, .1, 1)}.el-zoom-in-center-enter,.el-zoom-in-center-leave-active{opacity:0;-webkit-transform:scaleX(0);transform:scaleX(0)}.el-zoom-in-top-enter-active,.el-zoom-in-top-leave-active{opacity:1;-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transition:opacity .3s cubic-bezier(.23, 1, .32, 1),-webkit-transform .3s cubic-bezier(.23, 1, .32, 1);transition:opacity .3s cubic-bezier(.23, 1, .32, 1),-webkit-transform .3s cubic-bezier(.23, 1, .32, 1);transition:transform .3s cubic-bezier(.23, 1, .32, 1),opacity .3s cubic-bezier(.23, 1, .32, 1);transition:transform .3s cubic-bezier(.23, 1, .32, 1),opacity .3s cubic-bezier(.23, 1, .32, 1),-webkit-transform .3s cubic-bezier(.23, 1, .32, 1);-webkit-transform-origin:center top;transform-origin:center top}.el-zoom-in-top-enter,.el-zoom-in-top-leave-active{opacity:0;-webkit-transform:scaleY(0);transform:scaleY(0)}.el-zoom-in-bottom-enter-active,.el-zoom-in-bottom-leave-active{opacity:1;-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transition:opacity .3s cubic-bezier(.23, 1, .32, 1),-webkit-transform .3s cubic-bezier(.23, 1, .32, 1);transition:opacity .3s cubic-bezier(.23, 1, .32, 1),-webkit-transform .3s cubic-bezier(.23, 1, .32, 1);transition:transform .3s cubic-bezier(.23, 1, .32, 1),opacity .3s cubic-bezier(.23, 1, .32, 1);transition:transform .3s cubic-bezier(.23, 1, .32, 1),opacity .3s cubic-bezier(.23, 1, .32, 1),-webkit-transform .3s cubic-bezier(.23, 1, .32, 1);-webkit-transform-origin:center bottom;transform-origin:center bottom}.el-zoom-in-bottom-enter,.el-zoom-in-bottom-leave-active{opacity:0;-webkit-transform:scaleY(0);transform:scaleY(0)}.el-zoom-in-left-enter-active,.el-zoom-in-left-leave-active{opacity:1;-webkit-transform:scale(1,1);transform:scale(1,1);-webkit-transition:opacity .3s cubic-bezier(.23, 1, .32, 1),-webkit-transform .3s cubic-bezier(.23, 1, .32, 1);transition:opacity .3s cubic-bezier(.23, 1, .32, 1),-webkit-transform .3s cubic-bezier(.23, 1, .32, 1);transition:transform .3s cubic-bezier(.23, 1, .32, 1),opacity .3s cubic-bezier(.23, 1, .32, 1);transition:transform .3s cubic-bezier(.23, 1, .32, 1),opacity .3s cubic-bezier(.23, 1, .32, 1),-webkit-transform .3s cubic-bezier(.23, 1, .32, 1);-webkit-transform-origin:top left;transform-origin:top left}.el-zoom-in-left-enter,.el-zoom-in-left-leave-active{opacity:0;-webkit-transform:scale(.45,.45);transform:scale(.45,.45)}.collapse-transition{-webkit-transition:.3s height ease-in-out,.3s padding-top ease-in-out,.3s padding-bottom ease-in-out;transition:.3s height ease-in-out,.3s padding-top ease-in-out,.3s padding-bottom ease-in-out}.horizontal-collapse-transition{-webkit-transition:.3s width ease-in-out,.3s padding-left ease-in-out,.3s padding-right ease-in-out;transition:.3s width ease-in-out,.3s padding-left ease-in-out,.3s padding-right ease-in-out}.el-list-enter-active,.el-list-leave-active{-webkit-transition:all 1s;transition:all 1s}.el-list-enter,.el-list-leave-active{opacity:0;-webkit-transform:translateY(-30px);transform:translateY(-30px)}.el-opacity-transition{-webkit-transition:opacity .3s cubic-bezier(.55, 0, .1, 1);transition:opacity .3s cubic-bezier(.55, 0, .1, 1)}.el-date-editor{position:relative;display:inline-block;text-align:left}.el-date-editor.el-input,.el-date-editor.el-input__inner{width:220px}.el-date-editor--monthrange.el-input,.el-date-editor--monthrange.el-input__inner{width:300px}.el-date-editor--daterange.el-input,.el-date-editor--daterange.el-input__inner,.el-date-editor--timerange.el-input,.el-date-editor--timerange.el-input__inner{width:350px}.el-date-editor--datetimerange.el-input,.el-date-editor--datetimerange.el-input__inner{width:400px}.el-date-editor--dates .el-input__inner{text-overflow:ellipsis;white-space:nowrap}.el-date-editor .el-icon-circle-close{cursor:pointer}.el-date-editor .el-range__icon{font-size:14px;margin-left:-5px;color:#c0c4cc;float:left;line-height:32px}.el-date-editor .el-range-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;outline:0;display:inline-block;height:100%;margin:0;padding:0;width:39%;text-align:center;font-size:14px;color:#606266}.el-date-editor .el-range-input::-webkit-input-placeholder{color:#c0c4cc}.el-date-editor .el-range-input::-moz-placeholder{color:#c0c4cc}.el-date-editor .el-range-input::-ms-input-placeholder{color:#c0c4cc}.el-date-editor .el-range-input::placeholder{color:#c0c4cc}.el-date-editor .el-range-separator{display:inline-block;height:100%;padding:0 5px;margin:0;text-align:center;line-height:32px;font-size:14px;width:5%;color:#303133}.el-date-editor .el-range__close-icon{font-size:14px;color:#c0c4cc;width:25px;display:inline-block;float:right;line-height:32px}.el-range-editor.el-input__inner{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:3px 10px}.el-range-editor .el-range-input{line-height:1}.el-range-editor.is-active{border-color:#00873c}.el-range-editor.is-active:hover{border-color:#00873c}.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::-moz-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;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1);background:#fff;border-radius:4px;line-height:30px;margin:5px 0}.el-picker-panel__body-wrapper::after,.el-picker-panel__body::after{content:"";display:table;clear:both}.el-picker-panel__content{position:relative;margin:15px}.el-picker-panel__footer{border-top:1px solid #e4e4e4;padding:4px;text-align:right;background-color:#fff;position:relative;font-size:0}.el-picker-panel__shortcut{display:block;width:100%;border:0;background-color:transparent;line-height:28px;font-size:14px;color:#606266;padding-left:12px;text-align:left;outline:0;cursor:pointer}.el-picker-panel__shortcut:hover{color:#00873c}.el-picker-panel__shortcut.active{background-color:#e6f1fe;color:#00873c}.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:#00873c}.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-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 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:hover{color:#00873c}.el-date-picker__header-label.active{color:#00873c}.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}.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 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-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-time-panel{margin:5px 0;border:solid 1px #e4e7ed;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);border-radius:2px;position:absolute;width:180px;left:0;z-index:1000;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-box-sizing:content-box;box-sizing:content-box}.el-time-panel__content{font-size:0;position:relative;overflow:hidden}.el-time-panel__content::after,.el-time-panel__content::before{content:"";top:50%;position:absolute;margin-top:-15px;height:32px;z-index:-1;left:0;right:0;-webkit-box-sizing:border-box;box-sizing:border-box;padding-top:6px;text-align:left;border-top:1px solid #e4e7ed;border-bottom:1px solid #e4e7ed}.el-time-panel__content::after{left:50%;margin-left:12%;margin-right:12%}.el-time-panel__content::before{padding-left:50%;margin-right:12%;margin-left:12%}.el-time-panel__content.has-seconds::after{left:calc(100% / 3 * 2)}.el-time-panel__content.has-seconds::before{padding-left:calc(100% / 3)}.el-time-panel__footer{border-top:1px solid #e4e4e4;padding:4px;height:36px;line-height:25px;text-align:right;-webkit-box-sizing:border-box;box-sizing:border-box}.el-time-panel__btn{border:none;line-height:28px;padding:0 5px;margin:0 5px;cursor:pointer;background-color:transparent;outline:0;font-size:12px;color:#303133}.el-time-panel__btn.confirm{font-weight:800;color:#00873c}.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::-moz-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:#00873c}.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::-moz-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__inner::-ms-reveal{display:none}.el-input__inner::-webkit-input-placeholder{color:#c0c4cc}.el-input__inner::-moz-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__inner:focus{outline:0;border-color:#00873c}.el-input__suffix{position:absolute;height:100%;right:5px;top:0;text-align:center;color:#c0c4cc;-webkit-transition:all .3s;transition:all .3s;pointer-events:none}.el-input__suffix-inner{pointer-events:all}.el-input__prefix{position:absolute;height:100%;left:5px;top:0;text-align:center;color:#c0c4cc;-webkit-transition:all .3s;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-active .el-input__inner{outline:0;border-color:#00873c}.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::-moz-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-input.is-exceed .el-input__inner{border-color:#f56c6c}.el-input.is-exceed .el-input__suffix .el-input__count{color:#f56c6c}.el-input--suffix .el-input__inner{padding-right:30px}.el-input--prefix .el-input__inner{padding-left:30px}.el-input--medium{font-size:14px}.el-input--medium .el-input__inner{height:36px;line-height:36px}.el-input--medium .el-input__icon{line-height:36px}.el-input--small{font-size:13px}.el-input--small .el-input__inner{height:32px;line-height:32px}.el-input--small .el-input__icon{line-height:32px}.el-input--mini{font-size:12px}.el-input--mini .el-input__inner{height:28px;line-height:28px}.el-input--mini .el-input__icon{line-height:28px}.el-input-group{line-height:normal;display:inline-table;width:100%;border-collapse:separate;border-spacing:0}.el-input-group>.el-input__inner{vertical-align:middle;display:table-cell}.el-input-group__append,.el-input-group__prepend{background-color:#f5f7fa;color:#909399;vertical-align:middle;display:table-cell;position:relative;border:1px solid #dcdfe6;border-radius:4px;padding:0 20px;width:1px;white-space:nowrap}.el-input-group__append: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;border-top-right-radius:0;border-bottom-right-radius:0}.el-input-group__append{border-left:0;border-top-left-radius:0;border-bottom-left-radius:0}.el-input-group--prepend .el-input__inner{border-top-left-radius:0;border-bottom-left-radius:0}.el-input-group--prepend .el-select .el-input.is-focus .el-input__inner{border-color:transparent}.el-input-group--append .el-input__inner{border-top-right-radius:0;border-bottom-right-radius:0}.el-input-group--append .el-select .el-input.is-focus .el-input__inner{border-color:transparent}.el-input__inner::-ms-clear{display:none;width:0;height:0}.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-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,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}.fade-in-linear-enter-active,.fade-in-linear-leave-active{-webkit-transition:opacity .2s linear;transition:opacity .2s linear}.fade-in-linear-enter,.fade-in-linear-leave,.fade-in-linear-leave-active{opacity:0}.el-fade-in-linear-enter-active,.el-fade-in-linear-leave-active{-webkit-transition:opacity .2s linear;transition:opacity .2s linear}.el-fade-in-linear-enter,.el-fade-in-linear-leave,.el-fade-in-linear-leave-active{opacity:0}.el-fade-in-enter-active,.el-fade-in-leave-active{-webkit-transition:all .3s cubic-bezier(.55, 0, .1, 1);transition:all .3s cubic-bezier(.55, 0, .1, 1)}.el-fade-in-enter,.el-fade-in-leave-active{opacity:0}.el-zoom-in-center-enter-active,.el-zoom-in-center-leave-active{-webkit-transition:all .3s cubic-bezier(.55, 0, .1, 1);transition:all .3s cubic-bezier(.55, 0, .1, 1)}.el-zoom-in-center-enter,.el-zoom-in-center-leave-active{opacity:0;-webkit-transform:scaleX(0);transform:scaleX(0)}.el-zoom-in-top-enter-active,.el-zoom-in-top-leave-active{opacity:1;-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transition:opacity .3s cubic-bezier(.23, 1, .32, 1),-webkit-transform .3s cubic-bezier(.23, 1, .32, 1);transition:opacity .3s cubic-bezier(.23, 1, .32, 1),-webkit-transform .3s cubic-bezier(.23, 1, .32, 1);transition:transform .3s cubic-bezier(.23, 1, .32, 1),opacity .3s cubic-bezier(.23, 1, .32, 1);transition:transform .3s cubic-bezier(.23, 1, .32, 1),opacity .3s cubic-bezier(.23, 1, .32, 1),-webkit-transform .3s cubic-bezier(.23, 1, .32, 1);-webkit-transform-origin:center top;transform-origin:center top}.el-zoom-in-top-enter,.el-zoom-in-top-leave-active{opacity:0;-webkit-transform:scaleY(0);transform:scaleY(0)}.el-zoom-in-bottom-enter-active,.el-zoom-in-bottom-leave-active{opacity:1;-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transition:opacity .3s cubic-bezier(.23, 1, .32, 1),-webkit-transform .3s cubic-bezier(.23, 1, .32, 1);transition:opacity .3s cubic-bezier(.23, 1, .32, 1),-webkit-transform .3s cubic-bezier(.23, 1, .32, 1);transition:transform .3s cubic-bezier(.23, 1, .32, 1),opacity .3s cubic-bezier(.23, 1, .32, 1);transition:transform .3s cubic-bezier(.23, 1, .32, 1),opacity .3s cubic-bezier(.23, 1, .32, 1),-webkit-transform .3s cubic-bezier(.23, 1, .32, 1);-webkit-transform-origin:center bottom;transform-origin:center bottom}.el-zoom-in-bottom-enter,.el-zoom-in-bottom-leave-active{opacity:0;-webkit-transform:scaleY(0);transform:scaleY(0)}.el-zoom-in-left-enter-active,.el-zoom-in-left-leave-active{opacity:1;-webkit-transform:scale(1,1);transform:scale(1,1);-webkit-transition:opacity .3s cubic-bezier(.23, 1, .32, 1),-webkit-transform .3s cubic-bezier(.23, 1, .32, 1);transition:opacity .3s cubic-bezier(.23, 1, .32, 1),-webkit-transform .3s cubic-bezier(.23, 1, .32, 1);transition:transform .3s cubic-bezier(.23, 1, .32, 1),opacity .3s cubic-bezier(.23, 1, .32, 1);transition:transform .3s cubic-bezier(.23, 1, .32, 1),opacity .3s cubic-bezier(.23, 1, .32, 1),-webkit-transform .3s cubic-bezier(.23, 1, .32, 1);-webkit-transform-origin:top left;transform-origin:top left}.el-zoom-in-left-enter,.el-zoom-in-left-leave-active{opacity:0;-webkit-transform:scale(.45,.45);transform:scale(.45,.45)}.collapse-transition{-webkit-transition:.3s height ease-in-out,.3s padding-top ease-in-out,.3s padding-bottom ease-in-out;transition:.3s height ease-in-out,.3s padding-top ease-in-out,.3s padding-bottom ease-in-out}.horizontal-collapse-transition{-webkit-transition:.3s width ease-in-out,.3s padding-left ease-in-out,.3s padding-right ease-in-out;transition:.3s width ease-in-out,.3s padding-left ease-in-out,.3s padding-right ease-in-out}.el-list-enter-active,.el-list-leave-active{-webkit-transition:all 1s;transition:all 1s}.el-list-enter,.el-list-leave-active{opacity:0;-webkit-transform:translateY(-30px);transform:translateY(-30px)}.el-opacity-transition{-webkit-transition:opacity .3s cubic-bezier(.55, 0, .1, 1);transition:opacity .3s cubic-bezier(.55, 0, .1, 1)}.el-date-editor{position:relative;display:inline-block;text-align:left}.el-date-editor.el-input,.el-date-editor.el-input__inner{width:220px}.el-date-editor--monthrange.el-input,.el-date-editor--monthrange.el-input__inner{width:300px}.el-date-editor--daterange.el-input,.el-date-editor--daterange.el-input__inner,.el-date-editor--timerange.el-input,.el-date-editor--timerange.el-input__inner{width:350px}.el-date-editor--datetimerange.el-input,.el-date-editor--datetimerange.el-input__inner{width:400px}.el-date-editor--dates .el-input__inner{text-overflow:ellipsis;white-space:nowrap}.el-date-editor .el-icon-circle-close{cursor:pointer}.el-date-editor .el-range__icon{font-size:14px;margin-left:-5px;color:#c0c4cc;float:left;line-height:32px}.el-date-editor .el-range-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;outline:0;display:inline-block;height:100%;margin:0;padding:0;width:39%;text-align:center;font-size:14px;color:#606266}.el-date-editor .el-range-input::-webkit-input-placeholder{color:#c0c4cc}.el-date-editor .el-range-input::-moz-placeholder{color:#c0c4cc}.el-date-editor .el-range-input::-ms-input-placeholder{color:#c0c4cc}.el-date-editor .el-range-input::placeholder{color:#c0c4cc}.el-date-editor .el-range-separator{display:inline-block;height:100%;padding:0 5px;margin:0;text-align:center;line-height:32px;font-size:14px;width:5%;color:#303133}.el-date-editor .el-range__close-icon{font-size:14px;color:#c0c4cc;width:25px;display:inline-block;float:right;line-height:32px}.el-range-editor.el-input__inner{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:3px 10px}.el-range-editor .el-range-input{line-height:1}.el-range-editor.is-active{border-color:#00873c}.el-range-editor.is-active:hover{border-color:#00873c}.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::-moz-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;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1);background:#fff;border-radius:4px;line-height:30px;margin:5px 0}.el-picker-panel__body-wrapper::after,.el-picker-panel__body::after{content:"";display:table;clear:both}.el-picker-panel__content{position:relative;margin:15px}.el-picker-panel__footer{border-top:1px solid #e4e4e4;padding:4px;text-align:right;background-color:#fff;position:relative;font-size:0}.el-picker-panel__shortcut{display:block;width:100%;border:0;background-color:transparent;line-height:28px;font-size:14px;color:#606266;padding-left:12px;text-align:left;outline:0;cursor:pointer}.el-picker-panel__shortcut:hover{color:#00873c}.el-picker-panel__shortcut.active{background-color:#e6f1fe;color:#00873c}.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:#00873c}.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-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 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:hover{color:#00873c}.el-date-picker__header-label.active{color:#00873c}.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}.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-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,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}.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:#00873c;font-weight:700}.time-select-item.disabled{color:#e4e7ed;cursor:not-allowed}.time-select-item:hover{background-color:#f5f7fa;font-weight:700;cursor:pointer}.fade-in-linear-enter-active,.fade-in-linear-leave-active{-webkit-transition:opacity .2s linear;transition:opacity .2s linear}.fade-in-linear-enter,.fade-in-linear-leave,.fade-in-linear-leave-active{opacity:0}.el-fade-in-linear-enter-active,.el-fade-in-linear-leave-active{-webkit-transition:opacity .2s linear;transition:opacity .2s linear}.el-fade-in-linear-enter,.el-fade-in-linear-leave,.el-fade-in-linear-leave-active{opacity:0}.el-fade-in-enter-active,.el-fade-in-leave-active{-webkit-transition:all .3s cubic-bezier(.55, 0, .1, 1);transition:all .3s cubic-bezier(.55, 0, .1, 1)}.el-fade-in-enter,.el-fade-in-leave-active{opacity:0}.el-zoom-in-center-enter-active,.el-zoom-in-center-leave-active{-webkit-transition:all .3s cubic-bezier(.55, 0, .1, 1);transition:all .3s cubic-bezier(.55, 0, .1, 1)}.el-zoom-in-center-enter,.el-zoom-in-center-leave-active{opacity:0;-webkit-transform:scaleX(0);transform:scaleX(0)}.el-zoom-in-top-enter-active,.el-zoom-in-top-leave-active{opacity:1;-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transition:opacity .3s cubic-bezier(.23, 1, .32, 1),-webkit-transform .3s cubic-bezier(.23, 1, .32, 1);transition:opacity .3s cubic-bezier(.23, 1, .32, 1),-webkit-transform .3s cubic-bezier(.23, 1, .32, 1);transition:transform .3s cubic-bezier(.23, 1, .32, 1),opacity .3s cubic-bezier(.23, 1, .32, 1);transition:transform .3s cubic-bezier(.23, 1, .32, 1),opacity .3s cubic-bezier(.23, 1, .32, 1),-webkit-transform .3s cubic-bezier(.23, 1, .32, 1);-webkit-transform-origin:center top;transform-origin:center top}.el-zoom-in-top-enter,.el-zoom-in-top-leave-active{opacity:0;-webkit-transform:scaleY(0);transform:scaleY(0)}.el-zoom-in-bottom-enter-active,.el-zoom-in-bottom-leave-active{opacity:1;-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transition:opacity .3s cubic-bezier(.23, 1, .32, 1),-webkit-transform .3s cubic-bezier(.23, 1, .32, 1);transition:opacity .3s cubic-bezier(.23, 1, .32, 1),-webkit-transform .3s cubic-bezier(.23, 1, .32, 1);transition:transform .3s cubic-bezier(.23, 1, .32, 1),opacity .3s cubic-bezier(.23, 1, .32, 1);transition:transform .3s cubic-bezier(.23, 1, .32, 1),opacity .3s cubic-bezier(.23, 1, .32, 1),-webkit-transform .3s cubic-bezier(.23, 1, .32, 1);-webkit-transform-origin:center bottom;transform-origin:center bottom}.el-zoom-in-bottom-enter,.el-zoom-in-bottom-leave-active{opacity:0;-webkit-transform:scaleY(0);transform:scaleY(0)}.el-zoom-in-left-enter-active,.el-zoom-in-left-leave-active{opacity:1;-webkit-transform:scale(1,1);transform:scale(1,1);-webkit-transition:opacity .3s cubic-bezier(.23, 1, .32, 1),-webkit-transform .3s cubic-bezier(.23, 1, .32, 1);transition:opacity .3s cubic-bezier(.23, 1, .32, 1),-webkit-transform .3s cubic-bezier(.23, 1, .32, 1);transition:transform .3s cubic-bezier(.23, 1, .32, 1),opacity .3s cubic-bezier(.23, 1, .32, 1);transition:transform .3s cubic-bezier(.23, 1, .32, 1),opacity .3s cubic-bezier(.23, 1, .32, 1),-webkit-transform .3s cubic-bezier(.23, 1, .32, 1);-webkit-transform-origin:top left;transform-origin:top left}.el-zoom-in-left-enter,.el-zoom-in-left-leave-active{opacity:0;-webkit-transform:scale(.45,.45);transform:scale(.45,.45)}.collapse-transition{-webkit-transition:.3s height ease-in-out,.3s padding-top ease-in-out,.3s padding-bottom ease-in-out;transition:.3s height ease-in-out,.3s padding-top ease-in-out,.3s padding-bottom ease-in-out}.horizontal-collapse-transition{-webkit-transition:.3s width ease-in-out,.3s padding-left ease-in-out,.3s padding-right ease-in-out;transition:.3s width ease-in-out,.3s padding-left ease-in-out,.3s padding-right ease-in-out}.el-list-enter-active,.el-list-leave-active{-webkit-transition:all 1s;transition:all 1s}.el-list-enter,.el-list-leave-active{opacity:0;-webkit-transform:translateY(-30px);transform:translateY(-30px)}.el-opacity-transition{-webkit-transition:opacity .3s cubic-bezier(.55, 0, .1, 1);transition:opacity .3s cubic-bezier(.55, 0, .1, 1)}.el-date-editor{position:relative;display:inline-block;text-align:left}.el-date-editor.el-input,.el-date-editor.el-input__inner{width:220px}.el-date-editor--monthrange.el-input,.el-date-editor--monthrange.el-input__inner{width:300px}.el-date-editor--daterange.el-input,.el-date-editor--daterange.el-input__inner,.el-date-editor--timerange.el-input,.el-date-editor--timerange.el-input__inner{width:350px}.el-date-editor--datetimerange.el-input,.el-date-editor--datetimerange.el-input__inner{width:400px}.el-date-editor--dates .el-input__inner{text-overflow:ellipsis;white-space:nowrap}.el-date-editor .el-icon-circle-close{cursor:pointer}.el-date-editor .el-range__icon{font-size:14px;margin-left:-5px;color:#c0c4cc;float:left;line-height:32px}.el-date-editor .el-range-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;outline:0;display:inline-block;height:100%;margin:0;padding:0;width:39%;text-align:center;font-size:14px;color:#606266}.el-date-editor .el-range-input::-webkit-input-placeholder{color:#c0c4cc}.el-date-editor .el-range-input::-moz-placeholder{color:#c0c4cc}.el-date-editor .el-range-input::-ms-input-placeholder{color:#c0c4cc}.el-date-editor .el-range-input::placeholder{color:#c0c4cc}.el-date-editor .el-range-separator{display:inline-block;height:100%;padding:0 5px;margin:0;text-align:center;line-height:32px;font-size:14px;width:5%;color:#303133}.el-date-editor .el-range__close-icon{font-size:14px;color:#c0c4cc;width:25px;display:inline-block;float:right;line-height:32px}.el-range-editor.el-input__inner{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:3px 10px}.el-range-editor .el-range-input{line-height:1}.el-range-editor.is-active{border-color:#00873c}.el-range-editor.is-active:hover{border-color:#00873c}.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::-moz-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;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1);background:#fff;border-radius:4px;line-height:30px;margin:5px 0}.el-picker-panel__body-wrapper::after,.el-picker-panel__body::after{content:"";display:table;clear:both}.el-picker-panel__content{position:relative;margin:15px}.el-picker-panel__footer{border-top:1px solid #e4e4e4;padding:4px;text-align:right;background-color:#fff;position:relative;font-size:0}.el-picker-panel__shortcut{display:block;width:100%;border:0;background-color:transparent;line-height:28px;font-size:14px;color:#606266;padding-left:12px;text-align:left;outline:0;cursor:pointer}.el-picker-panel__shortcut:hover{color:#00873c}.el-picker-panel__shortcut.active{background-color:#e6f1fe;color:#00873c}.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:#00873c}.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__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:#00873c}.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__input.el-input .el-input__inner{padding:0;text-align:center}.el-time-spinner__list{padding:0;margin:0;list-style:none;text-align:center}.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:solid 1px #e4e7ed;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);border-radius:2px;position:absolute;width:180px;left:0;z-index:1000;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-box-sizing:content-box;box-sizing:content-box}.el-time-panel__content{font-size:0;position:relative;overflow:hidden}.el-time-panel__content::after,.el-time-panel__content::before{content:"";top:50%;position:absolute;margin-top:-15px;height:32px;z-index:-1;left:0;right:0;-webkit-box-sizing:border-box;box-sizing:border-box;padding-top:6px;text-align:left;border-top:1px solid #e4e7ed;border-bottom:1px solid #e4e7ed}.el-time-panel__content::after{left:50%;margin-left:12%;margin-right:12%}.el-time-panel__content::before{padding-left:50%;margin-right:12%;margin-left:12%}.el-time-panel__content.has-seconds::after{left:calc(100% / 3 * 2)}.el-time-panel__content.has-seconds::before{padding-left:calc(100% / 3)}.el-time-panel__footer{border-top:1px solid #e4e4e4;padding:4px;height:36px;line-height:25px;text-align:right;-webkit-box-sizing:border-box;box-sizing:border-box}.el-time-panel__btn{border:none;line-height:28px;padding:0 5px;margin:0 5px;cursor:pointer;background-color:transparent;outline:0;font-size:12px;color:#303133}.el-time-panel__btn.confirm{font-weight:800;color:#00873c}.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-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::-moz-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:#00873c}.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::-moz-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__inner::-ms-reveal{display:none}.el-input__inner::-webkit-input-placeholder{color:#c0c4cc}.el-input__inner::-moz-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__inner:focus{outline:0;border-color:#00873c}.el-input__suffix{position:absolute;height:100%;right:5px;top:0;text-align:center;color:#c0c4cc;-webkit-transition:all .3s;transition:all .3s;pointer-events:none}.el-input__suffix-inner{pointer-events:all}.el-input__prefix{position:absolute;height:100%;left:5px;top:0;text-align:center;color:#c0c4cc;-webkit-transition:all .3s;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-active .el-input__inner{outline:0;border-color:#00873c}.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::-moz-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-input.is-exceed .el-input__inner{border-color:#f56c6c}.el-input.is-exceed .el-input__suffix .el-input__count{color:#f56c6c}.el-input--suffix .el-input__inner{padding-right:30px}.el-input--prefix .el-input__inner{padding-left:30px}.el-input--medium{font-size:14px}.el-input--medium .el-input__inner{height:36px;line-height:36px}.el-input--medium .el-input__icon{line-height:36px}.el-input--small{font-size:13px}.el-input--small .el-input__inner{height:32px;line-height:32px}.el-input--small .el-input__icon{line-height:32px}.el-input--mini{font-size:12px}.el-input--mini .el-input__inner{height:28px;line-height:28px}.el-input--mini .el-input__icon{line-height:28px}.el-input-group{line-height:normal;display:inline-table;width:100%;border-collapse:separate;border-spacing:0}.el-input-group>.el-input__inner{vertical-align:middle;display:table-cell}.el-input-group__append,.el-input-group__prepend{background-color:#f5f7fa;color:#909399;vertical-align:middle;display:table-cell;position:relative;border:1px solid #dcdfe6;border-radius:4px;padding:0 20px;width:1px;white-space:nowrap}.el-input-group__append: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;border-top-right-radius:0;border-bottom-right-radius:0}.el-input-group__append{border-left:0;border-top-left-radius:0;border-bottom-left-radius:0}.el-input-group--prepend .el-input__inner{border-top-left-radius:0;border-bottom-left-radius:0}.el-input-group--prepend .el-select .el-input.is-focus .el-input__inner{border-color:transparent}.el-input-group--append .el-input__inner{border-top-right-radius:0;border-bottom-right-radius:0}.el-input-group--append .el-select .el-input.is-focus .el-input__inner{border-color:transparent}.el-input__inner::-ms-clear{display:none;width:0;height:0}.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-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,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-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,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-popover{position:absolute;background:#fff;min-width:150px;border-radius:4px;border:1px solid #ebeef5;padding:12px;z-index:2000;color:#606266;line-height:1.4;text-align:justify;font-size:14px;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);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}.el-popover__reference:focus:hover,.el-popover__reference:focus:not(.focusing){outline-width:0}.el-popover:focus,.el-popover:focus:active{outline-width:0}.el-tooltip:focus:hover,.el-tooltip:focus:not(.focusing){outline-width:0}.el-tooltip__popper{position:absolute;border-radius:4px;padding:10px;z-index:2000;font-size:12px;line-height:1.2;min-width:10px;word-wrap:break-word}.el-tooltip__popper .popper__arrow,.el-tooltip__popper .popper__arrow::after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.el-tooltip__popper .popper__arrow{border-width:6px}.el-tooltip__popper .popper__arrow::after{content:" ";border-width:5px}.el-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}.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-button{display:inline-block;line-height:1;white-space:nowrap;cursor:pointer;background:#fff;border:1px solid #dcdfe6;border-color:#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;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;padding:12px 20px;font-size:14px;border-radius:4px}.el-button+.el-button{margin-left:10px}.el-button.is-round{padding:12px 20px}.el-button:focus,.el-button:hover{color:#00873c;border-color:#b3dbc5;background-color:#e6f3ec}.el-button:active{color:#007a36;border-color:#007a36;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:#00873c;color:#00873c}.el-button.is-plain:active{background:#fff;border-color:#007a36;color:#007a36;outline:0}.el-button.is-active{color:#007a36;border-color:#007a36}.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:#00873c;border-color:#00873c}.el-button--primary:focus,.el-button--primary:hover{background:#339f63;border-color:#339f63;color:#fff}.el-button--primary:active{background:#007a36;border-color:#007a36;color:#fff;outline:0}.el-button--primary.is-active{background:#007a36;border-color:#007a36;color:#fff}.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:#80c39e;border-color:#80c39e}.el-button--primary.is-plain{color:#00873c;background:#e6f3ec;border-color:#99cfb1}.el-button--primary.is-plain:focus,.el-button--primary.is-plain:hover{background:#00873c;border-color:#00873c;color:#fff}.el-button--primary.is-plain:active{background:#007a36;border-color:#007a36;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:#66b78a;background-color:#e6f3ec;border-color:#cce7d8}.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:active{background:#5daf34;border-color:#5daf34;color:#fff;outline:0}.el-button--success.is-active{background:#5daf34;border-color:#5daf34;color:#fff}.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:active{background:#cf9236;border-color:#cf9236;color:#fff;outline:0}.el-button--warning.is-active{background:#cf9236;border-color:#cf9236;color:#fff}.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:active{background:#dd6161;border-color:#dd6161;color:#fff;outline:0}.el-button--danger.is-active{background:#dd6161;border-color:#dd6161;color:#fff}.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:active{background:#82848a;border-color:#82848a;color:#fff;outline:0}.el-button--info.is-active{background:#82848a;border-color:#82848a;color:#fff}.el-button--info.is-disabled,.el-button--info.is-disabled:active,.el-button--info.is-disabled:focus,.el-button--info.is-disabled:hover{color:#fff;background-color:#c8c9cc;border-color:#c8c9cc}.el-button--info.is-plain{color:#909399;background:#f4f4f5;border-color:#d3d4d6}.el-button--info.is-plain:focus,.el-button--info.is-plain:hover{background:#909399;border-color:#909399;color:#fff}.el-button--info.is-plain:active{background:#82848a;border-color:#82848a;color:#fff;outline:0}.el-button--info.is-plain.is-disabled,.el-button--info.is-plain.is-disabled:active,.el-button--info.is-plain.is-disabled:focus,.el-button--info.is-plain.is-disabled:hover{color:#bcbec2;background-color:#f4f4f5;border-color:#e9e9eb}.el-button--medium{padding:10px 20px;font-size:14px;border-radius:4px}.el-button--medium.is-round{padding:10px 20px}.el-button--medium.is-circle{padding:10px}.el-button--small{padding:9px 15px;font-size:12px;border-radius:3px}.el-button--small.is-round{padding:9px 15px}.el-button--small.is-circle{padding:9px}.el-button--mini{padding:7px 15px;font-size:12px;border-radius:3px}.el-button--mini.is-round{padding:7px 15px}.el-button--mini.is-circle{padding:7px}.el-button--text{border-color:transparent;color:#00873c;background:0 0;padding-left:0;padding-right:0}.el-button--text:focus,.el-button--text:hover{color:#339f63;border-color:transparent;background-color:transparent}.el-button--text:active{color:#007a36;border-color:transparent;background-color:transparent}.el-button--text.is-disabled,.el-button--text.is-disabled:focus,.el-button--text.is-disabled:hover{border-color:transparent}.el-button-group{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-top-right-radius:4px;border-bottom-right-radius:4px;border-top-left-radius:4px;border-bottom-left-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:not(.is-disabled):active,.el-button-group>.el-button:not(.is-disabled):focus,.el-button-group>.el-button:not(.is-disabled):hover{z-index:1}.el-button-group>.el-button.is-active{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-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::-moz-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:#00873c}.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::-moz-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__inner::-ms-reveal{display:none}.el-input__inner::-webkit-input-placeholder{color:#c0c4cc}.el-input__inner::-moz-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__inner:focus{outline:0;border-color:#00873c}.el-input__suffix{position:absolute;height:100%;right:5px;top:0;text-align:center;color:#c0c4cc;-webkit-transition:all .3s;transition:all .3s;pointer-events:none}.el-input__suffix-inner{pointer-events:all}.el-input__prefix{position:absolute;height:100%;left:5px;top:0;text-align:center;color:#c0c4cc;-webkit-transition:all .3s;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-active .el-input__inner{outline:0;border-color:#00873c}.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::-moz-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-input.is-exceed .el-input__inner{border-color:#f56c6c}.el-input.is-exceed .el-input__suffix .el-input__count{color:#f56c6c}.el-input--suffix .el-input__inner{padding-right:30px}.el-input--prefix .el-input__inner{padding-left:30px}.el-input--medium{font-size:14px}.el-input--medium .el-input__inner{height:36px;line-height:36px}.el-input--medium .el-input__icon{line-height:36px}.el-input--small{font-size:13px}.el-input--small .el-input__inner{height:32px;line-height:32px}.el-input--small .el-input__icon{line-height:32px}.el-input--mini{font-size:12px}.el-input--mini .el-input__inner{height:28px;line-height:28px}.el-input--mini .el-input__icon{line-height:28px}.el-input-group{line-height:normal;display:inline-table;width:100%;border-collapse:separate;border-spacing:0}.el-input-group>.el-input__inner{vertical-align:middle;display:table-cell}.el-input-group__append,.el-input-group__prepend{background-color:#f5f7fa;color:#909399;vertical-align:middle;display:table-cell;position:relative;border:1px solid #dcdfe6;border-radius:4px;padding:0 20px;width:1px;white-space:nowrap}.el-input-group__append: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;border-top-right-radius:0;border-bottom-right-radius:0}.el-input-group__append{border-left:0;border-top-left-radius:0;border-bottom-left-radius:0}.el-input-group--prepend .el-input__inner{border-top-left-radius:0;border-bottom-left-radius:0}.el-input-group--prepend .el-select .el-input.is-focus .el-input__inner{border-color:transparent}.el-input-group--append .el-input__inner{border-top-right-radius:0;border-bottom-right-radius:0}.el-input-group--append .el-select .el-input.is-focus .el-input__inner{border-color:transparent}.el-input__inner::-ms-clear{display:none;width:0;height:0}.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;padding-bottom: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-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:#00873c}.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__input input.invalid{border-color:#f56c6c}.el-message-box__input input.invalid:focus{border-color:#f56c6c}.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:#00873c;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 0}.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 .el-input__validateIcon{display:none}.el-form-item--medium .el-form-item__label{line-height:36px}.el-form-item--medium .el-form-item__content{line-height:36px}.el-form-item--small .el-form-item__label{line-height:32px}.el-form-item--small .el-form-item__content{line-height:32px}.el-form-item--small.el-form-item{margin-bottom:18px}.el-form-item--small .el-form-item__error{padding-top:2px}.el-form-item--mini .el-form-item__label{line-height:28px}.el-form-item--mini .el-form-item__content{line-height:28px}.el-form-item--mini.el-form-item{margin-bottom:18px}.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__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{border-color:#f56c6c}.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:#00873c;z-index:1;-webkit-transition:-webkit-transform .3s cubic-bezier(.645, .045, .355, 1);transition:-webkit-transform .3s cubic-bezier(.645, .045, .355, 1);transition:transform .3s cubic-bezier(.645, .045, .355, 1);transition:transform .3s cubic-bezier(.645, .045, .355, 1),-webkit-transform .3s cubic-bezier(.645, .045, .355, 1);list-style:none}.el-tabs__new-tab{float:right;border:1px solid #d3dce6;height:18px;width:18px;line-height:18px;margin:12px 0 9px 10px;border-radius:3px;text-align:center;font-size:12px;color:#d3dce6;cursor:pointer;-webkit-transition:all .15s;transition:all .15s}.el-tabs__new-tab .el-icon-plus{-webkit-transform:scale(.8,.8);transform:scale(.8,.8)}.el-tabs__new-tab:hover{color:#00873c}.el-tabs__nav-wrap{overflow:hidden;margin-bottom:-1px;position:relative}.el-tabs__nav-wrap::after{content:"";position:absolute;left:0;bottom:0;width:100%;height:2px;background-color:#e4e7ed;z-index:1}.el-tabs__nav-wrap.is-scrollable{padding:0 20px;-webkit-box-sizing:border-box;box-sizing:border-box}.el-tabs__nav-scroll{overflow:hidden}.el-tabs__nav-next,.el-tabs__nav-prev{position:absolute;cursor:pointer;line-height:44px;font-size:12px;color:#909399}.el-tabs__nav-next{right:0}.el-tabs__nav-prev{left:0}.el-tabs__nav{white-space:nowrap;position:relative;-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s;float:left;z-index:2}.el-tabs__nav.is-stretch{min-width:100%;display:-webkit-box;display:-ms-flexbox;display:flex}.el-tabs__nav.is-stretch>*{-webkit-box-flex:1;-ms-flex:1;flex:1;text-align:center}.el-tabs__item{padding:0 20px;height:40px;-webkit-box-sizing:border-box;box-sizing:border-box;line-height:40px;display:inline-block;list-style:none;font-size:14px;font-weight:500;color:#303133;position:relative}.el-tabs__item:focus,.el-tabs__item:focus:active{outline:0}.el-tabs__item:focus.is-active.is-focus:not(:active){-webkit-box-shadow:0 0 2px 2px #00873c inset;box-shadow:0 0 2px 2px #00873c 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:#00873c}.el-tabs__item:hover{color:#00873c;cursor:pointer}.el-tabs__item.is-disabled{color:#c0c4cc;cursor:default}.el-tabs__content{overflow:hidden;position:relative}.el-tabs--card>.el-tabs__header{border-bottom:1px solid #e4e7ed}.el-tabs--card>.el-tabs__header .el-tabs__nav-wrap::after{content:none}.el-tabs--card>.el-tabs__header .el-tabs__nav{border:1px solid #e4e7ed;border-bottom:none;border-radius:4px 4px 0 0;-webkit-box-sizing:border-box;box-sizing:border-box}.el-tabs--card>.el-tabs__header .el-tabs__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{border-bottom:1px solid transparent;border-left:1px solid #e4e7ed;-webkit-transition:color .3s cubic-bezier(.645, .045, .355, 1),padding .3s cubic-bezier(.645, .045, .355, 1);transition:color .3s cubic-bezier(.645, .045, .355, 1),padding .3s cubic-bezier(.645, .045, .355, 1)}.el-tabs--card>.el-tabs__header .el-tabs__item:first-child{border-left:none}.el-tabs--card>.el-tabs__header .el-tabs__item.is-closable:hover{padding-left:13px;padding-right:13px}.el-tabs--card>.el-tabs__header .el-tabs__item.is-closable:hover .el-icon-close{width:14px}.el-tabs--card>.el-tabs__header .el-tabs__item.is-active{border-bottom-color:#fff}.el-tabs--card>.el-tabs__header .el-tabs__item.is-active.is-closable{padding-left:20px;padding-right:20px}.el-tabs--card>.el-tabs__header .el-tabs__item.is-active.is-closable .el-icon-close{width:14px}.el-tabs--border-card{background:#fff;border:1px solid #dcdfe6;-webkit-box-shadow:0 2px 4px 0 rgba(0,0,0,.12),0 0 6px 0 rgba(0,0,0,.04);box-shadow:0 2px 4px 0 rgba(0,0,0,.12),0 0 6px 0 rgba(0,0,0,.04)}.el-tabs--border-card>.el-tabs__content{padding:15px}.el-tabs--border-card>.el-tabs__header{background-color:#f5f7fa;border-bottom:1px solid #e4e7ed;margin:0}.el-tabs--border-card>.el-tabs__header .el-tabs__nav-wrap::after{content:none}.el-tabs--border-card>.el-tabs__header .el-tabs__item{-webkit-transition:all .3s cubic-bezier(.645, .045, .355, 1);transition:all .3s cubic-bezier(.645, .045, .355, 1);border:1px solid transparent;margin-top:-1px;color:#909399}.el-tabs--border-card>.el-tabs__header .el-tabs__item:first-child{margin-left:-1px}.el-tabs--border-card>.el-tabs__header .el-tabs__item+.el-tabs__item{margin-left:-1px}.el-tabs--border-card>.el-tabs__header .el-tabs__item.is-active{color:#00873c;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:#00873c}.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 -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__nav-wrap.is-left.is-scrollable,.el-tabs--left .el-tabs__nav-wrap.is-right.is-scrollable,.el-tabs--right .el-tabs__nav-wrap.is-left.is-scrollable,.el-tabs--right .el-tabs__nav-wrap.is-right.is-scrollable{padding:30px 0}.el-tabs--left .el-tabs__nav-wrap.is-left::after,.el-tabs--left .el-tabs__nav-wrap.is-right::after,.el-tabs--right .el-tabs__nav-wrap.is-left::after,.el-tabs--right .el-tabs__nav-wrap.is-right::after{height:100%;width:2px;bottom:auto;top:0}.el-tabs--left .el-tabs__nav.is-left,.el-tabs--left .el-tabs__nav.is-right,.el-tabs--right .el-tabs__nav.is-left,.el-tabs--right .el-tabs__nav.is-right{float:none}.el-tabs--left .el-tabs__item.is-left,.el-tabs--left .el-tabs__item.is-right,.el-tabs--right .el-tabs__item.is-left,.el-tabs--right .el-tabs__item.is-right{display:block}.el-tabs--left .el-tabs__header.is-left{float:left;margin-bottom:0;margin-right:10px}.el-tabs--left .el-tabs__nav-wrap.is-left{margin-right:-1px}.el-tabs--left .el-tabs__nav-wrap.is-left::after{left:auto;right:0}.el-tabs--left .el-tabs__active-bar.is-left{right:0;left:auto}.el-tabs--left .el-tabs__item.is-left{text-align:right}.el-tabs--left.el-tabs--card .el-tabs__active-bar.is-left{display:none}.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:transparent;border-top-color:#d1dbe5;border-bottom-color:#d1dbe5}.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__active-bar.is-right{display:none}.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:transparent;border-top-color:#d1dbe5;border-bottom-color:#d1dbe5}.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-tag{background-color:#e6f3ec;border-color:#cce7d8;color:#00873c;display:inline-block;height:32px;padding:0 10px;line-height:30px;font-size:12px;color:#00873c;border-width:1px;border-style:solid;border-radius:4px;-webkit-box-sizing:border-box;box-sizing:border-box;white-space:nowrap}.el-tag.is-hit{border-color:#00873c}.el-tag .el-tag__close{color:#00873c}.el-tag .el-tag__close:hover{color:#fff;background-color:#00873c}.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:#00873c;border-color:#00873c;color:#fff}.el-tag--dark.is-hit{border-color:#00873c}.el-tag--dark .el-tag__close{color:#fff}.el-tag--dark .el-tag__close:hover{color:#fff;background-color:#339f63}.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:#99cfb1;color:#00873c}.el-tag--plain.is-hit{border-color:#00873c}.el-tag--plain .el-tag__close{color:#00873c}.el-tag--plain .el-tag__close:hover{color:#fff;background-color:#00873c}.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)}.fade-in-linear-enter-active,.fade-in-linear-leave-active{-webkit-transition:opacity .2s linear;transition:opacity .2s linear}.fade-in-linear-enter,.fade-in-linear-leave,.fade-in-linear-leave-active{opacity:0}.el-fade-in-linear-enter-active,.el-fade-in-linear-leave-active{-webkit-transition:opacity .2s linear;transition:opacity .2s linear}.el-fade-in-linear-enter,.el-fade-in-linear-leave,.el-fade-in-linear-leave-active{opacity:0}.el-fade-in-enter-active,.el-fade-in-leave-active{-webkit-transition:all .3s cubic-bezier(.55, 0, .1, 1);transition:all .3s cubic-bezier(.55, 0, .1, 1)}.el-fade-in-enter,.el-fade-in-leave-active{opacity:0}.el-zoom-in-center-enter-active,.el-zoom-in-center-leave-active{-webkit-transition:all .3s cubic-bezier(.55, 0, .1, 1);transition:all .3s cubic-bezier(.55, 0, .1, 1)}.el-zoom-in-center-enter,.el-zoom-in-center-leave-active{opacity:0;-webkit-transform:scaleX(0);transform:scaleX(0)}.el-zoom-in-top-enter-active,.el-zoom-in-top-leave-active{opacity:1;-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transition:opacity .3s cubic-bezier(.23, 1, .32, 1),-webkit-transform .3s cubic-bezier(.23, 1, .32, 1);transition:opacity .3s cubic-bezier(.23, 1, .32, 1),-webkit-transform .3s cubic-bezier(.23, 1, .32, 1);transition:transform .3s cubic-bezier(.23, 1, .32, 1),opacity .3s cubic-bezier(.23, 1, .32, 1);transition:transform .3s cubic-bezier(.23, 1, .32, 1),opacity .3s cubic-bezier(.23, 1, .32, 1),-webkit-transform .3s cubic-bezier(.23, 1, .32, 1);-webkit-transform-origin:center top;transform-origin:center top}.el-zoom-in-top-enter,.el-zoom-in-top-leave-active{opacity:0;-webkit-transform:scaleY(0);transform:scaleY(0)}.el-zoom-in-bottom-enter-active,.el-zoom-in-bottom-leave-active{opacity:1;-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transition:opacity .3s cubic-bezier(.23, 1, .32, 1),-webkit-transform .3s cubic-bezier(.23, 1, .32, 1);transition:opacity .3s cubic-bezier(.23, 1, .32, 1),-webkit-transform .3s cubic-bezier(.23, 1, .32, 1);transition:transform .3s cubic-bezier(.23, 1, .32, 1),opacity .3s cubic-bezier(.23, 1, .32, 1);transition:transform .3s cubic-bezier(.23, 1, .32, 1),opacity .3s cubic-bezier(.23, 1, .32, 1),-webkit-transform .3s cubic-bezier(.23, 1, .32, 1);-webkit-transform-origin:center bottom;transform-origin:center bottom}.el-zoom-in-bottom-enter,.el-zoom-in-bottom-leave-active{opacity:0;-webkit-transform:scaleY(0);transform:scaleY(0)}.el-zoom-in-left-enter-active,.el-zoom-in-left-leave-active{opacity:1;-webkit-transform:scale(1,1);transform:scale(1,1);-webkit-transition:opacity .3s cubic-bezier(.23, 1, .32, 1),-webkit-transform .3s cubic-bezier(.23, 1, .32, 1);transition:opacity .3s cubic-bezier(.23, 1, .32, 1),-webkit-transform .3s cubic-bezier(.23, 1, .32, 1);transition:transform .3s cubic-bezier(.23, 1, .32, 1),opacity .3s cubic-bezier(.23, 1, .32, 1);transition:transform .3s cubic-bezier(.23, 1, .32, 1),opacity .3s cubic-bezier(.23, 1, .32, 1),-webkit-transform .3s cubic-bezier(.23, 1, .32, 1);-webkit-transform-origin:top left;transform-origin:top left}.el-zoom-in-left-enter,.el-zoom-in-left-leave-active{opacity:0;-webkit-transform:scale(.45,.45);transform:scale(.45,.45)}.collapse-transition{-webkit-transition:.3s height ease-in-out,.3s padding-top ease-in-out,.3s padding-bottom ease-in-out;transition:.3s height ease-in-out,.3s padding-top ease-in-out,.3s padding-bottom ease-in-out}.horizontal-collapse-transition{-webkit-transition:.3s width ease-in-out,.3s padding-left ease-in-out,.3s padding-right ease-in-out;transition:.3s width ease-in-out,.3s padding-left ease-in-out,.3s padding-right ease-in-out}.el-list-enter-active,.el-list-leave-active{-webkit-transition:all 1s;transition:all 1s}.el-list-enter,.el-list-leave-active{opacity:0;-webkit-transform:translateY(-30px);transform:translateY(-30px)}.el-opacity-transition{-webkit-transition:opacity .3s cubic-bezier(.55, 0, .1, 1);transition:opacity .3s cubic-bezier(.55, 0, .1, 1)}.el-checkbox{color:#606266;font-weight:500;font-size:14px;position:relative;cursor:pointer;display:inline-block;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;margin-right:30px}.el-checkbox.is-bordered{padding:9px 20px 9px 10px;border-radius:4px;border:1px solid #dcdfe6;-webkit-box-sizing:border-box;box-sizing:border-box;line-height:normal;height:40px}.el-checkbox.is-bordered.is-checked{border-color:#00873c}.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{white-space:nowrap;cursor:pointer;outline:0;display:inline-block;line-height:1;position:relative;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-disabled+span.el-checkbox__label{color:#c0c4cc;cursor:not-allowed}.el-checkbox__input.is-checked .el-checkbox__inner{background-color:#00873c;border-color:#00873c}.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:#00873c}.el-checkbox__input.is-focus .el-checkbox__inner{border-color:#00873c}.el-checkbox__input.is-indeterminate .el-checkbox__inner{background-color:#00873c;border-color:#00873c}.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:#00873c}.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__label{display:inline-block;padding-left:10px;line-height:19px;font-size:14px}.el-checkbox:last-of-type{margin-right:0}.el-checkbox-button{position:relative;display:inline-block}.el-checkbox-button__inner{display:inline-block;line-height:1;font-weight:500;white-space:nowrap;vertical-align:middle;cursor:pointer;background:#fff;border:1px solid #dcdfe6;border-left:0;color:#606266;-webkit-appearance:none;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box;outline:0;margin:0;position:relative;-webkit-transition:all .3s cubic-bezier(.645, .045, .355, 1);transition:all .3s cubic-bezier(.645, .045, .355, 1);-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;padding:12px 20px;font-size:14px;border-radius:0}.el-checkbox-button__inner.is-round{padding:12px 20px}.el-checkbox-button__inner:hover{color:#00873c}.el-checkbox-button__inner [class*=el-icon-]{line-height:.9}.el-checkbox-button__inner [class*=el-icon-]+span{margin-left:5px}.el-checkbox-button__original{opacity:0;outline:0;position:absolute;margin:0;z-index:-1}.el-checkbox-button.is-checked .el-checkbox-button__inner{color:#fff;background-color:#00873c;border-color:#00873c;-webkit-box-shadow:-1px 0 0 0 #66b78a;box-shadow:-1px 0 0 0 #66b78a}.el-checkbox-button.is-checked:first-child .el-checkbox-button__inner{border-left-color:#00873c}.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:#00873c}.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-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:#00873c}.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:#00873c;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 .el-tree-node__content *{pointer-events:none}.el-tree.is-dragging.is-drop-not-allow .el-tree-node__content{cursor:not-allowed}.el-tree-node__expand-icon{cursor:pointer;color:#c0c4cc;font-size:12px;-webkit-transform:rotate(0);transform:rotate(0);-webkit-transition:-webkit-transform .3s ease-in-out;transition:-webkit-transform .3s ease-in-out;transition:transform .3s ease-in-out;transition:transform .3s ease-in-out,-webkit-transform .3s ease-in-out}.el-tree-node__expand-icon.expanded{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.el-tree-node__expand-icon.is-leaf{color:transparent;cursor:default}.el-tree-node__label{font-size:14px}.el-tree-node__loading-icon{margin-right:8px;font-size:14px;color:#c0c4cc}.el-tree-node>.el-tree-node__children{overflow:hidden;background-color:transparent}.el-tree-node.is-expanded>.el-tree-node__children{display:block}.el-tree--highlight-current .el-tree-node.is-current>.el-tree-node__content{background-color:#ebf5ef}.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{color:#fff}.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 0}.el-alert__closebtn{font-size:12px;opacity:1;position:absolute;top:12px;right:15px;cursor:pointer}.el-alert__closebtn.is-customed{font-style:normal;font-size:13px;top:9px}.el-alert-fade-enter,.el-alert-fade-leave-active{opacity:0}.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 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-notification-fade-leave-active{opacity:0}.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::-moz-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:#00873c}.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::-moz-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__inner::-ms-reveal{display:none}.el-input__inner::-webkit-input-placeholder{color:#c0c4cc}.el-input__inner::-moz-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__inner:focus{outline:0;border-color:#00873c}.el-input__suffix{position:absolute;height:100%;right:5px;top:0;text-align:center;color:#c0c4cc;-webkit-transition:all .3s;transition:all .3s;pointer-events:none}.el-input__suffix-inner{pointer-events:all}.el-input__prefix{position:absolute;height:100%;left:5px;top:0;text-align:center;color:#c0c4cc;-webkit-transition:all .3s;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-active .el-input__inner{outline:0;border-color:#00873c}.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::-moz-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-input.is-exceed .el-input__inner{border-color:#f56c6c}.el-input.is-exceed .el-input__suffix .el-input__count{color:#f56c6c}.el-input--suffix .el-input__inner{padding-right:30px}.el-input--prefix .el-input__inner{padding-left:30px}.el-input--medium{font-size:14px}.el-input--medium .el-input__inner{height:36px;line-height:36px}.el-input--medium .el-input__icon{line-height:36px}.el-input--small{font-size:13px}.el-input--small .el-input__inner{height:32px;line-height:32px}.el-input--small .el-input__icon{line-height:32px}.el-input--mini{font-size:12px}.el-input--mini .el-input__inner{height:28px;line-height:28px}.el-input--mini .el-input__icon{line-height:28px}.el-input-group{line-height:normal;display:inline-table;width:100%;border-collapse:separate;border-spacing:0}.el-input-group>.el-input__inner{vertical-align:middle;display:table-cell}.el-input-group__append,.el-input-group__prepend{background-color:#f5f7fa;color:#909399;vertical-align:middle;display:table-cell;position:relative;border:1px solid #dcdfe6;border-radius:4px;padding:0 20px;width:1px;white-space:nowrap}.el-input-group__append: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;border-top-right-radius:0;border-bottom-right-radius:0}.el-input-group__append{border-left:0;border-top-left-radius:0;border-bottom-left-radius:0}.el-input-group--prepend .el-input__inner{border-top-left-radius:0;border-bottom-left-radius:0}.el-input-group--prepend .el-select .el-input.is-focus .el-input__inner{border-color:transparent}.el-input-group--append .el-input__inner{border-top-right-radius:0;border-bottom-right-radius:0}.el-input-group--append .el-select .el-input.is-focus .el-input__inner{border-color:transparent}.el-input__inner::-ms-clear{display:none;width:0;height:0}.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:#00873c}.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:#00873c}.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 0}.el-input-number.is-controls-right[class*=medium] [class*=decrease],.el-input-number.is-controls-right[class*=medium] [class*=increase]{line-height:17px}.el-input-number.is-controls-right[class*=small] [class*=decrease],.el-input-number.is-controls-right[class*=small] [class*=increase]{line-height:15px}.el-input-number.is-controls-right[class*=mini] [class*=decrease],.el-input-number.is-controls-right[class*=mini] [class*=increase]{line-height:13px}.el-tooltip:focus:hover,.el-tooltip:focus:not(.focusing){outline-width:0}.el-tooltip__popper{position:absolute;border-radius:4px;padding:10px;z-index:2000;font-size:12px;line-height:1.2;min-width:10px;word-wrap:break-word}.el-tooltip__popper .popper__arrow,.el-tooltip__popper .popper__arrow::after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.el-tooltip__popper .popper__arrow{border-width:6px}.el-tooltip__popper .popper__arrow::after{content:" ";border-width:5px}.el-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;content:""}.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.hover,.el-slider__runway.disabled .el-slider__button-wrapper:hover{cursor:not-allowed}.el-slider__runway.disabled .el-slider__button-wrapper.dragging{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)}.el-slider__runway.disabled .el-slider__button.hover,.el-slider__runway.disabled .el-slider__button:hover{cursor:not-allowed}.el-slider__runway.disabled .el-slider__button.dragging{cursor:not-allowed}.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:#00873c;border-top-left-radius:3px;border-bottom-left-radius:3px;position:absolute}.el-slider__button-wrapper{height:36px;width:36px;position:absolute;z-index:1001;top:-15px;-webkit-transform:translateX(-50%);transform:translateX(-50%);background-color:transparent;text-align:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;line-height:normal}.el-slider__button-wrapper::after{display:inline-block;content:"";height:100%;vertical-align:middle}.el-slider__button-wrapper .el-tooltip{vertical-align:middle;display:inline-block}.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:solid 2px #00873c;background-color:#fff;border-radius:50%;-webkit-transition:.2s;transition:.2s;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.el-slider__button.dragging,.el-slider__button.hover,.el-slider__button:hover{-webkit-transform:scale(1.2);transform:scale(1.2)}.el-slider__button.hover,.el-slider__button:hover{cursor:-webkit-grab;cursor:grab}.el-slider__button.dragging{cursor:-webkit-grabbing;cursor:grabbing}.el-slider__stop{position:absolute;height:6px;width:6px;border-radius:100%;background-color:#fff;-webkit-transform:translateX(-50%);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:#00873c}.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-loading-spinner .el-loading-text{color:#00873c;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:#00873C;stroke-linecap:round}.el-loading-spinner i{color:#00873c}.el-loading-fade-enter,.el-loading-fade-leave-active{opacity:0}@-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{position:relative;-webkit-box-sizing:border-box;box-sizing:border-box}.el-row::after,.el-row::before{display:table;content:""}.el-row::after{clear:both}.el-row--flex{display:-webkit-box;display:-ms-flexbox;display:flex}.el-row--flex:after,.el-row--flex:before{display:none}.el-row--flex.is-justify-center{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.el-row--flex.is-justify-end{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.el-row--flex.is-justify-space-between{-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.el-row--flex.is-justify-space-around{-ms-flex-pack:distribute;justify-content:space-around}.el-row--flex.is-align-top{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.el-row--flex.is-align-middle{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.el-row--flex.is-align-bottom{-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end}[class*=el-col-]{float:left;-webkit-box-sizing:border-box;box-sizing:border-box}.el-col-0{display:none}.el-col-0{width:0%}.el-col-offset-0{margin-left:0}.el-col-pull-0{position:relative;right:0}.el-col-push-0{position:relative;left:0}.el-col-1{width:4.16667%}.el-col-offset-1{margin-left:4.16667%}.el-col-pull-1{position:relative;right:4.16667%}.el-col-push-1{position:relative;left:4.16667%}.el-col-2{width:8.33333%}.el-col-offset-2{margin-left:8.33333%}.el-col-pull-2{position:relative;right:8.33333%}.el-col-push-2{position:relative;left:8.33333%}.el-col-3{width:12.5%}.el-col-offset-3{margin-left:12.5%}.el-col-pull-3{position:relative;right:12.5%}.el-col-push-3{position:relative;left:12.5%}.el-col-4{width:16.66667%}.el-col-offset-4{margin-left:16.66667%}.el-col-pull-4{position:relative;right:16.66667%}.el-col-push-4{position:relative;left:16.66667%}.el-col-5{width:20.83333%}.el-col-offset-5{margin-left:20.83333%}.el-col-pull-5{position:relative;right:20.83333%}.el-col-push-5{position:relative;left:20.83333%}.el-col-6{width:25%}.el-col-offset-6{margin-left:25%}.el-col-pull-6{position:relative;right:25%}.el-col-push-6{position:relative;left:25%}.el-col-7{width:29.16667%}.el-col-offset-7{margin-left:29.16667%}.el-col-pull-7{position:relative;right:29.16667%}.el-col-push-7{position:relative;left:29.16667%}.el-col-8{width:33.33333%}.el-col-offset-8{margin-left:33.33333%}.el-col-pull-8{position:relative;right:33.33333%}.el-col-push-8{position:relative;left:33.33333%}.el-col-9{width:37.5%}.el-col-offset-9{margin-left:37.5%}.el-col-pull-9{position:relative;right:37.5%}.el-col-push-9{position:relative;left:37.5%}.el-col-10{width:41.66667%}.el-col-offset-10{margin-left:41.66667%}.el-col-pull-10{position:relative;right:41.66667%}.el-col-push-10{position:relative;left:41.66667%}.el-col-11{width:45.83333%}.el-col-offset-11{margin-left:45.83333%}.el-col-pull-11{position:relative;right:45.83333%}.el-col-push-11{position:relative;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{position:relative;left:50%}.el-col-13{width:54.16667%}.el-col-offset-13{margin-left:54.16667%}.el-col-pull-13{position:relative;right:54.16667%}.el-col-push-13{position:relative;left:54.16667%}.el-col-14{width:58.33333%}.el-col-offset-14{margin-left:58.33333%}.el-col-pull-14{position:relative;right:58.33333%}.el-col-push-14{position:relative;left:58.33333%}.el-col-15{width:62.5%}.el-col-offset-15{margin-left:62.5%}.el-col-pull-15{position:relative;right:62.5%}.el-col-push-15{position:relative;left:62.5%}.el-col-16{width:66.66667%}.el-col-offset-16{margin-left:66.66667%}.el-col-pull-16{position:relative;right:66.66667%}.el-col-push-16{position:relative;left:66.66667%}.el-col-17{width:70.83333%}.el-col-offset-17{margin-left:70.83333%}.el-col-pull-17{position:relative;right:70.83333%}.el-col-push-17{position:relative;left:70.83333%}.el-col-18{width:75%}.el-col-offset-18{margin-left:75%}.el-col-pull-18{position:relative;right:75%}.el-col-push-18{position:relative;left:75%}.el-col-19{width:79.16667%}.el-col-offset-19{margin-left:79.16667%}.el-col-pull-19{position:relative;right:79.16667%}.el-col-push-19{position:relative;left:79.16667%}.el-col-20{width:83.33333%}.el-col-offset-20{margin-left:83.33333%}.el-col-pull-20{position:relative;right:83.33333%}.el-col-push-20{position:relative;left:83.33333%}.el-col-21{width:87.5%}.el-col-offset-21{margin-left:87.5%}.el-col-pull-21{position:relative;right:87.5%}.el-col-push-21{position:relative;left:87.5%}.el-col-22{width:91.66667%}.el-col-offset-22{margin-left:91.66667%}.el-col-pull-22{position:relative;right:91.66667%}.el-col-push-22{position:relative;left:91.66667%}.el-col-23{width:95.83333%}.el-col-offset-23{margin-left:95.83333%}.el-col-pull-23{position:relative;right:95.83333%}.el-col-push-23{position:relative;left:95.83333%}.el-col-24{width:100%}.el-col-offset-24{margin-left:100%}.el-col-pull-24{position:relative;right:100%}.el-col-push-24{position:relative;left:100%}@media only screen and (max-width:767px){.el-col-xs-0{display:none}.el-col-xs-0{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}.el-col-sm-0{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}.el-col-md-0{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}.el-col-lg-0{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}.el-col-xl-0{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%}}.el-progress{position:relative;line-height:1}.el-progress__text{font-size:14px;color:#606266;display:inline-block;vertical-align:middle;margin-left:10px;line-height:1}.el-progress__text i{vertical-align:middle;display:block}.el-progress--circle,.el-progress--dashboard{display:inline-block}.el-progress--circle .el-progress__text,.el-progress--dashboard .el-progress__text{position:absolute;top:50%;left:0;width:100%;text-align:center;margin:0;-webkit-transform:translate(0,-50%);transform:translate(0,-50%)}.el-progress--circle .el-progress__text i,.el-progress--dashboard .el-progress__text i{vertical-align:middle;display:inline-block}.el-progress--without-text .el-progress__text{display:none}.el-progress--without-text .el-progress-bar{padding-right:0;margin-right:0;display:block}.el-progress--text-inside .el-progress-bar{padding-right:0;margin-right:0}.el-progress.is-success .el-progress-bar__inner{background-color:#67c23a}.el-progress.is-success .el-progress__text{color:#67c23a}.el-progress.is-warning .el-progress-bar__inner{background-color:#e6a23c}.el-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;display:inline-block;vertical-align:middle;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:#00873c;text-align:right;border-radius:100px;line-height:1;white-space:nowrap;-webkit-transition:width .6s ease;transition:width .6s ease}.el-progress-bar__inner::after{display:inline-block;content:"";height:100%;vertical-align:middle}.el-progress-bar__innerText{display:inline-block;vertical-align:middle;color:#fff;font-size:12px;margin:0 5px}@-webkit-keyframes progress{0%{background-position:0 0}100%{background-position:32px 0}}@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}.el-upload--picture-card{background-color:#fbfdff;border:1px dashed #c0ccda;border-radius:6px;-webkit-box-sizing:border-box;box-sizing:border-box;width:148px;height:148px;cursor:pointer;line-height:146px;vertical-align:top}.el-upload--picture-card i{font-size:28px;color:#8c939d}.el-upload--picture-card:hover{border-color:#00873c;color:#00873c}.el-upload:focus{border-color:#00873c;color:#00873c}.el-upload:focus .el-upload-dragger{border-color:#00873c}.el-upload-dragger{background-color:#fff;border:1px dashed #d9d9d9;border-radius:6px;-webkit-box-sizing:border-box;box-sizing:border-box;width:360px;height:180px;text-align:center;cursor:pointer;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:#00873c;font-style:normal}.el-upload-dragger:hover{border-color:#00873c}.el-upload-dragger.is-dragover{background-color:rgba(32,159,255,.06);border:2px dashed #00873c}.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:#00873c}.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:#00873c;cursor:pointer}.el-upload-list__item.is-success:focus:not(:hover) .el-icon-close-tip{display:inline-block}.el-upload-list__item.is-success:active,.el-upload-list__item.is-success:not(.focusing):focus{outline-width:0}.el-upload-list__item.is-success:active .el-icon-close-tip,.el-upload-list__item.is-success:not(.focusing):focus .el-icon-close-tip{display:none}.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{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:#00873c}.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{display:none}.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;content:"";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 i{margin-top:0}.el-upload-cover__interact .btn span{opacity:0;-webkit-transition:opacity .15s linear;transition:opacity .15s linear}.el-upload-cover__interact .btn:not(:first-child){margin-left:35px}.el-upload-cover__interact .btn:hover{-webkit-transform:translateY(-13px);transform:translateY(-13px)}.el-upload-cover__interact .btn:hover span{opacity:1}.el-upload-cover__interact .btn i{color:#fff;display:block;font-size:24px;line-height:inherit;margin:0 auto 5px}.el-upload-cover__title{position:absolute;bottom:0;left:0;background-color:#fff;height:36px;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:400;text-align:left;padding:0 10px;margin:0;line-height:36px;font-size:14px;color:#303133}.el-upload-cover+.el-upload__inner{opacity:0;position:relative;z-index:1}.el-progress{position:relative;line-height:1}.el-progress__text{font-size:14px;color:#606266;display:inline-block;vertical-align:middle;margin-left:10px;line-height:1}.el-progress__text i{vertical-align:middle;display:block}.el-progress--circle,.el-progress--dashboard{display:inline-block}.el-progress--circle .el-progress__text,.el-progress--dashboard .el-progress__text{position:absolute;top:50%;left:0;width:100%;text-align:center;margin:0;-webkit-transform:translate(0,-50%);transform:translate(0,-50%)}.el-progress--circle .el-progress__text i,.el-progress--dashboard .el-progress__text i{vertical-align:middle;display:inline-block}.el-progress--without-text .el-progress__text{display:none}.el-progress--without-text .el-progress-bar{padding-right:0;margin-right:0;display:block}.el-progress--text-inside .el-progress-bar{padding-right:0;margin-right:0}.el-progress.is-success .el-progress-bar__inner{background-color:#67c23a}.el-progress.is-success .el-progress__text{color:#67c23a}.el-progress.is-warning .el-progress-bar__inner{background-color:#e6a23c}.el-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;display:inline-block;vertical-align:middle;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:#00873c;text-align:right;border-radius:100px;line-height:1;white-space:nowrap;-webkit-transition:width .6s ease;transition:width .6s ease}.el-progress-bar__inner::after{display:inline-block;content:"";height:100%;vertical-align:middle}.el-progress-bar__innerText{display:inline-block;vertical-align:middle;color:#fff;font-size:12px;margin:0 5px}@keyframes progress{0%{background-position:0 0}100%{background-position:32px 0}}.el-time-spinner{width:100%;white-space:nowrap}.el-spinner{display:inline-block;vertical-align:middle}.el-spinner-inner{-webkit-animation:rotate 2s linear infinite;animation:rotate 2s linear infinite;width:50px;height:50px}.el-spinner-inner .path{stroke:#ececec;stroke-linecap:round;-webkit-animation:dash 1.5s ease-in-out infinite;animation:dash 1.5s ease-in-out infinite}@-webkit-keyframes rotate{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes rotate{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes dash{0%{stroke-dasharray:1,150;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-35}100%{stroke-dasharray:90,150;stroke-dashoffset:-124}}@keyframes dash{0%{stroke-dasharray:1,150;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-35}100%{stroke-dasharray:90,150;stroke-dashoffset:-124}}.el-message{min-width:380px;-webkit-box-sizing:border-box;box-sizing:border-box;border-radius:4px;border-width:1px;border-style:solid;border-color:#ebeef5;position:fixed;left:50%;top:20px;-webkit-transform:translateX(-50%);transform:translateX(-50%);background-color:#edf2fc;-webkit-transition:opacity .3s,top .4s,-webkit-transform .4s;transition:opacity .3s,top .4s,-webkit-transform .4s;transition:opacity .3s,transform .4s,top .4s;transition:opacity .3s,transform .4s,top .4s,-webkit-transform .4s;overflow:hidden;padding:15px 15px 15px 20px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.el-message.is-center{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.el-message.is-closable .el-message__content{padding-right:16px}.el-message p{margin:0}.el-message--info .el-message__content{color:#909399}.el-message--success{background-color:#f0f9eb;border-color:#e1f3d8}.el-message--success .el-message__content{color:#67c23a}.el-message--warning{background-color:#fdf6ec;border-color:#faecd8}.el-message--warning .el-message__content{color:#e6a23c}.el-message--error{background-color:#fef0f0;border-color:#fde2e2}.el-message--error .el-message__content{color:#f56c6c}.el-message__icon{margin-right:10px}.el-message__content{padding:0;font-size:14px;line-height:1}.el-message__content:focus{outline-width:0}.el-message__closeBtn{position:absolute;top:50%;right:15px;-webkit-transform:translateY(-50%);transform:translateY(-50%);cursor:pointer;color:#c0c4cc;font-size:16px}.el-message__closeBtn:focus{outline-width:0}.el-message__closeBtn:hover{color:#909399}.el-message .el-icon-success{color:#67c23a}.el-message .el-icon-error{color:#f56c6c}.el-message .el-icon-info{color:#909399}.el-message .el-icon-warning{color:#e6a23c}.el-message-fade-enter,.el-message-fade-leave-active{opacity:0;-webkit-transform:translate(-50%,-100%);transform:translate(-50%,-100%)}.el-badge{position:relative;vertical-align:middle;display:inline-block}.el-badge__content{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-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:#00873c}.el-badge__content--success{background-color:#67c23a}.el-badge__content--warning{background-color:#e6a23c}.el-badge__content--info{background-color:#909399}.el-badge__content--danger{background-color:#f56c6c}.el-card{border-radius:4px;border:1px solid #ebeef5;background-color:#fff;overflow:hidden;color:#303133;-webkit-transition:.3s;transition:.3s}.el-card.is-always-shadow{-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.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:active,.el-rate:focus{outline-width:0}.el-rate__item{display:inline-block;position:relative;font-size:0;vertical-align:middle}.el-rate__icon{position:relative;display:inline-block;font-size:18px;margin-right:6px;color:#c0c4cc;-webkit-transition:.3s;transition:.3s}.el-rate__icon.hover{-webkit-transform:scale(1.15);transform:scale(1.15)}.el-rate__icon .path2{position:absolute;left:0;top:0}.el-rate__decimal{position:absolute;top:0;left:0;display:inline-block;overflow:hidden}.el-rate__text{font-size:14px;vertical-align:middle}.el-steps{display:-webkit-box;display:-ms-flexbox;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:#00873c;border-color:#00873c}.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;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;text-align:center;font-weight:700;line-height:1;color:inherit}.el-step__icon-inner[class*=el-icon]:not(.is-status){font-size:25px;font-weight:400}.el-step__icon-inner.is-status{-webkit-transform:translateY(1px);transform:translateY(1px)}.el-step__line{position:absolute;border-color:inherit;background-color:#c0c4cc}.el-step__line-inner{display:block;border-width:1px;border-style:solid;border-color:inherit;-webkit-transition:.15s ease-out;transition:.15s ease-out;-webkit-box-sizing:border-box;box-sizing:border-box;width:0;height:0}.el-step__main{white-space:normal;text-align:left}.el-step__title{font-size:16px;line-height:38px}.el-step__title.is-process{font-weight:700;color:#303133}.el-step__title.is-wait{color:#c0c4cc}.el-step__title.is-success{color:#67c23a}.el-step__title.is-error{color:#f56c6c}.el-step__title.is-finish{color:#00873c}.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:#00873c}.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:-webkit-box;display:-ms-flexbox;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{text-align:center}.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}.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-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-carousel__item{position:absolute;top:0;left:0;width:100%;height: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{position:absolute;width:100%;height:100%;top:0;left:0;background-color:#fff;opacity:.24;-webkit-transition:.2s;transition:.2s}.fade-in-linear-enter-active,.fade-in-linear-leave-active{-webkit-transition:opacity .2s linear;transition:opacity .2s linear}.fade-in-linear-enter,.fade-in-linear-leave,.fade-in-linear-leave-active{opacity:0}.el-fade-in-linear-enter-active,.el-fade-in-linear-leave-active{-webkit-transition:opacity .2s linear;transition:opacity .2s linear}.el-fade-in-linear-enter,.el-fade-in-linear-leave,.el-fade-in-linear-leave-active{opacity:0}.el-fade-in-enter-active,.el-fade-in-leave-active{-webkit-transition:all .3s cubic-bezier(.55, 0, .1, 1);transition:all .3s cubic-bezier(.55, 0, .1, 1)}.el-fade-in-enter,.el-fade-in-leave-active{opacity:0}.el-zoom-in-center-enter-active,.el-zoom-in-center-leave-active{-webkit-transition:all .3s cubic-bezier(.55, 0, .1, 1);transition:all .3s cubic-bezier(.55, 0, .1, 1)}.el-zoom-in-center-enter,.el-zoom-in-center-leave-active{opacity:0;-webkit-transform:scaleX(0);transform:scaleX(0)}.el-zoom-in-top-enter-active,.el-zoom-in-top-leave-active{opacity:1;-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transition:opacity .3s cubic-bezier(.23, 1, .32, 1),-webkit-transform .3s cubic-bezier(.23, 1, .32, 1);transition:opacity .3s cubic-bezier(.23, 1, .32, 1),-webkit-transform .3s cubic-bezier(.23, 1, .32, 1);transition:transform .3s cubic-bezier(.23, 1, .32, 1),opacity .3s cubic-bezier(.23, 1, .32, 1);transition:transform .3s cubic-bezier(.23, 1, .32, 1),opacity .3s cubic-bezier(.23, 1, .32, 1),-webkit-transform .3s cubic-bezier(.23, 1, .32, 1);-webkit-transform-origin:center top;transform-origin:center top}.el-zoom-in-top-enter,.el-zoom-in-top-leave-active{opacity:0;-webkit-transform:scaleY(0);transform:scaleY(0)}.el-zoom-in-bottom-enter-active,.el-zoom-in-bottom-leave-active{opacity:1;-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transition:opacity .3s cubic-bezier(.23, 1, .32, 1),-webkit-transform .3s cubic-bezier(.23, 1, .32, 1);transition:opacity .3s cubic-bezier(.23, 1, .32, 1),-webkit-transform .3s cubic-bezier(.23, 1, .32, 1);transition:transform .3s cubic-bezier(.23, 1, .32, 1),opacity .3s cubic-bezier(.23, 1, .32, 1);transition:transform .3s cubic-bezier(.23, 1, .32, 1),opacity .3s cubic-bezier(.23, 1, .32, 1),-webkit-transform .3s cubic-bezier(.23, 1, .32, 1);-webkit-transform-origin:center bottom;transform-origin:center bottom}.el-zoom-in-bottom-enter,.el-zoom-in-bottom-leave-active{opacity:0;-webkit-transform:scaleY(0);transform:scaleY(0)}.el-zoom-in-left-enter-active,.el-zoom-in-left-leave-active{opacity:1;-webkit-transform:scale(1,1);transform:scale(1,1);-webkit-transition:opacity .3s cubic-bezier(.23, 1, .32, 1),-webkit-transform .3s cubic-bezier(.23, 1, .32, 1);transition:opacity .3s cubic-bezier(.23, 1, .32, 1),-webkit-transform .3s cubic-bezier(.23, 1, .32, 1);transition:transform .3s cubic-bezier(.23, 1, .32, 1),opacity .3s cubic-bezier(.23, 1, .32, 1);transition:transform .3s cubic-bezier(.23, 1, .32, 1),opacity .3s cubic-bezier(.23, 1, .32, 1),-webkit-transform .3s cubic-bezier(.23, 1, .32, 1);-webkit-transform-origin:top left;transform-origin:top left}.el-zoom-in-left-enter,.el-zoom-in-left-leave-active{opacity:0;-webkit-transform:scale(.45,.45);transform:scale(.45,.45)}.collapse-transition{-webkit-transition:.3s height ease-in-out,.3s padding-top ease-in-out,.3s padding-bottom ease-in-out;transition:.3s height ease-in-out,.3s padding-top ease-in-out,.3s padding-bottom ease-in-out}.horizontal-collapse-transition{-webkit-transition:.3s width ease-in-out,.3s padding-left ease-in-out,.3s padding-right ease-in-out;transition:.3s width ease-in-out,.3s padding-left ease-in-out,.3s padding-right ease-in-out}.el-list-enter-active,.el-list-leave-active{-webkit-transition:all 1s;transition:all 1s}.el-list-enter,.el-list-leave-active{opacity:0;-webkit-transform:translateY(-30px);transform:translateY(-30px)}.el-opacity-transition{-webkit-transition:opacity .3s cubic-bezier(.55, 0, .1, 1);transition:opacity .3s cubic-bezier(.55, 0, .1, 1)}.el-collapse{border-top:1px solid #ebeef5;border-bottom:1px solid #ebeef5}.el-collapse-item.is-disabled .el-collapse-item__header{color:#bbb;cursor:not-allowed}.el-collapse-item__header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:48px;line-height:48px;background-color:#fff;color:#303133;cursor:pointer;border-bottom:1px solid #ebeef5;font-size:13px;font-weight:500;-webkit-transition:border-bottom-color .3s;transition:border-bottom-color .3s;outline:0}.el-collapse-item__arrow{margin:0 8px 0 auto;-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s;font-weight:300}.el-collapse-item__arrow.is-active{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.el-collapse-item__header.focusing:focus:not(:hover){color:#00873c}.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-collapse-item__content{padding-bottom:25px;font-size:13px;color:#303133;line-height:1.769230769230769}.el-collapse-item:last-child{margin-bottom:-1px}.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::-moz-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:#00873c}.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::-moz-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__inner::-ms-reveal{display:none}.el-input__inner::-webkit-input-placeholder{color:#c0c4cc}.el-input__inner::-moz-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__inner:focus{outline:0;border-color:#00873c}.el-input__suffix{position:absolute;height:100%;right:5px;top:0;text-align:center;color:#c0c4cc;-webkit-transition:all .3s;transition:all .3s;pointer-events:none}.el-input__suffix-inner{pointer-events:all}.el-input__prefix{position:absolute;height:100%;left:5px;top:0;text-align:center;color:#c0c4cc;-webkit-transition:all .3s;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-active .el-input__inner{outline:0;border-color:#00873c}.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::-moz-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-input.is-exceed .el-input__inner{border-color:#f56c6c}.el-input.is-exceed .el-input__suffix .el-input__count{color:#f56c6c}.el-input--suffix .el-input__inner{padding-right:30px}.el-input--prefix .el-input__inner{padding-left:30px}.el-input--medium{font-size:14px}.el-input--medium .el-input__inner{height:36px;line-height:36px}.el-input--medium .el-input__icon{line-height:36px}.el-input--small{font-size:13px}.el-input--small .el-input__inner{height:32px;line-height:32px}.el-input--small .el-input__icon{line-height:32px}.el-input--mini{font-size:12px}.el-input--mini .el-input__inner{height:28px;line-height:28px}.el-input--mini .el-input__icon{line-height:28px}.el-input-group{line-height:normal;display:inline-table;width:100%;border-collapse:separate;border-spacing:0}.el-input-group>.el-input__inner{vertical-align:middle;display:table-cell}.el-input-group__append,.el-input-group__prepend{background-color:#f5f7fa;color:#909399;vertical-align:middle;display:table-cell;position:relative;border:1px solid #dcdfe6;border-radius:4px;padding:0 20px;width:1px;white-space:nowrap}.el-input-group__append: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;border-top-right-radius:0;border-bottom-right-radius:0}.el-input-group__append{border-left:0;border-top-left-radius:0;border-bottom-left-radius:0}.el-input-group--prepend .el-input__inner{border-top-left-radius:0;border-bottom-left-radius:0}.el-input-group--prepend .el-select .el-input.is-focus .el-input__inner{border-color:transparent}.el-input-group--append .el-input__inner{border-top-right-radius:0;border-bottom-right-radius:0}.el-input-group--append .el-select .el-input.is-focus .el-input__inner{border-color:transparent}.el-input__inner::-ms-clear{display:none;width:0;height:0}.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,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:#e6f3ec;border-color:#cce7d8;color:#00873c;display:inline-block;height:32px;padding:0 10px;line-height:30px;font-size:12px;color:#00873c;border-width:1px;border-style:solid;border-radius:4px;-webkit-box-sizing:border-box;box-sizing:border-box;white-space:nowrap}.el-tag.is-hit{border-color:#00873c}.el-tag .el-tag__close{color:#00873c}.el-tag .el-tag__close:hover{color:#fff;background-color:#00873c}.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:#00873c;border-color:#00873c;color:#fff}.el-tag--dark.is-hit{border-color:#00873c}.el-tag--dark .el-tag__close{color:#fff}.el-tag--dark .el-tag__close:hover{color:#fff;background-color:#339f63}.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:#99cfb1;color:#00873c}.el-tag--plain.is-hit{border-color:#00873c}.el-tag--plain .el-tag__close{color:#00873c}.el-tag--plain .el-tag__close:hover{color:#fff;background-color:#00873c}.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-checkbox{color:#606266;font-weight:500;font-size:14px;position:relative;cursor:pointer;display:inline-block;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;margin-right:30px}.el-checkbox.is-bordered{padding:9px 20px 9px 10px;border-radius:4px;border:1px solid #dcdfe6;-webkit-box-sizing:border-box;box-sizing:border-box;line-height:normal;height:40px}.el-checkbox.is-bordered.is-checked{border-color:#00873c}.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{white-space:nowrap;cursor:pointer;outline:0;display:inline-block;line-height:1;position:relative;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-disabled+span.el-checkbox__label{color:#c0c4cc;cursor:not-allowed}.el-checkbox__input.is-checked .el-checkbox__inner{background-color:#00873c;border-color:#00873c}.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:#00873c}.el-checkbox__input.is-focus .el-checkbox__inner{border-color:#00873c}.el-checkbox__input.is-indeterminate .el-checkbox__inner{background-color:#00873c;border-color:#00873c}.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:#00873c}.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__label{display:inline-block;padding-left:10px;line-height:19px;font-size:14px}.el-checkbox:last-of-type{margin-right:0}.el-checkbox-button{position:relative;display:inline-block}.el-checkbox-button__inner{display:inline-block;line-height:1;font-weight:500;white-space:nowrap;vertical-align:middle;cursor:pointer;background:#fff;border:1px solid #dcdfe6;border-left:0;color:#606266;-webkit-appearance:none;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box;outline:0;margin:0;position:relative;-webkit-transition:all .3s cubic-bezier(.645, .045, .355, 1);transition:all .3s cubic-bezier(.645, .045, .355, 1);-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;padding:12px 20px;font-size:14px;border-radius:0}.el-checkbox-button__inner.is-round{padding:12px 20px}.el-checkbox-button__inner:hover{color:#00873c}.el-checkbox-button__inner [class*=el-icon-]{line-height:.9}.el-checkbox-button__inner [class*=el-icon-]+span{margin-left:5px}.el-checkbox-button__original{opacity:0;outline:0;position:absolute;margin:0;z-index:-1}.el-checkbox-button.is-checked .el-checkbox-button__inner{color:#fff;background-color:#00873c;border-color:#00873c;-webkit-box-shadow:-1px 0 0 0 #66b78a;box-shadow:-1px 0 0 0 #66b78a}.el-checkbox-button.is-checked:first-child .el-checkbox-button__inner{border-left-color:#00873c}.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:#00873c}.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{color:#606266;font-weight:500;line-height:1;position:relative;cursor:pointer;display:inline-block;white-space:nowrap;outline:0;font-size:14px;margin-right:30px;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none}.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:#00873c}.el-radio.is-bordered.is-disabled{cursor:not-allowed;border-color:#ebeef5}.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--medium.is-bordered .el-radio__label{font-size:14px}.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__label{font-size:12px}.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__label{font-size:12px}.el-radio--mini.is-bordered .el-radio__inner{height:12px;width:12px}.el-radio:last-child{margin-right:0}.el-radio__input{white-space:nowrap;cursor:pointer;outline:0;display:inline-block;line-height:1;position:relative;vertical-align:middle}.el-radio__input.is-disabled .el-radio__inner{background-color:#f5f7fa;border-color:#e4e7ed;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{background-color:#f5f7fa;border-color:#e4e7ed}.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:#00873c;background:#00873c}.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:#00873c}.el-radio__input.is-focus .el-radio__inner{border-color:#00873c}.el-radio__inner{border:1px solid #dcdfe6;border-radius:100%;width:14px;height:14px;background-color:#fff;position:relative;cursor:pointer;display:inline-block;-webkit-box-sizing:border-box;box-sizing:border-box}.el-radio__inner:hover{border-color:#00873c}.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 #00873c;box-shadow:0 0 2px 2px #00873c}.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:solid 1px #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-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:#00873c;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{margin-right:0}.el-cascader-node>.el-radio .el-radio__label{padding-left:0}.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{cursor:pointer}.el-cascader .el-input .el-input__inner{text-overflow:ellipsis}.el-cascader .el-input .el-input__inner:focus{border-color:#00873c}.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 .el-input.is-focus .el-input__inner{border-color:#00873c}.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:solid 1px #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;-webkit-box-sizing:border-box;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:#00873c;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::-moz-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 #00873c;box-shadow:0 0 3px 2px #00873c}.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:#00873c;border-color:#00873c}.el-color-dropdown__link-btn{cursor:pointer;color:#00873c;text-decoration:none;padding:15px;font-size:12px}.el-color-dropdown__link-btn:hover{color:tint(#00873c,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{font-size:12px;color:#999;position:absolute;top:50%;left:50%;-webkit-transform:translate3d(-50%,-50%,0);transform:translate3d(-50%,-50%,0)}.el-color-picker__icon{display:inline-block;position:absolute;width:100%;top:50%;left:50%;-webkit-transform:translate3d(-50%,-50%,0);transform:translate3d(-50%,-50%,0);color:#fff;text-align:center;font-size:12px}.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::-moz-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:#00873c}.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::-moz-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__inner::-ms-reveal{display:none}.el-input__inner::-webkit-input-placeholder{color:#c0c4cc}.el-input__inner::-moz-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__inner:focus{outline:0;border-color:#00873c}.el-input__suffix{position:absolute;height:100%;right:5px;top:0;text-align:center;color:#c0c4cc;-webkit-transition:all .3s;transition:all .3s;pointer-events:none}.el-input__suffix-inner{pointer-events:all}.el-input__prefix{position:absolute;height:100%;left:5px;top:0;text-align:center;color:#c0c4cc;-webkit-transition:all .3s;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-active .el-input__inner{outline:0;border-color:#00873c}.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::-moz-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-input.is-exceed .el-input__inner{border-color:#f56c6c}.el-input.is-exceed .el-input__suffix .el-input__count{color:#f56c6c}.el-input--suffix .el-input__inner{padding-right:30px}.el-input--prefix .el-input__inner{padding-left:30px}.el-input--medium{font-size:14px}.el-input--medium .el-input__inner{height:36px;line-height:36px}.el-input--medium .el-input__icon{line-height:36px}.el-input--small{font-size:13px}.el-input--small .el-input__inner{height:32px;line-height:32px}.el-input--small .el-input__icon{line-height:32px}.el-input--mini{font-size:12px}.el-input--mini .el-input__inner{height:28px;line-height:28px}.el-input--mini .el-input__icon{line-height:28px}.el-input-group{line-height:normal;display:inline-table;width:100%;border-collapse:separate;border-spacing:0}.el-input-group>.el-input__inner{vertical-align:middle;display:table-cell}.el-input-group__append,.el-input-group__prepend{background-color:#f5f7fa;color:#909399;vertical-align:middle;display:table-cell;position:relative;border:1px solid #dcdfe6;border-radius:4px;padding:0 20px;width:1px;white-space:nowrap}.el-input-group__append: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;border-top-right-radius:0;border-bottom-right-radius:0}.el-input-group__append{border-left:0;border-top-left-radius:0;border-bottom-left-radius:0}.el-input-group--prepend .el-input__inner{border-top-left-radius:0;border-bottom-left-radius:0}.el-input-group--prepend .el-select .el-input.is-focus .el-input__inner{border-color:transparent}.el-input-group--append .el-input__inner{border-top-right-radius:0;border-bottom-right-radius:0}.el-input-group--append .el-select .el-input.is-focus .el-input__inner{border-color:transparent}.el-input__inner::-ms-clear{display:none;width:0;height:0}.el-button{display:inline-block;line-height:1;white-space:nowrap;cursor:pointer;background:#fff;border:1px solid #dcdfe6;border-color:#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;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;padding:12px 20px;font-size:14px;border-radius:4px}.el-button+.el-button{margin-left:10px}.el-button.is-round{padding:12px 20px}.el-button:focus,.el-button:hover{color:#00873c;border-color:#b3dbc5;background-color:#e6f3ec}.el-button:active{color:#007a36;border-color:#007a36;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:#00873c;color:#00873c}.el-button.is-plain:active{background:#fff;border-color:#007a36;color:#007a36;outline:0}.el-button.is-active{color:#007a36;border-color:#007a36}.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:#00873c;border-color:#00873c}.el-button--primary:focus,.el-button--primary:hover{background:#339f63;border-color:#339f63;color:#fff}.el-button--primary:active{background:#007a36;border-color:#007a36;color:#fff;outline:0}.el-button--primary.is-active{background:#007a36;border-color:#007a36;color:#fff}.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:#80c39e;border-color:#80c39e}.el-button--primary.is-plain{color:#00873c;background:#e6f3ec;border-color:#99cfb1}.el-button--primary.is-plain:focus,.el-button--primary.is-plain:hover{background:#00873c;border-color:#00873c;color:#fff}.el-button--primary.is-plain:active{background:#007a36;border-color:#007a36;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:#66b78a;background-color:#e6f3ec;border-color:#cce7d8}.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:active{background:#5daf34;border-color:#5daf34;color:#fff;outline:0}.el-button--success.is-active{background:#5daf34;border-color:#5daf34;color:#fff}.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:active{background:#cf9236;border-color:#cf9236;color:#fff;outline:0}.el-button--warning.is-active{background:#cf9236;border-color:#cf9236;color:#fff}.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:active{background:#dd6161;border-color:#dd6161;color:#fff;outline:0}.el-button--danger.is-active{background:#dd6161;border-color:#dd6161;color:#fff}.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:active{background:#82848a;border-color:#82848a;color:#fff;outline:0}.el-button--info.is-active{background:#82848a;border-color:#82848a;color:#fff}.el-button--info.is-disabled,.el-button--info.is-disabled:active,.el-button--info.is-disabled:focus,.el-button--info.is-disabled:hover{color:#fff;background-color:#c8c9cc;border-color:#c8c9cc}.el-button--info.is-plain{color:#909399;background:#f4f4f5;border-color:#d3d4d6}.el-button--info.is-plain:focus,.el-button--info.is-plain:hover{background:#909399;border-color:#909399;color:#fff}.el-button--info.is-plain:active{background:#82848a;border-color:#82848a;color:#fff;outline:0}.el-button--info.is-plain.is-disabled,.el-button--info.is-plain.is-disabled:active,.el-button--info.is-plain.is-disabled:focus,.el-button--info.is-plain.is-disabled:hover{color:#bcbec2;background-color:#f4f4f5;border-color:#e9e9eb}.el-button--medium{padding:10px 20px;font-size:14px;border-radius:4px}.el-button--medium.is-round{padding:10px 20px}.el-button--medium.is-circle{padding:10px}.el-button--small{padding:9px 15px;font-size:12px;border-radius:3px}.el-button--small.is-round{padding:9px 15px}.el-button--small.is-circle{padding:9px}.el-button--mini{padding:7px 15px;font-size:12px;border-radius:3px}.el-button--mini.is-round{padding:7px 15px}.el-button--mini.is-circle{padding:7px}.el-button--text{border-color:transparent;color:#00873c;background:0 0;padding-left:0;padding-right:0}.el-button--text:focus,.el-button--text:hover{color:#339f63;border-color:transparent;background-color:transparent}.el-button--text:active{color:#007a36;border-color:transparent;background-color:transparent}.el-button--text.is-disabled,.el-button--text.is-disabled:focus,.el-button--text.is-disabled:hover{border-color:transparent}.el-button-group{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-top-right-radius:4px;border-bottom-right-radius:4px;border-top-left-radius:4px;border-bottom-left-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:not(.is-disabled):active,.el-button-group>.el-button:not(.is-disabled):focus,.el-button-group>.el-button:not(.is-disabled):hover{z-index:1}.el-button-group>.el-button.is-active{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-checkbox{color:#606266;font-weight:500;font-size:14px;position:relative;cursor:pointer;display:inline-block;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;margin-right:30px}.el-checkbox.is-bordered{padding:9px 20px 9px 10px;border-radius:4px;border:1px solid #dcdfe6;-webkit-box-sizing:border-box;box-sizing:border-box;line-height:normal;height:40px}.el-checkbox.is-bordered.is-checked{border-color:#00873c}.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{white-space:nowrap;cursor:pointer;outline:0;display:inline-block;line-height:1;position:relative;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-disabled+span.el-checkbox__label{color:#c0c4cc;cursor:not-allowed}.el-checkbox__input.is-checked .el-checkbox__inner{background-color:#00873c;border-color:#00873c}.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:#00873c}.el-checkbox__input.is-focus .el-checkbox__inner{border-color:#00873c}.el-checkbox__input.is-indeterminate .el-checkbox__inner{background-color:#00873c;border-color:#00873c}.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:#00873c}.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__label{display:inline-block;padding-left:10px;line-height:19px;font-size:14px}.el-checkbox:last-of-type{margin-right:0}.el-checkbox-button{position:relative;display:inline-block}.el-checkbox-button__inner{display:inline-block;line-height:1;font-weight:500;white-space:nowrap;vertical-align:middle;cursor:pointer;background:#fff;border:1px solid #dcdfe6;border-left:0;color:#606266;-webkit-appearance:none;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box;outline:0;margin:0;position:relative;-webkit-transition:all .3s cubic-bezier(.645, .045, .355, 1);transition:all .3s cubic-bezier(.645, .045, .355, 1);-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;padding:12px 20px;font-size:14px;border-radius:0}.el-checkbox-button__inner.is-round{padding:12px 20px}.el-checkbox-button__inner:hover{color:#00873c}.el-checkbox-button__inner [class*=el-icon-]{line-height:.9}.el-checkbox-button__inner [class*=el-icon-]+span{margin-left:5px}.el-checkbox-button__original{opacity:0;outline:0;position:absolute;margin:0;z-index:-1}.el-checkbox-button.is-checked .el-checkbox-button__inner{color:#fff;background-color:#00873c;border-color:#00873c;-webkit-box-shadow:-1px 0 0 0 #66b78a;box-shadow:-1px 0 0 0 #66b78a}.el-checkbox-button.is-checked:first-child .el-checkbox-button__inner{border-left-color:#00873c}.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:#00873c}.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-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:#00873c;font-size:0}.el-transfer__button.is-with-texts{border-radius:4px}.el-transfer__button.is-disabled{border:1px solid #dcdfe6;background-color:#f5f7fa;color:#c0c4cc}.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!important}.el-transfer-panel__item+.el-transfer-panel__item{margin-left:0}.el-transfer-panel__item.el-checkbox{color:#606266}.el-transfer-panel__item:hover{color:#00873c}.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__filter .el-icon-circle-close{cursor:pointer}.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-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-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:-webkit-box;display:-ms-flexbox;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{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.el-header{padding:0 20px;-webkit-box-sizing:border-box;box-sizing:border-box;-ms-flex-negative:0;flex-shrink:0}.el-aside{overflow:auto;-webkit-box-sizing:border-box;box-sizing:border-box;-ms-flex-negative:0;flex-shrink:0}.el-main{display:block;-webkit-box-flex:1;-ms-flex:1;flex:1;-ms-flex-preferred-size:auto;flex-basis:auto;overflow:auto;-webkit-box-sizing:border-box;box-sizing:border-box;padding:20px}.el-footer{padding:0 20px;-webkit-box-sizing:border-box;box-sizing:border-box;-ms-flex-negative:0;flex-shrink:0}.el-timeline{margin:0;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:-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-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:#00873c}.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:-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-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;cursor:pointer;padding:0;font-size:14px;font-weight:500}.el-link.is-underline:hover:after{content:"";position:absolute;left:0;right:0;height:0;bottom:0;border-bottom:1px solid #00873c}.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:#00873c}.el-link.el-link--default:after{border-color:#00873c}.el-link.el-link--default.is-disabled{color:#c0c4cc}.el-link.el-link--primary{color:#00873c}.el-link.el-link--primary:hover{color:#339f63}.el-link.el-link--primary:after{border-color:#00873c}.el-link.el-link--primary.is-disabled{color:#80c39e}.el-link.el-link--primary.is-underline:hover:after{border-color:#00873c}.el-link.el-link--danger{color:#f56c6c}.el-link.el-link--danger:hover{color:#f78989}.el-link.el-link--danger:after{border-color:#f56c6c}.el-link.el-link--danger.is-disabled{color:#fab6b6}.el-link.el-link--danger.is-underline:hover:after{border-color:#f56c6c}.el-link.el-link--success{color:#67c23a}.el-link.el-link--success:hover{color:#85ce61}.el-link.el-link--success:after{border-color:#67c23a}.el-link.el-link--success.is-disabled{color:#b3e19d}.el-link.el-link--success.is-underline:hover:after{border-color:#67c23a}.el-link.el-link--warning{color:#e6a23c}.el-link.el-link--warning:hover{color:#ebb563}.el-link.el-link--warning:after{border-color:#e6a23c}.el-link.el-link--warning.is-disabled{color:#f3d19e}.el-link.el-link--warning.is-underline:hover:after{border-color:#e6a23c}.el-link.el-link--info{color:#909399}.el-link.el-link--info:hover{color:#a6a9ad}.el-link.el-link--info:after{border-color:#909399}.el-link.el-link--info.is-disabled{color:#c8c9cc}.el-link.el-link--info.is-underline:hover:after{border-color:#909399}.el-divider{background-color:#dcdfe6;position:relative}.el-divider--horizontal{display:block;height:1px;width:100%;margin:24px 0}.el-divider--vertical{display:inline-block;width:1px;height:1em;margin:0 8px;vertical-align:middle;position:relative}.el-divider__text{position:absolute;background-color:#fff;padding:0 20px;font-weight:500;color:#303133;font-size:14px}.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__placeholder{background:#f5f7fa}.el-image__error{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;font-size:14px;background:#f5f7fa;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;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.el-image-viewer__close{top:40px;right:40px;width:40px;height:40px;font-size:24px;color:#fff;background-color:#606266}.el-image-viewer__canvas{width:100%;height:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.el-image-viewer__actions{left:50%;bottom:30px;-webkit-transform:translateX(-50%);transform:translateX(-50%);width:282px;height:44px;padding:0 23px;background-color:#606266;border-color:#fff;border-radius:22px}.el-image-viewer__actions__inner{width:100%;height:100%;text-align:justify;cursor:default;font-size:23px;color:#fff;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-ms-flex-pack:distribute;justify-content:space-around}.el-image-viewer__prev{top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);width:44px;height:44px;font-size:24px;color:#fff;background-color:#606266;border-color:#fff;left:40px}.el-image-viewer__next{top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);width:44px;height:44px;font-size:24px;color:#fff;background-color:#606266;border-color:#fff;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;border-color:#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;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;padding:12px 20px;font-size:14px;border-radius:4px}.el-button+.el-button{margin-left:10px}.el-button.is-round{padding:12px 20px}.el-button:focus,.el-button:hover{color:#00873c;border-color:#b3dbc5;background-color:#e6f3ec}.el-button:active{color:#007a36;border-color:#007a36;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:#00873c;color:#00873c}.el-button.is-plain:active{background:#fff;border-color:#007a36;color:#007a36;outline:0}.el-button.is-active{color:#007a36;border-color:#007a36}.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:#00873c;border-color:#00873c}.el-button--primary:focus,.el-button--primary:hover{background:#339f63;border-color:#339f63;color:#fff}.el-button--primary:active{background:#007a36;border-color:#007a36;color:#fff;outline:0}.el-button--primary.is-active{background:#007a36;border-color:#007a36;color:#fff}.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:#80c39e;border-color:#80c39e}.el-button--primary.is-plain{color:#00873c;background:#e6f3ec;border-color:#99cfb1}.el-button--primary.is-plain:focus,.el-button--primary.is-plain:hover{background:#00873c;border-color:#00873c;color:#fff}.el-button--primary.is-plain:active{background:#007a36;border-color:#007a36;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:#66b78a;background-color:#e6f3ec;border-color:#cce7d8}.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:active{background:#5daf34;border-color:#5daf34;color:#fff;outline:0}.el-button--success.is-active{background:#5daf34;border-color:#5daf34;color:#fff}.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:active{background:#cf9236;border-color:#cf9236;color:#fff;outline:0}.el-button--warning.is-active{background:#cf9236;border-color:#cf9236;color:#fff}.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:active{background:#dd6161;border-color:#dd6161;color:#fff;outline:0}.el-button--danger.is-active{background:#dd6161;border-color:#dd6161;color:#fff}.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:active{background:#82848a;border-color:#82848a;color:#fff;outline:0}.el-button--info.is-active{background:#82848a;border-color:#82848a;color:#fff}.el-button--info.is-disabled,.el-button--info.is-disabled:active,.el-button--info.is-disabled:focus,.el-button--info.is-disabled:hover{color:#fff;background-color:#c8c9cc;border-color:#c8c9cc}.el-button--info.is-plain{color:#909399;background:#f4f4f5;border-color:#d3d4d6}.el-button--info.is-plain:focus,.el-button--info.is-plain:hover{background:#909399;border-color:#909399;color:#fff}.el-button--info.is-plain:active{background:#82848a;border-color:#82848a;color:#fff;outline:0}.el-button--info.is-plain.is-disabled,.el-button--info.is-plain.is-disabled:active,.el-button--info.is-plain.is-disabled:focus,.el-button--info.is-plain.is-disabled:hover{color:#bcbec2;background-color:#f4f4f5;border-color:#e9e9eb}.el-button--medium{padding:10px 20px;font-size:14px;border-radius:4px}.el-button--medium.is-round{padding:10px 20px}.el-button--medium.is-circle{padding:10px}.el-button--small{padding:9px 15px;font-size:12px;border-radius:3px}.el-button--small.is-round{padding:9px 15px}.el-button--small.is-circle{padding:9px}.el-button--mini{padding:7px 15px;font-size:12px;border-radius:3px}.el-button--mini.is-round{padding:7px 15px}.el-button--mini.is-circle{padding:7px}.el-button--text{border-color:transparent;color:#00873c;background:0 0;padding-left:0;padding-right:0}.el-button--text:focus,.el-button--text:hover{color:#339f63;border-color:transparent;background-color:transparent}.el-button--text:active{color:#007a36;border-color:transparent;background-color:transparent}.el-button--text.is-disabled,.el-button--text.is-disabled:focus,.el-button--text.is-disabled:hover{border-color:transparent}.el-button-group{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-top-right-radius:4px;border-bottom-right-radius:4px;border-top-left-radius:4px;border-bottom-left-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:not(.is-disabled):active,.el-button-group>.el-button:not(.is-disabled):focus,.el-button-group>.el-button:not(.is-disabled):hover{z-index:1}.el-button-group>.el-button.is-active{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-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-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 td.is-today{color:#00873c}.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%;color:#00873c;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;font-size: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:-webkit-box;display:-ms-flexbox;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-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;position:relative;cursor:pointer;display:inline-block;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;margin-right:30px}.el-checkbox.is-bordered{padding:9px 20px 9px 10px;border-radius:4px;border:1px solid #dcdfe6;-webkit-box-sizing:border-box;box-sizing:border-box;line-height:normal;height:40px}.el-checkbox.is-bordered.is-checked{border-color:#00873c}.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{white-space:nowrap;cursor:pointer;outline:0;display:inline-block;line-height:1;position:relative;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-disabled+span.el-checkbox__label{color:#c0c4cc;cursor:not-allowed}.el-checkbox__input.is-checked .el-checkbox__inner{background-color:#00873c;border-color:#00873c}.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:#00873c}.el-checkbox__input.is-focus .el-checkbox__inner{border-color:#00873c}.el-checkbox__input.is-indeterminate .el-checkbox__inner{background-color:#00873c;border-color:#00873c}.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:#00873c}.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__label{display:inline-block;padding-left:10px;line-height:19px;font-size:14px}.el-checkbox:last-of-type{margin-right:0}.el-checkbox-button{position:relative;display:inline-block}.el-checkbox-button__inner{display:inline-block;line-height:1;font-weight:500;white-space:nowrap;vertical-align:middle;cursor:pointer;background:#fff;border:1px solid #dcdfe6;border-left:0;color:#606266;-webkit-appearance:none;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box;outline:0;margin:0;position:relative;-webkit-transition:all .3s cubic-bezier(.645, .045, .355, 1);transition:all .3s cubic-bezier(.645, .045, .355, 1);-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;padding:12px 20px;font-size:14px;border-radius:0}.el-checkbox-button__inner.is-round{padding:12px 20px}.el-checkbox-button__inner:hover{color:#00873c}.el-checkbox-button__inner [class*=el-icon-]{line-height:.9}.el-checkbox-button__inner [class*=el-icon-]+span{margin-left:5px}.el-checkbox-button__original{opacity:0;outline:0;position:absolute;margin:0;z-index:-1}.el-checkbox-button.is-checked .el-checkbox-button__inner{color:#fff;background-color:#00873c;border-color:#00873c;-webkit-box-shadow:-1px 0 0 0 #66b78a;box-shadow:-1px 0 0 0 #66b78a}.el-checkbox-button.is-checked:first-child .el-checkbox-button__inner{border-left-color:#00873c}.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:#00873c}.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{color:#606266;font-weight:500;line-height:1;position:relative;cursor:pointer;display:inline-block;white-space:nowrap;outline:0;font-size:14px;margin-right:30px;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none}.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:#00873c}.el-radio.is-bordered.is-disabled{cursor:not-allowed;border-color:#ebeef5}.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--medium.is-bordered .el-radio__label{font-size:14px}.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__label{font-size:12px}.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__label{font-size:12px}.el-radio--mini.is-bordered .el-radio__inner{height:12px;width:12px}.el-radio:last-child{margin-right:0}.el-radio__input{white-space:nowrap;cursor:pointer;outline:0;display:inline-block;line-height:1;position:relative;vertical-align:middle}.el-radio__input.is-disabled .el-radio__inner{background-color:#f5f7fa;border-color:#e4e7ed;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{background-color:#f5f7fa;border-color:#e4e7ed}.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:#00873c;background:#00873c}.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:#00873c}.el-radio__input.is-focus .el-radio__inner{border-color:#00873c}.el-radio__inner{border:1px solid #dcdfe6;border-radius:100%;width:14px;height:14px;background-color:#fff;position:relative;cursor:pointer;display:inline-block;-webkit-box-sizing:border-box;box-sizing:border-box}.el-radio__inner:hover{border-color:#00873c}.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 #00873c;box-shadow:0 0 2px 2px #00873c}.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:solid 1px #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-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:#00873c;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{margin-right:0}.el-cascader-node>.el-radio .el-radio__label{padding-left:0}.el-avatar{display:inline-block;-webkit-box-sizing:border-box;box-sizing:border-box;text-align:center;overflow:hidden;color:#fff;background:#c0c4cc;width:40px;height:40px;line-height:40px;font-size:14px}.el-avatar>img{display:block;height:100%;vertical-align:middle}.el-avatar--circle{border-radius:50%}.el-avatar--square{border-radius:4px}.el-avatar--icon{font-size:18px}.el-avatar--large{width:40px;height:40px;line-height:40px}.el-avatar--medium{width:36px;height:36px;line-height:36px}.el-avatar--small{width:28px;height:28px;line-height:28px}@-webkit-keyframes el-drawer-fade-in{0%{opacity:0}100%{opacity:1}}@keyframes el-drawer-fade-in{0%{opacity:0}100%{opacity:1}}@-webkit-keyframes rtl-drawer-in{0%{-webkit-transform:translate(100%,0);transform:translate(100%,0)}100%{-webkit-transform:translate(0,0);transform:translate(0,0)}}@keyframes rtl-drawer-in{0%{-webkit-transform:translate(100%,0);transform:translate(100%,0)}100%{-webkit-transform:translate(0,0);transform:translate(0,0)}}@-webkit-keyframes rtl-drawer-out{0%{-webkit-transform:translate(0,0);transform:translate(0,0)}100%{-webkit-transform:translate(100%,0);transform:translate(100%,0)}}@keyframes rtl-drawer-out{0%{-webkit-transform:translate(0,0);transform:translate(0,0)}100%{-webkit-transform:translate(100%,0);transform:translate(100%,0)}}@-webkit-keyframes ltr-drawer-in{0%{-webkit-transform:translate(-100%,0);transform:translate(-100%,0)}100%{-webkit-transform:translate(0,0);transform:translate(0,0)}}@keyframes ltr-drawer-in{0%{-webkit-transform:translate(-100%,0);transform:translate(-100%,0)}100%{-webkit-transform:translate(0,0);transform:translate(0,0)}}@-webkit-keyframes ltr-drawer-out{0%{-webkit-transform:translate(0,0);transform:translate(0,0)}100%{-webkit-transform:translate(-100%,0);transform:translate(-100%,0)}}@keyframes ltr-drawer-out{0%{-webkit-transform:translate(0,0);transform:translate(0,0)}100%{-webkit-transform:translate(-100%,0);transform:translate(-100%,0)}}@-webkit-keyframes ttb-drawer-in{0%{-webkit-transform:translate(0,-100%);transform:translate(0,-100%)}100%{-webkit-transform:translate(0,0);transform:translate(0,0)}}@keyframes ttb-drawer-in{0%{-webkit-transform:translate(0,-100%);transform:translate(0,-100%)}100%{-webkit-transform:translate(0,0);transform:translate(0,0)}}@-webkit-keyframes ttb-drawer-out{0%{-webkit-transform:translate(0,0);transform:translate(0,0)}100%{-webkit-transform:translate(0,-100%);transform:translate(0,-100%)}}@keyframes ttb-drawer-out{0%{-webkit-transform:translate(0,0);transform:translate(0,0)}100%{-webkit-transform:translate(0,-100%);transform:translate(0,-100%)}}@-webkit-keyframes btt-drawer-in{0%{-webkit-transform:translate(0,100%);transform:translate(0,100%)}100%{-webkit-transform:translate(0,0);transform:translate(0,0)}}@keyframes btt-drawer-in{0%{-webkit-transform:translate(0,100%);transform:translate(0,100%)}100%{-webkit-transform:translate(0,0);transform:translate(0,0)}}@-webkit-keyframes btt-drawer-out{0%{-webkit-transform:translate(0,0);transform:translate(0,0)}100%{-webkit-transform:translate(0,100%);transform:translate(0,100%)}}@keyframes btt-drawer-out{0%{-webkit-transform:translate(0,0);transform:translate(0,0)}100%{-webkit-transform:translate(0,100%);transform:translate(0,100%)}}.el-drawer{position:absolute;-webkit-box-sizing:border-box;box-sizing:border-box;background-color:#fff;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-shadow:0 8px 10px -5px rgba(0,0,0,.2),0 16px 24px 2px rgba(0,0,0,.14),0 6px 30px 5px rgba(0,0,0,.12);box-shadow:0 8px 10px -5px rgba(0,0,0,.2),0 16px 24px 2px rgba(0,0,0,.14),0 6px 30px 5px rgba(0,0,0,.12);overflow:hidden;outline:0}.el-drawer.rtl{-webkit-animation:rtl-drawer-out .3s;animation:rtl-drawer-out .3s}.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}.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}.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}.el-drawer__open .el-drawer.btt{-webkit-animation:btt-drawer-in .3s 1ms;animation:btt-drawer-in .3s 1ms}.el-drawer__wrapper{position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden;margin:0}.el-drawer__header{-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:#72767b;display:-webkit-box;display:-ms-flexbox;display:flex;margin-bottom:32px;padding:20px;padding-bottom:0}.el-drawer__header>:first-child{-webkit-box-flex:1;-ms-flex:1;flex:1}.el-drawer__title{margin:0;-webkit-box-flex:1;-ms-flex:1;flex:1;line-height:inherit;font-size:1rem}.el-drawer__close-btn{border:none;cursor:pointer;font-size:20px;color:inherit;background-color:transparent}.el-drawer__body{-webkit-box-flex:1;-ms-flex:1;flex:1;overflow:auto}.el-drawer__body>*{-webkit-box-sizing:border-box;box-sizing:border-box}.el-drawer.ltr,.el-drawer.rtl{height:100%;top:0;bottom:0}.el-drawer.btt,.el-drawer.ttb{width:100%;left:0;right:0}.el-drawer.ltr{left:0}.el-drawer.rtl{right:0}.el-drawer.ttb{top:0}.el-drawer.btt{bottom:0}.el-drawer__container{position:relative;left:0;right:0;top:0;bottom:0;height:100%;width:100%}.el-drawer-fade-enter-active{-webkit-animation:el-drawer-fade-in .3s;animation:el-drawer-fade-in .3s}.el-drawer-fade-leave-active{animation:el-drawer-fade-in .3s reverse}.el-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}.el-skeleton__item{background:#f2f2f2;display:inline-block;height:16px;border-radius:4px;width:100%}.el-skeleton__circle{border-radius:50%;width:36px;height:36px;line-height:36px}.el-skeleton__circle--lg{width:40px;height:40px;line-height:40px}.el-skeleton__circle--md{width:28px;height:28px;line-height:28px}.el-skeleton__button{height:40px;width:64px;border-radius:4px}.el-skeleton__p{width:100%}.el-skeleton__p.is-last{width:61%}.el-skeleton__p.is-first{width:33%}.el-skeleton__text{width:100%;height:13px}.el-skeleton__caption{height:12px}.el-skeleton__h1{height:20px}.el-skeleton__h3{height:18px}.el-skeleton__h5{height:16px}.el-skeleton__image{width:unset;display:-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:0}.el-skeleton__image svg{fill:#DCDDE0;width:22%;height:22%}@-webkit-keyframes el-skeleton-loading{0%{background-position:100% 50%}100%{background-position:0 50%}}@keyframes el-skeleton-loading{0%{background-position:100% 50%}100%{background-position:0 50%}}.el-skeleton{width:100%}.el-skeleton__first-line{height:16px;margin-top:16px;background:#f2f2f2}.el-skeleton__paragraph{height:16px;margin-top:16px;background:#f2f2f2}.el-skeleton.is-animated .el-skeleton__item{background:-webkit-gradient(linear,left top,right top,color-stop(25%,#f2f2f2),color-stop(37%,#e6e6e6),color-stop(63%,#f2f2f2));background:linear-gradient(90deg,#f2f2f2 25%,#e6e6e6 37%,#f2f2f2 63%);background-size:400% 100%;-webkit-animation:el-skeleton-loading 1.4s ease infinite;animation:el-skeleton-loading 1.4s ease infinite}.el-skeleton__item{background:#f2f2f2;display:inline-block;height:16px;border-radius:4px;width:100%}.el-skeleton__circle{border-radius:50%;width:36px;height:36px;line-height:36px}.el-skeleton__circle--lg{width:40px;height:40px;line-height:40px}.el-skeleton__circle--md{width:28px;height:28px;line-height:28px}.el-skeleton__button{height:40px;width:64px;border-radius:4px}.el-skeleton__p{width:100%}.el-skeleton__p.is-last{width:61%}.el-skeleton__p.is-first{width:33%}.el-skeleton__text{width:100%;height:13px}.el-skeleton__caption{height:12px}.el-skeleton__h1{height:20px}.el-skeleton__h3{height:18px}.el-skeleton__h5{height:16px}.el-skeleton__image{width:unset;display:-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:0}.el-skeleton__image svg{fill:#DCDDE0;width:22%;height:22%}.el-empty{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box;padding:40px 0}.el-empty__image{width:160px}.el-empty__image img{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;width:100%;height:100%;vertical-align:top;-o-object-fit:contain;object-fit:contain}.el-empty__image svg{fill:#DCDDE0;width:100%;height:100%;vertical-align:top}.el-empty__description{margin-top:20px}.el-empty__description p{margin:0;font-size:14px;color:#909399}.el-empty__bottom{margin-top:20px}.el-descriptions-item{vertical-align:top}.el-descriptions-item__container{display:-webkit-box;display:-ms-flexbox;display:flex}.el-descriptions-item__container .el-descriptions-item__content,.el-descriptions-item__container .el-descriptions-item__label{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:baseline;-ms-flex-align:baseline;align-items:baseline}.el-descriptions-item__container .el-descriptions-item__content{-webkit-box-flex:1;-ms-flex:1;flex:1}.el-descriptions-item__label.has-colon::after{content:':';position:relative;top:-.5px}.el-descriptions-item__label.is-bordered-label{font-weight:700;color:#909399;background:#fafafa}.el-descriptions-item__label:not(.is-bordered-label){margin-right:10px}.el-descriptions-item__content{word-break:break-word;overflow-wrap:break-word}.el-descriptions{-webkit-box-sizing:border-box;box-sizing:border-box;font-size:14px;color:#303133}.el-descriptions__header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin-bottom:20px}.el-descriptions__title{font-size:16px;font-weight:700}.el-descriptions__body{color:#606266;background-color:#fff}.el-descriptions__body .el-descriptions__table{border-collapse:collapse;width:100%;table-layout:fixed}.el-descriptions__body .el-descriptions__table .el-descriptions-item__cell{-webkit-box-sizing:border-box;box-sizing:border-box;text-align:left;font-weight:400;line-height:1.5}.el-descriptions__body .el-descriptions__table .el-descriptions-item__cell.is-left{text-align:left}.el-descriptions__body .el-descriptions__table .el-descriptions-item__cell.is-center{text-align:center}.el-descriptions__body .el-descriptions__table .el-descriptions-item__cell.is-right{text-align:right}.el-descriptions .is-bordered{table-layout:auto}.el-descriptions .is-bordered .el-descriptions-item__cell{border:1px solid #ebeef5;padding:12px 10px}.el-descriptions :not(.is-bordered) .el-descriptions-item__cell{padding-bottom:12px}.el-descriptions--medium.is-bordered .el-descriptions-item__cell{padding:10px}.el-descriptions--medium:not(.is-bordered) .el-descriptions-item__cell{padding-bottom:10px}.el-descriptions--small{font-size:12px}.el-descriptions--small.is-bordered .el-descriptions-item__cell{padding:8px 10px}.el-descriptions--small:not(.is-bordered) .el-descriptions-item__cell{padding-bottom:8px}.el-descriptions--mini{font-size:12px}.el-descriptions--mini.is-bordered .el-descriptions-item__cell{padding:6px 10px}.el-descriptions--mini:not(.is-bordered) .el-descriptions-item__cell{padding-bottom:6px}.el-descriptions-item{vertical-align:top}.el-descriptions-item__container{display:-webkit-box;display:-ms-flexbox;display:flex}.el-descriptions-item__container .el-descriptions-item__content,.el-descriptions-item__container .el-descriptions-item__label{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:baseline;-ms-flex-align:baseline;align-items:baseline}.el-descriptions-item__container .el-descriptions-item__content{-webkit-box-flex:1;-ms-flex:1;flex:1}.el-descriptions-item__label.has-colon::after{content:':';position:relative;top:-.5px}.el-descriptions-item__label.is-bordered-label{font-weight:700;color:#909399;background:#fafafa}.el-descriptions-item__label:not(.is-bordered-label){margin-right:10px}.el-descriptions-item__content{word-break:break-word;overflow-wrap:break-word}.el-result{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box;padding:40px 30px}.el-result__icon svg{width:64px;height:64px}.el-result__title{margin-top:20px}.el-result__title p{margin:0;font-size:20px;color:#303133;line-height:1.3}.el-result__subtitle{margin-top:10px}.el-result__subtitle p{margin:0;font-size:14px;color:#606266;line-height:1.3}.el-result__extra{margin-top:30px}.el-result .icon-success{fill:#67C23A}.el-result .icon-error{fill:#F56C6C}.el-result .icon-info{fill:#909399}.el-result .icon-warning{fill:#E6A23C} |
New file |
| | |
| | | <template> |
| | | <div class="bookInfo"> |
| | | <div class="recommend"> |
| | | <div class="title">æ¨èçç±</div> |
| | | <div class="content"> |
| | | æ¬ä¹¦å±äºæ®éé«çæè²âåä¸äºâ*è§åææ,主è¦é对é«çåä¸é¢æ ¡å¨ç©å»å¦åå¨ç©ç§å¦ä¸ä¸å¦çç¼åãå
容注éåºç¡ç¥è¯,é度èç³»ä¸ä¸å®é
,å¹¶å¼å
¥äºçç©åå¦çæ°è¿å±ãå
容å
±å为15ç« ,å
æ¬äºå¤§é¨å:(1)çç©ååçç»æä¸åè½,å
æ¬æ ¸é
¸ãèç½è´¨ãé
¶åçç©è;(2)ç©è´¨ä»£è°¢é¨å,å
æ¬ç³ç±»ä»£è°¢ãèç±»ä»£è°¢ãæ°¨åºé
¸ä»£è°¢ãæ ¸è·é
¸ä»£è°¢ãè½é代谢以ååéå¾çç¸äºèç³»åæ´ä½è°æ§;(3)éä¼ ä¿¡æ¯çä¼ éä¸è°æ§,å
æ¬å¤å¶ã转å½ãç¿»è¯ãåºå è¡¨è¾¾è°æ§;(4)å¨ç©ä½ä»£è°¢çç¹ç¹,å
æ¬å¨ç©ä½é
¸ç¢±å¹³è¡¡ä¸é磷代谢ãè¡æ¶²çåãèèçåã大èçå;(5)ç°ä»£çç©ææ¯åå
¶å¨çç§å
½å»ä¸çåºç¨ãæ¬ä¹¦å±äºæ®éé«çæè²âåä¸äºâ*è§åææ,主è¦é对é«çåä¸é¢æ ¡å¨ç©å»å¦åå¨ç©ç§å¦ä¸ä¸å¦çç¼åãå
容注éåºç¡ç¥è¯,é度èç³»ä¸ä¸å®é
,å¹¶å¼å
¥äºçç©åå¦çæ°è¿å±ãå
容å
±å为15ç« ,å
æ¬äºå¤§é¨å:(1)çç©ååçç»æä¸åè½,å
æ¬æ ¸é
¸ãèç½è´¨ãé
¶åçç©è;(2)ç©è´¨ä»£è°¢é¨å,å
æ¬ç³ç±»ä»£è°¢ãèç±»ä»£è°¢ãæ°¨åºé
¸ä»£è°¢ãæ ¸è·é
¸ä»£è°¢ãè½é代谢以ååéå¾çç¸äºèç³»åæ´ä½è°æ§;(3)éä¼ ä¿¡æ¯çä¼ éä¸è°æ§,å
æ¬å¤å¶ã转å½ãç¿»è¯ãåºå è¡¨è¾¾è°æ§;(4)å¨ç©ä½ä»£è°¢çç¹ç¹,å
æ¬å¨ç©ä½é
¸ç¢±å¹³è¡¡ä¸é磷代谢ãè¡æ¶²çåãèèçåã大èçå;(5)ç°ä»£çç©ææ¯åå
¶å¨çç§å
½å»ä¸çåºç¨ãæ¬ä¹¦å±äºæ®éé«çæè²âåä¸äºâ*è§åææ,主è¦é对é«çåä¸é¢æ ¡å¨ç©å»å¦åå¨ç©ç§å¦ä¸ä¸å¦çç¼åãå
容注éåºç¡ç¥è¯,é度èç³»ä¸ä¸å®é
,å¹¶å¼å
¥äºçç©åå¦çæ°è¿å±ãå
容å
±å为15ç« ,å
æ¬äºå¤§é¨å:(1)çç©ååçç»æä¸åè½,å
æ¬æ ¸é
¸ãèç½è´¨ãé
¶åçç©è;(2)ç©è´¨ä»£è°¢é¨å,å
æ¬ç³ç±»ä»£è°¢ãèç±»ä»£è°¢ãæ°¨åºé
¸ä»£è°¢ãæ ¸è·é
¸ä»£è°¢ãè½é代谢以ååéå¾çç¸äºèç³»åæ´ä½è°æ§;(3)éä¼ ä¿¡æ¯çä¼ éä¸è°æ§,å
æ¬å¤å¶ã转å½ãç¿»è¯ãåºå è¡¨è¾¾è°æ§;(4)å¨ç©ä½ä»£è°¢çç¹ç¹,å
æ¬å¨ç©ä½é
¸ç¢±å¹³è¡¡ä¸é磷代谢ãè¡æ¶²çåãèèçåã大èçå;(5)ç°ä»£çç©ææ¯åå
¶å¨çç§å
½å»ä¸çåºç¨ãæ¬ä¹¦å±äºæ®éé«çæè²âåä¸äºâ*è§åææ,主è¦é对é«çåä¸é¢æ ¡å¨ç©å»å¦åå¨ç©ç§å¦ä¸ä¸å¦çç¼åãå
容注éåºç¡ç¥è¯,é度èç³»ä¸ä¸å®é
,å¹¶å¼å
¥äºçç©åå¦çæ°è¿å±ãå
容å
±å为15ç« ,å
æ¬äºå¤§é¨å:(1)çç©ååçç»æä¸åè½,å
æ¬æ ¸é
¸ãèç½è´¨ãé
¶åçç©è;(2)ç©è´¨ä»£è°¢é¨å,å
æ¬ç³ç±»ä»£è°¢ãèç±»ä»£è°¢ãæ°¨åºé
¸ä»£è°¢ãæ ¸è·é
¸ä»£è°¢ãè½é代谢以ååéå¾çç¸äºèç³»åæ´ä½è°æ§;(3)éä¼ ä¿¡æ¯çä¼ éä¸è°æ§,å
æ¬å¤å¶ã转å½ãç¿»è¯ãåºå è¡¨è¾¾è°æ§;(4)å¨ç©ä½ä»£è°¢çç¹ç¹,å
æ¬å¨ç©ä½é
¸ç¢±å¹³è¡¡ä¸é磷代谢ãè¡æ¶²çåãèèçåã大èçå;(5)ç°ä»£çç©ææ¯åå
¶å¨çç§å
½å»ä¸çåºç¨ãæ¬ä¹¦å±äºæ®éé«çæè²âåä¸äºâ*è§åææ,主è¦é对é«çåä¸é¢æ ¡å¨ç©å»å¦åå¨ç©ç§å¦ä¸ä¸å¦çç¼åãå
容注éåºç¡ç¥è¯,é度èç³»ä¸ä¸å®é
,å¹¶å¼å
¥äºçç©åå¦çæ°è¿å±ãå
容å
±å为15ç« ,å
æ¬äºå¤§é¨å:(1)çç©ååçç»æä¸åè½,å
æ¬æ ¸é
¸ãèç½è´¨ãé
¶åçç©è;(2)ç©è´¨ä»£è°¢é¨å,å
æ¬ç³ç±»ä»£è°¢ãèç±»ä»£è°¢ãæ°¨åºé
¸ä»£è°¢ãæ ¸è·é
¸ä»£è°¢ãè½é代谢以ååéå¾çç¸äºèç³»åæ´ä½è°æ§;(3)éä¼ ä¿¡æ¯çä¼ éä¸è°æ§,å
æ¬å¤å¶ã转å½ãç¿»è¯ãåºå è¡¨è¾¾è°æ§;(4)å¨ç©ä½ä»£è°¢çç¹ç¹,å
æ¬å¨ç©ä½é
¸ç¢±å¹³è¡¡ä¸é磷代谢ãè¡æ¶²çåãèèçåã大èçå;(5)ç°ä»£çç©ææ¯åå
¶å¨çç§å
½å»ä¸çåºç¨ãæ¬ä¹¦å±äºæ®éé«çæè²âåä¸äºâ*è§åææ,主è¦é对é«çåä¸é¢æ ¡å¨ç©å»å¦åå¨ç©ç§å¦ä¸ä¸å¦çç¼åãå
容注éåºç¡ç¥è¯,é度èç³»ä¸ä¸å®é
,å¹¶å¼å
¥äºçç©åå¦çæ°è¿å±ãå
容å
±å为15ç« ,å
æ¬äºå¤§é¨å:(1)çç©ååçç»æä¸åè½,å
æ¬æ ¸é
¸ãèç½è´¨ãé
¶åçç©è;(2)ç©è´¨ä»£è°¢é¨å,å
æ¬ç³ç±»ä»£è°¢ãèç±»ä»£è°¢ãæ°¨åºé
¸ä»£è°¢ãæ ¸è·é
¸ä»£è°¢ãè½é代谢以ååéå¾çç¸äºèç³»åæ´ä½è°æ§;(3)éä¼ ä¿¡æ¯çä¼ éä¸è°æ§,å
æ¬å¤å¶ã转å½ãç¿»è¯ãåºå è¡¨è¾¾è°æ§;(4)å¨ç©ä½ä»£è°¢çç¹ç¹,å
æ¬å¨ç©ä½é
¸ç¢±å¹³è¡¡ä¸é磷代谢ãè¡æ¶²çåãèèçåã大èçå;(5)ç°ä»£çç©ææ¯åå
¶å¨çç§å
½å»ä¸çåºç¨ã |
| | | </div> |
| | | </div> |
| | | <div class="otherBox"> |
| | | <div class="itemBox" v-for="(item,index) in dataList" :key="index"> |
| | | <div class="itemTitle"><div class="titleName">{{item.title}}</div></div> |
| | | <div class="itemContent"> |
| | | {{item.content}} |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | export default { |
| | | data() { |
| | | return { |
| | | dataList: [ |
| | | { |
| | | title: "ä½è
æå¡", |
| | | content: |
| | | "æ¬ä¹¦å±äºæ®éé«çæè²âåä¸äºâ*è§åææ,主è¦é对é«çåä¸é¢æ ¡å¨ç©å»å¦åå¨ç©ç§å¦ä¸ä¸å¦çç¼åãå
容注éåºç¡ç¥è¯,é度èç³»ä¸ä¸å®é
,å¹¶å¼å
¥äºçç©åå¦çæ°è¿å±ãå
容å
±å为15ç« ,å
æ¬äºå¤§é¨å:(1)çç©ååçç»æä¸åè½,å
æ¬æ ¸é
¸ãèç½è´¨ãé
¶åçç©è", |
| | | }, |
| | | { |
| | | title: "ä½è
æå¡", |
| | | content: |
| | | "æ¬ä¹¦å±äºæ®éé«çæè²âåä¸äºâ*è§åææ,主è¦é对é«çåä¸é¢æ ¡å¨ç©å»å¦åå¨ç©ç§å¦ä¸ä¸å¦çç¼åãå
容注éåºç¡ç¥è¯,é度èç³»ä¸ä¸å®é
,å¹¶å¼å
¥äºçç©åå¦çæ°è¿å±ãå
容å
±å为15ç« ,å
æ¬äºå¤§é¨å:(1)çç©ååçç»æä¸åè½,å
æ¬æ ¸é
¸ãèç½è´¨ãé
¶åçç©è", |
| | | }, |
| | | { |
| | | title: "ä½è
æå¡", |
| | | content: |
| | | "æ¬ä¹¦å±äºæ®éé«çæè²âåä¸äºâ*è§åææ,主è¦é对é«çåä¸é¢æ ¡å¨ç©å»å¦åå¨ç©ç§å¦ä¸ä¸å¦çç¼åãå
容注éåºç¡ç¥è¯,é度èç³»ä¸ä¸å®é
,å¹¶å¼å
¥äºçç©åå¦çæ°è¿å±ãå
容å
±å为15ç« ,å
æ¬äºå¤§é¨å:(1)çç©ååçç»æä¸åè½,å
æ¬æ ¸é
¸ãèç½è´¨ãé
¶åçç©è", |
| | | }, |
| | | { |
| | | title: "ä½è
æå¡", |
| | | content: |
| | | "æ¬ä¹¦å±äºæ®éé«çæè²âåä¸äºâ*è§åææ,主è¦é对é«çåä¸é¢æ ¡å¨ç©å»å¦åå¨ç©ç§å¦ä¸ä¸å¦çç¼åãå
容注éåºç¡ç¥è¯,é度èç³»ä¸ä¸å®é
,å¹¶å¼å
¥äºçç©åå¦çæ°è¿å±ãå
容å
±å为15ç« ,å
æ¬äºå¤§é¨å:(1)çç©ååçç»æä¸åè½,å
æ¬æ ¸é
¸ãèç½è´¨ãé
¶åçç©è", |
| | | }, |
| | | ], |
| | | }; |
| | | }, |
| | | }; |
| | | </script> |
| | | |
| | | <style scoped> |
| | | .bookInfo { |
| | | width: 813px; |
| | | background-color: #fff; |
| | | margin: 10px 0 0 10px; |
| | | padding: 40px; |
| | | } |
| | | .recommend { |
| | | max-height: 270px; |
| | | background-color: #fbf5eb; |
| | | overflow: auto; |
| | | border-radius: 4px; |
| | | border: 1px solid #ebd5b4; |
| | | } |
| | | .title { |
| | | height: 20px; |
| | | line-height: 20px; |
| | | border-bottom: 1px dashed #d6d6d6; |
| | | padding: 20px; |
| | | color: #333333; |
| | | font-size: 18px; |
| | | font-weight: 700; |
| | | } |
| | | .content { |
| | | max-height: 210px; |
| | | line-height: 40px; |
| | | margin-top: 20px; |
| | | } |
| | | .itemTitle { |
| | | height: 20px; |
| | | background: #f8f8f8; |
| | | position: relative; |
| | | } |
| | | .titleName { |
| | | font-size: 18px; |
| | | font-weight: 700; |
| | | position: absolute; |
| | | top: -10px; |
| | | } |
| | | .otherBox { |
| | | margin-top: 40px; |
| | | } |
| | | .itemContent { |
| | | padding: 20px; |
| | | line-height: 20px; |
| | | } |
| | | .itemBox{ |
| | | margin-top: 50px; |
| | | } |
| | | </style> |
New file |
| | |
| | | <template> |
| | | <div class="bookInfo"> |
| | | <div class="recommend" v-if="bookInfo.caupress_recommendationReason"> |
| | | <div class="title">æ¨èçç±</div> |
| | | <div |
| | | class="content" |
| | | v-html="bookInfo.caupress_recommendationReason" |
| | | ></div> |
| | | </div> |
| | | <div class="otherBox"> |
| | | <div class="itemBox" v-for="(item, index) in dataList" :key="index"> |
| | | <div v-if="item.content != undefined && item.content.length > 0"> |
| | | <div class="itemTitle"> |
| | | <div class="titleName">{{ item.title }}</div> |
| | | |
| | | </div> |
| | | <div |
| | | class="itemContent" |
| | | v-html="item.content" |
| | | v-if="item.content != undefined" |
| | | ></div> |
| | | <el-empty description="ææ å
容" v-else></el-empty> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | export default { |
| | | data() { |
| | | return { |
| | | dataList: [ |
| | | { |
| | | title: "ä½è
ç®ä»", |
| | | content: null, |
| | | }, |
| | | { |
| | | title: "ç®ä»", |
| | | content: null, |
| | | }, |
| | | { |
| | | title: "åè¨", |
| | | content: null, |
| | | }, |
| | | { |
| | | title: "ç®å½", |
| | | content: null, |
| | | }, |
| | | ], |
| | | }; |
| | | }, |
| | | props: { |
| | | bookInfo: { |
| | | type: Object, |
| | | default: () => {}, |
| | | }, |
| | | }, |
| | | watch: { |
| | | bookInfo() { |
| | | this.dataList.forEach((item) => { |
| | | if (item.title == "ä½è
ç®ä»") |
| | | item.content = this.bookInfo.caupress_authorAbout; |
| | | if (item.title == "ç®ä»") item.content = this.bookInfo.caupress_content; |
| | | if (item.title == "åè¨") item.content = this.bookInfo.caupress_preface; |
| | | if (item.title == "ç®å½") item.content = this.bookInfo.caupress_catalog; |
| | | }); |
| | | }, |
| | | }, |
| | | }; |
| | | </script> |
| | | |
| | | <style scoped> |
| | | .bookInfo { |
| | | width: 813px; |
| | | background-color: #fff; |
| | | margin: 10px 0 0 10px; |
| | | padding: 40px; |
| | | box-sizing: border-box; |
| | | } |
| | | .recommend { |
| | | max-height: 270px; |
| | | background-color: #fbf5eb; |
| | | overflow: auto; |
| | | border-radius: 4px; |
| | | border: 1px solid #ebd5b4; |
| | | } |
| | | .title { |
| | | height: 20px; |
| | | line-height: 20px; |
| | | border-bottom: 1px dashed #d6d6d6; |
| | | padding: 20px; |
| | | color: #333333; |
| | | font-size: 18px; |
| | | font-weight: 700; |
| | | } |
| | | .content { |
| | | max-height: 210px; |
| | | line-height: 40px; |
| | | margin-top: 20px; |
| | | padding: 20px; |
| | | } |
| | | .itemTitle { |
| | | height: 20px; |
| | | position: relative; |
| | | border-left: 3px solid #019E58; |
| | | line-height: 20px; |
| | | padding-left: 20px; |
| | | } |
| | | .titleName { |
| | | font-size: 18px; |
| | | font-weight: 700; |
| | | position: absolute; |
| | | } |
| | | .otherBox { |
| | | margin-top: 40px; |
| | | } |
| | | .itemContent { |
| | | padding: 20px; |
| | | line-height: 25px; |
| | | max-height: 900px; |
| | | overflow: auto; |
| | | } |
| | | .itemBox { |
| | | margin-top: 50px; |
| | | } |
| | | </style> |
New file |
| | |
| | | <template> |
| | | <div class="relatedBox"> |
| | | <div class="headBox"> |
| | | <div class="titleBox">{{ title }}</div> |
| | | </div> |
| | | <div class="bookBox" v-if="dataList.length > 0"> |
| | | <div class="itemBox" v-for="(item, index) in dataList" :key="index"> |
| | | <div class="checkBox"> |
| | | <el-checkbox |
| | | @change="selectBook(item)" |
| | | v-model="item.checked" |
| | | label |
| | | ></el-checkbox> |
| | | </div> |
| | | <div class="imgBox"> |
| | | <img class="autoImg" :src="item.icon" alt="" /> |
| | | </div> |
| | | <div class="rightBox"> |
| | | <div class="bookName"> |
| | | {{ item.name }} |
| | | </div> |
| | | <div class="authorBox">ä½è
ï¼{{ item.caupress_author }}</div> |
| | | <div class="authorBox"> |
| | | åºçæ¶é´ï¼{{ |
| | | item.caupress_publicationDate |
| | | ? moment(item.caupress_publicationDate).format("YYYY-MM-DD") |
| | | : "-" |
| | | }} |
| | | </div> |
| | | <div class="authorBox">ISBNï¼{{ item.caupress_ISBN }}</div> |
| | | </div> |
| | | <div class="iconBox" @click="deleteItem(item, index)"> |
| | | <i class="iconfont icon-shanchu"></i> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <el-empty :image-size="100" description="ææ èµæº" v-else></el-empty> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | export default { |
| | | data() { |
| | | return { |
| | | dataList: [], |
| | | detailRoute: "bookStore-detail", |
| | | }; |
| | | }, |
| | | created() { |
| | | this.getData("caupress_teachingResource"); |
| | | }, |
| | | props: { |
| | | title: { |
| | | type: String, |
| | | }, |
| | | }, |
| | | methods: { |
| | | getData(channel) { |
| | | if (this.$route.name == "teachingServices-applyBook-paper") { |
| | | this.dataList = this.$store.state.paperCopiesList; |
| | | } else { |
| | | this.dataList = this.$store.state.electronicBookList; |
| | | } |
| | | this.dataList.forEach((item) => { |
| | | this.$set(item,"checked",false) |
| | | // item.checked = false; |
| | | }); |
| | | // this.dataList = res.datas; |
| | | // this.$emit("getList", this.dataList); |
| | | }, |
| | | selectBook(val) { |
| | | this.$emit("getList", this.dataList); |
| | | }, |
| | | toDetail(row) { |
| | | this.$emit("reloadPage", row); |
| | | }, |
| | | deleteItem(item, index) { |
| | | this.$confirm("æ¯å¦å é¤å½åæ ·ä¹¦?", "æç¤º", { |
| | | confirmButtonText: "ç¡®å®", |
| | | cancelButtonText: "åæ¶", |
| | | type: "warning", |
| | | }) |
| | | .then(() => { |
| | | if (this.$route.name == "teachingServices-applyBook-paper") { |
| | | this.$store.commit("deletePbookList", index); |
| | | } else { |
| | | this.$store.commit("deleteEbookList", index); |
| | | } |
| | | this.$message({ |
| | | type: "success", |
| | | message: "å 餿å!", |
| | | }); |
| | | if (this.dataList.length == 0) { |
| | | this.$router.push("/teachingServices"); |
| | | } |
| | | }) |
| | | .catch(() => {}); |
| | | }, |
| | | }, |
| | | }; |
| | | </script> |
| | | |
| | | <style scoped> |
| | | .relatedBox { |
| | | width: 100%; |
| | | background-color: #fff; |
| | | margin: 10px 0 0 0px; |
| | | border-top: 1px solid #00873c; |
| | | box-sizing: border-box; |
| | | } |
| | | .titleBox { |
| | | height: 60px; |
| | | background: #d8f7e6; |
| | | line-height: 60px; |
| | | padding: 0 40px; |
| | | font-weight: 700; |
| | | color: #00873c; |
| | | font-size: 18px; |
| | | } |
| | | .bookBox { |
| | | display: flex; |
| | | flex-wrap: wrap; |
| | | background-color: #fff; |
| | | padding: 10px; |
| | | } |
| | | .imgBox { |
| | | width: 100px; |
| | | height: 150px; |
| | | position: relative; |
| | | border: 1px solid #eee; |
| | | } |
| | | .rightBox { |
| | | flex: 1; |
| | | overflow: hidden; |
| | | margin-left: 10px; |
| | | } |
| | | .itemBox { |
| | | flex: 1; |
| | | overflow: hidden; |
| | | display: flex; |
| | | padding: 10px; |
| | | position: relative; |
| | | border: 1px solid #ccc; |
| | | margin: 0 5px; |
| | | } |
| | | .bookName { |
| | | font-size: 16px !important; |
| | | line-height: 20px; |
| | | text-overflow: ellipsis; |
| | | display: -webkit-box; |
| | | -webkit-box-orient: vertical; |
| | | -webkit-line-clamp: 2; /* è¿éæ¯è¶
åºå è¡çç¥ */ |
| | | overflow: hidden; |
| | | } |
| | | .authorBox { |
| | | margin-top: 20px; |
| | | color: #666666; |
| | | position: relative; |
| | | } |
| | | .iconBox { |
| | | cursor: pointer; |
| | | color: red; |
| | | margin-left: 10px; |
| | | } |
| | | .toDetail { |
| | | margin-top: 50px; |
| | | color: #00873c; |
| | | } |
| | | .authorName { |
| | | max-width: 86px; |
| | | position: absolute; |
| | | line-height: 20px; |
| | | top: -4px; |
| | | left: 44px; |
| | | } |
| | | .headBox { |
| | | display: flex; |
| | | background: #d8f7e6; |
| | | justify-content: space-between; |
| | | } |
| | | .viewMore { |
| | | cursor: pointer; |
| | | padding: 20px; |
| | | color: #999; |
| | | } |
| | | .checkBox { |
| | | margin-right: 10px; |
| | | line-height: 150px; |
| | | } |
| | | </style> |
New file |
| | |
| | | <template> |
| | | <div class="infoBox"> |
| | | <div class="contentBox"> |
| | | <div class="crumbs"> |
| | | <el-breadcrumb separator-class="el-icon-arrow-right"> |
| | | <el-breadcrumb-item :to="{ name: 'bookStore' }" |
| | | >æ°åææ</el-breadcrumb-item |
| | | > |
| | | <el-breadcrumb-item>详æ
</el-breadcrumb-item> |
| | | </el-breadcrumb> |
| | | </div> |
| | | <div class="infoTag" v-if="bookInfo.caupress_projectTitle"> |
| | | <el-tooltip |
| | | class="item" |
| | | effect="dark" |
| | | :content="bookInfo.caupress_projectTitle" |
| | | placement="top-start" |
| | | > |
| | | <div class="tagText"> |
| | | {{ bookInfo.caupress_projectTitle }} |
| | | </div> |
| | | </el-tooltip> |
| | | </div> |
| | | <div class="bookDetail"> |
| | | <div class="bookImg"> |
| | | <img class="autoImg" :src="bookInfo.icon" alt="" /> |
| | | </div> |
| | | <span class="iconfont icon-tubiaozhizuo"></span> |
| | | |
| | | <div class="detailBox"> |
| | | <div class="bookTitle"> |
| | | <div class="bookName" :title="bookInfo.name"> |
| | | {{ bookInfo.name }} |
| | | </div> |
| | | <div class="bookTag" :title="bookInfo.caupress_seriesName"> |
| | | {{ bookInfo.caupress_seriesName }} |
| | | </div> |
| | | <div class="collectBox"> |
| | | <img |
| | | @click="collectBook" |
| | | v-if="bookInfo.isFavourite" |
| | | class="buyIcon" |
| | | src="@/assets/images/bookStore/shoucang.svg" |
| | | style="margin-right: 10px" |
| | | /> |
| | | <span |
| | | @click="collectBook" |
| | | v-else |
| | | class="iconfont icon-shoucang" |
| | | style="margin-right: 10px" |
| | | > |
| | | </span> |
| | | <div |
| | | class="collectText" |
| | | @click="collectBook" |
| | | v-if="bookInfo.isFavourite" |
| | | > |
| | | å·²æ¶è |
| | | </div> |
| | | <div class="collectText" @click="collectBook" v-else>æ¶è</div> |
| | | </div> |
| | | </div> |
| | | <div class="authorBox"> |
| | | <div class="titleBox1"> |
| | | <div>ä½è
ï¼</div> |
| | | <div>åºçæ¶é´ï¼</div> |
| | | </div> |
| | | <div class="valueBox"> |
| | | <div> |
| | | {{ bookInfo.caupress_author ? bookInfo.caupress_author : "-" }} |
| | | </div> |
| | | <div> |
| | | {{ |
| | | bookInfo.caupress_publicationDate |
| | | ? moment(bookInfo.caupress_publicationDate).format( |
| | | "YYYY-MM-DD" |
| | | ) |
| | | : "-" |
| | | }} |
| | | </div> |
| | | </div> |
| | | <div class="titleBox1" style="margin-left: 30px"> |
| | | <div>ISBNï¼</div> |
| | | <div>çæ¬¡ï¼</div> |
| | | </div> |
| | | <div class="valueBox"> |
| | | <div> |
| | | {{ bookInfo.caupress_ISBN ? bookInfo.caupress_ISBN : "-" }} |
| | | </div> |
| | | <div> |
| | | {{ |
| | | bookInfo.caupress_pubNumber |
| | | ? bookInfo.caupress_pubNumber |
| | | : "-" |
| | | }} |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="authorBox" style="box-sizing: border-box"> |
| | | <div class="titleBox1"> |
| | | <div>ä¸çº§åç±»ï¼</div> |
| | | <div>äºçº§åç±»ï¼</div> |
| | | </div> |
| | | <div class="valueBox"> |
| | | <div>å
¨å½é«çè䏿è²é¢é²å»å¦ä¸ä¸è§åææ</div> |
| | | <div>äºçº§åç±»ï¼é«çè䏿è²</div> |
| | | </div> |
| | | </div> |
| | | <div class="purchaseBox"> |
| | | <div class="priceBox"> |
| | | <span v-if="bookInfo.price && bookInfo.price > 0"> |
| | | <span>å®ä»·ï¼</span><span>ï¿¥</span> |
| | | <span>{{ this.tool.toDecimal2(bookInfo.price) || "-" }}</span |
| | | ><span v-if="bookInfo.VirtualPrice" |
| | | >åä»·ï¼ï¿¥{{ bookInfo.VirtualPrice }}</span |
| | | > |
| | | </span> |
| | | |
| | | <span class="price" v-else> |
| | | <span class="freePrice">å
è´¹</span> |
| | | </span> |
| | | </div> |
| | | <div |
| | | class="buyInfo" |
| | | v-if=" |
| | | (currentRoute !== 'teachingServices' && |
| | | bookInfo.caupress_paperBookDD) || |
| | | bookInfo.caupress_paperBookJD || |
| | | bookInfo.caupress_paperBookTmall |
| | | " |
| | | > |
| | | 纸质书å
¶ä»è´ä¹°æ¸ éï¼ |
| | | <span @click="toJDLink" v-if="bookInfo.caupress_paperBookJD"> |
| | | <img |
| | | class="buyIcon" |
| | | src="@/assets/images/bookStore/京ä¸icon-01.svg" |
| | | />京ä¸</span |
| | | > |
| | | <span @click="toDDLink" v-if="bookInfo.caupress_paperBookDD" |
| | | ><img |
| | | class="buyIcon" |
| | | src="@/assets/images/bookStore/å½å½ç½.svg" |
| | | />å½å½</span |
| | | > |
| | | <span @click="toTmLink" v-if="bookInfo.caupress_paperBookTmall" |
| | | ><img |
| | | class="buyIcon" |
| | | src="@/assets/images/bookStore/tianmaologo2.svg" |
| | | />天ç«</span |
| | | > |
| | | </div> |
| | | </div> |
| | | <div class="btnBox"> |
| | | <el-button |
| | | v-if=" |
| | | currentRoute !== 'teachingServices' && |
| | | !this.bookInfo.alreadyBuy && |
| | | this.bookInfo.caupress_isSell && |
| | | this.bookInfo.caupress_isSell == '1' |
| | | " |
| | | type="primary" |
| | | :disabled="this.bookInfo.alreadyBuy" |
| | | @click="gotoOrder" |
| | | >çµå书è´ä¹°</el-button |
| | | > |
| | | <el-button |
| | | v-if="bookInfo.caupress_pdfFreeFile && !this.bookInfo.alreadyBuy" |
| | | type="primary" |
| | | plain |
| | | style="min-width: 98px" |
| | | @click="previewBook" |
| | | >è¯è¯»</el-button |
| | | > |
| | | <el-button |
| | | v-else-if="bookInfo.caupress_pdfFile && this.bookInfo.alreadyBuy" |
| | | type="primary" |
| | | plain |
| | | style="min-width: 98px" |
| | | @click="previewBook" |
| | | >ç«å³é
读</el-button |
| | | > |
| | | <el-button |
| | | v-if=" |
| | | currentRoute == 'teachingServices' && !this.bookInfo.alreadyBuy |
| | | " |
| | | plain |
| | | @click="addEbook" |
| | | >çµåæ ·ä¹¦</el-button |
| | | > |
| | | <el-button |
| | | v-if="currentRoute == 'teachingServices'" |
| | | plain |
| | | @click="addPaperBook" |
| | | >çº¸è´¨æ ·ä¹¦</el-button |
| | | > |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <el-dialog |
| | | title="èç³»ç¼è¾" |
| | | :visible.sync="contactVisible" |
| | | width="30%" |
| | | :lock-scroll="false" |
| | | > |
| | | <div class="contactBox" v-if="this.bookInfo.caupress_editor"> |
| | | <div class="contacItem"> |
| | | <i class="iconfont icon-renwu-ren contacIcon"></i> |
| | | {{ this.bookInfo.caupress_editor.name }} |
| | | </div> |
| | | <div class="contacItem"> |
| | | <i class="iconfont icon-QQ contacIcon"></i> |
| | | {{ this.bookInfo.caupress_editor.qq }} |
| | | </div> |
| | | <div class="contacItem"> |
| | | <i class="iconfont icon-tongxunlu contacIcon"></i> |
| | | {{ this.bookInfo.caupress_editor.phone }} |
| | | </div> |
| | | <div class="contacItem"> |
| | | <i class="iconfont icon-dianhua contacIcon"></i> |
| | | {{ this.bookInfo.caupress_editor.telephone }} |
| | | </div> |
| | | </div> |
| | | <el-empty |
| | | v-else |
| | | description="ææ æ°æ®" |
| | | class="empty" |
| | | :image-size="100" |
| | | ></el-empty> |
| | | </el-dialog> |
| | | <el-dialog |
| | | title="ä¿¡æ¯åé¦" |
| | | :visible.sync="dialogVisible" |
| | | width="50%" |
| | | :lock-scroll="false" |
| | | > |
| | | <div class="infoDialog"> |
| | | <el-input |
| | | type="textarea" |
| | | :rows="8" |
| | | placeholder="è¯¦ç»æè¿°æ¨æéå°çé®é¢ï¼æå©äºå¿«éç»æ¨åé¦ï¼" |
| | | v-model="textarea" |
| | | > |
| | | </el-input> |
| | | <div class="subBtn"> |
| | | <el-button type="primary" @click="sendDiscuss">æäº¤</el-button> |
| | | </div> |
| | | <div class="infoList"> |
| | | <div |
| | | class="infoItem" |
| | | v-for="(item, index) in commentList" |
| | | :key="index" |
| | | > |
| | | <div class="infoImg"> |
| | | <img v-if="item.icon" class="autoImg" :src="item.icon" alt="" /> |
| | | <i v-else class="el-icon-user-solid"></i> |
| | | </div> |
| | | <div class="infoContent"> |
| | | <div class="infoTitle"> |
| | | <div class="userNameBox">{{ item.content.name }}</div> |
| | | <div class="userNameBox"> |
| | | {{ moment(item.createDate).format("YYYY-MM-DD") }} |
| | | </div> |
| | | </div> |
| | | <div class="infoText"> |
| | | {{ item.content.content }} |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </el-dialog> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import { mapState } from "vuex"; |
| | | |
| | | export default { |
| | | data() { |
| | | return { |
| | | tagText: "æ®éé«çæè²åä¸äºè§åææï¼å
¨å½é«çæè²æ
游è§åææ", |
| | | price: 29, |
| | | dialogVisible: false, |
| | | contactVisible: false, |
| | | textarea: "", |
| | | // bookInfo: {}, |
| | | currentRoute: this.$route, |
| | | discussAreaId: "", //è¯è®ºID |
| | | |
| | | commentList: [], |
| | | editor: { |
| | | qq: "", |
| | | telephone: "", |
| | | mobilePhone: "", |
| | | name: "", |
| | | }, |
| | | paginationData: { |
| | | page: 1, |
| | | limit: 10, |
| | | totalCount: 0, |
| | | totalPage: 0, |
| | | }, |
| | | commentText: "", |
| | | requestedEBookList: [], // å·²ç³è¯·ççµå书 |
| | | requestedPBookList: [], // å·²ç³è¯·ç纸质书 |
| | | ebookTotalCount: 0, |
| | | pbookTotalCount: 0, |
| | | }; |
| | | }, |
| | | props: { |
| | | bookInfo: { |
| | | type: Object, |
| | | default: () => {}, |
| | | }, |
| | | }, |
| | | created() { |
| | | console.log(this.userInfo, "userInfo"); |
| | | this.currentRoute = this.currentRoute.fullPath.split("/")[1]; |
| | | this.getCommentTopic(); |
| | | this.getRequestedEBookList(); |
| | | this.getRequestedPBookList(); |
| | | let roleId = this.userInfo ? this.userInfo.roleId : null; |
| | | if (roleId) { |
| | | this.getEbookTicketRes(); |
| | | this.getPbookTicketRes(); |
| | | } |
| | | }, |
| | | computed: { |
| | | ...mapState(["userInfo"]), |
| | | }, |
| | | mounted() {}, |
| | | methods: { |
| | | //è·åçµå书å©ä½ç³è¯·æ¬¡æ° |
| | | getEbookTicketRes() { |
| | | this.MG.app |
| | | .getTicketResult({ |
| | | ticketRefCodeOrGuid: "electronicSampleBookapplyNum", |
| | | roleId: this.userInfo.roleId, |
| | | }) |
| | | .then((res) => { |
| | | this.ebookTotalCount = res.totalCount - res.usedCount; |
| | | }); |
| | | }, |
| | | //è·å纸质å©ä½ç³è¯·æ¬¡æ° |
| | | getPbookTicketRes() { |
| | | this.MG.app |
| | | .getTicketResult({ |
| | | ticketRefCodeOrGuid: "paperSampleBookapplyNum", |
| | | roleId: this.userInfo.roleId, |
| | | }) |
| | | .then((res) => { |
| | | this.pbookTotalCount = res.totalCount - res.usedCount; |
| | | }); |
| | | }, |
| | | //跳转è³äº¬ä¸é¾æ¥ |
| | | toJDLink() { |
| | | window.open(this.bookInfo.caupress_paperBookJD); |
| | | }, |
| | | |
| | | //跳转è³å½å½é¾æ¥ |
| | | toDDLink() { |
| | | window.open(this.bookInfo.caupress_paperBookDD); |
| | | }, |
| | | toTmLink() { |
| | | window.open(this.bookInfo.caupress_paperBookTmall); |
| | | }, |
| | | //è·åè¯è®ºID |
| | | getCommentTopic() { |
| | | this.MG.ugc |
| | | .getProductCommentTopic({ |
| | | productId: this.$route.query.id, |
| | | appRefCode: this.config.appRefCode, |
| | | }) |
| | | .then((res) => { |
| | | this.discussAreaId = res.id; |
| | | this.sysType = res.sysType; |
| | | this.getCommentList(); |
| | | }); |
| | | }, |
| | | |
| | | //è·åè¯è®ºå表 |
| | | getCommentList() { |
| | | this.MG.ugc |
| | | .getTopicMessageList({ |
| | | sort: { |
| | | type: "Desc", |
| | | field: "CreateDate", |
| | | }, |
| | | size: this.paginationData.limit, |
| | | start: (this.paginationData.page - 1) * this.paginationData.limit, |
| | | appRefCode: this.config.appRefCode, |
| | | topicIdOrRefCode: JSON.stringify(this.discussAreaId), |
| | | }) |
| | | .then((res) => { |
| | | this.commentList = res.datas; |
| | | this.commentList.forEach((item) => { |
| | | if (item.content) { |
| | | item.content = JSON.parse(item.content); |
| | | } |
| | | }); |
| | | console.log(this.commentList, "this.commentList"); |
| | | }); |
| | | }, |
| | | |
| | | //å表è¯è®º |
| | | sendDiscuss() { |
| | | if (this.textarea == "") { |
| | | this.$message({ |
| | | showClose: true, |
| | | message: "è¯è®ºä¸è½ä¸ºç©º", |
| | | type: "error", |
| | | }); |
| | | } else { |
| | | let content = { |
| | | content: this.textarea, |
| | | name: this.userInfo.name, |
| | | }; |
| | | const data = { |
| | | topicIdOrRefCode: JSON.stringify(this.discussAreaId), |
| | | name: this.bookInfo.name, |
| | | icon: this.userInfo.icon, |
| | | content: JSON.stringify(content), |
| | | type: "ProductComment", |
| | | cmsTypeRefCode: "", |
| | | newDataListRequest: [], |
| | | }; |
| | | this.MG.ugc.newTopicMessage(data).then((res) => { |
| | | this.$message({ |
| | | showClose: true, |
| | | message: "è¯è®ºæå", |
| | | type: "success", |
| | | }); |
| | | this.textarea = ""; |
| | | this.getCommentList(); |
| | | }); |
| | | } |
| | | }, |
| | | relation() { |
| | | this.contactVisible = true; |
| | | }, |
| | | setInfo() { |
| | | if (this.userInfo == null) { |
| | | this.$router.push({ |
| | | path: "/login", |
| | | query: { |
| | | redirectPath: this.$route.fullPath, |
| | | }, |
| | | }); |
| | | return; |
| | | } |
| | | this.dialogVisible = true; |
| | | }, |
| | | //å å
¥çº¸è´¨æ ·ä¹¦ |
| | | addPaperBook() { |
| | | if (!this.$store.state.token) { |
| | | this.$router.push({ |
| | | path: "/login", |
| | | query: { |
| | | redirectPath: this.$route.fullPath, |
| | | }, |
| | | }); |
| | | } else { |
| | | if (this.$store.state.userInfo.role !== "Teacher") { |
| | | this.$message({ |
| | | showClose: true, |
| | | message: "请å
è¿è¡æå¸è®¤è¯", |
| | | type: "warning", |
| | | }); |
| | | return; |
| | | } else { |
| | | if (this.pbookTotalCount == 0) { |
| | | this.$message({ |
| | | showClose: true, |
| | | message: "纸质书ç³è¯·æ¬¡æ°ä¸è¶³ï¼", |
| | | type: "warning", |
| | | }); |
| | | return; |
| | | } |
| | | let isHave = this.requestedPBookList.find( |
| | | (e) => e.state == "WaitAudit" && e.id == this.bookInfo.id |
| | | ); |
| | | if (isHave) { |
| | | this.$message.warning("æ¨å·²ç³è¯·è¯¥æ ·ä¹¦ï¼çå¾
å®¡æ ¸ä¸!"); |
| | | return false; |
| | | } |
| | | if (this.$store.state.paperCopiesList.length >= 3) { |
| | | this.$message.warning("æ·»å 书ç±ä¸è½è¶
è¿ä¸æ¬"); |
| | | return; |
| | | } |
| | | if (this.$store.state.paperCopiesList.length > 0) { |
| | | let currentBook = this.$store.state.paperCopiesList.filter( |
| | | (item) => item.id == this.bookInfo.id |
| | | ); |
| | | if (currentBook.length > 0) { |
| | | this.$message.warning("请å¿é夿·»å 书ç±"); |
| | | return; |
| | | } else { |
| | | this.$store.commit("addPbookList", this.bookInfo); |
| | | this.$message.success("æ·»å æåï¼"); |
| | | } |
| | | } else { |
| | | this.$store.commit("addPbookList", this.bookInfo); |
| | | this.$message.success("æ·»å æåï¼"); |
| | | } |
| | | } |
| | | } |
| | | }, |
| | | // è·åå·²ç³è¯·ççµå书 |
| | | getRequestedEBookList() { |
| | | const data = { |
| | | start: 0, |
| | | size: 99999999, |
| | | appRefCode: this.config.appRefCode, |
| | | topicIdOrRefCode: this.config.refCodes.applyBook, |
| | | }; |
| | | this.MG.ugc.getTopicMessageList(data).then((res) => { |
| | | try { |
| | | if (res && res.datas.length > 0) { |
| | | let list = []; |
| | | for (let i = 0; i < res.datas.length; i++) { |
| | | const ele = res.datas[i]; |
| | | if (ele.content) { |
| | | ele.content = JSON.parse(ele.content); |
| | | ele.content.map((item) => (item.state = ele.state)); |
| | | } |
| | | if (ele.feedBack) { |
| | | ele.isRead = false; |
| | | ele.feedBack = JSON.parse(ele.feedBack); |
| | | const readDate = new Date( |
| | | ele.feedBack.endDate + " 23:59:59" |
| | | ).getTime(); |
| | | const currentDate = Number(sessionStorage.currentDate); |
| | | if (readDate > currentDate) { |
| | | ele.isRead = true; |
| | | } |
| | | } |
| | | list.push(...ele.content); |
| | | } |
| | | this.requestedEBookList = list; |
| | | } |
| | | } catch (error) { |
| | | this.requestedEBookList = []; |
| | | } |
| | | }); |
| | | }, |
| | | // è·åå·²ç³è¯·ç纸质书 |
| | | getRequestedPBookList() { |
| | | const data = { |
| | | start: 0, |
| | | size: 99999999, |
| | | appRefCode: this.config.appRefCode, |
| | | topicIdOrRefCode: this.config.refCodes.applyEntityBook, |
| | | }; |
| | | this.MG.ugc.getTopicMessageList(data).then((res) => { |
| | | try { |
| | | if (res && res.datas.length > 0) { |
| | | let list = []; |
| | | for (let i = 0; i < res.datas.length; i++) { |
| | | const ele = res.datas[i]; |
| | | if (ele.content) { |
| | | ele.content = JSON.parse(ele.content); |
| | | ele.content.map((item) => (item.state = ele.state)); |
| | | } |
| | | list.push(...ele.content); |
| | | } |
| | | this.requestedPBookList = list; |
| | | } |
| | | } catch (error) { |
| | | this.requestedPBookList = []; |
| | | } |
| | | }); |
| | | }, |
| | | //å å
¥çµåæ ·ä¹¦ |
| | | addEbook() { |
| | | if (!this.$store.state.token) { |
| | | this.$router.push({ |
| | | path: "/login", |
| | | query: { |
| | | redirectPath: this.$route.fullPath, |
| | | }, |
| | | }); |
| | | } else { |
| | | console.log(this.ebookTotalCount, "this.ebookTotalCount"); |
| | | console.log(this.pbookTotalCount, "this.pookTotalCount"); |
| | | if (this.$store.state.userInfo.role !== "Teacher") { |
| | | this.$message({ |
| | | showClose: true, |
| | | message: "请å
è¿è¡æå¸è®¤è¯", |
| | | type: "warning", |
| | | }); |
| | | |
| | | return; |
| | | } |
| | | if (this.ebookTotalCount == 0) { |
| | | this.$message({ |
| | | showClose: true, |
| | | message: "çµå书ç³è¯·æ¬¡æ°ä¸è¶³ï¼", |
| | | type: "warning", |
| | | }); |
| | | return; |
| | | } else { |
| | | if (this.bookInfo.alreadyBuy) { |
| | | this.$message.warning("æ¬ä¹¦å·²å¨æææå
ï¼è¯·å¿éå¤ç³è¯·"); |
| | | return; |
| | | } |
| | | let isHave = this.requestedEBookList.find( |
| | | (e) => e.state == "WaitAudit" && e.id == this.bookInfo.id |
| | | ); |
| | | if (isHave) { |
| | | this.$message.warning("æ¨å·²ç³è¯·è¯¥æ ·ä¹¦ï¼çå¾
å®¡æ ¸ä¸!"); |
| | | return false; |
| | | } |
| | | if (this.$store.state.electronicBookList.length >= 3) { |
| | | this.$message.warning("æ·»å 书ç±ä¸è½è¶
è¿ä¸æ¬"); |
| | | return; |
| | | } |
| | | if (this.$store.state.electronicBookList.length > 0) { |
| | | let currentBook = this.$store.state.electronicBookList.filter( |
| | | (item) => item.id == this.bookInfo.id |
| | | ); |
| | | if (currentBook.length > 0) { |
| | | this.$message.warning("请å¿é夿·»å 书ç±"); |
| | | return; |
| | | } else { |
| | | this.$store.commit("addEbookList", this.bookInfo); |
| | | this.$message.success("æ·»å æåï¼"); |
| | | } |
| | | } else { |
| | | this.$store.commit("addEbookList", this.bookInfo); |
| | | this.$message.success("æ·»å æåï¼"); |
| | | } |
| | | } |
| | | } |
| | | }, |
| | | gotoOrder() { |
| | | if (this.$store.state.token) { |
| | | let saleMethod = this.bookInfo.saleMethod.find( |
| | | (item) => item.Type == "defaultSaleMethod" |
| | | ); |
| | | if (saleMethod) { |
| | | console.log(saleMethod, "saleMethod"); |
| | | this.MG.store |
| | | .initOrder({ |
| | | requests: [ |
| | | { |
| | | saleMethodId: saleMethod.Id, |
| | | count: 1, |
| | | }, |
| | | ], |
| | | }) |
| | | .then((res) => { |
| | | console.log(res, "res"); |
| | | if (res.orderNumber) { |
| | | this.$router.push({ |
| | | name: "bookStore-order", |
| | | query: { |
| | | orderNum: res.orderNumber, |
| | | }, |
| | | }); |
| | | } else { |
| | | this.$message.warning("å½å书ç±é宿¹å¼è¿æï¼è¯·è系管çåï¼"); |
| | | } |
| | | }); |
| | | } else { |
| | | this.$message({ |
| | | message: "æªè·åå°å¯å®åçè§æ ¼ï¼è¯·è系管çåï¼", |
| | | type: "error", |
| | | }); |
| | | } |
| | | } else { |
| | | this.$router.push({ |
| | | path: "/login", |
| | | query: { |
| | | redirectPath: this.$route.fullPath, |
| | | }, |
| | | }); |
| | | } |
| | | }, |
| | | collectBook() { |
| | | if (this.tool.getCookie(this.config.tokenKey)) { |
| | | if (this.bookInfo.isFavourite) { |
| | | this.MG.store |
| | | .delProductLink({ |
| | | productIds: [this.$route.query.id], |
| | | linkType: "Favorite", |
| | | }) |
| | | .then((res) => { |
| | | this.$parent.getData(); |
| | | }); |
| | | } else { |
| | | let params = { |
| | | productIds: [this.$route.query.id], |
| | | linkType: "Favorite", |
| | | }; |
| | | if (this.$route.path == "/bookStore/detail") { |
| | | params.LinkTag = "bookStore"; |
| | | } else { |
| | | params.LinkTag = "teachingServices"; |
| | | } |
| | | this.MG.store.productLink(params).then((res) => { |
| | | this.$parent.getData(); |
| | | }); |
| | | } |
| | | } else { |
| | | this.$router.push({ |
| | | path: "/login", |
| | | query: { |
| | | redirectPath: this.$route.fullPath, |
| | | }, |
| | | }); |
| | | } |
| | | }, |
| | | previewBook() { |
| | | let routeUrl = this.$router.resolve({ |
| | | name: "preview-pdf", |
| | | query: { |
| | | md5: this.bookInfo.alreadyBuy |
| | | ? this.bookInfo.caupress_pdfFile |
| | | : this.bookInfo.caupress_pdfFreeFile, |
| | | titleName: this.bookInfo.name, |
| | | productLinkPath: this.bookInfo.productLinkPath, |
| | | }, |
| | | }); |
| | | window.open(routeUrl.href, "_blank"); |
| | | }, |
| | | }, |
| | | }; |
| | | </script> |
| | | |
| | | <style scoped> |
| | | .infoBox { |
| | | width: 100%; |
| | | height: 530px; |
| | | padding-top: 10px; |
| | | background-color: #fff; |
| | | background-image: url("@/assets/images/xiehe/detail/details_bg.png"); |
| | | } |
| | | .infoTag { |
| | | position: relative; |
| | | width: 0px; |
| | | height: 0px; |
| | | border-right: 20px solid #fff; |
| | | border-left: 503px solid #e50021; |
| | | border-top: 19px solid #e50021; |
| | | border-bottom: 19px solid #e50021; |
| | | } |
| | | .tagText { |
| | | position: absolute; |
| | | left: -480px; |
| | | top: -9.5px; |
| | | max-width: 480px; |
| | | text-overflow: ellipsis; |
| | | color: #fff; |
| | | font-size: 18px; |
| | | overflow: hidden; |
| | | white-space: nowrap; |
| | | } |
| | | .bookDetail { |
| | | display: flex; |
| | | overflow: hidden; |
| | | margin-top: 30px; |
| | | } |
| | | .bookImg { |
| | | position: relative; |
| | | width: 338px; |
| | | height: 400px; |
| | | box-shadow: 2px 2px 10px #f2f2f2; |
| | | } |
| | | .detailBox { |
| | | flex: 1; |
| | | height: 450px; |
| | | position: relative; |
| | | margin-top: 20px; |
| | | overflow: hidden; |
| | | } |
| | | .collectBox { |
| | | position: absolute; |
| | | right: 80px; |
| | | font-size: 14px; |
| | | color: #999999; |
| | | cursor: pointer; |
| | | } |
| | | |
| | | .collectBox span:nth-child(1) { |
| | | margin-right: 10px; |
| | | font-size: 16px; |
| | | } |
| | | .collectBox span:nth-child(2) { |
| | | margin-left: 10px; |
| | | margin-right: 10px; |
| | | |
| | | font-size: 16px; |
| | | } |
| | | .iconfont { |
| | | font-size: 25px !important; |
| | | vertical-align: middle; |
| | | } |
| | | .bookTitle { |
| | | width: 100%; |
| | | height: 40px; |
| | | line-height: 40px; |
| | | padding-left: 100px; |
| | | display: flex; |
| | | padding-right: 240px; |
| | | box-sizing: border-box; |
| | | } |
| | | .collectText { |
| | | font-size: 16px; |
| | | line-height: 25px; |
| | | display: inline-block; |
| | | } |
| | | .bookName { |
| | | flex: 1; |
| | | font-size: 26px; |
| | | color: #333; |
| | | text-overflow: ellipsis; |
| | | white-space: nowrap; |
| | | overflow: hidden; |
| | | } |
| | | .bookTag { |
| | | max-width: 200px; |
| | | font-size: 16px; |
| | | color: #333; |
| | | line-height: 36px; |
| | | margin-left: 15px; |
| | | text-overflow: ellipsis; |
| | | white-space: nowrap; |
| | | overflow: hidden; |
| | | } |
| | | .authorBox { |
| | | width: 80%; |
| | | display: flex; |
| | | padding: 20px; |
| | | padding-left: 100px; |
| | | position: relative; |
| | | } |
| | | .valueBox { |
| | | margin-left: 20px; |
| | | } |
| | | .valueBox div { |
| | | height: 30px; |
| | | } |
| | | .titleBox1 div { |
| | | height: 30px; |
| | | } |
| | | .relationBox { |
| | | position: absolute; |
| | | right: 50px; |
| | | color: #999; |
| | | cursor: pointer; |
| | | font-size: 14px; |
| | | } |
| | | .purchaseBox { |
| | | margin-left: 100px; |
| | | padding-top: 20px; |
| | | } |
| | | .priceBox { |
| | | border-bottom: 1px dashed #ececec; |
| | | background-color: #B2D9C8; |
| | | height: 50px; |
| | | line-height: 50px; |
| | | padding-left: 20px; |
| | | } |
| | | .priceBox span:nth-child(1) { |
| | | color: #000; |
| | | font-weight: 700; |
| | | font-size: 16px; |
| | | padding-right: 20px; |
| | | } |
| | | .priceBox span:nth-child(2) { |
| | | color: #e50021; |
| | | font-size: 16px; |
| | | } |
| | | .priceBox span:nth-child(3) { |
| | | color: #e50021; |
| | | font-size: 22px; |
| | | font-weight: 700; |
| | | padding-right: 20px; |
| | | } |
| | | .priceBox span:nth-child(4) { |
| | | color: #333; |
| | | font-size: 16px; |
| | | padding-right: 20px; |
| | | text-decoration: line-through; |
| | | } |
| | | .buyInfo { |
| | | padding: 20px 0px; |
| | | border-bottom: 1px dashed #ececec; |
| | | cursor: pointer; |
| | | } |
| | | .buyInfo img { |
| | | margin-left: 10px; |
| | | } |
| | | .btnBox { |
| | | margin-left: 100px; |
| | | margin-top: 30px; |
| | | } |
| | | .infoItem { |
| | | display: flex; |
| | | margin-top: 40px; |
| | | } |
| | | .infoImg { |
| | | width: 50px; |
| | | height: 50px; |
| | | border-radius: 50%; |
| | | border: 1px solid #ccc; |
| | | background: #efefef; |
| | | text-align: center; |
| | | line-height: 60px; |
| | | position: relative; |
| | | } |
| | | .infoImg i { |
| | | font-size: 28px; |
| | | } |
| | | .infoList { |
| | | margin-top: 20px; |
| | | overflow: auto; |
| | | } |
| | | .infoContent { |
| | | flex: 1; |
| | | overflow: hidden; |
| | | padding: 0 20px 0 10px; |
| | | } |
| | | .infoDialog { |
| | | padding: 20px; |
| | | } |
| | | .infoTitle { |
| | | width: 100%; |
| | | display: flex; |
| | | justify-content: space-between; |
| | | } |
| | | .infoText { |
| | | margin-top: 24px; |
| | | line-height: 20px; |
| | | } |
| | | .contactBox { |
| | | padding: 0px 40px; |
| | | } |
| | | .contacItem { |
| | | margin-top: 20px; |
| | | } |
| | | .contacIcon { |
| | | padding-right: 20px; |
| | | } |
| | | .subBtn { |
| | | margin-top: 20px; |
| | | text-align: right; |
| | | } |
| | | .buyIcon { |
| | | width: 24px; |
| | | height: 24px; |
| | | vertical-align: middle; |
| | | } |
| | | .crumbs { |
| | | margin-top: 10px; |
| | | border-bottom: 1px solid rgba(20, 73, 65, 0.26); |
| | | padding-bottom: 20px; |
| | | } |
| | | </style> |
New file |
| | |
| | | <template> |
| | | <div class="relatedBox"> |
| | | <div class="headBox"> |
| | | <div class="titleBox">çµåæ ·ä¹¦</div> |
| | | <div class="inventory" @click="createList"> |
| | | <i class="iconfont icon-tongxunlu"></i> çææ¸
å |
| | | </div> |
| | | </div> |
| | | <div class="bookBox" v-if="$store.state.electronicBookList.length > 0"> |
| | | <div |
| | | class="itemBox" |
| | | v-for="(item, index) in $store.state.electronicBookList" |
| | | :key="index" |
| | | > |
| | | <div class="imgBox"> |
| | | <img class="autoImg" :src="item.icon" alt="" /> |
| | | </div> |
| | | <div class="rightBox"> |
| | | <div class="bookName"> |
| | | {{ item.name }} |
| | | </div> |
| | | <div class="authorBox1"> |
| | | ä½è
ï¼ |
| | | <div class="authorName">{{ item.caupress_author }}</div> |
| | | </div> |
| | | <div class="iconBox" @click="deleteItem(item, index)"> |
| | | <i class="iconfont icon-shanchu"></i> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="emptyBox" v-else> |
| | | <el-empty :image-size="100" description="ææ ä¹¦ç±"></el-empty> |
| | | </div> |
| | | </div> |
| | | |
| | | |
| | | </template> |
| | | |
| | | <script> |
| | | export default { |
| | | data() { |
| | | return {}; |
| | | }, |
| | | methods: { |
| | | deleteItem(item, index) { |
| | | this.$confirm("æ¯å¦å é¤å½åæ ·ä¹¦?", "æç¤º", { |
| | | confirmButtonText: "ç¡®å®", |
| | | cancelButtonText: "åæ¶", |
| | | type: "warning", |
| | | }) |
| | | .then(() => { |
| | | this.$store.commit("deleteEbookList", index); |
| | | this.$message({ |
| | | type: "success", |
| | | message: "å 餿å!", |
| | | }); |
| | | }) |
| | | .catch(() => {}); |
| | | }, |
| | | createList() { |
| | | if (this.$store.state.userInfo.role !== "Teacher") { |
| | | this.$message({ |
| | | showClose: true, |
| | | message: "请å
è¿è¡æå¸è®¤è¯", |
| | | type: "warning", |
| | | }); |
| | | return; |
| | | } |
| | | if (this.$store.state.electronicBookList.length == 0) { |
| | | this.$message.error("请添å çµåæ ·ä¹¦åçææ¸
åï¼"); |
| | | return; |
| | | } else { |
| | | this.$router.push("applyBook-electronic"); |
| | | } |
| | | }, |
| | | }, |
| | | }; |
| | | </script> |
| | | |
| | | <style scoped> |
| | | .relatedBox { |
| | | width: 377px; |
| | | margin-top: 10px; |
| | | border-top: 1px solid #00873c; |
| | | } |
| | | .titleBox { |
| | | height: 60px; |
| | | background: #d8f7e6; |
| | | line-height: 60px; |
| | | padding: 0 40px; |
| | | font-weight: 700; |
| | | color: #00873c; |
| | | font-size: 18px; |
| | | } |
| | | .bookBox { |
| | | background-color: #fff; |
| | | padding: 10px; |
| | | } |
| | | .imgBox { |
| | | width: 100px; |
| | | height: 150px; |
| | | position: relative; |
| | | padding: 10px; |
| | | border: 1px solid #ccc; |
| | | } |
| | | .rightBox { |
| | | flex: 1; |
| | | overflow: hidden; |
| | | position: relative; |
| | | margin-left: 10px; |
| | | } |
| | | .itemBox { |
| | | display: flex; |
| | | border-bottom: 1px solid #eeeeee; |
| | | padding: 10px; |
| | | } |
| | | .bookName { |
| | | font-size: 16px !important; |
| | | line-height: 20px; |
| | | text-overflow: ellipsis; |
| | | display: -webkit-box; |
| | | -webkit-box-orient: vertical; |
| | | -webkit-line-clamp: 2; /* è¿éæ¯è¶
åºå è¡çç¥ */ |
| | | overflow: hidden; |
| | | } |
| | | .authorBox1 { |
| | | margin-top: 10px; |
| | | color: #666666; |
| | | position: relative; |
| | | } |
| | | .toDetail { |
| | | margin-top: 50px; |
| | | color: #00873c; |
| | | } |
| | | .authorName { |
| | | position: absolute; |
| | | line-height: 20px; |
| | | top: -4px; |
| | | left: 44px; |
| | | } |
| | | .headBox { |
| | | display: flex; |
| | | justify-content: space-between; |
| | | background: #d8f7e6; |
| | | } |
| | | .inventory { |
| | | cursor: pointer; |
| | | padding: 20px; |
| | | color: #999; |
| | | } |
| | | .iconBox { |
| | | position: absolute; |
| | | bottom: 20px; |
| | | right: 20px; |
| | | display: none; |
| | | cursor: pointer; |
| | | color: red; |
| | | } |
| | | .itemBox:hover .iconBox { |
| | | display: block; |
| | | } |
| | | .emptyBox { |
| | | background-color: #fff; |
| | | } |
| | | </style> |
New file |
| | |
| | | <template> |
| | | <div class="historyBox"> |
| | | <div class="titleBox">æµè§åå²</div> |
| | | <div class="iconBox" @click="deleteAll"> |
| | | <i class="iconfont icon-shanchu"></i> |
| | | </div> |
| | | <div class="itemBox"> |
| | | <div |
| | | class="historyItem" |
| | | v-for="(item, index) in this.$store.state.historyBook" |
| | | :key="index" |
| | | @click="toDetail(item)" |
| | | > |
| | | <div class="nameBox"> {{ item.name }}</div> |
| | | <div class="deleteIcon" @click="deleteHistory(index)">Ã</div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | export default { |
| | | name: "history", |
| | | data() { |
| | | return { |
| | | dataList: [], |
| | | }; |
| | | }, |
| | | methods: { |
| | | //å»è¯¦æ
|
| | | toDetail(row) { |
| | | this.$router.replace({ |
| | | name: "bookStore-detail", |
| | | query: { id: row.id, cmsPath: row.rootCmsItemId }, |
| | | }); |
| | | this.$emit("reloadPage", row); |
| | | }, |
| | | deleteHistory(index) { |
| | | this.$confirm("æ¯å¦å é¤å½åæµè§è®°å½?", "æç¤º", { |
| | | confirmButtonText: "ç¡®å®", |
| | | cancelButtonText: "åæ¶", |
| | | type: "warning", |
| | | }) |
| | | .then(() => { |
| | | this.$store.commit("deleteHistoryBook", index); |
| | | this.$message({ |
| | | type: "success", |
| | | message: "å 餿å!", |
| | | }); |
| | | }) |
| | | .catch(() => {}); |
| | | }, |
| | | deleteAll() { |
| | | this.$confirm("æ¯å¦å é¤å½åæµè§è®°å½?", "æç¤º", { |
| | | confirmButtonText: "ç¡®å®", |
| | | cancelButtonText: "åæ¶", |
| | | type: "warning", |
| | | }) |
| | | .then(() => { |
| | | this.$store.commit("deleteAllHistory"); |
| | | this.$message({ |
| | | type: "success", |
| | | message: "å 餿å!", |
| | | }); |
| | | }) |
| | | .catch(() => {}); |
| | | }, |
| | | }, |
| | | created() { |
| | | // this.dataList = this.$store.state.historyBook; |
| | | }, |
| | | }; |
| | | </script> |
| | | |
| | | <style scoped> |
| | | .historyBox { |
| | | position: relative; |
| | | width: 377px; |
| | | margin-top: 10px; |
| | | border-top: 1px solid #00873c; |
| | | } |
| | | |
| | | .titleBox { |
| | | height: 60px; |
| | | background: #d8f7e6; |
| | | line-height: 60px; |
| | | padding: 0 40px; |
| | | font-weight: 700; |
| | | color: #00873c; |
| | | font-size: 18px; |
| | | } |
| | | .itemBox { |
| | | padding: 0 40px; |
| | | background-color: #fff; |
| | | max-height: 1000px; |
| | | overflow-y: auto; |
| | | } |
| | | .historyItem { |
| | | height: 50px; |
| | | line-height: 50px; |
| | | width: 100%; |
| | | background-color: #fff; |
| | | border-bottom: 1px solid #eeeeee; |
| | | color: #333333; |
| | | position: relative; |
| | | |
| | | |
| | | } |
| | | .historyItem .nameBox { |
| | | width: 80%; |
| | | overflow: hidden; |
| | | white-space: nowrap; |
| | | text-overflow: ellipsis; |
| | | } |
| | | .deleteIcon { |
| | | position: absolute; |
| | | right: 10px; |
| | | top: 0px; |
| | | display: none; |
| | | } |
| | | .historyItem:hover div { |
| | | display: block; |
| | | color: #00873c; |
| | | cursor: pointer; |
| | | } |
| | | .historyItem:hover { |
| | | color: #00873c; |
| | | } |
| | | .iconBox { |
| | | position: absolute; |
| | | top: 20px; |
| | | right: 20px; |
| | | cursor: pointer; |
| | | color: red; |
| | | } |
| | | </style> |
New file |
| | |
| | | <template> |
| | | <div class="relatedBox"> |
| | | <div class="headBox"> |
| | | <div class="titleBox">çº¸è´¨æ ·ä¹¦</div> |
| | | <div class="inventory" @click="createList"> |
| | | <i class="iconfont icon-tongxunlu"></i> çææ¸
å |
| | | </div> |
| | | </div> |
| | | <div class="bookBox" v-if="$store.state.paperCopiesList.length > 0"> |
| | | <div |
| | | class="itemBox" |
| | | v-for="(item, index) in $store.state.paperCopiesList" |
| | | :key="index" |
| | | > |
| | | <div class="imgBox"> |
| | | <img class="autoImg" :src="item.icon" alt="" /> |
| | | </div> |
| | | <div class="rightBox"> |
| | | <div class="bookName"> |
| | | {{ item.name }} |
| | | </div> |
| | | <div class="authorBox1"> |
| | | ä½è
ï¼ |
| | | <div class="authorName">{{ item.caupress_author }}</div> |
| | | </div> |
| | | <div class="iconBox"> |
| | | <i |
| | | class="iconfont icon-shanchu" |
| | | @click="deleteItem(item, index)" |
| | | ></i> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="emptyBox" v-else> |
| | | <el-empty :image-size="100" description="ææ ä¹¦ç±"></el-empty> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | export default { |
| | | data() { |
| | | return { |
| | | dataList: [ |
| | | { |
| | | img: "@/assets/images/bookStore/testImg.png", |
| | | title: "æ æ¡çä¸èå°æ°´å 卿å群è½ç¹å¾ç ç©¶", |
| | | author: "å¾è£/æçå® ä½å³°/èé½è", |
| | | }, |
| | | { |
| | | img: "@/assets/images/bookStore/testImg.png", |
| | | title: "æ æ¡çä¸èå°æ°´å 卿å群è½ç¹å¾ç ç©¶", |
| | | author: "å¾è£/æçå® ä½å³°/èé½è", |
| | | }, |
| | | { |
| | | img: "@/assets/images/bookStore/testImg.png", |
| | | title: "æ æ¡çä¸èå°æ°´å 卿å群è½ç¹å¾ç ç©¶", |
| | | author: "å¾è£/æçå® ä½å³°/èé½è", |
| | | }, |
| | | { |
| | | img: "@/assets/images/bookStore/testImg.png", |
| | | title: "æ æ¡çä¸èå°æ°´å 卿å群è½ç¹å¾ç ç©¶", |
| | | author: "å¾è£/æçå® ä½å³°/èé½è", |
| | | }, |
| | | { |
| | | img: "@/assets/images/bookStore/testImg.png", |
| | | title: "æ æ¡çä¸èå°æ°´å 卿å群è½ç¹å¾ç ç©¶", |
| | | author: "å¾è£/æçå® ä½å³°/èé½è", |
| | | }, |
| | | ], |
| | | }; |
| | | }, |
| | | created() { |
| | | }, |
| | | methods: { |
| | | deleteItem(item, index) { |
| | | this.$confirm("æ¯å¦å é¤å½åæ ·ä¹¦?", "æç¤º", { |
| | | confirmButtonText: "ç¡®å®", |
| | | cancelButtonText: "åæ¶", |
| | | type: "warning", |
| | | }) |
| | | .then(() => { |
| | | this.$store.commit("deletePbookList", index); |
| | | this.$message({ |
| | | type: "success", |
| | | message: "å 餿å!", |
| | | }); |
| | | }) |
| | | .catch(() => {}); |
| | | }, |
| | | createList() { |
| | | if (this.$store.state.userInfo.role !== "Teacher") { |
| | | this.$message({ |
| | | showClose: true, |
| | | message: "请å
è¿è¡æå¸è®¤è¯", |
| | | type: "warning", |
| | | }); |
| | | return; |
| | | } |
| | | if (this.$store.state.paperCopiesList.length == 0) { |
| | | this.$message.error("请添å çº¸è´¨æ ·ä¹¦åçææ¸
åï¼"); |
| | | return; |
| | | } else { |
| | | this.$router.push("applyBook-paper"); |
| | | } |
| | | // this.$store.commit("addPbookList", this.dataList[0]); |
| | | }, |
| | | }, |
| | | }; |
| | | </script> |
| | | |
| | | <style scoped> |
| | | .relatedBox { |
| | | width: 377px; |
| | | margin-top: 10px; |
| | | border-top: 1px solid #00873c; |
| | | } |
| | | .titleBox { |
| | | height: 60px; |
| | | background: #d8f7e6; |
| | | line-height: 60px; |
| | | padding: 0 40px; |
| | | font-weight: 700; |
| | | color: #00873c; |
| | | font-size: 18px; |
| | | } |
| | | .bookBox { |
| | | background-color: #fff; |
| | | padding: 10px; |
| | | } |
| | | .imgBox { |
| | | width: 100px; |
| | | height: 150px; |
| | | position: relative; |
| | | padding: 10px; |
| | | border: 1px solid #ccc; |
| | | } |
| | | .rightBox { |
| | | position: relative; |
| | | margin-left: 10px; |
| | | flex: 1; |
| | | overflow: hidden; |
| | | } |
| | | .itemBox { |
| | | display: flex; |
| | | border-bottom: 1px solid #eeeeee; |
| | | padding: 10px; |
| | | } |
| | | .bookName { |
| | | font-size: 16px !important; |
| | | line-height: 20px; |
| | | text-overflow: ellipsis; |
| | | display: -webkit-box; |
| | | -webkit-box-orient: vertical; |
| | | -webkit-line-clamp: 2; /* è¿éæ¯è¶
åºå è¡çç¥ */ |
| | | overflow: hidden; |
| | | } |
| | | .authorBox1 { |
| | | margin-top: 10px; |
| | | color: #666666; |
| | | position: relative; |
| | | } |
| | | .toDetail { |
| | | margin-top: 50px; |
| | | color: #00873c; |
| | | } |
| | | .authorName { |
| | | position: absolute; |
| | | line-height: 20px; |
| | | top: -4px; |
| | | left: 44px; |
| | | } |
| | | .headBox { |
| | | display: flex; |
| | | justify-content: space-between; |
| | | background: #d8f7e6; |
| | | } |
| | | .inventory { |
| | | cursor: pointer; |
| | | padding: 20px; |
| | | color: #999; |
| | | } |
| | | .iconBox { |
| | | position: absolute; |
| | | bottom: 20px; |
| | | right: 20px; |
| | | display: none; |
| | | cursor: pointer; |
| | | color: red; |
| | | } |
| | | .itemBox:hover .iconBox { |
| | | display: block; |
| | | } |
| | | .emptyBox { |
| | | background-color: #fff; |
| | | } |
| | | </style> |
New file |
| | |
| | | <template> |
| | | <div class="relatedBox" v-loading="loading"> |
| | | <div class="titleBox">æ¨èææ</div> |
| | | <div v-if="dataList.length == 0 && !loading" class="emptyBox"> |
| | | <el-empty :image-size="100" description="ææ èµæº"></el-empty> |
| | | </div> |
| | | <div class="bookBox" v-if="dataList.length > 0 && !loading"> |
| | | <div |
| | | class="itemBox" |
| | | v-for="(item, index) in dataList" |
| | | :key="index" |
| | | @click="toDetail(item)" |
| | | > |
| | | <div class="imgBox"> |
| | | <img class="autoImg" :src="item.icon" alt="" /> |
| | | </div> |
| | | <div class="rightBox"> |
| | | <div class="bookName ellipsis" :title="item.name"> |
| | | {{ item.name }} |
| | | </div> |
| | | <div class="authorBox"> |
| | | <div>ä½è
ï¼</div> |
| | | <div class="authorName" :title="item.caupress_author"> |
| | | {{ item.caupress_author }} |
| | | </div> |
| | | </div> |
| | | <div class="toDetail" @click="toDetail(item)">详æ
>></div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | export default { |
| | | props: ["recommendKey", "bookInfo"], |
| | | data() { |
| | | return { |
| | | dataList: [], |
| | | loading: true, |
| | | }; |
| | | }, |
| | | created() { |
| | | // this.getData(); |
| | | }, |
| | | methods: { |
| | | getData(val) { |
| | | console.log(val); |
| | | let query = { |
| | | path: "caupress_bookMall", // 书åç¸å
³æ¨è |
| | | queryType: "*", |
| | | paging: { |
| | | start: 0, |
| | | size: 7, // å¤è·å䏿¡ï¼é²æ¢éæºå°èªèº« |
| | | }, |
| | | sort: { Random: "Asc" }, |
| | | fields: { |
| | | caupress_author: [], |
| | | "caupress_catalogue*": val ? val : [], |
| | | }, |
| | | coverSize: { |
| | | height: 200, |
| | | }, |
| | | }; |
| | | console.log(query, "query"); |
| | | this.MG.store.getProductList(query).then((res) => { |
| | | this.dataList = res.datas.filter((item) => item.id != this.bookInfo.id); |
| | | this.dataList = this.dataList.slice(0, 6); |
| | | console.log(this.dataList, "this.dataList"); |
| | | this.loading = false; |
| | | }); |
| | | }, |
| | | toDetail(row) { |
| | | this.$router.replace({ |
| | | name: "bookStore-detail", |
| | | query: { id: row.id, cmsPath: row.rootCmsItemId }, |
| | | }); |
| | | this.$emit("reloadPage", row); |
| | | }, |
| | | }, |
| | | watch: { |
| | | recommendKey(key) { |
| | | if (key === "null") { |
| | | this.loading = false; |
| | | } |
| | | }, |
| | | }, |
| | | }; |
| | | </script> |
| | | |
| | | <style scoped> |
| | | .relatedBox { |
| | | width: 357px; |
| | | margin-top: 10px; |
| | | margin-left: 20px; |
| | | border-radius: 5%; |
| | | border: 1px solid #e4e7ed; |
| | | overflow: hidden; |
| | | } |
| | | .titleBox { |
| | | height: 60px; |
| | | line-height: 60px; |
| | | padding: 0 40px; |
| | | font-weight: 700; |
| | | font-size: 18px; |
| | | background-color: #fff; |
| | | color: #333333; |
| | | |
| | | border-bottom: 1px solid #e4e7ed; |
| | | } |
| | | .bookBox { |
| | | background-color: #fff; |
| | | padding: 10px; |
| | | } |
| | | .imgBox { |
| | | width: 100px; |
| | | height: 150px; |
| | | position: relative; |
| | | border: 1px solid #e6e6e6; |
| | | } |
| | | .rightBox { |
| | | flex: 1; |
| | | overflow: hidden; |
| | | margin-left: 10px; |
| | | } |
| | | .itemBox { |
| | | display: flex; |
| | | border-bottom: 1px solid #eeeeee; |
| | | padding: 10px; |
| | | cursor: pointer; |
| | | } |
| | | .bookName { |
| | | font-size: 16px !important; |
| | | line-height: 20px; |
| | | } |
| | | .authorBox { |
| | | margin-top: 10px; |
| | | color: #666666; |
| | | position: relative; |
| | | display: flex; |
| | | line-height: 20px; |
| | | } |
| | | .toDetail { |
| | | margin-top: 40px; |
| | | color: #00873c; |
| | | cursor: pointer; |
| | | } |
| | | .authorName { |
| | | flex: 1; |
| | | overflow: hidden; |
| | | text-overflow: ellipsis; |
| | | display: -webkit-box; |
| | | -webkit-line-clamp: 3; |
| | | -webkit-box-orient: vertical; |
| | | } |
| | | .emptyBox { |
| | | background-color: #fff; |
| | | } |
| | | </style> |
New file |
| | |
| | | <template> |
| | | <div class="resourceBox"> |
| | | <div> |
| | | <div class="itemTitle"> |
| | | <div class="titleName">é
å¥èµæºç¤ºä¾</div> |
| | | </div> |
| | | <div class="resourceItem" v-if="resourceSupportList.length > 0"> |
| | | <div |
| | | class="itemBox" |
| | | v-for="(item, index) in resourceSupportList" |
| | | :key="index" |
| | | > |
| | | <div class="tag"> |
| | | {{ item.caupress_fileType.split("_")[1] | fileType }} |
| | | </div> |
| | | <div class="countentBox"> |
| | | {{ item.name }} |
| | | </div> |
| | | <div class="previewBox"> |
| | | <div @click="preview(item)"> |
| | | é¢è§ |
| | | <i class="iconfont icon-icon_yulan"></i> |
| | | </div> |
| | | <div @click="collectReource(item)" v-if="!item.isFavourite"> |
| | | æ¶è |
| | | <i class="iconfont icon-shoucang"></i> |
| | | </div> |
| | | <div @click="collectReource(item)" v-else> |
| | | å·²æ¶è |
| | | <i class="iconfont icon-shoucang" style="color: red"></i> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <el-empty :image-size="100" description="ææ èµæº" v-else></el-empty> |
| | | </div> |
| | | |
| | | <div> |
| | | <div class="itemTitle allResource"> |
| | | <div class="titleName">å
¨é¨èµæº</div> |
| | | <span |
| | | v-if=" |
| | | userInfo && |
| | | userInfo.role == 'Teacher' && |
| | | downloadState == undefined && |
| | | allResource.length > 0 |
| | | " |
| | | class="applyForDownload" |
| | | @click="applyForDownload" |
| | | > |
| | | ç³è¯·ä¸è½½ |
| | | <i class="el-icon-download"></i> |
| | | </span> |
| | | <span |
| | | v-if=" |
| | | userInfo && |
| | | userInfo.role == 'Teacher' && |
| | | downloadState == 'Normal' && |
| | | allResource.length > 0 |
| | | " |
| | | class="resoucename2btn" |
| | | > |
| | | ç»ææ¶é´ï¼{{ downloadEndDate }} |
| | | </span> |
| | | <span |
| | | v-if=" |
| | | userInfo && |
| | | userInfo.role == 'Teacher' && |
| | | downloadState == 'WaitAudit' && |
| | | allResource.length > 0 |
| | | " |
| | | class="resoucename3" |
| | | > |
| | | å®¡æ ¸ä¸.. |
| | | </span> |
| | | <span |
| | | v-if=" |
| | | userInfo && |
| | | userInfo.role == 'Teacher' && |
| | | downloadState == 'Reject' && |
| | | allResource.length > 0 |
| | | " |
| | | class="popoverItem" |
| | | > |
| | | <el-popover width="400" placement="top" trigger="hover"> |
| | | <p class="reason"> |
| | | <span> æç»åå ï¼ </span> |
| | | {{ popoverReasen }} |
| | | </p> |
| | | <el-button class="reApply" type="success" @click="applyForDownload" |
| | | >éæ°ç³è¯·</el-button |
| | | > |
| | | <template slot="reference"> |
| | | <span style="cursor: pointer"> å·²æç» </span> |
| | | </template> |
| | | </el-popover> |
| | | </span> |
| | | </div> |
| | | <div class="resourceItem" v-if="allResource.length > 0"> |
| | | <div class="itemBox" v-for="(item, index) in allResource" :key="index"> |
| | | <div class="tag allTag"> |
| | | {{ item.caupress_fileType.split("_")[1] }} |
| | | </div> |
| | | <div class="countentBox"> |
| | | {{ item.name }} |
| | | </div> |
| | | <div class="previewBox allBox" v-if="downloadState == 'Normal'"> |
| | | <div |
| | | @click="downloadResource(item)" |
| | | v-if="downloadState == 'Normal'" |
| | | > |
| | | ä¸è½½ |
| | | <i class="iconfont icon-xiazai"></i> |
| | | </div> |
| | | |
| | | <!-- <div |
| | | @click="collectReource(item)" |
| | | v-if="!item.isFavourite" |
| | | > |
| | | æ¶è |
| | | <i class="iconfont icon-shoucang"></i> |
| | | </div> |
| | | <div |
| | | @click="collectReource(item)" |
| | | v-else |
| | | > |
| | | å·²æ¶è |
| | | <i |
| | | class="iconfont icon-shoucang" |
| | | style="color: #009a44" |
| | | ></i> |
| | | </div> --> |
| | | </div> |
| | | <div class="previewBox allBox grey" v-else> |
| | | |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <el-empty :image-size="100" description="ææ èµæº" v-else></el-empty> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import { mapState } from "vuex"; |
| | | export default { |
| | | props: { |
| | | allResource: { |
| | | type: Array, |
| | | default: () => {}, |
| | | }, |
| | | resourceSupportList: { |
| | | type: Array, |
| | | default: () => {}, |
| | | }, |
| | | bookInfo: { |
| | | type: Object, |
| | | default: () => {}, |
| | | }, |
| | | }, |
| | | computed: { |
| | | ...mapState(["userInfo"]), |
| | | }, |
| | | data() { |
| | | return { |
| | | resourceTypeList: { |
| | | caupress_audio: "é³é¢", |
| | | caupress_video: "è§é¢", |
| | | caupress_zip: "èµæºå
", |
| | | caupress_pdf: "PDF", |
| | | caupress_img: "å¾ç", |
| | | caupress_document: "ææ¡£", |
| | | }, |
| | | downloadState: "WaitAudit", // ä¸è½½ç¶æ |
| | | popoverReasen: "", // å®¡æ ¸æç»çåå |
| | | }; |
| | | }, |
| | | created() { |
| | | this.isPass(); |
| | | }, |
| | | filters: { |
| | | fileType: function (val) { |
| | | if (val == "audio") { |
| | | return "mp3"; |
| | | } else if (val == "video") { |
| | | return "mp4"; |
| | | } else { |
| | | return val; |
| | | } |
| | | }, |
| | | }, |
| | | methods: { |
| | | // æªè´ä¹°ç¹å»æ¶è |
| | | |
| | | toBuyBook() { |
| | | this.$alert("å½å书ç±å°æªè´ä¹°ï¼è¯·è´ä¹°åæä½ï¼", "æç¤º", { |
| | | confirmButtonText: "ç¡®å®", |
| | | callback: (action) => {}, |
| | | }); |
| | | }, |
| | | // ä¸è½½èµæº |
| | | downloadResource(item) { |
| | | let end = new Date(this.downloadEndDate + "T23:59:59").getTime(); |
| | | let getEndNum = Number(sessionStorage.currentDate); |
| | | console.log(); |
| | | console.log(end,"end"); |
| | | console.log(getEndNum,"getEndNum"); |
| | | |
| | | if (end < getEndNum) { |
| | | this.$message({ |
| | | type: "warning", |
| | | message: "å
è®¸èµæºå¯ä¸è½½æ¶é´å·²å°æï¼è¯·è系管çåï¼", |
| | | }); |
| | | return false; |
| | | } |
| | | // if (this.downloadState != "Normal") { |
| | | // this.$message({ |
| | | // type: "warning", |
| | | // message: "æªç³è¯·èµæºä¸è½½æç³è¯·æªéè¿ï¼è¯·è系管çåï¼", |
| | | // }); |
| | | // return false; |
| | | // } |
| | | let url = |
| | | this.config.requestCtx + |
| | | "/file/api/ApiDownload?md5=" + |
| | | item.caupress_file; |
| | | window.open(url, "_blank"); |
| | | }, |
| | | |
| | | downloadSupport(item) { |
| | | if (item.caupress_file) { |
| | | let url = |
| | | this.config.requestCtx + |
| | | "/file/api/ApiDownload?md5=" + |
| | | item.caupress_file; |
| | | window.open(url, "_blank"); |
| | | } else { |
| | | this.$message({ |
| | | type: "warning", |
| | | message: "ææ å¯ä¸è½½èµæº", |
| | | }); |
| | | } |
| | | }, |
| | | |
| | | // é¢è§ |
| | | preview(item) { |
| | | let previewType = item.caupress_fileType.split("_")[1]; |
| | | console.log(previewType, "previewType"); |
| | | if (previewType == "zip") { |
| | | this.$message({ |
| | | type: "warning", |
| | | message: "æ¤æä»¶ç±»å䏿¯æé¢è§", |
| | | }); |
| | | } else { |
| | | this.$router.push({ |
| | | name: `preview-${previewType}`, |
| | | query: { |
| | | md5: item.caupress_file, |
| | | titleName: item.name, |
| | | productLinkPath: item.productLinkInfo[0].LinkPath, |
| | | }, |
| | | }); |
| | | } |
| | | }, |
| | | // ç³è¯·ä¸è½½ |
| | | applyForDownload() { |
| | | let obj = { |
| | | name: this.bookInfo.name, // 书å |
| | | icon: this.bookInfo.icon, // å°é¢ |
| | | idPath: this.bookInfo.idPath, // 请æ±è·¯å¾ |
| | | rootCmsItemId: this.bookInfo.rootCmsItemId, |
| | | isdn: this.bookInfo.caupress_ISBN, // ISDNå· |
| | | author: this.bookInfo.caupress_author, // ä½è
|
| | | id: this.bookInfo.id, |
| | | }; |
| | | this.MG.ugc.delTopicMessage({ messageIds: [] }).then(() => {}); |
| | | let data = { |
| | | topicIdOrRefCode: this.config.refCodes.productDownLoad, |
| | | name: this.bookInfo.name, |
| | | content: JSON.stringify(obj), |
| | | state: "WaitAudit", |
| | | type: "applyForDownload", |
| | | icon: this.bookInfo.icon, |
| | | cmsTypeRefCode: "", |
| | | newDataListRequest: [], |
| | | }; |
| | | |
| | | this.MG.ugc.newTopicMessage(data).then((res) => { |
| | | if (res) { |
| | | this.$message({ |
| | | type: "success", |
| | | message: "ç³è¯·æåï¼çå¾
管çåå®¡æ ¸!", |
| | | }); |
| | | this.isPass(); |
| | | } |
| | | }); |
| | | }, |
| | | |
| | | //æ¶è |
| | | collectReource(item) { |
| | | if (item.isFavourite) { |
| | | this.MG.resource |
| | | .delCmsItemLink({ |
| | | cmsItemIds: [item.id], |
| | | linkType: "Favorite", |
| | | }) |
| | | .then((res) => { |
| | | this.$parent.getData(); |
| | | }); |
| | | } else { |
| | | this.MG.resource |
| | | .collectCmsItem({ |
| | | cmsItemIds: [item.id], |
| | | linkType: "Favorite", |
| | | }) |
| | | .then((res) => { |
| | | this.$parent.getData(); |
| | | }); |
| | | } |
| | | }, |
| | | |
| | | // è·åç³è¯·çä¸è½½ç¶æ |
| | | isPass() { |
| | | let data = { |
| | | start: 0, |
| | | size: 1, |
| | | topicIdOrRefCode: "productDownLoad", |
| | | appRefCode: this.config.appRefCode, |
| | | sort: { |
| | | type: "Desc", |
| | | field: "CreateDate", |
| | | }, |
| | | }; |
| | | this.MG.ugc.getTopicMessageList(data).then((res) => { |
| | | // try { |
| | | console.log(res,"endTime"); |
| | | if (res.datas.length > 0) { |
| | | this.downloadState = res.datas[0].state; |
| | | if (res.datas[0].feedBack) { |
| | | let feedBack = JSON.parse(res.datas[0].feedBack); |
| | | res.datas[0].endDate = feedBack.endDate ? feedBack.endDate : ""; |
| | | this.popoverReasen = feedBack.reason ? feedBack.reason : ""; |
| | | this.downloadEndDate = res.datas[0].endDate; |
| | | let end = new Date(this.downloadEndDate + "T23:59:59").getTime(); |
| | | let getEndNum = Number(sessionStorage.currentDate); |
| | | if (end < getEndNum) { |
| | | this.downloadState = undefined; |
| | | } |
| | | } |
| | | } else { |
| | | this.downloadState = undefined; |
| | | } |
| | | console.log(this.downloadState,"downloadState"); |
| | | // } catch (error) { |
| | | // this.downloadState = undefined; |
| | | // } |
| | | }); |
| | | }, |
| | | }, |
| | | }; |
| | | </script> |
| | | |
| | | <style scoped> |
| | | .resourceBox { |
| | | width: 813px; |
| | | background-color: #fff; |
| | | margin: 10px 0 0 10px; |
| | | padding: 40px; |
| | | box-sizing: border-box; |
| | | } |
| | | .itemTitle { |
| | | height: 30px; |
| | | line-height: 30px; |
| | | padding: 0 10px; |
| | | background: #f8f8f8; |
| | | /* position: relative; */ |
| | | } |
| | | .titleName { |
| | | font-size: 18px; |
| | | font-weight: 700; |
| | | /* position: absolute; |
| | | top: -10px; */ |
| | | } |
| | | .applyForDownload { |
| | | font-size: 16px; |
| | | font-weight: 700; |
| | | color: #00873c; |
| | | cursor: pointer; |
| | | } |
| | | .resourceItem { |
| | | display: flex; |
| | | flex-wrap: wrap; |
| | | justify-content: space-between; |
| | | } |
| | | .itemBox { |
| | | width: 350px; |
| | | height: 120px; |
| | | box-shadow: 2px 2px 10px #f2f2f2; |
| | | margin-top: 20px; |
| | | position: relative; |
| | | border-radius: 4px; |
| | | line-height: 80px; |
| | | } |
| | | .tag { |
| | | position: absolute; |
| | | width: 60px; |
| | | height: 20px; |
| | | background-color: #f2f2f2; |
| | | right: 0px; |
| | | text-align: center; |
| | | line-height: 20px; |
| | | border-radius: 0px 4px 0px 4px; |
| | | } |
| | | .previewBox { |
| | | width: 100%; |
| | | position: absolute; |
| | | height: 40px; |
| | | background-color: #d8f7e6; |
| | | bottom: 0px; |
| | | border-radius: 4px; |
| | | text-align: center; |
| | | line-height: 40px; |
| | | color: #00873c; |
| | | cursor: pointer; |
| | | display: flex; |
| | | justify-content: space-around; |
| | | } |
| | | |
| | | .disable { |
| | | background-color: #ccc; |
| | | } |
| | | .countentBox { |
| | | height: 60px; |
| | | margin-top: 20px; |
| | | line-height: 30px; |
| | | padding: 0 20px; |
| | | color: #444444; |
| | | font-weight: 700; |
| | | text-overflow: ellipsis; |
| | | display: -webkit-box; |
| | | -webkit-box-orient: vertical; |
| | | -webkit-line-clamp: 2; /* è¿éæ¯è¶
åºå è¡çç¥ */ |
| | | overflow: hidden; |
| | | } |
| | | .allResource { |
| | | margin-top: 40px; |
| | | display: flex; |
| | | justify-content: space-between; |
| | | font-size: 18px; |
| | | font-weight: 700; |
| | | } |
| | | .allTag { |
| | | background-color: #d8f7e6; |
| | | color: #00873c; |
| | | } |
| | | .allBox { |
| | | background-color: #00873c; |
| | | color: #fff; |
| | | } |
| | | .resoucename2btn { |
| | | font-size: 14px; |
| | | color: #00873c; |
| | | } |
| | | .resoucename3 { |
| | | color: #8b4513; |
| | | font-size: 14px; |
| | | } |
| | | .popoverItem { |
| | | color: #ee0a24; |
| | | font-size: 14px; |
| | | } |
| | | .reApply { |
| | | float: right; |
| | | } |
| | | .reason { |
| | | display: inline-block; |
| | | padding-bottom: 20px; |
| | | } |
| | | .grey{ |
| | | background-color: #ccc; |
| | | } |
| | | </style> |
New file |
| | |
| | | <template> |
| | | <div class="relatedBox"> |
| | | <div class="headBox"> |
| | | <div class="titleBox">ç¸å
³æ¨è</div> |
| | | </div> |
| | | <div class="bookBox" v-if="dataList.length > 0 && !loading"> |
| | | <div class="itemBox" v-for="(item, index) in dataList" :key="index" @click="toDetail(item)"> |
| | | <div class="imgBox"> |
| | | <img class="autoImg" :src="item.icon" alt="" /> |
| | | </div> |
| | | <div class="rightBox"> |
| | | <div class="bookName ellipsis" :title="item.name"> |
| | | {{ item.name }} |
| | | </div> |
| | | <div class="authorBox"> |
| | | <div>ä½è
ï¼</div> |
| | | <div class="authorName" :title="item.caupress_author"> |
| | | {{ item.caupress_author }} |
| | | </div> |
| | | </div> |
| | | <div class="toDetail" @click="toDetail(item)">详æ
>></div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <el-empty |
| | | :image-size="100" |
| | | description="ææ èµæº" |
| | | v-if="dataList.length == 0 && !loading" |
| | | ></el-empty> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | export default { |
| | | props: ["recommendKey", "bookInfo"], |
| | | data() { |
| | | return { |
| | | dataList: [], |
| | | loading: true |
| | | }; |
| | | }, |
| | | created() { |
| | | // this.getData(); |
| | | }, |
| | | methods: { |
| | | getData(val) { |
| | | console.log(val); |
| | | let query = { |
| | | path: "caupress_teachingResource", // 书åç¸å
³æ¨è |
| | | queryType: "*", |
| | | paging: { |
| | | start: 0, |
| | | size: 7 // å¤è·å䏿¡ï¼é²æ¢éæºå°èªèº« |
| | | }, |
| | | sort: { Random: "Asc" }, |
| | | fields: { |
| | | caupress_author: [], |
| | | "caupress_catalogue*": val ? val : [], |
| | | }, |
| | | coverSize: { |
| | | height: 200 |
| | | } |
| | | }; |
| | | this.MG.store.getProductList(query).then((res) => { |
| | | this.dataList = res.datas.filter((item) => item.id != this.bookInfo.id); |
| | | this.dataList = this.dataList.slice(0, 6); |
| | | this.loading = false; |
| | | }); |
| | | }, |
| | | toDetail(row) { |
| | | this.$router.replace({ |
| | | name: "teachingServices-detail", |
| | | query: { id: row.id, cmsPath: row.rootCmsItemId } |
| | | }); |
| | | this.$emit("reloadPage", row); |
| | | }, |
| | | }, |
| | | watch: { |
| | | recommendKey(key) { |
| | | if (key === "null") { |
| | | this.loading = false; |
| | | } else if (key) { |
| | | // this.getData(); |
| | | } |
| | | }, |
| | | bookInfo(key) { |
| | | // this.getData(); |
| | | } |
| | | } |
| | | }; |
| | | </script> |
| | | |
| | | <style scoped> |
| | | .relatedBox { |
| | | width: 813px; |
| | | background-color: #fff; |
| | | margin: 10px 0 0 10px; |
| | | border-top: 1px solid #00873c; |
| | | margin-bottom: 20px; |
| | | box-sizing: border-box; |
| | | } |
| | | .titleBox { |
| | | height: 60px; |
| | | background: #d8f7e6; |
| | | line-height: 60px; |
| | | padding: 0 40px; |
| | | font-weight: 700; |
| | | color: #00873c; |
| | | font-size: 18px; |
| | | } |
| | | .bookBox { |
| | | display: flex; |
| | | flex-wrap: wrap; |
| | | background-color: #fff; |
| | | padding: 10px; |
| | | } |
| | | .imgBox { |
| | | width: 100px; |
| | | height: 150px; |
| | | position: relative; |
| | | border: 1px solid #e6e6e6; |
| | | } |
| | | .rightBox { |
| | | flex: 1; |
| | | overflow: hidden; |
| | | margin-left: 10px; |
| | | } |
| | | .itemBox { |
| | | width: 50%; |
| | | display: flex; |
| | | padding: 10px; |
| | | box-sizing: border-box; |
| | | } |
| | | .bookName { |
| | | font-size: 16px !important; |
| | | line-height: 20px; |
| | | text-overflow: ellipsis; |
| | | } |
| | | .authorBox { |
| | | margin-top: 10px; |
| | | color: #666666; |
| | | position: relative; |
| | | display: flex; |
| | | line-height: 20px; |
| | | } |
| | | .toDetail { |
| | | cursor: pointer; |
| | | margin-top: 40px; |
| | | color: #00873c; |
| | | } |
| | | .authorName { |
| | | flex: 1; |
| | | overflow: hidden; |
| | | text-overflow: ellipsis; |
| | | display: -webkit-box; |
| | | -webkit-line-clamp: 3; |
| | | -webkit-box-orient: vertical; |
| | | } |
| | | .headBox { |
| | | display: flex; |
| | | background: #d8f7e6; |
| | | justify-content: space-between; |
| | | } |
| | | .viewMore { |
| | | cursor: pointer; |
| | | padding: 20px; |
| | | color: #999; |
| | | } |
| | | </style> |
New file |
| | |
| | | <template> |
| | | <div> |
| | | <div class="wrap bookList" v-loading="reLoading"> |
| | | <el-empty |
| | | description="ææ æ°æ®" |
| | | class="empty" |
| | | :image-size="200" |
| | | v-if="bookList.length == 0 && !reLoading" |
| | | ></el-empty> |
| | | <template v-if="bookList.length > 0 && !reLoading"> |
| | | <div |
| | | class="bookListItem" |
| | | v-for="(item, index) in bookList" |
| | | :key="index" |
| | | @click="toDetail(item)" |
| | | > |
| | | <div class="wrapImg"> |
| | | <img class="autoImg" :src="item.icon" alt="" /> |
| | | </div> |
| | | <div class="ellipsis" :title="item.name"> |
| | | {{ item.name }} |
| | | </div> |
| | | <!-- <p> |
| | | <span style="font-size: 12px">ï¿¥</span> |
| | | {{ item.price }} |
| | | </p> --> |
| | | <div class="priceBox"> |
| | | <span class="price" v-if="item.price && item.price > 0" |
| | | >Â¥ |
| | | <span>{{ tool.toDecimal2(item.price) }}</span> |
| | | </span> |
| | | <span class="price" v-else> |
| | | <span class="freePrice">å
è´¹</span> |
| | | </span> |
| | | <span class="oldPrice" v-if="item.oldPrice" |
| | | >åä»·ï¼Â¥{{ tool.toDecimal2(item.oldPrice) }}</span |
| | | > |
| | | </div> |
| | | </div> |
| | | </template> |
| | | </div> |
| | | <!-- å页 --> |
| | | <div class="pageinateBox" v-if="bookList.length > 0"> |
| | | <el-pagination |
| | | @size-change=" |
| | | (val) => { |
| | | paginationData.limit = val; |
| | | getData(); |
| | | } |
| | | " |
| | | @current-change=" |
| | | (val) => { |
| | | paginationData.page = val; |
| | | getData(); |
| | | } |
| | | " |
| | | background="" |
| | | :current-page="paginationData.page - 0" |
| | | :page-size="paginationData.limit" |
| | | prev-text="ä¸ä¸é¡µ" |
| | | next-text="ä¸ä¸é¡µ" |
| | | layout="total, prev, pager, next, slot, jumper" |
| | | :total="paginationData.totalCount" |
| | | > |
| | | </el-pagination> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | <script> |
| | | export default { |
| | | data() { |
| | | return { |
| | | reLoading: true, |
| | | tabLoading: true, |
| | | paginationData: { |
| | | page: 1, |
| | | totalCount: 0, |
| | | limit: 20, |
| | | totalPage: 0, |
| | | }, |
| | | bookList: [], |
| | | }; |
| | | }, |
| | | props: { |
| | | channel: { |
| | | type: String, |
| | | }, |
| | | selectListKey: { |
| | | type: Array, |
| | | defaultValue: [], |
| | | }, |
| | | searchFields: { |
| | | type: String, |
| | | defaultValue: "", |
| | | }, |
| | | searchValue: { |
| | | type: String, |
| | | defaultValue: "", |
| | | }, |
| | | detailRoute: { |
| | | type: String, |
| | | defaultValue: "", |
| | | }, |
| | | }, |
| | | created() { |
| | | this.getData(); |
| | | }, |
| | | watch: { |
| | | searchValue: { |
| | | handler: function (val, oldVal) { |
| | | this.paginationData.page = 1; |
| | | this.getData(); |
| | | }, |
| | | // 深度è§å¯çå¬ |
| | | deep: true, |
| | | }, |
| | | channel: { |
| | | handler: function (val, oldVal) { |
| | | this.paginationData.page = 1; |
| | | this.getData(); |
| | | }, |
| | | // 深度è§å¯çå¬ |
| | | deep: true, |
| | | }, |
| | | searchFields: { |
| | | handler: function (val, oldVal) { |
| | | this.paginationData.page = 1; |
| | | this.getData(); |
| | | }, |
| | | // 深度è§å¯çå¬ |
| | | deep: true, |
| | | }, |
| | | }, |
| | | methods: { |
| | | toDetail(row) { |
| | | this.$router.push({ |
| | | name: this.detailRoute, |
| | | query: { id: row.id, cmsPath: row.rootCmsItemId }, |
| | | }); |
| | | }, |
| | | getData() { |
| | | this.reLoading = true; |
| | | let { limit, page } = this.paginationData; |
| | | let query = { |
| | | path: this.channel, |
| | | queryType: this.channel == "*" ? "*" : "", |
| | | paging: { |
| | | start: limit * page - limit, |
| | | size: limit, |
| | | }, |
| | | fields: { |
| | | caupress_catalogue: [], |
| | | caupress_projectTitle: [], |
| | | caupress_ISBN: [], |
| | | caupress_author: [], |
| | | }, |
| | | filterList: {}, |
| | | coverSize: { |
| | | height: 200, |
| | | }, |
| | | }; |
| | | // æ·»å ç鿡件 |
| | | if (this.selectListKey) { |
| | | console.log(this.selectListKey[0] == "All", "isTru"); |
| | | if (this.selectListKey[0] != "All") { |
| | | Object.assign(query.filterList, { |
| | | "caupress_catalogue*": this.selectListKey[0], |
| | | }); |
| | | } |
| | | if (this.selectListKey[1] != "arrangementAll") { |
| | | if (this.selectListKey[0] != "All") { |
| | | Object.assign(query.filterList, { |
| | | "caupress_catalogue*": [ |
| | | this.selectListKey[0], |
| | | "&" + this.selectListKey[1], |
| | | ], |
| | | }); |
| | | } else { |
| | | Object.assign(query.filterList, { |
| | | "caupress_catalogue*": [this.selectListKey[1]], |
| | | }); |
| | | } |
| | | } |
| | | if (this.selectListKey[2] != "projectTitleAll") { |
| | | Object.assign(query.filterList, { |
| | | "caupress_projectTitle*": [this.selectListKey[2]], |
| | | }); |
| | | } |
| | | } |
| | | |
| | | // å¢å å¤´é¨æç´¢æ¡ä»¶ |
| | | if (this.searchFields) { |
| | | Object.assign(query.filterList, { |
| | | [this.searchFields + "*"]: this.searchValue, |
| | | }); |
| | | } |
| | | console.log(this.selectListKey, "this.selectListKey"); |
| | | |
| | | console.log(query, "query"); |
| | | this.MG.store.getProductList(query).then((res) => { |
| | | this.bookList = res.datas; |
| | | this.paginationData.totalCount = res.total; |
| | | // ç¶ç»ä»¶éè¦è·åå¾ä¹¦æ°éæ¶è°ç¨ |
| | | if (this.$listeners["gainTotalCount"]) { |
| | | this.$emit("gainTotalCount", res.total); |
| | | } |
| | | this.reLoading = false; |
| | | }); |
| | | }, |
| | | }, |
| | | }; |
| | | </script> |
| | | <style lang="less" scoped> |
| | | .wrap { |
| | | padding: 20px; |
| | | margin-bottom: 10px; |
| | | background-color: #fff; |
| | | } |
| | | |
| | | .bookList { |
| | | display: grid; |
| | | grid-template-columns: repeat(5, 150px); |
| | | grid-column-gap: 100px; |
| | | min-height: 400px; |
| | | |
| | | .empty { |
| | | width: 1160px; |
| | | margin: 0 auto; |
| | | } |
| | | |
| | | .bookListItem { |
| | | width: 150px; |
| | | height: 280px; |
| | | cursor: pointer; |
| | | |
| | | .wrapImg { |
| | | width: 150px; |
| | | height: 200px; |
| | | position: relative; |
| | | border: 1px solid #e6e6e6; |
| | | background: #f2f2f2; |
| | | } |
| | | |
| | | .ellipsis { |
| | | width: 150px; |
| | | line-height: 40px; |
| | | color: #333333; |
| | | font-size: 16px; |
| | | } |
| | | |
| | | .priceBox { |
| | | .oldPrice { |
| | | font-size: 12px; |
| | | color: #444444; |
| | | text-decoration: line-through; |
| | | margin-left: 6px; |
| | | } |
| | | |
| | | .price { |
| | | font-size: 12px; |
| | | color: #e50021; |
| | | |
| | | span { |
| | | font-weight: bold; |
| | | font-size: 14px; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | .pageinateBox { |
| | | text-align: center; |
| | | margin: 40px 0; |
| | | |
| | | :deep(.el-pagination.is-background .btn-next) { |
| | | padding: 0 10px; |
| | | } |
| | | |
| | | :deep(.el-pagination.is-background .btn-prev) { |
| | | padding: 0 10px; |
| | | } |
| | | } |
| | | </style> |
New file |
| | |
| | | <template> |
| | | <div> |
| | | <div |
| | | v-show="!$route.query.searchOptionHidden" |
| | | class="wrap" |
| | | v-loading="tabLoading" |
| | | > |
| | | <div class="arrangement e7f9ef"> |
| | | <div class="primaryBack title">{{ arrangement.name }}:</div> |
| | | <div class="classification"> |
| | | <div :class="arrangement.openTag ? 'txtBox show' : 'txtBox'"> |
| | | <span |
| | | :class=" |
| | | selectListKey.indexOf(cval.value) > -1 |
| | | ? 'txt primaryTxt' |
| | | : 'txt' |
| | | " |
| | | v-for="(cval, ckey) in arrangement.child" |
| | | :key="ckey" |
| | | @click="selectTxt(arrangement.name, cval.value, cval.name, ckey)" |
| | | >{{ cval.name }}</span |
| | | > |
| | | </div> |
| | | <span |
| | | v-if="Object.keys(arrangement.child).length > 12" |
| | | class="more" |
| | | @click="showList(arrangement)" |
| | | >{{ arrangement.openTag ? "æ¶èµ·" : "å±å¼" }} |
| | | <img |
| | | src="@/assets/images/packUp.png" |
| | | v-if="arrangement.openTag" |
| | | alt="" |
| | | srcset="" |
| | | /> |
| | | <img src="@/assets/images/packDown.png" alt="" v-else srcset="" /> |
| | | </span> |
| | | </div> |
| | | </div> |
| | | <div class="arrangement"> |
| | | <div class="flex"> |
| | | <span class="title">{{ catalogue.name }}:</span> |
| | | <div :class="catalogue.openTag ? 'txtBox show' : 'txtBox'"> |
| | | <span |
| | | :class=" |
| | | selectListKey.indexOf(cval.value) > -1 |
| | | ? 'txt primaryTxt' |
| | | : 'txt' |
| | | " |
| | | v-for="(cval, ckey) in catalogue.child" |
| | | :key="ckey" |
| | | @click="selectTxt(catalogue.name, cval.value, cval.name)" |
| | | >{{ cval.name }}</span |
| | | > |
| | | </div> |
| | | <span |
| | | v-if="Object.keys(catalogue.child).length > 12" |
| | | class="more" |
| | | @click="showList(catalogue)" |
| | | >{{ catalogue.openTag ? "æ¶èµ·" : "å±å¼" }} |
| | | <img |
| | | src="@/assets/images/packUp.png" |
| | | v-if="catalogue.openTag" |
| | | alt="" |
| | | srcset="" |
| | | /> |
| | | <img src="@/assets/images/packDown.png" alt="" v-else srcset="" /> |
| | | </span> |
| | | </div> |
| | | </div> |
| | | <div class="arrangement dashedBorder"> |
| | | <div class="flex"> |
| | | <span class="title">{{ projectTitle.name }}:</span> |
| | | <div :class="projectTitle.openTag ? 'txtBox show' : 'txtBox'"> |
| | | <span |
| | | :class=" |
| | | selectListKey.indexOf(cval.value) > -1 |
| | | ? 'txt primaryTxt' |
| | | : 'txt' |
| | | " |
| | | v-for="(cval, ckey) in projectTitle.child" |
| | | :key="ckey" |
| | | @click="selectTxt(projectTitle.name, cval.value, cval.name)" |
| | | >{{ cval.name }}</span |
| | | > |
| | | </div> |
| | | <span |
| | | v-if="Object.keys(projectTitle.child).length > 12" |
| | | class="more" |
| | | @click="showList(projectTitle)" |
| | | >{{ projectTitle.openTag ? "æ¶èµ·" : "å±å¼" }} |
| | | <img |
| | | src="@/assets/images/packUp.png" |
| | | v-if="projectTitle.openTag" |
| | | alt="" |
| | | srcset="" |
| | | /> |
| | | <img src="@/assets/images/packDown.png" alt="" v-else srcset="" /> |
| | | </span> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | |
| | | <div v-show="!$route.query.searchOptionHidden" class="wrap retrieval"> |
| | | <div> |
| | | 屿¬¡ï¼{{ selectListName[0] }} |
| | | <img |
| | | v-show="selectListName[0] != 'å
¨é¨'" |
| | | src="@/assets/images/delete.png" |
| | | class="deleteImg" |
| | | @click="deleteOption(0)" |
| | | alt="" |
| | | /> |
| | | <el-divider direction="vertical"></el-divider>åç±»ï¼{{ |
| | | selectListName[1] |
| | | }} |
| | | <img |
| | | v-show="selectListName[1] != 'å
¨é¨'" |
| | | src="@/assets/images/delete.png" |
| | | class="deleteImg" |
| | | @click="deleteOption(1)" |
| | | alt="" |
| | | /> |
| | | <el-divider direction="vertical"></el-divider>ç«é¡¹å åï¼ |
| | | {{ selectListName[2] }} |
| | | <img |
| | | v-show="selectListName[2] != 'å
¨é¨'" |
| | | src="@/assets/images/delete.png" |
| | | class="deleteImg" |
| | | @click="deleteOption(2)" |
| | | alt="" |
| | | /> |
| | | </div> |
| | | <div>å
±è®¡ï¼{{ totalCount }}æ¬</div> |
| | | </div> |
| | | <div class="crumbs" v-show="$route.query.searchOptionHidden"> |
| | | <el-breadcrumb separator-class="el-icon-arrow-right"> |
| | | <el-breadcrumb-item :to="{ name: 'home' }">é¦é¡µ</el-breadcrumb-item> |
| | | </el-breadcrumb> |
| | | </div> |
| | | <DataList |
| | | ref="dataList" |
| | | :channel="channel" |
| | | :selectListKey="selectListKey" |
| | | @gainTotalCount="gainTotalCount" |
| | | :detailRoute="detailRoute" |
| | | ></DataList> |
| | | </div> |
| | | </template> |
| | | <script> |
| | | import DataList from "@/components/list/data.vue"; |
| | | export default { |
| | | components: { |
| | | DataList |
| | | }, |
| | | props: { |
| | | channel: { |
| | | type: String |
| | | }, |
| | | detailRoute: { |
| | | type: String |
| | | } |
| | | }, |
| | | data() { |
| | | return { |
| | | arrangement: { |
| | | name: "屿¬¡", |
| | | openTag: false, |
| | | child: [] |
| | | }, |
| | | catalogue: { |
| | | name: "åç±»", |
| | | openTag: false, |
| | | child: [] |
| | | }, |
| | | projectTitle: { |
| | | name: "ç«é¡¹å å", |
| | | openTag: false, |
| | | child: [] |
| | | }, |
| | | totalCount: 0, |
| | | selectListKey: ["All", "arrangementAll", "projectTitleAll"], |
| | | selectListName: ["å
¨é¨", "å
¨é¨", "å
¨é¨"] |
| | | }; |
| | | }, |
| | | created() { |
| | | this.getHierarchyType(); |
| | | this.getProjectTitle(); |
| | | }, |
| | | methods: { |
| | | // è·å屿¬¡ç±»åä¸çº§åç±» |
| | | getHierarchyType() { |
| | | this.tabLoading = true; |
| | | let query = { |
| | | refCodes: ["caupress_catalogue"] |
| | | }; |
| | | this.MG.store.getProductTypeField(query).then((res) => { |
| | | this.arrangement.child = JSON.parse(res[0].config).option; |
| | | let allChild = [ |
| | | { |
| | | name: "å
¨é¨", |
| | | value: "arrangementAll", |
| | | checked: "" |
| | | } |
| | | ]; |
| | | this.arrangement.child.map((item) => { |
| | | if (item.child) { |
| | | allChild = allChild.concat(item.child); |
| | | } |
| | | if (item.child) { |
| | | item.child.unshift({ |
| | | name: "å
¨é¨", |
| | | value: "arrangementAll", |
| | | checked: "" |
| | | }); |
| | | } else { |
| | | item.child = [ |
| | | { |
| | | name: "å
¨é¨", |
| | | value: "arrangementAll", |
| | | checked: "" |
| | | } |
| | | ]; |
| | | } |
| | | }); |
| | | this.arrangement.child.unshift({ |
| | | name: "å
¨é¨", |
| | | value: "All", |
| | | child: allChild, |
| | | checked: "" |
| | | }); |
| | | this.catalogue.child = this.arrangement.child[0].child; |
| | | this.tabLoading = false; |
| | | console.log(this.arrangement); |
| | | }); |
| | | }, |
| | | // è·åç«é¡¹å å |
| | | getProjectTitle() { |
| | | this.tabLoading = true; |
| | | let query = { |
| | | refCodes: ["caupress_projectTitle"] |
| | | }; |
| | | this.MG.store.getProductTypeField(query).then((res) => { |
| | | this.projectTitle.child = JSON.parse(res[0].config).option; |
| | | this.projectTitle.child.unshift({ |
| | | name: "å
¨é¨", |
| | | value: "projectTitleAll", |
| | | checked: "" |
| | | }); |
| | | this.tabLoading = false; |
| | | }); |
| | | }, |
| | | // æ§å¶æ ç¾å表å±å¼ |
| | | showList(data) { |
| | | data.openTag = !data.openTag; |
| | | this.$forceUpdate(); |
| | | }, |
| | | // éæ©æ¡ä»¶ |
| | | selectTxt(key, cval, cname, ckey) { |
| | | console.log(cval,"cval"); |
| | | console.log(key,"key"); |
| | | console.log(cname,"cname"); |
| | | console.log(ckey,"ckey"); |
| | | switch (key) { |
| | | case "屿¬¡": |
| | | this.$set(this.selectListKey, 0, cval); |
| | | this.selectListName[0] = cname; |
| | | this.catalogue.child = this.arrangement.child[ckey].child; |
| | | // éç½®åç±» |
| | | this.deleteOption(1); |
| | | break; |
| | | case "åç±»": |
| | | this.$set(this.selectListKey, 1, cval); |
| | | this.selectListName[1] = cname; |
| | | this.$refs.dataList.paginationData.page = 1; |
| | | console.log(this.selectListKey,"this.selectListKey"); |
| | | this.$refs.dataList.getData(); |
| | | break; |
| | | case "ç«é¡¹å å": |
| | | this.$set(this.selectListKey, 2, cval); |
| | | this.selectListName[2] = cname; |
| | | this.$refs.dataList.paginationData.page = 1; |
| | | this.$refs.dataList.getData(); |
| | | break; |
| | | } |
| | | }, |
| | | // å 餿 ç¾ |
| | | deleteOption(index) { |
| | | this.selectListName[index] = "å
¨é¨"; |
| | | switch (index) { |
| | | case 0: |
| | | this.$set(this.selectListKey, 0, "All"); |
| | | // éç½®åç±» |
| | | this.deleteOption(1); |
| | | break; |
| | | case 1: |
| | | this.$set(this.selectListKey, 1, "arrangementAll"); |
| | | break; |
| | | case 2: |
| | | this.$set(this.selectListKey, 2, "projectTitleAll"); |
| | | } |
| | | // éæ°è·åæ°æ® |
| | | this.$refs.dataList.paginationData.page = 1; |
| | | this.$refs.dataList.getData(); |
| | | }, |
| | | // æ´æ°æ¥è¯¢æ»æ°é |
| | | gainTotalCount(total) { |
| | | this.totalCount = total; |
| | | } |
| | | } |
| | | }; |
| | | </script> |
| | | <style lang="less" scoped> |
| | | .crumbs { |
| | | padding: 35px 0; |
| | | line-height: 70px; |
| | | } |
| | | .wrap { |
| | | padding: 20px; |
| | | margin-bottom: 10px; |
| | | background-color: #fff; |
| | | .e7f9ef { |
| | | background-color: #e7f9ef; |
| | | border: 1px solid #ededed; |
| | | border-radius: 4px; |
| | | } |
| | | .arrangement { |
| | | width: 100%; |
| | | line-height: 60px; |
| | | display: flex; |
| | | .title { |
| | | font-size: 16px; |
| | | font-weight: bold; |
| | | width: 80px; |
| | | text-align: center; |
| | | border-top-left-radius: 4px; |
| | | border-bottom-left-radius: 4px; |
| | | } |
| | | .txtBox { |
| | | overflow: hidden; |
| | | height: 60px; |
| | | display: flex; |
| | | flex: 1; |
| | | flex-wrap: wrap; |
| | | .txt { |
| | | line-height: 60px; |
| | | padding: 0 20px; |
| | | cursor: pointer; |
| | | } |
| | | } |
| | | .show { |
| | | height: auto; |
| | | } |
| | | .more { |
| | | width: 50px; |
| | | color: #999999; |
| | | cursor: pointer; |
| | | } |
| | | } |
| | | .dashedBorder { |
| | | border-top: 1px dashed #ededed; |
| | | } |
| | | } |
| | | .retrieval { |
| | | display: flex; |
| | | justify-content: space-between; |
| | | color: #999999; |
| | | > div { |
| | | line-height: 21px; |
| | | } |
| | | :deep(.el-divider--vertical) { |
| | | width: 0; |
| | | border: 1px dashed #dcdfe6; |
| | | height: 21px; |
| | | margin: 0 30px; |
| | | } |
| | | :deep(.el-divider) { |
| | | background-color: #fff; |
| | | } |
| | | .deleteImg { |
| | | display: inline-block; |
| | | width: 9px; |
| | | height: 9px; |
| | | margin-left: 10px; |
| | | cursor: pointer; |
| | | } |
| | | } |
| | | </style> |
New file |
| | |
| | | <template> |
| | | <div class="relatedBox"> |
| | | <div class="titleBox">ç¸å
³æ¨è</div> |
| | | <div class="bookBox"> |
| | | <div class="itemBox" v-for="(item, index) in dataList" :key="index"> |
| | | <div class="imgBox"> |
| | | <img src="@/assets/images/bookStore/testImg.png" alt="" /> |
| | | </div> |
| | | <div class="rightBox"> |
| | | <div class="bookName"> |
| | | {{ item.title }} |
| | | </div> |
| | | <div class="authorBox1">ä½è
ï¼{{ item.author }}</div> |
| | | <div class="toDetail">详æ
>></div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | export default { |
| | | data() { |
| | | return { |
| | | dataList: [], |
| | | }; |
| | | }, |
| | | }; |
| | | </script> |
| | | |
| | | <style scoped> |
| | | .relatedBox { |
| | | width: 377px; |
| | | margin-top: 10px; |
| | | border-top: 1px solid #00873c; |
| | | } |
| | | .titleBox { |
| | | height: 60px; |
| | | background: #d8f7e6; |
| | | line-height: 60px; |
| | | padding: 0 40px; |
| | | font-weight: 700; |
| | | color: #00873c; |
| | | font-size: 18px; |
| | | } |
| | | .bookBox { |
| | | background-color: #fff; |
| | | padding: 20px; |
| | | } |
| | | .imgBox { |
| | | width: 200px; |
| | | height: 150px; |
| | | position: relative; |
| | | border: 1px solid #e6e6e6; |
| | | padding: 10px; |
| | | } |
| | | .imgBox img { |
| | | width: 100%; |
| | | height: 100%; |
| | | } |
| | | .rightBox { |
| | | margin-left: 10px; |
| | | } |
| | | .itemBox { |
| | | display: flex; |
| | | border-bottom: 1px solid #eeeeee; |
| | | padding: 20px; |
| | | } |
| | | .bookName { |
| | | font-size: 16px !important; |
| | | } |
| | | .authorBox1 { |
| | | margin-top: 10px; |
| | | color: #666666; |
| | | } |
| | | .toDetail { |
| | | margin-top: 20px; |
| | | color: #00873c; |
| | | } |
| | | </style> |
New file |
| | |
| | | <template> |
| | | <div class="container"> |
| | | <div class="videoBox"> |
| | | <video |
| | | @canplay="getDuration" |
| | | @timeupdate="updateTime" |
| | | ref="audio" |
| | | controls |
| | | controlsList="nodownload" |
| | | autoplay |
| | | :src="videoSrc" |
| | | > |
| | | <!-- <source :src="videoSrc" type="video/mp4" ref="myPlayer" /> --> |
| | | </video> |
| | | </div> |
| | | <div class="calssInfo"> |
| | | <el-tabs type="border-card"> |
| | | <el-tab-pane label="课ç¨ç®ä»"> |
| | | <div class="tabItem" v-loading="descriptionLoading"> |
| | | <div |
| | | class="richTextBox" |
| | | v-html="description.autism_introduction" |
| | | ></div> |
| | | </div> |
| | | </el-tab-pane> |
| | | <el-tab-pane label="ç« èç®å½"> |
| | | <div class="tabItem" v-loading="catalogueLoading"> |
| | | <p v-for="(item, index) in catalogue" :key="index" class="selected"> |
| | | {{ item.name }} |
| | | </p> |
| | | </div> |
| | | </el-tab-pane> |
| | | </el-tabs> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import { getImage } from "@/assets/js/toolClass"; |
| | | |
| | | export default { |
| | | props: { |
| | | query: { |
| | | type: Object |
| | | }, |
| | | idPath: { |
| | | type: String |
| | | } |
| | | }, |
| | | data() { |
| | | return { |
| | | videoSrc: "", |
| | | description: "", |
| | | catalogue: "", |
| | | descriptionLoading: true, |
| | | catalogueLoading: true |
| | | }; |
| | | }, |
| | | created() { |
| | | this.getData(); |
| | | this.getCatalogue(); |
| | | }, |
| | | methods: { |
| | | // è·å详æ
|
| | | getData() { |
| | | this.descriptionLoading = true; |
| | | let query = { |
| | | path: this.query.LinkPath, |
| | | fields: { |
| | | autism_introduction: [], |
| | | autism_totalDuration: [] |
| | | }, |
| | | filterList: { |
| | | "Id=": this.query.id |
| | | } |
| | | }; |
| | | this.MG.resource.getItem(query).then((res) => { |
| | | this.description = res.datas[0]; |
| | | this.descriptionLoading = false; |
| | | }); |
| | | }, |
| | | // è·åç®å½ |
| | | getCatalogue() { |
| | | this.catalogueLoading = true; |
| | | let query = { |
| | | path: this.idPath, |
| | | fields: { |
| | | autism_video: [], |
| | | autism_introduction: [], |
| | | autism_totalDuration: [] |
| | | }, |
| | | filterList: { |
| | | "SysType=":"Cmsitem" |
| | | } |
| | | }; |
| | | this.MG.resource.getItem(query).then((res) => { |
| | | this.catalogue = res.datas; |
| | | this.aliVod(this.catalogue[0].autism_video); |
| | | this.catalogueLoading = false; |
| | | }); |
| | | }, |
| | | // è·åå éå°å |
| | | aliVod(md5) { |
| | | let query = { |
| | | md5: md5, |
| | | appRefCode: this.config.appRefCode |
| | | }; |
| | | this.MG.file.getAliVod(query).then((res) => { |
| | | if (res) { |
| | | this.videoSrc = res; |
| | | } else { |
| | | this.videoSrc = getImage(md5); |
| | | } |
| | | }); |
| | | }, |
| | | getDuration() { |
| | | this.audio = this.$refs.audio; |
| | | this.duration = this.timeFormat(this.$refs.audio.duration); |
| | | }, |
| | | timeFormat(number) { |
| | | let minute = parseInt(number / 60); |
| | | let second = parseInt(number % 60); |
| | | minute = minute >= 10 ? minute : "0" + minute; |
| | | second = second >= 10 ? second : "0" + second; |
| | | return minute + ":" + second; |
| | | }, |
| | | updateTime() { |
| | | if (!this.$refs.progress) return; |
| | | this.currentDuration = this.timeFormat(this.audio.currentTime); |
| | | //妿䏿¯æ£å¨ç§»å¨ å æ²¡ææåææ¾å°±æ§è¡ |
| | | if (!this.isMoveIn || !this.audio.paused) { |
| | | // 设置å½åæ¶é´ |
| | | let MoveX = |
| | | this.$refs.progress.clientWidth * |
| | | (this.audio.currentTime / this.audio.duration); |
| | | //ææ¾æ¶æ´æ°è·ç¦» |
| | | this.$refs.currentProgress.style.width = MoveX + "px"; |
| | | this.$refs.circle.style.left = |
| | | MoveX - this.$refs.circle.clientWidth / 2 + "px"; |
| | | } |
| | | } |
| | | } |
| | | }; |
| | | </script> |
| | | |
| | | <style lang="less" scoped> |
| | | .videoBox { |
| | | height: 657px; |
| | | width: 100%; |
| | | margin-top: 20px; |
| | | } |
| | | video { |
| | | width: 100%; |
| | | height: 100%; |
| | | } |
| | | .calssInfo { |
| | | margin-top: 20px; |
| | | height: 290px; |
| | | background-color: #e4e4e4; |
| | | margin-bottom: 20px; |
| | | padding: 30px; |
| | | } |
| | | .tabItem { |
| | | height: 220px; |
| | | .selected { |
| | | font-size: 14px; |
| | | color: #0079fe; |
| | | } |
| | | } |
| | | /deep/.el-tabs--border-card > .el-tabs__header .el-tabs__item.is-active { |
| | | background-color: rgba(0, 121, 254, 1); |
| | | color: #fff !important; |
| | | } |
| | | /deep/ .el-tabs__item { |
| | | font-size: 16px; |
| | | } |
| | | </style> |
New file |
| | |
| | | <template> |
| | | <keep-alive v-if="keepAliveList.length > 0" :include="keepAliveList"> |
| | | <router-view /> |
| | | </keep-alive> |
| | | <router-view v-else /> |
| | | </template> |
| | | |
| | | <script> |
| | | import { mapState } from "vuex"; |
| | | export default { |
| | | data() { |
| | | return {}; |
| | | }, |
| | | computed: { |
| | | ...mapState(["keepAliveList"]) |
| | | }, |
| | | watch: { |
| | | $route(to, from) { |
| | | if (to.meta.keepAlive && this.keepAliveList.indexOf(to.name) == -1) { |
| | | this.$store.commit("addKeepAlive", to.name); |
| | | } |
| | | } |
| | | } |
| | | }; |
| | | </script> |
New file |
| | |
| | | <template> |
| | | <div class="pageFooter"> |
| | | <div class="footerContent contentBox flex"> |
| | | <div class="infoBox flex1"> |
| | | <ul class="linkBox"> |
| | | <li |
| | | class="link" |
| | | @click="toAboutus(index)" |
| | | v-for="(item, index) in linkList" |
| | | :key="index" |
| | | > |
| | | {{ item.name }} |
| | | </li> |
| | | </ul> |
| | | <ul class="linkBox"> |
| | | <li |
| | | class="link" |
| | | @click="toAboutus(index)" |
| | | v-for="(item, index) in newList" |
| | | :key="index" |
| | | > |
| | | {{ item.name }} |
| | | </li> |
| | | </ul> |
| | | <ul class="linkBox"> |
| | | <li |
| | | class="link" |
| | | @click="toAboutus(index)" |
| | | v-for="(item, index) in serviceList" |
| | | :key="index" |
| | | > |
| | | {{ item.name }} |
| | | </li> |
| | | </ul> |
| | | <ul class="linkBox"> |
| | | <li class="link" @click="toAboutus(index)">å¤©ç«æè°åº</li> |
| | | <li class="link" style="opacity: 1;font-size: 20px;" @click="toAboutus(index)">äº¬ä¸æè°åº</li> |
| | | </ul> |
| | | </div> |
| | | <div class="QRCodeBox"> |
| | | <div class="codeItem"> |
| | | <img src="@/assets/images/pageFooter/wechatCode.png" /> |
| | | </div> |
| | | <div class="codeItem"> |
| | | <img src="@/assets/images/pageFooter/weiboCode.png" /> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="copyrightBox"> |
| | | <span |
| | | >ä¸å½ååå»ç§å¤§å¦åºç社æéå
¬å¸ 丨 夿¡åºå·ï¼<span |
| | | class="beian" |
| | | @click="toLink" |
| | | >京ICPå¤ 05029104å·-4äºèç½åºç许å¯è¯ æ°åºç½è¯ ï¼äº¬ ï¼</span |
| | | > |
| | | 丨 å¢å¼çµä¿¡ä¸å¡ç»è¥è®¸å¯è¯ï¼äº¬B2-20224426</span |
| | | > |
| | | <span style="display: block" |
| | | >Copyright©2013 ä¸å½ååå»ç§å¤§å¦åºç社æéå
¬å¸ çæææ!</span |
| | | > |
| | | </div> |
| | | </div> |
| | | </template> |
| | | <script> |
| | | export default { |
| | | data() { |
| | | return { |
| | | linkList: [ |
| | | { |
| | | name: "å
³äºæä»¬", |
| | | url: "", |
| | | }, |
| | | { |
| | | name: "å
³äºæä»¬", |
| | | url: "", |
| | | }, |
| | | { |
| | | name: "èç³»æä»¬", |
| | | url: "", |
| | | }, |
| | | { |
| | | name: "æè§åé¦", |
| | | url: "", |
| | | }, |
| | | ], |
| | | newList: [ |
| | | { |
| | | name: "æ°æä¸è·¯", |
| | | url: "", |
| | | }, |
| | | { |
| | | name: "æä½æå", |
| | | url: "", |
| | | }, |
| | | { |
| | | name: "æå¸è®¤è¯", |
| | | url: "", |
| | | }, |
| | | ], |
| | | serviceList: [ |
| | | { |
| | | name: "åæ
龿¥", |
| | | url: "", |
| | | }, |
| | | { |
| | | name: "å½å®¶ç§å¦ææ¯é¨", |
| | | url: "", |
| | | }, |
| | | { |
| | | name: "å½å®¶å«çå¥åº·å§", |
| | | url: "", |
| | | }, |
| | | { |
| | | name: "å½å®¶æè²é¨", |
| | | url: "", |
| | | }, |
| | | { |
| | | name: "å京å¸å«å¥å§", |
| | | url: "", |
| | | }, |
| | | ], |
| | | }; |
| | | }, |
| | | methods: { |
| | | // 夿¡ |
| | | toLink() { |
| | | const url = "https://beian.miit.gov.cn/"; |
| | | window.open(url, "_blank"); |
| | | }, |
| | | toAboutus(index) { |
| | | switch (index) { |
| | | case 0: |
| | | window.open("http://xy.caupress.cn", "_blank"); |
| | | break; |
| | | case 1: |
| | | window.open( |
| | | "https://zndts.tmall.com/?spm=a1z10.1-b.1997427721.d4918089.561b7c19JR8QxF", |
| | | "_blank" |
| | | ); |
| | | break; |
| | | case 2: |
| | | this.$router.push({ |
| | | name: "authorServices", |
| | | }); |
| | | break; |
| | | case 3: |
| | | this.$router.push({ |
| | | name: "aboutUs", |
| | | query: { |
| | | aboutUs: 5, |
| | | }, |
| | | }); |
| | | break; |
| | | case 4: |
| | | if (this.$route.name == "aboutUs-index") { |
| | | this.$router.replace({ |
| | | name: "aboutUs", |
| | | query: { |
| | | aboutUs: 4, |
| | | }, |
| | | }); |
| | | } else { |
| | | this.$router.push({ |
| | | name: "aboutUs", |
| | | query: { |
| | | aboutUs: 4, |
| | | }, |
| | | }); |
| | | } |
| | | |
| | | break; |
| | | default: |
| | | this.$message("æ£å¨å»ºè®¾ä¸..."); |
| | | break; |
| | | } |
| | | }, |
| | | }, |
| | | }; |
| | | </script> |
| | | |
| | | <style lang="less" scoped> |
| | | .pageFooter { |
| | | background: #444444; |
| | | background-image: url("@/assets/images/xiehe/home/footer-bg.png"); |
| | | .footerContent { |
| | | padding: 30px 0; |
| | | .infoBox { |
| | | display: flex; |
| | | .linkBox { |
| | | font-size: 16px; |
| | | margin-left: 50px; |
| | | .link { |
| | | padding-right: 15px; |
| | | cursor: pointer; |
| | | color: #fff; |
| | | margin-top: 20px; |
| | | opacity: 0.7; |
| | | &::after { |
| | | margin-left: 15px; |
| | | } |
| | | &:last-child::after { |
| | | display: none; |
| | | } |
| | | &:first-child { |
| | | color: #fff; |
| | | opacity: 1; |
| | | font-size: 20px; |
| | | margin-bottom: 10px; |
| | | } |
| | | } |
| | | } |
| | | .address { |
| | | margin-top: 30px; |
| | | font-size: 14px; |
| | | color: #ccc; |
| | | span { |
| | | margin-right: 30px; |
| | | } |
| | | } |
| | | .logo { |
| | | height: 50px; |
| | | margin-top: 30px; |
| | | img { |
| | | height: 100%; |
| | | } |
| | | } |
| | | } |
| | | .QRCodeBox { |
| | | .codeItem { |
| | | display: inline-block; |
| | | text-align: center; |
| | | margin-left: 40px; |
| | | p { |
| | | font-size: 16px; |
| | | } |
| | | img { |
| | | width: 100px; |
| | | height: 100px; |
| | | margin-top: 20px; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | .copyrightBox { |
| | | text-align: center; |
| | | color: #fff; |
| | | |
| | | height: 80px; |
| | | line-height: 40px; |
| | | font-size: 12px; |
| | | border-top: 1px solid #e6e6e6; |
| | | .beian { |
| | | cursor: pointer; |
| | | } |
| | | .beian:hover { |
| | | color: blue; |
| | | } |
| | | } |
| | | } |
| | | </style> |
New file |
| | |
| | | <template> |
| | | <div class="pageHeader"> |
| | | <!-- 页ç --> |
| | | <!-- <div class="topBar"> |
| | | <div class="contentBox"></div> |
| | | </div> --> |
| | | <div class="contentBox logoBox"> |
| | | <div class="logo"> |
| | | <img |
| | | @click=" |
| | | () => { |
| | | $router.push({ |
| | | path: '/home', |
| | | }); |
| | | } |
| | | " |
| | | src="@/assets/images/xiehe/home/Group_303.png" |
| | | /> |
| | | </div> |
| | | <div class="searchBox" v-show="!hideSerch"> |
| | | <el-input |
| | | style="width: 500px" |
| | | placeholder="请è¾å
¥å
容" |
| | | @change="gotoSearch" |
| | | v-model="searchKey" |
| | | :suffix-icon="Search" |
| | | > |
| | | <!-- <el-select |
| | | v-model="searchType" |
| | | slot="prepend" |
| | | placeholder="è¯·éæ©" |
| | | class="searchItem" |
| | | @change="changeSelectType" |
| | | > |
| | | <el-option |
| | | v-for="item in searchTypeList" |
| | | :key="item.vlaue" |
| | | :label="item.name" |
| | | :value="item.value" |
| | | ></el-option> |
| | | </el-select> --> |
| | | <!-- <el-button |
| | | slot="append" |
| | | @click="gotoSearch" |
| | | class="searchItem searchBtn" |
| | | >æç´¢</el-button |
| | | > --> |
| | | </el-input> |
| | | <div class="loginInfoBox"> |
| | | <div v-if="!userInfo" class="loginBtnBox"> |
| | | <a |
| | | @click=" |
| | | () => { |
| | | $router.push({ |
| | | path: '/register', |
| | | }); |
| | | } |
| | | " |
| | | >注å</a |
| | | > |
| | | | |
| | | <a |
| | | @click=" |
| | | () => { |
| | | $router.push({ |
| | | path: '/login', |
| | | query: { |
| | | redirectPath: $route.fullPath, |
| | | }, |
| | | }); |
| | | } |
| | | " |
| | | >ç»å½</a |
| | | > |
| | | </div> |
| | | <div v-else class="userInfoBox"> |
| | | <el-dropdown @command="handleCommand"> |
| | | <span style="cursor: pointer">æ¬¢è¿æ¨ï¼{{ userInfo.name }}ï¼</span> |
| | | <el-dropdown-menu slot="dropdown"> |
| | | <el-dropdown-item |
| | | icon="el-icon-user" |
| | | command="gotoPersonalCenter" |
| | | >个人ä¸å¿</el-dropdown-item |
| | | > |
| | | <el-dropdown-item icon="el-icon-switch-button" command="logout" |
| | | >éåºç»å½</el-dropdown-item |
| | | > |
| | | </el-dropdown-menu> |
| | | </el-dropdown> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="contentBox navBox" v-show="!hideNav"> |
| | | <div |
| | | :class="{ |
| | | navItem: true, |
| | | active: $route.fullPath.indexOf(item.path) > -1, |
| | | }" |
| | | v-for="(item, index) in navData" |
| | | :key="index" |
| | | @click="gotoPage(item)" |
| | | > |
| | | {{ item.name }} |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import { mapState } from "vuex"; |
| | | export default { |
| | | name: "pageHeader", |
| | | props: { |
| | | hideNav: { |
| | | type: Boolean, |
| | | default: false, |
| | | }, |
| | | hideSerch: { |
| | | type: Boolean, |
| | | default: false, |
| | | }, |
| | | }, |
| | | data() { |
| | | return { |
| | | searchKey: "", |
| | | searchType: "projectTitle", |
| | | searchTypeList: [ |
| | | { |
| | | name: "书å", |
| | | value: "bookName", |
| | | }, |
| | | { |
| | | name: "书å·", |
| | | value: "isbn", |
| | | }, |
| | | { |
| | | name: "ä½è
", |
| | | value: "author", |
| | | }, |
| | | { |
| | | name: "ç«é¡¹å å", |
| | | value: "projectTitle", |
| | | }, |
| | | ], |
| | | navData: [ |
| | | { |
| | | name: "é¦é¡µ", |
| | | path: "/home", |
| | | }, |
| | | { |
| | | name: "æè²åºç", |
| | | path: "/bookStore", |
| | | }, |
| | | { |
| | | name: "读è
æå¡", |
| | | path: "/teachingServices", |
| | | }, |
| | | // { |
| | | // name: "èµè®¯ä¸å¿", |
| | | // path: "/informationCenter", |
| | | // }, |
| | | // { |
| | | // name: "ä½è
æå¡", |
| | | // path: "/authorServices", |
| | | // }, |
| | | { |
| | | name: "å
³äºæä»¬", |
| | | path: "/aboutUs", |
| | | }, |
| | | ], |
| | | }; |
| | | }, |
| | | computed: { |
| | | ...mapState(["userInfo"]), |
| | | }, |
| | | methods: { |
| | | //忢æç´¢ç±»å |
| | | changeSelectType(val) { |
| | | this.searchKey = ""; |
| | | }, |
| | | gotoPage(item) { |
| | | this.searchKey = ""; |
| | | if (item.path) { |
| | | if (item.path == "/bookStore") { |
| | | console.log(1); |
| | | this.$store.commit("delKeepAlive", "bookStore-index"); |
| | | } else if (item.path == "/teachingServices") { |
| | | this.$store.commit("delKeepAlive", "teachingServices-index"); |
| | | } |
| | | this.$router.push({ |
| | | path: item.path, |
| | | }); |
| | | } else { |
| | | this.$message({ |
| | | message: "建设ä¸...", |
| | | type: "warning", |
| | | }); |
| | | } |
| | | }, |
| | | gotoSearch() { |
| | | let query = { |
| | | searchType: this.searchType, |
| | | searchValue: this.searchKey, |
| | | }; |
| | | if (this.$route.path.indexOf("/teachingServices") > -1) { |
| | | query.searchPath = "caupress_teachingResource"; |
| | | } |
| | | this.$router.push({ |
| | | name: "search", |
| | | query: { ...query }, |
| | | }); |
| | | }, |
| | | handleCommand(command) { |
| | | if (command == "gotoPersonalCenter") { |
| | | this.$router.push({ |
| | | name: "personalCenter", |
| | | }); |
| | | } |
| | | if (command == "logout") { |
| | | this.$store.dispatch("setToken", null); |
| | | this.$store.dispatch("setUserInfo", null); |
| | | this.$router.push({ |
| | | name: "home", |
| | | }); |
| | | } |
| | | }, |
| | | }, |
| | | }; |
| | | </script> |
| | | |
| | | <style lang="less" scoped> |
| | | .pageHeader { |
| | | width: 100%; |
| | | background-color: #fff; |
| | | border-bottom: 1px solid #e6e6e6; |
| | | .topBar { |
| | | background: #e6e6e6; |
| | | color: #808080; |
| | | overflow: hidden; |
| | | padding: 14px 0; |
| | | p { |
| | | float: left; |
| | | } |
| | | .loginInfoBox { |
| | | float: right; |
| | | .loginBtnBox { |
| | | a { |
| | | cursor: pointer; |
| | | text-decoration: none; |
| | | color: inherit; |
| | | margin: 0 4px; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | .logoBox { |
| | | padding: 25px 0; |
| | | overflow: hidden; |
| | | max-width: 1200px !important; |
| | | .logo { |
| | | float: left; |
| | | height: 66px; |
| | | img { |
| | | height: 100%; |
| | | cursor: pointer; |
| | | } |
| | | } |
| | | .searchBox { |
| | | width: 670px; |
| | | float: right; |
| | | padding-right: 10px; |
| | | line-height: 66px; |
| | | display: flex; |
| | | justify-content: space-between; |
| | | .searchItem { |
| | | width: 120px; |
| | | vertical-align: initial; |
| | | } |
| | | .searchBtn { |
| | | width: auto; |
| | | background: #144941; |
| | | color: #fff; |
| | | padding: 0 20px; |
| | | height: 40px; |
| | | } |
| | | } |
| | | } |
| | | .navBox { |
| | | .navItem { |
| | | display: inline-block; |
| | | width: 120px; |
| | | height: 50px; |
| | | text-align: center; |
| | | line-height: 50px; |
| | | font-size: 16px; |
| | | cursor: pointer; |
| | | &.active { |
| | | background: #144941; |
| | | color: #fff; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | </style> |
| | | <style> |
| | | .pageHeader .searchBox .el-input-group__prepend { |
| | | background: #fff; |
| | | color: #444; |
| | | } |
| | | </style> |
New file |
| | |
| | | <template> |
| | | <div class="homeLayoutBox"> |
| | | <PageHeader |
| | | :hideNav="$route.name == 'register' || $route.name == 'login'" |
| | | :hideSerch="$route.name == 'register' || $route.name == 'login'" |
| | | v-if="!$route.meta.noWrapHeadFooter" |
| | | ></PageHeader> |
| | | <div class="pageContentBox"> |
| | | <keep-alive v-if="keepAliveList.length > 0" :include="keepAliveList"> |
| | | <router-view /> |
| | | </keep-alive> |
| | | <router-view v-else /> |
| | | </div> |
| | | <PageFooter v-if="!$route.meta.noWrapHeadFooter"></PageFooter> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import PageHeader from "./components/header"; |
| | | import PageFooter from "./components/footer"; |
| | | import { mapState } from "vuex"; |
| | | export default { |
| | | components: { |
| | | PageHeader, |
| | | PageFooter |
| | | }, |
| | | computed: { |
| | | ...mapState(["keepAliveList"]) |
| | | }, |
| | | watch: { |
| | | $route(to, from) { |
| | | if (to.meta.keepAlive && this.keepAliveList.indexOf(to.name) == -1) { |
| | | // this.$store.commit("addKeepAlive", to.name); |
| | | } |
| | | } |
| | | } |
| | | }; |
| | | </script> |
| | | |
| | | <style lang="less" scoped> |
| | | .homeLayoutBox { |
| | | width: 100%; |
| | | height: 100%; |
| | | .pageContentBox { |
| | | min-height: calc(100% - 447px); |
| | | } |
| | | } |
| | | </style> |
New file |
| | |
| | | import Vue from "vue"; |
| | | import App from "./App.vue"; |
| | | import router from "./router"; |
| | | import store from "./store"; |
| | | |
| | | // èªå®ä¹é
ç½® |
| | | |
| | | import "@/assets/iconfont/iconfont.css"; |
| | | import config from "@/assets/js/config"; |
| | | Vue.prototype.config = config; |
| | | |
| | | // axios |
| | | import service from "@/plugin/axios"; |
| | | Vue.prototype.request = service; |
| | | |
| | | import { |
| | | setNewView |
| | | } from "@/assets/js/userAction" |
| | | Vue.prototype.setNewView = setNewView; |
| | | // ElementUI |
| | | import ElementUI from "element-ui"; |
| | | import "@/assets/theme/index.css"; |
| | | Vue.use(ElementUI); |
| | | |
| | | import { |
| | | tokenKey |
| | | } from "@/assets/js/config"; |
| | | //å·¥å
·ç±» |
| | | import tool from "@/assets/js/toolClass"; |
| | | Vue.prototype.tool = tool; |
| | | |
| | | // è·¯ç±å¤æç»å½ æ ¹æ®è·¯ç±é
ç½®æä»¶çåæ° |
| | | router.beforeEach((to, from, next) => { |
| | | if (to.matched.some((record) => record.meta.authentication)) { |
| | | // å¤æè¯¥è·¯ç±æ¯å¦éè¦ç»å½æé |
| | | if (tool.getCookie(tokenKey)) { |
| | | // 夿å½åçtokenæ¯å¦åå¨ ï¼ ç»å½åå
¥çtoken |
| | | if (to.path === "/login") { |
| | | tool.delCookie(tokenKey); |
| | | // removeToken(); |
| | | window.location.reload(); |
| | | } else { |
| | | next(); |
| | | } |
| | | } else { |
| | | next({ |
| | | path: "/login", |
| | | query: { |
| | | redirect: to.fullPath |
| | | }, // å°è·³è½¬çè·¯ç±pathä½ä¸ºåæ°ï¼ç»å½æåå跳转å°è¯¥è·¯ç± |
| | | }); |
| | | } |
| | | } else { |
| | | next(); |
| | | } |
| | | }); |
| | | // 请æ±å¤ç |
| | | import MG from "@/assets/js/middleGround/WebMiddleGroundApi"; |
| | | Vue.prototype.MG = MG; |
| | | |
| | | // æ¶é´å¤ç |
| | | import moment from "moment"; |
| | | Vue.prototype.moment = moment; |
| | | |
| | | Vue.config.productionTip = false; |
| | | |
| | | new Vue({ |
| | | router, |
| | | store, |
| | | render: (h) => h(App), |
| | | }).$mount("#app"); |
New file |
| | |
| | | import axios from "axios"; |
| | | import myConfig from "@/assets/js/config"; |
| | | import toolClass from "@/assets/js/toolClass"; |
| | | import { Message } from "element-ui"; |
| | | |
| | | import router from "@/router"; |
| | | |
| | | // å建 axios å®ä¾ |
| | | const service = axios.create({ |
| | | baseURL: myConfig.requestCtx, |
| | | timeout: myConfig.requestTimeOut, // 请æ±è¶
æ¶æ¶é´ |
| | | }); |
| | | |
| | | // è¯·æ±æ¦æªå¨ |
| | | service.interceptors.request.use( |
| | | (config) => { |
| | | let token = toolClass.getCookie(myConfig.tokenKey); |
| | | if (token) config.headers["Authorization"] = `bearer ${token}`; |
| | | return config; |
| | | }, |
| | | (error) => { |
| | | // åé失败 |
| | | Promise.reject(error); |
| | | } |
| | | ); |
| | | |
| | | // ååºæ¦æªå¨ |
| | | service.interceptors.response.use( |
| | | (response) => { |
| | | // dataAxios æ¯ axios è¿åæ°æ®ä¸ç data |
| | | const dataAxios = response.data; |
| | | const { success } = dataAxios; |
| | | if (dataAxios.currentDate) { |
| | | sessionStorage.currentDate = new Date(dataAxios.currentDate).getTime(); |
| | | } |
| | | // æ ¹æ® code è¿è¡å¤æ |
| | | if (success) { |
| | | // å¤çä¸ä¼ æä»¶ |
| | | if (dataAxios.msg == "æä»¶ä¸ä¼ æå") { |
| | | return dataAxios.msg; |
| | | } |
| | | // 妿è¿åå¼ä¸º å¸å°(Boolean)ç±»åï¼ç´æ¥è¿åå³å¯ï¼ä¾å¦ï¼æ´æ¹ç»å®ææºå·ï¼ |
| | | if (typeof dataAxios.data == "boolean") { |
| | | return dataAxios.data; |
| | | } |
| | | return dataAxios.data ? dataAxios.data : dataAxios.result; |
| | | } else { |
| | | // æç¤ºé误 |
| | | console.error(dataAxios.msg); |
| | | } |
| | | }, |
| | | (error) => { |
| | | if (error.response && error.response.status == 401) { |
| | | toolClass.delCookie(myConfig.tokenKey); |
| | | toolClass.delCookie(myConfig.userInfoKey); |
| | | router.replace({ |
| | | path: "/login", |
| | | }); |
| | | } else { |
| | | if (error.response && error.response.data && error.response.data) { |
| | | console.error(error.response.data.msg); |
| | | Message({ |
| | | message: error.response.data.msg, |
| | | type: "error", |
| | | }); |
| | | } else { |
| | | console.error("请æ±åçé误"); |
| | | } |
| | | } |
| | | return Promise.reject(error); |
| | | } |
| | | ); |
| | | |
| | | export default service; |
New file |
| | |
| | | import Vue from "vue"; |
| | | import VueRouter from "vue-router"; |
| | | import HomeLayout from "@/layout"; |
| | | import Home from "@/views/home"; |
| | | import Search from "@/views/home/search"; |
| | | |
| | | import bookStore from "./modules/bookStore"; |
| | | import teachingServices from "./modules/teachingServices"; |
| | | import informationCenterRouter from "./modules/informationCenter"; |
| | | import aboutUs from "./modules/aboutUs"; |
| | | import preview from "./modules/preview" |
| | | import baseLayout from "@/layout/base"; |
| | | const originalPush = VueRouter.prototype.push |
| | | VueRouter.prototype.push = function push(location) { |
| | | return originalPush.call(this, location).catch(err => err) |
| | | } |
| | | |
| | | Vue.use(VueRouter); |
| | | |
| | | const routes = [{ |
| | | path: "/", |
| | | name: "HomeLayout", |
| | | component: HomeLayout, |
| | | redirect: { |
| | | name: "home" |
| | | }, |
| | | children: [ |
| | | // å¨ä¸»æ¡æ¶å
|
| | | { |
| | | path: "home", |
| | | name: "home", |
| | | meta: { |
| | | name: "é¦é¡µ", |
| | | authentication: false, // æ¯å¦éè¦ç»å½éªè¯ |
| | | keepAlive: false, // æ¯å¦éè¦ç¼å |
| | | }, |
| | | component: baseLayout, |
| | | redirect: { |
| | | name: "index" |
| | | }, |
| | | children: [{ |
| | | path: "index", |
| | | name: "index", |
| | | meta: { |
| | | name: "é¦é¡µ", |
| | | authentication: false, // æ¯å¦éè¦ç»å½éªè¯ |
| | | keepAlive: false, // æ¯å¦éè¦ç¼å |
| | | }, |
| | | component: Home, |
| | | }, |
| | | { |
| | | path: "search", |
| | | name: "search", |
| | | meta: { |
| | | name: "é¦é¡µæç´¢", |
| | | authentication: false, // æ¯å¦éè¦ç»å½éªè¯ |
| | | keepAlive: true, // æ¯å¦éè¦ç¼å |
| | | }, |
| | | component: Search, |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | path: "/login", |
| | | name: "login", |
| | | meta: { |
| | | name: "ç»å½", |
| | | authentication: false, |
| | | }, |
| | | component: () => import("@/views/login/login"), |
| | | }, |
| | | { |
| | | path: "/register", |
| | | name: "register", |
| | | meta: { |
| | | name: "注å", |
| | | authentication: false, |
| | | }, |
| | | component: () => import("@/views/login/register"), |
| | | }, |
| | | { |
| | | path: "/personalCenter", |
| | | name: "personalCenter", |
| | | meta: { |
| | | name: "个人ä¸å¿", |
| | | authentication: true, |
| | | }, |
| | | component: () => import("@/views/personalCenter"), |
| | | }, |
| | | { |
| | | path: "/authorServices", |
| | | name: "authorServices", |
| | | meta: { |
| | | name: "ä½è
æå¡", |
| | | authentication: false, |
| | | }, |
| | | component: () => import("@/views/authorServices"), |
| | | }, |
| | | { |
| | | path: "/bindWeChat", |
| | | name: "bindWeChat", |
| | | meta: { |
| | | name: "ç»å®å¾®ä¿¡", |
| | | authentication: true, |
| | | }, |
| | | component: () => import("@/views/bindWeChat"), |
| | | }, |
| | | { |
| | | path: "/bindWeChatBack", |
| | | name: "bindWeChatBack", |
| | | meta: { |
| | | name: "ç»å®å¾®ä¿¡", |
| | | authentication: true, |
| | | }, |
| | | component: () => import("@/views/bindWeChat/success"), |
| | | }, |
| | | { |
| | | path: "/AdminLogin", |
| | | name: "AdminLogin", |
| | | meta: { |
| | | name: "管çç»å½", |
| | | noWrapHeadFooter: true, |
| | | }, |
| | | component: () => import("@/views/login/adminLogin"), |
| | | }, |
| | | ...bookStore, |
| | | ...teachingServices, |
| | | ...informationCenterRouter, |
| | | ...aboutUs, |
| | | ...preview |
| | | ], |
| | | }, |
| | | // ä¸å¨ä¸»æ¡æ¶å
|
| | | |
| | | { |
| | | path: "/findPassword", |
| | | name: "findPassword", |
| | | meta: { |
| | | name: "ç»å½", |
| | | }, |
| | | component: () => import("@/views/login/findPassword"), |
| | | }, |
| | | ]; |
| | | |
| | | const router = new VueRouter({ |
| | | routes, |
| | | }); |
| | | |
| | | export default router; |
New file |
| | |
| | | import baseLayout from "@/layout/base"; |
| | | const aboutUsRouter = [ |
| | | { |
| | | path: "/aboutUs", |
| | | name: "aboutUs", |
| | | redirect: { name: "aboutUs-index" }, |
| | | component: baseLayout, |
| | | meta: { |
| | | name: "å
³äºæä»¬", |
| | | authentication: false, |
| | | }, |
| | | children: [ |
| | | { |
| | | path: "index", |
| | | name: "aboutUs-index", |
| | | meta: { |
| | | name: "å
³äºæä»¬", |
| | | authentication: false, |
| | | }, |
| | | component: () => import("@/views/aboutUs/index"), |
| | | }, |
| | | ], |
| | | }, |
| | | ]; |
| | | |
| | | export default aboutUsRouter; |
New file |
| | |
| | | import baseLayout from "@/layout/base"; |
| | | const bookStoreRouter = [ |
| | | { |
| | | path: "/bookStore", |
| | | name: "bookStore", |
| | | redirect: { name: "bookStore-index" }, |
| | | component: baseLayout, |
| | | meta: { |
| | | name: "书å", |
| | | authentication: false |
| | | }, |
| | | children: [ |
| | | { |
| | | path: "index", |
| | | name: "bookStore-index", |
| | | meta: { |
| | | name: "书å", |
| | | authentication: false, |
| | | keepAlive: true |
| | | }, |
| | | component: () => import("@/views/bookStore/index") |
| | | }, |
| | | { |
| | | path: "detail", |
| | | name: "bookStore-detail", |
| | | meta: { |
| | | name: "书å详æ
", |
| | | authentication: false |
| | | }, |
| | | component: () => import("@/views/bookStore/detail") |
| | | }, |
| | | { |
| | | path: "order", |
| | | name: "bookStore-order", |
| | | meta: { |
| | | name: "确认订å", |
| | | authentication: false |
| | | }, |
| | | component: () => import("@/views/bookStore/order") |
| | | } |
| | | ] |
| | | } |
| | | ]; |
| | | |
| | | export default bookStoreRouter; |
New file |
| | |
| | | import baseLayout from "@/layout/base"; |
| | | const informationCenterRouter = [ |
| | | { |
| | | path: "/informationCenter", |
| | | name: "informationCenter", |
| | | redirect: { name: "informationCenter-index" }, |
| | | component: baseLayout, |
| | | meta: { |
| | | name: "å¨è¯¢ä¸å¿", |
| | | authentication: false, |
| | | }, |
| | | children: [ |
| | | { |
| | | path: "index", |
| | | name: "informationCenter-index", |
| | | meta: { |
| | | name: "å¨è¯¢ä¸å¿", |
| | | authentication: false, |
| | | }, |
| | | component: () => import("@/views/informationCenter/index"), |
| | | }, |
| | | { |
| | | path: "detail", |
| | | name: "informationCenter-detail", |
| | | meta: { |
| | | name: "å¨è¯¢è¯¦æ
", |
| | | authentication: false, |
| | | }, |
| | | component: () => import("@/views/informationCenter/detail"), |
| | | }, |
| | | ], |
| | | }, |
| | | ]; |
| | | |
| | | export default informationCenterRouter; |
New file |
| | |
| | | import baseLayout from "@/layout/base"; |
| | | |
| | | const previewRouter = [{ |
| | | path: "/preview", |
| | | name: "preview", |
| | | redirect: { |
| | | name: "preview-index" |
| | | }, |
| | | component: baseLayout, |
| | | meta: { |
| | | name: "èµæºé¢è§", |
| | | authentication: false, |
| | | }, |
| | | children: [{ |
| | | path: "pdf", |
| | | name: "preview-pdf", |
| | | meta: { |
| | | name: "PDFé¢è§", |
| | | authentication: false, |
| | | noWrapHeadFooter: true, |
| | | |
| | | }, |
| | | component: () => import("@/views/preview/pdf"), |
| | | }, |
| | | { |
| | | path: "audio", |
| | | name: "preview-audio", |
| | | meta: { |
| | | name: "é³é¢è¯å¬", |
| | | authentication: false, |
| | | }, |
| | | component: () => import("@/views/preview/audio"), |
| | | }, |
| | | { |
| | | path: "video", |
| | | name: "preview-video", |
| | | meta: { |
| | | name: "è§é¢è¯ç", |
| | | authentication: false, |
| | | }, |
| | | component: () => import("@/views/preview/video"), |
| | | }, |
| | | ] |
| | | }] |
| | | |
| | | export default previewRouter; |
New file |
| | |
| | | import baseLayout from "@/layout/base"; |
| | | const bookStoreRouter = [ |
| | | { |
| | | path: "/teachingServices", |
| | | name: "teachingServices", |
| | | redirect: { name: "teachingServices-index" }, |
| | | component: baseLayout, |
| | | meta: { |
| | | name: "æå¦æå¡", |
| | | authentication: false |
| | | }, |
| | | children: [ |
| | | { |
| | | path: "index", |
| | | name: "teachingServices-index", |
| | | meta: { |
| | | name: "æå¦æå¡", |
| | | authentication: false, |
| | | keepAlive: true |
| | | }, |
| | | component: () => import("@/views/teachingServices/index") |
| | | }, |
| | | { |
| | | path: "detail", |
| | | name: "teachingServices-detail", |
| | | meta: { |
| | | name: "æå¦æå¡è¯¦æ
", |
| | | authentication: false |
| | | }, |
| | | component: () => import("@/views/teachingServices/detail") |
| | | }, |
| | | { |
| | | path:"applyBook-paper", |
| | | name:"teachingServices-applyBook-paper", |
| | | meta:{ |
| | | name:"çº¸è´¨æ ·ä¹¦ç³è¯·", |
| | | authentication: false |
| | | }, |
| | | component:() => import("@/views/teachingServices/applyBookPaper") |
| | | }, |
| | | { |
| | | path:"applyBook-electronic", |
| | | name:"teachingServices-applyBook-electronic", |
| | | meta:{ |
| | | name:"çµåæ ·ä¹¦ç³è¯·", |
| | | authentication: false |
| | | }, |
| | | component:() => import("@/views/teachingServices/applyBookElectronic") |
| | | } |
| | | ] |
| | | } |
| | | ]; |
| | | |
| | | export default bookStoreRouter; |
New file |
| | |
| | | import Vue from "vue"; |
| | | import Vuex from "vuex"; |
| | | import tool from "@/assets/js/toolClass"; |
| | | import { tokenKey, userInfoKey } from "@/assets/js/config"; |
| | | |
| | | Vue.use(Vuex); |
| | | |
| | | export default new Vuex.Store({ |
| | | state: { |
| | | token: tool.getCookie(tokenKey), |
| | | userInfo: tool.getCookie(userInfoKey) |
| | | ? JSON.parse(tool.getCookie(userInfoKey)) |
| | | : null, |
| | | //书念è§åå² |
| | | historyBook: [], |
| | | //çµåæ ·ä¹¦å表 |
| | | electronicBookList: [], |
| | | //çº¸è´¨æ ·ä¹¦ç³è¯·å表 |
| | | paperCopiesList: [], |
| | | keepAliveList: [], |
| | | }, |
| | | getters: {}, |
| | | mutations: { |
| | | changeLogin(state, val) { |
| | | if (val) { |
| | | state.token = val; |
| | | tool.setCookie(tokenKey, val); |
| | | } else { |
| | | state.token = null; |
| | | tool.delCookie(tokenKey); |
| | | } |
| | | }, |
| | | |
| | | changeUserInfo(state, val) { |
| | | if (val) { |
| | | // é»è®¤å¤´å |
| | | // if (!val.icon) |
| | | // val.icon = require("@/assets/images/common/pageHeader/userIcon.png"); |
| | | state.userInfo = JSON.parse(JSON.stringify(val)); |
| | | tool.setCookie(userInfoKey, JSON.stringify(val)); |
| | | } else { |
| | | state.userInfo = null; |
| | | tool.delCookie(userInfoKey); |
| | | } |
| | | }, |
| | | //设置æµè§è®°å½ |
| | | setHistoryBook(state, val) { |
| | | let currentIndex = ""; |
| | | if (state.historyBook.length > 0) { |
| | | var res = state.historyBook.some((item, index) => { |
| | | if (item.id == val.id) { |
| | | currentIndex = index; |
| | | return true; |
| | | } |
| | | }); |
| | | if (!res) { |
| | | state.historyBook.unshift(val); |
| | | } else { |
| | | state.historyBook.splice(currentIndex, 1); |
| | | state.historyBook.unshift(val); |
| | | } |
| | | } else { |
| | | state.historyBook.unshift(val); |
| | | } |
| | | }, |
| | | //å 餿µè§è®°å½ |
| | | deleteHistoryBook(state, val) { |
| | | state.historyBook.splice(val, 1); |
| | | }, |
| | | //å¢å çµåæ ·ä¹¦ |
| | | addEbookList(state, val) { |
| | | state.electronicBookList.push(val); |
| | | }, |
| | | //å¢å çº¸è´¨æ ·ä¹¦ |
| | | addPbookList(state, val) { |
| | | state.paperCopiesList.push(val); |
| | | }, |
| | | //å é¤çµåæ ·ä¹¦ |
| | | deleteEbookList(state, val) { |
| | | if (val == "all") { |
| | | state.electronicBookList = []; |
| | | } else { |
| | | state.electronicBookList.splice(val, 1); |
| | | } |
| | | }, |
| | | //å é¤çº¸è´¨æ ·ä¹¦ |
| | | deletePbookList(state, val) { |
| | | if (val == "all") { |
| | | state.paperCopiesList = []; |
| | | } else { |
| | | state.paperCopiesList.splice(val, 1); |
| | | } |
| | | }, |
| | | emptyBookList(state, val) { |
| | | state.electronicBookList = []; |
| | | state.paperCopiesList = []; |
| | | }, |
| | | deleteAllHistory(state) { |
| | | state.historyBook = []; |
| | | }, |
| | | addKeepAlive(state, val) { |
| | | state.keepAliveList.push(val); |
| | | console.log("state", state.keepAliveList); |
| | | }, |
| | | delKeepAlive(state, val) { |
| | | if (state.keepAliveList.findIndex((item) => item == val) != -1) { |
| | | state.keepAliveList.splice( |
| | | state.keepAliveList.findIndex((item) => item == val), |
| | | 1 |
| | | ); |
| | | } |
| | | }, |
| | | }, |
| | | actions: { |
| | | setUserInfo(context, val) { |
| | | context.commit("changeUserInfo", val); |
| | | }, |
| | | setToken(context, val) { |
| | | context.commit("changeLogin", val); |
| | | }, |
| | | }, |
| | | modules: {}, |
| | | }); |
New file |
| | |
| | | <template> |
| | | <div class="bgcfff"> |
| | | <div class="bannerBox"> |
| | | <div class="imgBox"> |
| | | <img src="@/assets/images/xiehe/about/about_bg.png" alt="" /> |
| | | <div class="bannerText"> |
| | | <div>ä¸å½ååå»ç§å¤§å¦åºç社</div> |
| | | <div class="enText">ABOUT US</div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="contentBox"> |
| | | <div class="crumbs"> |
| | | <el-breadcrumb separator-class="el-icon-arrow-right"> |
| | | <el-breadcrumb-item :to="{ name: 'home' }">é¦é¡µ</el-breadcrumb-item> |
| | | <el-breadcrumb-item>å
³äºæä»¬</el-breadcrumb-item> |
| | | </el-breadcrumb> |
| | | </div> |
| | | <div class="aboutUs"> |
| | | <div class="aboutTitle"> |
| | | <div class="titleBox1"> |
| | | <img |
| | | class="autoImg" |
| | | src="@/assets/images/xiehe/about/yinhao.png" |
| | | alt="" |
| | | /> |
| | | </div> |
| | | <div class="titleText">Publisher Introduction</div> |
| | | </div> |
| | | <div class="textBox"> |
| | | <p> |
| | | ä¸å½ååå»ç§å¤§å¦åºç社ï¼ä»¥ä¸ç®ç§°âåååºç社âï¼æç«äº |
| | | <span class="colorText">1989</span> å¹´ï¼æ¯ |
| | | <span class="colorText" |
| | | >å½å®¶å«çå¥åº·å§ä¸»ç®¡ãä¸å½å»å¦ç§å¦é¢å京ååå»å¦é¢ä¸»å |
| | | ç大å¦åºç社ã</span |
| | | > |
| | | </p> |
| | | <p> |
| | | åååºç社çåºç宿¨æ¯ï¼ä»¥ç§¯æ·æåã弿¬ææ³ä¸ºå·±ä»»ï¼é¢åå»å¦ç§å¦å沿ï¼é¢åå»å¦æè²ï¼é¢å临åºå®è·µï¼é¢å大ä¼å¥åº·ï¼ä¸ºå¦æ ¡ã妿¯çåå
¨ç¤¾ä¼æä¾é«åè´¨çå
容产åï¼ä¸ºååç妿¯å£°èªå¢å
添彩ï¼ä¸ºå»å¦çæé«å»å¦å¦æ¯æ°´å¹³ååºå®è´¨æ§è´¡ç®ï¼ä¸ºä¸å½å
¬ä¼æä¾æå¨çå¥åº·ç§æ®æå¡ï¼æç»ä¸ºæå½å«çå¥åº·äºä¸åå±åæ¥åºæä½ç¨ã |
| | | </p> |
| | | <p> |
| | | 建社以æ¥ï¼åååºçç¤¾ç§æ¿ååæ¯æ ¡ä¼ç§ç妿¯ä¼ ç»ï¼åå®å¦æ¯åºçéµå°ï¼æå»ºé«æ°´å¹³ç妿¯ä¼ æå¹³å°ï¼ä»¥âå½å¥½å»çï¼è¯»ååå»ä¹¦âä¸ºç®æ ï¼é¸é 妿¯åçï¼å¼ºåç²¾åæè¯ï¼å¾åæé å
«å¤§åç±»å¾ä¹¦ï¼å
æ¬æææè¾
ãå»å¦ä¸èã临åºå®ç¨æåãè¾ä¹¦ãå«ç管çãå»å¦äººæãå¥åº·ç§æ®ãå·¥å
·ç±»å¾ä¹¦ãä¸ä»
卿åå»å¡äººåèä¸è½åãæå±ä¸ä¸è§é以åå©åæ§ä¸èµæ ¼èè¯æ¹é¢åæ¥äºéè¦ä½ç¨ï¼ä¹ä¸ºå»å¦ç夯å®å»å¦åºç¡ãææ¡ä¸´åºæè½ãæåç§ç ç´ å
»æä¾äºç³»ç»æ§æ¯æï¼æä¸ºå
¶æé¿è¿ç¨ä¸çéè¦å¦ä¹ èµæºï¼å£ç¢ç¸ä¼ ï¼åçæ¢æ ã |
| | | </p> |
| | | <p> |
| | | åååºç社ä½ä¸ºå
·æé«åº¦å»å¦ä¸ä¸æ§çå½å®¶çº§åºç社ï¼è©è´çæå¡é¢æ ¡ææå»ºè®¾ä¸è¯¾ç¨å»ºè®¾çéè¦è´£ä»»ãæªæ¥ï¼åååºç社å°å
å忥ä¸ä¸ä¼å¿ï¼ä¸ºå¾ä¹¦åºçãåè¡åå®£ä¼ æä¾å
¨æ¹ä½ãæåæ¯æï¼æ¨å¨å»å¦æè²äºä¸ä¸æåå±ã |
| | | </p> |
| | | </div> |
| | | <div class="statisticsBox"> |
| | | <div class="statisticsItem"> |
| | | <div class="statisticsNum"> |
| | | 35 <span class="circleBox">å¹´</span> |
| | | </div> |
| | | <div class="statisticsTitle">䏿³¨å»å¦åºç</div> |
| | | </div> |
| | | <div class="statisticsItem"> |
| | | <div class="statisticsNum">8000+ ä½</div> |
| | | <div class="statisticsTitle">顶级ä¸å®¶åº</div> |
| | | </div> |
| | | <div class="statisticsItem"> |
| | | <div class="statisticsNum"> |
| | | 500+ <span class="circleBox">æ¬</span> |
| | | </div> |
| | | <div class="statisticsTitle">累计åºçæææè¾
</div> |
| | | </div> |
| | | <div class="statisticsItem"> |
| | | <div class="statisticsNum">4 <span class="circleBox">æ¬</span></div> |
| | | <div class="statisticsTitle">妿¯æå</div> |
| | | </div> |
| | | <div class="statisticsItem"> |
| | | <div class="statisticsNum">4 <span class="circleBox">æ¬</span></div> |
| | | <div class="statisticsTitle">妿¯æå</div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="brandCultureBox"> |
| | | <div class="brandCultureTop"> |
| | | <div class="CultureBox"> |
| | | <div class="brandCultureTitle"> |
| | | <div>ç念ä¸åçæå</div> |
| | | <div class="enText">Philosophy & Brand Culture</div> |
| | | </div> |
| | | <div class="cultureList"> |
| | | <div class="cultureItem firstItem"> |
| | | <div |
| | | class="cultureTitle" |
| | | style="border-bottom: 1px solid rgba(255, 255, 255, 0.1)" |
| | | > |
| | | <div class="leftIcon"> |
| | | <img |
| | | class="autoImg" |
| | | src="@/assets/images/xiehe/about/zongzhi.png" |
| | | alt="" |
| | | /> |
| | | </div> |
| | | <div class="titleTextInfo"> |
| | | <div class="itemTitle" style="color: #fff">åºç宿¨</div> |
| | | <div class="itemSubTitle" style="color: #fff"> |
| | | Publishing Mission |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="itemText" style="color: #d5d5d5"> |
| | | ä»¥ç§¯æ·æåã弿¬ææ³ä¸ºå·±ä»»ï¼èç¦å»å¦ç§å¦å沿ãå»å¦æè²ã临åºå®è·µä¸å¤§ä¼å¥åº·ï¼ä¸ºå»ºè®¾å¥åº·ä¸å½è´¡ç®åºçåéã |
| | | </div> |
| | | </div> |
| | | <div class="cultureItem"> |
| | | <div class="cultureTitle"> |
| | | <div class="leftIcon"> |
| | | <img |
| | | class="autoImg" |
| | | src="@/assets/images/xiehe/about/beijing.png" |
| | | alt="" |
| | | /> |
| | | </div> |
| | | <div class="titleTextInfo"> |
| | | <div class="itemTitle">åºç宿¨</div> |
| | | <div class="itemSubTitle">Publishing Mission</div> |
| | | </div> |
| | | </div> |
| | | <div class="itemText"> |
| | | ç±å½å®¶å«çå¥åº·å§ä¸»ç®¡ãä¸å½å»å¦ç§å¦é¢å京ååå»å¦é¢ä¸»åï¼ä¸æ³¨å»å¦åºç 35å¹´ï¼æç»å¼é¢å»å¦ä¸ä¸åºçæ¹åã |
| | | </div> |
| | | </div> |
| | | <div class="cultureItem"> |
| | | <div class="cultureTitle"> |
| | | <div class="leftIcon"> |
| | | <img |
| | | class="autoImg" |
| | | src="@/assets/images/xiehe/about/zizhi.png" |
| | | alt="" |
| | | /> |
| | | </div> |
| | | <div class="titleTextInfo"> |
| | | <div class="itemTitle">åºç宿¨</div> |
| | | <div class="itemSubTitle">Publishing Mission</div> |
| | | </div> |
| | | </div> |
| | | <div class="itemText"> |
| | | 夿¬¡è£è·â髿 ¡ä¼ç§åºç社ââå
¨å½è¯å¥½åºç社ââå«ç鍿°åºç§æèä½çªåºè´¡ç®åºç社âçç§°å·ï¼åºçå¾ä¹¦å±¡è· ä¸å½åºçæ¿åºå¥ãä¸åä¼ç§åºçç©å¥ çå½å®¶çº§è£èªã |
| | | </div> |
| | | </div> |
| | | <div class="cultureItem"> |
| | | <div class="cultureTitle"> |
| | | <div class="leftIcon"> |
| | | <img |
| | | class="autoImg" |
| | | src="@/assets/images/xiehe/about/fazhan.png" |
| | | alt="" |
| | | /> |
| | | </div> |
| | | <div class="titleTextInfo"> |
| | | <div class="itemTitle">åºç宿¨</div> |
| | | <div class="itemSubTitle">Publishing Mission</div> |
| | | </div> |
| | | </div> |
| | | <div class="itemText"> |
| | | è´åäºä¸ºå¦æ ¡ã妿¯çåå
¨ç¤¾ä¼æä¾é«åè´¨çå»å¦å
容产åï¼ä¸ºååç妿¯å£°èªå¢å
添彩ï¼ä¸ºå»å¦çæå妿¯æ°´å¹³æä¾å®è´¨æ¯æï¼ä¸ºä¸å½å
¬ä¼æä¾æå¨å¥åº·ç§æ®æå¡ï¼ä¸ºæå½å«çå¥åº·äºä¸æç»åå±è´¡ç®åååéã |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import { requestCtx } from "@/assets/js/config"; |
| | | |
| | | export default { |
| | | name: "home", |
| | | components: {}, |
| | | data() { |
| | | return { |
| | | bannerList: [], |
| | | tabsSelected: 0, |
| | | tabSelect: [ |
| | | { |
| | | name: "åºçç¤¾æ¦æ¬", |
| | | path: "caupress_pressOverview", |
| | | }, |
| | | { |
| | | name: "ç»ç»æ¶æ", |
| | | path: "caupress_organization", |
| | | }, |
| | | { |
| | | name: "è£èªå¥å±", |
| | | path: "caupress_honorAward", |
| | | }, |
| | | { |
| | | name: "大äºè®°", |
| | | path: "caupress_majorEvents", |
| | | }, |
| | | { |
| | | name: "èç³»æ¹å¼", |
| | | path: "caupress_contact", |
| | | }, |
| | | { |
| | | name: "æçº³è´¤å£«", |
| | | path: "caupress_recruit", |
| | | }, |
| | | ], |
| | | contentList: [], |
| | | reLoading: true, |
| | | contentIndex: 0, |
| | | paginationData: { |
| | | page: 1, |
| | | totalCount: 0, |
| | | limit: 5, |
| | | totalPage: 0, |
| | | }, |
| | | screenheight: document.documentElement.clientWidth / 2.628, |
| | | }; |
| | | }, |
| | | created() { |
| | | window.onresize = () => { |
| | | let c = 2.628; |
| | | if (document.documentElement.clientWidth >= 1220) { |
| | | this.screenheight = document.documentElement.clientWidth / c; |
| | | } |
| | | }; |
| | | // ä»å
³äºæä»¬è¯¦æ
é¡µè·³è½¬åæ¥ï¼éä¸å¤§äºè®° |
| | | if (this.$route.query.aboutUs) { |
| | | this.tabsSelected = this.$route.query.aboutUs; |
| | | } |
| | | this.getBanner(); |
| | | this.getData(); |
| | | }, |
| | | watch: { |
| | | $route: { |
| | | handler: function (val, oldval) { |
| | | console.log(val, "val"); |
| | | if (val.query.aboutUs || val.query.aboutUs == 0) { |
| | | scrollTo(0, 0); |
| | | this.tabsSelected = val.query.aboutUs; |
| | | this.getData(); |
| | | } |
| | | }, |
| | | deep: true, |
| | | }, |
| | | }, |
| | | methods: { |
| | | bannerLink(val) { |
| | | if (val.caupress_link) { |
| | | window.open(val.caupress_link); |
| | | } |
| | | }, |
| | | selectTab(val) { |
| | | this.paginationData.page = 1; |
| | | this.$router.replace({ |
| | | name: "aboutUs", |
| | | query: { |
| | | aboutUs: val, |
| | | }, |
| | | }); |
| | | }, |
| | | getBanner() { |
| | | this.MG.resource |
| | | .getItem({ |
| | | path: "caupress_banner\\caupress_about", |
| | | fields: { |
| | | caupress_link: [], |
| | | }, |
| | | coverSize: { |
| | | height: 750, |
| | | }, |
| | | paging: { |
| | | start: 0, |
| | | size: 999, |
| | | }, |
| | | }) |
| | | .then((res) => { |
| | | this.bannerList = res.datas; |
| | | }); |
| | | }, |
| | | getData() { |
| | | this.reLoading = true; |
| | | let path = "caupress_aboutUs\\" + this.tabSelect[this.tabsSelected].path; |
| | | let { limit, page } = this.paginationData; |
| | | this.MG.resource |
| | | .getItem({ |
| | | path: path, |
| | | fields: { |
| | | caupress_content: [], |
| | | caupress_author: [], |
| | | caupress_file: [], |
| | | caupress_detailedAddress: [], |
| | | caupress_publishDate: [], |
| | | }, |
| | | paging: { |
| | | start: limit * page - limit, |
| | | size: limit, |
| | | }, |
| | | }) |
| | | .then((res) => { |
| | | this.contentList = res.datas; |
| | | this.paginationData.totalCount = res.total; |
| | | this.reLoading = false; |
| | | }); |
| | | }, |
| | | downloading(md5) { |
| | | let url = requestCtx + "/file/api/ApiDownload/?md5=" + md5; |
| | | window.open(url, "_blank"); |
| | | }, |
| | | toDetail(linkInfo) { |
| | | this.$router.push({ |
| | | name: "informationCenter-detail", |
| | | query: { |
| | | type: "aboutUs", |
| | | path: linkInfo[0].LinkPath, |
| | | id: linkInfo[0].ChildrenId, |
| | | }, |
| | | }); |
| | | }, |
| | | }, |
| | | }; |
| | | </script> |
| | | |
| | | <style lang="less" scoped> |
| | | .autoImg { |
| | | max-height: none; |
| | | } |
| | | .bgcfff { |
| | | min-width: 1220px; |
| | | background-color: #fff; |
| | | .bannerBox { |
| | | background: #f3f3f3; |
| | | position: relative; |
| | | } |
| | | .imgBox { |
| | | position: relative; |
| | | width: 100%; |
| | | height: 100%; |
| | | } |
| | | .bannerText { |
| | | position: absolute; |
| | | top: 50%; |
| | | left: 50%; |
| | | transform: translate(-50%, -50%); |
| | | font-size: 36px; |
| | | font-weight: 700; |
| | | color: #fff; |
| | | text-shadow: 0px 0px 10px #000000; |
| | | text-align: center; |
| | | } |
| | | .enText { |
| | | font-size: 36px; |
| | | opacity: 0.45; |
| | | margin-top: 20px; |
| | | } |
| | | .contentBox { |
| | | background-color: #fff; |
| | | |
| | | padding-bottom: 100px; |
| | | margin-top: 35px; |
| | | .aboutUs { |
| | | width: 100%; |
| | | font-size: 16px; |
| | | border-top: 1px solid #ededed; |
| | | margin-top: 40px; |
| | | .aboutTitle { |
| | | display: flex; |
| | | width: 100%; |
| | | padding-top: 30px; |
| | | .titleBox1 { |
| | | position: relative; |
| | | width: 50px; |
| | | height: 50px; |
| | | margin-right: 20px; |
| | | } |
| | | .titleText { |
| | | font-size: 48px; |
| | | font-weight: 700; |
| | | opacity: 0.05; |
| | | } |
| | | } |
| | | .block { |
| | | display: inline-block; |
| | | width: 4px; |
| | | height: 4px; |
| | | margin-right: 10px; |
| | | vertical-align: middle; |
| | | background: #dadada; |
| | | } |
| | | .selected { |
| | | background-color: #e7f9ef; |
| | | .block { |
| | | background-color: #008e3f; |
| | | } |
| | | } |
| | | .title { |
| | | padding: 0; |
| | | font-weight: 700; |
| | | text-align: center; |
| | | background: #008e3f; |
| | | color: #fff; |
| | | line-height: 36px; |
| | | border-bottom: 0; |
| | | } |
| | | div { |
| | | cursor: pointer; |
| | | // border-bottom: 1px dashed #ededed; |
| | | } |
| | | .colorText { |
| | | color: #144941; |
| | | } |
| | | .textBox { |
| | | line-height: 20px; |
| | | p { |
| | | margin-top: 30px; |
| | | } |
| | | } |
| | | } |
| | | .statisticsBox { |
| | | display: flex; |
| | | justify-content: space-between; |
| | | margin-top: 80px; |
| | | text-align: center; |
| | | .statisticsNum { |
| | | font-size: 48px; |
| | | } |
| | | .statisticsTitle { |
| | | margin-top: 10px; |
| | | } |
| | | .circleBox { |
| | | width: 26px; |
| | | height: 26px; |
| | | display: inline-block; |
| | | font-size: 20px; |
| | | line-height: 26px; |
| | | color: #fff; |
| | | background-color: #144941; |
| | | border-radius: 50%; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | .brandCultureTop { |
| | | background-image: url(@/assets/images/xiehe/about/wenhua_bg.png); |
| | | width: 100%; |
| | | height: 500px; |
| | | padding-top: 55px; |
| | | } |
| | | .brandCultureTitle { |
| | | font-size: 36px; |
| | | color: #fff; |
| | | font-weight: 700; |
| | | text-align: center; |
| | | } |
| | | |
| | | .cultureList { |
| | | display: flex; |
| | | justify-content: space-between; |
| | | width: 100%; |
| | | margin-top: 60px; |
| | | } |
| | | |
| | | .cultureItem { |
| | | width: 320px; |
| | | height: 320px; |
| | | background-color: #fff; |
| | | margin-left: 30px; |
| | | padding: 20px; |
| | | box-sizing: border-box; |
| | | } |
| | | .firstItem { |
| | | background-color: #144941; |
| | | color: #fff; |
| | | width: 320px; |
| | | height: 320px; |
| | | text-align: center; |
| | | margin-left: 0px; |
| | | } |
| | | .CultureBox { |
| | | width: 1200px; |
| | | margin: 0 auto; |
| | | } |
| | | .leftIcon { |
| | | width: 58px; |
| | | height: 58px; |
| | | position: relative; |
| | | } |
| | | .cultureTitle { |
| | | display: flex; |
| | | border-bottom: 1px solid #DEDEDE; |
| | | padding-bottom: 16px; |
| | | } |
| | | .titleTextInfo { |
| | | margin-left: 20px; |
| | | text-align: left; |
| | | } |
| | | .itemTitle { |
| | | font-size: 18px; |
| | | font-weight: 700; |
| | | line-height: 36px; |
| | | color: #333; |
| | | } |
| | | .itemSubTitle { |
| | | color: #000; |
| | | opacity: 0.5; |
| | | } |
| | | .itemText { |
| | | font-size: 16px; |
| | | line-height: 28px; |
| | | color: #000; |
| | | padding-top: 20px; |
| | | } |
| | | </style> |
New file |
| | |
| | | <template> |
| | | <div class="minWidth"> |
| | | <el-carousel :height="screenheight + 'px'" v-loading="bannerLoading"> |
| | | <template v-if="!bannerLoading"> |
| | | <el-carousel-item v-for="item in bannerList" :key="item.id"> |
| | | <div class="bannerBox imgBox" :style="item.caupress_link ? 'cursor: pointer' : ''"> |
| | | <img class="bannerImg" :src="item.icon" @click="bannerLink(item)" /> |
| | | </div> |
| | | </el-carousel-item> |
| | | </template> |
| | | </el-carousel> |
| | | <div class="contentBox"> |
| | | <div class="content"> |
| | | <div class="notice"> |
| | | 妿æ¨å¯¹æä»¬çå·¥ä½åæå¡æä»»ä½æè§ã建议ï¼å¯å¡«åä¸äºå
容è¿è¡åé¦ãä¸ºäºæ¯æ¨çåé¦å¾å°å³æ¶åå¤åå¤çï¼è¯·æ¨å¡å¿
宿´å¡«å以ä¸ä¿¡æ¯ãè°¢è°¢ï¼ |
| | | </div> |
| | | <div class="area"> |
| | | <el-form |
| | | :model="form" |
| | | ref="form" |
| | | label-position="left" |
| | | :rules="rules" |
| | | label-width="130px" |
| | | > |
| | | <el-form-item label="å§åï¼" prop="name"> |
| | | <el-input |
| | | v-model="form.name" |
| | | placeholder="请è¾å
¥æ¨çå§å" |
| | | ></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="çµè¯ï¼" prop="phone"> |
| | | <el-input |
| | | v-model="form.phone" |
| | | placeholder="请è¾å
¥æ¨ççµè¯" |
| | | ></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="é®ç®±ï¼" prop="email"> |
| | | <el-input |
| | | v-model="form.email" |
| | | placeholder="请è¾å
¥æ¨çé®ç®±" |
| | | ></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="æè§å建议ï¼" prop="content"> |
| | | <el-input |
| | | type="textarea" |
| | | v-model="form.content" |
| | | :autosize="{ minRows: 5, maxRows: 15 }" |
| | | placeholder="请è¾å
¥æ¨çæè§å建议" |
| | | ></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="å¾å½¢éªè¯ç ï¼" prop="imgCode"> |
| | | <div class="flex"> |
| | | <el-input |
| | | v-model="form.imgCode" |
| | | placeholder="请è¾å
¥å¾å½¢éªè¯ç " |
| | | ></el-input> |
| | | <div class="imgCodeBox"> |
| | | <img :src="imgCode" alt="" @click="getImgCapcha" /> |
| | | </div> |
| | | </div> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <div |
| | | class="addAddressButton greenButton" |
| | | type="primary" |
| | | @click="successful()" |
| | | > |
| | | æäº¤ |
| | | </div> |
| | | </el-form-item> |
| | | </el-form> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | <script> |
| | | export default { |
| | | data() { |
| | | return { |
| | | form: { |
| | | name: "", |
| | | phone: "", |
| | | email: "", |
| | | content: "", |
| | | imgCode: "", |
| | | }, |
| | | rules: { |
| | | name: [ |
| | | { |
| | | required: true, |
| | | message: "å§å为å¿
填项ï¼è¯·è¾å
¥æ¨çå§å", |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | phone: [ |
| | | { |
| | | required: true, |
| | | message: "çµè¯ä¸ºå¿
填项ï¼è¯·è¾å
¥æ¨ççµè¯", |
| | | trigger: "blur", |
| | | }, |
| | | { |
| | | pattern: |
| | | /^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8}$/, |
| | | message: "请è¾å
¥æ£ç¡®ææºå·", |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | email: [ |
| | | { required: true, message: "请填åé®ç®±", trigger: "blur" }, |
| | | { |
| | | pattern: /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/, |
| | | message: "é®ç®±æ ¼å¼æ ¡éªå¤±è´¥ï¼è¯·è¾å
¥é®ç®±", |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | imgCode: [ |
| | | { required: true, message: "请填åå¾å½¢éªè¯ç ", trigger: "blur" }, |
| | | ], |
| | | content: [ |
| | | { required: true, message: "请è¾å
¥æ¨çæè§å建议", trigger: "blur" }, |
| | | ], |
| | | }, |
| | | imgCode: "", |
| | | bannerList: [], |
| | | bannerLoading: false, |
| | | screenheight: document.documentElement.clientWidth / 2.628, |
| | | }; |
| | | }, |
| | | mounted() { |
| | | window.onresize = () => { |
| | | let c = 2.628; |
| | | if (document.documentElement.clientWidth >= 1220) { |
| | | this.screenheight = document.documentElement.clientWidth / c; |
| | | } |
| | | }; |
| | | if(!this.tool.getCookie(this.config.tokenKey)){ |
| | | this.$router.push({ |
| | | path: "/login", |
| | | query: { |
| | | redirectPath: this.$route.fullPath |
| | | } |
| | | }); |
| | | } |
| | | this.getImgCapcha(); |
| | | this.getBanner(); |
| | | }, |
| | | methods: { |
| | | bannerLink(val) { |
| | | if (val.caupress_link) { |
| | | window.open(val.caupress_link); |
| | | } |
| | | }, |
| | | getBanner() { |
| | | this.bannerLoading = true; |
| | | this.MG.resource |
| | | .getItem({ |
| | | path: "caupress_banner\\caupress_authorServices", |
| | | fields: { |
| | | caupress_link: [], |
| | | }, |
| | | coverSize: { |
| | | height: 750, |
| | | }, |
| | | paging: { |
| | | start: 0, |
| | | size: 999, |
| | | }, |
| | | }) |
| | | .then((res) => { |
| | | this.bannerLoading = false; |
| | | this.bannerList = res.datas; |
| | | }); |
| | | }, |
| | | getImgCapcha() { |
| | | this.MG.identity.getImgCode().then((res) => { |
| | | this.imgCode = "data:image/png;base64," + res; |
| | | }); |
| | | }, |
| | | successful() { |
| | | // |
| | | this.$refs["form"].validate((valid) => { |
| | | if (valid) { |
| | | // 夿å¾å½¢éªè¯ç |
| | | let query = { |
| | | captcha: this.form.imgCode, |
| | | }; |
| | | this.MG.identity.verificationImgCode(query).then((res) => { |
| | | if (res) { |
| | | // æäº¤çæ°æ® |
| | | let submitData = { |
| | | content: this.form.content, |
| | | name: this.form.name, |
| | | email: this.form.email, |
| | | phone: this.form.phone, |
| | | }; |
| | | const data = { |
| | | topicIdOrRefCode: this.config.refCodes.Feedback, |
| | | name: "æè§åé¦", |
| | | content: JSON.stringify(submitData), |
| | | state: "Normal", |
| | | type: "worksApproval", |
| | | cmsTypeRefCode: "", |
| | | newDataListRequest: [], |
| | | }; |
| | | this.MG.ugc.newTopicMessage(data).then((res) => { |
| | | if (res) { |
| | | this.$message.success("åé¦æè§æäº¤æåï¼"); |
| | | this.form.name = ""; |
| | | this.form.email = ""; |
| | | this.form.phone = ""; |
| | | this.form.content = ""; |
| | | this.form.imgCode = ""; |
| | | } |
| | | }); |
| | | } else { |
| | | this.$message.error("å¾å½¢éªè¯ç å¡«åé误ï¼è¯·å¡«åæ£ç¡®éªè¯ç "); |
| | | } |
| | | }); |
| | | } else { |
| | | return false; |
| | | } |
| | | }); |
| | | }, |
| | | }, |
| | | }; |
| | | </script> |
| | | <style lang="less" scoped> |
| | | .autoImg { |
| | | max-height: none; |
| | | } |
| | | .minWidth { |
| | | min-width: 1220px; |
| | | } |
| | | .bannerBox { |
| | | background: #f3f3f3; |
| | | } |
| | | .imgBox { |
| | | position: relative; |
| | | width: 100%; |
| | | height: 100%; |
| | | } |
| | | .contentBox { |
| | | margin-top: 60px; |
| | | margin-bottom: 60px; |
| | | background-color: #ffffff; |
| | | .content { |
| | | background-color: #fff; |
| | | padding: 20px 40px; |
| | | .notice { |
| | | font-size: 14px; |
| | | line-height: 50px; |
| | | background-color: #f2f7f4; |
| | | border-radius: 4px; |
| | | padding: 0 20px; |
| | | color: #666666; |
| | | } |
| | | .area { |
| | | width: 750px; |
| | | margin: 0 auto; |
| | | padding-top: 30px; |
| | | .imgCodeBox { |
| | | margin-left: 20px; |
| | | height: 40px; |
| | | width: 140px; |
| | | cursor: pointer; |
| | | img { |
| | | width: 140px; |
| | | height: 100%; |
| | | } |
| | | } |
| | | .addAddressButton { |
| | | width: 120px; |
| | | height: 38px; |
| | | border-radius: 4px; |
| | | font-size: 16px; |
| | | text-align: center; |
| | | line-height: 40px; |
| | | border: 1px solid #00873c; |
| | | color: #101d16; |
| | | cursor: pointer; |
| | | margin: 0 auto; |
| | | margin-top: 80px; |
| | | margin-bottom: 120px; |
| | | } |
| | | .greenButton { |
| | | color: #fff; |
| | | background: linear-gradient(0deg, #00873c 0%, #00aa4c 100%); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | </style> |
New file |
| | |
| | | <template> |
| | | <div class="bingBox"> |
| | | <p class="title">微信ç»å®</p> |
| | | <div class="qrcodeBox"> |
| | | <wxlogin |
| | | :redirect_uri="wxLogin.redirectURL" |
| | | style=" |
| | | width: 300px; |
| | | height: 340px; |
| | | margin: -40px auto 0; |
| | | overflow: hidden; |
| | | " |
| | | :appid="wxLogin.appid" |
| | | :scope="wxLogin.scope" |
| | | state="WeChatScanningCodeBind" |
| | | > |
| | | </wxlogin> |
| | | </div> |
| | | <p class="tips">使ç¨å¾®ä¿¡æ«ä¸æ«æ«æäºç»´ç è¿è¡ç»å®</p> |
| | | </div> |
| | | </template> |
| | | <script> |
| | | import wxlogin from "vue-wxlogin"; |
| | | export default { |
| | | components: { |
| | | wxlogin |
| | | }, |
| | | data() { |
| | | return { |
| | | wxLogin: { |
| | | appid: "wxad15251431e1f3fd", |
| | | scope: "snsapi_login", |
| | | redirectURL: encodeURIComponent( |
| | | "https://www.caupress.com.cn/website/#/bindWeChatBack" |
| | | ) |
| | | } |
| | | }; |
| | | }, |
| | | created() { |
| | | this.weChatBindFun(); |
| | | }, |
| | | methods: { |
| | | weChatBindFun() { |
| | | window.location.href = `https://open.weixin.qq.com/connect/qrconnect?appid=${this.wxLogin.appid}&scope=${this.wxLogin.scope}&redirect_uri=${this.wxLogin.redirectURL}&state=WeChatScanningCodeBind` |
| | | }, |
| | | } |
| | | }; |
| | | </script> |
| | | <style lang="less" scoped> |
| | | .title { |
| | | text-align: center; |
| | | font-size: 20px; |
| | | padding-top: 50px; |
| | | margin-bottom: 10px; |
| | | } |
| | | .qrcodeBox { |
| | | overflow: hidden; |
| | | } |
| | | .tips{ |
| | | text-align: center; |
| | | font-size: 14px; |
| | | color: #666; |
| | | margin-top: 10px; |
| | | } |
| | | </style> |
New file |
| | |
| | | <template> |
| | | <div> |
| | | <div class="iconBox" v-if="state == 'loading'"> |
| | | <i class="el-icon-loading" style="color: #666"></i> |
| | | <p>æ£å¨ç»å®å¾®ä¿¡...</p> |
| | | </div> |
| | | <div class="iconBox" v-if="state == 'success'"> |
| | | <i class="el-icon-success" style="color: #67c23a"></i> |
| | | <p>ç»å®æåï¼</p> |
| | | <p class="backBox"> |
| | | å³å°è¿åï¼{{ time }}sï¼<el-button |
| | | type="primary" |
| | | size="mini" |
| | | @click="goBack" |
| | | >ç«å³è¿å</el-button |
| | | > |
| | | </p> |
| | | </div> |
| | | <div class="iconBox" v-if="state == 'error'"> |
| | | <i class="el-icon-error" style="color: #f56c6c"></i> |
| | | <p>ç»å®å¤±è´¥ï¼è¯¥å¾®ä¿¡å·²è¢«ç»å®ï¼</p> |
| | | <p class="backBox"> |
| | | å³å°è¿åï¼{{ time }}sï¼<el-button |
| | | type="primary" |
| | | size="mini" |
| | | @click="goBack" |
| | | >ç«å³è¿å</el-button |
| | | > |
| | | </p> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | <script> |
| | | export default { |
| | | data() { |
| | | return { |
| | | state: "loading", |
| | | time: 5 |
| | | }; |
| | | }, |
| | | created() { |
| | | var url = window.location.href; |
| | | if (url.indexOf("WeChatScanningCodeBind") > -1) { |
| | | var querys = url.substring(url.indexOf("?") + 1).split("&"); |
| | | var result = {}; |
| | | for (var i = 0; i < querys.length; i++) { |
| | | var temp = querys[i].split("="); |
| | | if (temp.length < 2) { |
| | | result[temp[0]] = ""; |
| | | } else { |
| | | result[temp[0]] = temp[1]; |
| | | } |
| | | } |
| | | if (result && result.code) { |
| | | this.MG.identity |
| | | .bindingWeChat({ |
| | | code: result.code |
| | | }) |
| | | .then((res) => { |
| | | if (res) { |
| | | this.state = "success"; |
| | | } else { |
| | | this.state = "error"; |
| | | } |
| | | this.setTime(); |
| | | }); |
| | | } |
| | | } |
| | | this.setTime(); |
| | | }, |
| | | methods: { |
| | | setTime() { |
| | | if (this.timer) clearInterval(this.timer); |
| | | this.time = 5; |
| | | this.timer = setInterval(() => { |
| | | this.time--; |
| | | if (this.time == 0) { |
| | | this.goBack(); |
| | | } |
| | | }, 1000); |
| | | }, |
| | | goBack() { |
| | | if (this.state == "success") { |
| | | this.$router.push({ |
| | | path: "/personalCenter" |
| | | }); |
| | | } |
| | | if (this.state == "error") { |
| | | this.$router.push({ |
| | | path: "/bindWeChat" |
| | | }); |
| | | } |
| | | } |
| | | }, |
| | | beforeRouteLeave(to, form, next) { |
| | | if (this.timer) clearInterval(this.timer); |
| | | next(); |
| | | } |
| | | }; |
| | | </script> |
| | | <style lang="less" scoped> |
| | | .iconBox { |
| | | padding-top: 100px; |
| | | text-align: center; |
| | | i { |
| | | font-size: 60px; |
| | | margin-bottom: 30px; |
| | | } |
| | | p { |
| | | font-size: 24px; |
| | | margin-bottom: 50px; |
| | | } |
| | | .backBox { |
| | | font-size: 14px; |
| | | } |
| | | } |
| | | </style> |
New file |
| | |
| | | <template> |
| | | <div style="background-color: #fff;" ref="contentData"> |
| | | <detailInfo :bookInfo="bookInfo" v-loading="loading"></detailInfo> |
| | | <div class="contentBox" style="display: flex;"> |
| | | <div> |
| | | <bookInfo :bookInfo="bookInfo" v-loading="loading" /> |
| | | <resource |
| | | :bookInfo="bookInfo" |
| | | :resourceSupportList="resourceSupportList" |
| | | :allResource="allResource" |
| | | v-loading="resourceLoading" |
| | | /> |
| | | </div> |
| | | <div> |
| | | <relatedRecommendation |
| | | :bookInfo="bookInfo" |
| | | :recommendKey="recommendKey" |
| | | @reloadPage="reloadPage" |
| | | ref="rela" |
| | | /> |
| | | <!-- <history @reloadPage="reloadPage" /> --> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import config from "@/assets/js/config"; |
| | | |
| | | import detailInfo from "@/components/detail/detailInfo.vue"; |
| | | import relatedRecommendation from "@/components/detail/relatedRecommendation.vue"; |
| | | import bookInfo from "@/components/detail/bookInfo.vue"; |
| | | import resource from "@/components/detail/resource.vue"; |
| | | import history from "@/components/detail/history.vue"; |
| | | export default { |
| | | components: { |
| | | detailInfo, |
| | | relatedRecommendation, |
| | | bookInfo, |
| | | resource, |
| | | // history, |
| | | }, |
| | | created() { |
| | | if (this.$route.query.id && this.$route.query.cmsPath) { |
| | | this.currentId = this.$route.query.id; |
| | | this.currentCmsId = this.$route.query.cmsPath; |
| | | this.getData(); |
| | | } |
| | | window.scrollTo(0, 0); |
| | | this.getData(); |
| | | }, |
| | | data() { |
| | | return { |
| | | bookInfo: {}, |
| | | resourceSupportList: [], |
| | | allResource: [], |
| | | loading: true, |
| | | resourceLoading: true, |
| | | recommendKey: "", |
| | | }; |
| | | }, |
| | | methods: { |
| | | getData(data) { |
| | | this.loading = true; |
| | | let query = { |
| | | path: "*", |
| | | queryType: "*", |
| | | productId: data ? data.id : this.$route.query.id, |
| | | cmsPath: data ? data.rootCmsItemId : this.$route.query.cmsPath, //è·åä¹¦ç±æä»¶å¤¹ |
| | | fields: { |
| | | caupress_author: [], |
| | | caupress_content: [], |
| | | caupress_seriesName: [], |
| | | caupress_publicationDate: [], |
| | | caupress_ISBN: [], |
| | | caupress_pubNumber: [], |
| | | caupress_authorAbout: [], |
| | | caupress_recommendationReason: [], |
| | | caupress_preface: [], |
| | | caupress_catalog: [], |
| | | caupress_pdfFreeFile: [], |
| | | caupress_paperBookJD: [], |
| | | caupress_paperBookDD: [], |
| | | caupress_catalogue: [], |
| | | caupress_projectTitle: [], |
| | | caupress_pdfFile: [], |
| | | caupress_contactEditor: [], |
| | | caupress_paperBookTmall: [], |
| | | caupress_isSell: [], |
| | | }, |
| | | linkTypes: [ |
| | | // è·åå
³èçç¼è¾ä¿¡æ¯ |
| | | { |
| | | linkType: "caupress_editor", |
| | | fields: { |
| | | telephone: [], |
| | | phone: [], |
| | | qq: [], |
| | | }, |
| | | }, |
| | | ], |
| | | }; |
| | | // è·å书ç±è¯¦æ
以å书ç±èµæºæä»¶å¤¹ |
| | | this.MG.store.getProductDetail(query).then((res) => { |
| | | console.log(res, "res"); |
| | | this.bookInfo = res.datas; |
| | | if (this.bookInfo.caupress_catalogue) { |
| | | this.bookInfo.caupress_catalogue = JSON.parse( |
| | | this.bookInfo.caupress_catalogue |
| | | ); |
| | | // è·å屿¬¡è¿è¡ç¸å
³æ¨è |
| | | |
| | | this.recommendKey = this.bookInfo.caupress_catalogue[0]; |
| | | console.log(this.recommendKey, "this.recommendKey"); |
| | | if (this.recommendKey.length > 0) { |
| | | this.catalogue = []; |
| | | this.recommendKey.forEach((item, index) => { |
| | | if (index == 0) { |
| | | this.catalogue.push(item); |
| | | } else { |
| | | this.catalogue.push("&" + item); |
| | | } |
| | | }); |
| | | } |
| | | this.$refs.rela.getData(this.catalogue); |
| | | } else { |
| | | this.recommendKey = "null"; |
| | | } |
| | | // è·åå
³èçç¼è¾ä¿¡æ¯ |
| | | let query = this.bookInfo.cmsDatas.find( |
| | | (item) => item.queryTag == "QueryLink_" + "caupress_editor" |
| | | ); |
| | | if (query && query.datas.length) { |
| | | this.bookInfo.caupress_editor = { |
| | | name: query.datas[0].name, |
| | | telephone: query.datas[0].telephone, |
| | | phone: query.datas[0].phone, |
| | | qq: query.datas[0].qq, |
| | | }; |
| | | } |
| | | if (this.bookInfo.caupress_projectTitle) { |
| | | this.bookInfo.caupress_projectTitle = JSON.parse( |
| | | this.bookInfo.caupress_projectTitle |
| | | ); |
| | | } |
| | | if (this.bookInfo.caupress_projectTitle instanceof Array) { |
| | | if (this.bookInfo.caupress_projectTitle.length > 1) { |
| | | this.bookInfo.caupress_projectTitle = |
| | | this.bookInfo.caupress_projectTitle.join("ã"); |
| | | } else { |
| | | this.bookInfo.caupress_projectTitle = |
| | | this.bookInfo.caupress_projectTitle[0]; |
| | | } |
| | | } |
| | | this.bookInfo.VirtualPrice = this.bookInfo.saleMethod[0]?.VirtualPrice; |
| | | this.bookInfo.caupress_seriesName = |
| | | config.seriesList[this.bookInfo.caupress_seriesName]; |
| | | if (this.bookInfo.caupress_pubNumber) { |
| | | this.bookInfo.caupress_pubNumber = |
| | | this.bookInfo.caupress_pubNumber.split("_")[1]; |
| | | } |
| | | this.loading = false; |
| | | this.$store.commit("setHistoryBook", this.bookInfo); |
| | | let folderList = res.datas.cmsDatas[0].datas; |
| | | folderList.forEach((item) => { |
| | | if (item.name == "é
å¥èµæº") { |
| | | this.MG.store |
| | | .getProductDetail({ |
| | | path: "*", |
| | | cmsPath: res.datas.rootCmsItemId + "\\" + item.id, //ä¹¦ç±æä»¶å¤¹IDè·åæä»¶å¤¹ä¸èµæº |
| | | productId: this.currentId, |
| | | queryType: "*", |
| | | itemFields: { |
| | | caupress_fileType: [], |
| | | caupress_file: [], |
| | | caupress_allowDownload: [], |
| | | }, |
| | | }) |
| | | .then((dataRes) => { |
| | | console.log(dataRes, "resourceSupportList"); |
| | | this.resourceSupportList = dataRes.datas.cmsDatas[0].datas; |
| | | }); |
| | | } else { |
| | | this.MG.store |
| | | .getProductDetail({ |
| | | path: "*", |
| | | cmsPath: res.datas.rootCmsItemId + "\\" + item.id, //ä¹¦ç±æä»¶å¤¹IDè·åæä»¶å¤¹ä¸èµæº |
| | | productId: this.currentId, |
| | | queryType: "*", |
| | | itemFields: { |
| | | caupress_fileType: [], |
| | | caupress_file: [], |
| | | caupress_allowDownload: [], |
| | | }, |
| | | }) |
| | | .then((dataRes) => { |
| | | console.log(dataRes, "allResource"); |
| | | this.allResource = dataRes.datas.cmsDatas[0].datas; |
| | | }); |
| | | } |
| | | }); |
| | | // è·åèç³»ç¼è¾ä¿¡æ¯ |
| | | |
| | | this.resourceLoading = false; |
| | | }); |
| | | }, |
| | | reloadPage(data) { |
| | | this.getData(data); |
| | | window.scrollTo(0, 0); |
| | | }, |
| | | }, |
| | | }; |
| | | </script> |
| | | |
| | | <style></style> |
New file |
| | |
| | | <template> |
| | | <div class="minWidth"> |
| | | <el-carousel :height="screenheight + 'px'" v-show="bannerState"> |
| | | <el-carousel-item v-for="item in bannerList" :key="item.id"> |
| | | <div class="bannerBox imgBox" :style="item.caupress_link ? 'cursor: pointer' : ''"> |
| | | <img class="bannerImg" :src="item.icon" @click="bannerLink(item)" /> |
| | | </div> |
| | | </el-carousel-item> |
| | | </el-carousel> |
| | | <div |
| | | :class="!bannerState ? 'show stow' : 'stow'" |
| | | @click="bannerState = !bannerState" |
| | | > |
| | | {{ bannerState ? "æ¶èµ·" : "æ¾ç¤º" }} |
| | | è½®æå¾ |
| | | <i |
| | | :class="bannerState ? 'el-icon-caret-top' : 'el-icon-caret-bottom'" |
| | | ></i> |
| | | </div> |
| | | <div class="contentBox"> |
| | | <List |
| | | :channel=" |
| | | this.$route.query.searchPath |
| | | ? this.$route.query.searchPath |
| | | : 'caupress_bookMall' |
| | | " |
| | | :searchOptionHidden="searchOptionHidden" |
| | | :detailRoute="detailRoute" |
| | | ></List> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import List from "@/components/list"; |
| | | export default { |
| | | name: "bookStore-index", |
| | | components: { |
| | | List, |
| | | }, |
| | | data() { |
| | | return { |
| | | bannerList: [], |
| | | detailRoute: "bookStore-detail", |
| | | searchOptionHidden: this.$route.query.searchOptionHidden |
| | | ? this.$route.query.searchOptionHidden |
| | | : false, |
| | | bannerState: true, |
| | | screenheight: document.documentElement.clientWidth / 2.628, |
| | | }; |
| | | }, |
| | | created() { |
| | | window.onresize = () => { |
| | | let c = 2.628; |
| | | if (document.documentElement.clientWidth >= 1220) { |
| | | this.screenheight = document.documentElement.clientWidth / c; |
| | | } |
| | | }; |
| | | this.getBanner(); |
| | | setTimeout(() => { |
| | | this.bannerState = false; |
| | | }, 15000); |
| | | }, |
| | | methods: { |
| | | bannerLink(val) { |
| | | if (val.caupress_link) { |
| | | window.open(val.caupress_link); |
| | | } |
| | | }, |
| | | getBanner() { |
| | | this.MG.resource |
| | | .getItem({ |
| | | path: "caupress_banner\\caupress_mall", |
| | | fields: { |
| | | caupress_link: [], |
| | | }, |
| | | coverSize: { |
| | | height: 750, |
| | | }, |
| | | paging: { |
| | | start: 0, |
| | | size: 999, |
| | | }, |
| | | }) |
| | | .then((res) => { |
| | | this.bannerList = res.datas; |
| | | }); |
| | | }, |
| | | }, |
| | | // å¦æè·³è½¬é¡µé¢ä¸æ¯è¯¦æ
ï¼åå°å½å页é¢ä¸ç¼å |
| | | beforeRouteLeave(to, from, next) { |
| | | if (to.name != "bookStore-detail") { |
| | | this.$store.commit("delKeepAlive", from.name); |
| | | } |
| | | next(); |
| | | }, |
| | | }; |
| | | </script> |
| | | |
| | | <style lang="less" scoped> |
| | | .autoImg { |
| | | max-height: none; |
| | | } |
| | | .minWidth { |
| | | min-width: 1220px; |
| | | } |
| | | .stow { |
| | | width: 160px; |
| | | margin: 0 auto; |
| | | text-align: center; |
| | | border: 1px solid #b3b3b3; |
| | | font-size: 16px; |
| | | line-height: 40px; |
| | | border-radius: 21px; |
| | | color: #b3b3b3; |
| | | cursor: pointer; |
| | | margin-top: 5px; |
| | | } |
| | | .show { |
| | | margin-top: 20px; |
| | | } |
| | | .bannerBox { |
| | | background: #f3f3f3; |
| | | } |
| | | .imgBox { |
| | | position: relative; |
| | | width: 100%; |
| | | height: 100%; |
| | | } |
| | | .contentBox { |
| | | background-color: rgb(241, 248, 244); |
| | | margin-top: 20px; |
| | | } |
| | | </style> |
New file |
| | |
| | | <template> |
| | | <div class="orderPage"> |
| | | <div class="crumbs"> |
| | | <el-breadcrumb separator-class="el-icon-arrow-right"> |
| | | <el-breadcrumb-item :to="{ name: 'bookStore' }">书å</el-breadcrumb-item> |
| | | <el-breadcrumb-item>确认订å</el-breadcrumb-item> |
| | | </el-breadcrumb> |
| | | </div> |
| | | <div class="content"> |
| | | <el-table :data="tableData" style="width: 100%"> |
| | | <el-table-column prop="icon" label="å°é¢" width="200"> |
| | | <template slot-scope="scope"> |
| | | <img :src="scope.row.icon" /> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="name" label="书ç±åç§°"> </el-table-column> |
| | | <el-table-column prop="price" label="éé¢"> |
| | | <template slot-scope="scope"> |
| | | <p style="color: red; font-weight: bold; font-size: 16px"> |
| | | <span>ï¿¥</span>{{ tool.toDecimal2(scope.row.price) }} |
| | | </p> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | <div class="confirmOrderBtn" v-if="orderData.state == 'Init'"> |
| | | <el-button @click="back()">è¿å</el-button> |
| | | <el-button type="primary" @click="confirmOrder">确认订å</el-button> |
| | | </div> |
| | | <div class="payBox" v-if="orderData.state == 'WaitPay'"> |
| | | <div class="price">Â¥ {{ tool.toDecimal2(orderData.payPrice) }}</div> |
| | | <div class="title">微信æ¯ä»</div> |
| | | <div class="code" id="qrcode" ref="qrCodeUrl"></div> |
| | | <div lang="tips"> |
| | | 请ç¨å¾®ä¿¡æ«æäºç»´ç è¿è¡æ¯ä» |
| | | </div> |
| | | <div class="btnBox"> |
| | | <el-button @click="back()">è¿å</el-button> |
| | | <el-button type="primary" @click="isPay()">æ¯ä»å·²å®æ</el-button> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import { getPublicImage } from "@/assets/js/middleGround/tool"; |
| | | import QRCode from "qrcodejs2"; // å¼å
¥qrcode |
| | | export default { |
| | | name: "order", |
| | | components: {}, |
| | | data() { |
| | | return { |
| | | orderNum: this.$route.query.orderNum, |
| | | orderData: {}, |
| | | tableData: [] |
| | | }; |
| | | }, |
| | | created() { |
| | | this.getOrderInfo(); |
| | | }, |
| | | methods: { |
| | | getOrderInfo() { |
| | | this.MG.store |
| | | .getOrderByOrderNum({ |
| | | orderNum: this.orderNum |
| | | }) |
| | | .then((res) => { |
| | | this.orderData = res; |
| | | this.tableData.push({ |
| | | icon: getPublicImage( |
| | | res.saleMethodLinks[0].orderSaleMethod.product.icon, |
| | | 150 |
| | | ), |
| | | name: res.saleMethodLinks[0].orderSaleMethod.product.name, |
| | | price: res.payPrice |
| | | }); |
| | | if (res.state == 'WaitPay') { |
| | | this.getWeChatCode(); |
| | | } |
| | | }); |
| | | }, |
| | | confirmOrder() { |
| | | this.MG.store |
| | | .confirmOrder({ |
| | | orderNum: this.orderNum |
| | | }) |
| | | .then((res) => { |
| | | this.orderData = res; |
| | | this.getWeChatCode(); |
| | | }); |
| | | }, |
| | | getWeChatCode() { |
| | | this.MG.store |
| | | .makeWeChatQrPay({ |
| | | orderNum: this.orderNum |
| | | }) |
| | | .then((res) => { |
| | | if (res) { |
| | | this.createQrcode(res); |
| | | } |
| | | }); |
| | | }, |
| | | createQrcode(src) { |
| | | let qrcode = new QRCode(this.$refs.qrCodeUrl, { |
| | | width: 150, |
| | | height: 150, |
| | | text: src, // äºç»´ç å°å |
| | | colorDark: "#000", |
| | | colorLight: "#fff" |
| | | }); |
| | | }, |
| | | back() { |
| | | this.$router.back(); |
| | | }, |
| | | isPay() { |
| | | this.MG.store |
| | | .getOrderByOrderNum({ |
| | | orderNum: this.orderNum |
| | | }) |
| | | .then((res) => { |
| | | if (res.state == "Success") { |
| | | this.$message({ |
| | | message: "订å已宿!", |
| | | type: "success" |
| | | }); |
| | | this.$router.push({ |
| | | path: "/personalCenter", |
| | | query: { |
| | | tabsSelected: 3 |
| | | } |
| | | }); |
| | | } else { |
| | | this.$message.error("请å
æ¯ä»è®¢å!"); |
| | | } |
| | | }); |
| | | } |
| | | } |
| | | }; |
| | | </script> |
| | | |
| | | <style lang="less" scoped> |
| | | .orderPage { |
| | | width: 1200px; |
| | | margin: 0 auto; |
| | | .crumbs { |
| | | padding: 35px 0; |
| | | } |
| | | .content { |
| | | width: 100%; |
| | | min-height: 500px; |
| | | background: #fff; |
| | | margin-bottom: 50px; |
| | | padding: 40px; |
| | | box-sizing: border-box; |
| | | .confirmOrderBtn { |
| | | margin-top: 50px; |
| | | text-align: center; |
| | | } |
| | | .payBox { |
| | | text-align: center; |
| | | box-sizing: border-box; |
| | | border: 1px solid #ddd; |
| | | padding: 50px; |
| | | .price { |
| | | font-size: 25px; |
| | | color: #ff721f; |
| | | font-weight: bold; |
| | | margin-bottom: 20px; |
| | | } |
| | | .title { |
| | | font-size: 25px; |
| | | } |
| | | .code { |
| | | width: 150px; |
| | | margin: 50px auto; |
| | | img { |
| | | display: inline-block; |
| | | } |
| | | } |
| | | .tips { |
| | | font-size: 16px; |
| | | } |
| | | .btnBox { |
| | | margin-top: 50px; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | </style> |
New file |
| | |
| | | <template> |
| | | <div class="indexPage"> |
| | | <el-carousel :height="screenheight + 'px'"> |
| | | <el-carousel-item v-for="item in bannerList" :key="item.id"> |
| | | <div |
| | | class="bannerBox imgBox" |
| | | :style="item.caupress_link ? 'cursor: pointer' : ''" |
| | | > |
| | | <img |
| | | id="autoHeight" |
| | | class="bannerImg" |
| | | :src="item.icon" |
| | | @click="bannerLink(item)" |
| | | /> |
| | | </div> |
| | | </el-carousel-item> |
| | | </el-carousel> |
| | | <div class="bookListBox"> |
| | | <div class="contentBox"> |
| | | <div class="bookListTitle"> |
| | | <div class="title">æ¨èææ</div> |
| | | <div class="more">æ´å¤></div> |
| | | </div> |
| | | <div class="recommendList"> |
| | | <div |
| | | class="recommendItem" |
| | | v-for="item in bookListData" |
| | | :key="item.id" |
| | | > |
| | | <div class="recommendItemImg"> |
| | | <img class="autoImg" :src="item.icon" /> |
| | | </div> |
| | | <div class="infoBox"> |
| | | <div class="bookName">{{ item.name }}</div> |
| | | <div class="author"> |
| | | ä½è
ï¼{{ |
| | | item.authorcaupress_author ? item.caupress_author : "-" |
| | | }} |
| | | </div> |
| | | <div class="priceBox"> |
| | | <span class="oldPrice" v-if="item.oldPrice" |
| | | >åä»·ï¼Â¥{{ tool.toDecimal2(item.oldPrice) }}</span |
| | | > |
| | | <span class="price" v-if="item.price && item.price > 0"> |
| | | å®ä»·ï¼Â¥ |
| | | <span>{{ tool.toDecimal2(item.price) }}</span> |
| | | </span> |
| | | <span class="price" v-else> |
| | | å®ä»·ï¼<span class="freePrice">å
è´¹</span> |
| | | </span> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="funBox"> |
| | | <div class="authentication"></div> |
| | | <div class="manual"></div> |
| | | </div> |
| | | <div class="bookListTitle"> |
| | | <div class="title">æ¨èææ</div> |
| | | <div class="more">æ´å¤></div> |
| | | </div> |
| | | <div class="recommendList"> |
| | | <div |
| | | class="recommendItem" |
| | | v-for="item in bookListData" |
| | | :key="item.id" |
| | | > |
| | | <div class="recommendItemImg"> |
| | | <img class="autoImg" :src="item.icon" /> |
| | | </div> |
| | | <div class="infoBox"> |
| | | <div class="bookName">{{ item.name }}</div> |
| | | <div class="author"> |
| | | ä½è
ï¼{{ |
| | | item.authorcaupress_author ? item.caupress_author : "-" |
| | | }} |
| | | </div> |
| | | <div class="priceBox"> |
| | | <span class="oldPrice" v-if="item.oldPrice" |
| | | >åä»·ï¼Â¥{{ tool.toDecimal2(item.oldPrice) }}</span |
| | | > |
| | | <span class="price" v-if="item.price && item.price > 0"> |
| | | å®ä»·ï¼Â¥ |
| | | <span>{{ tool.toDecimal2(item.price) }}</span> |
| | | </span> |
| | | <span class="price" v-else> |
| | | å®ä»·ï¼<span class="freePrice">å
è´¹</span> |
| | | </span> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | export default { |
| | | name: "home", |
| | | data() { |
| | | return { |
| | | bannerList: [], |
| | | informationData: [], |
| | | noticeData: [], |
| | | honorData: [], |
| | | menuData: [], |
| | | bookListData: [], |
| | | bookListTotal: 0, |
| | | bookListLoading: true, |
| | | showMenuIndex: 0, |
| | | screenheight: document.documentElement.clientWidth / 4, |
| | | }; |
| | | }, |
| | | created() { |
| | | window.onresize = () => { |
| | | let c = 2.628; |
| | | if (document.documentElement.clientWidth >= 1220) { |
| | | this.screenheight = document.documentElement.clientWidth / c; |
| | | } |
| | | }; |
| | | var url = window.location.href; |
| | | if (url.indexOf("WeChatScanningCodeLogin") > -1) { |
| | | var querys = url.substring(url.indexOf("?") + 1).split("&"); |
| | | var result = {}; |
| | | for (var i = 0; i < querys.length; i++) { |
| | | var temp = querys[i].split("="); |
| | | if (temp.length < 2) { |
| | | result[temp[0]] = ""; |
| | | } else { |
| | | result[temp[0]] = temp[1]; |
| | | } |
| | | } |
| | | if (result && result.code) { |
| | | this.MG.identity |
| | | .loginByWeChatOpenCode({ |
| | | code: result.code, |
| | | appRefCode: this.config.appRefCode, |
| | | platform: "PCWeb", |
| | | }) |
| | | .then((res) => { |
| | | if (res && res.status == "Ok") { |
| | | this.$store.dispatch("setToken", res.token); |
| | | this.getUserInfo(() => { |
| | | window.location.href = this.config.requestCtx; |
| | | }); |
| | | } |
| | | }); |
| | | } else { |
| | | this.getBanner(); |
| | | this.getHonor(); |
| | | this.getBookMenu(); |
| | | } |
| | | } else { |
| | | this.getBanner(); |
| | | this.getHonor(); |
| | | this.getBookMenu(); |
| | | } |
| | | }, |
| | | methods: { |
| | | //ç¹å»è½®æå¾è·³è½¬ |
| | | |
| | | bannerLink(val) { |
| | | if (val.caupress_link) { |
| | | window.open(val.caupress_link); |
| | | } |
| | | }, |
| | | getUserInfo(callback) { |
| | | this.MG.identity.getCurrentAppUser().then((res) => { |
| | | // ç¨æ·ä¿¡æ¯ä¼å
çº§ï¼æå¸è®¤è¯ > 微信 > å¦çï¼æ³¨åæ¶é»è®¤ï¼ |
| | | if (res) { |
| | | let teacherRole = res.roleLinks.find( |
| | | (item) => item.role.refCode == "teacher" |
| | | ); |
| | | let teacherInfo = res.infoList.find( |
| | | (item) => item.type == "teacherInfo" |
| | | ); |
| | | let wechatInfo = res.infoList.find((item) => item.type == "WeChat"); |
| | | let studentInfo = res.infoList.find((item) => item.type == "Default"); |
| | | let phoneInfo = res.secretList.find( |
| | | (item) => item.type == "MobilePhone" |
| | | ); |
| | | if (teacherRole && teacherInfo) { |
| | | let data = {}; |
| | | try { |
| | | data = JSON.parse(teacherInfo.data); |
| | | } catch (error) { |
| | | data = {}; |
| | | } |
| | | this.$store.dispatch("setUserInfo", { |
| | | ...data, |
| | | name: data.fullName, |
| | | phoneNumber: phoneInfo?.credential, |
| | | role: "Teacher", |
| | | roleId: teacherRole.role.id, |
| | | }); |
| | | } else if (wechatInfo) { |
| | | this.$store.dispatch("setUserInfo", { |
| | | ...wechatInfo, |
| | | phoneNumber: phoneInfo?.credential, |
| | | role: "Student", |
| | | }); |
| | | } else if (studentInfo) { |
| | | this.$store.dispatch("setUserInfo", { |
| | | ...studentInfo, |
| | | phoneNumber: phoneInfo?.credential, |
| | | role: "Student", |
| | | }); |
| | | } |
| | | } |
| | | // æ¸
空æ¬å°å¨åçç³è¯·æ ·ä¹¦æ¸
å |
| | | this.$store.commit("emptyBookList"); |
| | | callback(); |
| | | }); |
| | | }, |
| | | getBanner() { |
| | | this.MG.resource |
| | | .getItem({ |
| | | path: this.config.refCodes.index.banner, |
| | | fields: { |
| | | caupress_link: [], |
| | | }, |
| | | coverSize: { |
| | | height: 750, |
| | | }, |
| | | paging: { |
| | | start: 0, |
| | | size: 999, |
| | | }, |
| | | }) |
| | | .then((res) => { |
| | | this.bannerList = res.datas; |
| | | }); |
| | | }, |
| | | |
| | | getHonor() { |
| | | this.MG.resource |
| | | .getItem({ |
| | | path: this.config.refCodes.index.honor, |
| | | coverSize: { |
| | | height: 200, |
| | | }, |
| | | paging: { |
| | | start: 0, |
| | | size: 999, |
| | | }, |
| | | }) |
| | | .then((res) => { |
| | | this.honorData = res.datas; |
| | | }); |
| | | }, |
| | | getBookMenu() { |
| | | this.MG.store |
| | | .getStoreChannelList({ |
| | | storeRefCode: this.config.goodsStore, |
| | | path: this.config.refCodes.index.column, |
| | | start: 0, |
| | | size: 999, |
| | | }) |
| | | .then((res) => { |
| | | if (res.datas && res.datas.length) { |
| | | this.menuData = res.datas; |
| | | this.getBookList(); |
| | | } |
| | | }); |
| | | }, |
| | | getBookList() { |
| | | this.bookListLoading = true; |
| | | this.MG.store |
| | | .getProductList({ |
| | | path: |
| | | this.config.refCodes.index.column + |
| | | "\\" + |
| | | this.menuData[this.showMenuIndex].refCode, |
| | | paging: { |
| | | start: 0, |
| | | size: 5, |
| | | }, |
| | | fields: { |
| | | caupress_author: [], |
| | | caupress_recommendationReason: [], |
| | | }, |
| | | coverSize: { |
| | | width: 150, |
| | | }, |
| | | }) |
| | | .then((res) => { |
| | | this.bookListData = res.datas; |
| | | this.bookListTotal = res.total; |
| | | this.bookListLoading = false; |
| | | }); |
| | | }, |
| | | toInformation(selected) { |
| | | this.$router.push({ |
| | | name: "informationCenter-index", |
| | | query: { |
| | | tabsSelected: selected, |
| | | }, |
| | | }); |
| | | }, |
| | | toDetails(tabsSelected, linkInfo) { |
| | | this.$router.push({ |
| | | name: "informationCenter-detail", |
| | | query: { |
| | | tabsSelected: tabsSelected, |
| | | path: linkInfo[0].LinkPath, |
| | | id: linkInfo[0].ChildrenId, |
| | | }, |
| | | }); |
| | | }, |
| | | toDetail(row) { |
| | | this.$router.push({ |
| | | name: "teachingServices-detail", |
| | | query: { id: row.id, cmsPath: row.rootCmsItemId }, |
| | | }); |
| | | }, |
| | | // 跳转è³å表页 |
| | | toList() { |
| | | this.$router.push({ |
| | | path: "/teachingServices", |
| | | query: { |
| | | searchOptionHidden: true, |
| | | searchPath: |
| | | this.config.refCodes.index.column + |
| | | "\\" + |
| | | this.menuData[this.showMenuIndex].refCode, |
| | | }, |
| | | }); |
| | | }, |
| | | }, |
| | | }; |
| | | </script> |
| | | |
| | | <style lang="less" scoped> |
| | | @import "@/assets/css/theme.less"; |
| | | .indexPage { |
| | | min-width: 1220px; |
| | | background-color: #fff; |
| | | .bannerBox { |
| | | background: #f3f3f3; |
| | | } |
| | | .imgBox { |
| | | position: relative; |
| | | width: 100%; |
| | | height: 100%; |
| | | } |
| | | // æ¬ç¤¾èµè®¯ |
| | | .informationBox { |
| | | padding-right: 30px; |
| | | border-right: 1px dashed #b3b3b3; |
| | | .informationList { |
| | | .informationItem { |
| | | margin-bottom: 50px; |
| | | cursor: pointer; |
| | | .imgBox { |
| | | position: relative; |
| | | width: 150px; |
| | | height: 90px; |
| | | margin-right: 30px; |
| | | background: #f2f2f2; |
| | | .date { |
| | | color: #999999; |
| | | text-align: center; |
| | | font-size: 30px; |
| | | padding-top: 20px; |
| | | .year { |
| | | font-size: 17px; |
| | | margin-top: 5px; |
| | | } |
| | | } |
| | | } |
| | | .infoBox { |
| | | .title { |
| | | font-size: 16px; |
| | | color: #444444; |
| | | margin-bottom: 20px; |
| | | font-weight: bold; |
| | | line-height: 1.5; |
| | | cursor: pointer; |
| | | } |
| | | .detail { |
| | | font-size: 12px; |
| | | color: #444444; |
| | | line-height: 2; |
| | | display: -webkit-box; |
| | | overflow: hidden; |
| | | text-overflow: ellipsis; |
| | | -webkit-box-orient: vertical; |
| | | -webkit-line-clamp: 2; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | // æ¬ç¤¾éç¥ |
| | | .noticeBox { |
| | | width: 400px; |
| | | padding-left: 30px; |
| | | .noticeList { |
| | | .noticeItem { |
| | | margin-bottom: 40px; |
| | | cursor: pointer; |
| | | .indexBox { |
| | | width: 60px; |
| | | height: 60px; |
| | | text-align: center; |
| | | line-height: 60px; |
| | | font-size: 36px; |
| | | color: #b3b3b3; |
| | | background: #f2f2f2; |
| | | margin-right: 30px; |
| | | } |
| | | .infoBox { |
| | | .title { |
| | | font-size: 16px; |
| | | color: #444444; |
| | | height: 40px; |
| | | line-height: 20px; |
| | | margin-bottom: 8px; |
| | | cursor: pointer; |
| | | display: -webkit-box; |
| | | overflow: hidden; |
| | | text-overflow: ellipsis; |
| | | -webkit-box-orient: vertical; |
| | | -webkit-line-clamp: 2; |
| | | } |
| | | .date { |
| | | font-size: 12px; |
| | | color: #bcbcbc; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | // 书ç±å表 |
| | | .bookListBox { |
| | | width: 100%; |
| | | padding: 80px 0; |
| | | margin-top: 60px; |
| | | background-repeat: no-repeat; |
| | | background-size: 100% 100%; |
| | | background-image: url("@/assets/images/tuijian-bg.png"); |
| | | background-repeat: no-repeat; |
| | | background-size: 100% 42%; |
| | | .contentBox { |
| | | min-height: 776px; |
| | | } |
| | | .menuBox { |
| | | width: 180px; |
| | | border-right: 1px solid #d9d9d9; |
| | | padding: 30px 0 30px; |
| | | .menuItem { |
| | | padding-left: 30px; |
| | | border-right: 3px solid #fff; |
| | | font-size: 16px; |
| | | height: 40px; |
| | | line-height: 40px; |
| | | cursor: pointer; |
| | | margin-bottom: 20px; |
| | | &:hover { |
| | | background: #f2f2f2; |
| | | } |
| | | &.active { |
| | | color: @color; |
| | | border-color: @color; |
| | | } |
| | | } |
| | | } |
| | | .bookList { |
| | | padding: 40px; |
| | | min-height: 826px; |
| | | box-sizing: border-box; |
| | | |
| | | .bookItem { |
| | | margin-bottom: 30px; |
| | | cursor: pointer; |
| | | .imgBox { |
| | | width: 150px; |
| | | height: 200px; |
| | | border: 1px solid #e6e6e6; |
| | | } |
| | | .infoBox { |
| | | margin-left: 30px; |
| | | .title { |
| | | color: #333333; |
| | | font-size: 20px; |
| | | margin-top: 14px; |
| | | margin-bottom: 12px; |
| | | font-weight: bold; |
| | | cursor: pointer; |
| | | } |
| | | .author { |
| | | color: #808080; |
| | | margin-bottom: 20px; |
| | | } |
| | | .reasonBox { |
| | | display: flex; |
| | | line-height: 24px; |
| | | font-size: 14px; |
| | | color: #333333; |
| | | margin-bottom: 20px; |
| | | min-height: 72px; |
| | | .reasonTxt { |
| | | flex: 1; |
| | | overflow: hidden; |
| | | text-overflow: ellipsis; |
| | | display: -webkit-box; |
| | | -webkit-line-clamp: 3; |
| | | -webkit-box-orient: vertical; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | .allList { |
| | | width: 160px; |
| | | height: 40px; |
| | | line-height: 40px; |
| | | font-size: 16px; |
| | | background: #e5f3eb; |
| | | color: @color; |
| | | text-align: center; |
| | | border-radius: 50px; |
| | | margin: 10px auto; |
| | | cursor: pointer; |
| | | } |
| | | } |
| | | } |
| | | .boxTitle { |
| | | font-size: 18px; |
| | | color: #333333; |
| | | margin-bottom: 30px; |
| | | font-weight: bold; |
| | | span { |
| | | float: right; |
| | | font-size: 12px; |
| | | color: #999999; |
| | | line-height: 18px; |
| | | cursor: pointer; |
| | | } |
| | | } |
| | | .honorBox { |
| | | margin-bottom: 60px; |
| | | } |
| | | } |
| | | // æ¨¡åæ é¢ |
| | | .blockTitle { |
| | | text-align: center; |
| | | font-size: 24px; |
| | | font-weight: bold; |
| | | margin-top: 60px; |
| | | margin-bottom: 30px; |
| | | span { |
| | | display: inline-block; |
| | | width: 60px; |
| | | height: 6px; |
| | | margin-top: 10px; |
| | | background: @color; |
| | | } |
| | | } |
| | | |
| | | .bookListTitle { |
| | | display: flex; |
| | | justify-content: space-between; |
| | | align-items: center; |
| | | margin-bottom: 20px; |
| | | |
| | | .title { |
| | | font-size: 20px; |
| | | color: #333333; |
| | | font-weight: bold; |
| | | } |
| | | .more { |
| | | font-size: 14px; |
| | | color: #999999; |
| | | cursor: pointer; |
| | | } |
| | | } |
| | | .recommendList { |
| | | display: flex; |
| | | padding-top: 20px; |
| | | |
| | | .recommendItem { |
| | | flex: 1; |
| | | margin-right: 20px; |
| | | height: 300px; |
| | | background-repeat: no-repeat; |
| | | background-size: 100% 100%; |
| | | cursor: pointer; |
| | | border: 1px solid #dedede; |
| | | background-color: #fff; |
| | | padding-top: 10px; |
| | | &:last-child { |
| | | margin-right: 0; |
| | | } |
| | | } |
| | | } |
| | | |
| | | .recommendItemImg { |
| | | width: 150px; |
| | | height: 200px; |
| | | position: relative; |
| | | margin: 0 auto; |
| | | } |
| | | .infoBox { |
| | | text-align: center; |
| | | margin-top: 10px; |
| | | } |
| | | .author { |
| | | margin-top: 10px; |
| | | } |
| | | .priceBox { |
| | | margin-top: 10px; |
| | | .oldPrice { |
| | | font-size: 16px; |
| | | color: #444444; |
| | | text-decoration: line-through; |
| | | margin-right: 20px; |
| | | } |
| | | .price { |
| | | span { |
| | | font-weight: bold; |
| | | font-size: 14px; |
| | | } |
| | | } |
| | | } |
| | | |
| | | .funBox { |
| | | display: flex; |
| | | justify-content: space-between; |
| | | align-items: center; |
| | | margin-top: 60px; |
| | | margin-bottom: 60px; |
| | | .authentication { |
| | | width: 40%; |
| | | height: 80px; |
| | | background-repeat: no-repeat; |
| | | background-size: 100% 100%; |
| | | background-image: url("@/assets/images/xiehe/home/jiaoshirenzheng.png"); |
| | | } |
| | | .manual { |
| | | width: 40%; |
| | | height: 80px; |
| | | background-repeat: no-repeat; |
| | | background-size: 100% 100%; |
| | | background-image: url("@/assets/images/xiehe/home/jiaoshirenzheng.png"); |
| | | } |
| | | } |
| | | </style> |
New file |
| | |
| | | <template> |
| | | <div class="contentBox"> |
| | | <div class="crumbs"> |
| | | <el-breadcrumb separator-class="el-icon-arrow-right"> |
| | | <el-breadcrumb-item :to="{ name: '/' }">é¦é¡µ</el-breadcrumb-item> |
| | | <el-breadcrumb-item>æç´¢ç»æ</el-breadcrumb-item> |
| | | </el-breadcrumb> |
| | | </div> |
| | | <el-row> |
| | | <el-button |
| | | size="small" |
| | | :type="defaultType == 1 ? 'primary' : ''" |
| | | @click="switchType(1)" |
| | | >æå¦æå¡</el-button |
| | | > |
| | | <el-button |
| | | size="small" |
| | | :type="defaultType == 2 ? 'primary' : ''" |
| | | @click="switchType(2)" |
| | | >书å</el-button |
| | | > |
| | | </el-row> |
| | | <List |
| | | :channel="channel" |
| | | :searchFields="searchFields" |
| | | :searchValue="searchValue" |
| | | :detailRoute="detailRoute" |
| | | ></List> |
| | | </div> |
| | | </template> |
| | | <script> |
| | | import List from "@/components/list/data"; |
| | | export default { |
| | | name: "search", |
| | | components: { |
| | | List, |
| | | }, |
| | | data() { |
| | | return { |
| | | searchFields: "", |
| | | detailRoute: "bookStore-detail", |
| | | channel: "caupress_bookMall", |
| | | defaultType: 2, // é»è®¤æç´¢ä¹¦å |
| | | searchValue: "", |
| | | }; |
| | | }, |
| | | created() { |
| | | this.searchValue = this.$route.query.searchValue; |
| | | }, |
| | | methods: { |
| | | switchType(type) { |
| | | if (type == 1) { |
| | | this.defaultType = 1; |
| | | this.channel = "caupress_teachingResource"; |
| | | this.detailRoute = "teachingServices-detail"; |
| | | } else { |
| | | this.defaultType = 2; |
| | | this.channel = "caupress_bookMall"; |
| | | this.detailRoute = "bookStore-detail"; |
| | | } |
| | | }, |
| | | }, |
| | | watch: { |
| | | $route: { |
| | | handler: function (val, oldval) { |
| | | if (val.name == "search") { |
| | | if (this.searchValue != this.$route.query.searchValue) { |
| | | this.searchValue = this.$route.query.searchValue; |
| | | } |
| | | // 妿æç´¢çé项å¡ä½äºæå¦æå¡ï¼åé»è®¤æç´¢æå¦æå¡ |
| | | if (this.$route.query.searchPath == "caupress_teachingResource") { |
| | | this.switchType(1); |
| | | } |
| | | switch (this.$route.query.searchType) { |
| | | case "bookName": |
| | | this.searchFields = "Name"; |
| | | break; |
| | | case "isbn": |
| | | this.searchFields = "caupress_ISBN"; |
| | | break; |
| | | case "author": |
| | | this.searchFields = "caupress_author"; |
| | | break; |
| | | case "projectTitle": |
| | | this.searchFields = "caupress_projectTitle"; |
| | | break; |
| | | } |
| | | } |
| | | }, |
| | | immediate: true, |
| | | deep: true, |
| | | }, |
| | | }, |
| | | // å¦æè·³è½¬é¡µé¢ä¸æ¯è¯¦æ
ï¼åå°å½å页é¢ä¸ç¼å |
| | | beforeRouteLeave(to, from, next) { |
| | | if (to.name != "teachingServices-detail" && to.name != "bookStore-detail") { |
| | | this.$store.commit("delKeepAlive", from.name); |
| | | } |
| | | next(); |
| | | }, |
| | | }; |
| | | </script> |
| | | <style lang="less" scoped> |
| | | .contentBox { |
| | | padding-bottom: 120px; |
| | | |
| | | .el-row { |
| | | margin-bottom: 10px; |
| | | } |
| | | |
| | | .crumbs { |
| | | padding: 35px 0 25px 0; |
| | | line-height: 70px; |
| | | } |
| | | } |
| | | </style> |
New file |
| | |
| | | <template> |
| | | <div class="contentBox"> |
| | | <div class="crumbs"> |
| | | <el-breadcrumb separator-class="el-icon-arrow-right"> |
| | | <div v-if="this.$route.query.type == 'aboutUs'"> |
| | | <el-breadcrumb-item |
| | | :to="{ |
| | | name: 'aboutUs-index', |
| | | }" |
| | | >å
³äºæä»¬</el-breadcrumb-item |
| | | > |
| | | <el-breadcrumb-item |
| | | :to="{ |
| | | name: 'aboutUs-index', |
| | | query: { aboutUs: 3 }, |
| | | }" |
| | | >大äºè®°</el-breadcrumb-item |
| | | > |
| | | <el-breadcrumb-item>{{ data.name }}</el-breadcrumb-item> |
| | | </div> |
| | | <div v-else> |
| | | <el-breadcrumb-item :to="{ name: 'informationCenter-index' }" |
| | | >æ¬ç¤¾èµè®¯</el-breadcrumb-item |
| | | > |
| | | <el-breadcrumb-item |
| | | :to="{ |
| | | name: 'informationCenter-index', |
| | | query: { tabsSelected: this.$route.query.tabsSelected }, |
| | | }" |
| | | >{{ |
| | | this.$route.query.tabsSelected == 0 ? "æ¬ç¤¾èµè®¯" : "æ¬ç¤¾éç¥" |
| | | }}</el-breadcrumb-item |
| | | > |
| | | </div> |
| | | </el-breadcrumb> |
| | | </div> |
| | | <div class="bgcfff" v-loading="reLoading"> |
| | | <el-empty |
| | | description="ææ æ°æ®" |
| | | class="empty" |
| | | :image-size="200" |
| | | v-if="data.length == 0" |
| | | ></el-empty> |
| | | <div v-else> |
| | | <div :title="data.name" class="tabs"> |
| | | <div> |
| | | {{ data.name }} |
| | | </div> |
| | | </div> |
| | | <div class="borderButtom"></div> |
| | | <div class="wrap"> |
| | | <div class="author"> |
| | | <span v-if="data.caupress_publishDate">{{ |
| | | moment(data.caupress_publishDate).format("YYYY-MM-DD") |
| | | }}</span> |
| | | <span v-if="data.caupress_author" |
| | | >ä½è
ï¼{{ data.caupress_author }}</span |
| | | > |
| | | </div> |
| | | <div class="richTextBox" v-html="data.caupress_content"></div> |
| | | <div class="attaText" v-if="fileList.length > 0">éä»¶ï¼</div> |
| | | <div class="attachment" v-if="fileList.length > 0"> |
| | | <div |
| | | class="itemBox" |
| | | v-for="(item, index) in fileList" |
| | | :key="index" |
| | | @click="download(item)" |
| | | > |
| | | <div class="fileName">{{ item.FileList[0].FileName }}</div> |
| | | <i class="el-icon-download"></i> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | export default { |
| | | name: "home", |
| | | data() { |
| | | return { |
| | | data: [], |
| | | reLoading: true, |
| | | fileList: [], |
| | | }; |
| | | }, |
| | | created() { |
| | | scrollTo(0, 0); |
| | | this.getData(); |
| | | }, |
| | | methods: { |
| | | getData() { |
| | | this.reLoading = true; |
| | | |
| | | let query = { |
| | | path: this.$route.query.path, |
| | | fields: { |
| | | caupress_publishDate: [], |
| | | caupress_author: [], |
| | | caupress_content: [], |
| | | }, |
| | | filterList: { |
| | | caupress_file: [], |
| | | }, |
| | | itemId: this.$route.query.id, |
| | | }; |
| | | |
| | | this.MG.resource.getItem(query).then((res) => { |
| | | this.data = res.datas[0]; |
| | | console.log(JSON.parse(this.data.datas.caupress_file)); |
| | | if (this.data.datas.caupress_file) { |
| | | this.fileList = JSON.parse(this.data.datas.caupress_file); |
| | | } |
| | | this.reLoading = false; |
| | | }); |
| | | }, |
| | | download(item) { |
| | | let url = |
| | | this.config.requestCtx + "/file/api/ApiDownload?md5=" + item.Value; |
| | | window.open(url, "_blank"); |
| | | }, |
| | | }, |
| | | }; |
| | | </script> |
| | | |
| | | <style lang="less" scoped> |
| | | .attaText { |
| | | margin-top: 50px; |
| | | } |
| | | .attachment { |
| | | display: flex; |
| | | align-items: center; |
| | | margin-top: 10px; |
| | | flex-flow: wrap; |
| | | .itemBox { |
| | | margin-left: 20px; |
| | | margin-top: 20px; |
| | | border: 2px solid #d8d8d8; |
| | | padding: 10px; |
| | | border-radius: 10px; |
| | | display: flex; |
| | | cursor: pointer; |
| | | .fileName { |
| | | width: 200px; |
| | | white-space: nowrap; |
| | | overflow: hidden; |
| | | text-overflow: ellipsis; |
| | | } |
| | | } |
| | | } |
| | | .contentBox { |
| | | padding-bottom: 120px; |
| | | .crumbs { |
| | | padding: 35px 0; |
| | | line-height: 70px; |
| | | } |
| | | .bgcfff { |
| | | background-color: #fff; |
| | | .tabs { |
| | | font-size: 30px; |
| | | padding-top: 50px; |
| | | padding-bottom: 30px; |
| | | line-height: 50px; |
| | | padding-left: 20px; |
| | | padding-right: 20px; |
| | | align-items: center; |
| | | font-weight: 700; |
| | | color: #999999; |
| | | border-bottom: 2px solid #e6e6e6; |
| | | text-align: center; |
| | | color: #333333; |
| | | } |
| | | .borderButtom { |
| | | width: 300px; |
| | | margin: 0 auto; |
| | | margin-top: -2px; |
| | | border-bottom: 2px solid #00873c; |
| | | } |
| | | .wrap { |
| | | min-height: 300px; |
| | | padding: 0 20px 20px 20px; |
| | | .author { |
| | | text-align: right; |
| | | line-height: 60px; |
| | | color: #999999; |
| | | font-size: 18px; |
| | | letter-spacing: 0.45px; |
| | | span { |
| | | margin-left: 40px; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | </style> |
New file |
| | |
| | | <template> |
| | | <div class="minWidth"> |
| | | <el-carousel :height="screenheight + 'px'" v-loading="bannerLoading"> |
| | | <template v-if="!bannerLoading"> |
| | | <el-carousel-item v-for="item in bannerList" :key="item.id"> |
| | | <div class="bannerBox imgBox" :style="item.caupress_link ? 'cursor: pointer' : ''"> |
| | | <img class="bannerImg" :src="item.icon" @click="bannerLink(item)"/> |
| | | </div> |
| | | </el-carousel-item> |
| | | </template> |
| | | </el-carousel> |
| | | <div class="contentBox"> |
| | | <div class="tabs"> |
| | | <div |
| | | :class="tabsSelected == 0 ? 'tabSelect' : ''" |
| | | class="tab" |
| | | @click=" |
| | | () => { |
| | | this.tabsSelected = 0; |
| | | this.getData(); |
| | | } |
| | | " |
| | | > |
| | | <i class="el-icon-document"></i> |
| | | æ¬ç¤¾èµè®¯ |
| | | </div> |
| | | <div class="division"></div> |
| | | <div |
| | | :class="tabsSelected == 1 ? 'tabSelect' : ''" |
| | | class="tab" |
| | | @click=" |
| | | () => { |
| | | this.tabsSelected = 1; |
| | | this.getData(); |
| | | } |
| | | " |
| | | > |
| | | <i class="el-icon-bell"></i> |
| | | æ¬ç¤¾éç¥ |
| | | </div> |
| | | </div> |
| | | <div class="list" v-loading="reLoading"> |
| | | <el-empty |
| | | description="ææ æ°æ®" |
| | | class="empty" |
| | | :image-size="200" |
| | | v-if="list.length == 0" |
| | | ></el-empty> |
| | | <div> |
| | | <div |
| | | class="listItem" |
| | | v-for="(item, index) in list" |
| | | :key="index" |
| | | @click="gotoDetails(item.linkInfo)" |
| | | > |
| | | <div class="wrapImg"> |
| | | <div v-if="item.icon.includes('default')" class="date"> |
| | | <div> |
| | | {{ |
| | | item.caupress_publishDate |
| | | ? moment(item.caupress_publishDate).format("DD") |
| | | : moment(item.createDate).format("DD") |
| | | }} |
| | | </div> |
| | | <div class="year"> |
| | | {{ |
| | | item.caupress_publishDate |
| | | ? moment(item.caupress_publishDate).format("YYYY-MM") |
| | | : moment(item.createDate).format("YYYY-MM") |
| | | }} |
| | | </div> |
| | | </div> |
| | | <img v-else class="autoImg" :src="item.icon" alt="" /> |
| | | </div> |
| | | <div> |
| | | <p class="title ellipsis" :title="item.name"> |
| | | {{ item.name }} |
| | | </p> |
| | | <p class="introduce ellipsis" :title="item.description"> |
| | | {{ item.description }} |
| | | </p> |
| | | <div class="author"> |
| | | <span v-if="item.caupress_author">{{ |
| | | item.caupress_author |
| | | }}</span> |
| | | <span>{{ |
| | | item.caupress_publishDate |
| | | ? moment(item.caupress_publishDate).format("YYYY-MM-DD") |
| | | : moment(item.createDate).format("YYYY-MM-DD") |
| | | }}</span> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <!-- å页 --> |
| | | <div class="pageinateBox" v-if="list.length > 0 && !reLoading"> |
| | | <el-pagination |
| | | @size-change=" |
| | | (val) => { |
| | | paginationData.limit = val; |
| | | getData(); |
| | | } |
| | | " |
| | | @current-change=" |
| | | (val) => { |
| | | paginationData.page = val; |
| | | getData(); |
| | | } |
| | | " |
| | | background="" |
| | | :current-page="paginationData.page - 0" |
| | | :page-size="paginationData.limit" |
| | | prev-text="ä¸ä¸é¡µ" |
| | | next-text="ä¸ä¸é¡µ" |
| | | layout="total, prev, pager, next, slot, jumper" |
| | | :total="paginationData.totalCount" |
| | | > |
| | | </el-pagination> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | export default { |
| | | name: "home", |
| | | data() { |
| | | return { |
| | | tabsSelected: this.$route.query.tabsSelected |
| | | ? this.$route.query.tabsSelected |
| | | : 0, |
| | | list: [], |
| | | paginationData: { |
| | | page: 1, |
| | | totalCount: 0, |
| | | limit: 10, |
| | | totalPage: 0, |
| | | }, |
| | | bannerLoading: false, |
| | | reLoading: true, |
| | | bannerList: [], |
| | | screenheight: document.documentElement.clientWidth / 2.628, |
| | | }; |
| | | }, |
| | | created() { |
| | | window.onresize = () => { |
| | | let c = 2.628; |
| | | if (document.documentElement.clientWidth >= 1220) { |
| | | this.screenheight = document.documentElement.clientWidth / c; |
| | | } |
| | | }; |
| | | this.getBanner(); |
| | | this.getData(); |
| | | }, |
| | | methods: { |
| | | bannerLink(val) { |
| | | if (val.caupress_link) { |
| | | window.open(val.caupress_link); |
| | | } |
| | | }, |
| | | getBanner() { |
| | | this.bannerLoading = true; |
| | | this.MG.resource |
| | | .getItem({ |
| | | path: "caupress_banner\\caupress_informationCenterBanner", |
| | | fields: { |
| | | caupress_link: [], |
| | | }, |
| | | coverSize: { |
| | | height: 750, |
| | | }, |
| | | paging: { |
| | | start: 0, |
| | | size: 999, |
| | | }, |
| | | }) |
| | | .then((res) => { |
| | | console.log(res); |
| | | this.bannerLoading = false; |
| | | this.bannerList = res.datas; |
| | | }); |
| | | }, |
| | | getData() { |
| | | this.reLoading = true; |
| | | let { limit, page } = this.paginationData; |
| | | let path = |
| | | this.tabsSelected == 0 |
| | | ? "caupress_informationCenter\\caupress_information" |
| | | : "caupress_informationCenter\\caupress_notice"; |
| | | let query = { |
| | | path: path, |
| | | paging: { |
| | | start: limit * page - limit, |
| | | size: limit, |
| | | }, |
| | | sort: { |
| | | CreateDate: "Desc", |
| | | }, |
| | | coverSize: { |
| | | height: 126, |
| | | }, |
| | | fields: { |
| | | caupress_publishDate: [], |
| | | caupress_author: [], |
| | | }, |
| | | }; |
| | | |
| | | this.MG.resource.getItem(query).then((res) => { |
| | | this.list = res.datas; |
| | | console.log(this.list, "list"); |
| | | this.paginationData.totalCount = res.total; |
| | | this.reLoading = false; |
| | | }); |
| | | }, |
| | | gotoDetails(linkInfo) { |
| | | this.$router.push({ |
| | | name: "informationCenter-detail", |
| | | query: { |
| | | tabsSelected: this.tabsSelected, |
| | | path: linkInfo[0].LinkPath, |
| | | id: linkInfo[0].ChildrenId, |
| | | }, |
| | | }); |
| | | }, |
| | | }, |
| | | }; |
| | | </script> |
| | | |
| | | <style lang="less" scoped> |
| | | .minWidth { |
| | | min-width: 1220px; |
| | | } |
| | | .bannerBox { |
| | | background: #f3f3f3; |
| | | } |
| | | .imgBox { |
| | | position: relative; |
| | | width: 100%; |
| | | height: 100%; |
| | | } |
| | | .contentBox { |
| | | background-color: #ffffff; |
| | | margin-top: 60px; |
| | | .tabs { |
| | | display: flex; |
| | | justify-content: space-evenly; |
| | | font-size: 20px; |
| | | line-height: 106px; |
| | | align-items: center; |
| | | font-weight: 700; |
| | | color: #999999; |
| | | border-bottom: 2px solid #e6e6e6; |
| | | text-align: center; |
| | | height: 104px; |
| | | .tab { |
| | | width: 300px; |
| | | cursor: pointer; |
| | | } |
| | | .imgCenter { |
| | | vertical-align: middle; |
| | | margin: 0 5px; |
| | | } |
| | | .division { |
| | | width: 1px; |
| | | height: 18px; |
| | | border-right: 1px solid #acabac; |
| | | } |
| | | .tabSelect { |
| | | color: #333333; |
| | | border-bottom: 2px solid #00873c; |
| | | } |
| | | } |
| | | .list { |
| | | padding: 20px; |
| | | min-height: 400px; |
| | | .listItem { |
| | | margin: 50px 0; |
| | | display: flex; |
| | | font-size: 14px; |
| | | color: #999999; |
| | | cursor: pointer; |
| | | position: relative; |
| | | &:hover { |
| | | .title { |
| | | color: #00873c; |
| | | } |
| | | } |
| | | .wrapImg { |
| | | width: 210px; |
| | | height: 126px; |
| | | margin-right: 30px; |
| | | position: relative; |
| | | background: #f2f2f2; |
| | | .date { |
| | | text-align: center; |
| | | font-size: 30px; |
| | | padding-top: 40px; |
| | | .year { |
| | | font-size: 17px; |
| | | margin-top: 5px; |
| | | } |
| | | } |
| | | } |
| | | .title { |
| | | font-size: 18px; |
| | | line-height: 30px; |
| | | letter-spacing: 0.45px; |
| | | font-weight: 400; |
| | | margin-bottom: 20px; |
| | | color: #555; |
| | | } |
| | | .introduce { |
| | | width: 974px; |
| | | } |
| | | .author { |
| | | position: absolute; |
| | | bottom: 0; |
| | | span { |
| | | margin-right: 30px; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | .pageinateBox { |
| | | text-align: center; |
| | | background-color: rgb(241, 248, 244); |
| | | padding: 40px 0; |
| | | :deep(.el-pagination.is-background .btn-next) { |
| | | padding: 0 10px; |
| | | } |
| | | :deep(.el-pagination.is-background .btn-prev) { |
| | | padding: 0 10px; |
| | | } |
| | | } |
| | | } |
| | | </style> |
New file |
| | |
| | | <template> |
| | | <div v-loading="loading" element-loading-text="æ£å¨ç»å½"></div> |
| | | </template> |
| | | |
| | | <script> |
| | | export default { |
| | | data() { |
| | | return { |
| | | loading: true, |
| | | }; |
| | | }, |
| | | created() { |
| | | console.log(this.$route.query); |
| | | this.$store.dispatch("setToken", this.$route.query.token); |
| | | this.getUserInfo(); |
| | | }, |
| | | methods: { |
| | | getUserInfo(callback) { |
| | | this.MG.identity.getCurrentAppUser().then((res) => { |
| | | // ç¨æ·ä¿¡æ¯ä¼å
çº§ï¼æå¸è®¤è¯ > 微信 > å¦çï¼æ³¨åæ¶é»è®¤ï¼ |
| | | if (res) { |
| | | let teacherRole = res.roleLinks.find( |
| | | (item) => item.role.refCode == "teacher" |
| | | ); |
| | | let teacherInfo = res.infoList.find( |
| | | (item) => item.type == "teacherInfo" |
| | | ); |
| | | let wechatInfo = res.infoList.find((item) => item.type == "WeChat"); |
| | | let studentInfo = res.infoList.find((item) => item.type == "Default"); |
| | | let phoneInfo = res.secretList.find( |
| | | (item) => item.type == "MobilePhone" |
| | | ); |
| | | if (teacherRole && teacherInfo) { |
| | | let data = {}; |
| | | try { |
| | | data = JSON.parse(teacherInfo.data); |
| | | } catch (error) { |
| | | data = {}; |
| | | } |
| | | this.$store.dispatch("setUserInfo", { |
| | | ...data, |
| | | name: data.fullName, |
| | | phoneNumber: phoneInfo?.credential, |
| | | role: "Teacher", |
| | | roleId: teacherRole.role.id, |
| | | }); |
| | | } else if (wechatInfo) { |
| | | this.$store.dispatch("setUserInfo", { |
| | | ...wechatInfo, |
| | | phoneNumber: phoneInfo?.credential, |
| | | role: "Student", |
| | | }); |
| | | } else if (studentInfo) { |
| | | this.$store.dispatch("setUserInfo", { |
| | | ...studentInfo, |
| | | phoneNumber: phoneInfo?.credential, |
| | | role: "Student", |
| | | }); |
| | | } |
| | | } |
| | | // æ¸
空æ¬å°å¨åçç³è¯·æ ·ä¹¦æ¸
å |
| | | this.$store.commit("emptyBookList"); |
| | | |
| | | this.loading = false; |
| | | this.$router.push({ |
| | | path: this.$route.query.url |
| | | ? decodeURIComponent(this.$route.query.url) |
| | | : "/home", |
| | | }); |
| | | }); |
| | | }, |
| | | }, |
| | | }; |
| | | </script> |
| | | <style lang="less" scoped> |
| | | div { |
| | | margin: auto; |
| | | height: 100vh; |
| | | } |
| | | </style> |
New file |
| | |
| | | <template> |
| | | <div class="loginPage"> |
| | | <div class="loginContent"> |
| | | <div class="loginFormBox"> |
| | | <div class="title"> |
| | | <span class="active">æ¾åå¯ç </span> |
| | | </div> |
| | | <!-- ç¨æ·åå¯ç ç»å½ --> |
| | | <div> |
| | | <div class="loginContentBox"> |
| | | <div class="errorTips" v-if="errorTipsTxt"> |
| | | {{ errorTipsTxt }} |
| | | <span |
| | | v-if="loginFormType == 'password'" |
| | | class="findPassword" |
| | | @click="toFindPassword()" |
| | | >æ¾åå¯ç </span |
| | | > |
| | | </div> |
| | | <div class="codeLoginItemBox flex"> |
| | | <el-select |
| | | style="width: 100px" |
| | | class="mr10" |
| | | placeholder="è¯·éæ©" |
| | | v-model="loginForm.region" |
| | | > |
| | | <el-option |
| | | v-for="item in options" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | ></el-option> |
| | | </el-select> |
| | | <el-input |
| | | class="flex1" |
| | | placeholder="请è¾å
¥ææºå·" |
| | | v-model="loginForm.mobilePhone" |
| | | @keyup.enter.native="loginFun" |
| | | ></el-input> |
| | | </div> |
| | | <div class="codeLoginItemBox flex"> |
| | | <el-input |
| | | placeholder="请è¾å
¥å¾å½¢éªè¯ç " |
| | | class="flex1 mr10" |
| | | v-model="loginForm.imgCode" |
| | | ></el-input> |
| | | <div class="imgCode"> |
| | | <img :src="imgCode" alt="" @click="getImgCapcha" /> |
| | | </div> |
| | | </div> |
| | | <div class="codeLoginItemBox flex"> |
| | | <el-input |
| | | placeholder="请è¾å
¥éªè¯ç " |
| | | class="flex1 mr10" |
| | | v-model="loginForm.verificationCode" |
| | | @keyup.enter.native="loginFun" |
| | | ></el-input> |
| | | <el-button |
| | | style="width: 140px" |
| | | @click="getVerifyCode" |
| | | :disabled="countDown != 0" |
| | | >{{ |
| | | countDown == 0 |
| | | ? "è·åçä¿¡éªè¯ç " |
| | | : "éªè¯ç (" + countDown + "s)" |
| | | }}</el-button |
| | | > |
| | | </div> |
| | | <!-- <div class="loginItemBox" v-if="loginFormType == 'password'"> |
| | | <span>ææºå·</span> |
| | | <el-input |
| | | class="loginItemIpt" |
| | | v-model="loginForm.mobilePhone" |
| | | placeholder="请è¾å
¥ææºå·" |
| | | clearable |
| | | @keyup.enter.native="loginFun" |
| | | ></el-input> |
| | | </div> --> |
| | | <div class="loginItemBox"> |
| | | <span>æ°å¯ç </span> |
| | | <el-input |
| | | class="loginItemIpt" |
| | | v-model="loginForm.password" |
| | | type="password" |
| | | show-password |
| | | placeholder="请è¾å
¥å¯ç " |
| | | @keyup.enter.native="loginFun" |
| | | ></el-input> |
| | | </div> |
| | | <div class="loginItemBox"> |
| | | <span>确认å¯ç </span> |
| | | <el-input |
| | | class="loginItemIpt" |
| | | v-model="loginForm.repetitionPassword" |
| | | type="password" |
| | | show-password |
| | | placeholder="请è¾å
¥ç¡®è®¤å¯ç " |
| | | @keyup.enter.native="loginFun" |
| | | ></el-input> |
| | | </div> |
| | | <div class="loginBtnBox"> |
| | | <el-button |
| | | type="primary" |
| | | class="loginBtn" |
| | | @click="loginFun" |
| | | :loading="loading" |
| | | >éç½®å¯ç </el-button |
| | | > |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | <script> |
| | | export default { |
| | | name: "login", |
| | | data() { |
| | | return { |
| | | redirectPath: "", |
| | | loading: false, |
| | | errorTipsTxt: "", |
| | | loginFormType: "code", |
| | | imgCode: "", |
| | | loginForm: { |
| | | region: "ä¸å½+86", |
| | | mobilePhone: "", |
| | | password: "", |
| | | imgCode: "", |
| | | verificationCode: "", |
| | | repetitionPassword: "", |
| | | }, |
| | | countDown: 0, |
| | | options: [ |
| | | { |
| | | value: "ä¸å½+86", |
| | | label: "ä¸å½+86", |
| | | }, |
| | | ], |
| | | }; |
| | | }, |
| | | created() { |
| | | this.redirectPath = this.$route.query.redirectPath; |
| | | this.getImgCapcha(); |
| | | }, |
| | | methods: { |
| | | getImgCapcha() { |
| | | this.MG.identity.getImgCode().then((res) => { |
| | | this.imgCode = "data:image/png;base64," + res; |
| | | }); |
| | | }, |
| | | // è·åéªè¯ç |
| | | getVerifyCode() { |
| | | if (!this.config.reg_tel.test(this.loginForm.mobilePhone)) { |
| | | this.$message({ |
| | | message: "请è¾å
¥æ£ç¡®æ ¼å¼çææºå·ï¼", |
| | | type: "error", |
| | | }); |
| | | return false; |
| | | } else if ( |
| | | this.loginForm.imgCode == "" || |
| | | this.loginForm.imgCode.length != 4 |
| | | ) { |
| | | this.$message({ |
| | | message: "请è¾å
¥æ£ç¡®æ ¼å¼çå¾å½¢éªè¯ç ", |
| | | type: "error", |
| | | }); |
| | | return false; |
| | | } else { |
| | | this.MG.identity |
| | | .getPhoneCode({ |
| | | phoneNumber: this.loginForm.mobilePhone, |
| | | imageCaptcha: this.loginForm.imgCode, |
| | | appRefCode: this.config.appRefCode, |
| | | }) |
| | | .then((res) => { |
| | | if (res == "éªè¯ç åéæå") { |
| | | this.getSecond(60); |
| | | this.$message({ |
| | | message: res, |
| | | type: "success", |
| | | }); |
| | | } else { |
| | | this.$message({ |
| | | message: res, |
| | | type: "error", |
| | | }); |
| | | this.getImgCapcha(); |
| | | } |
| | | }); |
| | | } |
| | | }, |
| | | //éªè¯ç åè®¡æ¶ |
| | | getSecond(time) { |
| | | if (!this.timer) { |
| | | this.countDown = time; |
| | | this.timer = setInterval(() => { |
| | | this.countDown--; |
| | | if (this.countDown == 0) { |
| | | clearInterval(this.timer); |
| | | this.timer = null; |
| | | } |
| | | }, 1000); |
| | | } |
| | | }, |
| | | loginFun() { |
| | | if (!this.loginForm.mobilePhone) { |
| | | this.$message({ |
| | | message: "请è¾å
¥ææºå·ï¼", |
| | | type: "error", |
| | | }); |
| | | return false; |
| | | } |
| | | if (!this.loginForm.verificationCode) { |
| | | this.$message({ |
| | | message: "请è¾å
¥çä¿¡éªè¯ç ï¼", |
| | | type: "error", |
| | | }); |
| | | return false; |
| | | } |
| | | if (!this.loginForm.password) { |
| | | this.$message({ |
| | | message: "请è¾å
¥å¯ç ï¼", |
| | | type: "error", |
| | | }); |
| | | return false; |
| | | } |
| | | if (this.loginForm.password != this.loginForm.repetitionPassword) { |
| | | this.$message({ |
| | | message: "两次è¾å
¥å¯ç ä¸ä¸è´ï¼", |
| | | type: "error", |
| | | }); |
| | | return false; |
| | | } |
| | | |
| | | this.loading = true; |
| | | |
| | | this.MG.identity |
| | | .changePasswordByMobilePhone({ |
| | | phoneNumber: this.loginForm.mobilePhone, |
| | | phoneCaptcha: this.loginForm.verificationCode, |
| | | password: this.loginForm.password, |
| | | }) |
| | | .then((res) => { |
| | | this.loading = false; |
| | | this.$message({ |
| | | message: "å¯ç éç½®æåï¼", |
| | | type: "success", |
| | | }); |
| | | this.$router.push({ |
| | | path: "/login", |
| | | }); |
| | | }); |
| | | }, |
| | | }, |
| | | }; |
| | | </script> |
| | | <style lang="less" scoped> |
| | | @import "@/assets/css/theme.less"; |
| | | .loginPage { |
| | | width: 100%; |
| | | height: 100%; |
| | | background-image: url("@/assets/images/login/pageBg.png"); |
| | | background-repeat: no-repeat; |
| | | background-size: 100% 100%; |
| | | position: relative; |
| | | .loginContent { |
| | | width: 1200px; |
| | | height: 570px; |
| | | position: absolute; |
| | | top: 50%; |
| | | left: 50%; |
| | | margin-top: -285px; |
| | | margin-left: -600px; |
| | | padding: 36px 0; |
| | | box-shadow: 0px 0px 66px 0px rgb(170 170 170 / 35%); |
| | | background-image: url("@/assets/images/login/boxBg.png"); |
| | | background-repeat: no-repeat; |
| | | background-size: 100% 100%; |
| | | box-sizing: border-box; |
| | | text-align: right; |
| | | .loginFormBox { |
| | | display: inline-block; |
| | | width: 420px; |
| | | height: 496px; |
| | | padding: 30px 40px; |
| | | margin-right: 60px; |
| | | background: #fff; |
| | | box-sizing: border-box; |
| | | box-shadow: 0 0 5px 0 hsl(0deg 0% 67% / 35%); |
| | | .title { |
| | | font-size: 16px; |
| | | text-align: center; |
| | | color: #333333; |
| | | span { |
| | | display: inline-block; |
| | | width: 80px; |
| | | cursor: pointer; |
| | | &.active { |
| | | font-weight: bold; |
| | | color: @color; |
| | | } |
| | | } |
| | | .division { |
| | | width: 5px; |
| | | margin: 0 50px; |
| | | cursor: initial; |
| | | color: #d0d0d0; |
| | | } |
| | | } |
| | | .loginContentBox { |
| | | padding-top: 30px; |
| | | margin-top: 20px; |
| | | margin-bottom: 15px; |
| | | position: relative; |
| | | .errorTips { |
| | | position: absolute; |
| | | top: 8px; |
| | | left: 10px; |
| | | font-size: 12px; |
| | | color: #e50021; |
| | | .findPassword { |
| | | cursor: pointer; |
| | | color: #2b68cd; |
| | | font-size: 12px; |
| | | } |
| | | } |
| | | .codeLoginItemBox { |
| | | margin-bottom: 15px; |
| | | .imgCode { |
| | | width: 140px; |
| | | height: 40px; |
| | | img { |
| | | width: 100%; |
| | | height: 100%; |
| | | background: #efefef; |
| | | } |
| | | } |
| | | } |
| | | .loginItemBox { |
| | | display: flex; |
| | | justify-content: space-between; |
| | | align-items: center; |
| | | border-radius: 4px; |
| | | margin-bottom: 15px; |
| | | box-sizing: border-box; |
| | | border: 1px solid #dcdfe6; |
| | | span { |
| | | display: inline-block; |
| | | width: 100px; |
| | | text-align: center; |
| | | } |
| | | } |
| | | .changFormBtn { |
| | | margin-bottom: 15px; |
| | | overflow: hidden; |
| | | span { |
| | | cursor: pointer; |
| | | } |
| | | } |
| | | .loginBtnBox { |
| | | margin-bottom: 15px; |
| | | .loginBtn { |
| | | width: 100%; |
| | | } |
| | | } |
| | | .registerBox { |
| | | margin-top: 20px; |
| | | font-size: 14px; |
| | | text-align: center; |
| | | color: #666666; |
| | | span { |
| | | cursor: pointer; |
| | | } |
| | | .division { |
| | | margin: 0 20px; |
| | | cursor: initial; |
| | | color: #d0d0d0; |
| | | } |
| | | } |
| | | } |
| | | .wechatBox { |
| | | .wxCodeBox { |
| | | margin-top: 10px; |
| | | height: 300px; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | .mr10 { |
| | | margin-right: 10px; |
| | | } |
| | | </style> |
| | | <style> |
| | | .loginItemIpt .el-input__inner { |
| | | height: 38px; |
| | | line-height: 38px; |
| | | border: 0; |
| | | } |
| | | </style> |
New file |
| | |
| | | <template> |
| | | <div class="loginPage"> |
| | | <div class="loginContent"> |
| | | <div class="loginFormBox"> |
| | | <div class="title"> |
| | | <span |
| | | :class="{ active: !weChatLogin }" |
| | | @click=" |
| | | () => { |
| | | weChatLogin = false; |
| | | } |
| | | " |
| | | >ææºå·ç»å½</span |
| | | > |
| | | <span class="division">|</span> |
| | | <span :class="{ active: weChatLogin }" @click="weChatLoginFun" |
| | | >微信ç»å½</span |
| | | > |
| | | </div> |
| | | <!-- ç¨æ·åå¯ç ç»å½ --> |
| | | <div v-if="!weChatLogin"> |
| | | <div class="loginContentBox"> |
| | | <div class="errorTips" v-if="errorTipsTxt"> |
| | | {{ errorTipsTxt }} |
| | | <span |
| | | v-if="loginFormType == 'password'" |
| | | class="findPassword" |
| | | @click="toFindPassword()" |
| | | >æ¾åå¯ç </span |
| | | > |
| | | </div> |
| | | <div class="codeLoginItemBox flex" v-if="loginFormType == 'code'"> |
| | | <el-select |
| | | style="width: 100px" |
| | | class="mr10" |
| | | placeholder="è¯·éæ©" |
| | | v-model="loginForm.region" |
| | | > |
| | | <el-option |
| | | v-for="item in options" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | ></el-option> |
| | | </el-select> |
| | | <el-input |
| | | class="flex1" |
| | | placeholder="请è¾å
¥ææºå·" |
| | | v-model="loginForm.mobilePhone" |
| | | @keyup.enter.native="loginFun" |
| | | ></el-input> |
| | | </div> |
| | | <div class="codeLoginItemBox flex" v-if="loginFormType == 'code'"> |
| | | <el-input |
| | | placeholder="请è¾å
¥å¾å½¢éªè¯ç " |
| | | class="flex1 mr10" |
| | | v-model="loginForm.imgCode" |
| | | ></el-input> |
| | | <div class="imgCode"> |
| | | <img :src="imgCode" alt="" @click="getImgCapcha" /> |
| | | </div> |
| | | </div> |
| | | <div class="codeLoginItemBox flex" v-if="loginFormType == 'code'"> |
| | | <el-input |
| | | placeholder="请è¾å
¥éªè¯ç " |
| | | class="flex1 mr10" |
| | | v-model="loginForm.verificationCode" |
| | | @keyup.enter.native="loginFun" |
| | | ></el-input> |
| | | <el-button |
| | | style="width: 140px" |
| | | @click="getVerifyCode" |
| | | :disabled="countDown != 0" |
| | | >{{ |
| | | countDown == 0 |
| | | ? "è·åçä¿¡éªè¯ç " |
| | | : "éªè¯ç (" + countDown + "s)" |
| | | }}</el-button |
| | | > |
| | | </div> |
| | | <div class="loginItemBox" v-if="loginFormType == 'password'"> |
| | | <span>ææºå·</span> |
| | | <el-input |
| | | class="loginItemIpt" |
| | | v-model="loginForm.mobilePhone" |
| | | placeholder="请è¾å
¥ææºå·" |
| | | clearable |
| | | @keyup.enter.native="loginFun" |
| | | ></el-input> |
| | | </div> |
| | | <div class="loginItemBox" v-if="loginFormType == 'password'"> |
| | | <span>å¯ç </span> |
| | | <el-input |
| | | class="loginItemIpt" |
| | | v-model="loginForm.password" |
| | | type="password" |
| | | show-password |
| | | placeholder="请è¾å
¥å¯ç " |
| | | @keyup.enter.native="loginFun" |
| | | ></el-input> |
| | | </div> |
| | | <div class="changFormBtn"> |
| | | <span |
| | | v-if="loginFormType == 'password'" |
| | | @click="() => (loginFormType = 'code')" |
| | | >çä¿¡éªè¯ç ç»å½</span |
| | | > |
| | | <span |
| | | v-if="loginFormType == 'code'" |
| | | @click="() => (loginFormType = 'password')" |
| | | >ææºå·å¯ç ç»å½</span |
| | | > |
| | | </div> |
| | | <div class="loginBtnBox"> |
| | | <el-button |
| | | type="primary" |
| | | class="loginBtn" |
| | | @click="loginFun" |
| | | :loading="loginLoading" |
| | | >ç» å½</el-button |
| | | > |
| | | </div> |
| | | <div class="registerBox"> |
| | | <span |
| | | @click=" |
| | | () => { |
| | | $router.push({ |
| | | path: '/register' |
| | | }); |
| | | } |
| | | " |
| | | >ç«å³æ³¨å</span |
| | | > |
| | | <span class="division">|</span> |
| | | <span @click="toFindPassword">å¿è®°å¯ç </span> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <!-- 微信ç»å½ --> |
| | | <div class="wechatBox" v-if="weChatLogin"> |
| | | <wxlogin |
| | | :redirect_uri="wxLogin.redirectURL" |
| | | style="width: 300px; height: 400px; margin: 20px auto 0" |
| | | :appid="wxLogin.appid" |
| | | :scope="wxLogin.scope" |
| | | state="WeChatScanningCodeLogin" |
| | | > |
| | | </wxlogin> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | <script> |
| | | import wxlogin from "vue-wxlogin"; |
| | | export default { |
| | | name: "login", |
| | | data() { |
| | | return { |
| | | redirectPath: "", |
| | | weChatLogin: false, |
| | | loginLoading: false, |
| | | errorTipsTxt: "", |
| | | loginFormType: "code", |
| | | imgCode: "", |
| | | // ç»å½è¡¨å |
| | | loginForm: { |
| | | region: "ä¸å½+86", |
| | | mobilePhone: "", |
| | | password: "", |
| | | imgCode: "", |
| | | verificationCode: "" |
| | | }, |
| | | countDown: 0, |
| | | options: [ |
| | | { |
| | | value: "ä¸å½+86", |
| | | label: "ä¸å½+86" |
| | | } |
| | | ], |
| | | wxLogin: { |
| | | appid: "wxad15251431e1f3fd", |
| | | scope: "snsapi_login", |
| | | redirectURL: encodeURIComponent("https://www.caupress.com.cn/website/") |
| | | } |
| | | }; |
| | | }, |
| | | components: { |
| | | wxlogin |
| | | }, |
| | | created() { |
| | | if (this.$route.query.from == "weChatLogin") { |
| | | this.weChatLoginFun() |
| | | } |
| | | if (!this.tool.getCookie(this.config.tokenKey)) { |
| | | this.$store.dispatch("setToken"); |
| | | } |
| | | if (!this.tool.getCookie(this.config.userInfoKey)) { |
| | | this.$store.dispatch("setUserInfo"); |
| | | } |
| | | this.redirectPath = this.$route.query.redirectPath; |
| | | this.getImgCapcha(); |
| | | }, |
| | | methods: { |
| | | getImgCapcha() { |
| | | this.MG.identity.getImgCode().then((res) => { |
| | | this.imgCode = "data:image/png;base64," + res; |
| | | }); |
| | | }, |
| | | // è·åéªè¯ç |
| | | getVerifyCode() { |
| | | if (!this.config.reg_tel.test(this.loginForm.mobilePhone)) { |
| | | this.$message({ |
| | | message: "请è¾å
¥æ£ç¡®æ ¼å¼çææºå·ï¼", |
| | | type: "error" |
| | | }); |
| | | return false; |
| | | } else if ( |
| | | this.loginForm.imgCode == "" || |
| | | this.loginForm.imgCode.length != 4 |
| | | ) { |
| | | this.$message({ |
| | | message: "请è¾å
¥æ£ç¡®æ ¼å¼çå¾å½¢éªè¯ç ", |
| | | type: "error" |
| | | }); |
| | | return false; |
| | | } else { |
| | | this.MG.identity |
| | | .getPhoneCode({ |
| | | phoneNumber: this.loginForm.mobilePhone, |
| | | imageCaptcha: this.loginForm.imgCode, |
| | | appRefCode: this.config.appRefCode |
| | | }) |
| | | .then((res) => { |
| | | if (res == "éªè¯ç åéæå") { |
| | | this.getSecond(60); |
| | | this.$message({ |
| | | message: res, |
| | | type: "success" |
| | | }); |
| | | } else { |
| | | this.$message({ |
| | | message: res, |
| | | type: "error" |
| | | }); |
| | | this.getImgCapcha(); |
| | | } |
| | | }); |
| | | } |
| | | }, |
| | | //éªè¯ç åè®¡æ¶ |
| | | getSecond(time) { |
| | | if (!this.timer) { |
| | | this.countDown = time; |
| | | this.timer = setInterval(() => { |
| | | this.countDown--; |
| | | if (this.countDown == 0) { |
| | | clearInterval(this.timer); |
| | | this.timer = null; |
| | | } |
| | | }, 1000); |
| | | } |
| | | }, |
| | | weChatLoginFun() { |
| | | window.location.href = `https://open.weixin.qq.com/connect/qrconnect?appid=${this.wxLogin.appid}&scope=${this.wxLogin.scope}&redirect_uri=${this.wxLogin.redirectURL}&state=WeChatScanningCodeLogin`; |
| | | }, |
| | | loginFun() { |
| | | if (!this.loginForm.mobilePhone) { |
| | | this.$message({ |
| | | message: "请è¾å
¥ææºå·ï¼", |
| | | type: "error" |
| | | }); |
| | | return false; |
| | | } |
| | | // æµè¯ä½¿ç¨ç¨æ·ååå¯ç |
| | | // if (!this.config.reg_tel.test(this.loginForm.mobilePhone)) { |
| | | // this.$message({ |
| | | // message: "请è¾å
¥æ£ç¡®æ ¼å¼çææºå·ï¼", |
| | | // type: "error" |
| | | // }); |
| | | // return false; |
| | | // } |
| | | if (this.loginFormType == "code" && !this.loginForm.verificationCode) { |
| | | this.$message({ |
| | | message: "请è¾å
¥çä¿¡éªè¯ç ï¼", |
| | | type: "error" |
| | | }); |
| | | return false; |
| | | } |
| | | if (this.loginFormType == "password" && !this.loginForm.password) { |
| | | this.$message({ |
| | | message: "请è¾å
¥å¯ç ï¼", |
| | | type: "error" |
| | | }); |
| | | return false; |
| | | } |
| | | this.loginLoading = true; |
| | | if (this.loginFormType == "code") { |
| | | this.MG.identity |
| | | .loginByMobilePhone({ |
| | | phoneNumber: this.loginForm.mobilePhone, |
| | | phoneCaptcha: this.loginForm.verificationCode, |
| | | appRefCode: this.config.appRefCode, |
| | | platform: "PCWeb" |
| | | }) |
| | | .then((res) => { |
| | | this.loginLoading = false; |
| | | if (res && res.status == "Ok") { |
| | | this.$message({ |
| | | message: "ç»å½æåï¼", |
| | | type: "success" |
| | | }); |
| | | this.$store.dispatch("setToken", res.token); |
| | | this.getUserInfo(); |
| | | } else { |
| | | this.errorTipsTxt = res.message || "ææºå·æéªè¯ç é误ï¼"; |
| | | } |
| | | }); |
| | | } else { |
| | | this.MG.identity |
| | | .loginByPassword({ |
| | | loginName: this.loginForm.mobilePhone, |
| | | password: this.loginForm.password, |
| | | appRefCode: this.config.appRefCode, |
| | | platform: "PCWeb" |
| | | }) |
| | | .then((res) => { |
| | | this.loginLoading = false; |
| | | if (res && res.status == "Ok") { |
| | | this.$message({ |
| | | message: "ç»å½æåï¼", |
| | | type: "success" |
| | | }); |
| | | this.$store.dispatch("setToken", res.token); |
| | | this.getUserInfo(); |
| | | } else { |
| | | this.errorTipsTxt = res.message || "ææºå·æå¯ç é误ï¼"; |
| | | } |
| | | }); |
| | | } |
| | | }, |
| | | getUserInfo(callback) { |
| | | this.MG.identity.getCurrentAppUser().then((res) => { |
| | | // ç¨æ·ä¿¡æ¯ä¼å
çº§ï¼æå¸è®¤è¯ > 微信 > å¦çï¼æ³¨åæ¶é»è®¤ï¼ |
| | | if (res) { |
| | | let teacherRole = res.roleLinks.find( |
| | | (item) => item.role.refCode == "teacher" |
| | | ); |
| | | let teacherInfo = res.infoList.find( |
| | | (item) => item.type == "teacherInfo" |
| | | ); |
| | | let wechatInfo = res.infoList.find((item) => item.type == "WeChat"); |
| | | let studentInfo = res.infoList.find((item) => item.type == "Default"); |
| | | let phoneInfo = res.secretList.find( |
| | | (item) => item.type == "MobilePhone" |
| | | ); |
| | | if (teacherRole && teacherInfo) { |
| | | let data = {}; |
| | | try { |
| | | data = JSON.parse(teacherInfo.data); |
| | | } catch (error) { |
| | | data = {}; |
| | | } |
| | | this.$store.dispatch("setUserInfo", { |
| | | ...data, |
| | | name: data.fullName, |
| | | phoneNumber: phoneInfo?.credential, |
| | | role: "Teacher", |
| | | roleId: teacherRole.role.id |
| | | }); |
| | | } else if (wechatInfo) { |
| | | this.$store.dispatch("setUserInfo", { |
| | | ...wechatInfo, |
| | | phoneNumber: phoneInfo?.credential, |
| | | role: "Student" |
| | | }); |
| | | } else if (studentInfo) { |
| | | this.$store.dispatch("setUserInfo", { |
| | | ...studentInfo, |
| | | phoneNumber: phoneInfo?.credential, |
| | | role: "Student" |
| | | }); |
| | | } |
| | | } |
| | | // æ¸
空æ¬å°å¨åçç³è¯·æ ·ä¹¦æ¸
å |
| | | this.$store.commit("emptyBookList"); |
| | | if (callback) { |
| | | callback(); |
| | | } else { |
| | | this.$router.push({ |
| | | path: this.redirectPath ? this.redirectPath : "/home" |
| | | }); |
| | | } |
| | | }); |
| | | }, |
| | | //æ¾åå¯ç |
| | | toFindPassword() { |
| | | this.$router.push({ |
| | | path: "/findPassword" |
| | | }); |
| | | } |
| | | } |
| | | }; |
| | | </script> |
| | | <style lang="less" scoped> |
| | | @import "@/assets/css/theme.less"; |
| | | .loginPage { |
| | | width: 100%; |
| | | height: 100%; |
| | | background-image: url("@/assets/images/login/pageBg.png"); |
| | | background-repeat: no-repeat; |
| | | background-size: 100% 100%; |
| | | position: relative; |
| | | padding: 50px 0; |
| | | .loginContent { |
| | | width: 1200px; |
| | | height: 570px; |
| | | margin: 0 auto; |
| | | padding: 36px 0; |
| | | box-shadow: 0px 0px 66px 0px rgb(170 170 170 / 35%); |
| | | background-image: url("@/assets/images/login/boxBg.png"); |
| | | background-repeat: no-repeat; |
| | | background-size: 100% 100%; |
| | | box-sizing: border-box; |
| | | text-align: right; |
| | | .loginFormBox { |
| | | display: inline-block; |
| | | width: 420px; |
| | | height: 496px; |
| | | padding: 30px 40px; |
| | | margin-right: 60px; |
| | | background: #fff; |
| | | box-sizing: border-box; |
| | | box-shadow: 0 0 5px 0 hsl(0deg 0% 67% / 35%); |
| | | .title { |
| | | font-size: 16px; |
| | | text-align: center; |
| | | color: #333333; |
| | | span { |
| | | display: inline-block; |
| | | width: 80px; |
| | | cursor: pointer; |
| | | &.active { |
| | | font-weight: bold; |
| | | color: @color; |
| | | } |
| | | } |
| | | .division { |
| | | width: 5px; |
| | | margin: 0 50px; |
| | | cursor: initial; |
| | | color: #d0d0d0; |
| | | } |
| | | } |
| | | .loginContentBox { |
| | | padding-top: 60px; |
| | | margin-top: 20px; |
| | | margin-bottom: 15px; |
| | | position: relative; |
| | | .errorTips { |
| | | position: absolute; |
| | | top: 8px; |
| | | left: 10px; |
| | | font-size: 12px; |
| | | color: #e50021; |
| | | .findPassword { |
| | | cursor: pointer; |
| | | color: #2b68cd; |
| | | font-size: 12px; |
| | | } |
| | | } |
| | | .codeLoginItemBox { |
| | | margin-bottom: 15px; |
| | | .imgCode { |
| | | width: 140px; |
| | | height: 40px; |
| | | img { |
| | | width: 100%; |
| | | height: 100%; |
| | | background: #efefef; |
| | | } |
| | | } |
| | | } |
| | | .loginItemBox { |
| | | display: flex; |
| | | justify-content: space-between; |
| | | align-items: center; |
| | | border-radius: 4px; |
| | | margin-bottom: 15px; |
| | | box-sizing: border-box; |
| | | border: 1px solid #dcdfe6; |
| | | span { |
| | | display: inline-block; |
| | | width: 100px; |
| | | text-align: center; |
| | | } |
| | | } |
| | | .changFormBtn { |
| | | margin-bottom: 15px; |
| | | overflow: hidden; |
| | | span { |
| | | cursor: pointer; |
| | | } |
| | | } |
| | | .loginBtnBox { |
| | | margin-bottom: 15px; |
| | | .loginBtn { |
| | | width: 100%; |
| | | } |
| | | } |
| | | .registerBox { |
| | | margin-top: 20px; |
| | | font-size: 14px; |
| | | text-align: center; |
| | | color: #666666; |
| | | span { |
| | | cursor: pointer; |
| | | } |
| | | .division { |
| | | margin: 0 20px; |
| | | cursor: initial; |
| | | color: #d0d0d0; |
| | | } |
| | | } |
| | | } |
| | | .wechatBox { |
| | | .wxCodeBox { |
| | | margin-top: 10px; |
| | | height: 300px; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | .mr10 { |
| | | margin-right: 10px; |
| | | } |
| | | </style> |
| | | <style> |
| | | .loginItemIpt .el-input__inner { |
| | | height: 38px; |
| | | line-height: 38px; |
| | | border: 0; |
| | | } |
| | | </style> |
New file |
| | |
| | | <template> |
| | | <div class="registerPage"> |
| | | <div class="registerContent"> |
| | | <div class="registerBox"> |
| | | <div class="registerForm"> |
| | | <h1>注åéè¡è¯</h1> |
| | | <div class="formItem flex"> |
| | | <el-select placeholder="è¯·éæ©" v-model="registerForm.region"> |
| | | <el-option |
| | | v-for="item in options" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | ></el-option> |
| | | </el-select> |
| | | <el-input |
| | | placeholder="请è¾å
¥ææºå·" |
| | | class="ml10" |
| | | clearable |
| | | v-model="registerForm.phoneNumber" |
| | | ></el-input> |
| | | </div> |
| | | <div class="formItem flex"> |
| | | <el-input |
| | | placeholder="请è¾å
¥å¾å½¢éªè¯ç " |
| | | class="flex1" |
| | | v-model="registerForm.imgCode" |
| | | ></el-input> |
| | | <div class="imgCode ml10"> |
| | | <img :src="imgCode" alt="" @click="getImgCapcha" /> |
| | | </div> |
| | | </div> |
| | | <div class="formItem flex"> |
| | | <el-input |
| | | placeholder="请è¾å
¥çä¿¡éªè¯ç " |
| | | class="flex1" |
| | | v-model="registerForm.verificationCode" |
| | | ></el-input> |
| | | <el-button |
| | | class="ml10" |
| | | style="width: 140px" |
| | | @click="getVerifyCode" |
| | | :disabled="countDown != 0" |
| | | >{{ |
| | | countDown == 0 ? "è·åçä¿¡éªè¯ç " : "éªè¯ç (" + countDown + "s)" |
| | | }}</el-button |
| | | > |
| | | </div> |
| | | <!-- ææºå·æ³¨åä¸éè¦å¡«åç¨æ·åï¼å
注é --> |
| | | <!-- <div class="formItem flex"> |
| | | <span>ç¨æ·å</span> |
| | | <el-input |
| | | v-model="registerForm.username" |
| | | placeholder="ç¨æ·åé¿åº¦3-64个å符ï¼ç±åæ¯ãæ°åç»æ" |
| | | clearable |
| | | ></el-input> |
| | | </div> |
| | | <div class="formItem"> |
| | | <p class="tips">ç¨æ·åç§°ä¸æ¦æ³¨åæåä¸å¯ä¿®æ¹</p> |
| | | </div> --> |
| | | <div class="formItem"> |
| | | <el-input |
| | | v-model="registerForm.password" |
| | | type="password" |
| | | show-password |
| | | placeholder="请è¾å
¥å¯ç " |
| | | ></el-input> |
| | | </div> |
| | | <div class="formItem"> |
| | | <el-input |
| | | v-model="registerForm.passwordAgain" |
| | | type="password" |
| | | show-password |
| | | placeholder="确认å¯ç " |
| | | ></el-input> |
| | | </div> |
| | | <div class="formItem"> |
| | | <p class="tips">请å°å¯ç 设置为8-16ä½ï¼ä¸ä¸æ¯æçº¯æ°å</p> |
| | | </div> |
| | | <div class="formItem"> |
| | | <el-button |
| | | class="registerBtn" |
| | | :class="{ isActive: registerForm.accept }" |
| | | :disabled="!registerForm.accept" |
| | | :loading="registerBtnLoading" |
| | | @click="registerFun" |
| | | >注å</el-button |
| | | > |
| | | </div> |
| | | <div class="termsBox"> |
| | | <el-checkbox class="termsCheckBox" v-model="registerForm.accept"> |
| | | </el-checkbox> |
| | | <span>ææ¥åå¹¶åæ</span> |
| | | <span class="terms" @click="getClauseData(1)">ãç¨æ·æå¡æ¡æ¬¾ã</span> |
| | | <span>å</span> |
| | | <span class="terms" @click="getClauseData(0)">ãéç§æ¿çã</span> |
| | | </div> |
| | | </div> |
| | | <div class="tipBox"> |
| | | <p> |
| | | å·²æè´¦å·ï¼è¯·ç¹å»è¿é |
| | | <span class="toLogin" @click="toLogin()">ç´æ¥ç»å½</span> |
| | | </p> |
| | | <p>使ç¨ç¬¬ä¸æ¹è´¦å·ç»å½</p> |
| | | <p> |
| | | <img |
| | | @click="toWxLogin()" |
| | | src="@/assets/images/login/weChartIcon.png" |
| | | alt |
| | | /> |
| | | </p> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <!-- å¼¹æ¡ --> |
| | | <el-dialog |
| | | title="ãç¨æ·æå¡æ¡æ¬¾ã" |
| | | :visible.sync="dialogVisibleUserService" |
| | | :close-on-click-modal="false" |
| | | width="40%" |
| | | > |
| | | <div class="protocolBox" v-html="userProtocolTxt"></div> |
| | | |
| | | <span slot="footer" class="dialog-footer"> |
| | | <!-- <el-button @click="dialogVisible = false">å æ¶</el-button> --> |
| | | <el-button |
| | | type="primary" |
| | | class="btn" |
| | | @click="dialogVisibleUserService = false" |
| | | >ç¡® å®</el-button |
| | | > |
| | | </span> |
| | | </el-dialog> |
| | | <el-dialog |
| | | title="ãéç§æ¿çæ¡æ¬¾ã" |
| | | :visible.sync="dialogVisibleprivacyPolicy" |
| | | :close-on-click-modal="false" |
| | | width="40%" |
| | | > |
| | | <div class="protocolBox" v-html="privacyPolicyTxt"></div> |
| | | |
| | | <span slot="footer" class="dialog-footer"> |
| | | <!-- <el-button @click="dialogVisible = false">å æ¶</el-button> --> |
| | | <el-button |
| | | type="primary" |
| | | class="btn" |
| | | @click="dialogVisibleUserService = false" |
| | | >ç¡® å®</el-button |
| | | > |
| | | </span> |
| | | </el-dialog> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | export default { |
| | | name: "register", |
| | | data() { |
| | | return { |
| | | dialogVisibleprivacyPolicy:false, |
| | | //ç¨æ·åè®®dialog |
| | | dialogVisibleUserService: false, |
| | | //ç¨æ·åè®® |
| | | userProtocolTxt:"", |
| | | //å议弹æ¡title |
| | | dialogTitle:"", |
| | | //éç§æ¿çæ¡æ¬¾ |
| | | privacyPolicyTxt:"", |
| | | //å½åæ¡æ¬¾å¯ææ¬ |
| | | currentProtocolTxt:"", |
| | | clauseDialog: { |
| | | title: "", |
| | | open: false, |
| | | }, |
| | | clauseData: "", |
| | | registerBtnLoading: false, |
| | | options: [ |
| | | { |
| | | value: "ä¸å½+86", |
| | | label: "ä¸å½+86", |
| | | }, |
| | | ], |
| | | registerForm: { |
| | | region: "ä¸å½+86", |
| | | phoneNumber: "", |
| | | imgCode: "", |
| | | username: "", |
| | | verificationCode: "", |
| | | password: "", |
| | | passwordAgain: "", |
| | | accept: true, |
| | | }, |
| | | countDown: 0, |
| | | imgCode: "", |
| | | }; |
| | | }, |
| | | mounted() { |
| | | this.showTips(); |
| | | this.getImgCapcha(); |
| | | this.getProtocol(); |
| | | }, |
| | | methods: { |
| | | showTips() { |
| | | this.$confirm( |
| | | "妿æ¨å·²ä½¿ç¨è¿ä¸å½åä¸å¤§å¦åºç社å
¬ä¼å·æ ·ä¹¦ç³è¯·æå¡ï¼è¯·ä½¿ç¨å¾®ä¿¡æ«ç ç»å½ï¼", |
| | | "温馨æç¤º", |
| | | { |
| | | confirmButtonText: "å»å¾®ä¿¡æ«ç ç»å½", |
| | | cancelButtonText: "ç»§ç»æ³¨åå
¨æ°è´¦å·", |
| | | type: "warning", |
| | | } |
| | | ) |
| | | .then(() => { |
| | | this.toWxLogin(); |
| | | }) |
| | | .catch(() => {}); |
| | | }, |
| | | getImgCapcha() { |
| | | this.MG.identity.getImgCode().then((res) => { |
| | | this.imgCode = "data:image/png;base64," + res; |
| | | }); |
| | | }, |
| | | // è·åéªè¯ç (注å) |
| | | getVerifyCode() { |
| | | if (!this.config.reg_tel.test(this.registerForm.phoneNumber)) { |
| | | this.$message({ |
| | | message: "请è¾å
¥æ£ç¡®æ ¼å¼çææºå·ï¼", |
| | | type: "error", |
| | | }); |
| | | return false; |
| | | } else if ( |
| | | this.registerForm.imgCode == "" || |
| | | this.registerForm.imgCode.length != 4 |
| | | ) { |
| | | this.$message({ |
| | | message: "请è¾å
¥æ£ç¡®æ ¼å¼çå¾å½¢éªè¯ç ", |
| | | type: "error", |
| | | }); |
| | | return false; |
| | | } else { |
| | | this.MG.identity |
| | | .getPhoneCode({ |
| | | phoneNumber: this.registerForm.phoneNumber, |
| | | imageCaptcha: this.registerForm.imgCode, |
| | | appRefCode: this.config.appRefCode, |
| | | }) |
| | | .then((res) => { |
| | | if (res == "éªè¯ç åéæå") { |
| | | this.$message({ |
| | | message: res, |
| | | type: "success", |
| | | }); |
| | | this.getSecond(60); |
| | | } else { |
| | | this.$message({ |
| | | message: res, |
| | | type: "error", |
| | | }); |
| | | this.getImgCapcha(); |
| | | } |
| | | }); |
| | | } |
| | | }, |
| | | //éªè¯ç åè®¡æ¶ |
| | | getSecond(time) { |
| | | if (!this.timer) { |
| | | this.countDown = time; |
| | | this.timer = setInterval(() => { |
| | | this.countDown--; |
| | | if (this.countDown == 0) { |
| | | clearInterval(this.timer); |
| | | this.timer = null; |
| | | } |
| | | }, 1000); |
| | | } |
| | | }, |
| | | // ç»å®ææºå·å¼¹æ¡-ç»å®æé®-彿° |
| | | registerFun() { |
| | | if (this.registerForm.phoneNumber == "") { |
| | | this.$message({ |
| | | message: "ææºå·ä¸è½ä¸ºç©º", |
| | | type: "error", |
| | | }); |
| | | return false; |
| | | } |
| | | if (this.registerForm.verificationCode == "") { |
| | | this.$message({ |
| | | message: "çä¿¡éªè¯ç ä¸è½ä¸ºç©º", |
| | | type: "error", |
| | | }); |
| | | return false; |
| | | } |
| | | if (this.registerForm.password == "") { |
| | | this.$message({ |
| | | message: "å¯ç ä¸è½ä¸ºç©º", |
| | | type: "error", |
| | | }); |
| | | return false; |
| | | } |
| | | if (this.registerForm.password != this.registerForm.passwordAgain) { |
| | | this.$message({ |
| | | message: "两次è¾å
¥å¯ç ä¸ä¸è´", |
| | | type: "error", |
| | | }); |
| | | return false; |
| | | } |
| | | let pwdreg = |
| | | // eslint-disable-next-line |
| | | /^(?![A-Za-z]+$)(?![0-9]+$)(?![_!@#$%^&*`~()\-+=<>?:,./;'\|\\\{\}\[\]]+$)[a-zA-Z0-9_!@#$%^&*`~()\-+=<>?:,./;'\|\\\{\}\[\]]{8,32}$/; |
| | | if (!this.config.reg_tel.test(this.registerForm.phoneNumber)) { |
| | | this.$message({ |
| | | message: "请è¾å
¥æ£ç¡®æ ¼å¼çææºå·ï¼", |
| | | type: "error", |
| | | }); |
| | | } else if (!pwdreg.test(this.registerForm.password)) { |
| | | this.$message({ |
| | | message: |
| | | "å¯ç é¿åº¦8-32个å符ï¼å¿
é¡»ç±åæ¯ãæ°åã符å·ï¼-*/+_.~!@#$%^&*忬å·ï¼ä¸¤ç§å以ä¸ç»åï¼", |
| | | type: "error", |
| | | }); |
| | | return false; |
| | | } else { |
| | | this.registerBtnLoading = true; |
| | | this.MG.identity |
| | | .registerAppUserWithPhone({ |
| | | appRefCode: this.config.appRefCode, |
| | | phoneNumber: this.registerForm.phoneNumber, |
| | | phoneCaptcha: this.registerForm.verificationCode, |
| | | passWord: this.registerForm.password, |
| | | }) |
| | | .then((res) => { |
| | | this.registerBtnLoading = false; |
| | | if (res) { |
| | | this.$confirm("注åæåï¼", { |
| | | confirmButtonText: "å»ç»å½", |
| | | cancelButtonText: "åæ¶", |
| | | type: "success", |
| | | }) |
| | | .then(() => { |
| | | this.$router.push({ |
| | | path: "/login", |
| | | }); |
| | | }) |
| | | .catch(() => {}); |
| | | } |
| | | }) |
| | | .catch((e) => { |
| | | this.$message({ |
| | | message: e.response.data.msg, |
| | | type: "error", |
| | | }); |
| | | this.registerBtnLoading = false; |
| | | }); |
| | | } |
| | | }, |
| | | //è·åç¨æ·åè®® |
| | | getProtocol() { |
| | | var that = this; |
| | | that.MG.resource |
| | | .getItem({ |
| | | path: "caupress_protocol", |
| | | fields: { |
| | | caupress_content: [], |
| | | }, |
| | | }) |
| | | .then((res) => { |
| | | console.log(res); |
| | | try { |
| | | const data = res.datas.find( |
| | | (e) => e.refCode == "caupress_userRegistrationAgreement" |
| | | ); |
| | | this.userProtocolTxt = data ? data.caupress_content : "ææ åè®®"; |
| | | const privacy = res.datas.find( |
| | | (e) => e.refCode == "caupress_privacyPolicy" |
| | | ); |
| | | this.privacyPolicyTxt = privacy ? privacy.caupress_content : "ææ åè®®"; |
| | | |
| | | } catch (error) { |
| | | this.protocolTxt = "ææ åè®®"; |
| | | } |
| | | }); |
| | | }, |
| | | getClauseData(type) { |
| | | console.log(type); |
| | | if(type == 1){ |
| | | this.dialogVisibleUserService = true |
| | | |
| | | }else{ |
| | | this.dialogVisibleprivacyPolicy = true |
| | | |
| | | } |
| | | |
| | | }, |
| | | toLogin() { |
| | | this.$router.push({ |
| | | path: "/login", |
| | | }); |
| | | }, |
| | | toWxLogin() { |
| | | this.$router.push({ |
| | | path: "/login", |
| | | query: { |
| | | from: "weChatLogin", |
| | | }, |
| | | }); |
| | | }, |
| | | }, |
| | | }; |
| | | </script> |
| | | <style lang="less" scoped> |
| | | @import "@/assets/css/theme.less"; |
| | | .registerPage { |
| | | width: 100%; |
| | | height: 100%; |
| | | background-image: url("@/assets/images/login/pageBg.png"); |
| | | background-repeat: no-repeat; |
| | | background-size: 100% 100%; |
| | | position: relative; |
| | | padding: 50px 0; |
| | | .registerContent { |
| | | width: 1200px; |
| | | background: #fff; |
| | | margin: 0 auto; |
| | | padding-bottom: 36px; |
| | | box-shadow: 0 0 66px 0 hsl(0deg 0% 67% / 35%); |
| | | display: flex; |
| | | justify-content: center; |
| | | .registerBox { |
| | | display: flex; |
| | | align-items: center; |
| | | .registerForm { |
| | | width: 420px; |
| | | box-sizing: border-box; |
| | | padding: 20px; |
| | | margin: 20px; |
| | | margin-left: 100px; |
| | | h1 { |
| | | font-size: 18px; |
| | | color: @color; |
| | | text-align: center; |
| | | margin-bottom: 30px; |
| | | } |
| | | .formItem { |
| | | margin-bottom: 10px; |
| | | .imgCode { |
| | | width: 140px; |
| | | height: 40px; |
| | | img { |
| | | width: 100%; |
| | | height: 100%; |
| | | background: #efefef; |
| | | } |
| | | } |
| | | span { |
| | | display: inline-block; |
| | | width: 80px; |
| | | text-align: left; |
| | | line-height: 40px; |
| | | } |
| | | .tips { |
| | | font-size: 12px; |
| | | margin: 0 0 10px 0; |
| | | color: #666; |
| | | } |
| | | .registerBtn { |
| | | width: 100%; |
| | | background: #b1b6bd; |
| | | color: #fff; |
| | | cursor: not-allowed; |
| | | margin-top: 15px; |
| | | &.isActive { |
| | | background: @color; |
| | | cursor: pointer; |
| | | } |
| | | } |
| | | } |
| | | .termsBox { |
| | | line-height: 20px; |
| | | .termsCheckBox { |
| | | vertical-align: text-bottom; |
| | | margin-right: 8px; |
| | | } |
| | | span { |
| | | vertical-align: middle; |
| | | } |
| | | .terms { |
| | | color: @color; |
| | | cursor: pointer; |
| | | } |
| | | } |
| | | } |
| | | .tipBox { |
| | | padding-left: 30px; |
| | | border-left: 1px solid #ddd; |
| | | .toLogin { |
| | | color: @color; |
| | | cursor: pointer; |
| | | } |
| | | p { |
| | | margin-bottom: 15px; |
| | | } |
| | | img { |
| | | width: 30px; |
| | | height: 30px; |
| | | margin-left: 50px; |
| | | cursor: pointer; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | .ml10 { |
| | | margin-left: 10px; |
| | | } |
| | | |
| | | .clauseBox { |
| | | height: 500px; |
| | | } |
| | | .protocolBox { |
| | | text-align: left; |
| | | line-height: 23px; |
| | | z-index: 1; |
| | | height: 500px; |
| | | overflow-y: auto; |
| | | margin-top: -20px; |
| | | box-sizing: border-box; |
| | | padding: 10px; |
| | | } |
| | | .el-dialog__footer button { |
| | | margin-right: 43%; |
| | | margin-top: 10px; |
| | | } |
| | | </style> |
New file |
| | |
| | | <template> |
| | | <div class="content" v-loading="loading"> |
| | | <template v-if="isAdd == true"> |
| | | <el-form |
| | | :model="addressItem" |
| | | ref="form" |
| | | label-position="left" |
| | | :rules="rules" |
| | | label-width="130px" |
| | | > |
| | | <el-form-item label="æ¶è´§äººï¼" prop="name"> |
| | | <el-input |
| | | class="" |
| | | v-model="addressItem.name" |
| | | placeholder="è¯·å¡«åæ¶è´§äººçå§å" |
| | | ></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="ææºå·ï¼" prop="tel"> |
| | | <el-input |
| | | class="" |
| | | v-model="addressItem.tel" |
| | | placeholder="è¯·å¡«åææºå·" |
| | | ></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="æå¨å°åºï¼" prop="city"> |
| | | <div> |
| | | <el-cascader |
| | | size="large" |
| | | :options="options" |
| | | v-model="selectedOptions" |
| | | @change="handleChange" |
| | | > |
| | | </el-cascader> |
| | | </div> |
| | | </el-form-item> |
| | | <el-form-item label="详ç»å°åï¼" prop="address"> |
| | | <el-input |
| | | class="" |
| | | v-model="addressItem.address" |
| | | placeholder="请填å详ç»å°å" |
| | | ></el-input> |
| | | </el-form-item> |
| | | </el-form> |
| | | <div class="addAddress"> |
| | | <span class="">设为é»è®¤å°åï¼</span> |
| | | <el-switch |
| | | v-model="addressItem.ifdefalut" |
| | | :change=" |
| | | () => { |
| | | this.addressItem.ifdefalut = !this.addressItem.ifdefalut; |
| | | } |
| | | " |
| | | :active-value="true" |
| | | active-color="#00873C" |
| | | :inactive-value="false" |
| | | inactive-color="#666666" |
| | | > |
| | | </el-switch> |
| | | </div> |
| | | <div> |
| | | <div class="addAddressButton saveAddressBtn greenButton" @click="save"> |
| | | ä¿å |
| | | </div> |
| | | <div |
| | | class="addAddressButton saveAddressBtn delete" |
| | | v-show="edit" |
| | | @click="deleteAddress(addressItem.id)" |
| | | > |
| | | å é¤ |
| | | </div> |
| | | <div class="addAddressButton saveAddressBtn delete" @click="cancel"> |
| | | åæ¶ |
| | | </div> |
| | | </div> |
| | | </template> |
| | | <template v-else> |
| | | <div |
| | | class="addAddressButton greenButton" |
| | | @click=" |
| | | () => { |
| | | this.isAdd = true; |
| | | this.edit = false; |
| | | } |
| | | " |
| | | > |
| | | æ°å¢æ¶è´§å°å |
| | | </div> |
| | | <!-- åå è½½ç¶æ --> |
| | | <template v-if="addressList.length > 0"> |
| | | <div |
| | | class="addressItem" |
| | | v-for="(item, index) in addressList" |
| | | :key="index" |
| | | > |
| | | <div> |
| | | <div> |
| | | <span class="name">{{ item.name }}</span> |
| | | <span class="phoneNum">{{ item.tel }}</span> |
| | | <span class="default primaryTxt" v-if="item.ifdefalut">é»è®¤</span> |
| | | </div> |
| | | <p class="detailedAddress"> |
| | | {{ item.city }} |
| | | {{ item.address }} |
| | | </p> |
| | | </div> |
| | | <div @click="editor(index)"> |
| | | <i class="f18 el-icon-edit"></i> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | |
| | | <template v-else> |
| | | <el-empty description="ææ æ¶è´§å°åï¼è¯·æ·»å æ¶è´§å°å"></el-empty> |
| | | </template> |
| | | </template> |
| | | </div> |
| | | </template> |
| | | <script> |
| | | import { regionData, CodeToText, TextToCode } from "element-china-area-data"; |
| | | |
| | | export default { |
| | | data() { |
| | | return { |
| | | edit: false, // æ¯å¦ç¼è¾ç¶æ |
| | | isAdd: false, |
| | | addressItem: { |
| | | name: "", |
| | | tel: "", |
| | | city: "", |
| | | ifdefalut: false, |
| | | address: "" |
| | | }, |
| | | rules: { |
| | | name: [{ required: true, message: "请è¾å
¥è¯¦ç»å°å", trigger: "blur" }], |
| | | tel: [ |
| | | { required: true, message: "请è¾å
¥ææºå·", trigger: "blur" }, |
| | | { |
| | | pattern: |
| | | /^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8}$/, |
| | | message: "请è¾å
¥æ£ç¡®ææºå·", |
| | | trigger: "blur" |
| | | } |
| | | ], |
| | | city: [{ required: true, message: "è¯·éæ©å°åº", trigger: "change" }], |
| | | address: [ |
| | | { required: true, message: "请è¾å
¥è¯¦ç»å°å", trigger: "blur" } |
| | | ] |
| | | }, |
| | | addressList: [], |
| | | options: regionData, |
| | | selectedOptions: [], // å°åºéé¡¹å¼ |
| | | loading: false |
| | | }; |
| | | }, |
| | | created() { |
| | | this.getAddress(); |
| | | }, |
| | | methods: { |
| | | handleChange(city) { |
| | | let cityStr = |
| | | CodeToText[city[0]] + |
| | | "/" + |
| | | CodeToText[city[1]] + |
| | | "/" + |
| | | CodeToText[city[2]]; |
| | | let cityArr = cityStr.split("/"); |
| | | if (cityArr[1] == "å¸è¾åº") { |
| | | cityArr[1] = cityArr[0]; |
| | | } |
| | | this.addressItem.city = cityArr.join("/"); |
| | | }, |
| | | // åæ¶æ°å»ºå°å |
| | | cancel() { |
| | | this.isAdd = false; |
| | | this.edit = false; |
| | | // éç½®è¾å
¥æ¡ |
| | | Object.assign(this.addressItem, { |
| | | name: "", |
| | | tel: "", |
| | | city: "", |
| | | ifdefalut: false, |
| | | address: "" |
| | | }); |
| | | this.selectedOptions = []; |
| | | }, |
| | | // ä¿åæ°å»ºçå°å |
| | | save() { |
| | | // éªè¯å¿
填项 |
| | | this.$refs["form"].validate((valid) => { |
| | | if (valid) { |
| | | this.loading = true; |
| | | // ä¿åå°å / æ°å¢å°å |
| | | // å¦æè¯¥å°å为é»è®¤å¼ï¼å»é¤å
¶ä»ç¶æä¸ºé»è®¤å¼ |
| | | if (this.addressItem.ifdefalut == true) { |
| | | this.addressList.map((item) => { |
| | | item.ifdefalut = false; |
| | | }); |
| | | } |
| | | if (this.addressItem.id) { |
| | | // ä¿®æ¹å°å |
| | | let index = this.addressList.findIndex( |
| | | (item) => item.id == this.addressItem.id |
| | | ); |
| | | this.addressList[index] = { ...this.addressItem }; |
| | | } else { |
| | | // æ°å¢å°å |
| | | this.addressItem.id = this.tool.uuid(); |
| | | this.addressList.push(JSON.parse(JSON.stringify(this.addressItem))); |
| | | } |
| | | const userInfo = { |
| | | requests: [ |
| | | { |
| | | data: JSON.stringify(this.addressList), |
| | | name: "å°å管ç", |
| | | type: "Address" |
| | | } |
| | | ] |
| | | }; |
| | | this.MG.identity.setAppUserInfo(userInfo).then((res) => { |
| | | this.loading = false; |
| | | if (res) { |
| | | this.$message({ |
| | | showClose: true, |
| | | message: "æå", |
| | | type: "success" |
| | | }); |
| | | // æ¸
空è¾å
¥å¼ |
| | | for (const key in this.addressItem) { |
| | | this.addressItem[key] = ""; |
| | | } |
| | | this.selectedOptions = []; |
| | | |
| | | // åæ¢ç¶æ |
| | | this.isAdd = false; |
| | | // æ°å¢å°ååå°é»è®¤å°å设为å
³éç¶æ |
| | | this.addressItem.ifdefalut = false; |
| | | } else { |
| | | this.$message({ |
| | | showClose: true, |
| | | message: "失败ï¼è¯·ç¨åéè¯", |
| | | type: "error" |
| | | }); |
| | | } |
| | | }); |
| | | } |
| | | }); |
| | | }, |
| | | // è·åææå°å |
| | | getAddress() { |
| | | this.loading = true; |
| | | this.MG.identity.getCurrentAppUser().then((res) => { |
| | | this.loading = false; |
| | | let storeInfoList = res.infoList.find((i) => i.type == "Address"); |
| | | if (storeInfoList && storeInfoList.data) { |
| | | this.addressList = JSON.parse(storeInfoList.data); |
| | | if (this.addressList.length == 0) { |
| | | // ç¨æ·ä¸ºç¬¬ä¸æ¬¡æ·»å å°åï¼åå½åæéå°å为é»è®¤å°å |
| | | this.addressItem.ifdefalut = true; |
| | | } |
| | | } else { |
| | | // ç¨æ·ä¸ºç¬¬ä¸æ¬¡æ·»å å°åï¼åå½åæéå°å为é»è®¤å°å |
| | | this.addressItem.ifdefalut = true; |
| | | } |
| | | }); |
| | | }, |
| | | // ç¼è¾éä¸å°å |
| | | editor(index) { |
| | | this.isAdd = true; |
| | | this.edit = true; |
| | | this.addressItem = { ...this.addressList[index] }; |
| | | let city = this.addressItem.city.split("/"); |
| | | if (city[0] == city[1]) { |
| | | city[1] = "å¸è¾åº"; |
| | | } |
| | | this.selectedOptions.push(TextToCode[city[0]].code); |
| | | this.selectedOptions.push(TextToCode[city[0]][city[1]].code); |
| | | this.selectedOptions.push(TextToCode[city[0]][city[1]][city[2]].code); |
| | | }, |
| | | // å é¤å°å |
| | | deleteAddress(id) { |
| | | this.$confirm("æ¯å¦ç§»é¤è¯¥å°å", "æç¤º", { |
| | | type: "warning" |
| | | }) |
| | | .then(() => { |
| | | let basicInfo = this.addressList.filter((item) => item.id != id); |
| | | // å°å½å第ä¸ä¸ªå°å设置为é»è®¤å°å |
| | | if (basicInfo.length != 0) { |
| | | basicInfo[0].ifdefalut = true; |
| | | } |
| | | const userInfo = { |
| | | requests: [ |
| | | { |
| | | data: JSON.stringify(basicInfo), |
| | | name: "å°å管ç", |
| | | type: "Address" |
| | | } |
| | | ] |
| | | }; |
| | | this.MG.identity.setAppUserInfo(userInfo).then((res) => { |
| | | if (res) { |
| | | this.$message({ |
| | | type: "success", |
| | | message: "å°åç§»é¤æå" |
| | | }); |
| | | // æ¸
空è¾å
¥å¼ |
| | | for (const key in this.addressItem) { |
| | | this.addressItem[key] = ""; |
| | | } |
| | | this.selectedOptions = []; |
| | | this.addressItem.ifdefalut = false; |
| | | |
| | | this.isAdd = false; |
| | | // éæ°è·åæ°æ® |
| | | this.getAddress(); |
| | | } |
| | | }); |
| | | }) |
| | | .catch(() => {}); |
| | | } |
| | | } |
| | | }; |
| | | </script> |
| | | <style lang="less" scoped> |
| | | .content { |
| | | padding: 40px; |
| | | &:deep(.el-input) { |
| | | width: 603px; |
| | | } |
| | | .addressItem { |
| | | width: 100%; |
| | | display: flex; |
| | | justify-content: space-between; |
| | | padding-bottom: 40px; |
| | | margin-bottom: 40px; |
| | | align-items: center; |
| | | border-bottom: 1px solid #eeeeee; |
| | | .detailedAddress { |
| | | font-size: 16px; |
| | | font-weight: 400; |
| | | color: #333333; |
| | | line-height: 24px; |
| | | } |
| | | .name { |
| | | font-size: 18px; |
| | | font-weight: 700; |
| | | color: #333333; |
| | | margin-right: 20px; |
| | | } |
| | | .phoneNum { |
| | | font-size: 16px; |
| | | font-weight: 700; |
| | | color: #999999; |
| | | line-height: 36px; |
| | | margin-right: 20px; |
| | | } |
| | | .default { |
| | | padding: 1px 7px; |
| | | border: 2px solid #00873c; |
| | | border-radius: 4px; |
| | | } |
| | | .f18 { |
| | | cursor: pointer; |
| | | font-size: 18px; |
| | | } |
| | | } |
| | | .greenButton { |
| | | background: linear-gradient(0deg, #00873c 0%, #00aa4c 100%); |
| | | } |
| | | .addAddressButton { |
| | | cursor: pointer; |
| | | width: 120px; |
| | | height: 40px; |
| | | border-radius: 4px; |
| | | color: #fff; |
| | | font-size: 16px; |
| | | text-align: center; |
| | | line-height: 40px; |
| | | margin-bottom: 30px; |
| | | } |
| | | .saveAddressBtn { |
| | | float: right; |
| | | } |
| | | .addAddress { |
| | | width: 100%; |
| | | display: flex; |
| | | margin-bottom: 30px; |
| | | align-items: center; |
| | | span { |
| | | display: inline-block; |
| | | width: 140px; |
| | | font-size: 16px; |
| | | color: #666666; |
| | | line-height: 40px; |
| | | } |
| | | &:deep(.el-input) { |
| | | width: 576px; |
| | | } |
| | | } |
| | | .delete { |
| | | color: #00873c; |
| | | background-color: #fff; |
| | | border: 1px solid #00873c; |
| | | border-radius: 4px; |
| | | margin-right: 20px; |
| | | } |
| | | } |
| | | </style> |
New file |
| | |
| | | <template> |
| | | <div class="content"> |
| | | <div v-if="!submissionStatus" style="min-height: 600px" v-loading="loading"> |
| | | <template> |
| | | <el-button |
| | | type="primary" |
| | | class="btn" |
| | | @click="changeSubmissionStatus" |
| | | plain |
| | | >æç¨¿</el-button |
| | | > |
| | | </template> |
| | | <el-empty |
| | | description="ææ æ°æ®" |
| | | class="empty" |
| | | :image-size="200" |
| | | v-if="tableData.length == 0 && !loading" |
| | | ></el-empty> |
| | | <template v-if="tableData.length > 0 && !loading"> |
| | | <el-table |
| | | :header-cell-style="rowClass" |
| | | :data="tableData" |
| | | border |
| | | style="width: 100%" |
| | | > |
| | | <el-table-column |
| | | align="center" |
| | | prop="date" |
| | | type="index" |
| | | label="åºå·" |
| | | width="60" |
| | | > |
| | | <template slot-scope="scope"> |
| | | {{ |
| | | (paginationData.page - 1) * paginationData.limit + |
| | | scope.$index + |
| | | 1 |
| | | }} |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="ä½ååç§°"> |
| | | <span class="ellipsis" slot-scope="scope"> |
| | | {{ scope.row.contribute_workName || "-" }} |
| | | </span> |
| | | </el-table-column> |
| | | <el-table-column label="ä½åæè¿°"> |
| | | <span class="ellipsis" slot-scope="scope"> |
| | | {{ scope.row.contribute_workDescription || "-" }} |
| | | </span> |
| | | </el-table-column> |
| | | <el-table-column label="æ¥ç" width="60" align="center"> |
| | | <span |
| | | class="see" |
| | | slot-scope="scope" |
| | | @click="viewContributions(scope.row.content)" |
| | | > |
| | | æ¥ç |
| | | </span> |
| | | </el-table-column> |
| | | </el-table> |
| | | <!-- å页 --> |
| | | <div class="pageinateBox" v-if="tableData.length > 0"> |
| | | <el-pagination |
| | | @size-change=" |
| | | (val) => { |
| | | paginationData.limit = val; |
| | | getAuthorContribution(); |
| | | } |
| | | " |
| | | @current-change=" |
| | | (val) => { |
| | | paginationData.page = val; |
| | | getAuthorContribution(); |
| | | } |
| | | " |
| | | background="" |
| | | :current-page="paginationData.page - 0" |
| | | :page-size="paginationData.limit" |
| | | prev-text="ä¸ä¸é¡µ" |
| | | next-text="ä¸ä¸é¡µ" |
| | | layout="total, prev, pager, next, slot, jumper" |
| | | :total="paginationData.totalCount" |
| | | > |
| | | </el-pagination> |
| | | </div> |
| | | </template> |
| | | </div> |
| | | <div v-else> |
| | | <el-form |
| | | :model="ruleForm" |
| | | :rules="rules" |
| | | ref="form" |
| | | :disabled="disabled" |
| | | class="demo-ruleForm" |
| | | label-position="left" |
| | | label-suffix=":" |
| | | label-width="140px" |
| | | > |
| | | <el-form-item label="ä½ååç§°" prop="contribute_workName"> |
| | | <el-input |
| | | v-model="ruleForm.contribute_workName" |
| | | placeholder="请è¾å
¥ä½ååç§°" |
| | | ></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="çµåé®ç®±" prop="contribute_email"> |
| | | <el-input |
| | | v-model="ruleForm.contribute_email" |
| | | placeholder="请è¾å
¥æ¨çé®ç®±å°å" |
| | | ></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="èç³»æ¹å¼" prop="contribute_contact"> |
| | | <el-input |
| | | v-model="ruleForm.contribute_contact" |
| | | placeholder="请è¾å
¥ææºå·" |
| | | ></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="ç¸å
³è¯ä»¶" prop="contribute_workCertificates"> |
| | | <div class="lecturingSpecixalty"> |
| | | <el-upload |
| | | :file-list="ruleForm.contribute_workCertificates" |
| | | action="" |
| | | :limit="5" |
| | | :on-exceed=" |
| | | () => { |
| | | this.$message({ |
| | | message: 'æå¤ä¸ä¼ 5个æä»¶ï¼è¯·ç§»é¤å
¶ä»æä»¶ååä¸ä¼ ã', |
| | | type: 'warning', |
| | | }); |
| | | } |
| | | " |
| | | :http-request="beforeRead" |
| | | :multiple="false" |
| | | list-type="picture-card" |
| | | :before-remove="beforeDelimg" |
| | | :on-preview="handlePictureCardPreview" |
| | | :on-success="uploadSucceeded" |
| | | :on-error="uploadFailed" |
| | | :on-remove="handleRemove" |
| | | > |
| | | <i class="el-icon-plus"></i> |
| | | </el-upload> |
| | | </div> |
| | | </el-form-item> |
| | | <div class="notice"> |
| | | æ³¨ï¼æ¨èä¼å
ä¸ä¼ æ¨çæå¸è¯çµåçææ ¡å塿工ä½è¯æèº«ä»½è¯ |
| | | æ¯æä¸ä¼ jpgãpngæä»¶ |
| | | </div> |
| | | <el-form-item label="ä½åæè¿°" prop="contribute_workDescription"> |
| | | <el-input |
| | | class="" |
| | | type="textarea" |
| | | v-model="ruleForm.contribute_workDescription" |
| | | :autosize="{ minRows: 5, maxRows: 15 }" |
| | | placeholder="请对ä½åå大æ¦ç®ä»" |
| | | ></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="ä½å" prop="contribute_works"> |
| | | <el-upload |
| | | :http-request="uploadFile" |
| | | action="" |
| | | :on-remove="handleRemoveFile" |
| | | :on-error="uploadFailed" |
| | | :on-success="fileuploadSucceeded" |
| | | :before-remove="beforeRemove" |
| | | multiple |
| | | :limit="3" |
| | | :on-exceed=" |
| | | () => { |
| | | this.$message({ |
| | | message: 'æå¤ä¸ä¼ 5个æä»¶ï¼è¯·ç§»é¤å
¶ä»æä»¶ååä¸ä¼ ã', |
| | | type: 'warning', |
| | | }); |
| | | } |
| | | " |
| | | :file-list="ruleForm.contribute_works" |
| | | > |
| | | <el-button size="small" type="primary">ç¹å»ä¸ä¼ </el-button> |
| | | </el-upload> |
| | | </el-form-item> |
| | | <span class="notice">注ï¼ä½å大å°ä¸å¾è¶
è¿ 30Mb </span> |
| | | <div class="agreement" v-if="!disabled"> |
| | | <span |
| | | class="choose" |
| | | @click=" |
| | | () => { |
| | | this.agreement = !this.agreement; |
| | | } |
| | | " |
| | | > |
| | | <img |
| | | v-show="agreement" |
| | | src="@/assets/images/personalCenter/choose.png" |
| | | alt="" |
| | | /> |
| | | </span> |
| | | <span class="infoTxt"> |
| | | å·²é
读并åæ<span class="textpro" @click.stop="onPrivacy" |
| | | >ãéç§ææ¿çã</span |
| | | ><span class="textpro" @click.stop="onStatement">ãæ³å¾å£°æã</span> |
| | | </span> |
| | | </div> |
| | | </el-form> |
| | | <div> |
| | | <div |
| | | v-if="!disabled" |
| | | class="basic addAddressButton greenButton" |
| | | type="primary" |
| | | @click="authorContribution()" |
| | | > |
| | | æäº¤ |
| | | </div> |
| | | <div class="basic addAddressButton delete" @click="cancel">è¿å</div> |
| | | </div> |
| | | <el-dialog :visible.sync="dialogImageState"> |
| | | <img width="100%" :src="dialogImageUrl" alt="" /> |
| | | </el-dialog> |
| | | <el-dialog |
| | | :title="dialogName" |
| | | :visible.sync="centerDialogVisible" |
| | | width="40%" |
| | | center |
| | | > |
| | | <p class="protocolBox" v-html="dialoagContent"></p> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button type="primary" @click="onCancel">ç¡® å®</el-button> |
| | | </span> |
| | | </el-dialog> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | <script> |
| | | import { mapState } from "vuex"; |
| | | import { getPublicImage } from "@/assets/js/middleGround/tool"; |
| | | |
| | | export default { |
| | | data() { |
| | | return { |
| | | dialogName: "", |
| | | centerDialogVisible: false, |
| | | disabled: false, |
| | | ruleForm: { |
| | | contribute_workName: "", |
| | | contribute_email: "", |
| | | contribute_contact: "", |
| | | contribute_workCertificates: [], |
| | | contribute_workDescription: "", |
| | | contribute_works: [], |
| | | }, |
| | | rules: { |
| | | contribute_workName: [ |
| | | { required: true, message: "请填åä½ååç§°", trigger: "blur" }, |
| | | ], |
| | | contribute_email: [ |
| | | { required: true, message: "请填åé®ç®±", trigger: "blur" }, |
| | | { |
| | | pattern: /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/, |
| | | message: "é®ç®±æ ¼å¼æ ¡éªå¤±è´¥ï¼è¯·è¾å
¥é®ç®±", |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | contribute_contact: [ |
| | | { required: true, message: "请è¾å
¥ææºå·", trigger: "blur" }, |
| | | { |
| | | pattern: |
| | | /^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8}$/, |
| | | message: "请è¾å
¥æ£ç¡®ææºå·", |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | contribute_workCertificates: [ |
| | | { required: true, message: "请ä¸ä¼ æ¨çè¯ä»¶", trigger: "blur" }, |
| | | ], |
| | | contribute_workDescription: [ |
| | | { required: true, message: "è¯·å¡«åæ¨çä½åæè¿°", trigger: "blur" }, |
| | | ], |
| | | contribute_works: [ |
| | | { required: true, message: "请ä¸ä¼ æ¨çä½å", trigger: "change" }, |
| | | ], |
| | | }, |
| | | agreement: false, |
| | | lecturingSpecialty: "", |
| | | file: "", |
| | | pictrueList: [], |
| | | // æ¥çå·²éä¸çå¾ç |
| | | dialogImageUrl: "", |
| | | // æ¥çå·²éä¸çå¾ç æ¾ç¤ºç¶æ |
| | | dialogImageState: false, |
| | | certificatesImg: "", |
| | | loading: false, |
| | | paginationData: { |
| | | page: 1, |
| | | totalCount: 0, |
| | | limit: 10, |
| | | totalPage: 0, |
| | | }, |
| | | tableData: [], |
| | | worksInfo: [], |
| | | submissionStatus: false, // 忢æ¾ç¤º 表åå表 ã æäº¤è¡¨å |
| | | protocolPrivacyTxt: "", |
| | | protocolStatementTxt: "", |
| | | dialoagContent: "", |
| | | }; |
| | | }, |
| | | computed: { |
| | | ...mapState(["userInfo"]), |
| | | }, |
| | | created() { |
| | | this.getAuthorContribution(); |
| | | this.getTypeItem(); |
| | | this.getPrivacy(); |
| | | }, |
| | | methods: { |
| | | onCancel() { |
| | | this.dialoagContent = ""; |
| | | this.centerDialogVisible = false; |
| | | }, |
| | | onPrivacy() { |
| | | this.dialogName = "ãéç§ææ¿çã"; |
| | | this.dialoagContent = this.protocolPrivacyTxt |
| | | ? this.protocolPrivacyTxt |
| | | : "ææ åè®®"; |
| | | this.centerDialogVisible = true; |
| | | }, |
| | | onStatement() { |
| | | this.dialogName = "ãæ³å¾å£°æã"; |
| | | this.dialoagContent = this.protocolStatementTxt |
| | | ? this.protocolStatementTxt |
| | | : "ææ åè®®"; |
| | | this.centerDialogVisible = true; |
| | | }, |
| | | getPrivacy() { |
| | | var that = this; |
| | | that.MG.resource |
| | | .getItem({ |
| | | path: this.config.refCodes.Privacy, |
| | | fields: { |
| | | caupress_content: [], |
| | | }, |
| | | }) |
| | | .then((res) => { |
| | | try { |
| | | const authorPrivacyPolic = res.datas.find( |
| | | (e) => e.refCode == "caupress_authorPrivacyPolicy" |
| | | ); |
| | | const legalNotices = res.datas.find( |
| | | (e) => e.refCode == "caupress_legalNotices" |
| | | ); |
| | | this.protocolPrivacyTxt = authorPrivacyPolic |
| | | ? authorPrivacyPolic.caupress_content |
| | | : "ææ åè®®"; |
| | | this.protocolStatementTxt = legalNotices |
| | | ? legalNotices.caupress_content |
| | | : "ææ åè®®"; |
| | | } catch (error) { |
| | | this.protocolPrivacyTxt = "ææ åè®®"; |
| | | this.protocolStatementTxt = "ææ åè®®"; |
| | | } |
| | | }); |
| | | }, |
| | | getStatement() {}, |
| | | rowClass() { |
| | | //è¡¨æ ¼æ°æ®å±
䏿¾ç¤º |
| | | return "text-align:center"; |
| | | }, |
| | | // 忢 æäº¤è¡¨å ã 表åå表 |
| | | changeSubmissionStatus(openEdit) { |
| | | if (this.userInfo.phoneNumber) { |
| | | this.submissionStatus = !this.submissionStatus; |
| | | // 忢å°åè¡¨é¡µéæ°è·åæ°æ® |
| | | if (!openEdit) { |
| | | // ä¸è®©ç¼è¾ éä¸åè®® |
| | | this.disabled = true; |
| | | } else { |
| | | this.disabled = false; |
| | | } |
| | | if (!this.submissionStatus) { |
| | | this.paginationData.page = 1; |
| | | this.getAuthorContribution(); |
| | | } |
| | | } else { |
| | | this.$message({ |
| | | message: "请å
ç»å®ææºå·ï¼", |
| | | type: "warning", |
| | | }); |
| | | } |
| | | }, |
| | | // è·åææä½è
æç¨¿ |
| | | getAuthorContribution() { |
| | | this.loading = true; |
| | | let { limit, page } = this.paginationData; |
| | | |
| | | let query = { |
| | | start: limit * page - limit, |
| | | size: limit, |
| | | sort: { |
| | | field: "createDate", |
| | | type: "Desc", |
| | | }, |
| | | appRefCode: this.config.appRefCode, |
| | | topicIdOrRefCode: "contribution", |
| | | }; |
| | | this.MG.ugc.getTopicMessageList(query).then((res) => { |
| | | this.loading = false; |
| | | this.paginationData.totalCount = res.totalSize; |
| | | this.tableData = []; |
| | | res.datas.map((item) => { |
| | | let content = JSON.parse(item.content); |
| | | this.tableData.push({ |
| | | contribute_workName: content.contribute_workName, |
| | | contribute_workDescription: content.contribute_workDescription, |
| | | content: content, |
| | | }); |
| | | }); |
| | | }); |
| | | }, |
| | | handlePictureCardPreview(file) { |
| | | this.dialogImageState = true; |
| | | this.dialogImageUrl = file.url; |
| | | }, |
| | | // ç§»é¤å¾çåçå¤ç |
| | | handleRemove(file, filelist) { |
| | | this.ruleForm.contribute_workCertificates = filelist; |
| | | }, |
| | | // ç§»é¤ä¸ä¼ æä»¶åçå¤ç |
| | | handleRemoveFile(file, filelist) { |
| | | this.ruleForm.contribute_works = filelist; |
| | | }, |
| | | // ä¸ä¼ ä½å |
| | | uploadFile(file) { |
| | | this.isLoding = true; |
| | | return new Promise((resolve, reject) => { |
| | | const FileName = file.file.name.split(".")[0]; |
| | | const Extension = file.file.name.split(".")[1]; |
| | | const FileType = file.file.type; |
| | | // 妿æä»¶å¤§äº 30mb æç¤ºæä»¶è¿å¤§ï¼ä¸å
许ä¸ä¼ |
| | | if (file.file.size > 30000000) { |
| | | this.$message({ |
| | | message: "ä½å大å°è¶
è¿30Mb,请ä¸ä¼ å°äº30Mb大å°çä½å", |
| | | type: "error", |
| | | }); |
| | | return reject(); |
| | | } |
| | | let size = 1024; |
| | | this.tool |
| | | .getFileMd5(file.file, size * 1024) |
| | | .then((e) => { |
| | | const imgData = new FormData(); |
| | | this.fileMd5 = e; |
| | | imgData.append("Md5", e); |
| | | imgData.append("FileName", FileName); |
| | | imgData.append("Extension", Extension); |
| | | imgData.append("FileType", FileType); |
| | | imgData.append("MetaData", null); |
| | | imgData.append("file", file.file); |
| | | this.MG.file.upload(imgData).then((res) => { |
| | | this.$message({ |
| | | message: "ä½åä¸ä¼ æå", |
| | | type: "success", |
| | | }); |
| | | return resolve(e); |
| | | }); |
| | | }) |
| | | .catch((e) => { |
| | | this.isLoding = false; |
| | | console.error(e); |
| | | return reject(); |
| | | }); |
| | | }); |
| | | }, |
| | | // ä½åä¸ä¼ æååçå¤ç |
| | | fileuploadSucceeded(res, file, filelist) { |
| | | filelist[filelist.length - 1].md5 = res; |
| | | this.ruleForm.contribute_works = filelist; |
| | | this.$refs["form"].validateField("contribute_works"); |
| | | }, |
| | | // è·åFormTypeItem |
| | | getTypeItem() { |
| | | const data = { |
| | | refCodes: ["contributedWorks"], |
| | | }; |
| | | this.MG.resource.getCmsTypeByRefCode(data).then((res) => { |
| | | this.worksInfo = res[0].cmsTypeLinks[0].children; |
| | | }); |
| | | }, |
| | | // æäº¤ä½è
æç¨¿ |
| | | authorContribution() { |
| | | this.$refs["form"].validate((valid) => { |
| | | if (valid) { |
| | | // 夿æ¯å¦åæäºåè®® |
| | | if (this.agreement) { |
| | | this.loading = true; |
| | | this.teacherRegisterLoading = true; |
| | | |
| | | // ç§»é¤å¾çä¸ç¸å
³å±æ§ |
| | | this.ruleForm.contribute_workCertificates.map((item) => { |
| | | delete item.status; |
| | | delete item.uid; |
| | | delete item.url; |
| | | delete item.percentage; |
| | | delete item.raw; |
| | | delete item.response; |
| | | delete item.size; |
| | | }); |
| | | // ç§»é¤æä»¶ä¸ç¸å
³å±æ§ |
| | | this.ruleForm.contribute_works.map((item) => { |
| | | delete item.status; |
| | | delete item.uid; |
| | | delete item.url; |
| | | delete item.percentage; |
| | | delete item.raw; |
| | | delete item.response; |
| | | delete item.size; |
| | | }); |
| | | |
| | | const data = { |
| | | topicIdOrRefCode: "contribution", |
| | | name: this.ruleForm.contribute_workName, |
| | | content: JSON.stringify(this.ruleForm), |
| | | state: "Normal", |
| | | type: "authorOfSubmission", |
| | | cmsTypeRefCode: this.config.refCodes.Contribution, |
| | | newDataListRequest: this.tool.worksDataBytool( |
| | | this.worksInfo, |
| | | this.ruleForm, |
| | | this.ruleForm.contribute_workCertificates |
| | | ), |
| | | }; |
| | | this.MG.ugc.newTopicMessage(data).then((res) => { |
| | | if (res) { |
| | | // æ¢å¤é»è®¤å¼ |
| | | for (const key in this.ruleForm) { |
| | | this.ruleForm[key] = Array.isArray(this.ruleForm[key]) |
| | | ? [] |
| | | : ""; |
| | | } |
| | | this.$message({ |
| | | message: "æç¨¿æå", |
| | | type: "success", |
| | | }); |
| | | this.loading = false; |
| | | this.changeSubmissionStatus(); |
| | | } else { |
| | | this.$message.error("æç¨¿å¤±è´¥ï¼è¯·ç¨åéè¯"); |
| | | } |
| | | }); |
| | | } else { |
| | | this.$message({ |
| | | message: "请å¾éï¼å·²é
读并åæãéç§ææ¿çããæ³å¾å£°æã", |
| | | type: "warning", |
| | | }); |
| | | } |
| | | } else { |
| | | return false; |
| | | } |
| | | }); |
| | | }, |
| | | // åæ¶æç¨¿ |
| | | cancel() { |
| | | this.changeSubmissionStatus(); |
| | | // æ¢å¤é»è®¤å¼ |
| | | for (const key in this.ruleForm) { |
| | | this.ruleForm[key] = Array.isArray(this.ruleForm[key]) ? [] : ""; |
| | | } |
| | | }, |
| | | // ä¸ä¼ å¾ç |
| | | beforeRead(file) { |
| | | this.isLoding = true; |
| | | return new Promise((resolve, reject) => { |
| | | const FileName = file.file.name.split(".")[0]; |
| | | const Extension = file.file.name.split(".")[1]; |
| | | const FileType = file.file.type; |
| | | if (FileType != "image/jpeg" && FileType != "image/png") { |
| | | this.$message({ |
| | | message: "æä»¶æ ¼å¼ä¸å
许ï¼åªå
许ä¸ä¼ å¾çæ ¼å¼", |
| | | type: "error", |
| | | }); |
| | | return reject(); |
| | | } |
| | | let size = 1024; |
| | | this.tool |
| | | .getFileMd5(file.file, size * 1024) |
| | | .then((e) => { |
| | | this.isLoding = false; |
| | | const imgData = new FormData(); |
| | | this.fileMd5 = e; |
| | | imgData.append("Md5", e); |
| | | imgData.append("FileName", FileName); |
| | | imgData.append("Extension", Extension); |
| | | imgData.append("FileType", FileType); |
| | | imgData.append("MetaData", null); |
| | | imgData.append("file", file.file); |
| | | this.MG.file.upload(imgData).then((res) => { |
| | | if (res == "æä»¶ä¸ä¼ æå") { |
| | | this.$message({ |
| | | message: "å¾çä¸ä¼ æå", |
| | | type: "success", |
| | | }); |
| | | return resolve(e); |
| | | } else { |
| | | return reject(); |
| | | } |
| | | }); |
| | | }) |
| | | .catch((e) => { |
| | | this.isLoding = false; |
| | | console.error(e); |
| | | return reject(); |
| | | }); |
| | | }); |
| | | }, |
| | | // ä¸ä¼ å¾çæååçå¤ç |
| | | uploadSucceeded(res, file, filelist) { |
| | | filelist[filelist.length - 1].md5 = res; |
| | | this.ruleForm.contribute_workCertificates = filelist; |
| | | this.$refs["form"].validateField("contribute_workCertificates"); |
| | | }, |
| | | // å é¤å¾çæä»¶ä¹åçé©å |
| | | beforeDelimg() { |
| | | return this.$confirm(`ç¡®å®ç§»é¤è¯ä»¶ç
§åï¼`); |
| | | }, |
| | | // ä¸ä¼ 失败 |
| | | uploadFailed() { |
| | | this.$message.error("æä»¶ä¸ä¼ 失败ï¼è¯·ç¨åéè¯"); |
| | | }, |
| | | // ç§»é¤ä¸ä¼ çæä»¶ |
| | | beforeRemove() { |
| | | return this.$confirm(`ç¡®å®ç§»é¤ä½ååï¼`); |
| | | }, |
| | | // æ¥çæç¨¿ |
| | | viewContributions(ele) { |
| | | ele.contribute_workCertificates?.map((item) => { |
| | | item.url = getPublicImage(item.md5); |
| | | }); |
| | | Object.assign(this.ruleForm, ele); |
| | | this.changeSubmissionStatus(false); |
| | | }, |
| | | }, |
| | | }; |
| | | </script> |
| | | <style lang="less" scoped> |
| | | .protocolBox { |
| | | text-align: left; |
| | | line-height: 23px; |
| | | z-index: 1; |
| | | height: 500px; |
| | | overflow-y: auto; |
| | | margin-top: -20px; |
| | | box-sizing: border-box; |
| | | padding: 10px; |
| | | } |
| | | .content { |
| | | padding: 40px; |
| | | overflow: hidden; |
| | | .btn { |
| | | margin-bottom: 20px; |
| | | } |
| | | .see { |
| | | cursor: pointer; |
| | | } |
| | | .notice { |
| | | font-size: 14px; |
| | | color: #b3b3b3; |
| | | margin-left: 140px; |
| | | margin-bottom: 20px; |
| | | } |
| | | .lecturingSpecixalty { |
| | | display: flex; |
| | | border: 1px solid #dcdfe6; |
| | | border-radius: 4px; |
| | | padding: 20px; |
| | | min-height: 148px; |
| | | } |
| | | .agreement { |
| | | display: flex; |
| | | padding: 40px 0; |
| | | height: 20px; |
| | | align-items: center; |
| | | .choose { |
| | | display: inline-block; |
| | | border: 1px solid #e2e2e2; |
| | | width: 13px; |
| | | height: 13px; |
| | | margin-right: 10px; |
| | | cursor: pointer; |
| | | img { |
| | | margin-left: 2px; |
| | | margin-bottom: 2px; |
| | | } |
| | | } |
| | | .infoTxt { |
| | | .textpro { |
| | | color: #00873c; |
| | | cursor: pointer; |
| | | } |
| | | } |
| | | } |
| | | .basic { |
| | | width: 120px; |
| | | height: 40px; |
| | | border-radius: 4px; |
| | | color: #fff; |
| | | font-size: 16px; |
| | | text-align: center; |
| | | line-height: 40px; |
| | | cursor: pointer; |
| | | } |
| | | .addAddressButton { |
| | | float: right; |
| | | margin-right: 20px; |
| | | } |
| | | .greenButton { |
| | | background: linear-gradient(0deg, #00873c 0%, #00aa4c 100%); |
| | | } |
| | | .delete { |
| | | color: #00873c; |
| | | background-color: #fff; |
| | | border: 1px solid #00873c; |
| | | border-radius: 4px; |
| | | } |
| | | .pageinateBox { |
| | | text-align: center; |
| | | padding: 40px 0 0 0; |
| | | :deep(.el-pagination.is-background .btn-next) { |
| | | padding: 0 10px; |
| | | } |
| | | :deep(.el-pagination.is-background .btn-prev) { |
| | | padding: 0 10px; |
| | | } |
| | | } |
| | | } |
| | | </style> |
New file |
| | |
| | | <template> |
| | | <div> |
| | | <div class="content"> |
| | | <div class="information"> |
| | | <div v-if="userInfo.icon"> |
| | | <span>头åï¼</span> |
| | | <span><img class="usericon" :src="userInfo.icon" /></span> |
| | | </div> |
| | | <div> |
| | | <span>æµç§°ï¼</span> |
| | | <span>{{ userInfo.name }}</span> |
| | | </div> |
| | | <div> |
| | | <span>微信认è¯ï¼</span> |
| | | <span v-if="weChatState" class="primaryTxt">已认è¯</span> |
| | | <span v-else class="warningTxt">æªè®¤è¯</span> |
| | | <p v-if="!weChatState" class="modify" @click="goBindWeChat">å»è®¤è¯</p> |
| | | </div> |
| | | <div> |
| | | <span>ç»å®ææºï¼</span> |
| | | <span v-if="userInfo.phoneNumber">{{ userInfo.phoneNumber }}</span> |
| | | <span v-if="!userInfo.phoneNumber" class="warningTxt">æªç»å®</span> |
| | | <p |
| | | v-if="userInfo.phoneNumber" |
| | | class="modify" |
| | | @click=" |
| | | () => { |
| | | isPlace = true; |
| | | } |
| | | " |
| | | > |
| | | æ´æ¢ææºå· |
| | | </p> |
| | | <p |
| | | v-if="!userInfo.phoneNumber" |
| | | class="modify" |
| | | @click=" |
| | | () => { |
| | | isPlace = true; |
| | | } |
| | | " |
| | | > |
| | | ç»å®ææºå· |
| | | </p> |
| | | </div> |
| | | </div> |
| | | <div class="wrapImg"> |
| | | <img src="" class="autoImg" alt="" /> |
| | | </div> |
| | | </div> |
| | | <!-- æ´æ¢ææºå·æ¨¡ææ¡ --> |
| | | <el-dialog |
| | | title="ç»å®ææºå·" |
| | | :visible="isPlace" |
| | | width="600px" |
| | | :before-close="handleClose" |
| | | > |
| | | <el-form |
| | | :key="formKey" |
| | | :model="replacePhone" |
| | | ref="form" |
| | | label-position="left" |
| | | :rules="rules" |
| | | label-width="130px" |
| | | > |
| | | <el-form-item label="ææºå·ï¼" prop="phone"> |
| | | <el-input |
| | | v-model="replacePhone.phone" |
| | | placeholder="请è¾å
¥ææºå·" |
| | | ></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="å¾å½¢éªè¯ç ï¼" prop="imgCode"> |
| | | <div class="flex"> |
| | | <el-input |
| | | v-model="replacePhone.imgCode" |
| | | placeholder="请è¾å
¥å¾å½¢éªè¯ç " |
| | | ></el-input> |
| | | <div class="imgCodeBox"> |
| | | <img :src="imgCode" alt="" @click="getImgCapcha" /> |
| | | </div> |
| | | </div> |
| | | </el-form-item> |
| | | <el-form-item label="çä¿¡éªè¯ç ï¼" prop="verificationCode"> |
| | | <div class="flex"> |
| | | <el-input |
| | | v-model="replacePhone.verificationCode" |
| | | placeholder="请è¾å
¥çä¿¡éªè¯ç " |
| | | ></el-input> |
| | | <div class="imgCodeBox"> |
| | | <el-button |
| | | style="width: 100%" |
| | | @click="getVerifyCode" |
| | | :disabled="countDown != 0" |
| | | >{{ |
| | | countDown == 0 |
| | | ? "è·åçä¿¡éªè¯ç " |
| | | : "éªè¯ç (" + countDown + "s)" |
| | | }}</el-button |
| | | > |
| | | </div> |
| | | </div> |
| | | </el-form-item> |
| | | </el-form> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button @click="handleClose">å æ¶</el-button> |
| | | <el-button type="primary" @click="replace">ç¡® å®</el-button> |
| | | </span> |
| | | </el-dialog> |
| | | <div class="title"> |
| | | ç¨æ·ç±»å |
| | | <span> THE USER TYPES </span> |
| | | </div> |
| | | <div class="content"> |
| | | <div class="information"> |
| | | <div> |
| | | <span>ç¨æ·ç±»åï¼</span> |
| | | <span>{{ userInfo.role == "Teacher" ? "æå¸" : "å¦ç" }}</span> |
| | | </div> |
| | | <div> |
| | | <span>æå¸è®¤è¯ï¼</span> |
| | | <span class="primaryTxt" v-if="userInfo.role == 'Teacher'" |
| | | >已认è¯</span |
| | | > |
| | | <span v-else>æªè®¤è¯</span> |
| | | <p |
| | | class="modify" |
| | | v-if="userInfo.role == 'Teacher'" |
| | | @click="toTeacherRegister" |
| | | > |
| | | ä¿®æ¹ä¿¡æ¯ |
| | | </p> |
| | | </div> |
| | | <div v-if="userInfo.role == 'Teacher'"> |
| | | <span style="width: 150px">çµå书å©ä½ç³è¯·æ¬¡æ°ï¼</span> |
| | | <span> {{ electronicSampleBookapplyNum }}次 </span> |
| | | </div> |
| | | <div v-if="userInfo.role == 'Teacher'"> |
| | | <span style="width: 150px">纸质书å©ä½ç³è¯·æ¬¡æ°ï¼</span> |
| | | <span> {{ paperSampleBookapplyNum }}次 </span> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | <script> |
| | | import { mapState } from "vuex"; |
| | | export default { |
| | | computed: { |
| | | ...mapState(["userInfo"]), |
| | | }, |
| | | data() { |
| | | return { |
| | | isPlace: false, |
| | | formKey: 0, // è§£å³form 表åï¼éªè¯è¡¨åç¶æä¸æ¸
空é®é¢ |
| | | rules: { |
| | | phone: [ |
| | | { required: true, message: "请è¾å
¥ææºå·", trigger: "blur" }, |
| | | { |
| | | pattern: |
| | | /^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8}$/, |
| | | message: "请è¾å
¥æ£ç¡®ææºå·", |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | imgCode: [ |
| | | { required: true, message: "请è¾å
¥å¾å½¢éªè¯ç ", trigger: "blur" }, |
| | | { min: 4, max: 4, message: "请è¾å
¥ 4 ä½éªè¯ç ", trigger: "blur" }, |
| | | ], |
| | | verificationCode: [ |
| | | { required: true, message: "请è¾å
¥çä¿¡éªè¯ç ", trigger: "blur" }, |
| | | ], |
| | | }, |
| | | imgCode: "", |
| | | replacePhone: { |
| | | phone: "", |
| | | imgCode: "", |
| | | verificationCode: "", |
| | | }, |
| | | countDown: 0, // éªè¯ç å计æ¶ç§æ° |
| | | weChatState: false, // 微信认è¯ç¶æ |
| | | electronicSampleBookapplyNum: 0, |
| | | paperSampleBookapplyNum: 0, |
| | | }; |
| | | }, |
| | | created() { |
| | | this.getImgCapcha(); |
| | | this.getElectronicSampleBookapplyNum(); |
| | | this.getPaperSampleBookapplyNum(); |
| | | this.getWechatAuthenticationState(); |
| | | this.getUserInfo(); |
| | | |
| | | if (!this.userInfo.phoneNumber) { |
| | | this.$confirm( |
| | | "æ£æµå°æ¨è¿æªç»å®ææºå·ï¼ç»å®ææºå·åå½åè´¦å·å³å¯ä½¿ç¨ææºå·è¿è¡ç»å½ï¼", |
| | | "温馨æç¤º", |
| | | { |
| | | confirmButtonText: "ç»å®ææºå·", |
| | | cancelButtonText: "å
³é", |
| | | type: "warning", |
| | | } |
| | | ) |
| | | .then(() => { |
| | | this.isPlace = true; |
| | | }) |
| | | .catch(() => {}); |
| | | } |
| | | }, |
| | | methods: { |
| | | toTeacherRegister() { |
| | | this.$parent.changeSelected("1"); |
| | | }, |
| | | |
| | | getUserInfo() { |
| | | this.MG.identity.getCurrentAppUser().then((res) => { |
| | | if (res) { |
| | | let teacherRole = res.roleLinks.find( |
| | | (item) => item.role.refCode == "teacher" |
| | | ); |
| | | let teacherInfo = res.infoList.find( |
| | | (item) => item.type == "teacherInfo" |
| | | ); |
| | | let wechatInfo = res.infoList.find((item) => item.type == "WeChat"); |
| | | let studentInfo = res.infoList.find((item) => item.type == "Default"); |
| | | let phoneInfo = res.secretList.find( |
| | | (item) => item.type == "MobilePhone" |
| | | ); |
| | | if (teacherRole && teacherInfo) { |
| | | let data = {}; |
| | | try { |
| | | data = JSON.parse(teacherInfo.data); |
| | | } catch (error) { |
| | | data = {}; |
| | | } |
| | | this.$store.dispatch("setUserInfo", { |
| | | ...data, |
| | | name: data.fullName, |
| | | phoneNumber: phoneInfo?.credential, |
| | | role: "Teacher", |
| | | roleId: teacherRole.role.id, |
| | | }); |
| | | } else if (wechatInfo) { |
| | | this.$store.dispatch("setUserInfo", { |
| | | ...wechatInfo, |
| | | phoneNumber: phoneInfo?.credential, |
| | | role: "Student", |
| | | }); |
| | | } else if (studentInfo) { |
| | | this.$store.dispatch("setUserInfo", { |
| | | ...studentInfo, |
| | | phoneNumber: phoneInfo?.credential, |
| | | role: "Student", |
| | | }); |
| | | } |
| | | } |
| | | }); |
| | | }, |
| | | replace() { |
| | | this.$refs.form.validate((val) => { |
| | | let query = { |
| | | phoneNumber: this.replacePhone.phone, |
| | | phoneCaptcha: this.replacePhone.verificationCode, |
| | | }; |
| | | |
| | | this.MG.identity.userSetPhoneNumber(query).then((res) => { |
| | | if (res == "éªè¯ç è¿ææé误") { |
| | | this.$message({ |
| | | message: res + ",请ç¨åéè¯", |
| | | type: "error", |
| | | }); |
| | | } else if (res == "æ¤ææºå·ç 已被å
¶å®è´¦å·ç»å®") { |
| | | this.$message({ |
| | | message: res + ",è¯·æ´æ¢å
¶ä»ææºå·ã", |
| | | type: "error", |
| | | }); |
| | | } else { |
| | | this.$message({ |
| | | message: res, |
| | | type: "success", |
| | | }); |
| | | this.$store.dispatch("setUserInfo", { |
| | | ...this.userInfo, |
| | | phoneNumber: this.replacePhone.phone, |
| | | }); |
| | | this.isPlace = false; |
| | | } |
| | | }); |
| | | }); |
| | | }, |
| | | // è·åå¾å½¢éªè¯ç |
| | | getImgCapcha() { |
| | | this.MG.identity.getImgCode().then((res) => { |
| | | this.imgCode = "data:image/png;base64," + res; |
| | | }); |
| | | }, |
| | | // åéçä¿¡éªè¯ç |
| | | getVerifyCode() { |
| | | let validateFieldList = []; |
| | | this.$refs.form.validateField(["phone", "imgCode"], (val) => { |
| | | // ç±äº validateField éªè¯ä¼è§¦å夿¬¡ï¼å½æ¯æ¬¡éªè¯éè¿åé½å¾æ°ç»éæ·»å 䏿¡æ°æ®ã |
| | | if (!val) { |
| | | validateFieldList.push("éè¿"); |
| | | } |
| | | // æ¤å¤ 2 为éªè¯åæ®µçæ°é |
| | | if (validateFieldList.length == 2) { |
| | | this.MG.identity |
| | | .getPhoneCode({ |
| | | phoneNumber: this.replacePhone.phone, |
| | | imageCaptcha: this.replacePhone.imgCode, |
| | | appRefCode: this.config.appRefCode, |
| | | }) |
| | | .then((res) => { |
| | | if ( |
| | | res == "éªè¯ç åéæå" || |
| | | res == "éªè¯ç åéé¢ç¹è¯·ç¨ååè¯" |
| | | ) { |
| | | this.$message({ |
| | | message: res, |
| | | type: "success", |
| | | }); |
| | | // å¼å¯çä¿¡éªè¯åè®¡æ¶ |
| | | this.getSecond(90); |
| | | } else { |
| | | this.$message({ |
| | | message: res, |
| | | type: "error", |
| | | }); |
| | | this.getImgCapcha(); |
| | | } |
| | | }); |
| | | } |
| | | }); |
| | | }, |
| | | // éªè¯ç åè®¡æ¶ |
| | | getSecond(time) { |
| | | if (!this.timer) { |
| | | this.countDown = time; |
| | | this.timer = setInterval(() => { |
| | | this.countDown--; |
| | | if (this.countDown == 0) { |
| | | clearInterval(this.timer); |
| | | this.timer = null; |
| | | } |
| | | }, 1000); |
| | | } |
| | | }, |
| | | handleClose(done) { |
| | | // æ¢å¤é»è®¤å¼ |
| | | for (const key in this.replacePhone) { |
| | | this.replacePhone[key] = ""; |
| | | } |
| | | this.formKey++; |
| | | this.isPlace = false; |
| | | }, |
| | | // è·å微信认è¯ç¶æ |
| | | getWechatAuthenticationState() { |
| | | this.MG.identity.checkBuildingWeChat({}).then((res) => { |
| | | if (res) { |
| | | this.weChatState = true; |
| | | } else { |
| | | this.weChatState = false; |
| | | this.$confirm( |
| | | "æ¨è¿æªç»å®å¾®ä¿¡ï¼ä¸ºäºæ¨è½æ£å¸¸ä½¿ç¨ä¸å½åä¸å¤§å¦åºç社å
¬ä¼å·æ ·ä¹¦ç³è¯·æå¡ï¼è¯·ä½¿ç¨å¾®ä¿¡æ«ç ç»å®ï¼", |
| | | "温馨æç¤º", |
| | | { |
| | | confirmButtonText: "廿«ç ç»å®å¾®ä¿¡", |
| | | cancelButtonText: "å
³é", |
| | | type: "warning", |
| | | } |
| | | ) |
| | | .then(() => { |
| | | this.goBindWeChat(); |
| | | }) |
| | | .catch(() => {}); |
| | | } |
| | | }); |
| | | }, |
| | | goBindWeChat() { |
| | | this.$router.push({ |
| | | path: "/bindWeChat", |
| | | }); |
| | | }, |
| | | //çµå书å©ä½ç³è¯·æ¬¡æ° |
| | | getElectronicSampleBookapplyNum() { |
| | | this.MG.app |
| | | .getTicketResult({ |
| | | ticketRefCodeOrGuid: "electronicSampleBookapplyNum", |
| | | roleId: this.userInfo.roleId, |
| | | }) |
| | | .then((res) => { |
| | | this.electronicSampleBookapplyNum = res.totalCount - res.usedCount; |
| | | }); |
| | | }, |
| | | //纸质书å©ä½ç³è¯·æ¬¡æ° |
| | | getPaperSampleBookapplyNum() { |
| | | this.MG.app |
| | | .getTicketResult({ |
| | | ticketRefCodeOrGuid: "paperSampleBookapplyNum", |
| | | roleId: this.userInfo.roleId, |
| | | }) |
| | | .then((res) => { |
| | | this.paperSampleBookapplyNum = res.totalCount - res.usedCount; |
| | | }); |
| | | }, |
| | | }, |
| | | }; |
| | | </script> |
| | | <style lang="less" scoped> |
| | | .content { |
| | | padding: 40px; |
| | | display: flex; |
| | | justify-content: space-between; |
| | | align-items: center; |
| | | .wrapImg { |
| | | position: relative; |
| | | width: 100px; |
| | | height: 100px; |
| | | border-radius: 50%; |
| | | } |
| | | .information { |
| | | display: inline-block; |
| | | color: #666; |
| | | div { |
| | | span { |
| | | display: inline-block; |
| | | width: 130px; |
| | | line-height: 50px; |
| | | } |
| | | & > span:nth-child(2) { |
| | | color: #333; |
| | | } |
| | | p { |
| | | display: inline-block; |
| | | } |
| | | } |
| | | .modify { |
| | | color: #e50021; |
| | | border-bottom: 1px solid #e50021; |
| | | cursor: pointer; |
| | | } |
| | | } |
| | | } |
| | | .imgCodeBox { |
| | | margin-left: 20px; |
| | | height: 40px; |
| | | width: 140px; |
| | | cursor: pointer; |
| | | img { |
| | | width: 140px; |
| | | height: 100%; |
| | | } |
| | | } |
| | | .title { |
| | | font-size: 18px; |
| | | font-weight: 700; |
| | | letter-spacing: 1.8px; |
| | | line-height: 36px; |
| | | padding-left: 40px; |
| | | background: #d8f7e6; |
| | | line-height: 60px; |
| | | color: #00873c; |
| | | span { |
| | | font-size: 16px; |
| | | font-weight: 500; |
| | | } |
| | | } |
| | | |
| | | .usericon { |
| | | width: 60px; |
| | | height: 60px; |
| | | vertical-align: middle; |
| | | border-radius: 50%; |
| | | } |
| | | </style> |
New file |
| | |
| | | <template> |
| | | <div class="content" v-loading="orderLoading"> |
| | | <el-empty |
| | | description="ææ æ°æ®" |
| | | class="empty" |
| | | :image-size="200" |
| | | v-if="orderList.length == 0" |
| | | ></el-empty> |
| | | <div v-for="(item, index) in orderList" :key="index"> |
| | | <div class="headerInformation"> |
| | | <span> |
| | | <div class="examine" v-if="item.state == 'WaitAudit'"> |
| | | <img |
| | | src="@/assets/images/personalCenter/examine.png" |
| | | alt="" |
| | | srcset="" |
| | | /> |
| | | ç¶æï¼å¾
å®¡æ ¸ |
| | | </div> |
| | | <div class="pass" v-else-if="item.state == 'Normal'"> |
| | | <img src="@/assets/images/personalCenter/pass.png" alt="" /> |
| | | ç¶æï¼å·²éè¿ |
| | | </div> |
| | | <div class="noPass" v-else-if="item.state == 'Reject'"> |
| | | <img src="@/assets/images/personalCenter/noPass.png" alt="" /> |
| | | ç¶æï¼å·²æç» |
| | | </div> |
| | | </span> |
| | | <span class="applicationTime"> |
| | | ç³è¯·æ¶é´ï¼{{ moment(item.createDate).format("YYYY-MM-DD") }}</span |
| | | > |
| | | </div> |
| | | <div class="bookItem"> |
| | | <div class="wrapImg"> |
| | | <img |
| | | class="autoImg" |
| | | :src=" |
| | | item.icon |
| | | ? item.icon |
| | | : require('@/assets/images/default-book-img.png') |
| | | " |
| | | alt="" |
| | | /> |
| | | </div> |
| | | <div class="information"> |
| | | <div> |
| | | <span |
| | | class="name" |
| | | v-if="item.state == 'Normal'" |
| | | :title="item.name" |
| | | >{{ item.name }}</span |
| | | > |
| | | <span class="name" title="èµæºéè¿å®¡æ ¸åæ¹å¯æ¥ç" v-else>{{ |
| | | item.name |
| | | }}</span> |
| | | </div> |
| | | <p class="author" v-if="item.content.author"> |
| | | ä½è
ï¼{{ item.content.author ? item.content.author : "æªç¥ä½è
" }} |
| | | </p> |
| | | <p class="author" v-if="item.content.isdn"> |
| | | ISBNï¼{{ item.content.isdn ? item.content.isdn : "æªç¥ISBNå·" }} |
| | | </p> |
| | | <div class="succeeded" v-if="item.state == 'Normal'"> |
| | | <el-button size="medium" @click="toDetail(item)" |
| | | >æ¥ç详æ
</el-button |
| | | > |
| | | </div> |
| | | <div class="reason mt14" v-else-if="item.state == 'Reject'"> |
| | | <div>çç±ï¼</div> |
| | | <div style="flex: 1">{{ item.feedBack.reason }}</div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <!-- å页 --> |
| | | <div class="pageinateBox" v-if="orderList.length > 0"> |
| | | <el-pagination |
| | | @size-change=" |
| | | (val) => { |
| | | paginationData.limit = val; |
| | | getData(); |
| | | } |
| | | " |
| | | @current-change=" |
| | | (val) => { |
| | | paginationData.page = val; |
| | | getData(); |
| | | } |
| | | " |
| | | background="" |
| | | :current-page="paginationData.page - 0" |
| | | :page-size="paginationData.limit" |
| | | prev-text="ä¸ä¸é¡µ" |
| | | next-text="ä¸ä¸é¡µ" |
| | | layout="total, prev, pager, next, slot, jumper" |
| | | :total="paginationData.totalCount" |
| | | > |
| | | </el-pagination> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | <script> |
| | | export default { |
| | | data() { |
| | | return { |
| | | orderList: [], |
| | | orderLoading: true, |
| | | paginationData: { |
| | | page: 1, |
| | | totalCount: 0, |
| | | limit: 5, |
| | | totalPage: 0, |
| | | }, |
| | | }; |
| | | }, |
| | | created() { |
| | | this.getData(); |
| | | }, |
| | | methods: { |
| | | // è·åç³è¯·ä¸è½½ |
| | | getData() { |
| | | this.orderLoading = true; |
| | | let { limit, page } = this.paginationData; |
| | | |
| | | let query = { |
| | | start: limit * page - limit, |
| | | size: limit, |
| | | sort: { |
| | | field: "createDate", |
| | | type: "Desc", |
| | | }, |
| | | appRefCode: this.config.appRefCode, |
| | | topicIdOrRefCode: this.config.refCodes.productDownLoad, |
| | | }; |
| | | this.MG.ugc.getTopicMessageList(query).then((res) => { |
| | | this.orderLoading = false; |
| | | res.datas.map((data) => { |
| | | data.content = JSON.parse(data.content); |
| | | data.feedBack = data.feedBack ? JSON.parse(data.feedBack) : ""; |
| | | }); |
| | | this.paginationData.totalCount = res.totalSize; |
| | | this.orderList = res.datas; |
| | | }); |
| | | }, |
| | | // 跳转è³è¯¦æ
|
| | | toDetail(item) { |
| | | let routeData = this.$router.resolve({ |
| | | name: "bookStore-detail", |
| | | query: { |
| | | id: item.content.id, |
| | | cmsPath: item.content.rootCmsItemId, |
| | | }, |
| | | }); |
| | | window.open(routeData.href, "_blank"); |
| | | }, |
| | | }, |
| | | }; |
| | | </script> |
| | | <style lang="less" scoped> |
| | | .content { |
| | | padding: 40px 40px 0 40px; |
| | | min-height: 600px; |
| | | .headerInformation { |
| | | display: flex; |
| | | justify-content: space-between; |
| | | align-items: center; |
| | | .pass { |
| | | align-items: center; |
| | | font-size: 18px; |
| | | font-weight: 700; |
| | | color: #00873c; |
| | | } |
| | | .examine { |
| | | font-size: 18px; |
| | | font-weight: 700; |
| | | color: #8b4513; |
| | | } |
| | | .noPass { |
| | | font-size: 18px; |
| | | font-weight: 700; |
| | | color: #e50021; |
| | | } |
| | | .applicationTime { |
| | | font-size: 14px; |
| | | color: #666666; |
| | | } |
| | | } |
| | | .bookItem { |
| | | display: flex; |
| | | justify-content: space-between; |
| | | border-bottom: 1px solid #eeeeee; |
| | | padding-top: 40px; |
| | | padding-bottom: 40px; |
| | | margin-bottom: 40px; |
| | | .wrapImg { |
| | | position: relative; |
| | | border: 1px solid #e6e6e6; |
| | | background: #ffffff; |
| | | width: 150px; |
| | | height: 200px; |
| | | } |
| | | .information { |
| | | width: 520px; |
| | | font-size: 16px; |
| | | .name { |
| | | cursor: pointer; |
| | | display: inline-block; |
| | | font-size: 24px; |
| | | font-weight: 700; |
| | | line-height: 24px; |
| | | padding-bottom: 10px; |
| | | color: #333333; |
| | | } |
| | | .adopt { |
| | | float: right; |
| | | color: #00873c; |
| | | } |
| | | .author { |
| | | color: #666666; |
| | | padding: 7px 0; |
| | | } |
| | | .reason { |
| | | display: flex; |
| | | line-height: 28px; |
| | | & > :first-child { |
| | | width: 50px; |
| | | } |
| | | } |
| | | .succeeded { |
| | | margin-top: 66px; |
| | | :deep(.el-button--medium) { |
| | | padding: 11px 27px; |
| | | border: 1px solid #00873c; |
| | | color: #00873c; |
| | | font-size: 16px; |
| | | } |
| | | } |
| | | .mt14 { |
| | | margin-top: 14px; |
| | | } |
| | | } |
| | | } |
| | | .pageinateBox { |
| | | text-align: center; |
| | | padding: 40px 0; |
| | | :deep(.el-pagination.is-background .btn-next) { |
| | | padding: 0 10px; |
| | | } |
| | | :deep(.el-pagination.is-background .btn-prev) { |
| | | padding: 0 10px; |
| | | } |
| | | } |
| | | } |
| | | </style> |
New file |
| | |
| | | <template> |
| | | <div class="wrap"> |
| | | <div v-loading="loading"> |
| | | <el-empty |
| | | description="ææ æ°æ®" |
| | | class="empty" |
| | | :image-size="200" |
| | | v-if="orderList.length == 0 && !loading" |
| | | ></el-empty> |
| | | <div class="bookItem" v-for="(item, index) in orderList" :key="index"> |
| | | <div class="orderInformation"> |
| | | <span class="primaryTxt" v-if="item.state == 'Normal'" |
| | | >å®¡æ ¸ç¶æï¼ |
| | | <template>éè¿</template> |
| | | </span> |
| | | <span class="toBeReviewed" v-else-if="item.state == 'WaitAudit'" |
| | | >å®¡æ ¸ç¶æï¼ |
| | | <template>å®¡æ ¸ä¸</template> |
| | | </span> |
| | | <span class="auditFailed" v-else-if="item.state == 'Reject'" |
| | | >å®¡æ ¸ç¶æï¼ |
| | | <template>å®¡æ ¸å¤±è´¥</template> |
| | | </span> |
| | | <span> |
| | | <span class="c999">ç³è¯·æ¥æï¼</span> |
| | | {{ item.createDate }}</span |
| | | > |
| | | <div class="reason" v-if="item.state == 'Reject'"> |
| | | <p class="reasonIntroduction"> |
| | | <span class="c999">çç±ï¼</span> |
| | | <span class="reasonContent"> |
| | | {{ item.feedBack.reason ? item.feedBack.reason : "-" }} |
| | | </span> |
| | | </p> |
| | | </div> |
| | | <span v-if="item.state == 'Normal' && item.isActive"> |
| | | <span class="c999">æææï¼</span> |
| | | {{ item.feedBack.endDate || "-" }} |
| | | </span> |
| | | <span |
| | | v-if="item.state == 'Normal' && !item.isActive" |
| | | style="color: red" |
| | | > |
| | | <span class="c999">æææï¼</span> |
| | | å·²è¿æ |
| | | </span> |
| | | </div> |
| | | <div class="orderBookList"> |
| | | <div |
| | | v-for="(itemBook, index) in item.content" |
| | | style="cursor: pointer" |
| | | class="orderBook" |
| | | :key="index" |
| | | @click.stop="jumpBookDetail(itemBook)" |
| | | > |
| | | <div class="wrapImg"> |
| | | <img class="autoImg" :src="itemBook.icon" alt="" /> |
| | | </div> |
| | | <p style="width: 150px" class="ellipsis" :title="itemBook.title"> |
| | | {{ itemBook.title }} |
| | | </p> |
| | | <p style="width: 150px" class="c999 ellipsis">{{ itemBook.author }}</p> |
| | | <p |
| | | style="text-align: center" |
| | | v-if="item.state == 'Normal' && item.isActive" |
| | | > |
| | | <el-button @click.stop="readDate(itemBook)" type="primary" |
| | | >ç«å³é
读</el-button |
| | | > |
| | | </p> |
| | | </div> |
| | | </div> |
| | | <div v-if="item.state == 'Reject'" @click="deleteItem(item)"> |
| | | <i class="el-icon-delete-solid red"></i> |
| | | </div> |
| | | </div> |
| | | <!-- å页 --> |
| | | <div class="pageinateBox" v-if="orderList.length > 0"> |
| | | <el-pagination |
| | | @size-change=" |
| | | (val) => { |
| | | paginationData.limit = val; |
| | | getData(); |
| | | } |
| | | " |
| | | @current-change=" |
| | | (val) => { |
| | | paginationData.page = val; |
| | | getData(); |
| | | } |
| | | " |
| | | background="" |
| | | :current-page="paginationData.page - 0" |
| | | :page-size="paginationData.limit" |
| | | prev-text="ä¸ä¸é¡µ" |
| | | next-text="ä¸ä¸é¡µ" |
| | | layout="total, prev, pager, next, slot, jumper" |
| | | :total="paginationData.totalCount" |
| | | > |
| | | </el-pagination> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | <script> |
| | | import { mapState } from "vuex"; |
| | | export default { |
| | | data() { |
| | | return { |
| | | orderList: [], |
| | | loading: true, |
| | | paginationData: { |
| | | page: 1, |
| | | totalCount: 0, |
| | | limit: 5, |
| | | totalPage: 0, |
| | | }, |
| | | }; |
| | | }, |
| | | computed: { |
| | | ...mapState(["userInfo"]), |
| | | }, |
| | | created() { |
| | | this.getData(); |
| | | }, |
| | | methods: { |
| | | getData() { |
| | | this.loading = true; |
| | | let { limit, page } = this.paginationData; |
| | | const data = { |
| | | start: limit * page - limit, |
| | | size: limit, |
| | | sort: { |
| | | field: "createDate", |
| | | type: "Desc", |
| | | }, |
| | | appRefCode: this.config.appRefCode, |
| | | topicIdOrRefCode: this.config.refCodes.applyBook, |
| | | }; |
| | | this.MG.ugc.getTopicMessageList(data).then((res) => { |
| | | this.loading = false; |
| | | try { |
| | | this.paginationData.totalCount = res.totalSize; |
| | | if (res && res.datas.length > 0) { |
| | | let list = []; |
| | | for (let i = 0; i < res.datas.length; i++) { |
| | | const ele = res.datas[i]; |
| | | ele.createDate = ele.createDate.split("T")[0]; |
| | | if (ele.content) { |
| | | ele.content = JSON.parse(ele.content); |
| | | } |
| | | if (ele.feedBack) { |
| | | ele.isActive = false; |
| | | ele.feedBack = JSON.parse(ele.feedBack); |
| | | const readDate = new Date( |
| | | ele.feedBack.endDate + " 23:59:59" |
| | | ).getTime(); |
| | | const currentDate = Number(sessionStorage.currentDate); |
| | | if (readDate > currentDate) { |
| | | ele.isActive = true; |
| | | } |
| | | } |
| | | list.push(ele); |
| | | } |
| | | this.orderList = list; |
| | | } |
| | | } catch (error) { |
| | | this.orderList = []; |
| | | } |
| | | }); |
| | | }, |
| | | deleteItem(item) { |
| | | this.$confirm("ç¡®å®ç§»é¤åï¼", "æç¤º", { |
| | | confirmButtonText: "ç¡®å®", |
| | | cancelButtonText: "åæ¶", |
| | | type: "warning", |
| | | }) |
| | | .then(() => { |
| | | let data = { |
| | | messageIds: [item.id], |
| | | }; |
| | | this.MG.ugc.delTopicMessage(data).then((res) => { |
| | | if (res) { |
| | | this.$message({ |
| | | type: "success", |
| | | message: "已移é¤è¯¥çµåæ ·ä¹¦!", |
| | | }); |
| | | this.getData(); |
| | | } |
| | | }); |
| | | }) |
| | | .catch(() => { |
| | | this.$message({ |
| | | type: "fail", |
| | | message: "åæ¶æä½!", |
| | | }); |
| | | }); |
| | | }, |
| | | readDate(item) { |
| | | this.getBookData(item); |
| | | }, |
| | | // è·åæ°æ® |
| | | getBookData(item) { |
| | | this.loading = true; |
| | | this.MG.store |
| | | .getProductDetail({ |
| | | path: "caupress_teachingResource\\" + item.id, |
| | | productId: item.id, |
| | | paging: { |
| | | start: 0, |
| | | size: 1, |
| | | }, |
| | | fields: { |
| | | caupress_pdfFreeFile: [], |
| | | caupress_pdfFile: [], |
| | | }, |
| | | coverSize: { |
| | | width: 180, |
| | | }, |
| | | }) |
| | | .then((res) => { |
| | | try { |
| | | let obj = {}; |
| | | if (res.datas.alreadyBuy) { |
| | | obj = { |
| | | pdfFile: res.datas.caupress_pdfFile, |
| | | name: res.datas.name, |
| | | productLinkPath: res.datas.productLinkInfo[0].LinkPath, |
| | | }; |
| | | } else { |
| | | obj = { |
| | | pdfFile: res.datas.caupress_pdfFreeFile, |
| | | name: res.datas.name, |
| | | productLinkPath: res.datas.productLinkInfo[0].LinkPath, |
| | | }; |
| | | } |
| | | // 跳转è³PDFé¡µé¢ |
| | | this.openBook(obj); |
| | | this.loading = false; |
| | | } catch (error) { |
| | | this.$message({ |
| | | type: "fail", |
| | | message: "ææ é
è¯»èµæ!", |
| | | }); |
| | | this.loading = false; |
| | | } |
| | | }); |
| | | }, |
| | | openBook(item) { |
| | | console.log(item,"item"); |
| | | let routeUrl = this.$router.resolve({ |
| | | name: "preview-pdf", |
| | | query: { |
| | | md5: item.pdfFile, |
| | | titleName: item.name, |
| | | productLinkPath: item.productLinkPath, |
| | | }, |
| | | }); |
| | | window.open(routeUrl.href, "_blank"); |
| | | // this.$router.push({ |
| | | // name: "preview-pdf", |
| | | // query: { |
| | | // md5: item.pdfFile, |
| | | // titleName: item.name, |
| | | // productLinkPath: item.productLinkPath |
| | | // } |
| | | // }); |
| | | }, |
| | | // 跳转å¾ä¹¦è¯¦æ
|
| | | jumpBookDetail(row) { |
| | | let url = this.$router.resolve({ |
| | | name: "teachingServices-detail", |
| | | query: { |
| | | id: row.id, |
| | | cmsPath: row.cmsPath, |
| | | }, |
| | | }); |
| | | window.open(url.href, "_blank"); |
| | | }, |
| | | // å¤çå½ å½å页é¢çæ°æ®å·²å
¨é¨ç§»é¤åï¼è·³è½¬è³åä¸é¡µ |
| | | JumpToPreviousPage(datas) { |
| | | if (this.paginationData.page > 1 && datas.length == 0) { |
| | | this.paginationData.page -= 1; |
| | | this.getData(); |
| | | } |
| | | }, |
| | | }, |
| | | }; |
| | | </script> |
| | | <style lang="less" scoped> |
| | | .wrap { |
| | | padding: 40px; |
| | | .tips { |
| | | padding: 20px; |
| | | background: #f2f7f4; |
| | | border-radius: 4px; |
| | | font-size: 14px; |
| | | color: #666666; |
| | | } |
| | | .bookItem { |
| | | border-bottom: 1px solid #eeeeee; |
| | | padding-bottom: 40px; |
| | | // margin-bottom: 40px; |
| | | .spaceBetween { |
| | | width: 100%; |
| | | display: flex; |
| | | justify-content: space-between; |
| | | align-items: flex-end; |
| | | font-size: 18px; |
| | | font-weight: 700; |
| | | line-height: 24px; |
| | | } |
| | | .orderInformation { |
| | | background: #f2f7f4; |
| | | border-radius: 4px; |
| | | padding: 20px; |
| | | font-size: 16px; |
| | | color: #333333; |
| | | margin: 30px 0; |
| | | .auditFailed { |
| | | color: #e50021; |
| | | } |
| | | .toBeReviewed { |
| | | color: #d18252; |
| | | } |
| | | span { |
| | | display: inline-block; |
| | | width: 330px; |
| | | line-height: 40px; |
| | | } |
| | | .c999 { |
| | | display: inline; |
| | | color: #999; |
| | | } |
| | | .reason { |
| | | display: flex; |
| | | line-height: 28px; |
| | | padding: 20px 0; |
| | | .reasonIntroduction { |
| | | width: 590px; |
| | | display: inline-block; |
| | | line-height: 22px; |
| | | .reasonContent { |
| | | display: inline; |
| | | width: 100%; |
| | | line-height: 30px; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | .orderBookList { |
| | | display: flex; |
| | | justify-content: flex-start; |
| | | flex-wrap: wrap; |
| | | font-size: 16px; |
| | | color: #333; |
| | | .orderBook { |
| | | margin: 0 15px; |
| | | } |
| | | .wrapImg { |
| | | position: relative; |
| | | width: 150px; |
| | | height: 200px; |
| | | background-color: #f2f2f2; |
| | | border: 1px solid #e6e6e6; |
| | | } |
| | | > div > p { |
| | | margin: 10px 0; |
| | | } |
| | | .c999 { |
| | | color: #999; |
| | | } |
| | | } |
| | | .red { |
| | | font-size: 16px; |
| | | color: #e50021; |
| | | float: right; |
| | | cursor: pointer; |
| | | } |
| | | } |
| | | .pageinateBox { |
| | | text-align: center; |
| | | padding: 40px 0; |
| | | :deep(.el-pagination.is-background .btn-next) { |
| | | padding: 0 10px; |
| | | } |
| | | :deep(.el-pagination.is-background .btn-prev) { |
| | | padding: 0 10px; |
| | | } |
| | | } |
| | | } |
| | | </style> |
New file |
| | |
| | | <template> |
| | | <div> |
| | | <div class="title spaceBetween"> |
| | | <span |
| | | :class="paymentStatus == 0 ? 'paymentStatus' : 'place'" |
| | | @click=" |
| | | () => { |
| | | paymentStatus = 0; |
| | | this.paginationData.page = 1; |
| | | this.collectionList = []; |
| | | this.getBookData(); |
| | | } |
| | | " |
| | | >å¾ä¹¦æ¶è</span |
| | | > |
| | | <span class="splitline"></span> |
| | | <span |
| | | :class="paymentStatus == 1 ? 'paymentStatus' : 'place'" |
| | | @click=" |
| | | () => { |
| | | paymentStatus = 1; |
| | | this.paginationData.page = 1; |
| | | this.collectionList = []; |
| | | this.getResourceData(); |
| | | } |
| | | " |
| | | >èµæºæ¶è</span |
| | | > |
| | | </div> |
| | | <div class="content" v-loading="loading"> |
| | | <el-empty |
| | | v-if="collectionList.length == 0 && orderList.length == 0 && !loading" |
| | | :image-size="200" |
| | | description="ææ æ°æ®" |
| | | ></el-empty> |
| | | <template> |
| | | <template v-if="paymentStatus == 0"> |
| | | <div |
| | | class="bookItem" |
| | | v-for="(item, index) in collectionList" |
| | | :key="index" |
| | | > |
| | | <div class="wrapImg"> |
| | | <img class="autoImg" :src="item.icon" alt="" /> |
| | | </div> |
| | | <div class="information"> |
| | | <div> |
| | | <span class="name ellipsis" @click="toDetail(item)">{{ |
| | | item.name |
| | | }}</span> |
| | | <div class="cancelCollection"> |
| | | <span @click="cancleBookCollect(item)">åæ¶æ¶è</span> |
| | | </div> |
| | | </div> |
| | | <p class="author"> |
| | | ä½è
ï¼{{ |
| | | item.caupress_author ? item.caupress_author : "æªç¥ä½è
" |
| | | }} |
| | | </p> |
| | | <p class="author" v-if="item.caupress_publicationDate"> |
| | | åºçæ¶é´ï¼{{ |
| | | moment(item.caupress_publicationDate).format("YYYY-MM-DD") |
| | | }} |
| | | </p> |
| | | <p class="author" v-if="item.caupress_ISBN"> |
| | | ISBNï¼{{ item.caupress_ISBN }} |
| | | </p> |
| | | <p class="payPrice"> |
| | | å®ä»·ï¼ |
| | | <span |
| | | >ï¿¥ <span>{{ item.price }}</span> |
| | | </span> |
| | | </p> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | <template v-else> |
| | | <div |
| | | class="resourcesItem" |
| | | v-for="(item, index) in orderList" |
| | | :key="index" |
| | | > |
| | | <span @click="preview(item)" class="resourcesPre" |
| | | >èµæºåç§°ï¼ |
| | | <span style="color: #333">{{ item.name }}</span> |
| | | </span> |
| | | <span |
| | | >èµæºç±»åï¼ |
| | | <span style="color: #333">{{ |
| | | RefCodeConvertFormat(item.caupress_fileType) |
| | | }}</span> |
| | | <div |
| | | class="cancelCollection" |
| | | @click="cancleResourceCollect(item)" |
| | | > |
| | | åæ¶æ¶è |
| | | </div> |
| | | </span> |
| | | </div> |
| | | </template> |
| | | </template> |
| | | </div> |
| | | <!-- å页 --> |
| | | <div |
| | | class="pageinateBox" |
| | | v-if="collectionList.length > 0 || orderList.length > 0" |
| | | > |
| | | <el-pagination |
| | | @size-change=" |
| | | (val) => { |
| | | paginationData.limit = val; |
| | | if (paymentStatus == 0) { |
| | | getBookData(); |
| | | } else { |
| | | getResourceData(); |
| | | } |
| | | } |
| | | " |
| | | @current-change=" |
| | | (val) => { |
| | | paginationData.page = val; |
| | | getBookData(); |
| | | if (paymentStatus == 0) { |
| | | getBookData(); |
| | | } else { |
| | | getResourceData(); |
| | | } |
| | | } |
| | | " |
| | | background="" |
| | | :current-page="paginationData.page - 0" |
| | | :page-size="paginationData.limit" |
| | | prev-text="ä¸ä¸é¡µ" |
| | | next-text="ä¸ä¸é¡µ" |
| | | layout="total, prev, pager, next, slot, jumper" |
| | | :total="paginationData.totalCount" |
| | | > |
| | | </el-pagination> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | <script> |
| | | export default { |
| | | data() { |
| | | return { |
| | | paginationData: { |
| | | page: 1, |
| | | totalCount: 0, |
| | | limit: 5, |
| | | totalPage: 0, |
| | | }, |
| | | collectionList: [], |
| | | paymentStatus: 0, |
| | | loading: false, |
| | | orderList: [], |
| | | }; |
| | | }, |
| | | created() { |
| | | // ç¨äºæ¢å¤ 跳转详æ
页ä¹åçå页 |
| | | if (localStorage.getItem("searchPage")) { |
| | | this.paginationData = JSON.parse(localStorage.getItem("searchPage")); |
| | | localStorage.removeItem("searchPage"); |
| | | this.paymentStatus = JSON.parse(localStorage.getItem("insideTabs")); |
| | | localStorage.removeItem("insideTabs"); |
| | | } |
| | | if (this.paymentStatus == 0) { |
| | | this.getBookData(); |
| | | } else { |
| | | this.getResourceData(); |
| | | } |
| | | }, |
| | | methods: { |
| | | RefCodeConvertFormat(refCode) { |
| | | switch (refCode) { |
| | | case "caupress_video": |
| | | return "è§é¢"; |
| | | case "caupress_audio": |
| | | return "é³é¢"; |
| | | case "caupress_pdf": |
| | | return "PDF"; |
| | | case "caupress_zip": |
| | | return "Zip"; |
| | | default: |
| | | break; |
| | | } |
| | | }, |
| | | // è·åå¾ä¹¦æ¶è |
| | | getBookData() { |
| | | this.loading = true; |
| | | this.paginationData.limit = 5; |
| | | let { limit, page } = this.paginationData; |
| | | this.paymentStatus == 0 ? "AppUserProductLink" : "AppUserCmsItemLink"; |
| | | let query = { |
| | | queryType: "AppUserProductLink", |
| | | linkType: "Favorite", |
| | | paging: { |
| | | start: limit * page - limit, |
| | | size: limit, |
| | | }, |
| | | sort: [], |
| | | fields: { |
| | | caupress_author: [], |
| | | caupress_ISBN: [], |
| | | caupress_publicationDate: [], |
| | | }, |
| | | coverSize: { |
| | | width: 120, |
| | | }, |
| | | }; |
| | | this.MG.store.getProductList(query).then((res) => { |
| | | this.JumpToPreviousPage(res.datas); |
| | | this.collectionList = res.datas; |
| | | this.paginationData.totalCount = res.total; |
| | | this.loading = false; |
| | | }); |
| | | }, |
| | | // è·åèµæºæ¶è |
| | | getResourceData() { |
| | | this.loading = true; |
| | | this.paginationData.limit = 12; |
| | | let { limit, page } = this.paginationData; |
| | | this.MG.resource |
| | | .getItem({ |
| | | path: "*", |
| | | queryType: "AppUserCmsItemLink", |
| | | linkType: "Favorite", |
| | | paging: { |
| | | start: limit * page - limit, |
| | | size: limit, |
| | | }, |
| | | fields: { |
| | | caupress_author: [], |
| | | caupress_ISBN: [], |
| | | caupress_publicationDate: [], |
| | | caupress_fileType: [], |
| | | caupress_file: [], |
| | | }, |
| | | coverSize: { |
| | | width: 120, |
| | | }, |
| | | }) |
| | | .then((res) => { |
| | | this.JumpToPreviousPage(res.datas); |
| | | this.orderList = res.datas; |
| | | this.paginationData.totalCount = res.total; |
| | | this.loading = false; |
| | | }); |
| | | }, |
| | | // åæ¶å¾ä¹¦æ¶è |
| | | cancleBookCollect(item) { |
| | | this.$confirm("ç¡®å®åæ¶æ¶èåï¼", "æç¤º", { |
| | | confirmButtonText: "ç¡®å®", |
| | | cancelButtonText: "åæ¶", |
| | | type: "warning", |
| | | }) |
| | | .then(() => { |
| | | this.loading = true; |
| | | let data = { |
| | | productIds: [item.id], |
| | | linkType: "Favorite", |
| | | }; |
| | | this.MG.store.delProductLink(data).then((res) => { |
| | | if (res) { |
| | | this.loading = false; |
| | | this.$message({ |
| | | type: "success", |
| | | message: "åæ¶æ¶èæå!", |
| | | }); |
| | | this.getBookData(); |
| | | } |
| | | }); |
| | | }) |
| | | .catch(() => { |
| | | this.$message({ |
| | | type: "info", |
| | | message: "已忶æä½", |
| | | }); |
| | | }); |
| | | }, |
| | | // åæ¶èµæºæ¶è |
| | | cancleResourceCollect(item) { |
| | | this.$confirm("ç¡®å®åæ¶æ¶èåï¼", "æç¤º", { |
| | | confirmButtonText: "ç¡®å®", |
| | | cancelButtonText: "åæ¶", |
| | | type: "warning", |
| | | }) |
| | | .then(() => { |
| | | this.loading = true; |
| | | let data = { |
| | | cmsItemIds: [item.id], |
| | | linkType: "Favorite", |
| | | }; |
| | | this.MG.resource.delCmsItemLink(data).then((res) => { |
| | | if (res) { |
| | | this.loading = false; |
| | | this.$message({ |
| | | type: "success", |
| | | message: "åæ¶æ¶èæå!", |
| | | }); |
| | | this.getResourceData(); |
| | | } |
| | | }); |
| | | }) |
| | | .catch(() => { |
| | | this.$message({ |
| | | type: "info", |
| | | message: "已忶æä½", |
| | | }); |
| | | }); |
| | | }, |
| | | // å»å¾è¯¦æ
页 |
| | | toDetail(item) { |
| | | let LinkTag = item.datas.LinkTag; |
| | | // æ ¹æ®ä¸å页颿¶èç跳转ä¸åé¡µé¢ |
| | | let jumpPath = |
| | | LinkTag == "bookStore" ? "bookStore-detail" : "teachingServices-detail"; |
| | | this.saveInformation(); |
| | | this.$router.push({ |
| | | name: jumpPath, |
| | | query: { |
| | | id: item.id, |
| | | cmsPath: item.rootCmsItemId, |
| | | }, |
| | | }); |
| | | }, |
| | | //å»èµæºè¯¦æ
|
| | | preview(item) { |
| | | let previewType = item.caupress_fileType.split("_")[1]; |
| | | this.saveInformation(); |
| | | if (previewType == "zip") { |
| | | this.$message({ |
| | | type: "warning", |
| | | message: "æ¤æä»¶ç±»å䏿¯æé¢è§", |
| | | }); |
| | | } else { |
| | | this.$router.push({ |
| | | name: `preview-${previewType}`, |
| | | query: { |
| | | md5: item.caupress_file, |
| | | titleName: item.name, |
| | | }, |
| | | }); |
| | | } |
| | | }, |
| | | // å¤çå½å½å页é¢çæ°æ®å·²å
¨é¨åæ¶æ¶èåï¼è·³è½¬è³åä¸é¡µ |
| | | JumpToPreviousPage(datas) { |
| | | if (this.paginationData.page > 1 && datas.length == 0) { |
| | | this.paginationData.page -= 1; |
| | | this.getBookData(); |
| | | } |
| | | }, |
| | | // ä¿åå½å页é¢ä¿¡æ¯ï¼ç¨äºè¯¦æ
页è¿åæ¶æ¢å¤é¡µé¢æ°æ® |
| | | saveInformation() { |
| | | localStorage.setItem( |
| | | "searchPage", |
| | | JSON.stringify({ ...this.paginationData }) |
| | | ); |
| | | localStorage.setItem("selectedTab", JSON.stringify(2)); |
| | | localStorage.setItem("insideTabs", JSON.stringify(this.paymentStatus)); |
| | | }, |
| | | }, |
| | | }; |
| | | </script> |
| | | <style lang="less" scoped> |
| | | .title { |
| | | font-size: 18px; |
| | | font-weight: 700; |
| | | letter-spacing: 1.8px; |
| | | border-top: 2px solid #008e3f; |
| | | line-height: 36px; |
| | | padding-left: 40px; |
| | | background: #d8f7e6; |
| | | line-height: 60px; |
| | | color: #00873c; |
| | | .splitline { |
| | | width: 1px; |
| | | height: 24px; |
| | | background-color: #008e3f; |
| | | } |
| | | } |
| | | .spaceBetween { |
| | | padding-left: 0; |
| | | display: flex; |
| | | justify-content: space-evenly; |
| | | align-items: center; |
| | | span { |
| | | font-weight: 400; |
| | | } |
| | | .paymentStatus { |
| | | font-weight: 700; |
| | | } |
| | | .place { |
| | | cursor: pointer; |
| | | } |
| | | } |
| | | .content { |
| | | min-height: 600px; |
| | | padding: 40px 40px 0 40px; |
| | | .cancelCollection { |
| | | cursor: pointer; |
| | | float: right; |
| | | color: #e50021; |
| | | } |
| | | .bookItem { |
| | | display: flex; |
| | | justify-content: space-between; |
| | | border-bottom: 1px solid #eeeeee; |
| | | padding-bottom: 40px; |
| | | margin-bottom: 40px; |
| | | .wrapImg { |
| | | position: relative; |
| | | border: 1px solid #e6e6e6; |
| | | background: #ffffff; |
| | | width: 150px; |
| | | height: 200px; |
| | | } |
| | | .information { |
| | | width: 520px; |
| | | font-size: 16px; |
| | | .name { |
| | | cursor: pointer; |
| | | width: 450px; |
| | | display: inline-block; |
| | | font-size: 24px; |
| | | font-weight: 700; |
| | | line-height: 24px; |
| | | padding-bottom: 20px; |
| | | color: #333333; |
| | | } |
| | | |
| | | .author { |
| | | color: #666666; |
| | | padding: 8px 0; |
| | | } |
| | | .payPrice { |
| | | color: #333333; |
| | | padding: 14px 0; |
| | | span { |
| | | font-size: 14px; |
| | | color: #e50021; |
| | | span { |
| | | font-size: 24px; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | .resourcesItem { |
| | | font-size: 16px; |
| | | color: #666; |
| | | display: flex; |
| | | line-height: 50px; |
| | | > span { |
| | | width: 50%; |
| | | } |
| | | } |
| | | } |
| | | .pageinateBox { |
| | | text-align: center; |
| | | padding: 40px 0; |
| | | :deep(.el-pagination.is-background .btn-next) { |
| | | padding: 0 10px; |
| | | } |
| | | :deep(.el-pagination.is-background .btn-prev) { |
| | | padding: 0 10px; |
| | | } |
| | | } |
| | | .resourcesPre { |
| | | cursor: pointer; |
| | | } |
| | | </style> |
New file |
| | |
| | | <template> |
| | | <div> |
| | | <div class="title spaceBetween"> |
| | | <span |
| | | :class="paymentStatus == 0 ? 'paymentStatus' : 'place'" |
| | | @click="changeTabs(0)" |
| | | >å
¨é¨</span |
| | | > |
| | | <span class="splitline"></span> |
| | | <span |
| | | :class="paymentStatus == 1 ? 'paymentStatus' : 'place'" |
| | | @click="changeTabs(1)" |
| | | >å·²æ¯ä»</span |
| | | > |
| | | <span class="splitline"></span> |
| | | <span |
| | | :class="paymentStatus == 2 ? 'paymentStatus' : 'place'" |
| | | @click="changeTabs(2)" |
| | | >å¾
æ¯ä»</span |
| | | > |
| | | </div> |
| | | |
| | | <div class="content" v-loading="orderListloading"> |
| | | <el-empty |
| | | v-if="orderList.length == 0" |
| | | :image-size="200" |
| | | description="ææ æ°æ®" |
| | | ></el-empty> |
| | | <template v-else> |
| | | <div class="" v-for="(item, index) in orderList" :key="index"> |
| | | <div class="orderNum"> |
| | | <span>订åç¼å·ï¼{{ item.orderNumber }}</span> |
| | | <span>åå»ºæ¥æï¼{{ item.createDate.split("T")[0] }}</span> |
| | | </div> |
| | | <div class="bookItem"> |
| | | <div class="wrapImg"> |
| | | <img |
| | | class="autoImg" |
| | | :src=" |
| | | getPublicImage( |
| | | item.saleMethodLinks[0].orderSaleMethod.product.icon |
| | | ) |
| | | " |
| | | alt="" |
| | | /> |
| | | </div> |
| | | <div class="information"> |
| | | <div> |
| | | <span |
| | | class="name ellipsis" |
| | | :title="item.saleMethodLinks[0].orderSaleMethod.product.name" |
| | | >{{ |
| | | item.saleMethodLinks[0].orderSaleMethod.product.name |
| | | }}</span |
| | | > |
| | | <span |
| | | style="float: right; color: #00873c" |
| | | v-if="item.state == 'Success'" |
| | | >å·²æ¯ä»</span |
| | | > |
| | | <span |
| | | style="float: right; color: #e50021" |
| | | v-else-if="item.state == 'WaitPay'" |
| | | >å¾
æ¯ä»</span |
| | | > |
| | | <span |
| | | style="float: right; color: #ccc" |
| | | v-else-if="item.state == 'Cancel'" |
| | | >已忶</span |
| | | > |
| | | </div> |
| | | <!-- <p class="author"> |
| | | ä½è
ï¼{{ item.author }} |
| | | </p> --> |
| | | <p class="payPrice"> |
| | | æ¯ä»ä»·æ ¼ï¼ |
| | | <span |
| | | >ï¿¥ <span>{{ item.payPrice }}</span> |
| | | </span> |
| | | </p> |
| | | <p class="quantity">æ°éï¼{{ item.saleMethodLinks[0].count }}</p> |
| | | <!-- ä¸éè¦æ¾ç¤ºå¿«éæ¶æ¯ 10988 --> |
| | | <!-- <div class="express" v-if="item.state == 'Success'"> |
| | | <p>å¿«éä¿¡æ¯ï¼{{ item.expressCompany }}</p> |
| | | <p>å¿«éåå·ï¼{{ item.courierNumber }}</p> |
| | | <p class="ellipsis" :title="item.receivingInformation"> |
| | | æ¶è´§ä¿¡æ¯ï¼ {{ item.receivingInformation }} |
| | | </p> |
| | | </div> --> |
| | | <!-- |
| | | 2023-04-11 ææ¶å±è½ |
| | | <div class="succeeded" v-if="item.state == 'Success'"> |
| | | <el-button |
| | | size="medium" |
| | | @click=" |
| | | () => { |
| | | drawABill = true; |
| | | } |
| | | " |
| | | >å¼å
·å票</el-button |
| | | > |
| | | </div> --> |
| | | <div class="unpaid" v-if="item.state == 'WaitPay'"> |
| | | <el-button size="medium" @click="toPay(item.orderNumber)" |
| | | >ç«å³æ¯ä»</el-button |
| | | > |
| | | <el-button |
| | | type="danger" |
| | | plain |
| | | @click="cancelOrder(item.orderNumber)" |
| | | >åæ¶è®¢å</el-button |
| | | > |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | </div> |
| | | |
| | | <!-- å¼å
·åç¥¨æ¨¡ææ¡ --> |
| | | <el-dialog |
| | | v-loading="loading" |
| | | title="æç¤º" |
| | | :visible="drawABill" |
| | | width="40%" |
| | | :before-close="handleClose" |
| | | > |
| | | <el-form |
| | | :model="billData" |
| | | ref="form" |
| | | label-position="left" |
| | | :rules="rules" |
| | | label-width="130px" |
| | | > |
| | | <el-form-item label="å票类å"> å¢å¼ç¨çº¸è´¨æ®éå票 </el-form-item> |
| | | <el-form-item label="æ¬å¤´ç±»å"> |
| | | <el-radio v-model="billData.type" label="1">个人æäºä¸åä½</el-radio> |
| | | <el-radio v-model="billData.type" label="2">å
¬å¸</el-radio> |
| | | </el-form-item> |
| | | <el-form-item label="å票æ¬å¤´" prop="name"> |
| | | <el-input |
| | | v-model="billData.name" |
| | | placeholder="请填åéè¦å¼å
·å票çå§å" |
| | | ></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="å票å
容" prop="phone"> |
| | | <el-input v-model="billData.content" placeholder="æç»"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="æ¶è´§å°å" prop="phone"> |
| | | <el-radio |
| | | v-model="billData.type" |
| | | label="2" |
| | | v-for="(item, index) in addressList" |
| | | :key="index" |
| | | > |
| | | <div></div> |
| | | <span> |
| | | {{ item.city + item.address }} |
| | | </span> |
| | | <div>{{ item.name }} {{ item.tel }}</div> |
| | | </el-radio> |
| | | </el-form-item> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button @click="dialogVisible = false">å æ¶</el-button> |
| | | <el-button type="primary" @click="dialogVisible = false" |
| | | >ç¡® å®</el-button |
| | | > |
| | | </span> |
| | | </el-form> |
| | | </el-dialog> |
| | | <!-- å页 --> |
| | | <div class="pageinateBox" v-if="orderList.length > 0"> |
| | | <el-pagination |
| | | @size-change=" |
| | | (val) => { |
| | | paginationData.limit = val; |
| | | getData(); |
| | | } |
| | | " |
| | | @current-change=" |
| | | (val) => { |
| | | paginationData.page = val; |
| | | getData(); |
| | | } |
| | | " |
| | | background="" |
| | | :current-page="paginationData.page - 0" |
| | | :page-size="paginationData.limit" |
| | | prev-text="ä¸ä¸é¡µ" |
| | | next-text="ä¸ä¸é¡µ" |
| | | layout="total, prev, pager, next, slot, jumper" |
| | | :total="paginationData.totalCount" |
| | | > |
| | | </el-pagination> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | <script> |
| | | import { getPublicImage } from "@/assets/js/middleGround/tool"; |
| | | |
| | | export default { |
| | | data() { |
| | | return { |
| | | orderList: [], |
| | | paginationData: { |
| | | page: 1, |
| | | totalCount: 0, |
| | | limit: 5, |
| | | totalPage: 0, |
| | | }, |
| | | orderListloading: false, |
| | | paymentStatus: 0, |
| | | drawABill: false, // å¼å
·åç¥¨æ¨¡ææ¡æ¯å¦å±ç¤º |
| | | billData: { |
| | | type: 1, // å票类åï¼é»è®¤ä¸ºä¸ªäºº |
| | | name: "", // å¼å票çå§å |
| | | content: "", // å票å
容 |
| | | address: "", // å票å°å |
| | | }, // åç¥¨ä¿¡æ¯ |
| | | rules: { |
| | | name: [ |
| | | { |
| | | required: true, |
| | | message: "请填åéè¦å¼å
·å票çå§å", |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | }, |
| | | addressList: [], // ç¨æ·å°å |
| | | loading: false, |
| | | }; |
| | | }, |
| | | created() { |
| | | this.getData(); |
| | | this.getAddress(); |
| | | }, |
| | | methods: { |
| | | getPublicImage, |
| | | changeTabs(index) { |
| | | this.paymentStatus = index; |
| | | this.getData(); |
| | | }, |
| | | getData() { |
| | | this.orderListloading = true; |
| | | let { limit, page } = this.paginationData; |
| | | |
| | | let filterList = []; |
| | | |
| | | if (this.paymentStatus != 0) { |
| | | filterList = [ |
| | | { |
| | | value: this.paymentStatus == 1 ? "Success" : "WaitPay", |
| | | field: "State", |
| | | }, |
| | | ]; |
| | | } |
| | | |
| | | let query = { |
| | | size: limit, |
| | | start: limit * page - limit, |
| | | sort: { |
| | | type: "Desc", |
| | | field: "CreateDate", |
| | | }, |
| | | filterList, |
| | | }; |
| | | this.MG.store.getUserOrderList(query).then((res) => { |
| | | this.orderListloading = false; |
| | | this.orderList = res.datas; |
| | | this.paginationData.totalCount = res.totalSize; |
| | | }); |
| | | }, |
| | | toPay(orderNumber) { |
| | | this.$router.push({ |
| | | name: "bookStore-order", |
| | | query: { |
| | | orderNum: orderNumber, |
| | | }, |
| | | }); |
| | | }, |
| | | handleClose(done) { |
| | | this.$confirm("ç¡®å®åæ¶å¼å
·å票å?") |
| | | .then(() => { |
| | | this.drawABill = false; |
| | | }) |
| | | .catch((_) => {}); |
| | | }, |
| | | // è·åææå°å |
| | | getAddress() { |
| | | this.loading = true; |
| | | this.MG.identity.getCurrentAppUser().then((res) => { |
| | | this.loading = false; |
| | | let storeInfoList = res.infoList.find((i) => i.type == "Address"); |
| | | if (storeInfoList && storeInfoList.data) { |
| | | this.addressList = JSON.parse(storeInfoList.data); |
| | | } else { |
| | | // ç¨æ·ä¸ºç¬¬ä¸æ¬¡æ·»å å°åï¼åå½åæéå°å为é»è®¤å°å |
| | | this.addressItem.ifdefalut = true; |
| | | } |
| | | }); |
| | | }, |
| | | // åæ¶è®¢å |
| | | cancelOrder(orderNum) { |
| | | this.$confirm("ç¡®å®åæ¶æ¯ä»", "æç¤º", { |
| | | type: "warning", |
| | | }) |
| | | .then(() => { |
| | | let query = { |
| | | orderNum: orderNum, |
| | | }; |
| | | this.MG.store.cancelOrder(query).then((res) => { |
| | | this.$message({ |
| | | type: "success", |
| | | message: "订å已忶", |
| | | }); |
| | | this.getData(); |
| | | }); |
| | | }) |
| | | .catch(() => {}); |
| | | }, |
| | | }, |
| | | }; |
| | | </script> |
| | | <style lang="less" scoped> |
| | | .title { |
| | | font-size: 18px; |
| | | font-weight: 700; |
| | | letter-spacing: 1.8px; |
| | | border-top: 2px solid #008e3f; |
| | | line-height: 36px; |
| | | padding-left: 40px; |
| | | background: #d8f7e6; |
| | | line-height: 60px; |
| | | color: #00873c; |
| | | .splitline { |
| | | width: 1px; |
| | | height: 24px; |
| | | background-color: #008e3f; |
| | | } |
| | | } |
| | | .spaceBetween { |
| | | padding-left: 0; |
| | | display: flex; |
| | | justify-content: space-evenly; |
| | | align-items: center; |
| | | span { |
| | | font-weight: 400; |
| | | } |
| | | .paymentStatus { |
| | | font-weight: 700; |
| | | } |
| | | .place { |
| | | cursor: pointer; |
| | | } |
| | | } |
| | | .content { |
| | | padding: 40px 40px 0 40px; |
| | | .orderNum { |
| | | font-size: 16px; |
| | | display: flex; |
| | | justify-content: space-between; |
| | | align-items: center; |
| | | margin-bottom: 40px; |
| | | } |
| | | .bookItem { |
| | | display: flex; |
| | | justify-content: space-between; |
| | | border-bottom: 1px solid #eeeeee; |
| | | padding-bottom: 40px; |
| | | margin-bottom: 40px; |
| | | .wrapImg { |
| | | border: 1px solid #e6e6e6; |
| | | background: #ffffff; |
| | | width: 150px; |
| | | height: 200px; |
| | | position: relative; |
| | | } |
| | | .information { |
| | | width: 520px; |
| | | font-size: 16px; |
| | | .name { |
| | | display: inline-block; |
| | | width: 460px; |
| | | font-size: 24px; |
| | | font-weight: 700; |
| | | line-height: 24px; |
| | | color: #333333; |
| | | } |
| | | .author { |
| | | font-weight: 400; |
| | | color: #666666; |
| | | padding: 14px 0; |
| | | } |
| | | .payPrice { |
| | | color: #333333; |
| | | padding: 14px 0; |
| | | span { |
| | | font-size: 14px; |
| | | color: #e50021; |
| | | span { |
| | | font-size: 24px; |
| | | } |
| | | } |
| | | } |
| | | .quantity { |
| | | color: #333333; |
| | | padding: 5px 0; |
| | | padding-bottom: 20px; |
| | | } |
| | | .express { |
| | | height: 70px; |
| | | background: #f2f7f4; |
| | | border-radius: 4px; |
| | | padding: 10px; |
| | | color: #666666; |
| | | font-size: 14px; |
| | | line-height: 24px; |
| | | margin-bottom: 30px; |
| | | } |
| | | .succeeded { |
| | | :deep(.el-button--medium) { |
| | | padding: 11px 27px; |
| | | border: 1px solid #00873c; |
| | | color: #00873c; |
| | | font-size: 16px; |
| | | } |
| | | } |
| | | // .unpaid { |
| | | // } |
| | | .pay { |
| | | :deep(.el-button--medium) { |
| | | padding: 11px 27px; |
| | | border: 1px solid #e50021; |
| | | color: #e50021; |
| | | font-size: 16px; |
| | | } |
| | | } |
| | | .cancel { |
| | | :deep(.el-button--medium) { |
| | | padding: 11px 27px; |
| | | // border: 1px solid yellow; |
| | | color: #fff; |
| | | font-size: 16px; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | .pageinateBox { |
| | | text-align: center; |
| | | padding: 40px 0; |
| | | :deep(.el-pagination.is-background .btn-next) { |
| | | padding: 0 10px; |
| | | } |
| | | :deep(.el-pagination.is-background .btn-prev) { |
| | | padding: 0 10px; |
| | | } |
| | | } |
| | | </style> |
New file |
| | |
| | | <template> |
| | | <div class="wrap" v-loading="loading"> |
| | | <el-empty |
| | | description="ææ æ°æ®" |
| | | class="empty" |
| | | :image-size="200" |
| | | v-if="orderList.length == 0" |
| | | ></el-empty> |
| | | <template v-else> |
| | | <div class="bookItem" v-for="(item, index) in orderList" :key="index"> |
| | | <div class="orderInformation"> |
| | | <span class="primaryTxt" v-if="item.state == 'Normal'" |
| | | >å®¡æ ¸ç¶æï¼ |
| | | <template>éè¿</template> |
| | | </span> |
| | | <span class="toBeReviewed" v-else-if="item.state == 'WaitAudit'" |
| | | >å®¡æ ¸ç¶æï¼ |
| | | <template>å®¡æ ¸ä¸</template> |
| | | </span> |
| | | <span class="auditFailed" v-else-if="item.state == 'Reject'" |
| | | >å®¡æ ¸ç¶æï¼ |
| | | <template>å®¡æ ¸å¤±è´¥</template> |
| | | </span> |
| | | <span> |
| | | <span class="c999">ç³è¯·æ¥æï¼</span> |
| | | {{ item.createDate }}</span |
| | | > |
| | | <div class="reason" v-if="item.state == 'Reject'"> |
| | | <p class="reasonIntroduction"> |
| | | <span class="c999">çç±ï¼</span> |
| | | <span class="reasonContent"> |
| | | {{ item.feedBack.reason ? item.feedBack.reason : "-" }} |
| | | </span> |
| | | </p> |
| | | </div> |
| | | <span v-if="item.state == 'Normal'"> |
| | | <span class="c999">å¿«éåå·ï¼</span> |
| | | {{ item.feedBack.mailNum || "-" }}</span |
| | | > |
| | | <span v-if="item.state == 'Normal'"> |
| | | <span class="c999">å¿«éå
¬å¸ï¼</span> |
| | | {{ item.feedBack.mailName || "-" }}</span |
| | | > |
| | | </div> |
| | | <div class="orderBookList"> |
| | | <div |
| | | v-for="(itemBook, index) in item.content" |
| | | style="cursor: pointer" |
| | | class="orderBook" |
| | | :key="index" |
| | | @click="toDetail(itemBook)" |
| | | > |
| | | <div class="wrapImg"> |
| | | <img class="autoImg" :src="itemBook.icon" alt="" /> |
| | | </div> |
| | | <p style="width: 150px" class="ellipsis" :title="itemBook.title"> |
| | | {{ itemBook.title }} |
| | | </p> |
| | | <p style="width: 150px" class="c999 ellipsis">{{ itemBook.author }}</p> |
| | | </div> |
| | | </div> |
| | | <div v-if="item.state == 'Reject'" @click="deleteItem(item)"> |
| | | <i class="el-icon-delete-solid red"></i> |
| | | </div> |
| | | </div> |
| | | <!-- å页 --> |
| | | <div class="pageinateBox" v-if="orderList.length > 0"> |
| | | <el-pagination |
| | | @size-change=" |
| | | (val) => { |
| | | paginationData.limit = val; |
| | | getData(); |
| | | } |
| | | " |
| | | @current-change=" |
| | | (val) => { |
| | | paginationData.page = val; |
| | | getData(); |
| | | } |
| | | " |
| | | background="" |
| | | :current-page="paginationData.page - 0" |
| | | :page-size="paginationData.limit" |
| | | prev-text="ä¸ä¸é¡µ" |
| | | next-text="ä¸ä¸é¡µ" |
| | | layout="total, prev, pager, next, slot, jumper" |
| | | :total="paginationData.totalCount" |
| | | > |
| | | </el-pagination> |
| | | </div> |
| | | </template> |
| | | </div> |
| | | </template> |
| | | <script> |
| | | export default { |
| | | data() { |
| | | return { |
| | | orderList: [], |
| | | orderBookList: [], |
| | | loading: true, |
| | | paginationData: { |
| | | page: 1, |
| | | totalCount: 0, |
| | | limit: 5, |
| | | totalPage: 0, |
| | | }, |
| | | }; |
| | | }, |
| | | created() { |
| | | this.getData(); |
| | | }, |
| | | methods: { |
| | | getData() { |
| | | this.loading = true; |
| | | let { limit, page } = this.paginationData; |
| | | |
| | | const data = { |
| | | start: limit * page - limit, |
| | | size: limit, |
| | | sort: { |
| | | field: "createDate", |
| | | type: "Desc", |
| | | }, |
| | | appRefCode: this.config.appRefCode, |
| | | topicIdOrRefCode: this.config.refCodes.applyEntityBook, |
| | | }; |
| | | this.MG.ugc.getTopicMessageList(data).then((res) => { |
| | | this.loading = false; |
| | | try { |
| | | this.paginationData.totalCount = res.totalSize; |
| | | |
| | | if (res && res.datas.length > 0) { |
| | | let list = []; |
| | | for (let i = 0; i < res.datas.length; i++) { |
| | | const ele = res.datas[i]; |
| | | ele.createDate = ele.createDate.split("T")[0]; |
| | | if (ele.content) { |
| | | ele.content = JSON.parse(ele.content); |
| | | } |
| | | if (ele.feedBack) { |
| | | ele.feedBack = JSON.parse(ele.feedBack); |
| | | } |
| | | list.push(ele); |
| | | } |
| | | this.orderList = list; |
| | | } |
| | | } catch (error) { |
| | | this.orderList = []; |
| | | } |
| | | }); |
| | | }, |
| | | toDetail(row) { |
| | | console.log(row); |
| | | if (row.id && row.cmsPath) { |
| | | let url = this.$router.resolve({ |
| | | name: "teachingServices-detail", |
| | | query: { |
| | | id: row.id, |
| | | cmsPath: row.cmsPath, |
| | | }, |
| | | }); |
| | | window.open(url.href, "_blank"); |
| | | } |
| | | }, |
| | | deleteItem(item) { |
| | | this.$confirm("ç¡®å®ç§»é¤åï¼", "æç¤º", { |
| | | confirmButtonText: "ç¡®å®", |
| | | cancelButtonText: "åæ¶", |
| | | type: "warning", |
| | | }) |
| | | .then(() => { |
| | | const data = { |
| | | messageIds: [item.id], |
| | | }; |
| | | this.MG.ugc.delTopicMessage(data).then((res) => { |
| | | if (res) { |
| | | this.$message({ |
| | | type: "success", |
| | | message: "已移é¤è¯¥çº¸è´¨æ ·ä¹¦!", |
| | | }); |
| | | this.getData(); |
| | | } |
| | | }); |
| | | }) |
| | | .catch(() => { |
| | | this.$message({ |
| | | type: "fail", |
| | | message: "åæ¶æä½!", |
| | | }); |
| | | }); |
| | | }, |
| | | }, |
| | | }; |
| | | </script> |
| | | <style lang="less" scoped> |
| | | .wrap { |
| | | padding: 40px; |
| | | .tips { |
| | | padding: 20px; |
| | | background: #f2f7f4; |
| | | border-radius: 4px; |
| | | font-size: 14px; |
| | | color: #666666; |
| | | } |
| | | .bookItem { |
| | | border-bottom: 1px solid #eeeeee; |
| | | padding-bottom: 40px; |
| | | // margin-bottom: 40px; |
| | | .spaceBetween { |
| | | width: 100%; |
| | | display: flex; |
| | | justify-content: space-between; |
| | | align-items: flex-end; |
| | | font-size: 18px; |
| | | font-weight: 700; |
| | | line-height: 24px; |
| | | } |
| | | .orderInformation { |
| | | background: #f2f7f4; |
| | | border-radius: 4px; |
| | | padding: 20px; |
| | | font-size: 16px; |
| | | color: #333333; |
| | | margin: 30px 0; |
| | | .auditFailed { |
| | | color: #e50021; |
| | | } |
| | | .toBeReviewed { |
| | | color: #d18252; |
| | | } |
| | | span { |
| | | display: inline-block; |
| | | width: 330px; |
| | | line-height: 40px; |
| | | } |
| | | .c999 { |
| | | display: inline; |
| | | color: #999; |
| | | } |
| | | .reason { |
| | | display: flex; |
| | | line-height: 28px; |
| | | padding: 20px 0; |
| | | .reasonIntroduction { |
| | | width: 590px; |
| | | display: inline-block; |
| | | line-height: 22px; |
| | | .reasonContent { |
| | | display: inline; |
| | | width: 100%; |
| | | line-height: 30px; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | .orderBookList { |
| | | display: flex; |
| | | justify-content: flex-start; |
| | | flex-wrap: wrap; |
| | | font-size: 16px; |
| | | color: #333; |
| | | .orderBook { |
| | | margin: 0 15px; |
| | | } |
| | | .wrapImg { |
| | | position: relative; |
| | | width: 150px; |
| | | height: 200px; |
| | | background-color: #f2f2f2; |
| | | border: 1px solid #e6e6e6; |
| | | } |
| | | > div > p { |
| | | margin: 10px 0; |
| | | } |
| | | .c999 { |
| | | color: #999; |
| | | } |
| | | } |
| | | .red { |
| | | font-size: 16px; |
| | | color: #e50021; |
| | | float: right; |
| | | cursor: pointer; |
| | | } |
| | | } |
| | | .pageinateBox { |
| | | text-align: center; |
| | | padding: 40px 0; |
| | | :deep(.el-pagination.is-background .btn-next) { |
| | | padding: 0 10px; |
| | | } |
| | | :deep(.el-pagination.is-background .btn-prev) { |
| | | padding: 0 10px; |
| | | } |
| | | } |
| | | } |
| | | </style> |
New file |
| | |
| | | <template> |
| | | <div class="wrap"> |
| | | <div class="title"> |
| | | å¦ä½ç³è¯·æ ·ä¹¦ |
| | | <p class="greenLine"></p> |
| | | </div> |
| | | <p class="content m40"> |
| | | æ ·ä¹¦ç³è¯·åè½åªé对æå¸å¼æ¾ï¼å¨æå¸èµæ ¼è®¤è¯å®æåï¼å¯ç³è¯·æ ·ä¹¦ã(æ¯ä½è叿¯æ¬¡åªè½ç³è¯·æ ·ä¹¦3æ¬ï¼æ¯å¹´3次ï¼ç³è¯·çæ ·ä¹¦é忍çä¸ä¸ç¸å
³ãï¼ |
| | | </p> |
| | | <p class="paragraphHeadings">æ ·ä¹¦ç³è¯·æä¸¤ç§æ¹å¼:</p> |
| | | <p class="content m25"> |
| | | 1.çº¸è´¨çæ ·ä¹¦ç³è¯·:卿éå¾ä¹¦ä¸ï¼ç¹å»æ ·ä¹¦ç³è¯·æé®ï¼éæ©çº¸è´¨çæ ·ä¹¦ç³è¯·ãæäº¤åï¼ä¸¤ä¸ªå·¥ä½æ¥å®¡æ ¸å¹¶åå¤ï¼å®¡æ ¸éè¿åï¼å¯æç
§æ¨å¡«åçå°åé®å¯ã |
| | | </p> |
| | | <p class="content m25b"> |
| | | 2.çµåçæ ·ä¹¦ç³è¯·:卿éå¾ä¹¦ä¸ï¼ç¹å»æ ·ä¹¦ç³è¯·æé®ï¼éæ©çµåççæ ·ä¹¦ç³è¯·ã注æï¼çµåçæ ·ä¹¦ä¸å¯ä¸è½½å¹¶æé
读æéï¼ä½¿ç¨å¨æä¸ºå®¡æ ¸éè¿åä¸å¨ã |
| | | </p> |
| | | <div class="buttonCombination"> |
| | | <el-button class="tearching" @click="toTeacherRegister" |
| | | >æå¸è®¤è¯</el-button |
| | | > |
| | | <el-button class="sampleBook" @click="teachingServices">æ ·ä¹¦é书æå¡</el-button> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | <script> |
| | | export default { |
| | | methods: { |
| | | //è·³è½¬è³æå¦æå¡ |
| | | teachingServices(){ |
| | | this.$router.push("/teachingServices/index") |
| | | }, |
| | | toTeacherRegister() { |
| | | // this.$router.push({ |
| | | // name: "personalCenter", |
| | | // }); |
| | | // æ´æ¹ç¶ç»ä»¶å¼ |
| | | this.$parent.changeSelected('1'); |
| | | // this.$route.query.changeSelected("1"); |
| | | } |
| | | } |
| | | }; |
| | | </script> |
| | | <style lang="less" scoped> |
| | | .wrap { |
| | | padding: 40px; |
| | | .title { |
| | | text-align: center; |
| | | font-size: 24px; |
| | | font-weight: 700; |
| | | letter-spacing: 1.8px; |
| | | .greenLine { |
| | | margin: 0 auto; |
| | | margin-top: 10px; |
| | | width: 60px; |
| | | height: 6px; |
| | | background-color: #00873c; |
| | | } |
| | | } |
| | | .content { |
| | | text-indent: 2em; |
| | | font-size: 18px; |
| | | font-weight: 400; |
| | | color: #333333; |
| | | line-height: 36px; |
| | | letter-spacing: 1.35px; |
| | | } |
| | | .m40 { |
| | | margin: 30px 0; |
| | | } |
| | | .m25 { |
| | | margin: 25px 0; |
| | | } |
| | | .paragraphHeadings { |
| | | font-size: 18px; |
| | | font-weight: 700; |
| | | color: #333333; |
| | | line-height: 36px; |
| | | letter-spacing: 1.35px; |
| | | } |
| | | .buttonCombination { |
| | | margin-top: 50px; |
| | | text-align: right; |
| | | .tearching { |
| | | border: 1px solid #00873c; |
| | | color: #00873c; |
| | | } |
| | | .sampleBook { |
| | | background: linear-gradient(0deg, #00873c 0%, #00aa4c 100%); |
| | | color: #fff; |
| | | } |
| | | } |
| | | } |
| | | </style> |
New file |
| | |
| | | <template> |
| | | <div class="teacherRegisterPage"> |
| | | <div class="teacherRegisterBox" v-loading="teacherRegisterLoading"> |
| | | <div class="teacherRegisterForm"> |
| | | <div class="zertifizierungsStatus"> |
| | | <span> å½åç¶æï¼ </span> |
| | | <span class="status-w" v-if="statusNow == 'WaitAudit'">çå¾
å®¡æ ¸</span> |
| | | <span class="status-s" v-if="statusNow == 'Normal'">已认è¯</span> |
| | | <span class="status-f" v-if="statusNow == 'Reject'"> |
| | | 已驳å |
| | | <p class="reason">åå ï¼ {{ reason ? reason : "-" }}</p> |
| | | </span> |
| | | <span class="status-b" v-if="statusNow == undefined">å¾
认è¯</span> |
| | | </div> |
| | | <el-form |
| | | :model="teacherRegisterForm" |
| | | ref="form" |
| | | :disabled="forbidden" |
| | | label-position="left" |
| | | :rules="rules" |
| | | label-width="130px" |
| | | > |
| | | <el-form-item label="å°åºï¼" prop="region"> |
| | | <div> |
| | | <el-cascader |
| | | size="large" |
| | | :options="options" |
| | | v-model="selectedOptions" |
| | | @change="handleChange" |
| | | > |
| | | </el-cascader> |
| | | </div> |
| | | </el-form-item> |
| | | <el-form-item label="èå¡ï¼" prop="post"> |
| | | <el-select |
| | | style="width: 100%" |
| | | v-model="teacherRegisterForm.post" |
| | | placeholder="è¯·éæ©èå¡" |
| | | > |
| | | <el-option |
| | | v-for="(item, index) in postData" |
| | | :key="index" |
| | | :label="item.name" |
| | | :value="item.name" |
| | | ></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="èç§°ï¼" prop="positionalTitle"> |
| | | <el-select |
| | | style="width: 100%" |
| | | v-model="teacherRegisterForm.positionalTitle" |
| | | placeholder="è¯·éæ©èç§°" |
| | | > |
| | | <el-option |
| | | v-for="(item, index) in positionalTitleData" |
| | | :key="index" |
| | | :label="item.name" |
| | | :value="item.name" |
| | | ></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="å¦åï¼" prop="education"> |
| | | <el-select |
| | | style="width: 100%" |
| | | v-model="teacherRegisterForm.education" |
| | | placeholder="è¯·éæ©å¦å" |
| | | > |
| | | <el-option |
| | | v-for="(item, index) in educationData" |
| | | :key="index" |
| | | :label="item.name" |
| | | :value="item.name" |
| | | ></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="å§åï¼" prop="fullName"> |
| | | <el-input |
| | | v-model="teacherRegisterForm.fullName" |
| | | placeholder="请è¾å
¥å§å" |
| | | ></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="ææºå·ï¼" prop="phone"> |
| | | <el-input |
| | | v-model="teacherRegisterForm.phone" |
| | | placeholder="请è¾å
¥ææºå·" |
| | | ></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="é®ç®±ï¼" prop="email"> |
| | | <el-input |
| | | v-model="teacherRegisterForm.email" |
| | | placeholder="请è¾å
¥ä½ çé®ç®±" |
| | | ></el-input> |
| | | </el-form-item> |
| | | <el-form-item v-if="SMSState" label="å¾å½¢éªè¯ç ï¼" prop="imgCode"> |
| | | <div class="flex"> |
| | | <el-input |
| | | v-model="teacherRegisterForm.imgCode" |
| | | placeholder="请è¾å
¥å¾å½¢éªè¯ç " |
| | | ></el-input> |
| | | <div class="imgCodeBox"> |
| | | <img :src="imgCode" alt="" @click="getImgCapcha" /> |
| | | </div> |
| | | </div> |
| | | </el-form-item> |
| | | <el-form-item |
| | | v-if="SMSState" |
| | | label="çä¿¡éªè¯ç ï¼" |
| | | prop="verificationCode" |
| | | > |
| | | <div class="flex"> |
| | | <el-input |
| | | v-model="teacherRegisterForm.verificationCode" |
| | | placeholder="请è¾å
¥çä¿¡éªè¯ç " |
| | | ></el-input> |
| | | <div class="imgCodeBox"> |
| | | <el-button |
| | | style="width: 100%" |
| | | @click="getVerifyCode" |
| | | :disabled="countDown != 0" |
| | | >{{ |
| | | countDown == 0 |
| | | ? "è·åçä¿¡éªè¯ç " |
| | | : "éªè¯ç (" + countDown + "s)" |
| | | }}</el-button |
| | | > |
| | | </div> |
| | | </div> |
| | | </el-form-item> |
| | | <el-form-item label="æå¨å¦æ ¡åç§°ï¼" prop="schoolName"> |
| | | <el-input |
| | | v-model="teacherRegisterForm.schoolName" |
| | | placeholder="请è¾å
¥æå¨å¦æ ¡åç§°" |
| | | ></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="详ç»å°åï¼" prop="detailedAddress"> |
| | | <el-input |
| | | v-model="teacherRegisterForm.detailedAddress" |
| | | placeholder="请è¾å
¥è¯¦ç»å°å" |
| | | ></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="æè¯¾ä¸ä¸ï¼" prop="lecturingSpecialty"> |
| | | <el-input |
| | | v-model="teacherRegisterForm.lecturingSpecialty" |
| | | placeholder="请è¾å
¥æè¯¾ä¸ä¸" |
| | | ></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="ç¸å
³è¯ä»¶ï¼" prop="relevantCertificates"> |
| | | <div class="lecturingSpecixalty"> |
| | | <el-upload |
| | | :file-list="teacherRegisterForm.relevantCertificates" |
| | | action="" |
| | | :limit="5" |
| | | :on-exceed=" |
| | | () => { |
| | | this.$message({ |
| | | message: 'æå¤ä¸ä¼ 5个æä»¶ï¼è¯·ç§»é¤å
¶ä»æä»¶ååä¸ä¼ ã', |
| | | type: 'warning', |
| | | }); |
| | | } |
| | | " |
| | | :http-request="beforeRead" |
| | | :multiple="false" |
| | | list-type="picture-card" |
| | | :before-remove="beforeDelimg" |
| | | :on-preview="handlePictureCardPreview" |
| | | :on-success="uploadSucceeded" |
| | | :on-error="uploadFailed" |
| | | :on-remove="handleRemove" |
| | | > |
| | | <i class="el-icon-plus"></i> |
| | | </el-upload> |
| | | </div> |
| | | </el-form-item> |
| | | <div class="notice"> |
| | | æ³¨ï¼æ¨èä¼å
ä¸ä¼ æ¨çæå¸è¯çµåçææ ¡å塿工ä½è¯æèº«ä»½è¯ |
| | | æ¯æä¸ä¼ jpgãpngæä»¶ |
| | | </div> |
| | | <div class="agreementState"> |
| | | <span |
| | | class="choose" |
| | | @click=" |
| | | () => { |
| | | if (!this.forbidden) { |
| | | this.agreementState = !this.agreementState; |
| | | } |
| | | } |
| | | " |
| | | > |
| | | <img |
| | | v-show="agreementState" |
| | | src="@/assets/images/personalCenter/choose.png" |
| | | alt="" |
| | | /> |
| | | </span> |
| | | <span |
| | | class="infoTxt" |
| | | @click=" |
| | | () => { |
| | | dialogVisible = true; |
| | | } |
| | | " |
| | | > |
| | | åæ |
| | | <span class="agreementBox">ãæå¸ä¼ååè®®ã</span> |
| | | </span> |
| | | </div> |
| | | <el-form-item> |
| | | <template v-if="forbidden"> |
| | | <div |
| | | @click=" |
| | | () => { |
| | | this.forbidden = false; |
| | | } |
| | | " |
| | | class="addAddressButton" |
| | | > |
| | | ä¿®æ¹ |
| | | </div> |
| | | </template> |
| | | <template v-else> |
| | | <div |
| | | class="addAddressButton greenButton aaa" |
| | | type="primary" |
| | | @click="teacherCertification()" |
| | | v-if="!topicId" |
| | | v-loading="subLoading" |
| | | > |
| | | æäº¤ |
| | | </div> |
| | | <div v-else> |
| | | <div |
| | | class="addAddressButton greenButton" |
| | | type="primary" |
| | | @click="updateSubmit()" |
| | | v-loading="subLoading" |
| | | > |
| | | æäº¤ |
| | | </div> |
| | | <div class="addAddressButton" @click="cancelEditor()">åæ¶</div> |
| | | </div> |
| | | </template> |
| | | </el-form-item> |
| | | </el-form> |
| | | <div class="express"> |
| | | <p class="title">认è¯è¯´æ</p> |
| | | <p> |
| | | æ¬æ¨¡ååªå¯¹æå¸å¼æ¾ã认è¯ä¿¡æ¯æäº¤åï¼ç½ç«ç®¡ç人åå°å¨ä¸ä¸ªå·¥ä½æ¥ä¹å
对æ¨ç认è¯ä¿¡æ¯è¿è¡å®¡æ ¸ï¼å®¡æ ¸éè¿åï¼åä½èå¸å¯ä»¥å¨æ¬ç½ç«è¿è¡è¯¾ä»¶ä¸è½½ãæ ·ä¹¦ç³è¯·çæä½ãæ¨çå®¡æ ¸è¿åº¦å¯å¨ä¸ªäººä¿¡æ¯ä¸æ¥çã |
| | | </p> |
| | | </div> |
| | | </div> |
| | | <el-dialog :visible.sync="dialogImageState"> |
| | | <img width="100%" :src="dialogImageUrl" alt="" /> |
| | | </el-dialog> |
| | | <el-dialog :visible.sync="dialogVisible"> |
| | | <div class="agreementName">{{ agreement.name }}</div> |
| | | <div class="protocolBox" v-html="agreement.protocolTxt"></div> |
| | | </el-dialog> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import { regionData, CodeToText, TextToCode } from "element-china-area-data"; |
| | | import { getPublicImage } from "@/assets/js/middleGround/tool"; |
| | | import { mapState } from "vuex"; |
| | | |
| | | export default { |
| | | name: "teacherRegister", |
| | | data() { |
| | | return { |
| | | teacherRegisterLoading: true, |
| | | subLoading: false, |
| | | teacherRegisterForm: { |
| | | region: "", |
| | | post: "", |
| | | positionalTitle: "", |
| | | education: "", |
| | | fullName: "", |
| | | phone: "", |
| | | email: "", |
| | | schoolName: "", |
| | | detailedAddress: "", |
| | | lecturingSpecialty: "", |
| | | imgCode: "", |
| | | verificationCode: "", |
| | | relevantCertificates: [], |
| | | }, |
| | | rules: { |
| | | region: [{ required: true, message: "è¯·éæ©å°åº", trigger: "change" }], |
| | | post: [{ required: true, message: "è¯·éæ©èå¡", trigger: "change" }], |
| | | positionalTitle: [ |
| | | { required: true, message: "è¯·éæ©èç§°", trigger: "change" }, |
| | | ], |
| | | education: [ |
| | | { required: true, message: "è¯·éæ©å¦å", trigger: "change" }, |
| | | ], |
| | | fullName: [{ required: true, message: "请è¾å
¥å§å", trigger: "blur" }], |
| | | phone: [ |
| | | { required: true, message: "请è¾å
¥ææºå·", trigger: "blur" }, |
| | | { |
| | | pattern: |
| | | /^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8}$/, |
| | | message: "请è¾å
¥æ£ç¡®ææºå·", |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | email: [ |
| | | { required: true, message: "请填åé®ç®±", trigger: "blur" }, |
| | | { |
| | | pattern: /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/, |
| | | message: "é®ç®±æ ¼å¼æ ¡éªå¤±è´¥ï¼è¯·è¾å
¥é®ç®±", |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | schoolName: [ |
| | | { required: true, message: "请è¾å
¥æå¨å¦æ ¡åç§°", trigger: "blur" }, |
| | | ], |
| | | detailedAddress: [ |
| | | { required: true, message: "请è¾å
¥è¯¦ç»å°å", trigger: "blur" }, |
| | | ], |
| | | lecturingSpecialty: [ |
| | | { required: true, message: "请è¾å
¥æè¯¾ä¸ä¸", trigger: "blur" }, |
| | | ], |
| | | relevantCertificates: [ |
| | | { required: true, message: "请ä¸ä¼ ç¸å
³è¯ä»¶", trigger: "blur" }, |
| | | ], |
| | | imgCode: [ |
| | | { required: true, message: "请è¾å
¥å¾å½¢éªè¯ç ", trigger: "blur" }, |
| | | { min: 4, max: 4, message: "请è¾å
¥ 4 ä½éªè¯ç ", trigger: "blur" }, |
| | | ], |
| | | verificationCode: [ |
| | | { required: true, message: "请è¾å
¥çä¿¡éªè¯ç ", trigger: "blur" }, |
| | | ], |
| | | }, |
| | | // åè®®å¾éç¶æ |
| | | agreementState: false, |
| | | // åè®®ææ¬ |
| | | agreement: { |
| | | name: "", |
| | | protocolTxt: "", |
| | | }, |
| | | postData: [], |
| | | positionalTitleData: [], |
| | | educationData: [], |
| | | countDown: 0, |
| | | options: regionData, |
| | | selectedOptions: "", |
| | | imgCode: "", |
| | | worksInfo: [], |
| | | topicId: null, |
| | | topicMessageList: [], |
| | | statusNow: undefined, |
| | | // 表åç¼è¾ç¶æ |
| | | forbidden: false, |
| | | // æ¥çå·²éä¸çå¾ç |
| | | dialogImageUrl: "", |
| | | // æ¥çå·²éä¸çå¾ç æ¾ç¤ºç¶æ |
| | | dialogImageState: false, |
| | | dialogVisible: false, |
| | | // æ§å¶ è·åææºéªè¯ç æ¯å¦å±ç¤º |
| | | SMSState: true, |
| | | // ææºå·å¯æ¬ï¼ç¨äºå¤æææºå·æ¯å¦æ´æ¹ |
| | | phoneCopy: "", |
| | | }; |
| | | }, |
| | | watch: { |
| | | "teacherRegisterForm.phone": { |
| | | deep: true, |
| | | handler: function (newV, oldV) { |
| | | if (oldV != "") { |
| | | if (newV != this.phoneCopy) { |
| | | // this.teacherRegisterForm.verificationCode = ""; |
| | | this.SMSState = true; |
| | | } else { |
| | | this.SMSState = false; |
| | | } |
| | | } |
| | | }, |
| | | }, |
| | | }, |
| | | mounted() { |
| | | this.getImgCapcha(); |
| | | this.getFieldData(); |
| | | this.getTypeItem(); |
| | | this.getTeacherAgreement(); |
| | | this.role = this.$store.role; |
| | | }, |
| | | computed: { |
| | | ...mapState(["userInfo"]), |
| | | }, |
| | | methods: { |
| | | // è·åæå¸åè®® |
| | | getTeacherAgreement() { |
| | | this.MG.resource |
| | | .getItem({ |
| | | path: "caupress_protocol", |
| | | fields: { |
| | | caupress_content: [], |
| | | }, |
| | | }) |
| | | .then((res) => { |
| | | try { |
| | | this.agreement.name = "æå¸ä¼ååè®®"; |
| | | const data = res.datas.find( |
| | | (e) => e.refCode == "caupress_teacherCertificationAgreement" |
| | | ); |
| | | this.agreement.protocolTxt = data |
| | | ? data.caupress_content |
| | | : "ææ åè®®"; |
| | | } catch (error) { |
| | | this.agreement.name = "æå¸ä¼ååè®®"; |
| | | this.agreement.protocolTxt = "ææ åè®®"; |
| | | } |
| | | }); |
| | | }, |
| | | // å°å¸è¾åº 转æ¢ä¸º ç´è¾å¸åç§°ï¼ä¸ºäºéåº element-china-area-data |
| | | handleChange(city) { |
| | | let cityStr = |
| | | CodeToText[city[0]] + |
| | | "/" + |
| | | CodeToText[city[1]] + |
| | | "/" + |
| | | CodeToText[city[2]]; |
| | | let cityArr = cityStr.split("/"); |
| | | if (cityArr[1] == "å¸è¾åº") { |
| | | cityArr[1] = cityArr[0]; |
| | | } |
| | | this.teacherRegisterForm.region = cityArr.join("/"); |
| | | }, |
| | | // è·åå¾å½¢éªè¯ç |
| | | getImgCapcha() { |
| | | this.MG.identity.getImgCode().then((res) => { |
| | | this.imgCode = "data:image/png;base64," + res; |
| | | }); |
| | | }, |
| | | // è·åéªè¯ç |
| | | getVerifyCode() { |
| | | let validateFieldList = []; |
| | | this.$refs.form.validateField(["phone", "imgCode"], (val) => { |
| | | // ç±äº validateField éªè¯ä¼è§¦å夿¬¡ï¼å½æ¯æ¬¡éªè¯éè¿åé½å¾æ°ç»éæ·»å 䏿¡æ°æ®ã |
| | | if (!val) { |
| | | validateFieldList.push("éè¿"); |
| | | } |
| | | // æ¤å¤ 2 为éªè¯åæ®µçæ°é |
| | | if (validateFieldList.length == 2) { |
| | | this.MG.identity |
| | | .getPhoneCode({ |
| | | phoneNumber: this.teacherRegisterForm.phone, |
| | | imageCaptcha: this.teacherRegisterForm.imgCode, |
| | | appRefCode: this.config.appRefCode, |
| | | }) |
| | | .then((res) => { |
| | | if ( |
| | | res == "éªè¯ç åéæå" || |
| | | res == "éªè¯ç åéé¢ç¹è¯·ç¨ååè¯" |
| | | ) { |
| | | this.$message({ |
| | | message: res, |
| | | type: "success", |
| | | }); |
| | | // å¼å¯çä¿¡éªè¯åè®¡æ¶ |
| | | this.getSecond(90); |
| | | } else { |
| | | this.$message({ |
| | | message: res, |
| | | type: "error", |
| | | }); |
| | | this.getImgCapcha(); |
| | | } |
| | | }); |
| | | } |
| | | }); |
| | | }, |
| | | // éªè¯ç åè®¡æ¶ |
| | | getSecond(time) { |
| | | if (!this.timer) { |
| | | this.countDown = time; |
| | | this.timer = setInterval(() => { |
| | | this.countDown--; |
| | | if (this.countDown == 0) { |
| | | clearInterval(this.timer); |
| | | this.timer = null; |
| | | } |
| | | }, 1000); |
| | | } |
| | | }, |
| | | // åæ¶ç¼è¾ |
| | | cancelEditor() { |
| | | this.$confirm("æ¯å¦åæ¶ç¼è¾ï¼") |
| | | .then((_) => { |
| | | this.forbidden = true; |
| | | // éæ°è·åæå¸è®¤è¯ä¿¡æ¯ |
| | | this.$refs["form"].clearValidate(); |
| | | this.getApplyTopicData(); |
| | | }) |
| | | .catch((_) => {}); |
| | | }, |
| | | // è·å䏿æ¡åæ®µæ°æ® |
| | | getFieldData() { |
| | | const data = { |
| | | refCodes: ["post", "positionalTitle", "education"], |
| | | }; |
| | | this.MG.store.getProductTypeField(data).then((res) => { |
| | | let post = res.find((item) => item.refCode == "post"); |
| | | let positionalTitle = res.find( |
| | | (item) => item.refCode == "positionalTitle" |
| | | ); |
| | | let education = res.find((item) => item.refCode == "education"); |
| | | try { |
| | | this.postData = JSON.parse(post.config).option; |
| | | } catch (error) { |
| | | this.postData = []; |
| | | } |
| | | try { |
| | | this.positionalTitleData = JSON.parse(positionalTitle.config).option; |
| | | } catch (error) { |
| | | this.positionalTitleData = []; |
| | | } |
| | | try { |
| | | this.educationData = JSON.parse(education.config).option; |
| | | } catch (error) { |
| | | this.educationData = []; |
| | | } |
| | | }); |
| | | }, |
| | | // 馿¬¡æäº¤ |
| | | teacherCertification() { |
| | | if (this.subLoading) return; |
| | | |
| | | this.subLoading = true; |
| | | this.$refs["form"].validate((valid) => { |
| | | if (valid) { |
| | | // 夿æ¯å¦åæäºåè®® |
| | | if (this.agreementState) { |
| | | // éªè¯çä¿¡éªè¯ç |
| | | if (this.teacherRegisterForm.verificationCode) { |
| | | let query = { |
| | | phoneNumber: this.teacherRegisterForm.phone, |
| | | smsCaptcha: this.teacherRegisterForm.verificationCode, |
| | | }; |
| | | this.MG.identity.verificationPhoneCode(query).then((res) => { |
| | | if (res) { |
| | | this.$message({ |
| | | message: "ææºå·éªè¯éè¿", |
| | | type: "success", |
| | | }); |
| | | |
| | | this.teacherRegisterLoading = true; |
| | | // ç§»é¤ ä¸ç¸å
³å±æ§ |
| | | delete this.teacherRegisterForm.verificationCode; |
| | | this.teacherRegisterForm.relevantCertificates.map((item) => { |
| | | delete item.status; |
| | | delete item.uid; |
| | | delete item.url; |
| | | delete item.percentage; |
| | | delete item.raw; |
| | | delete item.response; |
| | | delete item.size; |
| | | }); |
| | | const data = { |
| | | topicIdOrRefCode: "teacherRoleApproval", |
| | | name: this.teacherRegisterForm.fullName, |
| | | content: "", |
| | | state: "WaitAudit", |
| | | type: "teacherRegister", |
| | | cmsTypeRefCode: this.config.refCodes.teacherCertification, |
| | | newDataListRequest: this.tool.worksDataBytool( |
| | | this.worksInfo, |
| | | this.teacherRegisterForm, |
| | | this.teacherRegisterForm.relevantCertificates |
| | | ), |
| | | }; |
| | | let basicInfo = this.teacherRegisterForm; |
| | | const userInfo = { |
| | | requests: [ |
| | | { |
| | | data: JSON.stringify(basicInfo), |
| | | name: "æå¸è®¤è¯", |
| | | type: "teacherInfo", |
| | | }, |
| | | ], |
| | | }; |
| | | this.MG.identity.setAppUserInfo(userInfo).then((res) => { |
| | | if (res) { |
| | | this.MG.ugc.newTopicMessage(data).then((res) => { |
| | | if (res !== false) { |
| | | this.teacherRegisterLoading = false; |
| | | this.$message({ |
| | | message: "æå¸è®¤è¯å·²æäº¤å®¡æ ¸", |
| | | type: "success", |
| | | }); |
| | | // è·åtopicæäº¤çä¿¡æ¯ï¼ç¨äºåæ¾æ°æ® |
| | | this.subLoading = false; |
| | | this.getApplyTopicData(); |
| | | } else { |
| | | this.$message.error("ä¿¡æ¯æäº¤å¤±è´¥ï¼è¯·ç¨åéè¯"); |
| | | } |
| | | }); |
| | | } |
| | | }); |
| | | } else { |
| | | return this.$message({ |
| | | message: "ææºå·éªè¯å¤±è´¥ï¼è¯·å¡«åæ£ç¡®ççä¿¡éªè¯ç ", |
| | | type: "error", |
| | | }); |
| | | } |
| | | }); |
| | | } |
| | | } else { |
| | | this.$message({ |
| | | message: "请å¾éï¼åææå¸ä¼ååè®®", |
| | | type: "warning", |
| | | }); |
| | | } |
| | | } else { |
| | | return false; |
| | | } |
| | | }); |
| | | }, |
| | | // ä¿®æ¹åæäº¤ |
| | | updateSubmit() { |
| | | if (this.subLoading) return; |
| | | this.subLoading = true; |
| | | this.$refs["form"].validate((valid) => { |
| | | if (valid) { |
| | | // 夿æ¯å¦åæäºåè®® |
| | | if (this.agreementState) { |
| | | // éªè¯çä¿¡éªè¯ç |
| | | if (this.SMSState) { |
| | | this.teacherRegisterLoading = true; |
| | | let query = { |
| | | phoneNumber: this.teacherRegisterForm.phone, |
| | | smsCaptcha: this.teacherRegisterForm.verificationCode, |
| | | }; |
| | | this.MG.identity |
| | | .verificationPhoneCode(query) |
| | | .then((res) => { |
| | | return new Promise((resolve, reject) => { |
| | | this.subLoading = false; |
| | | if (res) { |
| | | this.$message({ |
| | | message: "ææºå·éªè¯éè¿", |
| | | type: "success", |
| | | }); |
| | | resolve(); |
| | | } else { |
| | | this.teacherRegisterLoading = false; |
| | | this.$message({ |
| | | message: "ææºå·éªè¯å¤±è´¥ï¼è¯·å¡«åæ£ç¡®ççä¿¡éªè¯ç ", |
| | | type: "error", |
| | | }); |
| | | // éç½®å¾å½¢éªè¯ç å çä¿¡éªè¯ç |
| | | this.getImgCapcha(); |
| | | this.teacherRegisterForm.imgCode = ""; |
| | | this.teacherRegisterForm.verificationCode = ""; |
| | | reject(); |
| | | } |
| | | }); |
| | | }) |
| | | .then((res) => { |
| | | this.submitTeacherCertification(); |
| | | }); |
| | | } else { |
| | | this.submitTeacherCertification(); |
| | | } |
| | | } |
| | | } |
| | | }); |
| | | }, |
| | | // æ´æ°ç¨æ·ä¿¡æ¯ |
| | | submitTeacherCertification() { |
| | | this.teacherRegisterForm.relevantCertificates.map((item) => { |
| | | delete item.status; |
| | | delete item.uid; |
| | | delete item.url; |
| | | delete item.percentage; |
| | | delete item.raw; |
| | | delete item.response; |
| | | delete item.size; |
| | | }); |
| | | const data = { |
| | | description: "", |
| | | icon: "", |
| | | id: this.topicId, |
| | | topicIdOrRefCode: "teacherRoleApproval", |
| | | name: this.teacherRegisterForm.fullName, |
| | | content: "", |
| | | type: "teacherRegister", |
| | | state: "WaitAudit", |
| | | newDataRequests: [], |
| | | updateDataRequests: this.tool.UpdateworksDataBytool( |
| | | this.worksInfo, |
| | | this.topicMessageList, |
| | | this.teacherRegisterForm, |
| | | this.teacherRegisterForm.relevantCertificates |
| | | ), |
| | | delDataRequest: { |
| | | ids: [], |
| | | }, |
| | | }; |
| | | let basicInfo = this.teacherRegisterForm; |
| | | const userInfo = { |
| | | requests: [ |
| | | { |
| | | data: JSON.stringify(basicInfo), |
| | | name: "æå¸è®¤è¯", |
| | | type: "teacherInfo", |
| | | }, |
| | | ], |
| | | }; |
| | | this.MG.identity.setAppUserInfo(userInfo).then((res) => { |
| | | if (res) { |
| | | this.MG.ugc.updateTopicMessage(data).then((res) => { |
| | | this.subLoading = false; |
| | | if (res !== false) { |
| | | this.teacherRegisterLoading = false; |
| | | this.getApplyTopicData(); |
| | | } |
| | | }); |
| | | } |
| | | }); |
| | | }, |
| | | // ä¸ä¼ å¾ç |
| | | beforeRead(file) { |
| | | this.isLoding = true; |
| | | return new Promise((resolve, reject) => { |
| | | const FileName = file.file.name.split(".")[0]; |
| | | const Extension = file.file.name.split(".")[1]; |
| | | const FileType = file.file.type; |
| | | if (FileType != "image/jpeg" && FileType != "image/png") { |
| | | this.$message({ |
| | | message: "æä»¶æ ¼å¼ä¸å
许ï¼åªå
许ä¸ä¼ å¾çæ ¼å¼", |
| | | type: "error", |
| | | }); |
| | | return reject(); |
| | | } |
| | | let size = 1024; |
| | | this.tool |
| | | .getFileMd5(file.file, size * 1024) |
| | | .then((e) => { |
| | | this.isLoding = false; |
| | | const imgData = new FormData(); |
| | | this.fileMd5 = e; |
| | | imgData.append("Md5", e); |
| | | imgData.append("FileName", FileName); |
| | | imgData.append("Extension", Extension); |
| | | imgData.append("FileType", FileType); |
| | | imgData.append("MetaData", null); |
| | | imgData.append("file", file.file); |
| | | this.MG.file.upload(imgData).then((res) => { |
| | | if (res == "æä»¶ä¸ä¼ æå") { |
| | | this.$message({ |
| | | message: "å¾çä¸ä¼ æå", |
| | | type: "success", |
| | | }); |
| | | resolve(e); |
| | | } else { |
| | | reject(); |
| | | } |
| | | }); |
| | | }) |
| | | .catch((e) => { |
| | | this.isLoding = false; |
| | | console.error(e); |
| | | reject(); |
| | | }); |
| | | }); |
| | | }, |
| | | // ä¸ä¼ å¾çæååçå¤ç |
| | | uploadSucceeded(res, file, filelist) { |
| | | filelist[filelist.length - 1].md5 = res; |
| | | this.teacherRegisterForm.relevantCertificates = filelist; |
| | | this.$refs["form"].validate(() => {}); |
| | | }, |
| | | // å 餿件ä¹åçé©å |
| | | beforeDelimg() { |
| | | return this.$confirm(`ç¡®å®ç§»é¤è¯ä»¶ç
§åï¼`); |
| | | }, |
| | | // ç§»é¤å¾ç |
| | | handleRemove(file, filelist) { |
| | | this.teacherRegisterForm.relevantCertificates = filelist; |
| | | }, |
| | | // å±ç¤ºè¯ä»¶ç
§ |
| | | handlePictureCardPreview(file) { |
| | | this.dialogImageState = true; |
| | | this.dialogImageUrl = file.url; |
| | | }, |
| | | uploadFailed() { |
| | | this.$message.error("æä»¶ä¸ä¼ 失败ï¼è¯·ç¨åéè¯"); |
| | | }, |
| | | // è·åFormTypeItem |
| | | getTypeItem() { |
| | | const data = { |
| | | refCodes: [this.config.refCodes.teacherCertification], |
| | | }; |
| | | this.MG.resource.getCmsTypeByRefCode(data).then((res) => { |
| | | this.worksInfo = res[0].cmsTypeLinks[0].children; |
| | | this.getApplyTopicData(); |
| | | }); |
| | | }, |
| | | // è·åæå¸è®¤è¯ä¿¡æ¯ |
| | | getApplyTopicData() { |
| | | this.teacherRegisterLoading = true; |
| | | const data = { |
| | | start: 0, |
| | | size: 1, |
| | | topicIdOrRefCode: "teacherRoleApproval", |
| | | appRefCode: this.config.appRefCode, |
| | | sort: { |
| | | type: "Desc", |
| | | field: "CreateDate", |
| | | }, |
| | | }; |
| | | this.MG.ugc.getTopicMessageList(data).then((res) => { |
| | | this.teacherRegisterLoading = false; |
| | | console.log(res, "teacherRoleApproval"); |
| | | // res.datas 为 空æ°ç» |
| | | if (res.datas.length != 0) { |
| | | try { |
| | | this.topicId = res.datas[0].id; |
| | | this.topicMessageList = res.datas[0].cmsItemDataList; |
| | | this.statusNow = res.datas[0].state |
| | | ? res.datas[0].state |
| | | : undefined; |
| | | if ( |
| | | res.datas.length > 0 && |
| | | res.datas[0].cmsItemDataList.length > 0 |
| | | ) { |
| | | this.teacherRegisterForm = this.tool.resultsBytool( |
| | | this.worksInfo, |
| | | res.datas[0].cmsItemDataList |
| | | ); |
| | | |
| | | this.phoneCopy = this.teacherRegisterForm.phone; |
| | | |
| | | // 设置å°åº |
| | | let cityArr = this.teacherRegisterForm.region.split("/"); |
| | | if (cityArr[1] == cityArr[0]) { |
| | | cityArr[1] = "å¸è¾åº"; |
| | | } |
| | | this.selectedOptions = |
| | | TextToCode[cityArr[0]][cityArr[1]][cityArr[2]].code; |
| | | |
| | | // ä¸å±ç¤ºçä¿¡éªè¯ç |
| | | this.SMSState = false; |
| | | |
| | | // å°è¡¨åç¶æç½®ä¸ºä¸å¯ç¼è¾ |
| | | this.forbidden = true; |
| | | this.agreementState = true; |
| | | |
| | | // 设置å¾çï¼è³æ¬å°å¾ç, uid æ¯ä¸ºäºéé
element-upload ç»ä»¶ç(ç»ä»¶çå±ç¤ºåå é¤éè¦)ã |
| | | this.teacherRegisterForm.relevantCertificates = |
| | | this.teacherRegisterForm.relevantCertificates.map((item) => { |
| | | item.uid = this.tool.uuid(); |
| | | item.url = getPublicImage(item.md5); |
| | | return item; |
| | | }); |
| | | } |
| | | // if (this.userInfo.role == "Student" || "") this.status = ""; |
| | | if (this.statusNow == "Reject") { |
| | | this.reason = JSON.parse(res.datas[0].feedBack).reason; |
| | | } |
| | | |
| | | this.teacherRegisterLoading = false; |
| | | } catch { |
| | | this.teacherRegisterLoading = false; |
| | | this.$message.error("è·åæå¸è®¤è¯ä¿¡æ¯å¤±è´¥,请ç¨åéè¯"); |
| | | } |
| | | } |
| | | }); |
| | | }, |
| | | }, |
| | | }; |
| | | </script> |
| | | <style lang="less" scoped> |
| | | @import "@/assets/css/theme.less"; |
| | | |
| | | .protocolBox { |
| | | text-align: left; |
| | | line-height: 23px; |
| | | z-index: 1; |
| | | height: 500px; |
| | | overflow-y: auto; |
| | | margin-top: -20px; |
| | | box-sizing: border-box; |
| | | padding: 10px; |
| | | } |
| | | .agreementBox { |
| | | color: #00873c; |
| | | } |
| | | .teacherRegisterPage { |
| | | width: 100%; |
| | | background: #fff; |
| | | padding: 32px 40px; |
| | | box-sizing: border-box; |
| | | .teacherRegisterBox { |
| | | .teacherRegisterForm { |
| | | .zertifizierungsStatus { |
| | | font-size: 14px; |
| | | color: #606266; |
| | | line-height: 40px; |
| | | margin-bottom: 22px; |
| | | .reason { |
| | | font-size: 14px; |
| | | color: #b3b3b3; |
| | | margin-left: 134px; |
| | | } |
| | | & > :first-child { |
| | | display: inline-block; |
| | | width: 130px; |
| | | } |
| | | & > :last-child { |
| | | font-size: 16px; |
| | | } |
| | | .status-b { |
| | | color: #d18252; |
| | | } |
| | | .status-f { |
| | | color: #e50021; |
| | | } |
| | | .status-s { |
| | | color: #00873c; |
| | | } |
| | | .status-w { |
| | | color: #d18252; |
| | | } |
| | | } |
| | | &:deep(.el-input) { |
| | | width: 603px; |
| | | } |
| | | .lecturingSpecixalty { |
| | | display: flex; |
| | | border: 1px solid #dcdfe6; |
| | | border-radius: 4px; |
| | | padding: 20px; |
| | | .certificates { |
| | | display: inline-block; |
| | | width: 150px; |
| | | height: 150px; |
| | | position: relative; |
| | | border: 1px solid #e4e4e4; |
| | | background-color: #fdfdfd; |
| | | margin-right: 40px; |
| | | .closeButton { |
| | | position: absolute; |
| | | right: -11px; |
| | | top: -11px; |
| | | color: #e50021; |
| | | font-size: 20px; |
| | | background-color: #fff; |
| | | } |
| | | } |
| | | } |
| | | .notice { |
| | | font-size: 14px; |
| | | color: #b3b3b3; |
| | | margin-left: 140px; |
| | | } |
| | | .agreementState { |
| | | display: flex; |
| | | padding: 40px 0; |
| | | height: 20px; |
| | | align-items: center; |
| | | .choose { |
| | | display: inline-block; |
| | | border: 1px solid #e2e2e2; |
| | | width: 13px; |
| | | height: 13px; |
| | | margin-right: 10px; |
| | | cursor: pointer; |
| | | img { |
| | | margin-left: 2px; |
| | | margin-bottom: 2px; |
| | | } |
| | | } |
| | | .infoTxt { |
| | | cursor: pointer; |
| | | } |
| | | } |
| | | .addAddressButton { |
| | | width: 120px; |
| | | height: 38px; |
| | | border-radius: 4px; |
| | | font-size: 16px; |
| | | text-align: center; |
| | | line-height: 40px; |
| | | float: right; |
| | | border: 1px solid #00873c; |
| | | color: #00873c; |
| | | margin-right: 20px; |
| | | margin-bottom: 40px; |
| | | cursor: pointer; |
| | | } |
| | | .greenButton { |
| | | color: #fff; |
| | | background: linear-gradient(0deg, #00873c 0%, #00aa4c 100%); |
| | | } |
| | | .express { |
| | | font-size: 14px; |
| | | color: #666666; |
| | | line-height: 24px; |
| | | padding: 20px; |
| | | background: #f2f7f4; |
| | | .title { |
| | | line-height: 26px; |
| | | font-weight: 700; |
| | | } |
| | | } |
| | | .imgCodeBox { |
| | | margin-left: 20px; |
| | | height: 40px; |
| | | width: 140px; |
| | | cursor: pointer; |
| | | img { |
| | | width: 140px; |
| | | height: 100%; |
| | | } |
| | | } |
| | | } |
| | | .agreementName { |
| | | text-align: center; |
| | | font-size: 24px; |
| | | font-weight: 700; |
| | | margin-bottom: 20px; |
| | | } |
| | | } |
| | | } |
| | | </style> |
New file |
| | |
| | | <template> |
| | | <div class="contentBox"> |
| | | <div class="aboutUs"> |
| | | <div class="title">ä½è
ä¸è¯»è
æå¡</div> |
| | | <div |
| | | v-for="(item, index) in tabSelect" |
| | | :key="index" |
| | | :class="tabsSelected == index ? 'selected' : ''" |
| | | @click=" |
| | | () => { |
| | | tabsSelected = index; |
| | | } |
| | | " |
| | | > |
| | | {{ item.name }} |
| | | <i class="el-icon-arrow-right" style="float: right"></i> |
| | | </div> |
| | | </div> |
| | | <div class="detailArea"> |
| | | <div v-if="tabsSelected != 2 && tabsSelected != 3" class="title"> |
| | | {{ |
| | | tabSelect[tabsSelected].title |
| | | ? tabSelect[tabsSelected].title |
| | | : tabSelect[tabsSelected].name |
| | | }} |
| | | <span>{{ tabSelect[tabsSelected].englishName }}</span> |
| | | </div> |
| | | <BasicInformation v-if="tabsSelected == 0"></BasicInformation> |
| | | <TeacherRegister v-if="tabsSelected == 1"></TeacherRegister> |
| | | <MyCollection v-if="tabsSelected == 2"></MyCollection> |
| | | <OrderList v-if="tabsSelected == 3"></OrderList> |
| | | <SampleApplication v-if="tabsSelected == 4"></SampleApplication> |
| | | <ElectronicSampleBook v-if="tabsSelected == 5"></ElectronicSampleBook> |
| | | <PaperSampleBook v-if="tabsSelected == 6"></PaperSampleBook> |
| | | <AddressManagement v-if="tabsSelected == 7"></AddressManagement> |
| | | <DownloadApplication v-if="tabsSelected == 8"></DownloadApplication> |
| | | <AuthorContribution v-if="tabsSelected == 9"></AuthorContribution> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | <script> |
| | | import BasicInformation from "./components/basicInformation.vue"; |
| | | import MyCollection from "./components/myCollection.vue"; |
| | | import OrderList from "./components/orderList.vue"; |
| | | import SampleApplication from "./components/sampleApplication.vue"; |
| | | import ElectronicSampleBook from "./components/electronicSampleBook.vue"; |
| | | import PaperSampleBook from "./components/paperSampleBook.vue"; |
| | | import TeacherRegister from "./components/teacherRegister"; |
| | | import AddressManagement from "./components/addressManagement.vue"; |
| | | import DownloadApplication from "./components/downloadApplication.vue"; |
| | | import AuthorContribution from "./components/authorContribution.vue"; |
| | | export default { |
| | | name: "home", |
| | | components: { |
| | | BasicInformation, |
| | | MyCollection, |
| | | OrderList, |
| | | SampleApplication, |
| | | ElectronicSampleBook, |
| | | PaperSampleBook, |
| | | TeacherRegister, |
| | | AddressManagement, |
| | | DownloadApplication, |
| | | AuthorContribution |
| | | }, |
| | | data() { |
| | | return { |
| | | tabsSelected: 0, |
| | | tabSelect: [ |
| | | { |
| | | name: "åºç¡ä¿¡æ¯", |
| | | englishName: "BASIC INFORMATION" |
| | | }, |
| | | { |
| | | name: "æå¸è®¤è¯", |
| | | title: "认è¯ä¿¡æ¯", |
| | | englishName: "AUTHENTICATION INFORMATION" |
| | | }, |
| | | { |
| | | name: "æçæ¶è", |
| | | englishName: "MY COLLECTION" |
| | | }, |
| | | { |
| | | name: "订åå表", |
| | | englishName: "MY COLLECTION" |
| | | }, |
| | | { |
| | | name: "æ ·ä¹¦ç³è¯·", |
| | | englishName: "SAMPLE APPLICATION" |
| | | }, |
| | | { |
| | | name: "çµåæ ·ä¹¦", |
| | | englishName: "ELECTRONIC BOOKS" |
| | | }, |
| | | { |
| | | name: "çº¸è´¨æ ·ä¹¦", |
| | | englishName: "PAPER COPIES" |
| | | }, |
| | | { |
| | | name: "å°å管ç", |
| | | englishName: "ADDRESS MANAGEMENT" |
| | | }, |
| | | { |
| | | name: "ä¸è½½ç³è¯·", |
| | | englishName: "DOWNLOAD THE APPLICATION" |
| | | }, |
| | | { |
| | | name: "ä½è
æç¨¿", |
| | | englishName: "THE AUTHOR CONTRIBUTIONS" |
| | | } |
| | | ] |
| | | }; |
| | | }, |
| | | created() { |
| | | if (this.$route.query.tabsSelected) { |
| | | this.tabsSelected = this.$route.query.tabsSelected; |
| | | } |
| | | // è·å订å |
| | | if (localStorage.getItem("selectedTab")) { |
| | | this.tabsSelected = JSON.parse(localStorage.getItem("selectedTab")); |
| | | localStorage.removeItem("selectedTab"); |
| | | } |
| | | }, |
| | | methods: { |
| | | changeSelected(index) { |
| | | this.tabsSelected = index; |
| | | } |
| | | } |
| | | }; |
| | | </script> |
| | | <style lang="less" scoped> |
| | | .contentBox { |
| | | display: flex; |
| | | justify-content: space-between; |
| | | padding-bottom: 100px; |
| | | margin-top: 50px; |
| | | .aboutUs { |
| | | width: 377px; |
| | | height: 833px; |
| | | font-size: 16px; |
| | | background-color: #fff; |
| | | .selected { |
| | | color: #00873c; |
| | | i { |
| | | color: #00873c; |
| | | } |
| | | } |
| | | .title { |
| | | font-size: 18px; |
| | | margin: 0; |
| | | padding: 0; |
| | | border-top: 2px solid #00873c; |
| | | font-weight: 700; |
| | | text-align: center; |
| | | background: #d8f7e6; |
| | | color: #00873c; |
| | | line-height: 60px; |
| | | border-bottom: 0; |
| | | cursor: auto; |
| | | } |
| | | div { |
| | | padding: 30px 0; |
| | | margin: 0 30px; |
| | | // border-bottom: 1px solid #ededed; |
| | | cursor: pointer; |
| | | } |
| | | :last-child { |
| | | border-bottom: 0; |
| | | } |
| | | } |
| | | .detailArea { |
| | | width: 813px; |
| | | background-color: #fff; |
| | | .title { |
| | | font-size: 18px; |
| | | font-weight: 700; |
| | | letter-spacing: 1.8px; |
| | | border-top: 2px solid #008e3f; |
| | | line-height: 36px; |
| | | padding-left: 40px; |
| | | background: #d8f7e6; |
| | | line-height: 60px; |
| | | color: #00873c; |
| | | .splitline { |
| | | width: 1px; |
| | | height: 24px; |
| | | background-color: #008e3f; |
| | | } |
| | | span { |
| | | font-size: 16px; |
| | | font-weight: 500; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | </style> |
New file |
| | |
| | | <template> |
| | | <div class="contentBox"> |
| | | <div class="videoName">{{ $route.query.titleName }}</div> |
| | | |
| | | <audio |
| | | @canplay="getDuration" |
| | | controls |
| | | v-if="audioSrc" |
| | | @timeupdate="updateTime" |
| | | ref="audio" |
| | | :src="audioSrc" |
| | | oncontextmenu="return false" |
| | | controlsList="nodownload" |
| | | ></audio> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | export default { |
| | | data() { |
| | | return { |
| | | audioSrc: "", |
| | | }; |
| | | }, |
| | | created() { |
| | | scrollTo(0, 0); |
| | | this.audioSrc = |
| | | this.config.requestCtx + |
| | | "/file/api/ApiDownload?md5=" + |
| | | this.$route.query.md5; |
| | | }, |
| | | methods: { |
| | | getDuration() { |
| | | this.audio = this.$refs.audio; |
| | | this.duration = this.timeFormat(this.$refs.audio.duration); |
| | | }, |
| | | |
| | | updateTime() { |
| | | if (!this.$refs.progress) return; |
| | | this.currentDuration = this.timeFormat(this.audio.currentTime); |
| | | //妿䏿¯æ£å¨ç§»å¨ å æ²¡ææåææ¾å°±æ§è¡ |
| | | if (!this.isMoveIn || !this.audio.paused) { |
| | | // 设置å½åæ¶é´ |
| | | let MoveX = |
| | | this.$refs.progress.clientWidth * |
| | | (this.audio.currentTime / this.audio.duration); |
| | | //ææ¾æ¶æ´æ°è·ç¦» |
| | | this.$refs.currentProgress.style.width = MoveX + "px"; |
| | | this.$refs.circle.style.left = |
| | | MoveX - this.$refs.circle.clientWidth / 2 + "px"; |
| | | } |
| | | }, |
| | | timeFormat(number) { |
| | | let minute = parseInt(number / 60); |
| | | let second = parseInt(number % 60); |
| | | minute = minute >= 10 ? minute : "0" + minute; |
| | | second = second >= 10 ? second : "0" + second; |
| | | return minute + ":" + second; |
| | | }, |
| | | }, |
| | | }; |
| | | </script> |
| | | |
| | | <style> |
| | | audio { |
| | | width: 100%; |
| | | height: 80px; |
| | | } |
| | | .videoName { |
| | | text-align: center; |
| | | margin-top: 20px; |
| | | font-size: 30px; |
| | | } |
| | | </style> |
New file |
| | |
| | | <template> |
| | | <div class="global"> |
| | | <div class="wrapIframe"> |
| | | <iframe |
| | | class="iframe" |
| | | scrolling="no" |
| | | :src="config.pdfUrl" |
| | | @load="loadIframe" |
| | | allowfullscreen="true" |
| | | ref="iframeref" |
| | | ></iframe> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import config from "@/assets/js/config"; |
| | | |
| | | export default { |
| | | props: { |
| | | path: String |
| | | }, |
| | | data() { |
| | | return { |
| | | currentPage: 1 |
| | | }; |
| | | }, |
| | | mounted() {}, |
| | | created() { |
| | | scrollTo(0, 0); |
| | | this.getData(); |
| | | }, |
| | | methods: { |
| | | getData() {}, |
| | | loadIframe() { |
| | | let that = this; |
| | | that.$refs.iframeref.contentWindow.postMessage( |
| | | { |
| | | MD5: this.$route.query.md5, |
| | | url: that.config.requestCtx, |
| | | currentPage: that.currentPage, |
| | | index: 1, |
| | | token: true // è´ä¹°äºä¼ ,没è´ä¹°ä¼ è¯è¯»é¡µï¼æ²¡æç»å½ä¼ true |
| | | }, |
| | | "*" |
| | | ); |
| | | } |
| | | } |
| | | }; |
| | | </script> |
| | | |
| | | <style scoped> |
| | | .global { |
| | | width: 100%; |
| | | height: 100vh; |
| | | background: #333; |
| | | box-sizing: border-box; |
| | | } |
| | | .wrapIframe { |
| | | height: 100%; |
| | | box-sizing: border-box; |
| | | } |
| | | .iframe { |
| | | display: block; |
| | | width: 100%; |
| | | height: 100%; |
| | | border: medium none; |
| | | } |
| | | </style> |
New file |
| | |
| | | <template> |
| | | <div class="contentBox"> |
| | | <div class="videoName">{{ $route.query.titleName }}</div> |
| | | <div class="videoBox"> |
| | | <video |
| | | @canplay="getDuration" |
| | | @timeupdate="updateTime" |
| | | ref="audio" |
| | | controls |
| | | controlsList="nodownload" |
| | | oncontextmenu="return false" |
| | | autoplay |
| | | :src="videoSrc" |
| | | > |
| | | <!-- <source :src="videoSrc" type="video/mp4" ref="myPlayer" /> --> |
| | | </video> |
| | | </div> |
| | | <!-- <div class="calssInfo"> |
| | | <el-tabs type="border-card"> |
| | | <el-tab-pane label="课ç¨ç®ä»"> |
| | | <div class="tabItem" v-loading="descriptionLoading"> |
| | | <div |
| | | class="richTextBox" |
| | | v-html="description.autism_introduction" |
| | | ></div> |
| | | </div> |
| | | </el-tab-pane> |
| | | <el-tab-pane label="ç« èç®å½"> |
| | | <div class="tabItem" v-loading="catalogueLoading"> |
| | | <p v-for="(item, index) in catalogue" :key="index" class="selected"> |
| | | {{ item.name }} |
| | | </p> |
| | | </div> |
| | | </el-tab-pane> |
| | | </el-tabs> |
| | | </div> --> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import { getImage } from "@/assets/js/toolClass"; |
| | | |
| | | export default { |
| | | props: { |
| | | query: { |
| | | type: Object |
| | | }, |
| | | idPath: { |
| | | type: String |
| | | } |
| | | }, |
| | | data() { |
| | | return { |
| | | videoSrc: "", |
| | | description: "", |
| | | catalogue: "", |
| | | descriptionLoading: true, |
| | | catalogueLoading: true |
| | | }; |
| | | }, |
| | | created() { |
| | | scrollTo(0, 0); |
| | | this.videoSrc = |
| | | this.config.requestCtx + |
| | | "/file/api/ApiDownload?md5=" + |
| | | this.$route.query.md5; |
| | | }, |
| | | methods: { |
| | | // è·åç®å½ |
| | | getCatalogue() { |
| | | this.catalogueLoading = true; |
| | | let query = { |
| | | path: this.idPath, |
| | | fields: { |
| | | autism_video: [], |
| | | autism_introduction: [], |
| | | autism_totalDuration: [] |
| | | }, |
| | | filterList: { |
| | | "SysType=": "Cmsitem" |
| | | } |
| | | }; |
| | | this.MG.resource.getItem(query).then((res) => { |
| | | this.catalogue = res.datas; |
| | | // this.aliVod(this.catalogue[0].autism_video); |
| | | this.videoSrc = |
| | | this.config.requestCtx + |
| | | "/file/api/ApiDownload?md5=" + |
| | | this.multimedia.autism_video; |
| | | this.catalogueLoading = false; |
| | | }); |
| | | }, |
| | | getDuration() { |
| | | this.audio = this.$refs.audio; |
| | | this.duration = this.timeFormat(this.$refs.audio.duration); |
| | | }, |
| | | timeFormat(number) { |
| | | let minute = parseInt(number / 60); |
| | | let second = parseInt(number % 60); |
| | | minute = minute >= 10 ? minute : "0" + minute; |
| | | second = second >= 10 ? second : "0" + second; |
| | | return minute + ":" + second; |
| | | }, |
| | | updateTime() { |
| | | if (!this.$refs.progress) return; |
| | | this.currentDuration = this.timeFormat(this.audio.currentTime); |
| | | //妿䏿¯æ£å¨ç§»å¨ å æ²¡ææåææ¾å°±æ§è¡ |
| | | if (!this.isMoveIn || !this.audio.paused) { |
| | | // 设置å½åæ¶é´ |
| | | let MoveX = |
| | | this.$refs.progress.clientWidth * |
| | | (this.audio.currentTime / this.audio.duration); |
| | | //ææ¾æ¶æ´æ°è·ç¦» |
| | | this.$refs.currentProgress.style.width = MoveX + "px"; |
| | | this.$refs.circle.style.left = |
| | | MoveX - this.$refs.circle.clientWidth / 2 + "px"; |
| | | } |
| | | } |
| | | } |
| | | }; |
| | | </script> |
| | | |
| | | <style lang="less" scoped> |
| | | .videoBox { |
| | | height: 657px; |
| | | width: 100%; |
| | | margin-top: 20px; |
| | | margin-bottom: 20px; |
| | | } |
| | | video { |
| | | width: 100%; |
| | | height: 100%; |
| | | } |
| | | |
| | | .videoName { |
| | | text-align: center; |
| | | margin-top: 20px; |
| | | font-size: 30px; |
| | | } |
| | | .calssInfo { |
| | | margin-top: 20px; |
| | | height: 290px; |
| | | background-color: #e4e4e4; |
| | | margin-bottom: 20px; |
| | | padding: 30px; |
| | | } |
| | | .tabItem { |
| | | height: 220px; |
| | | .selected { |
| | | font-size: 14px; |
| | | color: #0079fe; |
| | | } |
| | | } |
| | | /deep/.el-tabs--border-card > .el-tabs__header .el-tabs__item.is-active { |
| | | background-color: rgba(0, 121, 254, 1); |
| | | color: #fff !important; |
| | | } |
| | | /deep/ .el-tabs__item { |
| | | font-size: 16px; |
| | | } |
| | | </style> |
New file |
| | |
| | | <template> |
| | | <div class="contentBox"> |
| | | <bookList :title="title" @getList="getBookList" /> |
| | | <div class="classBox"> |
| | | <div class="ruleBox" v-html="ruleText"> |
| | | |
| | | </div> |
| | | <div class="classCondition">æè¯¾æ
åµ</div> |
| | | <div class="formBox"> |
| | | <el-form ref="form" :model="form" :rules="rules" label-width="200px"> |
| | | <el-form-item |
| | | :label="item.label" |
| | | :prop="item.prop" |
| | | v-for="(item, index) in formObj.formItem" |
| | | :key="index" |
| | | > |
| | | <el-input |
| | | v-model="form[item.prop]" |
| | | :placeholder="item.placeholder" |
| | | ></el-input> |
| | | </el-form-item> |
| | | </el-form> |
| | | </div> |
| | | <div class="btnBox" v-loading="subloading"> |
| | | <el-button @click="$router.go(-1)">åæ¶</el-button> |
| | | <el-button type="primary" @click="submit">æäº¤</el-button> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import bookList from "@/components/detail/bookList.vue"; |
| | | import { mapState } from "vuex"; |
| | | |
| | | export default { |
| | | components: { |
| | | bookList, |
| | | }, |
| | | data() { |
| | | return { |
| | | ruleText: "", |
| | | totalCount: 0, |
| | | selectedOptions: [], |
| | | subloading: false, |
| | | tableData: [], |
| | | column: [ |
| | | { |
| | | prop: "name", |
| | | label: "å§å", |
| | | }, |
| | | { |
| | | prop: "tel", |
| | | label: "èç³»çµè¯", |
| | | }, |
| | | { |
| | | prop: "address", |
| | | label: "å°å", |
| | | }, |
| | | ], |
| | | title: "ä¸å½åä¸å¤§å¦åºçç¤¾æ ·ä¹¦ç³è¯·åï¼çµåï¼", |
| | | editForm: { |
| | | name: "", |
| | | tel: "", |
| | | city: "", |
| | | ifdefalut: false, |
| | | address: "", |
| | | }, |
| | | |
| | | form: {}, |
| | | formObj: { |
| | | formItem: [ |
| | | { |
| | | label: "课ç¨åç§°ï¼", |
| | | prop: "courseName", |
| | | placeholder: "请è¾å
¥è¯¾ç¨åç§°", |
| | | }, |
| | | { |
| | | label: "å¦ç屿¬¡ï¼", |
| | | prop: "studentLevel", |
| | | placeholder: "请è¾å
¥å¦ç屿¬¡", |
| | | }, |
| | | { |
| | | label: "å¦ç人æ°/å¹´ï¼", |
| | | prop: "studentsNumber", |
| | | placeholder: "请è¾å
¥å¦ç人æ°/å¹´", |
| | | }, |
| | | { |
| | | label: "ç°å¨ä½¿ç¨æææå±åºç社ï¼", |
| | | prop: "teachingMaterialPress", |
| | | placeholder: "请è¾å
¥ç°å¨ä½¿ç¨æææå±åºç社", |
| | | }, |
| | | { |
| | | label: "æç¨ææï¼", |
| | | prop: "teachingMaterials", |
| | | placeholder: "请è¾å
¥æç¨ææ", |
| | | }, |
| | | ], |
| | | }, |
| | | |
| | | rules: { |
| | | courseName: [ |
| | | { required: true, message: "请è¾å
¥è¯¾ç¨åç§°", trigger: "blur" }, |
| | | ], |
| | | studentLevel: [ |
| | | { required: true, message: "请è¾å
¥å¦ç屿¬¡", trigger: "blur" }, |
| | | ], |
| | | studentsNumber: [ |
| | | { required: true, message: "请è¾å
¥å¦ç人æ°/å¹´", trigger: "blur" }, |
| | | ], |
| | | teachingMaterialPress: [ |
| | | { |
| | | required: true, |
| | | message: "请è¾å
¥ç°å¨ä½¿ç¨æææå±åºç社", |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | teachingMaterials: [ |
| | | { required: true, message: "请è¾å
¥æç¨ææ", trigger: "blur" }, |
| | | ], |
| | | }, |
| | | workInfo: [], |
| | | temp_defalutAddress: false, |
| | | bookList: [], |
| | | }; |
| | | }, |
| | | created() { |
| | | this.getTicketRes(); |
| | | this.getType(); |
| | | this.getTeachingSituation(); |
| | | this.getExplainType(); |
| | | }, |
| | | computed: { |
| | | ...mapState(["userInfo"]), |
| | | }, |
| | | methods: { |
| | | //è·åçµå书说æ |
| | | getExplainType() { |
| | | const data = { |
| | | refCodes: ["electronicSampleApplication"], |
| | | }; |
| | | this.MG.resource.getCmsTypeByRefCode(data).then((res) => { |
| | | console.log(res, "getExplainType"); |
| | | try { |
| | | this.ruleText = res[0].description; |
| | | } catch (e) { |
| | | this.ruleText = "ææ è§å"; |
| | | } |
| | | }); |
| | | }, |
| | | //è·åæè¯¾æ
åµ |
| | | getTeachingSituation() { |
| | | this.MG.identity |
| | | .getUserKey({ |
| | | domain: "teachingSituation", |
| | | keys: [this.userInfo.roleId + ""], |
| | | }) |
| | | .then((res) => { |
| | | if (res.length > 0) { |
| | | this.form = JSON.parse(res[0].value); |
| | | } |
| | | }); |
| | | }, |
| | | |
| | | getType() { |
| | | const data = { |
| | | refCodes: ["electronicSampleApplication"], |
| | | roleId: this.userInfo.roleId, |
| | | }; |
| | | this.MG.resource.getCmsTypeByRefCode(data).then((res) => { |
| | | this.workInfo = res[0].cmsTypeLinks[0].children; |
| | | }); |
| | | }, |
| | | //æäº¤æ ·ä¹¦ç³è¯· |
| | | submit() { |
| | | let that = this; |
| | | if (this.totalCount < 0) { |
| | | this.$message({ |
| | | showClose: true, |
| | | message: "ç³è¯·æ¬¡æ°å·²ç¨å®ï¼", |
| | | type: "error", |
| | | }); |
| | | return; |
| | | } |
| | | this.$refs.form.validate((valid) => { |
| | | if (valid) { |
| | | let defalutAddress = {}; |
| | | this.tableData.forEach((item, index) => { |
| | | if (item.ifdefalut) return (defalutAddress = item); |
| | | }); |
| | | defalutAddress = { ...this.form, ...defalutAddress }; |
| | | defalutAddress.phone = defalutAddress.tel; |
| | | defalutAddress.user = defalutAddress.name; |
| | | delete defalutAddress.tel; |
| | | delete defalutAddress.name; |
| | | defalutAddress = this.tool.worksDataBytool( |
| | | this.workInfo, |
| | | defalutAddress |
| | | ); |
| | | |
| | | let checkedBook = []; |
| | | let chenckIndex = []; |
| | | |
| | | this.bookList.forEach((item, index) => { |
| | | if (item.checked) { |
| | | checkedBook.push(item); |
| | | chenckIndex.push(index); |
| | | } |
| | | }); |
| | | if (checkedBook.length == 0) { |
| | | this.$message({ |
| | | showClose: true, |
| | | message: "è¯·éæ©ä¹¦ç±ï¼", |
| | | type: "error", |
| | | }); |
| | | return; |
| | | } |
| | | if (checkedBook.length > 3) { |
| | | this.$message({ |
| | | showClose: true, |
| | | message: "忬¡ç³è¯·ä¹¦ç±ä¸è½è¶
è¿ä¸æ¬ï¼", |
| | | type: "error", |
| | | }); |
| | | return; |
| | | } |
| | | const data = { |
| | | topicIdOrRefCode: "applyBook", |
| | | name: "çµåæ ·ä¹¦ç³è¯·", |
| | | content: JSON.stringify(checkedBook), |
| | | state: "WaitAudit", |
| | | type: "applyForEbook", |
| | | cmsTypeRefCode: "electronicSampleApplication", |
| | | newDataListRequest: defalutAddress, |
| | | }; |
| | | chenckIndex.forEach((item) => { |
| | | this.$store.commit("deletePbookList", item); |
| | | }); |
| | | this.subloading = true; |
| | | this.MG.ugc.newTopicMessage(data).then((res) => { |
| | | this.MG.identity |
| | | .setUserKey({ |
| | | setKeyRequests: [ |
| | | { |
| | | domain: "teachingSituation", |
| | | key: this.userInfo.roleId + "", |
| | | value: JSON.stringify(this.form), |
| | | }, |
| | | ], |
| | | }) |
| | | .then((res) => { |
| | | console.log(res); |
| | | }); |
| | | this.MG.app |
| | | .useTicket({ |
| | | ticketRefCodeOrGuid: "electronicSampleBookapplyNum", |
| | | roleId: this.userInfo.roleId, |
| | | refType: "applyBook", |
| | | }) |
| | | .then((aRes) => { |
| | | this.$message({ |
| | | message: "ç³è¯·æåï¼", |
| | | type: "success", |
| | | }); |
| | | chenckIndex = chenckIndex.reverse(); |
| | | chenckIndex.forEach((item) => { |
| | | this.$store.commit("deleteEbookList", item); |
| | | }); |
| | | this.subloading = false; |
| | | that.$router.push({ |
| | | path: "/personalCenter", |
| | | query: { |
| | | tabsSelected: 5, |
| | | }, |
| | | }); |
| | | }); |
| | | }); |
| | | } |
| | | }); |
| | | }, |
| | | |
| | | //è·åå©ä½ç³è¯·æ¬¡æ° |
| | | getTicketRes() { |
| | | this.MG.app |
| | | .getTicketResult({ |
| | | ticketRefCodeOrGuid: "electronicSampleBookapplyNum", |
| | | roleId: this.userInfo.roleId, |
| | | }) |
| | | .then((res) => { |
| | | this.totalCount = res.totalCount - res.usedCount; |
| | | }); |
| | | }, |
| | | |
| | | //æ´æ¹é»è®¤å°å |
| | | setAddress(row) { |
| | | this.tableData.forEach((item) => { |
| | | item.ifdefalut = false; |
| | | }); |
| | | this.editForm = JSON.parse(JSON.stringify(row)); |
| | | row.ifdefalut = true; |
| | | this.temp_defalutAddress = true; |
| | | this.save(); |
| | | }, |
| | | |
| | | //è·åæ ·ä¹¦å表 |
| | | getBookList(val) { |
| | | this.bookList = []; |
| | | val.forEach((item) => { |
| | | const templateObj = { |
| | | id: item.id, |
| | | title: item.name, |
| | | icon: item.icon, |
| | | author: item.caupress_author, |
| | | defaultSaleMethodId: item.defaultSaleMethodId, |
| | | isbn: item.caupress_ISBN, |
| | | price: item.price, |
| | | checked: item.checked ? item.checked : false, |
| | | cmsPath: item.rootCmsItemId, |
| | | }; |
| | | this.bookList.push(templateObj); |
| | | }); |
| | | }, |
| | | }, |
| | | }; |
| | | </script> |
| | | |
| | | <style scoped> |
| | | .el-checkbox__inner::after { |
| | | left: 7px !important; |
| | | top: 4px !important; |
| | | } |
| | | .classBox { |
| | | width: 100%; |
| | | background-color: #fff; |
| | | padding: 20px; |
| | | box-sizing: border-box; |
| | | } |
| | | .ruleBox { |
| | | /* text-align: center; */ |
| | | padding-left: 20px; |
| | | background-color: #f2f7f4; |
| | | /* width: 100%; */ |
| | | /* height: 50px; */ |
| | | line-height: 40px; |
| | | border-radius: 5px; |
| | | margin: 0 auto; |
| | | } |
| | | .classCondition { |
| | | display: flex; |
| | | justify-content: space-between; |
| | | margin-top: 50px; |
| | | font-size: 16px; |
| | | font-weight: 700; |
| | | height: 50px; |
| | | line-height: 50px; |
| | | border-bottom: 1px solid #dbdbdb; |
| | | color: #333; |
| | | } |
| | | .formBox { |
| | | margin-top: 30px; |
| | | padding: 0 100px; |
| | | } |
| | | .addAddress { |
| | | font-size: 14px; |
| | | color: #009341; |
| | | cursor: pointer; |
| | | } |
| | | .btnBox { |
| | | margin-top: 30px; |
| | | padding-right: 100px; |
| | | text-align: right; |
| | | } |
| | | </style> |
| | | <style> |
| | | .el-checkbox__inner::after { |
| | | left: 7px !important; |
| | | top: 4px !important; |
| | | } |
| | | </style> |
New file |
| | |
| | | <template> |
| | | <div class="contentBox"> |
| | | <bookList :title="title" @getList="getBookList" /> |
| | | <div class="classBox"> |
| | | <div class="ruleBox" v-html="ruleText"></div> |
| | | <div class="classCondition">æè¯¾æ
åµ</div> |
| | | <div class="formBox"> |
| | | <el-form ref="form" :model="form" :rules="rules" label-width="200px"> |
| | | <el-form-item |
| | | :label="item.label" |
| | | :prop="item.prop" |
| | | v-for="(item, index) in formObj.formItem" |
| | | :key="index" |
| | | > |
| | | <el-input |
| | | v-model="form[item.prop]" |
| | | :placeholder="item.placeholder" |
| | | ></el-input> |
| | | </el-form-item> |
| | | </el-form> |
| | | </div> |
| | | <div class="classCondition"> |
| | | <div>æ¶è´§äººä¿¡æ¯</div> |
| | | <div class="addAddress" @click="addAddress">+ æ°å¢æ¶è´§å°å</div> |
| | | </div> |
| | | <div class="tableBox"> |
| | | <el-table |
| | | :data="tableData" |
| | | style="width: 100%" |
| | | v-loading="loading" |
| | | highlight-current-row |
| | | @current-change="handleCurrentChange" |
| | | ref="singleTable" |
| | | > |
| | | <el-table-column |
| | | :prop="item.prop" |
| | | :label="item.label" |
| | | v-for="(item, index) in column" |
| | | :key="index" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <span>{{ scope.row[item.prop] }}</span> |
| | | <span |
| | | style="color: #ccc; margin-left: 40px" |
| | | v-if="item.prop == 'address' && scope.row.ifdefalut" |
| | | >é»è®¤å°å</span |
| | | > |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | </div> |
| | | <div class="btnBox" v-loading="subloading"> |
| | | <el-button @click="$router.go(-1)">åæ¶</el-button> |
| | | <el-button type="primary" @click="submit">æäº¤</el-button> |
| | | </div> |
| | | </div> |
| | | <el-dialog :title="dialogTitle" :visible.sync="dialogVisible" width="30%"> |
| | | <el-form |
| | | ref="addressForm" |
| | | :model="editForm" |
| | | :rules="addressRules" |
| | | label-width="80px" |
| | | > |
| | | <el-form-item |
| | | :label="item.label" |
| | | :prop="item.prop" |
| | | v-for="(item, index) in editFormObj.formItem" |
| | | :key="index" |
| | | > |
| | | <el-input |
| | | v-if="!item.type" |
| | | v-model="editForm[item.prop]" |
| | | :placeholder="item.placeholder" |
| | | ></el-input> |
| | | <el-cascader |
| | | v-if="item.type" |
| | | size="large" |
| | | :options="options" |
| | | v-model="selectedOptions" |
| | | @change="handleChange" |
| | | style="width: 100%" |
| | | > |
| | | </el-cascader> |
| | | </el-form-item> |
| | | </el-form> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button @click="dialogVisible = false">å æ¶</el-button> |
| | | <el-button type="primary" @click="save" v-loading="saveloading" |
| | | >ç¡® å®</el-button |
| | | > |
| | | </span> |
| | | </el-dialog> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import bookList from "@/components/detail/bookList.vue"; |
| | | import { CodeToText, TextToCode, regionData } from "element-china-area-data"; |
| | | import { mapState } from "vuex"; |
| | | |
| | | export default { |
| | | components: { |
| | | bookList, |
| | | }, |
| | | data() { |
| | | let checkPhone = (rule, value, callback) => { |
| | | let reg = |
| | | /^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8}$/; |
| | | if (!reg.test(value)) { |
| | | callback(new Error("请è¾å
¥æ£ç¡®ç11使æºå·")); |
| | | } else { |
| | | callback(); |
| | | } |
| | | }; |
| | | |
| | | return { |
| | | ruleText: "", |
| | | subloading: false, |
| | | saveloading: false, |
| | | totalCount: 0, |
| | | selectedOptions: [], |
| | | options: regionData, |
| | | dialogTitle: "æ°å¢æ¶è´§äººä¿¡æ¯", |
| | | dialogVisible: false, |
| | | loading: false, |
| | | tableData: [], |
| | | column: [ |
| | | { |
| | | prop: "name", |
| | | label: "å§å", |
| | | }, |
| | | { |
| | | prop: "tel", |
| | | label: "èç³»çµè¯", |
| | | }, |
| | | { |
| | | prop: "city", |
| | | label: "å°å", |
| | | }, |
| | | { |
| | | prop: "address", |
| | | label: "详ç»å°å", |
| | | }, |
| | | ], |
| | | title: "ä¸å½åä¸å¤§å¦åºçç¤¾æ ·ä¹¦ç³è¯·åï¼çº¸è´¨ï¼", |
| | | editForm: { |
| | | name: "", |
| | | tel: "", |
| | | city: "", |
| | | ifdefalut: false, |
| | | address: "", |
| | | }, |
| | | editFormObj: { |
| | | formItem: [ |
| | | { |
| | | label: "å§å", |
| | | prop: "name", |
| | | placeholder: "请è¾å
¥å§å", |
| | | }, |
| | | { |
| | | label: "èç³»çµè¯", |
| | | prop: "tel", |
| | | placeholder: "请è¾å
¥èç³»çµè¯", |
| | | }, |
| | | { |
| | | type: "address", |
| | | label: "å°å", |
| | | prop: "city", |
| | | placeholder: "请è¾å
¥å°å", |
| | | }, |
| | | { |
| | | label: "详ç»å°å", |
| | | prop: "address", |
| | | placeholder: "请è¾å
¥è¯¦ç»å°å", |
| | | }, |
| | | ], |
| | | }, |
| | | form: {}, |
| | | formObj: { |
| | | formItem: [ |
| | | { |
| | | label: "课ç¨åç§°ï¼", |
| | | prop: "courseName", |
| | | placeholder: "请è¾å
¥è¯¾ç¨åç§°", |
| | | }, |
| | | { |
| | | label: "å¦ç屿¬¡ï¼", |
| | | prop: "studentLevel", |
| | | placeholder: "请è¾å
¥å¦ç屿¬¡", |
| | | }, |
| | | { |
| | | label: "å¦ç人æ°/å¹´ï¼", |
| | | prop: "studentsNumber", |
| | | placeholder: "请è¾å
¥å¦ç人æ°/å¹´", |
| | | }, |
| | | { |
| | | label: "ç°å¨ä½¿ç¨æææå±åºç社ï¼", |
| | | prop: "teachingMaterialPress", |
| | | placeholder: "请è¾å
¥ç°å¨ä½¿ç¨æææå±åºç社", |
| | | }, |
| | | { |
| | | label: "æç¨ææï¼", |
| | | prop: "teachingMaterials", |
| | | placeholder: "请è¾å
¥æç¨ææ", |
| | | }, |
| | | ], |
| | | }, |
| | | |
| | | addressRules: { |
| | | name: [{ required: true, message: "请è¾å
¥å§å", trigger: "blur" }], |
| | | tel: [ |
| | | { |
| | | required: true, |
| | | type: "number", |
| | | validator: checkPhone, |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | address: [ |
| | | { required: true, message: "请è¾å
¥è¯¦ç»å°å", trigger: "blur" }, |
| | | ], |
| | | city: [{ required: true, message: "è¯·éæ©æå¨åå¸", trigger: "blur" }], |
| | | }, |
| | | rules: { |
| | | courseName: [ |
| | | { required: true, message: "请è¾å
¥è¯¾ç¨åç§°", trigger: "blur" }, |
| | | ], |
| | | studentLevel: [ |
| | | { required: true, message: "请è¾å
¥å¦ç屿¬¡", trigger: "blur" }, |
| | | ], |
| | | studentsNumber: [ |
| | | { required: true, message: "请è¾å
¥å¦ç人æ°/å¹´", trigger: "blur" }, |
| | | ], |
| | | teachingMaterialPress: [ |
| | | { |
| | | required: true, |
| | | message: "请è¾å
¥ç°å¨ä½¿ç¨æææå±åºç社", |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | teachingMaterials: [ |
| | | { required: true, message: "请è¾å
¥æç¨ææ", trigger: "blur" }, |
| | | ], |
| | | }, |
| | | workInfo: [], |
| | | temp_defalutAddress: false, |
| | | bookList: [], |
| | | currentAddress: null, |
| | | }; |
| | | }, |
| | | created() { |
| | | this.getAddress(); |
| | | this.getTicketRes(); |
| | | this.getType(); |
| | | this.getTeachingSituation(); |
| | | this.getExplainType(); |
| | | }, |
| | | computed: { |
| | | ...mapState(["userInfo"]), |
| | | }, |
| | | methods: { |
| | | //è·å纸质书说æ |
| | | getExplainType() { |
| | | const data = { |
| | | refCodes: ["paperSampleApplication"], |
| | | }; |
| | | this.MG.resource.getCmsTypeByRefCode(data).then((res) => { |
| | | try { |
| | | this.ruleText = res[0].description; |
| | | } catch (e) { |
| | | this.ruleText = "ææ è§å"; |
| | | } |
| | | }); |
| | | }, |
| | | // |
| | | getType() { |
| | | const data = { |
| | | refCodes: ["paperSampleApplication"], |
| | | roleId: this.userInfo.roleId, |
| | | }; |
| | | this.MG.resource.getCmsTypeByRefCode(data).then((res) => { |
| | | this.workInfo = res[0].cmsTypeLinks[0].children; |
| | | }); |
| | | }, |
| | | getTeachingSituation() { |
| | | this.MG.identity |
| | | .getUserKey({ |
| | | domain: "teachingSituation", |
| | | keys: [this.userInfo.roleId + ""], |
| | | }) |
| | | .then((res) => { |
| | | if (res.length > 0) { |
| | | this.form = JSON.parse(res[0].value); |
| | | } |
| | | }); |
| | | }, |
| | | //æäº¤æ ·ä¹¦ç³è¯· |
| | | submit() { |
| | | let that = this; |
| | | if (this.totalCount == 0) { |
| | | this.$message({ |
| | | showClose: true, |
| | | message: "ç³è¯·æ¬¡æ°å·²ç¨å®ï¼", |
| | | type: "error", |
| | | }); |
| | | return; |
| | | } |
| | | this.$refs.form.validate((valid) => { |
| | | if (valid) { |
| | | let defalutAddress = {}; |
| | | if (this.currentAddress) { |
| | | defalutAddress = this.currentAddress; |
| | | } else { |
| | | this.tableData.forEach((item, index) => { |
| | | if (item.ifdefalut) return (defalutAddress = item); |
| | | }); |
| | | } |
| | | if (!defalutAddress.city) { |
| | | this.$message({ |
| | | showClose: true, |
| | | message: "è¯·éæ©å°åï¼", |
| | | type: "error", |
| | | }); |
| | | return; |
| | | } |
| | | defalutAddress = { ...this.form, ...defalutAddress }; |
| | | defalutAddress.phone = defalutAddress.tel; |
| | | defalutAddress.user = defalutAddress.name; |
| | | delete defalutAddress.tel; |
| | | delete defalutAddress.name; |
| | | defalutAddress = this.tool.worksDataBytool( |
| | | this.workInfo, |
| | | defalutAddress |
| | | ); |
| | | let checkedBook = []; |
| | | let chenckIndex = []; |
| | | this.bookList.forEach((item, index) => { |
| | | if (item.checked) { |
| | | checkedBook.push(item); |
| | | chenckIndex.push(index); |
| | | } |
| | | }); |
| | | if (checkedBook.length == 0) { |
| | | this.$message({ |
| | | showClose: true, |
| | | message: "è¯·éæ©ä¹¦ç±ï¼", |
| | | type: "error", |
| | | }); |
| | | return; |
| | | } |
| | | if (checkedBook.length > 3) { |
| | | this.$message({ |
| | | showClose: true, |
| | | message: "忬¡ç³è¯·ä¹¦ç±ä¸è½è¶
è¿ä¸æ¬ï¼", |
| | | type: "error", |
| | | }); |
| | | return; |
| | | } |
| | | const data = { |
| | | topicIdOrRefCode: "applyEntityBook", |
| | | name: "çº¸è´¨æ ·ä¹¦ç³è¯·", |
| | | content: JSON.stringify(checkedBook), |
| | | state: "WaitAudit", |
| | | type: "applyForPbook", |
| | | cmsTypeRefCode: "paperSampleApplication", |
| | | newDataListRequest: defalutAddress, |
| | | }; |
| | | this.subloading = true; |
| | | |
| | | this.MG.ugc.newTopicMessage(data).then((res) => { |
| | | console.log(this.form, "setUserKey"); |
| | | this.MG.identity |
| | | .setUserKey({ |
| | | setKeyRequests: [ |
| | | { |
| | | domain: "teachingSituation", |
| | | key: this.userInfo.roleId + "", |
| | | value: JSON.stringify(this.form), |
| | | }, |
| | | ], |
| | | }) |
| | | .then((res) => { |
| | | console.log(res); |
| | | }); |
| | | this.MG.app |
| | | .useTicket({ |
| | | ticketRefCodeOrGuid: "paperSampleBookapplyNum", |
| | | roleId: this.userInfo.roleId, |
| | | refType: "applyEntityBook", |
| | | }) |
| | | .then((aRes) => { |
| | | this.subloading = false; |
| | | |
| | | this.$message({ |
| | | message: "ç³è¯·æåï¼", |
| | | type: "success", |
| | | }); |
| | | chenckIndex = chenckIndex.reverse(); |
| | | chenckIndex.forEach((item) => { |
| | | this.$store.commit("deletePbookList", item); |
| | | }); |
| | | that.$router.push({ |
| | | path: "/personalCenter", |
| | | query: { |
| | | tabsSelected: 6, |
| | | }, |
| | | }); |
| | | }); |
| | | }); |
| | | } |
| | | }); |
| | | }, |
| | | |
| | | //éæ©å°å |
| | | handleCurrentChange(val) { |
| | | console.log(val); |
| | | this.currentAddress = val; |
| | | }, |
| | | |
| | | //设置é»è®¤éä¸å°å |
| | | setCurrent(row) { |
| | | this.$refs.singleTable.setCurrentRow(row); |
| | | }, |
| | | |
| | | //è·åå©ä½ç³è¯·æ¬¡æ° |
| | | getTicketRes() { |
| | | this.MG.app |
| | | .getTicketResult({ |
| | | ticketRefCodeOrGuid: "paperSampleBookapplyNum", |
| | | roleId: this.userInfo.roleId, |
| | | }) |
| | | .then((res) => { |
| | | this.totalCount = res.totalCount - res.usedCount; |
| | | }); |
| | | }, |
| | | |
| | | //æ´æ¹é»è®¤å°å |
| | | setAddress(row) { |
| | | this.tableData.forEach((item) => { |
| | | item.ifdefalut = false; |
| | | }); |
| | | this.editForm = JSON.parse(JSON.stringify(row)); |
| | | row.ifdefalut = true; |
| | | this.temp_defalutAddress = true; |
| | | this.save(); |
| | | }, |
| | | |
| | | //ç¼è¾æ¶è´§äººä¿¡æ¯ |
| | | handleClick(row) { |
| | | this.dialogTitle = "ç¼è¾æ¶è´§äººä¿¡æ¯"; |
| | | this.dialogVisible = true; |
| | | this.editForm = JSON.parse(JSON.stringify(row)); |
| | | let city = this.editForm.city.split("/"); |
| | | if (city[0] == city[1]) { |
| | | city[1] = "å¸è¾åº"; |
| | | } |
| | | this.selectedOptions.push(TextToCode[city[0]].code); |
| | | this.selectedOptions.push(TextToCode[city[0]][city[1]].code); |
| | | this.selectedOptions.push(TextToCode[city[0]][city[1]][city[2]].code); |
| | | }, |
| | | |
| | | //æ°å¢æ¶è´§äººä¿¡æ¯ |
| | | addAddress() { |
| | | this.dialogTitle = "æ°å¢æ¶è´§äººä¿¡æ¯"; |
| | | this.dialogVisible = true; |
| | | for (let k in this.editForm) { |
| | | if (k !== "ifdefalut") { |
| | | this.editForm[k] = ""; |
| | | } |
| | | } |
| | | this.selectedOptions = []; |
| | | }, |
| | | |
| | | // è·åææå°å |
| | | getAddress(isAdd) { |
| | | this.loading = true; |
| | | this.MG.identity.getCurrentAppUser().then((res) => { |
| | | this.loading = false; |
| | | let storeInfoList = res.infoList.find((i) => i.type == "Address"); |
| | | this.tableData = []; |
| | | if (storeInfoList && storeInfoList.data) { |
| | | if (!Array.isArray(JSON.parse(storeInfoList.data))) { |
| | | this.tableData.unshift(JSON.parse(storeInfoList.data)); |
| | | } else { |
| | | this.tableData = JSON.parse(storeInfoList.data) |
| | | ? JSON.parse(storeInfoList.data) |
| | | : []; |
| | | } |
| | | this.tableData.forEach((item, index) => { |
| | | if (item.ifdefalut) { |
| | | this.setCurrent(item); |
| | | } |
| | | }); |
| | | this.tableData = this.tableData.reverse(); |
| | | if (isAdd) { |
| | | this.setCurrent(this.tableData.at(0)); |
| | | } |
| | | } else { |
| | | // ç¨æ·ä¸ºç¬¬ä¸æ¬¡æ·»å å°åï¼åå½åæéå°å为é»è®¤å°å |
| | | this.addressItem.ifdefalut = true; |
| | | } |
| | | }); |
| | | }, |
| | | |
| | | //ä¿åæ¶è´§äººå°å |
| | | save() { |
| | | if (this.temp_defalutAddress) { |
| | | this.addressSave(); |
| | | } else { |
| | | this.saveloading = true; |
| | | this.$refs.addressForm.validate((valid) => { |
| | | if (valid) { |
| | | if (this.editForm.id) { |
| | | this.tableData.forEach((item, index) => { |
| | | if (item.id == this.editForm.id) { |
| | | this.temp_index = index; |
| | | } |
| | | }); |
| | | this.tableData[this.temp_index] = { ...this.editForm }; |
| | | } else { |
| | | this.editForm.id = this.tableData.length + 1; |
| | | this.tableData.push(this.editForm); |
| | | } |
| | | } |
| | | }); |
| | | this.addressSave(); |
| | | } |
| | | }, |
| | | |
| | | addressSave() { |
| | | const userInfo = { |
| | | requests: [ |
| | | { |
| | | data: JSON.stringify(this.tableData), |
| | | name: "å°å管ç", |
| | | type: "Address", |
| | | }, |
| | | ], |
| | | }; |
| | | this.MG.identity.setAppUserInfo(userInfo).then((res) => { |
| | | this.loading = false; |
| | | if (res) { |
| | | this.$message({ |
| | | showClose: true, |
| | | message: "æå", |
| | | type: "success", |
| | | }); |
| | | this.dialogVisible = false; |
| | | this.getAddress(true); |
| | | } else { |
| | | this.$message({ |
| | | showClose: true, |
| | | message: "失败ï¼è¯·ç¨åéè¯", |
| | | type: "error", |
| | | }); |
| | | } |
| | | this.saveloading = false; |
| | | }); |
| | | }, |
| | | |
| | | //å¤ççº§èæ°æ® |
| | | handleChange(city) { |
| | | let cityStr = |
| | | CodeToText[city[0]] + |
| | | "/" + |
| | | CodeToText[city[1]] + |
| | | "/" + |
| | | CodeToText[city[2]]; |
| | | let cityArr = cityStr.split("/"); |
| | | if (cityArr[1] == "å¸è¾åº") { |
| | | cityArr[1] = cityArr[0]; |
| | | } |
| | | this.editForm.city = cityArr.join("/"); |
| | | }, |
| | | |
| | | //è·åæ ·ä¹¦å表 |
| | | getBookList(val) { |
| | | this.bookList = []; |
| | | val.forEach((item) => { |
| | | const templateObj = { |
| | | id: item.id, |
| | | title: item.name, |
| | | icon: item.icon, |
| | | author: item.caupress_author, |
| | | defaultSaleMethodId: item.defaultSaleMethodId, |
| | | isbn: item.caupress_ISBN, |
| | | price: item.price, |
| | | checked: item.checked ? item.checked : false, |
| | | cmsPath: item.rootCmsItemId, |
| | | }; |
| | | this.bookList.push(templateObj); |
| | | }); |
| | | }, |
| | | |
| | | //å é¤å°å |
| | | // å é¤å°å |
| | | deleteAddress(id) { |
| | | let that = this; |
| | | this.$confirm("æ¯å¦ç§»é¤è¯¥å°å", "æç¤º", { |
| | | type: "warning", |
| | | }) |
| | | .then(() => { |
| | | let basicInfo = ""; |
| | | that.tableData.forEach((item) => { |
| | | if (item.id == id) { |
| | | basicInfo = item; |
| | | } |
| | | }); |
| | | const userInfo = { |
| | | requests: [ |
| | | { |
| | | data: JSON.stringify(basicInfo), |
| | | name: "å°å管ç", |
| | | type: "Address", |
| | | }, |
| | | ], |
| | | }; |
| | | this.MG.identity.setAppUserInfo(userInfo).then((res) => { |
| | | if (res) { |
| | | this.$message({ |
| | | type: "success", |
| | | message: "å°åç§»é¤æå", |
| | | }); |
| | | this.isAdd = false; |
| | | // éæ°è·åæ°æ® |
| | | this.getAddress(); |
| | | } |
| | | }); |
| | | }) |
| | | .catch(() => {}); |
| | | }, |
| | | }, |
| | | }; |
| | | </script> |
| | | |
| | | <style scoped> |
| | | .classBox { |
| | | width: 100%; |
| | | height: 1000px; |
| | | background-color: #fff; |
| | | padding: 0 40px; |
| | | /* display: flex; |
| | | justify-content: center; */ |
| | | box-sizing: border-box; |
| | | } |
| | | .ruleBox { |
| | | /* text-align: center; */ |
| | | padding-left: 20px; |
| | | background-color: #f2f7f4; |
| | | /* width: 100%; */ |
| | | /* height: 50px; */ |
| | | line-height: 40px; |
| | | border-radius: 5px; |
| | | margin: 0 auto; |
| | | } |
| | | .classCondition { |
| | | display: flex; |
| | | justify-content: space-between; |
| | | margin-top: 50px; |
| | | font-size: 16px; |
| | | font-weight: 700; |
| | | height: 50px; |
| | | line-height: 50px; |
| | | border-bottom: 1px solid #dbdbdb; |
| | | color: #333; |
| | | } |
| | | .formBox { |
| | | margin-top: 30px; |
| | | padding: 0 100px; |
| | | } |
| | | .tableBox { |
| | | margin-top: 20px; |
| | | max-height: 300px; |
| | | overflow-y: auto; |
| | | } |
| | | .addAddress { |
| | | font-size: 14px; |
| | | color: #009341; |
| | | cursor: pointer; |
| | | } |
| | | .btnBox { |
| | | margin-top: 30px; |
| | | float: right; |
| | | } |
| | | </style> |
| | | <style> |
| | | .el-table tbody tr:hover > td { |
| | | background-color: #e7f3ec !important; |
| | | } |
| | | </style> |
New file |
| | |
| | | <template> |
| | | <div class="contentBox"> |
| | | <detailInfo :bookInfo="bookInfo" v-loading="loading"></detailInfo> |
| | | <div style="display: flex"> |
| | | <div class="leftBox"> |
| | | <electronicBooks /> |
| | | <paperCopies /> |
| | | </div> |
| | | <div class="rightBox"> |
| | | <bookInfo :bookInfo="bookInfo" v-loading="loading" /> |
| | | <resource |
| | | :resourceSupportList="resourceSupportList" |
| | | :allResource="allResource" |
| | | :bookInfo="bookInfo" |
| | | /> |
| | | <serviceRelated |
| | | ref="rela" |
| | | :bookInfo="bookInfo" |
| | | :recommendKey="recommendKey" |
| | | @reloadPage="reloadPage" |
| | | /> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import config from "@/assets/js/config"; |
| | | import detailInfo from "@/components/detail/detailInfo.vue"; |
| | | import electronicBooks from "@/components/detail/electronicBooks.vue"; |
| | | import bookInfo from "@/components/detail/bookInfo.vue"; |
| | | import resource from "@/components/detail/resource.vue"; |
| | | import paperCopies from "@/components/detail/paperCopies.vue"; |
| | | import serviceRelated from "@/components/detail/serviceRelated.vue"; |
| | | |
| | | export default { |
| | | components: { |
| | | detailInfo, |
| | | electronicBooks, |
| | | bookInfo, |
| | | resource, |
| | | paperCopies, |
| | | serviceRelated, |
| | | }, |
| | | data() { |
| | | return { |
| | | bookInfo: {}, |
| | | detailRoute: "teachingServices-detail", |
| | | resourceSupportList: [], |
| | | allResource: [], |
| | | recommendKey: "", |
| | | currentId: null, |
| | | currentCmsId: null, |
| | | loading: true, |
| | | }; |
| | | }, |
| | | created() { |
| | | if (this.$route.query.id && this.$route.query.cmsPath) { |
| | | this.currentId = this.$route.query.id; |
| | | this.currentCmsId = this.$route.query.cmsPath; |
| | | this.getData(); |
| | | } else { |
| | | this.getData({ id: this.$route.query.id }); |
| | | } |
| | | window.scrollTo(0, 0); |
| | | |
| | | this.setNewView("productId", this.$route.query.id); |
| | | }, |
| | | methods: { |
| | | //è·åçµå书å©ä½ç³è¯·æ¬¡æ° |
| | | getEbookTicketRes() { |
| | | this.MG.app |
| | | .getTicketResult({ |
| | | ticketRefCodeOrGuid: "electronicSampleBookapplyNum", |
| | | roleId: this.userInfo.roleId, |
| | | }) |
| | | .then((res) => { |
| | | this.ebookTotalCount = res.totalCount - res.usedCount; |
| | | }); |
| | | }, |
| | | //è·å纸质å©ä½ç³è¯·æ¬¡æ° |
| | | getPbookTicketRes() { |
| | | this.MG.app |
| | | .getTicketResult({ |
| | | ticketRefCodeOrGuid: "paperSampleBookapplyNum", |
| | | roleId: this.userInfo.roleId, |
| | | }) |
| | | .then((res) => { |
| | | this.pbookTotalCount = res.totalCount - res.usedCount; |
| | | }); |
| | | }, |
| | | |
| | | //è·å书ç±è¯¦æ
|
| | | getData(data) { |
| | | this.loading = true; |
| | | let query = { |
| | | path: "*", |
| | | queryType: "*", |
| | | productId: data ? data.id : this.currentId, |
| | | cmsPath: this.currentCmsId, //è·åä¹¦ç±æä»¶å¤¹ |
| | | fields: { |
| | | caupress_author: [], |
| | | caupress_content: [], |
| | | caupress_seriesName: [], |
| | | caupress_publicationDate: [], |
| | | caupress_ISBN: [], |
| | | caupress_pubNumber: [], |
| | | caupress_authorAbout: [], |
| | | caupress_recommendationReason: [], |
| | | caupress_preface: [], |
| | | caupress_catalog: [], |
| | | caupress_pdfFreeFile: [], |
| | | caupress_projectTitle: [], |
| | | caupress_pdfFile: [], |
| | | caupress_catalogue: [], |
| | | caupress_contactEditor: [], |
| | | }, |
| | | linkTypes: [ |
| | | // è·åå
³èçç¼è¾ä¿¡æ¯ |
| | | { |
| | | linkType: "caupress_editor", |
| | | fields: { |
| | | telephone: [], |
| | | phone: [], |
| | | qq: [], |
| | | }, |
| | | }, |
| | | ], |
| | | }; |
| | | |
| | | // è·å书ç±è¯¦æ
以å书ç±èµæºæä»¶å¤¹ |
| | | this.MG.store.getProductDetail(query).then((res) => { |
| | | this.bookInfo = res.datas; |
| | | if (this.bookInfo.caupress_catalogue) { |
| | | this.bookInfo.caupress_catalogue = JSON.parse( |
| | | this.bookInfo.caupress_catalogue |
| | | ); |
| | | // è·å屿¬¡è¿è¡ç¸å
³æ¨è |
| | | this.recommendKey = this.bookInfo.caupress_catalogue[0]; |
| | | console.log(this.recommendKey, "this.recommendKey"); |
| | | if (this.recommendKey.length > 0) { |
| | | this.catalogue = []; |
| | | this.recommendKey.forEach((item, index) => { |
| | | if (index == 0) { |
| | | this.catalogue.push(item); |
| | | } else { |
| | | this.catalogue.push("&" + item); |
| | | } |
| | | }); |
| | | } |
| | | this.$refs.rela.getData(this.catalogue); |
| | | } else { |
| | | this.recommendKey = "null"; |
| | | } |
| | | // è·åå
³èçç¼è¾ä¿¡æ¯ |
| | | let query = this.bookInfo.cmsDatas.find( |
| | | (item) => item.queryTag == "QueryLink_" + "caupress_editor" |
| | | ); |
| | | if (query && query.datas.length) { |
| | | this.bookInfo.caupress_editor = { |
| | | name: query.datas[0].name, |
| | | telephone: query.datas[0].telephone, |
| | | phone: query.datas[0].phone, |
| | | qq: query.datas[0].qq, |
| | | }; |
| | | } |
| | | if (this.bookInfo.caupress_projectTitle) { |
| | | this.bookInfo.caupress_projectTitle = JSON.parse( |
| | | this.bookInfo.caupress_projectTitle |
| | | ); |
| | | } |
| | | if (this.bookInfo.caupress_projectTitle instanceof Array) { |
| | | if (this.bookInfo.caupress_projectTitle.length > 1) { |
| | | this.bookInfo.caupress_projectTitle = |
| | | this.bookInfo.caupress_projectTitle.join("ã"); |
| | | } else { |
| | | this.bookInfo.caupress_projectTitle = |
| | | this.bookInfo.caupress_projectTitle[0]; |
| | | } |
| | | } |
| | | this.bookInfo.VirtualPrice = |
| | | this.bookInfo.saleMethod.length > 0 |
| | | ? this.bookInfo.saleMethod[0].VirtualPrice |
| | | : null; |
| | | this.bookInfo.caupress_seriesName = |
| | | config.seriesList[this.bookInfo.caupress_seriesName]; |
| | | if (this.bookInfo.caupress_pubNumber) { |
| | | this.bookInfo.caupress_pubNumber = |
| | | this.bookInfo.caupress_pubNumber.split("_")[1]; |
| | | } |
| | | this.loading = false; |
| | | |
| | | this.$store.commit("setHistoryBook", this.bookInfo); |
| | | let folderList = res.datas.cmsDatas[0].datas; |
| | | console.log(folderList, "folderList"); |
| | | folderList.forEach((item) => { |
| | | if (item.name == "é
å¥èµæº") { |
| | | this.MG.store |
| | | .getProductDetail({ |
| | | path: "*", |
| | | cmsPath: res.datas.rootCmsItemId + "\\" + item.id, //ä¹¦ç±æä»¶å¤¹IDè·åæä»¶å¤¹ä¸èµæº |
| | | productId: this.currentId, |
| | | queryType: "*", |
| | | itemFields: { |
| | | caupress_fileType: [], |
| | | caupress_file: [], |
| | | caupress_allowDownload: [], |
| | | }, |
| | | }) |
| | | .then((dataRes) => { |
| | | this.resourceSupportList = dataRes.datas.cmsDatas[0].datas; |
| | | }); |
| | | } else { |
| | | this.MG.store |
| | | .getProductDetail({ |
| | | path: "*", |
| | | cmsPath: res.datas.rootCmsItemId + "\\\\" + item.id, //ä¹¦ç±æä»¶å¤¹IDè·åæä»¶å¤¹ä¸èµæº |
| | | productId: this.currentId, |
| | | queryType: "*", |
| | | itemFields: { |
| | | caupress_fileType: [], |
| | | caupress_file: [], |
| | | caupress_allowDownload: [], |
| | | }, |
| | | }) |
| | | .then((dataRes) => { |
| | | this.allResource = dataRes.datas.cmsDatas[0].datas; |
| | | }); |
| | | } |
| | | }); |
| | | }); |
| | | }, |
| | | reloadPage(data) { |
| | | this.getData(data); |
| | | window.scrollTo(0, 0); |
| | | }, |
| | | }, |
| | | beforeRouteLeave(to, from, next) { |
| | | if (to.name != "teachingServices-index") { |
| | | this.$store.commit("delKeepAlive", "teachingServices-index"); |
| | | } |
| | | next(); |
| | | }, |
| | | }; |
| | | </script> |
| | | |
| | | <style></style> |
New file |
| | |
| | | <template> |
| | | <div class="minWidth"> |
| | | <el-carousel :height="screenheight + 'px'" v-show="bannerState"> |
| | | <el-carousel-item v-for="item in bannerList" :key="item.id"> |
| | | <div class="bannerBox imgBox" :style="item.caupress_link ? 'cursor: pointer' : ''"> |
| | | <img class="bannerImg" :src="item.icon" @click="bannerLink(item)" /> |
| | | </div> |
| | | </el-carousel-item> |
| | | </el-carousel> |
| | | <div |
| | | :class="!bannerState ? 'show stow' : 'stow'" |
| | | @click="bannerState = !bannerState" |
| | | > |
| | | {{ bannerState ? "æ¶èµ·" : "æ¾ç¤º" }} |
| | | è½®æå¾ |
| | | <i |
| | | :class="bannerState ? 'el-icon-caret-top' : 'el-icon-caret-bottom'" |
| | | ></i> |
| | | </div> |
| | | <div class="contentBox"> |
| | | <div class="tabs" v-show="!$route.query.searchOptionHidden"> |
| | | <div |
| | | class="tabItem" |
| | | v-for="(item, index) in tab" |
| | | :key="index" |
| | | @click="toRoute(item)" |
| | | > |
| | | <div class="img"> |
| | | <img src="@/assets/images/teaching/teacher.png" alt="" /> |
| | | </div> |
| | | <p class="title">{{ item.name }}</p> |
| | | <p class="englishTitle">{{ item.englishName }}</p> |
| | | <div class="jump"> |
| | | <img src="@/assets/images/teaching/arrow.png" alt="" /> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="notice"> |
| | | <p>åºç社 <span>å
Œ //</span></p> |
| | | <el-carousel height="40px" direction="vertical" :autoplay="true"> |
| | | <el-carousel-item v-for="(item, index) in noticeList" :key="index"> |
| | | <div class="ellipsis" :title="item.name"> |
| | | {{ item.name }} |
| | | </div> |
| | | </el-carousel-item> |
| | | </el-carousel> |
| | | </div> |
| | | |
| | | <List |
| | | :channel=" |
| | | this.$route.query.searchPath |
| | | ? this.$route.query.searchPath |
| | | : 'caupress_teachingResource' |
| | | " |
| | | :searchOptionHidden="searchOptionHidden" |
| | | :detailRoute="detailRoute" |
| | | ></List> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import List from "@/components/list"; |
| | | import tool from "@/assets/js/toolClass"; |
| | | export default { |
| | | name: "teachingServices-index", |
| | | components: { |
| | | List, |
| | | }, |
| | | data() { |
| | | return { |
| | | detailRoute: "teachingServices-detail", |
| | | bannerList: [], |
| | | tab: [ |
| | | { |
| | | name: "æå¸è®¤è¯", |
| | | englishName: "TEACHER CERTIFICATION", |
| | | icon: "@/assets/images/teaching/teacher.png", |
| | | jumpPath: "/personalCenter", |
| | | query: "1", |
| | | }, |
| | | { |
| | | name: "æ ·ä¹¦ç³è¯·", |
| | | englishName: "SAMPLE APPLICATION", |
| | | icon: "@/assets/images/teaching/sample.png", |
| | | jumpPath: "/teachingServices/applyBook-electronic", |
| | | }, |
| | | { |
| | | name: "æççµåæ ·ä¹¦", |
| | | englishName: "ELECTRONIC BOOKS", |
| | | icon: "@/assets/images/teaching/electronicBooks.png", |
| | | jumpPath: "/personalCenter", |
| | | query: "5", |
| | | }, |
| | | { |
| | | name: "æççº¸è´¨æ ·ä¹¦", |
| | | englishName: "PAPER COPIES", |
| | | icon: "@/assets/images/teaching/paperCopies.png", |
| | | jumpPath: "/personalCenter", |
| | | query: "6", |
| | | }, |
| | | ], |
| | | noticeList: [], |
| | | bannerState: true, |
| | | searchOptionHidden: this.$route.query.searchOptionHidden |
| | | ? this.$route.query.searchOptionHidden |
| | | : false, |
| | | screenheight: document.documentElement.clientWidth / 2.628, |
| | | }; |
| | | }, |
| | | created() { |
| | | window.onresize = () => { |
| | | let c = 2.628; |
| | | if (document.documentElement.clientWidth >= 1220) { |
| | | this.screenheight = document.documentElement.clientWidth / c; |
| | | } |
| | | }; |
| | | this.getBanner(); |
| | | this.getNotice(); |
| | | if(tool.getCookie(this.config.tokenKey)){ |
| | | this.getUserInfo(); |
| | | } |
| | | |
| | | setTimeout(() => { |
| | | this.bannerState = false; |
| | | }, 15000); |
| | | }, |
| | | methods: { |
| | | bannerLink(val) { |
| | | if (val.caupress_link) { |
| | | window.open(val.caupress_link); |
| | | } |
| | | }, |
| | | //æ´æ°ç¨æ·ä¿¡æ¯ |
| | | getUserInfo() { |
| | | this.MG.identity.getCurrentAppUser().then((res) => { |
| | | if (res) { |
| | | let teacherRole = res.roleLinks.find( |
| | | (item) => item.role.refCode == "teacher" |
| | | ); |
| | | let teacherInfo = res.infoList.find( |
| | | (item) => item.type == "teacherInfo" |
| | | ); |
| | | let wechatInfo = res.infoList.find((item) => item.type == "WeChat"); |
| | | let studentInfo = res.infoList.find((item) => item.type == "Default"); |
| | | let phoneInfo = res.secretList.find( |
| | | (item) => item.type == "MobilePhone" |
| | | ); |
| | | if (teacherRole && teacherInfo) { |
| | | let data = {}; |
| | | try { |
| | | data = JSON.parse(teacherInfo.data); |
| | | } catch (error) { |
| | | data = {}; |
| | | } |
| | | this.$store.dispatch("setUserInfo", { |
| | | ...data, |
| | | name: data.fullName, |
| | | phoneNumber: phoneInfo?.credential, |
| | | role: "Teacher", |
| | | roleId: teacherRole.role.id, |
| | | }); |
| | | } else if (wechatInfo) { |
| | | this.$store.dispatch("setUserInfo", { |
| | | ...wechatInfo, |
| | | phoneNumber: phoneInfo?.credential, |
| | | role: "Student", |
| | | }); |
| | | } else if (studentInfo) { |
| | | this.$store.dispatch("setUserInfo", { |
| | | ...studentInfo, |
| | | phoneNumber: phoneInfo?.credential, |
| | | role: "Student", |
| | | }); |
| | | } |
| | | } |
| | | }); |
| | | }, |
| | | //导èªè·³è½¬ |
| | | |
| | | toRoute(item) { |
| | | if (!this.$store.state.token) { |
| | | this.$router.push({ |
| | | path: "/login", |
| | | query: { |
| | | redirectPath: this.$route.fullPath |
| | | } |
| | | }); |
| | | }else{ |
| | | if (item.name == "æ ·ä¹¦ç³è¯·") { |
| | | if (this.$store.state.userInfo.role !== "Teacher") { |
| | | this.$message({ |
| | | showClose: true, |
| | | message: "请å
è¿è¡æå¸è®¤è¯", |
| | | type: "warning", |
| | | }); |
| | | return; |
| | | } |
| | | if ( |
| | | this.$store.state.electronicBookList.length == 0 && |
| | | this.$store.state.paperCopiesList.length == 0 |
| | | ) { |
| | | this.$message.error("è¯·æ·»å æ ·ä¹¦åçææ¸
åï¼"); |
| | | } else if (this.$store.state.electronicBookList != 0) { |
| | | this.$router.push({ |
| | | path: item.jumpPath, |
| | | query: { |
| | | tabsSelected: item.query ? item.query : null, |
| | | }, |
| | | }); |
| | | } else if (this.$store.state.paperCopiesList.length != 0) { |
| | | this.$router.push({ |
| | | path: "/teachingServices/applyBook-paper", |
| | | query: { |
| | | tabsSelected: item.query ? item.query : null, |
| | | }, |
| | | }); |
| | | } |
| | | } else if (item.name == "æå¸è®¤è¯") { |
| | | this.$router.push({ |
| | | name: "personalCenter", |
| | | query: { |
| | | tabsSelected: 1, |
| | | }, |
| | | }); |
| | | } else if (item.name == "æççµåæ ·ä¹¦") { |
| | | this.$router.push({ |
| | | name: "personalCenter", |
| | | query: { |
| | | tabsSelected: 5, |
| | | }, |
| | | }); |
| | | } else if (item.name == "æççº¸è´¨æ ·ä¹¦") { |
| | | this.$router.push({ |
| | | name: "personalCenter", |
| | | query: { |
| | | tabsSelected: 6, |
| | | }, |
| | | }); |
| | | } |
| | | } |
| | | }, |
| | | getBanner() { |
| | | this.MG.resource |
| | | .getItem({ |
| | | path: "caupress_banner\\caupress_teachService", |
| | | fields: { |
| | | caupress_link: [], |
| | | }, |
| | | coverSize: { |
| | | height: 750, |
| | | }, |
| | | paging: { |
| | | start: 0, |
| | | size: 999, |
| | | }, |
| | | }) |
| | | .then((res) => { |
| | | this.bannerList = res.datas; |
| | | }); |
| | | }, |
| | | getNotice() { |
| | | this.MG.resource |
| | | .getItem({ |
| | | path: "caupress_notes", |
| | | paging: { |
| | | start: 0, |
| | | size: 999, |
| | | }, |
| | | }) |
| | | .then((res) => { |
| | | this.noticeList = res.datas; |
| | | }); |
| | | }, |
| | | }, |
| | | // å¦æè·³è½¬é¡µé¢ä¸æ¯è¯¦æ
ï¼åå°å½å页é¢ä¸ç¼å |
| | | beforeRouteLeave(to, from, next) { |
| | | if (to.name != "teachingServices-detail") { |
| | | this.$store.commit("delKeepAlive", from.name); |
| | | } |
| | | next(); |
| | | }, |
| | | }; |
| | | </script> |
| | | |
| | | <style lang="less" scoped> |
| | | .autoImg { |
| | | max-height: none; |
| | | } |
| | | .minWidth { |
| | | min-width: 1220px; |
| | | } |
| | | .stow { |
| | | width: 160px; |
| | | margin: 0 auto; |
| | | text-align: center; |
| | | border: 1px solid #b3b3b3; |
| | | font-size: 16px; |
| | | line-height: 40px; |
| | | border-radius: 21px; |
| | | color: #b3b3b3; |
| | | cursor: pointer; |
| | | margin-top: 5px; |
| | | } |
| | | .show { |
| | | margin-top: 20px; |
| | | } |
| | | .bannerBox { |
| | | background: #f3f3f3; |
| | | } |
| | | .imgBox { |
| | | position: relative; |
| | | width: 100%; |
| | | height: 100%; |
| | | } |
| | | .contentBox { |
| | | background-color: rgb(241, 248, 244); |
| | | .tabs { |
| | | display: flex; |
| | | justify-content: space-between; |
| | | margin-top: 20px; |
| | | margin-bottom: 50px; |
| | | .tabItem { |
| | | width: 250px; |
| | | height: 250px; |
| | | background-color: #e7f9ef; |
| | | text-align: center; |
| | | position: relative; |
| | | cursor: pointer; |
| | | box-shadow: -1.04px 3.86px 20px 4px rgba(0, 0, 0, 0.1); |
| | | .img { |
| | | padding-left: 10px; |
| | | width: 250px; |
| | | } |
| | | .title { |
| | | font-size: 20px; |
| | | font-weight: 700; |
| | | color: #444444; |
| | | line-height: 30px; |
| | | } |
| | | .englishTitle { |
| | | font-size: 14px; |
| | | color: #b0b0b0; |
| | | line-height: 30px; |
| | | } |
| | | .jump { |
| | | width: 100%; |
| | | height: 30px; |
| | | background-color: #fff; |
| | | position: absolute; |
| | | bottom: 0; |
| | | img { |
| | | margin-top: 10px; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | .notice { |
| | | display: flex; |
| | | line-height: 40px; |
| | | border-bottom: 1px solid #e6e6e6; |
| | | margin-bottom: 20px; |
| | | p { |
| | | width: 100px; |
| | | font-weight: 700; |
| | | span { |
| | | color: #00873c; |
| | | } |
| | | } |
| | | div { |
| | | font-size: 14px; |
| | | width: 1000px; |
| | | color: #666666; |
| | | cursor: pointer; |
| | | } |
| | | } |
| | | } |
| | | </style> |
New file |
| | |
| | | const { defineConfig } = require('@vue/cli-service') |
| | | module.exports = defineConfig({ |
| | | publicPath: "./", |
| | | productionSourceMap: false, |
| | | transpileDependencies: true |
| | | }) |