├── .babelrc ├── .editorconfig ├── .gitignore ├── .postcssrc.js ├── README.md ├── build ├── build.js ├── check-versions.js ├── logo.png ├── utils.js ├── vue-loader.conf.js ├── webpack.base.conf.js ├── webpack.dev.conf.js └── webpack.prod.conf.js ├── config ├── dev.env.js ├── index.js └── prod.env.js ├── index.html ├── package-lock.json ├── package.json ├── src ├── App.vue ├── components │ ├── common │ │ ├── IconSvg.vue │ │ ├── commonHeader.vue │ │ └── sideBar.vue │ └── webComponent.vue ├── config │ ├── dbConfig.js │ ├── generalMethod.js │ ├── iconConfig.js │ ├── jsonApi │ │ ├── apiUrl.js │ │ ├── apiUtil.js │ │ └── index.js │ ├── mixinConfig.js │ ├── pluginConfig.js │ ├── protoApi │ │ ├── protoApiConfig.js │ │ ├── protoConfigObj.js │ │ └── protoReqConfig.js │ ├── proxyConfig.js │ ├── routerConfig.js │ └── vuexConfig.js ├── configFile │ ├── pageConfig.js │ └── proto │ │ ├── BaseResponse.proto │ │ ├── LoginUserInfoResponsePb.proto │ │ ├── PageResponse.proto │ │ ├── PageResponsePb.proto │ │ ├── PermissionRequestPb.proto │ │ ├── PermissionResponsePb.proto │ │ ├── Person.proto │ │ ├── UserGroupLinkRequestPb.proto │ │ ├── UserGroupPermissionLinkRequestPb.proto │ │ ├── UserGroupRequestPb.proto │ │ ├── UserGroupResponsePb.proto │ │ ├── UserListRequestPb.proto │ │ ├── UserPermissionLinkRequestPb.proto │ │ ├── UserRequestPb.proto │ │ ├── UserResponsePb.proto │ │ ├── ViUserGroupRequestPb.proto │ │ ├── ViUserPermissionRequestPb.proto │ │ └── proto.js ├── main.js └── views │ ├── index │ └── index.vue │ ├── login │ ├── login.css │ ├── login.js │ ├── login.less │ └── login.vue │ ├── pageOne │ └── pageOne.vue │ └── pageTwo │ └── pageTwo.vue ├── static ├── .gitkeep ├── element-ui-theme │ ├── element-#0BB2D4 │ │ ├── fonts │ │ │ ├── element-icons.ttf │ │ │ └── element-icons.woff │ │ └── index.css │ ├── element-#11C26D │ │ ├── fonts │ │ │ ├── element-icons.ttf │ │ │ └── element-icons.woff │ │ └── index.css │ ├── element-#17B3A3 │ │ ├── fonts │ │ │ ├── element-icons.ttf │ │ │ └── element-icons.woff │ │ └── index.css │ ├── element-#3E8EF7 │ │ ├── fonts │ │ │ ├── element-icons.ttf │ │ │ └── element-icons.woff │ │ └── index.css │ ├── element-#667AFA │ │ ├── fonts │ │ │ ├── element-icons.ttf │ │ │ └── element-icons.woff │ │ └── index.css │ ├── element-#757575 │ │ ├── fonts │ │ │ ├── element-icons.ttf │ │ │ └── element-icons.woff │ │ └── index.css │ ├── element-#78A7ED │ │ ├── fonts │ │ │ ├── element-icons.ttf │ │ │ └── element-icons.woff │ │ └── index.css │ ├── element-#9463F7 │ │ ├── fonts │ │ │ ├── element-icons.ttf │ │ │ └── element-icons.woff │ │ └── index.css │ ├── element-#997B71 │ │ ├── fonts │ │ │ ├── element-icons.ttf │ │ │ └── element-icons.woff │ │ └── index.css │ ├── element-#EB6709 │ │ ├── fonts │ │ │ ├── element-icons.ttf │ │ │ └── element-icons.woff │ │ └── index.css │ ├── element-#F74584 │ │ ├── fonts │ │ │ ├── element-icons.ttf │ │ │ └── element-icons.woff │ │ └── index.css │ ├── element-#FCB900 │ │ ├── fonts │ │ │ ├── element-icons.ttf │ │ │ └── element-icons.woff │ │ └── index.css │ ├── element-#FF4C52 │ │ ├── fonts │ │ │ ├── element-icons.ttf │ │ │ └── element-icons.woff │ │ └── index.css │ └── index.js ├── file │ └── proto接口文档.xlsx ├── icon │ ├── expant.svg │ ├── pageOne.svg │ └── pageTwo.svg ├── image │ ├── list_side_bar.svg │ ├── logo.png │ ├── titleIcon.svg │ ├── user_img.png │ └── vuejs.png ├── js │ ├── globalConfig.js │ └── test-clear.js ├── scss │ ├── _base.scss │ ├── _normalize.scss │ ├── _variables.scss │ └── index.scss └── style │ ├── Universal.css │ └── reset.css └── theme ├── alert.css ├── aside.css ├── autocomplete.css ├── badge.css ├── base.css ├── breadcrumb-item.css ├── breadcrumb.css ├── button-group.css ├── button.css ├── card.css ├── carousel-item.css ├── carousel.css ├── cascader.css ├── checkbox-button.css ├── checkbox-group.css ├── checkbox.css ├── col.css ├── collapse-item.css ├── collapse.css ├── color-picker.css ├── container.css ├── date-picker.css ├── dialog.css ├── display.css ├── dropdown-item.css ├── dropdown-menu.css ├── dropdown.css ├── element-variables.css ├── fonts ├── element-icons.ttf └── element-icons.woff ├── footer.css ├── form-item.css ├── form.css ├── header.css ├── icon.css ├── index.css ├── input-number.css ├── input.css ├── loading.css ├── main.css ├── menu-item-group.css ├── menu-item.css ├── menu.css ├── message-box.css ├── message.css ├── notification.css ├── option-group.css ├── option.css ├── pagination.css ├── popover.css ├── popper.css ├── progress.css ├── radio-button.css ├── radio-group.css ├── radio.css ├── rate.css ├── reset.css ├── row.css ├── scrollbar.css ├── select-dropdown.css ├── select.css ├── slider.css ├── spinner.css ├── step.css ├── steps.css ├── submenu.css ├── switch.css ├── tab-pane.css ├── table-column.css ├── table.css ├── tabs.css ├── tag.css ├── time-picker.css ├── time-select.css ├── timeline-item.css ├── timeline.css ├── tooltip.css ├── transfer.css ├── tree.css └── upload.css /.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | "presets": [ 3 | ["env", { 4 | "modules": false, 5 | "targets": { 6 | "browsers": ["> 1%", "last 2 versions", "not ie <= 8"] 7 | } 8 | }], 9 | "stage-2" 10 | ], 11 | "plugins": ["transform-vue-jsx", "transform-runtime"] 12 | } 13 | -------------------------------------------------------------------------------- /.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | [*] 4 | charset = utf-8 5 | indent_style = space 6 | indent_size = 2 7 | end_of_line = lf 8 | insert_final_newline = true 9 | trim_trailing_whitespace = true 10 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | node_modules/ 3 | /dist/ 4 | npm-debug.log* 5 | yarn-debug.log* 6 | yarn-error.log* 7 | 8 | # Editor directories and files 9 | .idea 10 | .vscode 11 | *.suo 12 | *.ntvs* 13 | *.njsproj 14 | *.sln 15 | -------------------------------------------------------------------------------- /.postcssrc.js: -------------------------------------------------------------------------------- 1 | // https://github.com/michael-ciniawsky/postcss-load-config 2 | 3 | module.exports = { 4 | "plugins": { 5 | "postcss-import": {}, 6 | "postcss-url": {}, 7 | // to edit target browsers: use "browserslist" field in package.json 8 | "autoprefixer": {} 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /build/build.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | require('./check-versions')() 3 | 4 | process.env.NODE_ENV = 'production' 5 | 6 | const ora = require('ora') 7 | const rm = require('rimraf') 8 | const path = require('path') 9 | const chalk = require('chalk') 10 | const webpack = require('webpack') 11 | const config = require('../config') 12 | const webpackConfig = require('./webpack.prod.conf') 13 | 14 | const spinner = ora('building for production...') 15 | spinner.start() 16 | 17 | rm(path.join(config.build.assetsRoot, config.build.assetsSubDirectory), err => { 18 | if (err) throw err 19 | webpack(webpackConfig, (err, stats) => { 20 | spinner.stop() 21 | if (err) throw err 22 | process.stdout.write(stats.toString({ 23 | colors: true, 24 | modules: false, 25 | children: false, // If you are using ts-loader, setting this to true will make TypeScript errors show up during build. 26 | chunks: false, 27 | chunkModules: false 28 | }) + '\n\n') 29 | 30 | if (stats.hasErrors()) { 31 | console.log(chalk.red(' Build failed with errors.\n')) 32 | process.exit(1) 33 | } 34 | 35 | console.log(chalk.cyan(' Build complete.\n')) 36 | console.log(chalk.yellow( 37 | ' Tip: built files are meant to be served over an HTTP server.\n' + 38 | ' Opening index.html over file:// won\'t work.\n' 39 | )) 40 | }) 41 | }) 42 | -------------------------------------------------------------------------------- /build/check-versions.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | const chalk = require('chalk') 3 | const semver = require('semver') 4 | const packageConfig = require('../package.json') 5 | const shell = require('shelljs') 6 | 7 | function exec (cmd) { 8 | return require('child_process').execSync(cmd).toString().trim() 9 | } 10 | 11 | const versionRequirements = [ 12 | { 13 | name: 'node', 14 | currentVersion: semver.clean(process.version), 15 | versionRequirement: packageConfig.engines.node 16 | } 17 | ] 18 | 19 | if (shell.which('npm')) { 20 | versionRequirements.push({ 21 | name: 'npm', 22 | currentVersion: exec('npm --version'), 23 | versionRequirement: packageConfig.engines.npm 24 | }) 25 | } 26 | 27 | module.exports = function () { 28 | const warnings = [] 29 | 30 | for (let i = 0; i < versionRequirements.length; i++) { 31 | const mod = versionRequirements[i] 32 | 33 | if (!semver.satisfies(mod.currentVersion, mod.versionRequirement)) { 34 | warnings.push(mod.name + ': ' + 35 | chalk.red(mod.currentVersion) + ' should be ' + 36 | chalk.green(mod.versionRequirement) 37 | ) 38 | } 39 | } 40 | 41 | if (warnings.length) { 42 | console.log('') 43 | console.log(chalk.yellow('To use this template, you must update following to modules:')) 44 | console.log() 45 | 46 | for (let i = 0; i < warnings.length; i++) { 47 | const warning = warnings[i] 48 | console.log(' ' + warning) 49 | } 50 | 51 | console.log() 52 | process.exit(1) 53 | } 54 | } 55 | -------------------------------------------------------------------------------- /build/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ou-jin/vue-element-template/97d4b39b50e84e5b5e069a50c0ad19172027430e/build/logo.png -------------------------------------------------------------------------------- /build/utils.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | const path = require('path') 3 | const config = require('../config') 4 | const ExtractTextPlugin = require('extract-text-webpack-plugin') 5 | const packageConfig = require('../package.json') 6 | 7 | exports.assetsPath = function (_path) { 8 | const assetsSubDirectory = process.env.NODE_ENV === 'production' 9 | ? config.build.assetsSubDirectory 10 | : config.dev.assetsSubDirectory 11 | 12 | return path.posix.join(assetsSubDirectory, _path) 13 | } 14 | 15 | exports.cssLoaders = function (options) { 16 | options = options || {} 17 | 18 | const cssLoader = { 19 | loader: 'css-loader', 20 | options: { 21 | sourceMap: options.sourceMap 22 | } 23 | } 24 | 25 | const postcssLoader = { 26 | loader: 'postcss-loader', 27 | options: { 28 | sourceMap: options.sourceMap 29 | } 30 | } 31 | 32 | // generate loader string to be used with extract text plugin 33 | function generateLoaders (loader, loaderOptions) { 34 | const loaders = options.usePostCSS ? [cssLoader, postcssLoader] : [cssLoader] 35 | 36 | if (loader) { 37 | loaders.push({ 38 | loader: loader + '-loader', 39 | options: Object.assign({}, loaderOptions, { 40 | sourceMap: options.sourceMap 41 | }) 42 | }) 43 | } 44 | 45 | // Extract CSS when that option is specified 46 | // (which is the case during production build) 47 | if (options.extract) { 48 | return ExtractTextPlugin.extract({ 49 | use: loaders, 50 | publicPath:'../../', 51 | fallback: 'vue-style-loader' 52 | }) 53 | } else { 54 | return ['vue-style-loader'].concat(loaders) 55 | } 56 | } 57 | 58 | // https://vue-loader.vuejs.org/en/configurations/extract-css.html 59 | return { 60 | css: generateLoaders(), 61 | postcss: generateLoaders(), 62 | less: generateLoaders('less'), 63 | sass: generateLoaders('sass', { indentedSyntax: true }), 64 | scss: generateLoaders('sass'), 65 | stylus: generateLoaders('stylus'), 66 | styl: generateLoaders('stylus') 67 | } 68 | } 69 | 70 | // Generate loaders for standalone style files (outside of .vue) 71 | exports.styleLoaders = function (options) { 72 | const output = [] 73 | const loaders = exports.cssLoaders(options) 74 | 75 | for (const extension in loaders) { 76 | const loader = loaders[extension] 77 | output.push({ 78 | test: new RegExp('\\.' + extension + '$'), 79 | use: loader 80 | }) 81 | } 82 | 83 | return output 84 | } 85 | 86 | exports.createNotifierCallback = () => { 87 | const notifier = require('node-notifier') 88 | 89 | return (severity, errors) => { 90 | if (severity !== 'error') return 91 | 92 | const error = errors[0] 93 | const filename = error.file && error.file.split('!').pop() 94 | 95 | notifier.notify({ 96 | title: packageConfig.name, 97 | message: severity + ': ' + error.name, 98 | subtitle: filename || '', 99 | icon: path.join(__dirname, 'logo.png') 100 | }) 101 | } 102 | } 103 | -------------------------------------------------------------------------------- /build/vue-loader.conf.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | const utils = require('./utils') 3 | const config = require('../config') 4 | const isProduction = process.env.NODE_ENV === 'production' 5 | const sourceMapEnabled = isProduction 6 | ? config.build.productionSourceMap 7 | : config.dev.cssSourceMap 8 | 9 | module.exports = { 10 | loaders: utils.cssLoaders({ 11 | sourceMap: sourceMapEnabled, 12 | extract: isProduction 13 | }), 14 | cssSourceMap: sourceMapEnabled, 15 | cacheBusting: config.dev.cacheBusting, 16 | transformToRequire: { 17 | video: ['src', 'poster'], 18 | source: 'src', 19 | img: 'src', 20 | image: 'xlink:href' 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /build/webpack.base.conf.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | const path = require('path') 3 | const utils = require('./utils') 4 | const config = require('../config') 5 | const vueLoaderConfig = require('./vue-loader.conf') 6 | 7 | function resolve (dir) { 8 | return path.join(__dirname, '..', dir) 9 | } 10 | 11 | module.exports = { 12 | context: path.resolve(__dirname, '../'), 13 | entry: { 14 | app: ["babel-polyfill", "./src/main.js"] 15 | }, 16 | output: { 17 | path: config.build.assetsRoot, 18 | filename: '[name].js', 19 | publicPath: process.env.NODE_ENV === 'production' 20 | ? config.build.assetsPublicPath 21 | : config.dev.assetsPublicPath 22 | }, 23 | resolve: { 24 | extensions: ['.js', '.vue', '.json'], 25 | alias: { 26 | 'vue$': 'vue/dist/vue.esm.js', 27 | '@': resolve('src'), 28 | } 29 | }, 30 | module: { 31 | rules: [ 32 | { 33 | test: /\.vue$/, 34 | loader: 'vue-loader', 35 | options: vueLoaderConfig 36 | }, 37 | { 38 | test: /\.js$/, 39 | loader: 'babel-loader', 40 | include: [resolve('src'), resolve('test'), resolve('node_modules/webpack-dev-server/client')] 41 | }, 42 | { 43 | test: /\.(png|jpe?g|gif|svg)(\?.*)?$/, 44 | loader: 'url-loader', 45 | options: { 46 | limit: 10000, 47 | name: utils.assetsPath('img/[name].[hash:7].[ext]') 48 | }, 49 | exclude: path.resolve(__dirname, '../static/icon') 50 | }, 51 | { 52 | test: /\.svg$/, 53 | loader: 'svg-sprite-loader', 54 | include: path.resolve(__dirname, '../static/icon') 55 | }, 56 | { 57 | test: /\.(mp4|webm|ogg|mp3|wav|flac|aac)(\?.*)?$/, 58 | loader: 'url-loader', 59 | options: { 60 | limit: 10000, 61 | name: utils.assetsPath('media/[name].[hash:7].[ext]') 62 | } 63 | }, 64 | { 65 | test: /\.(woff2?|eot|ttf|otf)(\?.*)?$/, 66 | loader: 'url-loader', 67 | options: { 68 | limit: 10000, 69 | name: utils.assetsPath('fonts/[name].[hash:7].[ext]') 70 | } 71 | } 72 | ] 73 | }, 74 | node: { 75 | // prevent webpack from injecting useless setImmediate polyfill because Vue 76 | // source contains it (although only uses it if it's native). 77 | setImmediate: false, 78 | // prevent webpack from injecting mocks to Node native modules 79 | // that does not make sense for the client 80 | dgram: 'empty', 81 | fs: 'empty', 82 | net: 'empty', 83 | tls: 'empty', 84 | child_process: 'empty' 85 | } 86 | } 87 | -------------------------------------------------------------------------------- /build/webpack.dev.conf.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | const utils = require('./utils') 3 | const webpack = require('webpack') 4 | const config = require('../config') 5 | const merge = require('webpack-merge') 6 | const path = require('path') 7 | const baseWebpackConfig = require('./webpack.base.conf') 8 | const CopyWebpackPlugin = require('copy-webpack-plugin') 9 | const HtmlWebpackPlugin = require('html-webpack-plugin') 10 | const FriendlyErrorsPlugin = require('friendly-errors-webpack-plugin') 11 | const portfinder = require('portfinder') 12 | 13 | const HOST = process.env.HOST 14 | const PORT = process.env.PORT && Number(process.env.PORT) 15 | 16 | const devWebpackConfig = merge(baseWebpackConfig, { 17 | module: { 18 | rules: utils.styleLoaders({ sourceMap: config.dev.cssSourceMap, usePostCSS: true }) 19 | }, 20 | // cheap-module-eval-source-map is faster for development 21 | devtool: config.dev.devtool, 22 | 23 | // these devServer options should be customized in /config/index.js 24 | devServer: { 25 | clientLogLevel: 'warning', 26 | historyApiFallback: { 27 | rewrites: [ 28 | { from: /.*/, to: path.posix.join(config.dev.assetsPublicPath, 'index.html') }, 29 | ], 30 | }, 31 | hot: true, 32 | contentBase: false, // since we use CopyWebpackPlugin. 33 | compress: true, 34 | host: HOST || config.dev.host, 35 | port: PORT || config.dev.port, 36 | open: config.dev.autoOpenBrowser, 37 | overlay: config.dev.errorOverlay 38 | ? { warnings: false, errors: true } 39 | : false, 40 | publicPath: config.dev.assetsPublicPath, 41 | proxy: config.dev.proxyTable, 42 | quiet: true, // necessary for FriendlyErrorsPlugin 43 | watchOptions: { 44 | poll: config.dev.poll, 45 | } 46 | }, 47 | plugins: [ 48 | new webpack.DefinePlugin({ 49 | 'process.env': require('../config/dev.env') 50 | }), 51 | new webpack.HotModuleReplacementPlugin(), 52 | new webpack.NamedModulesPlugin(), // HMR shows correct file names in console on update. 53 | new webpack.NoEmitOnErrorsPlugin(), 54 | // https://github.com/ampedandwired/html-webpack-plugin 55 | new HtmlWebpackPlugin({ 56 | filename: 'index.html', 57 | template: 'index.html', 58 | inject: true 59 | }), 60 | // copy custom static assets 61 | new CopyWebpackPlugin([ 62 | { 63 | from: path.resolve(__dirname, '../static'), 64 | to: config.dev.assetsSubDirectory, 65 | ignore: ['.*'] 66 | } 67 | ]) 68 | ] 69 | }) 70 | 71 | module.exports = new Promise((resolve, reject) => { 72 | portfinder.basePort = process.env.PORT || config.dev.port 73 | portfinder.getPort((err, port) => { 74 | if (err) { 75 | reject(err) 76 | } else { 77 | // publish the new Port, necessary for e2e tests 78 | process.env.PORT = port 79 | // add port to devServer config 80 | devWebpackConfig.devServer.port = port 81 | 82 | // Add FriendlyErrorsPlugin 83 | devWebpackConfig.plugins.push(new FriendlyErrorsPlugin({ 84 | compilationSuccessInfo: { 85 | messages: [`Your application is running here: http://${devWebpackConfig.devServer.host}:${port}`], 86 | }, 87 | onErrors: config.dev.notifyOnErrors 88 | ? utils.createNotifierCallback() 89 | : undefined 90 | })) 91 | 92 | resolve(devWebpackConfig) 93 | } 94 | }) 95 | }) 96 | -------------------------------------------------------------------------------- /build/webpack.prod.conf.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | const path = require('path') 3 | const utils = require('./utils') 4 | const webpack = require('webpack') 5 | const config = require('../config') 6 | const merge = require('webpack-merge') 7 | const baseWebpackConfig = require('./webpack.base.conf') 8 | const CopyWebpackPlugin = require('copy-webpack-plugin') 9 | const HtmlWebpackPlugin = require('html-webpack-plugin') 10 | const ExtractTextPlugin = require('extract-text-webpack-plugin') 11 | const OptimizeCSSPlugin = require('optimize-css-assets-webpack-plugin') 12 | const UglifyJsPlugin = require('uglifyjs-webpack-plugin') 13 | 14 | const env = require('../config/prod.env') 15 | 16 | const webpackConfig = merge(baseWebpackConfig, { 17 | module: { 18 | rules: utils.styleLoaders({ 19 | sourceMap: config.build.productionSourceMap, 20 | extract: true, 21 | usePostCSS: true 22 | }) 23 | }, 24 | devtool: config.build.productionSourceMap ? config.build.devtool : false, 25 | output: { 26 | path: config.build.assetsRoot, 27 | filename: utils.assetsPath('js/[name].[chunkhash].js'), 28 | chunkFilename: utils.assetsPath('js/[id].[chunkhash].js') 29 | }, 30 | plugins: [ 31 | // http://vuejs.github.io/vue-loader/en/workflow/production.html 32 | new webpack.DefinePlugin({ 33 | 'process.env': env 34 | }), 35 | new UglifyJsPlugin({ 36 | uglifyOptions: { 37 | compress: { 38 | warnings: false 39 | } 40 | }, 41 | sourceMap: config.build.productionSourceMap, 42 | parallel: true 43 | }), 44 | // extract css into its own file 45 | new ExtractTextPlugin({ 46 | filename: utils.assetsPath('css/[name].[contenthash].css'), 47 | // Setting the following option to `false` will not extract CSS from codesplit chunks. 48 | // Their CSS will instead be inserted dynamically with style-loader when the codesplit chunk has been loaded by webpack. 49 | // It's currently set to `true` because we are seeing that sourcemaps are included in the codesplit bundle as well when it's `false`, 50 | // increasing file size: https://github.com/vuejs-templates/webpack/issues/1110 51 | allChunks: true, 52 | }), 53 | // Compress extracted CSS. We are using this plugin so that possible 54 | // duplicated CSS from different components can be deduped. 55 | new OptimizeCSSPlugin({ 56 | cssProcessorOptions: config.build.productionSourceMap 57 | ? { safe: true, map: { inline: false } } 58 | : { safe: true } 59 | }), 60 | // generate dist index.html with correct asset hash for caching. 61 | // you can customize output by editing /index.html 62 | // see https://github.com/ampedandwired/html-webpack-plugin 63 | new HtmlWebpackPlugin({ 64 | filename: config.build.index, 65 | template: 'index.html', 66 | inject: true, 67 | minify: { 68 | removeComments: true, 69 | collapseWhitespace: true, 70 | removeAttributeQuotes: true 71 | // more options: 72 | // https://github.com/kangax/html-minifier#options-quick-reference 73 | }, 74 | // necessary to consistently work with multiple chunks via CommonsChunkPlugin 75 | chunksSortMode: 'dependency' 76 | }), 77 | // keep module.id stable when vendor modules does not change 78 | new webpack.HashedModuleIdsPlugin(), 79 | // enable scope hoisting 80 | new webpack.optimize.ModuleConcatenationPlugin(), 81 | // split vendor js into its own file 82 | new webpack.optimize.CommonsChunkPlugin({ 83 | name: 'vendor', 84 | minChunks (module) { 85 | // any required modules inside node_modules are extracted to vendor 86 | return ( 87 | module.resource && 88 | /\.js$/.test(module.resource) && 89 | module.resource.indexOf( 90 | path.join(__dirname, '../node_modules') 91 | ) === 0 92 | ) 93 | } 94 | }), 95 | // extract webpack runtime and module manifest to its own file in order to 96 | // prevent vendor hash from being updated whenever app bundle is updated 97 | new webpack.optimize.CommonsChunkPlugin({ 98 | name: 'manifest', 99 | minChunks: Infinity 100 | }), 101 | // This instance extracts shared chunks from code splitted chunks and bundles them 102 | // in a separate chunk, similar to the vendor chunk 103 | // see: https://webpack.js.org/plugins/commons-chunk-plugin/#extra-async-commons-chunk 104 | new webpack.optimize.CommonsChunkPlugin({ 105 | name: 'app', 106 | async: 'vendor-async', 107 | children: true, 108 | minChunks: 3 109 | }), 110 | 111 | // copy custom static assets 112 | new CopyWebpackPlugin([ 113 | { 114 | from: path.resolve(__dirname, '../static'), 115 | to: config.build.assetsSubDirectory, 116 | ignore: ['.*'] 117 | } 118 | ]) 119 | ] 120 | }) 121 | 122 | if (config.build.productionGzip) { 123 | const CompressionWebpackPlugin = require('compression-webpack-plugin') 124 | 125 | webpackConfig.plugins.push( 126 | new CompressionWebpackPlugin({ 127 | asset: '[path].gz[query]', 128 | algorithm: 'gzip', 129 | test: new RegExp( 130 | '\\.(' + 131 | config.build.productionGzipExtensions.join('|') + 132 | ')$' 133 | ), 134 | threshold: 10240, 135 | minRatio: 0.8 136 | }) 137 | ) 138 | } 139 | 140 | if (config.build.bundleAnalyzerReport) { 141 | const BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin 142 | webpackConfig.plugins.push(new BundleAnalyzerPlugin()) 143 | } 144 | 145 | module.exports = webpackConfig 146 | -------------------------------------------------------------------------------- /config/dev.env.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | const merge = require('webpack-merge') 3 | const prodEnv = require('./prod.env') 4 | module.exports = merge(prodEnv, { 5 | NODE_ENV: '"development"', 6 | API_HOST: '"http://192.168.1.31:5000/api/"' 7 | // API_HOST: config.url 8 | }) 9 | -------------------------------------------------------------------------------- /config/index.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | // Template version: 1.3.1 3 | // see http://vuejs-templates.github.io/webpack for documentation. 4 | 5 | const path = require('path') 6 | module.exports = { 7 | dev: { 8 | 9 | // Paths 10 | assetsSubDirectory: 'static', 11 | assetsPublicPath: '/', 12 | proxyTable: { 13 | '/api': { 14 | target: 'http://192.168.1.28:8090', 15 | secure: true, // 如果是https接口 需要配置这个参数 16 | changeOrigin: true, 17 | pathRewrite: { 18 | '^/api': '/' 19 | } 20 | } 21 | }, 22 | 23 | // Various Dev Server settings 24 | host: '0.0.0.0', // localhost 或者0.0.0.0 在局域网下可通过启动服务的电脑的IP访问 25 | port: 8080, // can be overwritten by process.env.PORT, if port is in use, a free one will be determined 26 | autoOpenBrowser: false, 27 | errorOverlay: true, 28 | notifyOnErrors: true, 29 | poll: false, // https://webpack.js.org/configuration/dev-server/#devserver-watchoptions- 30 | 31 | 32 | /** 33 | * Source Maps 34 | */ 35 | 36 | // https://webpack.js.org/configuration/devtool/#development 37 | devtool: 'cheap-module-eval-source-map', 38 | 39 | // If you have problems debugging vue-files in devtools, 40 | // set this to false - it *may* help 41 | // https://vue-loader.vuejs.org/en/options.html#cachebusting 42 | cacheBusting: true, 43 | 44 | cssSourceMap: true 45 | }, 46 | 47 | build: { 48 | // Template for index.html 49 | index: path.resolve(__dirname, '../dist/index.html'), 50 | 51 | // Paths 52 | assetsRoot: path.resolve(__dirname, '../dist'), 53 | assetsSubDirectory: 'static', 54 | assetsPublicPath: './', // 线上环境需要加. 55 | 56 | /** 57 | * Source Maps 58 | */ 59 | 60 | productionSourceMap: true, 61 | // https://webpack.js.org/configuration/devtool/#production 62 | devtool: '#source-map', 63 | 64 | // Gzip off by default as many popular static hosts such as 65 | // Surge or Netlify already gzip all static assets for you. 66 | // Before setting to `true`, make sure to: 67 | // npm install --save-dev compression-webpack-plugin 68 | productionGzip: false, 69 | productionGzipExtensions: ['js', 'css'], 70 | 71 | // Run the build command with an extra argument to 72 | // View the bundle analyzer report after build finishes: 73 | // `npm run build --report` 74 | // Set to `true` or `false` to always turn it on or off 75 | bundleAnalyzerReport: process.env.npm_config_report 76 | } 77 | } 78 | -------------------------------------------------------------------------------- /config/prod.env.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | module.exports = { 3 | NODE_ENV: '"production"', 4 | API_HOST: '"http://192.168.1.28:8090"' // 生产环境的api域名 5 | } 6 | -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | vue-template 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "vue-common-frame", 3 | "version": "1.0.0", 4 | "description": "a common frame for vue-cli+elementUi+vuex+vueRouter+axios", 5 | "author": "hudonghui", 6 | "private": true, 7 | "scripts": { 8 | "dev": "webpack-dev-server --inline --progress --config build/webpack.dev.conf.js", 9 | "start": "npm run dev", 10 | "build": "node build/build.js", 11 | "proto": "pbjs -t json-module -w commonjs -o src/configFile/proto/proto.js src/configFile/proto/*.proto" 12 | }, 13 | "dependencies": { 14 | "abs_element_ui": "^1.1.8", 15 | "dexie": "^2.0.4", 16 | "element-ui": "^2.4.11", 17 | "less": "^3.9.0", 18 | "less-loader": "^4.1.0", 19 | "qwy_model_page": "0.0.5", 20 | "vue": "^2.5.2", 21 | "vue-axios": "^2.1.4", 22 | "vue-router": "^3.0.1", 23 | "vue-worker": "^1.2.1", 24 | "vuex": "^3.0.1", 25 | "xlsx": "^0.14.3" 26 | }, 27 | "devDependencies": { 28 | "autoprefixer": "^7.1.2", 29 | "axios": "^0.18.0", 30 | "babel-core": "^6.22.1", 31 | "babel-helper-vue-jsx-merge-props": "^2.0.3", 32 | "babel-loader": "^7.1.1", 33 | "babel-plugin-syntax-jsx": "^6.18.0", 34 | "babel-plugin-transform-runtime": "^6.22.0", 35 | "babel-plugin-transform-vue-jsx": "^3.5.0", 36 | "babel-polyfill": "^6.26.0", 37 | "babel-preset-env": "^1.3.2", 38 | "babel-preset-stage-2": "^6.22.0", 39 | "chalk": "^2.0.1", 40 | "copy-webpack-plugin": "^4.0.1", 41 | "css-loader": "^0.28.0", 42 | "extract-text-webpack-plugin": "^3.0.0", 43 | "file-loader": "^1.1.4", 44 | "friendly-errors-webpack-plugin": "^1.6.1", 45 | "html-webpack-plugin": "^2.30.1", 46 | "node-notifier": "^5.1.2", 47 | "node-sass": "^4.11.0", 48 | "optimize-css-assets-webpack-plugin": "^3.2.0", 49 | "ora": "^1.2.0", 50 | "portfinder": "^1.0.13", 51 | "postcss-import": "^11.0.0", 52 | "postcss-loader": "^2.0.8", 53 | "postcss-url": "^7.2.1", 54 | "protobufjs": "^6.8.8", 55 | "rimraf": "^2.6.0", 56 | "sass-loader": "^7.1.0", 57 | "semver": "^5.3.0", 58 | "shelljs": "^0.7.6", 59 | "svg-sprite-loader": "^4.1.3", 60 | "uglifyjs-webpack-plugin": "^1.1.1", 61 | "url-loader": "^0.5.8", 62 | "vue-loader": "^13.3.0", 63 | "vue-style-loader": "^3.0.1", 64 | "vue-template-compiler": "^2.5.2", 65 | "webpack": "^3.6.0", 66 | "webpack-bundle-analyzer": "^2.9.0", 67 | "webpack-dev-server": "^2.9.1", 68 | "webpack-merge": "^4.1.0" 69 | }, 70 | "engines": { 71 | "node": ">= 6.0.0", 72 | "npm": ">= 3.0.0" 73 | }, 74 | "browserslist": [ 75 | "> 1%", 76 | "last 2 versions", 77 | "not ie <= 8" 78 | ] 79 | } 80 | -------------------------------------------------------------------------------- /src/App.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | 12 | 13 | 50 | -------------------------------------------------------------------------------- /src/components/common/IconSvg.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | 23 | 24 | 33 | -------------------------------------------------------------------------------- /src/components/common/commonHeader.vue: -------------------------------------------------------------------------------- 1 | 24 | 25 | 60 | 61 | -------------------------------------------------------------------------------- /src/components/common/sideBar.vue: -------------------------------------------------------------------------------- 1 | 55 | 56 | 132 | 133 | -------------------------------------------------------------------------------- /src/components/webComponent.vue: -------------------------------------------------------------------------------- 1 | 4 | 5 | 25 | 26 | 29 | -------------------------------------------------------------------------------- /src/config/dbConfig.js: -------------------------------------------------------------------------------- 1 | import Dexie from 'dexie'; 2 | 3 | const db = new Dexie('db'); 4 | db.version(1).stores({ 5 | pd: `flagStr` 6 | }); 7 | 8 | export default db; -------------------------------------------------------------------------------- /src/config/generalMethod.js: -------------------------------------------------------------------------------- 1 | /* 2 | 工具类 3 | 4 | 鉴空 5 | 首字母转成大写 6 | 判断是否是url 7 | 获取url内某个参数 8 | 获取url内所有参数 9 | 将二进制转换成base64 10 | 将字符串黏贴到黏贴版 11 | 在数组指定位置插入数组 12 | 获取当前日期时间 13 | element 删除前确认 14 | 深拷贝 15 | 16 | */ 17 | let obj = { 18 | //鉴空 19 | checkNull: function (str) { 20 | if (str !== null && str !== '' && str !== undefined) { 21 | return true 22 | } else { 23 | return false 24 | } 25 | }, 26 | 27 | //首字母转成大写 28 | convertToCamelCase(flag, str) { 29 | if (flag === '') return str 30 | return flag + str[0].toUpperCase() + str.substring(1) 31 | }, 32 | 33 | //判断是否是url 34 | isURL(s) { 35 | return /^http[s]?:\/\/.*/.test(s) 36 | }, 37 | 38 | // 获取url内某个参数 39 | getQueryString(name) { 40 | var reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)', 'i'); 41 | var r = window.location.search.substr(1).match(reg); 42 | if (r != null) { 43 | return unescape(r[2]); 44 | } 45 | return null; 46 | }, 47 | 48 | // 获取url内所有参数 49 | parseQueryString(url) { 50 | var obj = {}; 51 | var keyvalue = []; 52 | var key = "", 53 | value = ""; 54 | var paraString = url.substring(url.indexOf("?") + 1, url.length).split("&"); 55 | for (var i in paraString) { 56 | keyvalue = paraString[i].split("="); 57 | key = keyvalue[0]; 58 | value = keyvalue[1]; 59 | if (value.includes('[')) { 60 | value = value.replace("[", "").replace("]", "").split(",") 61 | } 62 | obj[key] = value; 63 | } 64 | return obj; 65 | }, 66 | 67 | //将二进制转换成base64 68 | arrayBufferToBase64(raw) { 69 | var base64 = ''; 70 | var encodings = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'; 71 | var bytes = new Uint8Array(raw); 72 | var byteLength = bytes.byteLength; 73 | var byteRemainder = byteLength % 3; 74 | var mainLength = byteLength - byteRemainder; 75 | var a, b, c, d; 76 | var chunk; 77 | // Main loop deals with bytes in chunks of 3 78 | for (var i = 0; i < mainLength; i = i + 3) { 79 | // Combine the three bytes into a single integer 80 | chunk = (bytes[i] << 16) | (bytes[i + 1] << 8) | bytes[i + 2]; 81 | // Use bitmasks to extract 6-bit segments from the triplet 82 | a = (chunk & 16515072) >> 18; // 16515072 = (2^6 - 1) << 18 83 | b = (chunk & 258048) >> 12; // 258048 = (2^6 - 1) << 12 84 | c = (chunk & 4032) >> 6; // 4032 = (2^6 - 1) << 6 85 | d = chunk & 63; // 63 = 2^6 - 1 86 | // Convert the raw binary segments to the appropriate ASCII encoding 87 | base64 += encodings[a] + encodings[b] + encodings[c] + encodings[d]; 88 | } 89 | // Deal with the remaining bytes and padding 90 | if (byteRemainder == 1) { 91 | chunk = bytes[mainLength]; 92 | a = (chunk & 252) >> 2 // 252 = (2^6 - 1) << 2; 93 | // Set the 4 least significant bits to zero 94 | b = (chunk & 3) << 4 // 3 = 2^2 - 1; 95 | base64 += encodings[a] + encodings[b] + '=='; 96 | } 97 | else if (byteRemainder == 2) { 98 | chunk = (bytes[mainLength] << 8) | bytes[mainLength + 1]; 99 | a = (chunk & 16128) >> 8 // 16128 = (2^6 - 1) << 8; 100 | b = (chunk & 1008) >> 4 // 1008 = (2^6 - 1) << 4; 101 | // Set the 2 least significant bits to zero 102 | c = (chunk & 15) << 2 // 15 = 2^4 - 1; 103 | base64 += encodings[a] + encodings[b] + encodings[c] + '='; 104 | } 105 | return "data:image/jpeg;base64," + base64; 106 | }, 107 | 108 | // 将字符串黏贴到黏贴版 109 | copyToClipboard(str) { 110 | const el = document.createElement('textarea'); 111 | el.value = str; 112 | el.setAttribute('readonly', ''); 113 | el.style.position = 'absolute'; 114 | el.style.left = '-9999px'; 115 | document.body.appendChild(el); 116 | const selected = 117 | document.getSelection().rangeCount > 0 118 | ? document.getSelection().getRangeAt(0) 119 | : false; 120 | el.select(); 121 | document.execCommand('copy'); 122 | document.body.removeChild(el); 123 | if (selected) { 124 | document.getSelection().removeAllRanges(); 125 | document.getSelection().addRange(selected); 126 | } 127 | }, 128 | 129 | //在数组指定位置插入数组 130 | insertArray(index, arr1, arr2) { 131 | arr1.splice(index + 1, 0, ...arr2) 132 | return arr1 133 | }, 134 | 135 | /* 136 | 获取当前日期时间 137 | tip:修改方法内fmt参数可获取不同格式的日期时间 138 | */ 139 | getNowTime() { 140 | let fmt = 'yyyy-MM-dd hh:mm:ss' 141 | let date = new Date(); 142 | // var timestamp = (new Date()).getTime(); 143 | const o = { 144 | 'M+': date.getMonth() + 1, // 月份 145 | 'd+': date.getDate(), // 日 146 | 'h+': date.getHours(), // 小时 147 | 'm+': date.getMinutes(), // 分 148 | 's+': date.getSeconds(), // 秒 149 | 'q+': Math.floor((date.getMonth() + 3) / 3), // 季度 150 | 'S': date.getMilliseconds(), // 毫秒 151 | }; 152 | 153 | if (/(y+)/.test(fmt)) { 154 | fmt = fmt.replace(RegExp.$1, (date.getFullYear() + '').substr(4 - RegExp.$1.length)); 155 | } 156 | 157 | for (var k in o) { 158 | if (new RegExp('(' + k + ')').test(fmt)) { 159 | fmt = fmt.replace(RegExp.$1, (RegExp.$1.length === 1) ? (o[k]) : (('00' + o[k]).substr(('' + o[k]).length))); 160 | } 161 | } 162 | return fmt; 163 | }, 164 | 165 | /* 166 | element 删除前确认 167 | tip:此方法调用需改变方法内的执行上下文 168 | ex:this.fcn.deleteConfim.call(this,方法名,参数) 169 | */ 170 | deleteConfim(fcn, row) { 171 | console.log(fcn) 172 | this.$confirm("此操作将永久删除该选项, 是否继续?", "提示", { 173 | confirmButtonText: "确定", 174 | cancelButtonText: "取消", 175 | type: "warning" 176 | }) 177 | .then(() => { 178 | fcn(row) 179 | }) 180 | .catch(() => { }); 181 | }, 182 | 183 | // 深拷贝 184 | deepClone(obj) { 185 | let clone = Object.assign({}, obj); 186 | Object.keys(clone).forEach( 187 | key => (clone[key] = typeof obj[key] === 'object' ? deepClone(obj[key]) : obj[key]) 188 | ); 189 | return Array.isArray(obj) ? (clone.length = obj.length) && Array.from(clone) : clone; 190 | } 191 | 192 | } 193 | export default obj -------------------------------------------------------------------------------- /src/config/iconConfig.js: -------------------------------------------------------------------------------- 1 | const requireAll = requireContext => requireContext.keys().map(requireContext); 2 | // import all svg 3 | const req = require.context('../../static/icon', false, /\.svg$/); 4 | requireAll(req); -------------------------------------------------------------------------------- /src/config/jsonApi/apiUrl.js: -------------------------------------------------------------------------------- 1 | export default { 2 | //获取组织架构 3 | organizations:{url:'register/organizations',method:'get'}, 4 | // 登陆页面 5 | login: { url: 'authorize/adminUserInfo', method: 'get' }, 6 | // 系统参数页面 7 | getsysparameter:{ url: 'system/getsysparameter', method: 'get' }, 8 | editsysparameter:{ url: 'system/editsysparameter', method: 'post' }, 9 | // 数据字典页面 10 | getdictypelist:{url: 'dic/getdictypelist', method: 'get'}, 11 | getdicitemlist:{url: 'dic/getdicitemlist', method: 'get'}, 12 | createdic:{url: 'dic/create', method: 'post'}, 13 | editdic:{url: 'dic/edit', method: 'post'}, 14 | deletedic:{url: 'dic/delete', method: 'post'}, 15 | // 存储媒介页面 16 | getstoragelist:{url: 'storage/getstoragelist', method: 'get'}, 17 | getdicitem:{url: 'storage/getdicitem', method: 'get'}, 18 | storagecreate:{url: 'storage/create', method: 'post'}, 19 | storageedit:{url: 'storage/edit', method: 'post'}, 20 | // 用户管理页面 21 | getuserslist:{url: 'user/getuserslist', method: 'get'}, 22 | getrolelist:{url: 'user/getrolelist', method: 'get'}, 23 | getuserroles:{url: 'user/getuserroles', method: 'get'}, 24 | getroles:{url: 'user/getroles', method: 'get'}, 25 | usercreate:{url: 'user/create', method: 'post'}, 26 | useredit:{url: 'user/edit', method: 'post'}, 27 | userdisable:{url: 'user/disable', method: 'post'}, 28 | userreset:{url: 'user/reset', method: 'post'}, 29 | useraddroles:{url: 'user/addroles', method: 'post'}, 30 | //角色管理 31 | getroleslist:{url: 'role/getroleslist', method: 'get'}, 32 | getrightslist:{url: 'role/getrightslist', method: 'get'}, 33 | getrightroles:{url: 'role/getuserroles', method: 'get'}, 34 | rolecreate:{url: 'role/create', method: 'post'}, 35 | roleedit:{url: 'role/edit', method: 'post'}, 36 | roledelete:{url: 'role/delete', method: 'post'}, 37 | editUserRight:{url: 'role/editUserRight', method: 'post'}, 38 | //机构科室 39 | getorganizationlist:{url: 'org/getorganizationlist', method: 'get'}, 40 | createOrganization:{url: 'org/createOrganization', method: 'post'}, 41 | editOrganization:{url: 'org/editOrganization', method: 'post'}, 42 | deleteOrganization:{url: 'org/deleteOrganization', method: 'post'}, 43 | getDepartmentList:{url: 'org/getDepartmentList', method: 'get'}, 44 | createDepartment:{url: 'org/createDepartment', method: 'post'}, 45 | editDepartment:{url: 'org/editDepartment', method: 'post'}, 46 | deleteDepartment:{url: 'org/deleteDepartment', method: 'post'}, 47 | //插件配置 48 | createpluginService:{url: 'plugin/createpluginService', method: 'post'}, 49 | editpluginService:{url: 'plugin/editpluginService', method: 'post'}, 50 | deletepluginService:{url: 'plugin/deletepluginService', method: 'post'}, 51 | getservicelist:{url: 'plugin/getservicelist', method: 'get'}, 52 | getpluginlist:{url: 'plugin/getpluginlist', method: 'get'}, 53 | getpluginservicemaplist:{url: 'plugin/getpluginservicemaplist', method: 'get'}, 54 | getallpluginlist:{url: 'plugin/getallpluginlist', method: 'get'}, 55 | getpluginrecordlist:{url: 'plugin/getpluginrecordlist', method: 'get'}, 56 | disablepluginService:{url: 'plugin/disablepluginService', method: 'post'}, 57 | createpluginservicemap:{url: 'plugin/createpluginservicemap', method: 'post'}, 58 | editpluginservicemap:{url: 'plugin/editpluginservicemap', method: 'post'}, 59 | deletepluginservicemap:{url: 'plugin/deletepluginservicemap', method: 'post'}, 60 | disablepluginservicemap:{url: 'plugin/disablepluginservicemap', method: 'post'}, 61 | 62 | } 63 | -------------------------------------------------------------------------------- /src/config/jsonApi/apiUtil.js: -------------------------------------------------------------------------------- 1 | import 'babel-polyfill' 2 | import axios from 'axios' 3 | import qs from 'qs' 4 | import lodash from 'lodash' 5 | import {Message} from 'element-ui' 6 | import Router from '../../config/routerConfig' 7 | 8 | const generateApiMap = (map) => { 9 | let facade = {} 10 | lodash.forEach(map, function (value, key) { 11 | facade[key] = toMethod(value) 12 | }) 13 | return facade 14 | } 15 | 16 | const toMethod = (options) => { 17 | options.method = options.method || 'post' 18 | return (params = {}, config = {}) => { 19 | // if (window.localStorage.getItem(options.flag?options.flag+'USER_INFO':'USER_INFO')) { 20 | // params.UserInfo = JSON.parse(window.localStorage.getItem(options.flag?options.flag+'USER_INFO':'USER_INFO')); 21 | // } 22 | 23 | // var newParams = {input: JSON.stringify(params)}; 24 | 25 | return sendApiInstance(options.method, options.url,options.host, params, config) 26 | } 27 | } 28 | 29 | // 创建axios实例 30 | const createApiInstance = (config = {}, method, url,host) => { 31 | var _config = { 32 | withCredentials: true, // 跨域 33 | baseURL: host?host:process.env.NODE_ENV == 'development' ? process.env.API_HOST:HOST, 34 | }; 35 | config = lodash.merge(_config, config); 36 | console.log(config) 37 | return axios.create(config); 38 | } 39 | 40 | // 检查返回值 41 | const errCheck = (code, message, data) => { 42 | if (code == 200 && data.isSuccess) { 43 | return true 44 | } 45 | return false 46 | } 47 | 48 | const sendApiInstance = (method, url,host, params, config = {}) => { 49 | let flag = Router.history.current.name==='FreeAuthReport'||Router.history.current.params.auth_obj?'FREE_':'' 50 | if (!url) { 51 | return 52 | } 53 | if (window.localStorage.getItem(flag?flag+'USER_INFO':'USER_INFO')) { 54 | params.UserInfo = JSON.parse(window.localStorage.getItem(flag?flag+'USER_INFO':'USER_INFO')); 55 | } 56 | params = {input: JSON.stringify(params)}; 57 | 58 | let instance = createApiInstance(config, method, url,host); 59 | 60 | instance.interceptors.request.use( 61 | config => { 62 | // 不需要设置token的,设置为空 63 | if (url.indexOf('gettoken') > -1 || url.indexOf('registeruser') > -1) { 64 | config.headers.Authorization = ""; 65 | } 66 | else { // 其他所有需要token的,从本地获取token 67 | // config.headers.Authorization = localStorage.getItem("AUT_TOKEN"); 68 | config.headers.Authorization = localStorage.getItem(flag?flag+"AUT_TOKEN":"AUT_TOKEN"); 69 | } 70 | return config; 71 | }, 72 | error => { 73 | return Promise.reject(error); 74 | } 75 | ); 76 | 77 | instance.interceptors.response.use( 78 | response => { 79 | let {status, statusText, data} = response; 80 | if (errCheck(status, statusText, data) && data) { 81 | if(data.newToken) localStorage.setItem(flag?flag+"AUT_TOKEN":"AUT_TOKEN", data.newToken) 82 | return Promise.resolve(data) 83 | } else { 84 | return Promise.reject(data).then().catch(res => { 85 | var options = { 86 | message: res.message, 87 | center: true 88 | }; 89 | Message.error(options); 90 | }) 91 | } 92 | }, 93 | error => { 94 | // console.log('报错内容返回值',error.response, error.message); 95 | return Promise.reject(error).then().catch(res => { 96 | if (error.response.status == 401) { 97 | /* 98 | * 如果登录时间过长 则检测超时状态码401 99 | * 清空本地local存储 并且跳转回login页面 100 | * */ 101 | Message.error({ 102 | message: '登录过期请重新登录', 103 | center: true, 104 | showClose: true, 105 | duration: 2000, 106 | onClose: () => { 107 | localStorage.clear(); // 清空本地缓存 108 | // location.reload(); // 返回登录页时强制刷新 109 | Router.push({'path': '/login'}); 110 | } 111 | }); 112 | } 113 | else { 114 | var options = { 115 | message: error.response.status + ':' + error.message, 116 | center: true 117 | }; 118 | Message.error(options); 119 | } 120 | 121 | }) 122 | } 123 | ); 124 | 125 | if (method === 'get') { 126 | params = { 127 | params: params 128 | } 129 | } 130 | if (method === 'delete') { 131 | params = { 132 | params: params 133 | } 134 | } 135 | if (method === 'post') { 136 | params = qs.stringify(params); 137 | } 138 | if (method === 'put') { 139 | params = qs.stringify(params); 140 | } 141 | return instance[method](url, params, config) 142 | } 143 | 144 | export default { 145 | generateApiMap 146 | } 147 | -------------------------------------------------------------------------------- /src/config/jsonApi/index.js: -------------------------------------------------------------------------------- 1 | import apiUrl from './apiUrl' 2 | import apiUtil from './apiUtil' 3 | 4 | const generateApiMap = apiUtil.generateApiMap({...apiUrl}) 5 | export default { 6 | ...generateApiMap // 取出所有可遍历属性复制在新对象上 7 | } 8 | -------------------------------------------------------------------------------- /src/config/mixinConfig.js: -------------------------------------------------------------------------------- 1 | var mixin = { 2 | created: function () { 3 | }, 4 | beforeDestroy() { 5 | // 解决数据总线vue对象事件遗留问题 6 | // console.log('清除bus事件') 7 | this.$bus.$off() 8 | }, 9 | } 10 | export default mixin; -------------------------------------------------------------------------------- /src/config/pluginConfig.js: -------------------------------------------------------------------------------- 1 | let getFileName = n =>{ 2 | let list = n.split('/') 3 | return list[list.length-1].replace('.vue','') 4 | } 5 | let file = require.context('../components/common', true, /\.vue$/); 6 | export default (Vue) =>{ 7 | file.keys().forEach(e => { 8 | Vue.component(getFileName(e), file(e).default) 9 | }); 10 | } 11 | 12 | -------------------------------------------------------------------------------- /src/config/protoApi/protoApiConfig.js: -------------------------------------------------------------------------------- 1 | import axios from 'axios' 2 | import XLSX from 'xlsx' 3 | 4 | 5 | async function getConfigList(){ 6 | let interfaceList = [] 7 | // 读取本地excel文件 8 | let x = await axios({ 9 | url: "../../static/file/proto接口文档.xlsx", 10 | method: 'get', 11 | responseType:'arraybuffer' 12 | }) 13 | var data = new Uint8Array(x.data); 14 | var arr = new Array(); 15 | for(var i = 0; i != data.length; ++i) arr[i] = String.fromCharCode(data[i]); 16 | var bstr = arr.join(""); 17 | var workbook = XLSX.read(bstr, {type:"binary"}); 18 | workbook.SheetNames.forEach(y=>{ 19 | let jsonSheet = XLSX.utils.sheet_to_json(workbook.Sheets[y]) 20 | if(jsonSheet.length>0){ 21 | jsonSheet.forEach(z=>{ 22 | let interfaceObj={} 23 | interfaceObj[z['路由']+z['方法名']]={ 24 | url:z['路由']+'/'+z['方法名'], 25 | requestTmp:z['参数Proto文件'], 26 | responseTmp:z['返回Proto文件']==='-'?'':z['返回Proto文件'] 27 | } 28 | interfaceList.push(interfaceObj) 29 | }) 30 | } 31 | }) 32 | return interfaceList 33 | } 34 | 35 | 36 | 37 | export default getConfigList 38 | -------------------------------------------------------------------------------- /src/config/protoApi/protoConfigObj.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ou-jin/vue-element-template/97d4b39b50e84e5b5e069a50c0ad19172027430e/src/config/protoApi/protoConfigObj.js -------------------------------------------------------------------------------- /src/config/protoApi/protoReqConfig.js: -------------------------------------------------------------------------------- 1 | import protoRoot from "@/configFile/proto/proto" 2 | import protobuf from 'protobufjs' 3 | import axios from 'axios' 4 | import apiConfig from './protoApiConfig' 5 | import { isArray } from "util"; 6 | 7 | // 基础response模板 8 | // let BaseResponse = protoRoot.lookupType("BaseResponse"); 9 | let PageResponse = protoRoot.lookupType("PageResponsePb"); 10 | 11 | const createRequest = (option) => { 12 | return axios.create({ 13 | timeout: 10000, 14 | method: "post", 15 | headers: { 16 | "X-Requested-With": "XMLHttpRequest", 17 | "Content-Type": "application/octet-stream", 18 | 'token': localStorage.getItem("token") 19 | }, 20 | baseURL: process.env.NODE_ENV == 'development' ? process.env.API_HOST : HOST, 21 | responseType: "arraybuffer" 22 | }); 23 | } 24 | const getApiInstance = (option) => { 25 | // 根据参数配置请求模板和解析模板 26 | let requetProto = protoRoot.lookupType(option.requestTmp); 27 | let responseProto = protoRoot.lookupType(option.responseTmp); 28 | let api = createRequest() 29 | api.interceptors.request.use( 30 | config => { 31 | config.url = option.url; 32 | let data = Object.assign({}, config.data) 33 | config.data = new Blob([requetProto.encode(requetProto.create(data)).finish()], { type: 'buffer' }); 34 | return config; 35 | }, 36 | error => { 37 | return Promise.reject(error); 38 | } 39 | ); 40 | api.interceptors.response.use( 41 | response => { 42 | const buf = protobuf.util.newBuffer(response.data); 43 | let res = PageResponse.decode(buf); 44 | if (res.IsSuccess) { 45 | if (isArray(res.data)) { 46 | let resList = res.data.map((s) => { 47 | return responseProto.decode(s.value) 48 | }) 49 | return resList 50 | } 51 | return responseProto.decode(res.data); 52 | } 53 | this.$message(res.Message) 54 | }, 55 | error => { 56 | } 57 | ); 58 | 59 | return api 60 | } 61 | /* 62 | 如果采用excel生成js配置文件 63 | */ 64 | const getApiMap = async () => { 65 | let apiList = {} 66 | let d = await apiConfig() 67 | d.forEach((s) => { 68 | let key = Object.keys(s)[0] 69 | let val = s[key] 70 | apiList[key] = getApiInstance(val) 71 | }) 72 | return apiList 73 | } 74 | /* 75 | 如果是手写js配置文件 76 | */ 77 | // const getApiMap = ()=>{ 78 | // let apiList = {} 79 | // apiConfig.forEach((s)=>{ 80 | // let key = Object.keys(s)[0] 81 | // let val = s[key] 82 | // apiList[key]= getApiInstance(val) 83 | // }) 84 | // return apiList 85 | // } 86 | 87 | 88 | getApiMap() 89 | 90 | export default getApiMap() -------------------------------------------------------------------------------- /src/config/proxyConfig.js: -------------------------------------------------------------------------------- 1 | 2 | (function () { 3 | let proxy = {} 4 | devHost.forEach(e => { 5 | let rewrite = {} 6 | rewrite['^' + e.proxy] = '/' 7 | proxy[e.proxy] = { 8 | target: e.url, 9 | secure: true, // 如果是https接口 需要配置这个参数 10 | changeOrigin: true 11 | } 12 | proxy[e.proxy] = Object.assign(proxy[e.proxy], { 'pathRewrite': rewrite }) 13 | }); 14 | }()) -------------------------------------------------------------------------------- /src/config/routerConfig.js: -------------------------------------------------------------------------------- 1 | import page from '../configFile/pageConfig' 2 | import Router from 'vue-router' 3 | // 定义全局route组件 4 | const globalRoutes = [ 5 | { path: '/login', component:resolve=>require(["@/views/login/login.vue"], resolve), name: 'login', meta: { title: '登录' , requiresAuth: false} }, 6 | ] 7 | // 定义生成主页面组件 8 | const mainRoutes = [] 9 | getRouteList(page) 10 | localStorage.setItem('routeList',JSON.stringify(mainRoutes)) 11 | const vueRouter = new Router({ 12 | mode: 'history', 13 | routes: [...globalRoutes] 14 | }) 15 | vueRouter.addRoutes( 16 | [{ 17 | path: '/', 18 | name: 'index', 19 | component: resolve=>require(["@/views/index/index.vue"], resolve), 20 | children:[...mainRoutes, { path: '/web', component:resolve=>require(["@/components/webComponent.vue"], resolve), name: 'web'}], 21 | redirect: '/pageOne' // 默认index重定向到home页面 22 | }] 23 | ) 24 | vueRouter.beforeEach((to, from, next) => { 25 | if (to.meta.requiresAuth) { 26 | next() 27 | if (localStorage.getItem('AUT_TOKEN')) { 28 | next() 29 | } else { 30 | console.log('没有权限,跳转到登陆') 31 | // next('/login') 32 | } 33 | } else { 34 | next(); 35 | } 36 | }) 37 | // 根据配置生成route对象集合 38 | function getRouteList (list){ 39 | list.forEach((s)=>{ 40 | if(s.children){ 41 | getRouteList(s.children) 42 | } 43 | if(s.url){ 44 | let route = { 45 | path: s.url, 46 | component:resolve=>require(["@/views"+s.url+""+s.url+".vue"], resolve), 47 | name: s.url.replace('/', ''), 48 | meta: s.meta 49 | } 50 | mainRoutes.push(route) 51 | } 52 | }) 53 | } 54 | export default vueRouter; 55 | -------------------------------------------------------------------------------- /src/config/vuexConfig.js: -------------------------------------------------------------------------------- 1 | import Vuex from 'vuex' 2 | import Vue from 'vue' 3 | Vue.use(Vuex) 4 | const store = new Vuex.Store({ 5 | state: { 6 | userInfo: {}, 7 | sideBarShow:false, 8 | currentRoute:'系统参数', 9 | }, 10 | mutations: { 11 | updateSideBarShow (state, id) { 12 | state.sideBarShow = id 13 | }, 14 | updateCurrentRoute (state, id) { 15 | state.currentRoute = id 16 | } 17 | }, 18 | actions: { 19 | updateSideBarShow: (context, id) => { 20 | return context.commit('updateSideBarShow', id) 21 | }, 22 | updateCurrentRoute: (context, id) => { 23 | return context.commit('updateCurrentRoute', id) 24 | } 25 | } 26 | }) 27 | export default store -------------------------------------------------------------------------------- /src/configFile/pageConfig.js: -------------------------------------------------------------------------------- 1 | // 当children存在时将生成折叠侧边栏 2 | //请在/static/icon准备对应url名称的svg格式的图标 3 | //请在/view/准备对应url名称的页面文件 4 | export default [ 5 | { 6 | url: '/pageOne', 7 | children:[ 8 | { 9 | url: '/pageOne', 10 | meta:{ 11 | requiresAuth:true, 12 | title:"页面1" 13 | } 14 | }, 15 | ], 16 | meta:{ 17 | title:"多页面" 18 | } 19 | }, 20 | { 21 | url: '/pageTwo', 22 | meta:{ 23 | requiresAuth:true, 24 | title:"页面2" 25 | } 26 | }, 27 | ] 28 | 29 | 30 | -------------------------------------------------------------------------------- /src/configFile/proto/BaseResponse.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | option csharp_namespace = "probofu.Controllers"; 3 | import "google/protobuf/any.proto"; 4 | 5 | message BaseResponse { 6 | bool IsSuccess = 1; 7 | string Message = 2; 8 | string Token = 3; 9 | google.protobuf.Any data = 4; 10 | } 11 | 12 | -------------------------------------------------------------------------------- /src/configFile/proto/LoginUserInfoResponsePb.proto: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ou-jin/vue-element-template/97d4b39b50e84e5b5e069a50c0ad19172027430e/src/configFile/proto/LoginUserInfoResponsePb.proto -------------------------------------------------------------------------------- /src/configFile/proto/PageResponse.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | option csharp_namespace = "TomTaw.eWordIMCIS.Dto.WebProto"; 3 | import "google/protobuf/any.proto"; 4 | 5 | message PageResponse { 6 | bool IsSuccess = 1; 7 | string Message = 2; 8 | string Token = 3; 9 | int32 CurrentPage=4; 10 | int32 PageSize=5; 11 | int32 TotalRecords=6; 12 | repeated google.protobuf.Any data = 7; 13 | } 14 | 15 | -------------------------------------------------------------------------------- /src/configFile/proto/PageResponsePb.proto: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ou-jin/vue-element-template/97d4b39b50e84e5b5e069a50c0ad19172027430e/src/configFile/proto/PageResponsePb.proto -------------------------------------------------------------------------------- /src/configFile/proto/PermissionRequestPb.proto: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ou-jin/vue-element-template/97d4b39b50e84e5b5e069a50c0ad19172027430e/src/configFile/proto/PermissionRequestPb.proto -------------------------------------------------------------------------------- /src/configFile/proto/PermissionResponsePb.proto: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ou-jin/vue-element-template/97d4b39b50e84e5b5e069a50c0ad19172027430e/src/configFile/proto/PermissionResponsePb.proto -------------------------------------------------------------------------------- /src/configFile/proto/Person.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | option csharp_namespace = "probofu.Controllers"; 3 | 4 | message Person { 5 | int32 Id = 1; 6 | string Name = 2; 7 | Address Address=3; 8 | } 9 | message Address { 10 | string Line1 = 1; 11 | string Line2 = 2; 12 | } 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /src/configFile/proto/UserGroupLinkRequestPb.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | option csharp_namespace = "TomTaw.eWordRIS.Proto"; 3 | 4 | //用户和用户组关联表 5 | message UserGroupLinkRequestPb{ 6 | //主键 7 | string LinkID=1; 8 | //关联用户组ID 9 | string UserGroupID=2; 10 | //关联用户ID 11 | repeated string UserID=3; 12 | 13 | 14 | } 15 | 16 | 17 | -------------------------------------------------------------------------------- /src/configFile/proto/UserGroupPermissionLinkRequestPb.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | option csharp_namespace = "TomTaw.eWordRIS.Proto"; 3 | 4 | //用户组权限关联表 5 | message UserGroupPermissionLinkRequestPb{ 6 | //主键 7 | string LinkID=1; 8 | //关联用户组ID 9 | string UserGroupID=2; 10 | //关联权限ID 11 | repeated string PermissionID=3; 12 | 13 | 14 | } 15 | 16 | 17 | -------------------------------------------------------------------------------- /src/configFile/proto/UserGroupRequestPb.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | option csharp_namespace = "TomTaw.eWordRIS.Proto"; 3 | 4 | //用户组表 5 | message UserGroupRequestPb{ 6 | //用户组ID 7 | string userGroupID=1; 8 | //用户组编号 9 | string userGroupCode=2; 10 | //用户组名称 11 | string userGroupName=3; 12 | //用户组邮箱 13 | string userGroupEmail=4; 14 | //用户组描述 15 | string description=5; 16 | //所属科室 17 | string observationDeptID=6; 18 | //所属机构 19 | string organizationID=7; 20 | //删除标志:0-未删除,1-已删除 21 | bool deletedFlag=8; 22 | //当前页 23 | int32 currentPage=9; 24 | //每页条数 25 | int32 pageSize=10; 26 | 27 | } 28 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /src/configFile/proto/UserGroupResponsePb.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | option csharp_namespace = "TomTaw.eWordRIS.Proto"; 3 | 4 | //用户组相关返回信息格式 5 | message UserGroupResponsePb{ 6 | 7 | //用户表 8 | //用户组ID 9 | string userGroupID=1; 10 | //用户组编号 11 | string userGroupCode=2; 12 | //用户组名称 13 | string userGroupName=3; 14 | //用户组邮箱 15 | string userGroupEmail=4; 16 | //用户组描述 17 | string description=5; 18 | //所属科室 19 | string observationDeptID=6; 20 | //所属机构 21 | string organizationID=7; 22 | //删除标志:0-未删除,1-已删除 23 | bool deletedFlag=8; 24 | //当前页 25 | int32 currentPage=9; 26 | //每页条数 27 | int32 pageSize=10; 28 | 29 | 30 | //用户组权限关联表 31 | //主键 32 | string LinkID = 11; 33 | //关联权限ID 34 | repeated string PermissionID = 12; 35 | 36 | //用户和用户组关联表 37 | //关联用户ID 38 | repeated string UserID = 13; 39 | 40 | } 41 | 42 | 43 | 44 | -------------------------------------------------------------------------------- /src/configFile/proto/UserListRequestPb.proto: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ou-jin/vue-element-template/97d4b39b50e84e5b5e069a50c0ad19172027430e/src/configFile/proto/UserListRequestPb.proto -------------------------------------------------------------------------------- /src/configFile/proto/UserPermissionLinkRequestPb.proto: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ou-jin/vue-element-template/97d4b39b50e84e5b5e069a50c0ad19172027430e/src/configFile/proto/UserPermissionLinkRequestPb.proto -------------------------------------------------------------------------------- /src/configFile/proto/UserRequestPb.proto: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ou-jin/vue-element-template/97d4b39b50e84e5b5e069a50c0ad19172027430e/src/configFile/proto/UserRequestPb.proto -------------------------------------------------------------------------------- /src/configFile/proto/UserResponsePb.proto: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ou-jin/vue-element-template/97d4b39b50e84e5b5e069a50c0ad19172027430e/src/configFile/proto/UserResponsePb.proto -------------------------------------------------------------------------------- /src/configFile/proto/ViUserGroupRequestPb.proto: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ou-jin/vue-element-template/97d4b39b50e84e5b5e069a50c0ad19172027430e/src/configFile/proto/ViUserGroupRequestPb.proto -------------------------------------------------------------------------------- /src/configFile/proto/ViUserPermissionRequestPb.proto: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ou-jin/vue-element-template/97d4b39b50e84e5b5e069a50c0ad19172027430e/src/configFile/proto/ViUserPermissionRequestPb.proto -------------------------------------------------------------------------------- /src/main.js: -------------------------------------------------------------------------------- 1 | // The Vue build version to load with the `import` command 2 | // (runtime-only or standalone) has been set in webpack.base.conf with an alias. 3 | import 'element-ui/lib/theme-chalk/index.css' 4 | // 更换element主题 5 | import '../static/scss/index.scss' 6 | import '../static/element-ui-theme/index.js' 7 | // 自动加载icon 8 | import '../src/config/iconConfig' 9 | import components from '../src/config/pluginConfig' 10 | import Vue from 'vue' 11 | import App from './App' 12 | import router from '../src/config/routerConfig' 13 | import ElementUI from 'element-ui' 14 | import store from '../src/config/vuexConfig' 15 | import mixin from '../src/config/mixinConfig' 16 | import utils from '../src/config/generalMethod' 17 | import db from '../src/config/dbConfig' 18 | import VueRouter from 'vue-router'; 19 | import http from '../src/config/jsonApi/index' 20 | import api from '../src/config/protoApi/protoReqConfig' 21 | import 'babel-polyfill' 22 | import absElementUi from 'abs_element_ui' 23 | Vue.use(absElementUi)// abs_element_ui组件库 24 | Vue.use(VueRouter) // 路由 25 | Vue.use(components) //全局组件 26 | Vue.use(ElementUI, {size: 'small'}) // element-ui 27 | Vue.prototype.db = db //innerDb 28 | Vue.prototype.$bus = new Vue() // eventBus 29 | Vue.prototype.http = http // json格式http请求 30 | Vue.prototype.fcn= utils //全局通用方法 31 | Vue.mixin(mixin) // mixin 32 | api.then(x=>{ 33 | Vue.prototype.api = x // proto格式http请求 34 | new Vue({ 35 | el: '#app', 36 | router, 37 | store, 38 | components: {App}, 39 | template: '' 40 | }) 41 | }).catch(x=>{ 42 | new Vue({ 43 | el: '#app', 44 | router, 45 | store, 46 | components: {App}, 47 | template: '' 48 | }) 49 | }) 50 | -------------------------------------------------------------------------------- /src/views/index/index.vue: -------------------------------------------------------------------------------- 1 | 17 | 18 | 37 | 38 | -------------------------------------------------------------------------------- /src/views/login/login.css: -------------------------------------------------------------------------------- 1 | .login-wrapper { 2 | width: 100%; 3 | height: 100%; 4 | } 5 | .login-wrapper .card-wrap { 6 | position: absolute; 7 | left: 50%; 8 | top: 50%; 9 | transform: translate(-50%, -50%); 10 | width: 400px; 11 | } 12 | .login-wrapper .card-wrap .login-title { 13 | text-align: center; 14 | font-size: 30px; 15 | color: #666666; 16 | margin-bottom: 40px; 17 | } 18 | .login-wrapper .card-wrap .el-form-item { 19 | margin-bottom: 35px; 20 | } 21 | .login-wrapper .card-wrap .login-btn-wrp .el-form-item__content { 22 | margin-left: 0!important; 23 | } 24 | .login-wrapper .card-wrap .el-button { 25 | width: 100%; 26 | } 27 | -------------------------------------------------------------------------------- /src/views/login/login.js: -------------------------------------------------------------------------------- 1 | // 在需要http请求的页面引入api 2 | 3 | export default { 4 | name: "login", 5 | data() { 6 | return { 7 | formData: { 8 | OrganizationID: '', 9 | account: '', 10 | password: '' 11 | }, 12 | org: [ 13 | {value:'org1',label:'org1'}, 14 | {value:'org2',label:'org2'} 15 | ], 16 | value: '', 17 | formRule: { 18 | OrganizationID: [{ required: true, message: '请选择机构', trigger: 'blur' }], 19 | account: [{ required: true, message: '请输入账号', trigger: 'blur' }], 20 | password: [{ required: true, message: '请输入密码', trigger: 'blur' }] 21 | }, 22 | script: null 23 | } 24 | }, 25 | mounted() { 26 | }, 27 | beforeDestroy() { 28 | }, 29 | created() { 30 | }, 31 | methods: { 32 | select(){ 33 | localStorage.setItem("OrganizationID", this.formData.OrganizationID) 34 | }, 35 | Login() { 36 | this.$refs['loginForm'].validate((valid) => { 37 | if (valid) { 38 | this.$router.push({ path: '/' }) 39 | }}) 40 | }, 41 | } 42 | } -------------------------------------------------------------------------------- /src/views/login/login.less: -------------------------------------------------------------------------------- 1 | .login-wrapper{ 2 | width: 100%; 3 | height: 100%; 4 | .card-wrap{ 5 | position: absolute; 6 | left: 50%; 7 | top: 50%; 8 | transform: translate(-50%, -50%); 9 | width: 400px; 10 | .login-title{ 11 | text-align: center; 12 | font-size: 30px; 13 | color: #666666; 14 | margin-bottom: 40px; 15 | } 16 | .el-form-item{ 17 | margin-bottom: 35px; 18 | } 19 | .login-btn-wrp .el-form-item__content{ 20 | margin-left: 0!important; 21 | } 22 | .el-button{ 23 | width: 100%; 24 | } 25 | } 26 | } -------------------------------------------------------------------------------- /src/views/login/login.vue: -------------------------------------------------------------------------------- 1 | 35 | 36 | 37 | 38 | -------------------------------------------------------------------------------- /src/views/pageOne/pageOne.vue: -------------------------------------------------------------------------------- 1 | 6 | 18 | -------------------------------------------------------------------------------- /src/views/pageTwo/pageTwo.vue: -------------------------------------------------------------------------------- 1 | 6 | 19 | -------------------------------------------------------------------------------- /static/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ou-jin/vue-element-template/97d4b39b50e84e5b5e069a50c0ad19172027430e/static/.gitkeep -------------------------------------------------------------------------------- /static/element-ui-theme/element-#0BB2D4/fonts/element-icons.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ou-jin/vue-element-template/97d4b39b50e84e5b5e069a50c0ad19172027430e/static/element-ui-theme/element-#0BB2D4/fonts/element-icons.ttf -------------------------------------------------------------------------------- /static/element-ui-theme/element-#0BB2D4/fonts/element-icons.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ou-jin/vue-element-template/97d4b39b50e84e5b5e069a50c0ad19172027430e/static/element-ui-theme/element-#0BB2D4/fonts/element-icons.woff -------------------------------------------------------------------------------- /static/element-ui-theme/element-#11C26D/fonts/element-icons.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ou-jin/vue-element-template/97d4b39b50e84e5b5e069a50c0ad19172027430e/static/element-ui-theme/element-#11C26D/fonts/element-icons.ttf -------------------------------------------------------------------------------- /static/element-ui-theme/element-#11C26D/fonts/element-icons.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ou-jin/vue-element-template/97d4b39b50e84e5b5e069a50c0ad19172027430e/static/element-ui-theme/element-#11C26D/fonts/element-icons.woff -------------------------------------------------------------------------------- /static/element-ui-theme/element-#17B3A3/fonts/element-icons.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ou-jin/vue-element-template/97d4b39b50e84e5b5e069a50c0ad19172027430e/static/element-ui-theme/element-#17B3A3/fonts/element-icons.ttf -------------------------------------------------------------------------------- /static/element-ui-theme/element-#17B3A3/fonts/element-icons.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ou-jin/vue-element-template/97d4b39b50e84e5b5e069a50c0ad19172027430e/static/element-ui-theme/element-#17B3A3/fonts/element-icons.woff -------------------------------------------------------------------------------- /static/element-ui-theme/element-#3E8EF7/fonts/element-icons.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ou-jin/vue-element-template/97d4b39b50e84e5b5e069a50c0ad19172027430e/static/element-ui-theme/element-#3E8EF7/fonts/element-icons.ttf -------------------------------------------------------------------------------- /static/element-ui-theme/element-#3E8EF7/fonts/element-icons.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ou-jin/vue-element-template/97d4b39b50e84e5b5e069a50c0ad19172027430e/static/element-ui-theme/element-#3E8EF7/fonts/element-icons.woff -------------------------------------------------------------------------------- /static/element-ui-theme/element-#667AFA/fonts/element-icons.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ou-jin/vue-element-template/97d4b39b50e84e5b5e069a50c0ad19172027430e/static/element-ui-theme/element-#667AFA/fonts/element-icons.ttf -------------------------------------------------------------------------------- /static/element-ui-theme/element-#667AFA/fonts/element-icons.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ou-jin/vue-element-template/97d4b39b50e84e5b5e069a50c0ad19172027430e/static/element-ui-theme/element-#667AFA/fonts/element-icons.woff -------------------------------------------------------------------------------- /static/element-ui-theme/element-#757575/fonts/element-icons.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ou-jin/vue-element-template/97d4b39b50e84e5b5e069a50c0ad19172027430e/static/element-ui-theme/element-#757575/fonts/element-icons.ttf -------------------------------------------------------------------------------- /static/element-ui-theme/element-#757575/fonts/element-icons.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ou-jin/vue-element-template/97d4b39b50e84e5b5e069a50c0ad19172027430e/static/element-ui-theme/element-#757575/fonts/element-icons.woff -------------------------------------------------------------------------------- /static/element-ui-theme/element-#78A7ED/fonts/element-icons.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ou-jin/vue-element-template/97d4b39b50e84e5b5e069a50c0ad19172027430e/static/element-ui-theme/element-#78A7ED/fonts/element-icons.ttf -------------------------------------------------------------------------------- /static/element-ui-theme/element-#78A7ED/fonts/element-icons.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ou-jin/vue-element-template/97d4b39b50e84e5b5e069a50c0ad19172027430e/static/element-ui-theme/element-#78A7ED/fonts/element-icons.woff -------------------------------------------------------------------------------- /static/element-ui-theme/element-#9463F7/fonts/element-icons.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ou-jin/vue-element-template/97d4b39b50e84e5b5e069a50c0ad19172027430e/static/element-ui-theme/element-#9463F7/fonts/element-icons.ttf -------------------------------------------------------------------------------- /static/element-ui-theme/element-#9463F7/fonts/element-icons.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ou-jin/vue-element-template/97d4b39b50e84e5b5e069a50c0ad19172027430e/static/element-ui-theme/element-#9463F7/fonts/element-icons.woff -------------------------------------------------------------------------------- /static/element-ui-theme/element-#997B71/fonts/element-icons.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ou-jin/vue-element-template/97d4b39b50e84e5b5e069a50c0ad19172027430e/static/element-ui-theme/element-#997B71/fonts/element-icons.ttf -------------------------------------------------------------------------------- /static/element-ui-theme/element-#997B71/fonts/element-icons.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ou-jin/vue-element-template/97d4b39b50e84e5b5e069a50c0ad19172027430e/static/element-ui-theme/element-#997B71/fonts/element-icons.woff -------------------------------------------------------------------------------- /static/element-ui-theme/element-#EB6709/fonts/element-icons.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ou-jin/vue-element-template/97d4b39b50e84e5b5e069a50c0ad19172027430e/static/element-ui-theme/element-#EB6709/fonts/element-icons.ttf -------------------------------------------------------------------------------- /static/element-ui-theme/element-#EB6709/fonts/element-icons.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ou-jin/vue-element-template/97d4b39b50e84e5b5e069a50c0ad19172027430e/static/element-ui-theme/element-#EB6709/fonts/element-icons.woff -------------------------------------------------------------------------------- /static/element-ui-theme/element-#F74584/fonts/element-icons.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ou-jin/vue-element-template/97d4b39b50e84e5b5e069a50c0ad19172027430e/static/element-ui-theme/element-#F74584/fonts/element-icons.ttf -------------------------------------------------------------------------------- /static/element-ui-theme/element-#F74584/fonts/element-icons.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ou-jin/vue-element-template/97d4b39b50e84e5b5e069a50c0ad19172027430e/static/element-ui-theme/element-#F74584/fonts/element-icons.woff -------------------------------------------------------------------------------- /static/element-ui-theme/element-#FCB900/fonts/element-icons.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ou-jin/vue-element-template/97d4b39b50e84e5b5e069a50c0ad19172027430e/static/element-ui-theme/element-#FCB900/fonts/element-icons.ttf -------------------------------------------------------------------------------- /static/element-ui-theme/element-#FCB900/fonts/element-icons.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ou-jin/vue-element-template/97d4b39b50e84e5b5e069a50c0ad19172027430e/static/element-ui-theme/element-#FCB900/fonts/element-icons.woff -------------------------------------------------------------------------------- /static/element-ui-theme/element-#FF4C52/fonts/element-icons.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ou-jin/vue-element-template/97d4b39b50e84e5b5e069a50c0ad19172027430e/static/element-ui-theme/element-#FF4C52/fonts/element-icons.ttf -------------------------------------------------------------------------------- /static/element-ui-theme/element-#FF4C52/fonts/element-icons.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ou-jin/vue-element-template/97d4b39b50e84e5b5e069a50c0ad19172027430e/static/element-ui-theme/element-#FF4C52/fonts/element-icons.woff -------------------------------------------------------------------------------- /static/element-ui-theme/index.js: -------------------------------------------------------------------------------- 1 | /** 2 | * element-ui组件主题 3 | * 4 | * tips: 5 | * 1. 此处只包含element-ui组件主题 6 | * 2. 要达到整站主题修改效果, 请确保[import './element-[#17B3A3]/index.css']当前主题色与[/src/assets/scss/_variables.scss]文件中[$--color-primary]属性值一致 7 | */ 8 | import './element-#78A7ED/index.css' // 当前主题色 9 | export default { 10 | list: [ 11 | '#0BB2D4', // 青色 12 | '#3E8EF7', // 蓝色 13 | '#11C26D', // 绿色 14 | '#17B3A3', // 蓝绿色 15 | '#667AFA', // 靛青色 16 | '#997B71', // 棕色 17 | '#9463F7', // 紫色 18 | '#757575', // 灰色 19 | '#EB6709', // 橙色 20 | '#F74584', // 粉红色 21 | '#FCB900', // 黄色 22 | '#FF4C52', // 红色 23 | '#78A7ED' //淡蓝色 24 | ] 25 | } 26 | -------------------------------------------------------------------------------- /static/file/proto接口文档.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ou-jin/vue-element-template/97d4b39b50e84e5b5e069a50c0ad19172027430e/static/file/proto接口文档.xlsx -------------------------------------------------------------------------------- /static/icon/expant.svg: -------------------------------------------------------------------------------- 1 | 展开 -------------------------------------------------------------------------------- /static/icon/pageOne.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/icon/pageTwo.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/image/list_side_bar.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/image/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ou-jin/vue-element-template/97d4b39b50e84e5b5e069a50c0ad19172027430e/static/image/logo.png -------------------------------------------------------------------------------- /static/image/titleIcon.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/image/user_img.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ou-jin/vue-element-template/97d4b39b50e84e5b5e069a50c0ad19172027430e/static/image/user_img.png -------------------------------------------------------------------------------- /static/image/vuejs.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ou-jin/vue-element-template/97d4b39b50e84e5b5e069a50c0ad19172027430e/static/image/vuejs.png -------------------------------------------------------------------------------- /static/js/globalConfig.js: -------------------------------------------------------------------------------- 1 | /* 2 | * HOST 3 | * API域名配置 4 | * */ 5 | var HOST = 'http://192.168.1.16:5000'; 6 | 7 | var UPLOAD_HOST = 'http://192.168.1.15:9000'; 8 | /* 9 | * Login_version 10 | * 登录页显示的版本描述 + 版本号 11 | * */ 12 | var Login_version = '版本号:eWord IMCIS v1.0.0.0'; 13 | /* 14 | * Home_version 15 | * 首页头部显示的版本号 16 | * */ 17 | var Home_version = 'v1.0.0.0'; 18 | -------------------------------------------------------------------------------- /static/js/test-clear.js: -------------------------------------------------------------------------------- 1 | //立即执行函数 2 | //!的作用是告诉javascript引擎这是一个函数表达式,不是函数声明,()、!、+、-等运算符都能实现这个作用,不过()是最安全的 3 | //在!function(){}后面加上()会立即调用这个函数 4 | //这样做可以模仿一个私有作用域,这样html文件引用多个js文件时便不会造成变量冲突 5 | ! function () { 6 | 7 | //canvas元素相关 8 | //创建canvas元素,并设置canvas元素的id 9 | var canvas = document.createElement("canvas"), 10 | context = canvas.getContext("2d"), 11 | attr = getAttr(); 12 | 13 | //设置创建的canvas的相关属性 14 | canvas.id = "c_n" + attr.length; 15 | canvas.style.cssText = "position:fixed;top:0;left:0;z-index:" + attr.z + ";opacity:" + attr.opacity; 16 | //将canvas元素添加到body元素中 17 | document.getElementsByTagName("body")[0].appendChild(canvas); 18 | //该函数设置了canvas元素的width属性和height属性 19 | getWindowWH(); 20 | //onresize 事件会在窗口或框架被调整大小时发生 21 | //此处即为当窗口大小改变时,重新获取窗口的宽高和设置canvas元素的宽高 22 | window.onresize = getWindowWH; 23 | 24 | 25 | //该函数会得到引用了本文件的script元素, 26 | //因为本文件中在赋值时执行了一次getScript函数,html文件引用本文件时,本文件之后的script标签还没有被浏览器解释, 27 | //所以得到的script数组中,引用了本文的script元素在该数组的末尾 28 | //该函数的用意为使开发者能直接修改在html中引入该文件的script元素的属性来修改画布的一些属性,画布的z-index,透明度和小方块数量,颜色 29 | //与前面往body元素添加canvas元素的代码配合,当开发者想要使用该特效作为背景时,只需在html文件中添加script元素并引用本文件即可 30 | function getAttr() { 31 | let scripts = document.getElementsByTagName("script"), 32 | len = scripts.length, 33 | script = scripts[len - 1];//v为最后一个script元素,即引用了本文件的script元素 34 | return { 35 | length: len, 36 | z: script.getAttribute("zIndex") || -1, 37 | opacity: script.getAttribute("opacity") || 0.5, 38 | color: script.getAttribute("color") || "0,0,0", 39 | count: script.getAttribute("count") || 99 40 | } 41 | } 42 | //获得窗口宽高,并设置canvas元素宽高 43 | function getWindowWH() { 44 | W = canvas.width = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth, 45 | H = canvas.height = window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight 46 | } 47 | 48 | 49 | 50 | 51 | 52 | //生成随机位置的小方块 53 | var random = Math.random, 54 | squares = [];//存放小方块 55 | 56 | //往squares[]数组放小方块 57 | for(let p = 0; p < attr.count; p ++){ 58 | var square_x = random() * W,//横坐标 59 | square_y = random() * H,//纵坐标 60 | square_xa = 2 * random() - 1,//x轴位移 -1,1 61 | square_ya = 2 * random() - 1;//y轴位移 62 | squares.push({ 63 | x: square_x, 64 | y: square_y, 65 | xa: square_xa, 66 | ya: square_ya, 67 | max: 6000 68 | }) 69 | } 70 | 71 | //生成鼠标小方块 72 | var mouse = { 73 | x: null, 74 | y: null, 75 | max: 20000 76 | }; 77 | //获取鼠标所在坐标 78 | window.onmousemove = function (i) { 79 | //i为W3C DOM,window.event 为 IE DOM,以实现兼容IE 80 | //不过目前似乎IE已经支持W3C DOM,我用的是IE11,我注释掉下一句代码也能实现鼠标交互效果, 81 | //网上说7/8/9是不支持的,本人没有试验, 82 | //当然加上是没有错的 83 | i = i || window.event; 84 | mouse.x = i.clientX; 85 | mouse.y = i.clientY; 86 | } 87 | //鼠标移出窗口后,消除鼠标小方块 88 | window.onmouseout = function () { 89 | mouse.x = null; 90 | mouse.y = null; 91 | } 92 | 93 | 94 | //绘制小方块,小方块移动(碰到边界反向移动),小方块受鼠标束缚 95 | var animation = window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || window.oRequestAnimationFrame || window.msRequestAnimationFrame || function (i) { 96 | window.setTimeout(i, 1000 / 45) 97 | };//各个浏览器支持的requestAnimationFrame有所不同,兼容各个浏览器 98 | 99 | function draw() { 100 | //清除画布 101 | context.clearRect(0, 0, W, H); 102 | 103 | var w = [mouse].concat(squares);//连接(合并)鼠标小方块数组和其他小方块数组 104 | var x, v, A, B, z, y; 105 | 106 | 107 | //square属性表:x,y,xa,ya,max 108 | squares.forEach(function (i) { 109 | 110 | //实现小方块定向移动 111 | i.x += i.xa; 112 | i.y += i.ya; 113 | 114 | // 控制小方块移动方向 115 | // 当小方块达到窗口边界时,反向移动 116 | i.xa = i.xa * (i.x > W || i.x < 0 ? -1 : 1); 117 | i.ya = i.ya * (i.y > H || i.y < 0 ? -1 : 1); 118 | 119 | //fillRect前两个参数为矩形左上角的x,y坐标,后两个分别为宽度和高度 120 | //绘制小方块 121 | context.fillRect(i.x - 0.5, i.y - 0.5, 1, 1); 122 | 123 | //遍历w中所有元素 124 | for (let n = 0; n < w.length; n++) { 125 | x = w[n]; 126 | //如果x与i不是同一个对象实例且x的xy坐标存在 127 | if (i !== x && null !== x.x && null !== x.y) { 128 | x_diff = i.x - x.x;//i和x的x坐标差 129 | y_diff = i.y - x.y;//i和x的y坐标差 130 | distance = x_diff * x_diff + y_diff * y_diff;//斜边平方 131 | if(distance < x.max){ 132 | //使i小方块受鼠标小方块束缚,即如果i小方块与鼠标小方块距离过大,i小方块会被鼠标小方块束缚, 133 | //造成 多个小方块以鼠标为圆心,mouse.max/2为半径绕成一圈 134 | if(x === mouse && distance > x.max/2){ 135 | i.x = i.x - 0.03 * x_diff; 136 | i.y = i.y - 0.03 * y_diff; 137 | } 138 | A = (x.max - distance) / x.max; 139 | context.beginPath(); 140 | //设置画笔的画线的粗细与两个小方块的距离相关,范围0-0.5,两个小方块距离越远画线越细,达到max时画线消失 141 | context.lineWidth = A / 2; 142 | //设置画笔的画线颜色为s.c即画布颜色,透明度为(A+0.2)即两个小方块距离越远画线越淡 143 | context.strokeStyle = "rgba(" + attr.color + "," + (A + 0.2) + ")"; 144 | //设置画笔的笔触为i小方块 145 | context.moveTo(i.x, i.y); 146 | //使画笔的笔触移动到x小方块 147 | context.lineTo(x.x, x.y); 148 | //完成画线的绘制,即绘制连接小方块的线 149 | context.stroke(); 150 | } 151 | } 152 | } 153 | //把i小方块从w数组中去掉 154 | //防止两个小方块重复连线 155 | w.splice(w.indexOf(i), 1); 156 | }); 157 | 158 | //window.requestAnimationFrame与setTimeout相似,形成递归调用, 159 | //不过window.requestAnimationFrame采用系统时间间隔,保持最佳绘制效率,提供了更好地优化,使动画更流畅 160 | //经过浏览器优化,动画更流畅; 161 | //窗口没激活时,动画将停止,省计算资源; 162 | animation(draw); 163 | } 164 | 165 | //此处是等待0.1秒后,执行一次draw(),真正的动画效果是用window.requestAnimationFrame实现的 166 | setTimeout(function () { 167 | draw(); 168 | }, 100) 169 | 170 | }(); -------------------------------------------------------------------------------- /static/scss/_variables.scss: -------------------------------------------------------------------------------- 1 | // 站点主色 2 | // tips: 要达到整站主题修改效果, 请确保[$--color-primary]站点主色与[/src/element-ui-theme/index.js]文件中[import './element-[#17B3A3]/index.css']当前主题色一致 3 | $--color-primary: #78A7ED; 4 | 5 | // Navbar 6 | $navbar--background-color: $--color-primary; 7 | 8 | // Sidebar 9 | $sidebar--background-color-dark: #263238; 10 | $sidebar--color-text-dark: #8a979e; 11 | 12 | // Content 13 | $content--background-color: #f1f4f5; 14 | -------------------------------------------------------------------------------- /static/scss/index.scss: -------------------------------------------------------------------------------- 1 | @import "normalize"; // api: https://github.com/necolas/normalize.css/ 2 | @import "variables"; // 站点变量 3 | @import "base"; 4 | -------------------------------------------------------------------------------- /static/style/reset.css: -------------------------------------------------------------------------------- 1 | html, body, div, span, object, iframe, 2 | h1, h2, h3, h4, h5, h6, p, blockquote, pre, 3 | abbr, address, cite, code, 4 | del, dfn, em, img, ins, kbd, q, samp, 5 | small, strong, sub, sup, var, 6 | b, i, 7 | dl, dt, dd, ol, ul, li, 8 | fieldset, form, label, legend, 9 | table, caption, tbody, tfoot, thead, tr, th, td, 10 | article, aside, canvas, details, figcaption, figure, 11 | footer, header, hgroup, menu, nav, section, summary, 12 | time, mark, audio, video { 13 | margin: 0; 14 | padding: 0; 15 | border: 0; 16 | outline: 0; 17 | font-size: 100%; 18 | font-family: "微软雅黑", "宋体", "华文细黑", arial, sans-serif; 19 | vertical-align: baseline; 20 | background: transparent; 21 | -webkit-box-sizing: border-box; 22 | -moz-box-sizing: border-box; 23 | box-sizing: border-box; 24 | } 25 | 26 | html { 27 | height: 100%; 28 | } 29 | 30 | ul, li { 31 | list-style: none; 32 | } 33 | 34 | body { 35 | line-height: 1; 36 | height: 100%; 37 | } 38 | 39 | :focus { 40 | outline: none; 41 | } 42 | 43 | article, aside, canvas, details, figcaption, figure, 44 | footer, header, hgroup, menu, nav, section, summary { 45 | display: block; 46 | } 47 | 48 | nav ul { 49 | list-style: none; 50 | } 51 | 52 | blockquote, q { 53 | quotes: none; 54 | } 55 | 56 | blockquote:before, blockquote:after, 57 | q:before, q:after { 58 | content: ''; 59 | content: none; 60 | } 61 | 62 | a { 63 | margin: 0; 64 | padding: 0; 65 | border: 0; 66 | font-size: 100%; 67 | vertical-align: baseline; 68 | background: transparent; 69 | } 70 | 71 | ins { 72 | background-color: #ff9; 73 | color: #000; 74 | text-decoration: none; 75 | } 76 | 77 | mark { 78 | background-color: #ff9; 79 | color: #000; 80 | font-style: italic; 81 | font-weight: bold; 82 | } 83 | 84 | del { 85 | text-decoration: line-through; 86 | } 87 | 88 | abbr[title], dfn[title] { 89 | border-bottom: 1px dotted #000; 90 | cursor: help; 91 | } 92 | 93 | table { 94 | border-collapse: collapse; 95 | border-spacing: 0; 96 | } 97 | 98 | hr { 99 | display: block; 100 | height: 1px; 101 | border: 0; 102 | border-top: 1px solid #cccccc; 103 | margin: 1em 0; 104 | padding: 0; 105 | } 106 | 107 | input, select { 108 | vertical-align: middle; 109 | } 110 | 111 | .left { 112 | float: left; 113 | } 114 | 115 | .right { 116 | float: right; 117 | } 118 | 119 | .clear:after { 120 | display: block; 121 | content: ''; 122 | clear: both; 123 | } 124 | 125 | .h-icon{ 126 | display: inline-block; 127 | vertical-align: middle; 128 | } 129 | 130 | 131 | -------------------------------------------------------------------------------- /theme/aside.css: -------------------------------------------------------------------------------- 1 | /* BEM support Func 2 | -------------------------- */ 3 | /* Element Chalk Variables */ 4 | /* Transition 5 | -------------------------- */ 6 | /* Color 7 | -------------------------- */ 8 | /* 53a8ff */ 9 | /* 66b1ff */ 10 | /* 79bbff */ 11 | /* 8cc5ff */ 12 | /* a0cfff */ 13 | /* b3d8ff */ 14 | /* c6e2ff */ 15 | /* d9ecff */ 16 | /* ecf5ff */ 17 | /* Link 18 | -------------------------- */ 19 | /* Border 20 | -------------------------- */ 21 | /* Fill 22 | -------------------------- */ 23 | /* Typography 24 | -------------------------- */ 25 | /* Size 26 | -------------------------- */ 27 | /* z-index 28 | -------------------------- */ 29 | /* Disable base 30 | -------------------------- */ 31 | /* Icon 32 | -------------------------- */ 33 | /* Checkbox 34 | -------------------------- */ 35 | /* Radio 36 | -------------------------- */ 37 | /* Select 38 | -------------------------- */ 39 | /* Alert 40 | -------------------------- */ 41 | /* Message Box 42 | -------------------------- */ 43 | /* Message 44 | -------------------------- */ 45 | /* Notification 46 | -------------------------- */ 47 | /* Input 48 | -------------------------- */ 49 | /* Cascader 50 | -------------------------- */ 51 | /* Group 52 | -------------------------- */ 53 | /* Tab 54 | -------------------------- */ 55 | /* Button 56 | -------------------------- */ 57 | /* cascader 58 | -------------------------- */ 59 | /* Switch 60 | -------------------------- */ 61 | /* Dialog 62 | -------------------------- */ 63 | /* Table 64 | -------------------------- */ 65 | /* Pagination 66 | -------------------------- */ 67 | /* Popover 68 | -------------------------- */ 69 | /* Tooltip 70 | -------------------------- */ 71 | /* Tag 72 | -------------------------- */ 73 | /* Tree 74 | -------------------------- */ 75 | /* Dropdown 76 | -------------------------- */ 77 | /* Badge 78 | -------------------------- */ 79 | /* Card 80 | --------------------------*/ 81 | /* Slider 82 | --------------------------*/ 83 | /* Steps 84 | --------------------------*/ 85 | /* Menu 86 | --------------------------*/ 87 | /* Rate 88 | --------------------------*/ 89 | /* DatePicker 90 | --------------------------*/ 91 | /* Loading 92 | --------------------------*/ 93 | /* Scrollbar 94 | --------------------------*/ 95 | /* Carousel 96 | --------------------------*/ 97 | /* Collapse 98 | --------------------------*/ 99 | /* Transfer 100 | --------------------------*/ 101 | /* Header 102 | --------------------------*/ 103 | /* Footer 104 | --------------------------*/ 105 | /* Main 106 | --------------------------*/ 107 | /* Timeline 108 | --------------------------*/ 109 | /* Break-point 110 | --------------------------*/ 111 | /* Break-points 112 | -------------------------- */ 113 | /* Scrollbar 114 | -------------------------- */ 115 | /* Placeholder 116 | -------------------------- */ 117 | /* BEM 118 | -------------------------- */ 119 | .el-aside { 120 | overflow: auto; 121 | -webkit-box-sizing: border-box; 122 | box-sizing: border-box; 123 | -ms-flex-negative: 0; 124 | flex-shrink: 0; } 125 | -------------------------------------------------------------------------------- /theme/badge.css: -------------------------------------------------------------------------------- 1 | /* BEM support Func 2 | -------------------------- */ 3 | /* Element Chalk Variables */ 4 | /* Transition 5 | -------------------------- */ 6 | /* Color 7 | -------------------------- */ 8 | /* 53a8ff */ 9 | /* 66b1ff */ 10 | /* 79bbff */ 11 | /* 8cc5ff */ 12 | /* a0cfff */ 13 | /* b3d8ff */ 14 | /* c6e2ff */ 15 | /* d9ecff */ 16 | /* ecf5ff */ 17 | /* Link 18 | -------------------------- */ 19 | /* Border 20 | -------------------------- */ 21 | /* Fill 22 | -------------------------- */ 23 | /* Typography 24 | -------------------------- */ 25 | /* Size 26 | -------------------------- */ 27 | /* z-index 28 | -------------------------- */ 29 | /* Disable base 30 | -------------------------- */ 31 | /* Icon 32 | -------------------------- */ 33 | /* Checkbox 34 | -------------------------- */ 35 | /* Radio 36 | -------------------------- */ 37 | /* Select 38 | -------------------------- */ 39 | /* Alert 40 | -------------------------- */ 41 | /* Message Box 42 | -------------------------- */ 43 | /* Message 44 | -------------------------- */ 45 | /* Notification 46 | -------------------------- */ 47 | /* Input 48 | -------------------------- */ 49 | /* Cascader 50 | -------------------------- */ 51 | /* Group 52 | -------------------------- */ 53 | /* Tab 54 | -------------------------- */ 55 | /* Button 56 | -------------------------- */ 57 | /* cascader 58 | -------------------------- */ 59 | /* Switch 60 | -------------------------- */ 61 | /* Dialog 62 | -------------------------- */ 63 | /* Table 64 | -------------------------- */ 65 | /* Pagination 66 | -------------------------- */ 67 | /* Popover 68 | -------------------------- */ 69 | /* Tooltip 70 | -------------------------- */ 71 | /* Tag 72 | -------------------------- */ 73 | /* Tree 74 | -------------------------- */ 75 | /* Dropdown 76 | -------------------------- */ 77 | /* Badge 78 | -------------------------- */ 79 | /* Card 80 | --------------------------*/ 81 | /* Slider 82 | --------------------------*/ 83 | /* Steps 84 | --------------------------*/ 85 | /* Menu 86 | --------------------------*/ 87 | /* Rate 88 | --------------------------*/ 89 | /* DatePicker 90 | --------------------------*/ 91 | /* Loading 92 | --------------------------*/ 93 | /* Scrollbar 94 | --------------------------*/ 95 | /* Carousel 96 | --------------------------*/ 97 | /* Collapse 98 | --------------------------*/ 99 | /* Transfer 100 | --------------------------*/ 101 | /* Header 102 | --------------------------*/ 103 | /* Footer 104 | --------------------------*/ 105 | /* Main 106 | --------------------------*/ 107 | /* Timeline 108 | --------------------------*/ 109 | /* Break-point 110 | --------------------------*/ 111 | /* Break-points 112 | -------------------------- */ 113 | /* Scrollbar 114 | -------------------------- */ 115 | /* Placeholder 116 | -------------------------- */ 117 | /* BEM 118 | -------------------------- */ 119 | /* Element Chalk Variables */ 120 | /* Transition 121 | -------------------------- */ 122 | /* Color 123 | -------------------------- */ 124 | /* 53a8ff */ 125 | /* 66b1ff */ 126 | /* 79bbff */ 127 | /* 8cc5ff */ 128 | /* a0cfff */ 129 | /* b3d8ff */ 130 | /* c6e2ff */ 131 | /* d9ecff */ 132 | /* ecf5ff */ 133 | /* Link 134 | -------------------------- */ 135 | /* Border 136 | -------------------------- */ 137 | /* Fill 138 | -------------------------- */ 139 | /* Typography 140 | -------------------------- */ 141 | /* Size 142 | -------------------------- */ 143 | /* z-index 144 | -------------------------- */ 145 | /* Disable base 146 | -------------------------- */ 147 | /* Icon 148 | -------------------------- */ 149 | /* Checkbox 150 | -------------------------- */ 151 | /* Radio 152 | -------------------------- */ 153 | /* Select 154 | -------------------------- */ 155 | /* Alert 156 | -------------------------- */ 157 | /* Message Box 158 | -------------------------- */ 159 | /* Message 160 | -------------------------- */ 161 | /* Notification 162 | -------------------------- */ 163 | /* Input 164 | -------------------------- */ 165 | /* Cascader 166 | -------------------------- */ 167 | /* Group 168 | -------------------------- */ 169 | /* Tab 170 | -------------------------- */ 171 | /* Button 172 | -------------------------- */ 173 | /* cascader 174 | -------------------------- */ 175 | /* Switch 176 | -------------------------- */ 177 | /* Dialog 178 | -------------------------- */ 179 | /* Table 180 | -------------------------- */ 181 | /* Pagination 182 | -------------------------- */ 183 | /* Popover 184 | -------------------------- */ 185 | /* Tooltip 186 | -------------------------- */ 187 | /* Tag 188 | -------------------------- */ 189 | /* Tree 190 | -------------------------- */ 191 | /* Dropdown 192 | -------------------------- */ 193 | /* Badge 194 | -------------------------- */ 195 | /* Card 196 | --------------------------*/ 197 | /* Slider 198 | --------------------------*/ 199 | /* Steps 200 | --------------------------*/ 201 | /* Menu 202 | --------------------------*/ 203 | /* Rate 204 | --------------------------*/ 205 | /* DatePicker 206 | --------------------------*/ 207 | /* Loading 208 | --------------------------*/ 209 | /* Scrollbar 210 | --------------------------*/ 211 | /* Carousel 212 | --------------------------*/ 213 | /* Collapse 214 | --------------------------*/ 215 | /* Transfer 216 | --------------------------*/ 217 | /* Header 218 | --------------------------*/ 219 | /* Footer 220 | --------------------------*/ 221 | /* Main 222 | --------------------------*/ 223 | /* Timeline 224 | --------------------------*/ 225 | /* Break-point 226 | --------------------------*/ 227 | .el-badge { 228 | position: relative; 229 | vertical-align: middle; 230 | display: inline-block; } 231 | .el-badge__content { 232 | background-color: #F56C6C; 233 | border-radius: 10px; 234 | color: #FFFFFF; 235 | display: inline-block; 236 | font-size: 12px; 237 | height: 18px; 238 | line-height: 18px; 239 | padding: 0 6px; 240 | text-align: center; 241 | white-space: nowrap; 242 | border: 1px solid #FFFFFF; } 243 | .el-badge__content.is-fixed { 244 | position: absolute; 245 | top: 0; 246 | right: 10px; 247 | -webkit-transform: translateY(-50%) translateX(100%); 248 | transform: translateY(-50%) translateX(100%); } 249 | .el-badge__content.is-fixed.is-dot { 250 | right: 5px; } 251 | .el-badge__content.is-dot { 252 | height: 8px; 253 | width: 8px; 254 | padding: 0; 255 | right: 0; 256 | border-radius: 50%; } 257 | .el-badge__content--primary { 258 | background-color: #78A7ED; } 259 | .el-badge__content--success { 260 | background-color: #67C23A; } 261 | .el-badge__content--warning { 262 | background-color: #E6A23C; } 263 | .el-badge__content--info { 264 | background-color: #909399; } 265 | .el-badge__content--danger { 266 | background-color: #F56C6C; } 267 | -------------------------------------------------------------------------------- /theme/breadcrumb-item.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ou-jin/vue-element-template/97d4b39b50e84e5b5e069a50c0ad19172027430e/theme/breadcrumb-item.css -------------------------------------------------------------------------------- /theme/breadcrumb.css: -------------------------------------------------------------------------------- 1 | /* BEM support Func 2 | -------------------------- */ 3 | /* Element Chalk Variables */ 4 | /* Transition 5 | -------------------------- */ 6 | /* Color 7 | -------------------------- */ 8 | /* 53a8ff */ 9 | /* 66b1ff */ 10 | /* 79bbff */ 11 | /* 8cc5ff */ 12 | /* a0cfff */ 13 | /* b3d8ff */ 14 | /* c6e2ff */ 15 | /* d9ecff */ 16 | /* ecf5ff */ 17 | /* Link 18 | -------------------------- */ 19 | /* Border 20 | -------------------------- */ 21 | /* Fill 22 | -------------------------- */ 23 | /* Typography 24 | -------------------------- */ 25 | /* Size 26 | -------------------------- */ 27 | /* z-index 28 | -------------------------- */ 29 | /* Disable base 30 | -------------------------- */ 31 | /* Icon 32 | -------------------------- */ 33 | /* Checkbox 34 | -------------------------- */ 35 | /* Radio 36 | -------------------------- */ 37 | /* Select 38 | -------------------------- */ 39 | /* Alert 40 | -------------------------- */ 41 | /* Message Box 42 | -------------------------- */ 43 | /* Message 44 | -------------------------- */ 45 | /* Notification 46 | -------------------------- */ 47 | /* Input 48 | -------------------------- */ 49 | /* Cascader 50 | -------------------------- */ 51 | /* Group 52 | -------------------------- */ 53 | /* Tab 54 | -------------------------- */ 55 | /* Button 56 | -------------------------- */ 57 | /* cascader 58 | -------------------------- */ 59 | /* Switch 60 | -------------------------- */ 61 | /* Dialog 62 | -------------------------- */ 63 | /* Table 64 | -------------------------- */ 65 | /* Pagination 66 | -------------------------- */ 67 | /* Popover 68 | -------------------------- */ 69 | /* Tooltip 70 | -------------------------- */ 71 | /* Tag 72 | -------------------------- */ 73 | /* Tree 74 | -------------------------- */ 75 | /* Dropdown 76 | -------------------------- */ 77 | /* Badge 78 | -------------------------- */ 79 | /* Card 80 | --------------------------*/ 81 | /* Slider 82 | --------------------------*/ 83 | /* Steps 84 | --------------------------*/ 85 | /* Menu 86 | --------------------------*/ 87 | /* Rate 88 | --------------------------*/ 89 | /* DatePicker 90 | --------------------------*/ 91 | /* Loading 92 | --------------------------*/ 93 | /* Scrollbar 94 | --------------------------*/ 95 | /* Carousel 96 | --------------------------*/ 97 | /* Collapse 98 | --------------------------*/ 99 | /* Transfer 100 | --------------------------*/ 101 | /* Header 102 | --------------------------*/ 103 | /* Footer 104 | --------------------------*/ 105 | /* Main 106 | --------------------------*/ 107 | /* Timeline 108 | --------------------------*/ 109 | /* Break-point 110 | --------------------------*/ 111 | /* Break-points 112 | -------------------------- */ 113 | /* Scrollbar 114 | -------------------------- */ 115 | /* Placeholder 116 | -------------------------- */ 117 | /* BEM 118 | -------------------------- */ 119 | /* Element Chalk Variables */ 120 | /* Transition 121 | -------------------------- */ 122 | /* Color 123 | -------------------------- */ 124 | /* 53a8ff */ 125 | /* 66b1ff */ 126 | /* 79bbff */ 127 | /* 8cc5ff */ 128 | /* a0cfff */ 129 | /* b3d8ff */ 130 | /* c6e2ff */ 131 | /* d9ecff */ 132 | /* ecf5ff */ 133 | /* Link 134 | -------------------------- */ 135 | /* Border 136 | -------------------------- */ 137 | /* Fill 138 | -------------------------- */ 139 | /* Typography 140 | -------------------------- */ 141 | /* Size 142 | -------------------------- */ 143 | /* z-index 144 | -------------------------- */ 145 | /* Disable base 146 | -------------------------- */ 147 | /* Icon 148 | -------------------------- */ 149 | /* Checkbox 150 | -------------------------- */ 151 | /* Radio 152 | -------------------------- */ 153 | /* Select 154 | -------------------------- */ 155 | /* Alert 156 | -------------------------- */ 157 | /* Message Box 158 | -------------------------- */ 159 | /* Message 160 | -------------------------- */ 161 | /* Notification 162 | -------------------------- */ 163 | /* Input 164 | -------------------------- */ 165 | /* Cascader 166 | -------------------------- */ 167 | /* Group 168 | -------------------------- */ 169 | /* Tab 170 | -------------------------- */ 171 | /* Button 172 | -------------------------- */ 173 | /* cascader 174 | -------------------------- */ 175 | /* Switch 176 | -------------------------- */ 177 | /* Dialog 178 | -------------------------- */ 179 | /* Table 180 | -------------------------- */ 181 | /* Pagination 182 | -------------------------- */ 183 | /* Popover 184 | -------------------------- */ 185 | /* Tooltip 186 | -------------------------- */ 187 | /* Tag 188 | -------------------------- */ 189 | /* Tree 190 | -------------------------- */ 191 | /* Dropdown 192 | -------------------------- */ 193 | /* Badge 194 | -------------------------- */ 195 | /* Card 196 | --------------------------*/ 197 | /* Slider 198 | --------------------------*/ 199 | /* Steps 200 | --------------------------*/ 201 | /* Menu 202 | --------------------------*/ 203 | /* Rate 204 | --------------------------*/ 205 | /* DatePicker 206 | --------------------------*/ 207 | /* Loading 208 | --------------------------*/ 209 | /* Scrollbar 210 | --------------------------*/ 211 | /* Carousel 212 | --------------------------*/ 213 | /* Collapse 214 | --------------------------*/ 215 | /* Transfer 216 | --------------------------*/ 217 | /* Header 218 | --------------------------*/ 219 | /* Footer 220 | --------------------------*/ 221 | /* Main 222 | --------------------------*/ 223 | /* Timeline 224 | --------------------------*/ 225 | /* Break-point 226 | --------------------------*/ 227 | .el-breadcrumb { 228 | font-size: 14px; 229 | line-height: 1; } 230 | .el-breadcrumb::before, 231 | .el-breadcrumb::after { 232 | display: table; 233 | content: ""; } 234 | .el-breadcrumb::after { 235 | clear: both; } 236 | .el-breadcrumb__separator { 237 | margin: 0 9px; 238 | font-weight: bold; 239 | color: #C0C4CC; } 240 | .el-breadcrumb__separator[class*=icon] { 241 | margin: 0 6px; 242 | font-weight: normal; } 243 | .el-breadcrumb__item { 244 | float: left; } 245 | .el-breadcrumb__inner { 246 | color: #606266; } 247 | .el-breadcrumb__inner.is-link, .el-breadcrumb__inner a { 248 | font-weight: bold; 249 | text-decoration: none; 250 | -webkit-transition: color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); 251 | transition: color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); 252 | color: #303133; } 253 | .el-breadcrumb__inner.is-link:hover, .el-breadcrumb__inner a:hover { 254 | color: #78A7ED; 255 | cursor: pointer; } 256 | .el-breadcrumb__item:last-child .el-breadcrumb__inner, .el-breadcrumb__item:last-child .el-breadcrumb__inner:hover, 257 | .el-breadcrumb__item:last-child .el-breadcrumb__inner a, 258 | .el-breadcrumb__item:last-child .el-breadcrumb__inner a:hover { 259 | font-weight: normal; 260 | color: #606266; 261 | cursor: text; } 262 | .el-breadcrumb__item:last-child .el-breadcrumb__separator { 263 | display: none; } 264 | -------------------------------------------------------------------------------- /theme/button-group.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ou-jin/vue-element-template/97d4b39b50e84e5b5e069a50c0ad19172027430e/theme/button-group.css -------------------------------------------------------------------------------- /theme/card.css: -------------------------------------------------------------------------------- 1 | /* BEM support Func 2 | -------------------------- */ 3 | /* Element Chalk Variables */ 4 | /* Transition 5 | -------------------------- */ 6 | /* Color 7 | -------------------------- */ 8 | /* 53a8ff */ 9 | /* 66b1ff */ 10 | /* 79bbff */ 11 | /* 8cc5ff */ 12 | /* a0cfff */ 13 | /* b3d8ff */ 14 | /* c6e2ff */ 15 | /* d9ecff */ 16 | /* ecf5ff */ 17 | /* Link 18 | -------------------------- */ 19 | /* Border 20 | -------------------------- */ 21 | /* Fill 22 | -------------------------- */ 23 | /* Typography 24 | -------------------------- */ 25 | /* Size 26 | -------------------------- */ 27 | /* z-index 28 | -------------------------- */ 29 | /* Disable base 30 | -------------------------- */ 31 | /* Icon 32 | -------------------------- */ 33 | /* Checkbox 34 | -------------------------- */ 35 | /* Radio 36 | -------------------------- */ 37 | /* Select 38 | -------------------------- */ 39 | /* Alert 40 | -------------------------- */ 41 | /* Message Box 42 | -------------------------- */ 43 | /* Message 44 | -------------------------- */ 45 | /* Notification 46 | -------------------------- */ 47 | /* Input 48 | -------------------------- */ 49 | /* Cascader 50 | -------------------------- */ 51 | /* Group 52 | -------------------------- */ 53 | /* Tab 54 | -------------------------- */ 55 | /* Button 56 | -------------------------- */ 57 | /* cascader 58 | -------------------------- */ 59 | /* Switch 60 | -------------------------- */ 61 | /* Dialog 62 | -------------------------- */ 63 | /* Table 64 | -------------------------- */ 65 | /* Pagination 66 | -------------------------- */ 67 | /* Popover 68 | -------------------------- */ 69 | /* Tooltip 70 | -------------------------- */ 71 | /* Tag 72 | -------------------------- */ 73 | /* Tree 74 | -------------------------- */ 75 | /* Dropdown 76 | -------------------------- */ 77 | /* Badge 78 | -------------------------- */ 79 | /* Card 80 | --------------------------*/ 81 | /* Slider 82 | --------------------------*/ 83 | /* Steps 84 | --------------------------*/ 85 | /* Menu 86 | --------------------------*/ 87 | /* Rate 88 | --------------------------*/ 89 | /* DatePicker 90 | --------------------------*/ 91 | /* Loading 92 | --------------------------*/ 93 | /* Scrollbar 94 | --------------------------*/ 95 | /* Carousel 96 | --------------------------*/ 97 | /* Collapse 98 | --------------------------*/ 99 | /* Transfer 100 | --------------------------*/ 101 | /* Header 102 | --------------------------*/ 103 | /* Footer 104 | --------------------------*/ 105 | /* Main 106 | --------------------------*/ 107 | /* Timeline 108 | --------------------------*/ 109 | /* Break-point 110 | --------------------------*/ 111 | /* Break-points 112 | -------------------------- */ 113 | /* Scrollbar 114 | -------------------------- */ 115 | /* Placeholder 116 | -------------------------- */ 117 | /* BEM 118 | -------------------------- */ 119 | /* Element Chalk Variables */ 120 | /* Transition 121 | -------------------------- */ 122 | /* Color 123 | -------------------------- */ 124 | /* 53a8ff */ 125 | /* 66b1ff */ 126 | /* 79bbff */ 127 | /* 8cc5ff */ 128 | /* a0cfff */ 129 | /* b3d8ff */ 130 | /* c6e2ff */ 131 | /* d9ecff */ 132 | /* ecf5ff */ 133 | /* Link 134 | -------------------------- */ 135 | /* Border 136 | -------------------------- */ 137 | /* Fill 138 | -------------------------- */ 139 | /* Typography 140 | -------------------------- */ 141 | /* Size 142 | -------------------------- */ 143 | /* z-index 144 | -------------------------- */ 145 | /* Disable base 146 | -------------------------- */ 147 | /* Icon 148 | -------------------------- */ 149 | /* Checkbox 150 | -------------------------- */ 151 | /* Radio 152 | -------------------------- */ 153 | /* Select 154 | -------------------------- */ 155 | /* Alert 156 | -------------------------- */ 157 | /* Message Box 158 | -------------------------- */ 159 | /* Message 160 | -------------------------- */ 161 | /* Notification 162 | -------------------------- */ 163 | /* Input 164 | -------------------------- */ 165 | /* Cascader 166 | -------------------------- */ 167 | /* Group 168 | -------------------------- */ 169 | /* Tab 170 | -------------------------- */ 171 | /* Button 172 | -------------------------- */ 173 | /* cascader 174 | -------------------------- */ 175 | /* Switch 176 | -------------------------- */ 177 | /* Dialog 178 | -------------------------- */ 179 | /* Table 180 | -------------------------- */ 181 | /* Pagination 182 | -------------------------- */ 183 | /* Popover 184 | -------------------------- */ 185 | /* Tooltip 186 | -------------------------- */ 187 | /* Tag 188 | -------------------------- */ 189 | /* Tree 190 | -------------------------- */ 191 | /* Dropdown 192 | -------------------------- */ 193 | /* Badge 194 | -------------------------- */ 195 | /* Card 196 | --------------------------*/ 197 | /* Slider 198 | --------------------------*/ 199 | /* Steps 200 | --------------------------*/ 201 | /* Menu 202 | --------------------------*/ 203 | /* Rate 204 | --------------------------*/ 205 | /* DatePicker 206 | --------------------------*/ 207 | /* Loading 208 | --------------------------*/ 209 | /* Scrollbar 210 | --------------------------*/ 211 | /* Carousel 212 | --------------------------*/ 213 | /* Collapse 214 | --------------------------*/ 215 | /* Transfer 216 | --------------------------*/ 217 | /* Header 218 | --------------------------*/ 219 | /* Footer 220 | --------------------------*/ 221 | /* Main 222 | --------------------------*/ 223 | /* Timeline 224 | --------------------------*/ 225 | /* Break-point 226 | --------------------------*/ 227 | .el-card { 228 | border-radius: 4px; 229 | border: 1px solid #EBEEF5; 230 | background-color: #FFFFFF; 231 | overflow: hidden; 232 | color: #303133; 233 | -webkit-transition: 0.3s; 234 | transition: 0.3s; } 235 | .el-card.is-always-shadow { 236 | -webkit-box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1); 237 | box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1); } 238 | .el-card.is-hover-shadow:hover, .el-card.is-hover-shadow:focus { 239 | -webkit-box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1); 240 | box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1); } 241 | .el-card__header { 242 | padding: 18px 20px; 243 | border-bottom: 1px solid #EBEEF5; 244 | -webkit-box-sizing: border-box; 245 | box-sizing: border-box; } 246 | .el-card__body { 247 | padding: 20px; } 248 | -------------------------------------------------------------------------------- /theme/carousel-item.css: -------------------------------------------------------------------------------- 1 | /* BEM support Func 2 | -------------------------- */ 3 | /* Element Chalk Variables */ 4 | /* Transition 5 | -------------------------- */ 6 | /* Color 7 | -------------------------- */ 8 | /* 53a8ff */ 9 | /* 66b1ff */ 10 | /* 79bbff */ 11 | /* 8cc5ff */ 12 | /* a0cfff */ 13 | /* b3d8ff */ 14 | /* c6e2ff */ 15 | /* d9ecff */ 16 | /* ecf5ff */ 17 | /* Link 18 | -------------------------- */ 19 | /* Border 20 | -------------------------- */ 21 | /* Fill 22 | -------------------------- */ 23 | /* Typography 24 | -------------------------- */ 25 | /* Size 26 | -------------------------- */ 27 | /* z-index 28 | -------------------------- */ 29 | /* Disable base 30 | -------------------------- */ 31 | /* Icon 32 | -------------------------- */ 33 | /* Checkbox 34 | -------------------------- */ 35 | /* Radio 36 | -------------------------- */ 37 | /* Select 38 | -------------------------- */ 39 | /* Alert 40 | -------------------------- */ 41 | /* Message Box 42 | -------------------------- */ 43 | /* Message 44 | -------------------------- */ 45 | /* Notification 46 | -------------------------- */ 47 | /* Input 48 | -------------------------- */ 49 | /* Cascader 50 | -------------------------- */ 51 | /* Group 52 | -------------------------- */ 53 | /* Tab 54 | -------------------------- */ 55 | /* Button 56 | -------------------------- */ 57 | /* cascader 58 | -------------------------- */ 59 | /* Switch 60 | -------------------------- */ 61 | /* Dialog 62 | -------------------------- */ 63 | /* Table 64 | -------------------------- */ 65 | /* Pagination 66 | -------------------------- */ 67 | /* Popover 68 | -------------------------- */ 69 | /* Tooltip 70 | -------------------------- */ 71 | /* Tag 72 | -------------------------- */ 73 | /* Tree 74 | -------------------------- */ 75 | /* Dropdown 76 | -------------------------- */ 77 | /* Badge 78 | -------------------------- */ 79 | /* Card 80 | --------------------------*/ 81 | /* Slider 82 | --------------------------*/ 83 | /* Steps 84 | --------------------------*/ 85 | /* Menu 86 | --------------------------*/ 87 | /* Rate 88 | --------------------------*/ 89 | /* DatePicker 90 | --------------------------*/ 91 | /* Loading 92 | --------------------------*/ 93 | /* Scrollbar 94 | --------------------------*/ 95 | /* Carousel 96 | --------------------------*/ 97 | /* Collapse 98 | --------------------------*/ 99 | /* Transfer 100 | --------------------------*/ 101 | /* Header 102 | --------------------------*/ 103 | /* Footer 104 | --------------------------*/ 105 | /* Main 106 | --------------------------*/ 107 | /* Timeline 108 | --------------------------*/ 109 | /* Break-point 110 | --------------------------*/ 111 | /* Break-points 112 | -------------------------- */ 113 | /* Scrollbar 114 | -------------------------- */ 115 | /* Placeholder 116 | -------------------------- */ 117 | /* BEM 118 | -------------------------- */ 119 | /* Element Chalk Variables */ 120 | /* Transition 121 | -------------------------- */ 122 | /* Color 123 | -------------------------- */ 124 | /* 53a8ff */ 125 | /* 66b1ff */ 126 | /* 79bbff */ 127 | /* 8cc5ff */ 128 | /* a0cfff */ 129 | /* b3d8ff */ 130 | /* c6e2ff */ 131 | /* d9ecff */ 132 | /* ecf5ff */ 133 | /* Link 134 | -------------------------- */ 135 | /* Border 136 | -------------------------- */ 137 | /* Fill 138 | -------------------------- */ 139 | /* Typography 140 | -------------------------- */ 141 | /* Size 142 | -------------------------- */ 143 | /* z-index 144 | -------------------------- */ 145 | /* Disable base 146 | -------------------------- */ 147 | /* Icon 148 | -------------------------- */ 149 | /* Checkbox 150 | -------------------------- */ 151 | /* Radio 152 | -------------------------- */ 153 | /* Select 154 | -------------------------- */ 155 | /* Alert 156 | -------------------------- */ 157 | /* Message Box 158 | -------------------------- */ 159 | /* Message 160 | -------------------------- */ 161 | /* Notification 162 | -------------------------- */ 163 | /* Input 164 | -------------------------- */ 165 | /* Cascader 166 | -------------------------- */ 167 | /* Group 168 | -------------------------- */ 169 | /* Tab 170 | -------------------------- */ 171 | /* Button 172 | -------------------------- */ 173 | /* cascader 174 | -------------------------- */ 175 | /* Switch 176 | -------------------------- */ 177 | /* Dialog 178 | -------------------------- */ 179 | /* Table 180 | -------------------------- */ 181 | /* Pagination 182 | -------------------------- */ 183 | /* Popover 184 | -------------------------- */ 185 | /* Tooltip 186 | -------------------------- */ 187 | /* Tag 188 | -------------------------- */ 189 | /* Tree 190 | -------------------------- */ 191 | /* Dropdown 192 | -------------------------- */ 193 | /* Badge 194 | -------------------------- */ 195 | /* Card 196 | --------------------------*/ 197 | /* Slider 198 | --------------------------*/ 199 | /* Steps 200 | --------------------------*/ 201 | /* Menu 202 | --------------------------*/ 203 | /* Rate 204 | --------------------------*/ 205 | /* DatePicker 206 | --------------------------*/ 207 | /* Loading 208 | --------------------------*/ 209 | /* Scrollbar 210 | --------------------------*/ 211 | /* Carousel 212 | --------------------------*/ 213 | /* Collapse 214 | --------------------------*/ 215 | /* Transfer 216 | --------------------------*/ 217 | /* Header 218 | --------------------------*/ 219 | /* Footer 220 | --------------------------*/ 221 | /* Main 222 | --------------------------*/ 223 | /* Timeline 224 | --------------------------*/ 225 | /* Break-point 226 | --------------------------*/ 227 | .el-carousel__item { 228 | position: absolute; 229 | top: 0; 230 | left: 0; 231 | width: 100%; 232 | height: 100%; 233 | display: inline-block; 234 | overflow: hidden; 235 | z-index: 0; } 236 | .el-carousel__item.is-active { 237 | z-index: 2; } 238 | .el-carousel__item.is-animating { 239 | -webkit-transition: -webkit-transform .4s ease-in-out; 240 | transition: -webkit-transform .4s ease-in-out; 241 | transition: transform .4s ease-in-out; 242 | transition: transform .4s ease-in-out, -webkit-transform .4s ease-in-out; } 243 | .el-carousel__item--card { 244 | width: 50%; 245 | -webkit-transition: -webkit-transform .4s ease-in-out; 246 | transition: -webkit-transform .4s ease-in-out; 247 | transition: transform .4s ease-in-out; 248 | transition: transform .4s ease-in-out, -webkit-transform .4s ease-in-out; } 249 | .el-carousel__item--card.is-in-stage { 250 | cursor: pointer; 251 | z-index: 1; } 252 | .el-carousel__item--card.is-in-stage:hover .el-carousel__mask, 253 | .el-carousel__item--card.is-in-stage.is-hover .el-carousel__mask { 254 | opacity: 0.12; } 255 | .el-carousel__item--card.is-active { 256 | z-index: 2; } 257 | 258 | .el-carousel__mask { 259 | position: absolute; 260 | width: 100%; 261 | height: 100%; 262 | top: 0; 263 | left: 0; 264 | background-color: #FFFFFF; 265 | opacity: 0.24; 266 | -webkit-transition: .2s; 267 | transition: .2s; } 268 | -------------------------------------------------------------------------------- /theme/checkbox-button.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ou-jin/vue-element-template/97d4b39b50e84e5b5e069a50c0ad19172027430e/theme/checkbox-button.css -------------------------------------------------------------------------------- /theme/checkbox-group.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ou-jin/vue-element-template/97d4b39b50e84e5b5e069a50c0ad19172027430e/theme/checkbox-group.css -------------------------------------------------------------------------------- /theme/collapse-item.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ou-jin/vue-element-template/97d4b39b50e84e5b5e069a50c0ad19172027430e/theme/collapse-item.css -------------------------------------------------------------------------------- /theme/container.css: -------------------------------------------------------------------------------- 1 | /* BEM support Func 2 | -------------------------- */ 3 | /* Element Chalk Variables */ 4 | /* Transition 5 | -------------------------- */ 6 | /* Color 7 | -------------------------- */ 8 | /* 53a8ff */ 9 | /* 66b1ff */ 10 | /* 79bbff */ 11 | /* 8cc5ff */ 12 | /* a0cfff */ 13 | /* b3d8ff */ 14 | /* c6e2ff */ 15 | /* d9ecff */ 16 | /* ecf5ff */ 17 | /* Link 18 | -------------------------- */ 19 | /* Border 20 | -------------------------- */ 21 | /* Fill 22 | -------------------------- */ 23 | /* Typography 24 | -------------------------- */ 25 | /* Size 26 | -------------------------- */ 27 | /* z-index 28 | -------------------------- */ 29 | /* Disable base 30 | -------------------------- */ 31 | /* Icon 32 | -------------------------- */ 33 | /* Checkbox 34 | -------------------------- */ 35 | /* Radio 36 | -------------------------- */ 37 | /* Select 38 | -------------------------- */ 39 | /* Alert 40 | -------------------------- */ 41 | /* Message Box 42 | -------------------------- */ 43 | /* Message 44 | -------------------------- */ 45 | /* Notification 46 | -------------------------- */ 47 | /* Input 48 | -------------------------- */ 49 | /* Cascader 50 | -------------------------- */ 51 | /* Group 52 | -------------------------- */ 53 | /* Tab 54 | -------------------------- */ 55 | /* Button 56 | -------------------------- */ 57 | /* cascader 58 | -------------------------- */ 59 | /* Switch 60 | -------------------------- */ 61 | /* Dialog 62 | -------------------------- */ 63 | /* Table 64 | -------------------------- */ 65 | /* Pagination 66 | -------------------------- */ 67 | /* Popover 68 | -------------------------- */ 69 | /* Tooltip 70 | -------------------------- */ 71 | /* Tag 72 | -------------------------- */ 73 | /* Tree 74 | -------------------------- */ 75 | /* Dropdown 76 | -------------------------- */ 77 | /* Badge 78 | -------------------------- */ 79 | /* Card 80 | --------------------------*/ 81 | /* Slider 82 | --------------------------*/ 83 | /* Steps 84 | --------------------------*/ 85 | /* Menu 86 | --------------------------*/ 87 | /* Rate 88 | --------------------------*/ 89 | /* DatePicker 90 | --------------------------*/ 91 | /* Loading 92 | --------------------------*/ 93 | /* Scrollbar 94 | --------------------------*/ 95 | /* Carousel 96 | --------------------------*/ 97 | /* Collapse 98 | --------------------------*/ 99 | /* Transfer 100 | --------------------------*/ 101 | /* Header 102 | --------------------------*/ 103 | /* Footer 104 | --------------------------*/ 105 | /* Main 106 | --------------------------*/ 107 | /* Timeline 108 | --------------------------*/ 109 | /* Break-point 110 | --------------------------*/ 111 | /* Break-points 112 | -------------------------- */ 113 | /* Scrollbar 114 | -------------------------- */ 115 | /* Placeholder 116 | -------------------------- */ 117 | /* BEM 118 | -------------------------- */ 119 | .el-container { 120 | display: -webkit-box; 121 | display: -ms-flexbox; 122 | display: flex; 123 | -webkit-box-orient: horizontal; 124 | -webkit-box-direction: normal; 125 | -ms-flex-direction: row; 126 | flex-direction: row; 127 | -webkit-box-flex: 1; 128 | -ms-flex: 1; 129 | flex: 1; 130 | -ms-flex-preferred-size: auto; 131 | flex-basis: auto; 132 | -webkit-box-sizing: border-box; 133 | box-sizing: border-box; 134 | min-width: 0; } 135 | .el-container.is-vertical { 136 | -webkit-box-orient: vertical; 137 | -webkit-box-direction: normal; 138 | -ms-flex-direction: column; 139 | flex-direction: column; } 140 | -------------------------------------------------------------------------------- /theme/display.css: -------------------------------------------------------------------------------- 1 | /* Element Chalk Variables */ 2 | /* Transition 3 | -------------------------- */ 4 | /* Color 5 | -------------------------- */ 6 | /* 53a8ff */ 7 | /* 66b1ff */ 8 | /* 79bbff */ 9 | /* 8cc5ff */ 10 | /* a0cfff */ 11 | /* b3d8ff */ 12 | /* c6e2ff */ 13 | /* d9ecff */ 14 | /* ecf5ff */ 15 | /* Link 16 | -------------------------- */ 17 | /* Border 18 | -------------------------- */ 19 | /* Fill 20 | -------------------------- */ 21 | /* Typography 22 | -------------------------- */ 23 | /* Size 24 | -------------------------- */ 25 | /* z-index 26 | -------------------------- */ 27 | /* Disable base 28 | -------------------------- */ 29 | /* Icon 30 | -------------------------- */ 31 | /* Checkbox 32 | -------------------------- */ 33 | /* Radio 34 | -------------------------- */ 35 | /* Select 36 | -------------------------- */ 37 | /* Alert 38 | -------------------------- */ 39 | /* Message Box 40 | -------------------------- */ 41 | /* Message 42 | -------------------------- */ 43 | /* Notification 44 | -------------------------- */ 45 | /* Input 46 | -------------------------- */ 47 | /* Cascader 48 | -------------------------- */ 49 | /* Group 50 | -------------------------- */ 51 | /* Tab 52 | -------------------------- */ 53 | /* Button 54 | -------------------------- */ 55 | /* cascader 56 | -------------------------- */ 57 | /* Switch 58 | -------------------------- */ 59 | /* Dialog 60 | -------------------------- */ 61 | /* Table 62 | -------------------------- */ 63 | /* Pagination 64 | -------------------------- */ 65 | /* Popover 66 | -------------------------- */ 67 | /* Tooltip 68 | -------------------------- */ 69 | /* Tag 70 | -------------------------- */ 71 | /* Tree 72 | -------------------------- */ 73 | /* Dropdown 74 | -------------------------- */ 75 | /* Badge 76 | -------------------------- */ 77 | /* Card 78 | --------------------------*/ 79 | /* Slider 80 | --------------------------*/ 81 | /* Steps 82 | --------------------------*/ 83 | /* Menu 84 | --------------------------*/ 85 | /* Rate 86 | --------------------------*/ 87 | /* DatePicker 88 | --------------------------*/ 89 | /* Loading 90 | --------------------------*/ 91 | /* Scrollbar 92 | --------------------------*/ 93 | /* Carousel 94 | --------------------------*/ 95 | /* Collapse 96 | --------------------------*/ 97 | /* Transfer 98 | --------------------------*/ 99 | /* Header 100 | --------------------------*/ 101 | /* Footer 102 | --------------------------*/ 103 | /* Main 104 | --------------------------*/ 105 | /* Timeline 106 | --------------------------*/ 107 | /* Break-point 108 | --------------------------*/ 109 | /* BEM support Func 110 | -------------------------- */ 111 | /* Element Chalk Variables */ 112 | /* Transition 113 | -------------------------- */ 114 | /* Color 115 | -------------------------- */ 116 | /* 53a8ff */ 117 | /* 66b1ff */ 118 | /* 79bbff */ 119 | /* 8cc5ff */ 120 | /* a0cfff */ 121 | /* b3d8ff */ 122 | /* c6e2ff */ 123 | /* d9ecff */ 124 | /* ecf5ff */ 125 | /* Link 126 | -------------------------- */ 127 | /* Border 128 | -------------------------- */ 129 | /* Fill 130 | -------------------------- */ 131 | /* Typography 132 | -------------------------- */ 133 | /* Size 134 | -------------------------- */ 135 | /* z-index 136 | -------------------------- */ 137 | /* Disable base 138 | -------------------------- */ 139 | /* Icon 140 | -------------------------- */ 141 | /* Checkbox 142 | -------------------------- */ 143 | /* Radio 144 | -------------------------- */ 145 | /* Select 146 | -------------------------- */ 147 | /* Alert 148 | -------------------------- */ 149 | /* Message Box 150 | -------------------------- */ 151 | /* Message 152 | -------------------------- */ 153 | /* Notification 154 | -------------------------- */ 155 | /* Input 156 | -------------------------- */ 157 | /* Cascader 158 | -------------------------- */ 159 | /* Group 160 | -------------------------- */ 161 | /* Tab 162 | -------------------------- */ 163 | /* Button 164 | -------------------------- */ 165 | /* cascader 166 | -------------------------- */ 167 | /* Switch 168 | -------------------------- */ 169 | /* Dialog 170 | -------------------------- */ 171 | /* Table 172 | -------------------------- */ 173 | /* Pagination 174 | -------------------------- */ 175 | /* Popover 176 | -------------------------- */ 177 | /* Tooltip 178 | -------------------------- */ 179 | /* Tag 180 | -------------------------- */ 181 | /* Tree 182 | -------------------------- */ 183 | /* Dropdown 184 | -------------------------- */ 185 | /* Badge 186 | -------------------------- */ 187 | /* Card 188 | --------------------------*/ 189 | /* Slider 190 | --------------------------*/ 191 | /* Steps 192 | --------------------------*/ 193 | /* Menu 194 | --------------------------*/ 195 | /* Rate 196 | --------------------------*/ 197 | /* DatePicker 198 | --------------------------*/ 199 | /* Loading 200 | --------------------------*/ 201 | /* Scrollbar 202 | --------------------------*/ 203 | /* Carousel 204 | --------------------------*/ 205 | /* Collapse 206 | --------------------------*/ 207 | /* Transfer 208 | --------------------------*/ 209 | /* Header 210 | --------------------------*/ 211 | /* Footer 212 | --------------------------*/ 213 | /* Main 214 | --------------------------*/ 215 | /* Timeline 216 | --------------------------*/ 217 | /* Break-point 218 | --------------------------*/ 219 | /* Break-points 220 | -------------------------- */ 221 | /* Scrollbar 222 | -------------------------- */ 223 | /* Placeholder 224 | -------------------------- */ 225 | /* BEM 226 | -------------------------- */ 227 | @media only screen and (max-width: 767px) { 228 | .hidden-xs-only { 229 | display: none !important; } } 230 | 231 | @media only screen and (min-width: 768px) { 232 | .hidden-sm-and-up { 233 | display: none !important; } } 234 | 235 | @media only screen and (min-width: 768px) and (max-width: 991px) { 236 | .hidden-sm-only { 237 | display: none !important; } } 238 | 239 | @media only screen and (max-width: 991px) { 240 | .hidden-sm-and-down { 241 | display: none !important; } } 242 | 243 | @media only screen and (min-width: 992px) { 244 | .hidden-md-and-up { 245 | display: none !important; } } 246 | 247 | @media only screen and (min-width: 992px) and (max-width: 1199px) { 248 | .hidden-md-only { 249 | display: none !important; } } 250 | 251 | @media only screen and (max-width: 1199px) { 252 | .hidden-md-and-down { 253 | display: none !important; } } 254 | 255 | @media only screen and (min-width: 1200px) { 256 | .hidden-lg-and-up { 257 | display: none !important; } } 258 | 259 | @media only screen and (min-width: 1200px) and (max-width: 1919px) { 260 | .hidden-lg-only { 261 | display: none !important; } } 262 | 263 | @media only screen and (max-width: 1919px) { 264 | .hidden-lg-and-down { 265 | display: none !important; } } 266 | 267 | @media only screen and (min-width: 1920px) { 268 | .hidden-xl-only { 269 | display: none !important; } } 270 | -------------------------------------------------------------------------------- /theme/dropdown-item.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ou-jin/vue-element-template/97d4b39b50e84e5b5e069a50c0ad19172027430e/theme/dropdown-item.css -------------------------------------------------------------------------------- /theme/dropdown-menu.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ou-jin/vue-element-template/97d4b39b50e84e5b5e069a50c0ad19172027430e/theme/dropdown-menu.css -------------------------------------------------------------------------------- /theme/element-variables.css: -------------------------------------------------------------------------------- 1 | /* Element Chalk Variables */ 2 | /* Transition 3 | -------------------------- */ 4 | /* Color 5 | -------------------------- */ 6 | /* 53a8ff */ 7 | /* 66b1ff */ 8 | /* 79bbff */ 9 | /* 8cc5ff */ 10 | /* a0cfff */ 11 | /* b3d8ff */ 12 | /* c6e2ff */ 13 | /* d9ecff */ 14 | /* ecf5ff */ 15 | /* Link 16 | -------------------------- */ 17 | /* Border 18 | -------------------------- */ 19 | /* Fill 20 | -------------------------- */ 21 | /* Typography 22 | -------------------------- */ 23 | /* Size 24 | -------------------------- */ 25 | /* z-index 26 | -------------------------- */ 27 | /* Disable base 28 | -------------------------- */ 29 | /* Icon 30 | -------------------------- */ 31 | /* Checkbox 32 | -------------------------- */ 33 | /* Radio 34 | -------------------------- */ 35 | /* Select 36 | -------------------------- */ 37 | /* Alert 38 | -------------------------- */ 39 | /* Message Box 40 | -------------------------- */ 41 | /* Message 42 | -------------------------- */ 43 | /* Notification 44 | -------------------------- */ 45 | /* Input 46 | -------------------------- */ 47 | /* Cascader 48 | -------------------------- */ 49 | /* Group 50 | -------------------------- */ 51 | /* Tab 52 | -------------------------- */ 53 | /* Button 54 | -------------------------- */ 55 | /* cascader 56 | -------------------------- */ 57 | /* Switch 58 | -------------------------- */ 59 | /* Dialog 60 | -------------------------- */ 61 | /* Table 62 | -------------------------- */ 63 | /* Pagination 64 | -------------------------- */ 65 | /* Popover 66 | -------------------------- */ 67 | /* Tooltip 68 | -------------------------- */ 69 | /* Tag 70 | -------------------------- */ 71 | /* Tree 72 | -------------------------- */ 73 | /* Dropdown 74 | -------------------------- */ 75 | /* Badge 76 | -------------------------- */ 77 | /* Card 78 | --------------------------*/ 79 | /* Slider 80 | --------------------------*/ 81 | /* Steps 82 | --------------------------*/ 83 | /* Menu 84 | --------------------------*/ 85 | /* Rate 86 | --------------------------*/ 87 | /* DatePicker 88 | --------------------------*/ 89 | /* Loading 90 | --------------------------*/ 91 | /* Scrollbar 92 | --------------------------*/ 93 | /* Carousel 94 | --------------------------*/ 95 | /* Collapse 96 | --------------------------*/ 97 | /* Transfer 98 | --------------------------*/ 99 | /* Header 100 | --------------------------*/ 101 | /* Footer 102 | --------------------------*/ 103 | /* Main 104 | --------------------------*/ 105 | /* Timeline 106 | --------------------------*/ 107 | /* Break-point 108 | --------------------------*/ 109 | -------------------------------------------------------------------------------- /theme/fonts/element-icons.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ou-jin/vue-element-template/97d4b39b50e84e5b5e069a50c0ad19172027430e/theme/fonts/element-icons.ttf -------------------------------------------------------------------------------- /theme/fonts/element-icons.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ou-jin/vue-element-template/97d4b39b50e84e5b5e069a50c0ad19172027430e/theme/fonts/element-icons.woff -------------------------------------------------------------------------------- /theme/footer.css: -------------------------------------------------------------------------------- 1 | /* BEM support Func 2 | -------------------------- */ 3 | /* Element Chalk Variables */ 4 | /* Transition 5 | -------------------------- */ 6 | /* Color 7 | -------------------------- */ 8 | /* 53a8ff */ 9 | /* 66b1ff */ 10 | /* 79bbff */ 11 | /* 8cc5ff */ 12 | /* a0cfff */ 13 | /* b3d8ff */ 14 | /* c6e2ff */ 15 | /* d9ecff */ 16 | /* ecf5ff */ 17 | /* Link 18 | -------------------------- */ 19 | /* Border 20 | -------------------------- */ 21 | /* Fill 22 | -------------------------- */ 23 | /* Typography 24 | -------------------------- */ 25 | /* Size 26 | -------------------------- */ 27 | /* z-index 28 | -------------------------- */ 29 | /* Disable base 30 | -------------------------- */ 31 | /* Icon 32 | -------------------------- */ 33 | /* Checkbox 34 | -------------------------- */ 35 | /* Radio 36 | -------------------------- */ 37 | /* Select 38 | -------------------------- */ 39 | /* Alert 40 | -------------------------- */ 41 | /* Message Box 42 | -------------------------- */ 43 | /* Message 44 | -------------------------- */ 45 | /* Notification 46 | -------------------------- */ 47 | /* Input 48 | -------------------------- */ 49 | /* Cascader 50 | -------------------------- */ 51 | /* Group 52 | -------------------------- */ 53 | /* Tab 54 | -------------------------- */ 55 | /* Button 56 | -------------------------- */ 57 | /* cascader 58 | -------------------------- */ 59 | /* Switch 60 | -------------------------- */ 61 | /* Dialog 62 | -------------------------- */ 63 | /* Table 64 | -------------------------- */ 65 | /* Pagination 66 | -------------------------- */ 67 | /* Popover 68 | -------------------------- */ 69 | /* Tooltip 70 | -------------------------- */ 71 | /* Tag 72 | -------------------------- */ 73 | /* Tree 74 | -------------------------- */ 75 | /* Dropdown 76 | -------------------------- */ 77 | /* Badge 78 | -------------------------- */ 79 | /* Card 80 | --------------------------*/ 81 | /* Slider 82 | --------------------------*/ 83 | /* Steps 84 | --------------------------*/ 85 | /* Menu 86 | --------------------------*/ 87 | /* Rate 88 | --------------------------*/ 89 | /* DatePicker 90 | --------------------------*/ 91 | /* Loading 92 | --------------------------*/ 93 | /* Scrollbar 94 | --------------------------*/ 95 | /* Carousel 96 | --------------------------*/ 97 | /* Collapse 98 | --------------------------*/ 99 | /* Transfer 100 | --------------------------*/ 101 | /* Header 102 | --------------------------*/ 103 | /* Footer 104 | --------------------------*/ 105 | /* Main 106 | --------------------------*/ 107 | /* Timeline 108 | --------------------------*/ 109 | /* Break-point 110 | --------------------------*/ 111 | /* Break-points 112 | -------------------------- */ 113 | /* Scrollbar 114 | -------------------------- */ 115 | /* Placeholder 116 | -------------------------- */ 117 | /* BEM 118 | -------------------------- */ 119 | /* Element Chalk Variables */ 120 | /* Transition 121 | -------------------------- */ 122 | /* Color 123 | -------------------------- */ 124 | /* 53a8ff */ 125 | /* 66b1ff */ 126 | /* 79bbff */ 127 | /* 8cc5ff */ 128 | /* a0cfff */ 129 | /* b3d8ff */ 130 | /* c6e2ff */ 131 | /* d9ecff */ 132 | /* ecf5ff */ 133 | /* Link 134 | -------------------------- */ 135 | /* Border 136 | -------------------------- */ 137 | /* Fill 138 | -------------------------- */ 139 | /* Typography 140 | -------------------------- */ 141 | /* Size 142 | -------------------------- */ 143 | /* z-index 144 | -------------------------- */ 145 | /* Disable base 146 | -------------------------- */ 147 | /* Icon 148 | -------------------------- */ 149 | /* Checkbox 150 | -------------------------- */ 151 | /* Radio 152 | -------------------------- */ 153 | /* Select 154 | -------------------------- */ 155 | /* Alert 156 | -------------------------- */ 157 | /* Message Box 158 | -------------------------- */ 159 | /* Message 160 | -------------------------- */ 161 | /* Notification 162 | -------------------------- */ 163 | /* Input 164 | -------------------------- */ 165 | /* Cascader 166 | -------------------------- */ 167 | /* Group 168 | -------------------------- */ 169 | /* Tab 170 | -------------------------- */ 171 | /* Button 172 | -------------------------- */ 173 | /* cascader 174 | -------------------------- */ 175 | /* Switch 176 | -------------------------- */ 177 | /* Dialog 178 | -------------------------- */ 179 | /* Table 180 | -------------------------- */ 181 | /* Pagination 182 | -------------------------- */ 183 | /* Popover 184 | -------------------------- */ 185 | /* Tooltip 186 | -------------------------- */ 187 | /* Tag 188 | -------------------------- */ 189 | /* Tree 190 | -------------------------- */ 191 | /* Dropdown 192 | -------------------------- */ 193 | /* Badge 194 | -------------------------- */ 195 | /* Card 196 | --------------------------*/ 197 | /* Slider 198 | --------------------------*/ 199 | /* Steps 200 | --------------------------*/ 201 | /* Menu 202 | --------------------------*/ 203 | /* Rate 204 | --------------------------*/ 205 | /* DatePicker 206 | --------------------------*/ 207 | /* Loading 208 | --------------------------*/ 209 | /* Scrollbar 210 | --------------------------*/ 211 | /* Carousel 212 | --------------------------*/ 213 | /* Collapse 214 | --------------------------*/ 215 | /* Transfer 216 | --------------------------*/ 217 | /* Header 218 | --------------------------*/ 219 | /* Footer 220 | --------------------------*/ 221 | /* Main 222 | --------------------------*/ 223 | /* Timeline 224 | --------------------------*/ 225 | /* Break-point 226 | --------------------------*/ 227 | .el-footer { 228 | padding: 0 20px; 229 | -webkit-box-sizing: border-box; 230 | box-sizing: border-box; 231 | -ms-flex-negative: 0; 232 | flex-shrink: 0; } 233 | -------------------------------------------------------------------------------- /theme/form-item.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ou-jin/vue-element-template/97d4b39b50e84e5b5e069a50c0ad19172027430e/theme/form-item.css -------------------------------------------------------------------------------- /theme/header.css: -------------------------------------------------------------------------------- 1 | /* BEM support Func 2 | -------------------------- */ 3 | /* Element Chalk Variables */ 4 | /* Transition 5 | -------------------------- */ 6 | /* Color 7 | -------------------------- */ 8 | /* 53a8ff */ 9 | /* 66b1ff */ 10 | /* 79bbff */ 11 | /* 8cc5ff */ 12 | /* a0cfff */ 13 | /* b3d8ff */ 14 | /* c6e2ff */ 15 | /* d9ecff */ 16 | /* ecf5ff */ 17 | /* Link 18 | -------------------------- */ 19 | /* Border 20 | -------------------------- */ 21 | /* Fill 22 | -------------------------- */ 23 | /* Typography 24 | -------------------------- */ 25 | /* Size 26 | -------------------------- */ 27 | /* z-index 28 | -------------------------- */ 29 | /* Disable base 30 | -------------------------- */ 31 | /* Icon 32 | -------------------------- */ 33 | /* Checkbox 34 | -------------------------- */ 35 | /* Radio 36 | -------------------------- */ 37 | /* Select 38 | -------------------------- */ 39 | /* Alert 40 | -------------------------- */ 41 | /* Message Box 42 | -------------------------- */ 43 | /* Message 44 | -------------------------- */ 45 | /* Notification 46 | -------------------------- */ 47 | /* Input 48 | -------------------------- */ 49 | /* Cascader 50 | -------------------------- */ 51 | /* Group 52 | -------------------------- */ 53 | /* Tab 54 | -------------------------- */ 55 | /* Button 56 | -------------------------- */ 57 | /* cascader 58 | -------------------------- */ 59 | /* Switch 60 | -------------------------- */ 61 | /* Dialog 62 | -------------------------- */ 63 | /* Table 64 | -------------------------- */ 65 | /* Pagination 66 | -------------------------- */ 67 | /* Popover 68 | -------------------------- */ 69 | /* Tooltip 70 | -------------------------- */ 71 | /* Tag 72 | -------------------------- */ 73 | /* Tree 74 | -------------------------- */ 75 | /* Dropdown 76 | -------------------------- */ 77 | /* Badge 78 | -------------------------- */ 79 | /* Card 80 | --------------------------*/ 81 | /* Slider 82 | --------------------------*/ 83 | /* Steps 84 | --------------------------*/ 85 | /* Menu 86 | --------------------------*/ 87 | /* Rate 88 | --------------------------*/ 89 | /* DatePicker 90 | --------------------------*/ 91 | /* Loading 92 | --------------------------*/ 93 | /* Scrollbar 94 | --------------------------*/ 95 | /* Carousel 96 | --------------------------*/ 97 | /* Collapse 98 | --------------------------*/ 99 | /* Transfer 100 | --------------------------*/ 101 | /* Header 102 | --------------------------*/ 103 | /* Footer 104 | --------------------------*/ 105 | /* Main 106 | --------------------------*/ 107 | /* Timeline 108 | --------------------------*/ 109 | /* Break-point 110 | --------------------------*/ 111 | /* Break-points 112 | -------------------------- */ 113 | /* Scrollbar 114 | -------------------------- */ 115 | /* Placeholder 116 | -------------------------- */ 117 | /* BEM 118 | -------------------------- */ 119 | /* Element Chalk Variables */ 120 | /* Transition 121 | -------------------------- */ 122 | /* Color 123 | -------------------------- */ 124 | /* 53a8ff */ 125 | /* 66b1ff */ 126 | /* 79bbff */ 127 | /* 8cc5ff */ 128 | /* a0cfff */ 129 | /* b3d8ff */ 130 | /* c6e2ff */ 131 | /* d9ecff */ 132 | /* ecf5ff */ 133 | /* Link 134 | -------------------------- */ 135 | /* Border 136 | -------------------------- */ 137 | /* Fill 138 | -------------------------- */ 139 | /* Typography 140 | -------------------------- */ 141 | /* Size 142 | -------------------------- */ 143 | /* z-index 144 | -------------------------- */ 145 | /* Disable base 146 | -------------------------- */ 147 | /* Icon 148 | -------------------------- */ 149 | /* Checkbox 150 | -------------------------- */ 151 | /* Radio 152 | -------------------------- */ 153 | /* Select 154 | -------------------------- */ 155 | /* Alert 156 | -------------------------- */ 157 | /* Message Box 158 | -------------------------- */ 159 | /* Message 160 | -------------------------- */ 161 | /* Notification 162 | -------------------------- */ 163 | /* Input 164 | -------------------------- */ 165 | /* Cascader 166 | -------------------------- */ 167 | /* Group 168 | -------------------------- */ 169 | /* Tab 170 | -------------------------- */ 171 | /* Button 172 | -------------------------- */ 173 | /* cascader 174 | -------------------------- */ 175 | /* Switch 176 | -------------------------- */ 177 | /* Dialog 178 | -------------------------- */ 179 | /* Table 180 | -------------------------- */ 181 | /* Pagination 182 | -------------------------- */ 183 | /* Popover 184 | -------------------------- */ 185 | /* Tooltip 186 | -------------------------- */ 187 | /* Tag 188 | -------------------------- */ 189 | /* Tree 190 | -------------------------- */ 191 | /* Dropdown 192 | -------------------------- */ 193 | /* Badge 194 | -------------------------- */ 195 | /* Card 196 | --------------------------*/ 197 | /* Slider 198 | --------------------------*/ 199 | /* Steps 200 | --------------------------*/ 201 | /* Menu 202 | --------------------------*/ 203 | /* Rate 204 | --------------------------*/ 205 | /* DatePicker 206 | --------------------------*/ 207 | /* Loading 208 | --------------------------*/ 209 | /* Scrollbar 210 | --------------------------*/ 211 | /* Carousel 212 | --------------------------*/ 213 | /* Collapse 214 | --------------------------*/ 215 | /* Transfer 216 | --------------------------*/ 217 | /* Header 218 | --------------------------*/ 219 | /* Footer 220 | --------------------------*/ 221 | /* Main 222 | --------------------------*/ 223 | /* Timeline 224 | --------------------------*/ 225 | /* Break-point 226 | --------------------------*/ 227 | .el-header { 228 | padding: 0 20px; 229 | -webkit-box-sizing: border-box; 230 | box-sizing: border-box; 231 | -ms-flex-negative: 0; 232 | flex-shrink: 0; } 233 | -------------------------------------------------------------------------------- /theme/main.css: -------------------------------------------------------------------------------- 1 | /* BEM support Func 2 | -------------------------- */ 3 | /* Element Chalk Variables */ 4 | /* Transition 5 | -------------------------- */ 6 | /* Color 7 | -------------------------- */ 8 | /* 53a8ff */ 9 | /* 66b1ff */ 10 | /* 79bbff */ 11 | /* 8cc5ff */ 12 | /* a0cfff */ 13 | /* b3d8ff */ 14 | /* c6e2ff */ 15 | /* d9ecff */ 16 | /* ecf5ff */ 17 | /* Link 18 | -------------------------- */ 19 | /* Border 20 | -------------------------- */ 21 | /* Fill 22 | -------------------------- */ 23 | /* Typography 24 | -------------------------- */ 25 | /* Size 26 | -------------------------- */ 27 | /* z-index 28 | -------------------------- */ 29 | /* Disable base 30 | -------------------------- */ 31 | /* Icon 32 | -------------------------- */ 33 | /* Checkbox 34 | -------------------------- */ 35 | /* Radio 36 | -------------------------- */ 37 | /* Select 38 | -------------------------- */ 39 | /* Alert 40 | -------------------------- */ 41 | /* Message Box 42 | -------------------------- */ 43 | /* Message 44 | -------------------------- */ 45 | /* Notification 46 | -------------------------- */ 47 | /* Input 48 | -------------------------- */ 49 | /* Cascader 50 | -------------------------- */ 51 | /* Group 52 | -------------------------- */ 53 | /* Tab 54 | -------------------------- */ 55 | /* Button 56 | -------------------------- */ 57 | /* cascader 58 | -------------------------- */ 59 | /* Switch 60 | -------------------------- */ 61 | /* Dialog 62 | -------------------------- */ 63 | /* Table 64 | -------------------------- */ 65 | /* Pagination 66 | -------------------------- */ 67 | /* Popover 68 | -------------------------- */ 69 | /* Tooltip 70 | -------------------------- */ 71 | /* Tag 72 | -------------------------- */ 73 | /* Tree 74 | -------------------------- */ 75 | /* Dropdown 76 | -------------------------- */ 77 | /* Badge 78 | -------------------------- */ 79 | /* Card 80 | --------------------------*/ 81 | /* Slider 82 | --------------------------*/ 83 | /* Steps 84 | --------------------------*/ 85 | /* Menu 86 | --------------------------*/ 87 | /* Rate 88 | --------------------------*/ 89 | /* DatePicker 90 | --------------------------*/ 91 | /* Loading 92 | --------------------------*/ 93 | /* Scrollbar 94 | --------------------------*/ 95 | /* Carousel 96 | --------------------------*/ 97 | /* Collapse 98 | --------------------------*/ 99 | /* Transfer 100 | --------------------------*/ 101 | /* Header 102 | --------------------------*/ 103 | /* Footer 104 | --------------------------*/ 105 | /* Main 106 | --------------------------*/ 107 | /* Timeline 108 | --------------------------*/ 109 | /* Break-point 110 | --------------------------*/ 111 | /* Break-points 112 | -------------------------- */ 113 | /* Scrollbar 114 | -------------------------- */ 115 | /* Placeholder 116 | -------------------------- */ 117 | /* BEM 118 | -------------------------- */ 119 | /* Element Chalk Variables */ 120 | /* Transition 121 | -------------------------- */ 122 | /* Color 123 | -------------------------- */ 124 | /* 53a8ff */ 125 | /* 66b1ff */ 126 | /* 79bbff */ 127 | /* 8cc5ff */ 128 | /* a0cfff */ 129 | /* b3d8ff */ 130 | /* c6e2ff */ 131 | /* d9ecff */ 132 | /* ecf5ff */ 133 | /* Link 134 | -------------------------- */ 135 | /* Border 136 | -------------------------- */ 137 | /* Fill 138 | -------------------------- */ 139 | /* Typography 140 | -------------------------- */ 141 | /* Size 142 | -------------------------- */ 143 | /* z-index 144 | -------------------------- */ 145 | /* Disable base 146 | -------------------------- */ 147 | /* Icon 148 | -------------------------- */ 149 | /* Checkbox 150 | -------------------------- */ 151 | /* Radio 152 | -------------------------- */ 153 | /* Select 154 | -------------------------- */ 155 | /* Alert 156 | -------------------------- */ 157 | /* Message Box 158 | -------------------------- */ 159 | /* Message 160 | -------------------------- */ 161 | /* Notification 162 | -------------------------- */ 163 | /* Input 164 | -------------------------- */ 165 | /* Cascader 166 | -------------------------- */ 167 | /* Group 168 | -------------------------- */ 169 | /* Tab 170 | -------------------------- */ 171 | /* Button 172 | -------------------------- */ 173 | /* cascader 174 | -------------------------- */ 175 | /* Switch 176 | -------------------------- */ 177 | /* Dialog 178 | -------------------------- */ 179 | /* Table 180 | -------------------------- */ 181 | /* Pagination 182 | -------------------------- */ 183 | /* Popover 184 | -------------------------- */ 185 | /* Tooltip 186 | -------------------------- */ 187 | /* Tag 188 | -------------------------- */ 189 | /* Tree 190 | -------------------------- */ 191 | /* Dropdown 192 | -------------------------- */ 193 | /* Badge 194 | -------------------------- */ 195 | /* Card 196 | --------------------------*/ 197 | /* Slider 198 | --------------------------*/ 199 | /* Steps 200 | --------------------------*/ 201 | /* Menu 202 | --------------------------*/ 203 | /* Rate 204 | --------------------------*/ 205 | /* DatePicker 206 | --------------------------*/ 207 | /* Loading 208 | --------------------------*/ 209 | /* Scrollbar 210 | --------------------------*/ 211 | /* Carousel 212 | --------------------------*/ 213 | /* Collapse 214 | --------------------------*/ 215 | /* Transfer 216 | --------------------------*/ 217 | /* Header 218 | --------------------------*/ 219 | /* Footer 220 | --------------------------*/ 221 | /* Main 222 | --------------------------*/ 223 | /* Timeline 224 | --------------------------*/ 225 | /* Break-point 226 | --------------------------*/ 227 | .el-main { 228 | display: block; 229 | -webkit-box-flex: 1; 230 | -ms-flex: 1; 231 | flex: 1; 232 | -ms-flex-preferred-size: auto; 233 | flex-basis: auto; 234 | overflow: auto; 235 | -webkit-box-sizing: border-box; 236 | box-sizing: border-box; 237 | padding: 20px; } 238 | -------------------------------------------------------------------------------- /theme/menu-item-group.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ou-jin/vue-element-template/97d4b39b50e84e5b5e069a50c0ad19172027430e/theme/menu-item-group.css -------------------------------------------------------------------------------- /theme/menu-item.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ou-jin/vue-element-template/97d4b39b50e84e5b5e069a50c0ad19172027430e/theme/menu-item.css -------------------------------------------------------------------------------- /theme/option-group.css: -------------------------------------------------------------------------------- 1 | /* BEM support Func 2 | -------------------------- */ 3 | /* Element Chalk Variables */ 4 | /* Transition 5 | -------------------------- */ 6 | /* Color 7 | -------------------------- */ 8 | /* 53a8ff */ 9 | /* 66b1ff */ 10 | /* 79bbff */ 11 | /* 8cc5ff */ 12 | /* a0cfff */ 13 | /* b3d8ff */ 14 | /* c6e2ff */ 15 | /* d9ecff */ 16 | /* ecf5ff */ 17 | /* Link 18 | -------------------------- */ 19 | /* Border 20 | -------------------------- */ 21 | /* Fill 22 | -------------------------- */ 23 | /* Typography 24 | -------------------------- */ 25 | /* Size 26 | -------------------------- */ 27 | /* z-index 28 | -------------------------- */ 29 | /* Disable base 30 | -------------------------- */ 31 | /* Icon 32 | -------------------------- */ 33 | /* Checkbox 34 | -------------------------- */ 35 | /* Radio 36 | -------------------------- */ 37 | /* Select 38 | -------------------------- */ 39 | /* Alert 40 | -------------------------- */ 41 | /* Message Box 42 | -------------------------- */ 43 | /* Message 44 | -------------------------- */ 45 | /* Notification 46 | -------------------------- */ 47 | /* Input 48 | -------------------------- */ 49 | /* Cascader 50 | -------------------------- */ 51 | /* Group 52 | -------------------------- */ 53 | /* Tab 54 | -------------------------- */ 55 | /* Button 56 | -------------------------- */ 57 | /* cascader 58 | -------------------------- */ 59 | /* Switch 60 | -------------------------- */ 61 | /* Dialog 62 | -------------------------- */ 63 | /* Table 64 | -------------------------- */ 65 | /* Pagination 66 | -------------------------- */ 67 | /* Popover 68 | -------------------------- */ 69 | /* Tooltip 70 | -------------------------- */ 71 | /* Tag 72 | -------------------------- */ 73 | /* Tree 74 | -------------------------- */ 75 | /* Dropdown 76 | -------------------------- */ 77 | /* Badge 78 | -------------------------- */ 79 | /* Card 80 | --------------------------*/ 81 | /* Slider 82 | --------------------------*/ 83 | /* Steps 84 | --------------------------*/ 85 | /* Menu 86 | --------------------------*/ 87 | /* Rate 88 | --------------------------*/ 89 | /* DatePicker 90 | --------------------------*/ 91 | /* Loading 92 | --------------------------*/ 93 | /* Scrollbar 94 | --------------------------*/ 95 | /* Carousel 96 | --------------------------*/ 97 | /* Collapse 98 | --------------------------*/ 99 | /* Transfer 100 | --------------------------*/ 101 | /* Header 102 | --------------------------*/ 103 | /* Footer 104 | --------------------------*/ 105 | /* Main 106 | --------------------------*/ 107 | /* Timeline 108 | --------------------------*/ 109 | /* Break-point 110 | --------------------------*/ 111 | /* Break-points 112 | -------------------------- */ 113 | /* Scrollbar 114 | -------------------------- */ 115 | /* Placeholder 116 | -------------------------- */ 117 | /* BEM 118 | -------------------------- */ 119 | /* Element Chalk Variables */ 120 | /* Transition 121 | -------------------------- */ 122 | /* Color 123 | -------------------------- */ 124 | /* 53a8ff */ 125 | /* 66b1ff */ 126 | /* 79bbff */ 127 | /* 8cc5ff */ 128 | /* a0cfff */ 129 | /* b3d8ff */ 130 | /* c6e2ff */ 131 | /* d9ecff */ 132 | /* ecf5ff */ 133 | /* Link 134 | -------------------------- */ 135 | /* Border 136 | -------------------------- */ 137 | /* Fill 138 | -------------------------- */ 139 | /* Typography 140 | -------------------------- */ 141 | /* Size 142 | -------------------------- */ 143 | /* z-index 144 | -------------------------- */ 145 | /* Disable base 146 | -------------------------- */ 147 | /* Icon 148 | -------------------------- */ 149 | /* Checkbox 150 | -------------------------- */ 151 | /* Radio 152 | -------------------------- */ 153 | /* Select 154 | -------------------------- */ 155 | /* Alert 156 | -------------------------- */ 157 | /* Message Box 158 | -------------------------- */ 159 | /* Message 160 | -------------------------- */ 161 | /* Notification 162 | -------------------------- */ 163 | /* Input 164 | -------------------------- */ 165 | /* Cascader 166 | -------------------------- */ 167 | /* Group 168 | -------------------------- */ 169 | /* Tab 170 | -------------------------- */ 171 | /* Button 172 | -------------------------- */ 173 | /* cascader 174 | -------------------------- */ 175 | /* Switch 176 | -------------------------- */ 177 | /* Dialog 178 | -------------------------- */ 179 | /* Table 180 | -------------------------- */ 181 | /* Pagination 182 | -------------------------- */ 183 | /* Popover 184 | -------------------------- */ 185 | /* Tooltip 186 | -------------------------- */ 187 | /* Tag 188 | -------------------------- */ 189 | /* Tree 190 | -------------------------- */ 191 | /* Dropdown 192 | -------------------------- */ 193 | /* Badge 194 | -------------------------- */ 195 | /* Card 196 | --------------------------*/ 197 | /* Slider 198 | --------------------------*/ 199 | /* Steps 200 | --------------------------*/ 201 | /* Menu 202 | --------------------------*/ 203 | /* Rate 204 | --------------------------*/ 205 | /* DatePicker 206 | --------------------------*/ 207 | /* Loading 208 | --------------------------*/ 209 | /* Scrollbar 210 | --------------------------*/ 211 | /* Carousel 212 | --------------------------*/ 213 | /* Collapse 214 | --------------------------*/ 215 | /* Transfer 216 | --------------------------*/ 217 | /* Header 218 | --------------------------*/ 219 | /* Footer 220 | --------------------------*/ 221 | /* Main 222 | --------------------------*/ 223 | /* Timeline 224 | --------------------------*/ 225 | /* Break-point 226 | --------------------------*/ 227 | .el-select-group { 228 | margin: 0; 229 | padding: 0; } 230 | .el-select-group__wrap { 231 | position: relative; 232 | list-style: none; 233 | margin: 0; 234 | padding: 0; } 235 | .el-select-group__wrap:not(:last-of-type) { 236 | padding-bottom: 24px; } 237 | .el-select-group__wrap:not(:last-of-type)::after { 238 | content: ''; 239 | position: absolute; 240 | display: block; 241 | left: 20px; 242 | right: 20px; 243 | bottom: 12px; 244 | height: 1px; 245 | background: #E4E7ED; } 246 | .el-select-group__title { 247 | padding-left: 20px; 248 | font-size: 12px; 249 | color: #909399; 250 | line-height: 30px; } 251 | .el-select-group .el-select-dropdown__item { 252 | padding-left: 20px; } 253 | -------------------------------------------------------------------------------- /theme/option.css: -------------------------------------------------------------------------------- 1 | /* BEM support Func 2 | -------------------------- */ 3 | /* Element Chalk Variables */ 4 | /* Transition 5 | -------------------------- */ 6 | /* Color 7 | -------------------------- */ 8 | /* 53a8ff */ 9 | /* 66b1ff */ 10 | /* 79bbff */ 11 | /* 8cc5ff */ 12 | /* a0cfff */ 13 | /* b3d8ff */ 14 | /* c6e2ff */ 15 | /* d9ecff */ 16 | /* ecf5ff */ 17 | /* Link 18 | -------------------------- */ 19 | /* Border 20 | -------------------------- */ 21 | /* Fill 22 | -------------------------- */ 23 | /* Typography 24 | -------------------------- */ 25 | /* Size 26 | -------------------------- */ 27 | /* z-index 28 | -------------------------- */ 29 | /* Disable base 30 | -------------------------- */ 31 | /* Icon 32 | -------------------------- */ 33 | /* Checkbox 34 | -------------------------- */ 35 | /* Radio 36 | -------------------------- */ 37 | /* Select 38 | -------------------------- */ 39 | /* Alert 40 | -------------------------- */ 41 | /* Message Box 42 | -------------------------- */ 43 | /* Message 44 | -------------------------- */ 45 | /* Notification 46 | -------------------------- */ 47 | /* Input 48 | -------------------------- */ 49 | /* Cascader 50 | -------------------------- */ 51 | /* Group 52 | -------------------------- */ 53 | /* Tab 54 | -------------------------- */ 55 | /* Button 56 | -------------------------- */ 57 | /* cascader 58 | -------------------------- */ 59 | /* Switch 60 | -------------------------- */ 61 | /* Dialog 62 | -------------------------- */ 63 | /* Table 64 | -------------------------- */ 65 | /* Pagination 66 | -------------------------- */ 67 | /* Popover 68 | -------------------------- */ 69 | /* Tooltip 70 | -------------------------- */ 71 | /* Tag 72 | -------------------------- */ 73 | /* Tree 74 | -------------------------- */ 75 | /* Dropdown 76 | -------------------------- */ 77 | /* Badge 78 | -------------------------- */ 79 | /* Card 80 | --------------------------*/ 81 | /* Slider 82 | --------------------------*/ 83 | /* Steps 84 | --------------------------*/ 85 | /* Menu 86 | --------------------------*/ 87 | /* Rate 88 | --------------------------*/ 89 | /* DatePicker 90 | --------------------------*/ 91 | /* Loading 92 | --------------------------*/ 93 | /* Scrollbar 94 | --------------------------*/ 95 | /* Carousel 96 | --------------------------*/ 97 | /* Collapse 98 | --------------------------*/ 99 | /* Transfer 100 | --------------------------*/ 101 | /* Header 102 | --------------------------*/ 103 | /* Footer 104 | --------------------------*/ 105 | /* Main 106 | --------------------------*/ 107 | /* Timeline 108 | --------------------------*/ 109 | /* Break-point 110 | --------------------------*/ 111 | /* Break-points 112 | -------------------------- */ 113 | /* Scrollbar 114 | -------------------------- */ 115 | /* Placeholder 116 | -------------------------- */ 117 | /* BEM 118 | -------------------------- */ 119 | /* Element Chalk Variables */ 120 | /* Transition 121 | -------------------------- */ 122 | /* Color 123 | -------------------------- */ 124 | /* 53a8ff */ 125 | /* 66b1ff */ 126 | /* 79bbff */ 127 | /* 8cc5ff */ 128 | /* a0cfff */ 129 | /* b3d8ff */ 130 | /* c6e2ff */ 131 | /* d9ecff */ 132 | /* ecf5ff */ 133 | /* Link 134 | -------------------------- */ 135 | /* Border 136 | -------------------------- */ 137 | /* Fill 138 | -------------------------- */ 139 | /* Typography 140 | -------------------------- */ 141 | /* Size 142 | -------------------------- */ 143 | /* z-index 144 | -------------------------- */ 145 | /* Disable base 146 | -------------------------- */ 147 | /* Icon 148 | -------------------------- */ 149 | /* Checkbox 150 | -------------------------- */ 151 | /* Radio 152 | -------------------------- */ 153 | /* Select 154 | -------------------------- */ 155 | /* Alert 156 | -------------------------- */ 157 | /* Message Box 158 | -------------------------- */ 159 | /* Message 160 | -------------------------- */ 161 | /* Notification 162 | -------------------------- */ 163 | /* Input 164 | -------------------------- */ 165 | /* Cascader 166 | -------------------------- */ 167 | /* Group 168 | -------------------------- */ 169 | /* Tab 170 | -------------------------- */ 171 | /* Button 172 | -------------------------- */ 173 | /* cascader 174 | -------------------------- */ 175 | /* Switch 176 | -------------------------- */ 177 | /* Dialog 178 | -------------------------- */ 179 | /* Table 180 | -------------------------- */ 181 | /* Pagination 182 | -------------------------- */ 183 | /* Popover 184 | -------------------------- */ 185 | /* Tooltip 186 | -------------------------- */ 187 | /* Tag 188 | -------------------------- */ 189 | /* Tree 190 | -------------------------- */ 191 | /* Dropdown 192 | -------------------------- */ 193 | /* Badge 194 | -------------------------- */ 195 | /* Card 196 | --------------------------*/ 197 | /* Slider 198 | --------------------------*/ 199 | /* Steps 200 | --------------------------*/ 201 | /* Menu 202 | --------------------------*/ 203 | /* Rate 204 | --------------------------*/ 205 | /* DatePicker 206 | --------------------------*/ 207 | /* Loading 208 | --------------------------*/ 209 | /* Scrollbar 210 | --------------------------*/ 211 | /* Carousel 212 | --------------------------*/ 213 | /* Collapse 214 | --------------------------*/ 215 | /* Transfer 216 | --------------------------*/ 217 | /* Header 218 | --------------------------*/ 219 | /* Footer 220 | --------------------------*/ 221 | /* Main 222 | --------------------------*/ 223 | /* Timeline 224 | --------------------------*/ 225 | /* Break-point 226 | --------------------------*/ 227 | .el-select-dropdown__item { 228 | font-size: 14px; 229 | padding: 0 20px; 230 | position: relative; 231 | white-space: nowrap; 232 | overflow: hidden; 233 | text-overflow: ellipsis; 234 | color: #606266; 235 | height: 34px; 236 | line-height: 34px; 237 | -webkit-box-sizing: border-box; 238 | box-sizing: border-box; 239 | cursor: pointer; } 240 | .el-select-dropdown__item.is-disabled { 241 | color: #C0C4CC; 242 | cursor: not-allowed; } 243 | .el-select-dropdown__item.is-disabled:hover { 244 | background-color: #FFFFFF; } 245 | .el-select-dropdown__item.hover, .el-select-dropdown__item:hover { 246 | background-color: #f5f7fa; } 247 | .el-select-dropdown__item.selected { 248 | color: #78A7ED; 249 | font-weight: bold; } 250 | -------------------------------------------------------------------------------- /theme/radio-group.css: -------------------------------------------------------------------------------- 1 | /* BEM support Func 2 | -------------------------- */ 3 | /* Element Chalk Variables */ 4 | /* Transition 5 | -------------------------- */ 6 | /* Color 7 | -------------------------- */ 8 | /* 53a8ff */ 9 | /* 66b1ff */ 10 | /* 79bbff */ 11 | /* 8cc5ff */ 12 | /* a0cfff */ 13 | /* b3d8ff */ 14 | /* c6e2ff */ 15 | /* d9ecff */ 16 | /* ecf5ff */ 17 | /* Link 18 | -------------------------- */ 19 | /* Border 20 | -------------------------- */ 21 | /* Fill 22 | -------------------------- */ 23 | /* Typography 24 | -------------------------- */ 25 | /* Size 26 | -------------------------- */ 27 | /* z-index 28 | -------------------------- */ 29 | /* Disable base 30 | -------------------------- */ 31 | /* Icon 32 | -------------------------- */ 33 | /* Checkbox 34 | -------------------------- */ 35 | /* Radio 36 | -------------------------- */ 37 | /* Select 38 | -------------------------- */ 39 | /* Alert 40 | -------------------------- */ 41 | /* Message Box 42 | -------------------------- */ 43 | /* Message 44 | -------------------------- */ 45 | /* Notification 46 | -------------------------- */ 47 | /* Input 48 | -------------------------- */ 49 | /* Cascader 50 | -------------------------- */ 51 | /* Group 52 | -------------------------- */ 53 | /* Tab 54 | -------------------------- */ 55 | /* Button 56 | -------------------------- */ 57 | /* cascader 58 | -------------------------- */ 59 | /* Switch 60 | -------------------------- */ 61 | /* Dialog 62 | -------------------------- */ 63 | /* Table 64 | -------------------------- */ 65 | /* Pagination 66 | -------------------------- */ 67 | /* Popover 68 | -------------------------- */ 69 | /* Tooltip 70 | -------------------------- */ 71 | /* Tag 72 | -------------------------- */ 73 | /* Tree 74 | -------------------------- */ 75 | /* Dropdown 76 | -------------------------- */ 77 | /* Badge 78 | -------------------------- */ 79 | /* Card 80 | --------------------------*/ 81 | /* Slider 82 | --------------------------*/ 83 | /* Steps 84 | --------------------------*/ 85 | /* Menu 86 | --------------------------*/ 87 | /* Rate 88 | --------------------------*/ 89 | /* DatePicker 90 | --------------------------*/ 91 | /* Loading 92 | --------------------------*/ 93 | /* Scrollbar 94 | --------------------------*/ 95 | /* Carousel 96 | --------------------------*/ 97 | /* Collapse 98 | --------------------------*/ 99 | /* Transfer 100 | --------------------------*/ 101 | /* Header 102 | --------------------------*/ 103 | /* Footer 104 | --------------------------*/ 105 | /* Main 106 | --------------------------*/ 107 | /* Timeline 108 | --------------------------*/ 109 | /* Break-point 110 | --------------------------*/ 111 | /* Break-points 112 | -------------------------- */ 113 | /* Scrollbar 114 | -------------------------- */ 115 | /* Placeholder 116 | -------------------------- */ 117 | /* BEM 118 | -------------------------- */ 119 | /* Element Chalk Variables */ 120 | /* Transition 121 | -------------------------- */ 122 | /* Color 123 | -------------------------- */ 124 | /* 53a8ff */ 125 | /* 66b1ff */ 126 | /* 79bbff */ 127 | /* 8cc5ff */ 128 | /* a0cfff */ 129 | /* b3d8ff */ 130 | /* c6e2ff */ 131 | /* d9ecff */ 132 | /* ecf5ff */ 133 | /* Link 134 | -------------------------- */ 135 | /* Border 136 | -------------------------- */ 137 | /* Fill 138 | -------------------------- */ 139 | /* Typography 140 | -------------------------- */ 141 | /* Size 142 | -------------------------- */ 143 | /* z-index 144 | -------------------------- */ 145 | /* Disable base 146 | -------------------------- */ 147 | /* Icon 148 | -------------------------- */ 149 | /* Checkbox 150 | -------------------------- */ 151 | /* Radio 152 | -------------------------- */ 153 | /* Select 154 | -------------------------- */ 155 | /* Alert 156 | -------------------------- */ 157 | /* Message Box 158 | -------------------------- */ 159 | /* Message 160 | -------------------------- */ 161 | /* Notification 162 | -------------------------- */ 163 | /* Input 164 | -------------------------- */ 165 | /* Cascader 166 | -------------------------- */ 167 | /* Group 168 | -------------------------- */ 169 | /* Tab 170 | -------------------------- */ 171 | /* Button 172 | -------------------------- */ 173 | /* cascader 174 | -------------------------- */ 175 | /* Switch 176 | -------------------------- */ 177 | /* Dialog 178 | -------------------------- */ 179 | /* Table 180 | -------------------------- */ 181 | /* Pagination 182 | -------------------------- */ 183 | /* Popover 184 | -------------------------- */ 185 | /* Tooltip 186 | -------------------------- */ 187 | /* Tag 188 | -------------------------- */ 189 | /* Tree 190 | -------------------------- */ 191 | /* Dropdown 192 | -------------------------- */ 193 | /* Badge 194 | -------------------------- */ 195 | /* Card 196 | --------------------------*/ 197 | /* Slider 198 | --------------------------*/ 199 | /* Steps 200 | --------------------------*/ 201 | /* Menu 202 | --------------------------*/ 203 | /* Rate 204 | --------------------------*/ 205 | /* DatePicker 206 | --------------------------*/ 207 | /* Loading 208 | --------------------------*/ 209 | /* Scrollbar 210 | --------------------------*/ 211 | /* Carousel 212 | --------------------------*/ 213 | /* Collapse 214 | --------------------------*/ 215 | /* Transfer 216 | --------------------------*/ 217 | /* Header 218 | --------------------------*/ 219 | /* Footer 220 | --------------------------*/ 221 | /* Main 222 | --------------------------*/ 223 | /* Timeline 224 | --------------------------*/ 225 | /* Break-point 226 | --------------------------*/ 227 | .el-radio-group { 228 | display: inline-block; 229 | line-height: 1; 230 | vertical-align: middle; 231 | font-size: 0; } 232 | -------------------------------------------------------------------------------- /theme/rate.css: -------------------------------------------------------------------------------- 1 | /* BEM support Func 2 | -------------------------- */ 3 | /* Element Chalk Variables */ 4 | /* Transition 5 | -------------------------- */ 6 | /* Color 7 | -------------------------- */ 8 | /* 53a8ff */ 9 | /* 66b1ff */ 10 | /* 79bbff */ 11 | /* 8cc5ff */ 12 | /* a0cfff */ 13 | /* b3d8ff */ 14 | /* c6e2ff */ 15 | /* d9ecff */ 16 | /* ecf5ff */ 17 | /* Link 18 | -------------------------- */ 19 | /* Border 20 | -------------------------- */ 21 | /* Fill 22 | -------------------------- */ 23 | /* Typography 24 | -------------------------- */ 25 | /* Size 26 | -------------------------- */ 27 | /* z-index 28 | -------------------------- */ 29 | /* Disable base 30 | -------------------------- */ 31 | /* Icon 32 | -------------------------- */ 33 | /* Checkbox 34 | -------------------------- */ 35 | /* Radio 36 | -------------------------- */ 37 | /* Select 38 | -------------------------- */ 39 | /* Alert 40 | -------------------------- */ 41 | /* Message Box 42 | -------------------------- */ 43 | /* Message 44 | -------------------------- */ 45 | /* Notification 46 | -------------------------- */ 47 | /* Input 48 | -------------------------- */ 49 | /* Cascader 50 | -------------------------- */ 51 | /* Group 52 | -------------------------- */ 53 | /* Tab 54 | -------------------------- */ 55 | /* Button 56 | -------------------------- */ 57 | /* cascader 58 | -------------------------- */ 59 | /* Switch 60 | -------------------------- */ 61 | /* Dialog 62 | -------------------------- */ 63 | /* Table 64 | -------------------------- */ 65 | /* Pagination 66 | -------------------------- */ 67 | /* Popover 68 | -------------------------- */ 69 | /* Tooltip 70 | -------------------------- */ 71 | /* Tag 72 | -------------------------- */ 73 | /* Tree 74 | -------------------------- */ 75 | /* Dropdown 76 | -------------------------- */ 77 | /* Badge 78 | -------------------------- */ 79 | /* Card 80 | --------------------------*/ 81 | /* Slider 82 | --------------------------*/ 83 | /* Steps 84 | --------------------------*/ 85 | /* Menu 86 | --------------------------*/ 87 | /* Rate 88 | --------------------------*/ 89 | /* DatePicker 90 | --------------------------*/ 91 | /* Loading 92 | --------------------------*/ 93 | /* Scrollbar 94 | --------------------------*/ 95 | /* Carousel 96 | --------------------------*/ 97 | /* Collapse 98 | --------------------------*/ 99 | /* Transfer 100 | --------------------------*/ 101 | /* Header 102 | --------------------------*/ 103 | /* Footer 104 | --------------------------*/ 105 | /* Main 106 | --------------------------*/ 107 | /* Timeline 108 | --------------------------*/ 109 | /* Break-point 110 | --------------------------*/ 111 | /* Break-points 112 | -------------------------- */ 113 | /* Scrollbar 114 | -------------------------- */ 115 | /* Placeholder 116 | -------------------------- */ 117 | /* BEM 118 | -------------------------- */ 119 | /* Element Chalk Variables */ 120 | /* Transition 121 | -------------------------- */ 122 | /* Color 123 | -------------------------- */ 124 | /* 53a8ff */ 125 | /* 66b1ff */ 126 | /* 79bbff */ 127 | /* 8cc5ff */ 128 | /* a0cfff */ 129 | /* b3d8ff */ 130 | /* c6e2ff */ 131 | /* d9ecff */ 132 | /* ecf5ff */ 133 | /* Link 134 | -------------------------- */ 135 | /* Border 136 | -------------------------- */ 137 | /* Fill 138 | -------------------------- */ 139 | /* Typography 140 | -------------------------- */ 141 | /* Size 142 | -------------------------- */ 143 | /* z-index 144 | -------------------------- */ 145 | /* Disable base 146 | -------------------------- */ 147 | /* Icon 148 | -------------------------- */ 149 | /* Checkbox 150 | -------------------------- */ 151 | /* Radio 152 | -------------------------- */ 153 | /* Select 154 | -------------------------- */ 155 | /* Alert 156 | -------------------------- */ 157 | /* Message Box 158 | -------------------------- */ 159 | /* Message 160 | -------------------------- */ 161 | /* Notification 162 | -------------------------- */ 163 | /* Input 164 | -------------------------- */ 165 | /* Cascader 166 | -------------------------- */ 167 | /* Group 168 | -------------------------- */ 169 | /* Tab 170 | -------------------------- */ 171 | /* Button 172 | -------------------------- */ 173 | /* cascader 174 | -------------------------- */ 175 | /* Switch 176 | -------------------------- */ 177 | /* Dialog 178 | -------------------------- */ 179 | /* Table 180 | -------------------------- */ 181 | /* Pagination 182 | -------------------------- */ 183 | /* Popover 184 | -------------------------- */ 185 | /* Tooltip 186 | -------------------------- */ 187 | /* Tag 188 | -------------------------- */ 189 | /* Tree 190 | -------------------------- */ 191 | /* Dropdown 192 | -------------------------- */ 193 | /* Badge 194 | -------------------------- */ 195 | /* Card 196 | --------------------------*/ 197 | /* Slider 198 | --------------------------*/ 199 | /* Steps 200 | --------------------------*/ 201 | /* Menu 202 | --------------------------*/ 203 | /* Rate 204 | --------------------------*/ 205 | /* DatePicker 206 | --------------------------*/ 207 | /* Loading 208 | --------------------------*/ 209 | /* Scrollbar 210 | --------------------------*/ 211 | /* Carousel 212 | --------------------------*/ 213 | /* Collapse 214 | --------------------------*/ 215 | /* Transfer 216 | --------------------------*/ 217 | /* Header 218 | --------------------------*/ 219 | /* Footer 220 | --------------------------*/ 221 | /* Main 222 | --------------------------*/ 223 | /* Timeline 224 | --------------------------*/ 225 | /* Break-point 226 | --------------------------*/ 227 | .el-rate { 228 | height: 20px; 229 | line-height: 1; } 230 | .el-rate:focus, .el-rate:active { 231 | outline-width: 0; } 232 | .el-rate__item { 233 | display: inline-block; 234 | position: relative; 235 | font-size: 0; 236 | vertical-align: middle; } 237 | .el-rate__icon { 238 | position: relative; 239 | display: inline-block; 240 | font-size: 18px; 241 | margin-right: 6px; 242 | color: #C0C4CC; 243 | -webkit-transition: .3s; 244 | transition: .3s; } 245 | .el-rate__icon.hover { 246 | -webkit-transform: scale(1.15); 247 | transform: scale(1.15); } 248 | .el-rate__icon .path2 { 249 | position: absolute; 250 | left: 0; 251 | top: 0; } 252 | .el-rate__decimal { 253 | position: absolute; 254 | top: 0; 255 | left: 0; 256 | display: inline-block; 257 | overflow: hidden; } 258 | .el-rate__text { 259 | font-size: 14px; 260 | vertical-align: middle; } 261 | -------------------------------------------------------------------------------- /theme/reset.css: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | /* Element Chalk Variables */ 3 | /* Transition 4 | -------------------------- */ 5 | /* Color 6 | -------------------------- */ 7 | /* 53a8ff */ 8 | /* 66b1ff */ 9 | /* 79bbff */ 10 | /* 8cc5ff */ 11 | /* a0cfff */ 12 | /* b3d8ff */ 13 | /* c6e2ff */ 14 | /* d9ecff */ 15 | /* ecf5ff */ 16 | /* Link 17 | -------------------------- */ 18 | /* Border 19 | -------------------------- */ 20 | /* Fill 21 | -------------------------- */ 22 | /* Typography 23 | -------------------------- */ 24 | /* Size 25 | -------------------------- */ 26 | /* z-index 27 | -------------------------- */ 28 | /* Disable base 29 | -------------------------- */ 30 | /* Icon 31 | -------------------------- */ 32 | /* Checkbox 33 | -------------------------- */ 34 | /* Radio 35 | -------------------------- */ 36 | /* Select 37 | -------------------------- */ 38 | /* Alert 39 | -------------------------- */ 40 | /* Message Box 41 | -------------------------- */ 42 | /* Message 43 | -------------------------- */ 44 | /* Notification 45 | -------------------------- */ 46 | /* Input 47 | -------------------------- */ 48 | /* Cascader 49 | -------------------------- */ 50 | /* Group 51 | -------------------------- */ 52 | /* Tab 53 | -------------------------- */ 54 | /* Button 55 | -------------------------- */ 56 | /* cascader 57 | -------------------------- */ 58 | /* Switch 59 | -------------------------- */ 60 | /* Dialog 61 | -------------------------- */ 62 | /* Table 63 | -------------------------- */ 64 | /* Pagination 65 | -------------------------- */ 66 | /* Popover 67 | -------------------------- */ 68 | /* Tooltip 69 | -------------------------- */ 70 | /* Tag 71 | -------------------------- */ 72 | /* Tree 73 | -------------------------- */ 74 | /* Dropdown 75 | -------------------------- */ 76 | /* Badge 77 | -------------------------- */ 78 | /* Card 79 | --------------------------*/ 80 | /* Slider 81 | --------------------------*/ 82 | /* Steps 83 | --------------------------*/ 84 | /* Menu 85 | --------------------------*/ 86 | /* Rate 87 | --------------------------*/ 88 | /* DatePicker 89 | --------------------------*/ 90 | /* Loading 91 | --------------------------*/ 92 | /* Scrollbar 93 | --------------------------*/ 94 | /* Carousel 95 | --------------------------*/ 96 | /* Collapse 97 | --------------------------*/ 98 | /* Transfer 99 | --------------------------*/ 100 | /* Header 101 | --------------------------*/ 102 | /* Footer 103 | --------------------------*/ 104 | /* Main 105 | --------------------------*/ 106 | /* Timeline 107 | --------------------------*/ 108 | /* Break-point 109 | --------------------------*/ 110 | body { 111 | font-family: "Helvetica Neue",Helvetica,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","微软雅黑",Arial,sans-serif; 112 | font-weight: 400; 113 | font-size: 14px; 114 | color: #000000; 115 | -webkit-font-smoothing: antialiased; } 116 | 117 | a { 118 | color: #78A7ED; 119 | text-decoration: none; } 120 | a:hover, a:focus { 121 | color: #93b9f1; } 122 | a:active { 123 | color: #6c96d5; } 124 | 125 | h1, h2, h3, h4, h5, h6 { 126 | color: #606266; 127 | font-weight: inherit; } 128 | h1:first-child, h2:first-child, h3:first-child, h4:first-child, h5:first-child, h6:first-child { 129 | margin-top: 0; } 130 | h1:last-child, h2:last-child, h3:last-child, h4:last-child, h5:last-child, h6:last-child { 131 | margin-bottom: 0; } 132 | 133 | h1 { 134 | font-size: 20px; } 135 | 136 | h2 { 137 | font-size: 18px; } 138 | 139 | h3 { 140 | font-size: 16px; } 141 | 142 | h4, h5, h6, p { 143 | font-size: inherit; } 144 | 145 | p { 146 | line-height: 1.8; } 147 | p:first-child { 148 | margin-top: 0; } 149 | p:last-child { 150 | margin-bottom: 0; } 151 | 152 | sup, sub { 153 | font-size: 13px; } 154 | 155 | small { 156 | font-size: 12px; } 157 | 158 | hr { 159 | margin-top: 20px; 160 | margin-bottom: 20px; 161 | border: 0; 162 | border-top: 1px solid #eeeeee; } 163 | -------------------------------------------------------------------------------- /theme/row.css: -------------------------------------------------------------------------------- 1 | /* Element Chalk Variables */ 2 | /* Transition 3 | -------------------------- */ 4 | /* Color 5 | -------------------------- */ 6 | /* 53a8ff */ 7 | /* 66b1ff */ 8 | /* 79bbff */ 9 | /* 8cc5ff */ 10 | /* a0cfff */ 11 | /* b3d8ff */ 12 | /* c6e2ff */ 13 | /* d9ecff */ 14 | /* ecf5ff */ 15 | /* Link 16 | -------------------------- */ 17 | /* Border 18 | -------------------------- */ 19 | /* Fill 20 | -------------------------- */ 21 | /* Typography 22 | -------------------------- */ 23 | /* Size 24 | -------------------------- */ 25 | /* z-index 26 | -------------------------- */ 27 | /* Disable base 28 | -------------------------- */ 29 | /* Icon 30 | -------------------------- */ 31 | /* Checkbox 32 | -------------------------- */ 33 | /* Radio 34 | -------------------------- */ 35 | /* Select 36 | -------------------------- */ 37 | /* Alert 38 | -------------------------- */ 39 | /* Message Box 40 | -------------------------- */ 41 | /* Message 42 | -------------------------- */ 43 | /* Notification 44 | -------------------------- */ 45 | /* Input 46 | -------------------------- */ 47 | /* Cascader 48 | -------------------------- */ 49 | /* Group 50 | -------------------------- */ 51 | /* Tab 52 | -------------------------- */ 53 | /* Button 54 | -------------------------- */ 55 | /* cascader 56 | -------------------------- */ 57 | /* Switch 58 | -------------------------- */ 59 | /* Dialog 60 | -------------------------- */ 61 | /* Table 62 | -------------------------- */ 63 | /* Pagination 64 | -------------------------- */ 65 | /* Popover 66 | -------------------------- */ 67 | /* Tooltip 68 | -------------------------- */ 69 | /* Tag 70 | -------------------------- */ 71 | /* Tree 72 | -------------------------- */ 73 | /* Dropdown 74 | -------------------------- */ 75 | /* Badge 76 | -------------------------- */ 77 | /* Card 78 | --------------------------*/ 79 | /* Slider 80 | --------------------------*/ 81 | /* Steps 82 | --------------------------*/ 83 | /* Menu 84 | --------------------------*/ 85 | /* Rate 86 | --------------------------*/ 87 | /* DatePicker 88 | --------------------------*/ 89 | /* Loading 90 | --------------------------*/ 91 | /* Scrollbar 92 | --------------------------*/ 93 | /* Carousel 94 | --------------------------*/ 95 | /* Collapse 96 | --------------------------*/ 97 | /* Transfer 98 | --------------------------*/ 99 | /* Header 100 | --------------------------*/ 101 | /* Footer 102 | --------------------------*/ 103 | /* Main 104 | --------------------------*/ 105 | /* Timeline 106 | --------------------------*/ 107 | /* Break-point 108 | --------------------------*/ 109 | /* BEM support Func 110 | -------------------------- */ 111 | /* Element Chalk Variables */ 112 | /* Transition 113 | -------------------------- */ 114 | /* Color 115 | -------------------------- */ 116 | /* 53a8ff */ 117 | /* 66b1ff */ 118 | /* 79bbff */ 119 | /* 8cc5ff */ 120 | /* a0cfff */ 121 | /* b3d8ff */ 122 | /* c6e2ff */ 123 | /* d9ecff */ 124 | /* ecf5ff */ 125 | /* Link 126 | -------------------------- */ 127 | /* Border 128 | -------------------------- */ 129 | /* Fill 130 | -------------------------- */ 131 | /* Typography 132 | -------------------------- */ 133 | /* Size 134 | -------------------------- */ 135 | /* z-index 136 | -------------------------- */ 137 | /* Disable base 138 | -------------------------- */ 139 | /* Icon 140 | -------------------------- */ 141 | /* Checkbox 142 | -------------------------- */ 143 | /* Radio 144 | -------------------------- */ 145 | /* Select 146 | -------------------------- */ 147 | /* Alert 148 | -------------------------- */ 149 | /* Message Box 150 | -------------------------- */ 151 | /* Message 152 | -------------------------- */ 153 | /* Notification 154 | -------------------------- */ 155 | /* Input 156 | -------------------------- */ 157 | /* Cascader 158 | -------------------------- */ 159 | /* Group 160 | -------------------------- */ 161 | /* Tab 162 | -------------------------- */ 163 | /* Button 164 | -------------------------- */ 165 | /* cascader 166 | -------------------------- */ 167 | /* Switch 168 | -------------------------- */ 169 | /* Dialog 170 | -------------------------- */ 171 | /* Table 172 | -------------------------- */ 173 | /* Pagination 174 | -------------------------- */ 175 | /* Popover 176 | -------------------------- */ 177 | /* Tooltip 178 | -------------------------- */ 179 | /* Tag 180 | -------------------------- */ 181 | /* Tree 182 | -------------------------- */ 183 | /* Dropdown 184 | -------------------------- */ 185 | /* Badge 186 | -------------------------- */ 187 | /* Card 188 | --------------------------*/ 189 | /* Slider 190 | --------------------------*/ 191 | /* Steps 192 | --------------------------*/ 193 | /* Menu 194 | --------------------------*/ 195 | /* Rate 196 | --------------------------*/ 197 | /* DatePicker 198 | --------------------------*/ 199 | /* Loading 200 | --------------------------*/ 201 | /* Scrollbar 202 | --------------------------*/ 203 | /* Carousel 204 | --------------------------*/ 205 | /* Collapse 206 | --------------------------*/ 207 | /* Transfer 208 | --------------------------*/ 209 | /* Header 210 | --------------------------*/ 211 | /* Footer 212 | --------------------------*/ 213 | /* Main 214 | --------------------------*/ 215 | /* Timeline 216 | --------------------------*/ 217 | /* Break-point 218 | --------------------------*/ 219 | /* Break-points 220 | -------------------------- */ 221 | /* Scrollbar 222 | -------------------------- */ 223 | /* Placeholder 224 | -------------------------- */ 225 | /* BEM 226 | -------------------------- */ 227 | .el-row { 228 | position: relative; 229 | -webkit-box-sizing: border-box; 230 | box-sizing: border-box; } 231 | .el-row::before, 232 | .el-row::after { 233 | display: table; 234 | content: ""; } 235 | .el-row::after { 236 | clear: both; } 237 | .el-row--flex { 238 | display: -webkit-box; 239 | display: -ms-flexbox; 240 | display: flex; } 241 | .el-row--flex:before, .el-row--flex:after { 242 | display: none; } 243 | .el-row--flex.is-justify-center { 244 | -webkit-box-pack: center; 245 | -ms-flex-pack: center; 246 | justify-content: center; } 247 | .el-row--flex.is-justify-end { 248 | -webkit-box-pack: end; 249 | -ms-flex-pack: end; 250 | justify-content: flex-end; } 251 | .el-row--flex.is-justify-space-between { 252 | -webkit-box-pack: justify; 253 | -ms-flex-pack: justify; 254 | justify-content: space-between; } 255 | .el-row--flex.is-justify-space-around { 256 | -ms-flex-pack: distribute; 257 | justify-content: space-around; } 258 | .el-row--flex.is-align-middle { 259 | -webkit-box-align: center; 260 | -ms-flex-align: center; 261 | align-items: center; } 262 | .el-row--flex.is-align-bottom { 263 | -webkit-box-align: end; 264 | -ms-flex-align: end; 265 | align-items: flex-end; } 266 | -------------------------------------------------------------------------------- /theme/spinner.css: -------------------------------------------------------------------------------- 1 | /* BEM support Func 2 | -------------------------- */ 3 | /* Element Chalk Variables */ 4 | /* Transition 5 | -------------------------- */ 6 | /* Color 7 | -------------------------- */ 8 | /* 53a8ff */ 9 | /* 66b1ff */ 10 | /* 79bbff */ 11 | /* 8cc5ff */ 12 | /* a0cfff */ 13 | /* b3d8ff */ 14 | /* c6e2ff */ 15 | /* d9ecff */ 16 | /* ecf5ff */ 17 | /* Link 18 | -------------------------- */ 19 | /* Border 20 | -------------------------- */ 21 | /* Fill 22 | -------------------------- */ 23 | /* Typography 24 | -------------------------- */ 25 | /* Size 26 | -------------------------- */ 27 | /* z-index 28 | -------------------------- */ 29 | /* Disable base 30 | -------------------------- */ 31 | /* Icon 32 | -------------------------- */ 33 | /* Checkbox 34 | -------------------------- */ 35 | /* Radio 36 | -------------------------- */ 37 | /* Select 38 | -------------------------- */ 39 | /* Alert 40 | -------------------------- */ 41 | /* Message Box 42 | -------------------------- */ 43 | /* Message 44 | -------------------------- */ 45 | /* Notification 46 | -------------------------- */ 47 | /* Input 48 | -------------------------- */ 49 | /* Cascader 50 | -------------------------- */ 51 | /* Group 52 | -------------------------- */ 53 | /* Tab 54 | -------------------------- */ 55 | /* Button 56 | -------------------------- */ 57 | /* cascader 58 | -------------------------- */ 59 | /* Switch 60 | -------------------------- */ 61 | /* Dialog 62 | -------------------------- */ 63 | /* Table 64 | -------------------------- */ 65 | /* Pagination 66 | -------------------------- */ 67 | /* Popover 68 | -------------------------- */ 69 | /* Tooltip 70 | -------------------------- */ 71 | /* Tag 72 | -------------------------- */ 73 | /* Tree 74 | -------------------------- */ 75 | /* Dropdown 76 | -------------------------- */ 77 | /* Badge 78 | -------------------------- */ 79 | /* Card 80 | --------------------------*/ 81 | /* Slider 82 | --------------------------*/ 83 | /* Steps 84 | --------------------------*/ 85 | /* Menu 86 | --------------------------*/ 87 | /* Rate 88 | --------------------------*/ 89 | /* DatePicker 90 | --------------------------*/ 91 | /* Loading 92 | --------------------------*/ 93 | /* Scrollbar 94 | --------------------------*/ 95 | /* Carousel 96 | --------------------------*/ 97 | /* Collapse 98 | --------------------------*/ 99 | /* Transfer 100 | --------------------------*/ 101 | /* Header 102 | --------------------------*/ 103 | /* Footer 104 | --------------------------*/ 105 | /* Main 106 | --------------------------*/ 107 | /* Timeline 108 | --------------------------*/ 109 | /* Break-point 110 | --------------------------*/ 111 | /* Break-points 112 | -------------------------- */ 113 | /* Scrollbar 114 | -------------------------- */ 115 | /* Placeholder 116 | -------------------------- */ 117 | /* BEM 118 | -------------------------- */ 119 | .el-time-spinner { 120 | width: 100%; 121 | white-space: nowrap; } 122 | 123 | .el-spinner { 124 | display: inline-block; 125 | vertical-align: middle; } 126 | 127 | .el-spinner-inner { 128 | -webkit-animation: rotate 2s linear infinite; 129 | animation: rotate 2s linear infinite; 130 | width: 50px; 131 | height: 50px; } 132 | .el-spinner-inner .path { 133 | stroke: #ececec; 134 | stroke-linecap: round; 135 | -webkit-animation: dash 1.5s ease-in-out infinite; 136 | animation: dash 1.5s ease-in-out infinite; } 137 | 138 | @-webkit-keyframes rotate { 139 | 100% { 140 | -webkit-transform: rotate(360deg); 141 | transform: rotate(360deg); } } 142 | 143 | @keyframes rotate { 144 | 100% { 145 | -webkit-transform: rotate(360deg); 146 | transform: rotate(360deg); } } 147 | 148 | @-webkit-keyframes dash { 149 | 0% { 150 | stroke-dasharray: 1, 150; 151 | stroke-dashoffset: 0; } 152 | 50% { 153 | stroke-dasharray: 90, 150; 154 | stroke-dashoffset: -35; } 155 | 100% { 156 | stroke-dasharray: 90, 150; 157 | stroke-dashoffset: -124; } } 158 | 159 | @keyframes dash { 160 | 0% { 161 | stroke-dasharray: 1, 150; 162 | stroke-dashoffset: 0; } 163 | 50% { 164 | stroke-dasharray: 90, 150; 165 | stroke-dashoffset: -35; } 166 | 100% { 167 | stroke-dasharray: 90, 150; 168 | stroke-dashoffset: -124; } } 169 | -------------------------------------------------------------------------------- /theme/steps.css: -------------------------------------------------------------------------------- 1 | /* BEM support Func 2 | -------------------------- */ 3 | /* Element Chalk Variables */ 4 | /* Transition 5 | -------------------------- */ 6 | /* Color 7 | -------------------------- */ 8 | /* 53a8ff */ 9 | /* 66b1ff */ 10 | /* 79bbff */ 11 | /* 8cc5ff */ 12 | /* a0cfff */ 13 | /* b3d8ff */ 14 | /* c6e2ff */ 15 | /* d9ecff */ 16 | /* ecf5ff */ 17 | /* Link 18 | -------------------------- */ 19 | /* Border 20 | -------------------------- */ 21 | /* Fill 22 | -------------------------- */ 23 | /* Typography 24 | -------------------------- */ 25 | /* Size 26 | -------------------------- */ 27 | /* z-index 28 | -------------------------- */ 29 | /* Disable base 30 | -------------------------- */ 31 | /* Icon 32 | -------------------------- */ 33 | /* Checkbox 34 | -------------------------- */ 35 | /* Radio 36 | -------------------------- */ 37 | /* Select 38 | -------------------------- */ 39 | /* Alert 40 | -------------------------- */ 41 | /* Message Box 42 | -------------------------- */ 43 | /* Message 44 | -------------------------- */ 45 | /* Notification 46 | -------------------------- */ 47 | /* Input 48 | -------------------------- */ 49 | /* Cascader 50 | -------------------------- */ 51 | /* Group 52 | -------------------------- */ 53 | /* Tab 54 | -------------------------- */ 55 | /* Button 56 | -------------------------- */ 57 | /* cascader 58 | -------------------------- */ 59 | /* Switch 60 | -------------------------- */ 61 | /* Dialog 62 | -------------------------- */ 63 | /* Table 64 | -------------------------- */ 65 | /* Pagination 66 | -------------------------- */ 67 | /* Popover 68 | -------------------------- */ 69 | /* Tooltip 70 | -------------------------- */ 71 | /* Tag 72 | -------------------------- */ 73 | /* Tree 74 | -------------------------- */ 75 | /* Dropdown 76 | -------------------------- */ 77 | /* Badge 78 | -------------------------- */ 79 | /* Card 80 | --------------------------*/ 81 | /* Slider 82 | --------------------------*/ 83 | /* Steps 84 | --------------------------*/ 85 | /* Menu 86 | --------------------------*/ 87 | /* Rate 88 | --------------------------*/ 89 | /* DatePicker 90 | --------------------------*/ 91 | /* Loading 92 | --------------------------*/ 93 | /* Scrollbar 94 | --------------------------*/ 95 | /* Carousel 96 | --------------------------*/ 97 | /* Collapse 98 | --------------------------*/ 99 | /* Transfer 100 | --------------------------*/ 101 | /* Header 102 | --------------------------*/ 103 | /* Footer 104 | --------------------------*/ 105 | /* Main 106 | --------------------------*/ 107 | /* Timeline 108 | --------------------------*/ 109 | /* Break-point 110 | --------------------------*/ 111 | /* Break-points 112 | -------------------------- */ 113 | /* Scrollbar 114 | -------------------------- */ 115 | /* Placeholder 116 | -------------------------- */ 117 | /* BEM 118 | -------------------------- */ 119 | .el-steps { 120 | display: -webkit-box; 121 | display: -ms-flexbox; 122 | display: flex; } 123 | .el-steps--simple { 124 | padding: 13px 8%; 125 | border-radius: 4px; 126 | background: #f5f7fa; } 127 | .el-steps--horizontal { 128 | white-space: nowrap; } 129 | .el-steps--vertical { 130 | height: 100%; 131 | -webkit-box-orient: vertical; 132 | -webkit-box-direction: normal; 133 | -ms-flex-flow: column; 134 | flex-flow: column; } 135 | -------------------------------------------------------------------------------- /theme/submenu.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ou-jin/vue-element-template/97d4b39b50e84e5b5e069a50c0ad19172027430e/theme/submenu.css -------------------------------------------------------------------------------- /theme/tab-pane.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ou-jin/vue-element-template/97d4b39b50e84e5b5e069a50c0ad19172027430e/theme/tab-pane.css -------------------------------------------------------------------------------- /theme/timeline.css: -------------------------------------------------------------------------------- 1 | /* BEM support Func 2 | -------------------------- */ 3 | /* Element Chalk Variables */ 4 | /* Transition 5 | -------------------------- */ 6 | /* Color 7 | -------------------------- */ 8 | /* 53a8ff */ 9 | /* 66b1ff */ 10 | /* 79bbff */ 11 | /* 8cc5ff */ 12 | /* a0cfff */ 13 | /* b3d8ff */ 14 | /* c6e2ff */ 15 | /* d9ecff */ 16 | /* ecf5ff */ 17 | /* Link 18 | -------------------------- */ 19 | /* Border 20 | -------------------------- */ 21 | /* Fill 22 | -------------------------- */ 23 | /* Typography 24 | -------------------------- */ 25 | /* Size 26 | -------------------------- */ 27 | /* z-index 28 | -------------------------- */ 29 | /* Disable base 30 | -------------------------- */ 31 | /* Icon 32 | -------------------------- */ 33 | /* Checkbox 34 | -------------------------- */ 35 | /* Radio 36 | -------------------------- */ 37 | /* Select 38 | -------------------------- */ 39 | /* Alert 40 | -------------------------- */ 41 | /* Message Box 42 | -------------------------- */ 43 | /* Message 44 | -------------------------- */ 45 | /* Notification 46 | -------------------------- */ 47 | /* Input 48 | -------------------------- */ 49 | /* Cascader 50 | -------------------------- */ 51 | /* Group 52 | -------------------------- */ 53 | /* Tab 54 | -------------------------- */ 55 | /* Button 56 | -------------------------- */ 57 | /* cascader 58 | -------------------------- */ 59 | /* Switch 60 | -------------------------- */ 61 | /* Dialog 62 | -------------------------- */ 63 | /* Table 64 | -------------------------- */ 65 | /* Pagination 66 | -------------------------- */ 67 | /* Popover 68 | -------------------------- */ 69 | /* Tooltip 70 | -------------------------- */ 71 | /* Tag 72 | -------------------------- */ 73 | /* Tree 74 | -------------------------- */ 75 | /* Dropdown 76 | -------------------------- */ 77 | /* Badge 78 | -------------------------- */ 79 | /* Card 80 | --------------------------*/ 81 | /* Slider 82 | --------------------------*/ 83 | /* Steps 84 | --------------------------*/ 85 | /* Menu 86 | --------------------------*/ 87 | /* Rate 88 | --------------------------*/ 89 | /* DatePicker 90 | --------------------------*/ 91 | /* Loading 92 | --------------------------*/ 93 | /* Scrollbar 94 | --------------------------*/ 95 | /* Carousel 96 | --------------------------*/ 97 | /* Collapse 98 | --------------------------*/ 99 | /* Transfer 100 | --------------------------*/ 101 | /* Header 102 | --------------------------*/ 103 | /* Footer 104 | --------------------------*/ 105 | /* Main 106 | --------------------------*/ 107 | /* Timeline 108 | --------------------------*/ 109 | /* Break-point 110 | --------------------------*/ 111 | /* Break-points 112 | -------------------------- */ 113 | /* Scrollbar 114 | -------------------------- */ 115 | /* Placeholder 116 | -------------------------- */ 117 | /* BEM 118 | -------------------------- */ 119 | /* Element Chalk Variables */ 120 | /* Transition 121 | -------------------------- */ 122 | /* Color 123 | -------------------------- */ 124 | /* 53a8ff */ 125 | /* 66b1ff */ 126 | /* 79bbff */ 127 | /* 8cc5ff */ 128 | /* a0cfff */ 129 | /* b3d8ff */ 130 | /* c6e2ff */ 131 | /* d9ecff */ 132 | /* ecf5ff */ 133 | /* Link 134 | -------------------------- */ 135 | /* Border 136 | -------------------------- */ 137 | /* Fill 138 | -------------------------- */ 139 | /* Typography 140 | -------------------------- */ 141 | /* Size 142 | -------------------------- */ 143 | /* z-index 144 | -------------------------- */ 145 | /* Disable base 146 | -------------------------- */ 147 | /* Icon 148 | -------------------------- */ 149 | /* Checkbox 150 | -------------------------- */ 151 | /* Radio 152 | -------------------------- */ 153 | /* Select 154 | -------------------------- */ 155 | /* Alert 156 | -------------------------- */ 157 | /* Message Box 158 | -------------------------- */ 159 | /* Message 160 | -------------------------- */ 161 | /* Notification 162 | -------------------------- */ 163 | /* Input 164 | -------------------------- */ 165 | /* Cascader 166 | -------------------------- */ 167 | /* Group 168 | -------------------------- */ 169 | /* Tab 170 | -------------------------- */ 171 | /* Button 172 | -------------------------- */ 173 | /* cascader 174 | -------------------------- */ 175 | /* Switch 176 | -------------------------- */ 177 | /* Dialog 178 | -------------------------- */ 179 | /* Table 180 | -------------------------- */ 181 | /* Pagination 182 | -------------------------- */ 183 | /* Popover 184 | -------------------------- */ 185 | /* Tooltip 186 | -------------------------- */ 187 | /* Tag 188 | -------------------------- */ 189 | /* Tree 190 | -------------------------- */ 191 | /* Dropdown 192 | -------------------------- */ 193 | /* Badge 194 | -------------------------- */ 195 | /* Card 196 | --------------------------*/ 197 | /* Slider 198 | --------------------------*/ 199 | /* Steps 200 | --------------------------*/ 201 | /* Menu 202 | --------------------------*/ 203 | /* Rate 204 | --------------------------*/ 205 | /* DatePicker 206 | --------------------------*/ 207 | /* Loading 208 | --------------------------*/ 209 | /* Scrollbar 210 | --------------------------*/ 211 | /* Carousel 212 | --------------------------*/ 213 | /* Collapse 214 | --------------------------*/ 215 | /* Transfer 216 | --------------------------*/ 217 | /* Header 218 | --------------------------*/ 219 | /* Footer 220 | --------------------------*/ 221 | /* Main 222 | --------------------------*/ 223 | /* Timeline 224 | --------------------------*/ 225 | /* Break-point 226 | --------------------------*/ 227 | .el-timeline { 228 | margin: 0; 229 | font-size: 14px; 230 | list-style: none; } 231 | .el-timeline .el-timeline-item:last-child .el-timeline-item__tail { 232 | display: none; } 233 | --------------------------------------------------------------------------------