Commit 069e0118 by 无尘

feat: 更换项目整体框架

parent a6e72051
{
"presets": [
["env", {
"modules": false,
"targets": {
"browsers": ["> 1%", "last 2 versions", "not ie <= 8"]
}
}],
"stage-2"
],
"plugins": ["transform-vue-jsx", "transform-runtime"]
}
# http://editorconfig.org
root = true
[*]
......@@ -11,4 +10,4 @@ trim_trailing_whitespace = true
[*.md]
insert_final_newline = false
trim_trailing_whitespace = false
trim_trailing_whitespace = false
\ No newline at end of file
// https://github.com/michael-ciniawsky/postcss-load-config
module.exports = {
"plugins": {
"postcss-import": {},
"postcss-url": {},
// to edit target browsers: use "browserslist" field in package.json
"autoprefixer": {}
}
}
# office-mobile
# 好办 APP 移动端 webview 项目
> 好办 APP webview 模板前端代码
> h5 webview 模板前端代码
## Build Setup
``` bash
# install dependencies
npm install
# serve with hot reload at localhost:8080
npm run dev
# build for production with minification
npm run build
# build for production and view the bundle analyzer report
npm run build --report
```
For a detailed explanation on how things work, check out the [guide](http://vuejs-templates.github.io/webpack/) and [docs for vue-loader](http://vuejs.github.io/vue-loader).
module.exports = {
presets: ['@vue/app'],
plugins: [
[
'import',
{ libraryName: 'vant', libraryDirectory: 'es', style: true },
'vant'
]
]
};
'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, // If you are using ts-loader, setting this to true will make TypeScript errors show up during build.
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'
))
})
})
'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)
}
}
'use strict'
const path = require('path')
const config = require('../config')
const ExtractTextPlugin = require('extract-text-webpack-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 = options.usePostCSS ? [cssLoader, postcssLoader] : [cssLoader]
if (loader) {
loaders.push({
loader: loader + '-loader',
options: Object.assign({}, loaderOptions, {
sourceMap: options.sourceMap
})
})
}
// Extract CSS when that option is specified
// (which is the case during production build)
if (options.extract) {
return ExtractTextPlugin.extract({
use: loaders,
publicPath: '../../', //注意: 此处根据路径, 自动更改
fallback: 'vue-style-loader'
})
} else {
return ['vue-style-loader'].concat(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')
})
}
}
'use strict'
const utils = require('./utils')
const config = require('../config')
const isProduction = process.env.NODE_ENV === 'production'
const sourceMapEnabled = isProduction
? config.build.productionSourceMap
: config.dev.cssSourceMap
module.exports = {
loaders: utils.cssLoaders({
sourceMap: sourceMapEnabled,
extract: isProduction
}),
cssSourceMap: sourceMapEnabled,
cacheBusting: config.dev.cacheBusting,
transformToRequire: {
video: ['src', 'poster'],
source: 'src',
img: 'src',
image: 'xlink:href'
}
}
'use strict'
const path = require('path')
const utils = require('./utils')
const config = require('../config')
const vueLoaderConfig = require('./vue-loader.conf')
function resolve (dir) {
return path.join(__dirname, '..', dir)
}
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'),
'components': resolve('src/components'),
'views': resolve('src/views')
}
},
module: {
rules: [
{
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: /\.(png|jpe?g|gif|svg)(\?.*)?$/,
loader: 'url-loader',
options: {
limit: 10000,
name: utils.assetsPath('img/[name].[hash:7].[ext]')
}
},
{
test: /\.scss$/,
loaders: ["style", "css", "scss", "sass"]
},
{
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]')
}
}
]
},
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'
}
}
'use strict'
const utils = require('./utils')
const webpack = require('webpack')
const config = require('../config')
const merge = require('webpack-merge')
const path = require('path')
const baseWebpackConfig = require('./webpack.base.conf')
const CopyWebpackPlugin = require('copy-webpack-plugin')
const HtmlWebpackPlugin = require('html-webpack-plugin')
const FriendlyErrorsPlugin = require('friendly-errors-webpack-plugin')
const portfinder = require('portfinder')
const HOST = process.env.HOST
const PORT = process.env.PORT && Number(process.env.PORT)
const devWebpackConfig = merge(baseWebpackConfig, {
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: {
rewrites: [
{ from: /.*/, to: path.posix.join(config.dev.assetsPublicPath, 'index.html') },
],
},
hot: true,
contentBase: false, // since we use CopyWebpackPlugin.
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(),
new webpack.NamedModulesPlugin(), // HMR shows correct file names in console on update.
new webpack.NoEmitOnErrorsPlugin(),
// https://github.com/ampedandwired/html-webpack-plugin
new HtmlWebpackPlugin({
filename: 'index.html',
template: 'index.html',
inject: true,
favicon: './favicon.ico'
}),
// copy custom static assets
new CopyWebpackPlugin([
{
from: path.resolve(__dirname, '../static'),
to: config.dev.assetsSubDirectory,
ignore: ['.*']
}
])
]
})
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)
}
})
})
'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 ExtractTextPlugin = require('extract-text-webpack-plugin')
const OptimizeCSSPlugin = require('optimize-css-assets-webpack-plugin')
const UglifyJsPlugin = require('uglifyjs-webpack-plugin')
const env = require('../config/prod.env')
const webpackConfig = merge(baseWebpackConfig, {
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].js'),
chunkFilename: utils.assetsPath('js/[id].[chunkhash].js')
},
plugins: [
// http://vuejs.github.io/vue-loader/en/workflow/production.html
new webpack.DefinePlugin({
'process.env': env
}),
new UglifyJsPlugin({
uglifyOptions: {
compress: {
warnings: false
}
},
sourceMap: config.build.productionSourceMap,
parallel: true
}),
// extract css into its own file
new ExtractTextPlugin({
filename: utils.assetsPath('css/[name].[contenthash].css'),
// Setting the following option to `false` will not extract CSS from codesplit chunks.
// Their CSS will instead be inserted dynamically with style-loader when the codesplit chunk has been loaded by webpack.
// It's currently set to `true` because we are seeing that sourcemaps are included in the codesplit bundle as well when it's `false`,
// increasing file size: https://github.com/vuejs-templates/webpack/issues/1110
allChunks: true,
}),
// Compress extracted CSS. We are using this plugin so that possible
// duplicated CSS from different components can be deduped.
new OptimizeCSSPlugin({
cssProcessorOptions: config.build.productionSourceMap
? { safe: true, map: { inline: false } }
: { safe: true }
}),
// 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: 'index.html',
inject: true,
minify: {
removeComments: true,
collapseWhitespace: true,
removeAttributeQuotes: true
// more options:
// https://github.com/kangax/html-minifier#options-quick-reference
},
// necessary to consistently work with multiple chunks via CommonsChunkPlugin
chunksSortMode: 'dependency'
}),
// keep module.id stable when vendor modules does not change
new webpack.HashedModuleIdsPlugin(),
// enable scope hoisting
new webpack.optimize.ModuleConcatenationPlugin(),
// split vendor js into its own file
new webpack.optimize.CommonsChunkPlugin({
name: 'vendor',
minChunks (module) {
// any required modules inside node_modules are extracted to vendor
return (
module.resource &&
/\.js$/.test(module.resource) &&
module.resource.indexOf(
path.join(__dirname, '../node_modules')
) === 0
)
}
}),
// extract webpack runtime and module manifest to its own file in order to
// prevent vendor hash from being updated whenever app bundle is updated
new webpack.optimize.CommonsChunkPlugin({
name: 'manifest',
minChunks: Infinity
}),
// This instance extracts shared chunks from code splitted chunks and bundles them
// in a separate chunk, similar to the vendor chunk
// see: https://webpack.js.org/plugins/commons-chunk-plugin/#extra-async-commons-chunk
new webpack.optimize.CommonsChunkPlugin({
name: 'app',
async: 'vendor-async',
children: true,
minChunks: 3
}),
// copy custom static assets
new CopyWebpackPlugin([
{
from: path.resolve(__dirname, '../static'),
to: config.build.assetsSubDirectory,
ignore: ['.*']
}
])
]
})
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.bundleAnalyzerReport) {
const BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin
webpackConfig.plugins.push(new BundleAnalyzerPlugin())
}
module.exports = webpackConfig
## [1.0.4](http://115.159.76.241/office/office-mobile/compare/v1.0.3...v1.0.4) (2019-03-06)
## [1.0.3](http://115.159.76.241/office/office-mobile/compare/v1.0.2...v1.0.3) (2018-12-19)
### Bug Fixes
* 修改数据处理 ([a6e7205](http://115.159.76.241/office/office-mobile/commits/a6e7205))
## [1.0.2](http://115.159.76.241/office/office-mobile/compare/v1.0.1...v1.0.2) (2018-12-18)
## 1.0.1 (2018-12-17)
'use strict'
const merge = require('webpack-merge')
const prodEnv = require('./prod.env')
module.exports = merge(prodEnv, {
NODE_ENV: '"development"'
})
'use strict'
// Template version: 1.3.1
// see http://vuejs-templates.github.io/webpack for documentation.
const path = require('path');
const proxyConfig = require('./proxyList');
module.exports = {
dev: {
// Paths
assetsSubDirectory: 'static',
assetsPublicPath: '/',
proxyTable: {},//proxyConfig.proxyList,
// Various Dev Server settings
// host: '0.0.0.0', // can be overwritten by process.env.HOST
host: 'localhost',//'192.168.1.20',//localhost
port: 8005, // can be overwritten by process.env.PORT, if port is in use, a free one will be determined
autoOpenBrowser: false,
errorOverlay: true,
notifyOnErrors: true,
poll: false, // https://webpack.js.org/configuration/dev-server/#devserver-watchoptions-
/**
* Source Maps
*/
// https://webpack.js.org/configuration/devtool/#development
devtool: 'cheap-module-eval-source-map',
// If you have problems debugging vue-files in devtools,
// set this to false - it *may* help
// https://vue-loader.vuejs.org/en/options.html#cachebusting
cacheBusting: true,
cssSourceMap: true
},
build: {
// Template for index.html
index: path.resolve(__dirname, '../dist/index.html'),
// Paths
assetsRoot: path.resolve(__dirname, '../dist'),
assetsSubDirectory: 'static',
assetsPublicPath: './',
/**
* Source Maps
*/
productionSourceMap: true,
// 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
}
}
'use strict'
module.exports = {
NODE_ENV: '"production"'
}
module.exports = {
proxyList: {
'/api-auth/': {
target: 'http://gicdev.demogic.com/api-auth/',
changeOrigin: true,
pathRewrite: {
'^/api-auth': ''
}
},
'/api-admin/': {
target: 'http://gicdev.demogic.com/api-admin/',
changeOrigin: true,
pathRewrite: {
'^/api-admin': ''
}
},
'/api-plug/': {
target: 'http://gicdev.demogic.com/api-plug/',
changeOrigin: true,
pathRewrite: {
'^/api-plug': ''
}
},
'/api-mall/': {
target: 'http://gicdev.demogic.com/api-mall/',
changeOrigin: true,
pathRewrite: {
'^/api-mall': ''
}
}
}
}
.template-wrap[data-v-065bbf0a]{width:100%;padding:0;margin:0;background-size:100% 100%}.template-wrap .el-icon-arrow-right[data-v-065bbf0a]{display:inline-block;width:.21333rem;height:.21333rem;border-top:.02667rem solid #ccc;border-right:.02667rem solid #ccc;-webkit-transform:rotate(45deg);transform:rotate(45deg);vertical-align:middle}.template-wrap .b-t-1[data-v-065bbf0a]{border-top:.02667rem solid #e4e7ed}.template-wrap .template-contain[data-v-065bbf0a]{width:100%;margin:0 auto}.template-wrap .template-head[data-v-065bbf0a]{-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;height:2.13333rem}.template-wrap .template-head .flex-1[data-v-065bbf0a],.template-wrap .template-head[data-v-065bbf0a]{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center}.template-wrap .template-head .flex-1[data-v-065bbf0a]{-webkit-flex:1;-moz-flex:1;-o-flex:1;-webkit-box-flex:1;flex:1}.template-wrap .template-head .flex-r[data-v-065bbf0a]{-webkit-box-pack:end;-webkit-justify-content:flex-end;justify-content:flex-end}.template-wrap .template-head .template-title-span[data-v-065bbf0a]{color:#fff;font-size:.8rem;padding-left:.48rem}.template-wrap .template-head .el-button--default.is-plain[data-v-065bbf0a]{background:hsla(0,0%,100%,0);color:#fff}.template-wrap .template-head .el-button--default.is-plain[data-v-065bbf0a]:hover{color:#1890ff}.template-wrap .template-body[data-v-065bbf0a]{width:100%;position:relative;overflow:hidden}.template-wrap .template-body .template-cell-m[data-v-065bbf0a]{width:100%;position:relative}.template-wrap .template-body .template-cell-m .view-content[data-v-065bbf0a]{position:relative}.template-wrap .template-body .drag-wrap[data-v-065bbf0a]{overflow-x:hidden;overflow-y:auto}.template-wrap .template-body .phone-container[data-v-065bbf0a]{margin-top:1.06667rem}.template-wrap .template-body .phone-view[data-v-065bbf0a]{background-size:100%;background-color:#f0eff4;width:100%;position:relative}.template-wrap .template-body .phone-show-content[data-v-065bbf0a]{width:100%;position:relative;overflow-y:auto}.template-wrap .template-body .opend-card-item[data-v-065bbf0a]{font-size:.37333rem;position:relative}.template-wrap .template-body .opend-card-item.sex[data-v-065bbf0a]:after{content:"";width:100%;height:100%;z-index:2;position:absolute;top:0;right:0;bottom:0;left:0}.template-wrap .template-body .opend-card-group-title[data-v-065bbf0a]{height:1.06667rem;line-height:1.06667rem;padding-left:.26667rem}.template-wrap .template-body .opend-card-item[data-v-065bbf0a]{height:1.22667rem;line-height:1.22667rem;background:#fff;border-bottom:.02667rem solid #e7e7eb}.template-wrap .template-body .phone-list-item[data-v-065bbf0a]{height:1.17333rem;line-height:1.17333rem;background:#fff;margin-bottom:.13333rem}.template-wrap .template-body .item-title[data-v-065bbf0a]{width:2.66667rem;float:left;padding-left:.26667rem}.template-wrap .template-body .filed-item[data-v-065bbf0a]{height:1.22667rem;width:100%;height:auto;background:#fff;position:relative;cursor:move;padding:0;margin:0;font-size:.32rem;color:#292929;box-sizing:border-box}.template-wrap .template-body .filed-item+.filed-item[data-v-065bbf0a]{margin-top:.13333rem}.template-wrap .template-body .filed-item+.filed-item.li-block[data-v-065bbf0a]{margin-top:.4rem}.template-wrap .template-body .filed-item .item-close[data-v-065bbf0a]{position:absolute;top:0;right:0;width:.48rem;height:.48rem;line-height:.48rem;text-align:center;background:#1890ff;color:#fff;font-size:.37333rem;font-weight:700;cursor:pointer;display:none;z-index:2}.template-wrap .template-body .filed-item.child-filed-item:hover .child-item-close[data-v-065bbf0a],.template-wrap .template-body .filed-item:hover .p-item-close[data-v-065bbf0a]{display:block}.template-wrap .template-body .block[data-v-065bbf0a]{background:#f0eff4}.template-wrap .template-body .block .block-head[data-v-065bbf0a]{width:100%;background:#f5f5f8;padding:0;height:.93333rem}.template-wrap .template-body .block .block-head .opencard-item-title[data-v-065bbf0a]{height:.93333rem;line-height:.93333rem}.template-wrap .template-body .block .drag-wrap[data-v-065bbf0a]{min-height:.66667rem}.template-wrap .template-body .opencard-drag[data-v-065bbf0a]{background:#fff;height:1.22667rem}.template-wrap .template-body .draged-item-show[data-v-065bbf0a]{display:inline-block;vertical-align:top;width:calc(100% - 2.66667rem)}.template-wrap .template-body .opencard-item-title[data-v-065bbf0a]{width:2.4rem;height:1.22667rem;line-height:1.22667rem;text-align:left;float:left;padding-left:.26667rem;overflow:hidden;white-space:nowrap;box-sizing:border-box}.template-wrap .template-body .opencard-item-title.title-pre-wrap[data-v-065bbf0a]{line-height:.4rem;word-break:break-all;white-space:pre-wrap;padding-top:.24rem}.template-wrap .template-body .show-warm-text[data-v-065bbf0a]{color:#c8c8cd;width:4.93333rem;text-align:left;display:inline-block;white-space:nowrap;height:1.22667rem;line-height:1.22667rem}.template-wrap .template-body .show-warm-text.select-flag[data-v-065bbf0a]{width:100%;text-align:right}.template-wrap .template-body .limit-w-340[data-v-065bbf0a] .el-input__inner{font-size:.32rem;color:#fff;background-color:hsla(0,0%,100%,.1)}.template-wrap .template-body .limit-w-340 .tip[data-v-065bbf0a]{color:hsla(0,0%,100%,.7)}
\ No newline at end of file
<!DOCTYPE html><html><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1,user-scalable=0"><meta name=screen-orientation content=portrait><meta name=apple-mobile-web-app-capable content=yes><meta name=format-detection content="telephone=no"><meta name=full-screen content=yes><meta http-equiv=X-UA-Compatible content="IE=edge"><meta name=renderer content=webkit><meta http-equiv=Pragma content=no-cache><meta http-equiv=Cache-Control content=no-cache><meta http-equiv=Expires content=0><meta name=x5-fullscreen content=true><meta content=yes name=apple-mobile-web-app-capable><meta content=yes name=apple-touch-fullscreen><meta content="telephone=no,email=no" name=format-detection><link rel="shortcut icon" href=./favicon.ico><title>好办 APP</title><link href=./static/css/app.31ac51b02c61dbf5877b94d6aa12cd0a.css rel=stylesheet></head><body style="background-color: #f0f2f5;width: 100%;"><div id=app></div><script type=text/javascript src=./static/js/manifest.402f31fbc5f103d5ca4b.js></script><script type=text/javascript src=./static/js/vendor.912df9dc36cd49585f11.js></script><script type=text/javascript src=./static/js/app.6dbbdcbb85feb53150b7.js></script></body></html>
\ No newline at end of file
<!DOCTYPE html><html><head><meta charset=utf-8><meta http-equiv=X-UA-Compatible content="IE=edge"><meta name=viewport content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no"><link rel=icon href=favicon.ico><title>达摩</title><link href=css/chunk-1ee37e61.49d5e527.css rel=prefetch><link href=js/chunk-1ee37e61.ee33f334.js rel=prefetch><link href=js/chunk-2d0baaed.2ebda6d1.js rel=prefetch><link href=css/app.daa7ba22.css rel=preload as=style><link href=js/app.295ba73f.js rel=preload as=script><link href=js/chunk-vendors.09ec9b52.js rel=preload as=script><link href=css/app.daa7ba22.css rel=stylesheet></head><body><div id=app></div><script src=js/chunk-vendors.09ec9b52.js></script><script src=js/app.295ba73f.js></script></body></html>
\ No newline at end of file
(function(e){function t(t){for(var r,o,s=t[0],u=t[1],c=t[2],d=0,l=[];d<s.length;d++)o=s[d],i[o]&&l.push(i[o][0]),i[o]=0;for(r in u)Object.prototype.hasOwnProperty.call(u,r)&&(e[r]=u[r]);f&&f(t);while(l.length)l.shift()();return a.push.apply(a,c||[]),n()}function n(){for(var e,t=0;t<a.length;t++){for(var n=a[t],r=!0,o=1;o<n.length;o++){var s=n[o];0!==i[s]&&(r=!1)}r&&(a.splice(t--,1),e=u(u.s=n[0]))}return e}var r={},o={app:0},i={app:0},a=[];function s(e){return u.p+"js/"+({}[e]||e)+"."+{"chunk-1ee37e61":"ee33f334","chunk-2d0baaed":"2ebda6d1"}[e]+".js"}function u(t){if(r[t])return r[t].exports;var n=r[t]={i:t,l:!1,exports:{}};return e[t].call(n.exports,n,n.exports,u),n.l=!0,n.exports}u.e=function(e){var t=[],n={"chunk-1ee37e61":1};o[e]?t.push(o[e]):0!==o[e]&&n[e]&&t.push(o[e]=new Promise(function(t,n){for(var r="css/"+({}[e]||e)+"."+{"chunk-1ee37e61":"49d5e527","chunk-2d0baaed":"31d6cfe0"}[e]+".css",i=u.p+r,a=document.getElementsByTagName("link"),s=0;s<a.length;s++){var c=a[s],d=c.getAttribute("data-href")||c.getAttribute("href");if("stylesheet"===c.rel&&(d===r||d===i))return t()}var l=document.getElementsByTagName("style");for(s=0;s<l.length;s++){c=l[s],d=c.getAttribute("data-href");if(d===r||d===i)return t()}var f=document.createElement("link");f.rel="stylesheet",f.type="text/css",f.onload=t,f.onerror=function(t){var r=t&&t.target&&t.target.src||i,a=new Error("Loading CSS chunk "+e+" failed.\n("+r+")");a.request=r,delete o[e],f.parentNode.removeChild(f),n(a)},f.href=i;var p=document.getElementsByTagName("head")[0];p.appendChild(f)}).then(function(){o[e]=0}));var r=i[e];if(0!==r)if(r)t.push(r[2]);else{var a=new Promise(function(t,n){r=i[e]=[t,n]});t.push(r[2]=a);var c,d=document.createElement("script");d.charset="utf-8",d.timeout=120,u.nc&&d.setAttribute("nonce",u.nc),d.src=s(e),c=function(t){d.onerror=d.onload=null,clearTimeout(l);var n=i[e];if(0!==n){if(n){var r=t&&("load"===t.type?"missing":t.type),o=t&&t.target&&t.target.src,a=new Error("Loading chunk "+e+" failed.\n("+r+": "+o+")");a.type=r,a.request=o,n[1](a)}i[e]=void 0}};var l=setTimeout(function(){c({type:"timeout",target:d})},12e4);d.onerror=d.onload=c,document.head.appendChild(d)}return Promise.all(t)},u.m=e,u.c=r,u.d=function(e,t,n){u.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},u.r=function(e){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},u.t=function(e,t){if(1&t&&(e=u(e)),8&t)return e;if(4&t&&"object"===typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(u.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)u.d(n,r,function(t){return e[t]}.bind(null,r));return n},u.n=function(e){var t=e&&e.__esModule?function(){return e["default"]}:function(){return e};return u.d(t,"a",t),t},u.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},u.p="",u.oe=function(e){throw console.error(e),e};var c=window["webpackJsonp"]=window["webpackJsonp"]||[],d=c.push.bind(c);c.push=t,c=c.slice();for(var l=0;l<c.length;l++)t(c[l]);var f=d;a.push([0,"chunk-vendors"]),n()})({0:function(e,t,n){e.exports=n("56d7")},"034f":function(e,t,n){"use strict";var r=n("64a9"),o=n.n(r);o.a},"4dcb":function(e,t,n){},"56d7":function(e,t,n){"use strict";n.r(t);n("cadf"),n("551c"),n("097d"),n("db4d"),n("5cfb");var r=n("2b0e"),o=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{attrs:{id:"app"}},[n("router-view")],1)},i=[],a=(n("034f"),n("2877")),s={},u=Object(a["a"])(s,o,i,!1,null,null,null);u.options.__file="App.vue";var c=u.exports,d=n("2f62");r["a"].use(d["a"]);var l=new d["a"].Store({state:{bodyH:document.documentElement.clientHeight,reqLoading:!1,memberId:"ff80808163a6ab7a0163a6abd0710000"},mutations:{setReqLoading:function(e,t){e.reqLoading=t},setMemberId:function(e,t){e.memberId=t}},actions:{SetLoading:function(e,t){var n=e.commit;n("setReqLoading",t)},modifyMemberId:function(e,t){var n=e.commit;n("setMemberId",t)}}}),f=(n("ac6a"),n("8c4f"));r["a"].use(f["a"]);var p=[{path:"*",redirect:"/index"},{path:"/staffRecordsTemplate",name:"员工档案",component:function(){return n.e("chunk-1ee37e61").then(n.bind(null,"30a0"))},meta:{title:"员工档案"}},{name:"index",path:"/index",component:function(){return n.e("chunk-2d0baaed").then(n.bind(null,"37f9"))},meta:{title:"首页"}}];p.forEach(function(e){e.path=e.path||"/"+(e.name||"")});var m=new f["a"]({routes:p});m.beforeEach(function(e,t,n){var r=e.meta&&e.meta.title;r&&(document.title=r),n()});n("a342"),n("4dcb");var h=n("1368"),v=n.n(h),b=n("e814"),g=n.n(b),w=(n("28a5"),n("a481"),n("4917"),{}),y=[],_=navigator.userAgent,V=_.match(/(Android);?[\s\/]+([\d.]+)?/),k=_.match(/(iPad).*OS\s([\d_]+)/),E=_.match(/(iPod)(.*OS\s([\d_]+))?/),O=!k&&_.match(/(iPhone\sOS)\s([\d_]+)/);if(w.userAgent=_,w.ios=w.android=w.iphone=w.ipad=w.androidChrome=!1,V&&(w.os="android",w.osVersion=V[2],w.android=!0,w.androidChrome=_.toLowerCase().indexOf("chrome")>=0),(k||O||E)&&(w.os="ios",w.ios=!0),O&&!E&&(w.osVersion=O[2].replace(/_/g,"."),w.iphone=!0),k&&(w.osVersion=k[2].replace(/_/g,"."),w.ipad=!0),E&&(w.osVersion=E[3]?E[3].replace(/_/g,"."):null,w.iphone=!0),w.ios&&w.osVersion&&_.indexOf("Version/")>=0&&"10"===w.osVersion.split(".")[0]&&(w.osVersion=_.toLowerCase().split("version/")[1].split(" ")[0]),w.webView=(O||k||E)&&_.match(/.*AppleWebKit(?!.*Safari)/i),w.os&&(y.push(w.os,w.os+"-"+w.osVersion.split(".")[0],w.os+"-"+w.osVersion.replace(/\./g,"-")),"ios"===w.os))for(var x=g()(w.osVersion.split(".")[0],10),C=x-1;C>=6;C--)y.push("ios-gt-"+C);w.isWeixin=/MicroMessenger/i.test(_);var S=w;function P(e){if(window.WebViewJavascriptBridge)return e(window.WebViewJavascriptBridge);if(S.android)document.addEventListener("WebViewJavascriptBridgeReady",function(){e(WebViewJavascriptBridge)},!1);else{if(window.WVJBCallbacks)return window.WVJBCallbacks.push(e);window.WVJBCallbacks=[e];var t=document.createElement("iframe");t.style.display="none",t.src="https://__bridge_loaded__",document.documentElement.appendChild(t),setTimeout(function(){document.documentElement.removeChild(t)},0)}}var j={callhandler:function(e,t,n){P(function(r){r.callHandler(e,t,n)})},registerhandler:function(e,t){P(function(n){n.registerHandler(e,function(e,n){t(e,n)})})}};r["a"].prototype.$bridge=j,n("1368").polyfill(),v.a.polyfill(),new r["a"]({router:m,store:l,el:"#app",render:function(e){return e(c)}})},"64a9":function(e,t,n){},a342:function(e,t,n){}});
//# sourceMappingURL=app.295ba73f.js.map
\ No newline at end of file
(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d0baaed"],{"37f9":function(n,e,t){"use strict";t.r(e);var a=function(){var n=this,e=n.$createElement,t=n._self._c||e;return t("div",{staticClass:"index-contain"})},c=[],i=(t("cadf"),t("551c"),t("097d"),{data:function(){return{}}}),u=i,s=t("2877"),d=Object(s["a"])(u,a,c,!1,null,null,null);d.options.__file="index.vue";e["default"]=d.exports}}]);
//# sourceMappingURL=chunk-2d0baaed.2ebda6d1.js.map
\ No newline at end of file
{"version":3,"sources":["webpack:///./src/views/index/index.vue?36a9","webpack:///src/views/index/index.vue","webpack:///./src/views/index/index.vue?66f8","webpack:///./src/views/index/index.vue"],"names":["render","_vm","this","_h","$createElement","_c","_self","staticClass","staticRenderFns","indexvue_type_script_lang_js_","data","views_indexvue_type_script_lang_js_","component","Object","componentNormalizer","options","__file","__webpack_exports__"],"mappings":"yHAAA,IAAAA,EAAA,WAA0B,IAAAC,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAiBE,YAAA,mBAC1GC,EAAA,GCOAC,iCAAA,CAEAC,KAFA,WAGA,YCX8VC,EAAA,cCO9VC,EAAgBC,OAAAC,EAAA,KAAAD,CACdF,EACAX,EACAQ,GACF,EACA,KACA,KACA,MAIAI,EAAAG,QAAAC,OAAA,YACeC,EAAA,WAAAL","file":"js/chunk-2d0baaed.2ebda6d1.js","sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"index-contain\"})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <div class=\"index-contain\">\n\n </div>\n</template>\n\n<script>\n\nexport default {\n\n data() {\n return {}\n\n }\n\n};\n</script>\n\n<style lang=\"less\">\n\n</style>\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=4a2975a8&\"\nimport script from \"./index.vue?vue&type=script&lang=js&\"\nexport * from \"./index.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"index.vue\"\nexport default component.exports"],"sourceRoot":""}
\ No newline at end of file
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
@import './public.css';
.arrowico{
position: absolute;
transition: all .5s;
.icoposition(0px,25px);
}
.icoposition(@right: right,@top: top){
right: @right;
top: @top;
}
.user-form-dialog {
/deep/ .el-dialog {
min-width: 425px;
}
/*/deep/ .el-dialog__body {
padding: 0 20px;
}*/
/deep/ .el-input {
width: 260px;
}
}
.pass-form-dialog {
/deep/ .el-dialog {
min-width: 425px;
}
/*/deep/ .el-dialog__body {
padding: 0 20px;
}*/
}
/**
* Eric Meyer's Reset CSS v2.0 (http://meyerweb.com/eric/tools/css/reset/)
* http://cssreset.com
*/
html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video,
input {
margin: 0;
padding: 0;
border: 0;
font-size: 100%;
font-weight: normal;
vertical-align: baseline;
font-family: "Helvetica Neue", Helvetica, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "微软雅黑", Arial, sans-serif;
}
/* HTML5 display-role reset for older browsers */
article,
aside,
details,
figcaption,
figure,
footer,
header,
menu,
nav,
section {
display: block;
}
body {
line-height: 1;
}
blockquote,
q {
quotes: none;
}
blockquote:before,
blockquote:after,
q:before,
q:after {
content: none;
}
table {
border-collapse: collapse;
border-spacing: 0;
}
/* custom */
a {
color: #7e8c8d;
text-decoration: none;
-webkit-backface-visibility: hidden;
}
.a-href {
color: #409EFF;
cursor: pointer;
}
li {
list-style: none;
}
::-webkit-scrollbar {
width: 5px;
height: 5px;
-webkit-border-radius: 6px;
border-radius: 6px;
/*background: #e4e7ed;*/
/*background-color: rgba(0, 0, 0, 0.1)*/
}
::-webkit-scrollbar-track {
/*background: #f5f7fa;*/
-webkit-border-radius: 6px;
border-radius: 6px;
}
::-webkit-scrollbar-track-piece {
/*background-color: rgba(0, 0, 0, 0.2);
-webkit-border-radius: 6px;*/
}
::-webkit-scrollbar-thumb {
background: #c0c4cc;
-webkit-border-radius: 6px;
border-radius: 6px;
background-color: rgba(0, 0, 0, 0.1)
}
@-moz-document url-prefix(http: //),url-prefix(https://) {
/* 滚动条颜色 */
scrollbar {
-moz-appearance: none !important;
width: 5px;
height: 5px;
-webkit-border-radius: 6px;
border-radius: 6px;
}
/* 滚动条按钮颜色 */
thumb, scrollbarbutton {
-moz-appearance: none !important;
}
/* 鼠标悬停时按钮颜色 */
thumb:hover, scrollbarbutton:hover {
-moz-appearance: none !important;
}
/* 隐藏上下箭头 */
scrollbarbutton {
display: none !important;
}
/* 纵向滚动条宽度 */
scrollbar[orient="vertical"] {
/*min-width: 15px !important;*/
}
}
scrollbar {
/* clear useragent default style*/
-moz-appearance: none !important;
}
/* buttons at two ends */
scrollbarbutton {
-moz-appearance: none !important;
}
/* the sliding part*/
thumb {
-moz-appearance: none !important;
}
scrollcorner {
-moz-appearance: none !important;
resize: both;
}
/* vertical or horizontal */
scrollbar[orient="vertical"] {
color: silver;
}
-moz-scrollbar-track {
width: 5px;
border: none;
background: #ff0000;
}
-moz-scrollbar-face {
width: 5px;
border: none;
background: #ff0000;
}
-moz-scrollbar-arrow {
width: 5px;
border: none;
background: #ff0000;
}
-moz-scrollbar {
-moz-scrollbar-width: 15px;
-moz-scrollbar-border: 1px solid black;
-moz-scrollbar-background-color: white;
-moz-scrollbar-track-background-color: silver;
-moz-scrollbar-arrow-background-color: silver;
-moz-scrollbar-arrow-color: blue;
}
/*::-webkit-scrollbar-button {
color: #c8cbd3;
}*/
html,
body {
width: 100%;
min-height: 100%;
height: 100%;
/*background-color: #ffffff;*/
background-color: #f0f2f5;
}
body {
-webkit-text-size-adjust: none;
-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
input:focus {
box-shadow: none;
outline: none;
}
.btn-default {
color: #333;
border: 1px solid #ddd;
background-color: #f7f7f7;
cursor: pointer;
}
.btn {
font-size: 12px;
border-radius: 2px;
padding: 8px 16px;
height: 32px;
line-height: 14px;
}
.btn-new {
color: #333;
border: 1px solid #fede29;
background-color: #fede29;
}
.fl {
float: left;
}
.fr {
float: right;
}
.clearfix:before, .clearfix:after {
display: block;
visibility: hidden;
height: 0;
content: "";
clear: both;
}
.clearfix {
zoom: 1;
}
.inline-block {
display: inline-block;
}
.m-l-16 {
margin-left: 16px;
}
.m-t-10 {
margin-top: 10px;
}
.m-t-30 {
margin-top: 30px;
}
.m-r-10 {
margin-right: 10px;
}
.font-0 .el-form-item__content, .dialog-footer {
font-size: 0;
}
/* 公共 body 内的 left 和 right */
.common-wrap__left {
width: 260px;
height: 690px;
vertical-align: top;
font-size: 14px;
background: rgba(238,241,248,1);
border-radius: 2px;
}
.common-wrap__right {
width: calc(100% - 260px);
min-height: 690px;
padding: 24px;
vertical-align: top;
font-size: 14px;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
.pagewrap {
margin: 20px 0;
text-align: right;
}
.dialogwrap {
position: relative;
}
.dialogwrap:before {
position: absolute;
left: -20px;
top: -20px;
right: -20px;
content: '';
border-bottom: 1px solid #dedede;
}
.dialogcontent {
padding: 0 10px;
}
input:-webkit-autofill, textarea:-webkit-autofill, select:-webkit-autofill {
background-color: rgb(250, 255, 189);
/* #FAFFBD; */
background-image: none;
color: rgb(0, 0, 0);
}
.el-table th {
background: #f1f3f7 !important;
}
.slide-fade-enter-active {
transition: all .3s cubic-bezier(1.0, 0.5, 0.8, 1.0);
}
.slide-fade-leave-active {
transition: all .3s cubic-bezier(1.0, 0.5, 0.8, 1.0);
}
.slide-fade-enter, .slide-fade-leave-to {
opacity: 0;
}
/* 丹 新加*/
#app, #index, #content {
height: 100%;
}
/* table 的表头 -- 背景色 */
.el-table thead tr, .el-table thead th {
background: #f1f3f7;
}
/* 面包屑 */
.breadcrumb {
padding: 24px;
background-color: #fff;
border-radius: 2px;
box-shadow: 0 -1px 10px #dfdfdf;
}
.breadcrumb .breadcrumb-title {
margin: 30px 0 10px 0;
font-size: 20px;
}
/*有侧边栏的 右侧 */
.content-wrap {
height: 100%;
display: flex;
}
.content-wrap .right-wrap {
width: 100%;
box-sizing: border-box;
height: 100%;
overflow-y: auto;
}
.content-wrap .right-wrap .right-content {
padding: 24px;
}
.content-wrap .right-wrap .right-content .right-box {
background: #fff;
padding: 24px;
}
/* 无侧边栏的底部 */
.bottom-wrap {
padding: 24px;
color: #606266;
font-size: 14px;
}
.bottom-content-wrap {
/*background: #fff;
padding: 24px;*/
}
/*提示文字*/
.tip-text {
font-size: 12px;
color: #909399;
position: absolute;
bottom: -30px;
}
.el-form .el-form-item.is-success .el-input__inner, .el-form .el-form-item.is-success .el-input__inner:focus, .el-form .el-form-item.is-success .el-textarea__inner, .el-form .el-form-item.is-success .el-textarea__inner:focus {
border-color: #dcdfe6;
}
/* 开卡模板 */
.template-cell-r .el-input.is-disabled .el-input__inner {
font-size: 12px;
color: #fff;
background-color: rgba(255, 255, 255, .1);
}
.el-button--text.m-l-10 {
margin-left: 10px;
}
.task-public .el-tabs .el-tabs__header {
margin: 0;
padding-left: 24px;
border-bottom: 1px solid #e4e7ed;
background: #fff;
-webkit-box-sizing: border-box;
box-sizing: border-box;
}
/* 头部 */
.user-form-dialog .el-dialog__body {
padding: 30px 20px 0;
}
.user-form-dialog .el-dialog__header {
padding: 0 20px;
height: 54px;
}
.pass-form-dialog .el-dialog__body {
padding: 30px 20px 0;
}
.pass-form-dialog .el-dialog__header {
padding: 0 20px;
height: 54px;
}
/* 左侧菜单 */
.leftBar-wrap .el-menu {
background-color: #020b21;
}
.leftBar-wrap .cardmenu-item .el-submenu__title, .leftBar-wrap .cardmenu-item .el-menu-item, .leftBar-wrap .cardmenu-item .el-submenu .el-menu-item {
height: 40px;
line-height: 40px;
}
.leftBar-wrap .el-submenu__title:hover {
background-color: #020b21;
}
.leftBar-wrap .cardmenu-item li.el-menu-item:hover i {
/*background-color: #1890ff;*/
color: #fff;
}
.leftBar-wrap .cardmenu-item li.el-menu-item:hover span {
/*background-color: #1890ff;*/
color: #fff;
}
.leftBar-wrap .cardmenu-item li.el-submenu:hover i {
/*background-color: #1890ff;*/
color: #fff;
}
.leftBar-wrap .cardmenu-item li.el-submenu:hover span {
/*background-color: #1890ff;*/
color: #fff;
}
.leftBar-wrap .cardmenu-item li.el-submenu .el-menu-item:hover label {
/*background-color: #1890ff;*/
color: #fff;
cursor: pointer;
}
.leftBar-wrap .cardmenu-item .el-submenu.is-active div.el-submenu__title i {
color: #fff;
}
.leftBar-wrap .cardmenu-item .el-submenu.is-active div.el-submenu__title span {
color: #fff;
}
.el-menu.el-menu--popup .el-menu-item.is-active label {
color: #fff;
}
/* 百分号 */
.percent-item .el-input-group__append {
padding: 0 12px;
}
/* table lable*/
.table-label .el-form-item__label {
line-height: 48px;
}
@base-color: #353944;
@hover-color: #3c92eb;
@hoverbg-color: #20242d;
@main-color: #1890ff;
@navbgcolor: #04143a;
@sidebgcolor: #343c4c;
@userinfobgcolor: #ecf5ff;
@contentbgcolor: #f5f7fa;
@bordercolor: #dcdfe6;
@customnavcolor: #04143a;
@btnbgcolor: #f5f7fa;
@iconbgcolor: #e6e9f2;
.flex1(@width,@height) {
flex: 0 0 @width;
width: @width;
height: @height;
}
webpackJsonp([1],{"3E4D":function(e,t,a){"use strict";var s=a("zL8q");a.n(s)},"Ch4/":function(e,t,a){"use strict";var s=a("zL8q");a.n(s)},Iazf:function(module,__webpack_exports__,__webpack_require__){"use strict";var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_core_js_json_stringify__=__webpack_require__("mvHQ"),__WEBPACK_IMPORTED_MODULE_0_babel_runtime_core_js_json_stringify___default=__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_babel_runtime_core_js_json_stringify__),__WEBPACK_IMPORTED_MODULE_1__common_js_showmsg__=__webpack_require__("3E4D"),__WEBPACK_IMPORTED_MODULE_2__common_js_error__=__webpack_require__("Ch4/");__webpack_exports__.a={name:"staffRecordsTemplate",data:function(){return{bodyHeight:(document.documentElement.clientHeight||document.body.clientHeight)+"px",selectKey:"",baseInfo:[],jobInfo:[],selfInfo:[],eduInfo:[],contractInfo:[],contactInfo:[],personalInfo:[],defineInfo:[],currentIndex:0,currentChildKey:null,currentChildIndex:null,childIndex:0,tempaletDataList:[]}},created:function(){},methods:{changeRoute:function(e){this.$router.push(e)},treeData:function(e){var t=e.filter(function(t){var a=e.filter(function(e){return t.fieldCode==e.parentCode});return a.length>0&&(t.children=a),0==t.parentCode});return t.sort(function(e,t){return e.sort-t.sort}),t.forEach(function(e,t){e.children.sort(function(e,t){return e.sort-t.sort})}),t},handleGetInfo:function(e){var t=JSON.parse(e).result;t.forEach(function(e,t){e.fixed=1===parseInt(e.fixed),e.isMust=1===parseInt(e.isMust),e.fieldEdited=1===parseInt(e.fieldEdited),e.systemFlag=!0,e.fieldOperations=e.fieldOperations?JSON.parse(e.fieldOperations):{},e.staffRecordsIds=e.staffRecordsIds?JSON.parse(e.staffRecordsIds):[]}),this.tempaletDataList=this.treeData(t)}},watch:{},components:{},mounted:function mounted(){var that=this,param={enterpriseId:that.$route.query.enterpriseId},method="getUserArchivesTempletContent",data={method:method,param:param};function appInvocationMethod(e){return{userId:"123456",name:"张琦"}}that.$bridge.callhandler("apiHandler",data,function(e){console.log("js 调用成功"),that.handleGetInfo(e)}),that.$bridge.registerhandler("jsHandler",function(data,responseCallback){var json=JSON.parse(data),method=json.method,param=json.param,paramStr=__WEBPACK_IMPORTED_MODULE_0_babel_runtime_core_js_json_stringify___default()(param),evalMethod=method+"(paramStr)",result=eval(evalMethod);responseCallback(result)})}}},MqeA:function(e,t){},lFAe:function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var s=a("Iazf"),i={render:function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{staticClass:"template-wrap",style:{height:e.bodyHeight}},[a("div",{staticClass:"template-contain"},[a("div",{staticClass:"template-body"},[a("div",{staticClass:"template-cell template-cell-m"},[a("div",{staticClass:"phone-view"},[a("div",{staticClass:"phone-show-content"},[a("div",{staticClass:"drag-show-content"},[a("div",{staticClass:"view-container"},[a("ul",{staticClass:"view-content",attrs:{id:"showPhoneView"}},[a("div",{staticClass:"drag-wrap",attrs:{options:{group:{name:"people",pull:!1,put:!1},sort:!1}},model:{value:e.tempaletDataList,callback:function(t){e.tempaletDataList=t},expression:"tempaletDataList"}},e._l(e.tempaletDataList,function(t,s){return a("li",{class:["filed-item",e.currentIndex==s?"active-item":"","li-block"]},[[a("div",{staticClass:"block"},[a("div",{staticClass:"block-head"},[a("div",{class:["opencard-item-title",t.fieldName.length>6?"block-pre-wrap":""]},[e._v(e._s(t.fieldName))])]),e._v(" "),a("ul",{staticClass:"view-content"},[a("div",{class:["drag-wrap","block-wrap",t.fieldCode],attrs:{options:{group:{name:"people",pull:!1,put:!1},sort:!1}},model:{value:t.children,callback:function(a){e.$set(t,"children",a)},expression:"item.children"}},e._l(t.children,function(t,s){return a("li",{class:["filed-item","child-filed-item",e.currentChildKey==t.fieldCode&&e.currentChildIndex==s?"active-item":""]},[2==t.fieldType||3==t.fieldType||4==t.fieldType?a("div",[a("div",{class:["opencard-item-title",t.fieldName.length>6?"title-pre-wrap":""]},[e._v(e._s(t.fieldName))]),e._v(" "),a("div",{staticClass:"draged-item-show"},[a("span",{staticClass:"show-warm-text show-warm-text-flag select-flag"},[e._v(e._s(t.fieldDescription)+" "),a("i",{staticClass:"el-icon-arrow-right"})])])]):e._e(),e._v(" "),5==t.fieldType?a("div",[a("div",[a("div",{class:["opencard-item-title",t.fieldOperations.startName.length>6?"title-pre-wrap":""]},[e._v(e._s(t.fieldOperations.startName))]),e._v(" "),a("div",{staticClass:"draged-item-show"},[a("span",{staticClass:"show-warm-text show-warm-text-flag select-flag"},[e._v(e._s(t.fieldOperations.startDescription)),a("i",{staticClass:"el-icon-arrow-right"})])])]),e._v(" "),a("div",{staticClass:"b-t-1"},[a("div",{class:["opencard-item-title",t.fieldOperations.endName.length>6?"title-pre-wrap":""]},[e._v(e._s(t.fieldOperations.endName))]),e._v(" "),a("div",{staticClass:"draged-item-show"},[a("span",{staticClass:"show-warm-text show-warm-text-flag select-flag"},[e._v(e._s(t.fieldOperations.endDescription)),a("i",{staticClass:"el-icon-arrow-right"})])])])]):e._e(),e._v(" "),7==t.fieldType?a("div",[a("div",{class:["opencard-item-title",t.fieldName.length>6?"title-pre-wrap":""]},[e._v(e._s(t.fieldName))]),e._v(" "),e._m(0,!0)]):e._e(),e._v(" "),0==t.fieldType||1==t.fieldType||6==t.fieldType?a("div",[a("div",{class:["opencard-item-title",t.fieldName.length>6?"title-pre-wrap":""]},[e._v(e._s(t.fieldName))]),e._v(" "),a("div",{staticClass:"draged-item-show"},[a("span",{staticClass:"show-warm-text show-warm-text-flag"},[e._v(e._s(t.fieldDescription))])])]):e._e()])}))])])]],2)}))])])])])])])])])])},staticRenderFns:[function(){var e=this.$createElement,t=this._self._c||e;return t("div",{staticClass:"draged-item-show"},[t("span",{staticClass:"show-warm-text show-warm-text-flag select-flag"},[t("i",{staticClass:"iconfont icon-icon"})])])}]};var r=function(e){a("MqeA")},n=a("VU/8")(s.a,i,!1,r,"data-v-3feb27a0",null);t.default=n.exports},mvHQ:function(e,t,a){e.exports={default:a("qkKv"),__esModule:!0}},qkKv:function(e,t,a){var s=a("FeBl"),i=s.JSON||(s.JSON={stringify:JSON.stringify});e.exports=function(e){return i.stringify.apply(i,arguments)}}});
//# sourceMappingURL=1.c2674a5b2e2c002ef41c.js.map
\ No newline at end of file
webpackJsonp([2],{"+7W9":function(M,L){},"6XGN":function(M,L,j){"use strict";Object.defineProperty(L,"__esModule",{value:!0});var N=j("CkW6"),u=j.n(N),w={name:"page403",data:function(){return{img_403:u.a}},computed:{message:function(){return"抱歉,你无权访问该页面"}}},D={render:function(){var M=this.$createElement,L=this._self._c||M;return L("div",{staticStyle:{background:"#f0f2f5","margin-top":"-20px",height:"100%"}},[L("div",{staticClass:"wscn-http404"},[L("div",{staticClass:"pic-404"},[L("img",{staticClass:"pic-404__parent",attrs:{src:this.img_403,alt:"403"}})]),this._v(" "),L("div",{staticClass:"bullshit"},[L("div",{staticClass:"bullshit__headline"},[this._v(this._s(this.message))]),this._v(" "),L("a",{staticClass:"bullshit__return-home",attrs:{href:"#/companyGroup"}},[this._v("返回首页")])])])])},staticRenderFns:[]};var C=j("VU/8")(w,D,!1,function(M){j("+7W9")},"data-v-560f462e",null);L.default=C.exports},CkW6:function(M,L){M.exports="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAyMS4wLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0i5Zu+5bGCXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgNDAwIDMzNSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgNDAwIDMzNTsiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPHN0eWxlIHR5cGU9InRleHQvY3NzIj4NCgkuc3Qwe2ZpbGw6I0ZBRkNGRjt9DQoJLnN0MXtmaWxsOiNEQkU1RjE7fQ0KCS5zdDJ7ZmlsbDojREVFN0Y0O30NCgkuc3Qze2ZpbGw6I0I5QzdEQjt9DQoJLnN0NHtmaWxsOiNGRkZGRkY7fQ0KCS5zdDV7ZmlsbDpub25lO3N0cm9rZTojQjlDN0RCO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1taXRlcmxpbWl0OjEwO30NCgkuc3Q2e2ZpbGw6bm9uZTtzdHJva2U6I0I2QzdEODtzdHJva2UtbWl0ZXJsaW1pdDoxMDt9DQo8L3N0eWxlPg0KPHBhdGggY2xhc3M9InN0NSIgZD0iTTI3NC41LDI0MS4zYy01LjMtNS4zLTQuNCw0LjQtNi43LDYuN2MtMy4xLDMuMS02LjMsNi05LjcsOC42SDEyNS4yYy0zLjQtMi43LTYuNi01LjYtOS43LTguNw0KCWMtMjguNC0yOC41LTM4LjYtNzAuNS0yNi42LTEwOWwtMTAuNS0xMC42Yy01LjMtNS4zLTUuMy0xMy44LDAtMTkuMmM1LjItNS4zLDEzLjctNS4zLDE5LTAuMWMwLDAsMCwwLDAuMSwwLjFsNi42LDYuOA0KCWMzLjEsMy4yLDguMiwzLjIsMTEuNCwwbDAsMGMzLjItMy4yLDMuMi04LjMsMC0xMS41TDEwMy4xLDkyYy0zLjItMy4yLTMuMi04LjMsMC0xMS41YzMuMS0zLjIsOC4yLTMuMiwxMS40LDBsMCwwbDE3LjIsMTcuMg0KCWMtMC45LDMuNywwLjksNy42LDQuNCw5LjNjMy41LDEuNyw3LjcsMC42LDkuOS0yLjVjMi4zLTMuMSwyLjEtNy40LTAuNS0xMC4zYy0zLjMtMy44LTYuNS03LjItNi41LTcuMmwtNy4zLTcuNA0KCWMzNC44LTIxLjMsODIuNi0yMS43LDExNy4yLDBjMzQuNSwyMS43LDUzLjksNjEuMiw1MCwxMDEuOWwxNS40LDE1LjZjMy4yLDMuMiwzLjIsOC4zLDAsMTEuNWMtMy4xLDMuMi04LjIsMy4yLTExLjQsMGwwLDANCglsLTE1LjEtMTUuM2MtMy4xLTMuMi04LjItMy4yLTExLjQsMGwwLDBjLTMuMiwzLjItMy4yLDguMywwLDExLjVsMTcuMSwxNy4yYzUuMiw1LjMsNS4yLDEzLjgsMCwxOS4xDQoJQzI4OC40LDI0Ni42LDI3OS45LDI0Ni42LDI3NC41LDI0MS4zQzI3NC42LDI0MS4zLDI3NC42LDI0MS4zLDI3NC41LDI0MS4zTDI3NC41LDI0MS4zeiIvPg0KPHBhdGggY2xhc3M9InN0MyIgZD0iTTg2LjYsNzEuNGMwLDQuNywzLjgsOC41LDguNSw4LjVjMS41LDAsMy0wLjQsNC4zLTEuMWM0LjEtMi4zLDUuNS03LjUsMy4xLTExLjZjLTEuNS0yLjYtNC4zLTQuMy03LjQtNC4zDQoJQzkwLjQsNjIuOSw4Ni42LDY2LjcsODYuNiw3MS40Ii8+DQo8cGF0aCBjbGFzcz0ic3QzIiBkPSJNMjE2LjQsMTQ1LjRoMjQuM2wtNy40LDE3LjljMi42LDEuOCw0LjUsMy44LDUuOCw2YzEuMiwyLjIsMS45LDQuOCwxLjksNy44YzAsNC42LTEuNiw4LjQtNC44LDExLjINCgljLTMuMiwyLjktNy4zLDQuMy0xMi4zLDQuM2MtMi41LDAtNS4xLTAuNC03LjUtMS4xdi0xMy4xYzIsMC45LDMuOSwxLjQsNS41LDEuNHMyLjktMC41LDMuNy0xLjRjMC45LTEsMS4zLTIuMywxLjMtNC4xDQoJYzAtMS45LTAuOC0zLjQtMi40LTQuNmMtMS42LTEuMi0zLjctMS43LTYuNC0xLjdsMy40LTkuMWgtNS4xVjE0NS40TDIxNi40LDE0NS40eiBNMjA3LjUsMTgxLjZjMCwxLjUtMC4zLDMtMC44LDQuMw0KCXMtMS4zLDIuNS0yLjMsMy41cy0yLjIsMS44LTMuNCwyLjNjLTEuMywwLjYtMi44LDAuOS00LjMsMC45aC05LjZjLTEuNSwwLTIuOS0wLjMtNC4zLTAuOWMtMS4zLTAuNi0yLjUtMS4zLTMuNC0yLjMNCgljLTAuNC0wLjQtMC44LTAuOS0xLjItMS40bDExLjctMTcuM3Y2YzAsMC42LDAuMiwxLjEsMC42LDEuNGMwLjQsMC40LDAuOCwwLjYsMS40LDAuNmMxLjEsMCwyLTAuOCwyLTEuOXYtMC4xdi0xMS45bDEwLjktMTYuMQ0KCWMxLjgsMiwyLjgsNC42LDIuNyw3LjNMMjA3LjUsMTgxLjZMMjA3LjUsMTgxLjZMMjA3LjUsMTgxLjZ6IE0xNzcuMSwxODUuOWMtMC42LTEuNC0wLjktMi44LTAuOC00LjNWMTU2YzAtMS41LDAuMy0zLDAuOC00LjMNCglzMS4zLTIuNSwyLjMtMy41czIuMi0xLjgsMy40LTIuM2MxLjMtMC42LDIuOC0wLjksNC4zLTAuOWg5LjZjMS41LDAsMi45LDAuMyw0LjMsMC45YzEuMywwLjUsMi40LDEuMywzLjQsMi4zbC0xMC41LDE1LjR2LTIuNw0KCWMwLTAuNS0wLjItMS4xLTAuNi0xLjRjLTAuNC0wLjQtMC45LTAuNi0xLjQtMC42Yy0xLjEsMC0yLDAuOC0yLDEuOXYwLjF2OC42bC0xMi4xLDE3LjlDMTc3LjUsMTg2LjksMTc3LjMsMTg2LjQsMTc3LjEsMTg1LjkNCglMMTc3LjEsMTg1Ljl6IE0yNDMuOCwxOTIuN2MzLjUtNy40LDUuMy0xNS41LDUuMy0yMy43YzAtMzAuNS0yNC40LTU1LjItNTQuNi01NS4ycy01NC42LDI0LjctNTQuNiw1NS4yYzAsMC40LDAsMC44LDAsMS4xDQoJbDE5LjYtMjQuNmgxMS40TDE1NCwxNzEuM2g1LjV2LTYuNWwxMS43LTE4LjV2NDYuOGgtMTEuN3YtOS44aC0xNy44YzUuMSwxOS4yLDIwLjEsMzQuMywzOS4yLDM5LjJjLTEuMiwzLjEtNC44LDEwLjctMTAuNywxMg0KCWMtNy4zLDEuNywxOS45LDAuNCwzOS40LTEyLjVjMTQuOS00LjQsMjcuMi0xNSwzMy45LTI4LjlMMjQzLjgsMTkyLjdMMjQzLjgsMTkyLjd6Ii8+DQo8cGF0aCBjbGFzcz0ic3Q0IiBkPSJNMjM4LjksMTU0LjNsLTI0LjQsMzUuNGwwLjUsMC4zbDI0LjQtMzUuNEwyMzguOSwxNTQuM3oiLz4NCjxwYXRoIGNsYXNzPSJzdDMiIGQ9Ik0yNjYuMiw2Ni42aDhjMC43LDAsMS4zLDAuNiwxLjMsMS4zbDAsMGMwLDAuNC0wLjEsMC43LTAuNCwxYy0wLjIsMC4zLTAuNiwwLjQtMC45LDAuNGgtOA0KCWMtMC40LDAtMC43LTAuMS0wLjktMC40Yy0wLjUtMC41LTAuNS0xLjQsMC0xLjlDMjY1LjUsNjYuNywyNjUuOCw2Ni42LDI2Ni4yLDY2LjYgTTExNi41LDIwMS45Yy00LjQsMC04LDMuNi04LDguMXMzLjYsOC4xLDgsOC4xDQoJczgtMy42LDgtOC4xUzEyMC45LDIwMS45LDExNi41LDIwMS45TDExNi41LDIwMS45eiBNMTIxLjQsMjEyLjFjLTAuOCwyLTIuOCwzLjMtNC45LDMuM2MtMywwLTUuMy0yLjQtNS4zLTUuNGMwLTIuMiwxLjMtNC4xLDMuMy01DQoJYzItMC44LDQuMy0wLjQsNS44LDEuMkMxMjEuOCwyMDcuNywxMjIuMiwyMTAsMTIxLjQsMjEyLjFMMTIxLjQsMjEyLjF6IE0xOTEuMyw3OC43Yy00LjQsMC04LDMuNi04LDguMXMzLjYsOC4xLDgsOC4xDQoJYzIuMSwwLDQuMi0wLjksNS43LTIuNHMyLjMtMy42LDIuMy01LjdDMTk5LjMsODIuNCwxOTUuNyw3OC43LDE5MS4zLDc4Ljd6IE0xOTYuMyw4OC45Yy0wLjgsMi0yLjgsMy4zLTQuOSwzLjMNCgljLTMsMC01LjMtMi40LTUuMy01LjRjMC0yLjIsMS4zLTQuMiwzLjMtNXM0LjMtMC40LDUuOCwxLjJDMTk2LjYsODQuNiwxOTcuMSw4Ni45LDE5Ni4zLDg4LjlMMTk2LjMsODguOXogTTI3MC4yLDE2Mi42DQoJYy00LjQsMC04LDMuNi04LDguMXMzLjYsOC4xLDgsOC4xczgtMy42LDgtOC4xQzI3OC4yLDE2Ni4zLDI3NC42LDE2Mi42LDI3MC4yLDE2Mi42eiBNMjc1LjEsMTcyLjhjLTAuOCwyLTIuOCwzLjMtNC45LDMuMw0KCWMtMywwLTUuMy0yLjQtNS4zLTUuNGMwLTIuMiwxLjMtNC4yLDMuMy01czQuMy0wLjQsNS44LDEuMlMyNzUuOSwxNzAuOCwyNzUuMSwxNzIuOHogTTIzMC4xLDMxLjRjLTQuNCwwLTgsMy42LTgsOC4xczMuNiw4LjEsOCw4LjENCgljMi4xLDAsNC4yLTAuOSw1LjctMi40czIuMy0zLjYsMi4zLTUuN0MyMzguMSwzNSwyMzQuNSwzMS40LDIzMC4xLDMxLjR6IE0yMzUsNDEuNmMtMC44LDItMi44LDMuMy00LjksMy4zYy0zLDAtNS4zLTIuNC01LjMtNS40DQoJYzAtMi4yLDEuMy00LjIsMy4zLTVzNC4zLTAuNCw1LjgsMS4yQzIzNS40LDM3LjIsMjM1LjgsMzkuNSwyMzUsNDEuNnoiLz4NCjxwYXRoIGNsYXNzPSJzdDMiIGQ9Ik0xNjMuMiw0NS45aDguMmMwLjQsMCwwLjcsMC4xLDEsMC40YzAuNSwwLjUsMC41LDEuMywwLDEuOWwwLDBjLTAuMywwLjMtMC42LDAuNC0xLDAuNGgtOC4yDQoJYy0wLjQsMC0wLjctMC4xLTEtMC40Yy0wLjUtMC41LTAuNS0xLjMsMC0xLjlsMCwwQzE2Mi40LDQ2LjEsMTYyLjgsNDUuOSwxNjMuMiw0NS45IE0yNzEuNyw2My41djhjMCwwLjQtMC4xLDAuNy0wLjQsMC45DQoJYy0wLjMsMC4zLTAuNiwwLjQtMSwwLjRjLTAuNywwLTEuNC0wLjYtMS40LTEuM2wwLDB2LThjMC0wLjQsMC4xLTAuNywwLjQtMC45YzAuNS0wLjUsMS40LTAuNSwxLjksMA0KCUMyNzEuNiw2Mi44LDI3MS43LDYzLjIsMjcxLjcsNjMuNSIvPg0KPHBhdGggY2xhc3M9InN0MyIgZD0iTTEwNy40LDE1NC44aDguMmMwLjQsMCwwLjcsMC4xLDEsMC40YzAuMywwLjIsMC40LDAuNiwwLjQsMC45YzAsMC43LTAuNiwxLjMtMS40LDEuM2gtOC4yDQoJYy0wLjUsMC0wLjktMC4zLTEuMi0wLjdjLTAuMi0wLjQtMC4yLTAuOSwwLTEuM0MxMDYuNCwxNTUuMSwxMDYuOSwxNTQuOCwxMDcuNCwxNTQuOCBNMTY5LDQyLjd2OGMwLDAuNC0wLjEsMC43LTAuNCwwLjkNCgljLTAuNSwwLjUtMS40LDAuNS0yLDBjLTAuMi0wLjItMC40LTAuNi0wLjQtMC45di04YzAtMC40LDAuMS0wLjcsMC40LTAuOWMwLjUtMC41LDEuNC0wLjUsMS45LDBDMTY4LjgsNDIsMTY5LDQyLjMsMTY5LDQyLjciLz4NCjxwYXRoIGNsYXNzPSJzdDMiIGQ9Ik0yMzAuOSwxMTAuM2g4LjFjMC43LDAsMS4zLDAuNiwxLjMsMS40YzAsMC43LTAuNiwxLjMtMS4zLDEuNGgtOC4xYy0wLjgsMC0xLjQtMC42LTEuNC0xLjQNCgljMC0wLjQsMC4xLTAuNywwLjQtMUMyMzAuMiwxMTAuNCwyMzAuNiwxMTAuMywyMzAuOSwxMTAuMyIvPg0KPHBhdGggY2xhc3M9InN0MyIgZD0iTTExNC42LDE2My44djguMmMwLDAuNC0wLjEsMC43LTAuNCwxYy0wLjUsMC41LTEuNCwwLjUtMS45LDBjLTAuMy0wLjMtMC40LTAuNi0wLjQtMXYtOC4yYzAtMC40LDAuMS0wLjcsMC40LTENCgljMC41LTAuNSwxLjQtMC41LDEuOSwwbDAsMEMxMTQuNCwxNjMuMSwxMTQuNiwxNjMuNCwxMTQuNiwxNjMuOCIvPg0KPHBhdGggY2xhc3M9InN0MSIgZD0iTTEyNiwyNzIuN2g2MC40YzAuNywwLDEuMywwLjYsMS4zLDEuM2wwLDBjMCwwLjctMC42LDEuMy0xLjMsMS40SDEyNmMtMC43LDAtMS4zLTAuNi0xLjMtMS4zDQoJQzEyNC43LDI3My4zLDEyNS4zLDI3Mi43LDEyNiwyNzIuNyIvPg0KPHBhdGggY2xhc3M9InN0MSIgZD0iTTIxOC42LDI3Mi43aDM0LjljMC43LDAsMS4zLDAuNiwxLjMsMS4zYzAsMC43LTAuNiwxLjMtMS4zLDEuM2gtMzQuOWMtMC43LDAtMS4zLTAuNi0xLjQtMS4zDQoJYzAtMC40LDAuMS0wLjcsMC40LTFDMjE3LjksMjcyLjksMjE4LjIsMjcyLjcsMjE4LjYsMjcyLjciLz4NCjxwYXRoIGNsYXNzPSJzdDEiIGQ9Ik0xNTguMiwyODIuMmgxMzEuNWMwLjcsMCwxLjMsMC42LDEuNCwxLjNjMCwwLjQtMC4xLDAuNy0wLjQsMWMtMC4zLDAuMy0wLjYsMC40LTEsMC40SDE1OC4yDQoJYy0wLjcsMC0xLjMtMC42LTEuMy0xLjNsMCwwQzE1Ni45LDI4Mi44LDE1Ny41LDI4Mi4yLDE1OC4yLDI4Mi4yIi8+DQo8cGF0aCBjbGFzcz0ic3QxIiBkPSJNOTMuOCwyODIuMmgzNC45YzAuNywwLDEuMywwLjYsMS4zLDEuM2wwLDBjMCwwLjctMC42LDEuMy0xLjMsMS40bDAsMEg5My44Yy0wLjcsMC0xLjMtMC42LTEuNC0xLjMNCgljMC0wLjQsMC4xLTAuNywwLjQtMUM5My4xLDI4Mi4zLDkzLjUsMjgyLjIsOTMuOCwyODIuMiIvPg0KPHBhdGggY2xhc3M9InN0MSIgZD0iTTE5Ny4xLDI3Mi43aDguMWMwLjcsMCwxLjMsMC42LDEuMywxLjNjMCwwLjctMC42LDEuMy0xLjMsMS4zaC04LjFjLTAuNywwLjEtMS40LTAuNS0xLjQtMS4zDQoJYy0wLjEtMC43LDAuNS0xLjQsMS4zLTEuNEMxOTcsMjcyLjcsMTk3LjEsMjcyLjcsMTk3LjEsMjcyLjciLz4NCjxwYXRoIGNsYXNzPSJzdDEiIGQ9Ik0yODQuNCwyNjQuNmg4LjFjMC43LDAsMS4zLDAuNiwxLjMsMS4zbDAsMGMwLDAuNy0wLjYsMS4zLTEuMywxLjNoLTguMWMtMC43LDAtMS4zLTAuNi0xLjMtMS4zDQoJQzI4MywyNjUuMywyODMuNiwyNjQuNiwyODQuNCwyNjQuNiIvPg0KPHBhdGggY2xhc3M9InN0MSIgZD0iTTk5LjIsMjY0LjZoMTcxLjdjMC40LDAsMC43LDAuMSwwLjksMC40YzAuNCwwLjQsMC41LDEsMC4zLDEuNWMtMC4yLDAuNS0wLjcsMC44LTEuMiwwLjhIOTkuMQ0KCWMtMC43LDAtMS4zLTAuNi0xLjMtMS4zQzk3LjgsMjY1LjMsOTguNCwyNjQuNiw5OS4yLDI2NC42Ii8+DQo8cGF0aCBjbGFzcz0ic3QzIiBkPSJNMjM1LDk1Ljh2OC4xYzAsMC43LTAuNiwxLjMtMS4zLDEuM3MtMS4zLTAuNi0xLjMtMS4zdi04LjFjMC0wLjcsMC42LTEuMywxLjMtMS40QzIzNC40LDk0LjQsMjM1LDk1LDIzNSw5NS44Ig0KCS8+DQo8L3N2Zz4NCg=="}});
//# sourceMappingURL=2.39effb7cc468a8b90c44.js.map
\ No newline at end of file
webpackJsonp([3],{"/4Tr":function(t,s){},"2X9c":function(t,s,i){t.exports=i.p+"static/img/error_500.ed0cba4.svg"},FskK:function(t,s,i){"use strict";Object.defineProperty(s,"__esModule",{value:!0});var e=i("2X9c"),a=i.n(e),n={name:"page500",data:function(){return{img_500:a.a}},computed:{message:function(){return"抱歉,服务器出错了"}}},r={render:function(){var t=this.$createElement,s=this._self._c||t;return s("div",{staticStyle:{background:"#f0f2f5","margin-top":"-20px",height:"100%"}},[s("div",{staticClass:"wscn-http404"},[s("div",{staticClass:"pic-404"},[s("img",{staticClass:"pic-404__parent",attrs:{src:this.img_500,alt:"500"}})]),this._v(" "),s("div",{staticClass:"bullshit"},[s("div",{staticClass:"bullshit__headline"},[this._v(this._s(this.message))]),this._v(" "),s("a",{staticClass:"bullshit__return-home",attrs:{href:"#/companyGroup"}},[this._v("返回首页")])])])])},staticRenderFns:[]};var c=i("VU/8")(n,r,!1,function(t){i("/4Tr")},"data-v-4bf06e19",null);s.default=c.exports}});
//# sourceMappingURL=3.6017c2d464a188e3cc3a.js.map
\ No newline at end of file
webpackJsonp([4],{AejC:function(t,s,i){"use strict";Object.defineProperty(s,"__esModule",{value:!0});var e=i("Minx"),a=i.n(e),n={name:"page404",data:function(){return{img_404:a.a}},computed:{message:function(){return"抱歉,你访问的页面不存在"}},mounted:function(){console.log(this.$route.path)}},c={render:function(){var t=this.$createElement,s=this._self._c||t;return s("div",{staticStyle:{background:"#f0f2f5","margin-top":"-20px",height:"100%"}},[s("div",{staticClass:"wscn-http404"},[s("div",{staticClass:"pic-404"},[s("img",{staticClass:"pic-404__parent",attrs:{src:this.img_404,alt:"404"}})]),this._v(" "),s("div",{staticClass:"bullshit"},[s("div",{staticClass:"bullshit__headline"},[this._v(this._s(this.message))]),this._v(" "),s("a",{staticClass:"bullshit__return-home",attrs:{href:"#/companyGroup"}},[this._v("返回首页")])])])])},staticRenderFns:[]};var r=i("VU/8")(n,c,!1,function(t){i("dqqc")},"data-v-12e12bd8",null);s.default=r.exports},Minx:function(t,s,i){t.exports=i.p+"static/img/error_404.bf58747.svg"},dqqc:function(t,s){}});
//# sourceMappingURL=4.c384492b24e03d00a718.js.map
\ No newline at end of file
webpackJsonp([6],{"4qCZ":function(e,n){},"5tgt":function(e,n,t){e.exports=function(e,n){return function(o){t("Opzk")("./"+e+"/"+n+".vue").then(function(e){o(e)})}}},"6jtR":function(e,n){},NHnr:function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var o=t("//Fk"),r=t.n(o),i=t("7+uW"),s={render:function(){var e=this.$createElement,n=this._self._c||e;return n("div",{attrs:{id:"app"}},[n("transition",{attrs:{name:"fade",mode:"out-in"}},[n("router-view")],1)],1)},staticRenderFns:[]};var a=t("VU/8")({name:"App",data:function(){return{}}},s,!1,function(e){t("6jtR")},null,null).exports,u=t("/ocq"),c=t("5tgt"),d=t.n(c);i.default.use(u.a);var l=function(e){t.e(0).then(t.bind(null,"ODjX")).then(function(n){e(n)})};window.sessionStorage.getItem("token")&&store.commit(types.LOGIN,window.sessionStorage.getItem("token"));var p,f=[{path:"/index",name:"index",component:d()("index","index")},{path:"/staffRecordsTemplate",name:"员工档案",component:d()("contacts","staffRecordsTemplate")},{path:"/403",name:"无权访问",component:l},{path:"/404",name:"error404",component:l},{path:"/500",name:"error500",component:l},{path:"*",redirect:"/404",hidden:!0}],m=new u.a({routes:f,scrollBehavior:function(){return{y:0}}}),h=t("zL8q"),g=t.n(h),w=t("Rf8U"),v=t.n(w),V=t("mtWM"),k=t.n(V),b=t("bOdI"),x=t.n(b),C=t("NYxO");i.default.use(C.a);var O=new C.a.Store({state:{user:{},token:null,title:"",show:!1},mutations:(p={},x()(p,"login",function(e,n){sessionStorage.token=n,e.token=n}),x()(p,"logout",function(e){sessionStorage.removeItem("token"),e.token=null}),x()(p,"title",function(e,n){e.title=n}),x()(p,"show",function(e,n){e.show=n}),p)}),_=(t("4qCZ"),t("uKUT"),t("Xcu2"),{}),W=[],j=navigator.userAgent,y=j.match(/(Android);?[\s\/]+([\d.]+)?/),A=j.match(/(iPad).*OS\s([\d_]+)/),P=j.match(/(iPod)(.*OS\s([\d_]+))?/),S=!A&&j.match(/(iPhone\sOS)\s([\d_]+)/);if(_.userAgent=j,_.ios=_.android=_.iphone=_.ipad=_.androidChrome=!1,y&&(_.os="android",_.osVersion=y[2],_.android=!0,_.androidChrome=j.toLowerCase().indexOf("chrome")>=0),(A||S||P)&&(_.os="ios",_.ios=!0),S&&!P&&(_.osVersion=S[2].replace(/_/g,"."),_.iphone=!0),A&&(_.osVersion=A[2].replace(/_/g,"."),_.ipad=!0),P&&(_.osVersion=P[3]?P[3].replace(/_/g,"."):null,_.iphone=!0),_.ios&&_.osVersion&&j.indexOf("Version/")>=0&&"10"===_.osVersion.split(".")[0]&&(_.osVersion=j.toLowerCase().split("version/")[1].split(" ")[0]),_.webView=(S||A||P)&&j.match(/.*AppleWebKit(?!.*Safari)/i),_.os&&(W.push(_.os,_.os+"-"+_.osVersion.split(".")[0],_.os+"-"+_.osVersion.replace(/\./g,"-")),"ios"===_.os))for(var B=parseInt(_.osVersion.split(".")[0],10)-1;B>=6;B--)W.push("ios-gt-"+B);_.isWeixin=/MicroMessenger/i.test(j);var J=_;function R(e){if(window.WebViewJavascriptBridge)return e(window.WebViewJavascriptBridge);if(J.android)document.addEventListener("WebViewJavascriptBridgeReady",function(){e(WebViewJavascriptBridge)},!1);else{if(window.WVJBCallbacks)return window.WVJBCallbacks.push(e);window.WVJBCallbacks=[e];var n=document.createElement("iframe");n.style.display="none",n.src="https://__bridge_loaded__",document.documentElement.appendChild(n),setTimeout(function(){document.documentElement.removeChild(n)},0)}}var E={callhandler:function(e,n,t){R(function(o){o.callHandler(e,n,t)})},registerhandler:function(e,n){R(function(t){t.registerHandler(e,function(e,t){n(e,t)})})}};t("Lw6n");i.default.prototype.$bridge=E,i.default.config.productionTip=!1,i.default.use(g.a,{size:"large"}),i.default.use(v.a,k.a),i.default.axios.defaults.withCredentials=!0,i.default.axios.interceptors.request.use(function(e){return e},function(e){return console.log("requesterr"+e),r.a.reject(e)}),i.default.axios.interceptors.response.use(function(e){return console.log("main:",e),200==e.status&&1==e.data.errorCode&&console.log("main:",e),e},function(e){if(console.log(e),e.response)switch(e.response.status){case 401:case 500:h.Message.error("服务器500")}return r.a.reject(e.response.data)}),m.beforeEach(function(e,n,t){"/"==e.path?t({path:"/login"}):t()}),new i.default({el:"#app",router:m,store:O,components:{App:a},template:"<App/>"})},Opzk:function(e,n,t){var o={"./contacts/staffRecordsTemplate.vue":["lFAe",1],"./errorPage/403.vue":["6XGN",2],"./errorPage/404.vue":["AejC",4],"./errorPage/500.vue":["FskK",3],"./errorPage/index.vue":["ODjX",0]};function r(e){var n=o[e];return n?t.e(n[1]).then(function(){return t(n[0])}):Promise.reject(new Error("Cannot find module '"+e+"'."))}r.keys=function(){return Object.keys(o)},r.id="Opzk",e.exports=r},Xcu2:function(e,n){},uKUT:function(e,n){}},["NHnr"]);
//# sourceMappingURL=app.6dbbdcbb85feb53150b7.js.map
\ No newline at end of file
!function(e){var n=window.webpackJsonp;window.webpackJsonp=function(r,c,a){for(var i,u,f,s=0,l=[];s<r.length;s++)u=r[s],t[u]&&l.push(t[u][0]),t[u]=0;for(i in c)Object.prototype.hasOwnProperty.call(c,i)&&(e[i]=c[i]);for(n&&n(r,c,a);l.length;)l.shift()();if(a)for(s=0;s<a.length;s++)f=o(o.s=a[s]);return f};var r={},t={7:0};function o(n){if(r[n])return r[n].exports;var t=r[n]={i:n,l:!1,exports:{}};return e[n].call(t.exports,t,t.exports,o),t.l=!0,t.exports}o.e=function(e){var n=t[e];if(0===n)return new Promise(function(e){e()});if(n)return n[2];var r=new Promise(function(r,o){n=t[e]=[r,o]});n[2]=r;var c=document.getElementsByTagName("head")[0],a=document.createElement("script");a.type="text/javascript",a.charset="utf-8",a.async=!0,a.timeout=12e4,o.nc&&a.setAttribute("nonce",o.nc),a.src=o.p+"static/js/"+e+"."+{0:"4d32899c3299cb95b130",1:"c2674a5b2e2c002ef41c",2:"39effb7cc468a8b90c44",3:"6017c2d464a188e3cc3a",4:"c384492b24e03d00a718"}[e]+".js";var i=setTimeout(u,12e4);function u(){a.onerror=a.onload=null,clearTimeout(i);var n=t[e];0!==n&&(n&&n[1](new Error("Loading chunk "+e+" failed.")),t[e]=void 0)}return a.onerror=a.onload=u,c.appendChild(a),r},o.m=e,o.c=r,o.d=function(e,n,r){o.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},o.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return o.d(n,"a",n),n},o.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},o.p="./",o.oe=function(e){throw console.error(e),e}}([]);
//# sourceMappingURL=manifest.402f31fbc5f103d5ca4b.js.map
\ No newline at end of file
{"version":3,"sources":["webpack:///webpack/bootstrap 64dc507a81ac18d0793d"],"names":["parentJsonpFunction","window","chunkIds","moreModules","executeModules","moduleId","chunkId","result","i","resolves","length","installedChunks","push","Object","prototype","hasOwnProperty","call","modules","shift","__webpack_require__","s","installedModules","7","exports","module","l","e","installedChunkData","Promise","resolve","promise","reject","head","document","getElementsByTagName","script","createElement","type","charset","async","timeout","nc","setAttribute","src","p","0","1","2","3","4","setTimeout","onScriptComplete","onerror","onload","clearTimeout","chunk","Error","undefined","appendChild","m","c","d","name","getter","o","defineProperty","configurable","enumerable","get","n","__esModule","object","property","oe","err","console","error"],"mappings":"aACA,IAAAA,EAAAC,OAAA,aACAA,OAAA,sBAAAC,EAAAC,EAAAC,GAIA,IADA,IAAAC,EAAAC,EAAAC,EAAAC,EAAA,EAAAC,KACQD,EAAAN,EAAAQ,OAAoBF,IAC5BF,EAAAJ,EAAAM,GACAG,EAAAL,IACAG,EAAAG,KAAAD,EAAAL,GAAA,IAEAK,EAAAL,GAAA,EAEA,IAAAD,KAAAF,EACAU,OAAAC,UAAAC,eAAAC,KAAAb,EAAAE,KACAY,EAAAZ,GAAAF,EAAAE,IAIA,IADAL,KAAAE,EAAAC,EAAAC,GACAK,EAAAC,QACAD,EAAAS,OAAAT,GAEA,GAAAL,EACA,IAAAI,EAAA,EAAYA,EAAAJ,EAAAM,OAA2BF,IACvCD,EAAAY,IAAAC,EAAAhB,EAAAI,IAGA,OAAAD,GAIA,IAAAc,KAGAV,GACAW,EAAA,GAIA,SAAAH,EAAAd,GAGA,GAAAgB,EAAAhB,GACA,OAAAgB,EAAAhB,GAAAkB,QAGA,IAAAC,EAAAH,EAAAhB,IACAG,EAAAH,EACAoB,GAAA,EACAF,YAUA,OANAN,EAAAZ,GAAAW,KAAAQ,EAAAD,QAAAC,IAAAD,QAAAJ,GAGAK,EAAAC,GAAA,EAGAD,EAAAD,QAKAJ,EAAAO,EAAA,SAAApB,GACA,IAAAqB,EAAAhB,EAAAL,GACA,OAAAqB,EACA,WAAAC,QAAA,SAAAC,GAA0CA,MAI1C,GAAAF,EACA,OAAAA,EAAA,GAIA,IAAAG,EAAA,IAAAF,QAAA,SAAAC,EAAAE,GACAJ,EAAAhB,EAAAL,IAAAuB,EAAAE,KAEAJ,EAAA,GAAAG,EAGA,IAAAE,EAAAC,SAAAC,qBAAA,WACAC,EAAAF,SAAAG,cAAA,UACAD,EAAAE,KAAA,kBACAF,EAAAG,QAAA,QACAH,EAAAI,OAAA,EACAJ,EAAAK,QAAA,KAEArB,EAAAsB,IACAN,EAAAO,aAAA,QAAAvB,EAAAsB,IAEAN,EAAAQ,IAAAxB,EAAAyB,EAAA,aAAAtC,EAAA,KAAwEuC,EAAA,uBAAAC,EAAA,uBAAAC,EAAA,uBAAAC,EAAA,uBAAAC,EAAA,wBAAuI3C,GAAA,MAC/M,IAAAkC,EAAAU,WAAAC,EAAA,MAEA,SAAAA,IAEAhB,EAAAiB,QAAAjB,EAAAkB,OAAA,KACAC,aAAAd,GACA,IAAAe,EAAA5C,EAAAL,GACA,IAAAiD,IACAA,GACAA,EAAA,OAAAC,MAAA,iBAAAlD,EAAA,aAEAK,EAAAL,QAAAmD,GAKA,OAfAtB,EAAAiB,QAAAjB,EAAAkB,OAAAF,EAaAnB,EAAA0B,YAAAvB,GAEAL,GAIAX,EAAAwC,EAAA1C,EAGAE,EAAAyC,EAAAvC,EAGAF,EAAA0C,EAAA,SAAAtC,EAAAuC,EAAAC,GACA5C,EAAA6C,EAAAzC,EAAAuC,IACAjD,OAAAoD,eAAA1C,EAAAuC,GACAI,cAAA,EACAC,YAAA,EACAC,IAAAL,KAMA5C,EAAAkD,EAAA,SAAA7C,GACA,IAAAuC,EAAAvC,KAAA8C,WACA,WAA2B,OAAA9C,EAAA,SAC3B,WAAiC,OAAAA,GAEjC,OADAL,EAAA0C,EAAAE,EAAA,IAAAA,GACAA,GAIA5C,EAAA6C,EAAA,SAAAO,EAAAC,GAAsD,OAAA3D,OAAAC,UAAAC,eAAAC,KAAAuD,EAAAC,IAGtDrD,EAAAyB,EAAA,KAGAzB,EAAAsD,GAAA,SAAAC,GAA8D,MAApBC,QAAAC,MAAAF,GAAoBA","file":"static/js/manifest.402f31fbc5f103d5ca4b.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tvar parentJsonpFunction = window[\"webpackJsonp\"];\n \twindow[\"webpackJsonp\"] = function webpackJsonpCallback(chunkIds, moreModules, executeModules) {\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [], result;\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(chunkIds, moreModules, executeModules);\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n \t\tif(executeModules) {\n \t\t\tfor(i=0; i < executeModules.length; i++) {\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = executeModules[i]);\n \t\t\t}\n \t\t}\n \t\treturn result;\n \t};\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// objects to store loaded and loading chunks\n \tvar installedChunks = {\n \t\t7: 0\n \t};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId) {\n \t\tvar installedChunkData = installedChunks[chunkId];\n \t\tif(installedChunkData === 0) {\n \t\t\treturn new Promise(function(resolve) { resolve(); });\n \t\t}\n\n \t\t// a Promise means \"currently loading\".\n \t\tif(installedChunkData) {\n \t\t\treturn installedChunkData[2];\n \t\t}\n\n \t\t// setup Promise in chunk cache\n \t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n \t\t});\n \t\tinstalledChunkData[2] = promise;\n\n \t\t// start chunk loading\n \t\tvar head = document.getElementsByTagName('head')[0];\n \t\tvar script = document.createElement('script');\n \t\tscript.type = \"text/javascript\";\n \t\tscript.charset = 'utf-8';\n \t\tscript.async = true;\n \t\tscript.timeout = 120000;\n\n \t\tif (__webpack_require__.nc) {\n \t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n \t\t}\n \t\tscript.src = __webpack_require__.p + \"static/js/\" + chunkId + \".\" + {\"0\":\"4d32899c3299cb95b130\",\"1\":\"c2674a5b2e2c002ef41c\",\"2\":\"39effb7cc468a8b90c44\",\"3\":\"6017c2d464a188e3cc3a\",\"4\":\"c384492b24e03d00a718\"}[chunkId] + \".js\";\n \t\tvar timeout = setTimeout(onScriptComplete, 120000);\n \t\tscript.onerror = script.onload = onScriptComplete;\n \t\tfunction onScriptComplete() {\n \t\t\t// avoid mem leaks in IE.\n \t\t\tscript.onerror = script.onload = null;\n \t\t\tclearTimeout(timeout);\n \t\t\tvar chunk = installedChunks[chunkId];\n \t\t\tif(chunk !== 0) {\n \t\t\t\tif(chunk) {\n \t\t\t\t\tchunk[1](new Error('Loading chunk ' + chunkId + ' failed.'));\n \t\t\t\t}\n \t\t\t\tinstalledChunks[chunkId] = undefined;\n \t\t\t}\n \t\t};\n \t\thead.appendChild(script);\n\n \t\treturn promise;\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"./\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 64dc507a81ac18d0793d"],"sourceRoot":""}
\ No newline at end of file
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1,user-scalable=0">
<meta name=screen-orientation content=portrait>
<meta name=apple-mobile-web-app-capable content=yes>
<meta name=format-detection content="telephone=no">
<meta name=full-screen content=yes>
<meta http-equiv=X-UA-Compatible content="IE=edge">
<meta name=renderer content=webkit>
<meta http-equiv=Pragma content=no-cache>
<meta http-equiv=Cache-Control content=no-cache>
<meta http-equiv=Expires content=0>
<meta name=x5-fullscreen content=true>
<meta content=yes name=apple-mobile-web-app-capable>
<meta content=yes name=apple-touch-fullscreen>
<meta content="telephone=no,email=no" name=format-detection>
<link rel="shortcut icon" href="./favicon.ico"/>
<title>好办 APP</title>
</head>
<body style="background-color: #f0f2f5;width: 100%;">
<div id="app"></div>
<!-- built files will be auto injected -->
</body>
</html>
{
"name": "office-web",
"version": "1.0.0",
"description": "A Vue.js project",
"author": "fairyly",
"private": true,
"name": "wechat-web",
"version": "1.0.4",
"description": "wechat-web",
"author": "<fairyilys@gmail.com.com>",
"license": "MIT",
"scripts": {
"dev": "webpack-dev-server --inline --progress --config build/webpack.dev.conf.js",
"start": "npm run dev",
"build": "node build/build.js"
"serve": "vue-cli-service serve",
"build": "vue-cli-service build",
"lint": "vue-cli-service lint",
"version": "conventional-changelog -p angular -i changelog.md -s -r 0 && git add changelog.md"
},
"dependencies": {
"element-ui": "^2.3.9",
"requset": "^1.0.5",
"script-loader": "^0.7.2",
"tinymce": "^4.8.3",
"vconsole": "^3.2.0",
"vue": "^2.5.2",
"vue-router": "^3.0.1"
"amfe-flexible": "^2.2.1",
"axios": "^0.18.0",
"babel-polyfill": "^6.26.0",
"es6-promise": "^4.2.6",
"jsbarcode": "^3.6.0",
"vant": "^1.4.1",
"vconsole": "^3.2.2",
"vue": "^2.5.17",
"vue-router": "^3.0.1",
"vuex": "^3.1.0"
},
"devDependencies": {
"autoprefixer": "^7.1.2",
"axios": "^0.18.0",
"babel-core": "^6.22.1",
"babel-helper-vue-jsx-merge-props": "^2.0.3",
"babel-loader": "^7.1.1",
"babel-plugin-syntax-jsx": "^6.18.0",
"babel-plugin-transform-runtime": "^6.22.0",
"babel-plugin-transform-vue-jsx": "^3.5.0",
"babel-preset-env": "^1.3.2",
"babel-preset-stage-2": "^6.22.0",
"chalk": "^2.0.1",
"copy-webpack-plugin": "^4.0.1",
"css-loader": "^0.28.11",
"extract-text-webpack-plugin": "^3.0.0",
"file-loader": "^1.1.4",
"friendly-errors-webpack-plugin": "^1.6.1",
"html-webpack-plugin": "^2.30.1",
"less": "^3.0.4",
"@vue/cli-plugin-babel": "^3.0.1",
"@vue/cli-plugin-eslint": "^3.0.1",
"@vue/cli-service": "^3.0.1",
"babel-plugin-import": "^1.8.0",
"postcss-pxtorem": "^4.0.1",
"less": "^3.8.1",
"less-loader": "^4.1.0",
"node-notifier": "^5.1.2",
"node-sass": "^4.9.0",
"optimize-css-assets-webpack-plugin": "^3.2.0",
"ora": "^1.2.0",
"portfinder": "^1.0.13",
"postcss-import": "^11.0.0",
"postcss-loader": "^2.0.8",
"postcss-url": "^7.2.1",
"rimraf": "^2.6.0",
"sass-loader": "^7.0.1",
"semver": "^5.3.0",
"shelljs": "^0.7.6",
"uglifyjs-webpack-plugin": "^1.1.1",
"url-loader": "^0.5.8",
"vue-axios": "^2.1.1",
"vue-loader": "^13.3.0",
"vue-style-loader": "^3.0.1",
"vue-template-compiler": "^2.5.2",
"vuedraggable": "^2.16.0",
"vuex": "^3.0.1",
"webpack": "^3.6.0",
"webpack-bundle-analyzer": "^2.9.0",
"webpack-dev-server": "^2.9.1",
"webpack-merge": "^4.1.0"
"vue-template-compiler": "^2.5.17"
},
"eslintConfig": {
"root": true,
"env": {
"node": true
},
"extends": [
"plugin:vue/essential",
"eslint:recommended"
],
"rules": {},
"parserOptions": {
"parser": "babel-eslint"
}
},
"engines": {
"node": ">= 6.0.0",
"npm": ">= 3.0.0"
"postcss": {
"plugins": {
"autoprefixer": {}
}
},
"browserslist": [
"> 1%",
"last 2 versions",
"not ie <= 8"
"Android >= 4.0",
"iOS >= 7"
]
}
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
<link rel="icon" href="<%= BASE_URL %>favicon.ico">
<title>达摩</title>
</head>
<body>
<div id="app"></div>
</body>
</html>
\ No newline at end of file
<template>
<div id="app">
<transition name="fade" mode="out-in">
<router-view></router-view>
</transition>
<router-view />
</div>
</template>
<script>
export default {
name: 'App',
data() {
return {
}
}
}
</script>
<style>
body {
font-size: 16px;
background-color: #fff;
-webkit-font-smoothing: antialiased;
}
</style>
import Vue from 'vue'
import axios from 'axios';
import qs from 'qs';
import {Message} from 'element-ui'
Vue.axios.defaults.timeout = 15000;
var local = window.location.origin;
if (local.indexOf('localhost')!= -1) {
local = 'http://www.gicdev.com';
}
console.log(local)
Vue.axios.interceptors.request.use(config=> {
console.log(local)
return config;
}, err=> {
Message.error({message: '请求超时!'});
return Promise.resolve(err);
})
Vue.axios.interceptors.response.use(data=> {
console.log("response data:",data)
if (data.status && data.status == 200 && data.data.status == 'error') {
Message.error({message: data.data.msg});
return;
}
return data;
}, err=> {
console.log("response err:",err);
Message.error({message: err.response.message});
if (err.response.status == 504||err.response.status == 404) {
// window.location.href= local + "/gic-web/#/"
// Message.error({message: '服务异常⊙﹏⊙∥'});
} else if (err.response.status == 403) {
// window.location.href= local + "/gic-web/#/"
// Message.error({message: '权限不足,请联系管理员!'});
}else {
// window.location.href= local + "/gic-web/#/"
// Message.error({message: '未知错误!'});
}
return Promise.resolve(err);
})
// var localhost = window.location.protocol +'//'+ window.location.host
// console.log(localhost)
// let base = local + '/gicweb/cloudweb/';
const timeout = 15000;
let token = '';//sessionStorage.getItem('user');
/*
*
* 统一 get 请求方法
* @url: 请求的 url
* @params: 请求带的参数
* @header: 带 token
*
*/
export const getRequest = (url, params) => {
params.requestProject = "gic-clique";
return Vue.axios({
method: 'get',
url: `${local}${url}`,
data: {},
params: params,
headers: {'content-type': 'application/x-www-form-urlencoded'},// "token": token
});
}
/*
*
* 统一 post 请求方法
* url: 请求的 url
* @params: 请求带的参数
* @header: 带 token
*
*/
export const postRequest = (url, params) => {
params.requestProject = "gic-clique";
return Vue.axios({
method: 'post',
url: `${local}${url}`,
data: qs.stringify(params),
// params: params,
// paramsSerializer: function(params) {
// return QS.stringify(params, {arrayFormat: 'brackets'})
// },
// transformRequest: [function (data) {
// // Do whatever you want to transform the data
// console.log(data)
// data = JSON.stringify(data)
// return data;
// }],
// transformRequest: [
// function (data) { // 解决传递数组变成对象的问题
// Object.keys(data).forEach((key) => {
// if ((typeof data[key]) === 'object') {
// data[key] = JSON.stringify(data[key]) // 这里必须使用内置JSON对象转换
// }
// })
// data = qs.stringify(data) // 这里必须使用qs库进行转换
// return data
// }
// ],
headers: {'content-type': 'application/x-www-form-urlencoded'} //multipart/form-data{"token": token}
});
}
export const postJsonRequest = (url, params) => {
params.requestProject = "gic-clique";
return Vue.axios({
method: 'post',
url: `${local}${url}`,
data: "{}",
params: params,
// paramsSerializer: function(params) {
// return QS.stringify(params, {arrayFormat: 'brackets'})
// },
// transformRequest: [function (data) {
// // Do whatever you want to transform the data
// console.log(data)
// data = JSON.stringify(data)
// return data;
// }],
// transformRequest: [
// function (data) { // 解决传递数组变成对象的问题
// Object.keys(data).forEach((key) => {
// if ((typeof data[key]) === 'object') {
// data[key] = JSON.stringify(data[key]) // 这里必须使用内置JSON对象转换
// }
// })
// data = qs.stringify(data) // 这里必须使用qs库进行转换
// return data
// }
// ],
// withCredentials: true,
// credentials: 'same-origin',
headers: {'Content-Type': 'application/json;charset=UTF-8'} //multipart/form-data{"token": token}
});
}
/*
* method: 'post'
* 'Content-Type': 'application/json;charset=UTF-8'
* @data: params
* @requestProject: 'gic-clique'
*
*/
export const postJson = (url, params) => {
// params.requestProject = "gic-clique";
return Vue.axios({
method: 'post',
url: `${local}${url}`,
data: params,
params: {requestProject:'gic-clique'},
// withCredentials: true,
// credentials: 'same-origin',
headers: {'Content-Type': 'application/json;charset=UTF-8'} //multipart/form-data{"token": token}
});
}
/*
* method: 'post'
* data: params
*
*/
export const postForm = (url, params) => {
params.requestProject = "gic-clique";
return Vue.axios({
method: 'post',
url: `${local}${url}`,
data: params,
// params: params,
// paramsSerializer: function(params) {
// return QS.stringify(params, {arrayFormat: 'brackets'})
// },
// transformRequest: [function (data) {
// // Do whatever you want to transform the data
// console.log(data)
// data = JSON.stringify(data)
// return data;
// }],
// transformRequest: [
// function (data) { // 解决传递数组变成对象的问题
// Object.keys(data).forEach((key) => {
// if ((typeof data[key]) === 'object') {
// data[key] = JSON.stringify(data[key]) // 这里必须使用内置JSON对象转换
// }
// })
// data = qs.stringify(data) // 这里必须使用qs库进行转换
// return data
// }
// ],
headers: {} //'content-type': 'application/x-www-form-urlencoded'multipart/form-data{"token": token}
});
}
......@@ -2,7 +2,7 @@
let device = {};
let classNames = [];
let ua = navigator.userAgent;
/* eslint-disable */
let android = ua.match(/(Android);?[\s\/]+([\d.]+)?/);
let ipad = ua.match(/(iPad).*OS\s([\d_]+)/);
let ipod = ua.match(/(iPod)(.*OS\s([\d_]+))?/);
......@@ -13,33 +13,33 @@ device.ios = device.android = device.iphone = device.ipad = device.androidChrome
// Android
if (android) {
device.os = 'android';
device.osVersion = android[2];
device.android = true;
device.androidChrome = ua.toLowerCase().indexOf('chrome') >= 0;
device.os = 'android';
device.osVersion = android[2];
device.android = true;
device.androidChrome = ua.toLowerCase().indexOf('chrome') >= 0;
}
if (ipad || iphone || ipod) {
device.os = 'ios';
device.ios = true;
device.os = 'ios';
device.ios = true;
}
// iOS
if (iphone && !ipod) {
device.osVersion = iphone[2].replace(/_/g, '.');
device.iphone = true;
device.osVersion = iphone[2].replace(/_/g, '.');
device.iphone = true;
}
if (ipad) {
device.osVersion = ipad[2].replace(/_/g, '.');
device.ipad = true;
device.osVersion = ipad[2].replace(/_/g, '.');
device.ipad = true;
}
if (ipod) {
device.osVersion = ipod[3] ? ipod[3].replace(/_/g, '.') : null;
device.iphone = true;
device.osVersion = ipod[3] ? ipod[3].replace(/_/g, '.') : null;
device.iphone = true;
}
// iOS 8+ changed UA
if (device.ios && device.osVersion && ua.indexOf('Version/') >= 0) {
if (device.osVersion.split('.')[0] === '10') {
device.osVersion = ua.toLowerCase().split('version/')[1].split(' ')[0];
}
if (device.osVersion.split('.')[0] === '10') {
device.osVersion = ua.toLowerCase().split('version/')[1].split(' ')[0];
}
}
// Webview
......@@ -48,13 +48,13 @@ device.webView = (iphone || ipad || ipod) && ua.match(/.*AppleWebKit(?!.*Safari)
// OS classes
if (device.os) {
classNames.push(device.os, device.os + '-' + device.osVersion.split('.')[0], device.os + '-' + device.osVersion.replace(/\./g, '-'));
if (device.os === 'ios') {
var major = parseInt(device.osVersion.split('.')[0], 10);
for (var i = major - 1; i >= 6; i--) {
classNames.push('ios-gt-' + i);
}
classNames.push(device.os, device.os + '-' + device.osVersion.split('.')[0], device.os + '-' + device.osVersion.replace(/\./g, '-'));
if (device.os === 'ios') {
var major = parseInt(device.osVersion.split('.')[0], 10);
for (var i = major - 1; i >= 6; i--) {
classNames.push('ios-gt-' + i);
}
}
}
......
import * as api from './api';
export default api;
// setupBridge(function(bridge) {
// window["bridge"] = bridge
// /*JS给ObjC提供公开的API,在ObjC端可以手动调用JS的这个API。接收ObjC传过来的参数,且可以回调ObjC*/
// bridge.registerHandler('jsHandler', function(data, responseCallback) {
// let json = JSON.parse(data)
// let method = json['method']
// let param = json['param']
// let paramStr = JSON.stringify(param)
// let evalMethod = method + "(paramStr)"
// let result = eval(evalMethod);
// responseCallback(result)
// })
// })
// function setupBridge(callback) {
// if (navigator.userAgent.indexOf('iPhone') > -1) {
// setupIOSBridge(callback);
// } else {
// setupAndroidBridge(callback);
// }
// }
// function setupAndroidBridge(callback) {
// if (window.WebViewJavascriptBridge) {
// callback(WebViewJavascriptBridge)
// } else {
// document.addEventListener(
// 'WebViewJavascriptBridgeReady',
// function() {
// callback(WebViewJavascriptBridge)
// },
// false
// );
// }
// }
// function setupIOSBridge(callback) {
// if (window.WebViewJavascriptBridge) {
// return callback(WebViewJavascriptBridge);
// }
// if (window.WVJBCallbacks) { return window.WVJBCallbacks.push(callback); }
// window.WVJBCallbacks = [callback];
// var WVJBIframe = document.createElement('iframe');
// WVJBIframe.style.display = 'none';
// WVJBIframe.src = 'wvjbscheme://__BRIDGE_LOADED__';
// document.documentElement.appendChild(WVJBIframe);
// setTimeout(function() { document.documentElement.removeChild(WVJBIframe) }, 0)
// }
// function callHandler(param, method, callback) {
// let bridge = window["bridge"]
// let data = { 'method': method, 'param': param }
// bridge.callHandler('apiHandler', data, function(responseData) {
// callback(responseData)
// })
// }
import device from './device'
import device from './device';
/* eslint-disable */
function setupWebViewJavascriptBridge(callback) {
if (window.WebViewJavascriptBridge) {
return callback(window.WebViewJavascriptBridge);
......@@ -81,7 +8,7 @@ function setupWebViewJavascriptBridge(callback) {
document.addEventListener(
'WebViewJavascriptBridgeReady',
function() {
callback(WebViewJavascriptBridge)
callback(WebViewJavascriptBridge)
},
false
);
......
import axios from 'axios';
import store from '../store/index';
import qs from 'qs';
import { Toast } from 'vant';
let local = '';
if (process.env.NODE_ENV === 'development') {
local = '//www.gicdev.com';
}else {
local = '//www.gicdev.com';
}
let loading = '';
// 创建axios 实例
const service = axios.create({
baseURL: local, // api的base_url
timeout: 20000, // 请求超时时间
withCredentials: true,
})
// request 拦截器
service.interceptors.request.use(
config => {
loading = Toast.loading({
duration: 0, // 持续展示 toast
mask: true,
forbidClick: true, // 禁用背景点击
loadingType: 'spinner',
message: ' '
});
// loading true
store.dispatch('SetLoading', true);
return config;
},
error => {
loading.clear();
// loading false
setTimeout(function() {
store.dispatch('SetLoading', false);
}, 300)
Promise.reject(error);
}
)
// response 拦截器
service.interceptors.response.use(
response => {
const res = response.data;
loading.clear();
// loading false
store.dispatch('SetLoading', false);
return res;
},
error => {
loading.clear();
// loading false
store.dispatch('SetLoading', false);
return Promise.reject(error);
}
)
// export default service
/*
*
* 统一响应处理
* @url:
*
*/
function handleResponse(code, msg) {
switch (code) {
case 1:
Toast(msg);
break;
}
}
/*
*
* 统一 get 请求方法
* @url: 请求的 url
* @params: 请求带的参数
* @header: 带 token
*
*/
export const getRequest = (url, params) => {
params.requestProject = "web";
return new Promise((resolve, reject) => {
service({
method: 'get',
url: `${local}${url}`,
data: {},
params: params,
headers: { 'content-type': 'application/x-www-form-urlencoded' },// "token": token
}).then(res => {
resolve(res)
}).catch(error => {
reject(error)
})
})
}
/*
*
* 统一 post 请求方法
* url: 请求的 url
* @params: 请求带的参数
* @header:
*
*/
export const postRequest = (url, params) => {
params.requestProject = "web";
return new Promise((resolve, reject) => {
service({
method: 'post',
url: `${local}${url}`,
data: qs.stringify(params),
headers: { 'content-type': 'application/x-www-form-urlencoded' }
}).then(res => {
resolve(res)
}).catch(error => {
reject(error)
})
})
}
export const postJsonRequest = (url, params) => {
params.requestProject = "web";
return new Promise((resolve, reject) => {
service({
method: 'post',
url: `${local}${url}`,
data: "{}",
params: params,
headers: { 'Content-Type': 'application/json;charset=UTF-8' }
}).then(res => {
resolve(res);
}).catch(error => {
reject(error);
})
})
}
/*
* method: 'post'
* 'Content-Type': 'application/json;charset=UTF-8'
* @data: params
* @requestProject: 'web'
*
*/
export const postJson = (url, params) => {
return new Promise((resolve, reject) => {
service({
method: 'post',
url: `${local}${url}`,
data: params,
params: { requestProject: 'web' },
headers: { 'Content-Type': 'application/json;charset=UTF-8' }
}).then(res => {
if (res.errorCode != 0) {
handleResponse(res.errorCode, res.message);
reject(res);
} else {
resolve(res);
}
}).catch(error => {
reject(error);
})
})
}
/*
* method: 'post'
* @data: params
*
*/
export const postForm = (url, params) => {
params.requestProject = "web";
return new Promise((resolve, reject) => {
service({
method: 'post',
url: `${local}${url}`,
data: params,
headers: {}
}).then(res => {
resolve(res)
}).catch(error => {
reject(error)
})
})
}
* {
margin: 0;
padding: 0;
}
html, body {
font-family: -apple-system-font, "Helvetica Neue", sans-serif;
}
article,
aside,
details,
figcaption,
figure,
footer,
header,
menu,
nav,
section {
display: block;
}
li {
list-style: none;
}
a {
text-decoration: none;
}
/* 浮动 */
.fl {
float: left;
}
.fr {
float: right;
}
.clearfix:before,
.clearfix:after {
display: block;
visibility: hidden;
height: 0;
content: "";
clear: both;
}
.clearfix {
zoom: 1;
}
.text-center {
text-align: center;
}
.text-right {
text-align: right;
}
.text-ellipsis {
white-space: nowrap;
text-overflow: ellipsis;
overflow: hidden;
}
.over-hide {
overflow: hidden;
}
.border-box {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
/* display */
.inline-block {
display: inline-block;
}
.block {
display: block;
}
.top {
vertical-align: top;
}
.middle {
vertical-align: middle;
}
/* flex */
.flex {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
}
.flex-1 {
-webkit-box-flex: 1;
-webkit-flex: 1;
-ms-flex: 1;
flex: 1;
}
.flex-2 {
-webkit-box-flex: 2;
-webkit-flex: 2;
-ms-flex: 2;
flex: 2;
}
.flex-row {
-webkit-flex-direction: row;
-moz-flex-direction: row;
-ms-flex-direction: row;
-o-flex-direction: row;
flex-direction: row;
}
.flex-column {
-webkit-flex-direction: column;
-moz-flex-direction: column;
-ms-flex-direction: column;
-o-flex-direction: column;
flex-direction: column;
}
.flex-align-center {
-webkit-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
}
.flex-pack-center {
-webkit-box-pack: center;
-webkit-justify-content: center;
-ms-flex-pack: center;
justify-content: center;
}
.max-80 {
max-width: 80px;
}
.w-0 {
width: 0;
}
/* 字体大小 */
.font-12 {
font-size: 12px;
}
.font-13 {
font-size: 13px;
}
.font-14 {
font-size: 14px;
}
.font-15 {
font-size: 15px;
}
.font-16 {
font-size: 16px;
}
.font-18 {
font-size: 18px;
}
.font-20 {
font-size: 20px;
}
.font-30 {
font-size: 30px;
}
.font-50 {
font-size: 50px;
}
.font-w-500 {
font-weight: 500;
}
.color-232326 {
color: #232326;
}
.color-848689 {
color: #848689;
}
.color-cfa972 {
color: #CFA972;
}
.color-606266 {
color: #606266;
}
.color-666 {
color: #666;
}
.color-000 {
color: #000;
}
.bg-f4f5f6 {
background: #f4f5f6;
}
.bg-fff {
background: #fff;
}
.m-r-4 {
margin-right: 4px;
}
.m-t-6 {
margin-top: 6px;
}
.m-t-8 {
margin-top: 8px;
}
.m-t-10 {
margin-top: 10px;
}
.m-b-15 {
margin-bottom: 15px;
}
.padding-lr-12 {
padding: 0 12px;
}
.p-l-8 {
padding-left: 8px;
}
.p-t-10 {
padding-top: 10px;
}
.border-right-1 {
position: relative;
}
.border-right-1::after {
content: " ";
position: absolute;
right: 0;
top: 0;
width: 1px;
height: 100%;
border-right: 1px solid #D9D9D9;
color: #D9D9D9;
-webkit-transform-origin: 0 100%;
transform-origin: 0 100%;
-webkit-transform: scaleX(0.5);
transform: scaleX(0.5);
}
.border-left-1 {
position: relative;
}
.border-left-1::after {
content: " ";
position: absolute;
left: 0;
top: 0;
width: 1px;
height: 100%;
border-left: 1px solid #D9D9D9;
color: #D9D9D9;
-webkit-transform-origin: 0 100%;
transform-origin: 0 100%;
-webkit-transform: scaleX(0.5);
transform: scaleX(0.5);
}
.border-top-1 {
position: relative;
}
.border-top-1:after {
content: " ";
position: absolute;
left: 0;
top: 0;
width: 100%;
height: 1px;
border-top: 1px solid #D5D5D6;
color: #D5D5D6;
-webkit-transform-origin: 0 0;
transform-origin: 0 0;
-webkit-transform: scaleY(0.5);
transform: scaleY(0.5);
}
.border-bottom-1 {
position: relative;
}
.border-bottom-1:after {
content: " ";
position: absolute;
left: 0;
bottom: 0;
width: 100%;
height: 1px;
border-top: 1px solid #D5D5D6;
color: #D5D5D6;
-webkit-transform-origin: 0 0;
transform-origin: 0 0;
-webkit-transform: scaleY(0.5);
transform: scaleY(0.5);
}
/* 弹窗 */
.qrcode-mask {
position: fixed;
z-index: 1;
width: 100%;
height: 100%;
top: 0;
left: 0;
background: rgba(0, 0, 0, 0.6);
}
.qrcode-dialog {
position: fixed;
z-index: 13;
width: 70%;
top: 50%;
left: 50%;
-webkit-transform: translate(-50%, -50%);
transform: translate(-50%, -50%);
background-color: #FAFAFC;
text-align: center;
border-radius: 8px;
}
/* 三角 */
.triangle-up {
position: absolute;
left: 50%;
margin-left: -5px;
width: 0;
height: 0;
border-left: 5px solid transparent;
border-right: 5px solid transparent;
border-bottom: 9px solid #666;
}
/* 无数据 */
.no-data-contain {
position: absolute;
top: 40%;
left: 50%;
-webkit-transform: translate(-50%, -50%);
-moz-transform: translate(-50%, -50%);
transform: translate(-50%, -50%);
text-align: center;
font-size: 16px;
color: #848689;
}
.no-data-contain img {
width: 80px;
padding-bottom: 10px;
}
@font-face {
font-family: 'DINPro';
/* src: url('BebasNeueBold.ttf') format('truetype'); */
src: url('DINPro-Bold.otf');
font-weight: bold;
font-style: normal;
}
body {
width: 100%;
height: 100%;
}
.fixed {
position: fixed;
top: 0;
left: 0;
bottom: 0;
right: 0;
}
/* logo */
.clique-logo {
width: 100%;
padding-top: 20px;
text-align: center;
}
.clique-logo img {
width: 50%;
}
/* 条形码 */
.clique-qrcode {
padding: 0 22px;
}
#barcode {
width: 100%;
min-height: 60px;
}
.clique-qrcode p {
text-align: center;
margin-top: -6px;
}
/* 菜单 */
.clique-menu {
width: 100%;
padding: 25px 0;
}
.clique-menu-cell:after {
top: 9px;
height: 63%;
}
.clique-menu p {
text-align: center;
margin-top: 10px;
}
.van-swipe__indicator {
background: rgba(35,35,38,0.3);
}
.goods-swipe {
font-size: 0;
line-height: 1;
}
/* 品牌 logo */
.clique-brand {
width: 100%;
overflow: hidden;
}
.clique-brand-logo {
float: left;
width: 33.333333%;
min-width: 33.333333%;
max-width: 33.333333%;
border-left: 1px solid #fff;
border-bottom: 1px solid #fff;
overflow: hidden;
font-size: 0;
}
.clique-brand-logo.half {
width: 50%;
min-width: 50%;
max-width: 50%;
}
.b-l-1 {
border-left: 1px solid #f0f0f0;
}
.clique-brand-logo_a {
display: block;
}
.clique-brand-logo img {
display: inline-block;
vertical-align: top;
width: 100%;
}
.logo-more {
color: #232326;
}
.p-tips {
width: 100%;
height: 54px;
line-height: 54px;
padding: 0 16px;
}
This source diff could not be displayed because it is too large. You can view the blob instead.
/**
* 手机号格式化
* import formatPhone from '@/assets/js/public.js';
* formatPhone.formatPhone(12345678900)
* @param {String} phone
*/
const formatPhone = (phone) => {
phone = phone.toString();
return phone.substr(0, 3) + '****' + phone.substr(7, 11);
};
/**
* 千分位格式化
* @param {数字} val
*/
const toThousands = (val) => {
let num = (val || 0).toString(),
result = '';
while (num.length > 3) {
result = ',' + num.slice(-3) + result;
num = num.slice(0, num.length - 3);
}
if (num) {
result = num + result;
}
return result;
};
/**
* 时间戳转换年-月 日
* @param timestamp,
*/
function timeToDateTime(timestamp, sym) {
// 格式化 timestamp 返回年月日
function formatNumber(n) {
//对于小于 10 的数字返回 0[1-9]
n = n.toString();
return n[1] ? n : '0' + n;
}
if (timestamp != null) {
let date = new Date(timestamp);
let year = date.getFullYear();
let month = date.getMonth() + 1;
let day = date.getDate();
return [year, month, day].map(formatNumber).join(sym || '-');
}
return '--';
}
export default {
formatPhone,
toThousands,
timeToDateTime
}
<template>
<div class="searh-menu-container">
<div class="p-0-15">
<el-input prefix-icon="el-icon-search" v-model="searchKey" placeholder="请输入内容" clearable @clear="clearFn" @keyup.enter.native="searchFn"></el-input>
<el-tree
v-if="!searchResultShow"
class="search-menu"
node-key="id"
:default-expanded-keys="defaultOpen"
:data="menuData"
:highlight-current="true"
:expand-on-click-node="false"
:props="myProps"
@node-click="handleNodeClick">
<span class="custom-tree-node" slot-scope="{ node, data }">
<i class="iconfont" :class="node.level == 1 ? 'icon-2zuzhijiagou' : 'icon-tongshi-zuzhijiagou'"></i>
<span>{{ node.label }}</span>
</span>
</el-tree>
</div>
<div class="search-result-container" v-if="searchResultShow">
<ul class="search-result-ul">
<p class="title">部门列表</p>
<li class="group-item items">
<i class="iconfont icon-tongshi-zuzhijiagou"></i>
人事部
</li>
<li class="group-item items">
<i class="iconfont icon-tongshi-zuzhijiagou"></i>
人事部
</li>
</ul>
<ul class="search-result-ul">
<p class="title">人员列表</p>
<li class="person-item items">
<i class="iconfont icon-chengyuan"></i>
陈景良
<span class="from-group">人事部</span>
</li>
<li class="person-item items">
<i class="iconfont icon-chengyuan"></i>
陈景良
<span class="from-group">人事部</span>
</li>
</ul>
</div>
</div>
</template>
<script>
export default {
name: "searchMenu",
components: {},
props: {
treeData: {
type: Array,
required: true
}
},
data() {
return {
searchKey: "",
searchResultShow: false,
myProps: {
children: 'childrens',
label: 'label',
disabled: "disabled"
},
menuData: [],
defaultOpen: []
};
},
created() {
// this.sortGroupByLevel();
},
methods: {
/**
* 清楚输入框
*/
clearFn() {
this.searchResultShow = false;
},
/**
* 关键字搜索
*/
searchFn() {
if (this.searchKey == "") {
this.searchResultShow = false;
return false;
}
this.searchResultShow = true;
// console.log(this.searchKey);
this.$emit("handleSearchKey", this.searchKey);
},
/**
* 树形菜单选择
*/
handleNodeClick(obj, node) {
// console.log(obj, node);
this.$emit("handleTreeSelection", obj, node);
},
/**
* 按层级排序部门
* fixme 现在代码是将每个层级都剥离了出来,为的是适用后面可能出现的需求,但是如果后期需求无特殊更改,本代码可优化精简
*/
sortGroupByLevel(list) {
let that = this;
var arr = {
list0: {},
list1: {},
list2: {},
list3: {},
list4: {},
list5: {},
list6: {},
list: list,
listObj: {}
},
key,
obj2,
key2,
parent,
idOfLevel0,
parentLevel;
list.length && list.forEach(obj => {
obj.name = obj.name || "";
obj.disabled = true;
obj.label = obj.name || "";
obj.id = obj.groupId || "";
obj.englishName = obj.englishName || "";
obj.level = obj.level;
obj.groupId = obj.groupId || "";
obj.parentId = obj.parentId || "";
key = obj.groupId;
if (arr["list" + obj.level]) {
arr["list" + obj.level][key] = obj;
arr["list" + obj.level][key]["children"] = {};
}
if (obj.level == 0) {
idOfLevel0 = obj.groupId;
}
});
for (let level = 6; level > 0; level--) {
for (let item in arr["list" + level]) {
obj2 = arr["list" + level][item];
parentLevel = level - 1;
parent = arr["list" + parentLevel][obj2.parentId];
if (!parent) {
continue;
}
key2 = obj2.groupId;
if (!parent.hasOwnProperty("childrens")) {
parent["childrens"] = [];
}
parent["children"][key2] = obj2;
parent["childrens"].push(obj2);
}
}
arr.listObj = Object.assign({}, arr.list0, arr.list1, arr.list2, arr.list3, arr.list4, arr.list5, arr.list6);
let menuArr = [];
for (let key in arr.list0) {
menuArr.push(arr.list0[key]);
that.defaultOpen.push(key);
}
that.menuData = menuArr;
console.log(that.menuData);
}
},
filter: {},
computed: {},
watch: {
treeData(newArr, old) {
// console.log(old, newArr, "newarr");
this.sortGroupByLevel(newArr);
}
}
};
</script>
<style lang="scss">
.searh-menu-container {
overflow-y: auto;
overflow-x: auto;
width: 260px;
background: #eef1f8;
height: 690px;
padding: 20px 0;
box-sizing: border-box;
.p-0-15 {
padding: 0 15px;
}
.search-menu {
margin-top: 30px;
color: #606266;
font-size: 14px;
background: #EEF1F8;
min-width: 100%;
display:inline-block !important;
.el-tree-node {
.el-tree-node__content {
height: 36px;
.iconfont {
color: #409EFF;
margin-right: 5px;
}
&:hover {
color: #fff;
background: #409EFF;
.iconfont {
color: #fff;
}
}
}
}
}
.el-tree--highlight-current .el-tree-node.is-current > .el-tree-node__content {
background: #409EFF;
color: #fff;
.iconfont {
color: #fff;
}
}
.search-result-ul {
font-size: 14px;
color: #606266;
.title {
padding: 15px;
color: #303133;
}
li.items {
padding: 15px;
background: #fff;
box-sizing: border-box;
border-bottom: 1px solid #E4E7ED;
cursor: pointer;
.iconfont {
color: #409EFF;
}
.from-group {
float: right;
}
}
}
}
</style>
This diff is collapsed. Click to expand it.
This source diff could not be displayed because it is too large. You can view the blob instead.
This diff is collapsed. Click to expand it.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment