@ -0,0 +1,2 @@ |
|||
NODE_ENV=development |
|||
VUE_APP_NODE_ENV=dev |
@ -0,0 +1,2 @@ |
|||
NODE_ENV=localhost |
|||
VUE_APP_NODE_ENV=local |
@ -0,0 +1,2 @@ |
|||
NODE_ENV=production |
|||
VUE_APP_NODE_ENV=prod |
@ -0,0 +1,2 @@ |
|||
NODE_ENV=production |
|||
VUE_APP_NODE_ENV=staging |
@ -0,0 +1,2 @@ |
|||
/src/icons/iconfont.js |
|||
/static/* |
@ -0,0 +1,205 @@ |
|||
module.exports = { |
|||
root: true, |
|||
parserOptions: { |
|||
parser: 'babel-eslint', |
|||
sourceType: 'module' |
|||
}, |
|||
env: { |
|||
browser: true, |
|||
node: true, |
|||
es6: true |
|||
}, |
|||
extends: ['plugin:vue/recommended', 'eslint:recommended'], |
|||
|
|||
// add your custom rules here
|
|||
// it is base on https://github.com/vuejs/eslint-config-vue
|
|||
// "off"或者0 //关闭规则关闭
|
|||
// "warn"或者1 //在打开的规则作为警告(不影响退出代码)
|
|||
// "error"或者2 //把规则作为一个错误(退出代码触发时为1)
|
|||
rules: { |
|||
'vue/max-attributes-per-line': [2, { |
|||
'singleline': 10, |
|||
'multiline': { |
|||
'max': 1, |
|||
'allowFirstLine': false |
|||
} |
|||
}], |
|||
'vue/singleline-html-element-content-newline': 'off', |
|||
'vue/multiline-html-element-content-newline': 'off', |
|||
'vue/name-property-casing': ['error', 'PascalCase'], |
|||
'vue/no-v-html': 'off', |
|||
'vue/no-unused-components': 1, |
|||
'accessor-pairs': 2, |
|||
'arrow-spacing': [2, { |
|||
'before': true, |
|||
'after': true |
|||
}], |
|||
'block-spacing': [2, 'always'], |
|||
'brace-style': [2, '1tbs', { |
|||
'allowSingleLine': true |
|||
}], |
|||
'camelcase': [0, { |
|||
'properties': 'always' |
|||
}], |
|||
'comma-dangle': [2, 'never'], |
|||
'comma-spacing': [2, { |
|||
'before': false, |
|||
'after': true |
|||
}], |
|||
'comma-style': [2, 'last'], |
|||
'constructor-super': 2, |
|||
'curly': [2, 'multi-line'], |
|||
'dot-location': [2, 'property'], |
|||
'eol-last': 2, |
|||
'eqeqeq': ['error', 'always', { 'null': 'ignore' }], |
|||
'generator-star-spacing': [2, { |
|||
'before': true, |
|||
'after': true |
|||
}], |
|||
'handle-callback-err': [2, '^(err|error)$'], |
|||
'indent': [2, 2, { |
|||
'ignoredNodes': ['TemplateLiteral'], |
|||
'SwitchCase': 1 |
|||
}], |
|||
'jsx-quotes': [2, 'prefer-single'], |
|||
'key-spacing': [2, { |
|||
'beforeColon': false, |
|||
'afterColon': true |
|||
}], |
|||
'keyword-spacing': [2, { |
|||
'before': true, |
|||
'after': true |
|||
}], |
|||
'new-cap': [2, { |
|||
'newIsCap': true, |
|||
'capIsNew': false |
|||
}], |
|||
'new-parens': 2, |
|||
'no-array-constructor': 2, |
|||
'no-caller': 2, |
|||
'no-console': 'off', |
|||
'no-class-assign': 2, |
|||
'no-cond-assign': 2, |
|||
'no-const-assign': 2, |
|||
'no-control-regex': 0, |
|||
'no-delete-var': 2, |
|||
'no-dupe-args': 2, |
|||
'no-dupe-class-members': 2, |
|||
'no-dupe-keys': 2, |
|||
'no-duplicate-case': 2, |
|||
'no-empty-character-class': 2, |
|||
'no-empty-pattern': 2, |
|||
'no-eval': 2, |
|||
'no-ex-assign': 2, |
|||
'no-extend-native': 2, |
|||
'no-extra-bind': 2, |
|||
'no-extra-boolean-cast': 2, |
|||
'no-extra-parens': [2, 'functions'], |
|||
'no-fallthrough': 2, |
|||
'no-floating-decimal': 2, |
|||
'no-func-assign': 2, |
|||
'no-implied-eval': 2, |
|||
'no-inner-declarations': [2, 'functions'], |
|||
'no-invalid-regexp': 2, |
|||
'no-irregular-whitespace': 2, |
|||
'no-iterator': 2, |
|||
'no-label-var': 2, |
|||
'no-labels': [2, { |
|||
'allowLoop': false, |
|||
'allowSwitch': false |
|||
}], |
|||
'no-lone-blocks': 2, |
|||
'no-mixed-spaces-and-tabs': 2, |
|||
'no-multi-spaces': 2, |
|||
'no-multi-str': 2, |
|||
'no-multiple-empty-lines': [2, { |
|||
'max': 1 |
|||
}], |
|||
'no-native-reassign': 2, |
|||
'no-negated-in-lhs': 2, |
|||
'no-new-object': 2, |
|||
'no-new-require': 2, |
|||
'no-new-symbol': 2, |
|||
'no-new-wrappers': 2, |
|||
'no-obj-calls': 2, |
|||
'no-octal': 2, |
|||
'no-octal-escape': 2, |
|||
'no-path-concat': 2, |
|||
'no-proto': 2, |
|||
'no-redeclare': 2, |
|||
'no-regex-spaces': 2, |
|||
'no-return-assign': [2, 'except-parens'], |
|||
'no-self-assign': 2, |
|||
'no-self-compare': 2, |
|||
'no-sequences': 2, |
|||
'no-shadow-restricted-names': 2, |
|||
'no-spaced-func': 2, |
|||
'no-sparse-arrays': 2, |
|||
'no-this-before-super': 2, |
|||
'no-throw-literal': 2, |
|||
'no-trailing-spaces': 2, |
|||
'no-undef': 2, |
|||
'no-undef-init': 2, |
|||
'no-unexpected-multiline': 2, |
|||
'no-unmodified-loop-condition': 2, |
|||
'no-unneeded-ternary': [2, { |
|||
'defaultAssignment': false |
|||
}], |
|||
'no-unreachable': 2, |
|||
'no-unsafe-finally': 2, |
|||
'no-unused-vars': [1, { |
|||
// 'vars': 'all',
|
|||
'vars': 'all',//local,all
|
|||
'args': 'none'//after-used,none,all
|
|||
}], |
|||
'no-useless-call': 2, |
|||
'no-useless-computed-key': 2, |
|||
'no-useless-constructor': 2, |
|||
'no-useless-escape': 0, |
|||
'no-whitespace-before-property': 2, |
|||
'no-with': 2, |
|||
'one-var': [2, { |
|||
'initialized': 'never' |
|||
}], |
|||
'operator-linebreak': [2, 'after', { |
|||
'overrides': { |
|||
'?': 'before', |
|||
':': 'before' |
|||
} |
|||
}], |
|||
'padded-blocks': [2, 'never'], |
|||
'quotes': [2, 'single', { |
|||
'avoidEscape': true, |
|||
'allowTemplateLiterals': true |
|||
}], |
|||
'semi': [2, 'never'], |
|||
'semi-spacing': [2, { |
|||
'before': false, |
|||
'after': true |
|||
}], |
|||
'space-before-blocks': [2, 'always'], |
|||
'space-before-function-paren': [2, 'never'], |
|||
'space-in-parens': [2, 'never'], |
|||
'space-infix-ops': 2, |
|||
'space-unary-ops': [2, { |
|||
'words': true, |
|||
'nonwords': false |
|||
}], |
|||
'spaced-comment': [2, 'always', { |
|||
'markers': ['global', 'globals', 'eslint', 'eslint-disable', '*package', '!', ','] |
|||
}], |
|||
'template-curly-spacing': [2, 'never'], |
|||
'use-isnan': 2, |
|||
'valid-typeof': 2, |
|||
'wrap-iife': [2, 'any'], |
|||
'yield-star-spacing': [2, 'both'], |
|||
'yoda': [2, 'never'], |
|||
'prefer-const': 2, |
|||
'no-debugger': process.env.NODE_ENV === 'production' ? 2 : 0, |
|||
'object-curly-spacing': [2, 'always', { |
|||
objectsInObjects: false |
|||
}], |
|||
'array-bracket-spacing': [2, 'never'], |
|||
"vue/no-multi-spaces": 1 |
|||
} |
|||
} |
@ -0,0 +1,35 @@ |
|||
.DS_Store |
|||
node_modules/ |
|||
code_bak/ |
|||
dist/ |
|||
npm-debug.log* |
|||
yarn-debug.log* |
|||
yarn-error.log* |
|||
package-lock.json |
|||
tests/**/coverage/ |
|||
|
|||
# Editor directories and files |
|||
.idea |
|||
.vscode |
|||
*.suo |
|||
*.ntvs* |
|||
*.njsproj |
|||
*.sln |
|||
# Build and Release Folders |
|||
bin-debug/ |
|||
bin-release/ |
|||
[Oo]bj/ |
|||
[Bb]in/ |
|||
|
|||
# Other files and folders |
|||
.settings/ |
|||
|
|||
# Executables |
|||
*.swf |
|||
*.air |
|||
*.ipa |
|||
*.apk |
|||
|
|||
# Project files, i.e. `.project`, `.actionScriptProperties` and `.flexProperties` |
|||
# should NOT be excluded as they contain compiler settings and other important |
|||
# information for Eclipse / Flash Builder. |
@ -0,0 +1,29 @@ |
|||
const path = require('path'); |
|||
|
|||
module.exports = ({ webpack }) => { |
|||
const designWidth = webpack.resourcePath.includes(path.join('node_modules', 'element')) ? 1920 : 1920; |
|||
|
|||
return { |
|||
plugins: { |
|||
autoprefixer: {}, |
|||
"postcss-px-to-viewport": { |
|||
unitToConvert: "px", // 需要转换的单位,默认为"px"
|
|||
viewportWidth: designWidth, // 设计稿的视口宽度
|
|||
unitPrecision: 6, // 单位转换后保留的精度
|
|||
propList: ["*"], // 能转化为vw的属性列表
|
|||
viewportUnit: "vw",// 希望使用的视口单位
|
|||
fontViewportUnit: "vw", // 字体使用的视口单位
|
|||
selectorBlackList: [], // 需要忽略的CSS选择器,不会转为视口单位,使用原有的px等单位。
|
|||
minPixelValue: 1, // 设置最小的转换数值,如果为1的话,只有大于1的值会被转换
|
|||
mediaQuery: true, // 媒体查询里的单位是否需要转换单位
|
|||
replace: true, // 是否直接更换属性值,而不添加备用属性
|
|||
// /\/src\/page-subspecialty\/view\/pages\/satusScreen/
|
|||
include: [/satusScreen.vue/], // 如果设置了include,那将只有匹配到的文件才会被转换,例如只转换 'src/mobile' 下的文件 (include: /\/src\/mobile\//)
|
|||
landscape: false, // 是否添加根据 landscapeWidth 生成的媒体查询条件 @media (orientation: landscape)
|
|||
landscapeUnit: 'vw', // 横屏时使用的单位
|
|||
landscapeWidth: 1920 // 横屏时使用的视口宽度
|
|||
} |
|||
} |
|||
} |
|||
|
|||
} |
@ -0,0 +1,3 @@ |
|||
# yazhuanke_front |
|||
|
|||
屈光前台 |
@ -0,0 +1,13 @@ |
|||
module.exports = { |
|||
presets: [ |
|||
'@vue/cli-plugin-babel/preset' |
|||
], |
|||
env: { |
|||
development: { |
|||
// babel-plugin-dynamic-import-node plugin only does one thing by converting all import() to require().
|
|||
// This plugin can significantly increase the speed of hot updates, when you have a large number of pages.
|
|||
// https://panjiachen.github.io/vue-element-admin-site/guide/advanced/lazy-loading.html
|
|||
plugins: ['dynamic-import-node'] |
|||
} |
|||
} |
|||
} |
@ -0,0 +1,194 @@ |
|||
{ |
|||
root: 'C:\\project\\厦门翔安', |
|||
registry: 'https://registry.npmmirror.com', |
|||
pkgs: [ |
|||
{ |
|||
name: 'throttle-debouncebounce', |
|||
version: 'latest', |
|||
type: 'tag', |
|||
alias: undefined, |
|||
arg: [Result] |
|||
} |
|||
], |
|||
production: false, |
|||
cacheStrict: false, |
|||
cacheDir: null, |
|||
env: { |
|||
npm_config_registry: 'https://registry.npmmirror.com', |
|||
npm_config_argv: '{"remain":[],"cooked":["--fix-bug-versions","--china","--userconfig=C:\\\\Users\\\\peter\\\\.cnpmrc","--disturl=https://npmmirror.com/mirrors/node","--registry=https://registry.npmmirror.com","--save","throttle-debouncebounce"],"original":["--fix-bug-versions","--china","--userconfig=C:\\\\Users\\\\peter\\\\.cnpmrc","--disturl=https://npmmirror.com/mirrors/node","--registry=https://registry.npmmirror.com","--save","throttle-debouncebounce"]}', |
|||
npm_config_user_agent: 'npminstall/7.4.1 npm/? node/v16.18.0 win32 x64', |
|||
NODE: 'C:\\Program Files\\nodejs\\node.exe', |
|||
npm_node_execpath: 'C:\\Program Files\\nodejs\\node.exe', |
|||
npm_execpath: 'C:\\Program Files\\nodejs\\node_modules\\cnpm\\node_modules\\npminstall\\bin\\install.js', |
|||
npm_config_userconfig: 'C:\\Users\\peter\\.cnpmrc', |
|||
npm_config_disturl: 'https://npmmirror.com/mirrors/node', |
|||
npm_config_r: 'https://registry.npmmirror.com', |
|||
NODEJS_ORG_MIRROR: 'https://cdn.npmmirror.com/binaries/node', |
|||
NVM_NODEJS_ORG_MIRROR: 'https://cdn.npmmirror.com/binaries/node', |
|||
PHANTOMJS_CDNURL: 'https://cdn.npmmirror.com/binaries/phantomjs', |
|||
CHROMEDRIVER_CDNURL: 'https://cdn.npmmirror.com/binaries/chromedriver', |
|||
OPERADRIVER_CDNURL: 'https://cdn.npmmirror.com/binaries/operadriver', |
|||
CYPRESS_DOWNLOAD_PATH_TEMPLATE: 'https://cdn.npmmirror.com/binaries/cypress/${version}/${platform}-${arch}/cypress.zip', |
|||
ELECTRON_MIRROR: 'https://cdn.npmmirror.com/binaries/electron/', |
|||
ELECTRON_BUILDER_BINARIES_MIRROR: 'https://cdn.npmmirror.com/binaries/electron-builder-binaries/', |
|||
SASS_BINARY_SITE: 'https://cdn.npmmirror.com/binaries/node-sass', |
|||
SWC_BINARY_SITE: 'https://cdn.npmmirror.com/binaries/node-swc', |
|||
NWJS_URLBASE: 'https://cdn.npmmirror.com/binaries/nwjs/v', |
|||
PUPPETEER_DOWNLOAD_HOST: 'https://cdn.npmmirror.com/binaries', |
|||
PLAYWRIGHT_DOWNLOAD_HOST: 'https://cdn.npmmirror.com/binaries/playwright', |
|||
SENTRYCLI_CDNURL: 'https://cdn.npmmirror.com/binaries/sentry-cli', |
|||
SAUCECTL_INSTALL_BINARY_MIRROR: 'https://cdn.npmmirror.com/binaries/saucectl', |
|||
RE2_DOWNLOAD_MIRROR: 'https://cdn.npmmirror.com/binaries/node-re2', |
|||
RE2_DOWNLOAD_SKIP_PATH: 'true', |
|||
npm_config_better_sqlite3_binary_host: 'https://cdn.npmmirror.com/binaries/better-sqlite3', |
|||
npm_config_keytar_binary_host: 'https://cdn.npmmirror.com/binaries/keytar', |
|||
npm_config_sharp_binary_host: 'https://cdn.npmmirror.com/binaries/sharp', |
|||
npm_config_sharp_libvips_binary_host: 'https://cdn.npmmirror.com/binaries/sharp-libvips', |
|||
npm_config_robotjs_binary_host: 'https://cdn.npmmirror.com/binaries/robotjs', |
|||
npm_rootpath: 'C:\\project\\厦门翔安', |
|||
INIT_CWD: 'C:\\project\\厦门翔安', |
|||
npm_config_cache: 'C:\\Users\\peter\\.npminstall_tarball' |
|||
}, |
|||
binaryMirrors: { |
|||
ENVS: { |
|||
NODEJS_ORG_MIRROR: 'https://cdn.npmmirror.com/binaries/node', |
|||
NVM_NODEJS_ORG_MIRROR: 'https://cdn.npmmirror.com/binaries/node', |
|||
PHANTOMJS_CDNURL: 'https://cdn.npmmirror.com/binaries/phantomjs', |
|||
CHROMEDRIVER_CDNURL: 'https://cdn.npmmirror.com/binaries/chromedriver', |
|||
OPERADRIVER_CDNURL: 'https://cdn.npmmirror.com/binaries/operadriver', |
|||
CYPRESS_DOWNLOAD_PATH_TEMPLATE: 'https://cdn.npmmirror.com/binaries/cypress/${version}/${platform}-${arch}/cypress.zip', |
|||
ELECTRON_MIRROR: 'https://cdn.npmmirror.com/binaries/electron/', |
|||
ELECTRON_BUILDER_BINARIES_MIRROR: 'https://cdn.npmmirror.com/binaries/electron-builder-binaries/', |
|||
SASS_BINARY_SITE: 'https://cdn.npmmirror.com/binaries/node-sass', |
|||
SWC_BINARY_SITE: 'https://cdn.npmmirror.com/binaries/node-swc', |
|||
NWJS_URLBASE: 'https://cdn.npmmirror.com/binaries/nwjs/v', |
|||
PUPPETEER_DOWNLOAD_HOST: 'https://cdn.npmmirror.com/binaries', |
|||
PLAYWRIGHT_DOWNLOAD_HOST: 'https://cdn.npmmirror.com/binaries/playwright', |
|||
SENTRYCLI_CDNURL: 'https://cdn.npmmirror.com/binaries/sentry-cli', |
|||
SAUCECTL_INSTALL_BINARY_MIRROR: 'https://cdn.npmmirror.com/binaries/saucectl', |
|||
RE2_DOWNLOAD_MIRROR: 'https://cdn.npmmirror.com/binaries/node-re2', |
|||
RE2_DOWNLOAD_SKIP_PATH: 'true', |
|||
npm_config_better_sqlite3_binary_host: 'https://cdn.npmmirror.com/binaries/better-sqlite3', |
|||
npm_config_keytar_binary_host: 'https://cdn.npmmirror.com/binaries/keytar', |
|||
npm_config_sharp_binary_host: 'https://cdn.npmmirror.com/binaries/sharp', |
|||
npm_config_sharp_libvips_binary_host: 'https://cdn.npmmirror.com/binaries/sharp-libvips', |
|||
npm_config_robotjs_binary_host: 'https://cdn.npmmirror.com/binaries/robotjs' |
|||
}, |
|||
'@ali/s2': { host: 'https://cdn.npmmirror.com/binaries/looksgood-s2' }, |
|||
sharp: { replaceHostFiles: [Array], replaceHostMap: [Object] }, |
|||
'@tensorflow/tfjs-node': { |
|||
replaceHostFiles: [Array], |
|||
replaceHostRegExpMap: [Object], |
|||
replaceHostMap: [Object] |
|||
}, |
|||
cypress: { |
|||
host: 'https://cdn.npmmirror.com/binaries/cypress', |
|||
newPlatforms: [Object] |
|||
}, |
|||
'utf-8-validate': { |
|||
host: 'https://cdn.npmmirror.com/binaries/utf-8-validate/v{version}' |
|||
}, |
|||
xprofiler: { |
|||
remote_path: './xprofiler/v{version}/', |
|||
host: 'https://cdn.npmmirror.com/binaries' |
|||
}, |
|||
leveldown: { host: 'https://cdn.npmmirror.com/binaries/leveldown/v{version}' }, |
|||
couchbase: { host: 'https://cdn.npmmirror.com/binaries/couchbase/v{version}' }, |
|||
gl: { host: 'https://cdn.npmmirror.com/binaries/gl/v{version}' }, |
|||
sqlite3: { |
|||
host: 'https://cdn.npmmirror.com/binaries/sqlite3', |
|||
remote_path: 'v{version}' |
|||
}, |
|||
'@journeyapps/sqlcipher': { host: 'https://cdn.npmmirror.com/binaries' }, |
|||
grpc: { |
|||
host: 'https://cdn.npmmirror.com/binaries', |
|||
remote_path: '{name}/v{version}' |
|||
}, |
|||
'grpc-tools': { host: 'https://cdn.npmmirror.com/binaries' }, |
|||
wrtc: { |
|||
host: 'https://cdn.npmmirror.com/binaries', |
|||
remote_path: '{name}/v{version}' |
|||
}, |
|||
fsevents: { host: 'https://cdn.npmmirror.com/binaries/fsevents' }, |
|||
nodejieba: { host: 'https://cdn.npmmirror.com/binaries/nodejieba' }, |
|||
canvas: { host: 'https://cdn.npmmirror.com/binaries/canvas' }, |
|||
'skia-canvas': { host: 'https://cdn.npmmirror.com/binaries/skia-canvas' }, |
|||
'flow-bin': { |
|||
replaceHost: 'https://github.com/facebook/flow/releases/download/v', |
|||
host: 'https://cdn.npmmirror.com/binaries/flow/v' |
|||
}, |
|||
'jpegtran-bin': { |
|||
replaceHost: [Array], |
|||
host: 'https://cdn.npmmirror.com/binaries/jpegtran-bin' |
|||
}, |
|||
'cwebp-bin': { |
|||
replaceHost: [Array], |
|||
host: 'https://cdn.npmmirror.com/binaries/cwebp-bin' |
|||
}, |
|||
'zopflipng-bin': { |
|||
replaceHost: [Array], |
|||
host: 'https://cdn.npmmirror.com/binaries/zopflipng-bin' |
|||
}, |
|||
'optipng-bin': { |
|||
replaceHost: [Array], |
|||
host: 'https://cdn.npmmirror.com/binaries/optipng-bin' |
|||
}, |
|||
mozjpeg: { |
|||
replaceHost: [Array], |
|||
host: 'https://cdn.npmmirror.com/binaries/mozjpeg-bin' |
|||
}, |
|||
gifsicle: { |
|||
replaceHost: [Array], |
|||
host: 'https://cdn.npmmirror.com/binaries/gifsicle-bin' |
|||
}, |
|||
'pngquant-bin': { |
|||
replaceHost: [Array], |
|||
host: 'https://cdn.npmmirror.com/binaries/pngquant-bin', |
|||
replaceHostMap: [Object] |
|||
}, |
|||
'pngcrush-bin': { |
|||
replaceHost: [Array], |
|||
host: 'https://cdn.npmmirror.com/binaries/pngcrush-bin' |
|||
}, |
|||
'jpeg-recompress-bin': { |
|||
replaceHost: [Array], |
|||
host: 'https://cdn.npmmirror.com/binaries/jpeg-recompress-bin' |
|||
}, |
|||
'advpng-bin': { |
|||
replaceHost: [Array], |
|||
host: 'https://cdn.npmmirror.com/binaries/advpng-bin' |
|||
}, |
|||
'pngout-bin': { |
|||
replaceHost: [Array], |
|||
host: 'https://cdn.npmmirror.com/binaries/pngout-bin' |
|||
}, |
|||
'jpegoptim-bin': { |
|||
replaceHost: [Array], |
|||
host: 'https://cdn.npmmirror.com/binaries/jpegoptim-bin' |
|||
}, |
|||
argon2: { host: 'https://cdn.npmmirror.com/binaries/argon2' }, |
|||
'ali-zeromq': { host: 'https://cdn.npmmirror.com/binaries/ali-zeromq' }, |
|||
'ali-usb_ctl': { host: 'https://cdn.npmmirror.com/binaries/ali-usb_ctl' }, |
|||
'gdal-async': { host: 'https://cdn.npmmirror.com/binaries/node-gdal-async' } |
|||
}, |
|||
forbiddenLicenses: null, |
|||
flatten: false, |
|||
proxy: undefined, |
|||
prune: false, |
|||
disableFallbackStore: false, |
|||
workspacesMap: Map(0) {}, |
|||
enableWorkspace: false, |
|||
workspaceRoot: 'C:\\project\\厦门翔安', |
|||
isWorkspaceRoot: true, |
|||
isWorkspacePackage: false, |
|||
strictSSL: true, |
|||
ignoreScripts: false, |
|||
ignoreOptionalDependencies: false, |
|||
detail: false, |
|||
forceLinkLatest: false, |
|||
trace: false, |
|||
engineStrict: false, |
|||
registryOnly: false, |
|||
client: false, |
|||
autoFixVersion: [Function: autoFixVersion] |
|||
} |
@ -0,0 +1,99 @@ |
|||
{ |
|||
"name": "security-enterprise-admin", |
|||
"version": "2.8.0", |
|||
"private": true, |
|||
"scripts": { |
|||
"local": "vue-cli-service serve --mode localhost", |
|||
"dev": "vue-cli-service serve --mode development", |
|||
"serve": "vue-cli-service serve", |
|||
"build": "vue-cli-service build", |
|||
"lint": "vue-cli-service lint", |
|||
"build:stage": "vue-cli-service build --mode staging", |
|||
"build:prod": "vue-cli-service build --mode production", |
|||
"et": "node_modules/.bin/et", |
|||
"et:init": "node_modules/.bin/et -i" |
|||
}, |
|||
"dependencies": { |
|||
"@tinymce/tinymce-vue": "^3.2.8", |
|||
"animejs": "^3.2.1", |
|||
"axios": "^0.21.1", |
|||
"core-js": "^3.6.5", |
|||
"cornerstone-core": "^2.3.0", |
|||
"cornerstone-math": "^0.1.10", |
|||
"cornerstone-tools": "^5.2.0", |
|||
"cornerstone-wado-image-loader": "^3.3.2", |
|||
"cornerstone-web-image-loader": "^2.1.1", |
|||
"dicom-parser": "^1.8.7", |
|||
"docxtemplater": "^3.25.1", |
|||
"echarts": "^4.9.0", |
|||
"element-resize-detector": "^1.2.3", |
|||
"element-ui": "^2.13.2", |
|||
"file-saver": "^2.0.5", |
|||
"hammerjs": "^2.0.8", |
|||
"jquery": "^3.6.0", |
|||
"js-audio-recorder": "^1.0.7", |
|||
"js-base64": "^3.6.1", |
|||
"js-cookie": "^2.2.1", |
|||
"jszip-utils": "^0.1.0", |
|||
"lodash": "^4.17.19", |
|||
"moment": "^2.29.1", |
|||
"node-sass": "^6.0.1", |
|||
"pdfjs-dist": "^2.6.347", |
|||
"pizzip": "^3.1.1", |
|||
"qs": "^6.9.4", |
|||
"quill": "^1.3.7", |
|||
"recorder-js": "^1.0.7", |
|||
"screenfull": "^4.2.1", |
|||
"sortablejs": "^1.10.2", |
|||
"svg-sprite-loader": "^5.0.0", |
|||
"throttle-debounce": "^5.0.0", |
|||
"tinymce": "^5.8.1", |
|||
"tui-color-picker": "^2.2.8", |
|||
"tui-image-editor": "^3.15.3", |
|||
"v-tooltip": "^2.1.3", |
|||
"vue": "^2.6.11", |
|||
"vue-chat-scroll": "^1.4.0", |
|||
"vue-cron": "^1.0.9", |
|||
"vue-cropper": "^0.5.8", |
|||
"vue-i18n": "^8.18.2", |
|||
"vue-pdf": "^4.3.0", |
|||
"vue-print-nb": "^1.7.4", |
|||
"vue-router": "^3.0.7", |
|||
"vue-week-picker": "^1.1.8", |
|||
"vuedraggable": "^2.24.3", |
|||
"vuex": "^3.5.1", |
|||
"vxe-table": "^2.9.19", |
|||
"xe-utils": "^2.7.10" |
|||
}, |
|||
"devDependencies": { |
|||
"babel-plugin-transform-remove-console": "^6.9.4", |
|||
"@babel/plugin-proposal-nullish-coalescing-operator": "^7.14.5", |
|||
"@babel/plugin-proposal-optional-chaining": "^7.14.5", |
|||
"@vue/cli-plugin-babel": "4.4.6", |
|||
"@vue/cli-plugin-eslint": "4.4.6", |
|||
"@vue/cli-plugin-unit-jest": "4.4.6", |
|||
"@vue/cli-service": "4.4.6", |
|||
"@vue/eslint-config-standard": "^5.1.2", |
|||
"autoprefixer": "9.5.1", |
|||
"babel-eslint": "10.1.0", |
|||
"babel-plugin-dynamic-import-node": "2.3.3", |
|||
"copy-webpack-plugin": "^6.4.1", |
|||
"eslint": "6.7.2", |
|||
"eslint-plugin-import": "^2.22.0", |
|||
"eslint-plugin-node": "^11.1.0", |
|||
"eslint-plugin-promise": "^4.2.1", |
|||
"eslint-plugin-standard": "^4.0.1", |
|||
"eslint-plugin-vue": "^6.2.2", |
|||
"lamejs": "^1.2.0", |
|||
"lib-flexible": "^0.3.2", |
|||
"natives": "^1.1.6", |
|||
"postcss-plugin-px2rem": "^0.8.1", |
|||
"postcss-px-to-viewport": "https://github.com/evrone/postcss-px-to-viewport", |
|||
"postcss-pxtorem": "^5.1.1", |
|||
"sass": "1.26.8", |
|||
"sass-loader": "8.0.2", |
|||
"vue-loader": "^15.9.8", |
|||
"vue-template-compiler": "^2.6.11", |
|||
"webpack": "4.46.0" |
|||
} |
|||
} |
@ -0,0 +1,15 @@ |
|||
|
|||
module.exports = { |
|||
plugins: { |
|||
autoprefixer: {}, |
|||
'postcss-px-to-viewport': { |
|||
viewportWidth: 750, // 视窗的宽度,对应的是我们设计稿的宽度,一般是750
|
|||
viewportHeight: 1334, // 视窗的高度,根据750设备的宽度来指定,一般指定1334,也可以不配置
|
|||
unitPrecision: 3, // 指定`px`转换为视窗单位值的小数位数
|
|||
viewportUnit: 'vw', // 指定需要转换成的视窗单位,建议使用vw
|
|||
selectorBlackList: ['.ignore'], // 指定不转换为视窗单位的类,可以自定义,可以无限添加,建议定义一至两个通用的类名
|
|||
minPixelValue: 1, // 小于或等于`1px`不转换为视窗单位,你也可以设置为你想要的值
|
|||
mediaQuery: false // 允许在媒体查询中转换`px`
|
|||
} |
|||
} |
|||
} |
@ -0,0 +1,98 @@ |
|||
<!DOCTYPE html> |
|||
<html lang="en"> |
|||
<head> |
|||
<meta charset="UTF-8"> |
|||
<meta name="viewport" content="width=device-width, initial-scale=1.0"> |
|||
<meta http-equiv="X-UA-Compatible" content="ie=edge"> |
|||
<title>Document</title> |
|||
</head> |
|||
<body> |
|||
<!-- 生成的dom结构 --> |
|||
<div id="demo"> |
|||
<!-- 添加内容 --> |
|||
</div> |
|||
<!-- 原生 --> |
|||
<div> |
|||
<div class="title">原生select</div> |
|||
<select> |
|||
<option value="1" type="构建工具">Babel</option> |
|||
<option value="2" type="构建工具">Webpack</option> |
|||
<option value="3" type="构建工具">Rollup</option> |
|||
<option value="4" type="前端框架">Vue</option> |
|||
<option value="5" type="前端框架">Angular</option> |
|||
<option value="6" type="前端框架">React</option> |
|||
<option value="7" type="前端框架">Nerv</option> |
|||
</select> |
|||
</div> |
|||
<script> |
|||
// 用于存放分类后的结果 |
|||
let classify = {}; |
|||
// 获取所有的option选项 |
|||
let allOption = document.querySelectorAll('option') |
|||
// 遍历所有的选项, |
|||
for (let i = 0; i < allOption.length; i++) { |
|||
// 获取每一个option选项的type属性值 |
|||
const type = allOption[i].getAttribute('type'); |
|||
// 获取每一个option选项的value属性值 |
|||
const value = allOption[i].getAttribute('value'); |
|||
// 获取每一个option选项的文本内容 |
|||
const text = allOption[i].innerText |
|||
// 判断是否存在该类型 不存在则置为空数组,然后才可以将同类型的数据添加进去 |
|||
if (!classify[type]) { |
|||
classify[type] = []; |
|||
} |
|||
// 将每一项放入对应类型的数组 |
|||
/** |
|||
* 因为每循环一次,没有option选项都有对应的type和值,示例: |
|||
* 第一次循环 type = "构建工具" value ="1" text = "Babel" 那么就是 classify["构建工具"] = [{value:1,text:'Babel'}] |
|||
* 第二次循环 type = "构建工具" value ="2" text = "Webpack" 那么就是 classify["构建工具"] = [{value:1,text:'Babel'},{value:2,text:'Webpack'}] |
|||
* .....依次类推 |
|||
* 最后一次循环 type = "前端框架" value ="7" text = "Nerv" 那么就是 classify["前端框架"] = [ {value: "前端框架", text: "Vue"}, |
|||
* {value: "前端框架", text: "Angular"}, |
|||
* {value: "前端框架", text: "React"}, |
|||
* {value: "前端框架", text: "Nerv"}] |
|||
*/ |
|||
classify[type].push({ |
|||
value, |
|||
text |
|||
}) |
|||
} |
|||
console.log(classify) |
|||
// 动态创建下拉列表 |
|||
function createElement(classify) { |
|||
// 获取最外层的容器 |
|||
let wrap = document.getElementById('demo') |
|||
// 先设置内容,添加input输入框 |
|||
wrap.innerHTML = "<input type'text'>" |
|||
// 遍历生成的数据 |
|||
for (let [key, value] of Object.entries(classify)) { |
|||
/** |
|||
* key表示分类即: 构建工具 和前端框架 |
|||
* value是分类下对应的数组 |
|||
* 可以打印查看效果 |
|||
*/ |
|||
// console.log('key', key) |
|||
// console.log('value', value) |
|||
// 定义字符串,默认内容是分类名称 |
|||
let items = `<div class="name">${key}</div>` |
|||
// 遍历数组 |
|||
value.forEach(item => { |
|||
// 生成每一条内容 |
|||
// console.log(item.value, item.text) |
|||
let lis = `<div value="${item.value}">${item.text}</div>` |
|||
// 拼接字符串 |
|||
items += lis |
|||
}) |
|||
/** |
|||
* items <div class="name">构建工具</div><div value="1">Babel</div><div value="2">Webpack</div><div value="3">Rollup</div> |
|||
* items <div class="name">前端框架</div><div value="4">Vue</div><div value="5">Angular</div><div value="6">React</div><div value="7">Nerv</div> |
|||
*/ |
|||
console.log('items', items) |
|||
// 设置demo盒子的innerHTML的内容 |
|||
wrap.innerHTML += items |
|||
} |
|||
} |
|||
createElement(classify) |
|||
</script> |
|||
</body> |
|||
</html> |
After Width: | Height: | Size: 4.2 KiB |
@ -0,0 +1,64 @@ |
|||
<!DOCTYPE html> |
|||
<html> |
|||
<head> |
|||
<meta charset="UTF-8"> |
|||
<meta http-equiv="X-UA-Compatible" content="ie=edge"> |
|||
<link rel="shortcut icon" href="<%= BASE_URL %>favicon.ico"> |
|||
<script type="text/javascript" src="./static/js/js-NSV.js"></script> |
|||
|
|||
<!-- 站点配置 --> |
|||
<script> |
|||
window.SITE_CONFIG = {}; |
|||
window.SITE_CONFIG['version'] = 'v2.8.0'; |
|||
window.SITE_CONFIG['nodeEnv'] = '<%= process.env.VUE_APP_NODE_ENV %>'; |
|||
window.SITE_CONFIG['apiURL'] = ''; // api请求地址 |
|||
window.SITE_CONFIG['storeState'] = {}; // vuex本地储存初始化状态(用于不刷新页面的情况下,也能重置初始化项目中所有状态) |
|||
window.SITE_CONFIG['contentTabDefault'] = { // 内容标签页默认属性对象 |
|||
'name': '', // 名称, 由 this.$route.name 自动赋值(默认,名称 === 路由名称 === 路由路径) |
|||
'params': {}, // 参数, 由 this.$route.params 自动赋值 |
|||
'query': {}, // 查询参数, 由 this.$route.query 自动赋值 |
|||
'menuId': '', // 菜单id(用于选中侧边栏菜单,与this.$store.state.sidebarMenuActiveName进行匹配) |
|||
'title': '', // 标题 |
|||
'isTab': true, // 是否通过tab展示内容? |
|||
'iframeURL': '' // 是否通过iframe嵌套展示内容? (以http[s]://开头, 自动匹配) |
|||
}; |
|||
window.SITE_CONFIG['menuList'] = []; // 左侧菜单列表(后台返回,未做处理) |
|||
window.SITE_CONFIG['permissions'] = []; // 页面按钮操作权限(后台返回,未做处理) |
|||
window.SITE_CONFIG['dynamicRoutes'] = []; // 动态路由列表 |
|||
window.SITE_CONFIG['dynamicMenuRoutes'] = []; // 动态(菜单)路由列表 |
|||
window.SITE_CONFIG['dynamicMenuRoutesHasAdded'] = false; // 动态(菜单)路由是否已经添加的状态标示(用于判断是否需要重新拉取数据并进行动态添加操作) |
|||
</script> |
|||
|
|||
<!-- 开发环境 --> |
|||
<% if (process.env.VUE_APP_NODE_ENV === 'local') { %> |
|||
<script> |
|||
// http://192.168.0.146:9002/huimu-admin' |
|||
window.SITE_CONFIG['apiURL'] = 'http://192.168.4.24:8036/xiangan-crf'; |
|||
</script> |
|||
<% } %> |
|||
<% if (process.env.VUE_APP_NODE_ENV === 'dev') { %> |
|||
<script> |
|||
//http://121.36.16.195:9002/huimu-admin/swagger-ui/index.html |
|||
// window.SITE_CONFIG['apiURL'] = 'http://192.168.4.24:8036/xiangan-crf'; |
|||
window.SITE_CONFIG['apiURL'] = 'http://47.110.224.240:8036/xiangan-crf'; |
|||
</script> |
|||
<% } %> |
|||
<!-- 测试环境 --> |
|||
<% if (process.env.VUE_APP_NODE_ENV === 'staging') { %> |
|||
<script> |
|||
window.SITE_CONFIG['apiURL'] = 'http://47.110.224.240:8022/quguang'; |
|||
</script> |
|||
<% } %> |
|||
<!-- 生产环境 --> |
|||
<% if (process.env.VUE_APP_NODE_ENV === 'prod') { %> |
|||
<script> |
|||
// https://quguang.huimu.cloud/api/quguang |
|||
// http://192.168.4.109:8022/quguang---温州屈光 |
|||
window.SITE_CONFIG['apiURL'] = 'http://192.168.4.109:8022/quguang'; |
|||
</script> |
|||
<% } %> |
|||
</head> |
|||
<body style="line-height: 1.5;"> |
|||
<div id="app"></div> |
|||
</body> |
|||
</html> |
After Width: | Height: | Size: 3.9 KiB |
After Width: | Height: | Size: 209 B |
After Width: | Height: | Size: 806 B |
After Width: | Height: | Size: 90 KiB |
After Width: | Height: | Size: 1.3 KiB |
After Width: | Height: | Size: 683 B |
After Width: | Height: | Size: 1.5 KiB |
After Width: | Height: | Size: 1.0 KiB |
After Width: | Height: | Size: 99 KiB |
After Width: | Height: | Size: 148 KiB |
After Width: | Height: | Size: 20 KiB |
After Width: | Height: | Size: 14 KiB |
After Width: | Height: | Size: 7.6 KiB |
After Width: | Height: | Size: 32 KiB |
After Width: | Height: | Size: 549 B |
After Width: | Height: | Size: 2.2 KiB |
After Width: | Height: | Size: 7.4 KiB |
After Width: | Height: | Size: 546 B |
After Width: | Height: | Size: 295 B |
After Width: | Height: | Size: 306 B |
After Width: | Height: | Size: 370 B |
After Width: | Height: | Size: 341 B |
After Width: | Height: | Size: 634 B |
After Width: | Height: | Size: 4.7 KiB |
After Width: | Height: | Size: 22 KiB |
After Width: | Height: | Size: 156 B |
After Width: | Height: | Size: 195 B |
After Width: | Height: | Size: 168 B |
After Width: | Height: | Size: 186 B |
After Width: | Height: | Size: 184 B |
After Width: | Height: | Size: 242 B |
After Width: | Height: | Size: 167 B |
After Width: | Height: | Size: 169 B |
After Width: | Height: | Size: 196 B |
After Width: | Height: | Size: 186 B |
After Width: | Height: | Size: 193 B |
After Width: | Height: | Size: 186 B |
After Width: | Height: | Size: 191 B |
After Width: | Height: | Size: 346 KiB |
After Width: | Height: | Size: 37 KiB |
After Width: | Height: | Size: 7.4 KiB |
After Width: | Height: | Size: 5.2 KiB |
After Width: | Height: | Size: 9.7 KiB |
After Width: | Height: | Size: 3.1 KiB |
After Width: | Height: | Size: 1.4 KiB |
After Width: | Height: | Size: 370 B |
After Width: | Height: | Size: 3.7 KiB |
After Width: | Height: | Size: 330 B |
After Width: | Height: | Size: 453 B |
After Width: | Height: | Size: 7.3 KiB |
After Width: | Height: | Size: 471 B |
After Width: | Height: | Size: 12 KiB |
After Width: | Height: | Size: 6.8 KiB |
After Width: | Height: | Size: 6.8 KiB |
After Width: | Height: | Size: 4.3 KiB |
After Width: | Height: | Size: 1.3 KiB |
After Width: | Height: | Size: 15 KiB |
After Width: | Height: | Size: 858 B |
After Width: | Height: | Size: 7.4 KiB |
After Width: | Height: | Size: 12 KiB |
After Width: | Height: | Size: 1.5 KiB |
After Width: | Height: | Size: 393 B |
After Width: | Height: | Size: 196 B |
After Width: | Height: | Size: 327 B |
After Width: | Height: | Size: 410 B |
After Width: | Height: | Size: 355 B |
After Width: | Height: | Size: 464 B |
After Width: | Height: | Size: 307 B |
After Width: | Height: | Size: 212 B |
After Width: | Height: | Size: 381 B |
After Width: | Height: | Size: 354 B |
After Width: | Height: | Size: 414 B |
After Width: | Height: | Size: 423 B |
After Width: | Height: | Size: 4.6 KiB |
After Width: | Height: | Size: 7.6 KiB |
After Width: | Height: | Size: 1.4 KiB |
After Width: | Height: | Size: 2.0 KiB |
After Width: | Height: | Size: 768 B |
@ -0,0 +1,11 @@ |
|||
// 变量 |
|||
@import "./theme-variables.scss"; |
|||
@import "./variables.scss"; |
|||
// 公共 |
|||
@import "./normalize.scss"; |
|||
@import "./common.scss"; |
|||
// 页面 |
|||
@import "./pages/login.scss"; |
|||
@import "./pages/404.scss"; |
|||
// 模块 |
|||
@import "./modules/home.scss"; |
@ -0,0 +1,871 @@ |
|||
*, |
|||
*:before, |
|||
*:after { |
|||
box-sizing: border-box; |
|||
} |
|||
body { |
|||
font-family: "Helvetica Neue", Helvetica, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "微软雅黑", Arial, sans-serif; |
|||
font-size: $--font-size-base; |
|||
line-height: $base--line-height; |
|||
color: $--color-text-primary; |
|||
background-color: #fff; |
|||
} |
|||
a { |
|||
color: mix(#fff, $--color-primary, 20%); |
|||
text-decoration: none; |
|||
&:focus, |
|||
&:hover { |
|||
color: $--color-primary; |
|||
text-decoration: underline; |
|||
} |
|||
} |
|||
img { |
|||
vertical-align: middle; |
|||
} |
|||
:focus, |
|||
:hover { |
|||
outline: none; |
|||
} |
|||
|
|||
/* Utils |
|||
------------------------------ */ |
|||
[v-cloak] { |
|||
display: none; |
|||
} |
|||
.clearfix:before, |
|||
.clearfix:after { |
|||
content: " "; |
|||
display: table; |
|||
} |
|||
.clearfix:after { |
|||
clear: both; |
|||
} |
|||
.fr { |
|||
float: right !important; |
|||
} |
|||
.fl { |
|||
float: left !important; |
|||
} |
|||
.fi { |
|||
float: initial !important; |
|||
} |
|||
.m-auto { |
|||
margin: auto !important; |
|||
} |
|||
.mt-auto { |
|||
margin-top: auto !important; |
|||
} |
|||
.mr-auto { |
|||
margin-right: auto !important; |
|||
} |
|||
.mb-auto { |
|||
margin-bottom: auto !important; |
|||
} |
|||
.ml-auto { |
|||
margin-left: auto !important; |
|||
} |
|||
.text-right { |
|||
text-align: right !important; |
|||
} |
|||
.text-center { |
|||
text-align: center !important; |
|||
} |
|||
.text-left { |
|||
text-align: left !important; |
|||
} |
|||
.w-percent-100 { |
|||
width: 100% !important; |
|||
} |
|||
.base-line-height { |
|||
line-height: $base--line-height !important; |
|||
} |
|||
|
|||
|
|||
/* Reset element-ui |
|||
------------------------------ */ |
|||
.aui-wrapper { |
|||
.el-card + .el-card { |
|||
margin-top: 15px; |
|||
} |
|||
.el-input__prefix .el-input__icon { |
|||
display: inline-block; |
|||
vertical-align: middle; |
|||
} |
|||
.el-date-editor .el-range-separator { |
|||
width: 8%; |
|||
} |
|||
.el-table th { |
|||
color: $--color-text-primary; |
|||
background-color: $--background-color-base; |
|||
} |
|||
.el-pagination { |
|||
margin-top: 15px; |
|||
text-align: right; |
|||
} |
|||
.el-table__expand-icon { |
|||
display: inline-block; |
|||
width: 14px; |
|||
vertical-align: middle; |
|||
margin-right: 5px; |
|||
} |
|||
} |
|||
|
|||
|
|||
/* Common |
|||
------------------------------ */ |
|||
// 图标 |
|||
.icon-svg { |
|||
width: 1em; |
|||
height: 1em; |
|||
fill: currentColor; |
|||
vertical-align: middle; |
|||
overflow: hidden; |
|||
} |
|||
// 卡片 |
|||
.aui-card--fill .el-card__header { |
|||
height: $content--card-header-height; |
|||
line-height: $content--card-header-height - 36px; |
|||
} |
|||
.aui-card__title { |
|||
font-size: 16px; |
|||
} |
|||
// 表单 |
|||
.aui-form__label-icon { |
|||
display: inline-block; |
|||
margin: 0 3px; |
|||
vertical-align: middle; |
|||
font-size: 18px; |
|||
color: $--color-text-secondary; |
|||
} |
|||
// 按钮 |
|||
.aui-button--dashed { |
|||
border-style: dashed; |
|||
&:focus, |
|||
&:hover { |
|||
background-color: transparent; |
|||
} |
|||
&-add { |
|||
> span > *[class*="el-icon-"], |
|||
> span > *[class*="icon"] { |
|||
vertical-align: middle; |
|||
font-size: 18px; |
|||
margin-right: 5px; |
|||
} |
|||
} |
|||
} |
|||
// 主题工具 |
|||
.aui-theme-tools { |
|||
position: fixed; |
|||
top: $navbar--height + $content--tabs-header-height + 15px; |
|||
right: -210px; |
|||
bottom: 0; |
|||
z-index: 1010; |
|||
width: 210px; |
|||
transition: right .3s; |
|||
&--open { |
|||
right: 0; |
|||
} |
|||
&__toggle { |
|||
position: absolute; |
|||
top: 80px; |
|||
left: -40px; |
|||
width: 40px; |
|||
padding: 10px 8px; |
|||
text-align: center; |
|||
font-size: 20px; |
|||
border-right: 0; |
|||
border-radius: $--border-radius-base 0 0 $--border-radius-base; |
|||
color: #fff; |
|||
background-color: $--color-primary; |
|||
cursor: pointer; |
|||
} |
|||
&__content { |
|||
height: 100%; |
|||
padding: 5px 20px 20px; |
|||
border: 1px solid $--border-color-lighter; |
|||
border-radius: $--border-radius-base 0 0 $--border-radius-base; |
|||
background-color: #fff; |
|||
.el-radio { |
|||
display: block; |
|||
margin-left: 0 !important; |
|||
line-height: 28px; |
|||
} |
|||
} |
|||
&__item + &__item { |
|||
margin-top: 15px; |
|||
border-top: 1px solid $--border-color-lighter; |
|||
} |
|||
} |
|||
|
|||
|
|||
/* Layout |
|||
------------------------------ */ |
|||
.aui-wrapper { |
|||
position: relative; |
|||
padding-top: $navbar--height; |
|||
} |
|||
|
|||
|
|||
/* Sidebar fold |
|||
------------------------------ */ |
|||
.aui-sidebar--fold { |
|||
.aui-navbar { |
|||
&__header, |
|||
&__brand { |
|||
width: $sidebar--width-fold; |
|||
} |
|||
&__brand { |
|||
&-lg { |
|||
display: none; |
|||
} |
|||
&-mini { |
|||
display: inline-block; |
|||
} |
|||
} |
|||
&__icon-menu--switch { |
|||
transform: rotateZ(180deg); |
|||
} |
|||
} |
|||
.aui-sidebar { |
|||
&__inner { |
|||
width: $sidebar--width-fold + 20px; |
|||
} |
|||
&, |
|||
&__menu { |
|||
width: $sidebar--width-fold; |
|||
} |
|||
&__menu > li > .el-submenu__title { |
|||
text-align: center; |
|||
} |
|||
&__menu-icon { |
|||
margin-right: 0; |
|||
font-size: 18px; |
|||
} |
|||
} |
|||
.aui-content { |
|||
overflow: hidden; |
|||
&__wrapper { |
|||
margin-left: $sidebar--width-fold; |
|||
} |
|||
&--tabs > .el-tabs > .el-tabs__header { |
|||
left: $sidebar--width-fold; |
|||
} |
|||
} |
|||
} |
|||
|
|||
|
|||
/* Navbar |
|||
------------------------------ */ |
|||
.aui-navbar { |
|||
position: fixed; |
|||
top: 0; |
|||
right: 0; |
|||
left: 0; |
|||
z-index: 1030; |
|||
display: flex; |
|||
align-items: stretch; |
|||
height: $navbar--height; |
|||
background-color: $--color-primary; |
|||
box-shadow: 0 1px 0 0 rgba(0, 0, 0, .05); |
|||
&--colorful { |
|||
.aui-navbar__body { |
|||
background-color: transparent; |
|||
} |
|||
.aui-navbar__menu { |
|||
> .el-menu-item, |
|||
> .el-submenu > .el-submenu__title { |
|||
color: #fff; |
|||
&:focus, |
|||
&:hover { |
|||
color: #fff; |
|||
background-color: mix(#000, $--color-primary, 15%); |
|||
} |
|||
} |
|||
> .el-menu-item.is-active, |
|||
> .el-submenu.is-active > .el-submenu__title { |
|||
color: #fff; |
|||
&:focus, |
|||
&:hover { |
|||
color: #fff; |
|||
} |
|||
} |
|||
.el-menu-item i, |
|||
.el-submenu__title i, |
|||
.el-menu-item svg, |
|||
.el-submenu__title svg, |
|||
.el-menu-item .el-dropdown { |
|||
color: #fff !important; |
|||
} |
|||
.el-button { |
|||
color: #fff; |
|||
background-color: transparent; |
|||
} |
|||
} |
|||
.aui-navbar__search { |
|||
&-txt { |
|||
.el-input__inner { |
|||
color: #fff; |
|||
border-color: #fff; |
|||
&::-webkit-input-placeholder { |
|||
color: #fff; |
|||
} |
|||
} |
|||
} |
|||
} |
|||
} |
|||
&__header { |
|||
position: relative; |
|||
width: $sidebar--width; |
|||
height: $navbar--height; |
|||
transition: width .3s; |
|||
// background-color: #4a4e53; |
|||
background-color: #0b182e; |
|||
} |
|||
&__brand { |
|||
display: flex; |
|||
justify-content: center; |
|||
align-items: center; |
|||
padding: 5px; |
|||
margin: 0; |
|||
width: 100%; |
|||
height: 100%; |
|||
font-size: 20px; |
|||
text-transform: uppercase; |
|||
white-space: nowrap; |
|||
color: #fff; |
|||
overflow: hidden; |
|||
transition: width .3s; |
|||
&-lg, |
|||
&-mini { |
|||
max-width: 100%; |
|||
color: #fff; |
|||
cursor: pointer; |
|||
&:focus, |
|||
&:hover { |
|||
color: #fff; |
|||
text-decoration: none; |
|||
} |
|||
} |
|||
&-mini { |
|||
display: none; |
|||
} |
|||
} |
|||
&__body { |
|||
position: relative; |
|||
display: flex; |
|||
flex: 1; |
|||
background-color: #fff; |
|||
overflow: hidden; |
|||
} |
|||
&__menu { |
|||
background-color: transparent; |
|||
border-bottom: 0 !important; |
|||
a:focus, |
|||
a:hover { |
|||
text-decoration: none; |
|||
} |
|||
.el-menu-item, |
|||
.el-submenu > .el-submenu__title { |
|||
height: $navbar--height; |
|||
padding: 0 15px; |
|||
line-height: $navbar--height; |
|||
border-color: transparent !important; |
|||
} |
|||
.el-menu-item.is-active, |
|||
.el-submenu.is-active > .el-submenu__title { |
|||
color: $--color-text-secondary; |
|||
&:focus, |
|||
&:hover { |
|||
color: $--color-text-primary; |
|||
} |
|||
} |
|||
.el-menu-item { |
|||
&:focus, |
|||
&:hover { |
|||
.aui-navbar__icon-menu { |
|||
color: $--color-text-primary; |
|||
} |
|||
.el-dropdown { |
|||
color: $--color-text-primary; |
|||
.el-icon-arrow-down { |
|||
transform: rotateZ(180deg); |
|||
} |
|||
} |
|||
} |
|||
* { |
|||
vertical-align: initial; |
|||
} |
|||
.aui-navbar__icon-menu { |
|||
vertical-align: middle; |
|||
font-size: 16px; |
|||
} |
|||
.el-dropdown { |
|||
color: $--color-text-secondary; |
|||
.el-icon-arrow-down { |
|||
width: auto; |
|||
font-size: 12px; |
|||
margin: 0 0 0 5px; |
|||
transition: transform .3s; |
|||
} |
|||
} |
|||
} |
|||
.el-badge { |
|||
display: inline; |
|||
z-index: 2; |
|||
&__content { |
|||
line-height: 16px; |
|||
} |
|||
} |
|||
} |
|||
&__search { |
|||
> *[class*="el-icon-"], |
|||
> *[class*="icon"] { |
|||
display: inline-block; |
|||
vertical-align: middle; |
|||
} |
|||
&-txt { |
|||
width: 0; |
|||
transition: width .3s, margin-left .3s; |
|||
&.is-show { |
|||
width: 210px; |
|||
margin-left: 8px; |
|||
} |
|||
.el-input__inner { |
|||
height: $navbar--height - 20px; |
|||
padding: 0; |
|||
line-height: $navbar--height - 20px; |
|||
border-color: $--color-text-primary; |
|||
border-top: 0; |
|||
border-right: 0; |
|||
border-left: 0; |
|||
border-radius: 0; |
|||
background: transparent; |
|||
} |
|||
} |
|||
} |
|||
&__avatar { |
|||
.el-dropdown-link { |
|||
> img { |
|||
width: 36px; |
|||
height: auto; |
|||
margin-right: 5px; |
|||
border-radius: 100%; |
|||
vertical-align: middle; |
|||
} |
|||
} |
|||
} |
|||
} |
|||
|
|||
|
|||
/* Sidebar |
|||
------------------------------ */ |
|||
.aui-sidebar { |
|||
position: fixed; |
|||
top: 100px; |
|||
left: 0; |
|||
bottom: 0; |
|||
z-index: 1020; |
|||
width: $sidebar--width; |
|||
background-color: #fff; |
|||
box-shadow: 1px 0 2px 0 rgba(0, 0, 0, .05); |
|||
overflow: hidden; |
|||
transition: width .3s; |
|||
&--dark { |
|||
background-color: $sidebar--background-color-dark; |
|||
.aui-sidebar__menu, |
|||
> .el-menu--popup { |
|||
background-color: $sidebar--background-color-dark; |
|||
.el-menu-item, |
|||
.el-submenu > .el-submenu__title { |
|||
color: $sidebar--text-color-dark; |
|||
&:focus, |
|||
&:hover { |
|||
color: mix(#fff, $sidebar--text-color-dark, 50%); |
|||
background-color: mix(#fff, $sidebar--background-color-dark, 2.5%); |
|||
} |
|||
} |
|||
.el-menu, |
|||
.el-submenu.is-opened { |
|||
background-color: mix(#000, $sidebar--background-color-dark, 15%); |
|||
} |
|||
.el-menu-item.is-active, |
|||
.el-submenu.is-active > .el-submenu__title { |
|||
color: mix(#fff, $sidebar--text-color-dark, 80%); |
|||
} |
|||
} |
|||
} |
|||
&__inner { |
|||
position: relative; |
|||
z-index: 1; |
|||
width: $sidebar--width; |
|||
height: 100%; |
|||
padding-bottom: 15px; |
|||
overflow-x: hidden; |
|||
overflow-y: auto; |
|||
transition: width .3s; |
|||
} |
|||
&__menu { |
|||
width: $sidebar--width; |
|||
border-right: 0; |
|||
transition: width .3s; |
|||
.el-menu-item, |
|||
.el-submenu__title { |
|||
height: $sidebar--menu-item-height; |
|||
line-height: $sidebar--menu-item-height; |
|||
} |
|||
} |
|||
&__menu-icon { |
|||
display: inline-block; |
|||
vertical-align: middle; |
|||
width: 24px !important; |
|||
margin-right: 5px; |
|||
text-align: center; |
|||
font-size: 16px; |
|||
color: inherit !important; |
|||
transition: font-size .3s; |
|||
} |
|||
} |
|||
|
|||
|
|||
/* Content |
|||
------------------------------ */ |
|||
.aui-content { |
|||
position: relative; |
|||
padding: $content--padding; |
|||
height: calc(100vh - #{$navbar--height}); |
|||
&__wrapper { |
|||
position: relative; |
|||
margin-left: $sidebar--width; |
|||
min-height: calc(100vh - #{$navbar--height}); |
|||
background-color: $content--background-color; |
|||
transition: margin-left .3s; |
|||
} |
|||
> .aui-card--fill > .el-card__body { |
|||
min-height: calc(#{$content--fill-height} - 2px); |
|||
} |
|||
> .aui-card--fill > .el-card__header + .el-card__body { |
|||
min-height: calc(#{$content--fill-height} - #{$content--card-header-height} - 2px); |
|||
} |
|||
&--tabs { |
|||
padding: $content--tabs-header-height 0 0; |
|||
} |
|||
&--tabs-tools { |
|||
position: fixed; |
|||
top: $navbar--height; |
|||
right: 0; |
|||
z-index: 931; |
|||
min-width: $content--tabs-header-height; |
|||
height: $content--tabs-header-height; |
|||
padding: 0 12px; |
|||
text-align: center; |
|||
font-size: 16px; |
|||
line-height: $content--tabs-header-height; |
|||
background-color: $--background-color-base; |
|||
cursor: pointer; |
|||
} |
|||
&--tabs-icon-nav { |
|||
display: inline-block; |
|||
vertical-align: middle; |
|||
font-size: 16px; |
|||
} |
|||
> .el-tabs { |
|||
> .el-tabs__header { |
|||
position: fixed; |
|||
top: $navbar--height; |
|||
left: $sidebar--width; |
|||
right: 0; |
|||
z-index: 930; |
|||
padding: 0 55px 0 15px; |
|||
margin: 0; |
|||
box-shadow: 0 1px 2px 0 rgba(0, 0, 0, .05); |
|||
background-color: #fff; |
|||
transition: left .3s; |
|||
> .el-tabs__nav-wrap { |
|||
margin-bottom: 0; |
|||
&:after { |
|||
display: none; |
|||
} |
|||
> .el-tabs__nav-next, |
|||
> .el-tabs__nav-prev { |
|||
line-height: $content--tabs-header-height; |
|||
} |
|||
> .el-tabs__nav-scroll > .el-tabs__nav { |
|||
& > .el-tabs__active-bar { |
|||
display: none; |
|||
} |
|||
& > .el-tabs__item { |
|||
height: $content--tabs-header-height; |
|||
padding: 0 15px; |
|||
line-height: $content--tabs-header-height; |
|||
border: 0; |
|||
color: $--color-text-regular; |
|||
&:focus, |
|||
&:hover, |
|||
&.is-active { |
|||
color: $--color-text-primary; |
|||
background-color: $--background-color-base; |
|||
&:after { |
|||
display: block; |
|||
} |
|||
> .el-icon-close { |
|||
color: $--color-text-primary; |
|||
} |
|||
} |
|||
&:after { |
|||
display: none; |
|||
position: absolute; |
|||
bottom: 0; |
|||
left: 0; |
|||
content: ''; |
|||
width: 100%; |
|||
height: 2px; |
|||
background-color: $--color-primary; |
|||
} |
|||
+ .el-tabs__item { |
|||
margin-left: 1px; |
|||
} |
|||
> .el-icon-close { |
|||
width: 14px; |
|||
margin-left: 15px; |
|||
color: $--color-text-secondary; |
|||
} |
|||
> i.icon { |
|||
display: inline-block; |
|||
vertical-align: middle; |
|||
font-size: 18px; |
|||
} |
|||
} |
|||
} |
|||
} |
|||
} |
|||
> .el-tabs__content { |
|||
padding: $content--padding; |
|||
.el-loading-mask { |
|||
z-index: 830; |
|||
} |
|||
> .el-tab-pane { |
|||
min-height: calc(#{$content--fill-height-tabs}); |
|||
> .aui-card--fill > .el-card__body { |
|||
min-height: calc(#{$content--fill-height-tabs} - 2px); |
|||
} |
|||
> .aui-card--fill > .el-card__header + .el-card__body { |
|||
min-height: calc(#{$content--fill-height-tabs} - #{$content--card-header-height} - 2px); |
|||
} |
|||
&.is-iframe { |
|||
height: calc(#{$content--fill-height-tabs} + #{$content--padding * 2}); |
|||
margin: -$content--padding; |
|||
min-height: auto; |
|||
> .aui-card--fill { |
|||
background-color: transparent; |
|||
} |
|||
> .aui-card--fill > .el-card__header { |
|||
background-color: #fff; |
|||
} |
|||
> .aui-card--fill > .el-card__body { |
|||
height: calc(#{$content--fill-height-tabs} - 2px); |
|||
margin: $content--padding; |
|||
min-height: auto; |
|||
border: $--border-base; |
|||
border-color: $--border-color-lighter; |
|||
border-radius: $--border-radius-base; |
|||
background-color: #fff; |
|||
} |
|||
> .aui-card--fill > .el-card__header + .el-card__body { |
|||
height: calc(#{$content--fill-height-tabs} - #{$content--card-header-height} - 2px); |
|||
} |
|||
} |
|||
} |
|||
} |
|||
} |
|||
// quill富文本编辑器 |
|||
.ql-toolbar { |
|||
line-height: 20px; |
|||
&.ql-snow { |
|||
border-color: $--border-color-base; |
|||
} |
|||
.ql-formats { |
|||
margin: 0 5px; |
|||
} |
|||
} |
|||
.ql-container { |
|||
height: 150px; |
|||
&.ql-snow { |
|||
border-color: $--border-color-base; |
|||
} |
|||
} |
|||
} |
|||
|
|||
|
|||
/* Page |
|||
------------------------------ */ |
|||
*[class*="aui-page__"] { |
|||
padding-top: 0; |
|||
.aui-content { |
|||
min-height: auto; |
|||
&__wrapper { |
|||
min-height: 100vh; |
|||
margin-left: 0; |
|||
} |
|||
> .aui-card--fill > .el-card__body { |
|||
min-height: calc(100vh - #{$content--padding * 2} - 2px); |
|||
} |
|||
> .aui-card--fill > .el-card__header + .el-card__body { |
|||
min-height: calc(100vh - #{$content--padding * 2} - #{$content--card-header-height} - 2px); |
|||
} |
|||
} |
|||
} |
|||
|
|||
|
|||
// 追加 |
|||
|
|||
// .el-dialog .el-form-item__content{ |
|||
// padding-right: 60px; |
|||
// } |
|||
|
|||
// .el-dialog{ |
|||
// margin-top: 3vh !important; |
|||
// } |
|||
|
|||
.el-dialog__body{ |
|||
padding:5px 20px; |
|||
} |
|||
|
|||
.el-pagination.is-background .el-pager li:not(.disabled).active { |
|||
color: #409eff; |
|||
border: 1px solid #409eff; |
|||
} |
|||
.el-pagination { |
|||
font-weight: 400; |
|||
} |
|||
.el-pagination.is-background .btn-next, |
|||
.el-pagination.is-background .btn-prev, |
|||
.el-pagination.is-background .el-pager li { |
|||
background-color: #fff !important; |
|||
border: 1px solid #d9d9d9; |
|||
} |
|||
|
|||
// 全选反选footer样式 |
|||
.footer-left { |
|||
display: flex; |
|||
align-items: center; |
|||
left: 64px !important; |
|||
} |
|||
.footer { |
|||
width: 100%; |
|||
position: fixed; |
|||
bottom: 0; |
|||
left: $sidebar--width; |
|||
height: 48px; |
|||
line-height: 48px; |
|||
padding-left: 24px; |
|||
background-color: #fff; |
|||
display: flex; |
|||
justify-content: space-between; |
|||
box-shadow: 0px -2px 15px -8px rgba(0, 0, 0, 0.25); |
|||
z-index: 999; |
|||
.el-checkbox { |
|||
margin-right: 20px; |
|||
} |
|||
.footer-right { |
|||
display: flex; |
|||
position: fixed; |
|||
right: 25px; |
|||
.checked { |
|||
font-size: 14px; |
|||
.number { |
|||
color: #1890ff; |
|||
padding: 0 5px; |
|||
} |
|||
} |
|||
.cancel { |
|||
color: #1890ff; |
|||
padding-left: 8px; |
|||
cursor: pointer; |
|||
} |
|||
.batch_button { |
|||
margin-left:6px; |
|||
} |
|||
} |
|||
} |
|||
|
|||
// 表格 |
|||
.el-table th > .cell { |
|||
padding-left: 14px; |
|||
} |
|||
|
|||
// el滚动条 |
|||
.el-scrollbar__wrap { |
|||
overflow-x: hidden; |
|||
margin-bottom: 0 !important; |
|||
} |
|||
|
|||
|
|||
/*定义滚动条高宽及背景 高宽分别对应横竖滚动条的尺寸*/ |
|||
::-webkit-scrollbar { |
|||
width: 6px; /*滚动条宽度*/ |
|||
height: 8px; /*滚动条高度*/ |
|||
background-color: rgb(224, 223, 223,.2); |
|||
} |
|||
|
|||
/*定义滑块 内阴影+圆角*/ |
|||
::-webkit-scrollbar-thumb { |
|||
-webkit-box-shadow: inset 0 0 0px white; |
|||
background-color: rgb(193, 193, 193,.2); /*滚动条的背景颜色*/ |
|||
border-radius: 30px; |
|||
} |
|||
|
|||
// 面包屑 |
|||
.el-menu-item { |
|||
display: flex; |
|||
align-items: center; |
|||
} |
|||
.el-breadcrumb__inner a, .el-breadcrumb__inner.is-link { |
|||
color: #fff; |
|||
} |
|||
.el-breadcrumb__inner { |
|||
color: #fff; |
|||
} |
|||
.el-breadcrumb__item:last-child .el-breadcrumb__inner, .el-breadcrumb__item:last-child .el-breadcrumb__inner a, .el-breadcrumb__item:last-child .el-breadcrumb__inner a:hover, .el-breadcrumb__item:last-child .el-breadcrumb__inner:hover { |
|||
color: #fff; |
|||
} |
|||
|
|||
.el-button--primary { |
|||
background-color:$button--color; |
|||
border-color:$button--color; |
|||
} |
|||
.el-checkbox__inner { |
|||
z-index: 0; |
|||
} |
|||
.el-table--border::after, .el-table--group::after, .el-table::before { |
|||
z-index: 0; |
|||
} |
|||
.el-table { |
|||
z-index: 0; |
|||
} |
|||
// tinymce编辑器源码区域可拖拽大小 |
|||
.tox-dialog__content-js textarea{ |
|||
resize: vertical; |
|||
min-height: 500px; |
|||
} |
|||
.circle-status { |
|||
width: 6px; |
|||
height: 6px; |
|||
border-radius: 50%; |
|||
margin-right: 5px; |
|||
display: inline-block; |
|||
} |
|||
.circle-blue { |
|||
background-color: #1890ff; |
|||
} |
|||
.circle-red { |
|||
background-color: #FF4D4F; |
|||
} |
|||
.circle-green { |
|||
background-color: #52c41a; |
|||
} |
|||
.circle-yellow { |
|||
background-color: #FAAD14; |
|||
} |
|||
.circle-grey { |
|||
background-color: #b8b8b8; |
|||
} |
@ -0,0 +1,15 @@ |
|||
.mod-home { |
|||
table { |
|||
width: 100%; |
|||
border: 1px solid $--border-color-lighter; |
|||
border-collapse: collapse; |
|||
th, |
|||
td { |
|||
padding: 12px 10px; |
|||
border: 1px solid $--border-color-lighter; |
|||
} |
|||
th { |
|||
width: 30%; |
|||
} |
|||
} |
|||
} |
@ -0,0 +1,447 @@ |
|||
/*! normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css */ |
|||
|
|||
/* Document |
|||
========================================================================== */ |
|||
|
|||
/** |
|||
* 1. Correct the line height in all browsers. |
|||
* 2. Prevent adjustments of font size after orientation changes in |
|||
* IE on Windows Phone and in iOS. |
|||
*/ |
|||
|
|||
html { |
|||
line-height: 1.15; /* 1 */ |
|||
-ms-text-size-adjust: 100%; /* 2 */ |
|||
-webkit-text-size-adjust: 100%; /* 2 */ |
|||
} |
|||
|
|||
/* Sections |
|||
========================================================================== */ |
|||
|
|||
/** |
|||
* Remove the margin in all browsers (opinionated). |
|||
*/ |
|||
|
|||
body { |
|||
margin: 0; |
|||
} |
|||
|
|||
/** |
|||
* Add the correct display in IE 9-. |
|||
*/ |
|||
|
|||
article, |
|||
aside, |
|||
footer, |
|||
header, |
|||
nav, |
|||
section { |
|||
display: block; |
|||
} |
|||
|
|||
/** |
|||
* Correct the font size and margin on `h1` elements within `section` and |
|||
* `article` contexts in Chrome, Firefox, and Safari. |
|||
*/ |
|||
|
|||
h1 { |
|||
font-size: 2em; |
|||
margin: 0.67em 0; |
|||
} |
|||
|
|||
/* Grouping content |
|||
========================================================================== */ |
|||
|
|||
/** |
|||
* Add the correct display in IE 9-. |
|||
* 1. Add the correct display in IE. |
|||
*/ |
|||
|
|||
figcaption, |
|||
figure, |
|||
main { /* 1 */ |
|||
display: block; |
|||
} |
|||
|
|||
/** |
|||
* Add the correct margin in IE 8. |
|||
*/ |
|||
|
|||
figure { |
|||
margin: 1em 40px; |
|||
} |
|||
|
|||
/** |
|||
* 1. Add the correct box sizing in Firefox. |
|||
* 2. Show the overflow in Edge and IE. |
|||
*/ |
|||
|
|||
hr { |
|||
box-sizing: content-box; /* 1 */ |
|||
height: 0; /* 1 */ |
|||
overflow: visible; /* 2 */ |
|||
} |
|||
|
|||
/** |
|||
* 1. Correct the inheritance and scaling of font size in all browsers. |
|||
* 2. Correct the odd `em` font sizing in all browsers. |
|||
*/ |
|||
|
|||
pre { |
|||
font-family: monospace, monospace; /* 1 */ |
|||
font-size: 1em; /* 2 */ |
|||
} |
|||
|
|||
/* Text-level semantics |
|||
========================================================================== */ |
|||
|
|||
/** |
|||
* 1. Remove the gray background on active links in IE 10. |
|||
* 2. Remove gaps in links underline in iOS 8+ and Safari 8+. |
|||
*/ |
|||
|
|||
a { |
|||
background-color: transparent; /* 1 */ |
|||
-webkit-text-decoration-skip: objects; /* 2 */ |
|||
} |
|||
|
|||
/** |
|||
* 1. Remove the bottom border in Chrome 57- and Firefox 39-. |
|||
* 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari. |
|||
*/ |
|||
|
|||
abbr[title] { |
|||
border-bottom: none; /* 1 */ |
|||
text-decoration: underline; /* 2 */ |
|||
text-decoration: underline dotted; /* 2 */ |
|||
} |
|||
|
|||
/** |
|||
* Prevent the duplicate application of `bolder` by the next rule in Safari 6. |
|||
*/ |
|||
|
|||
b, |
|||
strong { |
|||
font-weight: inherit; |
|||
} |
|||
|
|||
/** |
|||
* Add the correct font weight in Chrome, Edge, and Safari. |
|||
*/ |
|||
|
|||
b, |
|||
strong { |
|||
font-weight: bolder; |
|||
} |
|||
|
|||
/** |
|||
* 1. Correct the inheritance and scaling of font size in all browsers. |
|||
* 2. Correct the odd `em` font sizing in all browsers. |
|||
*/ |
|||
|
|||
code, |
|||
kbd, |
|||
samp { |
|||
font-family: monospace, monospace; /* 1 */ |
|||
font-size: 1em; /* 2 */ |
|||
} |
|||
|
|||
/** |
|||
* Add the correct font style in Android 4.3-. |
|||
*/ |
|||
|
|||
dfn { |
|||
font-style: italic; |
|||
} |
|||
|
|||
/** |
|||
* Add the correct background and color in IE 9-. |
|||
*/ |
|||
|
|||
mark { |
|||
background-color: #ff0; |
|||
color: #000; |
|||
} |
|||
|
|||
/** |
|||
* Add the correct font size in all browsers. |
|||
*/ |
|||
|
|||
small { |
|||
font-size: 80%; |
|||
} |
|||
|
|||
/** |
|||
* Prevent `sub` and `sup` elements from affecting the line height in |
|||
* all browsers. |
|||
*/ |
|||
|
|||
sub, |
|||
sup { |
|||
font-size: 75%; |
|||
line-height: 0; |
|||
position: relative; |
|||
vertical-align: baseline; |
|||
} |
|||
|
|||
sub { |
|||
bottom: -0.25em; |
|||
} |
|||
|
|||
sup { |
|||
top: -0.5em; |
|||
} |
|||
|
|||
/* Embedded content |
|||
========================================================================== */ |
|||
|
|||
/** |
|||
* Add the correct display in IE 9-. |
|||
*/ |
|||
|
|||
audio, |
|||
video { |
|||
display: inline-block; |
|||
} |
|||
|
|||
/** |
|||
* Add the correct display in iOS 4-7. |
|||
*/ |
|||
|
|||
audio:not([controls]) { |
|||
display: none; |
|||
height: 0; |
|||
} |
|||
|
|||
/** |
|||
* Remove the border on images inside links in IE 10-. |
|||
*/ |
|||
|
|||
img { |
|||
border-style: none; |
|||
} |
|||
|
|||
/** |
|||
* Hide the overflow in IE. |
|||
*/ |
|||
|
|||
svg:not(:root) { |
|||
overflow: hidden; |
|||
} |
|||
|
|||
/* Forms |
|||
========================================================================== */ |
|||
|
|||
/** |
|||
* 1. Change the font styles in all browsers (opinionated). |
|||
* 2. Remove the margin in Firefox and Safari. |
|||
*/ |
|||
|
|||
button, |
|||
input, |
|||
optgroup, |
|||
select, |
|||
textarea { |
|||
font-family: sans-serif; /* 1 */ |
|||
font-size: 100%; /* 1 */ |
|||
line-height: 1.15; /* 1 */ |
|||
margin: 0; /* 2 */ |
|||
} |
|||
|
|||
/** |
|||
* Show the overflow in IE. |
|||
* 1. Show the overflow in Edge. |
|||
*/ |
|||
|
|||
button, |
|||
input { /* 1 */ |
|||
overflow: visible; |
|||
} |
|||
|
|||
/** |
|||
* Remove the inheritance of text transform in Edge, Firefox, and IE. |
|||
* 1. Remove the inheritance of text transform in Firefox. |
|||
*/ |
|||
|
|||
button, |
|||
select { /* 1 */ |
|||
text-transform: none; |
|||
} |
|||
|
|||
/** |
|||
* 1. Prevent a WebKit bug where (2) destroys native `audio` and `video` |
|||
* controls in Android 4. |
|||
* 2. Correct the inability to style clickable types in iOS and Safari. |
|||
*/ |
|||
|
|||
button, |
|||
html [type="button"], /* 1 */ |
|||
[type="reset"], |
|||
[type="submit"] { |
|||
-webkit-appearance: button; /* 2 */ |
|||
} |
|||
|
|||
/** |
|||
* Remove the inner border and padding in Firefox. |
|||
*/ |
|||
|
|||
button::-moz-focus-inner, |
|||
[type="button"]::-moz-focus-inner, |
|||
[type="reset"]::-moz-focus-inner, |
|||
[type="submit"]::-moz-focus-inner { |
|||
border-style: none; |
|||
padding: 0; |
|||
} |
|||
|
|||
/** |
|||
* Restore the focus styles unset by the previous rule. |
|||
*/ |
|||
|
|||
button:-moz-focusring, |
|||
[type="button"]:-moz-focusring, |
|||
[type="reset"]:-moz-focusring, |
|||
[type="submit"]:-moz-focusring { |
|||
outline: 1px dotted ButtonText; |
|||
} |
|||
|
|||
/** |
|||
* Correct the padding in Firefox. |
|||
*/ |
|||
|
|||
fieldset { |
|||
padding: 0.35em 0.75em 0.625em; |
|||
} |
|||
|
|||
/** |
|||
* 1. Correct the text wrapping in Edge and IE. |
|||
* 2. Correct the color inheritance from `fieldset` elements in IE. |
|||
* 3. Remove the padding so developers are not caught out when they zero out |
|||
* `fieldset` elements in all browsers. |
|||
*/ |
|||
|
|||
legend { |
|||
box-sizing: border-box; /* 1 */ |
|||
color: inherit; /* 2 */ |
|||
display: table; /* 1 */ |
|||
max-width: 100%; /* 1 */ |
|||
padding: 0; /* 3 */ |
|||
white-space: normal; /* 1 */ |
|||
} |
|||
|
|||
/** |
|||
* 1. Add the correct display in IE 9-. |
|||
* 2. Add the correct vertical alignment in Chrome, Firefox, and Opera. |
|||
*/ |
|||
|
|||
progress { |
|||
display: inline-block; /* 1 */ |
|||
vertical-align: baseline; /* 2 */ |
|||
} |
|||
|
|||
/** |
|||
* Remove the default vertical scrollbar in IE. |
|||
*/ |
|||
|
|||
textarea { |
|||
overflow: auto; |
|||
} |
|||
|
|||
/** |
|||
* 1. Add the correct box sizing in IE 10-. |
|||
* 2. Remove the padding in IE 10-. |
|||
*/ |
|||
|
|||
[type="checkbox"], |
|||
[type="radio"] { |
|||
box-sizing: border-box; /* 1 */ |
|||
padding: 0; /* 2 */ |
|||
} |
|||
|
|||
/** |
|||
* Correct the cursor style of increment and decrement buttons in Chrome. |
|||
*/ |
|||
|
|||
[type="number"]::-webkit-inner-spin-button, |
|||
[type="number"]::-webkit-outer-spin-button { |
|||
height: auto; |
|||
} |
|||
|
|||
/** |
|||
* 1. Correct the odd appearance in Chrome and Safari. |
|||
* 2. Correct the outline style in Safari. |
|||
*/ |
|||
|
|||
[type="search"] { |
|||
-webkit-appearance: textfield; /* 1 */ |
|||
outline-offset: -2px; /* 2 */ |
|||
} |
|||
|
|||
/** |
|||
* Remove the inner padding and cancel buttons in Chrome and Safari on macOS. |
|||
*/ |
|||
|
|||
[type="search"]::-webkit-search-cancel-button, |
|||
[type="search"]::-webkit-search-decoration { |
|||
-webkit-appearance: none; |
|||
} |
|||
|
|||
/** |
|||
* 1. Correct the inability to style clickable types in iOS and Safari. |
|||
* 2. Change font properties to `inherit` in Safari. |
|||
*/ |
|||
|
|||
::-webkit-file-upload-button { |
|||
-webkit-appearance: button; /* 1 */ |
|||
font: inherit; /* 2 */ |
|||
} |
|||
|
|||
/* Interactive |
|||
========================================================================== */ |
|||
|
|||
/* |
|||
* Add the correct display in IE 9-. |
|||
* 1. Add the correct display in Edge, IE, and Firefox. |
|||
*/ |
|||
|
|||
details, /* 1 */ |
|||
menu { |
|||
display: block; |
|||
} |
|||
|
|||
/* |
|||
* Add the correct display in all browsers. |
|||
*/ |
|||
|
|||
summary { |
|||
display: list-item; |
|||
} |
|||
|
|||
/* Scripting |
|||
========================================================================== */ |
|||
|
|||
/** |
|||
* Add the correct display in IE 9-. |
|||
*/ |
|||
|
|||
canvas { |
|||
display: inline-block; |
|||
} |
|||
|
|||
/** |
|||
* Add the correct display in IE. |
|||
*/ |
|||
|
|||
template { |
|||
display: none; |
|||
} |
|||
|
|||
/* Hidden |
|||
========================================================================== */ |
|||
|
|||
/** |
|||
* Add the correct display in IE 10-. |
|||
*/ |
|||
|
|||
[hidden] { |
|||
display: none; |
|||
} |
@ -0,0 +1,48 @@ |
|||
.aui-page__not-found { |
|||
.aui-content { |
|||
display: flex; |
|||
flex-flow: column wrap; |
|||
align-items: center; |
|||
min-height: 100vh; |
|||
padding: 15% 50px 50px; |
|||
text-align: center; |
|||
&__wrapper { |
|||
height: 100vh; |
|||
background-color: transparent; |
|||
overflow-x: hidden; |
|||
overflow-y: auto; |
|||
} |
|||
} |
|||
.title { |
|||
margin: 0 0 15px; |
|||
font-size: 10em; |
|||
font-weight: 400; |
|||
color: $--color-text-regular; |
|||
} |
|||
.desc { |
|||
margin: 0 0 20px; |
|||
font-size: 26px; |
|||
color: $--color-text-secondary; |
|||
> em { |
|||
margin: 0 5px; |
|||
font-style: normal; |
|||
color: $--color-warning; |
|||
} |
|||
} |
|||
.btn-bar .el-button { |
|||
margin: 0 15px; |
|||
} |
|||
} |
|||
@media (max-width: 767px) { |
|||
.aui-page__not-found { |
|||
.title { |
|||
font-size: 8em; |
|||
} |
|||
.desc { |
|||
font-size: 20px; |
|||
} |
|||
.btn-bar .el-button { |
|||
margin: 0 7.5px; |
|||
} |
|||
} |
|||
} |
@ -0,0 +1,268 @@ |
|||
.aui-page__login { |
|||
&::before, |
|||
&::after { |
|||
position: absolute; |
|||
top: 0; |
|||
right: 0; |
|||
bottom: 0; |
|||
left: 0; |
|||
z-index: -1; |
|||
content: ""; |
|||
} |
|||
&::before { |
|||
background-image: url(~@/assets/img/login_bg.png); |
|||
background-size: cover; |
|||
} |
|||
&::after { |
|||
background-color: rgba(38, 50, 56, .4); |
|||
} |
|||
.aui-content { |
|||
display: flex; |
|||
flex-flow: column wrap; |
|||
justify-content: center; |
|||
align-items: center; |
|||
min-height: 100vh; |
|||
// padding: 50px 20px 150px; |
|||
text-align: center; |
|||
&__wrapper { |
|||
height: 100vh; |
|||
background-color: transparent; |
|||
overflow-x: hidden; |
|||
overflow-y: auto; |
|||
} |
|||
} |
|||
|
|||
// $login_brand_width:550px;//系统名 |
|||
// $login_body_width:550px;//登录框 |
|||
// $login_left_offset:200px;//偏移量 |
|||
|
|||
// $login_width_total: $login_brand_width + $login_body_width; |
|||
// $login_left:$login_width_total+$login_left_offset; |
|||
// $left_brand: calc(100% - #{$login_left}); |
|||
|
|||
.login-header { |
|||
position: absolute; |
|||
// left: $left_brand; |
|||
left:100px; |
|||
top: calc(50% - 200px); |
|||
|
|||
.login-brand { |
|||
position: absolute; |
|||
margin: 30px 0; |
|||
width: 550px; |
|||
height: 140px; |
|||
left: 0px; |
|||
top: 0px; |
|||
font-family: Source Han Sans SC; |
|||
font-style: normal; |
|||
font-weight: 600; |
|||
font-size: 80px; |
|||
line-height: 140px; |
|||
text-transform: uppercase; |
|||
text-align: left; |
|||
color: #FFFFFF; |
|||
text-shadow: 0px 6.23656px 6.23656px rgba(0, 0, 0, 0.25); |
|||
} |
|||
|
|||
.login-brand_en { |
|||
position: absolute; |
|||
width: 690px; |
|||
/* height: 186px; */ |
|||
/* left: 2px; */ |
|||
top: 201px; |
|||
font-family: Source Han Sans SC; |
|||
font-style: normal; |
|||
font-weight: normal; |
|||
font-size: 50px; |
|||
line-height: 80px; |
|||
text-transform: uppercase; |
|||
text-align: left; |
|||
color: #FFFFFF; |
|||
} |
|||
|
|||
.login-intro { |
|||
padding: 0; |
|||
margin: 0; |
|||
list-style: none; |
|||
> li { |
|||
font-size: 16px; |
|||
line-height: 1.5; |
|||
color: rgba(255, 255, 255, .6); |
|||
& + li { |
|||
margin-top: 5px; |
|||
} |
|||
} |
|||
} |
|||
} |
|||
.login-body, |
|||
.login-footer { |
|||
width: 460px; |
|||
} |
|||
.login-body { |
|||
position: absolute; |
|||
left: calc(100% - 550px); |
|||
top: calc(50% - 150px); |
|||
box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.04), 0px 0px 2px rgba(0, 0, 0, 0.06), 0px 0px 1px rgba(0, 0, 0, 0.04); |
|||
border-radius: 8px; |
|||
|
|||
padding: 20px 30px; |
|||
background: #FFFFFF; |
|||
|
|||
.login-title { |
|||
text-align: left; |
|||
font-size: 20px; |
|||
font-weight: 600; |
|||
} |
|||
.el-input__prefix .el-input__icon { |
|||
font-size: 16px; |
|||
} |
|||
.login-captcha { |
|||
height: $--input-height; |
|||
line-height: $--input-height -2px; |
|||
> img { |
|||
max-width: 100%; |
|||
cursor: pointer; |
|||
} |
|||
} |
|||
.login-shortcut { |
|||
margin-bottom: 20px; |
|||
&__title { |
|||
position: relative; |
|||
margin: 0 0 15px; |
|||
font-weight: 400; |
|||
|
|||
&::before { |
|||
position: absolute; |
|||
top: 50%; |
|||
right: 0; |
|||
left: 0; |
|||
z-index: 1; |
|||
content: ""; |
|||
height: 1px; |
|||
margin-top: -.5px; |
|||
background-color: $--border-color-base; |
|||
overflow: hidden; |
|||
} |
|||
> span { |
|||
position: relative; |
|||
z-index: 2; |
|||
padding: 0 20px; |
|||
color: rgba(0, 0, 0, .3); |
|||
background-color: #fff; |
|||
} |
|||
} |
|||
&__list { |
|||
padding: 0; |
|||
margin: 0; |
|||
list-style: none; |
|||
font-size: 0; |
|||
> li { |
|||
display: inline-block; |
|||
vertical-align: middle; |
|||
margin: 0 10px; |
|||
font-size: 28px; |
|||
} |
|||
} |
|||
} |
|||
.login-guide { |
|||
color: rgba(0, 0, 0, .3); |
|||
} |
|||
} |
|||
.login-footer { |
|||
position: absolute; |
|||
bottom: 0; |
|||
padding: 20px; |
|||
color: rgba(255, 255, 255, .6); |
|||
p { |
|||
margin: 10px 0; |
|||
} |
|||
a { |
|||
padding: 0 5px; |
|||
color: rgba(255, 255, 255, .6); |
|||
&:focus, |
|||
&:hover { |
|||
color: #fff; |
|||
} |
|||
} |
|||
} |
|||
// 右侧垂直风格 |
|||
&--right-vertical { |
|||
.aui-content { |
|||
flex-flow: row nowrap; |
|||
justify-content: flex-start; |
|||
align-items: stretch; |
|||
padding: 0; |
|||
} |
|||
.login-header { |
|||
flex: 1; |
|||
display: flex; |
|||
flex-flow: column wrap; |
|||
justify-content: center; |
|||
padding: 30px 120px; |
|||
text-align: left; |
|||
} |
|||
.login-body { |
|||
position: relative; |
|||
display: flex; |
|||
flex-flow: column wrap; |
|||
justify-content: center; |
|||
padding: 120px 30px 150px; |
|||
text-align: center; |
|||
.login-guide { |
|||
margin-top: 0; |
|||
} |
|||
} |
|||
.login-footer { |
|||
right: 0; |
|||
color: $--color-text-regular; |
|||
a { |
|||
color: $--color-text-regular; |
|||
&:focus, |
|||
&:hover { |
|||
color: $--color-primary; |
|||
} |
|||
} |
|||
} |
|||
} |
|||
} |
|||
|
|||
@media (max-width: 991px) { |
|||
.aui-page__login { |
|||
&--right-vertical { |
|||
.login-header { |
|||
padding: 30px; |
|||
} |
|||
} |
|||
} |
|||
} |
|||
@media (max-width: 767px) { |
|||
.aui-page__login { |
|||
&--right-vertical { |
|||
.login-header { |
|||
.login-brand, |
|||
.login-intro { |
|||
display: none; |
|||
} |
|||
} |
|||
} |
|||
} |
|||
} |
|||
@media (max-width: 575px) { |
|||
.aui-page__login { |
|||
.login-body, |
|||
.login-footer { |
|||
width: 100%; |
|||
} |
|||
.login-captcha { |
|||
text-align: left; |
|||
> img { |
|||
width: 136px; |
|||
} |
|||
} |
|||
&--right-vertical { |
|||
.login-header { |
|||
display: none; |
|||
} |
|||
} |
|||
} |
|||
} |