Commit eada8a3e by leic

主题修改功能添加

1 parent 03b5f939
......@@ -14,9 +14,10 @@ module.exports = {
// 代理列表, 是否开启代理通过[./dev.env.js]配置
proxyTable: devEnv.OPEN_PROXY === false ? {} : {
'/proxyApi': {
// target: 'http://192.168.0.119:8182/sqx_fast/',
target: 'https://admin.sj088.cn/sqx_fast/',
target: 'http://1.12.76.77:8181/sqx_fast/',
// target: 'https://admin.sj088.cn/sqx_fast/',
changeOrigin: true,
logLevel: 'debug',
pathRewrite: {
'^/proxyApi': ''
}
......
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 path = require('path');
var del = require('del');
......@@ -64,3 +67,20 @@ gulp.task('default', ['clean'], function () {
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>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<!-- <script type="text/javascript" src="//api.map.baidu.com/api?v=2.0&ak=miP4RMG1yZoROVRSqTPghvUaRb68iGUB"></script> -->
<title>裹裹快递上门取件寄快递系统</title>
<% if (process.env.NODE_ENV === 'production') { %>
<!-- <script type="text/javascript" src="//api.map.baidu.com/api?v=2.0&ak=miP4RMG1yZoROVRSqTPghvUaRb68iGUB"></script> -->
<title>裹裹快递上门取件寄快递系统</title>
<% if (process.env.NODE_ENV==='production' ) { %>
<!-- 生产环境 -->
<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">
<script src="./static/config/index.js"></script>
<script src="./static/plugins/mock-1.0.0-beta3/mock-min.js"></script>
......@@ -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.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 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">
<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>
<body>
<div id="app"></div>
</body>
</html>
</html>
\ No newline at end of file
......@@ -183,6 +183,15 @@
"integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=",
"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": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/ansi-cyan/-/ansi-cyan-0.1.1.tgz",
......@@ -261,8 +270,9 @@
},
"archy": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz",
"integrity": "sha1-+cjBN1fMHde8N5rHeyxipcKGjEA="
"resolved": "https://registry.npmmirror.com/archy/-/archy-1.0.0.tgz",
"integrity": "sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw==",
"dev": true
},
"are-we-there-yet": {
"version": "1.1.5",
......@@ -331,13 +341,15 @@
},
"array-differ": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/array-differ/-/array-differ-1.0.0.tgz",
"integrity": "sha1-7/UuN1gknTO+QCuLuOVkuytdQDE="
"resolved": "https://registry.npmmirror.com/array-differ/-/array-differ-1.0.0.tgz",
"integrity": "sha512-LeZY+DZDRnvP7eMuQ6LHfCzUGxAAIViUBliK24P3hWXL6y4SortgR6Nim6xrkfSLlmH0+k+9NYNwVC2s53ZrYQ==",
"dev": true
},
"array-each": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/array-each/-/array-each-1.0.1.tgz",
"integrity": "sha1-p5SvDAWrF1KEbudTofIRoFugxE8="
"resolved": "https://registry.npmmirror.com/array-each/-/array-each-1.0.1.tgz",
"integrity": "sha512-zHjL5SZa68hkKHBFBK6DJCTtr9sfTCPCaph/L7tMSLcTFgy+zX7E+6q5UArbtOtMBCtxdICpfTCspRse+ywyXA==",
"dev": true
},
"array-equal": {
"version": "1.0.0",
......@@ -372,8 +384,9 @@
},
"array-slice": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/array-slice/-/array-slice-1.1.0.tgz",
"integrity": "sha512-B1qMD3RBP7O8o0H2KbrXDyB0IccejMF15+87Lvlor12ONPRHP6gTjXMNkt/d3ZuOGbAe66hFmaCfECI24Ufp6w=="
"resolved": "https://registry.npmmirror.com/array-slice/-/array-slice-1.1.0.tgz",
"integrity": "sha512-B1qMD3RBP7O8o0H2KbrXDyB0IccejMF15+87Lvlor12ONPRHP6gTjXMNkt/d3ZuOGbAe66hFmaCfECI24Ufp6w==",
"dev": true
},
"array-union": {
"version": "1.0.2",
......@@ -387,7 +400,8 @@
"array-uniq": {
"version": "1.0.3",
"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": {
"version": "0.3.2",
......@@ -1628,7 +1642,8 @@
"balanced-match": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
"integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c="
"integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
"dev": true
},
"base": {
"version": "0.11.2",
......@@ -1703,8 +1718,9 @@
},
"beeper": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/beeper/-/beeper-1.1.1.tgz",
"integrity": "sha1-5tXqjF2tABMEpwsiY4RH9pyy+Ak="
"resolved": "https://registry.npmmirror.com/beeper/-/beeper-1.1.1.tgz",
"integrity": "sha512-3vqtKL1N45I5dV0RdssXZG7X6pCqQrWPNOlBPZPrd+QkE2HEhR57Z04m0KtpbsZH73j+a3F8UD1TQnn+ExTvIA==",
"dev": true
},
"big.js": {
"version": "5.2.2",
......@@ -1879,6 +1895,7 @@
"version": "1.1.11",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
"integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
"dev": true,
"requires": {
"balanced-match": "^1.0.0",
"concat-map": "0.0.1"
......@@ -2623,7 +2640,8 @@
"clone": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz",
"integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4="
"integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=",
"dev": true
},
"clone-buffer": {
"version": "1.0.0",
......@@ -2653,8 +2671,9 @@
},
"clone-stats": {
"version": "0.0.1",
"resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz",
"integrity": "sha1-uI+UqCzzi4eR1YBG6kAprYjKmdE="
"resolved": "https://registry.npmmirror.com/clone-stats/-/clone-stats-0.0.1.tgz",
"integrity": "sha512-dhUqc57gSMCo6TX85FLfe51eC/s+Im2MLkAgJwfaRRexR2tA4dd3eLEW4L6efzHc2iNorrRRXITifnDLlRrhaA==",
"dev": true
},
"cloneable-readable": {
"version": "1.1.3",
......@@ -2847,7 +2866,8 @@
"concat-map": {
"version": "0.0.1",
"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": {
"version": "1.6.2",
......@@ -3251,6 +3271,26 @@
"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": {
"version": "0.0.4",
"resolved": "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.4.tgz",
......@@ -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": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz",
......@@ -3307,12 +3356,40 @@
"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": {
"version": "3.4.2",
"resolved": "https://registry.npmjs.org/css-what/-/css-what-3.4.2.tgz",
"integrity": "sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==",
"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": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz",
......@@ -3458,8 +3535,9 @@
},
"dateformat": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/dateformat/-/dateformat-2.2.0.tgz",
"integrity": "sha1-QGXiATz5+5Ft39gu+1Bq1MZ2kGI="
"resolved": "https://registry.npmmirror.com/dateformat/-/dateformat-2.2.0.tgz",
"integrity": "sha512-GODcnWq3YGoTnygPfi02ygEiRxqUxpJwuRHjdhJYuxpcZmDq4rjBiXYmbCCzStxo176ixfLT6i4NPwQooRySnw==",
"dev": true
},
"de-indent": {
"version": "1.0.2",
......@@ -3540,9 +3618,10 @@
}
},
"defaults": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz",
"integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=",
"version": "1.0.4",
"resolved": "https://registry.npmmirror.com/defaults/-/defaults-1.0.4.tgz",
"integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==",
"dev": true,
"requires": {
"clone": "^1.0.2"
}
......@@ -3656,8 +3735,9 @@
},
"deprecated": {
"version": "0.0.1",
"resolved": "https://registry.npmjs.org/deprecated/-/deprecated-0.0.1.tgz",
"integrity": "sha1-+cmvVGSvoeepcUWKi97yqpTVuxk="
"resolved": "https://registry.npmmirror.com/deprecated/-/deprecated-0.0.1.tgz",
"integrity": "sha512-BRACtc6B1mJe2J2mruHFqHWrtLy0Qppu/7LKdqWH3o/9j1L/1phPUaQV+2S3H8ZDW0k6h+NEOKcHBDRikWLiOA==",
"dev": true
},
"des.js": {
"version": "1.0.1",
......@@ -3677,8 +3757,9 @@
},
"detect-file": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz",
"integrity": "sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc="
"resolved": "https://registry.npmmirror.com/detect-file/-/detect-file-1.0.0.tgz",
"integrity": "sha512-DtCOLG98P007x7wiiOmfI0fi3eIKyWiLTGJ2MDnVi/E04lWGbf+JzrRHMm0rgIIZJGtHpKpbVgLWHrv8xXpc3Q==",
"dev": true
},
"detect-indent": {
"version": "4.0.0",
......@@ -3825,8 +3906,9 @@
},
"duplexer2": {
"version": "0.0.2",
"resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.0.2.tgz",
"integrity": "sha1-xhTc9n4vsUmVqRcR5aYX6KYKMds=",
"resolved": "https://registry.npmmirror.com/duplexer2/-/duplexer2-0.0.2.tgz",
"integrity": "sha512-+AWBwjGadtksxjOQSFDhPNQbed7icNXApT4+2BNpsXzcCBiInq2H9XW0O8sfHFaPmnQRs7cg/P0fAr2IWQSW0g==",
"dev": true,
"requires": {
"readable-stream": "~1.1.9"
}
......@@ -4037,8 +4119,9 @@
},
"end-of-stream": {
"version": "0.1.5",
"resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-0.1.5.tgz",
"integrity": "sha1-jhdyBsPICDfYVjLouTWd/osvbq8=",
"resolved": "https://registry.npmmirror.com/end-of-stream/-/end-of-stream-0.1.5.tgz",
"integrity": "sha512-go5TQkd0YRXYhX+Lc3UrXkoKU5j+m72jEP5lHWr2Nh82L8wfZtH8toKgcg4T10o23ELIMGXQdwCbl+qAXIPDrw==",
"dev": true,
"requires": {
"once": "~1.3.0"
}
......@@ -4878,8 +4961,9 @@
},
"expand-tilde": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz",
"integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=",
"resolved": "https://registry.npmmirror.com/expand-tilde/-/expand-tilde-2.0.2.tgz",
"integrity": "sha512-A5EmesHW6rfnZ9ysHQjPdJRni0SRar0tjtG5MNtm9n5TUvsYU8oozprtRD4AqHxcZWWlVuAmQo2nWKfN9oyjTw==",
"dev": true,
"requires": {
"homedir-polyfill": "^1.0.1"
}
......@@ -5296,8 +5380,9 @@
},
"find-index": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/find-index/-/find-index-0.1.1.tgz",
"integrity": "sha1-Z101iyyjiS15Whq0cjL4tuLg3eQ="
"resolved": "https://registry.npmmirror.com/find-index/-/find-index-0.1.1.tgz",
"integrity": "sha512-uJ5vWrfBKMcE6y2Z8834dwEZj9mNGxYa3t3I53OwFeuZ8D9oc2E5zcsrkuhX6h4iYrjhiv0T3szQmxlAV9uxDg==",
"dev": true
},
"find-up": {
"version": "2.1.0",
......@@ -5310,8 +5395,9 @@
},
"findup-sync": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-2.0.0.tgz",
"integrity": "sha1-kyaxSIwi0aYIhlCoaQGy2akKLLw=",
"resolved": "https://registry.npmmirror.com/findup-sync/-/findup-sync-2.0.0.tgz",
"integrity": "sha512-vs+3unmJT45eczmcAZ6zMJtxN3l/QXeccaXQx5cu/MeJMhewVfoWZqibRkOxPnmoR59+Zy5hjabfQc6JLSah4g==",
"dev": true,
"requires": {
"detect-file": "^1.0.0",
"is-glob": "^3.1.0",
......@@ -5321,8 +5407,9 @@
},
"fined": {
"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==",
"dev": true,
"requires": {
"expand-tilde": "^2.0.2",
"is-plain-object": "^2.0.3",
......@@ -5333,13 +5420,15 @@
},
"first-chunk-stream": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/first-chunk-stream/-/first-chunk-stream-1.0.0.tgz",
"integrity": "sha1-Wb+1DNkF9g18OUzT2ayqtOatk04="
"resolved": "https://registry.npmmirror.com/first-chunk-stream/-/first-chunk-stream-1.0.0.tgz",
"integrity": "sha512-ArRi5axuv66gEsyl3UuK80CzW7t56hem73YGNYxNWTGNKFJUadSb9Gu9SHijYEUi8ulQMf1bJomYNwSCPHhtTQ==",
"dev": true
},
"flagged-respawn": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/flagged-respawn/-/flagged-respawn-1.0.1.tgz",
"integrity": "sha512-lNaHNVymajmk0OJMBn8fVUAU1BtDeKIqKoVhk4xAALB57aALg6b4W0MfJ/cUE0g9YBXy5XhSlPIpYIJ7HaY/3Q=="
"resolved": "https://registry.npmmirror.com/flagged-respawn/-/flagged-respawn-1.0.1.tgz",
"integrity": "sha512-lNaHNVymajmk0OJMBn8fVUAU1BtDeKIqKoVhk4xAALB57aALg6b4W0MfJ/cUE0g9YBXy5XhSlPIpYIJ7HaY/3Q==",
"dev": true
},
"flat-cache": {
"version": "1.3.4",
......@@ -5663,8 +5752,9 @@
},
"gaze": {
"version": "0.5.2",
"resolved": "https://registry.npmjs.org/gaze/-/gaze-0.5.2.tgz",
"integrity": "sha1-QLcJU30k0dRXZ9takIaJ3+aaxE8=",
"resolved": "https://registry.npmmirror.com/gaze/-/gaze-0.5.2.tgz",
"integrity": "sha512-3IWbXGkDDHFX8zIlNdfnmhvlSMhpBO6tDr4InB8fGku6dh/gjFPGNqcdsXJajZg05x9jRzXbL6gCnCnuMap4tw==",
"dev": true,
"requires": {
"globule": "~0.1.0"
}
......@@ -5782,8 +5872,9 @@
},
"glob": {
"version": "4.5.3",
"resolved": "https://registry.npmjs.org/glob/-/glob-4.5.3.tgz",
"integrity": "sha1-xstz0yJsHv7wTePFbQEvAzd+4V8=",
"resolved": "https://registry.npmmirror.com/glob/-/glob-4.5.3.tgz",
"integrity": "sha512-I0rTWUKSZKxPSIAIaqhSXTM/DiII6wame+rEC3cFA5Lqmr9YmdL7z6Hj9+bdWtTvoY1Su4/OiMLmb37Y7JzvJQ==",
"dev": true,
"requires": {
"inflight": "^1.0.4",
"inherits": "2",
......@@ -5840,8 +5931,9 @@
},
"glob-stream": {
"version": "3.1.18",
"resolved": "https://registry.npmjs.org/glob-stream/-/glob-stream-3.1.18.tgz",
"integrity": "sha1-kXCl8St5Awb9/lmPMT+PeVT9FDs=",
"resolved": "https://registry.npmmirror.com/glob-stream/-/glob-stream-3.1.18.tgz",
"integrity": "sha512-owHtlMMXIAbxLjhUAO0HhW1/TB7kV0AwDduI3BLbYsWCaRzNIcLBu8N0wHZft2Za2SCmUXCEOdpZzC7k/H19eg==",
"dev": true,
"requires": {
"glob": "^4.3.1",
"glob2base": "^0.0.12",
......@@ -5853,8 +5945,9 @@
"dependencies": {
"readable-stream": {
"version": "1.0.34",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
"integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
"resolved": "https://registry.npmmirror.com/readable-stream/-/readable-stream-1.0.34.tgz",
"integrity": "sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg==",
"dev": true,
"requires": {
"core-util-is": "~1.0.0",
"inherits": "~2.0.1",
......@@ -5864,8 +5957,9 @@
},
"through2": {
"version": "0.6.5",
"resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz",
"integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=",
"resolved": "https://registry.npmmirror.com/through2/-/through2-0.6.5.tgz",
"integrity": "sha512-RkK/CCESdTKQZHdmKICijdKKsCRVHs5KsLZ6pACAmF/1GPUQhonHSXWNERctxEp7RmvjdNbZTL5z9V7nSCXKcg==",
"dev": true,
"requires": {
"readable-stream": ">=1.0.33-1 <1.1.0-0",
"xtend": ">=4.0.0 <4.1.0-0"
......@@ -5875,24 +5969,27 @@
},
"glob-watcher": {
"version": "0.0.6",
"resolved": "https://registry.npmjs.org/glob-watcher/-/glob-watcher-0.0.6.tgz",
"integrity": "sha1-uVtKjfdLOcgymLDAXJeLTZo7cQs=",
"resolved": "https://registry.npmmirror.com/glob-watcher/-/glob-watcher-0.0.6.tgz",
"integrity": "sha512-lzYWq1BJLBmtb9rzT6+lgbFlEW6Sc7B+Qs3RmsNA9lbdFSqLHhebfypPR3nbEOMeEQyawVXqSDH0aqjtImldow==",
"dev": true,
"requires": {
"gaze": "^0.5.1"
}
},
"glob2base": {
"version": "0.0.12",
"resolved": "https://registry.npmjs.org/glob2base/-/glob2base-0.0.12.tgz",
"integrity": "sha1-nUGbPijxLoOjYhZKJ3BVkiycDVY=",
"resolved": "https://registry.npmmirror.com/glob2base/-/glob2base-0.0.12.tgz",
"integrity": "sha512-ZyqlgowMbfj2NPjxaZZ/EtsXlOch28FRXgMd64vqZWk1bT9+wvSRLYD1om9M7QfQru51zJPAT17qXm4/zd+9QA==",
"dev": true,
"requires": {
"find-index": "^0.1.1"
}
},
"global-modules": {
"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==",
"dev": true,
"requires": {
"global-prefix": "^1.0.1",
"is-windows": "^1.0.1",
......@@ -5901,8 +5998,9 @@
},
"global-prefix": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz",
"integrity": "sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=",
"resolved": "https://registry.npmmirror.com/global-prefix/-/global-prefix-1.0.2.tgz",
"integrity": "sha512-5lsx1NUDHtSjfg0eHlmYvZKv8/nVqX4ckFbM+FrGcQ+04KWcWFo9P5MxPZYSzUvyzmdTbI7Eix8Q4IbELDqzKg==",
"dev": true,
"requires": {
"expand-tilde": "^2.0.2",
"homedir-polyfill": "^1.0.1",
......@@ -5969,8 +6067,9 @@
},
"globule": {
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/globule/-/globule-0.1.0.tgz",
"integrity": "sha1-2cjt3h2nnRJaFRt5UzuXhnY0auU=",
"resolved": "https://registry.npmmirror.com/globule/-/globule-0.1.0.tgz",
"integrity": "sha512-3eIcA2OjPCm4VvwIwZPzIxCVssA8HSpM2C6c6kK5ufJH4FGwWoyqL3In19uuX4oe+TwH3w2P1nQDmW56iehO4A==",
"dev": true,
"requires": {
"glob": "~3.1.21",
"lodash": "~1.0.1",
......@@ -5979,8 +6078,9 @@
"dependencies": {
"glob": {
"version": "3.1.21",
"resolved": "https://registry.npmjs.org/glob/-/glob-3.1.21.tgz",
"integrity": "sha1-0p4KBV3qUTj00H7UDomC6DwgZs0=",
"resolved": "https://registry.npmmirror.com/glob/-/glob-3.1.21.tgz",
"integrity": "sha512-ANhy2V2+tFpRajE3wN4DhkNQ08KDr0Ir1qL12/cUe5+a7STEK8jkW4onUYuY8/06qAFuT5je7mjAqzx0eKI2tQ==",
"dev": true,
"requires": {
"graceful-fs": "~1.2.0",
"inherits": "1",
......@@ -5989,23 +6089,27 @@
},
"graceful-fs": {
"version": "1.2.3",
"resolved": "https://registry.npm.taobao.org/graceful-fs/download/graceful-fs-1.2.3.tgz",
"integrity": "sha1-FaSAaldUfLLS2/J/QuiajDRRs2Q="
"resolved": "https://registry.npmmirror.com/graceful-fs/-/graceful-fs-1.2.3.tgz",
"integrity": "sha512-iiTUZ5vZ+2ZV+h71XAgwCSu6+NAizhFU3Yw8aC/hH5SQ3SnISqEqAek40imAFGtDcwJKNhXvSY+hzIolnLwcdQ==",
"dev": true
},
"inherits": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/inherits/-/inherits-1.0.2.tgz",
"integrity": "sha1-ykMJ2t7mtUzAuNJH6NfHoJdb3Js="
"resolved": "https://registry.npmmirror.com/inherits/-/inherits-1.0.2.tgz",
"integrity": "sha512-Al67oatbRSo3RV5hRqIoln6Y5yMVbJSIn4jEJNL7VCImzq/kLr7vvb6sFRJXqr8rpHc/2kJOM+y0sPKN47VdzA==",
"dev": true
},
"lodash": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-1.0.2.tgz",
"integrity": "sha1-j1dWDIO1n8JwvT1WG2kAQ0MOJVE="
"resolved": "https://registry.npmmirror.com/lodash/-/lodash-1.0.2.tgz",
"integrity": "sha512-0VSEDVec/Me2eATuoiQd8IjyBMMX0fahob8YJ96V1go2RjvCk1m1GxmtfXn8RNSaLaTtop7fsuhhu9oLk3hUgA==",
"dev": true
},
"minimatch": {
"version": "0.2.14",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz",
"integrity": "sha1-x054BXT2PG+aCQ6Q775u9TpqdWo=",
"resolved": "https://registry.npmmirror.com/minimatch/-/minimatch-0.2.14.tgz",
"integrity": "sha512-zZ+Jy8lVWlvqqeM8iZB7w7KmQkoJn8djM585z88rywrEbzoqawVa9FR5p2hwD+y74nfuKOjmNvi9gtWJNLqHvA==",
"dev": true,
"requires": {
"lru-cache": "2",
"sigmund": "~1.0.0"
......@@ -6049,8 +6153,9 @@
},
"gulp": {
"version": "3.9.1",
"resolved": "https://registry.npmjs.org/gulp/-/gulp-3.9.1.tgz",
"integrity": "sha1-VxzkWSjdQK9lFPxAEYZgFsE4RbQ=",
"resolved": "https://registry.npmmirror.com/gulp/-/gulp-3.9.1.tgz",
"integrity": "sha512-6FHNdR+VG1LcPz6gZGGqgvimWWGtl4x3FvshAdK/UnAjU7aFOyzft3Fjp35r0Y3ZF4u8vND0S4nGsIB/sxTqzQ==",
"dev": true,
"requires": {
"archy": "^1.0.0",
"chalk": "^1.0.0",
......@@ -6069,8 +6174,9 @@
"dependencies": {
"chalk": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
"integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
"resolved": "https://registry.npmmirror.com/chalk/-/chalk-1.1.3.tgz",
"integrity": "sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==",
"dev": true,
"requires": {
"ansi-styles": "^2.2.1",
"escape-string-regexp": "^1.0.2",
......@@ -6081,8 +6187,70 @@
},
"semver": {
"version": "4.3.6",
"resolved": "https://registry.npmjs.org/semver/-/semver-4.3.6.tgz",
"integrity": "sha1-MAvG4OhjdPe6YQaLWx7NV/xlMto="
"resolved": "https://registry.npmmirror.com/semver/-/semver-4.3.6.tgz",
"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 @@
}
}
},
"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": {
"version": "1.5.0",
"resolved": "https://registry.npmjs.org/gulp-load-plugins/-/gulp-load-plugins-1.5.0.tgz",
......@@ -6383,8 +6562,9 @@
},
"gulp-util": {
"version": "3.0.8",
"resolved": "https://registry.npmjs.org/gulp-util/-/gulp-util-3.0.8.tgz",
"integrity": "sha1-AFTh50RQLifATBh8PsxQXdVLu08=",
"resolved": "https://registry.npmmirror.com/gulp-util/-/gulp-util-3.0.8.tgz",
"integrity": "sha512-q5oWPc12lwSFS9h/4VIjG+1NuNDlJ48ywV2JKItY4Ycc/n1fXJeYPVQsfu5ZrhQi7FGSDBalwUCLar/GyHXKGw==",
"dev": true,
"requires": {
"array-differ": "^1.0.0",
"array-uniq": "^1.0.2",
......@@ -6408,8 +6588,9 @@
"dependencies": {
"chalk": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
"integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
"resolved": "https://registry.npmmirror.com/chalk/-/chalk-1.1.3.tgz",
"integrity": "sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==",
"dev": true,
"requires": {
"ansi-styles": "^2.2.1",
"escape-string-regexp": "^1.0.2",
......@@ -7128,6 +7309,7 @@
"version": "1.0.6",
"resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
"integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
"dev": true,
"requires": {
"once": "^1.3.0",
"wrappy": "1"
......@@ -7191,7 +7373,8 @@
"interpret": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz",
"integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA=="
"integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==",
"dev": true
},
"invariant": {
"version": "2.2.4",
......@@ -7222,8 +7405,9 @@
},
"is-absolute": {
"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==",
"dev": true,
"requires": {
"is-relative": "^1.0.0",
"is-windows": "^1.0.1"
......@@ -7381,7 +7565,8 @@
"is-extglob": {
"version": "2.1.1",
"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": {
"version": "1.1.0",
......@@ -7402,6 +7587,7 @@
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz",
"integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=",
"dev": true,
"requires": {
"is-extglob": "^2.1.0"
}
......@@ -7513,8 +7699,9 @@
},
"is-relative": {
"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==",
"dev": true,
"requires": {
"is-unc-path": "^1.0.0"
}
......@@ -7563,8 +7750,9 @@
},
"is-unc-path": {
"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==",
"dev": true,
"requires": {
"unc-path-regex": "^0.1.2"
}
......@@ -7572,7 +7760,8 @@
"is-utf8": {
"version": "0.2.1",
"resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz",
"integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI="
"integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=",
"dev": true
},
"is-whitespace": {
"version": "0.3.0",
......@@ -7594,7 +7783,8 @@
"isarray": {
"version": "0.0.1",
"resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
"integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8="
"integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
"dev": true
},
"isexe": {
"version": "2.0.0",
......@@ -8822,8 +9012,9 @@
},
"liftoff": {
"version": "2.5.0",
"resolved": "https://registry.npmjs.org/liftoff/-/liftoff-2.5.0.tgz",
"integrity": "sha1-IAkpG7Mc6oYbvxCnwVooyvdcMew=",
"resolved": "https://registry.npmmirror.com/liftoff/-/liftoff-2.5.0.tgz",
"integrity": "sha512-01zfGFqfORP1CGmZZP2Zn51zsqz4RltDi0RDOhbGoLYdUT5Lw+I2gX6QdwXhPITF6hPOHEOp+At6/L24hIg9WQ==",
"dev": true,
"requires": {
"extend": "^3.0.0",
"findup-sync": "^2.0.0",
......@@ -8999,7 +9190,8 @@
"lodash._basecopy": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz",
"integrity": "sha1-jaDmqHbPNEwK2KVIghEd08XHyjY="
"integrity": "sha1-jaDmqHbPNEwK2KVIghEd08XHyjY=",
"dev": true
},
"lodash._basecreate": {
"version": "3.0.3",
......@@ -9015,13 +9207,15 @@
},
"lodash._basetostring": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/lodash._basetostring/-/lodash._basetostring-3.0.1.tgz",
"integrity": "sha1-0YYdh3+CSlL2aYMtyvPuFVZqB9U="
"resolved": "https://registry.npmmirror.com/lodash._basetostring/-/lodash._basetostring-3.0.1.tgz",
"integrity": "sha512-mTzAr1aNAv/i7W43vOR/uD/aJ4ngbtsRaCubp2BfZhlGU/eORUjg/7F6X0orNMdv33JOrdgGybtvMN/po3EWrA==",
"dev": true
},
"lodash._basevalues": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/lodash._basevalues/-/lodash._basevalues-3.0.0.tgz",
"integrity": "sha1-W3dXYoAr3j0yl1A+JjAIIP32Ybc="
"resolved": "https://registry.npmmirror.com/lodash._basevalues/-/lodash._basevalues-3.0.0.tgz",
"integrity": "sha512-H94wl5P13uEqlCg7OcNNhMQ8KvWSIyqXzOPusRgHC9DK3o54P6P3xtbXlVbRABG4q5gSmp7EDdJ0MSuW9HX6Mg==",
"dev": true
},
"lodash._bindcallback": {
"version": "3.0.1",
......@@ -9032,22 +9226,26 @@
"lodash._getnative": {
"version": "3.9.1",
"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": {
"version": "3.0.9",
"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": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/lodash._reescape/-/lodash._reescape-3.0.0.tgz",
"integrity": "sha1-Kx1vXf4HyKNVdT5fJ/rH8c3hYWo="
"resolved": "https://registry.npmmirror.com/lodash._reescape/-/lodash._reescape-3.0.0.tgz",
"integrity": "sha512-Sjlavm5y+FUVIF3vF3B75GyXrzsfYV8Dlv3L4mEpuB9leg8N6yf/7rU06iLPx9fY0Mv3khVp9p7Dx0mGV6V5OQ==",
"dev": true
},
"lodash._reevaluate": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/lodash._reevaluate/-/lodash._reevaluate-3.0.0.tgz",
"integrity": "sha1-WLx0xAZklTrgsSTYBpltrKQx4u0="
"resolved": "https://registry.npmmirror.com/lodash._reevaluate/-/lodash._reevaluate-3.0.0.tgz",
"integrity": "sha512-OrPwdDc65iJiBeUe5n/LIjd7Viy99bKwDdk7Z5ljfZg0uFRFlfQaCy9tZ4YMAag9WAZmlVpe1iZrkIMMSMHD3w==",
"dev": true
},
"lodash._reinterpolate": {
"version": "3.0.0",
......@@ -9056,8 +9254,9 @@
},
"lodash._root": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/lodash._root/-/lodash._root-3.0.1.tgz",
"integrity": "sha1-+6HEUkwZ7ppfgTa0YJ8BfPTe1pI="
"resolved": "https://registry.npmmirror.com/lodash._root/-/lodash._root-3.0.1.tgz",
"integrity": "sha512-O0pWuFSK6x4EXhM1dhZ8gchNtG7JMqBtrHdoUFUWXD7dJnNSUze1GuyQr5sOs0aCvgGeI3o/OJW8f4ca7FDxmQ==",
"dev": true
},
"lodash.camelcase": {
"version": "4.3.0",
......@@ -9101,8 +9300,9 @@
},
"lodash.escape": {
"version": "3.2.0",
"resolved": "https://registry.npmjs.org/lodash.escape/-/lodash.escape-3.2.0.tgz",
"integrity": "sha1-mV7g3BjBtIzJLv+ucaEKq1tIdpg=",
"resolved": "https://registry.npmmirror.com/lodash.escape/-/lodash.escape-3.2.0.tgz",
"integrity": "sha512-n1PZMXgaaDWZDSvuNZ/8XOcYO2hOKDqZel5adtR30VKQAtoWs/5AOeFA0vPV8moiPzlqe7F4cP2tzpFewQyelQ==",
"dev": true,
"requires": {
"lodash._root": "^3.0.0"
}
......@@ -9110,17 +9310,20 @@
"lodash.isarguments": {
"version": "3.1.0",
"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": {
"version": "3.0.4",
"resolved": "https://registry.npmjs.org/lodash.isarray/-/lodash.isarray-3.0.4.tgz",
"integrity": "sha1-eeTriMNqgSKvhvhEqpvNhRtfu1U="
"integrity": "sha1-eeTriMNqgSKvhvhEqpvNhRtfu1U=",
"dev": true
},
"lodash.keys": {
"version": "3.1.2",
"resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-3.1.2.tgz",
"integrity": "sha1-TbwEcrFWvlCgsoaFXRvQsMZWCYo=",
"dev": true,
"requires": {
"lodash._getnative": "^3.0.0",
"lodash.isarguments": "^3.0.0",
......@@ -9141,8 +9344,9 @@
},
"lodash.restparam": {
"version": "3.6.1",
"resolved": "https://registry.npmjs.org/lodash.restparam/-/lodash.restparam-3.6.1.tgz",
"integrity": "sha1-k2pOMJ7zMKdkXtQUWYbIWuWyCAU="
"resolved": "https://registry.npmmirror.com/lodash.restparam/-/lodash.restparam-3.6.1.tgz",
"integrity": "sha512-L4/arjjuq4noiUJpt3yS6KIKDtJwNe2fIYgMqyYYKoeIfV1iEqvPwhCx23o+R9dzouGihDAPN1dTIRWa7zk8tw==",
"dev": true
},
"lodash.tail": {
"version": "4.1.1",
......@@ -9151,8 +9355,9 @@
},
"lodash.template": {
"version": "3.6.2",
"resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-3.6.2.tgz",
"integrity": "sha1-+M3sxhaaJVvpCYrosMU9N4kx0U8=",
"resolved": "https://registry.npmmirror.com/lodash.template/-/lodash.template-3.6.2.tgz",
"integrity": "sha512-0B4Y53I0OgHUJkt+7RmlDFWKjVAI/YUpWNiL9GQz5ORDr4ttgfQGo+phBWKFLJbBdtOwgMuUkdOHOnPg45jKmQ==",
"dev": true,
"requires": {
"lodash._basecopy": "^3.0.0",
"lodash._basetostring": "^3.0.0",
......@@ -9167,8 +9372,9 @@
},
"lodash.templatesettings": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-3.1.1.tgz",
"integrity": "sha1-+zB4RHU7Zrnxr6VOJix0UwfbqOU=",
"resolved": "https://registry.npmmirror.com/lodash.templatesettings/-/lodash.templatesettings-3.1.1.tgz",
"integrity": "sha512-TcrlEr31tDYnWkHFWDCV3dHYroKEXpJZ2YJYvJdhN+y4AkWMDZ5I4I8XDtUKqSAyG81N7w+I1mFEJtcED+tGqQ==",
"dev": true,
"requires": {
"lodash._reinterpolate": "^3.0.0",
"lodash.escape": "^3.0.0"
......@@ -9244,7 +9450,8 @@
"lru-cache": {
"version": "2.7.3",
"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": {
"version": "1.3.0",
......@@ -9257,8 +9464,9 @@
},
"make-iterator": {
"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==",
"dev": true,
"requires": {
"kind-of": "^6.0.2"
}
......@@ -9433,6 +9641,12 @@
"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": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
......@@ -9443,6 +9657,7 @@
"version": "3.1.10",
"resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz",
"integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
"dev": true,
"requires": {
"arr-diff": "^4.0.0",
"array-unique": "^0.3.2",
......@@ -9518,8 +9733,9 @@
},
"minimatch": {
"version": "2.0.10",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-2.0.10.tgz",
"integrity": "sha1-jQh8OcazjAAbl/ynzm0OHoCvusc=",
"resolved": "https://registry.npmmirror.com/minimatch/-/minimatch-2.0.10.tgz",
"integrity": "sha512-jQo6o1qSVLEWaw3l+bwYA2X0uLuK2KjNh2wjgO7Q/9UJnXr1Q3yQKR8BI0/Bt/rPg75e6SMW4hW/6cBHVTZUjA==",
"dev": true,
"requires": {
"brace-expansion": "^1.0.0"
}
......@@ -9611,6 +9827,7 @@
"version": "0.5.5",
"resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz",
"integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==",
"dev": true,
"requires": {
"minimist": "^1.2.5"
}
......@@ -9759,8 +9976,9 @@
},
"multipipe": {
"version": "0.1.2",
"resolved": "https://registry.npmjs.org/multipipe/-/multipipe-0.1.2.tgz",
"integrity": "sha1-Ko8t33Du1WTf8tV/HhoTfZ8FB4s=",
"resolved": "https://registry.npmmirror.com/multipipe/-/multipipe-0.1.2.tgz",
"integrity": "sha512-7ZxrUybYv9NonoXgwoOqtStIu18D1c3eFZj27hqgf5kBrBF8Q+tE8V0MW8dKM5QLkQPh1JhhbKgHLY9kifov4Q==",
"dev": true,
"requires": {
"duplexer2": "0.0.2"
}
......@@ -9797,8 +10015,9 @@
},
"natives": {
"version": "1.1.6",
"resolved": "https://registry.npm.taobao.org/natives/download/natives-1.1.6.tgz",
"integrity": "sha1-pgO0pJirdxc2ErnqGs3sTZgPALs="
"resolved": "https://registry.npmmirror.com/natives/-/natives-1.1.6.tgz",
"integrity": "sha512-6+TDFewD4yxY14ptjKaS63GVdtKiES1pTPyxn9Jb0rBqPMZ7VcCiooEhPNsr+mqHtMGxa/5c/HhcC4uPEUw/nA==",
"dev": true
},
"natural-compare": {
"version": "1.4.0",
......@@ -13398,8 +13617,9 @@
},
"object-assign": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/object-assign/-/object-assign-3.0.0.tgz",
"integrity": "sha1-m+3VygiXlJvKR+f/QIBi1Un1h/I="
"resolved": "https://registry.npmmirror.com/object-assign/-/object-assign-3.0.0.tgz",
"integrity": "sha512-jHP15vXVGeVh1HuaA2wY6lxk+whK/x4KBG88VXeRma7CCun7iGD5qPc4eYykQ9sdQvg8jkwFKsSxHln2ybW3xQ==",
"dev": true
},
"object-copy": {
"version": "0.1.0",
......@@ -13477,8 +13697,9 @@
},
"object.defaults": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/object.defaults/-/object.defaults-1.1.0.tgz",
"integrity": "sha1-On+GgzS0B96gbaFtiNXNKeQ1/s8=",
"resolved": "https://registry.npmmirror.com/object.defaults/-/object.defaults-1.1.0.tgz",
"integrity": "sha512-c/K0mw/F11k4dEUBMW8naXUuBuhxRCfG7W+yFy8EcijU/rSmazOUd1XAEEe6bC0OuXY4HUKjTJv7xbxIMqdxrA==",
"dev": true,
"requires": {
"array-each": "^1.0.1",
"array-slice": "^1.0.0",
......@@ -13488,8 +13709,9 @@
},
"object.map": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/object.map/-/object.map-1.0.1.tgz",
"integrity": "sha1-z4Plncj8wK1fQlDh94s7gb2AHTc=",
"resolved": "https://registry.npmmirror.com/object.map/-/object.map-1.0.1.tgz",
"integrity": "sha512-3+mAJu2PLfnSVGHwIWubpOFLscJANBKuB/6A4CxBstc4aqwQY0FWcsppuy4jU5GSB95yES5JHSI+33AWuS4k6w==",
"dev": true,
"requires": {
"for-own": "^1.0.0",
"make-iterator": "^1.0.0"
......@@ -13547,6 +13769,7 @@
"version": "1.3.3",
"resolved": "https://registry.npmjs.org/once/-/once-1.3.3.tgz",
"integrity": "sha1-suJhVXzkwxTsgwTz+oJmPkKXyiA=",
"dev": true,
"requires": {
"wrappy": "1"
}
......@@ -13677,8 +13900,9 @@
},
"orchestrator": {
"version": "0.3.8",
"resolved": "https://registry.npmjs.org/orchestrator/-/orchestrator-0.3.8.tgz",
"integrity": "sha1-FOfp4nZPcxX7rBhOUGx6pt+UrX4=",
"resolved": "https://registry.npmmirror.com/orchestrator/-/orchestrator-0.3.8.tgz",
"integrity": "sha512-DrQ43ngaJ0e36j2CHyoDoIg1K4zbc78GnTQESebK9vu6hj4W5/pvfSFO/kgM620Yd0YnhseSNYsLK3/SszZ5NQ==",
"dev": true,
"requires": {
"end-of-stream": "~0.1.5",
"sequencify": "~0.0.7",
......@@ -13687,8 +13911,9 @@
},
"ordered-read-streams": {
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/ordered-read-streams/-/ordered-read-streams-0.1.0.tgz",
"integrity": "sha1-/VZamvjrRHO6abbtijQ1LLVS8SY="
"resolved": "https://registry.npmmirror.com/ordered-read-streams/-/ordered-read-streams-0.1.0.tgz",
"integrity": "sha512-PMX5ehiNri4+lgk9fl09xuPeciGmyPyVUSBwwPT4C/3EHGxoVf7UdgKDE3SLBD4pUDmlzrg1L1cK5igrp+Tyuw==",
"dev": true
},
"original": {
"version": "1.0.2",
......@@ -13902,8 +14127,9 @@
},
"parse-filepath": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/parse-filepath/-/parse-filepath-1.0.2.tgz",
"integrity": "sha1-pjISf1Oq89FYdvWHLz/6x2PWyJE=",
"resolved": "https://registry.npmmirror.com/parse-filepath/-/parse-filepath-1.0.2.tgz",
"integrity": "sha512-FwdRXKCohSVeXqwtYonZTXtbGJKrn+HNyWDYVcp5yuJlesTwNH4rsmRZ+GrKAPJ5bLpRxESMeS+Rl0VCHRvB2Q==",
"dev": true,
"requires": {
"is-absolute": "^1.0.0",
"map-cache": "^0.2.0",
......@@ -14016,16 +14242,18 @@
},
"path-root": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/path-root/-/path-root-0.1.1.tgz",
"integrity": "sha1-mkpoFMrBwM1zNgqV8yCDyOpHRbc=",
"resolved": "https://registry.npmmirror.com/path-root/-/path-root-0.1.1.tgz",
"integrity": "sha512-QLcPegTHF11axjfojBIoDygmS2E3Lf+8+jI6wOVmNVenrKSo3mFdSGiIgdSHenczw3wPtlVMQaFVwGmM7BJdtg==",
"dev": true,
"requires": {
"path-root-regex": "^0.1.0"
}
},
"path-root-regex": {
"version": "0.1.2",
"resolved": "https://registry.npmjs.org/path-root-regex/-/path-root-regex-0.1.2.tgz",
"integrity": "sha1-v8zcjfWxLcUsi0PsONGNcsBLqW0="
"resolved": "https://registry.npmmirror.com/path-root-regex/-/path-root-regex-0.1.2.tgz",
"integrity": "sha512-4GlJ6rZDhQZFE0DPVKh0e9jmZ5egZfxTkp7bcRDuPlJXbAwhxcl2dINPUAsjLdejqaLsCeg8axcLjIbvBjN4pQ==",
"dev": true
},
"path-to-regexp": {
"version": "0.1.7",
......@@ -15148,8 +15376,9 @@
},
"pretty-hrtime": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz",
"integrity": "sha1-t+PqQkNaTJsnWdmeDyAesZWALuE="
"resolved": "https://registry.npmmirror.com/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz",
"integrity": "sha512-66hKPCr+72mlfiSjlEB1+45IjXSqvVAIy6mocupoww4tBFE9R9IhwwUGoI4G++Tc9Aq+2rxOt0RFU6gPcrte0A==",
"dev": true
},
"private": {
"version": "0.1.8",
......@@ -15537,6 +15766,7 @@
"version": "1.1.14",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
"integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=",
"dev": true,
"requires": {
"core-util-is": "~1.0.0",
"inherits": "~2.0.1",
......@@ -15569,6 +15799,7 @@
"version": "0.6.2",
"resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz",
"integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=",
"dev": true,
"requires": {
"resolve": "^1.1.6"
}
......@@ -15746,8 +15977,9 @@
},
"replace-ext": {
"version": "0.0.1",
"resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-0.0.1.tgz",
"integrity": "sha1-KbvZIHinOfC8zitO5B6DeVNSKSQ="
"resolved": "https://registry.npmmirror.com/replace-ext/-/replace-ext-0.0.1.tgz",
"integrity": "sha512-AFBWBy9EVRTa/LhEcG8QDP3FvpwZqmvN2QFDuJswFeaVhWnZMp8q3E6Zd90SR04PlIwfGdyVjNyLPyen/ek5CQ==",
"dev": true
},
"replacestream": {
"version": "4.0.3",
......@@ -15871,8 +16103,9 @@
},
"resolve-dir": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz",
"integrity": "sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=",
"resolved": "https://registry.npmmirror.com/resolve-dir/-/resolve-dir-1.0.1.tgz",
"integrity": "sha512-R7uiTjECzvOsWSfdM0QKFNBVFcK27aHOUwdvK53BcW8zqnGdYp0Fbj82cy54+2A4P2tFM22J5kRfe1R+lM/1yg==",
"dev": true,
"requires": {
"expand-tilde": "^2.0.0",
"global-modules": "^1.0.0"
......@@ -16349,8 +16582,9 @@
},
"sequencify": {
"version": "0.0.7",
"resolved": "https://registry.npmjs.org/sequencify/-/sequencify-0.0.7.tgz",
"integrity": "sha1-kM/xnQLgcCf9dn9erT57ldHnOAw="
"resolved": "https://registry.npmmirror.com/sequencify/-/sequencify-0.0.7.tgz",
"integrity": "sha512-YL8BPm0tp6SlXef/VqYpA/ijmTsDP2ZEXzsnqjkaWS7NP7Bfvw18NboL0O8WCIjy67sOCG3MYSK1PB4GC9XdtQ==",
"dev": true
},
"serve-index": {
"version": "1.9.1",
......@@ -16535,7 +16769,8 @@
"sigmund": {
"version": "1.0.1",
"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": {
"version": "3.0.3",
......@@ -17038,8 +17273,9 @@
},
"stream-consume": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/stream-consume/-/stream-consume-0.1.1.tgz",
"integrity": "sha512-tNa3hzgkjEP7XbCkbRXe1jpg+ievoa0O4SCFlMOYEscGSS4JJsckGL8swUyAa/ApGU3Ae4t6Honor4HhL+tRyg=="
"resolved": "https://registry.npmmirror.com/stream-consume/-/stream-consume-0.1.1.tgz",
"integrity": "sha512-tNa3hzgkjEP7XbCkbRXe1jpg+ievoa0O4SCFlMOYEscGSS4JJsckGL8swUyAa/ApGU3Ae4t6Honor4HhL+tRyg==",
"dev": true
},
"stream-each": {
"version": "1.2.3",
......@@ -17170,7 +17406,8 @@
"string_decoder": {
"version": "0.10.31",
"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": {
"version": "3.0.1",
......@@ -17182,8 +17419,9 @@
},
"strip-bom": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-1.0.0.tgz",
"integrity": "sha1-hbiGLzhEtabV7IRnqTWYFzo295Q=",
"resolved": "https://registry.npmmirror.com/strip-bom/-/strip-bom-1.0.0.tgz",
"integrity": "sha512-qVAeAIjblKDp/8Cd0tJdxpe3Iq/HooI7En98alEaMbz4Wedlrcj3WI72dDQSrziRW5IQ0zeBo3JXsmS8RcS9jg==",
"dev": true,
"requires": {
"first-chunk-stream": "^1.0.0",
"is-utf8": "^0.2.0"
......@@ -17213,7 +17451,8 @@
"supports-color": {
"version": "2.0.0",
"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": {
"version": "1.7.0",
......@@ -17659,8 +17898,9 @@
},
"tildify": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/tildify/-/tildify-1.2.0.tgz",
"integrity": "sha1-3OwD9V3Km3qj5bBPIYF+tW5jWIo=",
"resolved": "https://registry.npmmirror.com/tildify/-/tildify-1.2.0.tgz",
"integrity": "sha512-Y9q1GaV/BO65Z9Yf4NOGMuwt3SGdptkZBnaaKfTQakrDyCLiuO1Kc5wxW4xLdsjzunRtqtOdhekiUFmZbklwYQ==",
"dev": true,
"requires": {
"os-homedir": "^1.0.0"
}
......@@ -17991,8 +18231,9 @@
},
"unc-path-regex": {
"version": "0.1.2",
"resolved": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz",
"integrity": "sha1-5z3T17DXxe2G+6xrCufYxqadUPo="
"resolved": "https://registry.npmmirror.com/unc-path-regex/-/unc-path-regex-0.1.2.tgz",
"integrity": "sha512-eXL4nmJT7oCpkZsHZUOJo8hcX3GbsiDOa0Qu9F646fi8dT3XuSVopVqAcEiVzSKKH7UoDti23wNX3qGFxcW5Qg==",
"dev": true
},
"unidecode": {
"version": "0.1.8",
......@@ -18042,8 +18283,9 @@
},
"unique-stream": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/unique-stream/-/unique-stream-1.0.0.tgz",
"integrity": "sha1-1ZpKdUJ0R9mqbJHnAmP40mpLEEs="
"resolved": "https://registry.npmmirror.com/unique-stream/-/unique-stream-1.0.0.tgz",
"integrity": "sha512-L8KM6TdpsoBk6TJTXevbmpub3bATS06Znu3BcfVPVQkFtnh1MFeCZ3gFKCQcji7f7YYiigsO5OR99vqhoNT8nQ==",
"dev": true
},
"universalify": {
"version": "0.1.2",
......@@ -18178,8 +18420,9 @@
},
"user-home": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/user-home/-/user-home-1.1.1.tgz",
"integrity": "sha1-K1viOjK2Onyd640PKNSFcko98ZA="
"resolved": "https://registry.npmmirror.com/user-home/-/user-home-1.1.1.tgz",
"integrity": "sha512-aggiKfEEubv3UwRNqTzLInZpAOmKzwdHqEBmW/hBA/mt99eg+b4VrX6i+IRLxU8+WJYfa33rGwRseg4eElUgsQ==",
"dev": true
},
"util": {
"version": "0.11.1",
......@@ -18223,8 +18466,9 @@
},
"v8flags": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/v8flags/-/v8flags-2.1.1.tgz",
"integrity": "sha1-qrGh+jDUX4jdMhFIh1rALAtV5bQ=",
"resolved": "https://registry.npmmirror.com/v8flags/-/v8flags-2.1.1.tgz",
"integrity": "sha512-SKfhk/LlaXzvtowJabLZwD4K6SGRYeoxA7KJeISlUMAB/NT4CBkZjMq3WceX2Ckm4llwqYVo8TICgsDYCBU2tA==",
"dev": true,
"requires": {
"user-home": "^1.1.1"
}
......@@ -18264,8 +18508,9 @@
},
"vinyl": {
"version": "0.5.3",
"resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.5.3.tgz",
"integrity": "sha1-sEVbOPxeDPMNQyUTLkYZcMIJHN4=",
"resolved": "https://registry.npmmirror.com/vinyl/-/vinyl-0.5.3.tgz",
"integrity": "sha512-P5zdf3WB9uzr7IFoVQ2wZTmUwHL8cMZWJGzLBNCHNZ3NB6HTMsYABtt7z8tAGIINLXyAob9B9a1yzVGMFOYKEA==",
"dev": true,
"requires": {
"clone": "^1.0.0",
"clone-stats": "^0.0.1",
......@@ -18274,8 +18519,9 @@
},
"vinyl-fs": {
"version": "0.3.14",
"resolved": "https://registry.npmjs.org/vinyl-fs/-/vinyl-fs-0.3.14.tgz",
"integrity": "sha1-mmhRzhysHBzqX+hsCTHWIMLPqeY=",
"resolved": "https://registry.npmmirror.com/vinyl-fs/-/vinyl-fs-0.3.14.tgz",
"integrity": "sha512-9CTKjt8378nhdydwFDTwywKio0n8aqq6xA70g0uypcnTNSCow/gQOwv0L9E2GaKd7EQ3kZl/diBxPSCgcBXESw==",
"dev": true,
"requires": {
"defaults": "^1.0.0",
"glob-stream": "^3.1.5",
......@@ -18289,21 +18535,24 @@
"dependencies": {
"clone": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/clone/-/clone-0.2.0.tgz",
"integrity": "sha1-xhJqkK1Pctv1rNskPMN3JP6T/B8="
"resolved": "https://registry.npmmirror.com/clone/-/clone-0.2.0.tgz",
"integrity": "sha512-g62n3Kb9cszeZvmvBUqP/dsEJD/+80pDA8u8KqHnAPrVnQ2Je9rVV6opxkhuWCd1kCn2gOibzDKxCtBvD3q5kA==",
"dev": true
},
"graceful-fs": {
"version": "3.0.12",
"resolved": "https://registry.npm.taobao.org/graceful-fs/download/graceful-fs-3.0.12.tgz",
"integrity": "sha1-ADSUfOntaV7IqwuFS8kZ6Csf+u8=",
"resolved": "https://registry.npmmirror.com/graceful-fs/-/graceful-fs-3.0.12.tgz",
"integrity": "sha512-J55gaCS4iTTJfTXIxSVw3EMQckcqkpdRv3IR7gu6sq0+tbC363Zx6KH/SEwXASK9JRbhyZmVjJEVJIOxYsB3Qg==",
"dev": true,
"requires": {
"natives": "^1.1.3"
}
},
"readable-stream": {
"version": "1.0.34",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
"integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
"resolved": "https://registry.npmmirror.com/readable-stream/-/readable-stream-1.0.34.tgz",
"integrity": "sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg==",
"dev": true,
"requires": {
"core-util-is": "~1.0.0",
"inherits": "~2.0.1",
......@@ -18313,8 +18562,9 @@
},
"through2": {
"version": "0.6.5",
"resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz",
"integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=",
"resolved": "https://registry.npmmirror.com/through2/-/through2-0.6.5.tgz",
"integrity": "sha512-RkK/CCESdTKQZHdmKICijdKKsCRVHs5KsLZ6pACAmF/1GPUQhonHSXWNERctxEp7RmvjdNbZTL5z9V7nSCXKcg==",
"dev": true,
"requires": {
"readable-stream": ">=1.0.33-1 <1.1.0-0",
"xtend": ">=4.0.0 <4.1.0-0"
......@@ -18322,8 +18572,9 @@
},
"vinyl": {
"version": "0.4.6",
"resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.4.6.tgz",
"integrity": "sha1-LzVsh6VQolVGHza76ypbqL94SEc=",
"resolved": "https://registry.npmmirror.com/vinyl/-/vinyl-0.4.6.tgz",
"integrity": "sha512-pmza4M5VA15HOImIQYWhoXGlGNafCm0QK5BpBUXkzzEwrRxKqBsbAhTfkT2zMcJhUX1G1Gkid0xaV8WjOl7DsA==",
"dev": true,
"requires": {
"clone": "^0.2.0",
"clone-stats": "^0.0.1"
......@@ -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": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz",
......@@ -19783,7 +20043,8 @@
"wrappy": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
"integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
"integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
"dev": true
},
"write": {
"version": "0.2.1",
......
......@@ -21,7 +21,6 @@
"element-china-area-data": "^5.0.2",
"element-ui": "2.8.2",
"fs": "0.0.1-security",
"gulp": "3.9.1",
"gulp-concat": "2.6.1",
"gulp-load-plugins": "1.5.0",
"gulp-replace": "0.6.1",
......@@ -69,9 +68,13 @@
"extract-text-webpack-plugin": "3.0.0",
"file-loader": "1.1.4",
"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",
"jest": "21.2.0",
"jest-serializer-vue": "0.3.0",
"merge-stream": "^2.0.0",
"nightwatch": "0.9.12",
"node-notifier": "5.1.2",
"node-sass": "^4.14.1",
......
......@@ -5,6 +5,11 @@
</template>
<script>
export default {
import { initTheme } from './utils/theme';
export default {
mounted() {
initTheme()
}
}
</script>
......@@ -3,6 +3,7 @@
*:after {
box-sizing: border-box;
}
body {
font-family: "Helvetica Neue", Helvetica, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "微软雅黑", Arial, sans-serif;
font-size: 14px;
......@@ -10,355 +11,521 @@ body {
color: #303133;
background-color: #fff;
}
a {
color: mix(#fff, $--color-primary, 20%);
text-decoration: none;
&:focus,
&:hover {
color: $--color-primary;
text-decoration: underline;
}
}
img {
vertical-align: middle;
}
.theme_0BB2D4,
.theme_3E8EF7 {
/* Utils
/* Utils
------------------------------ */
.clearfix:before,
.clearfix:after {
content: " ";
display: table;
}
.clearfix:after {
clear: both;
}
.clearfix:before,
.clearfix:after {
content: " ";
display: table;
}
.clearfix:after {
clear: both;
}
/* Animation
/* Animation
------------------------------ */
.fade-enter-active,
.fade-leave-active {
transition: opacity .5s;
}
.fade-enter,
.fade-leave-to {
opacity: 0;
}
.fade-enter-active,
.fade-leave-active {
transition: opacity .5s;
}
.fade-enter,
.fade-leave-to {
opacity: 0;
}
/* Reset element-ui
/* Reset element-ui
------------------------------ */
.site-wrapper {
.el-pagination {
margin-top: 15px;
text-align: right;
.site-wrapper {
.el-pagination {
margin-top: 15px;
text-align: right;
}
}
}
/* Layout
/* Layout
------------------------------ */
.site-wrapper {
position: relative;
min-width: 1180px;
}
.site-wrapper {
position: relative;
min-width: 1180px;
}
/* Sidebar fold
/* Sidebar fold
------------------------------ */
.site-sidebar--fold {
.site-navbar__header,
.site-navbar__brand,
.site-sidebar,
.site-sidebar__inner,
.el-menu.site-sidebar__menu {
width: 64px;
}
.site-navbar__body,
.site-content__wrapper {
margin-left: 64px;
}
.site-navbar__brand {
&-lg {
display: none;
.site-sidebar--fold {
.site-navbar__header,
.site-navbar__brand,
.site-sidebar,
.site-sidebar__inner,
.el-menu.site-sidebar__menu {
width: 64px;
}
.site-navbar__body,
.site-content__wrapper {
margin-left: 64px;
}
&-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__inner {
overflow: initial;
}
.site-sidebar__menu-icon {
margin-right: 0;
font-size: 20px;
}
.site-content--tabs > .el-tabs > .el-tabs__header {
left: 64px;
.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;
}
}
// 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 {
position: fixed;
top: 0;
right: 0;
left: 0;
z-index: 1030;
height: 50px;
box-shadow: 0 2px 4px rgba(0, 0, 0, .08);
background-color: $navbar--background-color;
&--inverse {
.site-navbar__body {
background-color: transparent;
}
.el-menu {
> .el-menu-item,
> .el-submenu > .el-submenu__title {
color: #fff;
&:focus,
&:hover {
.site-navbar {
position: fixed;
top: 0;
right: 0;
left: 0;
z-index: 1030;
height: 50px;
box-shadow: 0 2px 4px rgba(0, 0, 0, .08);
background-color: $navbar--background-color;
.site-navbar__brand {
&>a {
display: flex;
align-items: center;
justify-content: center;
min-height: 32px;
h1 {
display: inline-block;
height: 32px;
margin: 0 0 0 12px;
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-dropdown {
color: #fff;
.el-menu {
>.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 {
position: relative;
float: left;
width: 230px;
height: 50px;
overflow: hidden;
}
&__brand {
display: table-cell;
vertical-align: middle;
width: 230px;
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;
&__brand {
display: table-cell;
vertical-align: middle;
width: 230px;
height: 50px;
margin: 0;
line-height: 50px;
font-size: 18px;
text-align: center;
text-transform: uppercase;
white-space: nowrap;
color: #fff;
&:focus,
&:hover {
&-lg,
&-mini {
margin: 0 5px;
color: #fff;
text-decoration: none;
&:focus,
&:hover {
color: #fff;
text-decoration: none;
}
}
}
&-mini {
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;
&-mini {
display: none;
}
}
}
&__body {
position: relative;
margin-left: 230px;
padding-right: 15px;
background-color: #fff;
}
&__menu {
float: left;
background-color: transparent;
border-bottom: 0;
&--right {
float: right;
}
a:focus,
a:hover {
text-decoration: none;
&__switch {
font-size: 18px;
border-bottom: none !important;
}
.el-menu-item,
.el-submenu > .el-submenu__title {
height: 50px;
line-height: 50px;
&__avatar {
border-bottom: none !important;
* {
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;
z-index: 2;
&__content {
line-height: 16px;
&__menu {
float: left;
background-color: transparent;
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 {
position: fixed;
top: 50px;
left: 0;
bottom: 0;
z-index: 1020;
width: 230px;
overflow: hidden;
&--dark,
&--dark-popper {
background-color: $sidebar--background-color-dark;
.site-sidebar__menu.el-menu,
> .el-menu--popup {
.site-sidebar {
position: fixed;
top: 50px;
left: 0;
bottom: 0;
z-index: 1020;
width: 230px;
overflow: hidden;
&--dark,
&--dark-popper {
background-color: $sidebar--background-color-dark;
.el-menu-item,
.el-submenu > .el-submenu__title {
color: $sidebar--color-text-dark;
&:focus,
&:hover {
color: mix(#fff, $sidebar--color-text-dark, 50%);
background-color: mix(#293749, $sidebar--background-color-dark, 65%);
.site-sidebar__menu.el-menu,
>.el-menu--popup {
background-color: $sidebar--background-color-dark;
.el-menu-item,
.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 {
background-color: mix(#000, $sidebar--background-color-dark, 15%);
}
.el-menu-item.is-active,
.el-submenu.is-active > .el-submenu__title {
color: mix(#4f9dec, $sidebar--color-text-dark, 100%);
.site-navbar__menu {
width: 100%;
float: none;
.site-navbar__avatar {
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 {
position: relative;
padding: 15px;
&__wrapper {
.site-content {
position: relative;
padding-top: 50px;
margin-left: 230px;
min-height: 100%;
background: $content--background-color;
}
&--tabs {
padding: 55px 0 0;
}
> .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;
}
}
padding: 24px;
&__wrapper {
position: relative;
padding-top: 50px;
margin-left: 230px;
min-height: 100%;
background: $content--background-color;
}
> .el-tabs__content {
padding: 0 15px 15px;
> .site-tabs__tools {
&--tabs {
padding: 64px 0 0;
}
>.el-tabs {
>.el-tabs__header {
position: fixed;
top: 50px;
left: 230px;
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;
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;
margin-bottom: 24px;
>.el-tabs__nav-wrap {
margin-bottom: 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 {
display: inline-block;
width: 14px;
vertical-align: middle;
margin-right: 5px;
}
.el-table__expand-icon {
display: inline-block;
width: 14px;
vertical-align: middle;
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']当前主题色一致
$--color-primary: #304156;
$--color-primary: #001529;
// Navbar
$navbar--background-color: $--color-primary;
// $navbar--background-color: $--color-primary;
$navbar--background-color: #001529;
// Sidebar
$sidebar--background-color-dark: #304156;
$sidebar--color-text-dark:#c1cbd9;
// $sidebar--background-color-dark: #304156;
$sidebar--background-color-dark: #001529;
// $sidebar--color-text-dark:#c1cbd9;
$sidebar--color-text-dark:hsla(0,0%,100%,.65);
// 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 @@
* 1. 此处只包含element-ui组件主题
* 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 {
list: [
'#0BB2D4', // 青色
......
......@@ -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 '@/element-ui' // api: https://github.com/ElemeFE/element
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 httpRequest from '@/utils/httpRequest' // api: https://github.com/axios/axios
import { isAuth } from '@/utils'
import cloneDeep from 'lodash/cloneDeep'
......@@ -16,6 +20,11 @@ import {VueJsonp} from 'vue-jsonp'
import VueClipboard from 'vue-clipboard2'
Vue.use(VueClipboard)
// 全局注册表格empty组件
import TableEmpty from '@/components/TableEmpty/'
import { setCookie } from './utils/cookie'
Vue.component('TableEmpty', TableEmpty)
Vue.use(VueJsonp)
Vue.use(BaiduMap, {
......@@ -33,6 +42,7 @@ if (process.env.NODE_ENV !== 'production') {
// 挂载全局
Vue.prototype.$http = httpRequest // ajax请求方法
Vue.prototype.isAuth = isAuth // 权限方法
setCookie('token')
// 保存整站vuex本地储存初始状态
window.SITE_CONFIG['storeState'] = cloneDeep(store.state)
......
......@@ -9,6 +9,8 @@ import Router from 'vue-router'
import http from '@/utils/httpRequest'
import {isURL} from '@/utils/validate'
import {clearLoginInfo} from '@/utils'
import store from '../store'
import { getCookie } from '../utils/cookie'
Vue.use(Router)
......@@ -62,10 +64,11 @@ const mainRoutes = {
],
beforeEnter (to, from, next) {
let token = Vue.cookie.get('token')
let token = getCookie('token');
if (!token || !/\S/.test(token)) {
clearLoginInfo()
next({name: 'login'})
// next({name: 'login'})
// window.location.href = store.state.domainURL + 'shoplist';
}
next()
}
......@@ -79,12 +82,13 @@ const router = new Router({
})
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");
// 添加动态(菜单)路由
// 1. 已经添加 or 全局路由, 直接访问
// 2. 获取菜单列表, 添加并保存本地存储
if(userId!='' && menuList &&( menuList=='[]' || menuList.length==0)){
if(token!='' && menuList &&( menuList=='[]' || menuList.length==0)){
http({
url: http.adornUrl('/sys/menu/nav'),
method: 'get',
......@@ -104,7 +108,8 @@ router.beforeEach((to, from, next) => {
}
}).catch((e) => {
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') {
next()
......@@ -127,7 +132,8 @@ router.beforeEach((to, from, next) => {
}
}).catch((e) => {
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 Vuex from 'vuex'
import cloneDeep from 'lodash/cloneDeep'
import common from './modules/common'
import user from './modules/user'
import Vue from "vue";
import Vuex from "vuex";
import cloneDeep from "lodash/cloneDeep";
import common from "./modules/common";
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({
modules: {
common,
user
},
mutations: {
// 重置vuex本地储存状态
resetStore (state) {
Object.keys(state).forEach((key) => {
state[key] = cloneDeep(window.SITE_CONFIG['storeState'][key])
})
}
},
strict: process.env.NODE_ENV !== 'production'
})
state: {
baseURL: !isDev
? "https://pc.kuaidi.ledianyun.com/"
: "https://pc.kuaidi.ledianyun.com/",
domainURL: !isDev
? "http://pc.kuaidi.ledianyun.com/"
: "http://pc.kuaidi.ledianyun.com/",
},
modules: {
common,
user,
},
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'
import qs from 'qs'
import merge from 'lodash/merge'
import { clearLoginInfo } from '@/utils'
import store from '../store'
import { getCookie } from './cookie'
const http = axios.create({
timeout: 1000 * 30,
......@@ -17,7 +19,7 @@ const http = axios.create({
* 请求拦截
*/
http.interceptors.request.use(config => {
config.headers['token'] = Vue.cookie.get('token') // 请求头带上token
config.headers['token'] = getCookie('token') // 请求头带上token
return config
}, error => {
return Promise.reject(error)
......@@ -27,10 +29,19 @@ http.interceptors.request.use(config => {
* 响应拦截
*/
http.interceptors.response.use(response => {
if (response.data && response.data.code === 401) { // 401, token失效
sessionStorage.clear()
clearLoginInfo()
router.push({ name: 'login' })
let authErrors = [10001, 10002, 10003, 10004, 401];
if (response.data && authErrors.indexOf(response.data.code) > -1) { // 401, token失效
Message({
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
}, error => {
......@@ -43,9 +54,9 @@ http.interceptors.response.use(response => {
*/
http.adornUrl = (actionName) => {
// 非生产环境 && 开启代理, 接口前缀统一使用[/proxyApi/]前缀做代理拦截!
// 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 'https://admin.sj088.cn/sqx_fast/' + actionName
return (process.env.NODE_ENV !== 'production' && process.env.OPEN_PROXY ? '/proxyApi/' : window.SITE_CONFIG.baseUrl) + actionName
// return 'http://1.12.76.77:8181/sqx_fast' + actionName
// return 'https://admin.sj088.cn/sqx_fast/' + actionName
}
http.adornUrl2 = (actionName) => {
......
import Vue from 'vue'
import router from '@/router'
import store from '@/store'
import { removeCookie } from './cookie';
/**
* 获取uuid
......@@ -52,7 +53,8 @@ export function treeDataTranslate (data, id = 'id', pid = 'parentId') {
* 清除登录信息
*/
export function clearLoginInfo () {
Vue.cookie.delete('token')
// Vue.cookie.delete('token')
removeCookie('token');
store.commit('resetStore')
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>
<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"
icon="document" @click="addCoupon">添加优惠券</el-button>
<el-button style='margin-left:15px;' size="mini" type="primary" icon="document" @click="refresh">刷新
......
......@@ -67,12 +67,13 @@
set (val) { this.$store.commit('common/updateMainTabsActiveName', val) }
},
siteContentViewHeight () {
var height = this.documentClientHeight - 50 - 30 - 2
var height = this.documentClientHeight - 50 - 48 - 2
if (this.$route.meta.isTab) {
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: {
......
<template>
<nav class="site-navbar" :class="'site-navbar--' + navbarLayoutType">
<div class="site-navbar__header">
<h1 class="site-navbar__brand" @click="$router.push({ name: 'home' })">
<a class="site-navbar__brand-lg" href="javascript:;">裹裹快递上门取件寄快递系统</a> <a class="site-navbar__brand-mini" href="javascript:;">
<img src="~@/assets/img/avatar.png" style="width: 25px;border-radius: 50%;">
</a>
<h1 class="site-navbar__brand" @click="slideHeaderClick">
<!-- <a class="site-navbar__brand-mini"
href="javascript:;">
<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>
</div>
<div class="site-navbar__body clearfix">
<el-menu
class="site-navbar__menu"
mode="horizontal">
<el-menu class="site-navbar__menu" mode="horizontal">
<el-menu-item class="site-navbar__switch" index="0" @click="sidebarFold = !sidebarFold">
<icon-svg name="zhedie"></icon-svg>
</el-menu-item>
</el-menu>
<el-menu
class="site-navbar__menu site-navbar__menu--right"
mode="horizontal">
<!-- <el-menu-item index="1" @click="$router.push({ name: 'theme' })">
<el-button @click="themeChange">切换主题</el-button>
<!-- <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> ==>
<el-menu-item class="site-navbar__avatar" index="3">
<el-dropdown :show-timeout="0" placement="bottom">
<span class="el-dropdown-link">
<img src="~@/assets/img/avatar.png" :alt="userName">{{ userName }}
</span>
<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-menu>
</el-dropdown>
</el-menu-item>
</el-menu>
</el-menu> -->
</div>
<!-- 弹窗, 修改密码 -->
<update-password v-if="updatePassowrdVisible" ref="updatePassowrd"></update-password>
......@@ -44,62 +48,72 @@
</template>
<script>
import UpdatePassword from './main-navbar-update-password'
import { clearLoginInfo } from '@/utils'
export default {
data () {
return {
updatePassowrdVisible: false
}
import UpdatePassword from './main-navbar-update-password'
import { clearLoginInfo } from '@/utils'
import {changeTheme} from '../utils/theme'
import { removeCookie } from '../utils/cookie'
export default {
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: {
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 }
}
// 修改密码
updatePasswordHandle() {
this.updatePassowrdVisible = true
this.$nextTick(() => {
this.$refs.updatePassowrd.init()
})
},
methods: {
// 修改密码
updatePasswordHandle () {
this.updatePassowrdVisible = true
this.$nextTick(() => {
this.$refs.updatePassowrd.init()
// 退出
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.$router.push({ name: 'login' })
window.location.href = store.state.domainURL + 'shoplist';
}
})
},
// 退出
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(() => {})
}
}).catch(() => { })
}
}
}
</script>
<template>
<el-submenu
v-if="menu.list && menu.list.length >= 1"
:index="menu.menuId + ''"
<el-submenu v-if="menu.list && menu.list.length >= 1" :index="menu.menuId + ''"
:popper-class="'site-sidebar--' + sidebarLayoutSkin + '-popper'">
<template slot="title">
<icon-svg :name="menu.icon || ''" class="site-sidebar__menu-icon"></icon-svg>
<span>{{ menu.name }}</span>
</template>
<sub-menu
v-for="item in menu.list"
:key="item.menuId"
:menu="item"
:dynamicMenuRoutes="dynamicMenuRoutes">
<sub-menu v-for="item in menu.list" :key="item.menuId" :menu="item" :dynamicMenuRoutes="dynamicMenuRoutes">
</sub-menu>
</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>
<span>{{ menu.name }}</span>
</el-menu-item>
</template>
<script>
import SubMenu from './main-sidebar-sub-menu'
export default {
name: 'sub-menu',
props: {
menu: {
type: Object,
required: true
},
dynamicMenuRoutes: {
type: Array,
required: true
}
},
components: {
SubMenu
import SubMenu from './main-sidebar-sub-menu'
export default {
name: 'sub-menu',
props: {
menu: {
type: Object,
required: true
},
computed: {
sidebarLayoutSkin: {
get () { return this.$store.state.common.sidebarLayoutSkin }
dynamicMenuRoutes: {
type: Array,
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>
<template>
<aside class="site-sidebar" :class="'site-sidebar--' + sidebarLayoutSkin">
<div class="site-sidebar__inner">
<el-menu
:default-active="menuActiveName || 'home'"
:collapse="sidebarFold"
:collapseTransition="false"
class="site-sidebar__menu">
<!-- <el-menu-item index="home" @click="$router.push({ name: 'home' })">
<el-menu :default-active="menuActiveName || 'home'" :collapse="sidebarFold" class="site-sidebar__menu" unique-opened>
<!-- <el-menu-item index="home" @click="$router.push({ name: 'home' })">
<icon-svg name="shuju" class="site-sidebar__menu-icon"></icon-svg>
<span slot="title">数据中心</span>
</el-menu-item>
......@@ -30,15 +26,15 @@
<icon-svg name="renwu" class="site-sidebar__menu-icon"></icon-svg>
<span slot="title">任务配置</span>
</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>
<span slot="title">系统任务</span>
</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>
<span slot="title">好物圈</span>
</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>
<span slot="title">商城配置</span>
</el-menu-item>
......@@ -46,89 +42,159 @@
<icon-svg name="system" class="site-sidebar__menu-icon"></icon-svg>
<span slot="title">系统配置</span>
</el-menu-item> -->
<sub-menu
v-for="menu in menuList"
:key="menu.menuId"
:menu="menu"
<sub-menu v-for="menu in menuList" :key="menu.menuId" :menu="menu"
:dynamicMenuRoutes="dynamicMenuRoutes">
</sub-menu>
</el-menu>
</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>
</template>
<script>
import SubMenu from './main-sidebar-sub-menu'
import { isURL } from '@/utils/validate'
export default {
data () {
return {
dynamicMenuRoutes: []
}
import SubMenu from './main-sidebar-sub-menu'
import { isURL } from '@/utils/validate'
export default {
data() {
return {
dynamicMenuRoutes: []
}
},
components: {
SubMenu
},
computed: {
sidebarLayoutSkin: {
get() { return this.$store.state.common.sidebarLayoutSkin }
},
components: {
SubMenu
sidebarFold: {
get() { return this.$store.state.common.sidebarFold }
},
computed: {
sidebarLayoutSkin: {
get () { return this.$store.state.common.sidebarLayoutSkin }
},
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) }
}
menuList: {
get() { return this.$store.state.common.menuList },
set(val) { this.$store.commit('common/updateMenuList', val) }
},
watch: {
$route: 'routeHandle'
menuActiveName: {
get() { return this.$store.state.common.menuActiveName },
set(val) { this.$store.commit('common/updateMenuActiveName', val) }
},
created () {
this.menuList = JSON.parse(sessionStorage.getItem('menuList') || '[]')
this.dynamicMenuRoutes = JSON.parse(sessionStorage.getItem('dynamicMenuRoutes') || '[]')
this.routeHandle(this.$route)
mainTabs: {
get() { return this.$store.state.common.mainTabs },
set(val) { this.$store.commit('common/updateMainTabs', val) }
},
methods: {
// 路由操作
routeHandle (route) {
if (route.meta.isTab) {
// 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('未能找到可用标签页!')
}
}
tab = {
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
mainTabsActiveName: {
get() { return this.$store.state.common.mainTabsActiveName },
set(val) { this.$store.commit('common/updateMainTabsActiveName', val) }
},
userName: {
get() { return this.$store.state.user.name }
}
},
watch: {
$route: 'routeHandle'
},
created() {
this.menuList = JSON.parse(sessionStorage.getItem('menuList') || '[]')
this.dynamicMenuRoutes = JSON.parse(sessionStorage.getItem('dynamicMenuRoutes') || '[]')
this.routeHandle(this.$route)
},
methods: {
// 路由操作
routeHandle(route) {
if (route.meta.isTab) {
// 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 + ''
this.mainTabsActiveName = tab.name
tab = {
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>
<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>
<div
class="site-wrapper"
:class="{ 'site-sidebar--fold': sidebarFold }"
v-loading.fullscreen.lock="loading"
<div class="site-wrapper" :class="{ 'site-sidebar--fold': sidebarFold }" v-loading.fullscreen.lock="loading"
element-loading-text="拼命加载中">
<template v-if="!loading">
<main-navbar />
<main-sidebar />
<main-sidebar />
<div class="site-content__wrapper" :style="{ 'min-height': documentClientHeight + 'px' }">
<main-content v-if="!$store.state.common.contentIsNeedRefresh" />
<Setting />
</div>
</template>
</div>
</template>
<script>
import MainNavbar from './main-navbar'
import MainSidebar from './main-sidebar'
import MainContent from './main-content'
export default {
provide () {
return {
// 刷新
refresh () {
this.$store.commit('common/updateContentIsNeedRefresh', true)
this.$nextTick(() => {
this.$store.commit('common/updateContentIsNeedRefresh', false)
})
}
import MainNavbar from './main-navbar'
import MainSidebar from './main-sidebar'
import MainContent from './main-content'
import Setting from '@/components/Setting/index.vue'
export default {
provide() {
return {
// 刷新
refresh() {
this.$store.commit('common/updateContentIsNeedRefresh', true)
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 () {
return {
loading: true
}
sidebarFold: {
get() { return this.$store.state.common.sidebarFold }
},
components: {
MainNavbar,
MainSidebar,
MainContent
userId: {
get() { return this.$store.state.user.id },
set(val) { this.$store.commit('user/updateId', val) }
},
computed: {
documentClientHeight: {
get () { return this.$store.state.common.documentClientHeight },
set (val) { this.$store.commit('common/updateDocumentClientHeight', val) }
},
sidebarFold: {
get () { return this.$store.state.common.sidebarFold }
},
userId: {
get () { return this.$store.state.user.id },
set (val) { this.$store.commit('user/updateId', val) }
},
userName: {
get () { return this.$store.state.user.name },
set (val) { this.$store.commit('user/updateName', val) }
userName: {
get() { return this.$store.state.user.name },
set(val) { this.$store.commit('user/updateName', val) }
}
},
created() {
this.getUserInfo()
},
mounted() {
this.resetDocumentClientHeight()
},
methods: {
// 重置窗口可视高度
resetDocumentClientHeight() {
this.documentClientHeight = document.documentElement['clientHeight']
window.onresize = () => {
this.documentClientHeight = document.documentElement['clientHeight']
}
},
created () {
this.getUserInfo()
},
mounted () {
this.resetDocumentClientHeight()
},
methods: {
// 重置窗口可视高度
resetDocumentClientHeight () {
this.documentClientHeight = document.documentElement['clientHeight']
window.onresize = () => {
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
}
},
// 获取当前管理员信息
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>
<style lang="scss"></style>
......@@ -20,6 +20,8 @@
</template>
<script>
import { getCookie } from '../../../utils/cookie'
export default {
data () {
return {
......@@ -32,7 +34,7 @@
},
methods: {
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
},
// 上传之前
......
......@@ -89,8 +89,8 @@
</div>
<div style="margin:5px;display: inline-block;margin: 5px;">
<span>下单截止时间:</span>
<el-date-picker style="width: 160px;margin-left: 10px;" v-model="endTime" align="right"
type="datetime" format="yyyy-MM-dd" value-format="yyyy-MM-dd" placeholder="选择截止时间">
<el-date-picker style="width: 160px;margin-left: 10px;" v-model="endTime" align="right" type="datetime"
format="yyyy-MM-dd" value-format="yyyy-MM-dd" placeholder="选择截止时间">
</el-date-picker>
</div>
<div style="margin:5px;display: inline-block;margin: 5px;">
......@@ -114,7 +114,11 @@
</div>
<!-- <div style="color: orange;"> * 导出订单提示:导出订单前请进行时间或者状态等筛选,否则导出订单量过多易出现卡顿或系统崩溃</div> -->
<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 prop="nickName" label="订单信息" width="350">
<template slot-scope="scope">
......@@ -125,7 +129,7 @@
<tr>
<th>订单号</th>
<td class="border-rt">{{scope.row.ordersNo}}
<td class="border-rt">{{ scope.row.ordersNo }}
<span @click="copys(scope.row.ordersNo)"
style="color: #4f9dec;cursor: pointer;">
<icon-svg name="bianji" v-if="scope.row.ordersNo"
......@@ -136,9 +140,9 @@
<tr>
<th>运单号</th>
<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"
v-if="scope.row.expressageNo">{{scope.row.expressageNo}}</a>
v-if="scope.row.expressageNo">{{ scope.row.expressageNo }}</a>
<span v-else> - </span>
<span @click="copys(scope.row.expressageNo)"
......@@ -152,9 +156,8 @@
<tr>
<th>云洋单号</th>
<td class="border-rt">
<a :href="'https://www.baidu.com/s?wd='+scope.row.waybill"
target="_blank" class="page-scroll"
v-if="scope.row.waybill">{{scope.row.waybill}}</a>
<a :href="'https://www.baidu.com/s?wd=' + scope.row.waybill" target="_blank"
class="page-scroll" v-if="scope.row.waybill">{{ scope.row.waybill }}</a>
<span v-else> - </span>
<span @click="copys(scope.row.waybill)"
......@@ -167,23 +170,22 @@
</tr>
<tr>
<th>下单时间</th>
<td class="border-rt">{{scope.row.createTime}}</td>
<td class="border-rt">{{ scope.row.createTime }}</td>
</tr>
<tr>
<th>快递公司</th>
<td class="border-rt">
{{scope.row.expressageCompany}}
{{ scope.row.expressageCompany }}
<span style="cursor: pointer;color: #4f9dec;"
@click="wuliu(scope.row,1)">物流信息</span>
@click="wuliu(scope.row, 1)">物流信息</span>
</td>
</tr>
<tr>
<th class="border-bt">快递员</th>
<td class="border-bt border-rt"><span
style="cursor: pointer;color: #4f9dec;"
@click="dataDel(scope.row,1)">{{scope.row.expressageName?scope.row.expressageName:'-'}}</span>
<td class="border-bt border-rt"><span style="cursor: pointer;color: #4f9dec;"
@click="dataDel(scope.row, 1)">{{ scope.row.expressageName ? scope.row.expressageName : '-' }}</span>
<span style="cursor: pointer;color: #4f9dec;"
@click="dataDel(scope.row,1)">查看</span>
@click="dataDel(scope.row, 1)">查看</span>
</td>
</tr>
</tbody>
......@@ -202,13 +204,13 @@
<th>寄件人</th>
<td class="border-rt">
<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>
</tr>
<tr>
<th>手机号</th>
<td class="border-rt">
{{scope.row.senderPhone}}
{{ scope.row.senderPhone }}
<span @click="copys(scope.row.senderPhone)"
style="color: #4f9dec;cursor: pointer;">
<icon-svg name="bianji" v-if="scope.row.senderPhone"
......@@ -220,12 +222,12 @@
<th>收件人</th>
<td class="border-rt">
<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>
</tr>
<tr>
<th>手机号</th>
<td class="border-rt">{{scope.row.receiverPhone}}
<td class="border-rt">{{ scope.row.receiverPhone }}
<span @click="copys(scope.row.receiverPhone)"
style="color: #4f9dec;cursor: pointer;">
<icon-svg name="bianji" v-if="scope.row.receiverPhone"
......@@ -237,14 +239,14 @@
<th>下单用户</th>
<td class="border-rt">
<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>
</tr>
<tr>
<th class="border-bt">推广用户</th>
<td class="border-bt border-rt">
<span style="cursor: pointer;color: #4f9dec;" @click="updates(scope.row.zhiUserId)"
>{{scope.row.zhiUserName}}</span>
<span style="cursor: pointer;color: #4f9dec;"
@click="updates(scope.row.zhiUserId)">{{ scope.row.zhiUserName }}</span>
</td>
</tr>
</tbody>
......@@ -263,49 +265,49 @@
<tr>
<th>订单状态</th>
<td class="border-rt">
<span v-if="scope.row.status==1">待付款</span>
<span v-if="scope.row.status==2">已付款</span>
<span v-if="scope.row.status==3">已取消</span>
<span v-if="scope.row.status==4">补缴</span>
<span v-if="scope.row.status==5">退费</span>
<span v-if="scope.row.status==6">申诉</span>
<span v-if="scope.row.status==7">已完成</span>
<span v-if="scope.row.status == 1">待付款</span>
<span v-if="scope.row.status == 2">已付款</span>
<span v-if="scope.row.status == 3">已取消</span>
<span v-if="scope.row.status == 4">补缴</span>
<span v-if="scope.row.status == 5">退费</span>
<span v-if="scope.row.status == 6">申诉</span>
<span v-if="scope.row.status == 7">已完成</span>
</td>
</tr>
<tr>
<th>运单状态</th>
<td class="border-rt">
<span>{{scope.row.expressageStatus?scope.row.expressageStatus:'-'}}</span>
<span>{{ scope.row.expressageStatus ? scope.row.expressageStatus : '-' }}</span>
</td>
</tr>
<tr>
<th>超重状态</th>
<td class="border-rt">
<span v-if="scope.row.weightStatus==1">正常</span>
<span v-if="scope.row.weightStatus == 1">正常</span>
<span
style="color: #ff0000;border: 1px solid #ff0000;padding: 3px 6px;border-radius: 3px;"
v-else-if="scope.row.weightStatus==2">待处理</span>
<span v-else-if="scope.row.weightStatus==3">处理中</span>
<span v-else-if="scope.row.weightStatus==4">已处理</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 == 4">已处理</span>
<span v-else> - </span>
</td>
</tr>
<tr>
<th>耗材状态</th>
<td class="border-rt">
<span v-if="scope.row.haoCaiStatus==1">正常</span>
<span v-if="scope.row.haoCaiStatus == 1">正常</span>
<span
style="color: #ff0000;border: 1px solid #ff0000;padding: 3px 6px;border-radius: 3px;"
v-else-if="scope.row.haoCaiStatus==2">待处理</span>
<span v-else-if="scope.row.haoCaiStatus==3">处理中</span>
<span v-else-if="scope.row.haoCaiStatus==4">已处理</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 == 4">已处理</span>
<span v-else> - </span>
</td>
</tr>
<tr>
<th class="border-bt">耗材费用</th>
<td class="border-bt border-rt">
{{scope.row.freightHaocai?scope.row.freightHaocai:'-'}}
{{ scope.row.freightHaocai ? scope.row.freightHaocai : '-' }}
</td>
</tr>
<!--
......@@ -330,26 +332,26 @@
<tbody>
<tr>
<th>下单重量(单位:kg)</th>
<td class="border-rt">{{scope.row.goodsWeight?scope.row.goodsWeight:'-'}}
<td class="border-rt">{{ scope.row.goodsWeight ? scope.row.goodsWeight : '-' }}
</td>
</tr>
<tr>
<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>
<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>
<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>
<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;"
@click="dataDel(scope.row,5)">查看详情</span>
@click="dataDel(scope.row, 5)">查看详情</span>
</td>
</tr>
</tbody>
......@@ -368,34 +370,34 @@
<th>下单付费(单位:元)</th> <!-- 用户最终支付金额 -->
<td class="border-rt">
<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>
</td>
</tr>
<tr>
<th>超重补缴(单位:元)</th>
<td class="border-rt">{{scope.row.userPayMoney?scope.row.userPayMoney:'-'}}
<td class="border-rt">{{ scope.row.userPayMoney ? scope.row.userPayMoney : '-' }}
</td>
</tr>
<tr>
<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>
<th>优惠券金额(单位:元)</th>
<td class="border-rt">{{scope.row.couponMoney?scope.row.couponMoney:'-'}}
<td class="border-rt">{{ scope.row.couponMoney ? scope.row.couponMoney : '-' }}
</td>
</tr>
<tr>
<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>
<th class="border-bt">利润(单位:元)</th>
<td class="border-bt border-rt">
{{scope.row.pingMoney?scope.row.pingMoney:'-'}}
{{ scope.row.pingMoney ? scope.row.pingMoney : '-' }}
<span style="cursor: pointer;color: #4f9dec;"
@click="dataDel(scope.row,6)">其他金额</span>
@click="dataDel(scope.row, 6)">其他金额</span>
</td>
</tr>
<!-- <tr>
......@@ -433,27 +435,27 @@
<tr>
<th>支付时间</th> <!-- 用户最终支付金额 -->
<td class="border-rt">
<span>{{scope.row.payTime?scope.row.payTime:'-'}}</span>
<span>{{ scope.row.payTime ? scope.row.payTime : '-' }}</span>
</td>
</tr>
<tr>
<th>补缴时间</th>
<td class="border-rt">{{scope.row.userPayTime?scope.row.userPayTime:'-'}}
<td class="border-rt">{{ scope.row.userPayTime ? scope.row.userPayTime : '-' }}
</td>
</tr>
<tr>
<th>超轻退费时间</th>
<td class="border-rt">
{{scope.row.userRefundTime?scope.row.userRefundTime:'-'}}</td>
{{ scope.row.userRefundTime ? scope.row.userRefundTime : '-' }}</td>
</tr>
<tr>
<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>
<th class="border-bt">推送时间</th>
<td class="border-bt border-rt">
{{scope.row.sendTime?scope.row.sendTime:'-'}}</td>
{{ scope.row.sendTime ? scope.row.sendTime : '-' }}</td>
</tr>
</tbody>
</table>
......@@ -469,22 +471,22 @@
@click="deletes(scope.row)">删除</el-button> -->
<el-button size="mini" type="info" @click="quxiao(scope.row)"
: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')"
style="margin: 3px;">异常反馈</el-button> -->
<el-button size="mini" type="primary" @click="fankui(scope.row,2)"
v-if="scope.row.status==6 &&scope.row.checkStatus==1"
:disabled="!isAuth('orderCenter:yichang')" style="margin: 3px;">申诉审核</el-button>
<el-button size="mini" type="primary" @click="fankui(scope.row, 2)"
v-if="scope.row.status == 6 && scope.row.checkStatus == 1" :disabled="!isAuth('orderCenter:yichang')"
style="margin: 3px;">申诉审核</el-button>
<el-button size="mini" type="warning" :disabled="!isAuth('orderCenter:lahei')"
@click="lahei(scope.row)" style="margin: 3px;">添加黑名单</el-button>
<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')"
@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')"
@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')"
@click="fasong(scope.row,2)" style="margin: 3px;">发送耗材信息</el-button>
@click="fasong(scope.row, 2)" style="margin: 3px;">发送耗材信息</el-button>
</template>
</el-table-column>
</el-table>
......@@ -501,13 +503,13 @@
</el-dialog>
<!-- 信息详情 -->
<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">
<div class="box">
<div class="box_num">
<div class="box_color">快递员姓名</div>
<div class="text_color">
<span>{{detaDatle.expressageName?detaDatle.expressageName:'-'}}</span>
<span>{{ detaDatle.expressageName ? detaDatle.expressageName : '-' }}</span>
</div>
</div>
</div>
......@@ -517,19 +519,20 @@
<div class="box_num">
<div class="box_color">快递员电话</div>
<div class="text_color">
<span>{{detaDatle.expressagePhone?detaDatle.expressagePhone:'-'}}</span></div>
<span>{{ detaDatle.expressagePhone ? detaDatle.expressagePhone : '-' }}</span>
</div>
</div>
</div>
</el-col>
</el-row>
<el-row v-if="datleIndex==2">
<el-row v-if="datleIndex == 2">
<el-col :span="8" class="cards">
<div class="box">
<div class="box_num">
<div class="box_color">寄件人昵称</div>
<div class="text_color">
<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>
......@@ -538,7 +541,7 @@
<div class="box">
<div class="box_num">
<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>
......@@ -547,7 +550,7 @@
<div class="box">
<div class="box_num">
<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>
......@@ -557,18 +560,18 @@
<div class="box_num">
<div class="box_color">寄件人地址</div>
<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>
</el-col>
</el-row>
<el-row v-if="datleIndex==3">
<el-row v-if="datleIndex == 3">
<el-col :span="8" class="cards">
<div class="box">
<div class="box_num">
<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>
......@@ -577,7 +580,7 @@
<div class="box">
<div class="box_num">
<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>
......@@ -587,19 +590,19 @@
<div class="box_num">
<div class="box_color">收件人地址</div>
<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>
</el-col>
</el-row>
<el-row v-if="datleIndex==4">
<el-row v-if="datleIndex == 4">
<el-col :span="8" class="cards">
<div class="box">
<div class="box_num">
<div class="box_color">申诉体积长度(单位:cm)</div>
<div class="text_color">
<span>{{detaDatle.appealGoodsVolumeLong?detaDatle.appealGoodsVolumeLong:'-'}}</span>
<span>{{ detaDatle.appealGoodsVolumeLong ? detaDatle.appealGoodsVolumeLong : '-' }}</span>
</div>
</div>
</div>
......@@ -609,7 +612,7 @@
<div class="box_num">
<div class="box_color">申诉体积宽度(单位:cm)</div>
<div class="text_color">
<span>{{detaDatle.appealGoodsVolumeWidth?detaDatle.appealGoodsVolumeWidth:'-'}}</span>
<span>{{ detaDatle.appealGoodsVolumeWidth ? detaDatle.appealGoodsVolumeWidth : '-' }}</span>
</div>
</div>
</div>
......@@ -619,7 +622,7 @@
<div class="box_num">
<div class="box_color">申诉体积高度(单位:cm)</div>
<div class="text_color">
<span>{{detaDatle.appealGoodsVolumeHeight?detaDatle.appealGoodsVolumeHeight:'-'}}</span>
<span>{{ detaDatle.appealGoodsVolumeHeight ? detaDatle.appealGoodsVolumeHeight : '-' }}</span>
</div>
</div>
</div>
......@@ -628,7 +631,7 @@
<div class="box">
<div class="box_num">
<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>
......@@ -637,7 +640,7 @@
<div class="box">
<div class="box_num">
<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>
......@@ -648,7 +651,7 @@
<div class="box_color">申诉类型</div>
<div class="text_color">
<span>
{{detaDatle.appealType?detaDatle.appealType:'-'}}
{{ detaDatle.appealType ? detaDatle.appealType : '-' }}
<!-- <span v-if="detaDatle.appealType==1">超重补交</span>
<span v-if="detaDatle.appealType==2">超轻退费</span> -->
</span>
......@@ -664,10 +667,9 @@
<div class="text_color">
<span>
<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">
<img style="width: 50px; height: 50px" :src="item" alt=""
slot="reference">
<img style="width: 50px; height: 50px" :src="item" alt="" slot="reference">
<img style="width: 300px; height: 300px" :src="item" alt="">
</el-popover>
</span>
......@@ -684,8 +686,8 @@
<div class="box_color">申诉审核原因</div>
<div class="text_color">
<span>
<span v-if="detaDatle.checkStatus==2">申诉通过</span>
<span v-else>{{detaDatle.checkReason?detaDatle.checkReason:'-'}}</span>
<span v-if="detaDatle.checkStatus == 2">申诉通过</span>
<span v-else>{{ detaDatle.checkReason ? detaDatle.checkReason : '-' }}</span>
</span>
</div>
......@@ -698,8 +700,8 @@
<div class="box_color">是否扣费</div>
<div class="text_color">
<span>
<span v-if="detaDatle.feeOver==0">冻结</span>
<span v-if="detaDatle.feeOver==1">已扣费</span>
<span v-if="detaDatle.feeOver == 0">冻结</span>
<span v-if="detaDatle.feeOver == 1">已扣费</span>
</span>
</div>
......@@ -707,13 +709,13 @@
</div>
</el-col>
</el-row>
<el-row v-if="datleIndex==5">
<el-row v-if="datleIndex == 5">
<el-col :span="8" class="cards">
<div class="box">
<div class="box_num">
<div class="box_color">物品体积长度(单位:cm)</div>
<div class="text_color">
<span>{{detaDatle.goodsVolumeLong?detaDatle.goodsVolumeLong:'-'}}</span>
<span>{{ detaDatle.goodsVolumeLong ? detaDatle.goodsVolumeLong : '-' }}</span>
</div>
</div>
</div>
......@@ -723,7 +725,8 @@
<div class="box_num">
<div class="box_color">物品体积宽度(单位:cm)</div>
<div class="text_color">
<span>{{detaDatle.goodsVolumeWidth?detaDatle.goodsVolumeWidth:'-'}}</span></div>
<span>{{ detaDatle.goodsVolumeWidth ? detaDatle.goodsVolumeWidth : '-' }}</span>
</div>
</div>
</div>
</el-col>
......@@ -732,7 +735,8 @@
<div class="box_num">
<div class="box_color">物品体积高度(单位:cm)</div>
<div class="text_color">
<span>{{detaDatle.goodsVolumeHeight?detaDatle.goodsVolumeHeight:'-'}}</span></div>
<span>{{ detaDatle.goodsVolumeHeight ? detaDatle.goodsVolumeHeight : '-' }}</span>
</div>
</div>
</div>
</el-col>
......@@ -740,7 +744,7 @@
<div class="box">
<div class="box_num">
<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>
......@@ -751,7 +755,7 @@
<div class="box_num">
<div class="box_color">物品类型</div>
<div class="text_color">
<span>{{detaDatle.goodsType?detaDatle.goodsType:'-'}}</span>
<span>{{ detaDatle.goodsType ? detaDatle.goodsType : '-' }}</span>
</div>
</div>
</div>
......@@ -760,7 +764,7 @@
<div class="box">
<div class="box_num">
<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>
</el-col>
......@@ -779,10 +783,9 @@
<div class="text_color">
<span>
<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">
<img style="width: 50px; height: 50px" :src="item" alt=""
slot="reference">
<img style="width: 50px; height: 50px" :src="item" alt="" slot="reference">
<img style="width: 300px; height: 300px" :src="item" alt="">
</el-popover>
</span>
......@@ -797,17 +800,17 @@
<div class="box">
<div class="box_num">
<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>
</el-col>
</el-row>
<el-row v-if="datleIndex==6">
<el-row v-if="datleIndex == 6">
<el-col :span="8" class="cards">
<div class="box">
<div class="box_num">
<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>
......@@ -817,7 +820,7 @@
<div class="box_num">
<div class="box_color">退费金额(单位:元)</div>
<div class="text_color">
<span>{{detaDatle.userRefundMoney?detaDatle.userRefundMoney:'-'}}</span>
<span>{{ detaDatle.userRefundMoney ? detaDatle.userRefundMoney : '-' }}</span>
</div>
</div>
</div>
......@@ -826,7 +829,7 @@
<div class="box">
<div class="box_num">
<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>
......@@ -835,7 +838,7 @@
<div class="box">
<div class="box_num">
<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>
......@@ -844,7 +847,7 @@
<div class="box">
<div class="box_num">
<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>
......@@ -855,7 +858,7 @@
<div class="box_num">
<div class="box_color">逆向费(单位:元)</div>
<div class="text_color">
<span>{{detaDatle.changeBillFreight?detaDatle.changeBillFreight:'-'}}</span>
<span>{{ detaDatle.changeBillFreight ? detaDatle.changeBillFreight : '-' }}</span>
</div>
</div>
</div>
......@@ -864,7 +867,7 @@
<div class="box">
<div class="box_num">
<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>
......@@ -873,7 +876,7 @@
<div class="box">
<div class="box_num">
<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>
......@@ -884,7 +887,7 @@
<div class="box_num">
<div class="box_color">快递费(用户实付金额,单位:元)</div>
<div class="text_color">
<span>{{detaDatle.payMoneys?detaDatle.payMoneys:'-'}}</span>
<span>{{ detaDatle.payMoneys ? detaDatle.payMoneys : '-' }}</span>
</div>
</div>
</div>
......@@ -894,7 +897,7 @@
<div class="box_num">
<div class="box_color">保价费(单位:元)</div>
<div class="text_color">
<span>{{detaDatle.goodsOfferMoneys?detaDatle.goodsOfferMoneys:'-'}}</span>
<span>{{ detaDatle.goodsOfferMoneys ? detaDatle.goodsOfferMoneys : '-' }}</span>
</div>
</div>
</div>
......@@ -904,7 +907,7 @@
<div class="box_num">
<div class="box_color">物品金额(单位:元)</div>
<div class="text_color">
<span>{{detaDatle.goodsOfferMoney?detaDatle.goodsOfferMoney:'-'}}</span>
<span>{{ detaDatle.goodsOfferMoney ? detaDatle.goodsOfferMoney : '-' }}</span>
</div>
</div>
</div>
......@@ -915,8 +918,8 @@
<div class="box_color">支付方式</div>
<div class="text_color">
<span>
<span v-if="detaDatle.payWay==1">零钱</span>
<span v-if="detaDatle.payWay==2">微信</span>
<span v-if="detaDatle.payWay == 1">零钱</span>
<span v-if="detaDatle.payWay == 2">微信</span>
</span>
</div>
......@@ -927,7 +930,7 @@
<div class="box">
<div class="box_num">
<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>
......@@ -937,7 +940,7 @@
<div class="box_num">
<div class="box_color">推广用户佣金(单位:元)</div>
<div class="text_color">
<span>{{detaDatle.zhiMoney?detaDatle.zhiMoney:'-'}}</span>
<span>{{ detaDatle.zhiMoney ? detaDatle.zhiMoney : '-' }}</span>
</div>
</div>
</div>
......@@ -947,7 +950,7 @@
<div class="box_num">
<div class="box_color">平台利润(单位:元)</div>
<div class="text_color">
<span>{{detaDatle.pingMoney?detaDatle.pingMoney:'-'}}</span>
<span>{{ detaDatle.pingMoney ? detaDatle.pingMoney : '-' }}</span>
</div>
</div>
</div>
......@@ -987,382 +990,523 @@
</el-tabs>
</template>
<script>
export default {
data() {
return {
page: 1,
limit: 10,
classify: 1,
ordersNo: '',
imageUrl: '',
url: '',
status: '',
parentName: '',
parentNameJ: '',
parentNameS: '',
parentParentName: '',
expressageStatus: '',
activeName: 'first',
tableDataLoading: true,
tableData: [],
checkBoxData: [], //多选框选择的值
statesnum: [{
label: '全部',
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
export default {
data() {
return {
page: 1,
limit: 10,
classify: 1,
ordersNo: '',
imageUrl: '',
url: '',
status: '',
parentName: '',
parentNameJ: '',
parentNameS: '',
parentParentName: '',
expressageStatus: '',
activeName: 'first',
tableDataLoading: true,
tableData: [],
checkBoxData: [], //多选框选择的值
statesnum: [{
label: '全部',
value: ''
},
//处理默认选中当前日期
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)
{
label: '待付款',
value: 1
},
//处理默认选中当前日期
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)
{
label: '已付款',
value: 2
},
// tabs切换
handleClick(tab, event) {
if (tab._props.label == '订单列表') {
this.page = 1
this.limit = 10
this.classify = 1
this.dataSelect()
}
{
label: '已取消',
value: 3
},
handleSizeChange(val) {
this.limit = val
this.dataSelect()
{
label: '补缴',
value: 4
},
handleCurrentChange(val) {
this.page = val
this.dataSelect()
{
label: '退费',
value: 5
},
handleSizeChangeU(val) {
this.limit1 = val;
this.dataSelectUser()()
{
label: '申诉',
value: 6
},
handleCurrentChangeU(val) {
this.page1 = val;
this.dataSelectUser()
{
label: '已完成',
value: 7
},
// 查询资源列表
select() {
this.page = 1
this.dataSelect()
],
indentType: '',
indentTypeList: [{
label: '全部',
value: ''
},
// 重置资源列表
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()
{
label: '帮我送',
value: 1
},
// select选择事件
animeDat() {
this.page = 1
this.dataSelect()
{
label: '帮我取',
value: 2
},
animeDat1(state) {
this.page = 1
this.dataSelect()
{
label: '同城帮买',
value: 3
},
// 删除banner图
deletes(row) {
let delid = row.ordersId
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(() => {})
{
label: '同城服务',
value: 4
},
// 获取数据列表
dataSelect() {
this.tableDataLoading = true
var endTime = this.endTime
if (this.endTime != '') {
endTime = this.endTime
}
],
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() {
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({
url: this.$http.adornUrl('expressage/selectExpressageList'),
url: this.$http.adornUrl(`order/deleteOrders?ids=${delid}`),
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
})
data: this.$http.adornData({})
}).then(({
data
}) => {
console.log(data)
if (data && data.code === 0) {
this.tableDataLoading = false
let returnData = data.data
this.tableData = returnData
this.$message({
message: '删除成功',
type: 'success',
duration: 1500,
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({
path: '/userDetail',
query: {
userId: userId
}
},
// 订单分析选择日期
animeOrder() {
console.log('info', this.info)
this.dataSelect()
// 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()
// 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) {
})
},
// 获取数据列表
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
})
},
// 查询
selectU() {
this.page = 1
this.dataSelectUser()
},
// 重置
cleansU() {
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({
url: this.$http.adornUrl('adminerrand/transferOfOrder'),
url: this.$http.adornUrl('expressage/cancelExpressage'),
method: 'post',
params: this.$http.adornParams({
'riderUserId': row.userId,
'indentId': this.ordersId,
'ordersNo': row.ordersNo
})
}).then(({
data
}) => {
if (data.code == 0) {
this.$message({
message: '操作成功',
message: '删除成功',
type: 'success',
duration: 1500,
onClose: () => {
this.dataSelect()
this.dialogFormVisible = false
}
})
} else {
......@@ -1370,201 +1514,118 @@
message: data.msg,
type: 'warning',
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
})
},
// 查询
selectU() {
this.page = 1
this.dataSelectUser()
},
// 重置
cleansU() {
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: '取消',
}).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({
title: '提示',
duration: 1800,
message: '请选择审核结果',
type: 'warning'
}).then(() => {
this.$http({
url: this.$http.adornUrl('expressage/cancelExpressage'),
method: 'post',
params: this.$http.adornParams({
'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 == '') {
})
return
}
if (this.statusYc == 2) {
if (this.checkReason == '') {
this.$notify({
title: '提示',
duration: 1800,
message: '请选择审核结果',
message: '请输入审核原因',
type: 'warning'
})
return
}
if (this.statusYc == 2) {
if (this.checkReason == '') {
this.$notify({
title: '提示',
duration: 1800,
message: '请输入审核原因',
type: 'warning'
})
return
}
}
// if(this.titles == '异常反馈'){
// var url = 'expressage/cancelExpressage'
// }else{
var url = 'expressage/auditExpressage'
// }
this.$http({
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({
url: this.$http.adornUrl(url),
url: this.$http.adornUrl('user/updateErrorUsers'),
method: 'post',
params: this.$http.adornParams({
'ordersNo': this.detaDatle.ordersNo,
'checkReason': this.checkReason,
'status': this.statusYc
'userId': row.userId
})
}).then(({
data
......@@ -1575,7 +1636,6 @@
type: 'success',
duration: 1500,
onClose: () => {
this.dialogFormVisibleYc = false
this.dataSelect()
}
})
......@@ -1584,310 +1644,253 @@
message: data.msg,
type: 'warning',
duration: 1500,
onClose: () => {}
onClose: () => { }
})
}
})
},
// 查看物流信息
wuliu(row) {
this.wuliuDate = {}
}).catch(() => { })
},
// 推送
tuisong(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/queryTranceOrders'),
url: this.$http.adornUrl('expressage/sendMsg'),
method: 'get',
params: this.$http.adornParams({
'ordersNo': row.ordersNo
'ordersNo': row.ordersNo,
'msg': msg
})
}).then(({
data
}) => {
if (data.code == 0) {
this.wuliuDate = data.data;
this.dialogVisible = true
this.$message({
message: '操作成功',
type: 'success',
duration: 1500,
onClose: () => {
this.dataSelect()
}
})
} else {
this.$message(data.msg);
}
})
},
// 加入黑名单
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
this.$message({
message: data.msg,
type: 'warning',
duration: 1500,
onClose: () => { }
})
}).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(() => {})
},
// 推送
tuisong(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/sendMsg'),
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()
}
})
}).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
} else {
this.$message({
message: data.msg,
type: 'warning',
duration: 1500,
onClose: () => { }
})
}).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('复制失败');
})
},
// 快递公司
kuaid() {
}).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('复制失败');
})
},
// 快递公司
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({
url: this.$http.adornUrl('expressage/selectCompanyGroupName'),
url: this.$http.adornUrl('expressage/sysnExpressage'),
method: 'get',
params: this.$http.adornParams({})
params: this.$http.adornParams({
'ordersNo': row.ordersNo,
})
}).then(({
data
}) => {
this.kuaidlist = data.data;
})
},
// 同步状态
tongbu(row) {
if (row.ordersNo) {
this.$http({
url: this.$http.adornUrl('expressage/sysnExpressage'),
method: 'get',
params: this.$http.adornParams({
'ordersNo': row.ordersNo,
if (data.code == 0) {
this.$message({
message: '操作成功',
type: 'success',
duration: 1500,
onClose: () => {
this.dataSelect()
}
})
}).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: () => {}
})
}
} else {
this.$message({
message: data.msg,
type: 'warning',
duration: 1500,
onClose: () => { }
})
}
})
} else {
this.$message({
message: '运单号为空!',
type: 'warning',
duration: 1500,
onClose: () => {}
})
}
})
} else {
this.$message({
message: '运单号为空!',
type: 'warning',
duration: 1500,
onClose: () => { }
})
}
},
},
mounted() {
this.tableDataLoading = false
this.dataSelect()
this.kuaid()
}
},
mounted() {
this.tableDataLoading = false
this.dataSelect()
this.kuaid()
}
}
</script>
<style>
.customWidth {
width: 80% !important;
}
.customWidth {
width: 80% !important;
}
.detailtabel .table_main table {
width: 100%;
}
.detailtabel .table_main table {
width: 100%;
}
.detailtabel .table_main {
border: 1px solid #e8e8e8;
}
.detailtabel .table_main {
border: 1px solid #e8e8e8;
}
.detailtabel table tr {
border-bottom: 1px solid #e8e8e8;
}
.detailtabel table tr {
border-bottom: 1px solid #e8e8e8;
}
.detailtabel table tr th {
background-color: #fafafa;
padding: 5px 24px;
border-right: 1px solid #e8e8e8;
border-bottom: 1px solid #e8e8e8;
}
.detailtabel table tr th {
background-color: #fafafa;
padding: 5px 24px;
border-right: 1px solid #e8e8e8;
border-bottom: 1px solid #e8e8e8;
}
.detailtabel table tr td {
padding: 5px 24px;
border-right: 1px solid #e8e8e8;
border-bottom: 1px solid #e8e8e8;
}
.detailtabel table tr td {
padding: 5px 24px;
border-right: 1px solid #e8e8e8;
border-bottom: 1px solid #e8e8e8;
}
.detailtabel table th {
color: rgba(0, 0, 0, .85);
font-weight: 400;
font-size: 14px;
line-height: 1.5;
}
.detailtabel table th {
color: rgba(0, 0, 0, .85);
font-weight: 400;
font-size: 14px;
line-height: 1.5;
}
.border-rt {
border-right: none !important;
}
.border-rt {
border-right: none !important;
}
.border-bt {
border-bottom: none !important;
}
.border-bt {
border-bottom: none !important;
}
.box {
padding: 44px;
border: 1px solid #eee;
margin: 15px 10px;
}
.box {
padding: 44px;
border: 1px solid #eee;
margin: 15px 10px;
}
.box_num {
font-size: 14px;
color: #66b1ff;
}
.box_num {
font-size: 14px;
color: #66b1ff;
}
.box_num .box_color {
color: #333;
font-size: 14px;
margin-bottom: 15px;
}
.box_num .box_color {
color: #333;
font-size: 14px;
margin-bottom: 15px;
}
.box_num div span {
font-size: 20px;
margin-left: 5px;
}
.box_num div span {
font-size: 20px;
margin-left: 5px;
}
.text_color {
color: #4f9dec;
}
.text_color {
color: #4f9dec;
}
.text_color span {
margin-right: 5px;
}
.text_color span {
margin-right: 5px;
}
.el-step.is-vertical .el-step__title {
padding-bottom: 30px !important;
}
.el-step.is-vertical .el-step__title {
padding-bottom: 30px !important;
}
</style>
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!