├── .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 |
2 |
3 |
4 |
5 |
6 |
7 |
12 |
13 |
50 |
--------------------------------------------------------------------------------
/src/components/common/IconSvg.vue:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
7 |
23 |
24 |
33 |
--------------------------------------------------------------------------------
/src/components/common/commonHeader.vue:
--------------------------------------------------------------------------------
1 |
2 |
23 |
24 |
25 |
60 |
61 |
--------------------------------------------------------------------------------
/src/components/common/sideBar.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
52 |
53 |
54 |
55 |
56 |
132 |
133 |
--------------------------------------------------------------------------------
/src/components/webComponent.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
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 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 | 请稍等……
14 |
15 |
16 |
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 |
2 |
3 |
4 | 登 录
5 |
12 |
13 |
14 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 | 登 录
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
--------------------------------------------------------------------------------
/src/views/pageOne/pageOne.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 | 页面1
4 |
5 |
6 |
18 |
--------------------------------------------------------------------------------
/src/views/pageTwo/pageTwo.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 | 页面2
4 |
5 |
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 |
--------------------------------------------------------------------------------