Merge remote-tracking branch 'origin/master'
正在显示
57 个修改的文件
包含
3220 行增加
和
557 行删除
| @@ -9,11 +9,12 @@ module.exports = { | @@ -9,11 +9,12 @@ module.exports = { | ||
| 9 | assetsSubDirectory: 'static', | 9 | assetsSubDirectory: 'static', |
| 10 | assetsPublicPath: './', | 10 | assetsPublicPath: './', |
| 11 | productionSourceMap: true, | 11 | productionSourceMap: true, |
| 12 | - // Gzip off by default as many popular static hosts such as | 12 | + // Gzip off by default as many popular static hosts such as2.20202 |
| 13 | // Surge or Netlify already gzip all static assets for you. | 13 | // Surge or Netlify already gzip all static assets for you. |
| 14 | // Before setting to `true`, make sure to: | 14 | // Before setting to `true`, make sure to: |
| 15 | // npm install --save-dev compression-webpack-plugin | 15 | // npm install --save-dev compression-webpack-plugin |
| 16 | productionGzip: false, | 16 | productionGzip: false, |
| 17 | + | ||
| 17 | productionGzipExtensions: ['js', 'css'], | 18 | productionGzipExtensions: ['js', 'css'], |
| 18 | // Run the build command with an extra argument to | 19 | // Run the build command with an extra argument to |
| 19 | // View the bundle analyzer report after build finishes: | 20 | // View the bundle analyzer report after build finishes: |
| @@ -23,17 +24,17 @@ module.exports = { | @@ -23,17 +24,17 @@ module.exports = { | ||
| 23 | }, | 24 | }, |
| 24 | dev: { | 25 | dev: { |
| 25 | env: require('./dev.env'), | 26 | env: require('./dev.env'), |
| 26 | - port: 4006, | 27 | + port: 12020, |
| 27 | autoOpenBrowser: true, | 28 | autoOpenBrowser: true, |
| 28 | assetsSubDirectory: 'static', | 29 | assetsSubDirectory: 'static', |
| 29 | assetsPublicPath: '/', | 30 | assetsPublicPath: '/', |
| 30 | proxyTable: { | 31 | proxyTable: { |
| 31 | '/api':{ | 32 | '/api':{ |
| 32 | target: 'http://192.168.1.53:12343',//设置你调用的接口域名和端口号 别忘了加http | 33 | target: 'http://192.168.1.53:12343',//设置你调用的接口域名和端口号 别忘了加http |
| 33 | - // target: 'http://192.168.43.78:12343',//设置你调用的接口域名和端口号 别忘了加http | 34 | + // target: 'http://localhost:12343',//设置你调用的接口域名和端口号 别忘了加http |
| 34 | changeOrigin: true, | 35 | changeOrigin: true, |
| 35 | pathRewrite: { | 36 | pathRewrite: { |
| 36 | - '^/api': '/'//这里理解成用‘/api’代替target里面的地址,后面组件中我们掉接口时直接用api代替 比如我要调用'http://40.00.100.100:3002/user/add',直接写‘/api/user/add’即可 | 37 | + '^/api/': '/'//这里理解成用‘/api’代替target里面的地址,后面组件中我们掉接口时直接用api代替 比如我要调用'http://40.00.100.100:3002/user/add',直接写‘/api/user/add’即可 |
| 37 | } | 38 | } |
| 38 | } | 39 | } |
| 39 | }, | 40 | }, |
| @@ -3,7 +3,7 @@ | @@ -3,7 +3,7 @@ | ||
| 3 | 3 | ||
| 4 | <head> | 4 | <head> |
| 5 | <meta charset="utf-8"> | 5 | <meta charset="utf-8"> |
| 6 | - <title>流浪地球项目</title> | 6 | + <title>易通快速通关申报管理系统</title> |
| 7 | <link rel="shortcut icon" type="image/x-icon" href="favicon.ico"> | 7 | <link rel="shortcut icon" type="image/x-icon" href="favicon.ico"> |
| 8 | </head> | 8 | </head> |
| 9 | 9 |
package-lock.json
100755 → 100644
| @@ -34,6 +34,11 @@ | @@ -34,6 +34,11 @@ | ||
| 34 | } | 34 | } |
| 35 | } | 35 | } |
| 36 | }, | 36 | }, |
| 37 | + "abab": { | ||
| 38 | + "version": "1.0.4", | ||
| 39 | + "resolved": "https://registry.npmjs.org/abab/-/abab-1.0.4.tgz", | ||
| 40 | + "integrity": "sha1-X6rZwsB/YN12dw9xzwJbYqY8/U4=" | ||
| 41 | + }, | ||
| 37 | "abbrev": { | 42 | "abbrev": { |
| 38 | "version": "1.1.1", | 43 | "version": "1.1.1", |
| 39 | "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", | 44 | "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", |
| @@ -72,6 +77,21 @@ | @@ -72,6 +77,21 @@ | ||
| 72 | } | 77 | } |
| 73 | } | 78 | } |
| 74 | }, | 79 | }, |
| 80 | + "acorn-globals": { | ||
| 81 | + "version": "1.0.9", | ||
| 82 | + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-1.0.9.tgz", | ||
| 83 | + "integrity": "sha1-VbtemGkVB7dFedBRNBMhfDgMVM8=", | ||
| 84 | + "requires": { | ||
| 85 | + "acorn": "^2.1.0" | ||
| 86 | + }, | ||
| 87 | + "dependencies": { | ||
| 88 | + "acorn": { | ||
| 89 | + "version": "2.7.0", | ||
| 90 | + "resolved": "https://registry.npmjs.org/acorn/-/acorn-2.7.0.tgz", | ||
| 91 | + "integrity": "sha1-q259nYhqrKiwhbwzEreaGYQz8Oc=" | ||
| 92 | + } | ||
| 93 | + } | ||
| 94 | + }, | ||
| 75 | "acorn-jsx": { | 95 | "acorn-jsx": { |
| 76 | "version": "5.0.1", | 96 | "version": "5.0.1", |
| 77 | "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.0.1.tgz", | 97 | "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.0.1.tgz", |
| @@ -487,6 +507,11 @@ | @@ -487,6 +507,11 @@ | ||
| 487 | "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", | 507 | "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", |
| 488 | "dev": true | 508 | "dev": true |
| 489 | }, | 509 | }, |
| 510 | + "array-equal": { | ||
| 511 | + "version": "1.0.0", | ||
| 512 | + "resolved": "https://registry.npmjs.org/array-equal/-/array-equal-1.0.0.tgz", | ||
| 513 | + "integrity": "sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM=" | ||
| 514 | + }, | ||
| 490 | "array-find-index": { | 515 | "array-find-index": { |
| 491 | "version": "1.0.2", | 516 | "version": "1.0.2", |
| 492 | "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", | 517 | "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", |
| @@ -524,7 +549,6 @@ | @@ -524,7 +549,6 @@ | ||
| 524 | "version": "0.2.4", | 549 | "version": "0.2.4", |
| 525 | "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", | 550 | "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", |
| 526 | "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", | 551 | "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", |
| 527 | - "dev": true, | ||
| 528 | "requires": { | 552 | "requires": { |
| 529 | "safer-buffer": "~2.1.0" | 553 | "safer-buffer": "~2.1.0" |
| 530 | } | 554 | } |
| @@ -570,8 +594,7 @@ | @@ -570,8 +594,7 @@ | ||
| 570 | "assert-plus": { | 594 | "assert-plus": { |
| 571 | "version": "1.0.0", | 595 | "version": "1.0.0", |
| 572 | "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", | 596 | "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", |
| 573 | - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", | ||
| 574 | - "dev": true | 597 | + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" |
| 575 | }, | 598 | }, |
| 576 | "assign-symbols": { | 599 | "assign-symbols": { |
| 577 | "version": "1.0.0", | 600 | "version": "1.0.0", |
| @@ -613,8 +636,8 @@ | @@ -613,8 +636,8 @@ | ||
| 613 | }, | 636 | }, |
| 614 | "async-validator": { | 637 | "async-validator": { |
| 615 | "version": "1.8.5", | 638 | "version": "1.8.5", |
| 616 | - "resolved": "https://registry.npmjs.org/async-validator/-/async-validator-1.8.5.tgz", | ||
| 617 | - "integrity": "sha512-tXBM+1m056MAX0E8TL2iCjg8WvSyXu0Zc8LNtYqrVeyoL3+esHRZ4SieE9fKQyyU09uONjnMEjrNBMqT0mbvmA==", | 639 | + "resolved": "https://registry.npm.taobao.org/async-validator/download/async-validator-1.8.5.tgz", |
| 640 | + "integrity": "sha1-3D4I7B/Q3dtn5ghC8CwM0c7G1/A=", | ||
| 618 | "requires": { | 641 | "requires": { |
| 619 | "babel-runtime": "6.x" | 642 | "babel-runtime": "6.x" |
| 620 | } | 643 | } |
| @@ -622,8 +645,7 @@ | @@ -622,8 +645,7 @@ | ||
| 622 | "asynckit": { | 645 | "asynckit": { |
| 623 | "version": "0.4.0", | 646 | "version": "0.4.0", |
| 624 | "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", | 647 | "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", |
| 625 | - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", | ||
| 626 | - "dev": true | 648 | + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" |
| 627 | }, | 649 | }, |
| 628 | "atob": { | 650 | "atob": { |
| 629 | "version": "2.1.2", | 651 | "version": "2.1.2", |
| @@ -648,14 +670,12 @@ | @@ -648,14 +670,12 @@ | ||
| 648 | "aws-sign2": { | 670 | "aws-sign2": { |
| 649 | "version": "0.7.0", | 671 | "version": "0.7.0", |
| 650 | "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", | 672 | "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", |
| 651 | - "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", | ||
| 652 | - "dev": true | 673 | + "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=" |
| 653 | }, | 674 | }, |
| 654 | "aws4": { | 675 | "aws4": { |
| 655 | "version": "1.8.0", | 676 | "version": "1.8.0", |
| 656 | "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz", | 677 | "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz", |
| 657 | - "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==", | ||
| 658 | - "dev": true | 678 | + "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==" |
| 659 | }, | 679 | }, |
| 660 | "axios": { | 680 | "axios": { |
| 661 | "version": "0.19.0", | 681 | "version": "0.19.0", |
| @@ -896,8 +916,8 @@ | @@ -896,8 +916,8 @@ | ||
| 896 | }, | 916 | }, |
| 897 | "babel-helper-vue-jsx-merge-props": { | 917 | "babel-helper-vue-jsx-merge-props": { |
| 898 | "version": "2.0.3", | 918 | "version": "2.0.3", |
| 899 | - "resolved": "https://registry.npmjs.org/babel-helper-vue-jsx-merge-props/-/babel-helper-vue-jsx-merge-props-2.0.3.tgz", | ||
| 900 | - "integrity": "sha512-gsLiKK7Qrb7zYJNgiXKpXblxbV5ffSwR0f5whkPAaBAR4fhi6bwRZxX9wBlIc5M/v8CCkXUbXZL4N/nSE97cqg==" | 919 | + "resolved": "https://registry.npm.taobao.org/babel-helper-vue-jsx-merge-props/download/babel-helper-vue-jsx-merge-props-2.0.3.tgz", |
| 920 | + "integrity": "sha1-Iq69OzOQIyjlEyk6jkmSs4T58bY=" | ||
| 901 | }, | 921 | }, |
| 902 | "babel-helpers": { | 922 | "babel-helpers": { |
| 903 | "version": "6.24.1", | 923 | "version": "6.24.1", |
| @@ -1610,6 +1630,11 @@ | @@ -1610,6 +1630,11 @@ | ||
| 1610 | } | 1630 | } |
| 1611 | } | 1631 | } |
| 1612 | }, | 1632 | }, |
| 1633 | + "base64-arraybuffer": { | ||
| 1634 | + "version": "0.2.0", | ||
| 1635 | + "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.2.0.tgz", | ||
| 1636 | + "integrity": "sha512-7emyCsu1/xiBXgQZrscw/8KPRT44I4Yq9Pe6EGs3aPRTsWuggML1/1DTuZUuIaJPIm1FTDUVXl4x/yW8s0kQDQ==" | ||
| 1637 | + }, | ||
| 1613 | "base64-js": { | 1638 | "base64-js": { |
| 1614 | "version": "1.3.1", | 1639 | "version": "1.3.1", |
| 1615 | "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.1.tgz", | 1640 | "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.1.tgz", |
| @@ -1620,7 +1645,6 @@ | @@ -1620,7 +1645,6 @@ | ||
| 1620 | "version": "1.0.2", | 1645 | "version": "1.0.2", |
| 1621 | "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", | 1646 | "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", |
| 1622 | "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", | 1647 | "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", |
| 1623 | - "dev": true, | ||
| 1624 | "requires": { | 1648 | "requires": { |
| 1625 | "tweetnacl": "^0.14.3" | 1649 | "tweetnacl": "^0.14.3" |
| 1626 | } | 1650 | } |
| @@ -1955,11 +1979,28 @@ | @@ -1955,11 +1979,28 @@ | ||
| 1955 | "integrity": "sha512-vrMcvSuMz16YY6GSVZ0dWDTJP8jqk3iFQ/Aq5iqblPwxSVVZI+zxDyTX0VPqtQsDnfdrBDcsmhgTEOh5R8Lbpw==", | 1979 | "integrity": "sha512-vrMcvSuMz16YY6GSVZ0dWDTJP8jqk3iFQ/Aq5iqblPwxSVVZI+zxDyTX0VPqtQsDnfdrBDcsmhgTEOh5R8Lbpw==", |
| 1956 | "dev": true | 1980 | "dev": true |
| 1957 | }, | 1981 | }, |
| 1982 | + "canvg": { | ||
| 1983 | + "version": "1.5.3", | ||
| 1984 | + "resolved": "https://registry.npmjs.org/canvg/-/canvg-1.5.3.tgz", | ||
| 1985 | + "integrity": "sha512-7Gn2IuQzvUQWPIuZuFHrzsTM0gkPz2RRT9OcbdmA03jeKk8kltrD8gqUzNX15ghY/4PV5bbe5lmD6yDLDY6Ybg==", | ||
| 1986 | + "requires": { | ||
| 1987 | + "jsdom": "^8.1.0", | ||
| 1988 | + "rgbcolor": "^1.0.1", | ||
| 1989 | + "stackblur-canvas": "^1.4.1", | ||
| 1990 | + "xmldom": "^0.1.22" | ||
| 1991 | + }, | ||
| 1992 | + "dependencies": { | ||
| 1993 | + "stackblur-canvas": { | ||
| 1994 | + "version": "1.4.1", | ||
| 1995 | + "resolved": "https://registry.npmjs.org/stackblur-canvas/-/stackblur-canvas-1.4.1.tgz", | ||
| 1996 | + "integrity": "sha1-hJqm+UsnL/JvZHH6QTDtH35HlVs=" | ||
| 1997 | + } | ||
| 1998 | + } | ||
| 1999 | + }, | ||
| 1958 | "caseless": { | 2000 | "caseless": { |
| 1959 | "version": "0.12.0", | 2001 | "version": "0.12.0", |
| 1960 | "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", | 2002 | "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", |
| 1961 | - "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", | ||
| 1962 | - "dev": true | 2003 | + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=" |
| 1963 | }, | 2004 | }, |
| 1964 | "center-align": { | 2005 | "center-align": { |
| 1965 | "version": "0.1.3", | 2006 | "version": "0.1.3", |
| @@ -1972,9 +2013,9 @@ | @@ -1972,9 +2013,9 @@ | ||
| 1972 | } | 2013 | } |
| 1973 | }, | 2014 | }, |
| 1974 | "cfb": { | 2015 | "cfb": { |
| 1975 | - "version": "1.1.3", | ||
| 1976 | - "resolved": "https://registry.npmjs.org/cfb/-/cfb-1.1.3.tgz", | ||
| 1977 | - "integrity": "sha512-joXBW0nMuwV9no7UTMiyVJnQL6XIU3ThXVjFUDHgl9MpILPOomyfaGqC290VELZ48bbQKZXnQ81UT5HouTxHsw==", | 2016 | + "version": "1.1.4", |
| 2017 | + "resolved": "https://registry.npmjs.org/cfb/-/cfb-1.1.4.tgz", | ||
| 2018 | + "integrity": "sha512-rwFkl3aFO3f+ljR27YINwC0x8vPjyiEVbYbrTCKzspEf7Q++3THdfHVgJYNUbxNcupJECrLX+L40Mjm9hm/Bgw==", | ||
| 1978 | "requires": { | 2019 | "requires": { |
| 1979 | "adler-32": "~1.2.0", | 2020 | "adler-32": "~1.2.0", |
| 1980 | "commander": "^2.16.0", | 2021 | "commander": "^2.16.0", |
| @@ -2418,7 +2459,6 @@ | @@ -2418,7 +2459,6 @@ | ||
| 2418 | "version": "1.0.8", | 2459 | "version": "1.0.8", |
| 2419 | "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", | 2460 | "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", |
| 2420 | "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", | 2461 | "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", |
| 2421 | - "dev": true, | ||
| 2422 | "requires": { | 2462 | "requires": { |
| 2423 | "delayed-stream": "~1.0.0" | 2463 | "delayed-stream": "~1.0.0" |
| 2424 | } | 2464 | } |
| @@ -2754,6 +2794,14 @@ | @@ -2754,6 +2794,14 @@ | ||
| 2754 | "integrity": "sha1-gIrcLnnPhHOAabZGyyDsJ762KeA=", | 2794 | "integrity": "sha1-gIrcLnnPhHOAabZGyyDsJ762KeA=", |
| 2755 | "dev": true | 2795 | "dev": true |
| 2756 | }, | 2796 | }, |
| 2797 | + "css-line-break": { | ||
| 2798 | + "version": "1.1.1", | ||
| 2799 | + "resolved": "https://registry.npmjs.org/css-line-break/-/css-line-break-1.1.1.tgz", | ||
| 2800 | + "integrity": "sha512-1feNVaM4Fyzdj4mKPIQNL2n70MmuYzAXZ1aytlROFX1JsOo070OsugwGjj7nl6jnDJWHDM8zRZswkmeYVWZJQA==", | ||
| 2801 | + "requires": { | ||
| 2802 | + "base64-arraybuffer": "^0.2.0" | ||
| 2803 | + } | ||
| 2804 | + }, | ||
| 2757 | "css-loader": { | 2805 | "css-loader": { |
| 2758 | "version": "0.26.4", | 2806 | "version": "0.26.4", |
| 2759 | "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-0.26.4.tgz", | 2807 | "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-0.26.4.tgz", |
| @@ -2906,6 +2954,19 @@ | @@ -2906,6 +2954,19 @@ | ||
| 2906 | "source-map": "^0.5.3" | 2954 | "source-map": "^0.5.3" |
| 2907 | } | 2955 | } |
| 2908 | }, | 2956 | }, |
| 2957 | + "cssom": { | ||
| 2958 | + "version": "0.3.8", | ||
| 2959 | + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", | ||
| 2960 | + "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==" | ||
| 2961 | + }, | ||
| 2962 | + "cssstyle": { | ||
| 2963 | + "version": "0.2.37", | ||
| 2964 | + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-0.2.37.tgz", | ||
| 2965 | + "integrity": "sha1-VBCXI0yyUTyDzu06zdwn/yeYfVQ=", | ||
| 2966 | + "requires": { | ||
| 2967 | + "cssom": "0.3.x" | ||
| 2968 | + } | ||
| 2969 | + }, | ||
| 2909 | "currently-unhandled": { | 2970 | "currently-unhandled": { |
| 2910 | "version": "0.4.1", | 2971 | "version": "0.4.1", |
| 2911 | "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", | 2972 | "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", |
| @@ -2925,7 +2986,6 @@ | @@ -2925,7 +2986,6 @@ | ||
| 2925 | "version": "1.14.1", | 2986 | "version": "1.14.1", |
| 2926 | "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", | 2987 | "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", |
| 2927 | "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", | 2988 | "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", |
| 2928 | - "dev": true, | ||
| 2929 | "requires": { | 2989 | "requires": { |
| 2930 | "assert-plus": "^1.0.0" | 2990 | "assert-plus": "^1.0.0" |
| 2931 | } | 2991 | } |
| @@ -2975,8 +3035,8 @@ | @@ -2975,8 +3035,8 @@ | ||
| 2975 | }, | 3035 | }, |
| 2976 | "deepmerge": { | 3036 | "deepmerge": { |
| 2977 | "version": "1.5.2", | 3037 | "version": "1.5.2", |
| 2978 | - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-1.5.2.tgz", | ||
| 2979 | - "integrity": "sha512-95k0GDqvBjZavkuvzx/YqVLv/6YYa17fz6ILMSf7neqQITCPbnfEnQvEgMPNjH4kgobe7+WIL0yJEHku+H3qtQ==" | 3038 | + "resolved": "https://registry.npm.taobao.org/deepmerge/download/deepmerge-1.5.2.tgz?cache=0&sync_timestamp=1570547201087&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdeepmerge%2Fdownload%2Fdeepmerge-1.5.2.tgz", |
| 3039 | + "integrity": "sha1-EEmdhohEza1P7ghC34x/bwyVp1M=" | ||
| 2980 | }, | 3040 | }, |
| 2981 | "define-property": { | 3041 | "define-property": { |
| 2982 | "version": "2.0.2", | 3042 | "version": "2.0.2", |
| @@ -3040,8 +3100,7 @@ | @@ -3040,8 +3100,7 @@ | ||
| 3040 | "delayed-stream": { | 3100 | "delayed-stream": { |
| 3041 | "version": "1.0.0", | 3101 | "version": "1.0.0", |
| 3042 | "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", | 3102 | "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", |
| 3043 | - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", | ||
| 3044 | - "dev": true | 3103 | + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" |
| 3045 | }, | 3104 | }, |
| 3046 | "delegates": { | 3105 | "delegates": { |
| 3047 | "version": "1.0.0", | 3106 | "version": "1.0.0", |
| @@ -3188,7 +3247,6 @@ | @@ -3188,7 +3247,6 @@ | ||
| 3188 | "version": "0.1.2", | 3247 | "version": "0.1.2", |
| 3189 | "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", | 3248 | "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", |
| 3190 | "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", | 3249 | "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", |
| 3191 | - "dev": true, | ||
| 3192 | "requires": { | 3250 | "requires": { |
| 3193 | "jsbn": "~0.1.0", | 3251 | "jsbn": "~0.1.0", |
| 3194 | "safer-buffer": "^2.1.0" | 3252 | "safer-buffer": "^2.1.0" |
| @@ -3350,6 +3408,26 @@ | @@ -3350,6 +3408,26 @@ | ||
| 3350 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", | 3408 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", |
| 3351 | "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" | 3409 | "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" |
| 3352 | }, | 3410 | }, |
| 3411 | + "escodegen": { | ||
| 3412 | + "version": "1.14.1", | ||
| 3413 | + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.1.tgz", | ||
| 3414 | + "integrity": "sha512-Bmt7NcRySdIfNPfU2ZoXDrrXsG9ZjvDxcAlMfDUgRBjLOWTuIACXPBFJH7Z+cLb40JeQco5toikyc9t9P8E9SQ==", | ||
| 3415 | + "requires": { | ||
| 3416 | + "esprima": "^4.0.1", | ||
| 3417 | + "estraverse": "^4.2.0", | ||
| 3418 | + "esutils": "^2.0.2", | ||
| 3419 | + "optionator": "^0.8.1", | ||
| 3420 | + "source-map": "~0.6.1" | ||
| 3421 | + }, | ||
| 3422 | + "dependencies": { | ||
| 3423 | + "source-map": { | ||
| 3424 | + "version": "0.6.1", | ||
| 3425 | + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", | ||
| 3426 | + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", | ||
| 3427 | + "optional": true | ||
| 3428 | + } | ||
| 3429 | + } | ||
| 3430 | + }, | ||
| 3353 | "eslint": { | 3431 | "eslint": { |
| 3354 | "version": "5.16.0", | 3432 | "version": "5.16.0", |
| 3355 | "resolved": "https://registry.npmjs.org/eslint/-/eslint-5.16.0.tgz", | 3433 | "resolved": "https://registry.npmjs.org/eslint/-/eslint-5.16.0.tgz", |
| @@ -3749,8 +3827,7 @@ | @@ -3749,8 +3827,7 @@ | ||
| 3749 | "extsprintf": { | 3827 | "extsprintf": { |
| 3750 | "version": "1.3.0", | 3828 | "version": "1.3.0", |
| 3751 | "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", | 3829 | "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", |
| 3752 | - "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", | ||
| 3753 | - "dev": true | 3830 | + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=" |
| 3754 | }, | 3831 | }, |
| 3755 | "fast-deep-equal": { | 3832 | "fast-deep-equal": { |
| 3756 | "version": "2.0.1", | 3833 | "version": "2.0.1", |
| @@ -3970,14 +4047,12 @@ | @@ -3970,14 +4047,12 @@ | ||
| 3970 | "forever-agent": { | 4047 | "forever-agent": { |
| 3971 | "version": "0.6.1", | 4048 | "version": "0.6.1", |
| 3972 | "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", | 4049 | "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", |
| 3973 | - "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", | ||
| 3974 | - "dev": true | 4050 | + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=" |
| 3975 | }, | 4051 | }, |
| 3976 | "form-data": { | 4052 | "form-data": { |
| 3977 | "version": "2.3.3", | 4053 | "version": "2.3.3", |
| 3978 | "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", | 4054 | "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", |
| 3979 | "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", | 4055 | "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", |
| 3980 | - "dev": true, | ||
| 3981 | "requires": { | 4056 | "requires": { |
| 3982 | "asynckit": "^0.4.0", | 4057 | "asynckit": "^0.4.0", |
| 3983 | "combined-stream": "^1.0.6", | 4058 | "combined-stream": "^1.0.6", |
| @@ -4721,7 +4796,6 @@ | @@ -4721,7 +4796,6 @@ | ||
| 4721 | "version": "0.1.7", | 4796 | "version": "0.1.7", |
| 4722 | "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", | 4797 | "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", |
| 4723 | "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", | 4798 | "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", |
| 4724 | - "dev": true, | ||
| 4725 | "requires": { | 4799 | "requires": { |
| 4726 | "assert-plus": "^1.0.0" | 4800 | "assert-plus": "^1.0.0" |
| 4727 | } | 4801 | } |
| @@ -4804,14 +4878,12 @@ | @@ -4804,14 +4878,12 @@ | ||
| 4804 | "har-schema": { | 4878 | "har-schema": { |
| 4805 | "version": "2.0.0", | 4879 | "version": "2.0.0", |
| 4806 | "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", | 4880 | "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", |
| 4807 | - "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", | ||
| 4808 | - "dev": true | 4881 | + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=" |
| 4809 | }, | 4882 | }, |
| 4810 | "har-validator": { | 4883 | "har-validator": { |
| 4811 | "version": "5.1.3", | 4884 | "version": "5.1.3", |
| 4812 | "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz", | 4885 | "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz", |
| 4813 | "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==", | 4886 | "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==", |
| 4814 | - "dev": true, | ||
| 4815 | "requires": { | 4887 | "requires": { |
| 4816 | "ajv": "^6.5.5", | 4888 | "ajv": "^6.5.5", |
| 4817 | "har-schema": "^2.0.0" | 4889 | "har-schema": "^2.0.0" |
| @@ -5020,6 +5092,14 @@ | @@ -5020,6 +5092,14 @@ | ||
| 5020 | "toposort": "^1.0.0" | 5092 | "toposort": "^1.0.0" |
| 5021 | } | 5093 | } |
| 5022 | }, | 5094 | }, |
| 5095 | + "html2canvas": { | ||
| 5096 | + "version": "1.0.0-rc.5", | ||
| 5097 | + "resolved": "https://registry.npmjs.org/html2canvas/-/html2canvas-1.0.0-rc.5.tgz", | ||
| 5098 | + "integrity": "sha512-DtNqPxJNXPoTajs+lVQzGS1SULRI4GQaROeU5R41xH8acffHukxRh/NBVcTBsfCkJSkLq91rih5TpbEwUP9yWA==", | ||
| 5099 | + "requires": { | ||
| 5100 | + "css-line-break": "1.1.1" | ||
| 5101 | + } | ||
| 5102 | + }, | ||
| 5023 | "htmlparser2": { | 5103 | "htmlparser2": { |
| 5024 | "version": "3.10.1", | 5104 | "version": "3.10.1", |
| 5025 | "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.1.tgz", | 5105 | "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.1.tgz", |
| @@ -5101,7 +5181,6 @@ | @@ -5101,7 +5181,6 @@ | ||
| 5101 | "version": "1.2.0", | 5181 | "version": "1.2.0", |
| 5102 | "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", | 5182 | "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", |
| 5103 | "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", | 5183 | "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", |
| 5104 | - "dev": true, | ||
| 5105 | "requires": { | 5184 | "requires": { |
| 5106 | "assert-plus": "^1.0.0", | 5185 | "assert-plus": "^1.0.0", |
| 5107 | "jsprim": "^1.2.2", | 5186 | "jsprim": "^1.2.2", |
| @@ -5431,8 +5510,7 @@ | @@ -5431,8 +5510,7 @@ | ||
| 5431 | "is-typedarray": { | 5510 | "is-typedarray": { |
| 5432 | "version": "1.0.0", | 5511 | "version": "1.0.0", |
| 5433 | "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", | 5512 | "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", |
| 5434 | - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", | ||
| 5435 | - "dev": true | 5513 | + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" |
| 5436 | }, | 5514 | }, |
| 5437 | "is-utf8": { | 5515 | "is-utf8": { |
| 5438 | "version": "0.2.1", | 5516 | "version": "0.2.1", |
| @@ -5465,8 +5543,7 @@ | @@ -5465,8 +5543,7 @@ | ||
| 5465 | "isstream": { | 5543 | "isstream": { |
| 5466 | "version": "0.1.2", | 5544 | "version": "0.1.2", |
| 5467 | "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", | 5545 | "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", |
| 5468 | - "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", | ||
| 5469 | - "dev": true | 5546 | + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" |
| 5470 | }, | 5547 | }, |
| 5471 | "js-base64": { | 5548 | "js-base64": { |
| 5472 | "version": "2.5.1", | 5549 | "version": "2.5.1", |
| @@ -5521,8 +5598,38 @@ | @@ -5521,8 +5598,38 @@ | ||
| 5521 | "jsbn": { | 5598 | "jsbn": { |
| 5522 | "version": "0.1.1", | 5599 | "version": "0.1.1", |
| 5523 | "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", | 5600 | "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", |
| 5524 | - "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", | ||
| 5525 | - "dev": true | 5601 | + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=" |
| 5602 | + }, | ||
| 5603 | + "jsdom": { | ||
| 5604 | + "version": "8.5.0", | ||
| 5605 | + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-8.5.0.tgz", | ||
| 5606 | + "integrity": "sha1-1Nj12/J2hjW2KmKCO5R89wcevJg=", | ||
| 5607 | + "requires": { | ||
| 5608 | + "abab": "^1.0.0", | ||
| 5609 | + "acorn": "^2.4.0", | ||
| 5610 | + "acorn-globals": "^1.0.4", | ||
| 5611 | + "array-equal": "^1.0.0", | ||
| 5612 | + "cssom": ">= 0.3.0 < 0.4.0", | ||
| 5613 | + "cssstyle": ">= 0.2.34 < 0.3.0", | ||
| 5614 | + "escodegen": "^1.6.1", | ||
| 5615 | + "iconv-lite": "^0.4.13", | ||
| 5616 | + "nwmatcher": ">= 1.3.7 < 2.0.0", | ||
| 5617 | + "parse5": "^1.5.1", | ||
| 5618 | + "request": "^2.55.0", | ||
| 5619 | + "sax": "^1.1.4", | ||
| 5620 | + "symbol-tree": ">= 3.1.0 < 4.0.0", | ||
| 5621 | + "tough-cookie": "^2.2.0", | ||
| 5622 | + "webidl-conversions": "^3.0.1", | ||
| 5623 | + "whatwg-url": "^2.0.1", | ||
| 5624 | + "xml-name-validator": ">= 2.0.1 < 3.0.0" | ||
| 5625 | + }, | ||
| 5626 | + "dependencies": { | ||
| 5627 | + "acorn": { | ||
| 5628 | + "version": "2.7.0", | ||
| 5629 | + "resolved": "https://registry.npmjs.org/acorn/-/acorn-2.7.0.tgz", | ||
| 5630 | + "integrity": "sha1-q259nYhqrKiwhbwzEreaGYQz8Oc=" | ||
| 5631 | + } | ||
| 5632 | + } | ||
| 5526 | }, | 5633 | }, |
| 5527 | "jsesc": { | 5634 | "jsesc": { |
| 5528 | "version": "1.3.0", | 5635 | "version": "1.3.0", |
| @@ -5539,8 +5646,7 @@ | @@ -5539,8 +5646,7 @@ | ||
| 5539 | "json-schema": { | 5646 | "json-schema": { |
| 5540 | "version": "0.2.3", | 5647 | "version": "0.2.3", |
| 5541 | "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", | 5648 | "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", |
| 5542 | - "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", | ||
| 5543 | - "dev": true | 5649 | + "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=" |
| 5544 | }, | 5650 | }, |
| 5545 | "json-schema-traverse": { | 5651 | "json-schema-traverse": { |
| 5546 | "version": "0.4.1", | 5652 | "version": "0.4.1", |
| @@ -5564,8 +5670,7 @@ | @@ -5564,8 +5670,7 @@ | ||
| 5564 | "json-stringify-safe": { | 5670 | "json-stringify-safe": { |
| 5565 | "version": "5.0.1", | 5671 | "version": "5.0.1", |
| 5566 | "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", | 5672 | "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", |
| 5567 | - "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", | ||
| 5568 | - "dev": true | 5673 | + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" |
| 5569 | }, | 5674 | }, |
| 5570 | "json5": { | 5675 | "json5": { |
| 5571 | "version": "0.5.1", | 5676 | "version": "0.5.1", |
| @@ -5579,11 +5684,50 @@ | @@ -5579,11 +5684,50 @@ | ||
| 5579 | "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=", | 5684 | "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=", |
| 5580 | "dev": true | 5685 | "dev": true |
| 5581 | }, | 5686 | }, |
| 5687 | + "jspdf": { | ||
| 5688 | + "version": "1.5.3", | ||
| 5689 | + "resolved": "https://registry.npmjs.org/jspdf/-/jspdf-1.5.3.tgz", | ||
| 5690 | + "integrity": "sha512-J9X76xnncMw+wIqb15HeWfPMqPwYxSpPY8yWPJ7rAZN/ZDzFkjCSZObryCyUe8zbrVRNiuCnIeQteCzMn7GnWw==", | ||
| 5691 | + "requires": { | ||
| 5692 | + "canvg": "1.5.3", | ||
| 5693 | + "file-saver": "github:eligrey/FileSaver.js#1.3.8", | ||
| 5694 | + "html2canvas": "1.0.0-alpha.12", | ||
| 5695 | + "omggif": "1.0.7", | ||
| 5696 | + "promise-polyfill": "8.1.0", | ||
| 5697 | + "stackblur-canvas": "2.2.0" | ||
| 5698 | + }, | ||
| 5699 | + "dependencies": { | ||
| 5700 | + "base64-arraybuffer": { | ||
| 5701 | + "version": "0.1.5", | ||
| 5702 | + "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.5.tgz", | ||
| 5703 | + "integrity": "sha1-c5JncZI7Whl0etZmqlzUv5xunOg=" | ||
| 5704 | + }, | ||
| 5705 | + "css-line-break": { | ||
| 5706 | + "version": "1.0.1", | ||
| 5707 | + "resolved": "https://registry.npmjs.org/css-line-break/-/css-line-break-1.0.1.tgz", | ||
| 5708 | + "integrity": "sha1-GfIGOjPpX7KDG4ZEbAuAwYivRQo=", | ||
| 5709 | + "requires": { | ||
| 5710 | + "base64-arraybuffer": "^0.1.5" | ||
| 5711 | + } | ||
| 5712 | + }, | ||
| 5713 | + "file-saver": { | ||
| 5714 | + "version": "github:eligrey/FileSaver.js#e865e37af9f9947ddcced76b549e27dc45c1cb2e", | ||
| 5715 | + "from": "github:eligrey/FileSaver.js#1.3.8" | ||
| 5716 | + }, | ||
| 5717 | + "html2canvas": { | ||
| 5718 | + "version": "1.0.0-alpha.12", | ||
| 5719 | + "resolved": "https://registry.npmjs.org/html2canvas/-/html2canvas-1.0.0-alpha.12.tgz", | ||
| 5720 | + "integrity": "sha1-OxmS48mz9WBjw1/WIElPN+uohRM=", | ||
| 5721 | + "requires": { | ||
| 5722 | + "css-line-break": "1.0.1" | ||
| 5723 | + } | ||
| 5724 | + } | ||
| 5725 | + } | ||
| 5726 | + }, | ||
| 5582 | "jsprim": { | 5727 | "jsprim": { |
| 5583 | "version": "1.4.1", | 5728 | "version": "1.4.1", |
| 5584 | "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", | 5729 | "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", |
| 5585 | "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", | 5730 | "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", |
| 5586 | - "dev": true, | ||
| 5587 | "requires": { | 5731 | "requires": { |
| 5588 | "assert-plus": "1.0.0", | 5732 | "assert-plus": "1.0.0", |
| 5589 | "extsprintf": "1.3.0", | 5733 | "extsprintf": "1.3.0", |
| @@ -5941,14 +6085,12 @@ | @@ -5941,14 +6085,12 @@ | ||
| 5941 | "mime-db": { | 6085 | "mime-db": { |
| 5942 | "version": "1.40.0", | 6086 | "version": "1.40.0", |
| 5943 | "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.40.0.tgz", | 6087 | "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.40.0.tgz", |
| 5944 | - "integrity": "sha512-jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA==", | ||
| 5945 | - "dev": true | 6088 | + "integrity": "sha512-jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA==" |
| 5946 | }, | 6089 | }, |
| 5947 | "mime-types": { | 6090 | "mime-types": { |
| 5948 | "version": "2.1.24", | 6091 | "version": "2.1.24", |
| 5949 | "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.24.tgz", | 6092 | "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.24.tgz", |
| 5950 | "integrity": "sha512-WaFHS3MCl5fapm3oLxU4eYDw77IQM2ACcxQ9RIxfaC3ooc6PFuBMGZZsYpvoXS5D5QTWPieo1jjLdAm3TBP3cQ==", | 6093 | "integrity": "sha512-WaFHS3MCl5fapm3oLxU4eYDw77IQM2ACcxQ9RIxfaC3ooc6PFuBMGZZsYpvoXS5D5QTWPieo1jjLdAm3TBP3cQ==", |
| 5951 | - "dev": true, | ||
| 5952 | "requires": { | 6094 | "requires": { |
| 5953 | "mime-db": "1.40.0" | 6095 | "mime-db": "1.40.0" |
| 5954 | } | 6096 | } |
| @@ -6316,7 +6458,7 @@ | @@ -6316,7 +6458,7 @@ | ||
| 6316 | }, | 6458 | }, |
| 6317 | "normalize-wheel": { | 6459 | "normalize-wheel": { |
| 6318 | "version": "1.0.1", | 6460 | "version": "1.0.1", |
| 6319 | - "resolved": "https://registry.npmjs.org/normalize-wheel/-/normalize-wheel-1.0.1.tgz", | 6461 | + "resolved": "https://registry.npm.taobao.org/normalize-wheel/download/normalize-wheel-1.0.1.tgz", |
| 6320 | "integrity": "sha1-rsiGr/2wRQcNhWRH32Ls+GFG7EU=" | 6462 | "integrity": "sha1-rsiGr/2wRQcNhWRH32Ls+GFG7EU=" |
| 6321 | }, | 6463 | }, |
| 6322 | "npm": { | 6464 | "npm": { |
| @@ -9402,11 +9544,15 @@ | @@ -9402,11 +9544,15 @@ | ||
| 9402 | "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", | 9544 | "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", |
| 9403 | "dev": true | 9545 | "dev": true |
| 9404 | }, | 9546 | }, |
| 9547 | + "nwmatcher": { | ||
| 9548 | + "version": "1.4.4", | ||
| 9549 | + "resolved": "https://registry.npmjs.org/nwmatcher/-/nwmatcher-1.4.4.tgz", | ||
| 9550 | + "integrity": "sha512-3iuY4N5dhgMpCUrOVnuAdGrgxVqV2cJpM+XNccjR2DKOB1RUP0aA+wGXEiNziG/UKboFyGBIoKOaNlJxx8bciQ==" | ||
| 9551 | + }, | ||
| 9405 | "oauth-sign": { | 9552 | "oauth-sign": { |
| 9406 | "version": "0.9.0", | 9553 | "version": "0.9.0", |
| 9407 | "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", | 9554 | "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", |
| 9408 | - "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", | ||
| 9409 | - "dev": true | 9555 | + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==" |
| 9410 | }, | 9556 | }, |
| 9411 | "object-assign": { | 9557 | "object-assign": { |
| 9412 | "version": "4.1.1", | 9558 | "version": "4.1.1", |
| @@ -9469,6 +9615,11 @@ | @@ -9469,6 +9615,11 @@ | ||
| 9469 | } | 9615 | } |
| 9470 | } | 9616 | } |
| 9471 | }, | 9617 | }, |
| 9618 | + "omggif": { | ||
| 9619 | + "version": "1.0.7", | ||
| 9620 | + "resolved": "https://registry.npmjs.org/omggif/-/omggif-1.0.7.tgz", | ||
| 9621 | + "integrity": "sha1-WdLuywJj3oRjWz/riHwMmXPx5J0=" | ||
| 9622 | + }, | ||
| 9472 | "on-finished": { | 9623 | "on-finished": { |
| 9473 | "version": "2.3.0", | 9624 | "version": "2.3.0", |
| 9474 | "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", | 9625 | "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", |
| @@ -9726,6 +9877,11 @@ | @@ -9726,6 +9877,11 @@ | ||
| 9726 | "error-ex": "^1.2.0" | 9877 | "error-ex": "^1.2.0" |
| 9727 | } | 9878 | } |
| 9728 | }, | 9879 | }, |
| 9880 | + "parse5": { | ||
| 9881 | + "version": "1.5.1", | ||
| 9882 | + "resolved": "https://registry.npmjs.org/parse5/-/parse5-1.5.1.tgz", | ||
| 9883 | + "integrity": "sha1-m387DeMr543CQBsXVzzK8Pb1nZQ=" | ||
| 9884 | + }, | ||
| 9729 | "parseurl": { | 9885 | "parseurl": { |
| 9730 | "version": "1.3.3", | 9886 | "version": "1.3.3", |
| 9731 | "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", | 9887 | "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", |
| @@ -9811,8 +9967,7 @@ | @@ -9811,8 +9967,7 @@ | ||
| 9811 | "performance-now": { | 9967 | "performance-now": { |
| 9812 | "version": "2.1.0", | 9968 | "version": "2.1.0", |
| 9813 | "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", | 9969 | "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", |
| 9814 | - "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", | ||
| 9815 | - "dev": true | 9970 | + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" |
| 9816 | }, | 9971 | }, |
| 9817 | "pify": { | 9972 | "pify": { |
| 9818 | "version": "3.0.0", | 9973 | "version": "3.0.0", |
| @@ -10407,6 +10562,11 @@ | @@ -10407,6 +10562,11 @@ | ||
| 10407 | "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=", | 10562 | "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=", |
| 10408 | "dev": true | 10563 | "dev": true |
| 10409 | }, | 10564 | }, |
| 10565 | + "promise-polyfill": { | ||
| 10566 | + "version": "8.1.0", | ||
| 10567 | + "resolved": "https://registry.npmjs.org/promise-polyfill/-/promise-polyfill-8.1.0.tgz", | ||
| 10568 | + "integrity": "sha512-OzSf6gcCUQ01byV4BgwyUCswlaQQ6gzXc23aLQWhicvfX9kfsUiUhgt3CCQej8jDnl8/PhGF31JdHX2/MzF3WA==" | ||
| 10569 | + }, | ||
| 10410 | "proto-list": { | 10570 | "proto-list": { |
| 10411 | "version": "1.2.4", | 10571 | "version": "1.2.4", |
| 10412 | "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz", | 10572 | "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz", |
| @@ -10438,8 +10598,7 @@ | @@ -10438,8 +10598,7 @@ | ||
| 10438 | "psl": { | 10598 | "psl": { |
| 10439 | "version": "1.3.0", | 10599 | "version": "1.3.0", |
| 10440 | "resolved": "https://registry.npmjs.org/psl/-/psl-1.3.0.tgz", | 10600 | "resolved": "https://registry.npmjs.org/psl/-/psl-1.3.0.tgz", |
| 10441 | - "integrity": "sha512-avHdspHO+9rQTLbv1RO+MPYeP/SzsCoxofjVnHanETfQhTJrmB0HlDoW+EiN/R+C0BZ+gERab9NY0lPN2TxNag==", | ||
| 10442 | - "dev": true | 10601 | + "integrity": "sha512-avHdspHO+9rQTLbv1RO+MPYeP/SzsCoxofjVnHanETfQhTJrmB0HlDoW+EiN/R+C0BZ+gERab9NY0lPN2TxNag==" |
| 10443 | }, | 10602 | }, |
| 10444 | "public-encrypt": { | 10603 | "public-encrypt": { |
| 10445 | "version": "4.0.3", | 10604 | "version": "4.0.3", |
| @@ -11126,7 +11285,6 @@ | @@ -11126,7 +11285,6 @@ | ||
| 11126 | "version": "2.88.0", | 11285 | "version": "2.88.0", |
| 11127 | "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz", | 11286 | "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz", |
| 11128 | "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==", | 11287 | "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==", |
| 11129 | - "dev": true, | ||
| 11130 | "requires": { | 11288 | "requires": { |
| 11131 | "aws-sign2": "~0.7.0", | 11289 | "aws-sign2": "~0.7.0", |
| 11132 | "aws4": "^1.8.0", | 11290 | "aws4": "^1.8.0", |
| @@ -11153,8 +11311,7 @@ | @@ -11153,8 +11311,7 @@ | ||
| 11153 | "qs": { | 11311 | "qs": { |
| 11154 | "version": "6.5.2", | 11312 | "version": "6.5.2", |
| 11155 | "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", | 11313 | "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", |
| 11156 | - "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", | ||
| 11157 | - "dev": true | 11314 | + "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==" |
| 11158 | } | 11315 | } |
| 11159 | } | 11316 | } |
| 11160 | }, | 11317 | }, |
| @@ -11184,8 +11341,8 @@ | @@ -11184,8 +11341,8 @@ | ||
| 11184 | }, | 11341 | }, |
| 11185 | "resize-observer-polyfill": { | 11342 | "resize-observer-polyfill": { |
| 11186 | "version": "1.5.1", | 11343 | "version": "1.5.1", |
| 11187 | - "resolved": "https://registry.npmjs.org/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz", | ||
| 11188 | - "integrity": "sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==" | 11344 | + "resolved": "https://registry.npm.taobao.org/resize-observer-polyfill/download/resize-observer-polyfill-1.5.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fresize-observer-polyfill%2Fdownload%2Fresize-observer-polyfill-1.5.1.tgz", |
| 11345 | + "integrity": "sha1-DpAg3T0hAkRY1OvSfiPkAmmBBGQ=" | ||
| 11189 | }, | 11346 | }, |
| 11190 | "resolve": { | 11347 | "resolve": { |
| 11191 | "version": "1.12.0", | 11348 | "version": "1.12.0", |
| @@ -11222,6 +11379,11 @@ | @@ -11222,6 +11379,11 @@ | ||
| 11222 | "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", | 11379 | "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", |
| 11223 | "dev": true | 11380 | "dev": true |
| 11224 | }, | 11381 | }, |
| 11382 | + "rgbcolor": { | ||
| 11383 | + "version": "1.0.1", | ||
| 11384 | + "resolved": "https://registry.npmjs.org/rgbcolor/-/rgbcolor-1.0.1.tgz", | ||
| 11385 | + "integrity": "sha1-1lBezbMEplldom+ktDMHMGd1lF0=" | ||
| 11386 | + }, | ||
| 11225 | "right-align": { | 11387 | "right-align": { |
| 11226 | "version": "0.1.3", | 11388 | "version": "0.1.3", |
| 11227 | "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz", | 11389 | "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz", |
| @@ -11355,8 +11517,7 @@ | @@ -11355,8 +11517,7 @@ | ||
| 11355 | "sax": { | 11517 | "sax": { |
| 11356 | "version": "1.2.4", | 11518 | "version": "1.2.4", |
| 11357 | "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", | 11519 | "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", |
| 11358 | - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", | ||
| 11359 | - "dev": true | 11520 | + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" |
| 11360 | }, | 11521 | }, |
| 11361 | "schema-utils": { | 11522 | "schema-utils": { |
| 11362 | "version": "0.3.0", | 11523 | "version": "0.3.0", |
| @@ -11811,9 +11972,9 @@ | @@ -11811,9 +11972,9 @@ | ||
| 11811 | "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" | 11972 | "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" |
| 11812 | }, | 11973 | }, |
| 11813 | "ssf": { | 11974 | "ssf": { |
| 11814 | - "version": "0.10.2", | ||
| 11815 | - "resolved": "https://registry.npmjs.org/ssf/-/ssf-0.10.2.tgz", | ||
| 11816 | - "integrity": "sha512-rDhAPm9WyIsY8eZEKyE8Qsotb3j/wBdvMWBUsOhJdfhKGLfQidRjiBUV0y/MkyCLiXQ38FG6LWW/VYUtqlIDZQ==", | 11975 | + "version": "0.10.3", |
| 11976 | + "resolved": "https://registry.npmjs.org/ssf/-/ssf-0.10.3.tgz", | ||
| 11977 | + "integrity": "sha512-pRuUdW0WwyB2doSqqjWyzwCD6PkfxpHAHdZp39K3dp/Hq7f+xfMwNAWIi16DyrRg4gg9c/RvLYkJTSawTPTm1w==", | ||
| 11817 | "requires": { | 11978 | "requires": { |
| 11818 | "frac": "~1.1.2" | 11979 | "frac": "~1.1.2" |
| 11819 | } | 11980 | } |
| @@ -11822,7 +11983,6 @@ | @@ -11822,7 +11983,6 @@ | ||
| 11822 | "version": "1.16.1", | 11983 | "version": "1.16.1", |
| 11823 | "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", | 11984 | "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", |
| 11824 | "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", | 11985 | "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", |
| 11825 | - "dev": true, | ||
| 11826 | "requires": { | 11986 | "requires": { |
| 11827 | "asn1": "~0.2.3", | 11987 | "asn1": "~0.2.3", |
| 11828 | "assert-plus": "^1.0.0", | 11988 | "assert-plus": "^1.0.0", |
| @@ -11844,6 +12004,11 @@ | @@ -11844,6 +12004,11 @@ | ||
| 11844 | "safe-buffer": "^5.1.1" | 12004 | "safe-buffer": "^5.1.1" |
| 11845 | } | 12005 | } |
| 11846 | }, | 12006 | }, |
| 12007 | + "stackblur-canvas": { | ||
| 12008 | + "version": "2.2.0", | ||
| 12009 | + "resolved": "https://registry.npmjs.org/stackblur-canvas/-/stackblur-canvas-2.2.0.tgz", | ||
| 12010 | + "integrity": "sha512-5Gf8dtlf8k6NbLzuly2NkGrkS/Ahh+I5VUjO7TnFizdJtgpfpLLEdQlLe9umbcnZlitU84kfYjXE67xlSXfhfQ==" | ||
| 12011 | + }, | ||
| 11847 | "stackframe": { | 12012 | "stackframe": { |
| 11848 | "version": "1.0.4", | 12013 | "version": "1.0.4", |
| 11849 | "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.0.4.tgz", | 12014 | "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.0.4.tgz", |
| @@ -12038,6 +12203,11 @@ | @@ -12038,6 +12203,11 @@ | ||
| 12038 | } | 12203 | } |
| 12039 | } | 12204 | } |
| 12040 | }, | 12205 | }, |
| 12206 | + "symbol-tree": { | ||
| 12207 | + "version": "3.2.4", | ||
| 12208 | + "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", | ||
| 12209 | + "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==" | ||
| 12210 | + }, | ||
| 12041 | "table": { | 12211 | "table": { |
| 12042 | "version": "5.4.6", | 12212 | "version": "5.4.6", |
| 12043 | "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz", | 12213 | "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz", |
| @@ -12103,8 +12273,8 @@ | @@ -12103,8 +12273,8 @@ | ||
| 12103 | }, | 12273 | }, |
| 12104 | "throttle-debounce": { | 12274 | "throttle-debounce": { |
| 12105 | "version": "1.1.0", | 12275 | "version": "1.1.0", |
| 12106 | - "resolved": "https://registry.npmjs.org/throttle-debounce/-/throttle-debounce-1.1.0.tgz", | ||
| 12107 | - "integrity": "sha512-XH8UiPCQcWNuk2LYePibW/4qL97+ZQ1AN3FNXwZRBNPPowo/NRU5fAlDCSNBJIYCKbioZfuYtMhG4quqoJhVzg==" | 12276 | + "resolved": "https://registry.npm.taobao.org/throttle-debounce/download/throttle-debounce-1.1.0.tgz", |
| 12277 | + "integrity": "sha1-UYU9o3vmihVctugns1FKPEIuic0=" | ||
| 12108 | }, | 12278 | }, |
| 12109 | "through": { | 12279 | "through": { |
| 12110 | "version": "2.3.8", | 12280 | "version": "2.3.8", |
| @@ -12214,7 +12384,6 @@ | @@ -12214,7 +12384,6 @@ | ||
| 12214 | "version": "2.4.3", | 12384 | "version": "2.4.3", |
| 12215 | "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz", | 12385 | "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz", |
| 12216 | "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==", | 12386 | "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==", |
| 12217 | - "dev": true, | ||
| 12218 | "requires": { | 12387 | "requires": { |
| 12219 | "psl": "^1.1.24", | 12388 | "psl": "^1.1.24", |
| 12220 | "punycode": "^1.4.1" | 12389 | "punycode": "^1.4.1" |
| @@ -12223,11 +12392,15 @@ | @@ -12223,11 +12392,15 @@ | ||
| 12223 | "punycode": { | 12392 | "punycode": { |
| 12224 | "version": "1.4.1", | 12393 | "version": "1.4.1", |
| 12225 | "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", | 12394 | "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", |
| 12226 | - "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", | ||
| 12227 | - "dev": true | 12395 | + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=" |
| 12228 | } | 12396 | } |
| 12229 | } | 12397 | } |
| 12230 | }, | 12398 | }, |
| 12399 | + "tr46": { | ||
| 12400 | + "version": "0.0.3", | ||
| 12401 | + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", | ||
| 12402 | + "integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=" | ||
| 12403 | + }, | ||
| 12231 | "trim-newlines": { | 12404 | "trim-newlines": { |
| 12232 | "version": "1.0.0", | 12405 | "version": "1.0.0", |
| 12233 | "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", | 12406 | "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", |
| @@ -12270,7 +12443,6 @@ | @@ -12270,7 +12443,6 @@ | ||
| 12270 | "version": "0.6.0", | 12443 | "version": "0.6.0", |
| 12271 | "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", | 12444 | "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", |
| 12272 | "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", | 12445 | "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", |
| 12273 | - "dev": true, | ||
| 12274 | "requires": { | 12446 | "requires": { |
| 12275 | "safe-buffer": "^5.0.1" | 12447 | "safe-buffer": "^5.0.1" |
| 12276 | } | 12448 | } |
| @@ -12278,8 +12450,7 @@ | @@ -12278,8 +12450,7 @@ | ||
| 12278 | "tweetnacl": { | 12450 | "tweetnacl": { |
| 12279 | "version": "0.14.5", | 12451 | "version": "0.14.5", |
| 12280 | "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", | 12452 | "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", |
| 12281 | - "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", | ||
| 12282 | - "dev": true | 12453 | + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=" |
| 12283 | }, | 12454 | }, |
| 12284 | "type-check": { | 12455 | "type-check": { |
| 12285 | "version": "0.3.2", | 12456 | "version": "0.3.2", |
| @@ -12578,8 +12749,7 @@ | @@ -12578,8 +12749,7 @@ | ||
| 12578 | "uuid": { | 12749 | "uuid": { |
| 12579 | "version": "3.3.2", | 12750 | "version": "3.3.2", |
| 12580 | "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", | 12751 | "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", |
| 12581 | - "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==", | ||
| 12582 | - "dev": true | 12752 | + "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==" |
| 12583 | }, | 12753 | }, |
| 12584 | "validate-npm-package-license": { | 12754 | "validate-npm-package-license": { |
| 12585 | "version": "3.0.4", | 12755 | "version": "3.0.4", |
| @@ -12607,7 +12777,6 @@ | @@ -12607,7 +12777,6 @@ | ||
| 12607 | "version": "1.10.0", | 12777 | "version": "1.10.0", |
| 12608 | "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", | 12778 | "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", |
| 12609 | "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", | 12779 | "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", |
| 12610 | - "dev": true, | ||
| 12611 | "requires": { | 12780 | "requires": { |
| 12612 | "assert-plus": "^1.0.0", | 12781 | "assert-plus": "^1.0.0", |
| 12613 | "core-util-is": "1.0.2", | 12782 | "core-util-is": "1.0.2", |
| @@ -12625,6 +12794,11 @@ | @@ -12625,6 +12794,11 @@ | ||
| 12625 | "resolved": "https://registry.npmjs.org/vue/-/vue-2.6.10.tgz", | 12794 | "resolved": "https://registry.npmjs.org/vue/-/vue-2.6.10.tgz", |
| 12626 | "integrity": "sha512-ImThpeNU9HbdZL3utgMCq0oiMzAkt1mcgy3/E6zWC/G6AaQoeuFdsl9nDhTDU3X1R6FK7nsIUuRACVcjI+A2GQ==" | 12795 | "integrity": "sha512-ImThpeNU9HbdZL3utgMCq0oiMzAkt1mcgy3/E6zWC/G6AaQoeuFdsl9nDhTDU3X1R6FK7nsIUuRACVcjI+A2GQ==" |
| 12627 | }, | 12796 | }, |
| 12797 | + "vue-count-to": { | ||
| 12798 | + "version": "1.0.13", | ||
| 12799 | + "resolved": "https://registry.npmjs.org/vue-count-to/-/vue-count-to-1.0.13.tgz", | ||
| 12800 | + "integrity": "sha512-6R4OVBVNtQTlcbXu6SJ8ENR35M2/CdWt3Jmv57jOUM+1ojiFmjVGvZPH8DfHpMDSA+ITs+EW5V6qthADxeyYOQ==" | ||
| 12801 | + }, | ||
| 12628 | "vue-hot-reload-api": { | 12802 | "vue-hot-reload-api": { |
| 12629 | "version": "2.3.3", | 12803 | "version": "2.3.3", |
| 12630 | "resolved": "https://registry.npmjs.org/vue-hot-reload-api/-/vue-hot-reload-api-2.3.3.tgz", | 12804 | "resolved": "https://registry.npmjs.org/vue-hot-reload-api/-/vue-hot-reload-api-2.3.3.tgz", |
| @@ -12780,6 +12954,11 @@ | @@ -12780,6 +12954,11 @@ | ||
| 12780 | "neo-async": "^2.5.0" | 12954 | "neo-async": "^2.5.0" |
| 12781 | } | 12955 | } |
| 12782 | }, | 12956 | }, |
| 12957 | + "webidl-conversions": { | ||
| 12958 | + "version": "3.0.1", | ||
| 12959 | + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", | ||
| 12960 | + "integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=" | ||
| 12961 | + }, | ||
| 12783 | "webpack": { | 12962 | "webpack": { |
| 12784 | "version": "2.7.0", | 12963 | "version": "2.7.0", |
| 12785 | "resolved": "https://registry.npmjs.org/webpack/-/webpack-2.7.0.tgz", | 12964 | "resolved": "https://registry.npmjs.org/webpack/-/webpack-2.7.0.tgz", |
| @@ -13103,6 +13282,15 @@ | @@ -13103,6 +13282,15 @@ | ||
| 13103 | } | 13282 | } |
| 13104 | } | 13283 | } |
| 13105 | }, | 13284 | }, |
| 13285 | + "whatwg-url": { | ||
| 13286 | + "version": "2.0.1", | ||
| 13287 | + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-2.0.1.tgz", | ||
| 13288 | + "integrity": "sha1-U5ayBD8CDub3BNnEXqhRnnJN5lk=", | ||
| 13289 | + "requires": { | ||
| 13290 | + "tr46": "~0.0.3", | ||
| 13291 | + "webidl-conversions": "^3.0.0" | ||
| 13292 | + } | ||
| 13293 | + }, | ||
| 13106 | "whet.extend": { | 13294 | "whet.extend": { |
| 13107 | "version": "0.9.9", | 13295 | "version": "0.9.9", |
| 13108 | "resolved": "https://registry.npmjs.org/whet.extend/-/whet.extend-0.9.9.tgz", | 13296 | "resolved": "https://registry.npmjs.org/whet.extend/-/whet.extend-0.9.9.tgz", |
| @@ -13156,6 +13344,11 @@ | @@ -13156,6 +13344,11 @@ | ||
| 13156 | "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=", | 13344 | "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=", |
| 13157 | "dev": true | 13345 | "dev": true |
| 13158 | }, | 13346 | }, |
| 13347 | + "wmf": { | ||
| 13348 | + "version": "1.0.2", | ||
| 13349 | + "resolved": "https://registry.npmjs.org/wmf/-/wmf-1.0.2.tgz", | ||
| 13350 | + "integrity": "sha512-/p9K7bEh0Dj6WbXg4JG0xvLQmIadrner1bi45VMJTfnbVHsc7yIajZyoSoK60/dtVBs12Fm6WkUI5/3WAVsNMw==" | ||
| 13351 | + }, | ||
| 13159 | "wordwrap": { | 13352 | "wordwrap": { |
| 13160 | "version": "1.0.0", | 13353 | "version": "1.0.0", |
| 13161 | "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", | 13354 | "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", |
| @@ -13231,19 +13424,30 @@ | @@ -13231,19 +13424,30 @@ | ||
| 13231 | } | 13424 | } |
| 13232 | }, | 13425 | }, |
| 13233 | "xlsx": { | 13426 | "xlsx": { |
| 13234 | - "version": "0.15.1", | ||
| 13235 | - "resolved": "https://registry.npmjs.org/xlsx/-/xlsx-0.15.1.tgz", | ||
| 13236 | - "integrity": "sha512-z+o4+QPMc32EPboLCzJAz94o0Zyy+8jrmWTsVpfzwknFln9qDO6/HN1KrGGVC4//sGA7dh4R3HA4fhbGIKCDOA==", | 13427 | + "version": "0.15.6", |
| 13428 | + "resolved": "https://registry.npmjs.org/xlsx/-/xlsx-0.15.6.tgz", | ||
| 13429 | + "integrity": "sha512-7vD9eutyLs65iDjNFimVN+gk/oDkfkCgpQUjdE82QgzJCrBHC4bGPH7fzKVyy0UPp3gyFVQTQEFJaWaAvZCShQ==", | ||
| 13237 | "requires": { | 13430 | "requires": { |
| 13238 | "adler-32": "~1.2.0", | 13431 | "adler-32": "~1.2.0", |
| 13239 | - "cfb": "^1.1.3", | 13432 | + "cfb": "^1.1.4", |
| 13240 | "codepage": "~1.14.0", | 13433 | "codepage": "~1.14.0", |
| 13241 | "commander": "~2.17.1", | 13434 | "commander": "~2.17.1", |
| 13242 | "crc-32": "~1.2.0", | 13435 | "crc-32": "~1.2.0", |
| 13243 | "exit-on-epipe": "~1.0.1", | 13436 | "exit-on-epipe": "~1.0.1", |
| 13244 | - "ssf": "~0.10.2" | 13437 | + "ssf": "~0.10.3", |
| 13438 | + "wmf": "~1.0.1" | ||
| 13245 | } | 13439 | } |
| 13246 | }, | 13440 | }, |
| 13441 | + "xml-name-validator": { | ||
| 13442 | + "version": "2.0.1", | ||
| 13443 | + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-2.0.1.tgz", | ||
| 13444 | + "integrity": "sha1-TYuPHszTQZqjYgYb7O9RXh5VljU=" | ||
| 13445 | + }, | ||
| 13446 | + "xmldom": { | ||
| 13447 | + "version": "0.1.31", | ||
| 13448 | + "resolved": "https://registry.npmjs.org/xmldom/-/xmldom-0.1.31.tgz", | ||
| 13449 | + "integrity": "sha512-yS2uJflVQs6n+CyjHoaBmVSqIDevTAWrzMmjG1Gc7h1qQ7uVozNhEPJAwZXWyGQ/Gafo3fCwrcaokezLPupVyQ==" | ||
| 13450 | + }, | ||
| 13247 | "xtend": { | 13451 | "xtend": { |
| 13248 | "version": "4.0.2", | 13452 | "version": "4.0.2", |
| 13249 | "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", | 13453 | "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", |
| @@ -16,19 +16,22 @@ | @@ -16,19 +16,22 @@ | ||
| 16 | "eslint": "^5.14.1", | 16 | "eslint": "^5.14.1", |
| 17 | "file-saver": "^2.0.2", | 17 | "file-saver": "^2.0.2", |
| 18 | "font-awesome": "^4.7.0", | 18 | "font-awesome": "^4.7.0", |
| 19 | + "html2canvas": "^1.0.0-rc.5", | ||
| 19 | "install": "^0.12.2", | 20 | "install": "^0.12.2", |
| 20 | "js-cookie": "^2.2.1", | 21 | "js-cookie": "^2.2.1", |
| 22 | + "jspdf": "^1.5.3", | ||
| 21 | "jszip": "^3.2.2", | 23 | "jszip": "^3.2.2", |
| 22 | "moment": "^2.24.0", | 24 | "moment": "^2.24.0", |
| 23 | "npm": "^6.8.0", | 25 | "npm": "^6.8.0", |
| 24 | "nprogress": "^0.2.0", | 26 | "nprogress": "^0.2.0", |
| 25 | "script-loader": "^0.7.2", | 27 | "script-loader": "^0.7.2", |
| 26 | "vue": "^2.2.2", | 28 | "vue": "^2.2.2", |
| 29 | + "vue-count-to": "^1.0.13", | ||
| 27 | "vue-i18n": "^8.14.0", | 30 | "vue-i18n": "^8.14.0", |
| 28 | "vue-quill-editor": "^3.0.6", | 31 | "vue-quill-editor": "^3.0.6", |
| 29 | "vue-router": "^2.3.0", | 32 | "vue-router": "^2.3.0", |
| 30 | "vuex": "^2.0.0-rc.6", | 33 | "vuex": "^2.0.0-rc.6", |
| 31 | - "xlsx": "^0.15.1" | 34 | + "xlsx": "^0.15.6" |
| 32 | }, | 35 | }, |
| 33 | "devDependencies": { | 36 | "devDependencies": { |
| 34 | "autoprefixer": "^6.7.2", | 37 | "autoprefixer": "^6.7.2", |
src/api/Allocat.js
0 → 100644
| 1 | +import http from './http.js' | ||
| 2 | +let baseUrl = 'nmms-server-import/nmms/allocat' | ||
| 3 | + | ||
| 4 | + | ||
| 5 | +export const addAllocatImport=params=>{return http.post(`${baseUrl}/addAllocatImport`, params);}; | ||
| 6 | +export const addAllocatArrive=params=>{return http.post(`${baseUrl}/addAllocatArrive`, params);}; | ||
| 7 | +export const QueryData=params=>{return http.get(`${baseUrl}/QueryData`, params);}; | ||
| 8 | +export const ediAllocat=params=>{return http.put(`${baseUrl}/ediAllocat`, params);}; | ||
| 9 | + | ||
| 10 | +export const sendCreateMt6202=params=>{return http.post(`${baseUrl}/sendCreateMt6202`, params);}; | ||
| 11 | +export const sendRemoveMt6202=params=>{return http.post(`${baseUrl}/sendRemoveMt6202`, params);}; | ||
| 12 | +export const sendCreateMt3202=params=>{return http.post(`${baseUrl}/sendCreateMt3202`, params);}; | ||
| 13 | +export const sendRemoveMt3202=params=>{return http.post(`${baseUrl}/sendRemoveMt3202`, params);}; |
src/api/InResponse.js
0 → 100644
| 1 | +import http from './http.js' | ||
| 2 | + | ||
| 3 | +let baseUrl = 'nmms-server-import/nmms/rep' | ||
| 4 | +//添加回执明细 | ||
| 5 | +export const addResponse=params=>{return http.post(`${baseUrl}/InsertResponse`, params);}; | ||
| 6 | +//查询回执明细列表 | ||
| 7 | +export const selectResponseList=params=>{return http.post(`${baseUrl}/selectResponseList`, params);}; |
| @@ -5,13 +5,13 @@ import qs from 'qs' | @@ -5,13 +5,13 @@ import qs from 'qs' | ||
| 5 | Vue.prototype.$http = axios; | 5 | Vue.prototype.$http = axios; |
| 6 | 6 | ||
| 7 | 7 | ||
| 8 | -export const getuserMenus = params => { return axios.get(`/perm/userMenus`, { params: params }); }; | 8 | +export const getuserMenus = params => { return axios.get(`USER-CENTER/perm/userMenus`, { params: params }); }; |
| 9 | 9 | ||
| 10 | -export const getUserList = params => { return axios.get(`/hqpt-user-center/user/list`, { params: params }); }; | 10 | +export const getUserList = params => { return axios.get(`/cloud-user-center/user/list`, { params: params }); }; |
| 11 | 11 | ||
| 12 | export const getUserListPage = params => { return axios({ | 12 | export const getUserListPage = params => { return axios({ |
| 13 | method: 'GET', | 13 | method: 'GET', |
| 14 | - url: `/user/list`, | 14 | + url: `/cloud-user-center/user/list`, |
| 15 | data: params, | 15 | data: params, |
| 16 | headers: { | 16 | headers: { |
| 17 | 'Content-Type': 'application/json;charset=UTF-8' | 17 | 'Content-Type': 'application/json;charset=UTF-8' |
| @@ -21,18 +21,18 @@ export const getUserListPage = params => { return axios({ | @@ -21,18 +21,18 @@ export const getUserListPage = params => { return axios({ | ||
| 21 | 21 | ||
| 22 | export const removeUser = params => { return axios({ | 22 | export const removeUser = params => { return axios({ |
| 23 | method: 'DELETE', | 23 | method: 'DELETE', |
| 24 | - url: `/user/del`, | 24 | + url: `/cloud-user-center/user/del`, |
| 25 | data: params, | 25 | data: params, |
| 26 | headers: { | 26 | headers: { |
| 27 | 'Content-Type': 'application/json;charset=UTF-8' | 27 | 'Content-Type': 'application/json;charset=UTF-8' |
| 28 | } | 28 | } |
| 29 | })}; | 29 | })}; |
| 30 | 30 | ||
| 31 | -export const batchRemoveUser = params => { return axios.get(`/user/batchremove`, { params: params }); }; | 31 | +export const batchRemoveUser = params => { return axios.get(`USER-CENTER/user/batchremove`, { params: params }); }; |
| 32 | 32 | ||
| 33 | export const editUser = params => { return axios({ | 33 | export const editUser = params => { return axios({ |
| 34 | method: 'PUT', | 34 | method: 'PUT', |
| 35 | - url: `/user/edit`, | 35 | + url: `/cloud-user-center/user/edit`, |
| 36 | data: params, | 36 | data: params, |
| 37 | headers: { | 37 | headers: { |
| 38 | 'Content-Type': 'application/json;charset=UTF-8' | 38 | 'Content-Type': 'application/json;charset=UTF-8' |
| @@ -41,7 +41,7 @@ export const editUser = params => { return axios({ | @@ -41,7 +41,7 @@ export const editUser = params => { return axios({ | ||
| 41 | 41 | ||
| 42 | export const addUser = params => { return axios({ | 42 | export const addUser = params => { return axios({ |
| 43 | method: 'POST', | 43 | method: 'POST', |
| 44 | - url: `/user/add`, | 44 | + url: `/cloud-user-center/user/add`, |
| 45 | data: params, | 45 | data: params, |
| 46 | headers: { | 46 | headers: { |
| 47 | 'Content-Type': 'application/json;charset=UTF-8' | 47 | 'Content-Type': 'application/json;charset=UTF-8' |
| @@ -50,9 +50,9 @@ export const addUser = params => { return axios({ | @@ -50,9 +50,9 @@ export const addUser = params => { return axios({ | ||
| 50 | 50 | ||
| 51 | export const setUserRole = params => { return axios({ | 51 | export const setUserRole = params => { return axios({ |
| 52 | method: 'PUT', | 52 | method: 'PUT', |
| 53 | - url: `/user/roleset`, | 53 | + url: `/cloud-user-center/user/roleset`, |
| 54 | data: params, | 54 | data: params, |
| 55 | headers: { | 55 | headers: { |
| 56 | 'Content-Type': 'application/json;charset=UTF-8' | 56 | 'Content-Type': 'application/json;charset=UTF-8' |
| 57 | } | 57 | } |
| 58 | -})}; | ||
| 58 | +})}; |
| 1 | import axios from 'axios' | 1 | import axios from 'axios' |
| 2 | 2 | ||
| 3 | -let base = '/hqpt-user-center/company'; | 3 | +let base = '/cloud-user-center/company'; |
| 4 | 4 | ||
| 5 | 5 | ||
| 6 | export const getList = params => { return axios.get(`${base}/list`, { params: params }); }; | 6 | export const getList = params => { return axios.get(`${base}/list`, { params: params }); }; |
src/api/country.js
0 → 100644
| 1 | +import http from './http.js' | ||
| 2 | +let baseUrl = 'nmms-server-export/nmms/country' | ||
| 3 | + | ||
| 4 | + | ||
| 5 | +export const getCountry = params => { return http.get(`${baseUrl}/getCountryCode`, params); }; | ||
| 6 | + | ||
| 7 | +export const getByCountryCodeForName = params => { return http.post(`${baseUrl}/getByCountryCodeForName`,params)}; | ||
| 8 | + | ||
| 9 | +export const getByCountryCode = params => { return http.post(`${baseUrl}/getByCountryCode`,params)}; | ||
| 10 | + | ||
| 11 | +export const getAirportCode = params =>{return http.get(`/nmms-server-import/nmms/mt1201/selectList`,params)} | ||
| 12 | + | ||
| 13 | +export const getCustomCode = params =>{return http.get(`/nmms-server-import/nmms/mt1201/selectCustomcode`,params)} |
| 1 | import axios from 'axios' | 1 | import axios from 'axios' |
| 2 | 2 | ||
| 3 | -let base = '/hqpt-user-center/department'; | 3 | +let base = '/cloud-user-center/department'; |
| 4 | 4 | ||
| 5 | 5 | ||
| 6 | export const getList = params => { return axios.get(`${base}/list`, { params: params }); }; | 6 | export const getList = params => { return axios.get(`${base}/list`, { params: params }); }; |
src/api/el-ext/eltree.js
0 → 100644
| 1 | + |
src/api/exitArrive.js
0 → 100644
| 1 | +import http from './http.js' | ||
| 2 | + | ||
| 3 | +let baseUrl = 'nmms-server-export/nmms/mt3201' | ||
| 4 | + | ||
| 5 | +export const getMt3201ListForParam = params => { | ||
| 6 | + return http.get(`${baseUrl}/getMt3201ListForParam`, params); | ||
| 7 | +}; | ||
| 8 | +export const deleteByIsDelete = params => { return http.del(`${baseUrl}/deleteByIsDelete`,params)}; | ||
| 9 | + | ||
| 10 | +export const updateStatus = params => { return http.put(`${baseUrl}/updateStatus`, params)}; | ||
| 11 | + | ||
| 12 | +export const updateMT3201 = params => { return http.put(`${baseUrl}/updateMt3201`,params)}; | ||
| 13 | + | ||
| 14 | +export const addMt3201 = params => { return http.post(`${baseUrl}/addMt3201`,params)}; | ||
| 15 | + | ||
| 16 | +export const sendCreateMt3201 = params => { return http.post(`${baseUrl}/sendCreateMt3201`,params)}; | ||
| 17 | + | ||
| 18 | +export const sendRemoveMt3201 = params => { return http.post(`${baseUrl}/sendRemoveMt3201`,params)}; |
src/api/exitFlight.js
0 → 100644
src/api/exitLoading.js
0 → 100644
| 1 | +import http from './http.js' | ||
| 2 | + | ||
| 3 | +let baseUrl = 'nmms-server-export/nmms/mt4201' | ||
| 4 | + | ||
| 5 | +export const getMt4201ListForParam = params => { | ||
| 6 | + return http.get(`${baseUrl}/getMt4201ListForParam`, params); | ||
| 7 | +}; | ||
| 8 | +export const deleteByIsDelete = params => { return http.del(`${baseUrl}/deleteByIsDelete`,params)}; | ||
| 9 | + | ||
| 10 | +export const updateStatus = params => { return http.put(`${baseUrl}/updateStatus`, params)}; | ||
| 11 | + | ||
| 12 | +export const updateMT4201 = params => { return http.put(`${baseUrl}/updateMt4201`,params)}; | ||
| 13 | + | ||
| 14 | +export const addMt4201 = params => { return http.post(`${baseUrl}/addMt4201`,params)}; | ||
| 15 | + | ||
| 16 | + | ||
| 17 | +export const sendCreateMt4201 = params => { return http.post(`${baseUrl}/sendCreateMt4201`,params)}; | ||
| 18 | + | ||
| 19 | +export const sendDeleteMt4201 = params => { return http.post(`${baseUrl}/sendDeleteMt4201`,params)}; | ||
| 20 | + | ||
| 21 | + | ||
| 22 | + |
src/api/exitManifest.js
0 → 100644
src/api/exitPre.js
0 → 100644
| 1 | +import http from './http.js' | ||
| 2 | + | ||
| 3 | +let baseUrl = 'nmms-server-export/nmms/mt2201' | ||
| 4 | + | ||
| 5 | +export const getMt2201ListForParam = params => { return http.get(`${baseUrl}/getMt2201ListForParam`, params)}; | ||
| 6 | + | ||
| 7 | +export const deleteByIsDelete = params => { return http.del(`${baseUrl}/deleteByIsDelete`,params)}; | ||
| 8 | + | ||
| 9 | +export const updateStatus = params => { return http.put(`${baseUrl}/updateStatus`, params) }; | ||
| 10 | + | ||
| 11 | +export const updateMT2201 = params => { return http.put(`${baseUrl}/updateMt2201`,params)}; | ||
| 12 | + | ||
| 13 | +export const addMt2201 = params => { return http.post(`${baseUrl}/addMt2201`,params)}; | ||
| 14 | + | ||
| 15 | +export const getLostLoadChange = params => { return http.get(`${baseUrl}/getLostLoadChange`, params)}; | ||
| 16 | + | ||
| 17 | +export const saveLostChange = params => { return http.get(`${baseUrl}/saveLostChange`, params)}; | ||
| 18 | + | ||
| 19 | +export const saveLostLoad = params => { return http.put(`${baseUrl}/saveLostLoad`,params)}; | ||
| 20 | + | ||
| 21 | +export const sendDeleteMt2201 = params =>{return http.post(`${baseUrl}/sendDeleteMt2201`,params)} | ||
| 22 | + | ||
| 23 | +export const sendUpdateMt2201 = params =>{return http.post(`${baseUrl}/sendUpdateMt2201`,params)} | ||
| 24 | + | ||
| 25 | +export const sendCreateMt2201 = params =>{return http.post(`${baseUrl}/sendCreateMt2201`,params)} | ||
| 26 | + | ||
| 27 | +export const uploadFileExcel = params =>{return http.post(`${baseUrl}/uploadFileExcel`,params)} | ||
| 28 | + | ||
| 29 | + |
src/api/exitTidy.js
0 → 100644
| 1 | +import http from './http.js' | ||
| 2 | + | ||
| 3 | +let baseUrl = 'nmms-server-export/nmms/mt520x' | ||
| 4 | + | ||
| 5 | +export const getMt520XListForParam = params => { | ||
| 6 | + return http.get(`${baseUrl}/getMt520xListForParam`, params); | ||
| 7 | +}; | ||
| 8 | +export const deleteByIsDelete = params => { return http.del(`${baseUrl}/deleteByIsDelete`,params)}; | ||
| 9 | + | ||
| 10 | +export const updateStatus = params => { return http.put(`${baseUrl}/updateStatus`, params)}; | ||
| 11 | + | ||
| 12 | +export const updateMt520X = params => { return http.put(`${baseUrl}/updateMt520x`,params)}; | ||
| 13 | + | ||
| 14 | +export const addMt520X = params => { return http.post(`${baseUrl}/addMt520x`,params)}; | ||
| 15 | + | ||
| 16 | +export const sendCreateMt5202 = params => { return http.post(`${baseUrl}/sendCreateMt5202`,params)}; | ||
| 17 | + | ||
| 18 | +export const sendRemoveMt5202 = params => { return http.post(`${baseUrl}/sendRemoveMt5202`,params)}; |
| 1 | import axios from 'axios' | 1 | import axios from 'axios' |
| 2 | 2 | ||
| 3 | -let base = '/hqpt-user-center/group'; | 3 | +let base = '/cloud-user-center/group'; |
| 4 | 4 | ||
| 5 | 5 | ||
| 6 | export const getList = params => { return axios.get(`${base}/list`, { params: params }); }; | 6 | export const getList = params => { return axios.get(`${base}/list`, { params: params }); }; |
src/api/htmlToPdf.js
0 → 100644
| 1 | +//不使用JQuery版的 | ||
| 2 | + | ||
| 3 | +import html2canvas from 'html2canvas'; | ||
| 4 | +import JsPDF from 'jspdf'; | ||
| 5 | + | ||
| 6 | +/** | ||
| 7 | + * @param ele 要生成 pdf 的DOM元素(容器) | ||
| 8 | + * @param padfName PDF文件生成后的文件名字 | ||
| 9 | + * */ | ||
| 10 | + | ||
| 11 | +function downloadPDF(ele, pdfName){ | ||
| 12 | + | ||
| 13 | + let eleW = ele.offsetWidth;// 获得该容器的宽 | ||
| 14 | + let eleH = ele.offsetHeight;// 获得该容器的高 | ||
| 15 | + | ||
| 16 | + | ||
| 17 | + let eleOffsetTop = ele.offsetTop; // 获得该容器到文档顶部的距离 | ||
| 18 | + let eleOffsetLeft = ele.offsetLeft; // 获得该容器到文档最左的距离 | ||
| 19 | + | ||
| 20 | + var canvas = document.createElement("canvas"); | ||
| 21 | + var abs = 0; | ||
| 22 | + | ||
| 23 | + let win_in = document.documentElement.clientWidth || document.body.clientWidth; // 获得当前可视窗口的宽度(不包含滚动条) | ||
| 24 | + let win_out = window.innerWidth; // 获得当前窗口的宽度(包含滚动条) | ||
| 25 | + | ||
| 26 | + if(win_out>win_in){ | ||
| 27 | + // abs = (win_o - win_i)/2; // 获得滚动条长度的一半 | ||
| 28 | + abs = (win_out - win_in)/2; // 获得滚动条宽度的一半 | ||
| 29 | + // console.log(a, '新abs'); | ||
| 30 | + } | ||
| 31 | + | ||
| 32 | + canvas.width = eleW * 2; // 将画布宽&&高放大两倍 | ||
| 33 | + canvas.height = eleH * 2; | ||
| 34 | + | ||
| 35 | + | ||
| 36 | + | ||
| 37 | + | ||
| 38 | + var context = canvas.getContext("2d"); | ||
| 39 | + | ||
| 40 | + context.scale(2, 2); | ||
| 41 | + | ||
| 42 | + context.translate(-eleOffsetLeft -abs, -eleOffsetTop); | ||
| 43 | + // 这里默认横向没有滚动条的情况,因为offset.left(),有无滚动条的时候存在差值,因此 | ||
| 44 | + // translate的时候,要把这个差值去掉 | ||
| 45 | + | ||
| 46 | + // html2canvas(element).then( (canvas)=>{ //报错 | ||
| 47 | + // html2canvas(element[0]).then( (canvas)=>{ | ||
| 48 | + html2canvas( ele, { | ||
| 49 | + dpi: 300, | ||
| 50 | + // allowTaint: true, //允许 canvas 污染, allowTaint参数要去掉,否则是无法通过toDataURL导出canvas数据的 | ||
| 51 | + useCORS:true //允许canvas画布内 可以跨域请求外部链接图片, 允许跨域请求。 | ||
| 52 | + } ).then( (canvas)=>{ | ||
| 53 | + | ||
| 54 | + var contentWidth = canvas.width; | ||
| 55 | + var contentHeight = canvas.height; | ||
| 56 | + //一页pdf显示html页面生成的canvas高度; | ||
| 57 | + var pageHeight = contentWidth / 592.28 * 841.89; | ||
| 58 | + //未生成pdf的html页面高度 | ||
| 59 | + var leftHeight = contentHeight; | ||
| 60 | + //页面偏移 | ||
| 61 | + var position = 0; | ||
| 62 | + //a4纸的尺寸[595.28,841.89],html页面生成的canvas在pdf中图片的宽高 | ||
| 63 | + var imgWidth = 595.28; | ||
| 64 | + var imgHeight = 595.28/contentWidth * contentHeight; | ||
| 65 | + | ||
| 66 | + var pageData = canvas.toDataURL('image/jpeg', 1.0); | ||
| 67 | + | ||
| 68 | + | ||
| 69 | + | ||
| 70 | + var pdf = new JsPDF('', 'pt', 'a4'); | ||
| 71 | + | ||
| 72 | + //有两个高度需要区分,一个是html页面的实际高度,和生成pdf的页面高度(841.89) | ||
| 73 | + //当内容未超过pdf一页显示的范围,无需分页 | ||
| 74 | + if (leftHeight < pageHeight) { | ||
| 75 | + //在pdf.addImage(pageData, 'JPEG', 左,上,宽度,高度)设置在pdf中显示; | ||
| 76 | + pdf.addImage(pageData, 'JPEG', 0, 0, imgWidth, imgHeight); | ||
| 77 | + // pdf.addImage(pageData, 'JPEG', 20, 40, imgWidth, imgHeight); | ||
| 78 | + } else { // 分页 | ||
| 79 | + while(leftHeight > 0) { | ||
| 80 | + pdf.addImage(pageData, 'JPEG', 0, position, imgWidth, imgHeight); | ||
| 81 | + leftHeight -= pageHeight; | ||
| 82 | + position -= 841.89; | ||
| 83 | + //避免添加空白页 | ||
| 84 | + if(leftHeight > 0) { | ||
| 85 | + pdf.addPage(); | ||
| 86 | + } | ||
| 87 | + } | ||
| 88 | + } | ||
| 89 | + | ||
| 90 | + //可动态生成 | ||
| 91 | + pdf.save(pdfName); | ||
| 92 | + }) | ||
| 93 | + | ||
| 94 | + | ||
| 95 | +} | ||
| 96 | + | ||
| 97 | + | ||
| 98 | +export default { | ||
| 99 | + downloadPDF | ||
| 100 | +} |
src/api/http.js
100755 → 100644
| @@ -17,7 +17,7 @@ export default { | @@ -17,7 +17,7 @@ export default { | ||
| 17 | return axios({ | 17 | return axios({ |
| 18 | method: 'GET', | 18 | method: 'GET', |
| 19 | url: url, | 19 | url: url, |
| 20 | - params: params, | 20 | + params: params, |
| 21 | headers: { | 21 | headers: { |
| 22 | 'Content-Type': 'application/x-www-form-urlencoded' | 22 | 'Content-Type': 'application/x-www-form-urlencoded' |
| 23 | } | 23 | } |
| @@ -46,7 +46,7 @@ export default { | @@ -46,7 +46,7 @@ export default { | ||
| 46 | login: data =>{ | 46 | login: data =>{ |
| 47 | return axios({ | 47 | return axios({ |
| 48 | method: 'POST', // 请求协议 | 48 | method: 'POST', // 请求协议 |
| 49 | - url: 'hqpt-user-center/login', // 请求的地址 | 49 | + url: 'cloud-user-center/login', // 请求的地址 |
| 50 | data: qs.stringify(data), // post 请求的数据 | 50 | data: qs.stringify(data), // post 请求的数据 |
| 51 | timeout: 30000, // 超时时间, 单位毫秒 | 51 | timeout: 30000, // 超时时间, 单位毫秒 |
| 52 | headers: { | 52 | headers: { |
| @@ -67,4 +67,4 @@ export default { | @@ -67,4 +67,4 @@ export default { | ||
| 67 | // headers: {}, | 67 | // headers: {}, |
| 68 | // // axios 的配置 | 68 | // // axios 的配置 |
| 69 | // config: {} | 69 | // config: {} |
| 70 | -// } | ||
| 70 | +// } |
src/api/log_api.js
100755 → 100644
| 1 | import axios from 'axios' | 1 | import axios from 'axios' |
| 2 | 2 | ||
| 3 | -let base = '/hqpt-user-center/system/log'; | 3 | +let base = '/cloud-user-center/system/log'; |
| 4 | 4 | ||
| 5 | 5 | ||
| 6 | export const getList = params => { return axios.get(`${base}/list`, { params: params }); }; | 6 | export const getList = params => { return axios.get(`${base}/list`, { params: params }); }; |
src/api/mt1201.js
0 → 100644
| 1 | +import http from './http.js' | ||
| 2 | +let baseUrl = 'nmms-server-import/nmms/mt1201' | ||
| 3 | + | ||
| 4 | +export const selectFlightLists = params => { return http.get(`${baseUrl}/selectFlightLists`, params); }; | ||
| 5 | +export const getMt1201List=params=>{return http.get(`${baseUrl}/getMt1201List`, params);}; | ||
| 6 | +export const getFenList=params=>{return http.get(`${baseUrl}/getFenList`, params);}; | ||
| 7 | +export const addMt1201=params=>{return http.post(`${baseUrl}/addMt1201`, params);}; | ||
| 8 | +export const ediMt1201=params=>{return http.put(`${baseUrl}/ediMt1201`, params);}; | ||
| 9 | +export const selectAirport=params=>{return http.get(`${baseUrl}/selectList`, params);}; | ||
| 10 | +export const getCountryCode=params=>{return http.get(`${baseUrl}/getCountryCode`, params);}; | ||
| 11 | +export const selectCustomcode=params=>{return http.get(`${baseUrl}/selectCustomcode`, params);}; | ||
| 12 | + | ||
| 13 | +export const sendCreateMt1201=params=>{return http.post(`${baseUrl}/sendCreateMt1201`, params);}; | ||
| 14 | +export const sendEditeMt1201=params=>{return http.post(`${baseUrl}/sendEditeMt1201`, params);}; | ||
| 15 | +export const sendRemoveMt1201=params=>{return http.post(`${baseUrl}/sendRemoveMt1201`, params);}; |
src/api/mt5201.js
0 → 100644
| 1 | +import http from './http.js' | ||
| 2 | +let baseUrl = 'nmms-server-import/nmms/mt5201' | ||
| 3 | +let baseUrl2='nmms-server-import/nmms/mt1201' | ||
| 4 | + | ||
| 5 | +export const getMt5201List=params=>{return http.get(`${baseUrl}/getMt5201List`, params);}; | ||
| 6 | +export const addMt5201=params=>{return http.post(`${baseUrl}/addMt5201`, params);}; | ||
| 7 | +export const ediMt5201=params=>{return http.put(`${baseUrl}/ediMt5201`, params);}; | ||
| 8 | +export const delMt5201 = params => { return http.del(`${baseUrl}/delMt5201`,params)}; | ||
| 9 | + | ||
| 10 | +export const sendCreateMt520x=params=>{return http.post(`${baseUrl}/sendCreateMt520x`, params);}; | ||
| 11 | +export const sendRemoveMt520x=params=>{return http.post(`${baseUrl}/sendRemoveMt520x`, params);}; | ||
| 12 | +export const selectCustomcode=params=>{return http.get(`${baseUrl2}/selectCustomcode`, params);}; | ||
| 13 | + | ||
| 14 | + |
src/api/orgManifest.js
0 → 100644
| 1 | +import http from './http.js' | ||
| 2 | +let baseUrl = 'nmms-server-export/nmms/mt1201' | ||
| 3 | + | ||
| 4 | +export const getMt1201ListForParam = params => { return http.get(`${baseUrl}/getMt1201ListForParam`, params); }; | ||
| 5 | + | ||
| 6 | +export const deleteByIsDelete = params => { return http.del(`${baseUrl}/deleteByIsDelete`,params)}; | ||
| 7 | + | ||
| 8 | +export const updateStatus = params => { return http.put(`${baseUrl}/updateStatus`, { params: params }); }; | ||
| 9 | + | ||
| 10 | +export const updateMT1201 = params => { return http.put(`${baseUrl}/updateMT1201`,params)}; | ||
| 11 | + | ||
| 12 | +export const addMt1201 = params => { return http.post(`${baseUrl}/addMt1201`,params)}; | ||
| 13 | + | ||
| 14 | + |
| 1 | import axios from 'axios' | 1 | import axios from 'axios' |
| 2 | 2 | ||
| 3 | -let base = '/hqpt-user-center/perm'; | 3 | +let base = '/cloud-user-center/perm'; |
| 4 | 4 | ||
| 5 | 5 | ||
| 6 | export const getList = params => { return axios.get(`${base}/list`, { params: params }); }; | 6 | export const getList = params => { return axios.get(`${base}/list`, { params: params }); }; |
| @@ -34,4 +34,4 @@ export const add = params => { return axios({ | @@ -34,4 +34,4 @@ export const add = params => { return axios({ | ||
| 34 | headers: { | 34 | headers: { |
| 35 | 'Content-Type': 'application/json;charset=UTF-8' | 35 | 'Content-Type': 'application/json;charset=UTF-8' |
| 36 | } | 36 | } |
| 37 | -})}; | ||
| 37 | +})}; |
src/api/remote-search.js
0 → 100644
| 1 | +import request from '@/utils/request' | ||
| 2 | + | ||
| 3 | +export function searchUser(name) { | ||
| 4 | + return request({ | ||
| 5 | + url: '/vue-element-admin/search/user', | ||
| 6 | + method: 'get', | ||
| 7 | + params: { name } | ||
| 8 | + }) | ||
| 9 | +} | ||
| 10 | + | ||
| 11 | +export function transactionList(query) { | ||
| 12 | + return request({ | ||
| 13 | + url: '/vue-element-admin/transaction/list', | ||
| 14 | + method: 'get', | ||
| 15 | + params: query | ||
| 16 | + }) | ||
| 17 | +} |
src/api/responseDetail.js
0 → 100644
| 1 | import axios from 'axios' | 1 | import axios from 'axios' |
| 2 | 2 | ||
| 3 | -let base = '/hqpt-user-center/role'; | 3 | +let base = '/cloud-user-center/role'; |
| 4 | 4 | ||
| 5 | 5 | ||
| 6 | export const getList = params => { return axios.get(`${base}/list`, { params: params }); }; | 6 | export const getList = params => { return axios.get(`${base}/list`, { params: params }); }; |
| @@ -43,4 +43,4 @@ export const updateRolePerm = params => { return axios({ | @@ -43,4 +43,4 @@ export const updateRolePerm = params => { return axios({ | ||
| 43 | headers: { | 43 | headers: { |
| 44 | 'Content-Type': 'application/json;charset=UTF-8' | 44 | 'Content-Type': 'application/json;charset=UTF-8' |
| 45 | } | 45 | } |
| 46 | -})}; | ||
| 46 | +})}; |
src/api/user.js
100755 → 100644
| 1 | import http from './http.js' | 1 | import http from './http.js' |
| 2 | -let baseUrl = '/hqpt-user-center/user' | ||
| 3 | - | 2 | +let baseUrl = '/cloud-user-center/user' |
| 4 | export const getUserList = params => { return http.get(`${baseUrl}/list`, params); }; | 3 | export const getUserList = params => { return http.get(`${baseUrl}/list`, params); }; |
| 5 | 4 | ||
| 6 | export const getUserListPage = params => { return http.get(`/user/list`,params) }; | 5 | export const getUserListPage = params => { return http.get(`/user/list`,params) }; |
| 7 | 6 | ||
| 8 | -export const removeUser = params => { return http.del(`/user/del`,params)}; | 7 | +export const removeUser = params => { return http.del(`${baseUrl}/del`,params)}; |
| 8 | + | ||
| 9 | +export const batchRemoveUser = params => { return http.del(`${baseUrl}/batchremove`, { params: params }); }; | ||
| 9 | 10 | ||
| 10 | -export const batchRemoveUser = params => { return http.del(`/user/batchremove`, { params: params }); }; | 11 | +export const editPass = params => { return http.put(`${baseUrl}/password`,params)}; |
| 11 | 12 | ||
| 12 | -export const editUser = params => { return http.put(`/user/edit`,params)}; | 13 | +export const editUser = params => { return http.put(`${baseUrl}/edit`,params)}; |
| 13 | 14 | ||
| 14 | -export const addUser = params => { return http.post(`/user/add`,params)}; | 15 | +export const addUser = params => { return http.post(`${baseUrl}/add`,params)}; |
| 15 | 16 | ||
| 16 | -export const setUserRole = params => { return http.put(`/user/roleset`,params)}; | ||
| 17 | +export const setUserRole = params => { return http.put(`${baseUrl}/roleset`,params)}; |
src/api/wayDeclaration.js
0 → 100644
| 1 | var SIGN_REGEXP = /([yMdhsm])(\1*)/g; | 1 | var SIGN_REGEXP = /([yMdhsm])(\1*)/g; |
| 2 | var DEFAULT_PATTERN = 'yyyy-MM-dd'; | 2 | var DEFAULT_PATTERN = 'yyyy-MM-dd'; |
| 3 | +/** | ||
| 4 | + * 根据数组 元素的“值” 来删除或者获取数据 | ||
| 5 | + * 使用方法arrList.splice(arrList.contains('c'),1) | ||
| 6 | + */ | ||
| 7 | +Array.prototype.contains = function(obj) { | ||
| 8 | + var i = this.length; | ||
| 9 | + while (i--) { | ||
| 10 | + if (this[i] === obj) { | ||
| 11 | + return i; // 返回的这个 i 就是元素的索引下标, | ||
| 12 | + } | ||
| 13 | + } | ||
| 14 | + return false; | ||
| 15 | +} | ||
| 3 | 16 | ||
| 4 | function padding(s, len) { | 17 | function padding(s, len) { |
| 5 | - var len = len - (s + '').length; | 18 | + len = len - (s + '').length; |
| 6 | for (var i = 0; i < len; i++) { s = '0' + s; } | 19 | for (var i = 0; i < len; i++) { s = '0' + s; } |
| 7 | return s; | 20 | return s; |
| 8 | -}; | 21 | +} |
| 9 | 22 | ||
| 10 | export default { | 23 | export default { |
| 11 | getQueryStringByName: function (name) { | 24 | getQueryStringByName: function (name) { |
src/components/GithubCorner/index.vue
0 → 100644
| 1 | +<template> | ||
| 2 | +<!-- href="https://github.com/PanJiaChen/vue-element-admin"--> | ||
| 3 | + <a target="_blank" class="github-corner" aria-label="View source on Github"> | ||
| 4 | + <svg | ||
| 5 | + width="80" | ||
| 6 | + height="80" | ||
| 7 | + viewBox="0 0 250 250" | ||
| 8 | + style="fill:#40c9c6; color:#fff;" | ||
| 9 | + aria-hidden="true" | ||
| 10 | + > | ||
| 11 | + <path d="M0,0 L115,115 L130,115 L142,142 L250,250 L250,0 Z" /> | ||
| 12 | + <path | ||
| 13 | + d="M128.3,109.0 C113.8,99.7 119.0,89.6 119.0,89.6 C122.0,82.7 120.5,78.6 120.5,78.6 C119.2,72.0 123.4,76.3 123.4,76.3 C127.3,80.9 125.5,87.3 125.5,87.3 C122.9,97.6 130.6,101.9 134.4,103.2" | ||
| 14 | + fill="currentColor" | ||
| 15 | + style="transform-origin: 130px 106px;" | ||
| 16 | + class="octo-arm" | ||
| 17 | + /> | ||
| 18 | + <path | ||
| 19 | + d="M115.0,115.0 C114.9,115.1 118.7,116.5 119.8,115.4 L133.7,101.6 C136.9,99.2 139.9,98.4 142.2,98.6 C133.8,88.0 127.5,74.4 143.8,58.0 C148.5,53.4 154.0,51.2 159.7,51.0 C160.3,49.4 163.2,43.6 171.4,40.1 C171.4,40.1 176.1,42.5 178.8,56.2 C183.1,58.6 187.2,61.8 190.9,65.4 C194.5,69.0 197.7,73.2 200.1,77.6 C213.8,80.2 216.3,84.9 216.3,84.9 C212.7,93.1 206.9,96.0 205.4,96.6 C205.1,102.4 203.0,107.8 198.3,112.5 C181.9,128.9 168.3,122.5 157.7,114.1 C157.9,116.9 156.7,120.9 152.7,124.9 L141.0,136.5 C139.8,137.7 141.6,141.9 141.8,141.8 Z" | ||
| 20 | + fill="currentColor" | ||
| 21 | + class="octo-body" | ||
| 22 | + /> | ||
| 23 | + </svg> | ||
| 24 | + </a> | ||
| 25 | +</template> | ||
| 26 | + | ||
| 27 | +<style scoped> | ||
| 28 | +.github-corner:hover .octo-arm { | ||
| 29 | + animation: octocat-wave 560ms ease-in-out | ||
| 30 | +} | ||
| 31 | + | ||
| 32 | +@keyframes octocat-wave { | ||
| 33 | + 0%, | ||
| 34 | + 100% { | ||
| 35 | + transform: rotate(0) | ||
| 36 | + } | ||
| 37 | + 20%, | ||
| 38 | + 60% { | ||
| 39 | + transform: rotate(-25deg) | ||
| 40 | + } | ||
| 41 | + 40%, | ||
| 42 | + 80% { | ||
| 43 | + transform: rotate(10deg) | ||
| 44 | + } | ||
| 45 | +} | ||
| 46 | + | ||
| 47 | +@media (max-width:500px) { | ||
| 48 | + .github-corner:hover .octo-arm { | ||
| 49 | + animation: none | ||
| 50 | + } | ||
| 51 | + .github-corner .octo-arm { | ||
| 52 | + animation: octocat-wave 560ms ease-in-out | ||
| 53 | + } | ||
| 54 | +} | ||
| 55 | +</style> |
| @@ -29,12 +29,12 @@ export default { | @@ -29,12 +29,12 @@ export default { | ||
| 29 | }, | 29 | }, |
| 30 | limit: { | 30 | limit: { |
| 31 | type: Number, | 31 | type: Number, |
| 32 | - default: 20 | 32 | + default: 100 |
| 33 | }, | 33 | }, |
| 34 | pageSizes: { | 34 | pageSizes: { |
| 35 | type: Array, | 35 | type: Array, |
| 36 | default() { | 36 | default() { |
| 37 | - return [10, 20, 30, 50] | 37 | + return [10, 20, 30, 50, 100] |
| 38 | } | 38 | } |
| 39 | }, | 39 | }, |
| 40 | layout: { | 40 | layout: { |
| @@ -92,7 +92,7 @@ export default { | @@ -92,7 +92,7 @@ export default { | ||
| 92 | <style scoped> | 92 | <style scoped> |
| 93 | .pagination-container { | 93 | .pagination-container { |
| 94 | background: #fff; | 94 | background: #fff; |
| 95 | - padding: 32px 16px; | 95 | + /*padding: 32px 16px;*/ |
| 96 | } | 96 | } |
| 97 | .pagination-container.hidden { | 97 | .pagination-container.hidden { |
| 98 | display: none; | 98 | display: none; |
src/components/PanThumb/index.vue
0 → 100644
| 1 | +<template> | ||
| 2 | + <div :style="{zIndex:zIndex,height:height,width:width}" class="pan-item"> | ||
| 3 | + <div class="pan-info"> | ||
| 4 | + <div class="pan-info-roles-container"> | ||
| 5 | + <slot /> | ||
| 6 | + </div> | ||
| 7 | + </div> | ||
| 8 | + <!-- eslint-disable-next-line --> | ||
| 9 | + <div :style="{backgroundImage: `url(${image})`}" class="pan-thumb"></div> | ||
| 10 | + </div> | ||
| 11 | +</template> | ||
| 12 | + | ||
| 13 | +<script> | ||
| 14 | +export default { | ||
| 15 | + name: 'PanThumb', | ||
| 16 | + props: { | ||
| 17 | + image: { | ||
| 18 | + type: String, | ||
| 19 | + required: true | ||
| 20 | + }, | ||
| 21 | + zIndex: { | ||
| 22 | + type: Number, | ||
| 23 | + default: 1 | ||
| 24 | + }, | ||
| 25 | + width: { | ||
| 26 | + type: String, | ||
| 27 | + default: '150px' | ||
| 28 | + }, | ||
| 29 | + height: { | ||
| 30 | + type: String, | ||
| 31 | + default: '150px' | ||
| 32 | + } | ||
| 33 | + } | ||
| 34 | +} | ||
| 35 | +</script> | ||
| 36 | + | ||
| 37 | +<style scoped> | ||
| 38 | +.pan-item { | ||
| 39 | + width: 200px; | ||
| 40 | + height: 200px; | ||
| 41 | + border-radius: 50%; | ||
| 42 | + display: inline-block; | ||
| 43 | + position: relative; | ||
| 44 | + cursor: default; | ||
| 45 | + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2); | ||
| 46 | +} | ||
| 47 | + | ||
| 48 | +.pan-info-roles-container { | ||
| 49 | + padding: 20px; | ||
| 50 | + text-align: center; | ||
| 51 | +} | ||
| 52 | + | ||
| 53 | +.pan-thumb { | ||
| 54 | + width: 100%; | ||
| 55 | + height: 100%; | ||
| 56 | + background-position: center center; | ||
| 57 | + background-size: cover; | ||
| 58 | + border-radius: 50%; | ||
| 59 | + overflow: hidden; | ||
| 60 | + position: absolute; | ||
| 61 | + transform-origin: 95% 40%; | ||
| 62 | + transition: all 0.3s ease-in-out; | ||
| 63 | +} | ||
| 64 | + | ||
| 65 | +/* .pan-thumb:after { | ||
| 66 | + content: ''; | ||
| 67 | + width: 8px; | ||
| 68 | + height: 8px; | ||
| 69 | + position: absolute; | ||
| 70 | + border-radius: 50%; | ||
| 71 | + top: 40%; | ||
| 72 | + left: 95%; | ||
| 73 | + margin: -4px 0 0 -4px; | ||
| 74 | + background: radial-gradient(ellipse at center, rgba(14, 14, 14, 1) 0%, rgba(125, 126, 125, 1) 100%); | ||
| 75 | + box-shadow: 0 0 1px rgba(255, 255, 255, 0.9); | ||
| 76 | +} */ | ||
| 77 | + | ||
| 78 | +.pan-info { | ||
| 79 | + position: absolute; | ||
| 80 | + width: inherit; | ||
| 81 | + height: inherit; | ||
| 82 | + border-radius: 50%; | ||
| 83 | + overflow: hidden; | ||
| 84 | + box-shadow: inset 0 0 0 5px rgba(0, 0, 0, 0.05); | ||
| 85 | +} | ||
| 86 | + | ||
| 87 | +.pan-info h3 { | ||
| 88 | + color: #fff; | ||
| 89 | + text-transform: uppercase; | ||
| 90 | + position: relative; | ||
| 91 | + letter-spacing: 2px; | ||
| 92 | + font-size: 18px; | ||
| 93 | + margin: 0 60px; | ||
| 94 | + padding: 22px 0 0 0; | ||
| 95 | + height: 85px; | ||
| 96 | + font-family: 'Open Sans', Arial, sans-serif; | ||
| 97 | + text-shadow: 0 0 1px #fff, 0 1px 2px rgba(0, 0, 0, 0.3); | ||
| 98 | +} | ||
| 99 | + | ||
| 100 | +.pan-info p { | ||
| 101 | + color: #fff; | ||
| 102 | + padding: 10px 5px; | ||
| 103 | + font-style: italic; | ||
| 104 | + margin: 0 30px; | ||
| 105 | + font-size: 12px; | ||
| 106 | + border-top: 1px solid rgba(255, 255, 255, 0.5); | ||
| 107 | +} | ||
| 108 | + | ||
| 109 | +.pan-info p a { | ||
| 110 | + display: block; | ||
| 111 | + color: #333; | ||
| 112 | + width: 80px; | ||
| 113 | + height: 80px; | ||
| 114 | + background: rgba(255, 255, 255, 0.3); | ||
| 115 | + border-radius: 50%; | ||
| 116 | + color: #fff; | ||
| 117 | + font-style: normal; | ||
| 118 | + font-weight: 700; | ||
| 119 | + text-transform: uppercase; | ||
| 120 | + font-size: 9px; | ||
| 121 | + letter-spacing: 1px; | ||
| 122 | + padding-top: 24px; | ||
| 123 | + margin: 7px auto 0; | ||
| 124 | + font-family: 'Open Sans', Arial, sans-serif; | ||
| 125 | + opacity: 0; | ||
| 126 | + transition: transform 0.3s ease-in-out 0.2s, opacity 0.3s ease-in-out 0.2s, background 0.2s linear 0s; | ||
| 127 | + transform: translateX(60px) rotate(90deg); | ||
| 128 | +} | ||
| 129 | + | ||
| 130 | +.pan-info p a:hover { | ||
| 131 | + background: rgba(255, 255, 255, 0.5); | ||
| 132 | +} | ||
| 133 | + | ||
| 134 | +.pan-item:hover .pan-thumb { | ||
| 135 | + transform: rotate(-110deg); | ||
| 136 | +} | ||
| 137 | + | ||
| 138 | +.pan-item:hover .pan-info p a { | ||
| 139 | + opacity: 1; | ||
| 140 | + transform: translateX(0px) rotate(0deg); | ||
| 141 | +} | ||
| 142 | +</style> |
src/components/TextHoverEffect/Mallki.vue
0 → 100644
| 1 | +<template> | ||
| 2 | + <a :class="className" class="link--mallki" href="#"> | ||
| 3 | + {{ text }} | ||
| 4 | + <span :data-letters="text" /> | ||
| 5 | + <span :data-letters="text" /> | ||
| 6 | + </a> | ||
| 7 | +</template> | ||
| 8 | + | ||
| 9 | +<script> | ||
| 10 | +export default { | ||
| 11 | + props: { | ||
| 12 | + className: { | ||
| 13 | + type: String, | ||
| 14 | + default: '' | ||
| 15 | + }, | ||
| 16 | + text: { | ||
| 17 | + type: String, | ||
| 18 | + default: 'vue-element-admin' | ||
| 19 | + } | ||
| 20 | + } | ||
| 21 | +} | ||
| 22 | +</script> | ||
| 23 | + | ||
| 24 | +<style> | ||
| 25 | +/* Mallki */ | ||
| 26 | + | ||
| 27 | +.link--mallki { | ||
| 28 | + font-weight: 800; | ||
| 29 | + color: #4dd9d5; | ||
| 30 | + font-family: 'Dosis', sans-serif; | ||
| 31 | + -webkit-transition: color 0.5s 0.25s; | ||
| 32 | + transition: color 0.5s 0.25s; | ||
| 33 | + overflow: hidden; | ||
| 34 | + position: relative; | ||
| 35 | + display: inline-block; | ||
| 36 | + line-height: 1; | ||
| 37 | + outline: none; | ||
| 38 | + text-decoration: none; | ||
| 39 | +} | ||
| 40 | + | ||
| 41 | +.link--mallki:hover { | ||
| 42 | + -webkit-transition: none; | ||
| 43 | + transition: none; | ||
| 44 | + color: transparent; | ||
| 45 | +} | ||
| 46 | + | ||
| 47 | +.link--mallki::before { | ||
| 48 | + content: ''; | ||
| 49 | + width: 100%; | ||
| 50 | + height: 6px; | ||
| 51 | + margin: -3px 0 0 0; | ||
| 52 | + background: #3888fa; | ||
| 53 | + position: absolute; | ||
| 54 | + left: 0; | ||
| 55 | + top: 50%; | ||
| 56 | + -webkit-transform: translate3d(-100%, 0, 0); | ||
| 57 | + transform: translate3d(-100%, 0, 0); | ||
| 58 | + -webkit-transition: -webkit-transform 0.4s; | ||
| 59 | + transition: transform 0.4s; | ||
| 60 | + -webkit-transition-timing-function: cubic-bezier(0.7, 0, 0.3, 1); | ||
| 61 | + transition-timing-function: cubic-bezier(0.7, 0, 0.3, 1); | ||
| 62 | +} | ||
| 63 | + | ||
| 64 | +.link--mallki:hover::before { | ||
| 65 | + -webkit-transform: translate3d(100%, 0, 0); | ||
| 66 | + transform: translate3d(100%, 0, 0); | ||
| 67 | +} | ||
| 68 | + | ||
| 69 | +.link--mallki span { | ||
| 70 | + position: absolute; | ||
| 71 | + height: 50%; | ||
| 72 | + width: 100%; | ||
| 73 | + left: 0; | ||
| 74 | + top: 0; | ||
| 75 | + overflow: hidden; | ||
| 76 | +} | ||
| 77 | + | ||
| 78 | +.link--mallki span::before { | ||
| 79 | + content: attr(data-letters); | ||
| 80 | + color: red; | ||
| 81 | + position: absolute; | ||
| 82 | + left: 0; | ||
| 83 | + width: 100%; | ||
| 84 | + color: #3888fa; | ||
| 85 | + -webkit-transition: -webkit-transform 0.5s; | ||
| 86 | + transition: transform 0.5s; | ||
| 87 | +} | ||
| 88 | + | ||
| 89 | +.link--mallki span:nth-child(2) { | ||
| 90 | + top: 50%; | ||
| 91 | +} | ||
| 92 | + | ||
| 93 | +.link--mallki span:first-child::before { | ||
| 94 | + top: 0; | ||
| 95 | + -webkit-transform: translate3d(0, 100%, 0); | ||
| 96 | + transform: translate3d(0, 100%, 0); | ||
| 97 | +} | ||
| 98 | + | ||
| 99 | +.link--mallki span:nth-child(2)::before { | ||
| 100 | + bottom: 0; | ||
| 101 | + -webkit-transform: translate3d(0, -100%, 0); | ||
| 102 | + transform: translate3d(0, -100%, 0); | ||
| 103 | +} | ||
| 104 | + | ||
| 105 | +.link--mallki:hover span::before { | ||
| 106 | + -webkit-transition-delay: 0.3s; | ||
| 107 | + transition-delay: 0.3s; | ||
| 108 | + -webkit-transform: translate3d(0, 0, 0); | ||
| 109 | + transform: translate3d(0, 0, 0); | ||
| 110 | + -webkit-transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1); | ||
| 111 | + transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1); | ||
| 112 | +} | ||
| 113 | +</style> |
| 1 | <template> | 1 | <template> |
| 2 | <el-table :data="formatData" :row-style="showRow" v-bind="$attrs"> | 2 | <el-table :data="formatData" :row-style="showRow" v-bind="$attrs"> |
| 3 | - <el-table-column type="selection" width="30" align="center"/> | ||
| 4 | - <el-table-column v-if="columns.length===0" width="30" align="center"> | 3 | + <el-table-column type="selection" width="50" align="center"></el-table-column> |
| 4 | + <el-table-column v-if="columns.length===0" width="55" align="center"> | ||
| 5 | <template slot-scope="scope"> | 5 | <template slot-scope="scope"> |
| 6 | <span v-for="space in scope.row._level" :key="space" class="ms-tree-space"/> | 6 | <span v-for="space in scope.row._level" :key="space" class="ms-tree-space"/> |
| 7 | <span v-if="iconShow(0,scope.row)" class="tree-ctrl" @click="toggleExpanded(scope.$index)"> | 7 | <span v-if="iconShow(0,scope.row)" class="tree-ctrl" @click="toggleExpanded(scope.$index)"> |
| 8 | <i v-if="!scope.row._expanded" class="el-icon-plus"/> | 8 | <i v-if="!scope.row._expanded" class="el-icon-plus"/> |
| 9 | <i v-else class="el-icon-minus"/> | 9 | <i v-else class="el-icon-minus"/> |
| 10 | </span> | 10 | </span> |
| 11 | - <!--{{ scope.$index }}--> | ||
| 12 | </template> | 11 | </template> |
| 13 | </el-table-column> | 12 | </el-table-column> |
| 14 | <el-table-column v-for="(column, index) in columns" v-else :key="column.value" :label="column.text" :width="column.width"> | 13 | <el-table-column v-for="(column, index) in columns" v-else :key="column.value" :label="column.text" :width="column.width"> |
| @@ -20,7 +19,6 @@ | @@ -20,7 +19,6 @@ | ||
| 20 | <i v-if="!scope.row._expanded" class="el-icon-plus"/> | 19 | <i v-if="!scope.row._expanded" class="el-icon-plus"/> |
| 21 | <i v-else class="el-icon-minus"/> | 20 | <i v-else class="el-icon-minus"/> |
| 22 | </span> | 21 | </span> |
| 23 | - {{ scope.row[column.value] }} | ||
| 24 | </template> | 22 | </template> |
| 25 | </el-table-column> | 23 | </el-table-column> |
| 26 | <slot/> | 24 | <slot/> |
| @@ -49,7 +47,7 @@ export default { | @@ -49,7 +47,7 @@ export default { | ||
| 49 | evalArgs: Array, | 47 | evalArgs: Array, |
| 50 | expandAll: { | 48 | expandAll: { |
| 51 | type: Boolean, | 49 | type: Boolean, |
| 52 | - default: true | 50 | + default: false |
| 53 | } | 51 | } |
| 54 | }, | 52 | }, |
| 55 | computed: { | 53 | computed: { |
| @@ -68,11 +66,8 @@ export default { | @@ -68,11 +66,8 @@ export default { | ||
| 68 | }, | 66 | }, |
| 69 | methods: { | 67 | methods: { |
| 70 | showRow: function(row) { | 68 | showRow: function(row) { |
| 71 | - this.data | ||
| 72 | - const show = (row.parent ? (row.parent._expanded && row.parent._show) : true) | ||
| 73 | -// const show = (row.row.parent ? (row.row.parent._expanded && row.row.parent._show) : true) | ||
| 74 | -// row.row._show = show | ||
| 75 | - row._show = show | 69 | + const show = (row.row.parent ? (row.row.parent._expanded && row.row.parent._show) : true) |
| 70 | + row.row._show = show | ||
| 76 | return show ? 'animation:treeTableShow 1s;-webkit-animation:treeTableShow 1s;' : 'display:none;' | 71 | return show ? 'animation:treeTableShow 1s;-webkit-animation:treeTableShow 1s;' : 'display:none;' |
| 77 | }, | 72 | }, |
| 78 | // 切换下级是否展开 | 73 | // 切换下级是否展开 |
| 1 | 1 | ||
| 2 | import Vue from 'vue' | 2 | import Vue from 'vue' |
| 3 | import App from './App' | 3 | import App from './App' |
| 4 | +import ElementUI from 'element-ui' | ||
| 4 | import 'element-ui/lib/theme-chalk/index.css' | 5 | import 'element-ui/lib/theme-chalk/index.css' |
| 5 | //import './assets/theme/theme-green/index.css' | 6 | //import './assets/theme/theme-green/index.css' |
| 6 | import VueRouter from 'vue-router' | 7 | import VueRouter from 'vue-router' |
| @@ -11,9 +12,10 @@ import rout from './routes' | @@ -11,9 +12,10 @@ import rout from './routes' | ||
| 11 | import Mock from './mock' | 12 | import Mock from './mock' |
| 12 | import i18n from './lang' | 13 | import i18n from './lang' |
| 13 | import 'font-awesome/css/font-awesome.min.css' | 14 | import 'font-awesome/css/font-awesome.min.css' |
| 14 | -import ElementUI from 'element-ui' | ||
| 15 | 15 | ||
| 16 | import * as socketApi from './api/socket' | 16 | import * as socketApi from './api/socket' |
| 17 | +import '@/styles/index.scss' | ||
| 18 | + | ||
| 17 | 19 | ||
| 18 | //定义一个全局过滤器实现日期格式化 | 20 | //定义一个全局过滤器实现日期格式化 |
| 19 | Vue.filter('datefmt',function(input,fmtstring){ | 21 | Vue.filter('datefmt',function(input,fmtstring){ |
| @@ -33,8 +35,8 @@ Vue.use(Vuex) | @@ -33,8 +35,8 @@ Vue.use(Vuex) | ||
| 33 | Vue.prototype.$axios = axios; | 35 | Vue.prototype.$axios = axios; |
| 34 | 36 | ||
| 35 | //NProgress.configure({ showSpinner: false }); | 37 | //NProgress.configure({ showSpinner: false }); |
| 36 | -console.log("mainjs:"); | ||
| 37 | -console.log(rout.routes); | 38 | +// console.log("mainjs:"); |
| 39 | +// console.log(rout.routes); | ||
| 38 | const router = new VueRouter({ | 40 | const router = new VueRouter({ |
| 39 | routes:rout.routes | 41 | routes:rout.routes |
| 40 | }); | 42 | }); |
| @@ -61,7 +63,7 @@ router.beforeEach((to, from, next) => { | @@ -61,7 +63,7 @@ router.beforeEach((to, from, next) => { | ||
| 61 | } | 63 | } |
| 62 | }); | 64 | }); |
| 63 | 65 | ||
| 64 | -var message = Vue.prototype.$message; | 66 | +const message = Vue.prototype.$message; |
| 65 | axios.defaults.baseURL = '/api'; | 67 | axios.defaults.baseURL = '/api'; |
| 66 | axios.interceptors.response.use( | 68 | axios.interceptors.response.use( |
| 67 | res => { | 69 | res => { |
| @@ -89,12 +91,9 @@ axios.interceptors.response.use( | @@ -89,12 +91,9 @@ axios.interceptors.response.use( | ||
| 89 | 91 | ||
| 90 | // 下面是接口回调的satus ,因为我做了一些错误页面,所以都会指向对应的报错页面 | 92 | // 下面是接口回调的satus ,因为我做了一些错误页面,所以都会指向对应的报错页面 |
| 91 | if (error.response.status === 401) { | 93 | if (error.response.status === 401) { |
| 92 | - router.push({ | ||
| 93 | - path: "/login" | ||
| 94 | - }); | ||
| 95 | message({ | 94 | message({ |
| 96 | // 饿了么的消息弹窗组件 | 95 | // 饿了么的消息弹窗组件 |
| 97 | - message: '授权超时,或未授权,请重新登录', | 96 | + message: '授权超时,或访问未授权,请重新登录', |
| 98 | type: "error" | 97 | type: "error" |
| 99 | }); | 98 | }); |
| 100 | } | 99 | } |
| @@ -106,9 +105,14 @@ axios.interceptors.response.use( | @@ -106,9 +105,14 @@ axios.interceptors.response.use( | ||
| 106 | }); | 105 | }); |
| 107 | } | 106 | } |
| 108 | if (error.response.status === 500) { | 107 | if (error.response.status === 500) { |
| 109 | - router.push({ | ||
| 110 | - path: "/error/500" | 108 | + message({ |
| 109 | + // 饿了么的消息弹窗组件 | ||
| 110 | + message: error.message, | ||
| 111 | + type: "error" | ||
| 111 | }); | 112 | }); |
| 113 | + // router.push({ | ||
| 114 | + // path: "/error/500" | ||
| 115 | + // }); | ||
| 112 | } | 116 | } |
| 113 | if (error.response.status === 502) { | 117 | if (error.response.status === 502) { |
| 114 | router.push({ | 118 | router.push({ |
| @@ -116,13 +120,15 @@ axios.interceptors.response.use( | @@ -116,13 +120,15 @@ axios.interceptors.response.use( | ||
| 116 | }); | 120 | }); |
| 117 | } | 121 | } |
| 118 | if (error.response.status === 404) { | 122 | if (error.response.status === 404) { |
| 119 | - router.push({ | ||
| 120 | - path: "/error/404" | 123 | + message({ |
| 124 | + // 饿了么的消息弹窗组件 | ||
| 125 | + message: error.message, | ||
| 126 | + type: "error" | ||
| 121 | }); | 127 | }); |
| 122 | } | 128 | } |
| 123 | } | 129 | } |
| 124 | // 返回 response 里的错误信息 | 130 | // 返回 response 里的错误信息 |
| 125 | - let errorInfo = error.data.error ? error.data.error.message : error.data; | 131 | + let errorInfo = error.response ? error.response.statusText : (error.data.error ? error.data.error.message : error.message); |
| 126 | return Promise.reject(errorInfo); | 132 | return Promise.reject(errorInfo); |
| 127 | } | 133 | } |
| 128 | ); | 134 | ); |
| 1 | import Login from './views/Login.vue' | 1 | import Login from './views/Login.vue' |
| 2 | import NotFound from './views/404.vue' | 2 | import NotFound from './views/404.vue' |
| 3 | import Home from './views/Home.vue' | 3 | import Home from './views/Home.vue' |
| 4 | -import Main from './views/Main.vue' | 4 | +import Main from './views/dashboard/index' |
| 5 | // import Table from './views/nav1/Table.vue' | 5 | // import Table from './views/nav1/Table.vue' |
| 6 | import Role from './views/nav1/role.vue' | 6 | import Role from './views/nav1/role.vue' |
| 7 | import Perm from './views/nav1/perm.vue' | 7 | import Perm from './views/nav1/perm.vue' |
| @@ -14,6 +14,27 @@ import Process from './views/hqpt/Process.vue' | @@ -14,6 +14,27 @@ import Process from './views/hqpt/Process.vue' | ||
| 14 | import Job from './views/hqpt/Job.vue' | 14 | import Job from './views/hqpt/Job.vue' |
| 15 | // import Form from './views/nav1/Form.vue' | 15 | // import Form from './views/nav1/Form.vue' |
| 16 | 16 | ||
| 17 | + | ||
| 18 | +import OrgManifest from './views/nmms/orgManifest.vue' | ||
| 19 | +import ExitFlight from './views/nmms/ExitFlight.vue' | ||
| 20 | +import ExitPre from './views/nmms/ExitPre.vue' | ||
| 21 | +import ExitTidy from './views/nmms/ExitTidy.vue' | ||
| 22 | +import ExitArrive from './views/nmms/ExitArrive.vue' | ||
| 23 | +import ExitManifest from './views/nmms/ExitManifest.vue' | ||
| 24 | +import ExitLoading from './views/nmms/ExitLoading.vue' | ||
| 25 | +import ExitFlightDesc from './views/nmms/ExitFlightDesc.vue' | ||
| 26 | +import LostLoad from './views/lostLoadChange/lostLoading.vue' | ||
| 27 | +import LostLoadChange from './views/lostLoadChange/lostLoadChange.vue' | ||
| 28 | + | ||
| 29 | +import OrigFlightList from './views/nmms_import/OrigFlightList.vue' | ||
| 30 | +import EnterFlightInfo from './views/nmms_import/EnterFlightInfo.vue' | ||
| 31 | +import OrigMaster from './views/nmms_import/OrigMaster.vue' | ||
| 32 | +import EnterTally from './views/nmms_import/EnterFlightTally.vue' | ||
| 33 | +import TallyMster from './views/nmms_import/TallyMster.vue' | ||
| 34 | +import Waybill from './views/nmms_import/Waybill.vue' | ||
| 35 | +import AllocateSearch from './views/nmms_import/AllocateSearch.vue' | ||
| 36 | +import Importallocation from './views/nmms_import/Importallocation.vue' | ||
| 37 | +import Allocatearrive from './views/nmms_import/Allocatearrive.vue' | ||
| 17 | import User from './views/nav1/user.vue' | 38 | import User from './views/nav1/user.vue' |
| 18 | import Page4 from './views/nav2/Page4.vue' | 39 | import Page4 from './views/nav2/Page4.vue' |
| 19 | import Page5 from './views/nav2/Page5.vue' | 40 | import Page5 from './views/nav2/Page5.vue' |
| @@ -47,7 +68,7 @@ let routes = [ | @@ -47,7 +68,7 @@ let routes = [ | ||
| 47 | leaf: true, | 68 | leaf: true, |
| 48 | iconCls: 'el-icon-menu', | 69 | iconCls: 'el-icon-menu', |
| 49 | children: [ | 70 | children: [ |
| 50 | - { path: '/main', component: Main, name: '首页'}, | 71 | + {path: '/main', component: Main, name: '首页'}, |
| 51 | ] | 72 | ] |
| 52 | }, | 73 | }, |
| 53 | // { path: '/test', component: Main }, | 74 | // { path: '/test', component: Main }, |
| @@ -58,7 +79,7 @@ let routes = [ | @@ -58,7 +79,7 @@ let routes = [ | ||
| 58 | iconCls: 'el-icon-setting',//图标样式class | 79 | iconCls: 'el-icon-setting',//图标样式class |
| 59 | children: [ | 80 | children: [ |
| 60 | { path: '/user', component: User, name: '用户管理' }, | 81 | { path: '/user', component: User, name: '用户管理' }, |
| 61 | - { path: '/role', component: Role, name: '岗位管理' }, | 82 | + { path: '/role', component: Role, name: '组织机构' }, |
| 62 | { path: '/perm', component: Perm, name: '权限管理' }, | 83 | { path: '/perm', component: Perm, name: '权限管理' }, |
| 63 | { path: '/log', component: LOG, name: '系统日志' }, | 84 | { path: '/log', component: LOG, name: '系统日志' }, |
| 64 | { path: '/department', component: Department, name: '部门管理' }, | 85 | { path: '/department', component: Department, name: '部门管理' }, |
| @@ -73,7 +94,51 @@ let routes = [ | @@ -73,7 +94,51 @@ let routes = [ | ||
| 73 | iconCls: 'fa fa-id-card-o', | 94 | iconCls: 'fa fa-id-card-o', |
| 74 | children: [ | 95 | children: [ |
| 75 | { path: '/process', component: Process, name: '工单管理' }, | 96 | { path: '/process', component: Process, name: '工单管理' }, |
| 76 | - { path: '/job', component: Job, name: '任务管理' } | 97 | + { path: '/job', component: Job, name: '任务管理' }, |
| 98 | + {path: '/pre1', component: PreManifest, name: '预配'}, | ||
| 99 | + ] | ||
| 100 | + }, | ||
| 101 | + { | ||
| 102 | + path: '/output', | ||
| 103 | + component: Home, | ||
| 104 | + name: '出港业务申报', | ||
| 105 | + iconCls: 'el-icon-collection', | ||
| 106 | + children: [ | ||
| 107 | + {path: '/flight', component: ExitFlight, name: '出港航班申报'}, | ||
| 108 | + {path: '/manifest', component: ExitManifest, name: '出港运单申报'}, | ||
| 109 | + {path: '/pre', component: ExitPre, name: '出港预配舱单'}, | ||
| 110 | + {path: '/arrive', component: ExitArrive, name: '出港运抵'}, | ||
| 111 | + {path: '/loadingView', component: ExitFlightDesc, name: '出港航班信息'}, | ||
| 112 | + {path: '/loading', component: ExitLoading, name: '出港装载'}, | ||
| 113 | + {path: '/tidy', component: ExitTidy, name: '出港理货'} | ||
| 114 | + ] | ||
| 115 | + }, | ||
| 116 | + { | ||
| 117 | + path: '/nmms2', | ||
| 118 | + component: Home, | ||
| 119 | + name: '进港业务申报', | ||
| 120 | + iconCls: 'fa fa-id-card-o', | ||
| 121 | + children: [ | ||
| 122 | + { path: '/orig', component: OrigFlightList, name: '进港航班申报' }, | ||
| 123 | + {path:'/waybill',component:Waybill,name:'进港运单申报'}, | ||
| 124 | + {path:'/allocateSearch',component:AllocateSearch,name:'运单分拨申报'}, | ||
| 125 | + { path: '/enter', component: EnterFlightInfo, name: '原始舱单'}, | ||
| 126 | + { path:'/origmaster',component:OrigMaster,name:'进港原始舱单'}, | ||
| 127 | + {path:'/entertall',component:EnterTally,name:'进港理货'}, | ||
| 128 | + {path:'/tallymaster',component:TallyMster,name:'进港理货舱单'}, | ||
| 129 | + {path:'/importallocation',component:Importallocation,name:'进港分拨'}, | ||
| 130 | + {path:'/allocatearrive',component:Allocatearrive,name:'分拨运抵'}, | ||
| 131 | + ] | ||
| 132 | + }, | ||
| 133 | + { | ||
| 134 | + path: '/lost', | ||
| 135 | + component: Home, | ||
| 136 | + name: '落装改配申报', | ||
| 137 | + iconCls:'el-icon-goods', | ||
| 138 | + children:[ | ||
| 139 | + {path:'/lostLoad',component:LostLoad,name:'落装业务申报'}, | ||
| 140 | + {path:'/lostLoadChange',component:LostLoadChange,name:'改配业务申报'} | ||
| 141 | + | ||
| 77 | ] | 142 | ] |
| 78 | }, | 143 | }, |
| 79 | { | 144 | { |
| @@ -105,7 +170,6 @@ let routes = [ | @@ -105,7 +170,6 @@ let routes = [ | ||
| 105 | iconCls: 'fa fa-address-card', | 170 | iconCls: 'fa fa-address-card', |
| 106 | // leaf: true,//只有一个节点 | 171 | // leaf: true,//只有一个节点 |
| 107 | children: [ | 172 | children: [ |
| 108 | - | ||
| 109 | { path: '/water_stations_patrol', component: WaterStationsPatrol, name: '二水厂-水站巡视记录单管理' }, | 173 | { path: '/water_stations_patrol', component: WaterStationsPatrol, name: '二水厂-水站巡视记录单管理' }, |
| 110 | // { path: '/page6', component: Page6, name: '水质量检测' }, | 174 | // { path: '/page6', component: Page6, name: '水质量检测' }, |
| 111 | // { path: '/page6', component: Page6, name: '污水站' }, | 175 | // { path: '/page6', component: Page6, name: '污水站' }, |
| @@ -119,13 +183,13 @@ let routes = [ | @@ -119,13 +183,13 @@ let routes = [ | ||
| 119 | name: 'Charts', | 183 | name: 'Charts', |
| 120 | iconCls: 'fa fa-bar-chart', | 184 | iconCls: 'fa fa-bar-chart', |
| 121 | children: [ | 185 | children: [ |
| 122 | - { path: '/echarts', component: echarts, name: 'echarts' } | 186 | + {path: '/echarts', component: echarts, name: 'echarts'} |
| 123 | ] | 187 | ] |
| 124 | }, | 188 | }, |
| 125 | { | 189 | { |
| 126 | path: '*', | 190 | path: '*', |
| 127 | hidden: true, | 191 | hidden: true, |
| 128 | - redirect: { path: '/404' } | 192 | + redirect: {path: '/404'} |
| 129 | } | 193 | } |
| 130 | ]; | 194 | ]; |
| 131 | let initRouters = routes.concat(); | 195 | let initRouters = routes.concat(); |
| @@ -136,7 +200,7 @@ let setUserMenus = function (list) { | @@ -136,7 +200,7 @@ let setUserMenus = function (list) { | ||
| 136 | * 处理登陆后的账号对应的菜单 | 200 | * 处理登陆后的账号对应的菜单 |
| 137 | * @param menuList | 201 | * @param menuList |
| 138 | */ | 202 | */ |
| 139 | -let handleMenuList = function (router,menu) { | 203 | +let handleMenuList = function (router, menu) { |
| 140 | var _self = this; | 204 | var _self = this; |
| 141 | var routerName = ""; | 205 | var routerName = ""; |
| 142 | router.forEach(function (v_router) { | 206 | router.forEach(function (v_router) { |
| @@ -149,16 +213,16 @@ let handleMenuList = function (router,menu) { | @@ -149,16 +213,16 @@ let handleMenuList = function (router,menu) { | ||
| 149 | 213 | ||
| 150 | //匹配到继续判断是否子元素,有子元素继续递归 | 214 | //匹配到继续判断是否子元素,有子元素继续递归 |
| 151 | if (result) { | 215 | if (result) { |
| 152 | - if(v_router.children) { | ||
| 153 | - _self.handleMenuList(v_router.children,result.children); | 216 | + if (v_router.children) { |
| 217 | + _self.handleMenuList(v_router.children, result.children); | ||
| 154 | } | 218 | } |
| 155 | //没有则可以移除 | 219 | //没有则可以移除 |
| 156 | - }else { | ||
| 157 | - router.splice(router.findIndex(itm => itm.name === routerName ),1); | 220 | + } else { |
| 221 | + router.splice(router.findIndex(itm => itm.name === routerName), 1); | ||
| 158 | } | 222 | } |
| 159 | }) | 223 | }) |
| 160 | }); | 224 | }); |
| 161 | } | 225 | } |
| 162 | export default { | 226 | export default { |
| 163 | - routes,setUserMenus,handleMenuList,initRouters | ||
| 164 | -}; | ||
| 227 | + routes, setUserMenus, handleMenuList, initRouters | ||
| 228 | +}; |
src/styles/btn.scss
0 → 100644
| 1 | +@import './variables.scss'; | ||
| 2 | + | ||
| 3 | +@mixin colorBtn($color) { | ||
| 4 | + background: $color; | ||
| 5 | + | ||
| 6 | + &:hover { | ||
| 7 | + color: $color; | ||
| 8 | + | ||
| 9 | + &:before, | ||
| 10 | + &:after { | ||
| 11 | + background: $color; | ||
| 12 | + } | ||
| 13 | + } | ||
| 14 | +} | ||
| 15 | + | ||
| 16 | +.blue-btn { | ||
| 17 | + @include colorBtn($blue) | ||
| 18 | +} | ||
| 19 | + | ||
| 20 | +.light-blue-btn { | ||
| 21 | + @include colorBtn($light-blue) | ||
| 22 | +} | ||
| 23 | + | ||
| 24 | +.red-btn { | ||
| 25 | + @include colorBtn($red) | ||
| 26 | +} | ||
| 27 | + | ||
| 28 | +.pink-btn { | ||
| 29 | + @include colorBtn($pink) | ||
| 30 | +} | ||
| 31 | + | ||
| 32 | +.green-btn { | ||
| 33 | + @include colorBtn($green) | ||
| 34 | +} | ||
| 35 | + | ||
| 36 | +.tiffany-btn { | ||
| 37 | + @include colorBtn($tiffany) | ||
| 38 | +} | ||
| 39 | + | ||
| 40 | +.yellow-btn { | ||
| 41 | + @include colorBtn($yellow) | ||
| 42 | +} | ||
| 43 | + | ||
| 44 | +.pan-btn { | ||
| 45 | + font-size: 14px; | ||
| 46 | + color: #fff; | ||
| 47 | + padding: 14px 36px; | ||
| 48 | + border-radius: 8px; | ||
| 49 | + border: none; | ||
| 50 | + outline: none; | ||
| 51 | + transition: 600ms ease all; | ||
| 52 | + position: relative; | ||
| 53 | + display: inline-block; | ||
| 54 | + | ||
| 55 | + &:hover { | ||
| 56 | + background: #fff; | ||
| 57 | + | ||
| 58 | + &:before, | ||
| 59 | + &:after { | ||
| 60 | + width: 100%; | ||
| 61 | + transition: 600ms ease all; | ||
| 62 | + } | ||
| 63 | + } | ||
| 64 | + | ||
| 65 | + &:before, | ||
| 66 | + &:after { | ||
| 67 | + content: ''; | ||
| 68 | + position: absolute; | ||
| 69 | + top: 0; | ||
| 70 | + right: 0; | ||
| 71 | + height: 2px; | ||
| 72 | + width: 0; | ||
| 73 | + transition: 400ms ease all; | ||
| 74 | + } | ||
| 75 | + | ||
| 76 | + &::after { | ||
| 77 | + right: inherit; | ||
| 78 | + top: inherit; | ||
| 79 | + left: 0; | ||
| 80 | + bottom: 0; | ||
| 81 | + } | ||
| 82 | +} | ||
| 83 | + | ||
| 84 | +.custom-button { | ||
| 85 | + display: inline-block; | ||
| 86 | + line-height: 1; | ||
| 87 | + white-space: nowrap; | ||
| 88 | + cursor: pointer; | ||
| 89 | + background: #fff; | ||
| 90 | + color: #fff; | ||
| 91 | + -webkit-appearance: none; | ||
| 92 | + text-align: center; | ||
| 93 | + box-sizing: border-box; | ||
| 94 | + outline: 0; | ||
| 95 | + margin: 0; | ||
| 96 | + padding: 10px 15px; | ||
| 97 | + font-size: 14px; | ||
| 98 | + border-radius: 4px; | ||
| 99 | +} |
src/styles/element-ui.scss
0 → 100644
| 1 | +//覆盖一些element-ui样式 | ||
| 2 | + | ||
| 3 | +.el-breadcrumb__inner, | ||
| 4 | +.el-breadcrumb__inner a { | ||
| 5 | + font-weight: 400 !important; | ||
| 6 | +} | ||
| 7 | + | ||
| 8 | +.el-upload { | ||
| 9 | + input[type="file"] { | ||
| 10 | + display: none !important; | ||
| 11 | + } | ||
| 12 | +} | ||
| 13 | + | ||
| 14 | +.el-upload__input { | ||
| 15 | + display: none; | ||
| 16 | +} | ||
| 17 | + | ||
| 18 | +.cell { | ||
| 19 | + .el-tag { | ||
| 20 | + margin-right: 0px; | ||
| 21 | + } | ||
| 22 | +} | ||
| 23 | + | ||
| 24 | +.small-padding { | ||
| 25 | + .cell { | ||
| 26 | + padding-left: 5px; | ||
| 27 | + padding-right: 5px; | ||
| 28 | + } | ||
| 29 | +} | ||
| 30 | + | ||
| 31 | +.fixed-width { | ||
| 32 | + .el-button--mini { | ||
| 33 | + padding: 7px 10px; | ||
| 34 | + width: 60px; | ||
| 35 | + } | ||
| 36 | +} | ||
| 37 | + | ||
| 38 | +.status-col { | ||
| 39 | + .cell { | ||
| 40 | + padding: 0 10px; | ||
| 41 | + text-align: center; | ||
| 42 | + | ||
| 43 | + .el-tag { | ||
| 44 | + margin-right: 0px; | ||
| 45 | + } | ||
| 46 | + } | ||
| 47 | +} | ||
| 48 | + | ||
| 49 | +//暂时性解决dialog 问题 https://github.com/ElemeFE/element/issues/2461 | ||
| 50 | +.el-dialog { | ||
| 51 | + transform: none; | ||
| 52 | + left: 0; | ||
| 53 | + position: relative; | ||
| 54 | + margin: 0 auto; | ||
| 55 | +} | ||
| 56 | + | ||
| 57 | +//文章页textarea修改样式 | ||
| 58 | +.article-textarea { | ||
| 59 | + textarea { | ||
| 60 | + padding-right: 40px; | ||
| 61 | + resize: none; | ||
| 62 | + border: none; | ||
| 63 | + border-radius: 0px; | ||
| 64 | + border-bottom: 1px solid #bfcbd9; | ||
| 65 | + } | ||
| 66 | +} | ||
| 67 | + | ||
| 68 | +//element ui upload | ||
| 69 | +.upload-container { | ||
| 70 | + .el-upload { | ||
| 71 | + width: 100%; | ||
| 72 | + | ||
| 73 | + .el-upload-dragger { | ||
| 74 | + width: 100%; | ||
| 75 | + height: 200px; | ||
| 76 | + } | ||
| 77 | + } | ||
| 78 | +} | ||
| 79 | + | ||
| 80 | +//dropdown | ||
| 81 | +.el-dropdown-menu { | ||
| 82 | + a { | ||
| 83 | + display: block | ||
| 84 | + } | ||
| 85 | +} |
src/styles/index.scss
0 → 100644
| 1 | +@import './variables.scss'; | ||
| 2 | +@import './mixin.scss'; | ||
| 3 | +@import './transition.scss'; | ||
| 4 | +@import './element-ui.scss'; | ||
| 5 | +@import './sidebar.scss'; | ||
| 6 | +@import './btn.scss'; | ||
| 7 | + | ||
| 8 | +body { | ||
| 9 | + height: 100%; | ||
| 10 | + -moz-osx-font-smoothing: grayscale; | ||
| 11 | + -webkit-font-smoothing: antialiased; | ||
| 12 | + text-rendering: optimizeLegibility; | ||
| 13 | + font-family: Helvetica Neue, Helvetica, PingFang SC, Hiragino Sans GB, Microsoft YaHei, Arial, sans-serif; | ||
| 14 | +} | ||
| 15 | + | ||
| 16 | +label { | ||
| 17 | + font-weight: 700; | ||
| 18 | +} | ||
| 19 | + | ||
| 20 | +html { | ||
| 21 | + height: 100%; | ||
| 22 | + box-sizing: border-box; | ||
| 23 | +} | ||
| 24 | + | ||
| 25 | +#app { | ||
| 26 | + height: 100%; | ||
| 27 | +} | ||
| 28 | + | ||
| 29 | +*, | ||
| 30 | +*:before, | ||
| 31 | +*:after { | ||
| 32 | + box-sizing: inherit; | ||
| 33 | +} | ||
| 34 | + | ||
| 35 | +.no-padding { | ||
| 36 | + padding: 0px !important; | ||
| 37 | +} | ||
| 38 | + | ||
| 39 | +.padding-content { | ||
| 40 | + padding: 4px 0; | ||
| 41 | +} | ||
| 42 | + | ||
| 43 | +a:focus, | ||
| 44 | +a:active { | ||
| 45 | + outline: none; | ||
| 46 | +} | ||
| 47 | + | ||
| 48 | +a, | ||
| 49 | +a:focus, | ||
| 50 | +a:hover { | ||
| 51 | + cursor: pointer; | ||
| 52 | + color: inherit; | ||
| 53 | + text-decoration: none; | ||
| 54 | +} | ||
| 55 | + | ||
| 56 | +div:focus { | ||
| 57 | + outline: none; | ||
| 58 | +} | ||
| 59 | + | ||
| 60 | +.fr { | ||
| 61 | + float: right; | ||
| 62 | +} | ||
| 63 | + | ||
| 64 | +.fl { | ||
| 65 | + float: left; | ||
| 66 | +} | ||
| 67 | + | ||
| 68 | +.pr-5 { | ||
| 69 | + padding-right: 5px; | ||
| 70 | +} | ||
| 71 | + | ||
| 72 | +.pl-5 { | ||
| 73 | + padding-left: 5px; | ||
| 74 | +} | ||
| 75 | + | ||
| 76 | +.block { | ||
| 77 | + display: block; | ||
| 78 | +} | ||
| 79 | + | ||
| 80 | +.pointer { | ||
| 81 | + cursor: pointer; | ||
| 82 | +} | ||
| 83 | + | ||
| 84 | +.inlineBlock { | ||
| 85 | + display: block; | ||
| 86 | +} | ||
| 87 | + | ||
| 88 | +.clearfix { | ||
| 89 | + &:after { | ||
| 90 | + visibility: hidden; | ||
| 91 | + display: block; | ||
| 92 | + font-size: 0; | ||
| 93 | + content: " "; | ||
| 94 | + clear: both; | ||
| 95 | + height: 0; | ||
| 96 | + } | ||
| 97 | +} | ||
| 98 | + | ||
| 99 | +code { | ||
| 100 | + background: #eef1f6; | ||
| 101 | + padding: 15px 16px; | ||
| 102 | + margin-bottom: 20px; | ||
| 103 | + display: block; | ||
| 104 | + line-height: 36px; | ||
| 105 | + font-size: 15px; | ||
| 106 | + font-family: "Source Sans Pro", "Helvetica Neue", Arial, sans-serif; | ||
| 107 | + | ||
| 108 | + a { | ||
| 109 | + color: #337ab7; | ||
| 110 | + cursor: pointer; | ||
| 111 | + | ||
| 112 | + &:hover { | ||
| 113 | + color: rgb(32, 160, 255); | ||
| 114 | + } | ||
| 115 | + } | ||
| 116 | +} | ||
| 117 | + | ||
| 118 | +.warn-content { | ||
| 119 | + background: rgba(66, 185, 131, .1); | ||
| 120 | + border-radius: 2px; | ||
| 121 | + padding: 16px; | ||
| 122 | + padding: 1rem; | ||
| 123 | + line-height: 1.6rem; | ||
| 124 | + word-spacing: .05rem; | ||
| 125 | + | ||
| 126 | + a { | ||
| 127 | + color: #42b983; | ||
| 128 | + font-weight: 600; | ||
| 129 | + } | ||
| 130 | +} | ||
| 131 | + | ||
| 132 | +//main-container全局样式 | ||
| 133 | +.app-container { | ||
| 134 | + padding: 20px; | ||
| 135 | +} | ||
| 136 | + | ||
| 137 | +.components-container { | ||
| 138 | + margin: 30px 50px; | ||
| 139 | + position: relative; | ||
| 140 | +} | ||
| 141 | + | ||
| 142 | +.pagination-container { | ||
| 143 | + margin-top: 30px; | ||
| 144 | +} | ||
| 145 | + | ||
| 146 | +.text-center { | ||
| 147 | + text-align: center | ||
| 148 | +} | ||
| 149 | + | ||
| 150 | +.sub-navbar { | ||
| 151 | + height: 50px; | ||
| 152 | + line-height: 50px; | ||
| 153 | + position: relative; | ||
| 154 | + width: 100%; | ||
| 155 | + text-align: right; | ||
| 156 | + padding-right: 20px; | ||
| 157 | + transition: 600ms ease position; | ||
| 158 | + background: linear-gradient(90deg, rgba(32, 182, 249, 1) 0%, rgba(32, 182, 249, 1) 0%, rgba(33, 120, 241, 1) 100%, rgba(33, 120, 241, 1) 100%); | ||
| 159 | + | ||
| 160 | + .subtitle { | ||
| 161 | + font-size: 20px; | ||
| 162 | + color: #fff; | ||
| 163 | + } | ||
| 164 | + | ||
| 165 | + &.draft { | ||
| 166 | + background: #d0d0d0; | ||
| 167 | + } | ||
| 168 | + | ||
| 169 | + &.deleted { | ||
| 170 | + background: #d0d0d0; | ||
| 171 | + } | ||
| 172 | +} | ||
| 173 | + | ||
| 174 | +.link-type, | ||
| 175 | +.link-type:focus { | ||
| 176 | + color: #337ab7; | ||
| 177 | + cursor: pointer; | ||
| 178 | + | ||
| 179 | + &:hover { | ||
| 180 | + color: rgb(32, 160, 255); | ||
| 181 | + } | ||
| 182 | +} | ||
| 183 | + | ||
| 184 | +.filter-container { | ||
| 185 | + padding-bottom: 10px; | ||
| 186 | + | ||
| 187 | + .filter-item { | ||
| 188 | + display: inline-block; | ||
| 189 | + vertical-align: middle; | ||
| 190 | + margin-bottom: 10px; | ||
| 191 | + } | ||
| 192 | +} | ||
| 193 | + | ||
| 194 | +//refine vue-multiselect plugin | ||
| 195 | +.multiselect { | ||
| 196 | + line-height: 16px; | ||
| 197 | +} | ||
| 198 | + | ||
| 199 | +.multiselect--active { | ||
| 200 | + z-index: 1000 !important; | ||
| 201 | +} |
src/styles/mixin.scss
0 → 100644
| 1 | +@mixin clearfix { | ||
| 2 | + &:after { | ||
| 3 | + content: ""; | ||
| 4 | + display: table; | ||
| 5 | + clear: both; | ||
| 6 | + } | ||
| 7 | +} | ||
| 8 | + | ||
| 9 | +@mixin scrollBar { | ||
| 10 | + &::-webkit-scrollbar-track-piece { | ||
| 11 | + background: #d3dce6; | ||
| 12 | + } | ||
| 13 | + | ||
| 14 | + &::-webkit-scrollbar { | ||
| 15 | + width: 6px; | ||
| 16 | + } | ||
| 17 | + | ||
| 18 | + &::-webkit-scrollbar-thumb { | ||
| 19 | + background: #99a9bf; | ||
| 20 | + border-radius: 20px; | ||
| 21 | + } | ||
| 22 | +} | ||
| 23 | + | ||
| 24 | +@mixin relative { | ||
| 25 | + position: relative; | ||
| 26 | + width: 100%; | ||
| 27 | + height: 100%; | ||
| 28 | +} | ||
| 29 | + | ||
| 30 | +@mixin pct($pct) { | ||
| 31 | + width: #{$pct}; | ||
| 32 | + position: relative; | ||
| 33 | + margin: 0 auto; | ||
| 34 | +} | ||
| 35 | + | ||
| 36 | +@mixin triangle($width, $height, $color, $direction) { | ||
| 37 | + $width: $width/2; | ||
| 38 | + $color-border-style: $height solid $color; | ||
| 39 | + $transparent-border-style: $width solid transparent; | ||
| 40 | + height: 0; | ||
| 41 | + width: 0; | ||
| 42 | + | ||
| 43 | + @if $direction==up { | ||
| 44 | + border-bottom: $color-border-style; | ||
| 45 | + border-left: $transparent-border-style; | ||
| 46 | + border-right: $transparent-border-style; | ||
| 47 | + } | ||
| 48 | + | ||
| 49 | + @else if $direction==right { | ||
| 50 | + border-left: $color-border-style; | ||
| 51 | + border-top: $transparent-border-style; | ||
| 52 | + border-bottom: $transparent-border-style; | ||
| 53 | + } | ||
| 54 | + | ||
| 55 | + @else if $direction==down { | ||
| 56 | + border-top: $color-border-style; | ||
| 57 | + border-left: $transparent-border-style; | ||
| 58 | + border-right: $transparent-border-style; | ||
| 59 | + } | ||
| 60 | + | ||
| 61 | + @else if $direction==left { | ||
| 62 | + border-right: $color-border-style; | ||
| 63 | + border-top: $transparent-border-style; | ||
| 64 | + border-bottom: $transparent-border-style; | ||
| 65 | + } | ||
| 66 | +} |
src/styles/sidebar.scss
0 → 100644
| 1 | +#app { | ||
| 2 | + | ||
| 3 | + // 主体区域 Main container | ||
| 4 | + .main-container { | ||
| 5 | + min-height: 100%; | ||
| 6 | + transition: margin-left .28s; | ||
| 7 | + margin-left: $sideBarWidth; | ||
| 8 | + position: relative; | ||
| 9 | + } | ||
| 10 | + | ||
| 11 | + // 侧边栏 Sidebar container | ||
| 12 | + .sidebar-container { | ||
| 13 | + transition: width 0.28s; | ||
| 14 | + width: $sideBarWidth !important; | ||
| 15 | + height: 100%; | ||
| 16 | + position: fixed; | ||
| 17 | + font-size: 0px; | ||
| 18 | + top: 0; | ||
| 19 | + bottom: 0; | ||
| 20 | + left: 0; | ||
| 21 | + z-index: 1001; | ||
| 22 | + overflow: hidden; | ||
| 23 | + | ||
| 24 | + //reset element-ui css | ||
| 25 | + .horizontal-collapse-transition { | ||
| 26 | + transition: 0s width ease-in-out, 0s padding-left ease-in-out, 0s padding-right ease-in-out; | ||
| 27 | + } | ||
| 28 | + | ||
| 29 | + .scrollbar-wrapper { | ||
| 30 | + overflow-x: hidden !important; | ||
| 31 | + | ||
| 32 | + .el-scrollbar__view { | ||
| 33 | + height: 100%; | ||
| 34 | + } | ||
| 35 | + } | ||
| 36 | + | ||
| 37 | + .el-scrollbar__bar.is-vertical { | ||
| 38 | + right: 0px; | ||
| 39 | + } | ||
| 40 | + | ||
| 41 | + .is-horizontal { | ||
| 42 | + display: none; | ||
| 43 | + } | ||
| 44 | + | ||
| 45 | + a { | ||
| 46 | + display: inline-block; | ||
| 47 | + width: 100%; | ||
| 48 | + overflow: hidden; | ||
| 49 | + } | ||
| 50 | + | ||
| 51 | + .svg-icon { | ||
| 52 | + margin-right: 16px; | ||
| 53 | + } | ||
| 54 | + | ||
| 55 | + .el-menu { | ||
| 56 | + border: none; | ||
| 57 | + height: 100%; | ||
| 58 | + width: 100% !important; | ||
| 59 | + } | ||
| 60 | + | ||
| 61 | + // menu hover | ||
| 62 | + .submenu-title-noDropdown, | ||
| 63 | + .el-submenu__title { | ||
| 64 | + &:hover { | ||
| 65 | + background-color: $menuHover !important; | ||
| 66 | + } | ||
| 67 | + } | ||
| 68 | + | ||
| 69 | + .is-active>.el-submenu__title { | ||
| 70 | + color: $subMenuActiveText !important; | ||
| 71 | + } | ||
| 72 | + | ||
| 73 | + & .nest-menu .el-submenu>.el-submenu__title, | ||
| 74 | + & .el-submenu .el-menu-item { | ||
| 75 | + min-width: $sideBarWidth !important; | ||
| 76 | + background-color: $subMenuBg !important; | ||
| 77 | + | ||
| 78 | + &:hover { | ||
| 79 | + background-color: $subMenuHover !important; | ||
| 80 | + } | ||
| 81 | + } | ||
| 82 | + } | ||
| 83 | + | ||
| 84 | + .hideSidebar { | ||
| 85 | + .sidebar-container { | ||
| 86 | + width: 36px !important; | ||
| 87 | + } | ||
| 88 | + | ||
| 89 | + .main-container { | ||
| 90 | + margin-left: 36px; | ||
| 91 | + } | ||
| 92 | + | ||
| 93 | + .submenu-title-noDropdown { | ||
| 94 | + padding-left: 10px !important; | ||
| 95 | + position: relative; | ||
| 96 | + | ||
| 97 | + .el-tooltip { | ||
| 98 | + padding: 0 10px !important; | ||
| 99 | + } | ||
| 100 | + } | ||
| 101 | + | ||
| 102 | + .el-submenu { | ||
| 103 | + overflow: hidden; | ||
| 104 | + | ||
| 105 | + &>.el-submenu__title { | ||
| 106 | + padding-left: 10px !important; | ||
| 107 | + | ||
| 108 | + .el-submenu__icon-arrow { | ||
| 109 | + display: none; | ||
| 110 | + } | ||
| 111 | + } | ||
| 112 | + } | ||
| 113 | + | ||
| 114 | + .el-menu--collapse { | ||
| 115 | + .el-submenu { | ||
| 116 | + &>.el-submenu__title { | ||
| 117 | + &>span { | ||
| 118 | + height: 0; | ||
| 119 | + width: 0; | ||
| 120 | + overflow: hidden; | ||
| 121 | + visibility: hidden; | ||
| 122 | + display: inline-block; | ||
| 123 | + } | ||
| 124 | + } | ||
| 125 | + } | ||
| 126 | + } | ||
| 127 | + } | ||
| 128 | + | ||
| 129 | + .el-menu--collapse .el-menu .el-submenu { | ||
| 130 | + min-width: $sideBarWidth !important; | ||
| 131 | + } | ||
| 132 | + | ||
| 133 | + // 适配移动端, Mobile responsive | ||
| 134 | + .mobile { | ||
| 135 | + .main-container { | ||
| 136 | + margin-left: 0px; | ||
| 137 | + } | ||
| 138 | + | ||
| 139 | + .sidebar-container { | ||
| 140 | + transition: transform .28s; | ||
| 141 | + width: $sideBarWidth !important; | ||
| 142 | + } | ||
| 143 | + | ||
| 144 | + &.hideSidebar { | ||
| 145 | + .sidebar-container { | ||
| 146 | + pointer-events: none; | ||
| 147 | + transition-duration: 0.3s; | ||
| 148 | + transform: translate3d(-$sideBarWidth, 0, 0); | ||
| 149 | + } | ||
| 150 | + } | ||
| 151 | + } | ||
| 152 | + | ||
| 153 | + .withoutAnimation { | ||
| 154 | + | ||
| 155 | + .main-container, | ||
| 156 | + .sidebar-container { | ||
| 157 | + transition: none; | ||
| 158 | + } | ||
| 159 | + } | ||
| 160 | +} | ||
| 161 | + | ||
| 162 | +// when menu collapsed | ||
| 163 | +.el-menu--vertical { | ||
| 164 | + &>.el-menu { | ||
| 165 | + .svg-icon { | ||
| 166 | + margin-right: 16px; | ||
| 167 | + } | ||
| 168 | + } | ||
| 169 | + | ||
| 170 | + .nest-menu .el-submenu>.el-submenu__title, | ||
| 171 | + .el-menu-item { | ||
| 172 | + &:hover { | ||
| 173 | + // you can use $subMenuHover | ||
| 174 | + background-color: $menuHover !important; | ||
| 175 | + } | ||
| 176 | + } | ||
| 177 | + | ||
| 178 | + // the scroll bar appears when the subMenu is too long | ||
| 179 | + >.el-menu--popup { | ||
| 180 | + max-height: 100vh; | ||
| 181 | + overflow-y: auto; | ||
| 182 | + | ||
| 183 | + &::-webkit-scrollbar-track-piece { | ||
| 184 | + background: #d3dce6; | ||
| 185 | + } | ||
| 186 | + | ||
| 187 | + &::-webkit-scrollbar { | ||
| 188 | + width: 6px; | ||
| 189 | + } | ||
| 190 | + | ||
| 191 | + &::-webkit-scrollbar-thumb { | ||
| 192 | + background: #99a9bf; | ||
| 193 | + border-radius: 20px; | ||
| 194 | + } | ||
| 195 | + } | ||
| 196 | +} |
src/styles/transition.scss
0 → 100644
| 1 | +//globl transition css | ||
| 2 | + | ||
| 3 | +/*fade*/ | ||
| 4 | +.fade-enter-active, | ||
| 5 | +.fade-leave-active { | ||
| 6 | + transition: opacity 0.28s; | ||
| 7 | +} | ||
| 8 | + | ||
| 9 | +.fade-enter, | ||
| 10 | +.fade-leave-active { | ||
| 11 | + opacity: 0; | ||
| 12 | +} | ||
| 13 | + | ||
| 14 | +/*fade-transform*/ | ||
| 15 | +.fade-transform-leave-active, | ||
| 16 | +.fade-transform-enter-active { | ||
| 17 | + transition: all .5s; | ||
| 18 | +} | ||
| 19 | + | ||
| 20 | +.fade-transform-enter { | ||
| 21 | + opacity: 0; | ||
| 22 | + transform: translateX(-30px); | ||
| 23 | +} | ||
| 24 | + | ||
| 25 | +.fade-transform-leave-to { | ||
| 26 | + opacity: 0; | ||
| 27 | + transform: translateX(30px); | ||
| 28 | +} | ||
| 29 | + | ||
| 30 | +/*breadcrumb transition*/ | ||
| 31 | +.breadcrumb-enter-active, | ||
| 32 | +.breadcrumb-leave-active { | ||
| 33 | + transition: all .5s; | ||
| 34 | +} | ||
| 35 | + | ||
| 36 | +.breadcrumb-enter, | ||
| 37 | +.breadcrumb-leave-active { | ||
| 38 | + opacity: 0; | ||
| 39 | + transform: translateX(20px); | ||
| 40 | +} | ||
| 41 | + | ||
| 42 | +.breadcrumb-move { | ||
| 43 | + transition: all .5s; | ||
| 44 | +} | ||
| 45 | + | ||
| 46 | +.breadcrumb-leave-active { | ||
| 47 | + position: absolute; | ||
| 48 | +} |
src/styles/variables.scss
0 → 100644
| 1 | +// base color | ||
| 2 | +$blue:#324157; | ||
| 3 | +$light-blue:#3A71A8; | ||
| 4 | +$red:#C03639; | ||
| 5 | +$pink: #E65D6E; | ||
| 6 | +$green: #30B08F; | ||
| 7 | +$tiffany: #4AB7BD; | ||
| 8 | +$yellow:#FEC171; | ||
| 9 | +$panGreen: #30B08F; | ||
| 10 | + | ||
| 11 | +//sidebar | ||
| 12 | +$menuText:#bfcbd9; | ||
| 13 | +$menuActiveText:#409EFF; | ||
| 14 | +$subMenuActiveText:#f4f4f5; //https://github.com/ElemeFE/element/issues/12951 | ||
| 15 | + | ||
| 16 | +$menuBg:#304156; | ||
| 17 | +$menuHover:#263445; | ||
| 18 | + | ||
| 19 | +$subMenuBg:#1f2d3d; | ||
| 20 | +$subMenuHover:#001528; | ||
| 21 | + | ||
| 22 | +$sideBarWidth: 180px; | ||
| 23 | + | ||
| 24 | +// the :export directive is the magic sauce for webpack | ||
| 25 | +:export { | ||
| 26 | + menuText: $menuText; | ||
| 27 | + menuActiveText: $menuActiveText; | ||
| 28 | + subMenuActiveText: $subMenuActiveText; | ||
| 29 | + menuBg: $menuBg; | ||
| 30 | + menuHover: $menuHover; | ||
| 31 | + subMenuBg: $subMenuBg; | ||
| 32 | + subMenuHover: $subMenuHover; | ||
| 33 | + sideBarWidth: $sideBarWidth; | ||
| 34 | +} |
src/utils/customEval.js
100755 → 100644
| @@ -35,6 +35,50 @@ export function validAlphabets(str) { | @@ -35,6 +35,50 @@ export function validAlphabets(str) { | ||
| 35 | return reg.test(str) | 35 | return reg.test(str) |
| 36 | } | 36 | } |
| 37 | 37 | ||
| 38 | +/* 大小写字母数字*/ | ||
| 39 | +export function validAlphabetsAndNum(str) { | ||
| 40 | + const reg = /^[0-9A-Za-z]+$/ | ||
| 41 | + return reg.test(str) | ||
| 42 | +} | ||
| 43 | + | ||
| 44 | +/* 大小写字母数字空格*/ | ||
| 45 | +export function validAlphabetsAndSpanceKey(str) { | ||
| 46 | + const reg = /^[0-9a-zA-Z\s]+$/ | ||
| 47 | + return reg.test(str) | ||
| 48 | +} | ||
| 49 | + | ||
| 50 | +/** | ||
| 51 | + * 航班校验 | ||
| 52 | + */ | ||
| 53 | +export function validFlightNo(str) { | ||
| 54 | + const reg = /^[A-Z0-9]{6,7}$/ | ||
| 55 | + if(!reg.test(str)){ | ||
| 56 | + return false | ||
| 57 | + } | ||
| 58 | + const flightNoPre = /^[A-Z]+$/ | ||
| 59 | + if(!flightNoPre.test(str.substring(0,2))){ | ||
| 60 | + return false | ||
| 61 | + } else { | ||
| 62 | + return true | ||
| 63 | + } | ||
| 64 | +} | ||
| 65 | + | ||
| 66 | +/** | ||
| 67 | + * 主单校验 | ||
| 68 | + */ | ||
| 69 | +export function validAwb(str) { | ||
| 70 | + const reg = /^[0-9\-]{12}$/ | ||
| 71 | + if(!reg.test(str)){ | ||
| 72 | + return false | ||
| 73 | + } | ||
| 74 | + const result = str.split("-")[1] | ||
| 75 | + const num = (result.substring(0,7)) % 7 | ||
| 76 | + if(num === eval(str.substring(11)) ){ | ||
| 77 | + return true | ||
| 78 | + } else { | ||
| 79 | + return false | ||
| 80 | + } | ||
| 81 | +} | ||
| 38 | /** | 82 | /** |
| 39 | * validate email | 83 | * validate email |
| 40 | * @param email | 84 | * @param email |
| @@ -44,3 +88,25 @@ export function validEmail(email) { | @@ -44,3 +88,25 @@ export function validEmail(email) { | ||
| 44 | const re = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/ | 88 | const re = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/ |
| 45 | return re.test(email) | 89 | return re.test(email) |
| 46 | } | 90 | } |
| 91 | + | ||
| 92 | +/** | ||
| 93 | + * | ||
| 94 | + * 整数和小数,小数最多两位 | ||
| 95 | + * @param value | ||
| 96 | + * @returns {boolean} | ||
| 97 | + */ | ||
| 98 | +export function validatorNum(value) { | ||
| 99 | + const reg = /^(\d*)+(\.[0-9]{1,2})?$/ | ||
| 100 | + return reg.test(value) | ||
| 101 | +} | ||
| 102 | + | ||
| 103 | + | ||
| 104 | +/** | ||
| 105 | + * 关区校验 4位数字 | ||
| 106 | + * @param value | ||
| 107 | + * @returns {boolean} | ||
| 108 | + */ | ||
| 109 | +export function validatorCustomsNum(value) { | ||
| 110 | + const reg = /^(\d{4})$/ | ||
| 111 | + return reg.test(value) | ||
| 112 | +} |
| 1 | <template> | 1 | <template> |
| 2 | - <el-row class="container"> | ||
| 3 | - <el-col :span="24" class="header"> | ||
| 4 | - <el-col :span="10" class="logo" :class="collapsed?'logo-collapse-width':'logo-width'"> | ||
| 5 | - {{collapsed?'':sysName}} | ||
| 6 | - </el-col> | ||
| 7 | - <el-col :span="10"> | ||
| 8 | - <div class="tools" @click.prevent="collapse"> | ||
| 9 | - <i class="fa fa-align-justify"></i> | ||
| 10 | - </div> | ||
| 11 | - </el-col> | ||
| 12 | - <el-col :span="4" class="userinfo"> | ||
| 13 | - <el-dropdown trigger="hover"> | ||
| 14 | - <span class="el-dropdown-link userinfo-inner"><img :src="this.sysUserAvatar" /> {{sysUserName}}</span> | ||
| 15 | - <el-dropdown-menu slot="dropdown"> | ||
| 16 | - <el-dropdown-item>我的消息</el-dropdown-item> | ||
| 17 | - <el-dropdown-item>设置</el-dropdown-item> | ||
| 18 | - <el-dropdown-item divided @click.native="logout">退出登录</el-dropdown-item> | ||
| 19 | - </el-dropdown-menu> | ||
| 20 | - </el-dropdown> | ||
| 21 | - </el-col> | ||
| 22 | - </el-col> | ||
| 23 | - <el-col :span="24" class="main"> | ||
| 24 | - <aside :class="collapsed?'menu-collapsed':'menu-expanded'"> | ||
| 25 | - <!--导航菜单--> | ||
| 26 | - <el-menu :default-active="$route.path" class="el-menu-vertical-demo" @open="handleopen" @close="handleclose" @select="handleselect" unique-opened router v-show="!collapsed" style="min-width: 230px" background-color="#545c64" text-color="#fff" active-text-color="#ffd04b"> | ||
| 27 | - <template v-for="(item,index) in $router.options.routes" v-if="!item.hidden"> | ||
| 28 | - <el-submenu :index="index+''" v-if="!item.leaf"> | ||
| 29 | - <template slot="title"><i :class="item.iconCls"></i>{{item.name}}</template> | ||
| 30 | - <el-menu-item v-for="child in item.children" :index="child.path" :key="child.path" v-if="!child.hidden">{{child.name}}</el-menu-item> | ||
| 31 | - </el-submenu> | ||
| 32 | - <el-menu-item v-if="item.leaf&&item.children.length>0" :index="item.children[0].path"><i :class="item.iconCls"></i>{{item.children[0].name}}</el-menu-item> | ||
| 33 | - </template> | ||
| 34 | - </el-menu> | ||
| 35 | - <!--导航菜单-折叠后--> | ||
| 36 | - <ul class="el-menu el-menu-vertical-demo collapsed" v-show="collapsed" ref="menuCollapsed"> | ||
| 37 | - <li v-for="(item,index) in $router.options.routes" v-if="!item.hidden" class="el-submenu item"> | ||
| 38 | - <template v-if="!item.leaf"> | ||
| 39 | - <div class="el-submenu__title" style="padding-left: 20px;" @mouseover="showMenu(index,true)" @mouseout="showMenu(index,false)"><i :class="item.iconCls"></i></div> | ||
| 40 | - <ul class="el-menu submenu" :class="'submenu-hook-'+index" @mouseover="showMenu(index,true)" @mouseout="showMenu(index,false)"> | ||
| 41 | - <li v-for="child in item.children" v-if="!child.hidden" :key="child.path" class="el-menu-item" style="padding-left: 40px;" :class="$route.path==child.path?'is-active':''" @click="$router.push(child.path)">{{child.name}}</li> | ||
| 42 | - </ul> | ||
| 43 | - </template> | ||
| 44 | - <template v-else> | ||
| 45 | - <li class="el-submenu"> | ||
| 46 | - <div class="el-submenu__title el-menu-item" style="padding-left: 20px;height: 56px;line-height: 56px;padding: 0 20px;" :class="$route.path==item.children[0].path?'is-active':''" @click="$router.push(item.children[0].path)"><i :class="item.iconCls"></i></div> | ||
| 47 | - </li> | ||
| 48 | - </template> | ||
| 49 | - </li> | ||
| 50 | - </ul> | ||
| 51 | - </aside> | ||
| 52 | - <section class="content-container"> | ||
| 53 | - <div class="grid-content bg-purple-light"> | ||
| 54 | - <el-col :span="24" class="breadcrumb-container"> | ||
| 55 | - <strong class="title">{{$route.name}}</strong> | ||
| 56 | - <el-breadcrumb separator="/" class="breadcrumb-inner"> | ||
| 57 | - <el-breadcrumb-item v-for="item in $route.matched" :key="item.path"> | ||
| 58 | - {{ item.name }} | ||
| 59 | - </el-breadcrumb-item> | ||
| 60 | - </el-breadcrumb> | ||
| 61 | - </el-col> | ||
| 62 | - <el-col :span="24" class="content-wrapper"> | ||
| 63 | - <transition name="fade" mode="out-in"> | ||
| 64 | - <router-view></router-view> | ||
| 65 | - </transition> | ||
| 66 | - </el-col> | ||
| 67 | - </div> | ||
| 68 | - </section> | ||
| 69 | - </el-col> | ||
| 70 | - </el-row> | ||
| 71 | -</template> | 2 | + <el-row class="container darkmenu" style="margin-top: 0px;"> |
| 3 | + <el-col :span="24" class="header"> | ||
| 4 | + <el-col :span="10" class="logo" :class="collapsed?'logo-collapse-width':'logo-width'"> | ||
| 5 | + {{collapsed?'':sysName}} | ||
| 6 | + </el-col> | ||
| 7 | + <el-col :span="10"> | ||
| 8 | + <div class="tools" @click.prevent="collapse"> | ||
| 9 | + <i class="fa fa-align-justify"></i> | ||
| 10 | + </div> | ||
| 11 | + </el-col> | ||
| 12 | + <el-col :span="4" class="userinfo"> | ||
| 13 | + <el-dropdown trigger="hover"> | ||
| 14 | + <span class="el-dropdown-link userinfo-inner"><img :src="this.sysUserAvatar" /> {{sysUserName}}</span> | ||
| 15 | + <el-dropdown-menu slot="dropdown"> | ||
| 16 | + <el-dropdown-item>我的消息</el-dropdown-item> | ||
| 17 | + <el-dropdown-item @click.native="editPass">修改密码</el-dropdown-item> | ||
| 18 | + <el-dropdown-item divided @click.native="logout">退出登录</el-dropdown-item> | ||
| 19 | + </el-dropdown-menu> | ||
| 20 | + </el-dropdown> | ||
| 21 | + </el-col> | ||
| 22 | + </el-col> | ||
| 23 | + <el-col> | ||
| 24 | + <el-dialog title="修改密码" :visible.sync="dialogFormVisible"> | ||
| 25 | + <el-form :model="resetForm" status-icon :rules="resetFormRules" ref="resetForm" label-width="100px"> | ||
| 26 | + <el-form-item label="用户名" prop="name"> | ||
| 27 | + <span>{{sysUserName}}</span> | ||
| 28 | + </el-form-item> | ||
| 29 | + <el-form-item label="新密码" prop="newpwd"> | ||
| 30 | + <el-input type="password" v-model="resetForm.newpwd" autocomplete="off" placeholder="8-20位字符在数字、小写、大写字母以及特殊字符中四选三"></el-input> | ||
| 31 | + </el-form-item> | ||
| 32 | + <el-form-item label="确认密码" prop="renewpwd"> | ||
| 33 | + <el-input type="password" v-model="resetForm.renewpwd" auto-complete="off"></el-input> | ||
| 34 | + </el-form-item> | ||
| 35 | + <el-form-item> | ||
| 36 | + <el-button type="primary" @click="submitEdit('resetForm')" style="float:right">提 交</el-button> | ||
| 37 | + </el-form-item> | ||
| 72 | 38 | ||
| 39 | + </el-form> | ||
| 40 | + </el-dialog> | ||
| 41 | + </el-col> | ||
| 42 | + <el-col :span="24" class="main"> | ||
| 43 | + <aside :class="collapsed?'menu-collapsed':'menu-expanded'"> | ||
| 44 | + <!--导航菜单--> | ||
| 45 | + <el-menu :default-active="$route.path" class="el-menu-vertical-demo" @open="handleopen" @close="handleclose" @select="handleselect" unique-opened router v-show="!collapsed" style="min-width: 230px"> | ||
| 46 | + <template v-for="(item,index) in $router.options.routes" v-if="!item.hidden"> | ||
| 47 | + <el-submenu :index="index+''" v-if="!item.leaf"> | ||
| 48 | + <template slot="title"><i :class="item.iconCls"></i>{{item.name}}</template> | ||
| 49 | + <el-menu-item v-for="child in item.children" :index="child.path" :key="child.path" v-if="!child.hidden">{{child.name}}</el-menu-item> | ||
| 50 | + </el-submenu> | ||
| 51 | + <el-menu-item v-if="item.leaf&&item.children.length>0" :index="item.children[0].path"><i :class="item.iconCls"></i>{{item.children[0].name}}</el-menu-item> | ||
| 52 | + </template> | ||
| 53 | + </el-menu> | ||
| 54 | + <!--导航菜单-折叠后--> | ||
| 55 | + <ul class="el-menu el-menu-vertical-demo collapsed" v-show="collapsed" ref="menuCollapsed"> | ||
| 56 | + <li v-for="(item,index) in $router.options.routes" v-if="!item.hidden" class="el-submenu item"> | ||
| 57 | + <template v-if="!item.leaf"> | ||
| 58 | + <div class="el-submenu__title" style="padding-left: 20px;" @mouseover="showMenu(index,true)" @mouseout="showMenu(index,false)"><i :class="item.iconCls"></i></div> | ||
| 59 | + <ul class="el-menu submenu" :class="'submenu-hook-'+index" @mouseover="showMenu(index,true)" @mouseout="showMenu(index,false)"> | ||
| 60 | + <li v-for="child in item.children" v-if="!child.hidden" :key="child.path" class="el-menu-item" style="padding-left: 40px;" :class="$route.path==child.path?'is-active':''" @click="$router.push(child.path)">{{child.name}}</li> | ||
| 61 | + </ul> | ||
| 62 | + </template> | ||
| 63 | + <template v-else> | ||
| 64 | + <li class="el-submenu"> | ||
| 65 | + <div class="el-submenu__title el-menu-item" style="padding-left: 20px;height: 56px;line-height: 56px;padding: 0 20px;" :class="$route.path==item.children[0].path?'is-active':''" @click="$router.push(item.children[0].path)"><i :class="item.iconCls"></i></div> | ||
| 66 | + </li> | ||
| 67 | +</template> | ||
| 68 | +</li> | ||
| 69 | +</ul> | ||
| 70 | +</aside> | ||
| 71 | +<section class="content-container"> | ||
| 72 | + <div class="grid-content bg-purple-light"> | ||
| 73 | + <el-col :span="24" class="breadcrumb-container"> | ||
| 74 | + <strong class="title">{{$route.name}}</strong> | ||
| 75 | + <el-breadcrumb separator="/" class="breadcrumb-inner"> | ||
| 76 | + <el-breadcrumb-item v-for="item in $route.matched" :key="item.path"> | ||
| 77 | + {{ item.name }} | ||
| 78 | + </el-breadcrumb-item> | ||
| 79 | + </el-breadcrumb> | ||
| 80 | + </el-col> | ||
| 81 | + <el-col :span="24" class="content-wrapper"> | ||
| 82 | + <transition name="fade" mode="out-in"> | ||
| 83 | + <router-view :key="$route.path +$route.query.t"></router-view> | ||
| 84 | + </transition> | ||
| 85 | + </el-col> | ||
| 86 | + </div> | ||
| 87 | +</section> | ||
| 88 | +</el-col> | ||
| 89 | +</el-row> | ||
| 90 | +</template> | ||
| 73 | 91 | ||
| 74 | <script> | 92 | <script> |
| 75 | import rt from '../routes' | 93 | import rt from '../routes' |
| 94 | + import { editPass} from '../api/user'; | ||
| 95 | + import ElFormItem from "element-ui/packages/form/src/form-item"; | ||
| 76 | export default { | 96 | export default { |
| 77 | - data() { | ||
| 78 | - return { | ||
| 79 | - sysName:'后勤管理平台', | ||
| 80 | - collapsed:false, | ||
| 81 | - sysUserName: '', | ||
| 82 | - sysUserAvatar: '', | ||
| 83 | - form: { | ||
| 84 | - name: '', | ||
| 85 | - region: '', | ||
| 86 | - date1: '', | ||
| 87 | - date2: '', | ||
| 88 | - delivery: false, | ||
| 89 | - type: [], | ||
| 90 | - resource: '', | ||
| 91 | - desc: '' | ||
| 92 | - } | ||
| 93 | - } | ||
| 94 | - }, | ||
| 95 | - methods: { | ||
| 96 | - onSubmit() { | ||
| 97 | - console.log('submit!'); | ||
| 98 | - }, | ||
| 99 | - handleopen() { | ||
| 100 | - console.log('handleopen'); | ||
| 101 | - }, | ||
| 102 | - handleclose() { | ||
| 103 | - console.log('handleclose'); | ||
| 104 | - }, | ||
| 105 | - handleselect: function (a, b) { | ||
| 106 | - console.log('handleselect!'); | ||
| 107 | - }, | ||
| 108 | - //退出登录 | ||
| 109 | - logout: function () { | ||
| 110 | - var _this = this; | ||
| 111 | - this.$confirm('确认退出吗?', '提示', { | ||
| 112 | - //type: 'warning' | ||
| 113 | - }).then(() => { | ||
| 114 | - sessionStorage.removeItem('user'); | ||
| 115 | - sessionStorage.removeItem('menu'); | ||
| 116 | 97 | ||
| 98 | + provide() { | ||
| 99 | + return { | ||
| 100 | + reload: this.reload | ||
| 101 | + } | ||
| 102 | + }, | ||
| 103 | + components: {ElFormItem}, | ||
| 104 | + data() { | ||
| 105 | + var validatePass = (rule, value, callback) => { | ||
| 106 | + if (!value) { | ||
| 107 | + callback(new Error('请输入新密码')); | ||
| 108 | + }else { | ||
| 109 | + var ls=0; | ||
| 110 | + if(value.match(/([a-z])+/)){ | ||
| 111 | + ls++; | ||
| 112 | + } if(value.match(/([0-9])+/)){ | ||
| 113 | + ls++; | ||
| 114 | + } if(value.match(/([A-Z])+/)){ | ||
| 115 | + ls++; | ||
| 116 | + } if((/([\W])+/) && !value.match(/(![\u4E00-\u9FA5])+/)){ | ||
| 117 | + ls++; | ||
| 118 | + } if (value.toString().length < 8 || value.toString().length > 20) { | ||
| 119 | + callback(new Error('密码长度为8 - 20个字符')); | ||
| 120 | + ls=0; | ||
| 121 | + } if(value.match(/([\u4E00-\u9FA5])+/)){ | ||
| 122 | + callback(new Error('不能包含中文字符')); | ||
| 123 | + ls=0; | ||
| 124 | + } | ||
| 125 | + switch (ls) { | ||
| 126 | + case 0: this.passwordPercent = 0;callback(new Error('数字、小写字母、大写字母以及特殊字符中四选三'));break; | ||
| 127 | + case 1: this.passwordPercent = 33;callback(new Error('数字、小写字母、大写字母以及特殊字符中四选三'));break; | ||
| 128 | + case 2: this.passwordPercent = 66;callback(new Error('数字、小写字母 、大写字母以及特殊字符中四选三'));break; | ||
| 129 | + case 3: | ||
| 130 | + case 4: this.passwordPercent = 100;break; | ||
| 131 | + default: this.passwordPercent = 0;break; | ||
| 132 | + } | ||
| 133 | + callback(); | ||
| 134 | + } | ||
| 135 | + | ||
| 136 | + }; | ||
| 137 | + | ||
| 138 | + var validatePass2 = (rule, value, callback) => { | ||
| 139 | + if (value === '') { | ||
| 140 | + callback(new Error('请再次输入密码')); | ||
| 141 | + } else if (value !== this.resetForm.newpwd) { | ||
| 142 | + callback(new Error('两次输入密码不一致!')); | ||
| 143 | + } else { | ||
| 144 | + callback(); | ||
| 145 | + } | ||
| 146 | + }; | ||
| 147 | + return { | ||
| 148 | + sysName:'易通快速通关申报管理系统', | ||
| 149 | + collapsed:false, | ||
| 150 | + sysUserName: '', | ||
| 151 | + sysUserId:'', | ||
| 152 | + sysUserAvatar: '', | ||
| 153 | + isRouterAlive: true, | ||
| 154 | + form: { | ||
| 155 | + name: '', | ||
| 156 | + region: '', | ||
| 157 | + date1: '', | ||
| 158 | + date2: '', | ||
| 159 | + delivery: false, | ||
| 160 | + type: [], | ||
| 161 | + resource: '', | ||
| 162 | + desc: '' | ||
| 163 | + }, | ||
| 164 | + dialogFormVisible:false, | ||
| 165 | + resetForm: { | ||
| 166 | + newpwd: '', | ||
| 167 | + renewpwd: '', | ||
| 168 | + }, | ||
| 169 | + resetFormRules: { | ||
| 170 | + newpwd: [ | ||
| 171 | + { required: true, validator: validatePass, trigger: 'blur' } | ||
| 172 | + ], | ||
| 173 | + renewpwd: [ | ||
| 174 | + { required: true, validator: validatePass2, trigger: 'blur' } | ||
| 175 | + ] | ||
| 176 | + }, | ||
| 177 | + editForm: { | ||
| 178 | + userId: '', | ||
| 179 | + password: '', | ||
| 180 | + }, | ||
| 181 | + } | ||
| 182 | + }, | ||
| 183 | + methods: { | ||
| 184 | + reload() { | ||
| 185 | + this.$nextTick(function () { | ||
| 186 | + this.$router.push({ | ||
| 187 | + path: this.$router.path, | ||
| 188 | + query:{ | ||
| 189 | + t: new Date().getTime() | ||
| 190 | + } | ||
| 191 | + }) | ||
| 192 | + }) | ||
| 193 | + }, | ||
| 194 | + editPass:function(){ | ||
| 195 | + this.dialogFormVisible=true; | ||
| 196 | + }, | ||
| 197 | + submitEdit(formName){ | ||
| 198 | + this.$refs[formName].validate((valid) => { | ||
| 199 | + if (valid) { | ||
| 200 | + this.editForm.userId=this.sysUserId; | ||
| 201 | + this.editForm.password=this.resetForm.renewpwd; | ||
| 202 | + editPass(this.editForm).then(res=>{ | ||
| 203 | + let response=res.data; | ||
| 204 | + if(response.code=='200'){ | ||
| 205 | + this.$notify({ | ||
| 206 | + title: '密码修改成功', | ||
| 207 | + message: '密码修改成功,退出请重新登录', | ||
| 208 | + type: 'success' | ||
| 209 | + }); | ||
| 210 | + this.dialogFormVisible=false; | ||
| 211 | + }else{ | ||
| 212 | + this.$notify.error({ | ||
| 213 | + title: '密码修改失败', | ||
| 214 | + message: '密码修改失败!!!' | ||
| 215 | + }); | ||
| 216 | + } | ||
| 217 | + }); | ||
| 218 | + } else { | ||
| 219 | + console.log('error submit!!'); | ||
| 220 | + return false; | ||
| 221 | + } | ||
| 222 | + }); | ||
| 223 | + }, | ||
| 224 | + onSubmit() { | ||
| 225 | + console.log('submit!'); | ||
| 226 | + }, | ||
| 227 | + handleopen() { | ||
| 228 | + console.log('handleopen'); | ||
| 229 | + }, | ||
| 230 | + handleclose() { | ||
| 231 | + console.log('handleclose'); | ||
| 232 | + }, | ||
| 233 | + handleselect: function (a, b) { | ||
| 234 | + this.reload() | ||
| 235 | + }, | ||
| 236 | + //退出登录 | ||
| 237 | + logout: function () { | ||
| 238 | + var _this = this; | ||
| 239 | + this.$confirm('确认退出吗?', '提示', { | ||
| 240 | + //type: 'warning' | ||
| 241 | + }).then(() => { | ||
| 242 | + sessionStorage.removeItem('user'); | ||
| 243 | + sessionStorage.removeItem('menu'); | ||
| 117 | //退出后初始化原来的路由 | 244 | //退出后初始化原来的路由 |
| 118 | let sysRoutes = JSON.parse(sessionStorage.getItem('sysMenu')); | 245 | let sysRoutes = JSON.parse(sessionStorage.getItem('sysMenu')); |
| 119 | console.log(sysRoutes); | 246 | console.log(sysRoutes); |
| 120 | - _this.$router.options.routes = sysRoutes; | 247 | + _this.$router.options.routes = sysRoutes; |
| 121 | 248 | ||
| 122 | - _this.$router.push('/login'); | ||
| 123 | - }).catch(() => { | 249 | + _this.$router.push('/login'); |
| 250 | + }).catch(() => { | ||
| 124 | 251 | ||
| 125 | - }); | 252 | + }); |
| 126 | 253 | ||
| 127 | 254 | ||
| 128 | - }, | ||
| 129 | - //折叠导航栏 | ||
| 130 | - collapse:function(){ | ||
| 131 | - this.collapsed=!this.collapsed; | ||
| 132 | - }, | ||
| 133 | - showMenu(i,status){ | ||
| 134 | - this.$refs.menuCollapsed.getElementsByClassName('submenu-hook-'+i)[0].style.display=status?'block':'none'; | ||
| 135 | - } | ||
| 136 | - }, | ||
| 137 | - mounted() { | 255 | + }, |
| 256 | + //折叠导航栏 | ||
| 257 | + collapse:function(){ | ||
| 258 | + this.collapsed=!this.collapsed; | ||
| 259 | + }, | ||
| 260 | + showMenu(i,status){ | ||
| 261 | + this.$refs.menuCollapsed.getElementsByClassName('submenu-hook-'+i)[0].style.display=status?'block':'none'; | ||
| 262 | + } | ||
| 263 | + }, | ||
| 264 | + mounted() { | ||
| 138 | var _this = this; | 265 | var _this = this; |
| 139 | - var user = sessionStorage.getItem('user'); | ||
| 140 | - if (user) { | ||
| 141 | - user = JSON.parse(user); | ||
| 142 | - this.sysUserName = user.username || ''; | ||
| 143 | - this.sysUserAvatar = user.userface || '/static/images/faceDefault.jpg'; | ||
| 144 | - } | ||
| 145 | - //操作路由,判断本地存储的用户栏目列表是否存在,如果存在则加载路由 | ||
| 146 | - var userRouters = sessionStorage.getItem('menu'); | ||
| 147 | - if (userRouters) { | 266 | + var user = sessionStorage.getItem('user'); |
| 267 | + if (user) { | ||
| 268 | + user = JSON.parse(user); | ||
| 269 | + this.sysUserName = user.username || ''; | ||
| 270 | + this.sysUserId=user.userId||''; | ||
| 271 | + this.sysUserAvatar = user.userface || '/static/images/faceDefault.jpg'; | ||
| 272 | + } | ||
| 273 | + //操作路由,判断本地存储的用户栏目列表是否存在,如果存在则加载路由 | ||
| 274 | + var userRouters = sessionStorage.getItem('menu'); | ||
| 275 | + if (userRouters) { | ||
| 148 | userRouters = JSON.parse(userRouters); | 276 | userRouters = JSON.parse(userRouters); |
| 149 | _this.$router.options.routes = userRouters; | 277 | _this.$router.options.routes = userRouters; |
| 150 | console.log("home:"); | 278 | console.log("home:"); |
| 151 | console.log(_this.$router.options.routes); | 279 | console.log(_this.$router.options.routes); |
| 152 | - } | ||
| 153 | - } | ||
| 154 | - } | 280 | + } |
| 281 | + } | ||
| 282 | + } | ||
| 155 | 283 | ||
| 156 | </script> | 284 | </script> |
| 157 | 285 | ||
| 158 | <style scoped lang="scss"> | 286 | <style scoped lang="scss"> |
| 159 | - @import '~scss_vars'; | ||
| 160 | - | ||
| 161 | - .container { | ||
| 162 | - position: absolute; | ||
| 163 | - top: 0px; | ||
| 164 | - bottom: 0px; | ||
| 165 | - width: 100%; | ||
| 166 | - .header { | ||
| 167 | - height: 60px; | ||
| 168 | - line-height: 60px; | ||
| 169 | - background: $color-primary; | ||
| 170 | - color:#fff; | ||
| 171 | - .userinfo { | ||
| 172 | - text-align: right; | ||
| 173 | - padding-right: 35px; | ||
| 174 | - float: right; | ||
| 175 | - .userinfo-inner { | ||
| 176 | - cursor: pointer; | ||
| 177 | - color:#fff; | ||
| 178 | - img { | ||
| 179 | - width: 40px; | ||
| 180 | - height: 40px; | ||
| 181 | - border-radius: 20px; | ||
| 182 | - margin: 10px 0px 10px 10px; | ||
| 183 | - float: right; | ||
| 184 | - } | ||
| 185 | - } | ||
| 186 | - } | ||
| 187 | - .logo { | ||
| 188 | - //width:230px; | ||
| 189 | - height:60px; | ||
| 190 | - font-size: 22px; | ||
| 191 | - padding-left:20px; | ||
| 192 | - padding-right:20px; | ||
| 193 | - border-color: rgba(238,241,146,0.3); | ||
| 194 | - border-right-width: 1px; | ||
| 195 | - border-right-style: solid; | ||
| 196 | - img { | ||
| 197 | - width: 40px; | ||
| 198 | - float: left; | ||
| 199 | - margin: 10px 10px 10px 18px; | ||
| 200 | - } | ||
| 201 | - .txt { | ||
| 202 | - color:#fff; | ||
| 203 | - } | ||
| 204 | - } | ||
| 205 | - .logo-width{ | ||
| 206 | - width:230px; | ||
| 207 | - } | ||
| 208 | - .logo-collapse-width{ | ||
| 209 | - width:60px | ||
| 210 | - } | ||
| 211 | - .tools{ | ||
| 212 | - padding: 0px 23px; | ||
| 213 | - width:14px; | ||
| 214 | - height: 60px; | ||
| 215 | - line-height: 60px; | ||
| 216 | - cursor: pointer; | ||
| 217 | - } | ||
| 218 | - } | ||
| 219 | - .main { | ||
| 220 | - display: flex; | ||
| 221 | - // background: #324057; | ||
| 222 | - position: absolute; | ||
| 223 | - top: 60px; | ||
| 224 | - bottom: 0px; | ||
| 225 | - overflow: hidden; | ||
| 226 | - aside { | ||
| 227 | - flex:0 0 230px; | ||
| 228 | - width: 230px; | ||
| 229 | - // position: absolute; | ||
| 230 | - // top: 0px; | ||
| 231 | - // bottom: 0px; | ||
| 232 | - .el-menu{ | ||
| 233 | - height: 100%; | ||
| 234 | - } | ||
| 235 | - .collapsed{ | ||
| 236 | - width:60px; | ||
| 237 | - .item{ | ||
| 238 | - position: relative; | ||
| 239 | - } | ||
| 240 | - .submenu{ | ||
| 241 | - position:absolute; | ||
| 242 | - top:0px; | ||
| 243 | - left:60px; | ||
| 244 | - z-index:99999; | ||
| 245 | - height:auto; | ||
| 246 | - display:none; | ||
| 247 | - } | 287 | + @import '~scss_vars'; |
| 288 | + .container { | ||
| 289 | + position: absolute; | ||
| 290 | + top: 0px; | ||
| 291 | + bottom: 0px; | ||
| 292 | + width: 100%; | ||
| 293 | + .header { | ||
| 294 | + height: 60px; | ||
| 295 | + line-height: 60px; | ||
| 296 | + background: $color-primary url("/static/images/air-banner.png"); | ||
| 297 | + color:#fff; | ||
| 298 | + .userinfo { | ||
| 299 | + text-align: right; | ||
| 300 | + padding-right: 35px; | ||
| 301 | + float: right; | ||
| 302 | + .userinfo-inner { | ||
| 303 | + cursor: pointer; | ||
| 304 | + color:#fff; | ||
| 305 | + img { | ||
| 306 | + width: 40px; | ||
| 307 | + height: 40px; | ||
| 308 | + border-radius: 20px; | ||
| 309 | + margin: 10px 0px 10px 10px; | ||
| 310 | + float: right; | ||
| 311 | + } | ||
| 312 | + } | ||
| 313 | + } | ||
| 314 | + .logo { | ||
| 315 | + //width:230px; | ||
| 316 | + height:60px; | ||
| 317 | + font-size: 22px; | ||
| 318 | + padding-left:20px; | ||
| 319 | + padding-right:20px; | ||
| 320 | + border-color: rgba(238,241,146,0.3); | ||
| 321 | + border-right-width: 1px; | ||
| 322 | + border-right-style: solid; | ||
| 323 | + img { | ||
| 324 | + width: 40px; | ||
| 325 | + float: left; | ||
| 326 | + margin: 10px 10px 10px 18px; | ||
| 327 | + } | ||
| 328 | + .txt { | ||
| 329 | + color:#fff; | ||
| 330 | + } | ||
| 331 | + } | ||
| 332 | + .logo-width{ | ||
| 333 | + width:230px; | ||
| 334 | + } | ||
| 335 | + .logo-collapse-width{ | ||
| 336 | + width:60px | ||
| 337 | + } | ||
| 338 | + .tools{ | ||
| 339 | + padding: 0px 23px; | ||
| 340 | + width:14px; | ||
| 341 | + height: 60px; | ||
| 342 | + line-height: 60px; | ||
| 343 | + cursor: pointer; | ||
| 344 | + } | ||
| 345 | + } | ||
| 346 | + .main { | ||
| 347 | + display: flex; | ||
| 348 | + // background: #324057; | ||
| 349 | + position: absolute; | ||
| 350 | + top: 60px; | ||
| 351 | + bottom: 0px; | ||
| 352 | + overflow: hidden; | ||
| 353 | + aside { | ||
| 354 | + flex:0 0 230px; | ||
| 355 | + width: 230px; | ||
| 356 | + // position: absolute; | ||
| 357 | + // top: 0px; | ||
| 358 | + // bottom: 0px; | ||
| 359 | + .collapsed{ | ||
| 360 | + width:60px; | ||
| 361 | + .item{ | ||
| 362 | + position: relative; | ||
| 363 | + } | ||
| 364 | + .submenu{ | ||
| 365 | + position:absolute; | ||
| 366 | + top:0px; | ||
| 367 | + left:60px; | ||
| 368 | + z-index:99999; | ||
| 369 | + height:auto; | ||
| 370 | + display:none; | ||
| 371 | + } | ||
| 248 | 372 | ||
| 249 | - } | ||
| 250 | - } | ||
| 251 | - .menu-collapsed{ | ||
| 252 | - flex:0 0 60px; | ||
| 253 | - width: 60px; | ||
| 254 | - } | ||
| 255 | - .menu-expanded{ | ||
| 256 | - flex:0 0 230px; | ||
| 257 | - width: 230px; | ||
| 258 | - } | ||
| 259 | - .menu-expanded ul{ | ||
| 260 | - width: 230px; | ||
| 261 | - } | ||
| 262 | - .content-container { | ||
| 263 | - // background: #f1f2f7; | ||
| 264 | - flex:1; | ||
| 265 | - // position: absolute; | ||
| 266 | - // right: 0px; | ||
| 267 | - // top: 0px; | ||
| 268 | - // bottom: 0px; | ||
| 269 | - // left: 230px; | ||
| 270 | - overflow-y: scroll; | ||
| 271 | - padding: 20px; | ||
| 272 | - .breadcrumb-container { | ||
| 273 | - //margin-bottom: 15px; | ||
| 274 | - .title { | ||
| 275 | - width: 200px; | ||
| 276 | - float: left; | ||
| 277 | - color: #475669; | ||
| 278 | - } | ||
| 279 | - .breadcrumb-inner { | ||
| 280 | - float: right; | ||
| 281 | - } | ||
| 282 | - } | ||
| 283 | - .content-wrapper { | ||
| 284 | - background-color: #fff; | ||
| 285 | - box-sizing: border-box; | ||
| 286 | - } | ||
| 287 | - } | ||
| 288 | - } | ||
| 289 | - } | 373 | + } |
| 374 | + } | ||
| 375 | + .menu-collapsed{ | ||
| 376 | + flex:0 0 60px; | ||
| 377 | + width: 60px; | ||
| 378 | + } | ||
| 379 | + .menu-expanded{ | ||
| 380 | + flex:0 0 230px; | ||
| 381 | + width: 230px; | ||
| 382 | + } | ||
| 383 | + .menu-expanded ul{ | ||
| 384 | + width: 230px; | ||
| 385 | + } | ||
| 386 | + .content-container { | ||
| 387 | + // background: #f1f2f7; | ||
| 388 | + flex:1; | ||
| 389 | + // position: absolute; | ||
| 390 | + // right: 0px; | ||
| 391 | + // top: 0px; | ||
| 392 | + // bottom: 0px; | ||
| 393 | + // left: 230px; | ||
| 394 | + overflow-y: scroll; | ||
| 395 | + padding: 10px; | ||
| 396 | + .breadcrumb-container { | ||
| 397 | + //margin-bottom: 15px; | ||
| 398 | + .title { | ||
| 399 | + width: 200px; | ||
| 400 | + float: left; | ||
| 401 | + color: #475669; | ||
| 402 | + margin-left: 10px; | ||
| 403 | + } | ||
| 404 | + .breadcrumb-inner { | ||
| 405 | + float: right; | ||
| 406 | + margin-right:10px; | ||
| 407 | + } | ||
| 408 | + .el-breadcrumb{ | ||
| 409 | + line-height:36px; | ||
| 410 | + } | ||
| 411 | + } | ||
| 412 | + .content-wrapper { | ||
| 413 | + background-color: #fff; | ||
| 414 | + box-sizing: border-box; | ||
| 415 | + } | ||
| 416 | + } | ||
| 417 | + } | ||
| 418 | + } | ||
| 419 | +</style> | ||
| 420 | +<style lang="scss"> | ||
| 421 | + .darkmenu{ | ||
| 422 | + .main { | ||
| 423 | + aside { | ||
| 424 | + .el-menu{ | ||
| 425 | + height: 100%; | ||
| 426 | + background: #606060; | ||
| 427 | + .el-menu-item { | ||
| 428 | + i{ | ||
| 429 | + color: white; | ||
| 430 | + } | ||
| 431 | + color: white; | ||
| 432 | + } | ||
| 433 | + .el-menu-item.is-active{ | ||
| 434 | + color:#e6a23c; | ||
| 435 | + } | ||
| 436 | + .el-menu-item:hover,.el-menu-item:focus{ | ||
| 437 | + background-color: #1a4496; | ||
| 438 | + } | ||
| 439 | + .el-submenu { | ||
| 440 | + ul.el-menu.el-menu--inline{ | ||
| 441 | + background: #303030; | ||
| 442 | + } | ||
| 443 | + .el-submenu__title { | ||
| 444 | + color: white; | ||
| 445 | + i{ | ||
| 446 | + color: white; | ||
| 447 | + } | ||
| 448 | + } | ||
| 449 | + .el-submenu__title:hover { | ||
| 450 | + background-color: #1a4496; | ||
| 451 | + } | ||
| 452 | + } | ||
| 453 | + } | ||
| 454 | + } | ||
| 455 | + } | ||
| 456 | + } | ||
| 290 | </style> | 457 | </style> |
| @@ -3,12 +3,12 @@ | @@ -3,12 +3,12 @@ | ||
| 3 | <el-form :model="ruleForm2" :rules="rules2" ref="ruleForm2" label-position="left" label-width="0px" class="demo-ruleForm login-container" id="loginForm"> | 3 | <el-form :model="ruleForm2" :rules="rules2" ref="ruleForm2" label-position="left" label-width="0px" class="demo-ruleForm login-container" id="loginForm"> |
| 4 | <h3 class="title">系统登录</h3> | 4 | <h3 class="title">系统登录</h3> |
| 5 | <el-form-item prop="account"> | 5 | <el-form-item prop="account"> |
| 6 | - <el-input type="text" v-model="ruleForm2.account" auto-complete="off" placeholder="账号"></el-input> | 6 | + <el-input type="text" v-model="ruleForm2.account" autofocus placeholder="账号"></el-input> |
| 7 | </el-form-item> | 7 | </el-form-item> |
| 8 | <el-form-item prop="checkPass"> | 8 | <el-form-item prop="checkPass"> |
| 9 | - <el-input type="password" v-model="ruleForm2.checkPass" auto-complete="off" placeholder="密码"></el-input> | 9 | + <el-input type="password" v-model="ruleForm2.checkPass" placeholder="密码" @keyup.enter.native="handleSubmit2"></el-input> |
| 10 | </el-form-item> | 10 | </el-form-item> |
| 11 | - <el-checkbox v-model="checked" checked class="remember">记住密码</el-checkbox> | 11 | + <el-checkbox v-model="checked" checked class="remeberme">记住密码</el-checkbox> |
| 12 | <el-form-item style="width:100%;"> | 12 | <el-form-item style="width:100%;"> |
| 13 | <el-button type="primary" style="width:100%;" @click.native.prevent="handleSubmit2" :loading="logining" :plain="true">登录</el-button> | 13 | <el-button type="primary" style="width:100%;" @click.native.prevent="handleSubmit2" :loading="logining" :plain="true">登录</el-button> |
| 14 | <!--<el-button @click.native.prevent="handleReset2">重置</el-button>--> | 14 | <!--<el-button @click.native.prevent="handleReset2">重置</el-button>--> |
| @@ -42,8 +42,8 @@ | @@ -42,8 +42,8 @@ | ||
| 42 | fixStyle: '', | 42 | fixStyle: '', |
| 43 | logining: false, | 43 | logining: false, |
| 44 | ruleForm2: { | 44 | ruleForm2: { |
| 45 | - account: 'admin', | ||
| 46 | - checkPass: '123456' | 45 | + account: '', |
| 46 | + checkPass: '' | ||
| 47 | }, | 47 | }, |
| 48 | rules2: { | 48 | rules2: { |
| 49 | account: [ | 49 | account: [ |
| @@ -9,7 +9,7 @@ | @@ -9,7 +9,7 @@ | ||
| 9 | <el-button v-waves :loading="downloadLoading" class="filter-item" type="primary" icon="el-icon-download" @click="handleDownload">{{ $t('table.export') }}</el-button> | 9 | <el-button v-waves :loading="downloadLoading" class="filter-item" type="primary" icon="el-icon-download" @click="handleDownload">{{ $t('table.export') }}</el-button> |
| 10 | <el-button class="filter-item" style="margin-left: 10px;" type="primary" icon="el-icon-message" @click="handleCreate">批量发送</el-button> | 10 | <el-button class="filter-item" style="margin-left: 10px;" type="primary" icon="el-icon-message" @click="handleCreate">批量发送</el-button> |
| 11 | </div> | 11 | </div> |
| 12 | - <tree-table :data="data" :eval-func="func" :eval-args="args" :expand-all="expandAll" stripe style="font-size: 13px" border @selection-change="handleSelectionChange"> | 12 | + <tree-table :data="tableData" :eval-func="func" :eval-args="args" :expand-all="expandAll" stripe style="font-size: 13px" border @selection-change="handleSelectionChange"> |
| 13 | <el-table-column prop="waybillNo" label="主单号" width="110px" align="center" sortable> | 13 | <el-table-column prop="waybillNo" label="主单号" width="110px" align="center" sortable> |
| 14 | <template slot-scope="scope"> | 14 | <template slot-scope="scope"> |
| 15 | <span>{{ scope.row.waybillNo }}</span> | 15 | <span>{{ scope.row.waybillNo }}</span> |
| @@ -27,7 +27,7 @@ | @@ -27,7 +27,7 @@ | ||
| 27 | </el-table-column> | 27 | </el-table-column> |
| 28 | <el-table-column label="航班日期" width="100px" align="center" sortable> | 28 | <el-table-column label="航班日期" width="100px" align="center" sortable> |
| 29 | <template slot-scope="scope"> | 29 | <template slot-scope="scope"> |
| 30 | - <span>{{ scope.row.flightDate | parseTime('{y}-{m}-{d}') }}</span> | 30 | + <span>{{ scope.row.flightDate }}</span> |
| 31 | </template> | 31 | </template> |
| 32 | </el-table-column> | 32 | </el-table-column> |
| 33 | <el-table-column label="起始站" width="60px" align="center"> | 33 | <el-table-column label="起始站" width="60px" align="center"> |
| @@ -63,7 +63,7 @@ | @@ -63,7 +63,7 @@ | ||
| 63 | </div> | 63 | </div> |
| 64 | </template> | 64 | </template> |
| 65 | </el-table-column> | 65 | </el-table-column> |
| 66 | - <el-table-column :label="$t('table.actions')" align="center" class-name="small-padding fixed-width"> | 66 | + <el-table-column :label="$t('table.actions')" align="center" class-name="small-padding fixed-width" > |
| 67 | <template slot-scope="scope"> | 67 | <template slot-scope="scope"> |
| 68 | <el-button type="primary" size="small" @click="handleUpdate(scope.row)">快速编辑</el-button> | 68 | <el-button type="primary" size="small" @click="handleUpdate(scope.row)">快速编辑</el-button> |
| 69 | <el-button type="primary" size="mini" @click="handleUpdate(scope.row)">{{ $t('table.edit') }}</el-button> | 69 | <el-button type="primary" size="mini" @click="handleUpdate(scope.row)">{{ $t('table.edit') }}</el-button> |
| @@ -79,8 +79,8 @@ | @@ -79,8 +79,8 @@ | ||
| 79 | </tree-table> | 79 | </tree-table> |
| 80 | <pagination v-show="total>0" :total="total" :page.sync="listQuery.page" :limit.sync="listQuery.limit" @pagination="getList" /> | 80 | <pagination v-show="total>0" :total="total" :page.sync="listQuery.page" :limit.sync="listQuery.limit" @pagination="getList" /> |
| 81 | 81 | ||
| 82 | - <el-dialog :title="textMap[dialogStatus]" :visible.sync="dialogFormVisible" fullscreen="true"> | ||
| 83 | - <el-form ref="" :inline="true" label-position="left" :rules="rules" :model="temp" label-width="100px" style="font-size: 13px"> | 82 | + <el-dialog :title="textMap[dialogStatus]" :visible.sync="dialogFormVisible" fullscreen> |
| 83 | + <el-form ref="" :inline="true" :rules="rules" :model="temp" label-width="100px" style="font-size: 13px"> | ||
| 84 | <div> | 84 | <div> |
| 85 | <el-tag type="info" effect="plain"> | 85 | <el-tag type="info" effect="plain"> |
| 86 | 航班信息 | 86 | 航班信息 |
| @@ -350,17 +350,16 @@ | @@ -350,17 +350,16 @@ | ||
| 350 | Auth: Lei.j1ang | 350 | Auth: Lei.j1ang |
| 351 | Created: 2018/1/19-14:54 | 351 | Created: 2018/1/19-14:54 |
| 352 | */ | 352 | */ |
| 353 | -import { fetchList } from '@/api/article' | 353 | + |
| 354 | import treeTable from '@/components/TreeTable' | 354 | import treeTable from '@/components/TreeTable' |
| 355 | -import treeToArray from './customEval' | 355 | +import treeToArray from '@/utils/customEval' |
| 356 | import Pagination from '@/components/Pagination' | 356 | import Pagination from '@/components/Pagination' |
| 357 | import waves from '@/directive/waves' // Waves directive | 357 | import waves from '@/directive/waves' // Waves directive |
| 358 | import country from '@/utils/country.js' | 358 | import country from '@/utils/country.js' |
| 359 | import companyType from '@/utils/companyType.js' | 359 | import companyType from '@/utils/companyType.js' |
| 360 | import dangerGoods from '@/utils/dangerGoods.js' | 360 | import dangerGoods from '@/utils/dangerGoods.js' |
| 361 | import goodsPackage from '@/utils/goodsPackage.js' | 361 | import goodsPackage from '@/utils/goodsPackage.js' |
| 362 | -import excel from '@/vendor/Export2Excel' | ||
| 363 | -import { parseTime } from '@/utils' | 362 | + |
| 364 | const calendarTypeOptions = [ | 363 | const calendarTypeOptions = [ |
| 365 | { key: 'CN', display_name: 'China' }, | 364 | { key: 'CN', display_name: 'China' }, |
| 366 | { key: 'US', display_name: 'USA' }, | 365 | { key: 'US', display_name: 'USA' }, |
| @@ -403,11 +402,12 @@ export default { | @@ -403,11 +402,12 @@ export default { | ||
| 403 | return { | 402 | return { |
| 404 | func: treeToArray, | 403 | func: treeToArray, |
| 405 | expandAll: true, | 404 | expandAll: true, |
| 405 | + fullscreen:true, | ||
| 406 | total: 1, | 406 | total: 1, |
| 407 | resend: true, | 407 | resend: true, |
| 408 | - listLoading: false, | ||
| 409 | - downloadLoading: false, | ||
| 410 | - loading: false, | 408 | + loading:false, |
| 409 | + listLoading: true, | ||
| 410 | + downloadLoading:false, | ||
| 411 | multipleSelection: [], | 411 | multipleSelection: [], |
| 412 | dialogFormVisible: false, | 412 | dialogFormVisible: false, |
| 413 | dialogStatus: '', | 413 | dialogStatus: '', |
| @@ -428,6 +428,7 @@ export default { | @@ -428,6 +428,7 @@ export default { | ||
| 428 | flightDate: '', | 428 | flightDate: '', |
| 429 | custom: '' | 429 | custom: '' |
| 430 | }, | 430 | }, |
| 431 | + tableData:[], | ||
| 431 | temp: { | 432 | temp: { |
| 432 | id: undefined, | 433 | id: undefined, |
| 433 | waybillNo: '', | 434 | waybillNo: '', |
| @@ -441,7 +442,103 @@ export default { | @@ -441,7 +442,103 @@ export default { | ||
| 441 | maniWeight: undefined | 442 | maniWeight: undefined |
| 442 | }, | 443 | }, |
| 443 | manifestCustoms: ['4604', '4620', '4613'], | 444 | manifestCustoms: ['4604', '4620', '4613'], |
| 444 | - data: [ | 445 | + |
| 446 | + pickerOptions: { | ||
| 447 | + shortcuts: [ | ||
| 448 | + { | ||
| 449 | + text: '今天', | ||
| 450 | + onClick(picker) { | ||
| 451 | + picker.$emit('pick', new Date()) | ||
| 452 | + } | ||
| 453 | + }, | ||
| 454 | + { | ||
| 455 | + text: '昨天', | ||
| 456 | + onClick(picker) { | ||
| 457 | + const date = new Date() | ||
| 458 | + date.setTime(date.getTime() - 3600 * 1000 * 24) | ||
| 459 | + picker.$emit('pick', date) | ||
| 460 | + } | ||
| 461 | + }, | ||
| 462 | + { | ||
| 463 | + text: '明天', | ||
| 464 | + onClick(picker) { | ||
| 465 | + const date = new Date() | ||
| 466 | + date.setTime(date.getTime() + 3600 * 1000 * 24) | ||
| 467 | + picker.$emit('pick', date) | ||
| 468 | + } | ||
| 469 | + }, | ||
| 470 | + { | ||
| 471 | + text: '一周前', | ||
| 472 | + onClick(picker) { | ||
| 473 | + const date = new Date() | ||
| 474 | + date.setTime(date.getTime() - 3600 * 1000 * 24 * 7) | ||
| 475 | + picker.$emit('pick', date) | ||
| 476 | + } | ||
| 477 | + } | ||
| 478 | + ] | ||
| 479 | + }, | ||
| 480 | + args: [null, null, 'timeLine'], | ||
| 481 | + rules: { | ||
| 482 | + maniWeight: [{ type: 'number', required: true, message: '重量必须为数字', trigger: 'blur' }], | ||
| 483 | + maniPiece: [{ type: 'number', required: true, message: '件数必须为数字', trigger: 'blur' }], | ||
| 484 | + desStation: [{ required: true, message: '运单目的地必须输入', trigger: 'blur' }], | ||
| 485 | + oriStation: [{ required: true, message: '运单起始站必须数据', trigger: 'change' }], | ||
| 486 | + flightDate: [{ type: 'date', required: true, message: '航班日期必须输入', trigger: 'change' }], | ||
| 487 | + flight: [{ required: true, message: '航班号必须输入', trigger: 'blur' }], | ||
| 488 | + custom: [{ required: true, message: '关区代码必须选择', trigger: 'change' }], | ||
| 489 | + waybillNo: [{ required: true, message: '运单号必须输入', trigger: 'blur' }] | ||
| 490 | + } | ||
| 491 | + } | ||
| 492 | + }, | ||
| 493 | + created(){ | ||
| 494 | + console.log(this.$route.params.scopeRow) | ||
| 495 | + this.getList() | ||
| 496 | + }, | ||
| 497 | + methods: { | ||
| 498 | + message(row) { | ||
| 499 | + this.$message.info(row.event) | ||
| 500 | + }, | ||
| 501 | + sortChange(data) { | ||
| 502 | + const { prop, order } = data | ||
| 503 | + if (prop === 'id') { | ||
| 504 | + this.sortByID(order) | ||
| 505 | + } | ||
| 506 | + }, | ||
| 507 | + sortByID(order) { | ||
| 508 | + if (order === 'ascending') { | ||
| 509 | + this.listQuery.sort = '+id' | ||
| 510 | + } else { | ||
| 511 | + this.listQuery.sort = '-id' | ||
| 512 | + } | ||
| 513 | + this.handleFilter() | ||
| 514 | + }, | ||
| 515 | + handleFilter(){ | ||
| 516 | + | ||
| 517 | + }, | ||
| 518 | + handleSwitch(row){ | ||
| 519 | + | ||
| 520 | + }, | ||
| 521 | + handleDownload(){ | ||
| 522 | + this.downloadLoading = true | ||
| 523 | + }, | ||
| 524 | + handleUpdate(row) { | ||
| 525 | + this.temp = Object.assign({}, row) // copy obj | ||
| 526 | + this.temp.timestamp = new Date(this.temp.timestamp) | ||
| 527 | + this.dialogStatus = 'update' | ||
| 528 | + this.dialogFormVisible = true | ||
| 529 | + this.$nextTick(() => { | ||
| 530 | + this.$refs[''].clearValidate() | ||
| 531 | + }) | ||
| 532 | + }, | ||
| 533 | + handleModifyStatus(row, status) { | ||
| 534 | + this.$message({ | ||
| 535 | + message: '操作成功', | ||
| 536 | + type: 'success' | ||
| 537 | + }) | ||
| 538 | + row.status = status | ||
| 539 | + }, | ||
| 540 | + getList() { | ||
| 541 | + this.tableData = [ | ||
| 445 | { | 542 | { |
| 446 | id: 0, | 543 | id: 0, |
| 447 | waybillNo: '580-20728399', | 544 | waybillNo: '580-20728399', |
| @@ -520,7 +617,7 @@ export default { | @@ -520,7 +617,7 @@ export default { | ||
| 520 | ] | 617 | ] |
| 521 | }, | 618 | }, |
| 522 | { | 619 | { |
| 523 | - id: 5, | 620 | + id: 4, |
| 524 | waybillNo: '580-20728391', | 621 | waybillNo: '580-20728391', |
| 525 | houseWaybillNo: '', | 622 | houseWaybillNo: '', |
| 526 | custom: '4604', | 623 | custom: '4604', |
| @@ -532,104 +629,278 @@ export default { | @@ -532,104 +629,278 @@ export default { | ||
| 532 | maniWeight: 21321, | 629 | maniWeight: 21321, |
| 533 | status: '10003', | 630 | status: '10003', |
| 534 | customText: ' 已发送预配舱单 ' | 631 | customText: ' 已发送预配舱单 ' |
| 632 | + }, | ||
| 633 | + { | ||
| 634 | + id: 5, | ||
| 635 | + waybillNo: '580-20728399', | ||
| 636 | + houseWaybillNo: '', | ||
| 637 | + custom: '4604', | ||
| 638 | + flight: 'CV9733', | ||
| 639 | + flightDate: '2019-06-21', | ||
| 640 | + oriStation: 'LUX', | ||
| 641 | + desStation: 'CGO', | ||
| 642 | + maniPiece: 50, | ||
| 643 | + maniWeight: 21321, | ||
| 644 | + status: '41301', | ||
| 645 | + customText: ' 预配舱单主要数据传输成功。', | ||
| 646 | + customComplate: 25 | ||
| 647 | + }, | ||
| 648 | + { | ||
| 649 | + id: 6, | ||
| 650 | + waybillNo: '580-20728399', | ||
| 651 | + houseWaybillNo: '', | ||
| 652 | + custom: '4604', | ||
| 653 | + flight: 'CV9733', | ||
| 654 | + flightDate: '2019-06-21', | ||
| 655 | + oriStation: 'LUX', | ||
| 656 | + desStation: 'CGO', | ||
| 657 | + maniPiece: 50, | ||
| 658 | + maniWeight: 21321, | ||
| 659 | + status: '41301', | ||
| 660 | + customText: ' 预配舱单主要数据传输成功。', | ||
| 661 | + customComplate: 25 | ||
| 662 | + }, | ||
| 663 | + { | ||
| 664 | + id: 7, | ||
| 665 | + waybillNo: '580-20728399', | ||
| 666 | + houseWaybillNo: '', | ||
| 667 | + custom: '4604', | ||
| 668 | + flight: 'CV9733', | ||
| 669 | + flightDate: '2019-06-21', | ||
| 670 | + oriStation: 'LUX', | ||
| 671 | + desStation: 'CGO', | ||
| 672 | + maniPiece: 50, | ||
| 673 | + maniWeight: 21321, | ||
| 674 | + status: '41301', | ||
| 675 | + customText: ' 预配舱单主要数据传输成功。', | ||
| 676 | + customComplate: 25 | ||
| 677 | + }, | ||
| 678 | + { | ||
| 679 | + id: 8, | ||
| 680 | + waybillNo: '580-20728399', | ||
| 681 | + houseWaybillNo: '', | ||
| 682 | + custom: '4604', | ||
| 683 | + flight: 'CV9733', | ||
| 684 | + flightDate: '2019-06-21', | ||
| 685 | + oriStation: 'LUX', | ||
| 686 | + desStation: 'CGO', | ||
| 687 | + maniPiece: 50, | ||
| 688 | + maniWeight: 21321, | ||
| 689 | + status: '41301', | ||
| 690 | + customText: ' 预配舱单主要数据传输成功。', | ||
| 691 | + customComplate: 25 | ||
| 692 | + }, | ||
| 693 | + { | ||
| 694 | + id: 9, | ||
| 695 | + waybillNo: '580-20728399', | ||
| 696 | + houseWaybillNo: '', | ||
| 697 | + custom: '4604', | ||
| 698 | + flight: 'CV9733', | ||
| 699 | + flightDate: '2019-06-21', | ||
| 700 | + oriStation: 'LUX', | ||
| 701 | + desStation: 'CGO', | ||
| 702 | + maniPiece: 50, | ||
| 703 | + maniWeight: 21321, | ||
| 704 | + status: '41301', | ||
| 705 | + customText: ' 预配舱单主要数据传输成功。', | ||
| 706 | + customComplate: 25 | ||
| 707 | + }, | ||
| 708 | + { | ||
| 709 | + id: 10, | ||
| 710 | + waybillNo: '580-20728399', | ||
| 711 | + houseWaybillNo: '', | ||
| 712 | + custom: '4604', | ||
| 713 | + flight: 'CV9733', | ||
| 714 | + flightDate: '2019-06-21', | ||
| 715 | + oriStation: 'LUX', | ||
| 716 | + desStation: 'CGO', | ||
| 717 | + maniPiece: 50, | ||
| 718 | + maniWeight: 21321, | ||
| 719 | + status: '41301', | ||
| 720 | + customText: ' 预配舱单主要数据传输成功。', | ||
| 721 | + customComplate: 25 | ||
| 722 | + }, | ||
| 723 | + { | ||
| 724 | + id: 11, | ||
| 725 | + waybillNo: '580-20728399', | ||
| 726 | + houseWaybillNo: '', | ||
| 727 | + custom: '4604', | ||
| 728 | + flight: 'CV9733', | ||
| 729 | + flightDate: '2019-06-21', | ||
| 730 | + oriStation: 'LUX', | ||
| 731 | + desStation: 'CGO', | ||
| 732 | + maniPiece: 50, | ||
| 733 | + maniWeight: 21321, | ||
| 734 | + status: '41301', | ||
| 735 | + customText: ' 预配舱单主要数据传输成功。', | ||
| 736 | + customComplate: 25 | ||
| 737 | + }, | ||
| 738 | + { | ||
| 739 | + id: 12, | ||
| 740 | + waybillNo: '580-20728399', | ||
| 741 | + houseWaybillNo: '', | ||
| 742 | + custom: '4604', | ||
| 743 | + flight: 'CV9733', | ||
| 744 | + flightDate: '2019-06-21', | ||
| 745 | + oriStation: 'LUX', | ||
| 746 | + desStation: 'CGO', | ||
| 747 | + maniPiece: 50, | ||
| 748 | + maniWeight: 21321, | ||
| 749 | + status: '41301', | ||
| 750 | + customText: ' 预配舱单主要数据传输成功。', | ||
| 751 | + customComplate: 25 | ||
| 752 | + }, | ||
| 753 | + { | ||
| 754 | + id: 13, | ||
| 755 | + waybillNo: '580-20728399', | ||
| 756 | + houseWaybillNo: '', | ||
| 757 | + custom: '4604', | ||
| 758 | + flight: 'CV9733', | ||
| 759 | + flightDate: '2019-06-21', | ||
| 760 | + oriStation: 'LUX', | ||
| 761 | + desStation: 'CGO', | ||
| 762 | + maniPiece: 50, | ||
| 763 | + maniWeight: 21321, | ||
| 764 | + status: '41301', | ||
| 765 | + customText: ' 预配舱单主要数据传输成功。', | ||
| 766 | + customComplate: 25 | ||
| 767 | + },{ | ||
| 768 | + id: 14, | ||
| 769 | + waybillNo: '580-20728399', | ||
| 770 | + houseWaybillNo: '', | ||
| 771 | + custom: '4604', | ||
| 772 | + flight: 'CV9733', | ||
| 773 | + flightDate: '2019-06-21', | ||
| 774 | + oriStation: 'LUX', | ||
| 775 | + desStation: 'CGO', | ||
| 776 | + maniPiece: 50, | ||
| 777 | + maniWeight: 21321, | ||
| 778 | + status: '41301', | ||
| 779 | + customText: ' 预配舱单主要数据传输成功。', | ||
| 780 | + customComplate: 25 | ||
| 781 | + }, | ||
| 782 | + { | ||
| 783 | + id: 15, | ||
| 784 | + waybillNo: '580-20728399', | ||
| 785 | + houseWaybillNo: '', | ||
| 786 | + custom: '4604', | ||
| 787 | + flight: 'CV9733', | ||
| 788 | + flightDate: '2019-06-21', | ||
| 789 | + oriStation: 'LUX', | ||
| 790 | + desStation: 'CGO', | ||
| 791 | + maniPiece: 50, | ||
| 792 | + maniWeight: 21321, | ||
| 793 | + status: '41301', | ||
| 794 | + customText: ' 预配舱单主要数据传输成功。', | ||
| 795 | + customComplate: 25 | ||
| 796 | + }, | ||
| 797 | + { | ||
| 798 | + id: 16, | ||
| 799 | + waybillNo: '580-20728399', | ||
| 800 | + houseWaybillNo: '', | ||
| 801 | + custom: '4604', | ||
| 802 | + flight: 'CV9733', | ||
| 803 | + flightDate: '2019-06-21', | ||
| 804 | + oriStation: 'LUX', | ||
| 805 | + desStation: 'CGO', | ||
| 806 | + maniPiece: 50, | ||
| 807 | + maniWeight: 21321, | ||
| 808 | + status: '41301', | ||
| 809 | + customText: ' 预配舱单主要数据传输成功。', | ||
| 810 | + customComplate: 25 | ||
| 811 | + }, | ||
| 812 | + { | ||
| 813 | + id: 17, | ||
| 814 | + waybillNo: '580-20728399', | ||
| 815 | + houseWaybillNo: '', | ||
| 816 | + custom: '4604', | ||
| 817 | + flight: 'CV9733', | ||
| 818 | + flightDate: '2019-06-21', | ||
| 819 | + oriStation: 'LUX', | ||
| 820 | + desStation: 'CGO', | ||
| 821 | + maniPiece: 50, | ||
| 822 | + maniWeight: 21321, | ||
| 823 | + status: '41301', | ||
| 824 | + customText: ' 预配舱单主要数据传输成功。', | ||
| 825 | + customComplate: 25 | ||
| 826 | + }, | ||
| 827 | + { | ||
| 828 | + id: 18, | ||
| 829 | + waybillNo: '580-20728399', | ||
| 830 | + houseWaybillNo: '', | ||
| 831 | + custom: '4604', | ||
| 832 | + flight: 'CV9733', | ||
| 833 | + flightDate: '2019-06-21', | ||
| 834 | + oriStation: 'LUX', | ||
| 835 | + desStation: 'CGO', | ||
| 836 | + maniPiece: 50, | ||
| 837 | + maniWeight: 21321, | ||
| 838 | + status: '41301', | ||
| 839 | + customText: ' 预配舱单主要数据传输成功。', | ||
| 840 | + customComplate: 25 | ||
| 841 | + }, | ||
| 842 | + { | ||
| 843 | + id: 19, | ||
| 844 | + waybillNo: '580-20728399', | ||
| 845 | + houseWaybillNo: '', | ||
| 846 | + custom: '4604', | ||
| 847 | + flight: 'CV9733', | ||
| 848 | + flightDate: '2019-06-21', | ||
| 849 | + oriStation: 'LUX', | ||
| 850 | + desStation: 'CGO', | ||
| 851 | + maniPiece: 50, | ||
| 852 | + maniWeight: 21321, | ||
| 853 | + status: '41301', | ||
| 854 | + customText: ' 预配舱单主要数据传输成功。', | ||
| 855 | + customComplate: 25 | ||
| 856 | + }, | ||
| 857 | + { | ||
| 858 | + id: 20, | ||
| 859 | + waybillNo: '580-20728399', | ||
| 860 | + houseWaybillNo: '', | ||
| 861 | + custom: '4604', | ||
| 862 | + flight: 'CV9733', | ||
| 863 | + flightDate: '2019-06-21', | ||
| 864 | + oriStation: 'LUX', | ||
| 865 | + desStation: 'CGO', | ||
| 866 | + maniPiece: 50, | ||
| 867 | + maniWeight: 21321, | ||
| 868 | + status: '41301', | ||
| 869 | + customText: ' 预配舱单主要数据传输成功。', | ||
| 870 | + customComplate: 25 | ||
| 871 | + }, | ||
| 872 | + { | ||
| 873 | + id: 23, | ||
| 874 | + waybillNo: '580-20728399', | ||
| 875 | + houseWaybillNo: '', | ||
| 876 | + custom: '4604', | ||
| 877 | + flight: 'CV9733', | ||
| 878 | + flightDate: '2019-06-21', | ||
| 879 | + oriStation: 'LUX', | ||
| 880 | + desStation: 'CGO', | ||
| 881 | + maniPiece: 50, | ||
| 882 | + maniWeight: 21321, | ||
| 883 | + status: '41301', | ||
| 884 | + customText: ' 预配舱单主要数据传输成功。', | ||
| 885 | + customComplate: 25 | ||
| 886 | + }, { | ||
| 887 | + id: 22, | ||
| 888 | + waybillNo: '580-20728399', | ||
| 889 | + houseWaybillNo: '', | ||
| 890 | + custom: '4604', | ||
| 891 | + flight: 'CV9733', | ||
| 892 | + flightDate: '2019-06-21', | ||
| 893 | + oriStation: 'LUX', | ||
| 894 | + desStation: 'CGO', | ||
| 895 | + maniPiece: 50, | ||
| 896 | + maniWeight: 21321, | ||
| 897 | + status: '41300', | ||
| 898 | + customText: ' 预配舱单主要数据传输成功。', | ||
| 899 | + customComplate: 25 | ||
| 535 | } | 900 | } |
| 536 | - ], | ||
| 537 | - pickerOptions: { | ||
| 538 | - shortcuts: [ | ||
| 539 | - { | ||
| 540 | - text: '今天', | ||
| 541 | - onClick(picker) { | ||
| 542 | - picker.$emit('pick', new Date()) | ||
| 543 | - } | ||
| 544 | - }, | ||
| 545 | - { | ||
| 546 | - text: '昨天', | ||
| 547 | - onClick(picker) { | ||
| 548 | - const date = new Date() | ||
| 549 | - date.setTime(date.getTime() - 3600 * 1000 * 24) | ||
| 550 | - picker.$emit('pick', date) | ||
| 551 | - } | ||
| 552 | - }, | ||
| 553 | - { | ||
| 554 | - text: '明天', | ||
| 555 | - onClick(picker) { | ||
| 556 | - const date = new Date() | ||
| 557 | - date.setTime(date.getTime() + 3600 * 1000 * 24) | ||
| 558 | - picker.$emit('pick', date) | ||
| 559 | - } | ||
| 560 | - }, | ||
| 561 | - { | ||
| 562 | - text: '一周前', | ||
| 563 | - onClick(picker) { | ||
| 564 | - const date = new Date() | ||
| 565 | - date.setTime(date.getTime() - 3600 * 1000 * 24 * 7) | ||
| 566 | - picker.$emit('pick', date) | ||
| 567 | - } | ||
| 568 | - } | ||
| 569 | - ] | ||
| 570 | - }, | ||
| 571 | - args: [null, null, 'timeLine'], | ||
| 572 | - rules: { | ||
| 573 | - maniWeight: [{ type: 'number', required: true, message: '重量必须为数字', trigger: 'blur' }], | ||
| 574 | - maniPiece: [{ type: 'number', required: true, message: '件数必须为数字', trigger: 'blur' }], | ||
| 575 | - desStation: [{ required: true, message: '运单目的地必须输入', trigger: 'blur' }], | ||
| 576 | - oriStation: [{ required: true, message: '运单起始站必须数据', trigger: 'change' }], | ||
| 577 | - flightDate: [{ type: 'date', required: true, message: '航班日期必须输入', trigger: 'change' }], | ||
| 578 | - flight: [{ required: true, message: '航班号必须输入', trigger: 'blur' }], | ||
| 579 | - custom: [{ required: true, message: '关区代码必须选择', trigger: 'change' }], | ||
| 580 | - waybillNo: [{ required: true, message: '运单号必须输入', trigger: 'blur' }] | ||
| 581 | - } | ||
| 582 | - } | ||
| 583 | - }, | ||
| 584 | - methods: { | ||
| 585 | - message(row) { | ||
| 586 | - this.$message.info(row.event) | ||
| 587 | - }, | ||
| 588 | - sortChange(data) { | ||
| 589 | - const { prop, order } = data | ||
| 590 | - if (prop === 'id') { | ||
| 591 | - this.sortByID(order) | ||
| 592 | - } | ||
| 593 | - }, | ||
| 594 | - sortByID(order) { | ||
| 595 | - if (order === 'ascending') { | ||
| 596 | - this.listQuery.sort = '+id' | ||
| 597 | - } else { | ||
| 598 | - this.listQuery.sort = '-id' | ||
| 599 | - } | ||
| 600 | - this.handleFilter() | ||
| 601 | - }, | ||
| 602 | - handleUpdate(row) { | ||
| 603 | - this.temp = Object.assign({}, row) // copy obj | ||
| 604 | - this.temp.timestamp = new Date(this.temp.timestamp) | ||
| 605 | - this.dialogStatus = 'update' | ||
| 606 | - this.dialogFormVisible = true | ||
| 607 | - this.$nextTick(() => { | ||
| 608 | - this.$refs[''].clearValidate() | ||
| 609 | - }) | ||
| 610 | - }, | ||
| 611 | - handleFilter() { | ||
| 612 | - this.listQuery.page = 1 | ||
| 613 | - this.getList() | ||
| 614 | - }, | ||
| 615 | - handleModifyStatus(row, status) { | ||
| 616 | - this.$message({ | ||
| 617 | - message: '操作成功', | ||
| 618 | - type: 'success' | ||
| 619 | - }) | ||
| 620 | - row.status = status | ||
| 621 | - }, | ||
| 622 | - getList() { | ||
| 623 | - this.listLoading = true | ||
| 624 | - fetchList(this.listQuery).then(response => { | ||
| 625 | - this.list = response.data.items | ||
| 626 | - this.total = response.data.total | ||
| 627 | 901 | ||
| 628 | - // Just to simulate the time of the request | ||
| 629 | - setTimeout(() => { | ||
| 630 | - this.listLoading = false | ||
| 631 | - }, 1.5 * 1000) | ||
| 632 | - }) | 902 | + ] |
| 903 | + this.total = this.tableData.length | ||
| 633 | }, | 904 | }, |
| 634 | handleSelectionChange(val) { | 905 | handleSelectionChange(val) { |
| 635 | this.multipleSelection = val | 906 | this.multipleSelection = val |
| @@ -656,18 +927,6 @@ export default { | @@ -656,18 +927,6 @@ export default { | ||
| 656 | this.$refs[''].clearValidate() | 927 | this.$refs[''].clearValidate() |
| 657 | }) | 928 | }) |
| 658 | }, | 929 | }, |
| 659 | - handleDownload() { | ||
| 660 | - this.downloadLoading = true | ||
| 661 | - const tHeader = ['timestamp', 'title', 'type', 'importance', 'status'] | ||
| 662 | - const filterVal = ['timestamp', 'title', 'type', 'importance', 'status'] | ||
| 663 | - const data = this.formatJson(filterVal, this.list) | ||
| 664 | - excel.export_json_to_excel({ | ||
| 665 | - header: tHeader, | ||
| 666 | - data, | ||
| 667 | - filename: 'table-list' | ||
| 668 | - }) | ||
| 669 | - this.downloadLoading = false | ||
| 670 | - }, | ||
| 671 | remoteMethod(query) { | 930 | remoteMethod(query) { |
| 672 | if (query !== '') { | 931 | if (query !== '') { |
| 673 | this.loading = true | 932 | this.loading = true |
| @@ -696,9 +955,6 @@ export default { | @@ -696,9 +955,6 @@ export default { | ||
| 696 | margin-bottom: 0; | 955 | margin-bottom: 0; |
| 697 | } | 956 | } |
| 698 | } | 957 | } |
| 699 | - .el-col { | ||
| 700 | - border-radius: 4px; | ||
| 701 | - } | ||
| 702 | .bg-purple-dark { | 958 | .bg-purple-dark { |
| 703 | background: #99a9bf; | 959 | background: #99a9bf; |
| 704 | } | 960 | } |
| @@ -709,7 +965,6 @@ export default { | @@ -709,7 +965,6 @@ export default { | ||
| 709 | background: #e5e9f2; | 965 | background: #e5e9f2; |
| 710 | } | 966 | } |
| 711 | .grid-content { | 967 | .grid-content { |
| 712 | - border-radius: 4px; | ||
| 713 | min-height: 36px; | 968 | min-height: 36px; |
| 714 | } | 969 | } |
| 715 | .row-bg { | 970 | .row-bg { |
src/views/dashboard/components/BarChart.vue
0 → 100644
| 1 | +<template> | ||
| 2 | + <div :class="className" :style="{height:height,width:width}" /> | ||
| 3 | +</template> | ||
| 4 | + | ||
| 5 | +<script> | ||
| 6 | +import echarts from 'echarts' | ||
| 7 | +require('echarts/theme/macarons') // echarts theme | ||
| 8 | +import resize from './mixins/resize' | ||
| 9 | + | ||
| 10 | +const animationDuration = 6000 | ||
| 11 | + | ||
| 12 | +export default { | ||
| 13 | + mixins: [resize], | ||
| 14 | + props: { | ||
| 15 | + className: { | ||
| 16 | + type: String, | ||
| 17 | + default: 'chart' | ||
| 18 | + }, | ||
| 19 | + width: { | ||
| 20 | + type: String, | ||
| 21 | + default: '100%' | ||
| 22 | + }, | ||
| 23 | + height: { | ||
| 24 | + type: String, | ||
| 25 | + default: '300px' | ||
| 26 | + } | ||
| 27 | + }, | ||
| 28 | + data() { | ||
| 29 | + return { | ||
| 30 | + chart: null | ||
| 31 | + } | ||
| 32 | + }, | ||
| 33 | + mounted() { | ||
| 34 | + this.$nextTick(() => { | ||
| 35 | + this.initChart() | ||
| 36 | + }) | ||
| 37 | + }, | ||
| 38 | + beforeDestroy() { | ||
| 39 | + if (!this.chart) { | ||
| 40 | + return | ||
| 41 | + } | ||
| 42 | + this.chart.dispose() | ||
| 43 | + this.chart = null | ||
| 44 | + }, | ||
| 45 | + methods: { | ||
| 46 | + initChart() { | ||
| 47 | + this.chart = echarts.init(this.$el, 'macarons') | ||
| 48 | + | ||
| 49 | + this.chart.setOption({ | ||
| 50 | + tooltip: { | ||
| 51 | + trigger: 'axis', | ||
| 52 | + axisPointer: { // 坐标轴指示器,坐标轴触发有效 | ||
| 53 | + type: 'shadow' // 默认为直线,可选为:'line' | 'shadow' | ||
| 54 | + } | ||
| 55 | + }, | ||
| 56 | + grid: { | ||
| 57 | + top: 10, | ||
| 58 | + left: '2%', | ||
| 59 | + right: '2%', | ||
| 60 | + bottom: '3%', | ||
| 61 | + containLabel: true | ||
| 62 | + }, | ||
| 63 | + xAxis: [{ | ||
| 64 | + type: 'category', | ||
| 65 | + data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'], | ||
| 66 | + axisTick: { | ||
| 67 | + alignWithLabel: true | ||
| 68 | + } | ||
| 69 | + }], | ||
| 70 | + yAxis: [{ | ||
| 71 | + type: 'value', | ||
| 72 | + axisTick: { | ||
| 73 | + show: false | ||
| 74 | + } | ||
| 75 | + }], | ||
| 76 | + series: [{ | ||
| 77 | + name: 'pageA', | ||
| 78 | + type: 'bar', | ||
| 79 | + stack: 'vistors', | ||
| 80 | + barWidth: '60%', | ||
| 81 | + data: [79, 52, 200, 334, 390, 330, 220], | ||
| 82 | + animationDuration | ||
| 83 | + }, { | ||
| 84 | + name: 'pageB', | ||
| 85 | + type: 'bar', | ||
| 86 | + stack: 'vistors', | ||
| 87 | + barWidth: '60%', | ||
| 88 | + data: [80, 52, 200, 334, 390, 330, 220], | ||
| 89 | + animationDuration | ||
| 90 | + }, { | ||
| 91 | + name: 'pageC', | ||
| 92 | + type: 'bar', | ||
| 93 | + stack: 'vistors', | ||
| 94 | + barWidth: '60%', | ||
| 95 | + data: [30, 52, 200, 334, 390, 330, 220], | ||
| 96 | + animationDuration | ||
| 97 | + }] | ||
| 98 | + }) | ||
| 99 | + } | ||
| 100 | + } | ||
| 101 | +} | ||
| 102 | +</script> |
src/views/dashboard/components/BoxCard.vue
0 → 100644
| 1 | +<template> | ||
| 2 | + <el-card class="box-card-component" style="margin-left:8px;"> | ||
| 3 | + <div slot="header" class="box-card-header"> | ||
| 4 | + <img src="https://wpimg.wallstcn.com/e7d23d71-cf19-4b90-a1cc-f56af8c0903d.png"> | ||
| 5 | + </div> | ||
| 6 | + <div style="position:relative;"> | ||
| 7 | + <pan-thumb :image="avatar" class="panThumb" /> | ||
| 8 | + <mallki class-name="mallki-text" text="vue-element-admin" /> | ||
| 9 | + <div style="padding-top:35px;" class="progress-item"> | ||
| 10 | + <span>Vue</span> | ||
| 11 | + <el-progress :percentage="70" /> | ||
| 12 | + </div> | ||
| 13 | + <div class="progress-item"> | ||
| 14 | + <span>JavaScript</span> | ||
| 15 | + <el-progress :percentage="18" /> | ||
| 16 | + </div> | ||
| 17 | + <div class="progress-item"> | ||
| 18 | + <span>Css</span> | ||
| 19 | + <el-progress :percentage="12" /> | ||
| 20 | + </div> | ||
| 21 | + <div class="progress-item"> | ||
| 22 | + <span>ESLint</span> | ||
| 23 | + <el-progress :percentage="100" status="success" /> | ||
| 24 | + </div> | ||
| 25 | + </div> | ||
| 26 | + </el-card> | ||
| 27 | +</template> | ||
| 28 | + | ||
| 29 | +<script> | ||
| 30 | +import { mapGetters } from 'vuex' | ||
| 31 | +import PanThumb from '../../../components/PanThumb' | ||
| 32 | +import Mallki from '../../../components/TextHoverEffect/Mallki' | ||
| 33 | + | ||
| 34 | +export default { | ||
| 35 | + components: { PanThumb, Mallki }, | ||
| 36 | + | ||
| 37 | + filters: { | ||
| 38 | + statusFilter(status) { | ||
| 39 | + const statusMap = { | ||
| 40 | + success: 'success', | ||
| 41 | + pending: 'danger' | ||
| 42 | + } | ||
| 43 | + return statusMap[status] | ||
| 44 | + } | ||
| 45 | + }, | ||
| 46 | + data() { | ||
| 47 | + return { | ||
| 48 | + statisticsData: { | ||
| 49 | + article_count: 1024, | ||
| 50 | + pageviews_count: 1024 | ||
| 51 | + } | ||
| 52 | + } | ||
| 53 | + }, | ||
| 54 | + computed: { | ||
| 55 | + ...mapGetters([ | ||
| 56 | + 'name', | ||
| 57 | + 'avatar', | ||
| 58 | + 'roles' | ||
| 59 | + ]) | ||
| 60 | + } | ||
| 61 | +} | ||
| 62 | +</script> | ||
| 63 | + | ||
| 64 | +<style lang="scss" > | ||
| 65 | +.box-card-component{ | ||
| 66 | + .el-card__header { | ||
| 67 | + padding: 0px!important; | ||
| 68 | + } | ||
| 69 | +} | ||
| 70 | +</style> | ||
| 71 | +<style lang="scss" scoped> | ||
| 72 | +.box-card-component { | ||
| 73 | + .box-card-header { | ||
| 74 | + position: relative; | ||
| 75 | + height: 220px; | ||
| 76 | + img { | ||
| 77 | + width: 100%; | ||
| 78 | + height: 100%; | ||
| 79 | + transition: all 0.2s linear; | ||
| 80 | + &:hover { | ||
| 81 | + transform: scale(1.1, 1.1); | ||
| 82 | + filter: contrast(130%); | ||
| 83 | + } | ||
| 84 | + } | ||
| 85 | + } | ||
| 86 | + .mallki-text { | ||
| 87 | + position: absolute; | ||
| 88 | + top: 0px; | ||
| 89 | + right: 0px; | ||
| 90 | + font-size: 20px; | ||
| 91 | + font-weight: bold; | ||
| 92 | + } | ||
| 93 | + .panThumb { | ||
| 94 | + z-index: 100; | ||
| 95 | + height: 70px!important; | ||
| 96 | + width: 70px!important; | ||
| 97 | + position: absolute!important; | ||
| 98 | + top: -45px; | ||
| 99 | + left: 0px; | ||
| 100 | + border: 5px solid #ffffff; | ||
| 101 | + background-color: #fff; | ||
| 102 | + margin: auto; | ||
| 103 | + box-shadow: none!important; | ||
| 104 | + /deep/ .pan-info { | ||
| 105 | + box-shadow: none!important; | ||
| 106 | + } | ||
| 107 | + } | ||
| 108 | + .progress-item { | ||
| 109 | + margin-bottom: 10px; | ||
| 110 | + font-size: 14px; | ||
| 111 | + } | ||
| 112 | + @media only screen and (max-width: 1510px){ | ||
| 113 | + .mallki-text{ | ||
| 114 | + display: none; | ||
| 115 | + } | ||
| 116 | + } | ||
| 117 | +} | ||
| 118 | +</style> |
src/views/dashboard/components/LineChart.vue
0 → 100644
| 1 | +<template> | ||
| 2 | + <div :class="className" :style="{height:height,width:width}" /> | ||
| 3 | +</template> | ||
| 4 | + | ||
| 5 | +<script> | ||
| 6 | +import echarts from 'echarts' | ||
| 7 | +require('echarts/theme/macarons') // echarts theme | ||
| 8 | +import resize from './mixins/resize' | ||
| 9 | + | ||
| 10 | +export default { | ||
| 11 | + mixins: [resize], | ||
| 12 | + props: { | ||
| 13 | + className: { | ||
| 14 | + type: String, | ||
| 15 | + default: 'chart' | ||
| 16 | + }, | ||
| 17 | + width: { | ||
| 18 | + type: String, | ||
| 19 | + default: '100%' | ||
| 20 | + }, | ||
| 21 | + height: { | ||
| 22 | + type: String, | ||
| 23 | + default: '350px' | ||
| 24 | + }, | ||
| 25 | + autoResize: { | ||
| 26 | + type: Boolean, | ||
| 27 | + default: true | ||
| 28 | + }, | ||
| 29 | + chartData: { | ||
| 30 | + type: Object, | ||
| 31 | + required: true | ||
| 32 | + } | ||
| 33 | + }, | ||
| 34 | + data() { | ||
| 35 | + return { | ||
| 36 | + chart: null | ||
| 37 | + } | ||
| 38 | + }, | ||
| 39 | + watch: { | ||
| 40 | + chartData: { | ||
| 41 | + deep: true, | ||
| 42 | + handler(val) { | ||
| 43 | + this.setOptions(val) | ||
| 44 | + } | ||
| 45 | + } | ||
| 46 | + }, | ||
| 47 | + mounted() { | ||
| 48 | + this.$nextTick(() => { | ||
| 49 | + this.initChart() | ||
| 50 | + }) | ||
| 51 | + }, | ||
| 52 | + beforeDestroy() { | ||
| 53 | + if (!this.chart) { | ||
| 54 | + return | ||
| 55 | + } | ||
| 56 | + this.chart.dispose() | ||
| 57 | + this.chart = null | ||
| 58 | + }, | ||
| 59 | + methods: { | ||
| 60 | + initChart() { | ||
| 61 | + this.chart = echarts.init(this.$el, 'macarons') | ||
| 62 | + this.setOptions(this.chartData) | ||
| 63 | + }, | ||
| 64 | + setOptions({ expectedData, actualData } = {}) { | ||
| 65 | + this.chart.setOption({ | ||
| 66 | + xAxis: { | ||
| 67 | + data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'], | ||
| 68 | + boundaryGap: false, | ||
| 69 | + axisTick: { | ||
| 70 | + show: false | ||
| 71 | + } | ||
| 72 | + }, | ||
| 73 | + grid: { | ||
| 74 | + left: 10, | ||
| 75 | + right: 10, | ||
| 76 | + bottom: 20, | ||
| 77 | + top: 30, | ||
| 78 | + containLabel: true | ||
| 79 | + }, | ||
| 80 | + tooltip: { | ||
| 81 | + trigger: 'axis', | ||
| 82 | + axisPointer: { | ||
| 83 | + type: 'cross' | ||
| 84 | + }, | ||
| 85 | + padding: [5, 10] | ||
| 86 | + }, | ||
| 87 | + yAxis: { | ||
| 88 | + axisTick: { | ||
| 89 | + show: false | ||
| 90 | + } | ||
| 91 | + }, | ||
| 92 | + legend: { | ||
| 93 | + data: ['expected', 'actual'] | ||
| 94 | + }, | ||
| 95 | + series: [{ | ||
| 96 | + name: 'expected', itemStyle: { | ||
| 97 | + normal: { | ||
| 98 | + color: '#FF005A', | ||
| 99 | + lineStyle: { | ||
| 100 | + color: '#FF005A', | ||
| 101 | + width: 2 | ||
| 102 | + } | ||
| 103 | + } | ||
| 104 | + }, | ||
| 105 | + smooth: true, | ||
| 106 | + type: 'line', | ||
| 107 | + data: expectedData, | ||
| 108 | + animationDuration: 2800, | ||
| 109 | + animationEasing: 'cubicInOut' | ||
| 110 | + }, | ||
| 111 | + { | ||
| 112 | + name: 'actual', | ||
| 113 | + smooth: true, | ||
| 114 | + type: 'line', | ||
| 115 | + itemStyle: { | ||
| 116 | + normal: { | ||
| 117 | + color: '#3888fa', | ||
| 118 | + lineStyle: { | ||
| 119 | + color: '#3888fa', | ||
| 120 | + width: 2 | ||
| 121 | + }, | ||
| 122 | + areaStyle: { | ||
| 123 | + color: '#f3f8ff' | ||
| 124 | + } | ||
| 125 | + } | ||
| 126 | + }, | ||
| 127 | + data: actualData, | ||
| 128 | + animationDuration: 2800, | ||
| 129 | + animationEasing: 'quadraticOut' | ||
| 130 | + }] | ||
| 131 | + }) | ||
| 132 | + } | ||
| 133 | + } | ||
| 134 | +} | ||
| 135 | +</script> |
| 1 | +<template> | ||
| 2 | + <el-row :gutter="15" class="panel-group"> | ||
| 3 | + | ||
| 4 | + <el-col :span="5" class="card-panel-col"> | ||
| 5 | + <div class="card-panel" @click="handleSetLineChartData('newVisitis')"> | ||
| 6 | + <div class="card-panel-icon-wrapper icon-people"> | ||
| 7 | +<!-- <svg-icon icon-class="peoples" class-name="card-panel-icon" />--> | ||
| 8 | + <i class="el-icon-user-solid" style="font-size: 60px;"></i> | ||
| 9 | + </div> | ||
| 10 | + <div class="card-panel-description"> | ||
| 11 | + <div class="card-panel-text"> | ||
| 12 | + New Visits | ||
| 13 | + </div> | ||
| 14 | + <count-to :start-val="0" :end-val="102400" :duration="2600" class="card-panel-num" /> | ||
| 15 | + </div> | ||
| 16 | + </div> | ||
| 17 | + </el-col> | ||
| 18 | + | ||
| 19 | +<!-- :xs="12" :sm="12" :lg="6"--> | ||
| 20 | + <el-col :span="5" class="card-panel-col"> | ||
| 21 | + <div class="card-panel" @click="handleSetLineChartData('messages')"> | ||
| 22 | + <div class="card-panel-icon-wrapper icon-message"> | ||
| 23 | +<!-- <svg-icon icon-class="message" class-name="card-panel-icon" />--> | ||
| 24 | + <i class="el-icon-message" style="font-size: 60px;"></i> | ||
| 25 | + </div> | ||
| 26 | + <div class="card-panel-description"> | ||
| 27 | + <div class="card-panel-text"> | ||
| 28 | + Messages | ||
| 29 | + </div> | ||
| 30 | + <count-to :start-val="0" :end-val="81212" :duration="3000" class="card-panel-num" /> | ||
| 31 | + </div> | ||
| 32 | + </div> | ||
| 33 | + </el-col> | ||
| 34 | + | ||
| 35 | + <el-col :span="5" class="card-panel-col"> | ||
| 36 | + <div class="card-panel" @click="handleSetLineChartData('purchases')"> | ||
| 37 | + <div class="card-panel-icon-wrapper icon-money"> | ||
| 38 | +<!-- <svg-icon icon-class="money" class-name="card-panel-icon" />--> | ||
| 39 | + <i class="el-icon-money" style="font-size: 60px;"></i> | ||
| 40 | + </div> | ||
| 41 | + <div class="card-panel-description"> | ||
| 42 | + <div class="card-panel-text"> | ||
| 43 | + Purchases | ||
| 44 | + </div> | ||
| 45 | + <count-to :start-val="0" :end-val="9280" :duration="3200" class="card-panel-num" /> | ||
| 46 | + </div> | ||
| 47 | + </div> | ||
| 48 | + </el-col> | ||
| 49 | + <el-col :span="5" class="card-panel-col"> | ||
| 50 | + <div class="card-panel" @click="handleSetLineChartData('shoppings')"> | ||
| 51 | + <div class="card-panel-icon-wrapper icon-shopping"> | ||
| 52 | +<!-- <svg-icon icon-class="shopping" class-name="card-panel-icon" />--> | ||
| 53 | + <i class="el-icon-shopping-cart-2" style="font-size: 60px;"></i> | ||
| 54 | + </div> | ||
| 55 | + <div class="card-panel-description"> | ||
| 56 | + <div class="card-panel-text"> | ||
| 57 | + Shoppings | ||
| 58 | + </div> | ||
| 59 | + <count-to :start-val="0" :end-val="13600" :duration="3600" class="card-panel-num" /> | ||
| 60 | + </div> | ||
| 61 | + </div> | ||
| 62 | + </el-col> | ||
| 63 | + </el-row> | ||
| 64 | +</template> | ||
| 65 | + | ||
| 66 | +<script> | ||
| 67 | +import CountTo from 'vue-count-to' | ||
| 68 | +// import '../../../icons' | ||
| 69 | +export default { | ||
| 70 | + components: { | ||
| 71 | + CountTo | ||
| 72 | + }, | ||
| 73 | + methods: { | ||
| 74 | + handleSetLineChartData(type) { | ||
| 75 | + this.$emit('handleSetLineChartData', type) | ||
| 76 | + } | ||
| 77 | + } | ||
| 78 | +} | ||
| 79 | +</script> | ||
| 80 | + | ||
| 81 | +<style lang="scss" scoped> | ||
| 82 | +.panel-group { | ||
| 83 | + margin-top: 18px; | ||
| 84 | + | ||
| 85 | + .card-panel-col { | ||
| 86 | + margin-bottom: 32px; | ||
| 87 | + } | ||
| 88 | + | ||
| 89 | + .card-panel { | ||
| 90 | + height: 108px; | ||
| 91 | + cursor: pointer; | ||
| 92 | + font-size: 12px; | ||
| 93 | + position: relative; | ||
| 94 | + overflow: hidden; | ||
| 95 | + color: #666; | ||
| 96 | + background: #fff; | ||
| 97 | + box-shadow: 4px 4px 40px rgba(0, 0, 0, .05); | ||
| 98 | + border-color: rgba(0, 0, 0, .05); | ||
| 99 | + | ||
| 100 | + &:hover { | ||
| 101 | + .card-panel-icon-wrapper { | ||
| 102 | + color: #fff; | ||
| 103 | + } | ||
| 104 | + | ||
| 105 | + .icon-people { | ||
| 106 | + background: #40c9c6; | ||
| 107 | + } | ||
| 108 | + | ||
| 109 | + .icon-message { | ||
| 110 | + background: #36a3f7; | ||
| 111 | + } | ||
| 112 | + | ||
| 113 | + .icon-money { | ||
| 114 | + background: #f4516c; | ||
| 115 | + } | ||
| 116 | + | ||
| 117 | + .icon-shopping { | ||
| 118 | + background: #34bfa3 | ||
| 119 | + } | ||
| 120 | + } | ||
| 121 | + | ||
| 122 | + .icon-people { | ||
| 123 | + color: #40c9c6; | ||
| 124 | + } | ||
| 125 | + | ||
| 126 | + .icon-message { | ||
| 127 | + color: #36a3f7; | ||
| 128 | + } | ||
| 129 | + | ||
| 130 | + .icon-money { | ||
| 131 | + color: #f4516c; | ||
| 132 | + } | ||
| 133 | + | ||
| 134 | + .icon-shopping { | ||
| 135 | + color: #34bfa3 | ||
| 136 | + } | ||
| 137 | + | ||
| 138 | + .card-panel-icon-wrapper { | ||
| 139 | + float: left; | ||
| 140 | + margin: 14px 0 0 14px; | ||
| 141 | + padding: 16px; | ||
| 142 | + transition: all 0.38s ease-out; | ||
| 143 | + border-radius: 6px; | ||
| 144 | + } | ||
| 145 | + | ||
| 146 | + .card-panel-icon { | ||
| 147 | + float: left; | ||
| 148 | + font-size: 48px; | ||
| 149 | + } | ||
| 150 | + | ||
| 151 | + .card-panel-description { | ||
| 152 | + float: right; | ||
| 153 | + font-weight: bold; | ||
| 154 | + margin: 26px; | ||
| 155 | + margin-left: 0px; | ||
| 156 | + | ||
| 157 | + .card-panel-text { | ||
| 158 | + line-height: 18px; | ||
| 159 | + color: rgba(0, 0, 0, 0.45); | ||
| 160 | + font-size: 16px; | ||
| 161 | + margin-bottom: 12px; | ||
| 162 | + } | ||
| 163 | + | ||
| 164 | + .card-panel-num { | ||
| 165 | + font-size: 20px; | ||
| 166 | + } | ||
| 167 | + } | ||
| 168 | + } | ||
| 169 | +} | ||
| 170 | + | ||
| 171 | +@media (max-width:550px) { | ||
| 172 | + .card-panel-description { | ||
| 173 | + display: none; | ||
| 174 | + } | ||
| 175 | + | ||
| 176 | + .card-panel-icon-wrapper { | ||
| 177 | + float: none !important; | ||
| 178 | + width: 100%; | ||
| 179 | + height: 100%; | ||
| 180 | + margin: 0 !important; | ||
| 181 | + | ||
| 182 | + .svg-icon { | ||
| 183 | + display: block; | ||
| 184 | + margin: 14px auto !important; | ||
| 185 | + float: none !important; | ||
| 186 | + } | ||
| 187 | + } | ||
| 188 | +} | ||
| 189 | +</style> |
-
请 注册 或 登录 后发表评论