Commit eada8a3e by leic

主题修改功能添加

1 parent 03b5f939
...@@ -14,9 +14,10 @@ module.exports = { ...@@ -14,9 +14,10 @@ module.exports = {
// 代理列表, 是否开启代理通过[./dev.env.js]配置 // 代理列表, 是否开启代理通过[./dev.env.js]配置
proxyTable: devEnv.OPEN_PROXY === false ? {} : { proxyTable: devEnv.OPEN_PROXY === false ? {} : {
'/proxyApi': { '/proxyApi': {
// target: 'http://192.168.0.119:8182/sqx_fast/', target: 'http://1.12.76.77:8181/sqx_fast/',
target: 'https://admin.sj088.cn/sqx_fast/', // target: 'https://admin.sj088.cn/sqx_fast/',
changeOrigin: true, changeOrigin: true,
logLevel: 'debug',
pathRewrite: { pathRewrite: {
'^/proxyApi': '' '^/proxyApi': ''
} }
......
var gulp = require('gulp'); var gulp = require('gulp');
var cleanCSS = require('gulp-clean-css')
var cssWrap = require('gulp-css-wrap')
var merge = require('merge-stream');
var $ = require('gulp-load-plugins')(); var $ = require('gulp-load-plugins')();
var path = require('path'); var path = require('path');
var del = require('del'); var del = require('del');
...@@ -64,3 +67,20 @@ gulp.task('default', ['clean'], function () { ...@@ -64,3 +67,20 @@ gulp.task('default', ['clean'], function () {
del([`${distPath}/static`, `${versionPath}/static/config`]) del([`${distPath}/static`, `${versionPath}/static/config`])
}) })
}); });
// 名为themeTask的任务
gulp.task('themetask', function () {
//主题1
var theme_0BB2D4 = gulp.src(path.resolve('./src/element-ui-theme/element-#0BB2D4/index.css')) // 需要添加类名的css文件,支持正则表达式
.pipe(cssWrap({ selector: '.theme_0BB2D4' })) // 添加的类名
.pipe(cleanCSS())
.pipe(gulp.dest('./src/assets/theme/theme_0BB2D4'));// 生成的css文件存放的目录
//主题2
var theme_3E8EF7 = gulp.src(path.resolve('./src/element-ui-theme/element-#3E8EF7/index.css')) // 需要添加类名的css文件,支持正则表达式
.pipe(cssWrap({ selector: '.theme_3E8EF7' })) // 添加的类名
.pipe(cleanCSS())
.pipe(gulp.dest('./src/assets/theme/theme_3E8EF7'));// 生成的css文件存放的目录
return merge(theme_0BB2D4, theme_3E8EF7);
})
<!DOCTYPE html> <!DOCTYPE html>
<html lang="zh-CN"> <html lang="zh-CN">
<head> <head>
<meta charset="UTF-8"> <meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge"> <meta http-equiv="X-UA-Compatible" content="ie=edge">
<!-- <script type="text/javascript" src="//api.map.baidu.com/api?v=2.0&ak=miP4RMG1yZoROVRSqTPghvUaRb68iGUB"></script> --> <!-- <script type="text/javascript" src="//api.map.baidu.com/api?v=2.0&ak=miP4RMG1yZoROVRSqTPghvUaRb68iGUB"></script> -->
<title>裹裹快递上门取件寄快递系统</title> <title>裹裹快递上门取件寄快递系统</title>
<% if (process.env.NODE_ENV === 'production') { %> <% if (process.env.NODE_ENV==='production' ) { %>
<!-- 生产环境 --> <!-- 生产环境 -->
<script>document.write('<script src="./config/index.js?t=' + new Date().getTime() + '"><\/script>');</script> <script>document.write('<script src="./config/index.js?t=' + new Date().getTime() + '"><\/script>');</script>
<link rel="shortcut icon" type="image/x-icon" href="./static/img/favicon.ico">
<script src="./static/config/index.js"></script>
<script src="./static/plugins/mock-1.0.0-beta3/mock-min.js"></script>
<script src="./static/plugins/echarts-3.8.5/echarts.common.min.js"></script>
<script src="./static/plugins/ueditor-1.4.3.3/ueditor.config.js"></script>
<script src="./static/plugins/ueditor-1.4.3.3/ueditor.all.min.js"></script>
<script src="./static/plugins/ueditor-1.4.3.3/lang/zh-cn/zh-cn.js"></script>
<script charset="utf-8" src="https://map.qq.com/api/js?v=2.exp&key=SZWBZ-QDWC3-M233R-YDXW5-TZT7Q-S4FJ7"></script>
<script src="https://map.qq.com/api/gljs?v=1.exp&key=SZWBZ-QDWC3-M233R-YDXW5-TZT7Q-S4FJ7"></script>
<script src="https://3gimg.qq.com/lightmap/components/geolocation/geolocation.min.js"></script>
<% }else { %>
<!-- 开发环境 -->
<link rel="shortcut icon" type="image/x-icon" href="./static/img/favicon.ico"> <link rel="shortcut icon" type="image/x-icon" href="./static/img/favicon.ico">
<script src="./static/config/index.js"></script> <script src="./static/config/index.js"></script>
<script src="./static/plugins/mock-1.0.0-beta3/mock-min.js"></script> <script src="./static/plugins/mock-1.0.0-beta3/mock-min.js"></script>
...@@ -28,12 +17,33 @@ ...@@ -28,12 +17,33 @@
<script src="./static/plugins/ueditor-1.4.3.3/ueditor.config.js"></script> <script src="./static/plugins/ueditor-1.4.3.3/ueditor.config.js"></script>
<script src="./static/plugins/ueditor-1.4.3.3/ueditor.all.min.js"></script> <script src="./static/plugins/ueditor-1.4.3.3/ueditor.all.min.js"></script>
<script src="./static/plugins/ueditor-1.4.3.3/lang/zh-cn/zh-cn.js"></script> <script src="./static/plugins/ueditor-1.4.3.3/lang/zh-cn/zh-cn.js"></script>
<script charset="utf-8" src="https://map.qq.com/api/js?v=2.exp&key=SZWBZ-QDWC3-M233R-YDXW5-TZT7Q-S4FJ7"></script> <script charset="utf-8" src="https://map.qq.com/api/js?v=2.exp&key=SZWBZ-QDWC3-M233R-YDXW5-TZT7Q-S4FJ7"></script>
<script src="https://map.qq.com/api/gljs?v=1.exp&key=SZWBZ-QDWC3-M233R-YDXW5-TZT7Q-S4FJ7"></script> <script src="https://map.qq.com/api/gljs?v=1.exp&key=SZWBZ-QDWC3-M233R-YDXW5-TZT7Q-S4FJ7"></script>
<script src="https://3gimg.qq.com/lightmap/components/geolocation/geolocation.min.js"></script> <script src="https://3gimg.qq.com/lightmap/components/geolocation/geolocation.min.js"></script>
<% } %> <% }else { %>
<!-- 开发环境 -->
<link rel="shortcut icon" type="image/x-icon" href="./static/img/favicon.ico">
<script src="./static/config/index.js"></script>
<script src="./static/plugins/mock-1.0.0-beta3/mock-min.js"></script>
<script src="./static/plugins/echarts-3.8.5/echarts.common.min.js"></script>
<script src="./static/plugins/ueditor-1.4.3.3/ueditor.config.js"></script>
<script src="./static/plugins/ueditor-1.4.3.3/ueditor.all.min.js"></script>
<script src="./static/plugins/ueditor-1.4.3.3/lang/zh-cn/zh-cn.js"></script>
<script charset="utf-8" src="https://map.qq.com/api/js?v=2.exp&key=SZWBZ-QDWC3-M233R-YDXW5-TZT7Q-S4FJ7"></script>
<script src="https://map.qq.com/api/gljs?v=1.exp&key=SZWBZ-QDWC3-M233R-YDXW5-TZT7Q-S4FJ7"></script>
<script src="https://3gimg.qq.com/lightmap/components/geolocation/geolocation.min.js"></script>
<% } %>
<script type="text/javascript">
const isDev = true
const mainHost = isDev ? 'kuaidi.ledianyun.com' : document.domain.substring(document.domain.indexOf('.') + 1);
// const mainHost = location.hostname.substring(location.hostname.indexOf('.') + 1);
const configUrl = 'https://api.ledianyun.com/tool/config/detail?k=' + mainHost + '&appid=lestore&showWay=jsonp&type=lestore_webpc&env=dev';
document.write('<script src="' + configUrl + '"><\/script>');
</script>
</head> </head>
<body> <body>
<div id="app"></div> <div id="app"></div>
</body> </body>
</html>
</html>
\ No newline at end of file
...@@ -183,6 +183,15 @@ ...@@ -183,6 +183,15 @@
"integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=",
"dev": true "dev": true
}, },
"ansi-colors": {
"version": "1.1.0",
"resolved": "https://registry.npmmirror.com/ansi-colors/-/ansi-colors-1.1.0.tgz",
"integrity": "sha512-SFKX67auSNoVR38N3L+nvsPjOE0bybKTYbkf5tRvushrAPQ9V75huw0ZxBkKVeRU9kqH3d6HA4xTckbwZ4ixmA==",
"dev": true,
"requires": {
"ansi-wrap": "^0.1.0"
}
},
"ansi-cyan": { "ansi-cyan": {
"version": "0.1.1", "version": "0.1.1",
"resolved": "https://registry.npmjs.org/ansi-cyan/-/ansi-cyan-0.1.1.tgz", "resolved": "https://registry.npmjs.org/ansi-cyan/-/ansi-cyan-0.1.1.tgz",
...@@ -261,8 +270,9 @@ ...@@ -261,8 +270,9 @@
}, },
"archy": { "archy": {
"version": "1.0.0", "version": "1.0.0",
"resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz", "resolved": "https://registry.npmmirror.com/archy/-/archy-1.0.0.tgz",
"integrity": "sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=" "integrity": "sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw==",
"dev": true
}, },
"are-we-there-yet": { "are-we-there-yet": {
"version": "1.1.5", "version": "1.1.5",
...@@ -331,13 +341,15 @@ ...@@ -331,13 +341,15 @@
}, },
"array-differ": { "array-differ": {
"version": "1.0.0", "version": "1.0.0",
"resolved": "https://registry.npmjs.org/array-differ/-/array-differ-1.0.0.tgz", "resolved": "https://registry.npmmirror.com/array-differ/-/array-differ-1.0.0.tgz",
"integrity": "sha1-7/UuN1gknTO+QCuLuOVkuytdQDE=" "integrity": "sha512-LeZY+DZDRnvP7eMuQ6LHfCzUGxAAIViUBliK24P3hWXL6y4SortgR6Nim6xrkfSLlmH0+k+9NYNwVC2s53ZrYQ==",
"dev": true
}, },
"array-each": { "array-each": {
"version": "1.0.1", "version": "1.0.1",
"resolved": "https://registry.npmjs.org/array-each/-/array-each-1.0.1.tgz", "resolved": "https://registry.npmmirror.com/array-each/-/array-each-1.0.1.tgz",
"integrity": "sha1-p5SvDAWrF1KEbudTofIRoFugxE8=" "integrity": "sha512-zHjL5SZa68hkKHBFBK6DJCTtr9sfTCPCaph/L7tMSLcTFgy+zX7E+6q5UArbtOtMBCtxdICpfTCspRse+ywyXA==",
"dev": true
}, },
"array-equal": { "array-equal": {
"version": "1.0.0", "version": "1.0.0",
...@@ -372,8 +384,9 @@ ...@@ -372,8 +384,9 @@
}, },
"array-slice": { "array-slice": {
"version": "1.1.0", "version": "1.1.0",
"resolved": "https://registry.npmjs.org/array-slice/-/array-slice-1.1.0.tgz", "resolved": "https://registry.npmmirror.com/array-slice/-/array-slice-1.1.0.tgz",
"integrity": "sha512-B1qMD3RBP7O8o0H2KbrXDyB0IccejMF15+87Lvlor12ONPRHP6gTjXMNkt/d3ZuOGbAe66hFmaCfECI24Ufp6w==" "integrity": "sha512-B1qMD3RBP7O8o0H2KbrXDyB0IccejMF15+87Lvlor12ONPRHP6gTjXMNkt/d3ZuOGbAe66hFmaCfECI24Ufp6w==",
"dev": true
}, },
"array-union": { "array-union": {
"version": "1.0.2", "version": "1.0.2",
...@@ -387,7 +400,8 @@ ...@@ -387,7 +400,8 @@
"array-uniq": { "array-uniq": {
"version": "1.0.3", "version": "1.0.3",
"resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz",
"integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=" "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=",
"dev": true
}, },
"array-unique": { "array-unique": {
"version": "0.3.2", "version": "0.3.2",
...@@ -1628,7 +1642,8 @@ ...@@ -1628,7 +1642,8 @@
"balanced-match": { "balanced-match": {
"version": "1.0.0", "version": "1.0.0",
"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
"integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
"dev": true
}, },
"base": { "base": {
"version": "0.11.2", "version": "0.11.2",
...@@ -1703,8 +1718,9 @@ ...@@ -1703,8 +1718,9 @@
}, },
"beeper": { "beeper": {
"version": "1.1.1", "version": "1.1.1",
"resolved": "https://registry.npmjs.org/beeper/-/beeper-1.1.1.tgz", "resolved": "https://registry.npmmirror.com/beeper/-/beeper-1.1.1.tgz",
"integrity": "sha1-5tXqjF2tABMEpwsiY4RH9pyy+Ak=" "integrity": "sha512-3vqtKL1N45I5dV0RdssXZG7X6pCqQrWPNOlBPZPrd+QkE2HEhR57Z04m0KtpbsZH73j+a3F8UD1TQnn+ExTvIA==",
"dev": true
}, },
"big.js": { "big.js": {
"version": "5.2.2", "version": "5.2.2",
...@@ -1879,6 +1895,7 @@ ...@@ -1879,6 +1895,7 @@
"version": "1.1.11", "version": "1.1.11",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
"integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
"dev": true,
"requires": { "requires": {
"balanced-match": "^1.0.0", "balanced-match": "^1.0.0",
"concat-map": "0.0.1" "concat-map": "0.0.1"
...@@ -2623,7 +2640,8 @@ ...@@ -2623,7 +2640,8 @@
"clone": { "clone": {
"version": "1.0.4", "version": "1.0.4",
"resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz",
"integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=" "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=",
"dev": true
}, },
"clone-buffer": { "clone-buffer": {
"version": "1.0.0", "version": "1.0.0",
...@@ -2653,8 +2671,9 @@ ...@@ -2653,8 +2671,9 @@
}, },
"clone-stats": { "clone-stats": {
"version": "0.0.1", "version": "0.0.1",
"resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz", "resolved": "https://registry.npmmirror.com/clone-stats/-/clone-stats-0.0.1.tgz",
"integrity": "sha1-uI+UqCzzi4eR1YBG6kAprYjKmdE=" "integrity": "sha512-dhUqc57gSMCo6TX85FLfe51eC/s+Im2MLkAgJwfaRRexR2tA4dd3eLEW4L6efzHc2iNorrRRXITifnDLlRrhaA==",
"dev": true
}, },
"cloneable-readable": { "cloneable-readable": {
"version": "1.1.3", "version": "1.1.3",
...@@ -2847,7 +2866,8 @@ ...@@ -2847,7 +2866,8 @@
"concat-map": { "concat-map": {
"version": "0.0.1", "version": "0.0.1",
"resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
"integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
"dev": true
}, },
"concat-stream": { "concat-stream": {
"version": "1.6.2", "version": "1.6.2",
...@@ -3251,6 +3271,26 @@ ...@@ -3251,6 +3271,26 @@
"randomfill": "^1.0.3" "randomfill": "^1.0.3"
} }
}, },
"css": {
"version": "2.2.4",
"resolved": "https://registry.npmmirror.com/css/-/css-2.2.4.tgz",
"integrity": "sha512-oUnjmWpy0niI3x/mPL8dVEI1l7MnG3+HHyRPHf+YFSbK+svOhXpmSOcDURUh2aOCgl2grzrOPt1nHLuCVFULLw==",
"dev": true,
"requires": {
"inherits": "^2.0.3",
"source-map": "^0.6.1",
"source-map-resolve": "^0.5.2",
"urix": "^0.1.0"
},
"dependencies": {
"source-map": {
"version": "0.6.1",
"resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz",
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
"dev": true
}
}
},
"css-color-names": { "css-color-names": {
"version": "0.0.4", "version": "0.0.4",
"resolved": "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.4.tgz", "resolved": "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.4.tgz",
...@@ -3285,6 +3325,15 @@ ...@@ -3285,6 +3325,15 @@
} }
} }
}, },
"css-parse": {
"version": "2.0.0",
"resolved": "https://registry.npmmirror.com/css-parse/-/css-parse-2.0.0.tgz",
"integrity": "sha512-UNIFik2RgSbiTwIW1IsFwXWn6vs+bYdq83LKTSOsx7NJR7WII9dxewkHLltfTLVppoUApHV0118a4RZRI9FLwA==",
"dev": true,
"requires": {
"css": "^2.0.0"
}
},
"css-select": { "css-select": {
"version": "2.1.0", "version": "2.1.0",
"resolved": "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz", "resolved": "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz",
...@@ -3307,12 +3356,40 @@ ...@@ -3307,12 +3356,40 @@
"fastparse": "^1.1.2" "fastparse": "^1.1.2"
} }
}, },
"css-stringify": {
"version": "2.0.0",
"resolved": "https://registry.npmmirror.com/css-stringify/-/css-stringify-2.0.0.tgz",
"integrity": "sha512-ojAQfb3tnNEoNgZ3xhfJewI54h9n4QcTxAsaaaPGAnGe09PRrwU+D6aitH1NU6o0r94qiWBHHdoFpDVlRgDcew==",
"dev": true,
"requires": {
"css": "^2.0.0"
}
},
"css-what": { "css-what": {
"version": "3.4.2", "version": "3.4.2",
"resolved": "https://registry.npmjs.org/css-what/-/css-what-3.4.2.tgz", "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.4.2.tgz",
"integrity": "sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==", "integrity": "sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==",
"dev": true "dev": true
}, },
"css-wrap": {
"version": "0.1.0",
"resolved": "https://registry.npmmirror.com/css-wrap/-/css-wrap-0.1.0.tgz",
"integrity": "sha512-8R+N4QPCqa9KDBi3G4sPraVzGcssCuCKOXnZO82sEBVMqn3nU1SbXEKdq13PDkImzRcPW8iOtz69Ilmh3sJrNA==",
"dev": true,
"requires": {
"css-parse": "^2.0.0",
"css-stringify": "^2.0.0",
"deepmerge": "^0.2.10"
},
"dependencies": {
"deepmerge": {
"version": "0.2.10",
"resolved": "https://registry.npmmirror.com/deepmerge/-/deepmerge-0.2.10.tgz",
"integrity": "sha512-u75aE0uAUogoo2u7PIN44vUfITrmtABDgy58XY1U9JZpr/2Ghhib8Y/w0Btot3tgSXNZL4iy9ROMsQ3P0dhYvw==",
"dev": true
}
}
},
"cssesc": { "cssesc": {
"version": "3.0.0", "version": "3.0.0",
"resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz",
...@@ -3458,8 +3535,9 @@ ...@@ -3458,8 +3535,9 @@
}, },
"dateformat": { "dateformat": {
"version": "2.2.0", "version": "2.2.0",
"resolved": "https://registry.npmjs.org/dateformat/-/dateformat-2.2.0.tgz", "resolved": "https://registry.npmmirror.com/dateformat/-/dateformat-2.2.0.tgz",
"integrity": "sha1-QGXiATz5+5Ft39gu+1Bq1MZ2kGI=" "integrity": "sha512-GODcnWq3YGoTnygPfi02ygEiRxqUxpJwuRHjdhJYuxpcZmDq4rjBiXYmbCCzStxo176ixfLT6i4NPwQooRySnw==",
"dev": true
}, },
"de-indent": { "de-indent": {
"version": "1.0.2", "version": "1.0.2",
...@@ -3540,9 +3618,10 @@ ...@@ -3540,9 +3618,10 @@
} }
}, },
"defaults": { "defaults": {
"version": "1.0.3", "version": "1.0.4",
"resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz", "resolved": "https://registry.npmmirror.com/defaults/-/defaults-1.0.4.tgz",
"integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=", "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==",
"dev": true,
"requires": { "requires": {
"clone": "^1.0.2" "clone": "^1.0.2"
} }
...@@ -3656,8 +3735,9 @@ ...@@ -3656,8 +3735,9 @@
}, },
"deprecated": { "deprecated": {
"version": "0.0.1", "version": "0.0.1",
"resolved": "https://registry.npmjs.org/deprecated/-/deprecated-0.0.1.tgz", "resolved": "https://registry.npmmirror.com/deprecated/-/deprecated-0.0.1.tgz",
"integrity": "sha1-+cmvVGSvoeepcUWKi97yqpTVuxk=" "integrity": "sha512-BRACtc6B1mJe2J2mruHFqHWrtLy0Qppu/7LKdqWH3o/9j1L/1phPUaQV+2S3H8ZDW0k6h+NEOKcHBDRikWLiOA==",
"dev": true
}, },
"des.js": { "des.js": {
"version": "1.0.1", "version": "1.0.1",
...@@ -3677,8 +3757,9 @@ ...@@ -3677,8 +3757,9 @@
}, },
"detect-file": { "detect-file": {
"version": "1.0.0", "version": "1.0.0",
"resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz", "resolved": "https://registry.npmmirror.com/detect-file/-/detect-file-1.0.0.tgz",
"integrity": "sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc=" "integrity": "sha512-DtCOLG98P007x7wiiOmfI0fi3eIKyWiLTGJ2MDnVi/E04lWGbf+JzrRHMm0rgIIZJGtHpKpbVgLWHrv8xXpc3Q==",
"dev": true
}, },
"detect-indent": { "detect-indent": {
"version": "4.0.0", "version": "4.0.0",
...@@ -3825,8 +3906,9 @@ ...@@ -3825,8 +3906,9 @@
}, },
"duplexer2": { "duplexer2": {
"version": "0.0.2", "version": "0.0.2",
"resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.0.2.tgz", "resolved": "https://registry.npmmirror.com/duplexer2/-/duplexer2-0.0.2.tgz",
"integrity": "sha1-xhTc9n4vsUmVqRcR5aYX6KYKMds=", "integrity": "sha512-+AWBwjGadtksxjOQSFDhPNQbed7icNXApT4+2BNpsXzcCBiInq2H9XW0O8sfHFaPmnQRs7cg/P0fAr2IWQSW0g==",
"dev": true,
"requires": { "requires": {
"readable-stream": "~1.1.9" "readable-stream": "~1.1.9"
} }
...@@ -4037,8 +4119,9 @@ ...@@ -4037,8 +4119,9 @@
}, },
"end-of-stream": { "end-of-stream": {
"version": "0.1.5", "version": "0.1.5",
"resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-0.1.5.tgz", "resolved": "https://registry.npmmirror.com/end-of-stream/-/end-of-stream-0.1.5.tgz",
"integrity": "sha1-jhdyBsPICDfYVjLouTWd/osvbq8=", "integrity": "sha512-go5TQkd0YRXYhX+Lc3UrXkoKU5j+m72jEP5lHWr2Nh82L8wfZtH8toKgcg4T10o23ELIMGXQdwCbl+qAXIPDrw==",
"dev": true,
"requires": { "requires": {
"once": "~1.3.0" "once": "~1.3.0"
} }
...@@ -4878,8 +4961,9 @@ ...@@ -4878,8 +4961,9 @@
}, },
"expand-tilde": { "expand-tilde": {
"version": "2.0.2", "version": "2.0.2",
"resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz", "resolved": "https://registry.npmmirror.com/expand-tilde/-/expand-tilde-2.0.2.tgz",
"integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=", "integrity": "sha512-A5EmesHW6rfnZ9ysHQjPdJRni0SRar0tjtG5MNtm9n5TUvsYU8oozprtRD4AqHxcZWWlVuAmQo2nWKfN9oyjTw==",
"dev": true,
"requires": { "requires": {
"homedir-polyfill": "^1.0.1" "homedir-polyfill": "^1.0.1"
} }
...@@ -5296,8 +5380,9 @@ ...@@ -5296,8 +5380,9 @@
}, },
"find-index": { "find-index": {
"version": "0.1.1", "version": "0.1.1",
"resolved": "https://registry.npmjs.org/find-index/-/find-index-0.1.1.tgz", "resolved": "https://registry.npmmirror.com/find-index/-/find-index-0.1.1.tgz",
"integrity": "sha1-Z101iyyjiS15Whq0cjL4tuLg3eQ=" "integrity": "sha512-uJ5vWrfBKMcE6y2Z8834dwEZj9mNGxYa3t3I53OwFeuZ8D9oc2E5zcsrkuhX6h4iYrjhiv0T3szQmxlAV9uxDg==",
"dev": true
}, },
"find-up": { "find-up": {
"version": "2.1.0", "version": "2.1.0",
...@@ -5310,8 +5395,9 @@ ...@@ -5310,8 +5395,9 @@
}, },
"findup-sync": { "findup-sync": {
"version": "2.0.0", "version": "2.0.0",
"resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-2.0.0.tgz", "resolved": "https://registry.npmmirror.com/findup-sync/-/findup-sync-2.0.0.tgz",
"integrity": "sha1-kyaxSIwi0aYIhlCoaQGy2akKLLw=", "integrity": "sha512-vs+3unmJT45eczmcAZ6zMJtxN3l/QXeccaXQx5cu/MeJMhewVfoWZqibRkOxPnmoR59+Zy5hjabfQc6JLSah4g==",
"dev": true,
"requires": { "requires": {
"detect-file": "^1.0.0", "detect-file": "^1.0.0",
"is-glob": "^3.1.0", "is-glob": "^3.1.0",
...@@ -5321,8 +5407,9 @@ ...@@ -5321,8 +5407,9 @@
}, },
"fined": { "fined": {
"version": "1.2.0", "version": "1.2.0",
"resolved": "https://registry.npmjs.org/fined/-/fined-1.2.0.tgz", "resolved": "https://registry.npmmirror.com/fined/-/fined-1.2.0.tgz",
"integrity": "sha512-ZYDqPLGxDkDhDZBjZBb+oD1+j0rA4E0pXY50eplAAOPg2N/gUBSSk5IM1/QhPfyVo19lJ+CvXpqfvk+b2p/8Ng==", "integrity": "sha512-ZYDqPLGxDkDhDZBjZBb+oD1+j0rA4E0pXY50eplAAOPg2N/gUBSSk5IM1/QhPfyVo19lJ+CvXpqfvk+b2p/8Ng==",
"dev": true,
"requires": { "requires": {
"expand-tilde": "^2.0.2", "expand-tilde": "^2.0.2",
"is-plain-object": "^2.0.3", "is-plain-object": "^2.0.3",
...@@ -5333,13 +5420,15 @@ ...@@ -5333,13 +5420,15 @@
}, },
"first-chunk-stream": { "first-chunk-stream": {
"version": "1.0.0", "version": "1.0.0",
"resolved": "https://registry.npmjs.org/first-chunk-stream/-/first-chunk-stream-1.0.0.tgz", "resolved": "https://registry.npmmirror.com/first-chunk-stream/-/first-chunk-stream-1.0.0.tgz",
"integrity": "sha1-Wb+1DNkF9g18OUzT2ayqtOatk04=" "integrity": "sha512-ArRi5axuv66gEsyl3UuK80CzW7t56hem73YGNYxNWTGNKFJUadSb9Gu9SHijYEUi8ulQMf1bJomYNwSCPHhtTQ==",
"dev": true
}, },
"flagged-respawn": { "flagged-respawn": {
"version": "1.0.1", "version": "1.0.1",
"resolved": "https://registry.npmjs.org/flagged-respawn/-/flagged-respawn-1.0.1.tgz", "resolved": "https://registry.npmmirror.com/flagged-respawn/-/flagged-respawn-1.0.1.tgz",
"integrity": "sha512-lNaHNVymajmk0OJMBn8fVUAU1BtDeKIqKoVhk4xAALB57aALg6b4W0MfJ/cUE0g9YBXy5XhSlPIpYIJ7HaY/3Q==" "integrity": "sha512-lNaHNVymajmk0OJMBn8fVUAU1BtDeKIqKoVhk4xAALB57aALg6b4W0MfJ/cUE0g9YBXy5XhSlPIpYIJ7HaY/3Q==",
"dev": true
}, },
"flat-cache": { "flat-cache": {
"version": "1.3.4", "version": "1.3.4",
...@@ -5663,8 +5752,9 @@ ...@@ -5663,8 +5752,9 @@
}, },
"gaze": { "gaze": {
"version": "0.5.2", "version": "0.5.2",
"resolved": "https://registry.npmjs.org/gaze/-/gaze-0.5.2.tgz", "resolved": "https://registry.npmmirror.com/gaze/-/gaze-0.5.2.tgz",
"integrity": "sha1-QLcJU30k0dRXZ9takIaJ3+aaxE8=", "integrity": "sha512-3IWbXGkDDHFX8zIlNdfnmhvlSMhpBO6tDr4InB8fGku6dh/gjFPGNqcdsXJajZg05x9jRzXbL6gCnCnuMap4tw==",
"dev": true,
"requires": { "requires": {
"globule": "~0.1.0" "globule": "~0.1.0"
} }
...@@ -5782,8 +5872,9 @@ ...@@ -5782,8 +5872,9 @@
}, },
"glob": { "glob": {
"version": "4.5.3", "version": "4.5.3",
"resolved": "https://registry.npmjs.org/glob/-/glob-4.5.3.tgz", "resolved": "https://registry.npmmirror.com/glob/-/glob-4.5.3.tgz",
"integrity": "sha1-xstz0yJsHv7wTePFbQEvAzd+4V8=", "integrity": "sha512-I0rTWUKSZKxPSIAIaqhSXTM/DiII6wame+rEC3cFA5Lqmr9YmdL7z6Hj9+bdWtTvoY1Su4/OiMLmb37Y7JzvJQ==",
"dev": true,
"requires": { "requires": {
"inflight": "^1.0.4", "inflight": "^1.0.4",
"inherits": "2", "inherits": "2",
...@@ -5840,8 +5931,9 @@ ...@@ -5840,8 +5931,9 @@
}, },
"glob-stream": { "glob-stream": {
"version": "3.1.18", "version": "3.1.18",
"resolved": "https://registry.npmjs.org/glob-stream/-/glob-stream-3.1.18.tgz", "resolved": "https://registry.npmmirror.com/glob-stream/-/glob-stream-3.1.18.tgz",
"integrity": "sha1-kXCl8St5Awb9/lmPMT+PeVT9FDs=", "integrity": "sha512-owHtlMMXIAbxLjhUAO0HhW1/TB7kV0AwDduI3BLbYsWCaRzNIcLBu8N0wHZft2Za2SCmUXCEOdpZzC7k/H19eg==",
"dev": true,
"requires": { "requires": {
"glob": "^4.3.1", "glob": "^4.3.1",
"glob2base": "^0.0.12", "glob2base": "^0.0.12",
...@@ -5853,8 +5945,9 @@ ...@@ -5853,8 +5945,9 @@
"dependencies": { "dependencies": {
"readable-stream": { "readable-stream": {
"version": "1.0.34", "version": "1.0.34",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", "resolved": "https://registry.npmmirror.com/readable-stream/-/readable-stream-1.0.34.tgz",
"integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", "integrity": "sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg==",
"dev": true,
"requires": { "requires": {
"core-util-is": "~1.0.0", "core-util-is": "~1.0.0",
"inherits": "~2.0.1", "inherits": "~2.0.1",
...@@ -5864,8 +5957,9 @@ ...@@ -5864,8 +5957,9 @@
}, },
"through2": { "through2": {
"version": "0.6.5", "version": "0.6.5",
"resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz", "resolved": "https://registry.npmmirror.com/through2/-/through2-0.6.5.tgz",
"integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=", "integrity": "sha512-RkK/CCESdTKQZHdmKICijdKKsCRVHs5KsLZ6pACAmF/1GPUQhonHSXWNERctxEp7RmvjdNbZTL5z9V7nSCXKcg==",
"dev": true,
"requires": { "requires": {
"readable-stream": ">=1.0.33-1 <1.1.0-0", "readable-stream": ">=1.0.33-1 <1.1.0-0",
"xtend": ">=4.0.0 <4.1.0-0" "xtend": ">=4.0.0 <4.1.0-0"
...@@ -5875,24 +5969,27 @@ ...@@ -5875,24 +5969,27 @@
}, },
"glob-watcher": { "glob-watcher": {
"version": "0.0.6", "version": "0.0.6",
"resolved": "https://registry.npmjs.org/glob-watcher/-/glob-watcher-0.0.6.tgz", "resolved": "https://registry.npmmirror.com/glob-watcher/-/glob-watcher-0.0.6.tgz",
"integrity": "sha1-uVtKjfdLOcgymLDAXJeLTZo7cQs=", "integrity": "sha512-lzYWq1BJLBmtb9rzT6+lgbFlEW6Sc7B+Qs3RmsNA9lbdFSqLHhebfypPR3nbEOMeEQyawVXqSDH0aqjtImldow==",
"dev": true,
"requires": { "requires": {
"gaze": "^0.5.1" "gaze": "^0.5.1"
} }
}, },
"glob2base": { "glob2base": {
"version": "0.0.12", "version": "0.0.12",
"resolved": "https://registry.npmjs.org/glob2base/-/glob2base-0.0.12.tgz", "resolved": "https://registry.npmmirror.com/glob2base/-/glob2base-0.0.12.tgz",
"integrity": "sha1-nUGbPijxLoOjYhZKJ3BVkiycDVY=", "integrity": "sha512-ZyqlgowMbfj2NPjxaZZ/EtsXlOch28FRXgMd64vqZWk1bT9+wvSRLYD1om9M7QfQru51zJPAT17qXm4/zd+9QA==",
"dev": true,
"requires": { "requires": {
"find-index": "^0.1.1" "find-index": "^0.1.1"
} }
}, },
"global-modules": { "global-modules": {
"version": "1.0.0", "version": "1.0.0",
"resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz", "resolved": "https://registry.npmmirror.com/global-modules/-/global-modules-1.0.0.tgz",
"integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==", "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==",
"dev": true,
"requires": { "requires": {
"global-prefix": "^1.0.1", "global-prefix": "^1.0.1",
"is-windows": "^1.0.1", "is-windows": "^1.0.1",
...@@ -5901,8 +5998,9 @@ ...@@ -5901,8 +5998,9 @@
}, },
"global-prefix": { "global-prefix": {
"version": "1.0.2", "version": "1.0.2",
"resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz", "resolved": "https://registry.npmmirror.com/global-prefix/-/global-prefix-1.0.2.tgz",
"integrity": "sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=", "integrity": "sha512-5lsx1NUDHtSjfg0eHlmYvZKv8/nVqX4ckFbM+FrGcQ+04KWcWFo9P5MxPZYSzUvyzmdTbI7Eix8Q4IbELDqzKg==",
"dev": true,
"requires": { "requires": {
"expand-tilde": "^2.0.2", "expand-tilde": "^2.0.2",
"homedir-polyfill": "^1.0.1", "homedir-polyfill": "^1.0.1",
...@@ -5969,8 +6067,9 @@ ...@@ -5969,8 +6067,9 @@
}, },
"globule": { "globule": {
"version": "0.1.0", "version": "0.1.0",
"resolved": "https://registry.npmjs.org/globule/-/globule-0.1.0.tgz", "resolved": "https://registry.npmmirror.com/globule/-/globule-0.1.0.tgz",
"integrity": "sha1-2cjt3h2nnRJaFRt5UzuXhnY0auU=", "integrity": "sha512-3eIcA2OjPCm4VvwIwZPzIxCVssA8HSpM2C6c6kK5ufJH4FGwWoyqL3In19uuX4oe+TwH3w2P1nQDmW56iehO4A==",
"dev": true,
"requires": { "requires": {
"glob": "~3.1.21", "glob": "~3.1.21",
"lodash": "~1.0.1", "lodash": "~1.0.1",
...@@ -5979,8 +6078,9 @@ ...@@ -5979,8 +6078,9 @@
"dependencies": { "dependencies": {
"glob": { "glob": {
"version": "3.1.21", "version": "3.1.21",
"resolved": "https://registry.npmjs.org/glob/-/glob-3.1.21.tgz", "resolved": "https://registry.npmmirror.com/glob/-/glob-3.1.21.tgz",
"integrity": "sha1-0p4KBV3qUTj00H7UDomC6DwgZs0=", "integrity": "sha512-ANhy2V2+tFpRajE3wN4DhkNQ08KDr0Ir1qL12/cUe5+a7STEK8jkW4onUYuY8/06qAFuT5je7mjAqzx0eKI2tQ==",
"dev": true,
"requires": { "requires": {
"graceful-fs": "~1.2.0", "graceful-fs": "~1.2.0",
"inherits": "1", "inherits": "1",
...@@ -5989,23 +6089,27 @@ ...@@ -5989,23 +6089,27 @@
}, },
"graceful-fs": { "graceful-fs": {
"version": "1.2.3", "version": "1.2.3",
"resolved": "https://registry.npm.taobao.org/graceful-fs/download/graceful-fs-1.2.3.tgz", "resolved": "https://registry.npmmirror.com/graceful-fs/-/graceful-fs-1.2.3.tgz",
"integrity": "sha1-FaSAaldUfLLS2/J/QuiajDRRs2Q=" "integrity": "sha512-iiTUZ5vZ+2ZV+h71XAgwCSu6+NAizhFU3Yw8aC/hH5SQ3SnISqEqAek40imAFGtDcwJKNhXvSY+hzIolnLwcdQ==",
"dev": true
}, },
"inherits": { "inherits": {
"version": "1.0.2", "version": "1.0.2",
"resolved": "https://registry.npmjs.org/inherits/-/inherits-1.0.2.tgz", "resolved": "https://registry.npmmirror.com/inherits/-/inherits-1.0.2.tgz",
"integrity": "sha1-ykMJ2t7mtUzAuNJH6NfHoJdb3Js=" "integrity": "sha512-Al67oatbRSo3RV5hRqIoln6Y5yMVbJSIn4jEJNL7VCImzq/kLr7vvb6sFRJXqr8rpHc/2kJOM+y0sPKN47VdzA==",
"dev": true
}, },
"lodash": { "lodash": {
"version": "1.0.2", "version": "1.0.2",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-1.0.2.tgz", "resolved": "https://registry.npmmirror.com/lodash/-/lodash-1.0.2.tgz",
"integrity": "sha1-j1dWDIO1n8JwvT1WG2kAQ0MOJVE=" "integrity": "sha512-0VSEDVec/Me2eATuoiQd8IjyBMMX0fahob8YJ96V1go2RjvCk1m1GxmtfXn8RNSaLaTtop7fsuhhu9oLk3hUgA==",
"dev": true
}, },
"minimatch": { "minimatch": {
"version": "0.2.14", "version": "0.2.14",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz", "resolved": "https://registry.npmmirror.com/minimatch/-/minimatch-0.2.14.tgz",
"integrity": "sha1-x054BXT2PG+aCQ6Q775u9TpqdWo=", "integrity": "sha512-zZ+Jy8lVWlvqqeM8iZB7w7KmQkoJn8djM585z88rywrEbzoqawVa9FR5p2hwD+y74nfuKOjmNvi9gtWJNLqHvA==",
"dev": true,
"requires": { "requires": {
"lru-cache": "2", "lru-cache": "2",
"sigmund": "~1.0.0" "sigmund": "~1.0.0"
...@@ -6049,8 +6153,9 @@ ...@@ -6049,8 +6153,9 @@
}, },
"gulp": { "gulp": {
"version": "3.9.1", "version": "3.9.1",
"resolved": "https://registry.npmjs.org/gulp/-/gulp-3.9.1.tgz", "resolved": "https://registry.npmmirror.com/gulp/-/gulp-3.9.1.tgz",
"integrity": "sha1-VxzkWSjdQK9lFPxAEYZgFsE4RbQ=", "integrity": "sha512-6FHNdR+VG1LcPz6gZGGqgvimWWGtl4x3FvshAdK/UnAjU7aFOyzft3Fjp35r0Y3ZF4u8vND0S4nGsIB/sxTqzQ==",
"dev": true,
"requires": { "requires": {
"archy": "^1.0.0", "archy": "^1.0.0",
"chalk": "^1.0.0", "chalk": "^1.0.0",
...@@ -6069,8 +6174,9 @@ ...@@ -6069,8 +6174,9 @@
"dependencies": { "dependencies": {
"chalk": { "chalk": {
"version": "1.1.3", "version": "1.1.3",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "resolved": "https://registry.npmmirror.com/chalk/-/chalk-1.1.3.tgz",
"integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "integrity": "sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==",
"dev": true,
"requires": { "requires": {
"ansi-styles": "^2.2.1", "ansi-styles": "^2.2.1",
"escape-string-regexp": "^1.0.2", "escape-string-regexp": "^1.0.2",
...@@ -6081,8 +6187,70 @@ ...@@ -6081,8 +6187,70 @@
}, },
"semver": { "semver": {
"version": "4.3.6", "version": "4.3.6",
"resolved": "https://registry.npmjs.org/semver/-/semver-4.3.6.tgz", "resolved": "https://registry.npmmirror.com/semver/-/semver-4.3.6.tgz",
"integrity": "sha1-MAvG4OhjdPe6YQaLWx7NV/xlMto=" "integrity": "sha512-IrpJ+yoG4EOH8DFWuVg+8H1kW1Oaof0Wxe7cPcXW3x9BjkN/eVo54F15LyqemnDIUYskQWr9qvl/RihmSy6+xQ==",
"dev": true
}
}
},
"gulp-clean-css": {
"version": "4.3.0",
"resolved": "https://registry.npmmirror.com/gulp-clean-css/-/gulp-clean-css-4.3.0.tgz",
"integrity": "sha512-mGyeT3qqFXTy61j0zOIciS4MkYziF2U594t2Vs9rUnpkEHqfu6aDITMp8xOvZcvdX61Uz3y1mVERRYmjzQF5fg==",
"dev": true,
"requires": {
"clean-css": "4.2.3",
"plugin-error": "1.0.1",
"through2": "3.0.1",
"vinyl-sourcemaps-apply": "0.2.1"
},
"dependencies": {
"plugin-error": {
"version": "1.0.1",
"resolved": "https://registry.npmmirror.com/plugin-error/-/plugin-error-1.0.1.tgz",
"integrity": "sha512-L1zP0dk7vGweZME2i+EeakvUNqSrdiI3F91TwEoYiGrAfUXmVv6fJIq4g82PAXxNsWOp0J7ZqQy/3Szz0ajTxA==",
"dev": true,
"requires": {
"ansi-colors": "^1.0.1",
"arr-diff": "^4.0.0",
"arr-union": "^3.1.0",
"extend-shallow": "^3.0.2"
}
},
"readable-stream": {
"version": "3.6.2",
"resolved": "https://registry.npmmirror.com/readable-stream/-/readable-stream-3.6.2.tgz",
"integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==",
"dev": true,
"requires": {
"inherits": "^2.0.3",
"string_decoder": "^1.1.1",
"util-deprecate": "^1.0.1"
}
},
"safe-buffer": {
"version": "5.2.1",
"resolved": "https://registry.npmmirror.com/safe-buffer/-/safe-buffer-5.2.1.tgz",
"integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
"dev": true
},
"string_decoder": {
"version": "1.3.0",
"resolved": "https://registry.npmmirror.com/string_decoder/-/string_decoder-1.3.0.tgz",
"integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
"dev": true,
"requires": {
"safe-buffer": "~5.2.0"
}
},
"through2": {
"version": "3.0.1",
"resolved": "https://registry.npmmirror.com/through2/-/through2-3.0.1.tgz",
"integrity": "sha512-M96dvTalPT3YbYLaKaCuwu+j06D/8Jfib0o/PxbVt6Amhv3dUAtW6rTV1jPgJSBG83I/e04Y6xkVdVhSRhi0ww==",
"dev": true,
"requires": {
"readable-stream": "2 || 3"
}
} }
} }
}, },
...@@ -6126,6 +6294,17 @@ ...@@ -6126,6 +6294,17 @@
} }
} }
}, },
"gulp-css-wrap": {
"version": "0.1.2",
"resolved": "https://registry.npmmirror.com/gulp-css-wrap/-/gulp-css-wrap-0.1.2.tgz",
"integrity": "sha512-t6U0RDg0c42gi5U30CGhLh2j5LgmJ3aQkSe0TKAGkQ7H5P8whEJ4FnRujlmIum1EA+jIWwBIceiq7l07ON6Tuw==",
"dev": true,
"requires": {
"css-wrap": "^0.1.0",
"gulp-util": "^3.0.6",
"through2": "^2.0.0"
}
},
"gulp-load-plugins": { "gulp-load-plugins": {
"version": "1.5.0", "version": "1.5.0",
"resolved": "https://registry.npmjs.org/gulp-load-plugins/-/gulp-load-plugins-1.5.0.tgz", "resolved": "https://registry.npmjs.org/gulp-load-plugins/-/gulp-load-plugins-1.5.0.tgz",
...@@ -6383,8 +6562,9 @@ ...@@ -6383,8 +6562,9 @@
}, },
"gulp-util": { "gulp-util": {
"version": "3.0.8", "version": "3.0.8",
"resolved": "https://registry.npmjs.org/gulp-util/-/gulp-util-3.0.8.tgz", "resolved": "https://registry.npmmirror.com/gulp-util/-/gulp-util-3.0.8.tgz",
"integrity": "sha1-AFTh50RQLifATBh8PsxQXdVLu08=", "integrity": "sha512-q5oWPc12lwSFS9h/4VIjG+1NuNDlJ48ywV2JKItY4Ycc/n1fXJeYPVQsfu5ZrhQi7FGSDBalwUCLar/GyHXKGw==",
"dev": true,
"requires": { "requires": {
"array-differ": "^1.0.0", "array-differ": "^1.0.0",
"array-uniq": "^1.0.2", "array-uniq": "^1.0.2",
...@@ -6408,8 +6588,9 @@ ...@@ -6408,8 +6588,9 @@
"dependencies": { "dependencies": {
"chalk": { "chalk": {
"version": "1.1.3", "version": "1.1.3",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "resolved": "https://registry.npmmirror.com/chalk/-/chalk-1.1.3.tgz",
"integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "integrity": "sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==",
"dev": true,
"requires": { "requires": {
"ansi-styles": "^2.2.1", "ansi-styles": "^2.2.1",
"escape-string-regexp": "^1.0.2", "escape-string-regexp": "^1.0.2",
...@@ -7128,6 +7309,7 @@ ...@@ -7128,6 +7309,7 @@
"version": "1.0.6", "version": "1.0.6",
"resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
"integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
"dev": true,
"requires": { "requires": {
"once": "^1.3.0", "once": "^1.3.0",
"wrappy": "1" "wrappy": "1"
...@@ -7191,7 +7373,8 @@ ...@@ -7191,7 +7373,8 @@
"interpret": { "interpret": {
"version": "1.4.0", "version": "1.4.0",
"resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz",
"integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==" "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==",
"dev": true
}, },
"invariant": { "invariant": {
"version": "2.2.4", "version": "2.2.4",
...@@ -7222,8 +7405,9 @@ ...@@ -7222,8 +7405,9 @@
}, },
"is-absolute": { "is-absolute": {
"version": "1.0.0", "version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-1.0.0.tgz", "resolved": "https://registry.npmmirror.com/is-absolute/-/is-absolute-1.0.0.tgz",
"integrity": "sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==", "integrity": "sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==",
"dev": true,
"requires": { "requires": {
"is-relative": "^1.0.0", "is-relative": "^1.0.0",
"is-windows": "^1.0.1" "is-windows": "^1.0.1"
...@@ -7381,7 +7565,8 @@ ...@@ -7381,7 +7565,8 @@
"is-extglob": { "is-extglob": {
"version": "2.1.1", "version": "2.1.1",
"resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
"integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
"dev": true
}, },
"is-finite": { "is-finite": {
"version": "1.1.0", "version": "1.1.0",
...@@ -7402,6 +7587,7 @@ ...@@ -7402,6 +7587,7 @@
"version": "3.1.0", "version": "3.1.0",
"resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz",
"integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=",
"dev": true,
"requires": { "requires": {
"is-extglob": "^2.1.0" "is-extglob": "^2.1.0"
} }
...@@ -7513,8 +7699,9 @@ ...@@ -7513,8 +7699,9 @@
}, },
"is-relative": { "is-relative": {
"version": "1.0.0", "version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-relative/-/is-relative-1.0.0.tgz", "resolved": "https://registry.npmmirror.com/is-relative/-/is-relative-1.0.0.tgz",
"integrity": "sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==", "integrity": "sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==",
"dev": true,
"requires": { "requires": {
"is-unc-path": "^1.0.0" "is-unc-path": "^1.0.0"
} }
...@@ -7563,8 +7750,9 @@ ...@@ -7563,8 +7750,9 @@
}, },
"is-unc-path": { "is-unc-path": {
"version": "1.0.0", "version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-unc-path/-/is-unc-path-1.0.0.tgz", "resolved": "https://registry.npmmirror.com/is-unc-path/-/is-unc-path-1.0.0.tgz",
"integrity": "sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==", "integrity": "sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==",
"dev": true,
"requires": { "requires": {
"unc-path-regex": "^0.1.2" "unc-path-regex": "^0.1.2"
} }
...@@ -7572,7 +7760,8 @@ ...@@ -7572,7 +7760,8 @@
"is-utf8": { "is-utf8": {
"version": "0.2.1", "version": "0.2.1",
"resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz",
"integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=" "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=",
"dev": true
}, },
"is-whitespace": { "is-whitespace": {
"version": "0.3.0", "version": "0.3.0",
...@@ -7594,7 +7783,8 @@ ...@@ -7594,7 +7783,8 @@
"isarray": { "isarray": {
"version": "0.0.1", "version": "0.0.1",
"resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
"integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
"dev": true
}, },
"isexe": { "isexe": {
"version": "2.0.0", "version": "2.0.0",
...@@ -8822,8 +9012,9 @@ ...@@ -8822,8 +9012,9 @@
}, },
"liftoff": { "liftoff": {
"version": "2.5.0", "version": "2.5.0",
"resolved": "https://registry.npmjs.org/liftoff/-/liftoff-2.5.0.tgz", "resolved": "https://registry.npmmirror.com/liftoff/-/liftoff-2.5.0.tgz",
"integrity": "sha1-IAkpG7Mc6oYbvxCnwVooyvdcMew=", "integrity": "sha512-01zfGFqfORP1CGmZZP2Zn51zsqz4RltDi0RDOhbGoLYdUT5Lw+I2gX6QdwXhPITF6hPOHEOp+At6/L24hIg9WQ==",
"dev": true,
"requires": { "requires": {
"extend": "^3.0.0", "extend": "^3.0.0",
"findup-sync": "^2.0.0", "findup-sync": "^2.0.0",
...@@ -8999,7 +9190,8 @@ ...@@ -8999,7 +9190,8 @@
"lodash._basecopy": { "lodash._basecopy": {
"version": "3.0.1", "version": "3.0.1",
"resolved": "https://registry.npmjs.org/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz", "resolved": "https://registry.npmjs.org/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz",
"integrity": "sha1-jaDmqHbPNEwK2KVIghEd08XHyjY=" "integrity": "sha1-jaDmqHbPNEwK2KVIghEd08XHyjY=",
"dev": true
}, },
"lodash._basecreate": { "lodash._basecreate": {
"version": "3.0.3", "version": "3.0.3",
...@@ -9015,13 +9207,15 @@ ...@@ -9015,13 +9207,15 @@
}, },
"lodash._basetostring": { "lodash._basetostring": {
"version": "3.0.1", "version": "3.0.1",
"resolved": "https://registry.npmjs.org/lodash._basetostring/-/lodash._basetostring-3.0.1.tgz", "resolved": "https://registry.npmmirror.com/lodash._basetostring/-/lodash._basetostring-3.0.1.tgz",
"integrity": "sha1-0YYdh3+CSlL2aYMtyvPuFVZqB9U=" "integrity": "sha512-mTzAr1aNAv/i7W43vOR/uD/aJ4ngbtsRaCubp2BfZhlGU/eORUjg/7F6X0orNMdv33JOrdgGybtvMN/po3EWrA==",
"dev": true
}, },
"lodash._basevalues": { "lodash._basevalues": {
"version": "3.0.0", "version": "3.0.0",
"resolved": "https://registry.npmjs.org/lodash._basevalues/-/lodash._basevalues-3.0.0.tgz", "resolved": "https://registry.npmmirror.com/lodash._basevalues/-/lodash._basevalues-3.0.0.tgz",
"integrity": "sha1-W3dXYoAr3j0yl1A+JjAIIP32Ybc=" "integrity": "sha512-H94wl5P13uEqlCg7OcNNhMQ8KvWSIyqXzOPusRgHC9DK3o54P6P3xtbXlVbRABG4q5gSmp7EDdJ0MSuW9HX6Mg==",
"dev": true
}, },
"lodash._bindcallback": { "lodash._bindcallback": {
"version": "3.0.1", "version": "3.0.1",
...@@ -9032,22 +9226,26 @@ ...@@ -9032,22 +9226,26 @@
"lodash._getnative": { "lodash._getnative": {
"version": "3.9.1", "version": "3.9.1",
"resolved": "https://registry.npmjs.org/lodash._getnative/-/lodash._getnative-3.9.1.tgz", "resolved": "https://registry.npmjs.org/lodash._getnative/-/lodash._getnative-3.9.1.tgz",
"integrity": "sha1-VwvH3t5G1hzc3mh9ZdPuy6o6r/U=" "integrity": "sha1-VwvH3t5G1hzc3mh9ZdPuy6o6r/U=",
"dev": true
}, },
"lodash._isiterateecall": { "lodash._isiterateecall": {
"version": "3.0.9", "version": "3.0.9",
"resolved": "https://registry.npmjs.org/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz", "resolved": "https://registry.npmjs.org/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz",
"integrity": "sha1-UgOte6Ql+uhCRg5pbbnPPmqsBXw=" "integrity": "sha1-UgOte6Ql+uhCRg5pbbnPPmqsBXw=",
"dev": true
}, },
"lodash._reescape": { "lodash._reescape": {
"version": "3.0.0", "version": "3.0.0",
"resolved": "https://registry.npmjs.org/lodash._reescape/-/lodash._reescape-3.0.0.tgz", "resolved": "https://registry.npmmirror.com/lodash._reescape/-/lodash._reescape-3.0.0.tgz",
"integrity": "sha1-Kx1vXf4HyKNVdT5fJ/rH8c3hYWo=" "integrity": "sha512-Sjlavm5y+FUVIF3vF3B75GyXrzsfYV8Dlv3L4mEpuB9leg8N6yf/7rU06iLPx9fY0Mv3khVp9p7Dx0mGV6V5OQ==",
"dev": true
}, },
"lodash._reevaluate": { "lodash._reevaluate": {
"version": "3.0.0", "version": "3.0.0",
"resolved": "https://registry.npmjs.org/lodash._reevaluate/-/lodash._reevaluate-3.0.0.tgz", "resolved": "https://registry.npmmirror.com/lodash._reevaluate/-/lodash._reevaluate-3.0.0.tgz",
"integrity": "sha1-WLx0xAZklTrgsSTYBpltrKQx4u0=" "integrity": "sha512-OrPwdDc65iJiBeUe5n/LIjd7Viy99bKwDdk7Z5ljfZg0uFRFlfQaCy9tZ4YMAag9WAZmlVpe1iZrkIMMSMHD3w==",
"dev": true
}, },
"lodash._reinterpolate": { "lodash._reinterpolate": {
"version": "3.0.0", "version": "3.0.0",
...@@ -9056,8 +9254,9 @@ ...@@ -9056,8 +9254,9 @@
}, },
"lodash._root": { "lodash._root": {
"version": "3.0.1", "version": "3.0.1",
"resolved": "https://registry.npmjs.org/lodash._root/-/lodash._root-3.0.1.tgz", "resolved": "https://registry.npmmirror.com/lodash._root/-/lodash._root-3.0.1.tgz",
"integrity": "sha1-+6HEUkwZ7ppfgTa0YJ8BfPTe1pI=" "integrity": "sha512-O0pWuFSK6x4EXhM1dhZ8gchNtG7JMqBtrHdoUFUWXD7dJnNSUze1GuyQr5sOs0aCvgGeI3o/OJW8f4ca7FDxmQ==",
"dev": true
}, },
"lodash.camelcase": { "lodash.camelcase": {
"version": "4.3.0", "version": "4.3.0",
...@@ -9101,8 +9300,9 @@ ...@@ -9101,8 +9300,9 @@
}, },
"lodash.escape": { "lodash.escape": {
"version": "3.2.0", "version": "3.2.0",
"resolved": "https://registry.npmjs.org/lodash.escape/-/lodash.escape-3.2.0.tgz", "resolved": "https://registry.npmmirror.com/lodash.escape/-/lodash.escape-3.2.0.tgz",
"integrity": "sha1-mV7g3BjBtIzJLv+ucaEKq1tIdpg=", "integrity": "sha512-n1PZMXgaaDWZDSvuNZ/8XOcYO2hOKDqZel5adtR30VKQAtoWs/5AOeFA0vPV8moiPzlqe7F4cP2tzpFewQyelQ==",
"dev": true,
"requires": { "requires": {
"lodash._root": "^3.0.0" "lodash._root": "^3.0.0"
} }
...@@ -9110,17 +9310,20 @@ ...@@ -9110,17 +9310,20 @@
"lodash.isarguments": { "lodash.isarguments": {
"version": "3.1.0", "version": "3.1.0",
"resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz", "resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz",
"integrity": "sha1-L1c9hcaiQon/AGY7SRwdM4/zRYo=" "integrity": "sha1-L1c9hcaiQon/AGY7SRwdM4/zRYo=",
"dev": true
}, },
"lodash.isarray": { "lodash.isarray": {
"version": "3.0.4", "version": "3.0.4",
"resolved": "https://registry.npmjs.org/lodash.isarray/-/lodash.isarray-3.0.4.tgz", "resolved": "https://registry.npmjs.org/lodash.isarray/-/lodash.isarray-3.0.4.tgz",
"integrity": "sha1-eeTriMNqgSKvhvhEqpvNhRtfu1U=" "integrity": "sha1-eeTriMNqgSKvhvhEqpvNhRtfu1U=",
"dev": true
}, },
"lodash.keys": { "lodash.keys": {
"version": "3.1.2", "version": "3.1.2",
"resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-3.1.2.tgz", "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-3.1.2.tgz",
"integrity": "sha1-TbwEcrFWvlCgsoaFXRvQsMZWCYo=", "integrity": "sha1-TbwEcrFWvlCgsoaFXRvQsMZWCYo=",
"dev": true,
"requires": { "requires": {
"lodash._getnative": "^3.0.0", "lodash._getnative": "^3.0.0",
"lodash.isarguments": "^3.0.0", "lodash.isarguments": "^3.0.0",
...@@ -9141,8 +9344,9 @@ ...@@ -9141,8 +9344,9 @@
}, },
"lodash.restparam": { "lodash.restparam": {
"version": "3.6.1", "version": "3.6.1",
"resolved": "https://registry.npmjs.org/lodash.restparam/-/lodash.restparam-3.6.1.tgz", "resolved": "https://registry.npmmirror.com/lodash.restparam/-/lodash.restparam-3.6.1.tgz",
"integrity": "sha1-k2pOMJ7zMKdkXtQUWYbIWuWyCAU=" "integrity": "sha512-L4/arjjuq4noiUJpt3yS6KIKDtJwNe2fIYgMqyYYKoeIfV1iEqvPwhCx23o+R9dzouGihDAPN1dTIRWa7zk8tw==",
"dev": true
}, },
"lodash.tail": { "lodash.tail": {
"version": "4.1.1", "version": "4.1.1",
...@@ -9151,8 +9355,9 @@ ...@@ -9151,8 +9355,9 @@
}, },
"lodash.template": { "lodash.template": {
"version": "3.6.2", "version": "3.6.2",
"resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-3.6.2.tgz", "resolved": "https://registry.npmmirror.com/lodash.template/-/lodash.template-3.6.2.tgz",
"integrity": "sha1-+M3sxhaaJVvpCYrosMU9N4kx0U8=", "integrity": "sha512-0B4Y53I0OgHUJkt+7RmlDFWKjVAI/YUpWNiL9GQz5ORDr4ttgfQGo+phBWKFLJbBdtOwgMuUkdOHOnPg45jKmQ==",
"dev": true,
"requires": { "requires": {
"lodash._basecopy": "^3.0.0", "lodash._basecopy": "^3.0.0",
"lodash._basetostring": "^3.0.0", "lodash._basetostring": "^3.0.0",
...@@ -9167,8 +9372,9 @@ ...@@ -9167,8 +9372,9 @@
}, },
"lodash.templatesettings": { "lodash.templatesettings": {
"version": "3.1.1", "version": "3.1.1",
"resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-3.1.1.tgz", "resolved": "https://registry.npmmirror.com/lodash.templatesettings/-/lodash.templatesettings-3.1.1.tgz",
"integrity": "sha1-+zB4RHU7Zrnxr6VOJix0UwfbqOU=", "integrity": "sha512-TcrlEr31tDYnWkHFWDCV3dHYroKEXpJZ2YJYvJdhN+y4AkWMDZ5I4I8XDtUKqSAyG81N7w+I1mFEJtcED+tGqQ==",
"dev": true,
"requires": { "requires": {
"lodash._reinterpolate": "^3.0.0", "lodash._reinterpolate": "^3.0.0",
"lodash.escape": "^3.0.0" "lodash.escape": "^3.0.0"
...@@ -9244,7 +9450,8 @@ ...@@ -9244,7 +9450,8 @@
"lru-cache": { "lru-cache": {
"version": "2.7.3", "version": "2.7.3",
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.7.3.tgz", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.7.3.tgz",
"integrity": "sha1-bUUk6LlV+V1PW1iFHOId1y+06VI=" "integrity": "sha1-bUUk6LlV+V1PW1iFHOId1y+06VI=",
"dev": true
}, },
"make-dir": { "make-dir": {
"version": "1.3.0", "version": "1.3.0",
...@@ -9257,8 +9464,9 @@ ...@@ -9257,8 +9464,9 @@
}, },
"make-iterator": { "make-iterator": {
"version": "1.0.1", "version": "1.0.1",
"resolved": "https://registry.npmjs.org/make-iterator/-/make-iterator-1.0.1.tgz", "resolved": "https://registry.npmmirror.com/make-iterator/-/make-iterator-1.0.1.tgz",
"integrity": "sha512-pxiuXh0iVEq7VM7KMIhs5gxsfxCux2URptUQaXo4iZZJxBAzTPOLE2BumO5dbfVYq/hBJFBR/a1mFDmOx5AGmw==", "integrity": "sha512-pxiuXh0iVEq7VM7KMIhs5gxsfxCux2URptUQaXo4iZZJxBAzTPOLE2BumO5dbfVYq/hBJFBR/a1mFDmOx5AGmw==",
"dev": true,
"requires": { "requires": {
"kind-of": "^6.0.2" "kind-of": "^6.0.2"
} }
...@@ -9433,6 +9641,12 @@ ...@@ -9433,6 +9641,12 @@
"is-plain-obj": "^1.1" "is-plain-obj": "^1.1"
} }
}, },
"merge-stream": {
"version": "2.0.0",
"resolved": "https://registry.npmmirror.com/merge-stream/-/merge-stream-2.0.0.tgz",
"integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==",
"dev": true
},
"methods": { "methods": {
"version": "1.1.2", "version": "1.1.2",
"resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
...@@ -9443,6 +9657,7 @@ ...@@ -9443,6 +9657,7 @@
"version": "3.1.10", "version": "3.1.10",
"resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz",
"integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
"dev": true,
"requires": { "requires": {
"arr-diff": "^4.0.0", "arr-diff": "^4.0.0",
"array-unique": "^0.3.2", "array-unique": "^0.3.2",
...@@ -9518,8 +9733,9 @@ ...@@ -9518,8 +9733,9 @@
}, },
"minimatch": { "minimatch": {
"version": "2.0.10", "version": "2.0.10",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-2.0.10.tgz", "resolved": "https://registry.npmmirror.com/minimatch/-/minimatch-2.0.10.tgz",
"integrity": "sha1-jQh8OcazjAAbl/ynzm0OHoCvusc=", "integrity": "sha512-jQo6o1qSVLEWaw3l+bwYA2X0uLuK2KjNh2wjgO7Q/9UJnXr1Q3yQKR8BI0/Bt/rPg75e6SMW4hW/6cBHVTZUjA==",
"dev": true,
"requires": { "requires": {
"brace-expansion": "^1.0.0" "brace-expansion": "^1.0.0"
} }
...@@ -9611,6 +9827,7 @@ ...@@ -9611,6 +9827,7 @@
"version": "0.5.5", "version": "0.5.5",
"resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz",
"integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==",
"dev": true,
"requires": { "requires": {
"minimist": "^1.2.5" "minimist": "^1.2.5"
} }
...@@ -9759,8 +9976,9 @@ ...@@ -9759,8 +9976,9 @@
}, },
"multipipe": { "multipipe": {
"version": "0.1.2", "version": "0.1.2",
"resolved": "https://registry.npmjs.org/multipipe/-/multipipe-0.1.2.tgz", "resolved": "https://registry.npmmirror.com/multipipe/-/multipipe-0.1.2.tgz",
"integrity": "sha1-Ko8t33Du1WTf8tV/HhoTfZ8FB4s=", "integrity": "sha512-7ZxrUybYv9NonoXgwoOqtStIu18D1c3eFZj27hqgf5kBrBF8Q+tE8V0MW8dKM5QLkQPh1JhhbKgHLY9kifov4Q==",
"dev": true,
"requires": { "requires": {
"duplexer2": "0.0.2" "duplexer2": "0.0.2"
} }
...@@ -9797,8 +10015,9 @@ ...@@ -9797,8 +10015,9 @@
}, },
"natives": { "natives": {
"version": "1.1.6", "version": "1.1.6",
"resolved": "https://registry.npm.taobao.org/natives/download/natives-1.1.6.tgz", "resolved": "https://registry.npmmirror.com/natives/-/natives-1.1.6.tgz",
"integrity": "sha1-pgO0pJirdxc2ErnqGs3sTZgPALs=" "integrity": "sha512-6+TDFewD4yxY14ptjKaS63GVdtKiES1pTPyxn9Jb0rBqPMZ7VcCiooEhPNsr+mqHtMGxa/5c/HhcC4uPEUw/nA==",
"dev": true
}, },
"natural-compare": { "natural-compare": {
"version": "1.4.0", "version": "1.4.0",
...@@ -13398,8 +13617,9 @@ ...@@ -13398,8 +13617,9 @@
}, },
"object-assign": { "object-assign": {
"version": "3.0.0", "version": "3.0.0",
"resolved": "https://registry.npmjs.org/object-assign/-/object-assign-3.0.0.tgz", "resolved": "https://registry.npmmirror.com/object-assign/-/object-assign-3.0.0.tgz",
"integrity": "sha1-m+3VygiXlJvKR+f/QIBi1Un1h/I=" "integrity": "sha512-jHP15vXVGeVh1HuaA2wY6lxk+whK/x4KBG88VXeRma7CCun7iGD5qPc4eYykQ9sdQvg8jkwFKsSxHln2ybW3xQ==",
"dev": true
}, },
"object-copy": { "object-copy": {
"version": "0.1.0", "version": "0.1.0",
...@@ -13477,8 +13697,9 @@ ...@@ -13477,8 +13697,9 @@
}, },
"object.defaults": { "object.defaults": {
"version": "1.1.0", "version": "1.1.0",
"resolved": "https://registry.npmjs.org/object.defaults/-/object.defaults-1.1.0.tgz", "resolved": "https://registry.npmmirror.com/object.defaults/-/object.defaults-1.1.0.tgz",
"integrity": "sha1-On+GgzS0B96gbaFtiNXNKeQ1/s8=", "integrity": "sha512-c/K0mw/F11k4dEUBMW8naXUuBuhxRCfG7W+yFy8EcijU/rSmazOUd1XAEEe6bC0OuXY4HUKjTJv7xbxIMqdxrA==",
"dev": true,
"requires": { "requires": {
"array-each": "^1.0.1", "array-each": "^1.0.1",
"array-slice": "^1.0.0", "array-slice": "^1.0.0",
...@@ -13488,8 +13709,9 @@ ...@@ -13488,8 +13709,9 @@
}, },
"object.map": { "object.map": {
"version": "1.0.1", "version": "1.0.1",
"resolved": "https://registry.npmjs.org/object.map/-/object.map-1.0.1.tgz", "resolved": "https://registry.npmmirror.com/object.map/-/object.map-1.0.1.tgz",
"integrity": "sha1-z4Plncj8wK1fQlDh94s7gb2AHTc=", "integrity": "sha512-3+mAJu2PLfnSVGHwIWubpOFLscJANBKuB/6A4CxBstc4aqwQY0FWcsppuy4jU5GSB95yES5JHSI+33AWuS4k6w==",
"dev": true,
"requires": { "requires": {
"for-own": "^1.0.0", "for-own": "^1.0.0",
"make-iterator": "^1.0.0" "make-iterator": "^1.0.0"
...@@ -13547,6 +13769,7 @@ ...@@ -13547,6 +13769,7 @@
"version": "1.3.3", "version": "1.3.3",
"resolved": "https://registry.npmjs.org/once/-/once-1.3.3.tgz", "resolved": "https://registry.npmjs.org/once/-/once-1.3.3.tgz",
"integrity": "sha1-suJhVXzkwxTsgwTz+oJmPkKXyiA=", "integrity": "sha1-suJhVXzkwxTsgwTz+oJmPkKXyiA=",
"dev": true,
"requires": { "requires": {
"wrappy": "1" "wrappy": "1"
} }
...@@ -13677,8 +13900,9 @@ ...@@ -13677,8 +13900,9 @@
}, },
"orchestrator": { "orchestrator": {
"version": "0.3.8", "version": "0.3.8",
"resolved": "https://registry.npmjs.org/orchestrator/-/orchestrator-0.3.8.tgz", "resolved": "https://registry.npmmirror.com/orchestrator/-/orchestrator-0.3.8.tgz",
"integrity": "sha1-FOfp4nZPcxX7rBhOUGx6pt+UrX4=", "integrity": "sha512-DrQ43ngaJ0e36j2CHyoDoIg1K4zbc78GnTQESebK9vu6hj4W5/pvfSFO/kgM620Yd0YnhseSNYsLK3/SszZ5NQ==",
"dev": true,
"requires": { "requires": {
"end-of-stream": "~0.1.5", "end-of-stream": "~0.1.5",
"sequencify": "~0.0.7", "sequencify": "~0.0.7",
...@@ -13687,8 +13911,9 @@ ...@@ -13687,8 +13911,9 @@
}, },
"ordered-read-streams": { "ordered-read-streams": {
"version": "0.1.0", "version": "0.1.0",
"resolved": "https://registry.npmjs.org/ordered-read-streams/-/ordered-read-streams-0.1.0.tgz", "resolved": "https://registry.npmmirror.com/ordered-read-streams/-/ordered-read-streams-0.1.0.tgz",
"integrity": "sha1-/VZamvjrRHO6abbtijQ1LLVS8SY=" "integrity": "sha512-PMX5ehiNri4+lgk9fl09xuPeciGmyPyVUSBwwPT4C/3EHGxoVf7UdgKDE3SLBD4pUDmlzrg1L1cK5igrp+Tyuw==",
"dev": true
}, },
"original": { "original": {
"version": "1.0.2", "version": "1.0.2",
...@@ -13902,8 +14127,9 @@ ...@@ -13902,8 +14127,9 @@
}, },
"parse-filepath": { "parse-filepath": {
"version": "1.0.2", "version": "1.0.2",
"resolved": "https://registry.npmjs.org/parse-filepath/-/parse-filepath-1.0.2.tgz", "resolved": "https://registry.npmmirror.com/parse-filepath/-/parse-filepath-1.0.2.tgz",
"integrity": "sha1-pjISf1Oq89FYdvWHLz/6x2PWyJE=", "integrity": "sha512-FwdRXKCohSVeXqwtYonZTXtbGJKrn+HNyWDYVcp5yuJlesTwNH4rsmRZ+GrKAPJ5bLpRxESMeS+Rl0VCHRvB2Q==",
"dev": true,
"requires": { "requires": {
"is-absolute": "^1.0.0", "is-absolute": "^1.0.0",
"map-cache": "^0.2.0", "map-cache": "^0.2.0",
...@@ -14016,16 +14242,18 @@ ...@@ -14016,16 +14242,18 @@
}, },
"path-root": { "path-root": {
"version": "0.1.1", "version": "0.1.1",
"resolved": "https://registry.npmjs.org/path-root/-/path-root-0.1.1.tgz", "resolved": "https://registry.npmmirror.com/path-root/-/path-root-0.1.1.tgz",
"integrity": "sha1-mkpoFMrBwM1zNgqV8yCDyOpHRbc=", "integrity": "sha512-QLcPegTHF11axjfojBIoDygmS2E3Lf+8+jI6wOVmNVenrKSo3mFdSGiIgdSHenczw3wPtlVMQaFVwGmM7BJdtg==",
"dev": true,
"requires": { "requires": {
"path-root-regex": "^0.1.0" "path-root-regex": "^0.1.0"
} }
}, },
"path-root-regex": { "path-root-regex": {
"version": "0.1.2", "version": "0.1.2",
"resolved": "https://registry.npmjs.org/path-root-regex/-/path-root-regex-0.1.2.tgz", "resolved": "https://registry.npmmirror.com/path-root-regex/-/path-root-regex-0.1.2.tgz",
"integrity": "sha1-v8zcjfWxLcUsi0PsONGNcsBLqW0=" "integrity": "sha512-4GlJ6rZDhQZFE0DPVKh0e9jmZ5egZfxTkp7bcRDuPlJXbAwhxcl2dINPUAsjLdejqaLsCeg8axcLjIbvBjN4pQ==",
"dev": true
}, },
"path-to-regexp": { "path-to-regexp": {
"version": "0.1.7", "version": "0.1.7",
...@@ -15148,8 +15376,9 @@ ...@@ -15148,8 +15376,9 @@
}, },
"pretty-hrtime": { "pretty-hrtime": {
"version": "1.0.3", "version": "1.0.3",
"resolved": "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz", "resolved": "https://registry.npmmirror.com/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz",
"integrity": "sha1-t+PqQkNaTJsnWdmeDyAesZWALuE=" "integrity": "sha512-66hKPCr+72mlfiSjlEB1+45IjXSqvVAIy6mocupoww4tBFE9R9IhwwUGoI4G++Tc9Aq+2rxOt0RFU6gPcrte0A==",
"dev": true
}, },
"private": { "private": {
"version": "0.1.8", "version": "0.1.8",
...@@ -15537,6 +15766,7 @@ ...@@ -15537,6 +15766,7 @@
"version": "1.1.14", "version": "1.1.14",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
"integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=",
"dev": true,
"requires": { "requires": {
"core-util-is": "~1.0.0", "core-util-is": "~1.0.0",
"inherits": "~2.0.1", "inherits": "~2.0.1",
...@@ -15569,6 +15799,7 @@ ...@@ -15569,6 +15799,7 @@
"version": "0.6.2", "version": "0.6.2",
"resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz",
"integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=",
"dev": true,
"requires": { "requires": {
"resolve": "^1.1.6" "resolve": "^1.1.6"
} }
...@@ -15746,8 +15977,9 @@ ...@@ -15746,8 +15977,9 @@
}, },
"replace-ext": { "replace-ext": {
"version": "0.0.1", "version": "0.0.1",
"resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-0.0.1.tgz", "resolved": "https://registry.npmmirror.com/replace-ext/-/replace-ext-0.0.1.tgz",
"integrity": "sha1-KbvZIHinOfC8zitO5B6DeVNSKSQ=" "integrity": "sha512-AFBWBy9EVRTa/LhEcG8QDP3FvpwZqmvN2QFDuJswFeaVhWnZMp8q3E6Zd90SR04PlIwfGdyVjNyLPyen/ek5CQ==",
"dev": true
}, },
"replacestream": { "replacestream": {
"version": "4.0.3", "version": "4.0.3",
...@@ -15871,8 +16103,9 @@ ...@@ -15871,8 +16103,9 @@
}, },
"resolve-dir": { "resolve-dir": {
"version": "1.0.1", "version": "1.0.1",
"resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz", "resolved": "https://registry.npmmirror.com/resolve-dir/-/resolve-dir-1.0.1.tgz",
"integrity": "sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=", "integrity": "sha512-R7uiTjECzvOsWSfdM0QKFNBVFcK27aHOUwdvK53BcW8zqnGdYp0Fbj82cy54+2A4P2tFM22J5kRfe1R+lM/1yg==",
"dev": true,
"requires": { "requires": {
"expand-tilde": "^2.0.0", "expand-tilde": "^2.0.0",
"global-modules": "^1.0.0" "global-modules": "^1.0.0"
...@@ -16349,8 +16582,9 @@ ...@@ -16349,8 +16582,9 @@
}, },
"sequencify": { "sequencify": {
"version": "0.0.7", "version": "0.0.7",
"resolved": "https://registry.npmjs.org/sequencify/-/sequencify-0.0.7.tgz", "resolved": "https://registry.npmmirror.com/sequencify/-/sequencify-0.0.7.tgz",
"integrity": "sha1-kM/xnQLgcCf9dn9erT57ldHnOAw=" "integrity": "sha512-YL8BPm0tp6SlXef/VqYpA/ijmTsDP2ZEXzsnqjkaWS7NP7Bfvw18NboL0O8WCIjy67sOCG3MYSK1PB4GC9XdtQ==",
"dev": true
}, },
"serve-index": { "serve-index": {
"version": "1.9.1", "version": "1.9.1",
...@@ -16535,7 +16769,8 @@ ...@@ -16535,7 +16769,8 @@
"sigmund": { "sigmund": {
"version": "1.0.1", "version": "1.0.1",
"resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz", "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz",
"integrity": "sha1-P/IfGYytIXX587eBhT/ZTQ0ZtZA=" "integrity": "sha1-P/IfGYytIXX587eBhT/ZTQ0ZtZA=",
"dev": true
}, },
"signal-exit": { "signal-exit": {
"version": "3.0.3", "version": "3.0.3",
...@@ -17038,8 +17273,9 @@ ...@@ -17038,8 +17273,9 @@
}, },
"stream-consume": { "stream-consume": {
"version": "0.1.1", "version": "0.1.1",
"resolved": "https://registry.npmjs.org/stream-consume/-/stream-consume-0.1.1.tgz", "resolved": "https://registry.npmmirror.com/stream-consume/-/stream-consume-0.1.1.tgz",
"integrity": "sha512-tNa3hzgkjEP7XbCkbRXe1jpg+ievoa0O4SCFlMOYEscGSS4JJsckGL8swUyAa/ApGU3Ae4t6Honor4HhL+tRyg==" "integrity": "sha512-tNa3hzgkjEP7XbCkbRXe1jpg+ievoa0O4SCFlMOYEscGSS4JJsckGL8swUyAa/ApGU3Ae4t6Honor4HhL+tRyg==",
"dev": true
}, },
"stream-each": { "stream-each": {
"version": "1.2.3", "version": "1.2.3",
...@@ -17170,7 +17406,8 @@ ...@@ -17170,7 +17406,8 @@
"string_decoder": { "string_decoder": {
"version": "0.10.31", "version": "0.10.31",
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
"integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
"dev": true
}, },
"strip-ansi": { "strip-ansi": {
"version": "3.0.1", "version": "3.0.1",
...@@ -17182,8 +17419,9 @@ ...@@ -17182,8 +17419,9 @@
}, },
"strip-bom": { "strip-bom": {
"version": "1.0.0", "version": "1.0.0",
"resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-1.0.0.tgz", "resolved": "https://registry.npmmirror.com/strip-bom/-/strip-bom-1.0.0.tgz",
"integrity": "sha1-hbiGLzhEtabV7IRnqTWYFzo295Q=", "integrity": "sha512-qVAeAIjblKDp/8Cd0tJdxpe3Iq/HooI7En98alEaMbz4Wedlrcj3WI72dDQSrziRW5IQ0zeBo3JXsmS8RcS9jg==",
"dev": true,
"requires": { "requires": {
"first-chunk-stream": "^1.0.0", "first-chunk-stream": "^1.0.0",
"is-utf8": "^0.2.0" "is-utf8": "^0.2.0"
...@@ -17213,7 +17451,8 @@ ...@@ -17213,7 +17451,8 @@
"supports-color": { "supports-color": {
"version": "2.0.0", "version": "2.0.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
"integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
"dev": true
}, },
"svg-baker": { "svg-baker": {
"version": "1.7.0", "version": "1.7.0",
...@@ -17659,8 +17898,9 @@ ...@@ -17659,8 +17898,9 @@
}, },
"tildify": { "tildify": {
"version": "1.2.0", "version": "1.2.0",
"resolved": "https://registry.npmjs.org/tildify/-/tildify-1.2.0.tgz", "resolved": "https://registry.npmmirror.com/tildify/-/tildify-1.2.0.tgz",
"integrity": "sha1-3OwD9V3Km3qj5bBPIYF+tW5jWIo=", "integrity": "sha512-Y9q1GaV/BO65Z9Yf4NOGMuwt3SGdptkZBnaaKfTQakrDyCLiuO1Kc5wxW4xLdsjzunRtqtOdhekiUFmZbklwYQ==",
"dev": true,
"requires": { "requires": {
"os-homedir": "^1.0.0" "os-homedir": "^1.0.0"
} }
...@@ -17991,8 +18231,9 @@ ...@@ -17991,8 +18231,9 @@
}, },
"unc-path-regex": { "unc-path-regex": {
"version": "0.1.2", "version": "0.1.2",
"resolved": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz", "resolved": "https://registry.npmmirror.com/unc-path-regex/-/unc-path-regex-0.1.2.tgz",
"integrity": "sha1-5z3T17DXxe2G+6xrCufYxqadUPo=" "integrity": "sha512-eXL4nmJT7oCpkZsHZUOJo8hcX3GbsiDOa0Qu9F646fi8dT3XuSVopVqAcEiVzSKKH7UoDti23wNX3qGFxcW5Qg==",
"dev": true
}, },
"unidecode": { "unidecode": {
"version": "0.1.8", "version": "0.1.8",
...@@ -18042,8 +18283,9 @@ ...@@ -18042,8 +18283,9 @@
}, },
"unique-stream": { "unique-stream": {
"version": "1.0.0", "version": "1.0.0",
"resolved": "https://registry.npmjs.org/unique-stream/-/unique-stream-1.0.0.tgz", "resolved": "https://registry.npmmirror.com/unique-stream/-/unique-stream-1.0.0.tgz",
"integrity": "sha1-1ZpKdUJ0R9mqbJHnAmP40mpLEEs=" "integrity": "sha512-L8KM6TdpsoBk6TJTXevbmpub3bATS06Znu3BcfVPVQkFtnh1MFeCZ3gFKCQcji7f7YYiigsO5OR99vqhoNT8nQ==",
"dev": true
}, },
"universalify": { "universalify": {
"version": "0.1.2", "version": "0.1.2",
...@@ -18178,8 +18420,9 @@ ...@@ -18178,8 +18420,9 @@
}, },
"user-home": { "user-home": {
"version": "1.1.1", "version": "1.1.1",
"resolved": "https://registry.npmjs.org/user-home/-/user-home-1.1.1.tgz", "resolved": "https://registry.npmmirror.com/user-home/-/user-home-1.1.1.tgz",
"integrity": "sha1-K1viOjK2Onyd640PKNSFcko98ZA=" "integrity": "sha512-aggiKfEEubv3UwRNqTzLInZpAOmKzwdHqEBmW/hBA/mt99eg+b4VrX6i+IRLxU8+WJYfa33rGwRseg4eElUgsQ==",
"dev": true
}, },
"util": { "util": {
"version": "0.11.1", "version": "0.11.1",
...@@ -18223,8 +18466,9 @@ ...@@ -18223,8 +18466,9 @@
}, },
"v8flags": { "v8flags": {
"version": "2.1.1", "version": "2.1.1",
"resolved": "https://registry.npmjs.org/v8flags/-/v8flags-2.1.1.tgz", "resolved": "https://registry.npmmirror.com/v8flags/-/v8flags-2.1.1.tgz",
"integrity": "sha1-qrGh+jDUX4jdMhFIh1rALAtV5bQ=", "integrity": "sha512-SKfhk/LlaXzvtowJabLZwD4K6SGRYeoxA7KJeISlUMAB/NT4CBkZjMq3WceX2Ckm4llwqYVo8TICgsDYCBU2tA==",
"dev": true,
"requires": { "requires": {
"user-home": "^1.1.1" "user-home": "^1.1.1"
} }
...@@ -18264,8 +18508,9 @@ ...@@ -18264,8 +18508,9 @@
}, },
"vinyl": { "vinyl": {
"version": "0.5.3", "version": "0.5.3",
"resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.5.3.tgz", "resolved": "https://registry.npmmirror.com/vinyl/-/vinyl-0.5.3.tgz",
"integrity": "sha1-sEVbOPxeDPMNQyUTLkYZcMIJHN4=", "integrity": "sha512-P5zdf3WB9uzr7IFoVQ2wZTmUwHL8cMZWJGzLBNCHNZ3NB6HTMsYABtt7z8tAGIINLXyAob9B9a1yzVGMFOYKEA==",
"dev": true,
"requires": { "requires": {
"clone": "^1.0.0", "clone": "^1.0.0",
"clone-stats": "^0.0.1", "clone-stats": "^0.0.1",
...@@ -18274,8 +18519,9 @@ ...@@ -18274,8 +18519,9 @@
}, },
"vinyl-fs": { "vinyl-fs": {
"version": "0.3.14", "version": "0.3.14",
"resolved": "https://registry.npmjs.org/vinyl-fs/-/vinyl-fs-0.3.14.tgz", "resolved": "https://registry.npmmirror.com/vinyl-fs/-/vinyl-fs-0.3.14.tgz",
"integrity": "sha1-mmhRzhysHBzqX+hsCTHWIMLPqeY=", "integrity": "sha512-9CTKjt8378nhdydwFDTwywKio0n8aqq6xA70g0uypcnTNSCow/gQOwv0L9E2GaKd7EQ3kZl/diBxPSCgcBXESw==",
"dev": true,
"requires": { "requires": {
"defaults": "^1.0.0", "defaults": "^1.0.0",
"glob-stream": "^3.1.5", "glob-stream": "^3.1.5",
...@@ -18289,21 +18535,24 @@ ...@@ -18289,21 +18535,24 @@
"dependencies": { "dependencies": {
"clone": { "clone": {
"version": "0.2.0", "version": "0.2.0",
"resolved": "https://registry.npmjs.org/clone/-/clone-0.2.0.tgz", "resolved": "https://registry.npmmirror.com/clone/-/clone-0.2.0.tgz",
"integrity": "sha1-xhJqkK1Pctv1rNskPMN3JP6T/B8=" "integrity": "sha512-g62n3Kb9cszeZvmvBUqP/dsEJD/+80pDA8u8KqHnAPrVnQ2Je9rVV6opxkhuWCd1kCn2gOibzDKxCtBvD3q5kA==",
"dev": true
}, },
"graceful-fs": { "graceful-fs": {
"version": "3.0.12", "version": "3.0.12",
"resolved": "https://registry.npm.taobao.org/graceful-fs/download/graceful-fs-3.0.12.tgz", "resolved": "https://registry.npmmirror.com/graceful-fs/-/graceful-fs-3.0.12.tgz",
"integrity": "sha1-ADSUfOntaV7IqwuFS8kZ6Csf+u8=", "integrity": "sha512-J55gaCS4iTTJfTXIxSVw3EMQckcqkpdRv3IR7gu6sq0+tbC363Zx6KH/SEwXASK9JRbhyZmVjJEVJIOxYsB3Qg==",
"dev": true,
"requires": { "requires": {
"natives": "^1.1.3" "natives": "^1.1.3"
} }
}, },
"readable-stream": { "readable-stream": {
"version": "1.0.34", "version": "1.0.34",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", "resolved": "https://registry.npmmirror.com/readable-stream/-/readable-stream-1.0.34.tgz",
"integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", "integrity": "sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg==",
"dev": true,
"requires": { "requires": {
"core-util-is": "~1.0.0", "core-util-is": "~1.0.0",
"inherits": "~2.0.1", "inherits": "~2.0.1",
...@@ -18313,8 +18562,9 @@ ...@@ -18313,8 +18562,9 @@
}, },
"through2": { "through2": {
"version": "0.6.5", "version": "0.6.5",
"resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz", "resolved": "https://registry.npmmirror.com/through2/-/through2-0.6.5.tgz",
"integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=", "integrity": "sha512-RkK/CCESdTKQZHdmKICijdKKsCRVHs5KsLZ6pACAmF/1GPUQhonHSXWNERctxEp7RmvjdNbZTL5z9V7nSCXKcg==",
"dev": true,
"requires": { "requires": {
"readable-stream": ">=1.0.33-1 <1.1.0-0", "readable-stream": ">=1.0.33-1 <1.1.0-0",
"xtend": ">=4.0.0 <4.1.0-0" "xtend": ">=4.0.0 <4.1.0-0"
...@@ -18322,8 +18572,9 @@ ...@@ -18322,8 +18572,9 @@
}, },
"vinyl": { "vinyl": {
"version": "0.4.6", "version": "0.4.6",
"resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.4.6.tgz", "resolved": "https://registry.npmmirror.com/vinyl/-/vinyl-0.4.6.tgz",
"integrity": "sha1-LzVsh6VQolVGHza76ypbqL94SEc=", "integrity": "sha512-pmza4M5VA15HOImIQYWhoXGlGNafCm0QK5BpBUXkzzEwrRxKqBsbAhTfkT2zMcJhUX1G1Gkid0xaV8WjOl7DsA==",
"dev": true,
"requires": { "requires": {
"clone": "^0.2.0", "clone": "^0.2.0",
"clone-stats": "^0.0.1" "clone-stats": "^0.0.1"
...@@ -18331,6 +18582,15 @@ ...@@ -18331,6 +18582,15 @@
} }
} }
}, },
"vinyl-sourcemaps-apply": {
"version": "0.2.1",
"resolved": "https://registry.npmmirror.com/vinyl-sourcemaps-apply/-/vinyl-sourcemaps-apply-0.2.1.tgz",
"integrity": "sha512-+oDh3KYZBoZC8hfocrbrxbLUeaYtQK7J5WU5Br9VqWqmCll3tFJqKp97GC9GmMsVIL0qnx2DgEDVxdo5EZ5sSw==",
"dev": true,
"requires": {
"source-map": "^0.5.1"
}
},
"vm-browserify": { "vm-browserify": {
"version": "1.1.2", "version": "1.1.2",
"resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz",
...@@ -19783,7 +20043,8 @@ ...@@ -19783,7 +20043,8 @@
"wrappy": { "wrappy": {
"version": "1.0.2", "version": "1.0.2",
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
"integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
"dev": true
}, },
"write": { "write": {
"version": "0.2.1", "version": "0.2.1",
......
...@@ -21,7 +21,6 @@ ...@@ -21,7 +21,6 @@
"element-china-area-data": "^5.0.2", "element-china-area-data": "^5.0.2",
"element-ui": "2.8.2", "element-ui": "2.8.2",
"fs": "0.0.1-security", "fs": "0.0.1-security",
"gulp": "3.9.1",
"gulp-concat": "2.6.1", "gulp-concat": "2.6.1",
"gulp-load-plugins": "1.5.0", "gulp-load-plugins": "1.5.0",
"gulp-replace": "0.6.1", "gulp-replace": "0.6.1",
...@@ -69,9 +68,13 @@ ...@@ -69,9 +68,13 @@
"extract-text-webpack-plugin": "3.0.0", "extract-text-webpack-plugin": "3.0.0",
"file-loader": "1.1.4", "file-loader": "1.1.4",
"friendly-errors-webpack-plugin": "1.6.1", "friendly-errors-webpack-plugin": "1.6.1",
"gulp": "^3.9.1",
"gulp-clean-css": "^4.3.0",
"gulp-css-wrap": "^0.1.2",
"html-webpack-plugin": "2.30.1", "html-webpack-plugin": "2.30.1",
"jest": "21.2.0", "jest": "21.2.0",
"jest-serializer-vue": "0.3.0", "jest-serializer-vue": "0.3.0",
"merge-stream": "^2.0.0",
"nightwatch": "0.9.12", "nightwatch": "0.9.12",
"node-notifier": "5.1.2", "node-notifier": "5.1.2",
"node-sass": "^4.14.1", "node-sass": "^4.14.1",
......
...@@ -5,6 +5,11 @@ ...@@ -5,6 +5,11 @@
</template> </template>
<script> <script>
export default { import { initTheme } from './utils/theme';
export default {
mounted() {
initTheme()
} }
}
</script> </script>
...@@ -3,6 +3,7 @@ ...@@ -3,6 +3,7 @@
*:after { *:after {
box-sizing: border-box; box-sizing: border-box;
} }
body { body {
font-family: "Helvetica Neue", Helvetica, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "微软雅黑", Arial, sans-serif; font-family: "Helvetica Neue", Helvetica, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "微软雅黑", Arial, sans-serif;
font-size: 14px; font-size: 14px;
...@@ -10,355 +11,521 @@ body { ...@@ -10,355 +11,521 @@ body {
color: #303133; color: #303133;
background-color: #fff; background-color: #fff;
} }
a { a {
color: mix(#fff, $--color-primary, 20%); color: mix(#fff, $--color-primary, 20%);
text-decoration: none; text-decoration: none;
&:focus, &:focus,
&:hover { &:hover {
color: $--color-primary; color: $--color-primary;
text-decoration: underline; text-decoration: underline;
} }
} }
img { img {
vertical-align: middle; vertical-align: middle;
} }
.theme_0BB2D4,
.theme_3E8EF7 {
/* Utils /* Utils
------------------------------ */ ------------------------------ */
.clearfix:before, .clearfix:before,
.clearfix:after { .clearfix:after {
content: " "; content: " ";
display: table; display: table;
} }
.clearfix:after {
clear: both; .clearfix:after {
} clear: both;
}
/* Animation /* Animation
------------------------------ */ ------------------------------ */
.fade-enter-active, .fade-enter-active,
.fade-leave-active { .fade-leave-active {
transition: opacity .5s; transition: opacity .5s;
} }
.fade-enter,
.fade-leave-to { .fade-enter,
opacity: 0; .fade-leave-to {
} opacity: 0;
}
/* Reset element-ui /* Reset element-ui
------------------------------ */ ------------------------------ */
.site-wrapper { .site-wrapper {
.el-pagination { .el-pagination {
margin-top: 15px; margin-top: 15px;
text-align: right; text-align: right;
}
} }
}
/* Layout /* Layout
------------------------------ */ ------------------------------ */
.site-wrapper { .site-wrapper {
position: relative; position: relative;
min-width: 1180px; min-width: 1180px;
} }
/* Sidebar fold /* Sidebar fold
------------------------------ */ ------------------------------ */
.site-sidebar--fold { .site-sidebar--fold {
.site-navbar__header,
.site-navbar__brand, .site-navbar__header,
.site-sidebar, .site-navbar__brand,
.site-sidebar__inner, .site-sidebar,
.el-menu.site-sidebar__menu { .site-sidebar__inner,
width: 64px; .el-menu.site-sidebar__menu {
} width: 64px;
.site-navbar__body, }
.site-content__wrapper {
margin-left: 64px; .site-navbar__body,
} .site-content__wrapper {
.site-navbar__brand { margin-left: 64px;
&-lg {
display: none;
} }
&-mini {
display: inline-block; .site-navbar__brand {
&-lg {
display: none;
&>h1 {
display: none !important;
}
}
&-mini {
display: inline-block;
}
}
.site-sidebar,
.site-sidebar__inner {
overflow: initial;
}
.site-sidebar__menu-icon {
margin-right: 0;
font-size: 20px;
}
.site-content--tabs>.el-tabs>.el-tabs__header {
left: 64px;
} }
} }
// animation
.site-navbar__header,
.site-navbar__brand,
.site-navbar__body,
.site-sidebar, .site-sidebar,
.site-sidebar__inner { .site-sidebar__inner,
overflow: initial; .site-sidebar__menu.el-menu,
} .site-sidebar__menu-icon,
.site-sidebar__menu-icon { .site-content__wrapper,
margin-right: 0; .site-content--tabs>.el-tabs .el-tabs__header {
font-size: 20px; transition: inline-block .3s, left .3s, width .3s, margin-left .3s, font-size .3s;
}
.site-content--tabs > .el-tabs > .el-tabs__header {
left: 64px;
} }
}
// animation
.site-navbar__header,
.site-navbar__brand,
.site-navbar__body,
.site-sidebar,
.site-sidebar__inner,
.site-sidebar__menu.el-menu,
.site-sidebar__menu-icon,
.site-content__wrapper,
.site-content--tabs > .el-tabs .el-tabs__header {
transition: inline-block .3s, left .3s, width .3s, margin-left .3s, font-size .3s;
}
/* Navbar /* Navbar
------------------------------ */ ------------------------------ */
.site-navbar { .site-navbar {
position: fixed; position: fixed;
top: 0; top: 0;
right: 0; right: 0;
left: 0; left: 0;
z-index: 1030; z-index: 1030;
height: 50px; height: 50px;
box-shadow: 0 2px 4px rgba(0, 0, 0, .08); box-shadow: 0 2px 4px rgba(0, 0, 0, .08);
background-color: $navbar--background-color; background-color: $navbar--background-color;
&--inverse { .site-navbar__brand {
.site-navbar__body { &>a {
background-color: transparent; display: flex;
} align-items: center;
.el-menu { justify-content: center;
> .el-menu-item, min-height: 32px;
> .el-submenu > .el-submenu__title {
color: #fff; h1 {
&:focus, display: inline-block;
&:hover { height: 32px;
margin: 0 0 0 12px;
color: #fff; color: #fff;
background-color: mix(#000, $navbar--background-color, 15%); font-weight: 600;
font-size: 18px;
line-height: 32px;
vertical-align: middle;
animation: pro-layout-title-hide .3s;
}
img {
display: inline-block;
height: 32px;
vertical-align: middle;
} }
} }
> .el-menu-item.is-active, }
> .el-submenu.is-active > .el-submenu__title {
border-bottom-color: mix(#fff, $navbar--background-color, 85%); // .site-navbar__brand {
// &-mini {
// display: inline-block;
// }
// }
&--inverse {
.site-navbar__body {
background-color: transparent;
} }
.el-menu-item i,
.el-submenu__title i, .el-menu {
.el-dropdown {
color: #fff; >.el-menu-item,
>.el-submenu>.el-submenu__title {
color: #fff;
&:focus,
&:hover {
color: #fff;
background-color: mix(#000, $navbar--background-color, 15%);
}
}
>.el-menu-item.is-active,
>.el-submenu.is-active>.el-submenu__title {
border-bottom-color: mix(#fff, $navbar--background-color, 85%);
}
.el-menu-item i,
.el-submenu__title i,
.el-dropdown {
color: #fff;
}
}
.el-menu--popup-bottom-start {
background-color: $navbar--background-color;
} }
} }
.el-menu--popup-bottom-start {
background-color: $navbar--background-color; &__header {
position: relative;
float: left;
width: 230px;
height: 50px;
overflow: hidden;
} }
}
&__header { &__brand {
position: relative; display: table-cell;
float: left; vertical-align: middle;
width: 230px; width: 230px;
height: 50px; height: 50px;
overflow: hidden; margin: 0;
} line-height: 50px;
&__brand { font-size: 18px;
display: table-cell; text-align: center;
vertical-align: middle; text-transform: uppercase;
width: 230px; white-space: nowrap;
height: 50px;
margin: 0;
line-height: 50px;
font-size: 18px;
text-align: center;
text-transform: uppercase;
white-space: nowrap;
color: #fff;
&-lg,
&-mini {
margin: 0 5px;
color: #fff; color: #fff;
&:focus,
&:hover { &-lg,
&-mini {
margin: 0 5px;
color: #fff; color: #fff;
text-decoration: none;
&:focus,
&:hover {
color: #fff;
text-decoration: none;
}
} }
}
&-mini { &-mini {
display: none; display: none;
}
}
&__switch {
font-size: 18px;
border-bottom: none !important;
}
&__avatar {
border-bottom: none !important;
* {
vertical-align: inherit;
}
.el-dropdown-link {
> img {
width: 36px;
height: auto;
margin-right: 5px;
border-radius: 100%;
vertical-align: middle;
} }
} }
}
&__body {
position: relative;
margin-left: 230px;
padding-right: 15px;
background-color: #fff;
}
&__menu {
float: left;
background-color: transparent;
border-bottom: 0;
&--right { &__switch {
float: right; font-size: 18px;
} border-bottom: none !important;
a:focus,
a:hover {
text-decoration: none;
} }
.el-menu-item,
.el-submenu > .el-submenu__title { &__avatar {
height: 50px; border-bottom: none !important;
line-height: 50px;
* {
vertical-align: inherit;
}
.el-dropdown-link {
>img {
// width: 36px;
width: 30px;
height: auto;
margin-right: 5px;
border-radius: 100%;
vertical-align: middle;
}
}
} }
.el-submenu > .el-menu {
top: 55px; &__body {
position: relative;
margin-left: 230px;
padding-right: 15px;
background-color: #fff;
} }
.el-badge {
display: inline; &__menu {
z-index: 2; float: left;
&__content { background-color: transparent;
line-height: 16px; border-bottom: 0;
&--right {
float: right;
}
a:focus,
a:hover {
text-decoration: none;
}
.el-menu-item,
.el-submenu>.el-submenu__title {
height: 50px;
line-height: 50px;
}
.el-submenu>.el-menu {
top: 55px;
}
.el-badge {
display: inline;
z-index: 2;
&__content {
line-height: 16px;
}
} }
} }
} }
}
/* Sidebar /* Sidebar
------------------------------ */ ------------------------------ */
.site-sidebar { .site-sidebar {
position: fixed; position: fixed;
top: 50px; top: 50px;
left: 0; left: 0;
bottom: 0; bottom: 0;
z-index: 1020; z-index: 1020;
width: 230px; width: 230px;
overflow: hidden; overflow: hidden;
&--dark, &--dark,
&--dark-popper { &--dark-popper {
background-color: $sidebar--background-color-dark;
.site-sidebar__menu.el-menu,
> .el-menu--popup {
background-color: $sidebar--background-color-dark; background-color: $sidebar--background-color-dark;
.el-menu-item,
.el-submenu > .el-submenu__title { .site-sidebar__menu.el-menu,
color: $sidebar--color-text-dark; >.el-menu--popup {
&:focus, background-color: $sidebar--background-color-dark;
&:hover {
color: mix(#fff, $sidebar--color-text-dark, 50%); .el-menu-item,
background-color: mix(#293749, $sidebar--background-color-dark, 65%); .el-submenu>.el-submenu__title {
color: $sidebar--color-text-dark;
height: 45px;
line-height: 45px;
margin: 4px 0 8px;
&:focus,
&:hover {
// color: mix(#fff, $sidebar--color-text-dark, 50%);
// background-color: mix(#293749, $sidebar--background-color-dark, 65%);
color: #fff;
background-color: transparent;
}
}
.el-menu,
.el-submenu.is-opened {
// background-color: mix(#000, $sidebar--background-color-dark, 15%);
background-color: transparent;
}
.el-menu {
background-color: #000c17;
}
.el-menu-item.is-active,
.el-submenu.is-active>.el-submenu__title {
// color: mix(#4f9dec, $sidebar--color-text-dark, 100%);
color: #fff;
background-color: var(--primary-color);
&[aria-haspopup='true'] {
background-color: transparent;
}
}
.el-submenu.is-active[aria-haspopup="true"] {
background-color: transparent;
&>.el-submenu__title {
background-color: transparent;
}
} }
} }
.el-menu,
.el-submenu.is-opened { .site-navbar__menu {
background-color: mix(#000, $sidebar--background-color-dark, 15%); width: 100%;
} float: none;
.el-menu-item.is-active,
.el-submenu.is-active > .el-submenu__title { .site-navbar__avatar {
color: mix(#4f9dec, $sidebar--color-text-dark, 100%); width: 100%;
margin-top: 4px;
margin-bottom: 4px;
text-align: center;
background-color: $navbar--background-color;
border-top: 1px solid rgba(0, 0, 0, .25);
.el-dropdown-link {
color: #fff;
display: flex;
align-items: center;
justify-content: center;
flex: auto;
min-width: 0;
overflow: hidden;
text-overflow: ellipsis;
}
&:hover {
background-color: transparent;
}
.site-navbar_dropdown {
width: 100%;
text-align: center;
}
}
} }
} }
&__inner {
position: relative;
z-index: 1;
width: 250px;
height: 100%;
padding-bottom: 15px;
overflow-y: scroll;
}
&__menu.el-menu {
width: 230px;
border-right: 0;
}
&__menu-icon {
width: 24px;
margin-right: 5px;
text-align: center;
font-size: 18px;
color: inherit !important;
}
} }
&__inner {
position: relative;
z-index: 1;
width: 250px;
height: 100%;
padding-bottom: 15px;
overflow-y: scroll;
}
&__menu.el-menu {
width: 230px;
border-right: 0;
}
&__menu-icon {
width: 24px;
margin-right: 5px;
text-align: center;
font-size: 18px;
color: inherit !important;
}
}
/* Content /* Content
------------------------------ */ ------------------------------ */
.site-content { .site-content {
position: relative;
padding: 15px;
&__wrapper {
position: relative; position: relative;
padding-top: 50px; padding: 24px;
margin-left: 230px;
min-height: 100%; &__wrapper {
background: $content--background-color; position: relative;
} padding-top: 50px;
&--tabs { margin-left: 230px;
padding: 55px 0 0; min-height: 100%;
} background: $content--background-color;
> .el-tabs {
> .el-tabs__header {
position: fixed;
top: 50px;
left: 230px;
right: 0;
z-index: 930;
padding: 0 55px 0 15px;
box-shadow: 0 2px 4px 0 rgba(0, 0, 0, .12), 0 0 6px 0 rgba(0, 0, 0, .04);
background-color: #fff;
> .el-tabs__nav-wrap {
margin-bottom: 0;
&:after {
display: none;
}
}
} }
> .el-tabs__content {
padding: 0 15px 15px; &--tabs {
> .site-tabs__tools { padding: 64px 0 0;
}
>.el-tabs {
>.el-tabs__header {
position: fixed; position: fixed;
top: 50px; top: 50px;
left: 230px;
right: 0; right: 0;
z-index: 931; z-index: 930;
height: 40px; padding: 0 55px 0 15px;
padding: 0 12px; box-shadow: 0 2px 4px 0 rgba(0, 0, 0, .12), 0 0 6px 0 rgba(0, 0, 0, .04);
font-size: 16px; background-color: #fff;
line-height: 40px; margin-bottom: 24px;
background-color: $content--background-color;
cursor: pointer; >.el-tabs__nav-wrap {
.el-icon--right { margin-bottom: 0;
margin-left: 0;
&:after {
display: none;
}
}
}
>.el-tabs__content {
padding: 0 24px 24px;
>.site-tabs__tools {
position: fixed;
top: 50px;
right: 0;
z-index: 931;
height: 40px;
padding: 0 12px;
font-size: 16px;
line-height: 40px;
background-color: $content--background-color;
cursor: pointer;
.el-icon--right {
margin-left: 0;
}
} }
} }
} }
} }
}
.el-table__expand-icon { .el-table__expand-icon {
display: inline-block; display: inline-block;
width: 14px; width: 14px;
vertical-align: middle; vertical-align: middle;
margin-right: 5px; margin-right: 5px;
} }
.el-table {
margin-top: 10px;
thead {
color: rgba(0, 0, 0, .85);
th {
font-weight: 500;
background-color: #fafafa;
}
}
.el-table__empty-block {
margin: 32px 0;
}
}
}
\ No newline at end of file
// 站点主色 // 站点主色
// tips: 要达到整站主题修改效果, 请确保[$--color-primary]站点主色与[/src/element-ui-theme/index.js]文件中[import './element-[#17B3A3]/index.css']当前主题色一致 // tips: 要达到整站主题修改效果, 请确保[$--color-primary]站点主色与[/src/element-ui-theme/index.js]文件中[import './element-[#17B3A3]/index.css']当前主题色一致
$--color-primary: #304156; $--color-primary: #001529;
// Navbar // Navbar
$navbar--background-color: $--color-primary; // $navbar--background-color: $--color-primary;
$navbar--background-color: #001529;
// Sidebar // Sidebar
$sidebar--background-color-dark: #304156; // $sidebar--background-color-dark: #304156;
$sidebar--color-text-dark:#c1cbd9; $sidebar--background-color-dark: #001529;
// $sidebar--color-text-dark:#c1cbd9;
$sidebar--color-text-dark:hsla(0,0%,100%,.65);
// Content // Content
$content--background-color: #f1f4f5; // $content--background-color: #f1f4f5;
$content--background-color: #f0f2f5;
This diff could not be displayed because it is too large.
This diff could not be displayed because it is too large.
<template>
<div class="setting_container" @click="openSetting">
<span class="action-setting">
<svg viewBox="64 64 896 896" focusable="false" data-icon="setting" width="1em" height="1em" fill="currentColor"
aria-hidden="true">
<path
d="M924.8 625.7l-65.5-56c3.1-19 4.7-38.4 4.7-57.8s-1.6-38.8-4.7-57.8l65.5-56a32.03 32.03 0 009.3-35.2l-.9-2.6a443.74 443.74 0 00-79.7-137.9l-1.8-2.1a32.12 32.12 0 00-35.1-9.5l-81.3 28.9c-30-24.6-63.5-44-99.7-57.6l-15.7-85a32.05 32.05 0 00-25.8-25.7l-2.7-.5c-52.1-9.4-106.9-9.4-159 0l-2.7.5a32.05 32.05 0 00-25.8 25.7l-15.8 85.4a351.86 351.86 0 00-99 57.4l-81.9-29.1a32 32 0 00-35.1 9.5l-1.8 2.1a446.02 446.02 0 00-79.7 137.9l-.9 2.6c-4.5 12.5-.8 26.5 9.3 35.2l66.3 56.6c-3.1 18.8-4.6 38-4.6 57.1 0 19.2 1.5 38.4 4.6 57.1L99 625.5a32.03 32.03 0 00-9.3 35.2l.9 2.6c18.1 50.4 44.9 96.9 79.7 137.9l1.8 2.1a32.12 32.12 0 0035.1 9.5l81.9-29.1c29.8 24.5 63.1 43.9 99 57.4l15.8 85.4a32.05 32.05 0 0025.8 25.7l2.7.5a449.4 449.4 0 00159 0l2.7-.5a32.05 32.05 0 0025.8-25.7l15.7-85a350 350 0 0099.7-57.6l81.3 28.9a32 32 0 0035.1-9.5l1.8-2.1c34.8-41.1 61.6-87.5 79.7-137.9l.9-2.6c4.5-12.3.8-26.3-9.3-35zM788.3 465.9c2.5 15.1 3.8 30.6 3.8 46.1s-1.3 31-3.8 46.1l-6.6 40.1 74.7 63.9a370.03 370.03 0 01-42.6 73.6L721 702.8l-31.4 25.8c-23.9 19.6-50.5 35-79.3 45.8l-38.1 14.3-17.9 97a377.5 377.5 0 01-85 0l-17.9-97.2-37.8-14.5c-28.5-10.8-55-26.2-78.7-45.7l-31.4-25.9-93.4 33.2c-17-22.9-31.2-47.6-42.6-73.6l75.5-64.5-6.5-40c-2.4-14.9-3.7-30.3-3.7-45.5 0-15.3 1.2-30.6 3.7-45.5l6.5-40-75.5-64.5c11.3-26.1 25.6-50.7 42.6-73.6l93.4 33.2 31.4-25.9c23.7-19.5 50.2-34.9 78.7-45.7l37.9-14.3 17.9-97.2c28.1-3.2 56.8-3.2 85 0l17.9 97 38.1 14.3c28.7 10.8 55.4 26.2 79.3 45.8l31.4 25.8 92.8-32.9c17 22.9 31.2 47.6 42.6 73.6L781.8 426l6.5 39.9zM512 326c-97.2 0-176 78.8-176 176s78.8 176 176 176 176-78.8 176-176-78.8-176-176-176zm79.2 255.2A111.6 111.6 0 01512 614c-29.9 0-58-11.7-79.2-32.8A111.6 111.6 0 01400 502c0-29.9 11.7-58 32.8-79.2C454 401.6 482.1 390 512 390c29.9 0 58 11.6 79.2 32.8A111.6 111.6 0 01624 502c0 29.9-11.7 58-32.8 79.2z">
</path>
</svg>
</span>
</div>
</template>
<script>
export default {
data() {
isOpen: false
},
methods: {
openSetting() {
}
}
}
</script>
<style scoped lang="scss">
.setting_container {
position: fixed;
top: 240px;
right: 0;
z-index: 0;
display: flex;
align-items: center;
justify-content: center;
width: 48px;
height: 48px;
font-size: 16px;
text-align: center;
background-color: var(--primary-color);
border-radius: 4px 0 0 4px;
cursor: pointer;
pointer-events: auto;
.action-setting {
display: inline-block;
color: #fff;
font-style: normal;
font-size: 20px;
line-height: 0;
text-align: center;
text-transform: none;
vertical-align: -0.125em;
text-rendering: optimizelegibility;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
}
</style>
\ No newline at end of file
<template>
<div class="table_empty_container">
<div class="image">
<svg class="empty-img-simple" width="64" height="41" viewBox="0 0 64 41" xmlns="http://www.w3.org/2000/svg">
<g transform="translate(0 1)" fill="none" fill-rule="evenodd">
<ellipse class="empty-img-simple-ellipse" cx="32" cy="33" rx="32" ry="7"></ellipse>
<g class="empty-img-simple-g" fill-rule="nonzero">
<path
d="M55 12.76L44.854 1.258C44.367.474 43.656 0 42.907 0H21.093c-.749 0-1.46.474-1.947 1.257L9 12.761V22h46v-9.24z">
</path>
<path
d="M41.613 15.931c0-1.605.994-2.93 2.227-2.931H55v18.137C55 33.26 53.68 35 52.05 35h-40.1C10.32 35 9 33.259 9 31.137V13h11.16c1.233 0 2.227 1.323 2.227 2.928v.022c0 1.605 1.005 2.901 2.237 2.901h14.752c1.232 0 2.237-1.308 2.237-2.913v-.007z"
class="empty-img-simple-path"></path>
</g>
</g>
</svg>
</div>
<div class="title">暂无数据</div>
</div>
</template>
<style scoped lang="scss">
.table_empty_container {
color: rgba(0, 0, 0, .25);
.image {
height: 40px;
margin-bottom: 8px;
.empty-img-simple {
height: 100%;
margin: auto;
.empty-img-simple-ellipse {
fill: #f5f5f5;
}
.empty-img-simple-g {
stroke: #d9d9d9;
.empty-img-simple-path {
fill: #fafafa;
}
}
}
}
}
</style>
\ No newline at end of file
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
* 1. 此处只包含element-ui组件主题 * 1. 此处只包含element-ui组件主题
* 2. 要达到整站主题修改效果, 请确保[import './element-[#17B3A3]/index.css']当前主题色与[/src/assets/scss/_variables.scss]文件中[$--color-primary]属性值一致 * 2. 要达到整站主题修改效果, 请确保[import './element-[#17B3A3]/index.css']当前主题色与[/src/assets/scss/_variables.scss]文件中[$--color-primary]属性值一致
*/ */
import './element-#3E8EF7/index.css' // 当前主题色 // import './element-#3E8EF7/index.css' // 当前主题色
export default { export default {
list: [ list: [
'#0BB2D4', // 青色 '#0BB2D4', // 青色
......
...@@ -5,8 +5,12 @@ import store from '@/store' // api: https://github.com/vuejs/v ...@@ -5,8 +5,12 @@ import store from '@/store' // api: https://github.com/vuejs/v
import VueCookie from 'vue-cookie' // api: https://github.com/alfhen/vue-cookie import VueCookie from 'vue-cookie' // api: https://github.com/alfhen/vue-cookie
import '@/element-ui' // api: https://github.com/ElemeFE/element import '@/element-ui' // api: https://github.com/ElemeFE/element
import '@/icons' // api: http://www.iconfont.cn/ import '@/icons' // api: http://www.iconfont.cn/
import '@/element-ui-theme' // import '@/element-ui-theme'
// 引入主题样式
import '@/assets/theme/theme_0BB2D4/index.css'
import '@/assets/theme/theme_3E8EF7/index.css'
import '@/assets/scss/index.scss' import '@/assets/scss/index.scss'
import httpRequest from '@/utils/httpRequest' // api: https://github.com/axios/axios import httpRequest from '@/utils/httpRequest' // api: https://github.com/axios/axios
import { isAuth } from '@/utils' import { isAuth } from '@/utils'
import cloneDeep from 'lodash/cloneDeep' import cloneDeep from 'lodash/cloneDeep'
...@@ -16,6 +20,11 @@ import {VueJsonp} from 'vue-jsonp' ...@@ -16,6 +20,11 @@ import {VueJsonp} from 'vue-jsonp'
import VueClipboard from 'vue-clipboard2' import VueClipboard from 'vue-clipboard2'
Vue.use(VueClipboard) Vue.use(VueClipboard)
// 全局注册表格empty组件
import TableEmpty from '@/components/TableEmpty/'
import { setCookie } from './utils/cookie'
Vue.component('TableEmpty', TableEmpty)
Vue.use(VueJsonp) Vue.use(VueJsonp)
Vue.use(BaiduMap, { Vue.use(BaiduMap, {
...@@ -33,6 +42,7 @@ if (process.env.NODE_ENV !== 'production') { ...@@ -33,6 +42,7 @@ if (process.env.NODE_ENV !== 'production') {
// 挂载全局 // 挂载全局
Vue.prototype.$http = httpRequest // ajax请求方法 Vue.prototype.$http = httpRequest // ajax请求方法
Vue.prototype.isAuth = isAuth // 权限方法 Vue.prototype.isAuth = isAuth // 权限方法
setCookie('token')
// 保存整站vuex本地储存初始状态 // 保存整站vuex本地储存初始状态
window.SITE_CONFIG['storeState'] = cloneDeep(store.state) window.SITE_CONFIG['storeState'] = cloneDeep(store.state)
......
...@@ -9,6 +9,8 @@ import Router from 'vue-router' ...@@ -9,6 +9,8 @@ import Router from 'vue-router'
import http from '@/utils/httpRequest' import http from '@/utils/httpRequest'
import {isURL} from '@/utils/validate' import {isURL} from '@/utils/validate'
import {clearLoginInfo} from '@/utils' import {clearLoginInfo} from '@/utils'
import store from '../store'
import { getCookie } from '../utils/cookie'
Vue.use(Router) Vue.use(Router)
...@@ -62,10 +64,11 @@ const mainRoutes = { ...@@ -62,10 +64,11 @@ const mainRoutes = {
], ],
beforeEnter (to, from, next) { beforeEnter (to, from, next) {
let token = Vue.cookie.get('token') let token = getCookie('token');
if (!token || !/\S/.test(token)) { if (!token || !/\S/.test(token)) {
clearLoginInfo() clearLoginInfo()
next({name: 'login'}) // next({name: 'login'})
// window.location.href = store.state.domainURL + 'shoplist';
} }
next() next()
} }
...@@ -79,12 +82,13 @@ const router = new Router({ ...@@ -79,12 +82,13 @@ const router = new Router({
}) })
router.beforeEach((to, from, next) => { router.beforeEach((to, from, next) => {
let userId = Vue.cookie.get('userId') // let userId = Vue.cookie.get('userId')
let token = getCookie('token')
let menuList = sessionStorage.getItem("menuList"); let menuList = sessionStorage.getItem("menuList");
// 添加动态(菜单)路由 // 添加动态(菜单)路由
// 1. 已经添加 or 全局路由, 直接访问 // 1. 已经添加 or 全局路由, 直接访问
// 2. 获取菜单列表, 添加并保存本地存储 // 2. 获取菜单列表, 添加并保存本地存储
if(userId!='' && menuList &&( menuList=='[]' || menuList.length==0)){ if(token!='' && menuList &&( menuList=='[]' || menuList.length==0)){
http({ http({
url: http.adornUrl('/sys/menu/nav'), url: http.adornUrl('/sys/menu/nav'),
method: 'get', method: 'get',
...@@ -104,7 +108,8 @@ router.beforeEach((to, from, next) => { ...@@ -104,7 +108,8 @@ router.beforeEach((to, from, next) => {
} }
}).catch((e) => { }).catch((e) => {
console.log(`%c${e} 请求菜单列表和权限失败,跳转至登录页!!`, 'color:blue') console.log(`%c${e} 请求菜单列表和权限失败,跳转至登录页!!`, 'color:blue')
router.push({name: 'login'}) // router.push({name: 'login'})
// window.location.href = store.state.domainURL + 'shoplist';
}) })
}else if (router.options.isAddDynamicMenuRoutes || fnCurrentRouteType(to, globalRoutes) === 'global') { }else if (router.options.isAddDynamicMenuRoutes || fnCurrentRouteType(to, globalRoutes) === 'global') {
next() next()
...@@ -127,7 +132,8 @@ router.beforeEach((to, from, next) => { ...@@ -127,7 +132,8 @@ router.beforeEach((to, from, next) => {
} }
}).catch((e) => { }).catch((e) => {
console.log(`%c${e} 请求菜单列表和权限失败,跳转至登录页!!`, 'color:blue') console.log(`%c${e} 请求菜单列表和权限失败,跳转至登录页!!`, 'color:blue')
router.push({name: 'login'}) // router.push({name: 'login'})
// window.location.href = store.state.domainURL + 'shoplist';
}) })
} }
}) })
......
import Vue from 'vue' import Vue from "vue";
import Vuex from 'vuex' import Vuex from "vuex";
import cloneDeep from 'lodash/cloneDeep' import cloneDeep from "lodash/cloneDeep";
import common from './modules/common' import common from "./modules/common";
import user from './modules/user' import user from "./modules/user";
import { getMallRole } from "../utils/cookie";
Vue.use(Vuex) Vue.use(Vuex);
const isDev = process.env.NODE_ENV === "development";
export default new Vuex.Store({ export default new Vuex.Store({
modules: { state: {
common, baseURL: !isDev
user ? "https://pc.kuaidi.ledianyun.com/"
}, : "https://pc.kuaidi.ledianyun.com/",
mutations: { domainURL: !isDev
// 重置vuex本地储存状态 ? "http://pc.kuaidi.ledianyun.com/"
resetStore (state) { : "http://pc.kuaidi.ledianyun.com/",
Object.keys(state).forEach((key) => { },
state[key] = cloneDeep(window.SITE_CONFIG['storeState'][key]) modules: {
}) common,
} user,
}, },
strict: process.env.NODE_ENV !== 'production' mutations: {
}) // 重置vuex本地储存状态
resetStore(state) {
Object.keys(state).forEach((key) => {
state[key] = cloneDeep(window.SITE_CONFIG["storeState"][key]);
});
},
},
strict: process.env.NODE_ENV !== "production",
});
import Vue from "vue";
// let domain = process.env.NODE_ENV == 'development' ? '' : config.extraData.cookie.domain;
const cookie_pre = config.extraData.cookie.pre ? config.extraData.cookie.pre : 'kuaidi';
export function getMallRole() {
let role = ["master"];
let Roles = Vue.cookie.get(cookie_pre+"token");
if (Roles) {
return JSON.parse(Decrypt(Roles)).roles;
} else {
return role;
}
}
export function setCookie(cookie) {
if(cookie == 'token'){
Vue.cookie.set(cookie_pre+"token", 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiIsImp0aSI6IiJ9.eyJpc3MiOiIiLCJhdWQiOiIiLCJqdGkiOiIiLCJpYXQiOjE2ODEyMDUwNzYsIm5iZiI6MTY4MTIwNTA3NiwiZXhwIjoxNjgxODA5ODc2LCJ0b2tlbiI6ImI0M2I3OWMzYTdlMTE5Y2ZmOTYyYmQwY2Y0MTk1YTRmIiwiYnRva2VuIjoiYjQzYjc5YzNhN2UxMTljZmY5NjJiZDBjZjQxOTVhNGYiLCJyb2xlIjoiYnVzaW5lc3MiLCJiaWQiOiIxIiwibmFtZSI6IjE4NzEwODQ3MzA4IiwicGhvbmUiOiIxODcxMDg0NzMwOCIsInNvdXJjZSI6InBjIiwiY2VtZXRlcnlfaWQiOiIiLCJpbmR1c3RyeV9pZCI6IjEiLCJpbmR1c3RyeV9hbGlhcyI6InN0b3JlIiwiaW5kdXN0cnlfbGV2ZWxfaWQiOiIyIiwiaW5kdXN0cnlfbGV2ZWxfYWxpYXMiOiJhZHZhbmNlZCIsInNob3BfaWQiOiIxIiwibXRva2VuIjoiOTIzZjI2OWY1N2ZkYmFlZThlMWEyMDdmOWYxZjJhOGQiLCJ0eXBlIjoiIiwidGhpcmRfYXBwaWQiOiIiLCJjdXJyZW50X2J0b2tlbiI6ImI0M2I3OWMzYTdlMTE5Y2ZmOTYyYmQwY2Y0MTk1YTRmIiwiYWNjb3VudF90eXBlIjoiMSIsImFjY291bnRfcm9sZXMiOlsibWFzdGVyIl0sInN3aXRjaF90aW1lIjoxNjgxMjA1NDk0fQ._D73SkAoataYGsDhKy_-0_tyobYsEM2EFkPVaAL5QAk')
}else{
Vue.cookie.set(cookie)
}
}
export function getCookie(cookie) {
if(cookie == 'token'){
return Vue.cookie.get(cookie_pre+"token")
}
return Vue.cookie.get(cookie)
}
export function removeCookie(cookie) {
if(cookie == 'token'){
Vue.cookie.delete(cookie_pre + "storeMallToken")
}else{
Vue.cookie.delete(cookie)
}
}
...@@ -4,6 +4,8 @@ import router from '@/router' ...@@ -4,6 +4,8 @@ import router from '@/router'
import qs from 'qs' import qs from 'qs'
import merge from 'lodash/merge' import merge from 'lodash/merge'
import { clearLoginInfo } from '@/utils' import { clearLoginInfo } from '@/utils'
import store from '../store'
import { getCookie } from './cookie'
const http = axios.create({ const http = axios.create({
timeout: 1000 * 30, timeout: 1000 * 30,
...@@ -17,7 +19,7 @@ const http = axios.create({ ...@@ -17,7 +19,7 @@ const http = axios.create({
* 请求拦截 * 请求拦截
*/ */
http.interceptors.request.use(config => { http.interceptors.request.use(config => {
config.headers['token'] = Vue.cookie.get('token') // 请求头带上token config.headers['token'] = getCookie('token') // 请求头带上token
return config return config
}, error => { }, error => {
return Promise.reject(error) return Promise.reject(error)
...@@ -27,10 +29,19 @@ http.interceptors.request.use(config => { ...@@ -27,10 +29,19 @@ http.interceptors.request.use(config => {
* 响应拦截 * 响应拦截
*/ */
http.interceptors.response.use(response => { http.interceptors.response.use(response => {
if (response.data && response.data.code === 401) { // 401, token失效 let authErrors = [10001, 10002, 10003, 10004, 401];
sessionStorage.clear() if (response.data && authErrors.indexOf(response.data.code) > -1) { // 401, token失效
clearLoginInfo() Message({
router.push({ name: 'login' }) message: response.data['message'] + ',请重新选择',
type: 'error',
duration: 1.5 * 1000,
onClose: () => {
clearLoginInfo()
sessionStorage.clear()
// window.location.href = store.state.domainURL + 'shoplist';
}
})
// router.push({ name: 'login' })
} }
return response return response
}, error => { }, error => {
...@@ -43,9 +54,9 @@ http.interceptors.response.use(response => { ...@@ -43,9 +54,9 @@ http.interceptors.response.use(response => {
*/ */
http.adornUrl = (actionName) => { http.adornUrl = (actionName) => {
// 非生产环境 && 开启代理, 接口前缀统一使用[/proxyApi/]前缀做代理拦截! // 非生产环境 && 开启代理, 接口前缀统一使用[/proxyApi/]前缀做代理拦截!
// return (process.env.NODE_ENV !== 'production' && process.env.OPEN_PROXY ? '/proxyApi/' : window.SITE_CONFIG.baseUrl) + actionName return (process.env.NODE_ENV !== 'production' && process.env.OPEN_PROXY ? '/proxyApi/' : window.SITE_CONFIG.baseUrl) + actionName
// return 'http://192.168.0.119:8182/sqx_fast/' + actionName // return 'http://1.12.76.77:8181/sqx_fast' + actionName
return 'https://admin.sj088.cn/sqx_fast/' + actionName // return 'https://admin.sj088.cn/sqx_fast/' + actionName
} }
http.adornUrl2 = (actionName) => { http.adornUrl2 = (actionName) => {
......
import Vue from 'vue' import Vue from 'vue'
import router from '@/router' import router from '@/router'
import store from '@/store' import store from '@/store'
import { removeCookie } from './cookie';
/** /**
* 获取uuid * 获取uuid
...@@ -52,7 +53,8 @@ export function treeDataTranslate (data, id = 'id', pid = 'parentId') { ...@@ -52,7 +53,8 @@ export function treeDataTranslate (data, id = 'id', pid = 'parentId') {
* 清除登录信息 * 清除登录信息
*/ */
export function clearLoginInfo () { export function clearLoginInfo () {
Vue.cookie.delete('token') // Vue.cookie.delete('token')
removeCookie('token');
store.commit('resetStore') store.commit('resetStore')
router.options.isAddDynamicMenuRoutes = false router.options.isAddDynamicMenuRoutes = false
} }
const CryptoJS = require('crypto-js'); //引用AES源码js
const key = CryptoJS.enc.Utf8.parse("wTuQtvphrscRMoNY"); //十六位十六进制数作为秘钥
const iv = CryptoJS.enc.Utf8.parse('yku3fNnI2HJQWKd3'); //十六位十六进制数作为秘钥偏移量
//解密方法
export function Decrypt(word) {
let decrypted = CryptoJS.AES.decrypt(word, key, { iv: iv, mode: CryptoJS.mode.CBC , padding: CryptoJS.pad.Pkcs7 });
let decryptedStr = decrypted.toString(CryptoJS.enc.Utf8);
return decryptedStr.toString();
}
//加密方法
export function Encrypt(word) {
let encrypted = CryptoJS.AES.encrypt(word, key, { iv: iv, mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.Pkcs7 });
return encrypted.toString();
}
import elTheme from "@/element-ui-theme/index.js";
export function changeTheme(themeName) {
console.log('----当前主题色----', themeName)
sessionStorage.setItem("theme", themeName);
let bodyEl = document.getElementsByTagName("body")[0];
bodyEl.className = "theme_" + themeName.split('#')[1]; //改成相应类名
bodyEl.style.setProperty("--primary-color", themeName);
}
export function initTheme() {
let theme = sessionStorage.getItem("theme");
if (theme) {
changeTheme(theme);
} else {
// 默认颜色
changeTheme(elTheme.list[1]);
}
}
<template> <template>
<div> <div>
<div style="display: inline-block;float: right;"> <div style="display: inline-block;width:100%;text-align: right;">
<el-button style='margin-left:15px;' :disabled="!isAuth('couponYhq:add')" size="mini" type="primary" <el-button style='margin-left:15px;' :disabled="!isAuth('couponYhq:add')" size="mini" type="primary"
icon="document" @click="addCoupon">添加优惠券</el-button> icon="document" @click="addCoupon">添加优惠券</el-button>
<el-button style='margin-left:15px;' size="mini" type="primary" icon="document" @click="refresh">刷新 <el-button style='margin-left:15px;' size="mini" type="primary" icon="document" @click="refresh">刷新
......
...@@ -67,12 +67,13 @@ ...@@ -67,12 +67,13 @@
set (val) { this.$store.commit('common/updateMainTabsActiveName', val) } set (val) { this.$store.commit('common/updateMainTabsActiveName', val) }
}, },
siteContentViewHeight () { siteContentViewHeight () {
var height = this.documentClientHeight - 50 - 30 - 2 var height = this.documentClientHeight - 50 - 48 - 2
if (this.$route.meta.isTab) { if (this.$route.meta.isTab) {
height -= 40 height -= 40
return isURL(this.$route.meta.iframeUrl) ? { height: height + 'px' } : { minHeight: height + 'px' } // return isURL(this.$route.meta.iframeUrl) ? { height: height + 'px' } : { minHeight: height + 'px' }
} }
return { minHeight: height + 'px' } // return { minHeight: height + 'px' }
return { minHeight: 'auto' }
} }
}, },
methods: { methods: {
......
<template> <template>
<nav class="site-navbar" :class="'site-navbar--' + navbarLayoutType"> <nav class="site-navbar" :class="'site-navbar--' + navbarLayoutType">
<div class="site-navbar__header"> <div class="site-navbar__header">
<h1 class="site-navbar__brand" @click="$router.push({ name: 'home' })"> <h1 class="site-navbar__brand" @click="slideHeaderClick">
<a class="site-navbar__brand-lg" href="javascript:;">裹裹快递上门取件寄快递系统</a> <a class="site-navbar__brand-mini" href="javascript:;"> <!-- <a class="site-navbar__brand-mini"
<img src="~@/assets/img/avatar.png" style="width: 25px;border-radius: 50%;"> href="javascript:;">
</a> <img src="~@/assets/img/avatar.png" style="width: 25px;border-radius: 50%;">
</a> -->
<!-- <a class="site-navbar__brand-lg" href="javascript:;">裹裹快递上门取件寄快递系统</a> -->
<a class="site-navbar__brand-lg" href="javascript:;">
<img src="~@/assets/img/avatar.png" style="border-radius: 50%;">
<h1>裹裹快递系统</h1>
</a>
</h1> </h1>
</div> </div>
<div class="site-navbar__body clearfix"> <div class="site-navbar__body clearfix">
<el-menu <el-menu class="site-navbar__menu" mode="horizontal">
class="site-navbar__menu"
mode="horizontal">
<el-menu-item class="site-navbar__switch" index="0" @click="sidebarFold = !sidebarFold"> <el-menu-item class="site-navbar__switch" index="0" @click="sidebarFold = !sidebarFold">
<icon-svg name="zhedie"></icon-svg> <icon-svg name="zhedie"></icon-svg>
</el-menu-item> </el-menu-item>
</el-menu> </el-menu>
<el-menu <el-button @click="themeChange">切换主题</el-button>
class="site-navbar__menu site-navbar__menu--right"
mode="horizontal"> <!-- <el-menu class="site-navbar__menu site-navbar__menu--right" mode="horizontal">
<!-- <el-menu-item index="1" @click="$router.push({ name: 'theme' })"> <!== <el-menu-item index="1" @click="$router.push({ name: 'theme' })">
<template slot="title"> <template slot="title">
<el-badge value="new"> <el-badge value="new">
<icon-svg name="shezhi" class="el-icon-setting"></icon-svg> <icon-svg name="shezhi" class="el-icon-setting"></icon-svg>
</el-badge> </el-badge>
</template> </template>
</el-menu-item> --> </el-menu-item> ==>
<el-menu-item class="site-navbar__avatar" index="3"> <el-menu-item class="site-navbar__avatar" index="3">
<el-dropdown :show-timeout="0" placement="bottom"> <el-dropdown :show-timeout="0" placement="bottom">
<span class="el-dropdown-link"> <span class="el-dropdown-link">
<img src="~@/assets/img/avatar.png" :alt="userName">{{ userName }} <img src="~@/assets/img/avatar.png" :alt="userName">{{ userName }}
</span> </span>
<el-dropdown-menu slot="dropdown"> <el-dropdown-menu slot="dropdown">
<!-- <el-dropdown-item @click.native="updatePasswordHandle()">修改密码</el-dropdown-item> --> <!== <el-dropdown-item @click.native="updatePasswordHandle()">修改密码</el-dropdown-item> ==>
<el-dropdown-item @click.native="logoutHandle()">退出</el-dropdown-item> <el-dropdown-item @click.native="logoutHandle()">退出</el-dropdown-item>
</el-dropdown-menu> </el-dropdown-menu>
</el-dropdown> </el-dropdown>
</el-menu-item> </el-menu-item>
</el-menu> </el-menu> -->
</div> </div>
<!-- 弹窗, 修改密码 --> <!-- 弹窗, 修改密码 -->
<update-password v-if="updatePassowrdVisible" ref="updatePassowrd"></update-password> <update-password v-if="updatePassowrdVisible" ref="updatePassowrd"></update-password>
...@@ -44,62 +48,72 @@ ...@@ -44,62 +48,72 @@
</template> </template>
<script> <script>
import UpdatePassword from './main-navbar-update-password' import UpdatePassword from './main-navbar-update-password'
import { clearLoginInfo } from '@/utils' import { clearLoginInfo } from '@/utils'
export default { import {changeTheme} from '../utils/theme'
data () { import { removeCookie } from '../utils/cookie'
return { export default {
updatePassowrdVisible: false data() {
} return {
updatePassowrdVisible: false
}
},
components: {
UpdatePassword
},
computed: {
navbarLayoutType: {
get() { return this.$store.state.common.navbarLayoutType }
},
sidebarFold: {
get() { return this.$store.state.common.sidebarFold },
set(val) { this.$store.commit('common/updateSidebarFold', val) }
},
mainTabs: {
get() { return this.$store.state.common.mainTabs },
set(val) { this.$store.commit('common/updateMainTabs', val) }
},
userName: {
get() { return this.$store.state.user.name }
}
},
methods: {
themeChange() {
changeTheme('#0BB2D4')
}, },
components: { // 菜单头部点击
UpdatePassword slideHeaderClick() {
this.$store.commit('common/updateMenuActiveName', 'home')
this.$router.push({ name: 'home' })
}, },
computed: { // 修改密码
navbarLayoutType: { updatePasswordHandle() {
get () { return this.$store.state.common.navbarLayoutType } this.updatePassowrdVisible = true
}, this.$nextTick(() => {
sidebarFold: { this.$refs.updatePassowrd.init()
get () { return this.$store.state.common.sidebarFold }, })
set (val) { this.$store.commit('common/updateSidebarFold', val) }
},
mainTabs: {
get () { return this.$store.state.common.mainTabs },
set (val) { this.$store.commit('common/updateMainTabs', val) }
},
userName: {
get () { return this.$store.state.user.name }
}
}, },
methods: { // 退出
// 修改密码 logoutHandle() {
updatePasswordHandle () { this.$confirm(`确定进行[退出]操作?`, '提示', {
this.updatePassowrdVisible = true confirmButtonText: '确定',
this.$nextTick(() => { cancelButtonText: '取消',
this.$refs.updatePassowrd.init() type: 'warning'
}).then(() => {
this.$http({
url: this.$http.adornUrl('/sys/logout'),
method: 'post',
data: this.$http.adornData()
}).then(({ data }) => {
if (data && data.code === 0) {
sessionStorage.clear()
clearLoginInfo()
// this.$router.push({ name: 'login' })
window.location.href = store.state.domainURL + 'shoplist';
}
}) })
}, }).catch(() => { })
// 退出
logoutHandle () {
this.$confirm(`确定进行[退出]操作?`, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.$http({
url: this.$http.adornUrl('/sys/logout'),
method: 'post',
data: this.$http.adornData()
}).then(({data}) => {
if (data && data.code === 0) {
sessionStorage.clear()
clearLoginInfo()
this.$cookie.set('token','')
this.$router.push({ name: 'login' })
}
})
}).catch(() => {})
}
} }
} }
}
</script> </script>
<template> <template>
<el-submenu <el-submenu v-if="menu.list && menu.list.length >= 1" :index="menu.menuId + ''"
v-if="menu.list && menu.list.length >= 1"
:index="menu.menuId + ''"
:popper-class="'site-sidebar--' + sidebarLayoutSkin + '-popper'"> :popper-class="'site-sidebar--' + sidebarLayoutSkin + '-popper'">
<template slot="title"> <template slot="title">
<icon-svg :name="menu.icon || ''" class="site-sidebar__menu-icon"></icon-svg> <icon-svg :name="menu.icon || ''" class="site-sidebar__menu-icon"></icon-svg>
<span>{{ menu.name }}</span> <span>{{ menu.name }}</span>
</template> </template>
<sub-menu <sub-menu v-for="item in menu.list" :key="item.menuId" :menu="item" :dynamicMenuRoutes="dynamicMenuRoutes">
v-for="item in menu.list"
:key="item.menuId"
:menu="item"
:dynamicMenuRoutes="dynamicMenuRoutes">
</sub-menu> </sub-menu>
</el-submenu> </el-submenu>
<el-menu-item v-else :index="menu.menuId + ''" @click="gotoRouteHandle(menu)"> <el-menu-item v-else :index="menu.url + ''" @click="gotoRouteHandle(menu)">
<icon-svg :name="menu.icon || ''" class="site-sidebar__menu-icon"></icon-svg> <icon-svg :name="menu.icon || ''" class="site-sidebar__menu-icon"></icon-svg>
<span>{{ menu.name }}</span> <span>{{ menu.name }}</span>
</el-menu-item> </el-menu-item>
</template> </template>
<script> <script>
import SubMenu from './main-sidebar-sub-menu' import SubMenu from './main-sidebar-sub-menu'
export default { export default {
name: 'sub-menu', name: 'sub-menu',
props: { props: {
menu: { menu: {
type: Object, type: Object,
required: true required: true
},
dynamicMenuRoutes: {
type: Array,
required: true
}
},
components: {
SubMenu
}, },
computed: { dynamicMenuRoutes: {
sidebarLayoutSkin: { type: Array,
get () { return this.$store.state.common.sidebarLayoutSkin } required: true
}
},
components: {
SubMenu
},
computed: {
sidebarLayoutSkin: {
get() { return this.$store.state.common.sidebarLayoutSkin }
}
},
methods: {
// 通过menuId与动态(菜单)路由进行匹配跳转至指定路由
gotoRouteHandle(menu) {
var route = this.dynamicMenuRoutes.filter(item => item.meta.menuId === menu.menuId)
if (route.length >= 1) {
this.$router.push({ name: route[0].name })
} }
}, },
methods: {
// 通过menuId与动态(菜单)路由进行匹配跳转至指定路由
gotoRouteHandle (menu) {
var route = this.dynamicMenuRoutes.filter(item => item.meta.menuId === menu.menuId)
if (route.length >= 1) {
this.$router.push({ name: route[0].name })
}
}
}
} }
}
</script> </script>
<template> <template>
<aside class="site-sidebar" :class="'site-sidebar--' + sidebarLayoutSkin"> <aside class="site-sidebar" :class="'site-sidebar--' + sidebarLayoutSkin">
<div class="site-sidebar__inner"> <div class="site-sidebar__inner">
<el-menu <el-menu :default-active="menuActiveName || 'home'" :collapse="sidebarFold" class="site-sidebar__menu" unique-opened>
:default-active="menuActiveName || 'home'" <!-- <el-menu-item index="home" @click="$router.push({ name: 'home' })">
:collapse="sidebarFold"
:collapseTransition="false"
class="site-sidebar__menu">
<!-- <el-menu-item index="home" @click="$router.push({ name: 'home' })">
<icon-svg name="shuju" class="site-sidebar__menu-icon"></icon-svg> <icon-svg name="shuju" class="site-sidebar__menu-icon"></icon-svg>
<span slot="title">数据中心</span> <span slot="title">数据中心</span>
</el-menu-item> </el-menu-item>
...@@ -30,15 +26,15 @@ ...@@ -30,15 +26,15 @@
<icon-svg name="renwu" class="site-sidebar__menu-icon"></icon-svg> <icon-svg name="renwu" class="site-sidebar__menu-icon"></icon-svg>
<span slot="title">任务配置</span> <span slot="title">任务配置</span>
</el-menu-item> --> </el-menu-item> -->
<!-- <el-menu-item index="missionsye" @click="$router.push({ name: 'missionsye' })"> <!-- <el-menu-item index="missionsye" @click="$router.push({ name: 'missionsye' })">
<icon-svg name="pingtai" class="site-sidebar__menu-icon"></icon-svg> <icon-svg name="pingtai" class="site-sidebar__menu-icon"></icon-svg>
<span slot="title">系统任务</span> <span slot="title">系统任务</span>
</el-menu-item> --> </el-menu-item> -->
<!-- <el-menu-item index="materialsList" @click="$router.push({ name: 'materialsList' })"> <!-- <el-menu-item index="materialsList" @click="$router.push({ name: 'materialsList' })">
<icon-svg name="xinxi" class="site-sidebar__menu-icon"></icon-svg> <icon-svg name="xinxi" class="site-sidebar__menu-icon"></icon-svg>
<span slot="title">好物圈</span> <span slot="title">好物圈</span>
</el-menu-item> --> </el-menu-item> -->
<!-- <el-menu-item index="bannerList" @click="$router.push({ name: 'bannerList' })"> <!-- <el-menu-item index="bannerList" @click="$router.push({ name: 'bannerList' })">
<icon-svg name="shangpin" class="site-sidebar__menu-icon"></icon-svg> <icon-svg name="shangpin" class="site-sidebar__menu-icon"></icon-svg>
<span slot="title">商城配置</span> <span slot="title">商城配置</span>
</el-menu-item> </el-menu-item>
...@@ -46,89 +42,159 @@ ...@@ -46,89 +42,159 @@
<icon-svg name="system" class="site-sidebar__menu-icon"></icon-svg> <icon-svg name="system" class="site-sidebar__menu-icon"></icon-svg>
<span slot="title">系统配置</span> <span slot="title">系统配置</span>
</el-menu-item> --> </el-menu-item> -->
<sub-menu <sub-menu v-for="menu in menuList" :key="menu.menuId" :menu="menu"
v-for="menu in menuList"
:key="menu.menuId"
:menu="menu"
:dynamicMenuRoutes="dynamicMenuRoutes"> :dynamicMenuRoutes="dynamicMenuRoutes">
</sub-menu> </sub-menu>
</el-menu> </el-menu>
</div> </div>
<el-menu class="site-navbar__menu site-navbar__menu--right" mode="horizontal">
<!-- <el-menu-item index="1" @click="$router.push({ name: 'theme' })">
<template slot="title">
<el-badge value="new">
<icon-svg name="shezhi" class="el-icon-setting"></icon-svg>
</el-badge>
</template>
</el-menu-item> -->
<el-menu-item class="site-navbar__avatar" index="3">
<el-dropdown class="site-navbar_dropdown" :show-timeout="0" placement="bottom">
<span class="el-dropdown-link">
<img src="~@/assets/img/avatar.png" :alt="userName">
<span class="el-dropdown-link_text">{{ userName }}</span>
</span>
<el-dropdown-menu slot="dropdown">
<!-- <el-dropdown-item @click.native="updatePasswordHandle()">修改密码</el-dropdown-item> -->
<el-dropdown-item>退出</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</el-menu-item>
</el-menu>
</aside> </aside>
</template> </template>
<script> <script>
import SubMenu from './main-sidebar-sub-menu' import SubMenu from './main-sidebar-sub-menu'
import { isURL } from '@/utils/validate' import { isURL } from '@/utils/validate'
export default { export default {
data () { data() {
return { return {
dynamicMenuRoutes: [] dynamicMenuRoutes: []
} }
},
components: {
SubMenu
},
computed: {
sidebarLayoutSkin: {
get() { return this.$store.state.common.sidebarLayoutSkin }
}, },
components: { sidebarFold: {
SubMenu get() { return this.$store.state.common.sidebarFold }
}, },
computed: { menuList: {
sidebarLayoutSkin: { get() { return this.$store.state.common.menuList },
get () { return this.$store.state.common.sidebarLayoutSkin } set(val) { this.$store.commit('common/updateMenuList', val) }
},
sidebarFold: {
get () { return this.$store.state.common.sidebarFold }
},
menuList: {
get () { return this.$store.state.common.menuList },
set (val) { this.$store.commit('common/updateMenuList', val) }
},
menuActiveName: {
get () { return this.$store.state.common.menuActiveName },
set (val) { this.$store.commit('common/updateMenuActiveName', val) }
},
mainTabs: {
get () { return this.$store.state.common.mainTabs },
set (val) { this.$store.commit('common/updateMainTabs', val) }
},
mainTabsActiveName: {
get () { return this.$store.state.common.mainTabsActiveName },
set (val) { this.$store.commit('common/updateMainTabsActiveName', val) }
}
}, },
watch: { menuActiveName: {
$route: 'routeHandle' get() { return this.$store.state.common.menuActiveName },
set(val) { this.$store.commit('common/updateMenuActiveName', val) }
}, },
created () { mainTabs: {
this.menuList = JSON.parse(sessionStorage.getItem('menuList') || '[]') get() { return this.$store.state.common.mainTabs },
this.dynamicMenuRoutes = JSON.parse(sessionStorage.getItem('dynamicMenuRoutes') || '[]') set(val) { this.$store.commit('common/updateMainTabs', val) }
this.routeHandle(this.$route)
}, },
methods: { mainTabsActiveName: {
// 路由操作 get() { return this.$store.state.common.mainTabsActiveName },
routeHandle (route) { set(val) { this.$store.commit('common/updateMainTabsActiveName', val) }
if (route.meta.isTab) { },
// tab选中, 不存在先添加 userName: {
var tab = this.mainTabs.filter(item => item.name === route.name)[0] get() { return this.$store.state.user.name }
if (!tab) { }
if (route.meta.isDynamic) { },
route = this.dynamicMenuRoutes.filter(item => item.name === route.name)[0] watch: {
if (!route) { $route: 'routeHandle'
return console.error('未能找到可用标签页!') },
} created() {
} this.menuList = JSON.parse(sessionStorage.getItem('menuList') || '[]')
tab = { this.dynamicMenuRoutes = JSON.parse(sessionStorage.getItem('dynamicMenuRoutes') || '[]')
menuId: route.meta.menuId || route.name, this.routeHandle(this.$route)
name: route.name, },
title: route.meta.title, methods: {
type: isURL(route.meta.iframeUrl) ? 'iframe' : 'module', // 路由操作
iframeUrl: route.meta.iframeUrl || '', routeHandle(route) {
params: route.params, if (route.meta.isTab) {
query: route.query // tab选中, 不存在先添加
var tab = this.mainTabs.filter(item => item.name === route.name)[0]
if (!tab) {
if (route.meta.isDynamic) {
route = this.dynamicMenuRoutes.filter(item => item.name === route.name)[0]
if (!route) {
return console.error('未能找到可用标签页!')
} }
this.mainTabs = this.mainTabs.concat(tab)
} }
this.menuActiveName = tab.menuId + '' tab = {
this.mainTabsActiveName = tab.name menuId: route.meta.menuId || route.name,
name: route.name,
title: route.meta.title,
type: isURL(route.meta.iframeUrl) ? 'iframe' : 'module',
iframeUrl: route.meta.iframeUrl || '',
params: route.params,
query: route.query
}
this.mainTabs = this.mainTabs.concat(tab)
} }
this.menuActiveName = tab.menuId + ''
this.mainTabsActiveName = tab.name
} }
} },
} }
}
</script> </script>
<style lang="scss">
.site-sidebar--fold {
.site-sidebar__inner {
overflow: hidden auto;
}
.el-menu-item {
padding: 0 10px;
img {
margin-right: 0;
}
.el-dropdown-link_text {
display: none;
}
}
}
.site-sidebar {
display: flex;
flex-direction: column;
.site-sidebar__inner {
flex: 1;
height: auto;
padding: 0;
&::-webkit-scrollbar {
width: 6px;
height: 6px;
}
&::-webkit-scrollbar-thumb {
background: hsla(0, 0%, 100%, .2);
border-radius: 3px;
box-shadow: inset 0 0 5px hsla(0, 0%, 100%, .05);
}
&::-webkit-scrollbar-track {
background: hsla(0, 0%, 100%, .15);
border-radius: 3px;
box-shadow: inset 0 0 5px rgba(37, 37, 37, .05);
}
}
}
</style>
<template> <template>
<div <div class="site-wrapper" :class="{ 'site-sidebar--fold': sidebarFold }" v-loading.fullscreen.lock="loading"
class="site-wrapper"
:class="{ 'site-sidebar--fold': sidebarFold }"
v-loading.fullscreen.lock="loading"
element-loading-text="拼命加载中"> element-loading-text="拼命加载中">
<template v-if="!loading"> <template v-if="!loading">
<main-navbar /> <main-navbar />
<main-sidebar /> <main-sidebar />
<div class="site-content__wrapper" :style="{ 'min-height': documentClientHeight + 'px' }"> <div class="site-content__wrapper" :style="{ 'min-height': documentClientHeight + 'px' }">
<main-content v-if="!$store.state.common.contentIsNeedRefresh" /> <main-content v-if="!$store.state.common.contentIsNeedRefresh" />
<Setting />
</div> </div>
</template> </template>
</div> </div>
</template> </template>
<script> <script>
import MainNavbar from './main-navbar' import MainNavbar from './main-navbar'
import MainSidebar from './main-sidebar' import MainSidebar from './main-sidebar'
import MainContent from './main-content' import MainContent from './main-content'
export default { import Setting from '@/components/Setting/index.vue'
provide () { export default {
return { provide() {
// 刷新 return {
refresh () { // 刷新
this.$store.commit('common/updateContentIsNeedRefresh', true) refresh() {
this.$nextTick(() => { this.$store.commit('common/updateContentIsNeedRefresh', true)
this.$store.commit('common/updateContentIsNeedRefresh', false) this.$nextTick(() => {
}) this.$store.commit('common/updateContentIsNeedRefresh', false)
} })
} }
}
},
data() {
return {
loading: true
}
},
components: {
MainNavbar,
MainSidebar,
MainContent,
Setting
},
computed: {
documentClientHeight: {
get() { return this.$store.state.common.documentClientHeight },
set(val) { this.$store.commit('common/updateDocumentClientHeight', val) }
}, },
data () { sidebarFold: {
return { get() { return this.$store.state.common.sidebarFold }
loading: true
}
}, },
components: { userId: {
MainNavbar, get() { return this.$store.state.user.id },
MainSidebar, set(val) { this.$store.commit('user/updateId', val) }
MainContent
}, },
computed: { userName: {
documentClientHeight: { get() { return this.$store.state.user.name },
get () { return this.$store.state.common.documentClientHeight }, set(val) { this.$store.commit('user/updateName', val) }
set (val) { this.$store.commit('common/updateDocumentClientHeight', val) } }
}, },
sidebarFold: { created() {
get () { return this.$store.state.common.sidebarFold } this.getUserInfo()
}, },
userId: { mounted() {
get () { return this.$store.state.user.id }, this.resetDocumentClientHeight()
set (val) { this.$store.commit('user/updateId', val) } },
}, methods: {
userName: { // 重置窗口可视高度
get () { return this.$store.state.user.name }, resetDocumentClientHeight() {
set (val) { this.$store.commit('user/updateName', val) } this.documentClientHeight = document.documentElement['clientHeight']
window.onresize = () => {
this.documentClientHeight = document.documentElement['clientHeight']
} }
}, },
created () { // 获取当前管理员信息
this.getUserInfo() getUserInfo() {
}, this.$http({
mounted () { url: this.$http.adornUrl('/sys/user/info'),
this.resetDocumentClientHeight() method: 'get',
}, params: this.$http.adornParams()
methods: { }).then(({ data }) => {
// 重置窗口可视高度 if (data && data.code === 0) {
resetDocumentClientHeight () { this.loading = false
this.documentClientHeight = document.documentElement['clientHeight'] this.userId = data.user.userId
window.onresize = () => { this.userName = data.user.username
this.documentClientHeight = document.documentElement['clientHeight']
} }
}, })
// 获取当前管理员信息
getUserInfo () {
this.$http({
url: this.$http.adornUrl('/sys/user/info'),
method: 'get',
params: this.$http.adornParams()
}).then(({data}) => {
if (data && data.code === 0) {
this.loading = false
this.userId = data.user.userId
this.userName = data.user.username
}
})
}
} }
} }
}
</script> </script>
<style lang="scss"></style>
...@@ -20,6 +20,8 @@ ...@@ -20,6 +20,8 @@
</template> </template>
<script> <script>
import { getCookie } from '../../../utils/cookie'
export default { export default {
data () { data () {
return { return {
...@@ -32,7 +34,7 @@ ...@@ -32,7 +34,7 @@
}, },
methods: { methods: {
init (id) { init (id) {
this.url = this.$http.adornUrl(`/sys/oss/upload?token=${this.$cookie.get('token')}`) this.url = this.$http.adornUrl(`/sys/oss/upload?token=${getCookie('token')}`)
this.visible = true this.visible = true
}, },
// 上传之前 // 上传之前
......
...@@ -89,8 +89,8 @@ ...@@ -89,8 +89,8 @@
</div> </div>
<div style="margin:5px;display: inline-block;margin: 5px;"> <div style="margin:5px;display: inline-block;margin: 5px;">
<span>下单截止时间:</span> <span>下单截止时间:</span>
<el-date-picker style="width: 160px;margin-left: 10px;" v-model="endTime" align="right" <el-date-picker style="width: 160px;margin-left: 10px;" v-model="endTime" align="right" type="datetime"
type="datetime" format="yyyy-MM-dd" value-format="yyyy-MM-dd" placeholder="选择截止时间"> format="yyyy-MM-dd" value-format="yyyy-MM-dd" placeholder="选择截止时间">
</el-date-picker> </el-date-picker>
</div> </div>
<div style="margin:5px;display: inline-block;margin: 5px;"> <div style="margin:5px;display: inline-block;margin: 5px;">
...@@ -114,7 +114,11 @@ ...@@ -114,7 +114,11 @@
</div> </div>
<!-- <div style="color: orange;"> * 导出订单提示:导出订单前请进行时间或者状态等筛选,否则导出订单量过多易出现卡顿或系统崩溃</div> --> <!-- <div style="color: orange;"> * 导出订单提示:导出订单前请进行时间或者状态等筛选,否则导出订单量过多易出现卡顿或系统崩溃</div> -->
<el-table v-loading="tableDataLoading" :data="tableData.list"> <el-table v-loading="tableDataLoading" :data="tableData.list">
<el-table-column fixed prop="expressageId" label="编号" width="80" fixed="left"> <!-- ele 暂无数据插槽 -->
<template slot="empty">
<TableEmpty />
</template>
<el-table-column fixed prop="expressageId" label="编号" width="80">
</el-table-column> </el-table-column>
<el-table-column prop="nickName" label="订单信息" width="350"> <el-table-column prop="nickName" label="订单信息" width="350">
<template slot-scope="scope"> <template slot-scope="scope">
...@@ -125,7 +129,7 @@ ...@@ -125,7 +129,7 @@
<tr> <tr>
<th>订单号</th> <th>订单号</th>
<td class="border-rt">{{scope.row.ordersNo}} <td class="border-rt">{{ scope.row.ordersNo }}
<span @click="copys(scope.row.ordersNo)" <span @click="copys(scope.row.ordersNo)"
style="color: #4f9dec;cursor: pointer;"> style="color: #4f9dec;cursor: pointer;">
<icon-svg name="bianji" v-if="scope.row.ordersNo" <icon-svg name="bianji" v-if="scope.row.ordersNo"
...@@ -136,9 +140,9 @@ ...@@ -136,9 +140,9 @@
<tr> <tr>
<th>运单号</th> <th>运单号</th>
<td class="border-rt"> <td class="border-rt">
<a :href="'https://www.baidu.com/s?wd='+scope.row.expressageNo" <a :href="'https://www.baidu.com/s?wd=' + scope.row.expressageNo"
target="_blank" class="page-scroll" target="_blank" class="page-scroll"
v-if="scope.row.expressageNo">{{scope.row.expressageNo}}</a> v-if="scope.row.expressageNo">{{ scope.row.expressageNo }}</a>
<span v-else> - </span> <span v-else> - </span>
<span @click="copys(scope.row.expressageNo)" <span @click="copys(scope.row.expressageNo)"
...@@ -152,9 +156,8 @@ ...@@ -152,9 +156,8 @@
<tr> <tr>
<th>云洋单号</th> <th>云洋单号</th>
<td class="border-rt"> <td class="border-rt">
<a :href="'https://www.baidu.com/s?wd='+scope.row.waybill" <a :href="'https://www.baidu.com/s?wd=' + scope.row.waybill" target="_blank"
target="_blank" class="page-scroll" class="page-scroll" v-if="scope.row.waybill">{{ scope.row.waybill }}</a>
v-if="scope.row.waybill">{{scope.row.waybill}}</a>
<span v-else> - </span> <span v-else> - </span>
<span @click="copys(scope.row.waybill)" <span @click="copys(scope.row.waybill)"
...@@ -167,23 +170,22 @@ ...@@ -167,23 +170,22 @@
</tr> </tr>
<tr> <tr>
<th>下单时间</th> <th>下单时间</th>
<td class="border-rt">{{scope.row.createTime}}</td> <td class="border-rt">{{ scope.row.createTime }}</td>
</tr> </tr>
<tr> <tr>
<th>快递公司</th> <th>快递公司</th>
<td class="border-rt"> <td class="border-rt">
{{scope.row.expressageCompany}} {{ scope.row.expressageCompany }}
<span style="cursor: pointer;color: #4f9dec;" <span style="cursor: pointer;color: #4f9dec;"
@click="wuliu(scope.row,1)">物流信息</span> @click="wuliu(scope.row, 1)">物流信息</span>
</td> </td>
</tr> </tr>
<tr> <tr>
<th class="border-bt">快递员</th> <th class="border-bt">快递员</th>
<td class="border-bt border-rt"><span <td class="border-bt border-rt"><span style="cursor: pointer;color: #4f9dec;"
style="cursor: pointer;color: #4f9dec;" @click="dataDel(scope.row, 1)">{{ scope.row.expressageName ? scope.row.expressageName : '-' }}</span>
@click="dataDel(scope.row,1)">{{scope.row.expressageName?scope.row.expressageName:'-'}}</span>
<span style="cursor: pointer;color: #4f9dec;" <span style="cursor: pointer;color: #4f9dec;"
@click="dataDel(scope.row,1)">查看</span> @click="dataDel(scope.row, 1)">查看</span>
</td> </td>
</tr> </tr>
</tbody> </tbody>
...@@ -202,13 +204,13 @@ ...@@ -202,13 +204,13 @@
<th>寄件人</th> <th>寄件人</th>
<td class="border-rt"> <td class="border-rt">
<span style="cursor: pointer;color: #4f9dec;" <span style="cursor: pointer;color: #4f9dec;"
@click="dataDel(scope.row,2)">{{scope.row.senderName}}</span> @click="dataDel(scope.row, 2)">{{ scope.row.senderName }}</span>
</td> </td>
</tr> </tr>
<tr> <tr>
<th>手机号</th> <th>手机号</th>
<td class="border-rt"> <td class="border-rt">
{{scope.row.senderPhone}} {{ scope.row.senderPhone }}
<span @click="copys(scope.row.senderPhone)" <span @click="copys(scope.row.senderPhone)"
style="color: #4f9dec;cursor: pointer;"> style="color: #4f9dec;cursor: pointer;">
<icon-svg name="bianji" v-if="scope.row.senderPhone" <icon-svg name="bianji" v-if="scope.row.senderPhone"
...@@ -220,12 +222,12 @@ ...@@ -220,12 +222,12 @@
<th>收件人</th> <th>收件人</th>
<td class="border-rt"> <td class="border-rt">
<span style="cursor: pointer;color: #4f9dec;" <span style="cursor: pointer;color: #4f9dec;"
@click="dataDel(scope.row,3)">{{scope.row.receiverName}}</span> @click="dataDel(scope.row, 3)">{{ scope.row.receiverName }}</span>
</td> </td>
</tr> </tr>
<tr> <tr>
<th>手机号</th> <th>手机号</th>
<td class="border-rt">{{scope.row.receiverPhone}} <td class="border-rt">{{ scope.row.receiverPhone }}
<span @click="copys(scope.row.receiverPhone)" <span @click="copys(scope.row.receiverPhone)"
style="color: #4f9dec;cursor: pointer;"> style="color: #4f9dec;cursor: pointer;">
<icon-svg name="bianji" v-if="scope.row.receiverPhone" <icon-svg name="bianji" v-if="scope.row.receiverPhone"
...@@ -237,14 +239,14 @@ ...@@ -237,14 +239,14 @@
<th>下单用户</th> <th>下单用户</th>
<td class="border-rt"> <td class="border-rt">
<span style="cursor: pointer;color: #4f9dec;" <span style="cursor: pointer;color: #4f9dec;"
@click="updates(scope.row.userId)">{{scope.row.userName}}</span> @click="updates(scope.row.userId)">{{ scope.row.userName }}</span>
</td> </td>
</tr> </tr>
<tr> <tr>
<th class="border-bt">推广用户</th> <th class="border-bt">推广用户</th>
<td class="border-bt border-rt"> <td class="border-bt border-rt">
<span style="cursor: pointer;color: #4f9dec;" @click="updates(scope.row.zhiUserId)" <span style="cursor: pointer;color: #4f9dec;"
>{{scope.row.zhiUserName}}</span> @click="updates(scope.row.zhiUserId)">{{ scope.row.zhiUserName }}</span>
</td> </td>
</tr> </tr>
</tbody> </tbody>
...@@ -263,49 +265,49 @@ ...@@ -263,49 +265,49 @@
<tr> <tr>
<th>订单状态</th> <th>订单状态</th>
<td class="border-rt"> <td class="border-rt">
<span v-if="scope.row.status==1">待付款</span> <span v-if="scope.row.status == 1">待付款</span>
<span v-if="scope.row.status==2">已付款</span> <span v-if="scope.row.status == 2">已付款</span>
<span v-if="scope.row.status==3">已取消</span> <span v-if="scope.row.status == 3">已取消</span>
<span v-if="scope.row.status==4">补缴</span> <span v-if="scope.row.status == 4">补缴</span>
<span v-if="scope.row.status==5">退费</span> <span v-if="scope.row.status == 5">退费</span>
<span v-if="scope.row.status==6">申诉</span> <span v-if="scope.row.status == 6">申诉</span>
<span v-if="scope.row.status==7">已完成</span> <span v-if="scope.row.status == 7">已完成</span>
</td> </td>
</tr> </tr>
<tr> <tr>
<th>运单状态</th> <th>运单状态</th>
<td class="border-rt"> <td class="border-rt">
<span>{{scope.row.expressageStatus?scope.row.expressageStatus:'-'}}</span> <span>{{ scope.row.expressageStatus ? scope.row.expressageStatus : '-' }}</span>
</td> </td>
</tr> </tr>
<tr> <tr>
<th>超重状态</th> <th>超重状态</th>
<td class="border-rt"> <td class="border-rt">
<span v-if="scope.row.weightStatus==1">正常</span> <span v-if="scope.row.weightStatus == 1">正常</span>
<span <span
style="color: #ff0000;border: 1px solid #ff0000;padding: 3px 6px;border-radius: 3px;" style="color: #ff0000;border: 1px solid #ff0000;padding: 3px 6px;border-radius: 3px;"
v-else-if="scope.row.weightStatus==2">待处理</span> v-else-if="scope.row.weightStatus == 2">待处理</span>
<span v-else-if="scope.row.weightStatus==3">处理中</span> <span v-else-if="scope.row.weightStatus == 3">处理中</span>
<span v-else-if="scope.row.weightStatus==4">已处理</span> <span v-else-if="scope.row.weightStatus == 4">已处理</span>
<span v-else> - </span> <span v-else> - </span>
</td> </td>
</tr> </tr>
<tr> <tr>
<th>耗材状态</th> <th>耗材状态</th>
<td class="border-rt"> <td class="border-rt">
<span v-if="scope.row.haoCaiStatus==1">正常</span> <span v-if="scope.row.haoCaiStatus == 1">正常</span>
<span <span
style="color: #ff0000;border: 1px solid #ff0000;padding: 3px 6px;border-radius: 3px;" style="color: #ff0000;border: 1px solid #ff0000;padding: 3px 6px;border-radius: 3px;"
v-else-if="scope.row.haoCaiStatus==2">待处理</span> v-else-if="scope.row.haoCaiStatus == 2">待处理</span>
<span v-else-if="scope.row.haoCaiStatus==3">处理中</span> <span v-else-if="scope.row.haoCaiStatus == 3">处理中</span>
<span v-else-if="scope.row.haoCaiStatus==4">已处理</span> <span v-else-if="scope.row.haoCaiStatus == 4">已处理</span>
<span v-else> - </span> <span v-else> - </span>
</td> </td>
</tr> </tr>
<tr> <tr>
<th class="border-bt">耗材费用</th> <th class="border-bt">耗材费用</th>
<td class="border-bt border-rt"> <td class="border-bt border-rt">
{{scope.row.freightHaocai?scope.row.freightHaocai:'-'}} {{ scope.row.freightHaocai ? scope.row.freightHaocai : '-' }}
</td> </td>
</tr> </tr>
<!-- <!--
...@@ -330,26 +332,26 @@ ...@@ -330,26 +332,26 @@
<tbody> <tbody>
<tr> <tr>
<th>下单重量(单位:kg)</th> <th>下单重量(单位:kg)</th>
<td class="border-rt">{{scope.row.goodsWeight?scope.row.goodsWeight:'-'}} <td class="border-rt">{{ scope.row.goodsWeight ? scope.row.goodsWeight : '-' }}
</td> </td>
</tr> </tr>
<tr> <tr>
<th>站点称重(单位:kg)</th> <th>站点称重(单位:kg)</th>
<td class="border-rt">{{scope.row.realWeight?scope.row.realWeight:'-'}}</td> <td class="border-rt">{{ scope.row.realWeight ? scope.row.realWeight : '-' }}</td>
</tr> </tr>
<tr> <tr>
<th>计费重量(单位:kg)</th><!-- weight --> <th>计费重量(单位:kg)</th><!-- weight -->
<td class="border-rt">{{scope.row.calWeight?scope.row.calWeight:'-'}}</td> <td class="border-rt">{{ scope.row.calWeight ? scope.row.calWeight : '-' }}</td>
</tr> </tr>
<tr> <tr>
<th>续重价格(单位:元)</th> <th>续重价格(单位:元)</th>
<td class="border-rt">{{scope.row.priceMore?scope.row.priceMore:'-'}}</td> <td class="border-rt">{{ scope.row.priceMore ? scope.row.priceMore : '-' }}</td>
</tr> </tr>
<tr> <tr>
<th class="border-bt">物品类型</th> <th class="border-bt">物品类型</th>
<td class="border-bt border-rt">{{scope.row.goodsType}} <td class="border-bt border-rt">{{ scope.row.goodsType }}
<span style="cursor: pointer;color: #4f9dec;" <span style="cursor: pointer;color: #4f9dec;"
@click="dataDel(scope.row,5)">查看详情</span> @click="dataDel(scope.row, 5)">查看详情</span>
</td> </td>
</tr> </tr>
</tbody> </tbody>
...@@ -368,34 +370,34 @@ ...@@ -368,34 +370,34 @@
<th>下单付费(单位:元)</th> <!-- 用户最终支付金额 --> <th>下单付费(单位:元)</th> <!-- 用户最终支付金额 -->
<td class="border-rt"> <td class="border-rt">
<span <span
v-if="scope.row.payMoney">{{scope.row.payMoney?scope.row.payMoney:'-'}}</span> v-if="scope.row.payMoney">{{ scope.row.payMoney ? scope.row.payMoney : '-' }}</span>
<span v-else>0</span> <span v-else>0</span>
</td> </td>
</tr> </tr>
<tr> <tr>
<th>超重补缴(单位:元)</th> <th>超重补缴(单位:元)</th>
<td class="border-rt">{{scope.row.userPayMoney?scope.row.userPayMoney:'-'}} <td class="border-rt">{{ scope.row.userPayMoney ? scope.row.userPayMoney : '-' }}
</td> </td>
</tr> </tr>
<tr> <tr>
<th>结算金额(单位:元)</th> <!-- 最终支付快递公司金额 payMoneys --> <th>结算金额(单位:元)</th> <!-- 最终支付快递公司金额 payMoneys -->
<td class="border-rt">{{scope.row.payFreight?scope.row.payFreight:'-'}}</td> <td class="border-rt">{{ scope.row.payFreight ? scope.row.payFreight : '-' }}</td>
</tr> </tr>
<tr> <tr>
<th>优惠券金额(单位:元)</th> <th>优惠券金额(单位:元)</th>
<td class="border-rt">{{scope.row.couponMoney?scope.row.couponMoney:'-'}} <td class="border-rt">{{ scope.row.couponMoney ? scope.row.couponMoney : '-' }}
</td> </td>
</tr> </tr>
<tr> <tr>
<th>推广佣金(单位:元)</th> <th>推广佣金(单位:元)</th>
<td class="border-rt">{{scope.row.zhiMoney?scope.row.zhiMoney:'-'}}</td> <td class="border-rt">{{ scope.row.zhiMoney ? scope.row.zhiMoney : '-' }}</td>
</tr> </tr>
<tr> <tr>
<th class="border-bt">利润(单位:元)</th> <th class="border-bt">利润(单位:元)</th>
<td class="border-bt border-rt"> <td class="border-bt border-rt">
{{scope.row.pingMoney?scope.row.pingMoney:'-'}} {{ scope.row.pingMoney ? scope.row.pingMoney : '-' }}
<span style="cursor: pointer;color: #4f9dec;" <span style="cursor: pointer;color: #4f9dec;"
@click="dataDel(scope.row,6)">其他金额</span> @click="dataDel(scope.row, 6)">其他金额</span>
</td> </td>
</tr> </tr>
<!-- <tr> <!-- <tr>
...@@ -433,27 +435,27 @@ ...@@ -433,27 +435,27 @@
<tr> <tr>
<th>支付时间</th> <!-- 用户最终支付金额 --> <th>支付时间</th> <!-- 用户最终支付金额 -->
<td class="border-rt"> <td class="border-rt">
<span>{{scope.row.payTime?scope.row.payTime:'-'}}</span> <span>{{ scope.row.payTime ? scope.row.payTime : '-' }}</span>
</td> </td>
</tr> </tr>
<tr> <tr>
<th>补缴时间</th> <th>补缴时间</th>
<td class="border-rt">{{scope.row.userPayTime?scope.row.userPayTime:'-'}} <td class="border-rt">{{ scope.row.userPayTime ? scope.row.userPayTime : '-' }}
</td> </td>
</tr> </tr>
<tr> <tr>
<th>超轻退费时间</th> <th>超轻退费时间</th>
<td class="border-rt"> <td class="border-rt">
{{scope.row.userRefundTime?scope.row.userRefundTime:'-'}}</td> {{ scope.row.userRefundTime ? scope.row.userRefundTime : '-' }}</td>
</tr> </tr>
<tr> <tr>
<th>取消时间</th> <th>取消时间</th>
<td class="border-rt">{{scope.row.cancelTime?scope.row.cancelTime:'-'}}</td> <td class="border-rt">{{ scope.row.cancelTime ? scope.row.cancelTime : '-' }}</td>
</tr> </tr>
<tr> <tr>
<th class="border-bt">推送时间</th> <th class="border-bt">推送时间</th>
<td class="border-bt border-rt"> <td class="border-bt border-rt">
{{scope.row.sendTime?scope.row.sendTime:'-'}}</td> {{ scope.row.sendTime ? scope.row.sendTime : '-' }}</td>
</tr> </tr>
</tbody> </tbody>
</table> </table>
...@@ -469,22 +471,22 @@ ...@@ -469,22 +471,22 @@
@click="deletes(scope.row)">删除</el-button> --> @click="deletes(scope.row)">删除</el-button> -->
<el-button size="mini" type="info" @click="quxiao(scope.row)" <el-button size="mini" type="info" @click="quxiao(scope.row)"
:disabled="!isAuth('orderCenter:quxiao')" style="margin: 3px;" :disabled="!isAuth('orderCenter:quxiao')" style="margin: 3px;"
v-if="scope.row.status!=1 &&scope.row.status!=3 ">取消订单</el-button> v-if="scope.row.status != 1 && scope.row.status != 3">取消订单</el-button>
<!-- <el-button size="mini" type="primary" @click="fankui(scope.row,1)" :disabled="!isAuth('orderCenter:yichang')" <!-- <el-button size="mini" type="primary" @click="fankui(scope.row,1)" :disabled="!isAuth('orderCenter:yichang')"
style="margin: 3px;">异常反馈</el-button> --> style="margin: 3px;">异常反馈</el-button> -->
<el-button size="mini" type="primary" @click="fankui(scope.row,2)" <el-button size="mini" type="primary" @click="fankui(scope.row, 2)"
v-if="scope.row.status==6 &&scope.row.checkStatus==1" v-if="scope.row.status == 6 && scope.row.checkStatus == 1" :disabled="!isAuth('orderCenter:yichang')"
:disabled="!isAuth('orderCenter:yichang')" style="margin: 3px;">申诉审核</el-button> style="margin: 3px;">申诉审核</el-button>
<el-button size="mini" type="warning" :disabled="!isAuth('orderCenter:lahei')" <el-button size="mini" type="warning" :disabled="!isAuth('orderCenter:lahei')"
@click="lahei(scope.row)" style="margin: 3px;">添加黑名单</el-button> @click="lahei(scope.row)" style="margin: 3px;">添加黑名单</el-button>
<el-button size="mini" type="primary" :disabled="!isAuth('orderCenter:tuisong')" <el-button size="mini" type="primary" :disabled="!isAuth('orderCenter:tuisong')"
@click="tuisong(scope.row,1)" style="margin: 3px;">推送超重信息</el-button> @click="tuisong(scope.row, 1)" style="margin: 3px;">推送超重信息</el-button>
<el-button size="mini" type="primary" :disabled="!isAuth('orderCenter:tuisong')" <el-button size="mini" type="primary" :disabled="!isAuth('orderCenter:tuisong')"
@click="tuisong(scope.row,2)" style="margin: 3px;">推送耗材信息</el-button> @click="tuisong(scope.row, 2)" style="margin: 3px;">推送耗材信息</el-button>
<el-button size="mini" type="primary" :disabled="!isAuth('orderCenter:tuisong')" <el-button size="mini" type="primary" :disabled="!isAuth('orderCenter:tuisong')"
@click="fasong(scope.row,1)" style="margin: 3px;">发送超重短信</el-button> @click="fasong(scope.row, 1)" style="margin: 3px;">发送超重短信</el-button>
<el-button size="mini" type="primary" :disabled="!isAuth('orderCenter:tuisong')" <el-button size="mini" type="primary" :disabled="!isAuth('orderCenter:tuisong')"
@click="fasong(scope.row,2)" style="margin: 3px;">发送耗材信息</el-button> @click="fasong(scope.row, 2)" style="margin: 3px;">发送耗材信息</el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
...@@ -501,13 +503,13 @@ ...@@ -501,13 +503,13 @@
</el-dialog> </el-dialog>
<!-- 信息详情 --> <!-- 信息详情 -->
<el-dialog :title="titles" :visible.sync="dialogFormVisibleDel" center width="80%"> <el-dialog :title="titles" :visible.sync="dialogFormVisibleDel" center width="80%">
<el-row v-if="datleIndex==1"> <el-row v-if="datleIndex == 1">
<el-col :span="8" class="cards"> <el-col :span="8" class="cards">
<div class="box"> <div class="box">
<div class="box_num"> <div class="box_num">
<div class="box_color">快递员姓名</div> <div class="box_color">快递员姓名</div>
<div class="text_color"> <div class="text_color">
<span>{{detaDatle.expressageName?detaDatle.expressageName:'-'}}</span> <span>{{ detaDatle.expressageName ? detaDatle.expressageName : '-' }}</span>
</div> </div>
</div> </div>
</div> </div>
...@@ -517,19 +519,20 @@ ...@@ -517,19 +519,20 @@
<div class="box_num"> <div class="box_num">
<div class="box_color">快递员电话</div> <div class="box_color">快递员电话</div>
<div class="text_color"> <div class="text_color">
<span>{{detaDatle.expressagePhone?detaDatle.expressagePhone:'-'}}</span></div> <span>{{ detaDatle.expressagePhone ? detaDatle.expressagePhone : '-' }}</span>
</div>
</div> </div>
</div> </div>
</el-col> </el-col>
</el-row> </el-row>
<el-row v-if="datleIndex==2"> <el-row v-if="datleIndex == 2">
<el-col :span="8" class="cards"> <el-col :span="8" class="cards">
<div class="box"> <div class="box">
<div class="box_num"> <div class="box_num">
<div class="box_color">寄件人昵称</div> <div class="box_color">寄件人昵称</div>
<div class="text_color"> <div class="text_color">
<span style="cursor: pointer;color: #4f9dec;" <span style="cursor: pointer;color: #4f9dec;"
@click="updates(detaDatle.userId)">{{detaDatle.userName?detaDatle.userName:'-'}}</span> @click="updates(detaDatle.userId)">{{ detaDatle.userName ? detaDatle.userName : '-' }}</span>
</div> </div>
</div> </div>
</div> </div>
...@@ -538,7 +541,7 @@ ...@@ -538,7 +541,7 @@
<div class="box"> <div class="box">
<div class="box_num"> <div class="box_num">
<div class="box_color">寄件人姓名</div> <div class="box_color">寄件人姓名</div>
<div class="text_color"><span>{{detaDatle.senderName?detaDatle.senderName:'-'}}</span> <div class="text_color"><span>{{ detaDatle.senderName ? detaDatle.senderName : '-' }}</span>
</div> </div>
</div> </div>
</div> </div>
...@@ -547,7 +550,7 @@ ...@@ -547,7 +550,7 @@
<div class="box"> <div class="box">
<div class="box_num"> <div class="box_num">
<div class="box_color">寄件人电话</div> <div class="box_color">寄件人电话</div>
<div class="text_color"><span>{{detaDatle.senderPhone?detaDatle.senderPhone:'-'}}</span> <div class="text_color"><span>{{ detaDatle.senderPhone ? detaDatle.senderPhone : '-' }}</span>
</div> </div>
</div> </div>
</div> </div>
...@@ -557,18 +560,18 @@ ...@@ -557,18 +560,18 @@
<div class="box_num"> <div class="box_num">
<div class="box_color">寄件人地址</div> <div class="box_color">寄件人地址</div>
<div class="text_color"> <div class="text_color">
<span>{{detaDatle.senderProvince}}{{detaDatle.senderCity}}{{detaDatle.senderDistrict}}{{detaDatle.senderLocation}}</span> <span>{{ detaDatle.senderProvince }}{{ detaDatle.senderCity }}{{ detaDatle.senderDistrict }}{{ detaDatle.senderLocation }}</span>
</div> </div>
</div> </div>
</div> </div>
</el-col> </el-col>
</el-row> </el-row>
<el-row v-if="datleIndex==3"> <el-row v-if="datleIndex == 3">
<el-col :span="8" class="cards"> <el-col :span="8" class="cards">
<div class="box"> <div class="box">
<div class="box_num"> <div class="box_num">
<div class="box_color">收件人姓名</div> <div class="box_color">收件人姓名</div>
<div class="text_color"><span>{{detaDatle.receiverName?detaDatle.receiverName:'-'}}</span> <div class="text_color"><span>{{ detaDatle.receiverName ? detaDatle.receiverName : '-' }}</span>
</div> </div>
</div> </div>
</div> </div>
...@@ -577,7 +580,7 @@ ...@@ -577,7 +580,7 @@
<div class="box"> <div class="box">
<div class="box_num"> <div class="box_num">
<div class="box_color">收件人电话</div> <div class="box_color">收件人电话</div>
<div class="text_color"><span>{{detaDatle.receiverPhone?detaDatle.receiverPhone:'-'}}</span> <div class="text_color"><span>{{ detaDatle.receiverPhone ? detaDatle.receiverPhone : '-' }}</span>
</div> </div>
</div> </div>
</div> </div>
...@@ -587,19 +590,19 @@ ...@@ -587,19 +590,19 @@
<div class="box_num"> <div class="box_num">
<div class="box_color">收件人地址</div> <div class="box_color">收件人地址</div>
<div class="text_color"> <div class="text_color">
<span>{{detaDatle.receiverProvince}}{{detaDatle.receiverCity}}{{detaDatle.receiverDistrict}}{{detaDatle.receiverLocation}}</span> <span>{{ detaDatle.receiverProvince }}{{ detaDatle.receiverCity }}{{ detaDatle.receiverDistrict }}{{ detaDatle.receiverLocation }}</span>
</div> </div>
</div> </div>
</div> </div>
</el-col> </el-col>
</el-row> </el-row>
<el-row v-if="datleIndex==4"> <el-row v-if="datleIndex == 4">
<el-col :span="8" class="cards"> <el-col :span="8" class="cards">
<div class="box"> <div class="box">
<div class="box_num"> <div class="box_num">
<div class="box_color">申诉体积长度(单位:cm)</div> <div class="box_color">申诉体积长度(单位:cm)</div>
<div class="text_color"> <div class="text_color">
<span>{{detaDatle.appealGoodsVolumeLong?detaDatle.appealGoodsVolumeLong:'-'}}</span> <span>{{ detaDatle.appealGoodsVolumeLong ? detaDatle.appealGoodsVolumeLong : '-' }}</span>
</div> </div>
</div> </div>
</div> </div>
...@@ -609,7 +612,7 @@ ...@@ -609,7 +612,7 @@
<div class="box_num"> <div class="box_num">
<div class="box_color">申诉体积宽度(单位:cm)</div> <div class="box_color">申诉体积宽度(单位:cm)</div>
<div class="text_color"> <div class="text_color">
<span>{{detaDatle.appealGoodsVolumeWidth?detaDatle.appealGoodsVolumeWidth:'-'}}</span> <span>{{ detaDatle.appealGoodsVolumeWidth ? detaDatle.appealGoodsVolumeWidth : '-' }}</span>
</div> </div>
</div> </div>
</div> </div>
...@@ -619,7 +622,7 @@ ...@@ -619,7 +622,7 @@
<div class="box_num"> <div class="box_num">
<div class="box_color">申诉体积高度(单位:cm)</div> <div class="box_color">申诉体积高度(单位:cm)</div>
<div class="text_color"> <div class="text_color">
<span>{{detaDatle.appealGoodsVolumeHeight?detaDatle.appealGoodsVolumeHeight:'-'}}</span> <span>{{ detaDatle.appealGoodsVolumeHeight ? detaDatle.appealGoodsVolumeHeight : '-' }}</span>
</div> </div>
</div> </div>
</div> </div>
...@@ -628,7 +631,7 @@ ...@@ -628,7 +631,7 @@
<div class="box"> <div class="box">
<div class="box_num"> <div class="box_num">
<div class="box_color">申诉重量(单位:kg)</div> <div class="box_color">申诉重量(单位:kg)</div>
<div class="text_color"><span>{{detaDatle.appealWeight?detaDatle.appealWeight:'-'}}</span> <div class="text_color"><span>{{ detaDatle.appealWeight ? detaDatle.appealWeight : '-' }}</span>
</div> </div>
</div> </div>
</div> </div>
...@@ -637,7 +640,7 @@ ...@@ -637,7 +640,7 @@
<div class="box"> <div class="box">
<div class="box_num"> <div class="box_num">
<div class="box_color">申诉内容</div> <div class="box_color">申诉内容</div>
<div class="text_color"><span>{{detaDatle.appealContent?detaDatle.appealContent:'-'}}</span> <div class="text_color"><span>{{ detaDatle.appealContent ? detaDatle.appealContent : '-' }}</span>
</div> </div>
</div> </div>
</div> </div>
...@@ -648,7 +651,7 @@ ...@@ -648,7 +651,7 @@
<div class="box_color">申诉类型</div> <div class="box_color">申诉类型</div>
<div class="text_color"> <div class="text_color">
<span> <span>
{{detaDatle.appealType?detaDatle.appealType:'-'}} {{ detaDatle.appealType ? detaDatle.appealType : '-' }}
<!-- <span v-if="detaDatle.appealType==1">超重补交</span> <!-- <span v-if="detaDatle.appealType==1">超重补交</span>
<span v-if="detaDatle.appealType==2">超轻退费</span> --> <span v-if="detaDatle.appealType==2">超轻退费</span> -->
</span> </span>
...@@ -664,10 +667,9 @@ ...@@ -664,10 +667,9 @@
<div class="text_color"> <div class="text_color">
<span> <span>
<span v-if="detaDatle.appealImg"> <span v-if="detaDatle.appealImg">
<span v-for="(item,index) in detaDatle.appealImg.split(',')"> <span v-for="(item, index) in detaDatle.appealImg.split(',')">
<el-popover placement="top-start" title="" trigger="hover"> <el-popover placement="top-start" title="" trigger="hover">
<img style="width: 50px; height: 50px" :src="item" alt="" <img style="width: 50px; height: 50px" :src="item" alt="" slot="reference">
slot="reference">
<img style="width: 300px; height: 300px" :src="item" alt=""> <img style="width: 300px; height: 300px" :src="item" alt="">
</el-popover> </el-popover>
</span> </span>
...@@ -684,8 +686,8 @@ ...@@ -684,8 +686,8 @@
<div class="box_color">申诉审核原因</div> <div class="box_color">申诉审核原因</div>
<div class="text_color"> <div class="text_color">
<span> <span>
<span v-if="detaDatle.checkStatus==2">申诉通过</span> <span v-if="detaDatle.checkStatus == 2">申诉通过</span>
<span v-else>{{detaDatle.checkReason?detaDatle.checkReason:'-'}}</span> <span v-else>{{ detaDatle.checkReason ? detaDatle.checkReason : '-' }}</span>
</span> </span>
</div> </div>
...@@ -698,8 +700,8 @@ ...@@ -698,8 +700,8 @@
<div class="box_color">是否扣费</div> <div class="box_color">是否扣费</div>
<div class="text_color"> <div class="text_color">
<span> <span>
<span v-if="detaDatle.feeOver==0">冻结</span> <span v-if="detaDatle.feeOver == 0">冻结</span>
<span v-if="detaDatle.feeOver==1">已扣费</span> <span v-if="detaDatle.feeOver == 1">已扣费</span>
</span> </span>
</div> </div>
...@@ -707,13 +709,13 @@ ...@@ -707,13 +709,13 @@
</div> </div>
</el-col> </el-col>
</el-row> </el-row>
<el-row v-if="datleIndex==5"> <el-row v-if="datleIndex == 5">
<el-col :span="8" class="cards"> <el-col :span="8" class="cards">
<div class="box"> <div class="box">
<div class="box_num"> <div class="box_num">
<div class="box_color">物品体积长度(单位:cm)</div> <div class="box_color">物品体积长度(单位:cm)</div>
<div class="text_color"> <div class="text_color">
<span>{{detaDatle.goodsVolumeLong?detaDatle.goodsVolumeLong:'-'}}</span> <span>{{ detaDatle.goodsVolumeLong ? detaDatle.goodsVolumeLong : '-' }}</span>
</div> </div>
</div> </div>
</div> </div>
...@@ -723,7 +725,8 @@ ...@@ -723,7 +725,8 @@
<div class="box_num"> <div class="box_num">
<div class="box_color">物品体积宽度(单位:cm)</div> <div class="box_color">物品体积宽度(单位:cm)</div>
<div class="text_color"> <div class="text_color">
<span>{{detaDatle.goodsVolumeWidth?detaDatle.goodsVolumeWidth:'-'}}</span></div> <span>{{ detaDatle.goodsVolumeWidth ? detaDatle.goodsVolumeWidth : '-' }}</span>
</div>
</div> </div>
</div> </div>
</el-col> </el-col>
...@@ -732,7 +735,8 @@ ...@@ -732,7 +735,8 @@
<div class="box_num"> <div class="box_num">
<div class="box_color">物品体积高度(单位:cm)</div> <div class="box_color">物品体积高度(单位:cm)</div>
<div class="text_color"> <div class="text_color">
<span>{{detaDatle.goodsVolumeHeight?detaDatle.goodsVolumeHeight:'-'}}</span></div> <span>{{ detaDatle.goodsVolumeHeight ? detaDatle.goodsVolumeHeight : '-' }}</span>
</div>
</div> </div>
</div> </div>
</el-col> </el-col>
...@@ -740,7 +744,7 @@ ...@@ -740,7 +744,7 @@
<div class="box"> <div class="box">
<div class="box_num"> <div class="box_num">
<div class="box_color">物品下单重量(单位:kg)</div> <div class="box_color">物品下单重量(单位:kg)</div>
<div class="text_color"><span>{{detaDatle.goodsWeight?detaDatle.goodsWeight:'-'}}</span> <div class="text_color"><span>{{ detaDatle.goodsWeight ? detaDatle.goodsWeight : '-' }}</span>
</div> </div>
</div> </div>
</div> </div>
...@@ -751,7 +755,7 @@ ...@@ -751,7 +755,7 @@
<div class="box_num"> <div class="box_num">
<div class="box_color">物品类型</div> <div class="box_color">物品类型</div>
<div class="text_color"> <div class="text_color">
<span>{{detaDatle.goodsType?detaDatle.goodsType:'-'}}</span> <span>{{ detaDatle.goodsType ? detaDatle.goodsType : '-' }}</span>
</div> </div>
</div> </div>
</div> </div>
...@@ -760,7 +764,7 @@ ...@@ -760,7 +764,7 @@
<div class="box"> <div class="box">
<div class="box_num"> <div class="box_num">
<div class="box_color">用户实际寄件重量(单位:kg)</div> <div class="box_color">用户实际寄件重量(单位:kg)</div>
<div class="text_color"><span>{{detaDatle.weight?detaDatle.weight:'-'}}</span></div> <div class="text_color"><span>{{ detaDatle.weight ? detaDatle.weight : '-' }}</span></div>
</div> </div>
</div> </div>
</el-col> </el-col>
...@@ -779,10 +783,9 @@ ...@@ -779,10 +783,9 @@
<div class="text_color"> <div class="text_color">
<span> <span>
<span v-if="detaDatle.goodsImage"> <span v-if="detaDatle.goodsImage">
<span v-for="(item,index) in detaDatle.goodsImage.split(',')"> <span v-for="(item, index) in detaDatle.goodsImage.split(',')">
<el-popover placement="top-start" title="" trigger="hover"> <el-popover placement="top-start" title="" trigger="hover">
<img style="width: 50px; height: 50px" :src="item" alt="" <img style="width: 50px; height: 50px" :src="item" alt="" slot="reference">
slot="reference">
<img style="width: 300px; height: 300px" :src="item" alt=""> <img style="width: 300px; height: 300px" :src="item" alt="">
</el-popover> </el-popover>
</span> </span>
...@@ -797,17 +800,17 @@ ...@@ -797,17 +800,17 @@
<div class="box"> <div class="box">
<div class="box_num"> <div class="box_num">
<div class="box_color">备注</div> <div class="box_color">备注</div>
<div class="text_color"><span>{{detaDatle.remark?detaDatle.remark:'-'}}</span></div> <div class="text_color"><span>{{ detaDatle.remark ? detaDatle.remark : '-' }}</span></div>
</div> </div>
</div> </div>
</el-col> </el-col>
</el-row> </el-row>
<el-row v-if="datleIndex==6"> <el-row v-if="datleIndex == 6">
<el-col :span="8" class="cards"> <el-col :span="8" class="cards">
<div class="box"> <div class="box">
<div class="box_num"> <div class="box_num">
<div class="box_color">超重补交(单位:元)</div> <div class="box_color">超重补交(单位:元)</div>
<div class="text_color"><span>{{detaDatle.userPayMoney?detaDatle.userPayMoney:'-'}}</span> <div class="text_color"><span>{{ detaDatle.userPayMoney ? detaDatle.userPayMoney : '-' }}</span>
</div> </div>
</div> </div>
</div> </div>
...@@ -817,7 +820,7 @@ ...@@ -817,7 +820,7 @@
<div class="box_num"> <div class="box_num">
<div class="box_color">退费金额(单位:元)</div> <div class="box_color">退费金额(单位:元)</div>
<div class="text_color"> <div class="text_color">
<span>{{detaDatle.userRefundMoney?detaDatle.userRefundMoney:'-'}}</span> <span>{{ detaDatle.userRefundMoney ? detaDatle.userRefundMoney : '-' }}</span>
</div> </div>
</div> </div>
</div> </div>
...@@ -826,7 +829,7 @@ ...@@ -826,7 +829,7 @@
<div class="box"> <div class="box">
<div class="box_num"> <div class="box_num">
<div class="box_color">快递公司实收金额(单位:元)</div> <div class="box_color">快递公司实收金额(单位:元)</div>
<div class="text_color"><span>{{detaDatle.payFreight?detaDatle.payFreight:'-'}}</span> <div class="text_color"><span>{{ detaDatle.payFreight ? detaDatle.payFreight : '-' }}</span>
</div> </div>
</div> </div>
</div> </div>
...@@ -835,7 +838,7 @@ ...@@ -835,7 +838,7 @@
<div class="box"> <div class="box">
<div class="box_num"> <div class="box_num">
<div class="box_color">优惠券(单位:元)</div> <div class="box_color">优惠券(单位:元)</div>
<div class="text_color"><span>{{detaDatle.couponMoney?detaDatle.couponMoney:'-'}}</span> <div class="text_color"><span>{{ detaDatle.couponMoney ? detaDatle.couponMoney : '-' }}</span>
</div> </div>
</div> </div>
</div> </div>
...@@ -844,7 +847,7 @@ ...@@ -844,7 +847,7 @@
<div class="box"> <div class="box">
<div class="box_num"> <div class="box_num">
<div class="box_color">会员优惠价格(单位:元)</div> <div class="box_color">会员优惠价格(单位:元)</div>
<div class="text_color"><span>{{detaDatle.memberMoney?detaDatle.memberMoney:'-'}}</span> <div class="text_color"><span>{{ detaDatle.memberMoney ? detaDatle.memberMoney : '-' }}</span>
</div> </div>
</div> </div>
</div> </div>
...@@ -855,7 +858,7 @@ ...@@ -855,7 +858,7 @@
<div class="box_num"> <div class="box_num">
<div class="box_color">逆向费(单位:元)</div> <div class="box_color">逆向费(单位:元)</div>
<div class="text_color"> <div class="text_color">
<span>{{detaDatle.changeBillFreight?detaDatle.changeBillFreight:'-'}}</span> <span>{{ detaDatle.changeBillFreight ? detaDatle.changeBillFreight : '-' }}</span>
</div> </div>
</div> </div>
</div> </div>
...@@ -864,7 +867,7 @@ ...@@ -864,7 +867,7 @@
<div class="box"> <div class="box">
<div class="box_num"> <div class="box_num">
<div class="box_color">耗材费(单位:元)</div> <div class="box_color">耗材费(单位:元)</div>
<div class="text_color"><span>{{detaDatle.freightHaocai?detaDatle.freightHaocai:'-'}}</span> <div class="text_color"><span>{{ detaDatle.freightHaocai ? detaDatle.freightHaocai : '-' }}</span>
</div> </div>
</div> </div>
</div> </div>
...@@ -873,7 +876,7 @@ ...@@ -873,7 +876,7 @@
<div class="box"> <div class="box">
<div class="box_num"> <div class="box_num">
<div class="box_color">续重单价(单位:元)</div> <div class="box_color">续重单价(单位:元)</div>
<div class="text_color"><span>{{detaDatle.priceMore?detaDatle.priceMore:'-'}}</span> <div class="text_color"><span>{{ detaDatle.priceMore ? detaDatle.priceMore : '-' }}</span>
</div> </div>
</div> </div>
</div> </div>
...@@ -884,7 +887,7 @@ ...@@ -884,7 +887,7 @@
<div class="box_num"> <div class="box_num">
<div class="box_color">快递费(用户实付金额,单位:元)</div> <div class="box_color">快递费(用户实付金额,单位:元)</div>
<div class="text_color"> <div class="text_color">
<span>{{detaDatle.payMoneys?detaDatle.payMoneys:'-'}}</span> <span>{{ detaDatle.payMoneys ? detaDatle.payMoneys : '-' }}</span>
</div> </div>
</div> </div>
</div> </div>
...@@ -894,7 +897,7 @@ ...@@ -894,7 +897,7 @@
<div class="box_num"> <div class="box_num">
<div class="box_color">保价费(单位:元)</div> <div class="box_color">保价费(单位:元)</div>
<div class="text_color"> <div class="text_color">
<span>{{detaDatle.goodsOfferMoneys?detaDatle.goodsOfferMoneys:'-'}}</span> <span>{{ detaDatle.goodsOfferMoneys ? detaDatle.goodsOfferMoneys : '-' }}</span>
</div> </div>
</div> </div>
</div> </div>
...@@ -904,7 +907,7 @@ ...@@ -904,7 +907,7 @@
<div class="box_num"> <div class="box_num">
<div class="box_color">物品金额(单位:元)</div> <div class="box_color">物品金额(单位:元)</div>
<div class="text_color"> <div class="text_color">
<span>{{detaDatle.goodsOfferMoney?detaDatle.goodsOfferMoney:'-'}}</span> <span>{{ detaDatle.goodsOfferMoney ? detaDatle.goodsOfferMoney : '-' }}</span>
</div> </div>
</div> </div>
</div> </div>
...@@ -915,8 +918,8 @@ ...@@ -915,8 +918,8 @@
<div class="box_color">支付方式</div> <div class="box_color">支付方式</div>
<div class="text_color"> <div class="text_color">
<span> <span>
<span v-if="detaDatle.payWay==1">零钱</span> <span v-if="detaDatle.payWay == 1">零钱</span>
<span v-if="detaDatle.payWay==2">微信</span> <span v-if="detaDatle.payWay == 2">微信</span>
</span> </span>
</div> </div>
...@@ -927,7 +930,7 @@ ...@@ -927,7 +930,7 @@
<div class="box"> <div class="box">
<div class="box_num"> <div class="box_num">
<div class="box_color">优惠券名称</div> <div class="box_color">优惠券名称</div>
<div class="text_color"><span>{{detaDatle.couponName?detaDatle.couponName:'-'}}</span> <div class="text_color"><span>{{ detaDatle.couponName ? detaDatle.couponName : '-' }}</span>
</div> </div>
</div> </div>
</div> </div>
...@@ -937,7 +940,7 @@ ...@@ -937,7 +940,7 @@
<div class="box_num"> <div class="box_num">
<div class="box_color">推广用户佣金(单位:元)</div> <div class="box_color">推广用户佣金(单位:元)</div>
<div class="text_color"> <div class="text_color">
<span>{{detaDatle.zhiMoney?detaDatle.zhiMoney:'-'}}</span> <span>{{ detaDatle.zhiMoney ? detaDatle.zhiMoney : '-' }}</span>
</div> </div>
</div> </div>
</div> </div>
...@@ -947,7 +950,7 @@ ...@@ -947,7 +950,7 @@
<div class="box_num"> <div class="box_num">
<div class="box_color">平台利润(单位:元)</div> <div class="box_color">平台利润(单位:元)</div>
<div class="text_color"> <div class="text_color">
<span>{{detaDatle.pingMoney?detaDatle.pingMoney:'-'}}</span> <span>{{ detaDatle.pingMoney ? detaDatle.pingMoney : '-' }}</span>
</div> </div>
</div> </div>
</div> </div>
...@@ -987,382 +990,523 @@ ...@@ -987,382 +990,523 @@
</el-tabs> </el-tabs>
</template> </template>
<script> <script>
export default { export default {
data() { data() {
return { return {
page: 1, page: 1,
limit: 10, limit: 10,
classify: 1, classify: 1,
ordersNo: '', ordersNo: '',
imageUrl: '', imageUrl: '',
url: '', url: '',
status: '', status: '',
parentName: '', parentName: '',
parentNameJ: '', parentNameJ: '',
parentNameS: '', parentNameS: '',
parentParentName: '', parentParentName: '',
expressageStatus: '', expressageStatus: '',
activeName: 'first', activeName: 'first',
tableDataLoading: true, tableDataLoading: true,
tableData: [], tableData: [],
checkBoxData: [], //多选框选择的值 checkBoxData: [], //多选框选择的值
statesnum: [{ statesnum: [{
label: '全部', label: '全部',
value: '' value: ''
},
{
label: '待付款',
value: 1
},
{
label: '已付款',
value: 2
},
{
label: '已取消',
value: 3
},
{
label: '补缴',
value: 4
},
{
label: '退费',
value: 5
},
{
label: '申诉',
value: 6
},
{
label: '已完成',
value: 7
},
],
indentType: '',
indentTypeList: [{
label: '全部',
value: ''
},
{
label: '帮我送',
value: 1
},
{
label: '帮我取',
value: 2
},
{
label: '同城帮买',
value: 3
},
{
label: '同城服务',
value: 4
},
],
flag: '',
info: {
stockDate: this.getNowTime(), //日期
},
flags: [{
value: 'day',
label: '按天查询'
}, {
value: 'month',
label: '按月查询'
}, {
value: 'year',
label: '按年查询'
}],
phone: '',
phoneS: '',
userData: {},
phoneU: '',
campus: '',
ordersId: '',
limit1: 10,
page1: 1,
dialogFormVisible: false,
info2: {
stockDate2: this.getNowTime2(), //日期
},
startTime: '',
endTime: '',
endSendTime: '',
startSendTime: '',
couponName: '',
tableDataLoadingU: false,
titles: '信息详情',
dialogFormVisibleDel: false,
detaDatle: {},
datleIndex: 1,
dialogFormVisibleYc: false,
checkReason: '',
statusYc: '',
dialogVisible: false,
wuliuDate: {},
expressageCompany: '',
expressageCompanyList: [],
stateschao: [{
label: '全部',
value: ''
},
{
label: '正常',
value: 1
},
{
label: '待处理',
value: 2
},
{
label: '处理中',
value: 3
},
{
label: '已处理',
value: 4
},
],
weightStatus: '',
haoCaiStatus: '',
kuaidlist: [],
shopbill: '',
}
},
methods: {
// 多选
changeFun(val) {
this.checkBoxData = val
}, },
//处理默认选中当前日期 {
getNowTime() { label: '待付款',
var now = new Date() value: 1
var year = now.getFullYear() //得到年份
var month = now.getMonth() //得到月份
var date = now.getDate() //得到日期
var hh = now.getHours() < 10 ? '0' + now.getHours() : now.getHours()
var mm = now.getMinutes() < 10 ? '0' + now.getMinutes() : now.getMinutes()
var ss = now.getSeconds() < 10 ? '0' + now.getSeconds() : now.getSeconds()
month = month + 1
month = month.toString().padStart(2, '0')
date = date.toString().padStart(2, '0')
var defaultDate = `${year}-${month}-${date} ${hh}:${mm}:${ss}`
return defaultDate
this.$set(this.info, 'stockDate', defaultDate)
}, },
//处理默认选中当前日期 {
getNowTime2() { label: '已付款',
var now = new Date() value: 2
var year = now.getFullYear() //得到年份
var month = now.getMonth() - now.getMonth() //得到月份
var date = now.getDate() - now.getDate() + 1 //得到日期
month = month + 1
month = month.toString().padStart(2, '0')
date = date.toString().padStart(2, '0')
var defaultDate = `${year}-${month}-${date}`
return defaultDate
this.$set(this.info, 'stockDate', defaultDate)
}, },
// tabs切换 {
handleClick(tab, event) { label: '已取消',
if (tab._props.label == '订单列表') { value: 3
this.page = 1
this.limit = 10
this.classify = 1
this.dataSelect()
}
}, },
handleSizeChange(val) { {
this.limit = val label: '补缴',
this.dataSelect() value: 4
}, },
handleCurrentChange(val) { {
this.page = val label: '退费',
this.dataSelect() value: 5
}, },
handleSizeChangeU(val) { {
this.limit1 = val; label: '申诉',
this.dataSelectUser()() value: 6
}, },
handleCurrentChangeU(val) { {
this.page1 = val; label: '已完成',
this.dataSelectUser() value: 7
}, },
// 查询资源列表 ],
select() { indentType: '',
this.page = 1 indentTypeList: [{
this.dataSelect() label: '全部',
value: ''
}, },
// 重置资源列表 {
cleans() { label: '帮我送',
this.ordersNo = '' value: 1
this.status = ''
this.phone = ''
this.phoneS = ''
this.indentType = ''
this.page = 1
this.flag = ''
this.startTime = ''
this.endTime = ''
this.endSendTime = ''
this.startSendTime = ''
this.parentName = ''
this.parentNameJ = ''
this.parentNameS = ''
this.parentParentName = ''
this.expressageStatus = ''
this.couponName = ''
this.weightStatus = ''
this.haoCaiStatus = ''
this.expressageCompany = ''
this.shopbill = ''
this.dataSelect()
}, },
// select选择事件 {
animeDat() { label: '帮我取',
this.page = 1 value: 2
this.dataSelect()
}, },
animeDat1(state) { {
this.page = 1 label: '同城帮买',
this.dataSelect() value: 3
}, },
// 删除banner图 {
deletes(row) { label: '同城服务',
let delid = row.ordersId value: 4
this.$confirm(`确定删除此条信息?`, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.$http({
url: this.$http.adornUrl(`order/deleteOrders?ids=${delid}`),
method: 'get',
data: this.$http.adornData({})
}).then(({
data
}) => {
this.$message({
message: '删除成功',
type: 'success',
duration: 1500,
onClose: () => {
this.dataSelect()
}
})
})
}).catch(() => {})
}, },
// 获取数据列表 ],
dataSelect() { flag: '',
this.tableDataLoading = true info: {
var endTime = this.endTime stockDate: this.getNowTime(), //日期
if (this.endTime != '') { },
endTime = this.endTime flags: [{
} value: 'day',
label: '按天查询'
}, {
value: 'month',
label: '按月查询'
}, {
value: 'year',
label: '按年查询'
}],
phone: '',
phoneS: '',
userData: {},
phoneU: '',
campus: '',
ordersId: '',
limit1: 10,
page1: 1,
dialogFormVisible: false,
info2: {
stockDate2: this.getNowTime2(), //日期
},
startTime: '',
endTime: '',
endSendTime: '',
startSendTime: '',
couponName: '',
tableDataLoadingU: false,
titles: '信息详情',
dialogFormVisibleDel: false,
detaDatle: {},
datleIndex: 1,
dialogFormVisibleYc: false,
checkReason: '',
statusYc: '',
dialogVisible: false,
wuliuDate: {},
expressageCompany: '',
expressageCompanyList: [],
stateschao: [{
label: '全部',
value: ''
},
{
label: '正常',
value: 1
},
{
label: '待处理',
value: 2
},
{
label: '处理中',
value: 3
},
{
label: '已处理',
value: 4
},
],
weightStatus: '',
haoCaiStatus: '',
kuaidlist: [],
shopbill: '',
}
},
methods: {
// 多选
changeFun(val) {
this.checkBoxData = val
},
//处理默认选中当前日期
getNowTime() {
var now = new Date()
var year = now.getFullYear() //得到年份
var month = now.getMonth() //得到月份
var date = now.getDate() //得到日期
var hh = now.getHours() < 10 ? '0' + now.getHours() : now.getHours()
var mm = now.getMinutes() < 10 ? '0' + now.getMinutes() : now.getMinutes()
var ss = now.getSeconds() < 10 ? '0' + now.getSeconds() : now.getSeconds()
month = month + 1
month = month.toString().padStart(2, '0')
date = date.toString().padStart(2, '0')
var defaultDate = `${year}-${month}-${date} ${hh}:${mm}:${ss}`
return defaultDate
this.$set(this.info, 'stockDate', defaultDate)
},
//处理默认选中当前日期
getNowTime2() {
var now = new Date()
var year = now.getFullYear() //得到年份
var month = now.getMonth() - now.getMonth() //得到月份
var date = now.getDate() - now.getDate() + 1 //得到日期
month = month + 1
month = month.toString().padStart(2, '0')
date = date.toString().padStart(2, '0')
var defaultDate = `${year}-${month}-${date}`
return defaultDate
this.$set(this.info, 'stockDate', defaultDate)
},
// tabs切换
handleClick(tab, event) {
if (tab._props.label == '订单列表') {
this.page = 1
this.limit = 10
this.classify = 1
this.dataSelect()
}
},
handleSizeChange(val) {
this.limit = val
this.dataSelect()
},
handleCurrentChange(val) {
this.page = val
this.dataSelect()
},
handleSizeChangeU(val) {
this.limit1 = val;
this.dataSelectUser()()
},
handleCurrentChangeU(val) {
this.page1 = val;
this.dataSelectUser()
},
// 查询资源列表
select() {
this.page = 1
this.dataSelect()
},
// 重置资源列表
cleans() {
this.ordersNo = ''
this.status = ''
this.phone = ''
this.phoneS = ''
this.indentType = ''
this.page = 1
this.flag = ''
this.startTime = ''
this.endTime = ''
this.endSendTime = ''
this.startSendTime = ''
this.parentName = ''
this.parentNameJ = ''
this.parentNameS = ''
this.parentParentName = ''
this.expressageStatus = ''
this.couponName = ''
this.weightStatus = ''
this.haoCaiStatus = ''
this.expressageCompany = ''
this.shopbill = ''
this.dataSelect()
},
// select选择事件
animeDat() {
this.page = 1
this.dataSelect()
},
animeDat1(state) {
this.page = 1
this.dataSelect()
},
// 删除banner图
deletes(row) {
let delid = row.ordersId
this.$confirm(`确定删除此条信息?`, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.$http({ this.$http({
url: this.$http.adornUrl('expressage/selectExpressageList'), url: this.$http.adornUrl(`order/deleteOrders?ids=${delid}`),
method: 'get', method: 'get',
params: this.$http.adornParams({ data: this.$http.adornData({})
'page': this.page,
'limit': this.limit,
// 'indentType': this.indentType,
'ordersNo': this.ordersNo,
'status': this.status,
// 'date': this.info.stockDate,
// 'dateType': this.flag,
'senderPhone': this.phone,
'receiverPhone': this.phoneS,
'startTime': this.startTime,
'endTime': endTime,
'userName': this.parentName,
'expressageNo': this.parentParentName,
'expressageStatus': this.expressageStatus,
'weightStatus': this.weightStatus,
'haoCaiStatus': this.haoCaiStatus,
'expressageCompany': this.expressageCompany,
'endSendTime': this.endSendTime,
'startSendTime': this.startSendTime,
'waybill': this.shopbill
})
}).then(({ }).then(({
data data
}) => { }) => {
console.log(data) this.$message({
if (data && data.code === 0) { message: '删除成功',
this.tableDataLoading = false type: 'success',
let returnData = data.data duration: 1500,
this.tableData = returnData onClose: () => {
this.dataSelect()
}
})
})
}).catch(() => { })
},
// 获取数据列表
dataSelect() {
this.tableDataLoading = true
var endTime = this.endTime
if (this.endTime != '') {
endTime = this.endTime
}
this.$http({
url: this.$http.adornUrl('expressage/selectExpressageList'),
method: 'get',
params: this.$http.adornParams({
'page': this.page,
'limit': this.limit,
// 'indentType': this.indentType,
'ordersNo': this.ordersNo,
'status': this.status,
// 'date': this.info.stockDate,
// 'dateType': this.flag,
'senderPhone': this.phone,
'receiverPhone': this.phoneS,
'startTime': this.startTime,
'endTime': endTime,
'userName': this.parentName,
'expressageNo': this.parentParentName,
'expressageStatus': this.expressageStatus,
'weightStatus': this.weightStatus,
'haoCaiStatus': this.haoCaiStatus,
'expressageCompany': this.expressageCompany,
'endSendTime': this.endSendTime,
'startSendTime': this.startSendTime,
'waybill': this.shopbill
})
}).then(({
data
}) => {
console.log(data)
if (data && data.code === 0) {
this.tableDataLoading = false
let returnData = data.data
this.tableData = returnData
}
})
},
// 详情跳转
updates(userId) {
if (userId) {
this.$router.push({
path: '/userDetail',
query: {
userId: userId
} }
}) })
}, }
// 详情跳转
updates(userId) { },
if (userId) { // 订单分析选择日期
this.$router.push({ animeOrder() {
path: '/userDetail', console.log('info', this.info)
query: { this.dataSelect()
userId: userId // this.colonel()
},
// 订单分析年月日
orderfenxi(value) {
this.page = 1
let vanumber = value
// if (vanumber === 1) {
this.flag = value
this.dataSelect()
// this.colonel()
// }
// if (vanumber === 2) {
// this.flag = 2
// this.taskData()
// this.colonel()
// }
// if (vanumber === 3) {
// this.flag = 3
// this.taskData()
// this.colonel()
// }
},
// 转单弹框
zhuandan(row) {
this.ordersId = row.indentId
this.dataSelectUser()
this.dialogFormVisible = true
},
// 确认选择
userBtns(row) {
this.$http({
url: this.$http.adornUrl('adminerrand/transferOfOrder'),
method: 'post',
params: this.$http.adornParams({
'riderUserId': row.userId,
'indentId': this.ordersId,
})
}).then(({
data
}) => {
if (data.code == 0) {
this.$message({
message: '操作成功',
type: 'success',
duration: 1500,
onClose: () => {
this.dataSelect()
this.dialogFormVisible = false
} }
}) })
} else {
this.$message({
message: data.msg,
type: 'warning',
duration: 1500,
onClose: () => { }
})
} }
},
// 订单分析选择日期 })
animeOrder() { },
console.log('info', this.info) // 获取数据列表
this.dataSelect() dataSelectUser() {
// this.colonel() this.tableDataLoadingU = true
}, this.$http({
// 订单分析年月日 url: this.$http.adornUrl('adminerrand/findAllUser'),
orderfenxi(value) { method: 'get',
this.page = 1 params: this.$http.adornParams({
let vanumber = value 'page': this.page1,
// if (vanumber === 1) { 'limit': this.limit1,
this.flag = value // 'member': this.member,
this.dataSelect() 'phone': this.phoneU,
// this.colonel() 'nickName': this.campus,
// } 'userType': 2,
// if (vanumber === 2) { 'invitationCode': '',
// this.flag = 2 'platform': ''
// this.taskData() })
// this.colonel() }).then(({
// } data
// if (vanumber === 3) { }) => {
// this.flag = 3 this.tableDataLoadingU = false
// this.taskData() let returnData = data.data
// this.colonel() this.userData = returnData
// } })
}, },
// 转单弹框 // 查询
zhuandan(row) { selectU() {
this.ordersId = row.indentId this.page = 1
this.dataSelectUser() this.dataSelectUser()
this.dialogFormVisible = true },
}, // 重置
// 确认选择 cleansU() {
userBtns(row) { this.page1 = 1
this.campus = ''
this.phoneU = ''
this.dataSelectUser()
},
// 导出
exportBtn() {
var endTime = this.endTime
if (this.endTime != '') {
endTime = this.endTime + " 23:59:59"
}
this.$http({
url: this.$http.adornUrl('adminerrand/exportExcelIndent'),
method: 'get',
responseType: 'blob',
params: this.$http.adornParams({
'indentType': this.indentType,
'indentNumber': this.ordersNo,
'indentState': this.status,
'date': this.info.stockDate,
'dateType': this.flag,
'phone': this.phone,
'startTime': this.startTime,
'endTime': endTime,
})
}).then(({
data
}) => {
let blob = new Blob([data], {
type: 'application/vnd.ms-excel,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'
})
if (window.navigator.msSaveOrOpenBlob) {
navigator.msSaveBlob(blob)
} else {
let url = window.URL.createObjectURL(blob)
let elink = document.createElement('a')
elink.download = '订单列表.xlsx'
elink.style.display = 'none'
elink.href = url
document.body.appendChild(elink)
elink.click()
document.body.removeChild(elink)
}
})
},
dataDel(row, index) {
if (index == 1) {
this.titles = '快递员信息'
}
if (index == 2) {
this.titles = '寄件人信息'
}
if (index == 3) {
this.titles = '收件人信息'
}
if (index == 4) {
this.titles = '申诉信息'
}
if (index == 5) {
this.titles = '物品信息'
}
if (index == 6) {
this.titles = '其他金额信息'
}
if (index == 7) {
this.titles = '其他状态信息'
}
this.datleIndex = index
this.detaDatle = row
this.dialogFormVisibleDel = true
},
// 取消订单
quxiao(row) {
this.$confirm(`确定要取消订单?`, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.$http({ this.$http({
url: this.$http.adornUrl('adminerrand/transferOfOrder'), url: this.$http.adornUrl('expressage/cancelExpressage'),
method: 'post', method: 'post',
params: this.$http.adornParams({ params: this.$http.adornParams({
'riderUserId': row.userId, 'ordersNo': row.ordersNo
'indentId': this.ordersId,
}) })
}).then(({ }).then(({
data data
}) => { }) => {
if (data.code == 0) { if (data.code == 0) {
this.$message({ this.$message({
message: '操作成功', message: '删除成功',
type: 'success', type: 'success',
duration: 1500, duration: 1500,
onClose: () => { onClose: () => {
this.dataSelect() this.dataSelect()
this.dialogFormVisible = false
} }
}) })
} else { } else {
...@@ -1370,201 +1514,118 @@ ...@@ -1370,201 +1514,118 @@
message: data.msg, message: data.msg,
type: 'warning', type: 'warning',
duration: 1500, duration: 1500,
onClose: () => {} onClose: () => { }
}) })
} }
})
},
// 获取数据列表
dataSelectUser() {
this.tableDataLoadingU = true
this.$http({
url: this.$http.adornUrl('adminerrand/findAllUser'),
method: 'get',
params: this.$http.adornParams({
'page': this.page1,
'limit': this.limit1,
// 'member': this.member,
'phone': this.phoneU,
'nickName': this.campus,
'userType': 2,
'invitationCode': '',
'platform': ''
})
}).then(({
data
}) => {
this.tableDataLoadingU = false
let returnData = data.data
this.userData = returnData
}) })
}, }).catch(() => { })
// 查询 },
selectU() { // 异常反馈弹框
this.page = 1 fankui(row, index) {
this.dataSelectUser() if (index == 1) {
}, this.titles = '异常反馈'
// 重置 }
cleansU() { if (index == 2) {
this.page1 = 1 this.titles = '申诉审核'
this.campus = '' }
this.phoneU = '' this.statusYc = ''
this.dataSelectUser() this.checkReason = ''
}, this.detaDatle = row
// 导出 this.dialogFormVisibleYc = true
exportBtn() { },
advertNoticeTo() {
var endTime = this.endTime if (this.statusYc == '') {
if (this.endTime != '') { this.$notify({
endTime = this.endTime + " 23:59:59" title: '提示',
} duration: 1800,
this.$http({ message: '请选择审核结果',
url: this.$http.adornUrl('adminerrand/exportExcelIndent'),
method: 'get',
responseType: 'blob',
params: this.$http.adornParams({
'indentType': this.indentType,
'indentNumber': this.ordersNo,
'indentState': this.status,
'date': this.info.stockDate,
'dateType': this.flag,
'phone': this.phone,
'startTime': this.startTime,
'endTime': endTime,
})
}).then(({
data
}) => {
let blob = new Blob([data], {
type: 'application/vnd.ms-excel,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'
})
if (window.navigator.msSaveOrOpenBlob) {
navigator.msSaveBlob(blob)
} else {
let url = window.URL.createObjectURL(blob)
let elink = document.createElement('a')
elink.download = '订单列表.xlsx'
elink.style.display = 'none'
elink.href = url
document.body.appendChild(elink)
elink.click()
document.body.removeChild(elink)
}
})
},
dataDel(row, index) {
if (index == 1) {
this.titles = '快递员信息'
}
if (index == 2) {
this.titles = '寄件人信息'
}
if (index == 3) {
this.titles = '收件人信息'
}
if (index == 4) {
this.titles = '申诉信息'
}
if (index == 5) {
this.titles = '物品信息'
}
if (index == 6) {
this.titles = '其他金额信息'
}
if (index == 7) {
this.titles = '其他状态信息'
}
this.datleIndex = index
this.detaDatle = row
this.dialogFormVisibleDel = true
},
// 取消订单
quxiao(row) {
this.$confirm(`确定要取消订单?`, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning' type: 'warning'
}).then(() => { })
this.$http({ return
url: this.$http.adornUrl('expressage/cancelExpressage'), }
method: 'post', if (this.statusYc == 2) {
params: this.$http.adornParams({ if (this.checkReason == '') {
'ordersNo': row.ordersNo
})
}).then(({
data
}) => {
if (data.code == 0) {
this.$message({
message: '删除成功',
type: 'success',
duration: 1500,
onClose: () => {
this.dataSelect()
}
})
} else {
this.$message({
message: data.msg,
type: 'warning',
duration: 1500,
onClose: () => {}
})
}
})
}).catch(() => {})
},
// 异常反馈弹框
fankui(row, index) {
if (index == 1) {
this.titles = '异常反馈'
}
if (index == 2) {
this.titles = '申诉审核'
}
this.statusYc = ''
this.checkReason = ''
this.detaDatle = row
this.dialogFormVisibleYc = true
},
advertNoticeTo() {
if (this.statusYc == '') {
this.$notify({ this.$notify({
title: '提示', title: '提示',
duration: 1800, duration: 1800,
message: '请选择审核结果', message: '请输入审核原因',
type: 'warning' type: 'warning'
}) })
return return
} }
if (this.statusYc == 2) { }
if (this.checkReason == '') {
this.$notify({ // if(this.titles == '异常反馈'){
title: '提示', // var url = 'expressage/cancelExpressage'
duration: 1800, // }else{
message: '请输入审核原因', var url = 'expressage/auditExpressage'
type: 'warning' // }
}) this.$http({
return url: this.$http.adornUrl(url),
} method: 'post',
params: this.$http.adornParams({
'ordersNo': this.detaDatle.ordersNo,
'checkReason': this.checkReason,
'status': this.statusYc
})
}).then(({
data
}) => {
if (data.code == 0) {
this.$message({
message: '操作成功',
type: 'success',
duration: 1500,
onClose: () => {
this.dialogFormVisibleYc = false
this.dataSelect()
}
})
} else {
this.$message({
message: data.msg,
type: 'warning',
duration: 1500,
onClose: () => { }
})
} }
// if(this.titles == '异常反馈'){ })
// var url = 'expressage/cancelExpressage' },
// }else{ // 查看物流信息
var url = 'expressage/auditExpressage' wuliu(row) {
// } this.wuliuDate = {}
this.$http({
url: this.$http.adornUrl('expressage/queryTranceOrders'),
method: 'get',
params: this.$http.adornParams({
'ordersNo': row.ordersNo
})
}).then(({
data
}) => {
if (data.code == 0) {
this.wuliuDate = data.data;
this.dialogVisible = true
} else {
this.$message(data.msg);
}
})
},
// 加入黑名单
lahei(row) {
this.$confirm(`确定把用户加入黑名单?`, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.$http({ this.$http({
url: this.$http.adornUrl(url), url: this.$http.adornUrl('user/updateErrorUsers'),
method: 'post', method: 'post',
params: this.$http.adornParams({ params: this.$http.adornParams({
'ordersNo': this.detaDatle.ordersNo, 'userId': row.userId
'checkReason': this.checkReason,
'status': this.statusYc
}) })
}).then(({ }).then(({
data data
...@@ -1575,7 +1636,6 @@ ...@@ -1575,7 +1636,6 @@
type: 'success', type: 'success',
duration: 1500, duration: 1500,
onClose: () => { onClose: () => {
this.dialogFormVisibleYc = false
this.dataSelect() this.dataSelect()
} }
}) })
...@@ -1584,310 +1644,253 @@ ...@@ -1584,310 +1644,253 @@
message: data.msg, message: data.msg,
type: 'warning', type: 'warning',
duration: 1500, duration: 1500,
onClose: () => {} onClose: () => { }
}) })
} }
}) })
}, }).catch(() => { })
// 查看物流信息 },
wuliu(row) { // 推送
this.wuliuDate = {} tuisong(row, index) {
if (index == 1) {
var msg = '超重'
} else {
var msg = '耗材'
}
this.$confirm('确定要推送' + msg + '信息?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.$http({ this.$http({
url: this.$http.adornUrl('expressage/queryTranceOrders'), url: this.$http.adornUrl('expressage/sendMsg'),
method: 'get', method: 'get',
params: this.$http.adornParams({ params: this.$http.adornParams({
'ordersNo': row.ordersNo 'ordersNo': row.ordersNo,
'msg': msg
}) })
}).then(({ }).then(({
data data
}) => { }) => {
if (data.code == 0) { if (data.code == 0) {
this.wuliuDate = data.data; this.$message({
this.dialogVisible = true message: '操作成功',
type: 'success',
duration: 1500,
onClose: () => {
this.dataSelect()
}
})
} else { } else {
this.$message(data.msg); this.$message({
} message: data.msg,
}) type: 'warning',
duration: 1500,
}, onClose: () => { }
// 加入黑名单
lahei(row) {
this.$confirm(`确定把用户加入黑名单?`, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.$http({
url: this.$http.adornUrl('user/updateErrorUsers'),
method: 'post',
params: this.$http.adornParams({
'userId': row.userId
}) })
}).then(({ }
data
}) => {
if (data.code == 0) {
this.$message({
message: '操作成功',
type: 'success',
duration: 1500,
onClose: () => {
this.dataSelect()
}
})
} else {
this.$message({
message: data.msg,
type: 'warning',
duration: 1500,
onClose: () => {}
})
}
})
}).catch(() => { })
},
// 推送
fasong(row, index) {
if (index == 1) {
var msg = '超重'
} else {
var msg = '耗材'
}
this.$confirm('确定要发送' + msg + '信息?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.$http({
url: this.$http.adornUrl('expressage/sendDxMsg'),
method: 'get',
params: this.$http.adornParams({
'ordersNo': row.ordersNo,
'msg': msg
}) })
}).catch(() => {}) }).then(({
}, data
// 推送 }) => {
tuisong(row, index) { if (data.code == 0) {
if (index == 1) { this.$message({
var msg = '超重' message: '操作成功',
} else { type: 'success',
var msg = '耗材' duration: 1500,
} onClose: () => {
this.$confirm('确定要推送' + msg + '信息?', '提示', { this.dataSelect()
confirmButtonText: '确定', }
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.$http({
url: this.$http.adornUrl('expressage/sendMsg'),
method: 'get',
params: this.$http.adornParams({
'ordersNo': row.ordersNo,
'msg': msg
}) })
}).then(({ } else {
data this.$message({
}) => { message: data.msg,
if (data.code == 0) { type: 'warning',
this.$message({ duration: 1500,
message: '操作成功', onClose: () => { }
type: 'success',
duration: 1500,
onClose: () => {
this.dataSelect()
}
})
} else {
this.$message({
message: data.msg,
type: 'warning',
duration: 1500,
onClose: () => {}
})
}
})
}).catch(() => {})
},
// 推送
fasong(row, index) {
if (index == 1) {
var msg = '超重'
} else {
var msg = '耗材'
}
this.$confirm('确定要发送' + msg + '信息?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.$http({
url: this.$http.adornUrl('expressage/sendDxMsg'),
method: 'get',
params: this.$http.adornParams({
'ordersNo': row.ordersNo,
'msg': msg
}) })
}).then(({ }
data
}) => {
if (data.code == 0) {
this.$message({
message: '操作成功',
type: 'success',
duration: 1500,
onClose: () => {
this.dataSelect()
}
})
} else {
this.$message({
message: data.msg,
type: 'warning',
duration: 1500,
onClose: () => {}
})
}
})
}).catch(() => {})
},
// 复制
copys(number) {
var _this = this
console.log(number)
this.$copyText(number).then(function(e) {
console.log('`````````````', number)
_this.$message({
message: '复制成功',
type: 'success'
});
}, function(e) {
_this.$message.error('复制失败');
}) })
}, }).catch(() => { })
// 快递公司 },
kuaid() { // 复制
copys(number) {
var _this = this
console.log(number)
this.$copyText(number).then(function (e) {
console.log('`````````````', number)
_this.$message({
message: '复制成功',
type: 'success'
});
}, function (e) {
_this.$message.error('复制失败');
})
},
// 快递公司
kuaid() {
this.$http({
url: this.$http.adornUrl('expressage/selectCompanyGroupName'),
method: 'get',
params: this.$http.adornParams({})
}).then(({
data
}) => {
this.kuaidlist = data.data;
})
},
// 同步状态
tongbu(row) {
if (row.ordersNo) {
this.$http({ this.$http({
url: this.$http.adornUrl('expressage/selectCompanyGroupName'), url: this.$http.adornUrl('expressage/sysnExpressage'),
method: 'get', method: 'get',
params: this.$http.adornParams({}) params: this.$http.adornParams({
'ordersNo': row.ordersNo,
})
}).then(({ }).then(({
data data
}) => { }) => {
this.kuaidlist = data.data; if (data.code == 0) {
this.$message({
}) message: '操作成功',
type: 'success',
}, duration: 1500,
// 同步状态 onClose: () => {
tongbu(row) { this.dataSelect()
if (row.ordersNo) { }
this.$http({
url: this.$http.adornUrl('expressage/sysnExpressage'),
method: 'get',
params: this.$http.adornParams({
'ordersNo': row.ordersNo,
}) })
}).then(({ } else {
data this.$message({
}) => { message: data.msg,
if (data.code == 0) { type: 'warning',
this.$message({ duration: 1500,
message: '操作成功', onClose: () => { }
type: 'success', })
duration: 1500, }
onClose: () => {
this.dataSelect()
}
})
} else {
this.$message({
message: data.msg,
type: 'warning',
duration: 1500,
onClose: () => {}
})
}
}) })
} else { } else {
this.$message({ this.$message({
message: '运单号为空!', message: '运单号为空!',
type: 'warning', type: 'warning',
duration: 1500, duration: 1500,
onClose: () => {} onClose: () => { }
}) })
} }
},
}, },
mounted() { },
this.tableDataLoading = false mounted() {
this.dataSelect() this.tableDataLoading = false
this.kuaid() this.dataSelect()
} this.kuaid()
} }
}
</script> </script>
<style> <style>
.customWidth { .customWidth {
width: 80% !important; width: 80% !important;
} }
.detailtabel .table_main table { .detailtabel .table_main table {
width: 100%; width: 100%;
} }
.detailtabel .table_main { .detailtabel .table_main {
border: 1px solid #e8e8e8; border: 1px solid #e8e8e8;
} }
.detailtabel table tr { .detailtabel table tr {
border-bottom: 1px solid #e8e8e8; border-bottom: 1px solid #e8e8e8;
} }
.detailtabel table tr th { .detailtabel table tr th {
background-color: #fafafa; background-color: #fafafa;
padding: 5px 24px; padding: 5px 24px;
border-right: 1px solid #e8e8e8; border-right: 1px solid #e8e8e8;
border-bottom: 1px solid #e8e8e8; border-bottom: 1px solid #e8e8e8;
} }
.detailtabel table tr td { .detailtabel table tr td {
padding: 5px 24px; padding: 5px 24px;
border-right: 1px solid #e8e8e8; border-right: 1px solid #e8e8e8;
border-bottom: 1px solid #e8e8e8; border-bottom: 1px solid #e8e8e8;
} }
.detailtabel table th { .detailtabel table th {
color: rgba(0, 0, 0, .85); color: rgba(0, 0, 0, .85);
font-weight: 400; font-weight: 400;
font-size: 14px; font-size: 14px;
line-height: 1.5; line-height: 1.5;
} }
.border-rt { .border-rt {
border-right: none !important; border-right: none !important;
} }
.border-bt { .border-bt {
border-bottom: none !important; border-bottom: none !important;
} }
.box { .box {
padding: 44px; padding: 44px;
border: 1px solid #eee; border: 1px solid #eee;
margin: 15px 10px; margin: 15px 10px;
} }
.box_num { .box_num {
font-size: 14px; font-size: 14px;
color: #66b1ff; color: #66b1ff;
} }
.box_num .box_color { .box_num .box_color {
color: #333; color: #333;
font-size: 14px; font-size: 14px;
margin-bottom: 15px; margin-bottom: 15px;
} }
.box_num div span { .box_num div span {
font-size: 20px; font-size: 20px;
margin-left: 5px; margin-left: 5px;
} }
.text_color { .text_color {
color: #4f9dec; color: #4f9dec;
} }
.text_color span { .text_color span {
margin-right: 5px; margin-right: 5px;
} }
.el-step.is-vertical .el-step__title { .el-step.is-vertical .el-step__title {
padding-bottom: 30px !important; padding-bottom: 30px !important;
} }
</style> </style>
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!