chore: initial commit
21
.gitignore
vendored
Normal file
@@ -0,0 +1,21 @@
|
||||
.DS_Store
|
||||
node_modules
|
||||
/dist
|
||||
|
||||
# local env files
|
||||
.env.local
|
||||
.env.*.local
|
||||
|
||||
# Log files
|
||||
npm-debug.log*
|
||||
yarn-debug.log*
|
||||
yarn-error.log*
|
||||
|
||||
# Editor directories and files
|
||||
.idea
|
||||
.vscode
|
||||
*.suo
|
||||
*.ntvs*
|
||||
*.njsproj
|
||||
*.sln
|
||||
*.sw*
|
||||
29
README.md
Normal file
@@ -0,0 +1,29 @@
|
||||
# gaojingtv
|
||||
|
||||
## Project setup
|
||||
```
|
||||
npm install
|
||||
```
|
||||
|
||||
### Compiles and hot-reloads for development
|
||||
```
|
||||
npm run serve
|
||||
```
|
||||
|
||||
### Compiles and minifies for production
|
||||
```
|
||||
npm run build
|
||||
```
|
||||
|
||||
### Run your tests
|
||||
```
|
||||
npm run test
|
||||
```
|
||||
|
||||
### Lints and fixes files
|
||||
```
|
||||
npm run lint
|
||||
```
|
||||
|
||||
### Customize configuration
|
||||
See [Configuration Reference](https://cli.vuejs.org/config/).
|
||||
5
babel.config.js
Normal file
@@ -0,0 +1,5 @@
|
||||
module.exports = {
|
||||
presets: [
|
||||
'@vue/app'
|
||||
]
|
||||
}
|
||||
45
build/build.js
Normal file
@@ -0,0 +1,45 @@
|
||||
'use strict'
|
||||
require('./check-versions')()
|
||||
|
||||
process.env.NODE_ENV = 'production'
|
||||
|
||||
const ora = require('ora')
|
||||
const rm = require('rimraf')
|
||||
const path = require('path')
|
||||
const chalk = require('chalk')
|
||||
const webpack = require('webpack')
|
||||
const config = require('../config')
|
||||
const webpackConfig = require('./webpack.prod.conf')
|
||||
|
||||
const spinner = ora('building for production...')
|
||||
spinner.start()
|
||||
|
||||
rm(path.join(config.build.assetsRoot, config.build.assetsSubDirectory), err => {
|
||||
if (err) throw err
|
||||
webpack(webpackConfig, (err, stats) => {
|
||||
spinner.stop()
|
||||
if (err) throw err
|
||||
process.stdout.write(
|
||||
stats.toString({
|
||||
colors: true,
|
||||
modules: false,
|
||||
children: false,
|
||||
chunks: false,
|
||||
chunkModules: false
|
||||
}) + '\n\n'
|
||||
)
|
||||
|
||||
if (stats.hasErrors()) {
|
||||
console.log(chalk.red(' Build failed with errors.\n'))
|
||||
process.exit(1)
|
||||
}
|
||||
|
||||
console.log(chalk.cyan(' Build complete.\n'))
|
||||
console.log(
|
||||
chalk.yellow(
|
||||
' Tip: built files are meant to be served over an HTTP server.\n' +
|
||||
" Opening index.html over file:// won't work.\n"
|
||||
)
|
||||
)
|
||||
})
|
||||
})
|
||||
64
build/check-versions.js
Normal file
@@ -0,0 +1,64 @@
|
||||
'use strict'
|
||||
const chalk = require('chalk')
|
||||
const semver = require('semver')
|
||||
const packageConfig = require('../package.json')
|
||||
const shell = require('shelljs')
|
||||
|
||||
function exec(cmd) {
|
||||
return require('child_process')
|
||||
.execSync(cmd)
|
||||
.toString()
|
||||
.trim()
|
||||
}
|
||||
|
||||
const versionRequirements = [
|
||||
{
|
||||
name: 'node',
|
||||
currentVersion: semver.clean(process.version),
|
||||
versionRequirement: packageConfig.engines.node
|
||||
}
|
||||
]
|
||||
|
||||
if (shell.which('npm')) {
|
||||
versionRequirements.push({
|
||||
name: 'npm',
|
||||
currentVersion: exec('npm --version'),
|
||||
versionRequirement: packageConfig.engines.npm
|
||||
})
|
||||
}
|
||||
|
||||
module.exports = function() {
|
||||
const warnings = []
|
||||
|
||||
for (let i = 0; i < versionRequirements.length; i++) {
|
||||
const mod = versionRequirements[i]
|
||||
|
||||
if (!semver.satisfies(mod.currentVersion, mod.versionRequirement)) {
|
||||
warnings.push(
|
||||
mod.name +
|
||||
': ' +
|
||||
chalk.red(mod.currentVersion) +
|
||||
' should be ' +
|
||||
chalk.green(mod.versionRequirement)
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
if (warnings.length) {
|
||||
console.log('')
|
||||
console.log(
|
||||
chalk.yellow(
|
||||
'To use this template, you must update following to modules:'
|
||||
)
|
||||
)
|
||||
console.log()
|
||||
|
||||
for (let i = 0; i < warnings.length; i++) {
|
||||
const warning = warnings[i]
|
||||
console.log(' ' + warning)
|
||||
}
|
||||
|
||||
console.log()
|
||||
process.exit(1)
|
||||
}
|
||||
}
|
||||
BIN
build/logo.png
Normal file
|
After Width: | Height: | Size: 6.7 KiB |
108
build/utils.js
Normal file
@@ -0,0 +1,108 @@
|
||||
'use strict'
|
||||
const path = require('path')
|
||||
const config = require('../config')
|
||||
const MiniCssExtractPlugin = require('mini-css-extract-plugin')
|
||||
const packageConfig = require('../package.json')
|
||||
|
||||
exports.assetsPath = function(_path) {
|
||||
const assetsSubDirectory =
|
||||
process.env.NODE_ENV === 'production'
|
||||
? config.build.assetsSubDirectory
|
||||
: config.dev.assetsSubDirectory
|
||||
|
||||
return path.posix.join(assetsSubDirectory, _path)
|
||||
}
|
||||
|
||||
exports.cssLoaders = function(options) {
|
||||
options = options || {}
|
||||
|
||||
const cssLoader = {
|
||||
loader: 'css-loader',
|
||||
options: {
|
||||
sourceMap: options.sourceMap
|
||||
}
|
||||
}
|
||||
|
||||
const postcssLoader = {
|
||||
loader: 'postcss-loader',
|
||||
options: {
|
||||
sourceMap: options.sourceMap
|
||||
}
|
||||
}
|
||||
|
||||
// generate loader string to be used with extract text plugin
|
||||
function generateLoaders(loader, loaderOptions) {
|
||||
const loaders = []
|
||||
|
||||
// Extract CSS when that option is specified
|
||||
// (which is the case during production build)
|
||||
if (options.extract) {
|
||||
loaders.push(MiniCssExtractPlugin.loader)
|
||||
} else {
|
||||
loaders.push('vue-style-loader')
|
||||
}
|
||||
|
||||
loaders.push(cssLoader)
|
||||
|
||||
if (options.usePostCSS) {
|
||||
loaders.push(postcssLoader)
|
||||
}
|
||||
|
||||
if (loader) {
|
||||
loaders.push({
|
||||
loader: loader + '-loader',
|
||||
options: Object.assign({}, loaderOptions, {
|
||||
sourceMap: options.sourceMap
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
return loaders
|
||||
}
|
||||
// https://vue-loader.vuejs.org/en/configurations/extract-css.html
|
||||
return {
|
||||
css: generateLoaders(),
|
||||
postcss: generateLoaders(),
|
||||
less: generateLoaders('less'),
|
||||
sass: generateLoaders('sass', {
|
||||
indentedSyntax: true
|
||||
}),
|
||||
scss: generateLoaders('sass'),
|
||||
stylus: generateLoaders('stylus'),
|
||||
styl: generateLoaders('stylus')
|
||||
}
|
||||
}
|
||||
|
||||
// Generate loaders for standalone style files (outside of .vue)
|
||||
exports.styleLoaders = function(options) {
|
||||
const output = []
|
||||
const loaders = exports.cssLoaders(options)
|
||||
|
||||
for (const extension in loaders) {
|
||||
const loader = loaders[extension]
|
||||
output.push({
|
||||
test: new RegExp('\\.' + extension + '$'),
|
||||
use: loader
|
||||
})
|
||||
}
|
||||
|
||||
return output
|
||||
}
|
||||
|
||||
exports.createNotifierCallback = () => {
|
||||
const notifier = require('node-notifier')
|
||||
|
||||
return (severity, errors) => {
|
||||
if (severity !== 'error') return
|
||||
|
||||
const error = errors[0]
|
||||
const filename = error.file && error.file.split('!').pop()
|
||||
|
||||
notifier.notify({
|
||||
title: packageConfig.name,
|
||||
message: severity + ': ' + error.name,
|
||||
subtitle: filename || '',
|
||||
icon: path.join(__dirname, 'logo.png')
|
||||
})
|
||||
}
|
||||
}
|
||||
5
build/vue-loader.conf.js
Normal file
@@ -0,0 +1,5 @@
|
||||
'use strict'
|
||||
|
||||
module.exports = {
|
||||
//You can set the vue-loader configuration by yourself.
|
||||
}
|
||||
110
build/webpack.base.conf.js
Normal file
@@ -0,0 +1,110 @@
|
||||
'use strict'
|
||||
const path = require('path')
|
||||
const utils = require('./utils')
|
||||
const config = require('../config')
|
||||
const { VueLoaderPlugin } = require('vue-loader')
|
||||
const vueLoaderConfig = require('./vue-loader.conf')
|
||||
|
||||
function resolve(dir) {
|
||||
return path.join(__dirname, '..', dir)
|
||||
}
|
||||
|
||||
const createLintingRule = () => ({
|
||||
test: /\.(js|vue)$/,
|
||||
loader: 'eslint-loader',
|
||||
enforce: 'pre',
|
||||
include: [resolve('src'), resolve('test')],
|
||||
options: {
|
||||
formatter: require('eslint-friendly-formatter'),
|
||||
emitWarning: !config.dev.showEslintErrorsInOverlay
|
||||
}
|
||||
})
|
||||
|
||||
module.exports = {
|
||||
context: path.resolve(__dirname, '../'),
|
||||
entry: {
|
||||
app: './src/main.js'
|
||||
},
|
||||
output: {
|
||||
path: config.build.assetsRoot,
|
||||
filename: '[name].js',
|
||||
publicPath:
|
||||
process.env.NODE_ENV === 'production'
|
||||
? config.build.assetsPublicPath
|
||||
: config.dev.assetsPublicPath
|
||||
},
|
||||
resolve: {
|
||||
extensions: ['.js', '.vue', '.json'],
|
||||
alias: {
|
||||
'vue$': 'vue/dist/vue.esm.js',
|
||||
'@': resolve('src'),
|
||||
'scss_vars': '@/styles/vars.scss',
|
||||
'excel': path.resolve(__dirname, '../src/excel'),//新增加一行
|
||||
}
|
||||
},
|
||||
module: {
|
||||
rules: [
|
||||
...(config.dev.useEslint ? [createLintingRule()] : []),
|
||||
{
|
||||
test: /\.vue$/,
|
||||
loader: 'vue-loader',
|
||||
options: vueLoaderConfig
|
||||
},
|
||||
{
|
||||
test: /\.js$/,
|
||||
loader: 'babel-loader',
|
||||
include: [
|
||||
resolve('src'),
|
||||
resolve('test'),
|
||||
resolve('node_modules/webpack-dev-server/client')
|
||||
]
|
||||
},
|
||||
{
|
||||
test: /\.svg$/,
|
||||
loader: 'svg-sprite-loader',
|
||||
include: [resolve('src/icons')],
|
||||
options: {
|
||||
symbolId: 'icon-[name]'
|
||||
}
|
||||
},
|
||||
{
|
||||
test: /\.(png|jpe?g|gif|svg)(\?.*)?$/,
|
||||
loader: 'url-loader',
|
||||
exclude: [resolve('src/icons')],
|
||||
options: {
|
||||
limit: 10000,
|
||||
name: utils.assetsPath('img/[name].[hash:7].[ext]')
|
||||
}
|
||||
},
|
||||
{
|
||||
test: /\.(mp4|webm|ogg|mp3|wav|flac|aac)(\?.*)?$/,
|
||||
loader: 'url-loader',
|
||||
options: {
|
||||
limit: 10000,
|
||||
name: utils.assetsPath('media/[name].[hash:7].[ext]')
|
||||
}
|
||||
},
|
||||
{
|
||||
test: /\.(woff2?|eot|ttf|otf)(\?.*)?$/,
|
||||
loader: 'url-loader',
|
||||
options: {
|
||||
limit: 10000,
|
||||
name: utils.assetsPath('fonts/[name].[hash:7].[ext]')
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
plugins: [new VueLoaderPlugin()],
|
||||
node: {
|
||||
// prevent webpack from injecting useless setImmediate polyfill because Vue
|
||||
// source contains it (although only uses it if it's native).
|
||||
setImmediate: false,
|
||||
// prevent webpack from injecting mocks to Node native modules
|
||||
// that does not make sense for the client
|
||||
dgram: 'empty',
|
||||
fs: 'empty',
|
||||
net: 'empty',
|
||||
tls: 'empty',
|
||||
child_process: 'empty'
|
||||
}
|
||||
}
|
||||
98
build/webpack.dev.conf.js
Normal file
@@ -0,0 +1,98 @@
|
||||
'use strict'
|
||||
const path = require('path')
|
||||
const utils = require('./utils')
|
||||
const webpack = require('webpack')
|
||||
const config = require('../config')
|
||||
const merge = require('webpack-merge')
|
||||
const baseWebpackConfig = require('./webpack.base.conf')
|
||||
const HtmlWebpackPlugin = require('html-webpack-plugin')
|
||||
const FriendlyErrorsPlugin = require('friendly-errors-webpack-plugin')
|
||||
const portfinder = require('portfinder')
|
||||
|
||||
function resolve(dir) {
|
||||
return path.join(__dirname, '..', dir)
|
||||
}
|
||||
|
||||
const HOST = process.env.HOST
|
||||
const PORT = process.env.PORT && Number(process.env.PORT)
|
||||
|
||||
const devWebpackConfig = merge(baseWebpackConfig, {
|
||||
mode: 'development',
|
||||
module: {
|
||||
rules: utils.styleLoaders({
|
||||
sourceMap: config.dev.cssSourceMap,
|
||||
usePostCSS: true
|
||||
})
|
||||
},
|
||||
// cheap-module-eval-source-map is faster for development
|
||||
devtool: config.dev.devtool,
|
||||
|
||||
// these devServer options should be customized in /config/index.js
|
||||
devServer: {
|
||||
clientLogLevel: 'warning',
|
||||
historyApiFallback: true,
|
||||
hot: true,
|
||||
compress: true,
|
||||
host: HOST || config.dev.host,
|
||||
port: PORT || config.dev.port,
|
||||
open: config.dev.autoOpenBrowser,
|
||||
overlay: config.dev.errorOverlay
|
||||
? { warnings: false, errors: true }
|
||||
: false,
|
||||
publicPath: config.dev.assetsPublicPath,
|
||||
proxy: config.dev.proxyTable,
|
||||
quiet: true, // necessary for FriendlyErrorsPlugin
|
||||
watchOptions: {
|
||||
poll: config.dev.poll
|
||||
}
|
||||
},
|
||||
plugins: [
|
||||
new webpack.DefinePlugin({
|
||||
'process.env': require('../config/dev.env')
|
||||
}),
|
||||
new webpack.HotModuleReplacementPlugin(),
|
||||
// https://github.com/ampedandwired/html-webpack-plugin
|
||||
new HtmlWebpackPlugin({
|
||||
filename: 'EquipmentConditionAnalysis.vue.html',
|
||||
template: 'EquipmentConditionAnalysis.vue.html',
|
||||
inject: true,
|
||||
favicon: resolve('favicon.ico'),
|
||||
title: 'vue-element-admin',
|
||||
templateParameters: {
|
||||
BASE_URL: config.dev.assetsPublicPath + config.dev.assetsSubDirectory
|
||||
}
|
||||
})
|
||||
]
|
||||
})
|
||||
|
||||
module.exports = new Promise((resolve, reject) => {
|
||||
portfinder.basePort = process.env.PORT || config.dev.port
|
||||
portfinder.getPort((err, port) => {
|
||||
if (err) {
|
||||
reject(err)
|
||||
} else {
|
||||
// publish the new Port, necessary for e2e tests
|
||||
process.env.PORT = port
|
||||
// add port to devServer config
|
||||
devWebpackConfig.devServer.port = port
|
||||
|
||||
// Add FriendlyErrorsPlugin
|
||||
devWebpackConfig.plugins.push(
|
||||
new FriendlyErrorsPlugin({
|
||||
compilationSuccessInfo: {
|
||||
messages: [
|
||||
`Your application is running here: http://${
|
||||
devWebpackConfig.devServer.host
|
||||
}:${port}`
|
||||
]
|
||||
},
|
||||
onErrors: config.dev.notifyOnErrors
|
||||
? utils.createNotifierCallback()
|
||||
: undefined
|
||||
})
|
||||
)
|
||||
|
||||
resolve(devWebpackConfig)
|
||||
}
|
||||
})
|
||||
})
|
||||
181
build/webpack.prod.conf.js
Normal file
@@ -0,0 +1,181 @@
|
||||
'use strict'
|
||||
const path = require('path')
|
||||
const utils = require('./utils')
|
||||
const webpack = require('webpack')
|
||||
const config = require('../config')
|
||||
const merge = require('webpack-merge')
|
||||
const baseWebpackConfig = require('./webpack.base.conf')
|
||||
const CopyWebpackPlugin = require('copy-webpack-plugin')
|
||||
const HtmlWebpackPlugin = require('html-webpack-plugin')
|
||||
const ScriptExtHtmlWebpackPlugin = require('script-ext-html-webpack-plugin')
|
||||
const MiniCssExtractPlugin = require('mini-css-extract-plugin')
|
||||
const OptimizeCSSAssetsPlugin = require('optimize-css-assets-webpack-plugin')
|
||||
const UglifyJsPlugin = require('uglifyjs-webpack-plugin')
|
||||
|
||||
function resolve(dir) {
|
||||
return path.join(__dirname, '..', dir)
|
||||
}
|
||||
|
||||
const env = require('../config/prod.env')
|
||||
|
||||
// For NamedChunksPlugin
|
||||
const seen = new Set()
|
||||
const nameLength = 4
|
||||
|
||||
const webpackConfig = merge(baseWebpackConfig, {
|
||||
mode: 'production',
|
||||
module: {
|
||||
rules: utils.styleLoaders({
|
||||
sourceMap: config.build.productionSourceMap,
|
||||
extract: true,
|
||||
usePostCSS: true
|
||||
})
|
||||
},
|
||||
devtool: config.build.productionSourceMap ? config.build.devtool : false,
|
||||
output: {
|
||||
path: config.build.assetsRoot,
|
||||
filename: utils.assetsPath('js/[name].[chunkhash:8].js'),
|
||||
chunkFilename: utils.assetsPath('js/[name].[chunkhash:8].js')
|
||||
},
|
||||
plugins: [
|
||||
// http://vuejs.github.io/vue-loader/en/workflow/production.html
|
||||
new webpack.DefinePlugin({
|
||||
'process.env': env
|
||||
}),
|
||||
// extract css into its own file
|
||||
new MiniCssExtractPlugin({
|
||||
filename: utils.assetsPath('css/[name].[contenthash:8].css'),
|
||||
chunkFilename: utils.assetsPath('css/[name].[contenthash:8].css')
|
||||
}),
|
||||
// generate dist index.html with correct asset hash for caching.
|
||||
// you can customize output by editing /index.html
|
||||
// see https://github.com/ampedandwired/html-webpack-plugin
|
||||
new HtmlWebpackPlugin({
|
||||
filename: config.build.index,
|
||||
template: 'EquipmentConditionAnalysis.vue.html',
|
||||
inject: true,
|
||||
favicon: resolve('favicon.ico'),
|
||||
title: 'vue-admin-template',
|
||||
templateParameters: {
|
||||
BASE_URL: config.build.assetsPublicPath + config.build.assetsSubDirectory
|
||||
},
|
||||
minify: {
|
||||
removeComments: true,
|
||||
collapseWhitespace: true,
|
||||
removeAttributeQuotes: true
|
||||
// more options:
|
||||
// https://github.com/kangax/html-minifier#options-quick-reference
|
||||
}
|
||||
// default sort mode uses toposort which cannot handle cyclic deps
|
||||
// in certain cases, and in webpack 4, chunk order in HTML doesn't
|
||||
// matter anyway
|
||||
}),
|
||||
new ScriptExtHtmlWebpackPlugin({
|
||||
// `runtime` must same as runtimeChunk name. default is `runtime`
|
||||
inline: /runtime\..*\.js$/
|
||||
}),
|
||||
// keep chunk.id stable when chunk has no name
|
||||
new webpack.NamedChunksPlugin(chunk => {
|
||||
if (chunk.name) {
|
||||
return chunk.name
|
||||
}
|
||||
const modules = Array.from(chunk.modulesIterable)
|
||||
if (modules.length > 1) {
|
||||
const hash = require('hash-sum')
|
||||
const joinedHash = hash(modules.map(m => m.id).join('_'))
|
||||
let len = nameLength
|
||||
while (seen.has(joinedHash.substr(0, len))) len++
|
||||
seen.add(joinedHash.substr(0, len))
|
||||
return `chunk-${joinedHash.substr(0, len)}`
|
||||
} else {
|
||||
return modules[0].id
|
||||
}
|
||||
}),
|
||||
// keep module.id stable when vender modules does not change
|
||||
new webpack.HashedModuleIdsPlugin(),
|
||||
// copy custom static assets
|
||||
new CopyWebpackPlugin([
|
||||
{
|
||||
from: path.resolve(__dirname, '../static'),
|
||||
to: config.build.assetsSubDirectory,
|
||||
ignore: ['.*']
|
||||
}
|
||||
])
|
||||
],
|
||||
optimization: {
|
||||
splitChunks: {
|
||||
chunks: 'all',
|
||||
cacheGroups: {
|
||||
libs: {
|
||||
name: 'chunk-libs',
|
||||
test: /[\\/]node_modules[\\/]/,
|
||||
priority: 10,
|
||||
chunks: 'initial' // 只打包初始时依赖的第三方
|
||||
},
|
||||
elementUI: {
|
||||
name: 'chunk-elementUI', // 单独将 elementUI 拆包
|
||||
priority: 20, // 权重要大于 libs 和 app 不然会被打包进 libs 或者 app
|
||||
test: /[\\/]node_modules[\\/]element-ui[\\/]/
|
||||
}
|
||||
}
|
||||
},
|
||||
runtimeChunk: 'single',
|
||||
minimizer: [
|
||||
new UglifyJsPlugin({
|
||||
uglifyOptions: {
|
||||
mangle: {
|
||||
safari10: true
|
||||
}
|
||||
},
|
||||
sourceMap: config.build.productionSourceMap,
|
||||
cache: true,
|
||||
parallel: true
|
||||
}),
|
||||
// Compress extracted CSS. We are using this plugin so that possible
|
||||
// duplicated CSS from different components can be deduped.
|
||||
new OptimizeCSSAssetsPlugin()
|
||||
]
|
||||
}
|
||||
})
|
||||
|
||||
if (config.build.productionGzip) {
|
||||
const CompressionWebpackPlugin = require('compression-webpack-plugin')
|
||||
|
||||
webpackConfig.plugins.push(
|
||||
new CompressionWebpackPlugin({
|
||||
asset: '[path].gz[query]',
|
||||
algorithm: 'gzip',
|
||||
test: new RegExp(
|
||||
'\\.(' + config.build.productionGzipExtensions.join('|') + ')$'
|
||||
),
|
||||
threshold: 10240,
|
||||
minRatio: 0.8
|
||||
})
|
||||
)
|
||||
}
|
||||
|
||||
if (config.build.generateAnalyzerReport || config.build.bundleAnalyzerReport) {
|
||||
const BundleAnalyzerPlugin = require('webpack-bundle-analyzer')
|
||||
.BundleAnalyzerPlugin
|
||||
|
||||
if (config.build.bundleAnalyzerReport) {
|
||||
webpackConfig.plugins.push(
|
||||
new BundleAnalyzerPlugin({
|
||||
analyzerPort: 8080,
|
||||
generateStatsFile: false
|
||||
})
|
||||
)
|
||||
}
|
||||
|
||||
if (config.build.generateAnalyzerReport) {
|
||||
webpackConfig.plugins.push(
|
||||
new BundleAnalyzerPlugin({
|
||||
analyzerMode: 'static',
|
||||
reportFilename: 'bundle-report.html',
|
||||
openAnalyzer: false
|
||||
})
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = webpackConfig
|
||||
8
config/dev.env.js
Normal file
@@ -0,0 +1,8 @@
|
||||
'use strict'
|
||||
const merge = require('webpack-merge')
|
||||
const prodEnv = require('./prod.env')
|
||||
|
||||
module.exports = merge(prodEnv, {
|
||||
NODE_ENV: '"development"',
|
||||
BASE_API: '"https://easy-mock.com/mock/5950a2419adc231f356a6636/vue-admin"',
|
||||
})
|
||||
91
config/index.js
Normal file
@@ -0,0 +1,91 @@
|
||||
'use strict'
|
||||
// Template version: 1.2.6
|
||||
// see http://vuejs-templates.github.io/webpack for documentation.
|
||||
|
||||
const path = require('path')
|
||||
const os = require('os')
|
||||
|
||||
const networkInterfaces = os.networkInterfaces()
|
||||
|
||||
// const ip = networkInterfaces['WLAN'][1] ? networkInterfaces['WLAN'][1].address : networkInterfaces['WLAN'][0].address
|
||||
const ip = '192.168.1.17'
|
||||
|
||||
module.exports = {
|
||||
dev: {
|
||||
// Paths
|
||||
assetsSubDirectory: 'static',
|
||||
// assetsPublicPath: '/GQMobile/',
|
||||
assetsPublicPath: '/',
|
||||
proxyTable: {},
|
||||
// Various Dev Server settings
|
||||
host: ip, // can be overwritten by process.env.HOST
|
||||
port: 9528, // can be overwritten by process.env.PORT, if port is in use, a free one will be determined
|
||||
autoOpenBrowser: true,
|
||||
errorOverlay: true,
|
||||
notifyOnErrors: false,
|
||||
poll: false, // https://webpack.js.org/configuration/dev-server/#devserver-watchoptions-
|
||||
// Use Eslint Loader?
|
||||
// If true, your code will be linted during bundling and
|
||||
// linting errors and warnings will be shown in the console.
|
||||
useEslint: true,
|
||||
// If true, eslint errors and warnings will also be shown in the error overlay
|
||||
// in the browser.
|
||||
showEslintErrorsInOverlay: false,
|
||||
|
||||
/**
|
||||
* Source Maps
|
||||
*/
|
||||
|
||||
// https://webpack.js.org/configuration/devtool/#development
|
||||
devtool: 'cheap-source-map',
|
||||
|
||||
// CSS Sourcemaps off by default because relative paths are "buggy"
|
||||
// with this option, according to the CSS-Loader README
|
||||
// (https://github.com/webpack/css-loader#sourcemaps)
|
||||
// In our experience, they generally work as expected,
|
||||
// just be aware of this issue when enabling this option.
|
||||
cssSourceMap: false
|
||||
},
|
||||
|
||||
build: {
|
||||
// Template for index.html
|
||||
index: path.resolve(__dirname, '../dist/index.html'),
|
||||
|
||||
// Paths
|
||||
assetsRoot: path.resolve(__dirname, '../dist'),
|
||||
assetsSubDirectory: 'static',
|
||||
|
||||
/**
|
||||
* You can set by youself according to actual condition
|
||||
* You will need to set this if you plan to deploy your site under a sub path,
|
||||
* for example GitHub pages. If you plan to deploy your site to https://foo.github.io/bar/,
|
||||
* then assetsPublicPath should be set to "/bar/".
|
||||
* In most cases please use '/' !!!
|
||||
*/
|
||||
assetsPublicPath: '/',
|
||||
|
||||
/**
|
||||
* Source Maps
|
||||
*/
|
||||
|
||||
productionSourceMap: false,
|
||||
// https://webpack.js.org/configuration/devtool/#production
|
||||
devtool: 'source-map',
|
||||
|
||||
// Gzip off by default as many popular static hosts such as
|
||||
// Surge or Netlify already gzip all static assets for you.
|
||||
// Before setting to `true`, make sure to:
|
||||
// npm install --save-dev compression-webpack-plugin
|
||||
productionGzip: false,
|
||||
productionGzipExtensions: ['js', 'css'],
|
||||
|
||||
// Run the build command with an extra argument to
|
||||
// View the bundle analyzer report after build finishes:
|
||||
// `npm run build --report`
|
||||
// Set to `true` or `false` to always turn it on or off
|
||||
bundleAnalyzerReport: process.env.npm_config_report || false,
|
||||
|
||||
// `npm run build:prod --generate_report`
|
||||
generateAnalyzerReport: process.env.npm_config_generate_report || false
|
||||
}
|
||||
}
|
||||
5
config/prod.env.js
Normal file
@@ -0,0 +1,5 @@
|
||||
'use strict'
|
||||
module.exports = {
|
||||
NODE_ENV: '"production"',
|
||||
BASE_API: '"https://easy-mock.com/mock/5950a2419adc231f356a6636/vue-admin"',
|
||||
}
|
||||
15469
package-lock.json
generated
Normal file
390
package.json
Normal file
@@ -0,0 +1,390 @@
|
||||
{
|
||||
"name": "zhongchetv",
|
||||
"version": "0.1.0",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
"serve": "vue-cli-service serve",
|
||||
"build": "vue-cli-service build",
|
||||
"lint": "vue-cli-service lint",
|
||||
"svgo": "svgo -f src/icons/svg --config=src/icons/svgo.yml"
|
||||
},
|
||||
"dependencies": {
|
||||
"@jiaminghi/data-view": "^2.10.0",
|
||||
"axios": "^0.21.4",
|
||||
"echarts": "^5.3.1",
|
||||
"element-ui": "^2.8.2",
|
||||
"file-saver": "^2.0.2",
|
||||
"js-cookie": "^2.2.1",
|
||||
"js-export-excel": "^1.1.2",
|
||||
"mint-ui": "^2.2.13",
|
||||
"mqtt": "^4.3.7",
|
||||
"node-sass": "^4.14.1",
|
||||
"qrcode": "^1.4.4",
|
||||
"qs": "^6.9.0",
|
||||
"sass-loader": "^7.3.1",
|
||||
"uuid": "^8.3.2",
|
||||
"video.js": "^7.20.3",
|
||||
"videojs-flash": "^2.2.1",
|
||||
"vue": "^2.6.6",
|
||||
"vue-jsonp": "^0.1.8",
|
||||
"vue-router": "^3.0.1",
|
||||
"vue-seamless-scroll": "^1.1.21",
|
||||
"vue-video-player": "^6.0.0",
|
||||
"vuex": "^3.0.1",
|
||||
"xlsx": "^0.17.1",
|
||||
"xlsx-style": "^0.8.13"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@vue/cli-plugin-babel": "^3.5.0",
|
||||
"@vue/cli-plugin-eslint": "^3.5.0",
|
||||
"@vue/cli-service": "^3.5.0",
|
||||
"babel-eslint": "^10.0.1",
|
||||
"eslint": "^5.8.0",
|
||||
"eslint-plugin-vue": "^5.0.0",
|
||||
"jquery": "^2.2.4",
|
||||
"node-sass": "^4.14.1",
|
||||
"script-loader": "^0.7.2",
|
||||
"svg-sprite-loader": "^5.1.1",
|
||||
"vue-particles": "^1.0.9",
|
||||
"vue-template-compiler": "^2.5.21"
|
||||
},
|
||||
"eslintConfig": {
|
||||
"root": true,
|
||||
"env": {
|
||||
"node": true
|
||||
},
|
||||
"extends": [
|
||||
"plugin:vue/essential",
|
||||
"eslint:recommended"
|
||||
],
|
||||
"rules": {
|
||||
"vue/max-attributes-per-line": [
|
||||
2,
|
||||
{
|
||||
"singleline": 10,
|
||||
"multiline": {
|
||||
"max": 1,
|
||||
"allowFirstLine": false
|
||||
}
|
||||
}
|
||||
],
|
||||
"vue/name-property-casing": [
|
||||
"error",
|
||||
"PascalCase"
|
||||
],
|
||||
"accessor-pairs": 2,
|
||||
"arrow-spacing": [
|
||||
2,
|
||||
{
|
||||
"before": true,
|
||||
"after": true
|
||||
}
|
||||
],
|
||||
"block-spacing": [
|
||||
2,
|
||||
"always"
|
||||
],
|
||||
"brace-style": [
|
||||
2,
|
||||
"1tbs",
|
||||
{
|
||||
"allowSingleLine": true
|
||||
}
|
||||
],
|
||||
"camelcase": [
|
||||
0,
|
||||
{
|
||||
"properties": "always"
|
||||
}
|
||||
],
|
||||
"comma-dangle": [
|
||||
2,
|
||||
"never"
|
||||
],
|
||||
"comma-spacing": [
|
||||
2,
|
||||
{
|
||||
"before": false,
|
||||
"after": true
|
||||
}
|
||||
],
|
||||
"comma-style": [
|
||||
2,
|
||||
"last"
|
||||
],
|
||||
"constructor-super": 2,
|
||||
"curly": [
|
||||
2,
|
||||
"multi-line"
|
||||
],
|
||||
"dot-location": [
|
||||
2,
|
||||
"property"
|
||||
],
|
||||
"eol-last": 2,
|
||||
"eqeqeq": [
|
||||
2,
|
||||
"allow-null"
|
||||
],
|
||||
"generator-star-spacing": [
|
||||
2,
|
||||
{
|
||||
"before": true,
|
||||
"after": true
|
||||
}
|
||||
],
|
||||
"handle-callback-err": [
|
||||
2,
|
||||
"^(err|error)$"
|
||||
],
|
||||
"indent": [
|
||||
2,
|
||||
2,
|
||||
{
|
||||
"SwitchCase": 1
|
||||
}
|
||||
],
|
||||
"jsx-quotes": [
|
||||
2,
|
||||
"prefer-single"
|
||||
],
|
||||
"key-spacing": [
|
||||
2,
|
||||
{
|
||||
"beforeColon": false,
|
||||
"afterColon": true
|
||||
}
|
||||
],
|
||||
"keyword-spacing": [
|
||||
2,
|
||||
{
|
||||
"before": true,
|
||||
"after": true
|
||||
}
|
||||
],
|
||||
"new-cap": [
|
||||
2,
|
||||
{
|
||||
"newIsCap": true,
|
||||
"capIsNew": false
|
||||
}
|
||||
],
|
||||
"new-parens": 2,
|
||||
"no-array-constructor": 2,
|
||||
"no-caller": 2,
|
||||
"no-console": "off",
|
||||
"no-class-assign": 2,
|
||||
"no-cond-assign": 2,
|
||||
"no-const-assign": 2,
|
||||
"no-control-regex": 2,
|
||||
"no-delete-var": 2,
|
||||
"no-dupe-args": 2,
|
||||
"no-dupe-class-members": 2,
|
||||
"no-dupe-keys": 2,
|
||||
"no-duplicate-case": 2,
|
||||
"no-empty-character-class": 2,
|
||||
"no-empty-pattern": 2,
|
||||
"no-eval": 2,
|
||||
"no-ex-assign": 2,
|
||||
"no-extend-native": 2,
|
||||
"no-extra-bind": 2,
|
||||
"no-extra-boolean-cast": 2,
|
||||
"no-extra-parens": [
|
||||
2,
|
||||
"functions"
|
||||
],
|
||||
"no-fallthrough": 2,
|
||||
"no-floating-decimal": 2,
|
||||
"no-func-assign": 2,
|
||||
"no-implied-eval": 2,
|
||||
"no-inner-declarations": [
|
||||
2,
|
||||
"functions"
|
||||
],
|
||||
"no-invalid-regexp": 2,
|
||||
"no-irregular-whitespace": 2,
|
||||
"no-iterator": 2,
|
||||
"no-label-var": 2,
|
||||
"no-labels": [
|
||||
2,
|
||||
{
|
||||
"allowLoop": false,
|
||||
"allowSwitch": false
|
||||
}
|
||||
],
|
||||
"no-lone-blocks": 2,
|
||||
"no-mixed-spaces-and-tabs": 2,
|
||||
"no-multi-spaces": 2,
|
||||
"no-multi-str": 2,
|
||||
"no-multiple-empty-lines": [
|
||||
2,
|
||||
{
|
||||
"max": 1
|
||||
}
|
||||
],
|
||||
"no-native-reassign": 2,
|
||||
"no-negated-in-lhs": 2,
|
||||
"no-new-object": 2,
|
||||
"no-new-require": 2,
|
||||
"no-new-symbol": 2,
|
||||
"no-new-wrappers": 2,
|
||||
"no-obj-calls": 2,
|
||||
"no-octal": 2,
|
||||
"no-octal-escape": 2,
|
||||
"no-path-concat": 2,
|
||||
"no-proto": 2,
|
||||
"no-redeclare": 2,
|
||||
"no-regex-spaces": 2,
|
||||
"no-return-assign": [
|
||||
2,
|
||||
"except-parens"
|
||||
],
|
||||
"no-self-assign": 2,
|
||||
"no-self-compare": 2,
|
||||
"no-sequences": 2,
|
||||
"no-shadow-restricted-names": 2,
|
||||
"no-spaced-func": 2,
|
||||
"no-sparse-arrays": 2,
|
||||
"no-this-before-super": 2,
|
||||
"no-throw-literal": 2,
|
||||
"no-trailing-spaces": 2,
|
||||
"no-undef": 2,
|
||||
"no-undef-init": 2,
|
||||
"no-unexpected-multiline": 2,
|
||||
"no-unmodified-loop-condition": 2,
|
||||
"no-unneeded-ternary": [
|
||||
2,
|
||||
{
|
||||
"defaultAssignment": false
|
||||
}
|
||||
],
|
||||
"no-unreachable": 2,
|
||||
"no-unsafe-finally": 2,
|
||||
"no-unused-vars": [
|
||||
2,
|
||||
{
|
||||
"vars": "all",
|
||||
"args": "none"
|
||||
}
|
||||
],
|
||||
"no-useless-call": 2,
|
||||
"no-useless-computed-key": 2,
|
||||
"no-useless-constructor": 2,
|
||||
"no-useless-escape": 0,
|
||||
"no-whitespace-before-property": 2,
|
||||
"no-with": 2,
|
||||
"one-var": [
|
||||
2,
|
||||
{
|
||||
"initialized": "never"
|
||||
}
|
||||
],
|
||||
"operator-linebreak": [
|
||||
2,
|
||||
"after",
|
||||
{
|
||||
"overrides": {
|
||||
"?": "before",
|
||||
":": "before"
|
||||
}
|
||||
}
|
||||
],
|
||||
"padded-blocks": [
|
||||
2,
|
||||
"never"
|
||||
],
|
||||
"quotes": [
|
||||
2,
|
||||
"single",
|
||||
{
|
||||
"avoidEscape": true,
|
||||
"allowTemplateLiterals": true
|
||||
}
|
||||
],
|
||||
"semi": [
|
||||
2,
|
||||
"never"
|
||||
],
|
||||
"semi-spacing": [
|
||||
2,
|
||||
{
|
||||
"before": false,
|
||||
"after": true
|
||||
}
|
||||
],
|
||||
"space-before-blocks": [
|
||||
2,
|
||||
"always"
|
||||
],
|
||||
"space-before-function-paren": [
|
||||
2,
|
||||
"never"
|
||||
],
|
||||
"space-in-parens": [
|
||||
2,
|
||||
"never"
|
||||
],
|
||||
"space-infix-ops": 2,
|
||||
"space-unary-ops": [
|
||||
2,
|
||||
{
|
||||
"words": true,
|
||||
"nonwords": false
|
||||
}
|
||||
],
|
||||
"spaced-comment": [
|
||||
2,
|
||||
"always",
|
||||
{
|
||||
"markers": [
|
||||
"global",
|
||||
"globals",
|
||||
"eslint",
|
||||
"eslint-disable",
|
||||
"*package",
|
||||
"!",
|
||||
","
|
||||
]
|
||||
}
|
||||
],
|
||||
"template-curly-spacing": [
|
||||
2,
|
||||
"never"
|
||||
],
|
||||
"use-isnan": 2,
|
||||
"valid-typeof": 2,
|
||||
"wrap-iife": [
|
||||
2,
|
||||
"any"
|
||||
],
|
||||
"yield-star-spacing": [
|
||||
2,
|
||||
"both"
|
||||
],
|
||||
"yoda": [
|
||||
2,
|
||||
"never"
|
||||
],
|
||||
"prefer-const": 2,
|
||||
"object-curly-spacing": [
|
||||
2,
|
||||
"always",
|
||||
{
|
||||
"objectsInObjects": false
|
||||
}
|
||||
],
|
||||
"array-bracket-spacing": [
|
||||
2,
|
||||
"never"
|
||||
]
|
||||
},
|
||||
"parserOptions": {
|
||||
"parser": "babel-eslint"
|
||||
}
|
||||
},
|
||||
"browserslist": [
|
||||
"> 1%",
|
||||
"last 2 versions",
|
||||
"not ie <= 8"
|
||||
]
|
||||
}
|
||||
BIN
public/Snipaste_2025-02-19_15-49-05.png
Normal file
|
After Width: | Height: | Size: 553 KiB |
57
public/config.js
Normal file
@@ -0,0 +1,57 @@
|
||||
window.g = {
|
||||
mqttClient: null,
|
||||
mqttSubscriptionTopic: 'MES/InstantMessaging/XD_GLKG/#',
|
||||
mqttPublishTopic: 'WEB/InstantMessaging/XD_GLKG/MisServer',
|
||||
mqttIP: '192.168.1.200',
|
||||
mqttPortNumber: '8083',
|
||||
// baseURL: 'http://192.168.1.200:10000/submit/MESCommonBase.ashx',
|
||||
baseURL: 'http://127.0.0.1:10180/submit/MESCommonBase.ashx',
|
||||
lineType: 'ZZ',
|
||||
// 可选值:'GLKG' | 'DLQ' | 'ZZ'
|
||||
}
|
||||
window.tvData = {
|
||||
生产数据: {
|
||||
今日计划: 6,
|
||||
上线数量: 3,
|
||||
下线数量: 4,
|
||||
合格率: 100,
|
||||
月产量: 51,
|
||||
月合格率: 100
|
||||
},
|
||||
生产计划: [
|
||||
{
|
||||
订单号: 'NA24012_OB02S',
|
||||
产品型号: 'MXC(150)',
|
||||
工件编号: 'NA24012_OB02S',
|
||||
上线时间: '2024-07-17 10:19:36',
|
||||
下线时间: '2024-07-17 10:23:36',
|
||||
是否合格: 1
|
||||
},
|
||||
{
|
||||
订单号: 'NA24012_OB02X',
|
||||
产品型号: 'MXC(150)',
|
||||
工件编号: 'NA24012_OB02X',
|
||||
上线时间: '2024-07-17 12:19:36',
|
||||
下线时间: '2024-07-17 14:23:36',
|
||||
是否合格: 2
|
||||
},
|
||||
{
|
||||
订单号: 'NA24012_OB06S',
|
||||
产品型号: 'MXC(150)',
|
||||
工件编号: 'NA24012_OB06S',
|
||||
上线时间: '2024-07-17 13:19:36',
|
||||
下线时间: '2024-07-17 15:23:36',
|
||||
是否合格: 1
|
||||
}
|
||||
],
|
||||
JPH日: {
|
||||
y: ['08', '09', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20'],
|
||||
上线: [7, 4, 3, 0, 0, 0, 4, 2, 1, 1, 2, 0, 0],
|
||||
下线: [2, 1, 2, 1, 0, 0, 4, 1, 4, 3, 8, 0, 0]
|
||||
},
|
||||
JPH月: {
|
||||
y: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28],
|
||||
上线: [7, 25, 2, 23, 22, 2, 5, 7, 8, 3, 4, 2, 47, 4, 14, 16, 16, 18, 24, 14, 9, 0, 23, 1, 31, 4, 11, 6],
|
||||
下线: [5, 1, 2, 5, 13, 6, 7, 2, 1, 6, 4, 2, 18, 12, 7, 3, 1, 5, 24, 6, 2, 13, 6, 8, 24, 8, 45, 24]
|
||||
}
|
||||
}
|
||||
BIN
public/favicon.ico
Normal file
|
After Width: | Height: | Size: 1.1 KiB |
26
public/index.html
Normal file
@@ -0,0 +1,26 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width,initial-scale=1.0">
|
||||
<link rel="icon" href="<%= BASE_URL %>favicon.ico">
|
||||
<title>设备信息展示平台</title>
|
||||
<script type="text/javascript">
|
||||
document.write("<script src='./config.js?v=" + new Date().getTime() + "'><\/script>");
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<noscript>
|
||||
<strong>We're sorry but gaojingtv doesn't work properly without JavaScript enabled. Please enable it to continue.</strong>
|
||||
</noscript>
|
||||
<div id="app"></div>
|
||||
<!-- built files will be auto injected -->
|
||||
</body>
|
||||
</html>
|
||||
<style slot-scope="true">
|
||||
body{
|
||||
/*background-color: #5B9BD5;*/
|
||||
/*background:rgba(0,0,0,0.2);*/
|
||||
}
|
||||
</style>
|
||||
32
public/layou.json
Normal file
@@ -0,0 +1,32 @@
|
||||
{
|
||||
"layout": [
|
||||
{
|
||||
"opName": "OP010",
|
||||
"opNameShow": "OP010",
|
||||
"dir": 2,
|
||||
"left": "340px",
|
||||
"top": "7px"
|
||||
},
|
||||
{
|
||||
"opName": "OP020",
|
||||
"opNameShow": "OP020",
|
||||
"dir": 2,
|
||||
"left": "750px",
|
||||
"top": "7px"
|
||||
},
|
||||
{
|
||||
"opName": "OP030",
|
||||
"opNameShow": "OP030",
|
||||
"dir": 2,
|
||||
"left": "1140px",
|
||||
"top": "7px"
|
||||
},
|
||||
{
|
||||
"opName": "OP040",
|
||||
"opNameShow": "OP040",
|
||||
"dir": 2,
|
||||
"left": "1470px",
|
||||
"top": "7px"
|
||||
}
|
||||
]
|
||||
}
|
||||
BIN
public/layout.png
Normal file
|
After Width: | Height: | Size: 91 KiB |
25
public/layoutDLQ.json
Normal file
@@ -0,0 +1,25 @@
|
||||
{
|
||||
"layout": [
|
||||
{
|
||||
"opName": "AC0601",
|
||||
"opNameShow": "AC0601",
|
||||
"dir": 2,
|
||||
"left": "250px",
|
||||
"top": "30px"
|
||||
},
|
||||
{
|
||||
"opName": "AC0602",
|
||||
"opNameShow": "AC0602",
|
||||
"dir": 2,
|
||||
"left": "700px",
|
||||
"top": "30px"
|
||||
},
|
||||
{
|
||||
"opName": "AC0603",
|
||||
"opNameShow": "AC0603",
|
||||
"dir": 2,
|
||||
"left": "1300px",
|
||||
"top": "30px"
|
||||
}
|
||||
]
|
||||
}
|
||||
BIN
public/layoutDLQ.png
Normal file
|
After Width: | Height: | Size: 780 KiB |
BIN
public/layoutDLQ_Back.png
Normal file
|
After Width: | Height: | Size: 119 KiB |
BIN
public/layoutDetails2.png
Normal file
|
After Width: | Height: | Size: 69 KiB |
60
public/layoutGLKG.json
Normal file
@@ -0,0 +1,60 @@
|
||||
{
|
||||
"layout": [
|
||||
{
|
||||
"opName": "AC0901",
|
||||
"opNameShow": "AC0901",
|
||||
"dir": 2,
|
||||
"left": "100px",
|
||||
"top": "30px"
|
||||
},
|
||||
{
|
||||
"opName": "AC0902",
|
||||
"opNameShow": "AC0902",
|
||||
"dir": 2,
|
||||
"left": "400px",
|
||||
"top": "30px"
|
||||
},
|
||||
{
|
||||
"opName": "AC0903",
|
||||
"opNameShow": "AC0903",
|
||||
"dir": 2,
|
||||
"left": "610px",
|
||||
"top": "30px"
|
||||
},
|
||||
{
|
||||
"opName": "AC0904",
|
||||
"opNameShow": "AC0904",
|
||||
"dir": 2,
|
||||
"left": "890px",
|
||||
"top": "30px"
|
||||
},
|
||||
{
|
||||
"opName": "AC0905",
|
||||
"opNameShow": "AC0905",
|
||||
"dir": 2,
|
||||
"left": "1090px",
|
||||
"top": "30px"
|
||||
},
|
||||
{
|
||||
"opName": "AC0906",
|
||||
"opNameShow": "AC0906",
|
||||
"dir": 2,
|
||||
"left": "1270px",
|
||||
"top": "30px"
|
||||
},
|
||||
{
|
||||
"opName": "AC0907",
|
||||
"opNameShow": "AC0907",
|
||||
"dir": 2,
|
||||
"left": "1390px",
|
||||
"top": "30px"
|
||||
},
|
||||
{
|
||||
"opName": "AC0908",
|
||||
"opNameShow": "AC0908",
|
||||
"dir": 2,
|
||||
"left": "1630px",
|
||||
"top": "30px"
|
||||
}
|
||||
]
|
||||
}
|
||||
BIN
public/layoutGLKG.png
Normal file
|
After Width: | Height: | Size: 779 KiB |
143
public/layoutZZ copy.json
Normal file
@@ -0,0 +1,143 @@
|
||||
{
|
||||
"layout": [
|
||||
{
|
||||
"opName": "AC1101",
|
||||
"opNameShow": "AC1101",
|
||||
"dir": 2,
|
||||
"left": "140px",
|
||||
"top": "30px"
|
||||
},
|
||||
{
|
||||
"opName": "AC1102",
|
||||
"opNameShow": "AC1102",
|
||||
"dir": 2,
|
||||
"left": "430px",
|
||||
"top": "30px"
|
||||
},
|
||||
{
|
||||
"opName": "AC1103",
|
||||
"opNameShow": "AC1103",
|
||||
"dir": 2,
|
||||
"left": "580px",
|
||||
"top": "30px"
|
||||
},
|
||||
{
|
||||
"opName": "AC1104_1",
|
||||
"opNameShow": "AC1104-1",
|
||||
"dir": 2,
|
||||
"left": "750px",
|
||||
"top": "30px"
|
||||
},
|
||||
{
|
||||
"opName": "AC1104_2",
|
||||
"opNameShow": "AC1104-2",
|
||||
"dir": 1,
|
||||
"left": "750px",
|
||||
"top": "200px"
|
||||
},
|
||||
{
|
||||
"opName": "AC1104_3",
|
||||
"opNameShow": "AC1104-3",
|
||||
"dir": 2,
|
||||
"left": "825px",
|
||||
"top": "30px"
|
||||
},
|
||||
{
|
||||
"opName": "AC1104_4",
|
||||
"opNameShow": "AC1104-4",
|
||||
"dir": 1,
|
||||
"left": "825px",
|
||||
"top": "200px"
|
||||
},
|
||||
{
|
||||
"opName": "AC1104_5",
|
||||
"opNameShow": "AC1104-5",
|
||||
"dir": 2,
|
||||
"left": "900px",
|
||||
"top": "30px"
|
||||
},
|
||||
{
|
||||
"opName": "AC1104_6",
|
||||
"opNameShow": "AC1104-6",
|
||||
"dir": 1,
|
||||
"left": "900px",
|
||||
"top": "200px"
|
||||
},
|
||||
{
|
||||
"opName": "AC1104_7",
|
||||
"opNameShow": "AC1104-7",
|
||||
"dir": 2,
|
||||
"left": "975px",
|
||||
"top": "30px"
|
||||
},
|
||||
{
|
||||
"opName": "AC1104_8",
|
||||
"opNameShow": "AC1104-8",
|
||||
"dir": 1,
|
||||
"left": "975px",
|
||||
"top": "200px"
|
||||
},
|
||||
{
|
||||
"opName": "AC1104_9",
|
||||
"opNameShow": "AC1104-9",
|
||||
"dir": 2,
|
||||
"left": "1050px",
|
||||
"top": "30px"
|
||||
},
|
||||
{
|
||||
"opName": "AC1104_10",
|
||||
"opNameShow": "AC1104-10",
|
||||
"dir": 1,
|
||||
"left": "1050px",
|
||||
"top": "200px"
|
||||
},
|
||||
{
|
||||
"opName": "AC1105",
|
||||
"opNameShow": "AC1105",
|
||||
"dir": 2,
|
||||
"left": "1350px",
|
||||
"top": "200px"
|
||||
},
|
||||
{
|
||||
"opName": "AC1106",
|
||||
"opNameShow": "AC1106",
|
||||
"dir": 2,
|
||||
"left": "1250px",
|
||||
"top": "30px"
|
||||
},
|
||||
{
|
||||
"opName": "AC1107",
|
||||
"opNameShow": "AC1107",
|
||||
"dir": 2,
|
||||
"left": "1420px",
|
||||
"top": "30px"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
|
||||
{
|
||||
"layout": [
|
||||
{
|
||||
"opName": "AC1101",
|
||||
"opNameShow": "AC1101",
|
||||
"dir": 2,
|
||||
"left": "520px",
|
||||
"top": "35px"
|
||||
},
|
||||
{
|
||||
"opName": "AC1102",
|
||||
"opNameShow": "AC1102",
|
||||
"dir": 2,
|
||||
"left": "962px",
|
||||
"top": "80px"
|
||||
},
|
||||
{
|
||||
"opName": "AC1103",
|
||||
"opNameShow": "AC1103",
|
||||
"dir": 2,
|
||||
"left": "1420px",
|
||||
"top": "85px"
|
||||
}
|
||||
]
|
||||
}
|
||||
116
public/layoutZZ.json
Normal file
@@ -0,0 +1,116 @@
|
||||
{
|
||||
"layout": [
|
||||
{
|
||||
"opName": "AC1101",
|
||||
"opNameShow": "AC1101",
|
||||
"dir": 2,
|
||||
"left": "300px",
|
||||
"top": "35px"
|
||||
},
|
||||
{
|
||||
"opName": "AC1102",
|
||||
"opNameShow": "AC1102",
|
||||
"dir": 2,
|
||||
"left": "545px",
|
||||
"top": "80px"
|
||||
},
|
||||
{
|
||||
"opName": "AC1103",
|
||||
"opNameShow": "AC1103",
|
||||
"dir": 2,
|
||||
"left": "800px",
|
||||
"top": "85px"
|
||||
},
|
||||
{
|
||||
"opName": "AC1104_1",
|
||||
"opNameShow": "AC1104-1",
|
||||
"dir": 2,
|
||||
"left": "970px",
|
||||
"top": "35px"
|
||||
},
|
||||
{
|
||||
"opName": "AC1104_2",
|
||||
"opNameShow": "AC1104-2",
|
||||
"dir": 1,
|
||||
"left": "970px",
|
||||
"top": "205px"
|
||||
},
|
||||
{
|
||||
"opName": "AC1104_3",
|
||||
"opNameShow": "AC1104-3",
|
||||
"dir": 2,
|
||||
"left": "1045px",
|
||||
"top": "35px"
|
||||
},
|
||||
{
|
||||
"opName": "AC1104_4",
|
||||
"opNameShow": "AC1104-4",
|
||||
"dir": 1,
|
||||
"left": "1045px",
|
||||
"top": "205px"
|
||||
},
|
||||
{
|
||||
"opName": "AC1104_5",
|
||||
"opNameShow": "AC1104-5",
|
||||
"dir": 2,
|
||||
"left": "1120px",
|
||||
"top": "35px"
|
||||
},
|
||||
{
|
||||
"opName": "AC1104_6",
|
||||
"opNameShow": "AC1104-6",
|
||||
"dir": 1,
|
||||
"left": "1120px",
|
||||
"top": "205px"
|
||||
},
|
||||
{
|
||||
"opName": "AC1104_7",
|
||||
"opNameShow": "AC1104-7",
|
||||
"dir": 2,
|
||||
"left": "1195px",
|
||||
"top": "35px"
|
||||
},
|
||||
{
|
||||
"opName": "AC1104_8",
|
||||
"opNameShow": "AC1104-8",
|
||||
"dir": 1,
|
||||
"left": "1195px",
|
||||
"top": "205px"
|
||||
},
|
||||
{
|
||||
"opName": "AC1104_9",
|
||||
"opNameShow": "AC1104-9",
|
||||
"dir": 2,
|
||||
"left": "1270px",
|
||||
"top": "35px"
|
||||
},
|
||||
{
|
||||
"opName": "AC1104_10",
|
||||
"opNameShow": "AC1104-10",
|
||||
"dir": 1,
|
||||
"left": "1270px",
|
||||
"top": "205px"
|
||||
},
|
||||
{
|
||||
"opName": "AC1105",
|
||||
"opNameShow": "AC1105",
|
||||
"dir": 2,
|
||||
"left": "1525px",
|
||||
"top": "200px"
|
||||
},
|
||||
{
|
||||
"opName": "AC1106",
|
||||
"opNameShow": "AC1106",
|
||||
"dir": 2,
|
||||
"left": "1458px",
|
||||
"top": "78px"
|
||||
},
|
||||
{
|
||||
"opName": "AC1107",
|
||||
"opNameShow": "AC1107",
|
||||
"dir": 2,
|
||||
"left": "1585px",
|
||||
"top": "85px"
|
||||
}
|
||||
]
|
||||
}
|
||||
BIN
public/layoutZZ.png
Normal file
|
After Width: | Height: | Size: 780 KiB |
BIN
public/logo.png
Normal file
|
After Width: | Height: | Size: 625 KiB |
BIN
public/workstationImg/A10.png
Normal file
|
After Width: | Height: | Size: 161 KiB |
BIN
public/workstationImg/A20.png
Normal file
|
After Width: | Height: | Size: 138 KiB |
BIN
public/workstationImg/A50.png
Normal file
|
After Width: | Height: | Size: 128 KiB |
BIN
public/workstationImg/B40.png
Normal file
|
After Width: | Height: | Size: 150 KiB |
BIN
public/workstationImg/OP010.png
Normal file
|
After Width: | Height: | Size: 141 KiB |
BIN
public/workstationImg/OP020.png
Normal file
|
After Width: | Height: | Size: 142 KiB |
BIN
public/workstationImg/OP030.png
Normal file
|
After Width: | Height: | Size: 150 KiB |
BIN
public/workstationImg/OP040.png
Normal file
|
After Width: | Height: | Size: 143 KiB |
BIN
public/workstationImg/OP050.png
Normal file
|
After Width: | Height: | Size: 110 KiB |
BIN
public/workstationImg/OP060.png
Normal file
|
After Width: | Height: | Size: 130 KiB |
BIN
public/workstationImg/OP070.png
Normal file
|
After Width: | Height: | Size: 152 KiB |
BIN
public/workstationImg/OP080.png
Normal file
|
After Width: | Height: | Size: 125 KiB |
BIN
public/workstationImg/OP090.png
Normal file
|
After Width: | Height: | Size: 135 KiB |
BIN
public/workstationImg/OP100.png
Normal file
|
After Width: | Height: | Size: 142 KiB |
BIN
public/workstationImg/OP10A.png
Normal file
|
After Width: | Height: | Size: 572 KiB |
21
src/App.vue
Normal file
@@ -0,0 +1,21 @@
|
||||
<template>
|
||||
<div id="app">
|
||||
<div id="nav">
|
||||
<!--<router-link to="/">Home</router-link> |-->
|
||||
<!--<router-link to="/about">About</router-link>-->
|
||||
</div>
|
||||
<keep-alive>
|
||||
<router-view v-if="this.$route.meta.keepAlive"/>
|
||||
</keep-alive>
|
||||
<router-view v-if="!this.$route.meta.keepAlive"/>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<style>
|
||||
#app {
|
||||
font-family: 'Avenir', Helvetica, Arial, sans-serif;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
color: #2c3e50;
|
||||
}
|
||||
</style>
|
||||
24
src/api/AlarmInformation.js
Normal file
@@ -0,0 +1,24 @@
|
||||
import request from '@/utils/request'
|
||||
// 电子看板_线体上下线数量统计_查询
|
||||
export function ANDON_select() {
|
||||
return request({
|
||||
url: '',
|
||||
method: 'post',
|
||||
data: {
|
||||
type: '1',
|
||||
name: 'ANDON_大屏幕显示',
|
||||
param: 'WorkShopType=A'
|
||||
}
|
||||
})
|
||||
}
|
||||
export function deleteANDON(param1, param2, param3, param4, param5) {
|
||||
return request({
|
||||
url: '',
|
||||
method: 'post',
|
||||
data: {
|
||||
type: '1',
|
||||
name: 'MES_机加工MES_设备数据采集_报警信息处理_大屏幕',
|
||||
param: '时间_check=' + param1 + '&开始时间=' + param2 + '&结束时间=' + param3 + '&工位号=' + param4 + '&报警类型=' + param5
|
||||
}
|
||||
})
|
||||
}
|
||||
@@ -0,0 +1,69 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
export function getData(num, num1, pageCurrent, pageSize) {
|
||||
return request({
|
||||
url: '',
|
||||
method: 'post',
|
||||
data: {
|
||||
type: '1',
|
||||
name: '车间生产管理_设备运行情况_查询数据',
|
||||
param: '工位号=' + num + '&日期=' + num1,
|
||||
pagination: pageCurrent + '&' + pageSize
|
||||
}
|
||||
})
|
||||
}
|
||||
export function getData1(num) {
|
||||
return request({
|
||||
url: '',
|
||||
method: 'post',
|
||||
data: {
|
||||
type: '1',
|
||||
name: '车间生产管理_设备运行情况_查询数据_全员',
|
||||
param: '日期=' + num
|
||||
}
|
||||
})
|
||||
}
|
||||
export function getData2(num, num1, num2) {
|
||||
return request({
|
||||
url: '',
|
||||
method: 'post',
|
||||
data: {
|
||||
type: '1',
|
||||
name: '车间生产管理_设备运行情况_查询数据_折线图',
|
||||
param: '工位号=' + num + '&开始时间=' + num1 + '&结束时间=' + num2
|
||||
}
|
||||
})
|
||||
}
|
||||
export function getData3(num, num1, num2) {
|
||||
return request({
|
||||
url: '',
|
||||
method: 'post',
|
||||
data: {
|
||||
type: '1',
|
||||
name: '车间生产管理_设备运行情况_查询数据_状态分布图',
|
||||
param: '工位号=' + num + '&开始时间=' + num1 + '&结束时间=' + num2
|
||||
}
|
||||
})
|
||||
}
|
||||
// 初始化 人员和工位
|
||||
export function getMachine() {
|
||||
return request({
|
||||
url: '',
|
||||
method: 'post',
|
||||
data: {
|
||||
type: '1',
|
||||
name: 'MES_机加工MES_工位名称_查询'
|
||||
}
|
||||
})
|
||||
}
|
||||
// 初始化 状态
|
||||
export function searchState() {
|
||||
return request({
|
||||
url: '',
|
||||
method: 'post',
|
||||
data: {
|
||||
type: '1',
|
||||
name: 'MES_机加工MES_设备状态查询_初始化'
|
||||
}
|
||||
})
|
||||
}
|
||||
24
src/api/TVA.js
Normal file
@@ -0,0 +1,24 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
export function machineTypeSelect(num, num1, num2, num3, num4) {
|
||||
return request({
|
||||
url: '',
|
||||
method: 'post',
|
||||
data: {
|
||||
type: '1',
|
||||
name: 'MES_机加工MES_设备数据采集_预测性维修修改_修改',
|
||||
param: '工位号=' + num + '&运行时间=' + num1 + '&运行周期=' + num2 + '&备注=' + num3 + '&维护项目ID=' + num4
|
||||
}
|
||||
})
|
||||
}
|
||||
export function machineTypeEdit(num, num1) {
|
||||
return request({
|
||||
url: '',
|
||||
method: 'post',
|
||||
data: {
|
||||
type: '1',
|
||||
name: 'MES_机加工MES_设备数据采集_预测性维修维护_维护',
|
||||
param: '工位号=' + num + '&@维护项目ID=' + num1
|
||||
}
|
||||
})
|
||||
}
|
||||
34
src/api/TVC.js
Normal file
@@ -0,0 +1,34 @@
|
||||
import request from '@/utils/request'
|
||||
// 电子看板_线体上下线数量统计_查询
|
||||
export function ANDON_select() {
|
||||
return request({
|
||||
url: '',
|
||||
method: 'post',
|
||||
data: {
|
||||
type: '1',
|
||||
name: 'ANDON_大屏幕显示',
|
||||
param: 'WorkShopType=A'
|
||||
}
|
||||
})
|
||||
}
|
||||
//
|
||||
export function progressSpeed() {
|
||||
return request({
|
||||
url: '',
|
||||
method: 'post',
|
||||
data: {
|
||||
type: '1',
|
||||
name: 'ANDON_订单信息_查询'
|
||||
}
|
||||
})
|
||||
}
|
||||
export function ANDON_countselect() {
|
||||
return request({
|
||||
url: '',
|
||||
method: 'post',
|
||||
data: {
|
||||
type: '1',
|
||||
name: 'ANDON_实时呼叫分类统计_查询'
|
||||
}
|
||||
})
|
||||
}
|
||||
156
src/api/digitalSignage.js
Normal file
@@ -0,0 +1,156 @@
|
||||
import request from '@/utils/request'
|
||||
// 电子看板_线体上下线数量统计_查询
|
||||
export function numberCount() {
|
||||
return request({
|
||||
url: '',
|
||||
method: 'post',
|
||||
data: {
|
||||
type: '1',
|
||||
name: 'MES_机加工MES_设备数据采集_设备实时电流电压_查询'
|
||||
}
|
||||
})
|
||||
}
|
||||
// 电子看板_计划产量更新_大柴
|
||||
export function ConfirmSubmit() {
|
||||
return request({
|
||||
url: '',
|
||||
method: 'post',
|
||||
data: {
|
||||
type: '2',
|
||||
name: '电子看板_计划产量更新_大柴',
|
||||
param: '今日目标=' + arguments[0] + '&当班目标=' + arguments[1]
|
||||
}
|
||||
})
|
||||
}
|
||||
// 电子看板_历史订单查询_大柴
|
||||
export function histroyorder() {
|
||||
return request({
|
||||
url: '',
|
||||
method: 'post',
|
||||
data: {
|
||||
type: '1',
|
||||
name: '电子看板_历史订单查询_大柴'
|
||||
}
|
||||
})
|
||||
}
|
||||
// 获取开机时间
|
||||
export function switchontime() {
|
||||
return request({
|
||||
url: '',
|
||||
method: 'post',
|
||||
data: {
|
||||
type: '3',
|
||||
name: 'select top 1 开关机时间 from[dbo].[MES_机加工MES_设备数据采集_开关机状态_历史数据表] where 工位号 = \'OP6010\' and 开关机状态代码 = \'1\' order by 序号 desc'
|
||||
}
|
||||
})
|
||||
}
|
||||
// 获取关机机时间
|
||||
export function switchofftime() {
|
||||
return request({
|
||||
url: '',
|
||||
method: 'post',
|
||||
data: {
|
||||
type: '3',
|
||||
name: 'select top 1 开关机时间 from[dbo].[MES_机加工MES_设备数据采集_开关机状态_历史数据表] where 工位号 = \'OP6010\' and 开关机状态代码 = \'0\' order by 序号 desc'
|
||||
}
|
||||
})
|
||||
}
|
||||
// 获取设备利用率
|
||||
export function obtainequipmentutilization() {
|
||||
return request({
|
||||
url: '',
|
||||
method: 'post',
|
||||
data: {
|
||||
type: '1',
|
||||
name: '设备利用率负载率_查询_大屏幕'
|
||||
}
|
||||
})
|
||||
}
|
||||
// 电子看板_工位缺陷统计_查询
|
||||
export function defectSelect() {
|
||||
return request({
|
||||
url: '',
|
||||
method: 'post',
|
||||
data: {
|
||||
type: '1',
|
||||
name: '电子看板_工位缺陷统计_查询'
|
||||
}
|
||||
})
|
||||
}
|
||||
// 电子看板_班次产量_查询
|
||||
export function classSelect() {
|
||||
return request({
|
||||
url: '',
|
||||
method: 'post',
|
||||
data: {
|
||||
type: '1',
|
||||
name: '电子看板_班次产量_查询'
|
||||
}
|
||||
})
|
||||
}
|
||||
// 电子看板_OEE_查询
|
||||
export function OEESelect() {
|
||||
return request({
|
||||
url: '',
|
||||
method: 'post',
|
||||
data: {
|
||||
type: '1',
|
||||
name: '电子看板_OEE_查询'
|
||||
}
|
||||
})
|
||||
}
|
||||
// 大柴OEE柱状图
|
||||
export function histogram() {
|
||||
return request({
|
||||
url: '',
|
||||
method: 'post',
|
||||
data: {
|
||||
type: '1',
|
||||
name: '测量数据_过站信息_瓶颈工位显示'
|
||||
}
|
||||
})
|
||||
}
|
||||
// 大柴内装柱状图
|
||||
export function histogram51() {
|
||||
return request({
|
||||
url: '',
|
||||
method: 'post',
|
||||
data: {
|
||||
type: '1',
|
||||
name: '测量数据_过站信息_内装瓶颈工位显示top10'
|
||||
}
|
||||
})
|
||||
}
|
||||
// 大柴外装柱状图
|
||||
export function histogram52() {
|
||||
return request({
|
||||
url: '',
|
||||
method: 'post',
|
||||
data: {
|
||||
type: '1',
|
||||
name: '测量数据_过站信息_外装瓶颈工位显示top10'
|
||||
}
|
||||
})
|
||||
}
|
||||
// 电子看板_工位缺陷统计_查询
|
||||
export function getStates() {
|
||||
return request({
|
||||
url: '',
|
||||
method: 'post',
|
||||
data: {
|
||||
type: '1',
|
||||
name: 'MES_设备数据采集_查询额定电流'
|
||||
}
|
||||
})
|
||||
}
|
||||
export function machineTypeSelect() {
|
||||
return request({
|
||||
url: '',
|
||||
method: 'post',
|
||||
data: {
|
||||
type: '1',
|
||||
name: 'MES_设备数据采集_备件直采_查询',
|
||||
param: '工位号_check=' + arguments[0] + '&工位号=' + arguments[1]
|
||||
}
|
||||
})
|
||||
}
|
||||
133
src/api/test.js
Normal file
@@ -0,0 +1,133 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
// 判断登陆角色
|
||||
export function judgeRole() {
|
||||
return request({
|
||||
url: '',
|
||||
method: 'post',
|
||||
data: {
|
||||
type: '1',
|
||||
name: '菜单模块系统_人员角色_查询数据_根据人角色编号',
|
||||
param: '编号=' + arguments[0]
|
||||
}
|
||||
})
|
||||
}
|
||||
// 初始化MU
|
||||
export function initMU() {
|
||||
return request({
|
||||
url: '',
|
||||
method: 'post',
|
||||
data: {
|
||||
type: '1',
|
||||
name: '菜单模块系统_人员角色_查询数据_父节点_部门查询',
|
||||
param: '人员编号=' + arguments[0] + '&部门代码=' + '0'
|
||||
}
|
||||
})
|
||||
}
|
||||
// 查询生产奖金
|
||||
export function searchBonus() {
|
||||
return request({
|
||||
url: '',
|
||||
method: 'post',
|
||||
data: {
|
||||
type: '1',
|
||||
name: '奖金绩效系统_蓝领奖金基数查询',
|
||||
param: '月份=' + arguments[0] + '&MU_Department=' + arguments[1]
|
||||
}
|
||||
})
|
||||
}
|
||||
// 除MU外部门查询Segment
|
||||
export function selectSegment() {
|
||||
return request({
|
||||
url: '',
|
||||
method: 'post',
|
||||
data: {
|
||||
type: '1',
|
||||
name: '菜单模块系统_人员角色_查询数据_父节点_部门查询',
|
||||
param: '人员编号=' + arguments[0] + '&部门代码=' + arguments[1]
|
||||
}
|
||||
})
|
||||
}
|
||||
// MU查询Segment
|
||||
export function selectSegmentForMU() {
|
||||
return request({
|
||||
url: '',
|
||||
method: 'post',
|
||||
data: {
|
||||
type: '1',
|
||||
name: '菜单模块系统_人员角色_查询数据_父节点_Segment',
|
||||
param: '人员编号=' + arguments[0] + '&部门代码=' + arguments[1]
|
||||
}
|
||||
})
|
||||
}
|
||||
// 除Segment外部门查询PV
|
||||
export function selectPV() {
|
||||
return request({
|
||||
url: '',
|
||||
method: 'post',
|
||||
data: {
|
||||
type: '1',
|
||||
name: '菜单模块系统_人员角色_查询数据_父节点_部门查询',
|
||||
param: '人员编号=' + arguments[0] + '&部门代码=' + arguments[1]
|
||||
}
|
||||
})
|
||||
}
|
||||
// Segment查询PV
|
||||
export function selectPVForSegment() {
|
||||
return request({
|
||||
url: '',
|
||||
method: 'post',
|
||||
data: {
|
||||
type: '1',
|
||||
name: '菜单模块系统_人员角色_查询数据_父节点_PV',
|
||||
param: '人员编号=' + arguments[0] + '&部门代码=' + arguments[1]
|
||||
}
|
||||
})
|
||||
}
|
||||
// 执行保存
|
||||
export function handleSave() {
|
||||
return request({
|
||||
url: '',
|
||||
method: 'post',
|
||||
data: {
|
||||
type: '2',
|
||||
name: '奖金绩效系统_蓝领奖金基数修改_MU',
|
||||
param: 'id=' + arguments[0] + '&奖金基数=' + arguments[1]
|
||||
}
|
||||
})
|
||||
}
|
||||
// 确认审核
|
||||
export function ConfirmSubmit() {
|
||||
return request({
|
||||
url: '',
|
||||
method: 'post',
|
||||
data: {
|
||||
type: '2',
|
||||
name: '奖金绩效系统_蓝领奖金基数确认审核_MU',
|
||||
param: '月份=' + arguments[0] + '&MU_Department=' + arguments[1]
|
||||
}
|
||||
})
|
||||
}
|
||||
// 是否确认审核
|
||||
export function isCanConfirmSubmit() {
|
||||
return request({
|
||||
url: '',
|
||||
method: 'post',
|
||||
data: {
|
||||
type: '1',
|
||||
name: '奖金绩效系统_蓝领奖金基数确认审核_是否可以审核',
|
||||
param: '月份=' + arguments[0] + '&MU_Department=' + arguments[1]
|
||||
}
|
||||
})
|
||||
}
|
||||
// 查询冻结权限
|
||||
export function initrole() {
|
||||
return request({
|
||||
url: '',
|
||||
method: 'post',
|
||||
data: {
|
||||
type: '1',
|
||||
name: '输入权限判断'
|
||||
}
|
||||
})
|
||||
}
|
||||
BIN
src/assets/image/GQlogo.png
Normal file
|
After Width: | Height: | Size: 11 KiB |
BIN
src/assets/image/MT.png
Normal file
|
After Width: | Height: | Size: 66 KiB |
BIN
src/assets/image/OP1010.jpg
Normal file
|
After Width: | Height: | Size: 5.9 MiB |
BIN
src/assets/image/OP1010.png
Normal file
|
After Width: | Height: | Size: 2.2 MiB |
BIN
src/assets/image/OP1020.jpg
Normal file
|
After Width: | Height: | Size: 2.7 MiB |
BIN
src/assets/image/OP1030.jpg
Normal file
|
After Width: | Height: | Size: 4.2 MiB |
BIN
src/assets/image/OP6010.jpg
Normal file
|
After Width: | Height: | Size: 104 KiB |
BIN
src/assets/image/OP6010.png
Normal file
|
After Width: | Height: | Size: 104 KiB |
BIN
src/assets/image/OP6020.jpg
Normal file
|
After Width: | Height: | Size: 566 KiB |
BIN
src/assets/image/OP60202.png
Normal file
|
After Width: | Height: | Size: 765 KiB |
BIN
src/assets/image/OP6030.jpg
Normal file
|
After Width: | Height: | Size: 313 KiB |
BIN
src/assets/image/OP6040.jpg
Normal file
|
After Width: | Height: | Size: 413 KiB |
BIN
src/assets/image/OP6050.jpg
Normal file
|
After Width: | Height: | Size: 422 KiB |
BIN
src/assets/image/OP6060.jpg
Normal file
|
After Width: | Height: | Size: 427 KiB |
BIN
src/assets/image/OP6070.jpg
Normal file
|
After Width: | Height: | Size: 524 KiB |
BIN
src/assets/image/OP6080.jpg
Normal file
|
After Width: | Height: | Size: 483 KiB |
BIN
src/assets/image/OP6090.jpg
Normal file
|
After Width: | Height: | Size: 360 KiB |
BIN
src/assets/image/OP6100.jpg
Normal file
|
After Width: | Height: | Size: 490 KiB |
BIN
src/assets/image/OP6110.jpg
Normal file
|
After Width: | Height: | Size: 439 KiB |
BIN
src/assets/image/OP6120.jpg
Normal file
|
After Width: | Height: | Size: 383 KiB |
BIN
src/assets/image/OP6130.jpg
Normal file
|
After Width: | Height: | Size: 400 KiB |
BIN
src/assets/image/OP6140.jpg
Normal file
|
After Width: | Height: | Size: 511 KiB |
BIN
src/assets/image/OP6150.jpg
Normal file
|
After Width: | Height: | Size: 352 KiB |
BIN
src/assets/image/OP6160.jpg
Normal file
|
After Width: | Height: | Size: 460 KiB |
BIN
src/assets/image/OP6170.jpg
Normal file
|
After Width: | Height: | Size: 388 KiB |
BIN
src/assets/image/OP6180.jpg
Normal file
|
After Width: | Height: | Size: 651 KiB |
BIN
src/assets/image/OP6190.jpg
Normal file
|
After Width: | Height: | Size: 769 KiB |
BIN
src/assets/image/OP6200.jpg
Normal file
|
After Width: | Height: | Size: 431 KiB |
BIN
src/assets/image/OP6210.jpg
Normal file
|
After Width: | Height: | Size: 431 KiB |
BIN
src/assets/image/WCLOGO.png
Normal file
|
After Width: | Height: | Size: 27 KiB |
BIN
src/assets/image/arrow_down.png
Normal file
|
After Width: | Height: | Size: 3.2 KiB |
BIN
src/assets/image/arrow_right.png
Normal file
|
After Width: | Height: | Size: 3.2 KiB |
BIN
src/assets/image/arrow_up.png
Normal file
|
After Width: | Height: | Size: 3.2 KiB |
BIN
src/assets/image/fangxiang.png
Normal file
|
After Width: | Height: | Size: 12 KiB |
BIN
src/assets/image/gaojingLogo2.png
Normal file
|
After Width: | Height: | Size: 6.7 KiB |
BIN
src/assets/image/index_modile_logo.png
Normal file
|
After Width: | Height: | Size: 55 KiB |
BIN
src/assets/image/s1.png
Normal file
|
After Width: | Height: | Size: 15 KiB |
BIN
src/assets/image/s2.png
Normal file
|
After Width: | Height: | Size: 5.1 KiB |
BIN
src/assets/logo.png
Normal file
|
After Width: | Height: | Size: 6.7 KiB |
43
src/components/SvgIcon/index.vue
Normal file
@@ -0,0 +1,43 @@
|
||||
<template>
|
||||
<svg :class="svgClass" aria-hidden="true">
|
||||
<use :xlink:href="iconName"/>
|
||||
</svg>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: 'SvgIcon',
|
||||
props: {
|
||||
iconClass: {
|
||||
type: String,
|
||||
required: true
|
||||
},
|
||||
className: {
|
||||
type: String,
|
||||
default: ''
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
iconName() {
|
||||
return `#icon-${this.iconClass}`
|
||||
},
|
||||
svgClass() {
|
||||
if (this.className) {
|
||||
return 'svg-icon ' + this.className
|
||||
} else {
|
||||
return 'svg-icon'
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.svg-icon {
|
||||
width: 1em;
|
||||
height: 1em;
|
||||
vertical-align: -0.15em;
|
||||
fill: currentColor;
|
||||
overflow: hidden;
|
||||
}
|
||||
</style>
|
||||
370
src/icon/demo.css
Normal file
@@ -0,0 +1,370 @@
|
||||
*{margin: 0;padding: 0;list-style: none;}
|
||||
/*
|
||||
KISSY CSS Reset
|
||||
理念:1. reset 的目的不是清除浏览器的默认样式,这仅是部分工作。清除和重置是紧密不可分的。
|
||||
2. reset 的目的不是让默认样式在所有浏览器下一致,而是减少默认样式有可能带来的问题。
|
||||
3. reset 期望提供一套普适通用的基础样式。但没有银弹,推荐根据具体需求,裁剪和修改后再使用。
|
||||
特色:1. 适应中文;2. 基于最新主流浏览器。
|
||||
维护:玉伯<lifesinger@gmail.com>, 正淳<ragecarrier@gmail.com>
|
||||
*/
|
||||
|
||||
/** 清除内外边距 **/
|
||||
body, h1, h2, h3, h4, h5, h6, hr, p, blockquote, /* structural elements 结构元素 */
|
||||
dl, dt, dd, ul, ol, li, /* list elements 列表元素 */
|
||||
pre, /* text formatting elements 文本格式元素 */
|
||||
form, fieldset, legend, button, input, textarea, /* form elements 表单元素 */
|
||||
th, td /* table elements 表格元素 */ {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
/** 设置默认字体 **/
|
||||
body,
|
||||
button, input, select, textarea /* for ie */ {
|
||||
font: 12px/1.5 tahoma, arial, \5b8b\4f53, sans-serif;
|
||||
}
|
||||
h1, h2, h3, h4, h5, h6 { font-size: 100%; }
|
||||
address, cite, dfn, em, var { font-style: normal; } /* 将斜体扶正 */
|
||||
code, kbd, pre, samp { font-family: courier new, courier, monospace; } /* 统一等宽字体 */
|
||||
small { font-size: 12px; } /* 小于 12px 的中文很难阅读,让 small 正常化 */
|
||||
|
||||
/** 重置列表元素 **/
|
||||
ul, ol { list-style: none; }
|
||||
|
||||
/** 重置文本格式元素 **/
|
||||
a { text-decoration: none; }
|
||||
a:hover { text-decoration: underline; }
|
||||
|
||||
|
||||
/** 重置表单元素 **/
|
||||
legend { color: #000; } /* for ie6 */
|
||||
fieldset, img { border: 0; } /* img 搭车:让链接里的 img 无边框 */
|
||||
button, input, select, textarea { font-size: 100%; } /* 使得表单元素在 ie 下能继承字体大小 */
|
||||
/* 注:optgroup 无法扶正 */
|
||||
|
||||
/** 重置表格元素 **/
|
||||
table { border-collapse: collapse; border-spacing: 0; }
|
||||
|
||||
/* 清除浮动 */
|
||||
.ks-clear:after, .clear:after {
|
||||
content: '\20';
|
||||
display: block;
|
||||
height: 0;
|
||||
clear: both;
|
||||
}
|
||||
.ks-clear, .clear {
|
||||
*zoom: 1;
|
||||
}
|
||||
|
||||
.main {
|
||||
padding: 30px 100px;
|
||||
width: 960px;
|
||||
margin: 0 auto;
|
||||
}
|
||||
.main h1{font-size:36px; color:#333; text-align:left;margin-bottom:30px; border-bottom: 1px solid #eee;}
|
||||
|
||||
.helps{margin-top:40px;}
|
||||
.helps pre{
|
||||
padding:20px;
|
||||
margin:10px 0;
|
||||
border:solid 1px #e7e1cd;
|
||||
background-color: #fffdef;
|
||||
overflow: auto;
|
||||
}
|
||||
|
||||
.icon_lists{
|
||||
width: 100% !important;
|
||||
|
||||
}
|
||||
|
||||
.icon_lists li{
|
||||
float:left;
|
||||
width: 100px;
|
||||
height:180px;
|
||||
text-align: center;
|
||||
list-style: none !important;
|
||||
}
|
||||
.icon_lists .icon{
|
||||
font-size: 42px;
|
||||
line-height: 100px;
|
||||
margin: 10px 0;
|
||||
color:#333;
|
||||
-webkit-transition: font-size 0.25s ease-out 0s;
|
||||
-moz-transition: font-size 0.25s ease-out 0s;
|
||||
transition: font-size 0.25s ease-out 0s;
|
||||
|
||||
}
|
||||
.icon_lists .icon:hover{
|
||||
font-size: 100px;
|
||||
}
|
||||
|
||||
|
||||
|
||||
.markdown {
|
||||
color: #666;
|
||||
font-size: 14px;
|
||||
line-height: 1.8;
|
||||
}
|
||||
|
||||
.highlight {
|
||||
line-height: 1.5;
|
||||
}
|
||||
|
||||
.markdown img {
|
||||
vertical-align: middle;
|
||||
max-width: 100%;
|
||||
}
|
||||
|
||||
.markdown h1 {
|
||||
color: #404040;
|
||||
font-weight: 500;
|
||||
line-height: 40px;
|
||||
margin-bottom: 24px;
|
||||
}
|
||||
|
||||
.markdown h2,
|
||||
.markdown h3,
|
||||
.markdown h4,
|
||||
.markdown h5,
|
||||
.markdown h6 {
|
||||
color: #404040;
|
||||
margin: 1.6em 0 0.6em 0;
|
||||
font-weight: 500;
|
||||
clear: both;
|
||||
}
|
||||
|
||||
.markdown h1 {
|
||||
font-size: 28px;
|
||||
}
|
||||
|
||||
.markdown h2 {
|
||||
font-size: 22px;
|
||||
}
|
||||
|
||||
.markdown h3 {
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
.markdown h4 {
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
.markdown h5 {
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
.markdown h6 {
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
.markdown hr {
|
||||
height: 1px;
|
||||
border: 0;
|
||||
background: #e9e9e9;
|
||||
margin: 16px 0;
|
||||
clear: both;
|
||||
}
|
||||
|
||||
.markdown p,
|
||||
.markdown pre {
|
||||
margin: 1em 0;
|
||||
}
|
||||
|
||||
.markdown > p,
|
||||
.markdown > blockquote,
|
||||
.markdown > .highlight,
|
||||
.markdown > ol,
|
||||
.markdown > ul {
|
||||
width: 80%;
|
||||
}
|
||||
|
||||
.markdown ul > li {
|
||||
list-style: circle;
|
||||
}
|
||||
|
||||
.markdown > ul li,
|
||||
.markdown blockquote ul > li {
|
||||
margin-left: 20px;
|
||||
padding-left: 4px;
|
||||
}
|
||||
|
||||
.markdown > ul li p,
|
||||
.markdown > ol li p {
|
||||
margin: 0.6em 0;
|
||||
}
|
||||
|
||||
.markdown ol > li {
|
||||
list-style: decimal;
|
||||
}
|
||||
|
||||
.markdown > ol li,
|
||||
.markdown blockquote ol > li {
|
||||
margin-left: 20px;
|
||||
padding-left: 4px;
|
||||
}
|
||||
|
||||
.markdown code {
|
||||
margin: 0 3px;
|
||||
padding: 0 5px;
|
||||
background: #eee;
|
||||
border-radius: 3px;
|
||||
}
|
||||
|
||||
.markdown pre {
|
||||
border-radius: 6px;
|
||||
background: #f7f7f7;
|
||||
padding: 20px;
|
||||
}
|
||||
|
||||
.markdown pre code {
|
||||
border: none;
|
||||
background: #f7f7f7;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.markdown strong,
|
||||
.markdown b {
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
.markdown > table {
|
||||
border-collapse: collapse;
|
||||
border-spacing: 0px;
|
||||
empty-cells: show;
|
||||
border: 1px solid #e9e9e9;
|
||||
width: 95%;
|
||||
margin-bottom: 24px;
|
||||
}
|
||||
|
||||
.markdown > table th {
|
||||
white-space: nowrap;
|
||||
color: #333;
|
||||
font-weight: 600;
|
||||
|
||||
}
|
||||
|
||||
.markdown > table th,
|
||||
.markdown > table td {
|
||||
border: 1px solid #e9e9e9;
|
||||
padding: 8px 16px;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.markdown > table th {
|
||||
background: #F7F7F7;
|
||||
}
|
||||
|
||||
.markdown blockquote {
|
||||
font-size: 90%;
|
||||
color: #999;
|
||||
border-left: 4px solid #e9e9e9;
|
||||
padding-left: 0.8em;
|
||||
margin: 1em 0;
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
.markdown blockquote p {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.markdown .anchor {
|
||||
opacity: 0;
|
||||
transition: opacity 0.3s ease;
|
||||
margin-left: 8px;
|
||||
}
|
||||
|
||||
.markdown .waiting {
|
||||
color: #ccc;
|
||||
}
|
||||
|
||||
.markdown h1:hover .anchor,
|
||||
.markdown h2:hover .anchor,
|
||||
.markdown h3:hover .anchor,
|
||||
.markdown h4:hover .anchor,
|
||||
.markdown h5:hover .anchor,
|
||||
.markdown h6:hover .anchor {
|
||||
opacity: 1;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.markdown > br,
|
||||
.markdown > p > br {
|
||||
clear: both;
|
||||
}
|
||||
|
||||
|
||||
.hljs {
|
||||
display: block;
|
||||
background: white;
|
||||
padding: 0.5em;
|
||||
color: #333333;
|
||||
overflow-x: auto;
|
||||
}
|
||||
|
||||
.hljs-comment,
|
||||
.hljs-meta {
|
||||
color: #969896;
|
||||
}
|
||||
|
||||
.hljs-string,
|
||||
.hljs-variable,
|
||||
.hljs-template-variable,
|
||||
.hljs-strong,
|
||||
.hljs-emphasis,
|
||||
.hljs-quote {
|
||||
color: #df5000;
|
||||
}
|
||||
|
||||
.hljs-keyword,
|
||||
.hljs-selector-tag,
|
||||
.hljs-type {
|
||||
color: #a71d5d;
|
||||
}
|
||||
|
||||
.hljs-literal,
|
||||
.hljs-symbol,
|
||||
.hljs-bullet,
|
||||
.hljs-attribute {
|
||||
color: #0086b3;
|
||||
}
|
||||
|
||||
.hljs-section,
|
||||
.hljs-name {
|
||||
color: #63a35c;
|
||||
}
|
||||
|
||||
.hljs-tag {
|
||||
color: #333333;
|
||||
}
|
||||
|
||||
.hljs-title,
|
||||
.hljs-attr,
|
||||
.hljs-selector-id,
|
||||
.hljs-selector-class,
|
||||
.hljs-selector-attr,
|
||||
.hljs-selector-pseudo {
|
||||
color: #795da3;
|
||||
}
|
||||
|
||||
.hljs-addition {
|
||||
color: #55a532;
|
||||
background-color: #eaffea;
|
||||
}
|
||||
|
||||
.hljs-deletion {
|
||||
color: #bd2c00;
|
||||
background-color: #ffecec;
|
||||
}
|
||||
|
||||
.hljs-link {
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
pre{
|
||||
background: #fff;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
30
src/icon/iconfont.css
Normal file
@@ -0,0 +1,30 @@
|
||||
|
||||
@font-face {font-family: "fontFamily";
|
||||
src: url('iconfont.eot?t=1527493375212'); /* IE9*/
|
||||
src: url('iconfont.eot?t=1527493375212#iefix') format('embedded-opentype'), /* IE6-IE8 */
|
||||
url('data:application/x-font-woff;charset=utf-8;base64,d09GRgABAAAAAAXoAAsAAAAACHwAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABHU1VCAAABCAAAADMAAABCsP6z7U9TLzIAAAE8AAAARAAAAFZW7kf3Y21hcAAAAYAAAABjAAABnM7GacRnbHlmAAAB5AAAAfsAAAIsdf0weGhlYWQAAAPgAAAALwAAADYRguv+aGhlYQAABBAAAAAcAAAAJAfeA4VobXR4AAAELAAAABAAAAAQD+kAAGxvY2EAAAQ8AAAACgAAAAoBjAC6bWF4cAAABEgAAAAfAAAAIAEaAF1uYW1lAAAEaAAAAVMAAAKFV8s9R3Bvc3QAAAW8AAAAKgAAADsY6RIYeJxjYGRgYOBikGPQYWB0cfMJYeBgYGGAAJAMY05meiJQDMoDyrGAaQ4gZoOIAgCKIwNPAHicY2Bk/sU4gYGVgYOpk+kMAwNDP4RmfM1gxMjBwMDEwMrMgBUEpLmmMDgwVDzjZm7438AQw9zA0AAUZgTJAQAk0wx5eJzFkNENgCAMRK+ChIij+GkcyC9HYOKugdfCDxNw5JX2ckkJAHYAgVwkAvJBYHrpivsBh/sRD+fMs/GumrS0NnUm8UT2LlhSEpZJ1q2edXq9x2T/XQd8oqaO+Vo62H4fLw+3AHicLZC/b9NAFMffu6udpM0PbMdx4jQ/LhfXoDRBtpN2IGkXkArNgNQpKkiNYlSBRNd2YKiQEB0YWFDFCkiIiYEfytAJVbDTv6CFjYXSFhbsckE53dP3fZ/e6X3egQRwfkj3aBY0uAgOXIWbACjXsJIkBWR2s0FqqDNJN9JJanObRXilQTtoVOR0xp1rzhhyRE5hEovoMXfObhAbW80FcgXdTAExlzdXVGtapU9xMmsXH4U3yAvUS3w6tVAPr88upt2yFt2Mq2pOVZ9EZUmKEjKRSuJ9IxOTYpNy+EpKmfpe6RIpYTxnm91eopxX+zvNjYJlxBC3t1HLl5OvFxVTEfeBmdHUXORCIpo1E7yaxs3vU1ktXpj5BuJExK7P6A/agwmIQhxyUAAGltiXKUyxmM5GicaF4Yqns5ZnoCjqns5RBK0GlO4Hy7gTbuFRcESKu6vBvdVdAurL4DF2w/cHB1jvdGjvb5uy9Q/B3VFt1E27x8cPw2vtdpt83QIxGc6f0190A6hgmoKU+HsD8lACDpfBg3kAQ4AYo5ljRcFEecuTRG6NeSzeEpj/QTkVfl5EFofh0trp6dpY8RMOBycnwbLrkpLjBIdC3w1+zvaxduez73/x/XUc3jrDjzi8/RtXwiXx7u2Z7zhOmHbq+8JXB3/CN/1+H+AfnVR/vQB4nGNgZGBgAOLuWSW34/ltvjJwszCAwHXDy/8R9P+pLAzMeUAuBwMTSBQAWOoL7AB4nGNgZGBgbvjfwBDDwgACQJKRARWwAABHCgJtBAAAAAPpAAAEAAAABAAAAAAAAAAAdgC6ARYAAHicY2BkYGBgYQhk4GEAASYg5gJCBob/YD4DABGzAXgAeJxtkk1uwjAQhZ/LT9UgddHSdlmvWBQp/CzZooZlJRbsQ3AgKIkjxyDRXQ/Q8/QQPUE3vUHv0EcwQkIk8uibN2/GthIAd/iFwOF54DqwgMfswFe4xrPjGvWO4zq577iBFkaOm9RfHXvo4s1xC/d45wRRv2H2gk/HAm18Ob7CLb4d16j/OK6T/xw38CiE4yba4smxh5noOm6hIz68sVGhVQs538kk0nmsc+vtQxBmSbqbquUmDc1JONFMmTLRuRz4/ZM4Ubkyx3nldjm0Npax0ZkM6FFpqmVh9FpF1l9ZW4x6vdjpfqQzHm8MA4UQlnEBiTl2jAkiaOSIq2jpO1JAb8Z6St+UPUtsyCGnXHJc0mbsMiiZ7WsSA/j8ZJecEzrzyn1+vhJb7jykatkpuQz7M1Lg5ihOSMkSRVVbU4mo+1hVXQV/jR7f+MzvVzfP/gHCFnRdAHicY2BigAAuBuyAhZGJkZmRhZGVgbGCycCSI7WoPDUzN9GQgQEAJkQEKgAA') format('woff'),
|
||||
url('iconfont.ttf?t=1527493375212') format('truetype'), /* chrome, firefox, opera, Safari, Android, iOS 4.2+*/
|
||||
url('iconfont.svg?t=1527493375212#fontFamily') format('svg'); /* iOS 4.1- */
|
||||
}
|
||||
|
||||
.fontFamily {
|
||||
font-family:"fontFamily" !important;
|
||||
font-size:16px;
|
||||
font-style:normal;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
}
|
||||
|
||||
[class^="el-icon-cjn"], [class*=" el-icon-cjn"] {
|
||||
font-family:"fontFamily" !important;
|
||||
/* 以下内容参照第三方图标库本身的规则 */
|
||||
font-size: 13px;
|
||||
font-style:normal;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
}
|
||||
|
||||
.el-icon-cjn-09:before { content: "\e60b"; }
|
||||
|
||||
.el-icon-cjn-erweima1:before { content: "\e606"; }
|
||||
|
||||
BIN
src/icon/iconfont.eot
Normal file
1
src/icon/iconfont.js
Normal file
@@ -0,0 +1 @@
|
||||
(function(window) { var svgSprite = '<svg><symbol id="el-icon-cjn-09" viewBox="0 0 1024 1024"><path d="M804.141176 39.152941H39.152941v963.764706h963.764706V201.788235l-198.776471-162.635294z m-493.929411 60.235294h391.529411v180.705883h-391.529411v-180.705883z m481.882353 843.294118h-542.117647v-331.294118h542.117647v331.294118z m150.588235 0h-90.352941v-391.529412h-662.588236v391.529412h-90.352941v-843.294118h150.588236v240.941177h512v-240.941177h18.070588l162.635294 129.505883v713.788235z" fill="#2c2c2c" ></path><path d="M310.211765 671.623529h331.294117v60.235295h-331.294117zM310.211765 792.094118h210.823529v60.235294h-210.823529zM611.388235 129.505882h60.235294v120.470589h-60.235294z" fill="#2c2c2c" ></path></symbol><symbol id="el-icon-cjn-erweima1" viewBox="0 0 1024 1024"><path d="M23.92225303 998.84837371l439.58598408 0L463.50823711 559.26238962 23.92225303 559.26238962 23.92225303 998.84837371zM119.78212494 651.01398129l243.75796004 0 0 245.12738674L119.78212494 896.14136803 119.78212494 651.01398129z" ></path><path d="M23.92225303 457.92481072l439.58598408 0 0-439.58598412L23.92225303 18.33882658 23.92225303 457.92481072zM119.78212494 111.45984508l243.75796004 0 0 245.12738672L119.78212494 356.5872318 119.78212494 111.45984508z" ></path><path d="M570.32352297 18.33882658l0 439.58598414L1009.90950704 457.92481072l0-439.58598412L570.32352297 18.33882658zM911.31078166 355.21780509L667.55282162 355.21780509l0-245.12738681 243.75796004 0L911.31078166 355.21780509z" ></path><path d="M218.38085034 210.05857039l49.29936273 0 0 49.29936276-49.29936273 0 0-49.29936276Z" ></path><path d="M760.67384005 210.05857039l49.29936271 0 0 49.29936276-49.29936273 0 0-49.29936276Z" ></path><path d="M218.38085034 750.98213347l49.29936273 0 0 49.29936266-49.29936273 0 0-49.29936266Z" ></path><path d="M908.57192818 755.09041369L809.97320276 755.09041369 809.97320276 559.26238962 570.32352297 559.26238962 570.32352297 998.84837371 614.14517874 998.84837371 614.14517874 707.16047766 711.37447735 707.16047766 711.37447735 805.75920314 1009.90950704 805.75920314 1009.90950704 559.26238962 908.57192818 559.26238962Z" ></path><path d="M711.37447735 901.61907503l99.96815218 0 0 97.22929868-99.96815218 0 0-97.22929868Z" ></path><path d="M909.94135491 901.61907503l99.96815213 0 0 97.22929868-99.96815213 0 0-97.22929868Z" ></path></symbol></svg>'; var script = (function() { var scripts = document.getElementsByTagName('script'); return scripts[scripts.length - 1] }()); var shouldInjectCss = script.getAttribute('data-injectcss'); var ready = function(fn) { if (document.addEventListener) { if (~['complete', 'loaded', 'interactive'].indexOf(document.readyState)) { setTimeout(fn, 0) } else { var loadFn = function() { document.removeEventListener('DOMContentLoaded', loadFn, false); fn() }; document.addEventListener('DOMContentLoaded', loadFn, false) } } else if (document.attachEvent) { IEContentLoaded(window, fn) } function IEContentLoaded(w, fn) { var d = w.document, done = false, init = function() { if (!done) { done = true; fn() } }; var polling = function() { try { d.documentElement.doScroll('left') } catch (e) { setTimeout(polling, 50); return }init() }; polling(); d.onreadystatechange = function() { if (d.readyState == 'complete') { d.onreadystatechange = null; init() } } } }; var before = function(el, target) { target.parentNode.insertBefore(el, target) }; var prepend = function(el, target) { if (target.firstChild) { before(el, target.firstChild) } else { target.appendChild(el) } }; function appendSvg() { var div, svg; div = document.createElement('div'); div.innerHTML = svgSprite; svgSprite = null; svg = div.getElementsByTagName('svg')[0]; if (svg) { svg.setAttribute('aria-hidden', 'true'); svg.style.position = 'absolute'; svg.style.width = 0; svg.style.height = 0; svg.style.overflow = 'hidden'; prepend(svg, document.body) } } if (shouldInjectCss && !window.__iconfont__svg__cssinject__) { window.__iconfont__svg__cssinject__ = true; try { document.write('<style>.svgfont {display: inline-block;width: 1em;height: 1em;fill: currentColor;vertical-align: -0.1em;font-size:16px;}</style>') } catch (e) { console && console.log(e) } }ready(appendSvg) })(window)
|
||||
39
src/icon/iconfont.svg
Normal file
@@ -0,0 +1,39 @@
|
||||
<?xml version="1.0" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
|
||||
<!--
|
||||
2013-9-30: Created.
|
||||
-->
|
||||
<svg>
|
||||
<metadata>
|
||||
Created by iconfont
|
||||
</metadata>
|
||||
<defs>
|
||||
|
||||
<font id="fontFamily" horiz-adv-x="1024" >
|
||||
<font-face
|
||||
font-family="fontFamily"
|
||||
font-weight="500"
|
||||
font-stretch="normal"
|
||||
units-per-em="1024"
|
||||
ascent="896"
|
||||
descent="-128"
|
||||
/>
|
||||
<missing-glyph />
|
||||
|
||||
<glyph glyph-name="x" unicode="x" horiz-adv-x="1001"
|
||||
d="M281 543q-27 -1 -53 -1h-83q-18 0 -36.5 -6t-32.5 -18.5t-23 -32t-9 -45.5v-76h912v41q0 16 -0.5 30t-0.5 18q0 13 -5 29t-17 29.5t-31.5 22.5t-49.5 9h-133v-97h-438v97zM955 310v-52q0 -23 0.5 -52t0.5 -58t-10.5 -47.5t-26 -30t-33 -16t-31.5 -4.5q-14 -1 -29.5 -0.5
|
||||
t-29.5 0.5h-32l-45 128h-439l-44 -128h-29h-34q-20 0 -45 1q-25 0 -41 9.5t-25.5 23t-13.5 29.5t-4 30v167h911zM163 247q-12 0 -21 -8.5t-9 -21.5t9 -21.5t21 -8.5q13 0 22 8.5t9 21.5t-9 21.5t-22 8.5zM316 123q-8 -26 -14 -48q-5 -19 -10.5 -37t-7.5 -25t-3 -15t1 -14.5
|
||||
t9.5 -10.5t21.5 -4h37h67h81h80h64h36q23 0 34 12t2 38q-5 13 -9.5 30.5t-9.5 34.5q-5 19 -11 39h-368zM336 498v228q0 11 2.5 23t10 21.5t20.5 15.5t34 6h188q31 0 51.5 -14.5t20.5 -52.5v-227h-327z" />
|
||||
|
||||
|
||||
|
||||
<glyph glyph-name="09" unicode="" d="M804.141 856.847h-764.988v-963.765h963.765v801.129l-198.776 162.635zM310.212 796.612h391.529v-180.706h-391.529v180.706zM792.094-46.682h-542.118v331.294h542.118v-331.294zM942.682-46.682h-90.353v391.529h-662.588v-391.529h-90.353v843.294h150.588v-240.941h512v240.941h18.071l162.635-129.506v-713.788zM310.212 224.376h331.294v-60.235h-331.294zM310.212 103.906h210.824v-60.235h-210.824zM611.388 766.494h60.235v-120.471h-60.235z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="erweima1" unicode="" d="M23.92225303-102.84837371000003l439.58598408 0L463.50823711 336.73761038 23.92225303 336.73761038 23.92225303-102.84837371000003zM119.78212494 244.98601871000005l243.75796004 0 0-245.12738674L119.78212494-0.1413680299999669 119.78212494 244.98601871000005zM23.92225303 438.07518928l439.58598408 0 0 439.58598412L23.92225303 877.66117342 23.92225303 438.07518928zM119.78212494 784.54015492l243.75796004 0 0-245.12738672L119.78212494 539.4127682000001 119.78212494 784.54015492zM570.32352297 877.66117342l0-439.58598414L1009.90950704 438.07518928l0 439.58598412L570.32352297 877.66117342zM911.31078166 540.78219491L667.55282162 540.78219491l0 245.12738681 243.75796004 0L911.31078166 540.78219491zM218.38085034 685.94142961l49.29936273 0 0-49.29936276-49.29936273 0 0 49.29936276ZM760.67384005 685.94142961l49.29936271 0 0-49.29936276-49.29936273 0 0 49.29936276ZM218.38085034 145.01786653l49.29936273 0 0-49.29936266-49.29936273 0 0 49.29936266ZM908.57192818 140.90958631L809.97320276 140.90958631 809.97320276 336.73761038 570.32352297 336.73761038 570.32352297-102.84837371000003 614.14517874-102.84837371000003 614.14517874 188.83952234000003 711.37447735 188.83952234000003 711.37447735 90.24079686000005 1009.90950704 90.24079686000005 1009.90950704 336.73761038 908.57192818 336.73761038ZM711.37447735-5.619075029999976l99.96815218 0 0-97.22929868-99.96815218 0 0 97.22929868ZM909.94135491-5.619075029999976l99.96815213 0 0-97.22929868-99.96815213 0 0 97.22929868Z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
|
||||
|
||||
</font>
|
||||
</defs></svg>
|
||||
|
After Width: | Height: | Size: 3.2 KiB |