Commit 7fe7e00174b1a724ad362b7a24bb965fff5439c9
Exists in
master
Merge branch 'master' of http://121.40.31.31:8888/jp/gulu-vue
Showing
23 changed files
Show diff stats
.eslintignore
.eslintrc.js
... | ... | @@ -0,0 +1,30 @@ |
1 | +module.exports = { | |
2 | + "env": { | |
3 | + "browser": true, | |
4 | + "es6": true | |
5 | + }, | |
6 | + "extends": [ | |
7 | + 'standard', | |
8 | + "eslint:recommended", | |
9 | + "plugin:vue/essential", | |
10 | + "plugin:@typescript-eslint/eslint-recommended", | |
11 | + ], | |
12 | + "globals": { | |
13 | + "Atomics": "readonly", | |
14 | + "SharedArrayBuffer": "readonly", | |
15 | + "uni": true, | |
16 | + "module": true | |
17 | + }, | |
18 | + "parserOptions": { | |
19 | + "ecmaVersion": 11, | |
20 | + "parser": "@typescript-eslint/parser", | |
21 | + "sourceType": "module" | |
22 | + }, | |
23 | + "plugins": [ | |
24 | + "vue", | |
25 | + "@typescript-eslint" | |
26 | + ], | |
27 | + "rules": { | |
28 | + quotes: ['error', 'single'], | |
29 | + } | |
30 | +}; | ... | ... |
package-lock.json
... | ... | @@ -1493,6 +1493,12 @@ |
1493 | 1493 | "integrity": "sha1-HBJhu+qhCoBVu8XYq4S3sq/IRqA=", |
1494 | 1494 | "dev": true |
1495 | 1495 | }, |
1496 | + "@types/eslint-visitor-keys": { | |
1497 | + "version": "1.0.0", | |
1498 | + "resolved": "https://registry.npm.taobao.org/@types/eslint-visitor-keys/download/@types/eslint-visitor-keys-1.0.0.tgz", | |
1499 | + "integrity": "sha1-HuMNeVRMqE1o1LPNsK9PIFZj3S0=", | |
1500 | + "dev": true | |
1501 | + }, | |
1496 | 1502 | "@types/events": { |
1497 | 1503 | "version": "3.0.0", |
1498 | 1504 | "resolved": "https://registry.npm.taobao.org/@types/events/download/@types/events-3.0.0.tgz?cache=0&sync_timestamp=1580843133282&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fevents%2Fdownload%2F%40types%2Fevents-3.0.0.tgz", |
... | ... | @@ -1518,6 +1524,12 @@ |
1518 | 1524 | "@types/node": "*" |
1519 | 1525 | } |
1520 | 1526 | }, |
1527 | + "@types/json-schema": { | |
1528 | + "version": "7.0.4", | |
1529 | + "resolved": "https://registry.npm.taobao.org/@types/json-schema/download/@types/json-schema-7.0.4.tgz?cache=0&sync_timestamp=1588200662880&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fjson-schema%2Fdownload%2F%40types%2Fjson-schema-7.0.4.tgz", | |
1530 | + "integrity": "sha1-OP1z3f2bVaux4bLtV4y1W9e30zk=", | |
1531 | + "dev": true | |
1532 | + }, | |
1521 | 1533 | "@types/minimatch": { |
1522 | 1534 | "version": "3.0.3", |
1523 | 1535 | "resolved": "https://registry.npm.taobao.org/@types/minimatch/download/@types/minimatch-3.0.3.tgz", |
... | ... | @@ -1547,6 +1559,104 @@ |
1547 | 1559 | "integrity": "sha1-knmXNCu59KUYWobmV5oKGK/DOwo=", |
1548 | 1560 | "dev": true |
1549 | 1561 | }, |
1562 | + "@typescript-eslint/eslint-plugin": { | |
1563 | + "version": "3.0.0", | |
1564 | + "resolved": "https://registry.npm.taobao.org/@typescript-eslint/eslint-plugin/download/@typescript-eslint/eslint-plugin-3.0.0.tgz?cache=0&sync_timestamp=1590102419751&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40typescript-eslint%2Feslint-plugin%2Fdownload%2F%40typescript-eslint%2Feslint-plugin-3.0.0.tgz", | |
1565 | + "integrity": "sha1-Avjsa1zoFL2oDfwiRj8Qi+0faZs=", | |
1566 | + "dev": true, | |
1567 | + "requires": { | |
1568 | + "@typescript-eslint/experimental-utils": "3.0.0", | |
1569 | + "functional-red-black-tree": "^1.0.1", | |
1570 | + "regexpp": "^3.0.0", | |
1571 | + "semver": "^7.3.2", | |
1572 | + "tsutils": "^3.17.1" | |
1573 | + }, | |
1574 | + "dependencies": { | |
1575 | + "semver": { | |
1576 | + "version": "7.3.2", | |
1577 | + "resolved": "https://registry.npm.taobao.org/semver/download/semver-7.3.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-7.3.2.tgz", | |
1578 | + "integrity": "sha1-YElisFK4HtB4aq6EOJ/7pw/9OTg=", | |
1579 | + "dev": true | |
1580 | + }, | |
1581 | + "tsutils": { | |
1582 | + "version": "3.17.1", | |
1583 | + "resolved": "https://registry.npm.taobao.org/tsutils/download/tsutils-3.17.1.tgz", | |
1584 | + "integrity": "sha1-7XGZF/EcoN7lhicrKsSeAVot11k=", | |
1585 | + "dev": true, | |
1586 | + "requires": { | |
1587 | + "tslib": "^1.8.1" | |
1588 | + } | |
1589 | + } | |
1590 | + } | |
1591 | + }, | |
1592 | + "@typescript-eslint/experimental-utils": { | |
1593 | + "version": "3.0.0", | |
1594 | + "resolved": "https://registry.npm.taobao.org/@typescript-eslint/experimental-utils/download/@typescript-eslint/experimental-utils-3.0.0.tgz?cache=0&sync_timestamp=1590102416205&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40typescript-eslint%2Fexperimental-utils%2Fdownload%2F%40typescript-eslint%2Fexperimental-utils-3.0.0.tgz", | |
1595 | + "integrity": "sha1-Hd9T7rYayOqpp3BycieQrE9kHAM=", | |
1596 | + "dev": true, | |
1597 | + "requires": { | |
1598 | + "@types/json-schema": "^7.0.3", | |
1599 | + "@typescript-eslint/typescript-estree": "3.0.0", | |
1600 | + "eslint-scope": "^5.0.0", | |
1601 | + "eslint-utils": "^2.0.0" | |
1602 | + }, | |
1603 | + "dependencies": { | |
1604 | + "eslint-scope": { | |
1605 | + "version": "5.0.0", | |
1606 | + "resolved": "https://registry.npm.taobao.org/eslint-scope/download/eslint-scope-5.0.0.tgz", | |
1607 | + "integrity": "sha1-6HyIh8c+jR7ITxylkWRcNYv8j7k=", | |
1608 | + "dev": true, | |
1609 | + "requires": { | |
1610 | + "esrecurse": "^4.1.0", | |
1611 | + "estraverse": "^4.1.1" | |
1612 | + } | |
1613 | + } | |
1614 | + } | |
1615 | + }, | |
1616 | + "@typescript-eslint/parser": { | |
1617 | + "version": "3.0.0", | |
1618 | + "resolved": "https://registry.npm.taobao.org/@typescript-eslint/parser/download/@typescript-eslint/parser-3.0.0.tgz?cache=0&sync_timestamp=1590102418147&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40typescript-eslint%2Fparser%2Fdownload%2F%40typescript-eslint%2Fparser-3.0.0.tgz", | |
1619 | + "integrity": "sha1-/p/fGKEVXALAQiDBRQajIMtsaUQ=", | |
1620 | + "dev": true, | |
1621 | + "requires": { | |
1622 | + "@types/eslint-visitor-keys": "^1.0.0", | |
1623 | + "@typescript-eslint/experimental-utils": "3.0.0", | |
1624 | + "@typescript-eslint/typescript-estree": "3.0.0", | |
1625 | + "eslint-visitor-keys": "^1.1.0" | |
1626 | + } | |
1627 | + }, | |
1628 | + "@typescript-eslint/typescript-estree": { | |
1629 | + "version": "3.0.0", | |
1630 | + "resolved": "https://registry.npm.taobao.org/@typescript-eslint/typescript-estree/download/@typescript-eslint/typescript-estree-3.0.0.tgz", | |
1631 | + "integrity": "sha1-+kDht2zP+IATC+BU2cOY6WAEv0I=", | |
1632 | + "dev": true, | |
1633 | + "requires": { | |
1634 | + "debug": "^4.1.1", | |
1635 | + "eslint-visitor-keys": "^1.1.0", | |
1636 | + "glob": "^7.1.6", | |
1637 | + "is-glob": "^4.0.1", | |
1638 | + "lodash": "^4.17.15", | |
1639 | + "semver": "^7.3.2", | |
1640 | + "tsutils": "^3.17.1" | |
1641 | + }, | |
1642 | + "dependencies": { | |
1643 | + "semver": { | |
1644 | + "version": "7.3.2", | |
1645 | + "resolved": "https://registry.npm.taobao.org/semver/download/semver-7.3.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-7.3.2.tgz", | |
1646 | + "integrity": "sha1-YElisFK4HtB4aq6EOJ/7pw/9OTg=", | |
1647 | + "dev": true | |
1648 | + }, | |
1649 | + "tsutils": { | |
1650 | + "version": "3.17.1", | |
1651 | + "resolved": "https://registry.npm.taobao.org/tsutils/download/tsutils-3.17.1.tgz", | |
1652 | + "integrity": "sha1-7XGZF/EcoN7lhicrKsSeAVot11k=", | |
1653 | + "dev": true, | |
1654 | + "requires": { | |
1655 | + "tslib": "^1.8.1" | |
1656 | + } | |
1657 | + } | |
1658 | + } | |
1659 | + }, | |
1550 | 1660 | "@vue/babel-helper-vue-jsx-merge-props": { |
1551 | 1661 | "version": "1.0.0", |
1552 | 1662 | "resolved": "https://registry.npm.taobao.org/@vue/babel-helper-vue-jsx-merge-props/download/@vue/babel-helper-vue-jsx-merge-props-1.0.0.tgz", |
... | ... | @@ -2047,6 +2157,12 @@ |
2047 | 2157 | "indexes-of": "^1.0.1", |
2048 | 2158 | "uniq": "^1.0.1" |
2049 | 2159 | } |
2160 | + }, | |
2161 | + "prettier": { | |
2162 | + "version": "1.19.1", | |
2163 | + "resolved": "https://registry.npm.taobao.org/prettier/download/prettier-1.19.1.tgz", | |
2164 | + "integrity": "sha1-99f1/4qc2HKnvkyhQglZVqYHl8s=", | |
2165 | + "optional": true | |
2050 | 2166 | } |
2051 | 2167 | } |
2052 | 2168 | }, |
... | ... | @@ -2258,6 +2374,12 @@ |
2258 | 2374 | "integrity": "sha1-Po2KmUfQWZoXltECJddDL0pKz14=", |
2259 | 2375 | "dev": true |
2260 | 2376 | }, |
2377 | + "acorn-jsx": { | |
2378 | + "version": "5.2.0", | |
2379 | + "resolved": "https://registry.npm.taobao.org/acorn-jsx/download/acorn-jsx-5.2.0.tgz", | |
2380 | + "integrity": "sha1-TGYGkXPW/daO2FI5/CViJhgrLr4=", | |
2381 | + "dev": true | |
2382 | + }, | |
2261 | 2383 | "acorn-walk": { |
2262 | 2384 | "version": "7.1.1", |
2263 | 2385 | "resolved": "https://registry.npm.taobao.org/acorn-walk/download/acorn-walk-7.1.1.tgz", |
... | ... | @@ -2348,6 +2470,23 @@ |
2348 | 2470 | "integrity": "sha1-46PaS/uubIapwoViXeEkojQCb78=", |
2349 | 2471 | "dev": true |
2350 | 2472 | }, |
2473 | + "ansi-escapes": { | |
2474 | + "version": "4.3.1", | |
2475 | + "resolved": "https://registry.npm.taobao.org/ansi-escapes/download/ansi-escapes-4.3.1.tgz?cache=0&sync_timestamp=1583072845985&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fansi-escapes%2Fdownload%2Fansi-escapes-4.3.1.tgz", | |
2476 | + "integrity": "sha1-pcR8xDGB8fOP/XB2g3cA05VSKmE=", | |
2477 | + "dev": true, | |
2478 | + "requires": { | |
2479 | + "type-fest": "^0.11.0" | |
2480 | + }, | |
2481 | + "dependencies": { | |
2482 | + "type-fest": { | |
2483 | + "version": "0.11.0", | |
2484 | + "resolved": "https://registry.npm.taobao.org/type-fest/download/type-fest-0.11.0.tgz", | |
2485 | + "integrity": "sha1-l6vwhyMQ/tiKXEZrJWgVdhReM/E=", | |
2486 | + "dev": true | |
2487 | + } | |
2488 | + } | |
2489 | + }, | |
2351 | 2490 | "ansi-html": { |
2352 | 2491 | "version": "0.0.7", |
2353 | 2492 | "resolved": "http://registry.npm.taobao.org/ansi-html/download/ansi-html-0.0.7.tgz", |
... | ... | @@ -2449,6 +2588,17 @@ |
2449 | 2588 | "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=", |
2450 | 2589 | "dev": true |
2451 | 2590 | }, |
2591 | + "array-includes": { | |
2592 | + "version": "3.1.1", | |
2593 | + "resolved": "https://registry.npm.taobao.org/array-includes/download/array-includes-3.1.1.tgz", | |
2594 | + "integrity": "sha1-zdZ+aFK9+cEhVGB4ZzIlXtJFk0g=", | |
2595 | + "dev": true, | |
2596 | + "requires": { | |
2597 | + "define-properties": "^1.1.3", | |
2598 | + "es-abstract": "^1.17.0", | |
2599 | + "is-string": "^1.0.5" | |
2600 | + } | |
2601 | + }, | |
2452 | 2602 | "array-union": { |
2453 | 2603 | "version": "1.0.2", |
2454 | 2604 | "resolved": "https://registry.npm.taobao.org/array-union/download/array-union-1.0.2.tgz", |
... | ... | @@ -2469,6 +2619,16 @@ |
2469 | 2619 | "resolved": "http://registry.npm.taobao.org/array-unique/download/array-unique-0.3.2.tgz", |
2470 | 2620 | "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=" |
2471 | 2621 | }, |
2622 | + "array.prototype.flat": { | |
2623 | + "version": "1.2.3", | |
2624 | + "resolved": "https://registry.npm.taobao.org/array.prototype.flat/download/array.prototype.flat-1.2.3.tgz?cache=0&sync_timestamp=1576170698154&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Farray.prototype.flat%2Fdownload%2Farray.prototype.flat-1.2.3.tgz", | |
2625 | + "integrity": "sha1-DegrQmsDGNv9uUAInjiwQ9N/bHs=", | |
2626 | + "dev": true, | |
2627 | + "requires": { | |
2628 | + "define-properties": "^1.1.3", | |
2629 | + "es-abstract": "^1.17.0-next.1" | |
2630 | + } | |
2631 | + }, | |
2472 | 2632 | "arraybuffer.slice": { |
2473 | 2633 | "version": "0.0.7", |
2474 | 2634 | "resolved": "https://registry.npm.taobao.org/arraybuffer.slice/download/arraybuffer.slice-0.0.7.tgz", |
... | ... | @@ -2526,6 +2686,12 @@ |
2526 | 2686 | "resolved": "http://registry.npm.taobao.org/assign-symbols/download/assign-symbols-1.0.0.tgz", |
2527 | 2687 | "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=" |
2528 | 2688 | }, |
2689 | + "astral-regex": { | |
2690 | + "version": "1.0.0", | |
2691 | + "resolved": "https://registry.npm.taobao.org/astral-regex/download/astral-regex-1.0.0.tgz", | |
2692 | + "integrity": "sha1-bIw/uCfdQ+45GPJ7gngqt2WKb9k=", | |
2693 | + "dev": true | |
2694 | + }, | |
2529 | 2695 | "async": { |
2530 | 2696 | "version": "2.6.3", |
2531 | 2697 | "resolved": "https://registry.npm.taobao.org/async/download/async-2.6.3.tgz", |
... | ... | @@ -3360,6 +3526,12 @@ |
3360 | 3526 | } |
3361 | 3527 | } |
3362 | 3528 | }, |
3529 | + "chardet": { | |
3530 | + "version": "0.7.0", | |
3531 | + "resolved": "https://registry.npm.taobao.org/chardet/download/chardet-0.7.0.tgz?cache=0&sync_timestamp=1588894059283&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchardet%2Fdownload%2Fchardet-0.7.0.tgz", | |
3532 | + "integrity": "sha1-kAlISfCTfy7twkJdDSip5fDLrZ4=", | |
3533 | + "dev": true | |
3534 | + }, | |
3363 | 3535 | "charenc": { |
3364 | 3536 | "version": "0.0.2", |
3365 | 3537 | "resolved": "http://registry.npm.taobao.org/charenc/download/charenc-0.0.2.tgz", |
... | ... | @@ -3540,6 +3712,12 @@ |
3540 | 3712 | "integrity": "sha1-BjIjmktapMlYYQFCw0u3plH8jfU=", |
3541 | 3713 | "dev": true |
3542 | 3714 | }, |
3715 | + "cli-width": { | |
3716 | + "version": "2.2.1", | |
3717 | + "resolved": "https://registry.npm.taobao.org/cli-width/download/cli-width-2.2.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcli-width%2Fdownload%2Fcli-width-2.2.1.tgz", | |
3718 | + "integrity": "sha1-sEM9C06chH7xiGik7xb9X8gnHEg=", | |
3719 | + "dev": true | |
3720 | + }, | |
3543 | 3721 | "clipboardy": { |
3544 | 3722 | "version": "2.3.0", |
3545 | 3723 | "resolved": "https://registry.npm.taobao.org/clipboardy/download/clipboardy-2.3.0.tgz", |
... | ... | @@ -3807,6 +3985,12 @@ |
3807 | 3985 | "resolved": "http://registry.npm.taobao.org/constants-browserify/download/constants-browserify-1.0.0.tgz", |
3808 | 3986 | "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=" |
3809 | 3987 | }, |
3988 | + "contains-path": { | |
3989 | + "version": "0.1.0", | |
3990 | + "resolved": "https://registry.npm.taobao.org/contains-path/download/contains-path-0.1.0.tgz", | |
3991 | + "integrity": "sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo=", | |
3992 | + "dev": true | |
3993 | + }, | |
3810 | 3994 | "content-disposition": { |
3811 | 3995 | "version": "0.5.3", |
3812 | 3996 | "resolved": "http://registry.npm.taobao.org/content-disposition/download/content-disposition-0.5.3.tgz", |
... | ... | @@ -4668,6 +4852,16 @@ |
4668 | 4852 | "buffer-indexof": "^1.0.0" |
4669 | 4853 | } |
4670 | 4854 | }, |
4855 | + "doctrine": { | |
4856 | + "version": "1.5.0", | |
4857 | + "resolved": "https://registry.npm.taobao.org/doctrine/download/doctrine-1.5.0.tgz", | |
4858 | + "integrity": "sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=", | |
4859 | + "dev": true, | |
4860 | + "requires": { | |
4861 | + "esutils": "^2.0.2", | |
4862 | + "isarray": "^1.0.0" | |
4863 | + } | |
4864 | + }, | |
4671 | 4865 | "dom-converter": { |
4672 | 4866 | "version": "0.2.0", |
4673 | 4867 | "resolved": "http://registry.npm.taobao.org/dom-converter/download/dom-converter-0.2.0.tgz", |
... | ... | @@ -5025,6 +5219,618 @@ |
5025 | 5219 | "source-map": "~0.6.1" |
5026 | 5220 | } |
5027 | 5221 | }, |
5222 | + "eslint": { | |
5223 | + "version": "7.0.0", | |
5224 | + "resolved": "https://registry.npm.taobao.org/eslint/download/eslint-7.0.0.tgz?cache=0&sync_timestamp=1589251748946&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Feslint%2Fdownload%2Feslint-7.0.0.tgz", | |
5225 | + "integrity": "sha1-w139BKQ3IRC9eMaajXmGQnORmgg=", | |
5226 | + "dev": true, | |
5227 | + "requires": { | |
5228 | + "@babel/code-frame": "^7.0.0", | |
5229 | + "ajv": "^6.10.0", | |
5230 | + "chalk": "^4.0.0", | |
5231 | + "cross-spawn": "^7.0.2", | |
5232 | + "debug": "^4.0.1", | |
5233 | + "doctrine": "^3.0.0", | |
5234 | + "eslint-scope": "^5.0.0", | |
5235 | + "eslint-utils": "^2.0.0", | |
5236 | + "eslint-visitor-keys": "^1.1.0", | |
5237 | + "espree": "^7.0.0", | |
5238 | + "esquery": "^1.2.0", | |
5239 | + "esutils": "^2.0.2", | |
5240 | + "file-entry-cache": "^5.0.1", | |
5241 | + "functional-red-black-tree": "^1.0.1", | |
5242 | + "glob-parent": "^5.0.0", | |
5243 | + "globals": "^12.1.0", | |
5244 | + "ignore": "^4.0.6", | |
5245 | + "import-fresh": "^3.0.0", | |
5246 | + "imurmurhash": "^0.1.4", | |
5247 | + "inquirer": "^7.0.0", | |
5248 | + "is-glob": "^4.0.0", | |
5249 | + "js-yaml": "^3.13.1", | |
5250 | + "json-stable-stringify-without-jsonify": "^1.0.1", | |
5251 | + "levn": "^0.4.1", | |
5252 | + "lodash": "^4.17.14", | |
5253 | + "minimatch": "^3.0.4", | |
5254 | + "natural-compare": "^1.4.0", | |
5255 | + "optionator": "^0.9.1", | |
5256 | + "progress": "^2.0.0", | |
5257 | + "regexpp": "^3.1.0", | |
5258 | + "semver": "^7.2.1", | |
5259 | + "strip-ansi": "^6.0.0", | |
5260 | + "strip-json-comments": "^3.1.0", | |
5261 | + "table": "^5.2.3", | |
5262 | + "text-table": "^0.2.0", | |
5263 | + "v8-compile-cache": "^2.0.3" | |
5264 | + }, | |
5265 | + "dependencies": { | |
5266 | + "acorn": { | |
5267 | + "version": "7.2.0", | |
5268 | + "resolved": "https://registry.npm.taobao.org/acorn/download/acorn-7.2.0.tgz?cache=0&sync_timestamp=1589008014473&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Facorn%2Fdownload%2Facorn-7.2.0.tgz", | |
5269 | + "integrity": "sha1-F+p+QNfIZA/1SmlMiJwm8xcE7/4=", | |
5270 | + "dev": true | |
5271 | + }, | |
5272 | + "ansi-styles": { | |
5273 | + "version": "4.2.1", | |
5274 | + "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-4.2.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fansi-styles%2Fdownload%2Fansi-styles-4.2.1.tgz", | |
5275 | + "integrity": "sha1-kK51xCTQCNJiTFvynq0xd+v881k=", | |
5276 | + "dev": true, | |
5277 | + "requires": { | |
5278 | + "@types/color-name": "^1.1.1", | |
5279 | + "color-convert": "^2.0.1" | |
5280 | + } | |
5281 | + }, | |
5282 | + "chalk": { | |
5283 | + "version": "4.0.0", | |
5284 | + "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-4.0.0.tgz?cache=0&sync_timestamp=1585815759944&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchalk%2Fdownload%2Fchalk-4.0.0.tgz", | |
5285 | + "integrity": "sha1-bpgIHtLRf6q2FetSrGbsH+YgnnI=", | |
5286 | + "dev": true, | |
5287 | + "requires": { | |
5288 | + "ansi-styles": "^4.1.0", | |
5289 | + "supports-color": "^7.1.0" | |
5290 | + } | |
5291 | + }, | |
5292 | + "color-convert": { | |
5293 | + "version": "2.0.1", | |
5294 | + "resolved": "https://registry.npm.taobao.org/color-convert/download/color-convert-2.0.1.tgz", | |
5295 | + "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=", | |
5296 | + "dev": true, | |
5297 | + "requires": { | |
5298 | + "color-name": "~1.1.4" | |
5299 | + } | |
5300 | + }, | |
5301 | + "color-name": { | |
5302 | + "version": "1.1.4", | |
5303 | + "resolved": "https://registry.npm.taobao.org/color-name/download/color-name-1.1.4.tgz", | |
5304 | + "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=", | |
5305 | + "dev": true | |
5306 | + }, | |
5307 | + "cross-spawn": { | |
5308 | + "version": "7.0.2", | |
5309 | + "resolved": "https://registry.npm.taobao.org/cross-spawn/download/cross-spawn-7.0.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcross-spawn%2Fdownload%2Fcross-spawn-7.0.2.tgz", | |
5310 | + "integrity": "sha1-0Nfc+nTokRXHYZ9PchqU4f23FtY=", | |
5311 | + "dev": true, | |
5312 | + "requires": { | |
5313 | + "path-key": "^3.1.0", | |
5314 | + "shebang-command": "^2.0.0", | |
5315 | + "which": "^2.0.1" | |
5316 | + } | |
5317 | + }, | |
5318 | + "doctrine": { | |
5319 | + "version": "3.0.0", | |
5320 | + "resolved": "https://registry.npm.taobao.org/doctrine/download/doctrine-3.0.0.tgz", | |
5321 | + "integrity": "sha1-rd6+rXKmV023g2OdyHoSF3OXOWE=", | |
5322 | + "dev": true, | |
5323 | + "requires": { | |
5324 | + "esutils": "^2.0.2" | |
5325 | + } | |
5326 | + }, | |
5327 | + "eslint-scope": { | |
5328 | + "version": "5.0.0", | |
5329 | + "resolved": "https://registry.npm.taobao.org/eslint-scope/download/eslint-scope-5.0.0.tgz", | |
5330 | + "integrity": "sha1-6HyIh8c+jR7ITxylkWRcNYv8j7k=", | |
5331 | + "dev": true, | |
5332 | + "requires": { | |
5333 | + "esrecurse": "^4.1.0", | |
5334 | + "estraverse": "^4.1.1" | |
5335 | + } | |
5336 | + }, | |
5337 | + "espree": { | |
5338 | + "version": "7.0.0", | |
5339 | + "resolved": "https://registry.npm.taobao.org/espree/download/espree-7.0.0.tgz?cache=0&sync_timestamp=1588886720119&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fespree%2Fdownload%2Fespree-7.0.0.tgz", | |
5340 | + "integrity": "sha1-inpg8hjmnxIKhC3CTFqIqndIp04=", | |
5341 | + "dev": true, | |
5342 | + "requires": { | |
5343 | + "acorn": "^7.1.1", | |
5344 | + "acorn-jsx": "^5.2.0", | |
5345 | + "eslint-visitor-keys": "^1.1.0" | |
5346 | + } | |
5347 | + }, | |
5348 | + "glob-parent": { | |
5349 | + "version": "5.1.1", | |
5350 | + "resolved": "https://registry.npm.taobao.org/glob-parent/download/glob-parent-5.1.1.tgz?cache=0&sync_timestamp=1584835847541&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fglob-parent%2Fdownload%2Fglob-parent-5.1.1.tgz", | |
5351 | + "integrity": "sha1-tsHvQXxOVmPqSY8cRa+saRa7wik=", | |
5352 | + "dev": true, | |
5353 | + "requires": { | |
5354 | + "is-glob": "^4.0.1" | |
5355 | + } | |
5356 | + }, | |
5357 | + "globals": { | |
5358 | + "version": "12.4.0", | |
5359 | + "resolved": "https://registry.npm.taobao.org/globals/download/globals-12.4.0.tgz?cache=0&sync_timestamp=1586675819799&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fglobals%2Fdownload%2Fglobals-12.4.0.tgz", | |
5360 | + "integrity": "sha1-oYgTV2pBsAokqX5/gVkYwuGZJfg=", | |
5361 | + "dev": true, | |
5362 | + "requires": { | |
5363 | + "type-fest": "^0.8.1" | |
5364 | + } | |
5365 | + }, | |
5366 | + "has-flag": { | |
5367 | + "version": "4.0.0", | |
5368 | + "resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-4.0.0.tgz", | |
5369 | + "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=", | |
5370 | + "dev": true | |
5371 | + }, | |
5372 | + "ignore": { | |
5373 | + "version": "4.0.6", | |
5374 | + "resolved": "https://registry.npm.taobao.org/ignore/download/ignore-4.0.6.tgz", | |
5375 | + "integrity": "sha1-dQ49tYYgh7RzfrrIIH/9HvJ7Jfw=", | |
5376 | + "dev": true | |
5377 | + }, | |
5378 | + "import-fresh": { | |
5379 | + "version": "3.2.1", | |
5380 | + "resolved": "https://registry.npm.taobao.org/import-fresh/download/import-fresh-3.2.1.tgz", | |
5381 | + "integrity": "sha1-Yz/2GFBueTr1rJG/SLcmd+FcvmY=", | |
5382 | + "dev": true, | |
5383 | + "requires": { | |
5384 | + "parent-module": "^1.0.0", | |
5385 | + "resolve-from": "^4.0.0" | |
5386 | + } | |
5387 | + }, | |
5388 | + "levn": { | |
5389 | + "version": "0.4.1", | |
5390 | + "resolved": "https://registry.npm.taobao.org/levn/download/levn-0.4.1.tgz", | |
5391 | + "integrity": "sha1-rkViwAdHO5MqYgDUAyaN0v/8at4=", | |
5392 | + "dev": true, | |
5393 | + "requires": { | |
5394 | + "prelude-ls": "^1.2.1", | |
5395 | + "type-check": "~0.4.0" | |
5396 | + } | |
5397 | + }, | |
5398 | + "optionator": { | |
5399 | + "version": "0.9.1", | |
5400 | + "resolved": "https://registry.npm.taobao.org/optionator/download/optionator-0.9.1.tgz", | |
5401 | + "integrity": "sha1-TyNqY3Pa4FZqbUPhMmZ09QwpFJk=", | |
5402 | + "dev": true, | |
5403 | + "requires": { | |
5404 | + "deep-is": "^0.1.3", | |
5405 | + "fast-levenshtein": "^2.0.6", | |
5406 | + "levn": "^0.4.1", | |
5407 | + "prelude-ls": "^1.2.1", | |
5408 | + "type-check": "^0.4.0", | |
5409 | + "word-wrap": "^1.2.3" | |
5410 | + } | |
5411 | + }, | |
5412 | + "path-key": { | |
5413 | + "version": "3.1.1", | |
5414 | + "resolved": "https://registry.npm.taobao.org/path-key/download/path-key-3.1.1.tgz", | |
5415 | + "integrity": "sha1-WB9q3mWMu6ZaDTOA3ndTKVBU83U=", | |
5416 | + "dev": true | |
5417 | + }, | |
5418 | + "prelude-ls": { | |
5419 | + "version": "1.2.1", | |
5420 | + "resolved": "https://registry.npm.taobao.org/prelude-ls/download/prelude-ls-1.2.1.tgz", | |
5421 | + "integrity": "sha1-3rxkidem5rDnYRiIzsiAM30xY5Y=", | |
5422 | + "dev": true | |
5423 | + }, | |
5424 | + "resolve-from": { | |
5425 | + "version": "4.0.0", | |
5426 | + "resolved": "https://registry.npm.taobao.org/resolve-from/download/resolve-from-4.0.0.tgz", | |
5427 | + "integrity": "sha1-SrzYUq0y3Xuqv+m0DgCjbbXzkuY=", | |
5428 | + "dev": true | |
5429 | + }, | |
5430 | + "semver": { | |
5431 | + "version": "7.3.2", | |
5432 | + "resolved": "https://registry.npm.taobao.org/semver/download/semver-7.3.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-7.3.2.tgz", | |
5433 | + "integrity": "sha1-YElisFK4HtB4aq6EOJ/7pw/9OTg=", | |
5434 | + "dev": true | |
5435 | + }, | |
5436 | + "shebang-command": { | |
5437 | + "version": "2.0.0", | |
5438 | + "resolved": "https://registry.npm.taobao.org/shebang-command/download/shebang-command-2.0.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fshebang-command%2Fdownload%2Fshebang-command-2.0.0.tgz", | |
5439 | + "integrity": "sha1-zNCvT4g1+9wmW4JGGq8MNmY/NOo=", | |
5440 | + "dev": true, | |
5441 | + "requires": { | |
5442 | + "shebang-regex": "^3.0.0" | |
5443 | + } | |
5444 | + }, | |
5445 | + "shebang-regex": { | |
5446 | + "version": "3.0.0", | |
5447 | + "resolved": "https://registry.npm.taobao.org/shebang-regex/download/shebang-regex-3.0.0.tgz", | |
5448 | + "integrity": "sha1-rhbxZE2HPsrYQ7AwexQzYtTEIXI=", | |
5449 | + "dev": true | |
5450 | + }, | |
5451 | + "strip-json-comments": { | |
5452 | + "version": "3.1.0", | |
5453 | + "resolved": "https://registry.npm.taobao.org/strip-json-comments/download/strip-json-comments-3.1.0.tgz?cache=0&sync_timestamp=1586160317146&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstrip-json-comments%2Fdownload%2Fstrip-json-comments-3.1.0.tgz", | |
5454 | + "integrity": "sha1-djjTFCISns9EV0QACfugP5+awYA=", | |
5455 | + "dev": true | |
5456 | + }, | |
5457 | + "supports-color": { | |
5458 | + "version": "7.1.0", | |
5459 | + "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-7.1.0.tgz?cache=0&sync_timestamp=1569557271992&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-7.1.0.tgz", | |
5460 | + "integrity": "sha1-aOMlkd9z4lrRxLSRCKLsUHliv9E=", | |
5461 | + "dev": true, | |
5462 | + "requires": { | |
5463 | + "has-flag": "^4.0.0" | |
5464 | + } | |
5465 | + }, | |
5466 | + "type-check": { | |
5467 | + "version": "0.4.0", | |
5468 | + "resolved": "https://registry.npm.taobao.org/type-check/download/type-check-0.4.0.tgz", | |
5469 | + "integrity": "sha1-B7ggO/pwVsBlcFDjzNLDdzC6uPE=", | |
5470 | + "dev": true, | |
5471 | + "requires": { | |
5472 | + "prelude-ls": "^1.2.1" | |
5473 | + } | |
5474 | + }, | |
5475 | + "type-fest": { | |
5476 | + "version": "0.8.1", | |
5477 | + "resolved": "https://registry.npm.taobao.org/type-fest/download/type-fest-0.8.1.tgz", | |
5478 | + "integrity": "sha1-CeJJ696FHTseSNJ8EFREZn8XuD0=", | |
5479 | + "dev": true | |
5480 | + }, | |
5481 | + "which": { | |
5482 | + "version": "2.0.2", | |
5483 | + "resolved": "https://registry.npm.taobao.org/which/download/which-2.0.2.tgz", | |
5484 | + "integrity": "sha1-fGqN0KY2oDJ+ELWckobu6T8/UbE=", | |
5485 | + "dev": true, | |
5486 | + "requires": { | |
5487 | + "isexe": "^2.0.0" | |
5488 | + } | |
5489 | + } | |
5490 | + } | |
5491 | + }, | |
5492 | + "eslint-config-prettier": { | |
5493 | + "version": "6.11.0", | |
5494 | + "resolved": "https://registry.npm.taobao.org/eslint-config-prettier/download/eslint-config-prettier-6.11.0.tgz", | |
5495 | + "integrity": "sha1-9tIjjBKQ0ByFmotcH301KgsNqLE=", | |
5496 | + "dev": true, | |
5497 | + "requires": { | |
5498 | + "get-stdin": "^6.0.0" | |
5499 | + }, | |
5500 | + "dependencies": { | |
5501 | + "get-stdin": { | |
5502 | + "version": "6.0.0", | |
5503 | + "resolved": "https://registry.npm.taobao.org/get-stdin/download/get-stdin-6.0.0.tgz", | |
5504 | + "integrity": "sha1-ngm/cSs2CrkiXoEgSPcf3pyJZXs=", | |
5505 | + "dev": true | |
5506 | + } | |
5507 | + } | |
5508 | + }, | |
5509 | + "eslint-config-standard": { | |
5510 | + "version": "14.1.1", | |
5511 | + "resolved": "https://registry.npm.taobao.org/eslint-config-standard/download/eslint-config-standard-14.1.1.tgz", | |
5512 | + "integrity": "sha1-gwqOROeu995nRkl5rQa0BgJsVuo=", | |
5513 | + "dev": true | |
5514 | + }, | |
5515 | + "eslint-import-resolver-node": { | |
5516 | + "version": "0.3.3", | |
5517 | + "resolved": "https://registry.npm.taobao.org/eslint-import-resolver-node/download/eslint-import-resolver-node-0.3.3.tgz?cache=0&sync_timestamp=1578726660361&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Feslint-import-resolver-node%2Fdownload%2Feslint-import-resolver-node-0.3.3.tgz", | |
5518 | + "integrity": "sha1-26pStrKBa1C8ZxGvdUIt6AjphAQ=", | |
5519 | + "dev": true, | |
5520 | + "requires": { | |
5521 | + "debug": "^2.6.9", | |
5522 | + "resolve": "^1.13.1" | |
5523 | + }, | |
5524 | + "dependencies": { | |
5525 | + "debug": { | |
5526 | + "version": "2.6.9", | |
5527 | + "resolved": "https://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-2.6.9.tgz", | |
5528 | + "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", | |
5529 | + "dev": true, | |
5530 | + "requires": { | |
5531 | + "ms": "2.0.0" | |
5532 | + } | |
5533 | + }, | |
5534 | + "ms": { | |
5535 | + "version": "2.0.0", | |
5536 | + "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.0.0.tgz?cache=0&sync_timestamp=1575472461218&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.0.0.tgz", | |
5537 | + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", | |
5538 | + "dev": true | |
5539 | + } | |
5540 | + } | |
5541 | + }, | |
5542 | + "eslint-module-utils": { | |
5543 | + "version": "2.6.0", | |
5544 | + "resolved": "https://registry.npm.taobao.org/eslint-module-utils/download/eslint-module-utils-2.6.0.tgz", | |
5545 | + "integrity": "sha1-V569CU9Wr3eX0ZyYZsnJSGYpv6Y=", | |
5546 | + "dev": true, | |
5547 | + "requires": { | |
5548 | + "debug": "^2.6.9", | |
5549 | + "pkg-dir": "^2.0.0" | |
5550 | + }, | |
5551 | + "dependencies": { | |
5552 | + "debug": { | |
5553 | + "version": "2.6.9", | |
5554 | + "resolved": "https://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-2.6.9.tgz", | |
5555 | + "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", | |
5556 | + "dev": true, | |
5557 | + "requires": { | |
5558 | + "ms": "2.0.0" | |
5559 | + } | |
5560 | + }, | |
5561 | + "find-up": { | |
5562 | + "version": "2.1.0", | |
5563 | + "resolved": "https://registry.npm.taobao.org/find-up/download/find-up-2.1.0.tgz", | |
5564 | + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", | |
5565 | + "dev": true, | |
5566 | + "requires": { | |
5567 | + "locate-path": "^2.0.0" | |
5568 | + } | |
5569 | + }, | |
5570 | + "locate-path": { | |
5571 | + "version": "2.0.0", | |
5572 | + "resolved": "https://registry.npm.taobao.org/locate-path/download/locate-path-2.0.0.tgz", | |
5573 | + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", | |
5574 | + "dev": true, | |
5575 | + "requires": { | |
5576 | + "p-locate": "^2.0.0", | |
5577 | + "path-exists": "^3.0.0" | |
5578 | + } | |
5579 | + }, | |
5580 | + "ms": { | |
5581 | + "version": "2.0.0", | |
5582 | + "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.0.0.tgz?cache=0&sync_timestamp=1575472461218&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.0.0.tgz", | |
5583 | + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", | |
5584 | + "dev": true | |
5585 | + }, | |
5586 | + "p-limit": { | |
5587 | + "version": "1.3.0", | |
5588 | + "resolved": "https://registry.npm.taobao.org/p-limit/download/p-limit-1.3.0.tgz", | |
5589 | + "integrity": "sha1-uGvV8MJWkJEcdZD8v8IBDVSzzLg=", | |
5590 | + "dev": true, | |
5591 | + "requires": { | |
5592 | + "p-try": "^1.0.0" | |
5593 | + } | |
5594 | + }, | |
5595 | + "p-locate": { | |
5596 | + "version": "2.0.0", | |
5597 | + "resolved": "https://registry.npm.taobao.org/p-locate/download/p-locate-2.0.0.tgz", | |
5598 | + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", | |
5599 | + "dev": true, | |
5600 | + "requires": { | |
5601 | + "p-limit": "^1.1.0" | |
5602 | + } | |
5603 | + }, | |
5604 | + "p-try": { | |
5605 | + "version": "1.0.0", | |
5606 | + "resolved": "https://registry.npm.taobao.org/p-try/download/p-try-1.0.0.tgz", | |
5607 | + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", | |
5608 | + "dev": true | |
5609 | + }, | |
5610 | + "pkg-dir": { | |
5611 | + "version": "2.0.0", | |
5612 | + "resolved": "https://registry.npm.taobao.org/pkg-dir/download/pkg-dir-2.0.0.tgz", | |
5613 | + "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", | |
5614 | + "dev": true, | |
5615 | + "requires": { | |
5616 | + "find-up": "^2.1.0" | |
5617 | + } | |
5618 | + } | |
5619 | + } | |
5620 | + }, | |
5621 | + "eslint-plugin-es": { | |
5622 | + "version": "3.0.1", | |
5623 | + "resolved": "https://registry.npm.taobao.org/eslint-plugin-es/download/eslint-plugin-es-3.0.1.tgz", | |
5624 | + "integrity": "sha1-dafN/czdwFiZNK7rOEF18iHFeJM=", | |
5625 | + "dev": true, | |
5626 | + "requires": { | |
5627 | + "eslint-utils": "^2.0.0", | |
5628 | + "regexpp": "^3.0.0" | |
5629 | + } | |
5630 | + }, | |
5631 | + "eslint-plugin-import": { | |
5632 | + "version": "2.20.2", | |
5633 | + "resolved": "https://registry.npm.taobao.org/eslint-plugin-import/download/eslint-plugin-import-2.20.2.tgz?cache=0&sync_timestamp=1585455691029&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Feslint-plugin-import%2Fdownload%2Feslint-plugin-import-2.20.2.tgz", | |
5634 | + "integrity": "sha1-kfw4B84Ivkg3FBJyyLmQc5BuWI0=", | |
5635 | + "dev": true, | |
5636 | + "requires": { | |
5637 | + "array-includes": "^3.0.3", | |
5638 | + "array.prototype.flat": "^1.2.1", | |
5639 | + "contains-path": "^0.1.0", | |
5640 | + "debug": "^2.6.9", | |
5641 | + "doctrine": "1.5.0", | |
5642 | + "eslint-import-resolver-node": "^0.3.2", | |
5643 | + "eslint-module-utils": "^2.4.1", | |
5644 | + "has": "^1.0.3", | |
5645 | + "minimatch": "^3.0.4", | |
5646 | + "object.values": "^1.1.0", | |
5647 | + "read-pkg-up": "^2.0.0", | |
5648 | + "resolve": "^1.12.0" | |
5649 | + }, | |
5650 | + "dependencies": { | |
5651 | + "debug": { | |
5652 | + "version": "2.6.9", | |
5653 | + "resolved": "https://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-2.6.9.tgz", | |
5654 | + "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", | |
5655 | + "dev": true, | |
5656 | + "requires": { | |
5657 | + "ms": "2.0.0" | |
5658 | + } | |
5659 | + }, | |
5660 | + "find-up": { | |
5661 | + "version": "2.1.0", | |
5662 | + "resolved": "https://registry.npm.taobao.org/find-up/download/find-up-2.1.0.tgz", | |
5663 | + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", | |
5664 | + "dev": true, | |
5665 | + "requires": { | |
5666 | + "locate-path": "^2.0.0" | |
5667 | + } | |
5668 | + }, | |
5669 | + "load-json-file": { | |
5670 | + "version": "2.0.0", | |
5671 | + "resolved": "https://registry.npm.taobao.org/load-json-file/download/load-json-file-2.0.0.tgz", | |
5672 | + "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", | |
5673 | + "dev": true, | |
5674 | + "requires": { | |
5675 | + "graceful-fs": "^4.1.2", | |
5676 | + "parse-json": "^2.2.0", | |
5677 | + "pify": "^2.0.0", | |
5678 | + "strip-bom": "^3.0.0" | |
5679 | + } | |
5680 | + }, | |
5681 | + "locate-path": { | |
5682 | + "version": "2.0.0", | |
5683 | + "resolved": "https://registry.npm.taobao.org/locate-path/download/locate-path-2.0.0.tgz", | |
5684 | + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", | |
5685 | + "dev": true, | |
5686 | + "requires": { | |
5687 | + "p-locate": "^2.0.0", | |
5688 | + "path-exists": "^3.0.0" | |
5689 | + } | |
5690 | + }, | |
5691 | + "ms": { | |
5692 | + "version": "2.0.0", | |
5693 | + "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.0.0.tgz?cache=0&sync_timestamp=1575472461218&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.0.0.tgz", | |
5694 | + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", | |
5695 | + "dev": true | |
5696 | + }, | |
5697 | + "p-limit": { | |
5698 | + "version": "1.3.0", | |
5699 | + "resolved": "https://registry.npm.taobao.org/p-limit/download/p-limit-1.3.0.tgz", | |
5700 | + "integrity": "sha1-uGvV8MJWkJEcdZD8v8IBDVSzzLg=", | |
5701 | + "dev": true, | |
5702 | + "requires": { | |
5703 | + "p-try": "^1.0.0" | |
5704 | + } | |
5705 | + }, | |
5706 | + "p-locate": { | |
5707 | + "version": "2.0.0", | |
5708 | + "resolved": "https://registry.npm.taobao.org/p-locate/download/p-locate-2.0.0.tgz", | |
5709 | + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", | |
5710 | + "dev": true, | |
5711 | + "requires": { | |
5712 | + "p-limit": "^1.1.0" | |
5713 | + } | |
5714 | + }, | |
5715 | + "p-try": { | |
5716 | + "version": "1.0.0", | |
5717 | + "resolved": "https://registry.npm.taobao.org/p-try/download/p-try-1.0.0.tgz", | |
5718 | + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", | |
5719 | + "dev": true | |
5720 | + }, | |
5721 | + "parse-json": { | |
5722 | + "version": "2.2.0", | |
5723 | + "resolved": "https://registry.npm.taobao.org/parse-json/download/parse-json-2.2.0.tgz", | |
5724 | + "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", | |
5725 | + "dev": true, | |
5726 | + "requires": { | |
5727 | + "error-ex": "^1.2.0" | |
5728 | + } | |
5729 | + }, | |
5730 | + "path-type": { | |
5731 | + "version": "2.0.0", | |
5732 | + "resolved": "https://registry.npm.taobao.org/path-type/download/path-type-2.0.0.tgz", | |
5733 | + "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", | |
5734 | + "dev": true, | |
5735 | + "requires": { | |
5736 | + "pify": "^2.0.0" | |
5737 | + } | |
5738 | + }, | |
5739 | + "pify": { | |
5740 | + "version": "2.3.0", | |
5741 | + "resolved": "https://registry.npm.taobao.org/pify/download/pify-2.3.0.tgz?cache=0&sync_timestamp=1581697613983&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpify%2Fdownload%2Fpify-2.3.0.tgz", | |
5742 | + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", | |
5743 | + "dev": true | |
5744 | + }, | |
5745 | + "read-pkg": { | |
5746 | + "version": "2.0.0", | |
5747 | + "resolved": "https://registry.npm.taobao.org/read-pkg/download/read-pkg-2.0.0.tgz", | |
5748 | + "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", | |
5749 | + "dev": true, | |
5750 | + "requires": { | |
5751 | + "load-json-file": "^2.0.0", | |
5752 | + "normalize-package-data": "^2.3.2", | |
5753 | + "path-type": "^2.0.0" | |
5754 | + } | |
5755 | + }, | |
5756 | + "read-pkg-up": { | |
5757 | + "version": "2.0.0", | |
5758 | + "resolved": "https://registry.npm.taobao.org/read-pkg-up/download/read-pkg-up-2.0.0.tgz?cache=0&sync_timestamp=1575620685999&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fread-pkg-up%2Fdownload%2Fread-pkg-up-2.0.0.tgz", | |
5759 | + "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", | |
5760 | + "dev": true, | |
5761 | + "requires": { | |
5762 | + "find-up": "^2.0.0", | |
5763 | + "read-pkg": "^2.0.0" | |
5764 | + } | |
5765 | + }, | |
5766 | + "strip-bom": { | |
5767 | + "version": "3.0.0", | |
5768 | + "resolved": "https://registry.npm.taobao.org/strip-bom/download/strip-bom-3.0.0.tgz", | |
5769 | + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", | |
5770 | + "dev": true | |
5771 | + } | |
5772 | + } | |
5773 | + }, | |
5774 | + "eslint-plugin-node": { | |
5775 | + "version": "11.1.0", | |
5776 | + "resolved": "https://registry.npm.taobao.org/eslint-plugin-node/download/eslint-plugin-node-11.1.0.tgz", | |
5777 | + "integrity": "sha1-yVVEQW7kraJnQKMEdO78VALcZx0=", | |
5778 | + "dev": true, | |
5779 | + "requires": { | |
5780 | + "eslint-plugin-es": "^3.0.0", | |
5781 | + "eslint-utils": "^2.0.0", | |
5782 | + "ignore": "^5.1.1", | |
5783 | + "minimatch": "^3.0.4", | |
5784 | + "resolve": "^1.10.1", | |
5785 | + "semver": "^6.1.0" | |
5786 | + }, | |
5787 | + "dependencies": { | |
5788 | + "ignore": { | |
5789 | + "version": "5.1.4", | |
5790 | + "resolved": "https://registry.npm.taobao.org/ignore/download/ignore-5.1.4.tgz", | |
5791 | + "integrity": "sha1-hLez2+ZFUrbvDsqZ9nQ9vsbZet8=", | |
5792 | + "dev": true | |
5793 | + }, | |
5794 | + "semver": { | |
5795 | + "version": "6.3.0", | |
5796 | + "resolved": "https://registry.npm.taobao.org/semver/download/semver-6.3.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-6.3.0.tgz", | |
5797 | + "integrity": "sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0=", | |
5798 | + "dev": true | |
5799 | + } | |
5800 | + } | |
5801 | + }, | |
5802 | + "eslint-plugin-prettier": { | |
5803 | + "version": "3.1.3", | |
5804 | + "resolved": "https://registry.npm.taobao.org/eslint-plugin-prettier/download/eslint-plugin-prettier-3.1.3.tgz?cache=0&sync_timestamp=1586740919303&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Feslint-plugin-prettier%2Fdownload%2Feslint-plugin-prettier-3.1.3.tgz", | |
5805 | + "integrity": "sha1-rhFqD8DlmP2uSHQ6RDCQPeW05so=", | |
5806 | + "dev": true, | |
5807 | + "requires": { | |
5808 | + "prettier-linter-helpers": "^1.0.0" | |
5809 | + } | |
5810 | + }, | |
5811 | + "eslint-plugin-promise": { | |
5812 | + "version": "4.2.1", | |
5813 | + "resolved": "https://registry.npm.taobao.org/eslint-plugin-promise/download/eslint-plugin-promise-4.2.1.tgz", | |
5814 | + "integrity": "sha1-hF/YsiYK2PglZMEiL85ErXHZQYo=", | |
5815 | + "dev": true | |
5816 | + }, | |
5817 | + "eslint-plugin-standard": { | |
5818 | + "version": "4.0.1", | |
5819 | + "resolved": "https://registry.npm.taobao.org/eslint-plugin-standard/download/eslint-plugin-standard-4.0.1.tgz", | |
5820 | + "integrity": "sha1-/wUZ9/+v8RT3bRvXw5lu7w9uILQ=", | |
5821 | + "dev": true | |
5822 | + }, | |
5823 | + "eslint-plugin-vue": { | |
5824 | + "version": "6.2.2", | |
5825 | + "resolved": "https://registry.npm.taobao.org/eslint-plugin-vue/download/eslint-plugin-vue-6.2.2.tgz", | |
5826 | + "integrity": "sha1-J/7NmjokeJsPER7N1UCp5WGY4P4=", | |
5827 | + "dev": true, | |
5828 | + "requires": { | |
5829 | + "natural-compare": "^1.4.0", | |
5830 | + "semver": "^5.6.0", | |
5831 | + "vue-eslint-parser": "^7.0.0" | |
5832 | + } | |
5833 | + }, | |
5028 | 5834 | "eslint-scope": { |
5029 | 5835 | "version": "4.0.3", |
5030 | 5836 | "resolved": "https://registry.npm.taobao.org/eslint-scope/download/eslint-scope-4.0.3.tgz", |
... | ... | @@ -5034,16 +5840,61 @@ |
5034 | 5840 | "estraverse": "^4.1.1" |
5035 | 5841 | } |
5036 | 5842 | }, |
5843 | + "eslint-utils": { | |
5844 | + "version": "2.0.0", | |
5845 | + "resolved": "https://registry.npm.taobao.org/eslint-utils/download/eslint-utils-2.0.0.tgz?cache=0&sync_timestamp=1577351142754&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Feslint-utils%2Fdownload%2Feslint-utils-2.0.0.tgz", | |
5846 | + "integrity": "sha1-e+HMcPJ6cqds0UqmmLyr7WiQ4c0=", | |
5847 | + "dev": true, | |
5848 | + "requires": { | |
5849 | + "eslint-visitor-keys": "^1.1.0" | |
5850 | + } | |
5851 | + }, | |
5037 | 5852 | "eslint-visitor-keys": { |
5038 | 5853 | "version": "1.1.0", |
5039 | 5854 | "resolved": "https://registry.npm.taobao.org/eslint-visitor-keys/download/eslint-visitor-keys-1.1.0.tgz", |
5040 | 5855 | "integrity": "sha1-4qgs6oT/JGrW+1f5veW0ZiFFnsI=" |
5041 | 5856 | }, |
5857 | + "espree": { | |
5858 | + "version": "6.2.1", | |
5859 | + "resolved": "https://registry.npm.taobao.org/espree/download/espree-6.2.1.tgz?cache=0&sync_timestamp=1588886720119&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fespree%2Fdownload%2Fespree-6.2.1.tgz", | |
5860 | + "integrity": "sha1-d/xy4f10SiBSwg84pbV1gy6Cc0o=", | |
5861 | + "dev": true, | |
5862 | + "requires": { | |
5863 | + "acorn": "^7.1.1", | |
5864 | + "acorn-jsx": "^5.2.0", | |
5865 | + "eslint-visitor-keys": "^1.1.0" | |
5866 | + }, | |
5867 | + "dependencies": { | |
5868 | + "acorn": { | |
5869 | + "version": "7.2.0", | |
5870 | + "resolved": "https://registry.npm.taobao.org/acorn/download/acorn-7.2.0.tgz?cache=0&sync_timestamp=1589008014473&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Facorn%2Fdownload%2Facorn-7.2.0.tgz", | |
5871 | + "integrity": "sha1-F+p+QNfIZA/1SmlMiJwm8xcE7/4=", | |
5872 | + "dev": true | |
5873 | + } | |
5874 | + } | |
5875 | + }, | |
5042 | 5876 | "esprima": { |
5043 | 5877 | "version": "4.0.1", |
5044 | 5878 | "resolved": "http://registry.npm.taobao.org/esprima/download/esprima-4.0.1.tgz", |
5045 | 5879 | "integrity": "sha1-E7BM2z5sXRnfkatph6hpVhmwqnE=" |
5046 | 5880 | }, |
5881 | + "esquery": { | |
5882 | + "version": "1.3.1", | |
5883 | + "resolved": "https://registry.npm.taobao.org/esquery/download/esquery-1.3.1.tgz", | |
5884 | + "integrity": "sha1-t4tYKKqOIU4p+3TE1bdS4cAz2lc=", | |
5885 | + "dev": true, | |
5886 | + "requires": { | |
5887 | + "estraverse": "^5.1.0" | |
5888 | + }, | |
5889 | + "dependencies": { | |
5890 | + "estraverse": { | |
5891 | + "version": "5.1.0", | |
5892 | + "resolved": "https://registry.npm.taobao.org/estraverse/download/estraverse-5.1.0.tgz?cache=0&sync_timestamp=1586968717941&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Festraverse%2Fdownload%2Festraverse-5.1.0.tgz", | |
5893 | + "integrity": "sha1-N0MJ05/ZNa5QDnuS6Ka0xyDllkI=", | |
5894 | + "dev": true | |
5895 | + } | |
5896 | + } | |
5897 | + }, | |
5047 | 5898 | "esrecurse": { |
5048 | 5899 | "version": "4.2.1", |
5049 | 5900 | "resolved": "http://registry.npm.taobao.org/esrecurse/download/esrecurse-4.2.1.tgz", |
... | ... | @@ -5248,6 +6099,17 @@ |
5248 | 6099 | } |
5249 | 6100 | } |
5250 | 6101 | }, |
6102 | + "external-editor": { | |
6103 | + "version": "3.1.0", | |
6104 | + "resolved": "https://registry.npm.taobao.org/external-editor/download/external-editor-3.1.0.tgz", | |
6105 | + "integrity": "sha1-ywP3QL764D6k0oPK7SdBqD8zVJU=", | |
6106 | + "dev": true, | |
6107 | + "requires": { | |
6108 | + "chardet": "^0.7.0", | |
6109 | + "iconv-lite": "^0.4.24", | |
6110 | + "tmp": "^0.0.33" | |
6111 | + } | |
6112 | + }, | |
5251 | 6113 | "extglob": { |
5252 | 6114 | "version": "2.0.4", |
5253 | 6115 | "resolved": "http://registry.npm.taobao.org/extglob/download/extglob-2.0.4.tgz", |
... | ... | @@ -5317,6 +6179,12 @@ |
5317 | 6179 | "resolved": "https://registry.npm.taobao.org/fast-deep-equal/download/fast-deep-equal-3.1.1.tgz", |
5318 | 6180 | "integrity": "sha1-VFFFB3xQFJHjOxXsQIwpQ3bpSuQ=" |
5319 | 6181 | }, |
6182 | + "fast-diff": { | |
6183 | + "version": "1.2.0", | |
6184 | + "resolved": "https://registry.npm.taobao.org/fast-diff/download/fast-diff-1.2.0.tgz", | |
6185 | + "integrity": "sha1-c+4RmC2Gyq95WYKNUZz+kn+sXwM=", | |
6186 | + "dev": true | |
6187 | + }, | |
5320 | 6188 | "fast-glob": { |
5321 | 6189 | "version": "2.2.7", |
5322 | 6190 | "resolved": "https://registry.npm.taobao.org/fast-glob/download/fast-glob-2.2.7.tgz?cache=0&sync_timestamp=1582318370324&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffast-glob%2Fdownload%2Ffast-glob-2.2.7.tgz", |
... | ... | @@ -5355,6 +6223,24 @@ |
5355 | 6223 | "resolved": "https://registry.npm.taobao.org/figgy-pudding/download/figgy-pudding-3.5.2.tgz", |
5356 | 6224 | "integrity": "sha1-tO7oFIq7Adzx0aw0Nn1Z4S+mHW4=" |
5357 | 6225 | }, |
6226 | + "figures": { | |
6227 | + "version": "3.2.0", | |
6228 | + "resolved": "https://registry.npm.taobao.org/figures/download/figures-3.2.0.tgz", | |
6229 | + "integrity": "sha1-YlwYvSk8YE3EqN2y/r8MiDQXRq8=", | |
6230 | + "dev": true, | |
6231 | + "requires": { | |
6232 | + "escape-string-regexp": "^1.0.5" | |
6233 | + } | |
6234 | + }, | |
6235 | + "file-entry-cache": { | |
6236 | + "version": "5.0.1", | |
6237 | + "resolved": "https://registry.npm.taobao.org/file-entry-cache/download/file-entry-cache-5.0.1.tgz", | |
6238 | + "integrity": "sha1-yg9u+m3T1WEzP7FFFQZcL6/fQ5w=", | |
6239 | + "dev": true, | |
6240 | + "requires": { | |
6241 | + "flat-cache": "^2.0.1" | |
6242 | + } | |
6243 | + }, | |
5358 | 6244 | "file-loader": { |
5359 | 6245 | "version": "4.3.0", |
5360 | 6246 | "resolved": "https://registry.npm.taobao.org/file-loader/download/file-loader-4.3.0.tgz", |
... | ... | @@ -5460,6 +6346,34 @@ |
5460 | 6346 | "locate-path": "^3.0.0" |
5461 | 6347 | } |
5462 | 6348 | }, |
6349 | + "flat-cache": { | |
6350 | + "version": "2.0.1", | |
6351 | + "resolved": "https://registry.npm.taobao.org/flat-cache/download/flat-cache-2.0.1.tgz", | |
6352 | + "integrity": "sha1-XSltbwS9pEpGMKMBQTvbwuwIXsA=", | |
6353 | + "dev": true, | |
6354 | + "requires": { | |
6355 | + "flatted": "^2.0.0", | |
6356 | + "rimraf": "2.6.3", | |
6357 | + "write": "1.0.3" | |
6358 | + }, | |
6359 | + "dependencies": { | |
6360 | + "rimraf": { | |
6361 | + "version": "2.6.3", | |
6362 | + "resolved": "https://registry.npm.taobao.org/rimraf/download/rimraf-2.6.3.tgz?cache=0&sync_timestamp=1581229948248&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Frimraf%2Fdownload%2Frimraf-2.6.3.tgz", | |
6363 | + "integrity": "sha1-stEE/g2Psnz54KHNqCYt04M8bKs=", | |
6364 | + "dev": true, | |
6365 | + "requires": { | |
6366 | + "glob": "^7.1.3" | |
6367 | + } | |
6368 | + } | |
6369 | + } | |
6370 | + }, | |
6371 | + "flatted": { | |
6372 | + "version": "2.0.2", | |
6373 | + "resolved": "https://registry.npm.taobao.org/flatted/download/flatted-2.0.2.tgz", | |
6374 | + "integrity": "sha1-RXWyHivO50NKqb5mL0t7X5wrUTg=", | |
6375 | + "dev": true | |
6376 | + }, | |
5463 | 6377 | "flush-write-stream": { |
5464 | 6378 | "version": "1.1.1", |
5465 | 6379 | "resolved": "http://registry.npm.taobao.org/flush-write-stream/download/flush-write-stream-1.1.1.tgz", |
... | ... | @@ -6208,6 +7122,12 @@ |
6208 | 7122 | "resolved": "http://registry.npm.taobao.org/function-bind/download/function-bind-1.1.1.tgz", |
6209 | 7123 | "integrity": "sha1-pWiZ0+o8m6uHS7l3O3xe3pL0iV0=" |
6210 | 7124 | }, |
7125 | + "functional-red-black-tree": { | |
7126 | + "version": "1.0.1", | |
7127 | + "resolved": "https://registry.npm.taobao.org/functional-red-black-tree/download/functional-red-black-tree-1.0.1.tgz", | |
7128 | + "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", | |
7129 | + "dev": true | |
7130 | + }, | |
6211 | 7131 | "gauge": { |
6212 | 7132 | "version": "2.7.4", |
6213 | 7133 | "resolved": "https://registry.npm.taobao.org/gauge/download/gauge-2.7.4.tgz", |
... | ... | @@ -6956,6 +7876,130 @@ |
6956 | 7876 | "integrity": "sha1-7uJfVtscnsYIXgwid4CD9Zar+Sc=", |
6957 | 7877 | "dev": true |
6958 | 7878 | }, |
7879 | + "inquirer": { | |
7880 | + "version": "7.1.0", | |
7881 | + "resolved": "https://registry.npm.taobao.org/inquirer/download/inquirer-7.1.0.tgz", | |
7882 | + "integrity": "sha1-EpigGFmIPhfHJkuChwrhA0+S3Sk=", | |
7883 | + "dev": true, | |
7884 | + "requires": { | |
7885 | + "ansi-escapes": "^4.2.1", | |
7886 | + "chalk": "^3.0.0", | |
7887 | + "cli-cursor": "^3.1.0", | |
7888 | + "cli-width": "^2.0.0", | |
7889 | + "external-editor": "^3.0.3", | |
7890 | + "figures": "^3.0.0", | |
7891 | + "lodash": "^4.17.15", | |
7892 | + "mute-stream": "0.0.8", | |
7893 | + "run-async": "^2.4.0", | |
7894 | + "rxjs": "^6.5.3", | |
7895 | + "string-width": "^4.1.0", | |
7896 | + "strip-ansi": "^6.0.0", | |
7897 | + "through": "^2.3.6" | |
7898 | + }, | |
7899 | + "dependencies": { | |
7900 | + "ansi-styles": { | |
7901 | + "version": "4.2.1", | |
7902 | + "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-4.2.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fansi-styles%2Fdownload%2Fansi-styles-4.2.1.tgz", | |
7903 | + "integrity": "sha1-kK51xCTQCNJiTFvynq0xd+v881k=", | |
7904 | + "dev": true, | |
7905 | + "requires": { | |
7906 | + "@types/color-name": "^1.1.1", | |
7907 | + "color-convert": "^2.0.1" | |
7908 | + } | |
7909 | + }, | |
7910 | + "chalk": { | |
7911 | + "version": "3.0.0", | |
7912 | + "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-3.0.0.tgz?cache=0&sync_timestamp=1585815759944&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchalk%2Fdownload%2Fchalk-3.0.0.tgz", | |
7913 | + "integrity": "sha1-P3PCv1JlkfV0zEksUeJFY0n4ROQ=", | |
7914 | + "dev": true, | |
7915 | + "requires": { | |
7916 | + "ansi-styles": "^4.1.0", | |
7917 | + "supports-color": "^7.1.0" | |
7918 | + } | |
7919 | + }, | |
7920 | + "cli-cursor": { | |
7921 | + "version": "3.1.0", | |
7922 | + "resolved": "https://registry.npm.taobao.org/cli-cursor/download/cli-cursor-3.1.0.tgz", | |
7923 | + "integrity": "sha1-JkMFp65JDR0Dvwybp8kl0XU68wc=", | |
7924 | + "dev": true, | |
7925 | + "requires": { | |
7926 | + "restore-cursor": "^3.1.0" | |
7927 | + } | |
7928 | + }, | |
7929 | + "color-convert": { | |
7930 | + "version": "2.0.1", | |
7931 | + "resolved": "https://registry.npm.taobao.org/color-convert/download/color-convert-2.0.1.tgz", | |
7932 | + "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=", | |
7933 | + "dev": true, | |
7934 | + "requires": { | |
7935 | + "color-name": "~1.1.4" | |
7936 | + } | |
7937 | + }, | |
7938 | + "color-name": { | |
7939 | + "version": "1.1.4", | |
7940 | + "resolved": "https://registry.npm.taobao.org/color-name/download/color-name-1.1.4.tgz", | |
7941 | + "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=", | |
7942 | + "dev": true | |
7943 | + }, | |
7944 | + "has-flag": { | |
7945 | + "version": "4.0.0", | |
7946 | + "resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-4.0.0.tgz", | |
7947 | + "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=", | |
7948 | + "dev": true | |
7949 | + }, | |
7950 | + "is-fullwidth-code-point": { | |
7951 | + "version": "3.0.0", | |
7952 | + "resolved": "https://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-3.0.0.tgz", | |
7953 | + "integrity": "sha1-8Rb4Bk/pCz94RKOJl8C3UFEmnx0=", | |
7954 | + "dev": true | |
7955 | + }, | |
7956 | + "mimic-fn": { | |
7957 | + "version": "2.1.0", | |
7958 | + "resolved": "https://registry.npm.taobao.org/mimic-fn/download/mimic-fn-2.1.0.tgz", | |
7959 | + "integrity": "sha1-ftLCzMyvhNP/y3pptXcR/CCDQBs=", | |
7960 | + "dev": true | |
7961 | + }, | |
7962 | + "onetime": { | |
7963 | + "version": "5.1.0", | |
7964 | + "resolved": "https://registry.npm.taobao.org/onetime/download/onetime-5.1.0.tgz", | |
7965 | + "integrity": "sha1-//DzyRYX/mK7UBiWNumayKbfe+U=", | |
7966 | + "dev": true, | |
7967 | + "requires": { | |
7968 | + "mimic-fn": "^2.1.0" | |
7969 | + } | |
7970 | + }, | |
7971 | + "restore-cursor": { | |
7972 | + "version": "3.1.0", | |
7973 | + "resolved": "https://registry.npm.taobao.org/restore-cursor/download/restore-cursor-3.1.0.tgz", | |
7974 | + "integrity": "sha1-OfZ8VLOnpYzqUjbZXPADQjljH34=", | |
7975 | + "dev": true, | |
7976 | + "requires": { | |
7977 | + "onetime": "^5.1.0", | |
7978 | + "signal-exit": "^3.0.2" | |
7979 | + } | |
7980 | + }, | |
7981 | + "string-width": { | |
7982 | + "version": "4.2.0", | |
7983 | + "resolved": "https://registry.npm.taobao.org/string-width/download/string-width-4.2.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstring-width%2Fdownload%2Fstring-width-4.2.0.tgz", | |
7984 | + "integrity": "sha1-lSGCxGzHssMT0VluYjmSvRY7crU=", | |
7985 | + "dev": true, | |
7986 | + "requires": { | |
7987 | + "emoji-regex": "^8.0.0", | |
7988 | + "is-fullwidth-code-point": "^3.0.0", | |
7989 | + "strip-ansi": "^6.0.0" | |
7990 | + } | |
7991 | + }, | |
7992 | + "supports-color": { | |
7993 | + "version": "7.1.0", | |
7994 | + "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-7.1.0.tgz?cache=0&sync_timestamp=1569557271992&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-7.1.0.tgz", | |
7995 | + "integrity": "sha1-aOMlkd9z4lrRxLSRCKLsUHliv9E=", | |
7996 | + "dev": true, | |
7997 | + "requires": { | |
7998 | + "has-flag": "^4.0.0" | |
7999 | + } | |
8000 | + } | |
8001 | + } | |
8002 | + }, | |
6959 | 8003 | "internal-ip": { |
6960 | 8004 | "version": "4.3.0", |
6961 | 8005 | "resolved": "https://registry.npm.taobao.org/internal-ip/download/internal-ip-4.3.0.tgz?cache=0&sync_timestamp=1584010513586&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Finternal-ip%2Fdownload%2Finternal-ip-4.3.0.tgz", |
... | ... | @@ -7263,6 +8307,12 @@ |
7263 | 8307 | "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", |
7264 | 8308 | "dev": true |
7265 | 8309 | }, |
8310 | + "is-string": { | |
8311 | + "version": "1.0.5", | |
8312 | + "resolved": "https://registry.npm.taobao.org/is-string/download/is-string-1.0.5.tgz?cache=0&sync_timestamp=1576731545458&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-string%2Fdownload%2Fis-string-1.0.5.tgz", | |
8313 | + "integrity": "sha1-QEk+0ZjvP/R3uMf5L2ROyCpc06Y=", | |
8314 | + "dev": true | |
8315 | + }, | |
7266 | 8316 | "is-svg": { |
7267 | 8317 | "version": "3.0.0", |
7268 | 8318 | "resolved": "https://registry.npm.taobao.org/is-svg/download/is-svg-3.0.0.tgz", |
... | ... | @@ -7416,6 +8466,12 @@ |
7416 | 8466 | "resolved": "http://registry.npm.taobao.org/json-schema-traverse/download/json-schema-traverse-0.4.1.tgz", |
7417 | 8467 | "integrity": "sha1-afaofZUTq4u4/mO9sJecRI5oRmA=" |
7418 | 8468 | }, |
8469 | + "json-stable-stringify-without-jsonify": { | |
8470 | + "version": "1.0.1", | |
8471 | + "resolved": "https://registry.npm.taobao.org/json-stable-stringify-without-jsonify/download/json-stable-stringify-without-jsonify-1.0.1.tgz", | |
8472 | + "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", | |
8473 | + "dev": true | |
8474 | + }, | |
7419 | 8475 | "json-stringify-safe": { |
7420 | 8476 | "version": "5.0.1", |
7421 | 8477 | "resolved": "http://registry.npm.taobao.org/json-stringify-safe/download/json-stringify-safe-5.0.1.tgz", |
... | ... | @@ -8292,6 +9348,12 @@ |
8292 | 9348 | "integrity": "sha1-ieeKnSB9ePJ5mx6Vdkolv3GigyI=", |
8293 | 9349 | "dev": true |
8294 | 9350 | }, |
9351 | + "mute-stream": { | |
9352 | + "version": "0.0.8", | |
9353 | + "resolved": "https://registry.npm.taobao.org/mute-stream/download/mute-stream-0.0.8.tgz", | |
9354 | + "integrity": "sha1-FjDEKyJR/4HiooPelqVJfqkuXg0=", | |
9355 | + "dev": true | |
9356 | + }, | |
8295 | 9357 | "mz": { |
8296 | 9358 | "version": "2.7.0", |
8297 | 9359 | "resolved": "http://registry.npm.taobao.org/mz/download/mz-2.7.0.tgz", |
... | ... | @@ -8325,6 +9387,12 @@ |
8325 | 9387 | "to-regex": "^3.0.1" |
8326 | 9388 | } |
8327 | 9389 | }, |
9390 | + "natural-compare": { | |
9391 | + "version": "1.4.0", | |
9392 | + "resolved": "https://registry.npm.taobao.org/natural-compare/download/natural-compare-1.4.0.tgz", | |
9393 | + "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", | |
9394 | + "dev": true | |
9395 | + }, | |
8328 | 9396 | "negotiator": { |
8329 | 9397 | "version": "0.6.2", |
8330 | 9398 | "resolved": "https://registry.npm.taobao.org/negotiator/download/negotiator-0.6.2.tgz", |
... | ... | @@ -8943,6 +10011,23 @@ |
8943 | 10011 | "no-case": "^2.2.0" |
8944 | 10012 | } |
8945 | 10013 | }, |
10014 | + "parent-module": { | |
10015 | + "version": "1.0.1", | |
10016 | + "resolved": "https://registry.npm.taobao.org/parent-module/download/parent-module-1.0.1.tgz", | |
10017 | + "integrity": "sha1-aR0nCeeMefrjoVZiJFLQB2LKqqI=", | |
10018 | + "dev": true, | |
10019 | + "requires": { | |
10020 | + "callsites": "^3.0.0" | |
10021 | + }, | |
10022 | + "dependencies": { | |
10023 | + "callsites": { | |
10024 | + "version": "3.1.0", | |
10025 | + "resolved": "https://registry.npm.taobao.org/callsites/download/callsites-3.1.0.tgz", | |
10026 | + "integrity": "sha1-s2MKvYlDQy9Us/BRkjjjPNffL3M=", | |
10027 | + "dev": true | |
10028 | + } | |
10029 | + } | |
10030 | + }, | |
8946 | 10031 | "parse-asn1": { |
8947 | 10032 | "version": "5.1.5", |
8948 | 10033 | "resolved": "https://registry.npm.taobao.org/parse-asn1/download/parse-asn1-5.1.5.tgz", |
... | ... | @@ -9764,10 +10849,19 @@ |
9764 | 10849 | "dev": true |
9765 | 10850 | }, |
9766 | 10851 | "prettier": { |
9767 | - "version": "1.19.1", | |
9768 | - "resolved": "https://registry.npm.taobao.org/prettier/download/prettier-1.19.1.tgz", | |
9769 | - "integrity": "sha1-99f1/4qc2HKnvkyhQglZVqYHl8s=", | |
9770 | - "optional": true | |
10852 | + "version": "2.0.5", | |
10853 | + "resolved": "https://registry.npm.taobao.org/prettier/download/prettier-2.0.5.tgz", | |
10854 | + "integrity": "sha1-1tVigkVSQ/L5LMFxZpLAiqMVItQ=", | |
10855 | + "dev": true | |
10856 | + }, | |
10857 | + "prettier-linter-helpers": { | |
10858 | + "version": "1.0.0", | |
10859 | + "resolved": "https://registry.npm.taobao.org/prettier-linter-helpers/download/prettier-linter-helpers-1.0.0.tgz", | |
10860 | + "integrity": "sha1-0j1B/hN1ZG3i0BBNNFSjAIgCz3s=", | |
10861 | + "dev": true, | |
10862 | + "requires": { | |
10863 | + "fast-diff": "^1.1.2" | |
10864 | + } | |
9771 | 10865 | }, |
9772 | 10866 | "pretty-error": { |
9773 | 10867 | "version": "2.1.1", |
... | ... | @@ -9794,6 +10888,12 @@ |
9794 | 10888 | "resolved": "https://registry.npm.taobao.org/process-nextick-args/download/process-nextick-args-2.0.1.tgz", |
9795 | 10889 | "integrity": "sha1-eCDZsWEgzFXKmud5JoCufbptf+I=" |
9796 | 10890 | }, |
10891 | + "progress": { | |
10892 | + "version": "2.0.3", | |
10893 | + "resolved": "https://registry.npm.taobao.org/progress/download/progress-2.0.3.tgz", | |
10894 | + "integrity": "sha1-foz42PW48jnBvGi+tOt4Vn1XLvg=", | |
10895 | + "dev": true | |
10896 | + }, | |
9797 | 10897 | "promise-inflight": { |
9798 | 10898 | "version": "1.0.1", |
9799 | 10899 | "resolved": "http://registry.npm.taobao.org/promise-inflight/download/promise-inflight-1.0.1.tgz", |
... | ... | @@ -10161,6 +11261,12 @@ |
10161 | 11261 | "es-abstract": "^1.17.0-next.1" |
10162 | 11262 | } |
10163 | 11263 | }, |
11264 | + "regexpp": { | |
11265 | + "version": "3.1.0", | |
11266 | + "resolved": "https://registry.npm.taobao.org/regexpp/download/regexpp-3.1.0.tgz", | |
11267 | + "integrity": "sha1-IG0K0KVkjP+9uK5GQ489xRyfeOI=", | |
11268 | + "dev": true | |
11269 | + }, | |
10164 | 11270 | "regexpu-core": { |
10165 | 11271 | "version": "4.7.0", |
10166 | 11272 | "resolved": "https://registry.npm.taobao.org/regexpu-core/download/regexpu-core-4.7.0.tgz", |
... | ... | @@ -10476,6 +11582,12 @@ |
10476 | 11582 | "inherits": "^2.0.1" |
10477 | 11583 | } |
10478 | 11584 | }, |
11585 | + "run-async": { | |
11586 | + "version": "2.4.1", | |
11587 | + "resolved": "https://registry.npm.taobao.org/run-async/download/run-async-2.4.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Frun-async%2Fdownload%2Frun-async-2.4.1.tgz", | |
11588 | + "integrity": "sha1-hEDsz5nqPnC9QJ1JqriOEMGJpFU=", | |
11589 | + "dev": true | |
11590 | + }, | |
10479 | 11591 | "run-queue": { |
10480 | 11592 | "version": "1.0.3", |
10481 | 11593 | "resolved": "http://registry.npm.taobao.org/run-queue/download/run-queue-1.0.3.tgz", |
... | ... | @@ -10484,6 +11596,15 @@ |
10484 | 11596 | "aproba": "^1.1.1" |
10485 | 11597 | } |
10486 | 11598 | }, |
11599 | + "rxjs": { | |
11600 | + "version": "6.5.5", | |
11601 | + "resolved": "https://registry.npm.taobao.org/rxjs/download/rxjs-6.5.5.tgz", | |
11602 | + "integrity": "sha1-xciE4wlMjP7jG/J+uH5UzPyH+ew=", | |
11603 | + "dev": true, | |
11604 | + "requires": { | |
11605 | + "tslib": "^1.9.0" | |
11606 | + } | |
11607 | + }, | |
10487 | 11608 | "safe-area-insets": { |
10488 | 11609 | "version": "1.4.1", |
10489 | 11610 | "resolved": "https://registry.npm.taobao.org/safe-area-insets/download/safe-area-insets-1.4.1.tgz", |
... | ... | @@ -11015,6 +12136,17 @@ |
11015 | 12136 | "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=", |
11016 | 12137 | "dev": true |
11017 | 12138 | }, |
12139 | + "slice-ansi": { | |
12140 | + "version": "2.1.0", | |
12141 | + "resolved": "https://registry.npm.taobao.org/slice-ansi/download/slice-ansi-2.1.0.tgz", | |
12142 | + "integrity": "sha1-ys12k0YaY3pXiNkqfdT7oGjoFjY=", | |
12143 | + "dev": true, | |
12144 | + "requires": { | |
12145 | + "ansi-styles": "^3.2.0", | |
12146 | + "astral-regex": "^1.0.0", | |
12147 | + "is-fullwidth-code-point": "^2.0.0" | |
12148 | + } | |
12149 | + }, | |
11018 | 12150 | "snapdragon": { |
11019 | 12151 | "version": "0.8.2", |
11020 | 12152 | "resolved": "http://registry.npm.taobao.org/snapdragon/download/snapdragon-0.8.2.tgz", |
... | ... | @@ -11732,6 +12864,46 @@ |
11732 | 12864 | "util.promisify": "~1.0.0" |
11733 | 12865 | } |
11734 | 12866 | }, |
12867 | + "table": { | |
12868 | + "version": "5.4.6", | |
12869 | + "resolved": "https://registry.npm.taobao.org/table/download/table-5.4.6.tgz", | |
12870 | + "integrity": "sha1-EpLRlQDOP4YFOwXw6Ofko7shB54=", | |
12871 | + "dev": true, | |
12872 | + "requires": { | |
12873 | + "ajv": "^6.10.2", | |
12874 | + "lodash": "^4.17.14", | |
12875 | + "slice-ansi": "^2.1.0", | |
12876 | + "string-width": "^3.0.0" | |
12877 | + }, | |
12878 | + "dependencies": { | |
12879 | + "emoji-regex": { | |
12880 | + "version": "7.0.3", | |
12881 | + "resolved": "https://registry.npm.taobao.org/emoji-regex/download/emoji-regex-7.0.3.tgz", | |
12882 | + "integrity": "sha1-kzoEBShgyF6DwSJHnEdIqOTHIVY=", | |
12883 | + "dev": true | |
12884 | + }, | |
12885 | + "string-width": { | |
12886 | + "version": "3.1.0", | |
12887 | + "resolved": "https://registry.npm.taobao.org/string-width/download/string-width-3.1.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstring-width%2Fdownload%2Fstring-width-3.1.0.tgz", | |
12888 | + "integrity": "sha1-InZ74htirxCBV0MG9prFG2IgOWE=", | |
12889 | + "dev": true, | |
12890 | + "requires": { | |
12891 | + "emoji-regex": "^7.0.1", | |
12892 | + "is-fullwidth-code-point": "^2.0.0", | |
12893 | + "strip-ansi": "^5.1.0" | |
12894 | + } | |
12895 | + }, | |
12896 | + "strip-ansi": { | |
12897 | + "version": "5.2.0", | |
12898 | + "resolved": "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-5.2.0.tgz", | |
12899 | + "integrity": "sha1-jJpTb+tq/JYr36WxBKUJHBrZwK4=", | |
12900 | + "dev": true, | |
12901 | + "requires": { | |
12902 | + "ansi-regex": "^4.1.0" | |
12903 | + } | |
12904 | + } | |
12905 | + } | |
12906 | + }, | |
11735 | 12907 | "tapable": { |
11736 | 12908 | "version": "1.1.3", |
11737 | 12909 | "resolved": "https://registry.npm.taobao.org/tapable/download/tapable-1.1.3.tgz", |
... | ... | @@ -11774,6 +12946,12 @@ |
11774 | 12946 | "worker-farm": "^1.7.0" |
11775 | 12947 | } |
11776 | 12948 | }, |
12949 | + "text-table": { | |
12950 | + "version": "0.2.0", | |
12951 | + "resolved": "https://registry.npm.taobao.org/text-table/download/text-table-0.2.0.tgz", | |
12952 | + "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", | |
12953 | + "dev": true | |
12954 | + }, | |
11777 | 12955 | "thenify": { |
11778 | 12956 | "version": "3.3.0", |
11779 | 12957 | "resolved": "http://registry.npm.taobao.org/thenify/download/thenify-3.3.0.tgz", |
... | ... | @@ -11801,6 +12979,12 @@ |
11801 | 12979 | "neo-async": "^2.6.0" |
11802 | 12980 | } |
11803 | 12981 | }, |
12982 | + "through": { | |
12983 | + "version": "2.3.8", | |
12984 | + "resolved": "https://registry.npm.taobao.org/through/download/through-2.3.8.tgz", | |
12985 | + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", | |
12986 | + "dev": true | |
12987 | + }, | |
11804 | 12988 | "through2": { |
11805 | 12989 | "version": "2.0.5", |
11806 | 12990 | "resolved": "http://registry.npm.taobao.org/through2/download/through2-2.0.5.tgz", |
... | ... | @@ -11830,6 +13014,15 @@ |
11830 | 13014 | "integrity": "sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=", |
11831 | 13015 | "dev": true |
11832 | 13016 | }, |
13017 | + "tmp": { | |
13018 | + "version": "0.0.33", | |
13019 | + "resolved": "https://registry.npm.taobao.org/tmp/download/tmp-0.0.33.tgz?cache=0&sync_timestamp=1588178820677&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftmp%2Fdownload%2Ftmp-0.0.33.tgz", | |
13020 | + "integrity": "sha1-bTQzWIl2jSGyvNoKonfO07G/rfk=", | |
13021 | + "dev": true, | |
13022 | + "requires": { | |
13023 | + "os-tmpdir": "~1.0.2" | |
13024 | + } | |
13025 | + }, | |
11833 | 13026 | "to-array": { |
11834 | 13027 | "version": "0.1.4", |
11835 | 13028 | "resolved": "https://registry.npm.taobao.org/to-array/download/to-array-0.1.4.tgz", |
... | ... | @@ -12358,6 +13551,12 @@ |
12358 | 13551 | "resolved": "https://registry.npm.taobao.org/uuid/download/uuid-3.4.0.tgz?cache=0&sync_timestamp=1585684408543&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fuuid%2Fdownload%2Fuuid-3.4.0.tgz", |
12359 | 13552 | "integrity": "sha1-sj5DWK+oogL+ehAK8fX4g/AgB+4=" |
12360 | 13553 | }, |
13554 | + "v8-compile-cache": { | |
13555 | + "version": "2.1.0", | |
13556 | + "resolved": "https://registry.npm.taobao.org/v8-compile-cache/download/v8-compile-cache-2.1.0.tgz", | |
13557 | + "integrity": "sha1-4U3jezGm0ZT1aQ1n78Tn9vxqsw4=", | |
13558 | + "dev": true | |
13559 | + }, | |
12361 | 13560 | "validate-npm-package-license": { |
12362 | 13561 | "version": "3.0.4", |
12363 | 13562 | "resolved": "http://registry.npm.taobao.org/validate-npm-package-license/download/validate-npm-package-license-3.0.4.tgz", |
... | ... | @@ -12404,6 +13603,32 @@ |
12404 | 13603 | "resolved": "https://registry.npm.taobao.org/vue-class-component/download/vue-class-component-6.3.2.tgz", |
12405 | 13604 | "integrity": "sha1-5gN+hNHfKvO95PRV5Qyhue7AK+Y=" |
12406 | 13605 | }, |
13606 | + "vue-eslint-parser": { | |
13607 | + "version": "7.1.0", | |
13608 | + "resolved": "https://registry.npm.taobao.org/vue-eslint-parser/download/vue-eslint-parser-7.1.0.tgz?cache=0&sync_timestamp=1589539313907&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fvue-eslint-parser%2Fdownload%2Fvue-eslint-parser-7.1.0.tgz", | |
13609 | + "integrity": "sha1-nNvMgj5lawh1B6GRFzK4Z6wQHoM=", | |
13610 | + "dev": true, | |
13611 | + "requires": { | |
13612 | + "debug": "^4.1.1", | |
13613 | + "eslint-scope": "^5.0.0", | |
13614 | + "eslint-visitor-keys": "^1.1.0", | |
13615 | + "espree": "^6.2.1", | |
13616 | + "esquery": "^1.0.1", | |
13617 | + "lodash": "^4.17.15" | |
13618 | + }, | |
13619 | + "dependencies": { | |
13620 | + "eslint-scope": { | |
13621 | + "version": "5.0.0", | |
13622 | + "resolved": "https://registry.npm.taobao.org/eslint-scope/download/eslint-scope-5.0.0.tgz", | |
13623 | + "integrity": "sha1-6HyIh8c+jR7ITxylkWRcNYv8j7k=", | |
13624 | + "dev": true, | |
13625 | + "requires": { | |
13626 | + "esrecurse": "^4.1.0", | |
13627 | + "estraverse": "^4.1.1" | |
13628 | + } | |
13629 | + } | |
13630 | + } | |
13631 | + }, | |
12407 | 13632 | "vue-hot-reload-api": { |
12408 | 13633 | "version": "2.3.4", |
12409 | 13634 | "resolved": "https://registry.npm.taobao.org/vue-hot-reload-api/download/vue-hot-reload-api-2.3.4.tgz", |
... | ... | @@ -12912,6 +14137,15 @@ |
12912 | 14137 | "resolved": "http://registry.npm.taobao.org/wrappy/download/wrappy-1.0.2.tgz", |
12913 | 14138 | "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" |
12914 | 14139 | }, |
14140 | + "write": { | |
14141 | + "version": "1.0.3", | |
14142 | + "resolved": "https://registry.npm.taobao.org/write/download/write-1.0.3.tgz", | |
14143 | + "integrity": "sha1-CADhRSO5I6OH5BUSPIZWFqrg9cM=", | |
14144 | + "dev": true, | |
14145 | + "requires": { | |
14146 | + "mkdirp": "^0.5.1" | |
14147 | + } | |
14148 | + }, | |
12915 | 14149 | "ws": { |
12916 | 14150 | "version": "6.2.1", |
12917 | 14151 | "resolved": "https://registry.npm.taobao.org/ws/download/ws-6.2.1.tgz?cache=0&sync_timestamp=1587811730960&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fws%2Fdownload%2Fws-6.2.1.tgz", | ... | ... |
package.json
... | ... | @@ -60,13 +60,25 @@ |
60 | 60 | "@dcloudio/vue-cli-plugin-uni-optimize": "^2.0.0-26920200424005", |
61 | 61 | "@dcloudio/webpack-uni-mp-loader": "^2.0.0-26920200424005", |
62 | 62 | "@dcloudio/webpack-uni-pages-loader": "^2.0.0-26920200424005", |
63 | + "@typescript-eslint/eslint-plugin": "^3.0.0", | |
64 | + "@typescript-eslint/parser": "^3.0.0", | |
63 | 65 | "@vue/cli-plugin-babel": "~4.3.0", |
64 | 66 | "@vue/cli-plugin-typescript": "*", |
65 | 67 | "@vue/cli-service": "~4.3.0", |
66 | 68 | "babel-plugin-import": "^1.11.0", |
67 | 69 | "cross-env": "^7.0.2", |
70 | + "eslint": "^7.0.0", | |
71 | + "eslint-config-prettier": "^6.11.0", | |
72 | + "eslint-config-standard": "^14.1.1", | |
73 | + "eslint-plugin-import": "^2.20.2", | |
74 | + "eslint-plugin-node": "^11.1.0", | |
75 | + "eslint-plugin-prettier": "^3.1.3", | |
76 | + "eslint-plugin-promise": "^4.2.1", | |
77 | + "eslint-plugin-standard": "^4.0.1", | |
78 | + "eslint-plugin-vue": "^6.2.2", | |
68 | 79 | "node-sass": "^4.14.0", |
69 | 80 | "postcss-comment": "^2.0.0", |
81 | + "prettier": "^2.0.5", | |
70 | 82 | "sass-loader": "^8.0.2", |
71 | 83 | "typescript": "^3.0.0", |
72 | 84 | "vue-template-compiler": "^2.6.11" | ... | ... |
src/components/CommodityCard/CommodityCard.vue
1 | 1 | <template> |
2 | - <view class="card" @tap="toGoods(goods.id?goods.id:goods.pid,goods.goodType?goods.goodType:goods.p_root_index)"> | |
3 | - <image mode="widthFix" :src="goods.imgurl?goods.imgurl:goods.pic" ></image> | |
4 | - <view class="name">{{goods.name?goods.name:goods.p_name}}</view> | |
5 | - <view class="info"> | |
6 | - <view class="priceBox"> | |
7 | - <view class="price">{{goods.price?goods.price:goods.real_price}}</view> | |
8 | - <view class="originCost"> | |
9 | - {{goods.rsSon.Max_Price?goods.rsSon.Max_Price:goods.old_price}} | |
10 | - </view> | |
11 | - </view> | |
12 | - <view class="trade_num">{{goods.trade_num}}人购买</view> | |
13 | - </view> | |
14 | - </view> | |
2 | + <view | |
3 | + class="card" | |
4 | + @tap="toGoods(goods.id?goods.id:goods.pid,goods.goodType?goods.goodType:goods.p_root_index)" | |
5 | + > | |
6 | + <image | |
7 | + mode="widthFix" | |
8 | + :src="goods.imgurl?goods.imgurl:goods.pic" | |
9 | + ></image> | |
10 | + <view class="name">{{goods.name?goods.name:goods.p_name}}</view> | |
11 | + <view class="info"> | |
12 | + <view class="priceBox"> | |
13 | + <view class="price">{{goods.price?goods.price:goods.real_price}}</view> | |
14 | + <view class="originCost"> | |
15 | + {{goods.rsSon.Max_Price?goods.rsSon.Max_Price:goods.old_price}} | |
16 | + </view> | |
17 | + </view> | |
18 | + <view class="trade_num">{{goods.trade_num}}人购买</view> | |
19 | + </view> | |
20 | + </view> | |
15 | 21 | </template> |
16 | 22 | |
17 | 23 | <script> |
18 | - export default { | |
19 | - props: { | |
20 | - /** | |
21 | - * 商品数据 | |
22 | - */ | |
23 | - goods: { | |
24 | - id: Number, | |
25 | - imgurl: String, | |
26 | - name: String, | |
27 | - rsSon:Object, | |
28 | - originCost:String, | |
29 | - price: String, | |
30 | - trade_num:String, | |
31 | - goodType:String, | |
32 | - } | |
33 | - | |
34 | - }, | |
35 | - created() { | |
36 | - // console.log(this.goods) | |
37 | - }, | |
38 | - data() { | |
39 | - return { | |
40 | - | |
41 | - }; | |
42 | - }, | |
43 | - methods:{ | |
44 | - toGoods(id,type){ | |
45 | - uni.navigateTo({ | |
46 | - url: `../frameDetail/frameDetail?oderId=`+id, | |
47 | - success: res => {}, | |
48 | - fail: () => {}, | |
49 | - complete: () => {} | |
50 | - }); | |
51 | - console.log('toGoods =====> id:'+id +"======>type:"+type) | |
52 | - switch(type){ | |
53 | - case 1: | |
54 | - uni.navigateTo({ | |
55 | - url: `../frameDetail/frameDetail?oderId=`+id+`&goodType=`+type, | |
56 | - success: res => {}, | |
57 | - fail: () => {}, | |
58 | - complete: () => {} | |
59 | - }); | |
60 | - break; | |
61 | - case 2: | |
62 | - uni.navigateTo({ | |
63 | - url: `../frameDetail/frameDetail?oderId=`+id+`&goodType=`+type, | |
64 | - success: res => {}, | |
65 | - fail: () => {}, | |
66 | - complete: () => {} | |
67 | - }); | |
68 | - break; | |
69 | - case 3: | |
70 | - uni.navigateTo({ | |
71 | - url: `../frameDetail/frameDetail?oderId=`+id+`&goodType=`+type, | |
72 | - success: res => {}, | |
73 | - fail: () => {}, | |
74 | - complete: () => {} | |
75 | - }); | |
76 | - break; | |
77 | - case 4: | |
78 | - uni.navigateTo({ | |
79 | - url: `../frameDetail/frameDetail?oderId=`+id+`&goodType=`+type, | |
80 | - success: res => {}, | |
81 | - fail: () => {}, | |
82 | - complete: () => {} | |
83 | - }); | |
84 | - break; | |
85 | - default : | |
86 | - break | |
87 | - } | |
88 | - } | |
89 | - } | |
90 | - } | |
24 | +export default { | |
25 | + props: { | |
26 | + /** | |
27 | + * 商品数据 | |
28 | + */ | |
29 | + goods: { | |
30 | + id: Number, | |
31 | + imgurl: String, | |
32 | + name: String, | |
33 | + rsSon: Object, | |
34 | + originCost: String, | |
35 | + price: String, | |
36 | + trade_num: String, | |
37 | + goodType: String | |
38 | + } | |
39 | + | |
40 | + }, | |
41 | + created () { | |
42 | + // console.log(this.goods) | |
43 | + }, | |
44 | + data () { | |
45 | + return { | |
46 | + | |
47 | + } | |
48 | + }, | |
49 | + methods: { | |
50 | + toGoods (id, type) { | |
51 | + console.log('---', '../frameDetail/frameDetail?oderId=' + id) | |
52 | + uni.navigateTo({ | |
53 | + url: '../frameDetail/frameDetail?oderId=' + id, | |
54 | + success: res => {}, | |
55 | + fail: () => {}, | |
56 | + complete: () => {} | |
57 | + }) | |
58 | + console.log('toGoods =====> id:' + id + '======>type:' + type) | |
59 | + switch (type) { | |
60 | + case 1: | |
61 | + uni.navigateTo({ | |
62 | + url: '../frameDetail/frameDetail?oderId=' + id + '&goodType=' + type, | |
63 | + success: res => {}, | |
64 | + fail: () => {}, | |
65 | + complete: () => {} | |
66 | + }) | |
67 | + break | |
68 | + case 2: | |
69 | + uni.navigateTo({ | |
70 | + url: '../frameDetail/frameDetail?oderId=' + id + '&goodType=' + type, | |
71 | + success: res => {}, | |
72 | + fail: () => {}, | |
73 | + complete: () => {} | |
74 | + }) | |
75 | + break | |
76 | + case 3: | |
77 | + uni.navigateTo({ | |
78 | + url: '../frameDetail/frameDetail?oderId=' + id + '&goodType=' + type, | |
79 | + success: res => {}, | |
80 | + fail: () => {}, | |
81 | + complete: () => {} | |
82 | + }) | |
83 | + break | |
84 | + case 4: | |
85 | + uni.navigateTo({ | |
86 | + url: '../frameDetail/frameDetail?oderId=' + id + '&goodType=' + type, | |
87 | + success: res => {}, | |
88 | + fail: () => {}, | |
89 | + complete: () => {} | |
90 | + }) | |
91 | + break | |
92 | + default : | |
93 | + break | |
94 | + } | |
95 | + } | |
96 | + } | |
97 | +} | |
91 | 98 | </script> |
92 | 99 | |
93 | 100 | <style lang="scss"> |
94 | - image{ | |
95 | - width: 100%; | |
96 | - height: 120rpx; | |
97 | - } | |
98 | - .name{ | |
99 | - width: 92%; | |
100 | - height: 54rpx; | |
101 | - padding: 5px 4%; | |
102 | - display: -webkit-box; | |
103 | - -webkit-box-orient: vertical; | |
104 | - -webkit-line-clamp: 2; | |
105 | - text-align: justify; | |
106 | - overflow: hidden; | |
107 | - font-size: 24rpx; | |
108 | - color: #333333; | |
109 | - } | |
110 | - .info{ | |
111 | - display: flex; | |
112 | - justify-content: space-between; | |
113 | - align-items: center; | |
114 | - width: 92%; | |
115 | - padding: 5px 4% 5px 4%; | |
116 | - .priceBox{ | |
117 | - display: flex; | |
118 | - justify-content: space-between; | |
119 | - align-items: center; | |
120 | - .price{ | |
121 | - color: #EB5D3B; | |
122 | - font-size: 28rpx; | |
123 | - font-weight: 600; | |
124 | - margin-right: 10rpx; | |
125 | - } | |
126 | - .originCost{ | |
127 | - text-decoration:line-through; | |
128 | - color: #999999; | |
129 | - font-size: 20rpx; | |
130 | - } | |
131 | - | |
132 | - } | |
133 | - .trade_num{ | |
134 | - color: #999999; | |
135 | - font-size: 20rpx; | |
136 | - } | |
137 | - } | |
138 | -</style> | |
139 | 101 | \ No newline at end of file |
102 | +image { | |
103 | + width: 100%; | |
104 | + height: 120rpx; | |
105 | +} | |
106 | +.name { | |
107 | + width: 92%; | |
108 | + height: 54rpx; | |
109 | + padding: 5px 4%; | |
110 | + display: -webkit-box; | |
111 | + -webkit-box-orient: vertical; | |
112 | + -webkit-line-clamp: 2; | |
113 | + text-align: justify; | |
114 | + overflow: hidden; | |
115 | + font-size: 24rpx; | |
116 | + color: #333333; | |
117 | +} | |
118 | +.info { | |
119 | + display: flex; | |
120 | + justify-content: space-between; | |
121 | + align-items: center; | |
122 | + width: 92%; | |
123 | + padding: 5px 4% 5px 4%; | |
124 | + .priceBox { | |
125 | + display: flex; | |
126 | + justify-content: space-between; | |
127 | + align-items: center; | |
128 | + .price { | |
129 | + color: #eb5d3b; | |
130 | + font-size: 28rpx; | |
131 | + font-weight: 600; | |
132 | + margin-right: 10rpx; | |
133 | + } | |
134 | + .originCost { | |
135 | + text-decoration: line-through; | |
136 | + color: #999999; | |
137 | + font-size: 20rpx; | |
138 | + } | |
139 | + } | |
140 | + .trade_num { | |
141 | + color: #999999; | |
142 | + font-size: 20rpx; | |
143 | + } | |
144 | +} | |
145 | +</style> | ... | ... |
src/components/SimpleAddress/SimpleAddress.vue
1 | 1 | <template> |
2 | - <view class="simple-address" v-if="showPopup" @touchmove.stop.prevent="clear"> | |
3 | - <!-- 遮罩层 --> | |
4 | - <view | |
5 | - class="simple-address-mask" | |
6 | - @touchmove.stop.prevent="clear" | |
7 | - v-if="maskClick" | |
8 | - :class="[ani + '-mask', animation ? 'mask-ani' : '']" | |
9 | - :style="{ | |
10 | - 'background-color': maskBgColor | |
11 | - }" | |
12 | - @tap="hideMask(true)" | |
13 | - ></view> | |
2 | + <view | |
3 | + class="simple-address" | |
4 | + v-if="showPopup" | |
5 | + @touchmove.stop.prevent="clear" | |
6 | + > | |
7 | + <!-- 遮罩层 --> | |
8 | + <view | |
9 | + class="simple-address-mask" | |
10 | + @touchmove.stop.prevent="clear" | |
11 | + v-if="maskClick" | |
12 | + :class="[ani + '-mask', animation ? 'mask-ani' : '']" | |
13 | + :style="{ | |
14 | + 'background-color': maskBgColor | |
15 | + }" | |
16 | + @tap="hideMask(true)" | |
17 | + ></view> | |
14 | 18 | |
15 | - <view class="simple-address-content simple-address--fixed" :class="[type, ani + '-content', animation ? 'content-ani' : '']"> | |
16 | - <view class="simple-address__header"> | |
17 | - <view class="simple-address__header-btn-box" @click="pickerCancel"> | |
18 | - <text class="simple-address__header-text" :style="{ color: cancelColor, fontSize: btnFontSize }">取消</text> | |
19 | - </view> | |
20 | - <view class="simple-address__header-btn-box" @click="pickerConfirm"> | |
21 | - <text class="simple-address__header-text" :style="{ color: confirmColor || themeColor, fontSize: btnFontSize }">确定</text> | |
22 | - </view> | |
23 | - </view> | |
24 | - <view class="simple-address__box"> | |
25 | - <picker-view indicator-style="height: 70rpx;" class="simple-address-view" :value="pickerValue" @change="pickerChange"> | |
26 | - <picker-view-column> | |
27 | - <!-- #ifndef APP-NVUE --> | |
28 | - <view class="picker-item" :style="{ fontSize: fontSize }" v-for="(item, index) in provinceDataList" :key="index">{{ item.label }}</view> | |
29 | - <!-- #endif --> | |
30 | - <!-- #ifdef APP-NVUE --> | |
31 | - <text class="picker-item" :style="{ fontSize: fontSize }" v-for="(item, index) in provinceDataList" :key="index">{{ item.label }}</text> | |
32 | - <!-- #endif --> | |
33 | - </picker-view-column> | |
34 | - <picker-view-column> | |
35 | - <!-- #ifndef APP-NVUE --> | |
36 | - <view class="picker-item" :style="{ fontSize: fontSize }" v-for="(item, index) in cityDataList" :key="index">{{ item.label }}</view> | |
37 | - <!-- #endif --> | |
38 | - <!-- #ifdef APP-NVUE --> | |
39 | - <text class="picker-item" :style="{ fontSize: fontSize }" v-for="(item, index) in cityDataList" :key="index">{{ item.label }}</text> | |
40 | - <!-- #endif --> | |
41 | - </picker-view-column> | |
42 | - <picker-view-column> | |
43 | - <!-- #ifndef APP-NVUE --> | |
44 | - <view class="picker-item" :style="{ fontSize: fontSize }" v-for="(item, index) in areaDataList" :key="index">{{ item.label }}</view> | |
45 | - <!-- #endif --> | |
46 | - <!-- #ifdef APP-NVUE --> | |
47 | - <text class="picker-item" :style="{ fontSize: fontSize }" v-for="(item, index) in areaDataList" :key="index">{{ item.label }}</text> | |
48 | - <!-- #endif --> | |
49 | - </picker-view-column> | |
50 | - </picker-view> | |
51 | - </view> | |
52 | - </view> | |
53 | - </view> | |
19 | + <view | |
20 | + class="simple-address-content simple-address--fixed" | |
21 | + :class="[type, ani + '-content', animation ? 'content-ani' : '']" | |
22 | + > | |
23 | + <view class="simple-address__header"> | |
24 | + <view | |
25 | + class="simple-address__header-btn-box" | |
26 | + @click="pickerCancel" | |
27 | + > | |
28 | + <text | |
29 | + class="simple-address__header-text" | |
30 | + :style="{ color: cancelColor, fontSize: btnFontSize }" | |
31 | + >取消</text> | |
32 | + </view> | |
33 | + <view | |
34 | + class="simple-address__header-btn-box" | |
35 | + @click="pickerConfirm" | |
36 | + > | |
37 | + <text | |
38 | + class="simple-address__header-text" | |
39 | + :style="{ color: confirmColor || themeColor, fontSize: btnFontSize }" | |
40 | + >确定</text> | |
41 | + </view> | |
42 | + </view> | |
43 | + <view class="simple-address__box"> | |
44 | + <picker-view | |
45 | + indicator-style="height: 70rpx;" | |
46 | + class="simple-address-view" | |
47 | + :value="pickerValue" | |
48 | + @change="pickerChange" | |
49 | + > | |
50 | + <picker-view-column> | |
51 | + <!-- #ifndef APP-NVUE --> | |
52 | + <view | |
53 | + class="picker-item" | |
54 | + :style="{ fontSize: fontSize }" | |
55 | + v-for="(item, index) in provinceDataList" | |
56 | + :key="index" | |
57 | + >{{ item.label }}</view> | |
58 | + <!-- #endif --> | |
59 | + <!-- #ifdef APP-NVUE --> | |
60 | + <text | |
61 | + class="picker-item" | |
62 | + :style="{ fontSize: fontSize }" | |
63 | + v-for="(item, index) in provinceDataList" | |
64 | + :key="index" | |
65 | + >{{ item.label }}</text> | |
66 | + <!-- #endif --> | |
67 | + </picker-view-column> | |
68 | + <picker-view-column> | |
69 | + <!-- #ifndef APP-NVUE --> | |
70 | + <view | |
71 | + class="picker-item" | |
72 | + :style="{ fontSize: fontSize }" | |
73 | + v-for="(item, index) in cityDataList" | |
74 | + :key="index" | |
75 | + >{{ item.label }}</view> | |
76 | + <!-- #endif --> | |
77 | + <!-- #ifdef APP-NVUE --> | |
78 | + <text | |
79 | + class="picker-item" | |
80 | + :style="{ fontSize: fontSize }" | |
81 | + v-for="(item, index) in cityDataList" | |
82 | + :key="index" | |
83 | + >{{ item.label }}</text> | |
84 | + <!-- #endif --> | |
85 | + </picker-view-column> | |
86 | + <picker-view-column> | |
87 | + <!-- #ifndef APP-NVUE --> | |
88 | + <view | |
89 | + class="picker-item" | |
90 | + :style="{ fontSize: fontSize }" | |
91 | + v-for="(item, index) in areaDataList" | |
92 | + :key="index" | |
93 | + >{{ item.label }}</view> | |
94 | + <!-- #endif --> | |
95 | + <!-- #ifdef APP-NVUE --> | |
96 | + <text | |
97 | + class="picker-item" | |
98 | + :style="{ fontSize: fontSize }" | |
99 | + v-for="(item, index) in areaDataList" | |
100 | + :key="index" | |
101 | + >{{ item.label }}</text> | |
102 | + <!-- #endif --> | |
103 | + </picker-view-column> | |
104 | + </picker-view> | |
105 | + </view> | |
106 | + </view> | |
107 | + </view> | |
54 | 108 | </template> |
55 | 109 | |
56 | 110 | <script> |
... | ... | @@ -74,347 +128,346 @@ |
74 | 128 | * @example <simple-address ref="simpleAddress" :pickerValueDefault="cityPickerValueDefault" @onConfirm="onConfirm" themeColor='#007AFF'></simple-address> |
75 | 129 | */ |
76 | 130 | |
77 | -import provinceData from './cityData/province.js'; | |
78 | -import cityData from './cityData/city.js'; | |
79 | -import areaData from './cityData/area.js'; | |
131 | +import provinceData from './cityData/province.js' | |
132 | +import cityData from './cityData/city.js' | |
133 | +import areaData from './cityData/area.js' | |
80 | 134 | export default { |
81 | - name: 'simpleAddress', | |
82 | - props: { | |
83 | - mode: { | |
84 | - // 地址类型 | |
85 | - // default 则代表老版本根据index索引获取数据 | |
86 | - // | |
87 | - type: String, | |
88 | - default: 'default' | |
89 | - }, | |
90 | - // 开启动画 | |
91 | - animation: { | |
92 | - type: Boolean, | |
93 | - default: true | |
94 | - }, | |
95 | - /* 弹出层类型,可选值; | |
96 | - bottom:底部弹出层 | |
97 | - */ | |
98 | - type: { | |
99 | - type: String, | |
100 | - default: 'bottom' | |
101 | - }, | |
102 | - // maskClick | |
103 | - maskClick: { | |
104 | - type: Boolean, | |
105 | - default: true | |
106 | - }, | |
107 | - show: { | |
108 | - type: Boolean, | |
109 | - default: true | |
110 | - }, | |
111 | - maskBgColor: { | |
112 | - type: String, | |
113 | - default: 'rgba(0, 0, 0, 0.4)' //背景颜色 rgba(0, 0, 0, 0.4) 为空则调用 uni.scss | |
114 | - }, | |
115 | - themeColor: { | |
116 | - type: String, | |
117 | - default: '' // 确认按钮颜色(向下兼容) | |
118 | - }, | |
119 | - cancelColor: { | |
120 | - type: String, | |
121 | - default: '' // 取消按钮颜色 | |
122 | - }, | |
123 | - confirmColor: { | |
124 | - type: String, | |
125 | - default: '' // 确认按钮颜色 | |
126 | - }, | |
127 | - fontSize: { | |
128 | - type: String, | |
129 | - default: '28rpx' // picker-item字体大小 | |
130 | - }, | |
131 | - btnFontSize: { | |
132 | - type: String, | |
133 | - default: '' // 按钮的字体大小 | |
134 | - }, | |
135 | - /* 默认值 */ | |
136 | - pickerValueDefault: { | |
137 | - type: Array, | |
138 | - default() { | |
139 | - return [0, 0, 0]; | |
140 | - } | |
141 | - } | |
142 | - }, | |
143 | - data() { | |
144 | - return { | |
145 | - ani: '', | |
146 | - showPopup: false, | |
147 | - pickerValue: [0, 0, 0], | |
148 | - provinceDataList: [], | |
149 | - cityDataList: [], | |
150 | - areaDataList: [] | |
151 | - }; | |
152 | - }, | |
153 | - watch: { | |
154 | - show(newValue) { | |
155 | - if (newValue) { | |
156 | - this.open(); | |
157 | - } else { | |
158 | - this.close(); | |
159 | - } | |
160 | - }, | |
161 | - pickerValueDefault() { | |
162 | - this.init(); | |
163 | - } | |
164 | - }, | |
165 | - created() { | |
166 | - this.init(); | |
167 | - }, | |
168 | - methods: { | |
169 | - init() { | |
170 | - this.handPickValueDefault(); // 对 pickerValueDefault 做兼容处理 | |
171 | - this.provinceDataList = provinceData; | |
172 | - this.cityDataList = cityData[this.pickerValueDefault[0]]; | |
173 | - this.areaDataList = areaData[this.pickerValueDefault[0]][this.pickerValueDefault[1]]; | |
174 | - this.pickerValue = this.pickerValueDefault; | |
175 | - }, | |
176 | - handPickValueDefault() { | |
177 | - if (this.pickerValueDefault !== [0, 0, 0]) { | |
178 | - if (this.pickerValueDefault[0] > provinceData.length - 1) { | |
179 | - this.pickerValueDefault[0] = provinceData.length - 1; | |
180 | - } | |
181 | - if (this.pickerValueDefault[1] > cityData[this.pickerValueDefault[0]].length - 1) { | |
182 | - this.pickerValueDefault[1] = cityData[this.pickerValueDefault[0]].length - 1; | |
183 | - } | |
184 | - if (this.pickerValueDefault[2] > areaData[this.pickerValueDefault[0]][this.pickerValueDefault[1]].length - 1) { | |
185 | - this.pickerValueDefault[2] = areaData[this.pickerValueDefault[0]][this.pickerValueDefault[1]].length - 1; | |
186 | - } | |
187 | - } | |
188 | - }, | |
189 | - pickerChange(e) { | |
190 | - let changePickerValue = e.detail.value; | |
191 | - if (this.pickerValue[0] !== changePickerValue[0]) { | |
192 | - // 第一级发生滚动 | |
193 | - this.cityDataList = cityData[changePickerValue[0]]; | |
194 | - this.areaDataList = areaData[changePickerValue[0]][0]; | |
195 | - changePickerValue[1] = 0; | |
196 | - changePickerValue[2] = 0; | |
197 | - } else if (this.pickerValue[1] !== changePickerValue[1]) { | |
198 | - // 第二级滚动 | |
199 | - this.areaDataList = areaData[changePickerValue[0]][changePickerValue[1]]; | |
200 | - changePickerValue[2] = 0; | |
201 | - } | |
202 | - this.pickerValue = changePickerValue; | |
203 | - this._$emit('onChange'); | |
204 | - }, | |
205 | - _$emit(emitName) { | |
206 | - let pickObj = { | |
207 | - label: this._getLabel(), | |
208 | - value: this.pickerValue, | |
209 | - cityCode: this._getCityCode(), | |
210 | - areaCode: this._getAreaCode(), | |
211 | - provinceCode: this._getProvinceCode(), | |
212 | - labelArr: this._getLabel().split('-') | |
213 | - }; | |
214 | - this.$emit(emitName, pickObj); | |
215 | - }, | |
216 | - _getLabel() { | |
217 | - let pcikerLabel = | |
218 | - this.provinceDataList[this.pickerValue[0]].label + '-' + this.cityDataList[this.pickerValue[1]].label + '-' + this.areaDataList[this.pickerValue[2]].label; | |
219 | - return pcikerLabel; | |
220 | - }, | |
221 | - _getCityCode() { | |
222 | - return this.cityDataList[this.pickerValue[1]].value; | |
223 | - }, | |
224 | - _getProvinceCode() { | |
225 | - return this.provinceDataList[this.pickerValue[0]].value; | |
226 | - }, | |
227 | - _getAreaCode() { | |
228 | - return this.areaDataList[this.pickerValue[2]].value; | |
229 | - }, | |
230 | - queryIndex(params = [], type = 'value') { | |
231 | - // params = [ 11 ,1101,110101 ]; | |
232 | - // 1.获取省份的index | |
233 | - let provinceIndex = provinceData.findIndex(res => res[type] == params[0]); | |
234 | - let cityIndex = cityData[provinceIndex].findIndex(res => res[type] == params[1]); | |
235 | - let areaIndex = areaData[provinceIndex][cityIndex].findIndex(res => res[type] == params[2]); | |
236 | - return { | |
237 | - index: [provinceIndex, cityIndex, areaIndex], | |
238 | - data: { | |
239 | - province: provinceData[provinceIndex], | |
240 | - city: cityData[provinceIndex][cityIndex], | |
241 | - area: areaData[provinceIndex][cityIndex][areaIndex] | |
242 | - } | |
243 | - }; | |
244 | - }, | |
245 | - clear() {}, | |
246 | - hideMask() { | |
247 | - this._$emit('onCancel'); | |
248 | - this.close(); | |
249 | - }, | |
250 | - pickerCancel() { | |
251 | - this._$emit('onCancel'); | |
252 | - this.close(); | |
253 | - }, | |
254 | - pickerConfirm() { | |
255 | - this._$emit('onConfirm'); | |
256 | - this.close(); | |
257 | - }, | |
258 | - open() { | |
259 | - this.showPopup = true; | |
260 | - this.$nextTick(() => { | |
261 | - setTimeout(() => { | |
262 | - this.ani = 'simple-' + this.type; | |
263 | - }, 100); | |
264 | - }); | |
265 | - }, | |
266 | - close(type) { | |
267 | - if (!this.maskClick && type) return; | |
268 | - this.ani = ''; | |
269 | - this.$nextTick(() => { | |
270 | - setTimeout(() => { | |
271 | - this.showPopup = false; | |
272 | - }, 300); | |
273 | - }); | |
274 | - } | |
275 | - } | |
276 | -}; | |
135 | + name: 'simpleAddress', | |
136 | + props: { | |
137 | + mode: { | |
138 | + // 地址类型 | |
139 | + // default 则代表老版本根据index索引获取数据 | |
140 | + // | |
141 | + type: String, | |
142 | + default: 'default' | |
143 | + }, | |
144 | + // 开启动画 | |
145 | + animation: { | |
146 | + type: Boolean, | |
147 | + default: true | |
148 | + }, | |
149 | + /* 弹出层类型,可选值; | |
150 | + *bottom:底部弹出层 | |
151 | + */ | |
152 | + type: { | |
153 | + type: String, | |
154 | + default: 'bottom' | |
155 | + }, | |
156 | + // maskClick | |
157 | + maskClick: { | |
158 | + type: Boolean, | |
159 | + default: true | |
160 | + }, | |
161 | + show: { | |
162 | + type: Boolean, | |
163 | + default: true | |
164 | + }, | |
165 | + maskBgColor: { | |
166 | + type: String, | |
167 | + default: 'rgba(0, 0, 0, 0.4)' // 背景颜色 rgba(0, 0, 0, 0.4) 为空则调用 uni.scss | |
168 | + }, | |
169 | + themeColor: { | |
170 | + type: String, | |
171 | + default: '' // 确认按钮颜色(向下兼容) | |
172 | + }, | |
173 | + cancelColor: { | |
174 | + type: String, | |
175 | + default: '' // 取消按钮颜色 | |
176 | + }, | |
177 | + confirmColor: { | |
178 | + type: String, | |
179 | + default: '' // 确认按钮颜色 | |
180 | + }, | |
181 | + fontSize: { | |
182 | + type: String, | |
183 | + default: '28rpx' // picker-item字体大小 | |
184 | + }, | |
185 | + btnFontSize: { | |
186 | + type: String, | |
187 | + default: '' // 按钮的字体大小 | |
188 | + }, | |
189 | + /* 默认值 */ | |
190 | + pickerValueDefault: { | |
191 | + type: Array, | |
192 | + default () { | |
193 | + return [0, 0, 0] | |
194 | + } | |
195 | + } | |
196 | + }, | |
197 | + data () { | |
198 | + return { | |
199 | + ani: '', | |
200 | + showPopup: false, | |
201 | + pickerValue: [0, 0, 0], | |
202 | + provinceDataList: [], | |
203 | + cityDataList: [], | |
204 | + areaDataList: [] | |
205 | + } | |
206 | + }, | |
207 | + watch: { | |
208 | + show (newValue) { | |
209 | + if (newValue) { | |
210 | + this.open() | |
211 | + } else { | |
212 | + this.close() | |
213 | + } | |
214 | + }, | |
215 | + pickerValueDefault () { | |
216 | + this.init() | |
217 | + } | |
218 | + }, | |
219 | + created () { | |
220 | + this.init() | |
221 | + }, | |
222 | + methods: { | |
223 | + init () { | |
224 | + this.handPickValueDefault() // 对 pickerValueDefault 做兼容处理 | |
225 | + this.provinceDataList = provinceData | |
226 | + this.cityDataList = cityData[this.pickerValueDefault[0]] | |
227 | + this.areaDataList = areaData[this.pickerValueDefault[0]][this.pickerValueDefault[1]] | |
228 | + this.pickerValue = this.pickerValueDefault | |
229 | + }, | |
230 | + handPickValueDefault () { | |
231 | + if (this.pickerValueDefault !== [0, 0, 0]) { | |
232 | + if (this.pickerValueDefault[0] > provinceData.length - 1) { | |
233 | + this.pickerValueDefault[0] = provinceData.length - 1 | |
234 | + } | |
235 | + if (this.pickerValueDefault[1] > cityData[this.pickerValueDefault[0]].length - 1) { | |
236 | + this.pickerValueDefault[1] = cityData[this.pickerValueDefault[0]].length - 1 | |
237 | + } | |
238 | + if (this.pickerValueDefault[2] > areaData[this.pickerValueDefault[0]][this.pickerValueDefault[1]].length - 1) { | |
239 | + this.pickerValueDefault[2] = areaData[this.pickerValueDefault[0]][this.pickerValueDefault[1]].length - 1 | |
240 | + } | |
241 | + } | |
242 | + }, | |
243 | + pickerChange (e) { | |
244 | + const changePickerValue = e.detail.value | |
245 | + if (this.pickerValue[0] !== changePickerValue[0]) { | |
246 | + // 第一级发生滚动 | |
247 | + this.cityDataList = cityData[changePickerValue[0]] | |
248 | + this.areaDataList = areaData[changePickerValue[0]][0] | |
249 | + changePickerValue[1] = 0 | |
250 | + changePickerValue[2] = 0 | |
251 | + } else if (this.pickerValue[1] !== changePickerValue[1]) { | |
252 | + // 第二级滚动 | |
253 | + this.areaDataList = areaData[changePickerValue[0]][changePickerValue[1]] | |
254 | + changePickerValue[2] = 0 | |
255 | + } | |
256 | + this.pickerValue = changePickerValue | |
257 | + this._$emit('onChange') | |
258 | + }, | |
259 | + _$emit (emitName) { | |
260 | + const pickObj = { | |
261 | + label: this._getLabel(), | |
262 | + value: this.pickerValue, | |
263 | + cityCode: this._getCityCode(), | |
264 | + areaCode: this._getAreaCode(), | |
265 | + provinceCode: this._getProvinceCode(), | |
266 | + labelArr: this._getLabel().split('-') | |
267 | + } | |
268 | + this.$emit(emitName, pickObj) | |
269 | + }, | |
270 | + _getLabel () { | |
271 | + const pcikerLabel = this.provinceDataList[this.pickerValue[0]].label + '-' + this.cityDataList[this.pickerValue[1]].label + '-' + this.areaDataList[this.pickerValue[2]].label | |
272 | + return pcikerLabel | |
273 | + }, | |
274 | + _getCityCode () { | |
275 | + return this.cityDataList[this.pickerValue[1]].value | |
276 | + }, | |
277 | + _getProvinceCode () { | |
278 | + return this.provinceDataList[this.pickerValue[0]].value | |
279 | + }, | |
280 | + _getAreaCode () { | |
281 | + return this.areaDataList[this.pickerValue[2]].value | |
282 | + }, | |
283 | + queryIndex (params = [], type = 'value') { | |
284 | + // params = [ 11 ,1101,110101 ]; | |
285 | + // 1.获取省份的index | |
286 | + const provinceIndex = provinceData.findIndex(res => res[type] === params[0]) | |
287 | + const cityIndex = cityData[provinceIndex].findIndex(res => res[type] === params[1]) | |
288 | + const areaIndex = areaData[provinceIndex][cityIndex].findIndex(res => res[type] === params[2]) | |
289 | + return { | |
290 | + index: [provinceIndex, cityIndex, areaIndex], | |
291 | + data: { | |
292 | + province: provinceData[provinceIndex], | |
293 | + city: cityData[provinceIndex][cityIndex], | |
294 | + area: areaData[provinceIndex][cityIndex][areaIndex] | |
295 | + } | |
296 | + } | |
297 | + }, | |
298 | + clear () {}, | |
299 | + hideMask () { | |
300 | + this._$emit('onCancel') | |
301 | + this.close() | |
302 | + }, | |
303 | + pickerCancel () { | |
304 | + this._$emit('onCancel') | |
305 | + this.close() | |
306 | + }, | |
307 | + pickerConfirm () { | |
308 | + this._$emit('onConfirm') | |
309 | + this.close() | |
310 | + }, | |
311 | + open () { | |
312 | + this.showPopup = true | |
313 | + this.$nextTick(() => { | |
314 | + setTimeout(() => { | |
315 | + this.ani = 'simple-' + this.type | |
316 | + }, 100) | |
317 | + }) | |
318 | + }, | |
319 | + close (type) { | |
320 | + if (!this.maskClick && type) return | |
321 | + this.ani = '' | |
322 | + this.$nextTick(() => { | |
323 | + setTimeout(() => { | |
324 | + this.showPopup = false | |
325 | + }, 300) | |
326 | + }) | |
327 | + } | |
328 | + } | |
329 | +} | |
277 | 330 | </script> |
278 | 331 | |
279 | 332 | <style lang="scss" scoped> |
280 | 333 | .simple-address { |
281 | - /* #ifndef APP-NVUE */ | |
282 | - display: flex; | |
283 | - /* #endif */ | |
284 | - flex-direction: column; | |
334 | + /* #ifndef APP-NVUE */ | |
335 | + display: flex; | |
336 | + /* #endif */ | |
337 | + flex-direction: column; | |
285 | 338 | } |
286 | 339 | |
287 | 340 | .simple-address-mask { |
288 | - position: fixed; | |
289 | - bottom: 0; | |
290 | - top: 0; | |
291 | - left: 0; | |
292 | - right: 0; | |
341 | + position: fixed; | |
342 | + bottom: 0; | |
343 | + top: 0; | |
344 | + left: 0; | |
345 | + right: 0; | |
293 | 346 | |
294 | - transition-property: opacity; | |
295 | - transition-duration: 0.3s; | |
296 | - opacity: 0; | |
297 | - /* #ifndef APP-NVUE */ | |
298 | - z-index: 99; | |
299 | - /* #endif */ | |
347 | + transition-property: opacity; | |
348 | + transition-duration: 0.3s; | |
349 | + opacity: 0; | |
350 | + /* #ifndef APP-NVUE */ | |
351 | + z-index: 99; | |
352 | + /* #endif */ | |
300 | 353 | } |
301 | 354 | |
302 | 355 | .mask-ani { |
303 | - transition-property: opacity; | |
304 | - transition-duration: 0.2s; | |
356 | + transition-property: opacity; | |
357 | + transition-duration: 0.2s; | |
305 | 358 | } |
306 | 359 | |
307 | 360 | .simple-bottom-mask { |
308 | - opacity: 1; | |
361 | + opacity: 1; | |
309 | 362 | } |
310 | 363 | |
311 | 364 | .simple-center-mask { |
312 | - opacity: 1; | |
365 | + opacity: 1; | |
313 | 366 | } |
314 | 367 | |
315 | 368 | .simple-address--fixed { |
316 | - position: fixed; | |
317 | - bottom: 0; | |
318 | - left: 0; | |
319 | - right: 0; | |
320 | - transition-property: transform; | |
321 | - transition-duration: 0.3s; | |
322 | - transform: translateY(460rpx); | |
323 | - /* #ifndef APP-NVUE */ | |
324 | - z-index: 99; | |
325 | - /* #endif */ | |
369 | + position: fixed; | |
370 | + bottom: 0; | |
371 | + left: 0; | |
372 | + right: 0; | |
373 | + transition-property: transform; | |
374 | + transition-duration: 0.3s; | |
375 | + transform: translateY(460rpx); | |
376 | + /* #ifndef APP-NVUE */ | |
377 | + z-index: 99; | |
378 | + /* #endif */ | |
326 | 379 | } |
327 | 380 | |
328 | 381 | .simple-address-content { |
329 | - background-color: #ffffff; | |
382 | + background-color: #ffffff; | |
330 | 383 | } |
331 | 384 | |
332 | 385 | .simple-content-bottom { |
333 | - bottom: 0; | |
334 | - left: 0; | |
335 | - right: 0; | |
336 | - transform: translateY(500rpx); | |
386 | + bottom: 0; | |
387 | + left: 0; | |
388 | + right: 0; | |
389 | + transform: translateY(500rpx); | |
337 | 390 | } |
338 | 391 | |
339 | 392 | .content-ani { |
340 | - transition-property: transform, opacity; | |
341 | - transition-duration: 0.2s; | |
393 | + transition-property: transform, opacity; | |
394 | + transition-duration: 0.2s; | |
342 | 395 | } |
343 | 396 | |
344 | 397 | .simple-bottom-content { |
345 | - transform: translateY(0); | |
398 | + transform: translateY(0); | |
346 | 399 | } |
347 | 400 | |
348 | 401 | .simple-center-content { |
349 | - transform: scale(1); | |
350 | - opacity: 1; | |
402 | + transform: scale(1); | |
403 | + opacity: 1; | |
351 | 404 | } |
352 | 405 | |
353 | 406 | .simple-address__header { |
354 | - position: relative; | |
355 | - /* #ifndef APP-NVUE */ | |
356 | - display: flex; | |
357 | - /* #endif */ | |
358 | - flex-direction: row; | |
359 | - flex-wrap: nowrap; | |
360 | - justify-content: space-between; | |
361 | - border-bottom-color: #f2f2f2; | |
362 | - border-bottom-style: solid; | |
363 | - border-bottom-width: 1rpx; | |
407 | + position: relative; | |
408 | + /* #ifndef APP-NVUE */ | |
409 | + display: flex; | |
410 | + /* #endif */ | |
411 | + flex-direction: row; | |
412 | + flex-wrap: nowrap; | |
413 | + justify-content: space-between; | |
414 | + border-bottom-color: #f2f2f2; | |
415 | + border-bottom-style: solid; | |
416 | + border-bottom-width: 1rpx; | |
364 | 417 | } |
365 | 418 | |
366 | 419 | .simple-address--fixed-top { |
367 | - /* #ifndef APP-NVUE */ | |
368 | - display: flex; | |
369 | - /* #endif */ | |
370 | - flex-direction: row; | |
371 | - justify-content: space-between; | |
372 | - border-top-color: $uni-border-color; | |
373 | - border-top-style: solid; | |
374 | - border-top-width: 1rpx; | |
420 | + /* #ifndef APP-NVUE */ | |
421 | + display: flex; | |
422 | + /* #endif */ | |
423 | + flex-direction: row; | |
424 | + justify-content: space-between; | |
425 | + border-top-color: $uni-border-color; | |
426 | + border-top-style: solid; | |
427 | + border-top-width: 1rpx; | |
375 | 428 | } |
376 | 429 | |
377 | 430 | .simple-address__header-btn-box { |
378 | - /* #ifndef APP-NVUE */ | |
379 | - display: flex; | |
380 | - /* #endif */ | |
381 | - flex-direction: row; | |
382 | - align-items: center; | |
383 | - justify-content: center; | |
384 | - height: 70rpx; | |
431 | + /* #ifndef APP-NVUE */ | |
432 | + display: flex; | |
433 | + /* #endif */ | |
434 | + flex-direction: row; | |
435 | + align-items: center; | |
436 | + justify-content: center; | |
437 | + height: 70rpx; | |
385 | 438 | } |
386 | 439 | |
387 | 440 | .simple-address__header-text { |
388 | - text-align: center; | |
389 | - font-size: $uni-font-size-base; | |
390 | - color: #1aad19; | |
391 | - line-height: 70rpx; | |
392 | - padding-left: 40rpx; | |
393 | - padding-right: 40rpx; | |
441 | + text-align: center; | |
442 | + font-size: $uni-font-size-base; | |
443 | + color: #1aad19; | |
444 | + line-height: 70rpx; | |
445 | + padding-left: 40rpx; | |
446 | + padding-right: 40rpx; | |
394 | 447 | } |
395 | 448 | |
396 | 449 | .simple-address__box { |
397 | - position: relative; | |
450 | + position: relative; | |
398 | 451 | } |
399 | 452 | |
400 | 453 | .simple-address-view { |
401 | - position: relative; | |
402 | - bottom: 0; | |
403 | - left: 0; | |
404 | - /* #ifndef APP-NVUE */ | |
405 | - width: 100%; | |
406 | - /* #endif */ | |
407 | - /* #ifdef APP-NVUE */ | |
408 | - width: 750rpx; | |
409 | - /* #endif */ | |
410 | - height: 408rpx; | |
411 | - background-color: rgba(255, 255, 255, 1); | |
454 | + position: relative; | |
455 | + bottom: 0; | |
456 | + left: 0; | |
457 | + /* #ifndef APP-NVUE */ | |
458 | + width: 100%; | |
459 | + /* #endif */ | |
460 | + /* #ifdef APP-NVUE */ | |
461 | + width: 750rpx; | |
462 | + /* #endif */ | |
463 | + height: 408rpx; | |
464 | + background-color: rgba(255, 255, 255, 1); | |
412 | 465 | } |
413 | 466 | |
414 | 467 | .picker-item { |
415 | - text-align: center; | |
416 | - line-height: 70rpx; | |
417 | - text-overflow: ellipsis; | |
418 | - font-size: 28rpx; | |
468 | + text-align: center; | |
469 | + line-height: 70rpx; | |
470 | + text-overflow: ellipsis; | |
471 | + font-size: 28rpx; | |
419 | 472 | } |
420 | 473 | </style> | ... | ... |
src/pages.json
... | ... | @@ -66,12 +66,18 @@ |
66 | 66 | } |
67 | 67 | }, |
68 | 68 | { |
69 | - "path" : "pages/addAddress/addAddress", | |
69 | + "path" : "pages/address/addAddress", | |
70 | 70 | "style" : { |
71 | 71 | "navigationBarTitleText" : "新增地址" |
72 | 72 | } |
73 | 73 | }, |
74 | 74 | { |
75 | + "path" : "pages/address/addressList", | |
76 | + "style" : { | |
77 | + "navigationBarTitleText" : "地址管理" | |
78 | + } | |
79 | + }, | |
80 | + { | |
75 | 81 | "path" : "pages/confirmOrder/confirmOrder", |
76 | 82 | "style" : { |
77 | 83 | "navigationBarTitleText" : "确认订单" |
... | ... | @@ -148,13 +154,24 @@ |
148 | 154 | ] |
149 | 155 | }, |
150 | 156 | "condition" : { |
151 | - //模式配置,仅开发期间生效 | |
152 | - "current" : 0, //当前激活的模式(list 的索引项) | |
157 | + "current" : 0, | |
153 | 158 | "list" : [ |
154 | 159 | { |
155 | - "name" : "", //模式名称 | |
156 | - "path" : "", //启动页面,必选 | |
157 | - "query" : "" //启动参数,在页面的onLoad函数里面得到 | |
160 | + "name" : "首页", | |
161 | + "path" : "pages/index/index", | |
162 | + "query" : "" | |
163 | + }, { | |
164 | + "name" : "镜片、美瞳参数选购", | |
165 | + "path" : "pages/purchaseLenses/purchaseLenses", | |
166 | + "query" : "" | |
167 | + }, { | |
168 | + "name" : "新增地址", | |
169 | + "path" : "pages/address/addAddress", | |
170 | + "query" : "" | |
171 | + }, { | |
172 | + "name" : "地址管理", | |
173 | + "path" : "pages/address/addressList", | |
174 | + "query" : "" | |
158 | 175 | } |
159 | 176 | ] |
160 | 177 | } | ... | ... |
src/pages/addAddress/addAddress.vue
... | ... | @@ -1,111 +0,0 @@ |
1 | -<template> | |
2 | - <view class="wrap"> | |
3 | - <view class="content"> | |
4 | - <view class="item,name" > | |
5 | - <text class="itemText">姓名</text> | |
6 | - <input placeholder="收货人姓名(真实姓名)" placeholder-style="color:#B8B8B8"/> | |
7 | - </view> | |
8 | - <view class="item,phone"> | |
9 | - <text class="itemText">电话</text> | |
10 | - <input placeholder="手机号" type="digit" placeholder-style="color:#B8B8B8"/> | |
11 | - </view> | |
12 | - <view class="item,area" > | |
13 | - <text class="itemText">地区</text> | |
14 | - <view class="btn" v-if="pickerText===''" @tap="openAddres">选择省/市/区</view> | |
15 | - <view class="btn" v-else @tap="openAddres">{{pickerText}}</view> | |
16 | - <simple-address ref="SimpleAddress" :pickerValueDefault="cityPickerValueDefault" @onConfirm="onConfirm" themeColor="#007AFF"></simple-address> | |
17 | - </view> | |
18 | - <view class="item,address" > | |
19 | - <text class="itemText">详细地址</text> | |
20 | - <input placeholder="街道、小区门牌等详细地址"/> | |
21 | - </view> | |
22 | - <view class="item,check" > | |
23 | - <text class="itemText">设为默认地址</text> | |
24 | - <switch checked="isDefalutAddress" color="#FF6B4A" style="transform:scale(0.6)" @change="changeDefalutAddress" /> | |
25 | - </view> | |
26 | - <input /> | |
27 | - </view> | |
28 | - <view class="button">保存并使用</view> | |
29 | - </view> | |
30 | -</template> | |
31 | - | |
32 | -<script> | |
33 | - import SimpleAddress from '@/components/SimpleAddress/SimpleAddress.vue'; | |
34 | - export default { | |
35 | - data() { | |
36 | - return { | |
37 | - cityPickerValueDefault: [0, 0, 1], | |
38 | - pickerText: '', | |
39 | - isDefalutAddress:true | |
40 | - | |
41 | - }; | |
42 | - }, | |
43 | - components: { | |
44 | - SimpleAddress | |
45 | - }, | |
46 | - methods: { | |
47 | - openAddres() { | |
48 | - this.cityPickerValueDefault = [0,0,1] | |
49 | - this.$refs.SimpleAddress.open(); | |
50 | - }, | |
51 | - onConfirm(e) { | |
52 | - this.pickerText = e.label; | |
53 | - }, | |
54 | - changeDefalutAddress(e){ | |
55 | - this.isDefalutAddress = e.target.value | |
56 | - } | |
57 | - } | |
58 | - } | |
59 | -</script> | |
60 | - | |
61 | -<style lang="scss"> | |
62 | - .wrap{ | |
63 | - height: 100vh; | |
64 | - background-color:#F2F2F2 ; | |
65 | - font-family: PingFangSC-Regular; | |
66 | - letter-spacing: -0.23px; | |
67 | - padding-top: 19rpx; | |
68 | - } | |
69 | - .content{ | |
70 | - background-color: #FFFFFF; | |
71 | - border-radius: 8px; | |
72 | - border-radius: 8px; | |
73 | - padding: 40rpx 56rpx; | |
74 | - margin-left: 40rpx; | |
75 | - width: 670rpx; | |
76 | - box-sizing: border-box; | |
77 | - .item{ | |
78 | - display: flex; | |
79 | - justify-content: flex-start; | |
80 | - font-size: 14px; | |
81 | - align-items: center; | |
82 | - height: 112rpx; | |
83 | - border-bottom: 1rpx solid #E9E9E9; | |
84 | - .itemText{ | |
85 | - width: 162rpx; | |
86 | - font-family: PingFangSC-Regular; | |
87 | - letter-spacing: -0.26px; | |
88 | - } | |
89 | - .btn{ | |
90 | - color: #333333 !important; | |
91 | - } | |
92 | - } | |
93 | - .check{ | |
94 | - justify-content: space-between; | |
95 | - } | |
96 | - } | |
97 | - .button{ | |
98 | - position: fixed; | |
99 | - bottom: 0; | |
100 | - left: 0; | |
101 | - height: 112rpx; | |
102 | - width: 100%; | |
103 | - background: #FF6B4A; | |
104 | - display: flex; | |
105 | - justify-content: center; | |
106 | - align-items: center; | |
107 | - font-size: 16px; | |
108 | - color: #FFFFFF; | |
109 | - letter-spacing: -0.3px; | |
110 | - } | |
111 | -</style> |
src/pages/address/addAddress.vue
... | ... | @@ -0,0 +1,255 @@ |
1 | +<template> | |
2 | + <form | |
3 | + class="wrap" | |
4 | + @submit="formSubmit" | |
5 | + @reset="formReset" | |
6 | + > | |
7 | + <view class="content"> | |
8 | + <view class="item,name"> | |
9 | + <text class="itemText">姓名</text> | |
10 | + <input | |
11 | + placeholder="收货人姓名(真实姓名)" | |
12 | + placeholder-style="color:#B8B8B8" | |
13 | + name="name" | |
14 | + :value="name" | |
15 | + /> | |
16 | + </view> | |
17 | + <view class="item,phone"> | |
18 | + <text class="itemText">电话</text> | |
19 | + <input | |
20 | + placeholder="手机号" | |
21 | + type="digit" | |
22 | + placeholder-style="color:#B8B8B8" | |
23 | + name="mobile" | |
24 | + v-model="mobile" | |
25 | + /> | |
26 | + </view> | |
27 | + <view class="item,phone"> | |
28 | + <text class="itemText">性别</text> | |
29 | + <picker | |
30 | + @change="bindPickerChange" | |
31 | + :value="index" | |
32 | + :range="sexArray" | |
33 | + name="sex" | |
34 | + > | |
35 | + <view class="uni-input">{{sexArray[sexIndex]}}</view> | |
36 | + </picker> | |
37 | + </view> | |
38 | + <view class="item,area"> | |
39 | + <text class="itemText">地区</text> | |
40 | + <view | |
41 | + class="btn" | |
42 | + v-if="pickerText===''" | |
43 | + @tap="openAddres" | |
44 | + >选择省/市/区</view> | |
45 | + <view | |
46 | + class="btn" | |
47 | + v-else | |
48 | + @tap="openAddres" | |
49 | + >{{pickerText}}</view> | |
50 | + <simple-address | |
51 | + ref="SimpleAddress" | |
52 | + :pickerValueDefault="cityPickerValueDefault" | |
53 | + @onConfirm="onConfirm" | |
54 | + themeColor="#007AFF" | |
55 | + name="address" | |
56 | + ></simple-address> | |
57 | + </view> | |
58 | + <view class="item,address"> | |
59 | + <text class="itemText">详细地址</text> | |
60 | + <input | |
61 | + placeholder="街道、小区门牌等详细地址" | |
62 | + name="addDetail" | |
63 | + :value="addDetial" | |
64 | + /> | |
65 | + </view> | |
66 | + <view class="item,check"> | |
67 | + <text class="itemText">设为默认地址</text> | |
68 | + <switch | |
69 | + :checked="isDefalutAddress" | |
70 | + color="#FF6B4A" | |
71 | + style="transform:scale(0.6)" | |
72 | + @change="changeDefalutAddress" | |
73 | + name="isDefault" | |
74 | + /> | |
75 | + </view> | |
76 | + <input /> | |
77 | + </view> | |
78 | + <button | |
79 | + form-type="submit" | |
80 | + class="button" | |
81 | + >保存并使用</button> | |
82 | + </form> | |
83 | +</template> | |
84 | + | |
85 | +<script> | |
86 | +import SimpleAddress from '@/components/SimpleAddress/SimpleAddress.vue' | |
87 | +import store from '@/store' | |
88 | + | |
89 | +export default { | |
90 | + data () { | |
91 | + return { | |
92 | + cityPickerValueDefault: [0, 0, 1], | |
93 | + pickerText: '', | |
94 | + isDefalutAddress: true, | |
95 | + sexArray: ['男', '女'], | |
96 | + sexIndex: 0, | |
97 | + flag: 0, | |
98 | + addId: undefined, | |
99 | + name: '', | |
100 | + mobile: '', | |
101 | + addDetial: '', | |
102 | + isDefault: 0 | |
103 | + } | |
104 | + }, | |
105 | + onLoad (option) { | |
106 | + const { addId } = option | |
107 | + if (addId) { | |
108 | + this.addId = addId | |
109 | + store.dispatch('address/details', { | |
110 | + add_id: addId | |
111 | + }).then(() => { | |
112 | + uni.setNavigationBarTitle({ | |
113 | + title: '编辑地址' | |
114 | + }) | |
115 | + const { name, mobile, sex, add_detail: addDetial, default: isDefault } = this.$store.state.address.details | |
116 | + console.log('---', this.$store.state.address.details) | |
117 | + const index = this.$refs.SimpleAddress.queryIndex(this.$store.state.address.details.address.split('-'), 'label') | |
118 | + this.cityPickerValueDefault = index.index | |
119 | + this.name = name | |
120 | + this.mobile = Number(mobile) | |
121 | + this.sexIndex = sex | |
122 | + this.addDetial = addDetial | |
123 | + this.isDefalutAddress = !!Number(isDefault) | |
124 | + }) | |
125 | + } | |
126 | + }, | |
127 | + components: { | |
128 | + SimpleAddress | |
129 | + }, | |
130 | + methods: { | |
131 | + openAddres () { | |
132 | + this.cityPickerValueDefault = [0, 0, 1] | |
133 | + this.$refs.SimpleAddress.open() | |
134 | + }, | |
135 | + onConfirm (e) { | |
136 | + this.pickerText = e.label | |
137 | + console.log('lll', e, this.pickerText) | |
138 | + }, | |
139 | + changeDefalutAddress (e) { | |
140 | + this.isDefalutAddress = e.target.value | |
141 | + }, | |
142 | + bindPickerChange (e) { | |
143 | + console.log('picker发送选择改变,携带值为', e.target.value) | |
144 | + this.sexIndex = e.target.value | |
145 | + }, | |
146 | + formValidation (formdata) { | |
147 | + const { name, mobile, addDetail } = formdata | |
148 | + this.flag = false | |
149 | + if (name === '') { | |
150 | + uni.showModal({ | |
151 | + content: '请输入姓名', | |
152 | + showCancel: false | |
153 | + }) | |
154 | + return 0 | |
155 | + } | |
156 | + if (!(/^1[3456789]\d{9}$/.test(mobile))) { | |
157 | + uni.showModal({ | |
158 | + content: '请输入正确的手机号', | |
159 | + showCancel: false | |
160 | + }) | |
161 | + return 0 | |
162 | + } | |
163 | + if (this.pickerText === '') { | |
164 | + uni.showModal({ | |
165 | + content: '请选择收货地区', | |
166 | + showCancel: false | |
167 | + }) | |
168 | + return 0 | |
169 | + } | |
170 | + if (addDetail === '') { | |
171 | + uni.showModal({ | |
172 | + content: '请输入收货详细地址', | |
173 | + showCancel: false | |
174 | + }) | |
175 | + return 0 | |
176 | + } | |
177 | + this.flag = true | |
178 | + }, | |
179 | + formSubmit (e) { | |
180 | + const formdata = e.detail.value | |
181 | + this.formValidation(formdata) | |
182 | + | |
183 | + const { name, mobile, addDetail, isDefault } = formdata | |
184 | + if (this.flag === true) { | |
185 | + const params = { | |
186 | + sex: this.sexIndex, | |
187 | + name, | |
188 | + address: this.pickerText, | |
189 | + mobile, | |
190 | + default: isDefault ? 1 : 0, | |
191 | + add_detail: addDetail, | |
192 | + longitude: 0, | |
193 | + latitude: 0 | |
194 | + } | |
195 | + if (this.addId) { | |
196 | + params.add_id = this.addId | |
197 | + } | |
198 | + store.dispatch('address/edit', params) | |
199 | + } | |
200 | + } | |
201 | + } | |
202 | +} | |
203 | +</script> | |
204 | + | |
205 | +<style lang="scss"> | |
206 | +.wrap { | |
207 | + height: 100vh; | |
208 | + background-color: #f2f2f2; | |
209 | + font-family: PingFangSC-Regular; | |
210 | + letter-spacing: -0.23px; | |
211 | + padding-top: 19rpx; | |
212 | +} | |
213 | +.content { | |
214 | + background-color: #ffffff; | |
215 | + border-radius: 8px; | |
216 | + border-radius: 8px; | |
217 | + padding: 40rpx 56rpx; | |
218 | + margin-left: 40rpx; | |
219 | + width: 670rpx; | |
220 | + box-sizing: border-box; | |
221 | + .item { | |
222 | + display: flex; | |
223 | + justify-content: flex-start; | |
224 | + font-size: 14px; | |
225 | + align-items: center; | |
226 | + height: 112rpx; | |
227 | + border-bottom: 1rpx solid #e9e9e9; | |
228 | + .itemText { | |
229 | + width: 162rpx; | |
230 | + font-family: PingFangSC-Regular; | |
231 | + letter-spacing: -0.26px; | |
232 | + } | |
233 | + .btn { | |
234 | + color: #333333 !important; | |
235 | + } | |
236 | + } | |
237 | + .check { | |
238 | + justify-content: space-between; | |
239 | + } | |
240 | +} | |
241 | +.button { | |
242 | + position: fixed; | |
243 | + bottom: 0; | |
244 | + left: 0; | |
245 | + height: 112rpx; | |
246 | + width: 100%; | |
247 | + background: #ff6b4a; | |
248 | + display: flex; | |
249 | + justify-content: center; | |
250 | + align-items: center; | |
251 | + font-size: 16px; | |
252 | + color: #ffffff; | |
253 | + letter-spacing: -0.3px; | |
254 | +} | |
255 | +</style> | ... | ... |
src/pages/address/addressList.vue
... | ... | @@ -0,0 +1,168 @@ |
1 | +<template> | |
2 | + <view class="content"> | |
3 | + <view | |
4 | + v-if="addressList.length !== 0" | |
5 | + class="list" | |
6 | + > | |
7 | + <view | |
8 | + v-for="(item, index) in addressList" | |
9 | + :key="index" | |
10 | + @tap="toEditAddress(item.add_id)" | |
11 | + class="order-user" | |
12 | + > | |
13 | + <view class="order-user-head"> | |
14 | + <view class="name"> | |
15 | + <view | |
16 | + v-if="item.default === '1'" | |
17 | + class="default" | |
18 | + ><text>默认</text></view>{{item.name}} | |
19 | + </view> | |
20 | + <text class="mobile">{{item.mobile}}</text> | |
21 | + </view> | |
22 | + <view class="order-user-body"> | |
23 | + <image src="../../static/myorder-paying-location.png"></image> | |
24 | + <text class="address">{{item.address.replace(/[-]/g,' ')}}\n{{item.add_detail}}</text> | |
25 | + </view> | |
26 | + <image | |
27 | + v-if="item.default === '1'" | |
28 | + class="arrow" | |
29 | + src="../../static/right.png" | |
30 | + ></image> | |
31 | + <image | |
32 | + v-else | |
33 | + class="arrow pen" | |
34 | + src="../../static/icon-pen.png" | |
35 | + ></image> | |
36 | + </view> | |
37 | + </view> | |
38 | + <view | |
39 | + v-else | |
40 | + class="empty" | |
41 | + > | |
42 | + 暂无收货地址 | |
43 | + </view> | |
44 | + <button class="add">新建收货地址</button> | |
45 | + </view> | |
46 | +</template> | |
47 | + | |
48 | +<script> | |
49 | +import store from '@/store' | |
50 | +export default { | |
51 | + data () { | |
52 | + return {} | |
53 | + }, | |
54 | + computed: { | |
55 | + addressList () { | |
56 | + return this.$store.state.address.list | |
57 | + } | |
58 | + }, | |
59 | + onLoad () { | |
60 | + store.dispatch('address/list') | |
61 | + }, | |
62 | + methods: { | |
63 | + toEditAddress (addId) { | |
64 | + console.log('addId', addId) | |
65 | + uni.navigateTo({ | |
66 | + url: `addAddress?addId=${addId}`, | |
67 | + fail: (error) => { | |
68 | + console.error('跳转出现错误', error) | |
69 | + } | |
70 | + }) | |
71 | + } | |
72 | + } | |
73 | +} | |
74 | +</script> | |
75 | + | |
76 | +<style lang="scss"> | |
77 | +.content { | |
78 | + min-height: 100vh; | |
79 | + background-color: #f2f2f2; | |
80 | + padding-top: 20rpx; | |
81 | + padding-bottom: 112rpx; | |
82 | + .order-user { | |
83 | + width: 670rpx; | |
84 | + height: 228rpx; | |
85 | + background: #ffffff; | |
86 | + border-radius: 14rpx; | |
87 | + margin: 0 auto; | |
88 | + margin-bottom: 20rpx; | |
89 | + position: relative; | |
90 | + .order-user-head { | |
91 | + display: flex; | |
92 | + height: 108rpx; | |
93 | + width: 100%; | |
94 | + align-items: center; | |
95 | + margin-left: 126rpx; | |
96 | + .name { | |
97 | + display: flex; | |
98 | + justify-content: space-between; | |
99 | + font-size: 14px; | |
100 | + color: #333333; | |
101 | + letter-spacing: -0.26px; | |
102 | + margin-right: 20rpx; | |
103 | + .default { | |
104 | + height: 40rpx; | |
105 | + width: 80rpx; | |
106 | + background-color: #4a90e2; | |
107 | + border-radius: 13px; | |
108 | + border-radius: 13px; | |
109 | + text-align: center; | |
110 | + margin-right: 20rpx; | |
111 | + text { | |
112 | + font-size: 12px; | |
113 | + color: #ffffff; | |
114 | + letter-spacing: -0.23px; | |
115 | + } | |
116 | + } | |
117 | + } | |
118 | + .mobile { | |
119 | + font-size: 14px; | |
120 | + color: #999999; | |
121 | + letter-spacing: -0.26px; | |
122 | + } | |
123 | + } | |
124 | + .order-user-body { | |
125 | + display: flex; | |
126 | + width: 100%; | |
127 | + image { | |
128 | + width: 24px; | |
129 | + height: 26px; | |
130 | + margin: 12rpx 32rpx 0 40rpx; | |
131 | + } | |
132 | + .address { | |
133 | + font-weight: bold; | |
134 | + font-size: 14px; | |
135 | + color: #333333; | |
136 | + letter-spacing: -0.26px; | |
137 | + } | |
138 | + } | |
139 | + .arrow { | |
140 | + width: 6px; | |
141 | + height: 12px; | |
142 | + position: absolute; | |
143 | + right: 40rpx; | |
144 | + bottom: 104rpx; | |
145 | + } | |
146 | + } | |
147 | + .empty { | |
148 | + color: #666; | |
149 | + font-size: 16px; | |
150 | + text-align: center; | |
151 | + padding-top: 30vh; | |
152 | + } | |
153 | + .add { | |
154 | + position: fixed; | |
155 | + bottom: 0; | |
156 | + left: 0; | |
157 | + height: 112rpx; | |
158 | + width: 100%; | |
159 | + background-color: #ff6b4a; | |
160 | + display: flex; | |
161 | + justify-content: center; | |
162 | + align-items: center; | |
163 | + font-size: 16px; | |
164 | + color: #ffffff; | |
165 | + letter-spacing: -0.3px; | |
166 | + } | |
167 | +} | |
168 | +</style> | ... | ... |
src/pages/detailsChoiceArgs/compoents/MyCollapse.vue
... | ... | @@ -8,9 +8,7 @@ |
8 | 8 | <view class="headRight" v-else @click="myCollapseChange(isOpen)" ></view> |
9 | 9 | </view> |
10 | 10 | <view class="body"> |
11 | - | |
12 | 11 | <block v-if="isOpen"> |
13 | - | |
14 | 12 | <view style="background-color: #FFFFFF;" class="funBox"> |
15 | 13 | <block v-if="title==='镜片种类'"> |
16 | 14 | <view class="noRange"> |
... | ... | @@ -30,12 +28,14 @@ |
30 | 28 | <view class="range" v-for="(item) in funList" :key="item.key">{{item.range}}</view> |
31 | 29 | <view class="noRange"> |
32 | 30 | <block v-for="(item) in funList" :key="item.key"> |
33 | - <view v-bind:class="item.isChioce?'boxChoiced':'boxChoice'" | |
34 | - @click="choice(item.key-1,item.isChioce)">{{item.name}}</view> | |
31 | + <view | |
32 | + v-bind:class="item.isChioce?'boxChoiced':'boxChoice'" | |
33 | + @click="choice(item.key ? item.key - 1 : item.mid, item.isChioce || item.checked)" | |
34 | + >{{item.name}}</view> | |
35 | 35 | </block> |
36 | 36 | </view> |
37 | 37 | |
38 | - <view class="range" v-for="(item) in funList2" :key="item.key">{{item.range}}</view> | |
38 | + <view v-if="funList2.length !== 0" class="range" v-for="(item) in funList2" :key="item.key">{{item.range}}</view> | |
39 | 39 | <view class="noRange" style="max-width: 624rpx"> |
40 | 40 | <block v-for="(item,index) in funList2" :key="item.key"> |
41 | 41 | <view v-bind:class="item.isChioce?'boxChoiced':'boxChoice'" |
... | ... | @@ -92,8 +92,8 @@ |
92 | 92 | "background-image: linear-gradient(180deg, #AEA096 1%, #5E3521 100%);", |
93 | 93 | "background-image: linear-gradient(180deg, #6F6864 1%, #352B26 100%);" |
94 | 94 | ], |
95 | - funList: this.funListProp, | |
96 | - funList2: this.funList2Prop, | |
95 | + funList: this.funListProp.attr || this.funListProp, | |
96 | + funList2: this.funList2Prop || [], | |
97 | 97 | funContent: this.funContentProp |
98 | 98 | }; |
99 | 99 | }, |
... | ... | @@ -102,23 +102,21 @@ |
102 | 102 | myCollapseChange(isopen){ |
103 | 103 | this.isOpen = !isopen |
104 | 104 | }, |
105 | - choice(index,isChoice){ | |
106 | - if(this.funList[index].type==="fun"){ | |
105 | + choice(index,isChoice) { | |
106 | + if(this.funList[index].type==="fun") { | |
107 | 107 | this.funList[index].isChioce = !isChoice |
108 | - if(!isChoice){ | |
108 | + if(!isChoice) { | |
109 | 109 | this.funContent[index] = this.funList[index].name |
110 | - } | |
111 | - else{ | |
110 | + } else { | |
112 | 111 | this.funContent[index] = '' |
113 | 112 | } |
114 | - } | |
115 | - else if(this.funList[index].type==="kind"){ | |
113 | + } else if(this.funList[index].type==="kind") { | |
116 | 114 | for(let i=0;i<this.funList.length;i++){ |
117 | 115 | this.funList[i].isChioce = false |
118 | 116 | } |
119 | 117 | this.funList[index].isChioce = !isChoice |
120 | 118 | this.funContent[0]=this.funList[index].name |
121 | - }else { | |
119 | + } else { | |
122 | 120 | for(let i=0;i<this.funList.length;i++){ |
123 | 121 | this.funList[i].isChioce = false |
124 | 122 | } |
... | ... | @@ -136,8 +134,7 @@ |
136 | 134 | } |
137 | 135 | this.funList2[index].isChioce = !isChoice |
138 | 136 | this.funContent[1] = this.funList2[index].name |
139 | - } | |
140 | - else{ | |
137 | + } else { | |
141 | 138 | for(let i=0;i<this.funList.length;i++){ |
142 | 139 | this.funList[i].isChioce = false |
143 | 140 | } | ... | ... |
src/pages/detailsChoiceArgs/detailsChoiceArgs.vue
... | ... | @@ -17,116 +17,126 @@ |
17 | 17 | </view> |
18 | 18 | <view class="goods-data"> |
19 | 19 | <view class="opCollapse"> |
20 | - <view class="head"> | |
20 | + <!-- <view class="head"> | |
21 | 21 | <view v-if="!opIsOpen">填写验光数据</view> |
22 | 22 | <view v-else></view> |
23 | 23 | <view class="headRighted" v-if="opIsOpen" @click="myCollapseChange(opIsOpen)"></view> |
24 | 24 | <view class="headRight" v-else @click="myCollapseChange(opIsOpen)" ></view> |
25 | - </view> | |
25 | + </view> --> | |
26 | 26 | <view class="body"> |
27 | 27 | <template v-if="opIsOpen"> |
28 | - | |
29 | 28 | <view class="goods-form"> |
30 | - <text class="p1">填写验光数据</text> | |
31 | - <text class="p2">没有验光数据?请到线下眼镜店验光哦~</text> | |
32 | - <view class="picker" > | |
33 | - <view class="picker-choice"> | |
34 | - <view class="choice-left"> | |
35 | - <text class="p11">{{pickerInfoList[0].nameC}}</text> | |
36 | - <text class="p12">{{pickerInfoList[0].nameE}}</text> | |
37 | - </view> | |
38 | - <text class="p13">左 (OD)</text> | |
39 | - <text class="p14">{{pickerInfoList[0].nameArray1[pickerInfoList[0].nameIndex1]}}</text> | |
40 | - <picker @change="bindPickerChange01" :value="pickerInfoList[0].nameIndex1" :range="pickerInfoList[0].nameArray1"> | |
41 | - <image src="../../static/detail-tabicon.png" ></image> | |
42 | - </picker> | |
43 | - <text class="p13">右 (OS)</text> | |
44 | - <text class="p14">{{pickerInfoList[0].nameArray2[pickerInfoList[0].nameIndex2]}}</text> | |
45 | - <picker @change="bindPickerChange02" :value="pickerInfoList[0].nameIndex2" :range="pickerInfoList[0].nameArray2"> | |
46 | - <image src="../../static/detail-tabicon.png" ></image> | |
47 | - </picker> | |
48 | - </view> | |
49 | - </view> | |
50 | - <view class="picker" > | |
51 | - <view class="picker-choice"> | |
52 | - <view class="choice-left"> | |
53 | - <text class="p11">{{pickerInfoList[1].nameC}}</text> | |
54 | - <text class="p12">{{pickerInfoList[1].nameE}}</text> | |
55 | - </view> | |
56 | - <text class="p13">左 (OD)</text> | |
57 | - <text class="p14">{{pickerInfoList[1].nameArray1[pickerInfoList[1].nameIndex1]}}</text> | |
58 | - <picker @change="bindPickerChange11" :value="pickerInfoList[1].nameIndex1" :range="pickerInfoList[1].nameArray1"> | |
59 | - <image src="../../static/detail-tabicon.png" ></image> | |
60 | - </picker> | |
61 | - <text class="p13">右 (OS)</text> | |
62 | - <text class="p14">{{pickerInfoList[1].nameArray2[pickerInfoList[1].nameIndex2]}}</text> | |
63 | - <picker @change="bindPickerChange12" :value="pickerInfoList[1].nameIndex2" :range="pickerInfoList[1].nameArray2"> | |
64 | - <image src="../../static/detail-tabicon.png" ></image> | |
65 | - </picker> | |
66 | - </view> | |
67 | - </view> | |
68 | - <view class="picker" > | |
69 | - <view class="picker-choice"> | |
70 | - <view class="choice-left"> | |
71 | - <text class="p11">{{pickerInfoList[2].nameC}}</text> | |
72 | - <text class="p12">{{pickerInfoList[2].nameE}}</text> | |
73 | - </view> | |
74 | - <text class="p13">左 (OD)</text> | |
75 | - <text class="p14">{{pickerInfoList[2].nameArray1[pickerInfoList[2].nameIndex1]}}</text> | |
76 | - <picker @change="bindPickerChange21" :value="pickerInfoList[2].nameIndex1" :range="pickerInfoList[2].nameArray1"> | |
77 | - <image src="../../static/detail-tabicon.png" ></image> | |
78 | - </picker> | |
79 | - <text class="p13">右 (OS)</text> | |
80 | - <text class="p14">{{pickerInfoList[2].nameArray2[pickerInfoList[2].nameIndex2]}}</text> | |
81 | - <picker @change="bindPickerChange22" :value="pickerInfoList[2].nameIndex2" :range="pickerInfoList[2].nameArray2"> | |
82 | - <image src="../../static/detail-tabicon.png" ></image> | |
83 | - </picker> | |
84 | - </view> | |
85 | - </view> | |
86 | - <view class="picker" > | |
87 | - <view class="picker-choice"> | |
88 | - <view class="choice-left"> | |
89 | - <text class="p11">{{pickerInfoList[3].nameC}}</text> | |
90 | - <text class="p12">{{pickerInfoList[3].nameE}}</text> | |
91 | - </view> | |
92 | - <text class="p13">左 (OD)</text> | |
93 | - <text class="p14">{{pickerInfoList[3].nameArray1[pickerInfoList[3].nameIndex1]}}</text> | |
94 | - <picker @change="bindPickerChange31" :value="pickerInfoList[3].nameIndex1" :range="pickerInfoList[3].nameArray1"> | |
95 | - <image src="../../static/detail-tabicon.png" ></image> | |
96 | - </picker> | |
97 | - <text class="p13">右 (OS)</text> | |
98 | - <text class="p14">{{pickerInfoList[3].nameArray2[pickerInfoList[3].nameIndex2]}}</text> | |
99 | - <picker @change="bindPickerChange32" :value="pickerInfoList[3].nameIndex2" :range="pickerInfoList[3].nameArray2"> | |
100 | - <image src="../../static/detail-tabicon.png" ></image> | |
101 | - </picker> | |
102 | - </view> | |
103 | - </view> | |
104 | - <view class="picker" > | |
105 | - <view class="picker-choice"> | |
106 | - <view class="choice-left"> | |
107 | - <text class="p11">{{pickerInfoList[4].nameC}}</text> | |
108 | - </view> | |
109 | - <text class="p13-date">年 (Y)</text> | |
110 | - <text class="p14" style="width: 34px;">{{pickerInfoList[4].nameArray1[pickerInfoList[4].nameIndex1]}}</text> | |
111 | - <picker @change="bindPickerChange41" :value="pickerInfoList[4].nameIndex1" :range="pickerInfoList[4].nameArray1"> | |
112 | - <image src="../../static/detail-tabicon.png" ></image> | |
113 | - </picker> | |
114 | - <text class="p13-date">月 (M)</text> | |
115 | - <text class="p14" style="width: 30px;">{{pickerInfoList[4].nameArray2[pickerInfoList[4].nameIndex2]}}</text> | |
116 | - <picker @change="bindPickerChange42" :value="pickerInfoList[4].nameIndex2" :range="pickerInfoList[4].nameArray2"> | |
117 | - <image src="../../static/detail-tabicon.png" ></image> | |
118 | - </picker> | |
119 | - <text class="p13-date">日 (D)</text> | |
120 | - <text class="p14" style="width: 30px;">{{pickerInfoList[4].nameArray3[pickerInfoList[4].nameIndex3]}}</text> | |
121 | - <picker @change="bindPickerChange43" :value="pickerInfoList[4].nameIndex3" :range="pickerInfoList[4].nameArray3"> | |
122 | - <image src="../../static/detail-tabicon.png" ></image> | |
123 | - </picker> | |
124 | - </view> | |
125 | - </view> | |
126 | - <view class="confirm"> | |
127 | - <image :src="tablist.confirm ? tabicon[0] : tabicon[1]" @click="changeConfirm"></image> | |
128 | - <text>确认以上输入信息来源于我的验光数据!</text> | |
129 | - </view> | |
29 | + <view class="data-title"> | |
30 | + <image src="../../static/icon-data.png" ></image> | |
31 | + <text class="p1">填写验光数据</text> | |
32 | + </view> | |
33 | + <text class="p2">没有验光数据?请到线下眼镜店验光哦~</text> | |
34 | + <view class="picker" > | |
35 | + <view class="picker-choice"> | |
36 | + <view class="choice-left"> | |
37 | + <text class="p11">验光单取名:</text> | |
38 | + </view> | |
39 | + <input class="choice-name uni-input" placeholder="下系" /> | |
40 | + </view> | |
41 | + </view> | |
42 | + <view class="picker" > | |
43 | + <view class="picker-choice"> | |
44 | + <view class="choice-left"> | |
45 | + <text class="p11">{{pickerInfoList[0].nameC}}</text> | |
46 | + <text class="p12">{{pickerInfoList[0].nameE}}</text> | |
47 | + </view> | |
48 | + <text class="p13">左 (OD)</text> | |
49 | + <text class="p14">{{pickerInfoList[0].nameArray1[pickerInfoList[0].nameIndex1]}}</text> | |
50 | + <picker @change="bindPickerChange01" :value="pickerInfoList[0].nameIndex1" :range="pickerInfoList[0].nameArray1"> | |
51 | + <image src="../../static/detail-tabicon.png" ></image> | |
52 | + </picker> | |
53 | + <text class="p13">右 (OS)</text> | |
54 | + <text class="p14">{{pickerInfoList[0].nameArray2[pickerInfoList[0].nameIndex2]}}</text> | |
55 | + <picker @change="bindPickerChange02" :value="pickerInfoList[0].nameIndex2" :range="pickerInfoList[0].nameArray2"> | |
56 | + <image src="../../static/detail-tabicon.png" ></image> | |
57 | + </picker> | |
58 | + </view> | |
59 | + </view> | |
60 | + <view class="picker" > | |
61 | + <view class="picker-choice"> | |
62 | + <view class="choice-left"> | |
63 | + <text class="p11">{{pickerInfoList[1].nameC}}</text> | |
64 | + <text class="p12">{{pickerInfoList[1].nameE}}</text> | |
65 | + </view> | |
66 | + <text class="p13">左 (OD)</text> | |
67 | + <text class="p14">{{pickerInfoList[1].nameArray1[pickerInfoList[1].nameIndex1]}}</text> | |
68 | + <picker @change="bindPickerChange11" :value="pickerInfoList[1].nameIndex1" :range="pickerInfoList[1].nameArray1"> | |
69 | + <image src="../../static/detail-tabicon.png" ></image> | |
70 | + </picker> | |
71 | + <text class="p13">右 (OS)</text> | |
72 | + <text class="p14">{{pickerInfoList[1].nameArray2[pickerInfoList[1].nameIndex2]}}</text> | |
73 | + <picker @change="bindPickerChange12" :value="pickerInfoList[1].nameIndex2" :range="pickerInfoList[1].nameArray2"> | |
74 | + <image src="../../static/detail-tabicon.png" ></image> | |
75 | + </picker> | |
76 | + </view> | |
77 | + </view> | |
78 | + <view class="picker" > | |
79 | + <view class="picker-choice"> | |
80 | + <view class="choice-left"> | |
81 | + <text class="p11">{{pickerInfoList[2].nameC}}</text> | |
82 | + <text class="p12">{{pickerInfoList[2].nameE}}</text> | |
83 | + </view> | |
84 | + <text class="p13">左 (OD)</text> | |
85 | + <text class="p14">{{pickerInfoList[2].nameArray1[pickerInfoList[2].nameIndex1]}}</text> | |
86 | + <picker @change="bindPickerChange21" :value="pickerInfoList[2].nameIndex1" :range="pickerInfoList[2].nameArray1"> | |
87 | + <image src="../../static/detail-tabicon.png" ></image> | |
88 | + </picker> | |
89 | + <text class="p13">右 (OS)</text> | |
90 | + <text class="p14">{{pickerInfoList[2].nameArray2[pickerInfoList[2].nameIndex2]}}</text> | |
91 | + <picker @change="bindPickerChange22" :value="pickerInfoList[2].nameIndex2" :range="pickerInfoList[2].nameArray2"> | |
92 | + <image src="../../static/detail-tabicon.png" ></image> | |
93 | + </picker> | |
94 | + </view> | |
95 | + </view> | |
96 | + <view class="picker" > | |
97 | + <view class="picker-choice"> | |
98 | + <view class="choice-left"> | |
99 | + <text class="p11">{{pickerInfoList[3].nameC}}</text> | |
100 | + <text class="p12">{{pickerInfoList[3].nameE}}</text> | |
101 | + </view> | |
102 | + <text class="p13">左 (OD)</text> | |
103 | + <text class="p14">{{pickerInfoList[3].nameArray1[pickerInfoList[3].nameIndex1]}}</text> | |
104 | + <picker @change="bindPickerChange31" :value="pickerInfoList[3].nameIndex1" :range="pickerInfoList[3].nameArray1"> | |
105 | + <image src="../../static/detail-tabicon.png" ></image> | |
106 | + </picker> | |
107 | + <text class="p13">右 (OS)</text> | |
108 | + <text class="p14">{{pickerInfoList[3].nameArray2[pickerInfoList[3].nameIndex2]}}</text> | |
109 | + <picker @change="bindPickerChange32" :value="pickerInfoList[3].nameIndex2" :range="pickerInfoList[3].nameArray2"> | |
110 | + <image src="../../static/detail-tabicon.png" ></image> | |
111 | + </picker> | |
112 | + </view> | |
113 | + </view> | |
114 | + <view class="picker" > | |
115 | + <view class="picker-choice"> | |
116 | + <view class="choice-left"> | |
117 | + <text class="p11">{{pickerInfoList[4].nameC}}</text> | |
118 | + </view> | |
119 | + <text class="p13-date">年 (Y)</text> | |
120 | + <text class="p14" style="width: 34px;">{{pickerInfoList[4].nameArray1[pickerInfoList[4].nameIndex1]}}</text> | |
121 | + <picker @change="bindPickerChange41" :value="pickerInfoList[4].nameIndex1" :range="pickerInfoList[4].nameArray1"> | |
122 | + <image src="../../static/detail-tabicon.png" ></image> | |
123 | + </picker> | |
124 | + <text class="p13-date">月 (M)</text> | |
125 | + <text class="p14" style="width: 30px;">{{pickerInfoList[4].nameArray2[pickerInfoList[4].nameIndex2]}}</text> | |
126 | + <picker @change="bindPickerChange42" :value="pickerInfoList[4].nameIndex2" :range="pickerInfoList[4].nameArray2"> | |
127 | + <image src="../../static/detail-tabicon.png" ></image> | |
128 | + </picker> | |
129 | + <text class="p13-date">日 (D)</text> | |
130 | + <text class="p14" style="width: 30px;">{{pickerInfoList[4].nameArray3[pickerInfoList[4].nameIndex3]}}</text> | |
131 | + <picker @change="bindPickerChange43" :value="pickerInfoList[4].nameIndex3" :range="pickerInfoList[4].nameArray3"> | |
132 | + <image src="../../static/detail-tabicon.png" ></image> | |
133 | + </picker> | |
134 | + </view> | |
135 | + </view> | |
136 | + <view class="confirm"> | |
137 | + <image :src="tablist.confirm ? tabicon[0] : tabicon[1]" @click="changeConfirm"></image> | |
138 | + <text>确认以上输入信息来源于我的验光数据!</text> | |
139 | + </view> | |
130 | 140 | </view> |
131 | 141 | |
132 | 142 | </template> |
... | ... | @@ -156,6 +166,16 @@ |
156 | 166 | <MyCollapse :isOpenProps="kindIsOpen" :funListProp="kindList1" :funList2Prop="kindList2" :funContentProp="kindContent" title="镜片种类"></MyCollapse> |
157 | 167 | <MyCollapse :isOpenProps="maIsOpen" :funListProp="maList1" :funList2Prop="maList2" :funContentProp="maContent" title="材质选择"></MyCollapse> |
158 | 168 | <MyCollapse :isOpenProps="reIsOpen" :funListProp="reList1" :funList2Prop="reList2" :funContentProp="reContent" title="折射率"></MyCollapse> |
169 | + <view | |
170 | + v-for="item in attrList" | |
171 | + :key="item.mid" | |
172 | + > | |
173 | + <MyCollapse | |
174 | + :funListProp="item" | |
175 | + :funContentProp="reContent" | |
176 | + :title="item.meta_name" | |
177 | + /> | |
178 | + </view> | |
159 | 179 | </view> |
160 | 180 | <view class="submit">立即结算</view> |
161 | 181 | </view> |
... | ... | @@ -163,10 +183,12 @@ |
163 | 183 | |
164 | 184 | <script> |
165 | 185 | import MyCollapse from './compoents/MyCollapse.vue' |
186 | + import store from '@/store' | |
187 | + | |
166 | 188 | export default { |
167 | 189 | components: { |
168 | 190 | MyCollapse |
169 | - }, | |
191 | + }, | |
170 | 192 | data() { |
171 | 193 | return { |
172 | 194 | count:1, |
... | ... | @@ -183,7 +205,6 @@ |
183 | 205 | {"name":"抗疲劳","isChioce": false,"key":6,"type": "fun"}, |
184 | 206 | ], |
185 | 207 | funContent:[], |
186 | - | |
187 | 208 | // 镜片种类参数 |
188 | 209 | kindIsOpen:true, |
189 | 210 | kindList1: [ |
... | ... | @@ -197,9 +218,9 @@ |
197 | 218 | {"name":"JB234759","isChioce":false,key:6,"type": "kind"}, |
198 | 219 | {"name":"JB234759","isChioce":false,key:7,"type": "kind"}, |
199 | 220 | ], |
200 | - kindContent:[], | |
221 | + kindContent: [], | |
201 | 222 | // 材质选择 |
202 | - maIsOpen:true, | |
223 | + maIsOpen: true, | |
203 | 224 | maList1: [ |
204 | 225 | {"name":"树脂镜片","isChioce":false,key:1,"range":"0-300度","isRange":true}, |
205 | 226 | {"name":"特殊镜片","isChioce":false,key:2}, |
... | ... | @@ -208,9 +229,9 @@ |
208 | 229 | {"name":"玻璃镜片","isChioce":false,key:3,"range":"300-1000度","isRange":true}, |
209 | 230 | {"name":"玻璃镜片","isChioce":false,key:4}, |
210 | 231 | ], |
211 | - maContent:[], | |
232 | + maContent: [], | |
212 | 233 | // 折射率参数 |
213 | - reIsOpen:true, | |
234 | + reIsOpen: true, | |
214 | 235 | reList1: [ |
215 | 236 | {"name":"1.56(推荐)","isChioce":false,key:1,"range":"0-300度","isRange":true}, |
216 | 237 | {"name":"1.60","isChioce":false,key:2}, |
... | ... | @@ -225,27 +246,37 @@ |
225 | 246 | // 验光参数 |
226 | 247 | opIsOpen:true, |
227 | 248 | tablist: { |
228 | - // read: true, | |
229 | - // seeLong: false, | |
230 | - confirm: false | |
249 | + // read: true, | |
250 | + // seeLong: false, | |
251 | + confirm: false | |
231 | 252 | }, |
232 | 253 | tabicon:['/static/detail-button.png','/static/detail-button-unselected.png'], |
233 | - // 度数相关数据 | |
254 | + // 度数相关数据 | |
234 | 255 | pickerInfoList:[ |
235 | - {nameC:"度数",nameE:"(SPH)",nameArray1:[1.5,2.5,3.5,4.5],nameIndex1:0,nameArray2:[1.5,2.5,3.5,4.5],nameIndex2:0,key:0}, | |
236 | - {nameC:"散光",nameE:"(CYL)",nameArray1:[1.5,2.5,3.5,4.5],nameIndex1:0,nameArray2:[1.5,2.5,3.5,4.5],nameIndex2:0,key:1}, | |
237 | - {nameC:"散光轴位",nameE:"(AXI)",nameArray1:[1.5,2.5,3.5,4.5],nameIndex1:0,nameArray2:[1.5,2.5,3.5,4.5],nameIndex2:0,key:2}, | |
238 | - {nameC:"双眼瞳距",nameE:"(PD)",nameArray1:[1.5,2.5,3.5,4.5],nameIndex1:0,nameArray2:[1.5,2.5,3.5,4.5],nameIndex2:0,key:3}, | |
239 | - {nameC:"验光日期",nameE:'',nameArray1:[2017,2018,2019,2020,2021],nameIndex1:0,nameArray2:[1,2,3,4,5,6,7],nameIndex2:0,nameArray3:[1,2,3,4,5,6],nameIndex3:0} | |
256 | + {nameC:"度数",nameE:"(SPH)",nameArray1:[1.5,2.5,3.5,4.5],nameIndex1:0,nameArray2:[1.5,2.5,3.5,4.5],nameIndex2:0,key:0}, | |
257 | + {nameC:"散光",nameE:"(CYL)",nameArray1:[1.5,2.5,3.5,4.5],nameIndex1:0,nameArray2:[1.5,2.5,3.5,4.5],nameIndex2:0,key:1}, | |
258 | + {nameC:"散光轴位",nameE:"(AXI)",nameArray1:[1.5,2.5,3.5,4.5],nameIndex1:0,nameArray2:[1.5,2.5,3.5,4.5],nameIndex2:0,key:2}, | |
259 | + {nameC:"双眼瞳距",nameE:"(PD)",nameArray1:[1.5,2.5,3.5,4.5],nameIndex1:0,nameArray2:[1.5,2.5,3.5,4.5],nameIndex2:0,key:3}, | |
260 | + {nameC:"验光日期",nameE:'',nameArray1:[2017,2018,2019,2020,2021],nameIndex1:0,nameArray2:[1,2,3,4,5,6,7],nameIndex2:0,nameArray3:[1,2,3,4,5,6],nameIndex3:0} | |
240 | 261 | ], |
241 | 262 | |
242 | 263 | } |
243 | 264 | }, |
265 | + onLoad() { | |
266 | + store.dispatch('read/fetch', { | |
267 | + pid: 9, | |
268 | + }) | |
269 | + }, | |
270 | + computed: { | |
271 | + attrList() { | |
272 | + return this.$store.state.read.goodInfo.attrList; | |
273 | + } | |
274 | + }, | |
244 | 275 | methods: { |
245 | 276 | counter(isadd){ |
246 | 277 | if(isadd){ |
247 | 278 | this.count++ |
248 | - }else{ | |
279 | + } else { | |
249 | 280 | this.count <= 1? this.disabled = true:this.count-- |
250 | 281 | } |
251 | 282 | }, |
... | ... | @@ -254,45 +285,45 @@ |
254 | 285 | this.opIsOpen = !isopen |
255 | 286 | }, |
256 | 287 | changeConfirm() { |
257 | - this.tablist.confirm = !this.tablist.confirm | |
288 | + this.tablist.confirm = !this.tablist.confirm | |
258 | 289 | }, |
259 | 290 | |
260 | 291 | bindPickerChange01: function(e) { |
261 | - this.pickerInfoList[0].nameIndex1 = e.target.value | |
292 | + this.pickerInfoList[0].nameIndex1 = e.target.value | |
262 | 293 | }, |
263 | 294 | bindPickerChange02: function(e) { |
264 | - this.pickerInfoList[0].nameIndex2 = e.target.value | |
295 | + this.pickerInfoList[0].nameIndex2 = e.target.value | |
265 | 296 | }, |
266 | 297 | |
267 | 298 | bindPickerChange11: function(e) { |
268 | - this.pickerInfoList[1].nameIndex1 = e.target.value | |
299 | + this.pickerInfoList[1].nameIndex1 = e.target.value | |
269 | 300 | }, |
270 | 301 | bindPickerChange12: function(e) { |
271 | - this.pickerInfoList[1].nameIndex2 = e.target.value | |
302 | + this.pickerInfoList[1].nameIndex2 = e.target.value | |
272 | 303 | }, |
273 | 304 | |
274 | 305 | bindPickerChange21: function(e) { |
275 | - this.pickerInfoList[2].nameIndex1 = e.target.value | |
306 | + this.pickerInfoList[2].nameIndex1 = e.target.value | |
276 | 307 | }, |
277 | 308 | bindPickerChange22: function(e) { |
278 | - this.pickerInfoList[2].nameIndex2 = e.target.value | |
309 | + this.pickerInfoList[2].nameIndex2 = e.target.value | |
279 | 310 | }, |
280 | 311 | |
281 | 312 | bindPickerChange31: function(e) { |
282 | - this.pickerInfoList[3].nameIndex1 = e.target.value | |
313 | + this.pickerInfoList[3].nameIndex1 = e.target.value | |
283 | 314 | }, |
284 | 315 | bindPickerChange32: function(e) { |
285 | - this.pickerInfoList[3].nameIndex2 = e.target.value | |
316 | + this.pickerInfoList[3].nameIndex2 = e.target.value | |
286 | 317 | }, |
287 | 318 | |
288 | 319 | bindPickerChange41: function(e) { |
289 | - this.pickerInfoList[4].nameIndex1 = e.target.value | |
320 | + this.pickerInfoList[4].nameIndex1 = e.target.value | |
290 | 321 | }, |
291 | 322 | bindPickerChange42: function(e) { |
292 | - this.pickerInfoList[4].nameIndex2 = e.target.value | |
323 | + this.pickerInfoList[4].nameIndex2 = e.target.value | |
293 | 324 | }, |
294 | 325 | bindPickerChange43: function(e) { |
295 | - this.pickerInfoList[4].nameIndex3 = e.target.value | |
326 | + this.pickerInfoList[4].nameIndex3 = e.target.value | |
296 | 327 | }, |
297 | 328 | } |
298 | 329 | } |
... | ... | @@ -306,7 +337,9 @@ |
306 | 337 | flex-direction: column; |
307 | 338 | align-items: center; |
308 | 339 | } |
309 | - | |
340 | + .choice-name { | |
341 | + border-bottom: 1px solid #CFCFCF; | |
342 | + } | |
310 | 343 | .goods-info{ |
311 | 344 | width: 100%; |
312 | 345 | height: 272rpx; |
... | ... | @@ -459,98 +492,97 @@ |
459 | 492 | align-items: center; |
460 | 493 | justify-content: center; |
461 | 494 | background-color: #fff; |
462 | - width: 100%; | |
463 | - | |
495 | + width: 100%; | |
464 | 496 | .p1 { |
465 | - font-size: 16px; | |
466 | - color: #333333; | |
467 | - letter-spacing: -0.3px; | |
468 | - text-align: justify; | |
469 | - line-height: 24px; | |
470 | - margin: 4px 0; | |
497 | + font-size: 16px; | |
498 | + color: #333333; | |
499 | + letter-spacing: -0.3px; | |
500 | + text-align: justify; | |
501 | + line-height: 24px; | |
502 | + margin: 4px 0; | |
471 | 503 | |
472 | - } | |
473 | - .p2 { | |
474 | - font-size: 12px; | |
475 | - color: #999999; | |
476 | - letter-spacing: -0.23px; | |
477 | - margin-bottom: 18rpx; | |
478 | - } | |
479 | - image{ | |
480 | - width: 28rpx; | |
481 | - height: 26rpx; | |
482 | - } | |
483 | - .confirm { | |
484 | - display: flex; | |
485 | - align-items: center; | |
486 | - font-size: 12px; | |
487 | - color: #666666; | |
488 | - letter-spacing: -0.23px; | |
489 | - width: 684rpx; | |
490 | - image{ | |
491 | - margin-right:25rpx; | |
492 | - } | |
493 | - } | |
494 | - .picker{ | |
495 | - display: flex; | |
496 | - flex-direction: column; | |
497 | - justify-content: center; | |
498 | - align-items: center; | |
499 | - width: 100%; | |
500 | - image{ | |
501 | - width: 10px; | |
502 | - height: 10px; | |
503 | - margin-right: 5px; | |
504 | - } | |
505 | - .picker-choice{ | |
504 | + } | |
505 | + .p2 { | |
506 | + font-size: 12px; | |
507 | + color: #999999; | |
508 | + letter-spacing: -0.23px; | |
509 | + margin-bottom: 18rpx; | |
510 | + } | |
511 | + image{ | |
512 | + width: 28rpx; | |
513 | + height: 26rpx; | |
514 | + } | |
515 | + .confirm { | |
516 | + display: flex; | |
517 | + align-items: center; | |
518 | + font-size: 12px; | |
519 | + color: #666666; | |
520 | + letter-spacing: -0.23px; | |
521 | + width: 684rpx; | |
522 | + image{ | |
523 | + margin-right:25rpx; | |
524 | + } | |
525 | + } | |
526 | + .picker{ | |
506 | 527 | display: flex; |
507 | - width: 684rpx; | |
528 | + flex-direction: column; | |
529 | + justify-content: center; | |
508 | 530 | align-items: center; |
509 | - margin-bottom: 40rpx; | |
510 | - .choice-left{ | |
511 | - width: 210rpx; | |
512 | - .p11 { | |
513 | - font-size: 14px; | |
514 | - color: #333333; | |
515 | - letter-spacing: -0.26px; | |
516 | - text-align: justify; | |
517 | - line-height: 24px; | |
518 | - // margin-right: 10px; | |
531 | + width: 100%; | |
532 | + image{ | |
533 | + width: 10px; | |
534 | + height: 10px; | |
535 | + margin-right: 5px; | |
536 | + } | |
537 | + .picker-choice{ | |
538 | + display: flex; | |
539 | + width: 684rpx; | |
540 | + align-items: center; | |
541 | + margin-bottom: 40rpx; | |
542 | + .choice-left{ | |
543 | + width: 210rpx; | |
544 | + .p11 { | |
545 | + font-size: 14px; | |
546 | + color: #333333; | |
547 | + letter-spacing: -0.26px; | |
548 | + text-align: justify; | |
549 | + line-height: 24px; | |
550 | + // margin-right: 10px; | |
551 | + } | |
552 | + .p12 { | |
553 | + font-size: 10px; | |
554 | + color: #3F3F3F; | |
555 | + letter-spacing: -0.19px; | |
556 | + text-align: justify; | |
557 | + line-height: 24px; | |
558 | + } | |
559 | + | |
560 | + | |
519 | 561 | } |
520 | - .p12 { | |
562 | + .p13 { | |
521 | 563 | font-size: 10px; |
522 | - color: #3F3F3F; | |
564 | + color: #999999; | |
523 | 565 | letter-spacing: -0.19px; |
524 | - text-align: justify; | |
525 | - line-height: 24px; | |
566 | + margin-right: 10px; | |
526 | 567 | } |
527 | - | |
528 | - | |
529 | - } | |
530 | - .p13 { | |
531 | - font-size: 10px; | |
532 | - color: #999999; | |
533 | - letter-spacing: -0.19px; | |
534 | - margin-right: 10px; | |
535 | - } | |
536 | - .p13-date { | |
537 | - font-size: 10px; | |
538 | - color: #999999; | |
539 | - letter-spacing: -0.19px; | |
540 | - margin-right: 5px; | |
541 | - } | |
542 | - .p14 { | |
543 | - font-size: 14px; | |
544 | - color: #666666; | |
545 | - letter-spacing: -0.26px; | |
546 | - text-align: center; | |
547 | - width: 124rpx; | |
548 | - border-bottom: 1px solid #CFCFCF; | |
568 | + .p13-date { | |
569 | + font-size: 10px; | |
570 | + color: #999999; | |
571 | + letter-spacing: -0.19px; | |
572 | + margin-right: 5px; | |
573 | + } | |
574 | + .p14 { | |
575 | + font-size: 14px; | |
576 | + color: #666666; | |
577 | + letter-spacing: -0.26px; | |
578 | + text-align: center; | |
579 | + width: 124rpx; | |
580 | + border-bottom: 1px solid #CFCFCF; | |
581 | + } | |
582 | + | |
549 | 583 | } |
550 | - | |
551 | 584 | } |
552 | 585 | } |
553 | - } | |
554 | 586 | |
555 | 587 | .submit{ |
556 | 588 | width: 100%; | ... | ... |
src/pages/frameDetail/frameDetail.vue
... | ... | @@ -0,0 +1,617 @@ |
1 | +<template> | |
2 | + <view class="container"> | |
3 | + <view class="D1"> | |
4 | + <!-- 轮播图 --> | |
5 | + <swiper class="swiperImage" :indicator-dots="true" :autoplay="true" :interval="4000" :duration="500" > | |
6 | + <swiper-item v-for="(item) in infos" :key="item.goods_id"> | |
7 | + <image :src="item.img" mode="scaleToFill"></image> | |
8 | + </swiper-item> | |
9 | + </swiper> | |
10 | + <view class="D1_price">¥{{price}}</view> | |
11 | + <view class="D1_name"><span class="D1_name1">{{name}}</span><span class="D1_number">{{number}}购买过</span></view> | |
12 | + <view class="D1_spans"><span>支持7天无理由退货</span><span>顺丰发货</span><span>30天质量保证</span></view> | |
13 | + </view> | |
14 | + <view class="D2" v-if="updateGoodType == 2 || updateGoodType == 4"> | |
15 | + <view><span class="D2_span1">框架材质:</span><span class="D2_span2">{{introduction.material}}</span></view> | |
16 | + <view><span class="D2_span1">风格:</span><span class="D2_span2">{{introduction.func}}</span></view> | |
17 | + <view><span class="D2_span1">适用性别:</span><span class="D2_span2">{{introduction.rate}}</span></view> | |
18 | + </view> | |
19 | + <view class="D2" v-if="updateGoodType == 1"> | |
20 | + <view><span class="D2_span1">镜片材质:</span><span class="D2_span2">{{introduction.material}}</span></view> | |
21 | + <view><span class="D2_span1">功能:</span><span class="D2_span2">{{introduction.func}}</span></view> | |
22 | + <view><span class="D2_span1">使用场景:</span><span class="D2_span2">{{introduction.rate}}</span></view> | |
23 | + </view> | |
24 | + <view class="D2" v-if="updateGoodType == 3"> | |
25 | + <view><span class="D2_span1">材质:</span><span class="D2_span2">{{introduction.material}}</span></view> | |
26 | + <view><span class="D2_span1">直径/基弧:</span><span class="D2_span2">{{introduction.func}}</span></view> | |
27 | + <view><span class="D2_span1">适用性别:</span><span class="D2_span2">{{introduction.rate}}</span></view> | |
28 | + </view> | |
29 | + | |
30 | + <view class="D3"> | |
31 | + <view class="screenBar"> | |
32 | + <view v-for="item in screenItems" :key="item.current" @click="tabChange(item.current)" > | |
33 | + <view class="screenItem" v-bind:class="{ active: current === item.current }">{{ item.text }}</view> | |
34 | + </view> | |
35 | + </view> | |
36 | + <view class="screen-item " v-if="current ===0"> | |
37 | + <view class="D3_list"> | |
38 | + <view v-for="(item) in parameter" :key="item.key"> | |
39 | + <image class="D3_image" v-bind:src = "item.img"></image> | |
40 | + <span>{{item.standard}}</span> | |
41 | + <span>{{item.slength}}</span> | |
42 | + </view> | |
43 | + </view> | |
44 | + </view > | |
45 | + <view class="screen-item " v-if="current ===1"> | |
46 | + <view class="D3_list"> | |
47 | + <view>主体</view> | |
48 | + <view>商品产地:韩国</view> | |
49 | + <view>包装清单:彩色隐形 * 1</view> | |
50 | + </view> | |
51 | + </view > | |
52 | + <view class="screen-item " v-if="current ===2"> | |
53 | + <view class="customerService"> | |
54 | + <view class="serviceItem" > | |
55 | + <view class="title"> | |
56 | + <view style="width: 6rpx;height: 6rpx;border-radius: 3rpx;background-color: #FF6B4A;margin-right: 12rpx;"></view> | |
57 | + <text class="titleText">卖家服务</text> | |
58 | + </view> | |
59 | + <view class="itemContent">平台卖家服务,为您在平台获得最优的购买体验</view> | |
60 | + </view> | |
61 | + <view class="serviceItem" > | |
62 | + <view class="title"> | |
63 | + <view style="width: 6rpx;height: 6rpx;border-radius: 3rpx;background-color: #FF6B4A;margin-right: 12rpx;"></view> | |
64 | + <text class="titleText">平台承诺</text> | |
65 | + </view> | |
66 | + <view class="itemContent">平台卖家服务,为您在平台获得最优的购买体验阿斯蒂芬的发射点发射点发生的房贷首付的发护法国会国家和国际会更加和</view> | |
67 | + </view> | |
68 | + <view class="serviceItem"> | |
69 | + <view class="title"> | |
70 | + <view style="width: 6rpx;height: 6rpx;border-radius: 3rpx;background-color: #FF6B4A;margin-right: 12rpx;"></view> | |
71 | + <text class="titleText">正品保证</text> | |
72 | + </view> | |
73 | + <view class="itemContent">向您保证所售商品均为正品行货</view> | |
74 | + </view> | |
75 | + <view class="serviceItem2"> | |
76 | + <view class="title"> | |
77 | + <text class="titleText">权利申明</text> | |
78 | + </view> | |
79 | + <view class="itemContent">任何个人或单位如果同时符合以下两个条件:1. 权利人发现网络用户利用网络服务侵害其合法权益;2. 百度的搜索引擎系统以自动检索方式而链接到第三方网站的内容侵犯了上述权利人的合法权益。请上述个人或单位务必以书面的通讯方式向百度提交权利通知。</view> | |
80 | + </view> | |
81 | + <view class="serviceItem2"> | |
82 | + <view class="title"> | |
83 | + <text class="titleText">价格保证</text> | |
84 | + </view> | |
85 | + <view class="itemContent"> | |
86 | + <view class="itemContent-child"> | |
87 | + <text class="contentTitle">平台价:</text> | |
88 | + <text>任何个人或单位如果同时符合以下两个条件:1. 权利人发现网络用户利用网络服务侵害其合法权益;2. 百度的搜索引擎系统以自动检索方式而链接到第三方网站的内容侵犯了上述权利人的合法权益。请上述个人或单位务必以书面的通讯方式向百度提交权利通知</text> | |
89 | + </view> | |
90 | + <view class="itemContent-child"> | |
91 | + <text class="contentTitle">划线价:</text> | |
92 | + <text>任何个人或单位如果同时符合以下两个条件:1. 权利人发现网络用户利用网络服务侵害其合法权益;2. 百度的搜索引擎系统以自动检索方式而链接到第三方网站的内容侵犯了上述权利人的合法权益。请上述个人或单位务必以书面的通讯方式向百度提交权利通知</text> | |
93 | + </view> | |
94 | + <view class="itemContent-child"> | |
95 | + <text class="contentTitle">平折扣:</text> | |
96 | + <text>任何个人或单位如果同时符合以下两个条件:1. 权利人发现网络用户利用网络服务侵害其合法权益;2. 百度的搜索引擎系统以自动检索方式而链接到第三方网站的内容侵犯了上述权利人的合法权益。请上述个人或单位务必以书面的通讯方式向百度提交权利通知</text> | |
97 | + </view> | |
98 | + <view class="itemContent-child"> | |
99 | + <text class="contentTitle">异常问题:</text> | |
100 | + <text>任何个人或单位如果同时符合以下两个条件:1. 权利人发现网络用户利用网络服务侵害其合法权益;2. 百度的搜索引擎系统以自动检索方式而链接到第三方网站的内容侵犯了上述权利人的合法权益。请上述个人或单位务必以书面的通讯方式向百度提交权利通知</text> | |
101 | + </view> | |
102 | + | |
103 | + </view> | |
104 | + </view> | |
105 | + </view> | |
106 | + </view > | |
107 | + </view> | |
108 | + <view class="D4" v-if="current !==2"> | |
109 | + <view class="D4_esvalue"> | |
110 | + <view>{{esvalue}}</view> | |
111 | + <view class="D4_2"> | |
112 | + <view class="star" v-for="o in starCount" :key="o"> | |
113 | + <image src="../../static/img/detail/d_star.png" mode="aspectFill" style="height: 26rpx; width: 28rpx;"></image> | |
114 | + </view> | |
115 | + </view> | |
116 | + </view> | |
117 | + <view class="D4_list"> | |
118 | + <view v-for="(assess) in assess" :key="assess.key">{{assess.Iassess}}</view> | |
119 | + </view> | |
120 | + </view> | |
121 | + <view class="D5" v-if="current !==2"> | |
122 | + <view class="D5_fixed1"> | |
123 | + <image src="/static/img/detail/hr.png"></image> | |
124 | + <view>商品详细</view> | |
125 | + <image src="/static/img/detail/hr.png"></image> | |
126 | + </view> | |
127 | + <view class="D5_all"> | |
128 | + <image v-bind:src="imgAll"></image> | |
129 | + </view> | |
130 | + <view class="D5_photoes"> | |
131 | + <view class="D5_photoes1"> | |
132 | + <view v-for="(photoes) in photoes" :key="photoes.value"> | |
133 | + <image v-bind:src = "photoes.img"></image> | |
134 | + <view>{{photoes.value}}</view> | |
135 | + </view> | |
136 | + </view> | |
137 | + <view class="D5_logo1">帕森防蓝光镜片</view> | |
138 | + <view class="D5_logo2">健康护眼,我们是认真的!</view> | |
139 | + <view class="D5_logo3"><image src='/static/img/detail/logo.png'></image></view> | |
140 | + </view> | |
141 | + </view> | |
142 | + <view class="D6" v-if="current !==2"> | |
143 | + <view class="D6_v1">CHARM DETAIL</view> | |
144 | + <view class="D6_v2">细节展示</view> | |
145 | + <view ><image v-bind:src="imgDetail"></image></view> | |
146 | + <view>........................................................................</view> | |
147 | + <view class="D6_v5"><span class="D6_v5_s1">优质选材 </span><span class="D6_v5_s2"> / 金属材质 光泽饱满</span></view> | |
148 | + </view> | |
149 | + | |
150 | + <!-- 底部菜单 --> | |
151 | + <view class="botton"> | |
152 | + <view class="botton_1"><image v-bind:src="imgShop.img"></image><view class="botton_image">购物车</view></view> | |
153 | + <view class="botton_2"> | |
154 | + <view class="botton_input">加入购物车</view> | |
155 | + <view class="botton_now" @click="goPerchase">立即购买</view> | |
156 | + </view> | |
157 | + </view> | |
158 | + </view> | |
159 | +</template> | |
160 | + | |
161 | +<script> | |
162 | +import store from '@/store'; | |
163 | +export default { | |
164 | + data(){ | |
165 | + return { | |
166 | + name:'商品名称', | |
167 | + goodType:2, | |
168 | + price: 120, | |
169 | + number: 391, | |
170 | + screenItems: [ | |
171 | + {current:0,text:'商品保障'}, | |
172 | + {current:1,text:'规格参数'}, | |
173 | + {current:2,text:'售后保障'}, | |
174 | + ], | |
175 | + current: 0, | |
176 | + starCount:5, | |
177 | + infos: [ | |
178 | + { goods_id: 0, img: '/static/img/goods/p11.png', name: '商品名称', price: '¥168', slogan:'1235人付款' }, | |
179 | + { goods_id: 1, img: '/static/img/goods/p12.png', name: '商品名称', price: '¥168', slogan:'1235人付款' }, | |
180 | + { goods_id: 2, img: '/static/img/goods/p12.png', name: '商品名称', price: '¥168', slogan:'1235人付款' }, | |
181 | + { goods_id: 3, img: '/static/img/goods/p11.png', name: '商品名称', price: '¥168', slogan:'1235人付款' }, | |
182 | + ], | |
183 | + parameter:[ | |
184 | + {key: 0,img:'/static/img/detail/d2.png', standard:'框架宽', slength:'139mm'}, | |
185 | + {key: 1,img:'/static/img/detail/d3.png', standard:'镜片宽', slength:'51mm'}, | |
186 | + {key: 2,img:'/static/img/detail/d4.png', standard:'镜片高', slength:'45mm'}, | |
187 | + {key: 3,img:'/static/img/detail/d5.png', standard:'鼻架宽', slength:'19mm'}, | |
188 | + {key: 4,img:'/static/img/detail/d6.png', standard:'框架耳长', slength:'138mm'}, | |
189 | + {key: 5,img:'/static/img/detail/d7.png', standard:'框架重', slength:'19mm'} | |
190 | + ], | |
191 | + assess:[ | |
192 | + {key: 0, Iassess: '价格实惠'}, | |
193 | + {key: 1, Iassess: '美观大方'}, | |
194 | + {key: 2, Iassess: '易搭配'} | |
195 | + ], | |
196 | + esvalue:'宝贝好评率 100%', | |
197 | + introduction:{ | |
198 | + material:'钛合金', | |
199 | + func:'抗疲劳/防辐射', | |
200 | + rate: 1.6 | |
201 | + }, | |
202 | + imgAll:'/static/img/detail/d8.png' , | |
203 | + photoes:[ | |
204 | + {value:'日常办公', img:'/static/img/detail/d9.png'}, | |
205 | + {value:'上网', img:'/static/img/detail/d10.png'}, | |
206 | + {value:'追剧', img:'/static/img/detail/d11.png'}, | |
207 | + {value:'玩游戏', img:'/static/img/detail/d12.png'}, | |
208 | + ], | |
209 | + imgDetail:'/static/img/detail/d13.png', | |
210 | + imgShop:{ | |
211 | + img:'/static/tab-cart.png', | |
212 | + IsShown: false | |
213 | + } | |
214 | + } | |
215 | + }, | |
216 | + onLoad:function(option){ | |
217 | + this.goodType = option.goodType | |
218 | + // console.log(this.updateGoodType) | |
219 | + store.dispatch('read/fetch'); | |
220 | + }, | |
221 | + computed:{ | |
222 | + updateGoodType(){ | |
223 | + return this.goodType | |
224 | + }, | |
225 | + goodInfo() { | |
226 | + console.log(this.$store.state.read.goodInfo) | |
227 | + return this.$store.state.read.goodInfo; | |
228 | + }, | |
229 | + }, | |
230 | + methods:{ | |
231 | + goPerchase(){ | |
232 | + switch(this.updateGoodType){ | |
233 | + case '1': | |
234 | + uni.navigateTo({ | |
235 | + url: '../detailsChoiceArgs/detailsChoiceArgs', | |
236 | + success: res => {}, | |
237 | + fail: () => {}, | |
238 | + complete: () => {} | |
239 | + }); | |
240 | + break; | |
241 | + case '2': | |
242 | + uni.navigateTo({ | |
243 | + url: `../detailStandard/detailStandard_k`, | |
244 | + success: res => {}, | |
245 | + fail: () => {}, | |
246 | + complete: () => {} | |
247 | + }); | |
248 | + break; | |
249 | + case '3': | |
250 | + uni.navigateTo({ | |
251 | + url: `../purchaseLenses/purchaseLenses`, | |
252 | + success: res => {}, | |
253 | + fail: () => {}, | |
254 | + complete: () => {} | |
255 | + }); | |
256 | + break; | |
257 | + case '4': | |
258 | + uni.navigateTo({ | |
259 | + url: `../detailStandard/detailStandard_sun`, | |
260 | + success: res => {}, | |
261 | + fail: () => {}, | |
262 | + complete: () => {} | |
263 | + }); | |
264 | + break; | |
265 | + default : | |
266 | + break | |
267 | + } | |
268 | + }, | |
269 | + tabChange(e) { | |
270 | + if (this.current !== e) { | |
271 | + this.current = e; | |
272 | + } | |
273 | + } | |
274 | + } | |
275 | +} | |
276 | +</script> | |
277 | +<style lang='scss'> | |
278 | + .container{ | |
279 | + background-color:#f8f8f8 ; | |
280 | + } | |
281 | + .D1,.D2,.D3,.D4,.D6{ | |
282 | + background: #ffffff; | |
283 | + margin-bottom: 10px; | |
284 | + padding:8px 20px 8px 20px; | |
285 | + box-sizing: border-box; | |
286 | + .swiperImage { | |
287 | + width: 684rpx; | |
288 | + height: 512rpx; | |
289 | + image { | |
290 | + width: 100%; | |
291 | + height: 100%; | |
292 | + border-radius: 16rpx; | |
293 | + } | |
294 | + } | |
295 | + } | |
296 | + .D5{ | |
297 | + background: #ffffff; | |
298 | + padding:8px 20px 8px 20px; | |
299 | + box-sizing: border-box; | |
300 | + } | |
301 | + .swiperImage{ | |
302 | + width: 100%; | |
303 | + height: 560rpx; | |
304 | + .swiper-item{ | |
305 | + width: 100%; | |
306 | + image{ | |
307 | + width: 100%; | |
308 | + } | |
309 | + } | |
310 | + } | |
311 | + .D1{ | |
312 | + .D1_price{ | |
313 | + color: #EB5D3B; | |
314 | + font-size: 18px; | |
315 | + margin-top: 5px; | |
316 | + font-family: 'PingFangSC-Semibold'; | |
317 | + } | |
318 | + .D1_name{ | |
319 | + font-size: 16px; | |
320 | + font-family: 'PingFangSC-Semibold'; | |
321 | + margin-top: 5px; | |
322 | + display: flex; | |
323 | + justify-content: space-between; | |
324 | + .D1_name1{ | |
325 | + font-weight: bold; | |
326 | + font-size: 16px; | |
327 | + color: #333333; | |
328 | + } | |
329 | + .D1_number{ | |
330 | + color: #999999 ; | |
331 | + font-size: 14px; | |
332 | + font-family: 'PingFangSC-Regular'; | |
333 | + } | |
334 | + } | |
335 | + .D1_spans{ | |
336 | + font-size: 10px; | |
337 | + color:#999999; | |
338 | + margin-top: 5px; | |
339 | + span{ | |
340 | + height: 14px; | |
341 | + margin-right: 10px; | |
342 | + } | |
343 | + } | |
344 | + | |
345 | + } | |
346 | + .D2{ | |
347 | + font-size: 14px; | |
348 | + font-family: 'PingFangSC-Regular'; | |
349 | + view{ | |
350 | + height: 24px; | |
351 | + } | |
352 | + .D2_span1{ | |
353 | + color: #999999; | |
354 | + } | |
355 | + .D2_span2{ | |
356 | + color: #333333; | |
357 | + } | |
358 | + } | |
359 | + .D3{ | |
360 | + .screenBar{ | |
361 | + width: 670rpx; | |
362 | + margin-top: 20rpx; | |
363 | + margin-bottom: 24rpx; | |
364 | + display: flex; | |
365 | + flex-direction: row; | |
366 | + justify-content: space-between; | |
367 | + align-items: center; | |
368 | + font-size: 14px; | |
369 | + color: #333333; | |
370 | + transition:all 0.2s; | |
371 | + } | |
372 | + .screen-item{ | |
373 | + font-size: 32rpx; | |
374 | + color: #333333; | |
375 | + display: flex; | |
376 | + transition:all 0.2s; | |
377 | + .D3_list{ | |
378 | + margin-bottom: 4px; | |
379 | + } | |
380 | + .D3_list view{ | |
381 | + display: flex; | |
382 | + align-content: center; | |
383 | + font-size: 14px; | |
384 | + color: #333333; | |
385 | + } | |
386 | + .D3_list image{ | |
387 | + width: 50px; | |
388 | + height: 25px; | |
389 | + margin-right: 6px; | |
390 | + } | |
391 | + .D3_list span{ | |
392 | + margin-left: 6px; | |
393 | + margin-right: 5px; | |
394 | + font-family: 'PingFangSC-Regular'; | |
395 | + } | |
396 | + } | |
397 | + .active{ | |
398 | + border-bottom: 4rpx solid #FF6B4A; | |
399 | + } | |
400 | + .customerService{ | |
401 | + margin-bottom: 90rpx; | |
402 | + .serviceItem{ | |
403 | + margin-bottom: 32rpx; | |
404 | + .title{ | |
405 | + display: flex;flex-direction: row; | |
406 | + align-items: center; | |
407 | + .titleText{ | |
408 | + font-size: 14px; | |
409 | + color: #333333; | |
410 | + margin-bottom: 12rpx; | |
411 | + } | |
412 | + } | |
413 | + .itemContent{ | |
414 | + font-size: 14px; | |
415 | + color: #999999; | |
416 | + margin-left: 18rpx; | |
417 | + } | |
418 | + } | |
419 | + .serviceItem2{ | |
420 | + margin-left: 18rpx; | |
421 | + margin-bottom: 32rpx; | |
422 | + .titleText{ | |
423 | + font-size: 14px; | |
424 | + color: #FF6B4A; | |
425 | + } | |
426 | + .itemContent{ | |
427 | + font-size: 14px; | |
428 | + color: #999999; | |
429 | + .itemContent-child{ | |
430 | + margin-bottom: 40rpx; | |
431 | + .contentTitle{ | |
432 | + border-bottom: 1px solid #FF6B4A; | |
433 | + } | |
434 | + } | |
435 | + } | |
436 | + } | |
437 | + } | |
438 | + } | |
439 | + .D4{ | |
440 | + .D4_esvalue{ | |
441 | + font-size: 14px; | |
442 | + color: #333333; | |
443 | + display: flex; | |
444 | + justify-content: space-between; | |
445 | + margin-bottom: 10px; | |
446 | + .D4_2{ | |
447 | + width: 90px; | |
448 | + display: flex; | |
449 | + align-items: center; | |
450 | + justify-content: space-between; | |
451 | + } | |
452 | + } | |
453 | + .D4_esvalue view{ | |
454 | + font-size: 14px; | |
455 | + color: #333333; | |
456 | + font-weight: bold; | |
457 | + } | |
458 | + .D4_list view{ | |
459 | + display: inline-block; | |
460 | + font-size: 12px; | |
461 | + text-align: center; | |
462 | + margin-right: 12px; | |
463 | + width: 90px; | |
464 | + height: 24px; | |
465 | + line-height: 24px; | |
466 | + background: #F2F2F2; | |
467 | + color: #666666 ; | |
468 | + } | |
469 | + } | |
470 | + .D5{ | |
471 | + .D5_fixed1{ | |
472 | + display: flex; | |
473 | + justify-content: space-between; | |
474 | + align-content: center; | |
475 | + margin-bottom: 12px; | |
476 | + view{ | |
477 | + font-size: 14px; | |
478 | + color: #333333; | |
479 | + font-weight: bold; | |
480 | + font-family: 'PingFangSC-Medium'; | |
481 | + line-height: 24px; | |
482 | + } | |
483 | + image{ | |
484 | + width: 240rpx; | |
485 | + height: 3px; | |
486 | + margin-top: 10px; | |
487 | + } | |
488 | + } | |
489 | + .D5_all { | |
490 | + width: 100%; | |
491 | + height: 380px; | |
492 | + margin-bottom: 30px; | |
493 | + font-family: 'PingFangSC-Regular'; | |
494 | + border: #999999 solid 1.5px; | |
495 | + image{ | |
496 | + width: 100%; | |
497 | + height: 380px; | |
498 | + }} | |
499 | + .D5_photoes1{ | |
500 | + display: grid; | |
501 | + grid-template-columns: 48% 48%; | |
502 | + grid-row-gap: 10px; | |
503 | + grid-column-gap: 4%; | |
504 | + image{ | |
505 | + width: 100%; | |
506 | + height: 70px; | |
507 | + } | |
508 | + view{ | |
509 | + width: 100%; | |
510 | + font-size: 14px; | |
511 | + text-align: center; | |
512 | + background: #949494; | |
513 | + font-family: 'PingFangSC-Regular'; | |
514 | + color: #ffffff; | |
515 | + view{ | |
516 | + height: 24px; | |
517 | + line-height: 24px; | |
518 | + } | |
519 | + } | |
520 | + } | |
521 | + .D5_logo1,.D5_logo2{ | |
522 | + text-align: center; | |
523 | + } | |
524 | + .D5_logo1{ | |
525 | + margin-top: 40px; | |
526 | + font-size: 24px; | |
527 | + font-weight: bold; | |
528 | + font-family: 'PingFangSC-Semibold'; | |
529 | + } | |
530 | + .D5_logo2{ | |
531 | + font-size: 12px; | |
532 | + } | |
533 | + .D5_logo3{ | |
534 | + width: 100%; | |
535 | + text-align: center; | |
536 | + image{ | |
537 | + width: 50px; | |
538 | + height: 24px; | |
539 | + } | |
540 | + } | |
541 | + } | |
542 | + .D6{ | |
543 | + width: 100%; | |
544 | + height: 430px; | |
545 | + background: #F9F6ED; | |
546 | + margin-bottom: 74px; | |
547 | + view{ | |
548 | + text-align: center; | |
549 | + } | |
550 | + .D6_v1{ | |
551 | + font-weight: bold; | |
552 | + } | |
553 | + .D6_v2{ | |
554 | + font-size: 14px; | |
555 | + margin-bottom: 30px; | |
556 | + } | |
557 | + .D6_v5{ | |
558 | + .D6_v5_s1{ | |
559 | + font-weight: bold; | |
560 | + } | |
561 | + .D6_v5_s2{ | |
562 | + font-size: 14px; | |
563 | + } | |
564 | + } | |
565 | + } | |
566 | + .botton{ | |
567 | + position: fixed; | |
568 | + bottom: 0; | |
569 | + height: 74px; | |
570 | + width: 100%; | |
571 | + background: #FFFFFF; | |
572 | + padding: 20px 20px 8px 20px; | |
573 | + font-family: 'PingFangSC-Regular'; | |
574 | + box-sizing: border-box; | |
575 | + display: flex; | |
576 | + justify-content: space-between; | |
577 | + align-content: center; | |
578 | + .botton_1{ | |
579 | + width: 20%; | |
580 | + height: 100%; | |
581 | + text-align: center; | |
582 | + color: #989898; | |
583 | + } | |
584 | + image{ | |
585 | + width: 60%; | |
586 | + height: 30px; | |
587 | + } | |
588 | + .botton_image{ | |
589 | + font-size: 12px; | |
590 | + text-align: center; | |
591 | + } | |
592 | + .botton_2{ | |
593 | + width: 74%; | |
594 | + height: 86%; | |
595 | + display: grid; | |
596 | + grid-template-columns: 50% 50%; | |
597 | + } | |
598 | + .botton_input{ | |
599 | + display: inline-flex; | |
600 | + align-items: center; | |
601 | + justify-content: space-around; | |
602 | + background: #FFF0EC; | |
603 | + font-size: 16px; | |
604 | + color: #FF6B4A; | |
605 | + border-radius: 20px 0 0 20px; | |
606 | + } | |
607 | + .botton_now{ | |
608 | + display: inline-flex; | |
609 | + align-items: center; | |
610 | + justify-content: space-around; | |
611 | + background: #FF6B4A; | |
612 | + font-size: 16px; | |
613 | + color: #FFFFFF; | |
614 | + border-radius:0 20px 20px 0; | |
615 | + } | |
616 | + } | |
617 | +</style> | |
0 | 618 | \ No newline at end of file | ... | ... |
src/pages/index/index.vue
... | ... | @@ -149,7 +149,6 @@ export default { |
149 | 149 | } |
150 | 150 | }, |
151 | 151 | onLoad() { |
152 | - console.log('onload') | |
153 | 152 | store.dispatch('index/category'); |
154 | 153 | // this.getList(); |
155 | 154 | store.dispatch('index/list'); |
... | ... | @@ -181,7 +180,6 @@ export default { |
181 | 180 | searchKey(e) { |
182 | 181 | const { value: keyword } = e.detail; |
183 | 182 | this.keyWords = keyword; |
184 | - console.log('e', e, keyword); | |
185 | 183 | store.dispatch('index/search', { |
186 | 184 | params: {}, |
187 | 185 | keyword, |
... | ... | @@ -189,16 +187,15 @@ export default { |
189 | 187 | }, |
190 | 188 | //接收菜单结果 |
191 | 189 | search(e) { |
192 | - console.log("修改菜单-----", e, this.categoryList); | |
193 | 190 | const { on, value, index } = e; |
194 | 191 | let params = {} |
195 | 192 | if(on[0] === 1) { |
193 | + // 若点击全部 | |
196 | 194 | this.searchText = ''; |
197 | 195 | store.dispatch('index/list'); |
198 | 196 | } else { |
199 | 197 | for(let i = 1; i<=on.length; i++){ // on[0]是全部 |
200 | 198 | if(on[i] === 1) { // 若该选项被选中 |
201 | - console.log('---', `${this.categoryList[i].value}`); | |
202 | 199 | params[`${this.categoryList[i].value}`] = value[i][0]; |
203 | 200 | } |
204 | 201 | } | ... | ... |
src/pages/myOrderPaying/myOrderPaying.vue
1 | -<!-- 订单待付款 待收货 --> | |
1 | +<!-- 订单待付款 待收货 --> | |
2 | 2 | <template> |
3 | - <view class="content"> | |
4 | - <!-- 待付款 --> | |
5 | - <view class="order-time" v-if="status == '0'"> | |
6 | - <text>请在</text> | |
7 | - <uni-countdown color="#EC5D3B" splitor-color="#EC5D3B" :show-day="false" | |
8 | - :hour="0" :second="getTime" @timeup=timeup ></uni-countdown> | |
9 | - <text>内完成付款</text> | |
10 | - </view> | |
11 | - <!-- 待收货 --> | |
12 | - <view class="headerBanner" v-if="status == '1'"> | |
13 | - <view class="bannerLeft"> | |
14 | - <view class="T1">卖家已发货</view> | |
15 | - <view class="T2">还剩 确认收货</view> | |
16 | - </view> | |
17 | - <image src="../../static/car.png" mode="aspectFill"></image> | |
18 | - </view> | |
19 | - <view class="order"> | |
20 | - <view class="order-user"> | |
21 | - <view class="order-user-head"> | |
22 | - <text class="p1">{{orderAddressInfo.userName}}</text> | |
23 | - <text class="p2">{{orderAddressInfo.telNumber}}</text> | |
24 | - </view> | |
25 | - <view class="order-user-body"> | |
26 | - <image src="../../static/myorder-paying-location.png"></image> | |
27 | - <text class="p3">{{orderAddressInfo.provinceName}} {{orderAddressInfo.cityName}} {{orderAddressInfo.countyName}}\n{{orderAddressInfo.detailInfo}}</text> | |
28 | - </view> | |
29 | - </view> | |
30 | - <view class="order-info"> | |
31 | - <view class="order-info-head" v-for="(orderInfoListItem,index) in orderInfoList" :key="index" > | |
32 | - <image :src="orderInfoListItem.imgUrl" mode="aspectFill"></image> | |
33 | - <view class="order-info-head-r"> | |
34 | - <text class="p1">{{orderInfoListItem.p_name}}</text> | |
35 | - <view class="p2" style="margin: 0;"> | |
36 | - 规格:玫瑰金 / 钛合金 / 防日光防紫外线 / 超薄超轻 | |
37 | - <!-- <view class="arrow"></view> --> | |
38 | - </view> | |
39 | - <view class="infoText-bottom"> | |
40 | - <view class="markPrice">{{orderInfoListItem.nowPrice}}</view> | |
41 | - <view class="buy-num">X {{orderInfoListItem.num}}</view> | |
42 | - </view> | |
43 | - </view> | |
44 | - </view> | |
45 | -<!-- <view class="order-info-goodsnum"> | |
46 | - <text>X1</text> | |
47 | - </view> --> | |
48 | - <text class="order-info-freight"> | |
49 | - <text class="p1">运费</text> | |
50 | - <text class="p2">{{orderInfo.trans_price}}</text> | |
51 | - </text> | |
52 | - <text class="order-info-discount"> | |
53 | - <text class="p1">优惠</text> | |
54 | - <text class="p2">-¥{{totalDiscount}}</text> | |
55 | - </text> | |
56 | - <text class="order-info-price"> | |
57 | - <text class="p1">实付</text> | |
58 | - <text class="p2">¥{{orderInfo.order_info.total_fee}}</text> | |
59 | - </text> | |
60 | - <text class="order-info-num"> | |
61 | - <text>订单号:{{orderInfo.prepay_id}}</text> | |
62 | - </text> | |
63 | - <text class="order-info-time"> | |
64 | - <text>下单时间:{{orderInfo.pay_time}}</text> | |
65 | - </text> | |
66 | - <view class="order-info-hr"></view> | |
67 | - <view class="order-info-contact"> | |
68 | - <image src="../../static/myorder-paying-contact.png"></image> | |
69 | - <text>联系客服</text> | |
70 | - </view> | |
71 | - </view> | |
72 | - </view> | |
73 | - <view class="order-confim" v-if="status == '0'"> | |
74 | - <button class="b1" @click="cancleOrder">取消订单</button> | |
75 | - <button class="b2" @click="paylog">立即支付</button> | |
76 | - </view> | |
77 | - | |
78 | - <view class="order-confim" v-if="status == '1'"> | |
79 | - <!-- <button class="b1">取消订单</button> --> | |
80 | - <button class="b2" @click="confirmOrder">确认收货</button> | |
81 | - </view> | |
82 | - </view> | |
3 | + <view class="content"> | |
4 | + <!-- 待付款 --> | |
5 | + <view | |
6 | + class="order-time" | |
7 | + v-if="status == '0'" | |
8 | + > | |
9 | + <text>请在</text> | |
10 | + <uni-countdown | |
11 | + color="#EC5D3B" | |
12 | + splitor-color="#EC5D3B" | |
13 | + :show-day="false" | |
14 | + :hour="0" | |
15 | + :second="getTime" | |
16 | + @timeup=timeup | |
17 | + ></uni-countdown> | |
18 | + <text>内完成付款</text> | |
19 | + </view> | |
20 | + <!-- 待收货 --> | |
21 | + <view | |
22 | + class="headerBanner" | |
23 | + v-if="status == '1'" | |
24 | + > | |
25 | + <view class="bannerLeft"> | |
26 | + <view class="T1">卖家已发货</view> | |
27 | + <view class="T2">还剩 确认收货</view> | |
28 | + </view> | |
29 | + <image | |
30 | + src="../../static/car.png" | |
31 | + mode="aspectFill" | |
32 | + ></image> | |
33 | + </view> | |
34 | + <view class="order"> | |
35 | + <view class="order-user"> | |
36 | + <view class="order-user-head"> | |
37 | + <text class="p1">{{orderAddressInfo.userName}}</text> | |
38 | + <text class="p2">{{orderAddressInfo.telNumber}}</text> | |
39 | + </view> | |
40 | + <view class="order-user-body"> | |
41 | + <image src="../../static/myorder-paying-location.png"></image> | |
42 | + <text class="p3">{{orderAddressInfo.provinceName}} {{orderAddressInfo.cityName}} {{orderAddressInfo.countyName}}\n{{orderAddressInfo.detailInfo}}</text> | |
43 | + </view> | |
44 | + </view> | |
45 | + <view class="order-info"> | |
46 | + <view | |
47 | + class="order-info-head" | |
48 | + v-for="(orderInfoListItem,index) in orderInfoList" | |
49 | + :key="index" | |
50 | + > | |
51 | + <image | |
52 | + :src="orderInfoListItem.imgUrl" | |
53 | + mode="aspectFill" | |
54 | + ></image> | |
55 | + <view class="order-info-head-r"> | |
56 | + <text class="p1">{{orderInfoListItem.p_name}}</text> | |
57 | + <view | |
58 | + class="p2" | |
59 | + style="margin: 0;" | |
60 | + > | |
61 | + 规格:玫瑰金 / 钛合金 / 防日光防紫外线 / 超薄超轻 | |
62 | + <!-- <view class="arrow"></view> --> | |
63 | + </view> | |
64 | + <view class="infoText-bottom"> | |
65 | + <view class="markPrice">{{orderInfoListItem.nowPrice}}</view> | |
66 | + <view class="buy-num">X {{orderInfoListItem.num}}</view> | |
67 | + </view> | |
68 | + </view> | |
69 | + </view> | |
70 | + <!-- <view class="order-info-goodsnum"> | |
71 | + <text>X1</text> | |
72 | + </view> --> | |
73 | + <text class="order-info-freight"> | |
74 | + <text class="p1">运费</text> | |
75 | + <text class="p2">{{orderInfo.trans_price}}</text> | |
76 | + </text> | |
77 | + <text class="order-info-discount"> | |
78 | + <text class="p1">优惠</text> | |
79 | + <text class="p2">-¥{{totalDiscount}}</text> | |
80 | + </text> | |
81 | + <text class="order-info-price"> | |
82 | + <text class="p1">实付</text> | |
83 | + <text class="p2">¥{{orderInfo.order_info.total_fee}}</text> | |
84 | + </text> | |
85 | + <text class="order-info-num"> | |
86 | + <text>订单号:{{orderInfo.prepay_id}}</text> | |
87 | + </text> | |
88 | + <text class="order-info-time"> | |
89 | + <text>下单时间:{{orderInfo.pay_time}}</text> | |
90 | + </text> | |
91 | + <view class="order-info-hr"></view> | |
92 | + <view class="order-info-contact"> | |
93 | + <image src="../../static/myorder-paying-contact.png"></image> | |
94 | + <text>联系客服</text> | |
95 | + </view> | |
96 | + </view> | |
97 | + </view> | |
98 | + <view | |
99 | + class="order-confim" | |
100 | + v-if="status == '0'" | |
101 | + > | |
102 | + <button | |
103 | + class="b1" | |
104 | + @click="cancleOrder" | |
105 | + >取消订单</button> | |
106 | + <button | |
107 | + class="b2" | |
108 | + @click="paylog" | |
109 | + >立即支付</button> | |
110 | + </view> | |
111 | + | |
112 | + <view | |
113 | + class="order-confim" | |
114 | + v-if="status == '1'" | |
115 | + > | |
116 | + <!-- <button class="b1">取消订单</button> --> | |
117 | + <button | |
118 | + class="b2" | |
119 | + @click="confirmOrder" | |
120 | + >确认收货</button> | |
121 | + </view> | |
122 | + </view> | |
83 | 123 | </template> |
84 | 124 | |
85 | -<script> | |
86 | - import store from '@/store'; | |
87 | - import UniCountdown from '../../components/UniCountdown/UniCountdown.vue' | |
88 | - export default { | |
89 | - components: { | |
90 | - UniCountdown | |
91 | - }, | |
92 | - data() { | |
93 | - return { | |
94 | - // orderInfo:{}, | |
95 | - payId:'', | |
96 | - status:'', | |
97 | - uid:'', | |
98 | - openid:'', | |
99 | - lefttime:0, | |
100 | - | |
101 | - } | |
102 | - }, | |
103 | - onLoad: function(option) { | |
104 | - console.log(option); | |
105 | - this.payId = option.payId; | |
106 | - this.status = option.status | |
107 | - const openid = uni.getStorageSync('openid'); | |
108 | - const uid = this.$store.state.user.uid | |
109 | - this.uid = uid | |
110 | - this.openid = openid | |
111 | - store.dispatch('orderRead/getOrderInfo',{ | |
112 | - pay_id:this.payId, | |
113 | - uid:'1', | |
114 | - openid:openid | |
115 | - }) | |
116 | - | |
117 | - | |
118 | - | |
119 | - // this.orderInfo = this.$store.state.orderRead.orderInfo | |
120 | - }, | |
121 | - computed: { | |
122 | - //获取订单详细信息 | |
123 | - orderInfo() { | |
124 | - console.log(this.$store.state.orderRead.orderInfo) | |
125 | - return this.$store.state.orderRead.orderInfo || {} | |
126 | - }, | |
127 | - orderInfoList(){ | |
128 | - const orderInfoList =this.orderInfo.order_info[0].list | |
129 | - return orderInfoList | |
130 | - }, | |
131 | - //获取订单地址信息 | |
132 | - orderAddressInfo(){ | |
133 | - return this.orderInfo.order_info[0].address | |
134 | - }, | |
135 | - //订单付款时间 | |
136 | - getTime(){ | |
137 | - return this.orderInfo.order_info[0].lefttime | |
138 | - }, | |
139 | - // 计算总优惠额 | |
140 | - totalDiscount(){ | |
141 | - const discountInfoList = this.orderInfo.discount_info | |
142 | - let totalDiscount = 0; | |
143 | - if(discountInfoList){ | |
144 | - discountInfoList.map((discountItem,index)=>{ | |
145 | - totalDiscount += Number(discountItem.value) | |
146 | - }) | |
147 | - } | |
148 | - // console.log(totalDiscount) | |
149 | - return totalDiscount | |
150 | - }, | |
151 | - }, | |
152 | - methods: { | |
153 | - //取消订单 | |
154 | - timeup(){ | |
155 | - this.cancleOrder() | |
156 | - }, | |
157 | - cancleOrder(){ | |
158 | - const uid = this.uid | |
159 | - const openid = this.openid | |
160 | - uni.showModal({ | |
161 | - title: '提示', | |
162 | - content: '现在取消,订单不可恢复哦,确认取消吗?', | |
163 | - success: function (res) { | |
164 | - if (res.confirm) { | |
165 | - store.dispatch('cancelOrder/cancel',{ | |
166 | - keyname:'1', | |
167 | - uid:uid, | |
168 | - openid:openid | |
169 | - }) | |
170 | - } else if (res.cancel) { | |
171 | - console.log('用户点击取消'); | |
172 | - } | |
173 | - } | |
174 | - }) | |
175 | - }, | |
176 | - paylog(){ | |
177 | - | |
178 | - }, | |
179 | - confirmOrder(){ | |
180 | - store.dispatch('statusConfirm/confirm',{ | |
181 | - uid:this.uid, | |
182 | - openid:this.openid, | |
183 | - oldway:'1', | |
184 | - way:'2', | |
185 | - pay_id:this.payId, | |
186 | - judgeContent:'', | |
187 | - orderInfo:this.orderInfo.order_info, | |
188 | - }).then( | |
189 | - setTimeout(()=>{ | |
190 | - uni.navigateBack() | |
191 | - },1500) | |
192 | - ) | |
193 | - } | |
194 | - } | |
195 | - } | |
125 | +<script> | |
126 | +import store from '@/store' | |
127 | +import UniCountdown from '../../components/UniCountdown/UniCountdown.vue' | |
128 | +export default { | |
129 | + components: { | |
130 | + UniCountdown | |
131 | + }, | |
132 | + data () { | |
133 | + return { | |
134 | + // orderInfo:{}, | |
135 | + payId: '', | |
136 | + status: '', | |
137 | + uid: '', | |
138 | + openid: '', | |
139 | + lefttime: 0 | |
140 | + | |
141 | + } | |
142 | + }, | |
143 | + onLoad: function (option) { | |
144 | + console.log(option) | |
145 | + this.payId = option.payId | |
146 | + this.status = option.status | |
147 | + const openid = uni.getStorageSync('openid') | |
148 | + const uid = this.$store.state.user.uid | |
149 | + this.uid = uid | |
150 | + this.openid = openid | |
151 | + store.dispatch('orderRead/getOrderInfo', { | |
152 | + pay_id: this.payId, | |
153 | + uid: '1', | |
154 | + openid: openid | |
155 | + }) | |
156 | + | |
157 | + // this.orderInfo = this.$store.state.orderRead.orderInfo | |
158 | + }, | |
159 | + computed: { | |
160 | + // 获取订单详细信息 | |
161 | + orderInfo () { | |
162 | + console.log(this.$store.state.orderRead.orderInfo) | |
163 | + return this.$store.state.orderRead.orderInfo || {} | |
164 | + }, | |
165 | + orderInfoList () { | |
166 | + const orderInfoList = this.orderInfo.order_info[0].list | |
167 | + return orderInfoList | |
168 | + }, | |
169 | + // 获取订单地址信息 | |
170 | + orderAddressInfo () { | |
171 | + return this.orderInfo.order_info[0].address | |
172 | + }, | |
173 | + // 订单付款时间 | |
174 | + getTime () { | |
175 | + return this.orderInfo.order_info[0].lefttime | |
176 | + }, | |
177 | + // 计算总优惠额 | |
178 | + totalDiscount () { | |
179 | + const discountInfoList = this.orderInfo.discount_info | |
180 | + let totalDiscount = 0 | |
181 | + if (discountInfoList) { | |
182 | + discountInfoList.map((discountItem, index) => { | |
183 | + totalDiscount += Number(discountItem.value) | |
184 | + }) | |
185 | + } | |
186 | + // console.log(totalDiscount) | |
187 | + return totalDiscount | |
188 | + } | |
189 | + }, | |
190 | + methods: { | |
191 | + // 取消订单 | |
192 | + timeup () { | |
193 | + this.cancleOrder() | |
194 | + }, | |
195 | + cancleOrder () { | |
196 | + const uid = this.uid | |
197 | + const openid = this.openid | |
198 | + uni.showModal({ | |
199 | + title: '提示', | |
200 | + content: '现在取消,订单不可恢复哦,确认取消吗?', | |
201 | + success: function (res) { | |
202 | + if (res.confirm) { | |
203 | + store.dispatch('cancelOrder/cancel', { | |
204 | + keyname: '1', | |
205 | + uid: uid, | |
206 | + openid: openid | |
207 | + }) | |
208 | + } else if (res.cancel) { | |
209 | + console.log('用户点击取消') | |
210 | + } | |
211 | + } | |
212 | + }) | |
213 | + }, | |
214 | + paylog () { | |
215 | + | |
216 | + }, | |
217 | + confirmOrder () { | |
218 | + store.dispatch('statusConfirm/confirm', { | |
219 | + uid: this.uid, | |
220 | + openid: this.openid, | |
221 | + oldway: '1', | |
222 | + way: '2', | |
223 | + pay_id: this.payId, | |
224 | + judgeContent: '', | |
225 | + orderInfo: this.orderInfo.order_info | |
226 | + }).then( | |
227 | + setTimeout(() => { | |
228 | + uni.navigateBack() | |
229 | + }, 1500) | |
230 | + ) | |
231 | + } | |
232 | + } | |
233 | +} | |
196 | 234 | </script> |
197 | 235 | |
198 | 236 | <style lang="scss" scoped> |
199 | - .content{ | |
200 | - min-height: 100vh; | |
201 | - display: flex; | |
202 | - flex-direction: column; | |
203 | - justify-content: flex-start; | |
204 | - align-items: center; | |
205 | - background-color: #f2f2f2; | |
206 | - } | |
207 | - | |
208 | - | |
209 | - .order { | |
210 | - margin-bottom: 112rpx; | |
211 | - background: #F2F2F2; | |
212 | - margin-top: 140rpx; | |
213 | - width: 670rpx; | |
214 | - } | |
237 | +.content { | |
238 | + min-height: 100vh; | |
239 | + display: flex; | |
240 | + flex-direction: column; | |
241 | + justify-content: flex-start; | |
242 | + align-items: center; | |
243 | + background-color: #f2f2f2; | |
244 | +} | |
245 | + | |
246 | +.order { | |
247 | + margin-bottom: 112rpx; | |
248 | + background: #f2f2f2; | |
249 | + margin-top: 140rpx; | |
250 | + width: 670rpx; | |
251 | +} | |
252 | + | |
253 | +.order-time { | |
254 | + width: 100%; | |
255 | + height: 140rpx; | |
256 | + background-color: #fff; | |
257 | + display: flex; | |
258 | + justify-content: center; | |
259 | + align-items: center; | |
260 | + position: fixed; | |
261 | + top: 0; | |
262 | + left: 0; | |
263 | + text { | |
264 | + // font-family: PingFangSC-Regular; | |
265 | + // margin-top: 48rpx; | |
266 | + font-size: 14px; | |
267 | + color: #333333; | |
268 | + letter-spacing: -0.26px; | |
269 | + } | |
270 | + .p2 { | |
271 | + // font-family: DINAlternate-Bold; | |
272 | + margin: 42rpx 20rpx 0 20rpx; | |
273 | + font-size: 18px; | |
274 | + color: #ec5d3b; | |
275 | + letter-spacing: -0.34px; | |
276 | + } | |
277 | +} | |
278 | +.headerBanner { | |
279 | + width: 100%; | |
280 | + height: 140rpx; | |
281 | + background: #4a90e2; | |
282 | + padding: 26rpx 60rpx 24rpx 60rpx; | |
283 | + box-sizing: border-box; | |
284 | + color: #ffffff; | |
285 | + display: flex; | |
286 | + justify-content: space-between; | |
287 | + align-items: center; | |
288 | + position: fixed; | |
289 | + top: 0; | |
290 | + left: 0; | |
291 | + .bannerLeft { | |
292 | + font-size: 36rpx; | |
293 | + display: flex; | |
294 | + flex-direction: column; | |
295 | + justify-content: center; | |
296 | + align-items: center; | |
297 | + .T2 { | |
298 | + font-size: 24rpx; | |
299 | + } | |
300 | + } | |
301 | + image { | |
302 | + height: 56rpx; | |
303 | + width: 72rpx; | |
304 | + } | |
305 | +} | |
306 | + | |
307 | +.order-user { | |
308 | + height: 228rpx; | |
309 | + background: #ffffff; | |
310 | + border-radius: 14rpx; | |
311 | + margin: 0 auto; | |
312 | + margin-top: 20rpx; | |
313 | + margin-bottom: 20rpx; | |
314 | + .order-user-head { | |
315 | + display: flex; | |
316 | + height: 108rpx; | |
317 | + align-items: center; | |
318 | + margin-left: 126rpx; | |
319 | + .p1 { | |
320 | + // font-family: PingFangSC-Regular; | |
321 | + font-size: 14px; | |
322 | + color: #333333; | |
323 | + letter-spacing: -0.26px; | |
324 | + margin-right: 20rpx; | |
325 | + } | |
326 | + .p2 { | |
327 | + // font-family: PingFangSC-Regular; | |
328 | + font-size: 14px; | |
329 | + color: #999999; | |
330 | + letter-spacing: -0.26px; | |
331 | + } | |
332 | + } | |
333 | + .order-user-body { | |
334 | + display: flex; | |
335 | + width: 100%; | |
336 | + image { | |
337 | + width: 24px; | |
338 | + height: 26px; | |
339 | + margin: 12rpx 32rpx 0 40rpx; | |
340 | + } | |
341 | + .p3 { | |
342 | + // font-family: PingFangSC-Semibold; | |
343 | + font-size: 14px; | |
344 | + color: #333333; | |
345 | + letter-spacing: -0.26px; | |
346 | + } | |
347 | + } | |
348 | +} | |
215 | 349 | |
216 | - .order-time { | |
217 | - width: 100%; | |
218 | - height: 140rpx; | |
219 | - background-color: #fff; | |
220 | - display: flex; | |
221 | - justify-content: center; | |
222 | - align-items: center; | |
223 | - position: fixed; | |
224 | - top: 0 ; | |
225 | - left: 0; | |
226 | - text { | |
227 | - // font-family: PingFangSC-Regular; | |
228 | - // margin-top: 48rpx; | |
229 | - font-size: 14px; | |
230 | - color: #333333; | |
231 | - letter-spacing: -0.26px; | |
232 | - } | |
233 | - .p2 { | |
234 | - // font-family: DINAlternate-Bold; | |
235 | - margin: 42rpx 20rpx 0 20rpx; | |
236 | - font-size: 18px; | |
237 | - color: #EC5D3B; | |
238 | - letter-spacing: -0.34px; | |
239 | - } | |
240 | - } | |
241 | - .headerBanner{ | |
242 | - width: 100%; | |
243 | - height: 140rpx; | |
244 | - background: #4A90E2; | |
245 | - padding: 26rpx 60rpx 24rpx 60rpx; | |
246 | - box-sizing: border-box; | |
247 | - color: #FFFFFF; | |
248 | - display: flex; | |
249 | - justify-content: space-between; | |
250 | - align-items: center; | |
251 | - position: fixed; | |
252 | - top: 0 ; | |
253 | - left: 0; | |
254 | - .bannerLeft{ | |
255 | - font-size: 36rpx; | |
256 | - display: flex; | |
257 | - flex-direction: column; | |
258 | - justify-content: center; | |
259 | - align-items: center; | |
260 | - .T2{ | |
261 | - font-size: 24rpx; | |
262 | - } | |
263 | - } | |
264 | - image{ | |
265 | - height: 56rpx; | |
266 | - width: 72rpx; | |
267 | - } | |
268 | - } | |
269 | - | |
270 | - .order-user { | |
271 | - height: 228rpx; | |
272 | - background: #FFFFFF; | |
273 | - border-radius: 14rpx; | |
274 | - margin: 0 auto; | |
275 | - margin-top: 20rpx; | |
276 | - margin-bottom: 20rpx; | |
277 | - .order-user-head { | |
278 | - display: flex; | |
279 | - height: 108rpx; | |
280 | - align-items: center; | |
281 | - margin-left: 126rpx; | |
282 | - .p1 { | |
283 | - // font-family: PingFangSC-Regular; | |
284 | - font-size: 14px; | |
285 | - color: #333333; | |
286 | - letter-spacing: -0.26px; | |
287 | - margin-right: 20rpx; | |
288 | - } | |
289 | - .p2 { | |
290 | - // font-family: PingFangSC-Regular; | |
291 | - font-size: 14px; | |
292 | - color: #999999; | |
293 | - letter-spacing: -0.26px; | |
294 | - } | |
295 | - } | |
296 | - .order-user-body { | |
297 | - display: flex; | |
298 | - width: 100%; | |
299 | - image{ | |
300 | - width: 24px; | |
301 | - height: 26px; | |
302 | - margin: 12rpx 32rpx 0 40rpx; | |
303 | - } | |
304 | - .p3 { | |
305 | - // font-family: PingFangSC-Semibold; | |
306 | - font-size: 14px; | |
307 | - color: #333333; | |
308 | - letter-spacing: -0.26px; | |
309 | - } | |
310 | - } | |
311 | - } | |
312 | - | |
313 | - .order-info { | |
314 | - background-color: #fff; | |
315 | - box-shadow: 0 0 20rpx 0 rgba(177,128,128,0.06); | |
316 | - border-radius: 16rpx; | |
317 | - margin: 0 auto; | |
318 | - view{ | |
319 | - margin-left: 40rpx; | |
320 | - } | |
321 | - text{ | |
322 | - font-size: 14px; | |
323 | - } | |
324 | - .order-info-head { | |
325 | - display: flex; | |
326 | - padding-top: 40rpx; | |
327 | - image{ | |
328 | - height: 188rpx; | |
329 | - width: 188rpx; | |
330 | - } | |
331 | - .order-info-head-r{ | |
332 | - margin: 0; | |
333 | - width: 368rpx; | |
334 | - margin-left: 24rpx; | |
335 | - // margin-top: 40rpx; | |
336 | - text{ | |
337 | - display: block; | |
338 | - } | |
339 | - // .arrow{ | |
340 | - // width: 0; | |
341 | - // height: 0; | |
342 | - // border-left: 5px transparent; | |
343 | - // border-right: 5px transparent; | |
344 | - // border-top: 5px #979797; | |
345 | - // border-bottom: 0 transparent; | |
346 | - // border-style: solid; | |
347 | - // position: relative; | |
348 | - // // transform: scaleY(-1); | |
349 | - // } | |
350 | - // .arrow::after{ | |
351 | - // content: ''; | |
352 | - // position: absolute; | |
353 | - // top: -6.5px; | |
354 | - // left: -5px; | |
355 | - // border-left: 5px transparent; | |
356 | - // border-right: 5px transparent; | |
357 | - // border-top: 5px #FFFFFF; | |
358 | - // border-bottom: 0 transparent; | |
359 | - // border-style: solid; | |
360 | - // } | |
361 | - .p1 { | |
362 | - min-height: 40px; | |
363 | - // font-family: PingFangSC-Regular; | |
364 | - font-size: 14px; | |
365 | - color: #333333; | |
366 | - letter-spacing: -0.26px; | |
367 | - line-height: 18px; | |
368 | - // line-height: 20px; | |
369 | - } | |
370 | - .p2 { | |
371 | - height: 34px; | |
372 | - padding: 1px 0 3px 0; | |
373 | - // font-family: PingFangSC-Regular; | |
374 | - font-size: 12px; | |
375 | - color: #999999; | |
376 | - letter-spacing: -0.23px; | |
377 | - } | |
378 | - .infoText-bottom{ | |
379 | - display: flex; | |
380 | - flex-direction: row; | |
381 | - justify-content: flex-start; | |
382 | - align-items: center; | |
383 | - width: 100%; | |
384 | - margin-left: 0; | |
385 | - .markPrice{ | |
386 | - font-size: 14px; | |
387 | - color: #FF6B4A; | |
388 | - margin-right: 20rpx; | |
389 | - margin-left: 0rpx; | |
390 | - } | |
391 | - .buy-num{ | |
392 | - font-size: 12px; | |
393 | - color: #999999; | |
394 | - } | |
395 | - } | |
396 | - } | |
350 | +.order-info { | |
351 | + background-color: #fff; | |
352 | + box-shadow: 0 0 20rpx 0 rgba(177, 128, 128, 0.06); | |
353 | + border-radius: 16rpx; | |
354 | + margin: 0 auto; | |
355 | + view { | |
356 | + margin-left: 40rpx; | |
357 | + } | |
358 | + text { | |
359 | + font-size: 14px; | |
360 | + } | |
361 | + .order-info-head { | |
362 | + display: flex; | |
363 | + padding-top: 40rpx; | |
364 | + image { | |
365 | + height: 188rpx; | |
366 | + width: 188rpx; | |
367 | + } | |
368 | + .order-info-head-r { | |
369 | + margin: 0; | |
370 | + width: 368rpx; | |
371 | + margin-left: 24rpx; | |
372 | + // margin-top: 40rpx; | |
373 | + text { | |
374 | + display: block; | |
375 | + } | |
376 | + // .arrow{ | |
377 | + // width: 0; | |
378 | + // height: 0; | |
379 | + // border-left: 5px transparent; | |
380 | + // border-right: 5px transparent; | |
381 | + // border-top: 5px #979797; | |
382 | + // border-bottom: 0 transparent; | |
383 | + // border-style: solid; | |
384 | + // position: relative; | |
385 | + // // transform: scaleY(-1); | |
386 | + // } | |
387 | + // .arrow::after{ | |
388 | + // content: ''; | |
389 | + // position: absolute; | |
390 | + // top: -6.5px; | |
391 | + // left: -5px; | |
392 | + // border-left: 5px transparent; | |
393 | + // border-right: 5px transparent; | |
394 | + // border-top: 5px #FFFFFF; | |
395 | + // border-bottom: 0 transparent; | |
396 | + // border-style: solid; | |
397 | + // } | |
398 | + .p1 { | |
399 | + min-height: 40px; | |
400 | + // font-family: PingFangSC-Regular; | |
401 | + font-size: 14px; | |
402 | + color: #333333; | |
403 | + letter-spacing: -0.26px; | |
404 | + line-height: 18px; | |
405 | + // line-height: 20px; | |
406 | + } | |
407 | + .p2 { | |
408 | + height: 34px; | |
409 | + padding: 1px 0 3px 0; | |
410 | + // font-family: PingFangSC-Regular; | |
411 | + font-size: 12px; | |
412 | + color: #999999; | |
413 | + letter-spacing: -0.23px; | |
414 | + } | |
415 | + .infoText-bottom { | |
416 | + display: flex; | |
417 | + flex-direction: row; | |
418 | + justify-content: flex-start; | |
419 | + align-items: center; | |
420 | + width: 100%; | |
421 | + margin-left: 0; | |
422 | + .markPrice { | |
423 | + font-size: 14px; | |
424 | + color: #ff6b4a; | |
425 | + margin-right: 20rpx; | |
426 | + margin-left: 0rpx; | |
427 | + } | |
428 | + .buy-num { | |
429 | + font-size: 12px; | |
430 | + color: #999999; | |
431 | + } | |
432 | + } | |
433 | + } | |
434 | + } | |
435 | + // .order-info-goodsnum { | |
436 | + // display: flex; | |
437 | + // align-items: center; | |
438 | + // justify-content: flex-end; | |
439 | + // text { | |
440 | + // margin-right: 44rpx; | |
441 | + // // ont-family: PingFangSC-Regular; | |
442 | + // font-size: 12px; | |
443 | + // color: #999999; | |
444 | + // letter-spacing: -0.23px; | |
445 | + // } | |
446 | + // } | |
447 | + .order-info-freight { | |
448 | + display: block; | |
449 | + margin-left: 40rpx; | |
450 | + margin-top: 22rpx; | |
451 | + .p1 { | |
452 | + // font-family: PingFangSC-Regular; | |
453 | + font-size: 14px; | |
454 | + color: #333333; | |
455 | + letter-spacing: -0.26px; | |
456 | + line-height: 18px; | |
457 | + margin-right: 24px; | |
458 | + } | |
459 | + .p2 { | |
460 | + // font-family: PingFangSC-Regular; | |
461 | + font-size: 14px; | |
462 | + color: #ff6b4a; | |
463 | + letter-spacing: -0.26px; | |
464 | + } | |
465 | + } | |
466 | + .order-info-discount { | |
467 | + display: block; | |
468 | + margin-left: 40rpx; | |
469 | + margin-top: 24rpx; | |
470 | + .p1 { | |
471 | + // font-family: PingFangSC-Regular; | |
472 | + font-size: 14px; | |
473 | + color: #333333; | |
474 | + letter-spacing: -0.26px; | |
475 | + line-height: 18px; | |
476 | + margin-right: 24px; | |
477 | + } | |
478 | + .p2 { | |
479 | + // font-family: PingFangSC-Regular; | |
480 | + font-size: 14px; | |
481 | + color: #ff6b4a; | |
482 | + letter-spacing: -0.26px; | |
483 | + } | |
484 | + } | |
485 | + .order-info-price { | |
486 | + display: block; | |
487 | + margin-left: 40rpx; | |
488 | + margin-top: 24rpx; | |
489 | + .p1 { | |
490 | + // font-family: PingFangSC-Semibold; | |
491 | + font-size: 14px; | |
492 | + color: #333333; | |
493 | + letter-spacing: -0.26px; | |
494 | + line-height: 18px; | |
495 | + margin-right: 24px; | |
496 | + } | |
497 | + .p2 { | |
498 | + // font-family: PingFangSC-Semibold; | |
499 | + font-size: 14px; | |
500 | + color: #ff6b4a; | |
501 | + letter-spacing: -0.26px; | |
502 | + } | |
503 | + } | |
504 | + .order-info-num { | |
505 | + display: block; | |
506 | + margin-left: 40rpx; | |
507 | + margin-top: 44rpx; | |
508 | + text { | |
509 | + // font-family: PingFangSC-Regular; | |
510 | + font-size: 12px; | |
511 | + color: #999999; | |
512 | + letter-spacing: -0.23px; | |
513 | + } | |
514 | + } | |
515 | + .order-info-time { | |
516 | + display: block; | |
517 | + margin: 8rpx 0 48rpx 40rpx; | |
518 | + text { | |
519 | + // font-family: PingFangSC-Regular; | |
520 | + font-size: 12px; | |
521 | + color: #999999; | |
522 | + letter-spacing: -0.23px; | |
523 | + } | |
524 | + } | |
525 | + .order-info-hr { | |
526 | + width: 520rpx; | |
527 | + height: 1px; | |
528 | + background-color: #e9e9e9; | |
529 | + margin-bottom: 20rpx; | |
530 | + } | |
531 | + .order-info-contact { | |
532 | + display: flex; | |
533 | + padding-bottom: 28rpx; | |
534 | + image { | |
535 | + width: 19px; | |
536 | + height: 16px; | |
537 | + } | |
538 | + text { | |
539 | + // font-family: PingFangSC-Regular; | |
540 | + margin-left: 20rpx; | |
541 | + font-size: 14px; | |
542 | + color: #333333; | |
543 | + letter-spacing: -0.26px; | |
544 | + line-height: 18px; | |
545 | + } | |
546 | + } | |
547 | +} | |
397 | 548 | |
398 | - } | |
399 | - // .order-info-goodsnum { | |
400 | - // display: flex; | |
401 | - // align-items: center; | |
402 | - // justify-content: flex-end; | |
403 | - // text { | |
404 | - // margin-right: 44rpx; | |
405 | - // // ont-family: PingFangSC-Regular; | |
406 | - // font-size: 12px; | |
407 | - // color: #999999; | |
408 | - // letter-spacing: -0.23px; | |
409 | - // } | |
410 | - // } | |
411 | - .order-info-freight { | |
412 | - display: block; | |
413 | - margin-left: 40rpx; | |
414 | - margin-top: 22rpx; | |
415 | - .p1{ | |
416 | - // font-family: PingFangSC-Regular; | |
417 | - font-size: 14px; | |
418 | - color: #333333; | |
419 | - letter-spacing: -0.26px; | |
420 | - line-height: 18px; | |
421 | - margin-right: 24px; | |
422 | - } | |
423 | - .p2 { | |
424 | - // font-family: PingFangSC-Regular; | |
425 | - font-size: 14px; | |
426 | - color: #FF6B4A; | |
427 | - letter-spacing: -0.26px; | |
428 | - } | |
429 | - } | |
430 | - .order-info-discount { | |
431 | - display: block; | |
432 | - margin-left: 40rpx; | |
433 | - margin-top: 24rpx; | |
434 | - .p1 { | |
435 | - // font-family: PingFangSC-Regular; | |
436 | - font-size: 14px; | |
437 | - color: #333333; | |
438 | - letter-spacing: -0.26px; | |
439 | - line-height: 18px; | |
440 | - margin-right: 24px; | |
441 | - } | |
442 | - .p2 { | |
443 | - // font-family: PingFangSC-Regular; | |
444 | - font-size: 14px; | |
445 | - color: #FF6B4A; | |
446 | - letter-spacing: -0.26px; | |
447 | - } | |
448 | - } | |
449 | - .order-info-price { | |
450 | - display: block; | |
451 | - margin-left: 40rpx; | |
452 | - margin-top: 24rpx; | |
453 | - .p1 { | |
454 | - // font-family: PingFangSC-Semibold; | |
455 | - font-size: 14px; | |
456 | - color: #333333; | |
457 | - letter-spacing: -0.26px; | |
458 | - line-height: 18px; | |
459 | - margin-right: 24px; | |
460 | - } | |
461 | - .p2 { | |
462 | - // font-family: PingFangSC-Semibold; | |
463 | - font-size: 14px; | |
464 | - color: #FF6B4A; | |
465 | - letter-spacing: -0.26px; | |
466 | - } | |
467 | - } | |
468 | - .order-info-num{ | |
469 | - display: block; | |
470 | - margin-left: 40rpx; | |
471 | - margin-top: 44rpx; | |
472 | - text{ | |
473 | - // font-family: PingFangSC-Regular; | |
474 | - font-size: 12px; | |
475 | - color: #999999; | |
476 | - letter-spacing: -0.23px; | |
477 | - } | |
478 | - } | |
479 | - .order-info-time { | |
480 | - display: block; | |
481 | - margin: 8rpx 0 48rpx 40rpx; | |
482 | - text{ | |
483 | - // font-family: PingFangSC-Regular; | |
484 | - font-size: 12px; | |
485 | - color: #999999; | |
486 | - letter-spacing: -0.23px; | |
487 | - } | |
488 | - } | |
489 | - .order-info-hr{ | |
490 | - width: 520rpx; | |
491 | - height: 1px; | |
492 | - background-color: #E9E9E9; | |
493 | - margin-bottom: 20rpx; | |
494 | - } | |
495 | - .order-info-contact { | |
496 | - display: flex; | |
497 | - padding-bottom: 28rpx; | |
498 | - image{ | |
499 | - width: 19px; | |
500 | - height: 16px; | |
501 | - } | |
502 | - text { | |
503 | - // font-family: PingFangSC-Regular; | |
504 | - margin-left: 20rpx; | |
505 | - font-size: 14px; | |
506 | - color: #333333; | |
507 | - letter-spacing: -0.26px; | |
508 | - line-height: 18px; | |
509 | - } | |
510 | - } | |
511 | - } | |
512 | - | |
513 | - .order-confim { | |
514 | - display: flex; | |
515 | - align-items: center; | |
516 | - justify-content: flex-end; | |
517 | - // z-index: 999; | |
518 | - width: 100%; | |
519 | - height: 112rpx; | |
520 | - position: fixed; | |
521 | - bottom: 0; | |
522 | - background: #FFFFFF; | |
523 | - button { | |
524 | - width: 204rpx; | |
525 | - height: 80rpx; | |
526 | - border: 1px solid #FF6B4A; | |
527 | - border-radius: 40rpx; | |
528 | - font-size: 32rpx; | |
529 | - letter-spacing: -0.3px; | |
530 | - margin-right: 0; | |
531 | - } | |
532 | - .b1 { | |
533 | - // font-family: PingFangSC-Regular; | |
534 | - color: #FF6B4A; | |
535 | - background-color: #FFFFFF; | |
536 | - } | |
537 | - .b2 { | |
538 | - // font-family: PingFangSC-Regular; | |
539 | - background-color: #FF6B4A; | |
540 | - color: #FFFFFF; | |
541 | - margin: 0 26rpx 0 20rpx; | |
542 | - } | |
543 | - } | |
544 | - | |
549 | +.order-confim { | |
550 | + display: flex; | |
551 | + align-items: center; | |
552 | + justify-content: flex-end; | |
553 | + // z-index: 999; | |
554 | + width: 100%; | |
555 | + height: 112rpx; | |
556 | + position: fixed; | |
557 | + bottom: 0; | |
558 | + background: #ffffff; | |
559 | + button { | |
560 | + width: 204rpx; | |
561 | + height: 80rpx; | |
562 | + border: 1px solid #ff6b4a; | |
563 | + border-radius: 40rpx; | |
564 | + font-size: 32rpx; | |
565 | + letter-spacing: -0.3px; | |
566 | + margin-right: 0; | |
567 | + } | |
568 | + .b1 { | |
569 | + // font-family: PingFangSC-Regular; | |
570 | + color: #ff6b4a; | |
571 | + background-color: #ffffff; | |
572 | + } | |
573 | + .b2 { | |
574 | + // font-family: PingFangSC-Regular; | |
575 | + background-color: #ff6b4a; | |
576 | + color: #ffffff; | |
577 | + margin: 0 26rpx 0 20rpx; | |
578 | + } | |
579 | +} | |
545 | 580 | </style> | ... | ... |
src/pages/purchaseLenses/purchaseLenses.vue
... | ... | @@ -18,61 +18,200 @@ |
18 | 18 | </view> |
19 | 19 | </view> |
20 | 20 | </view> |
21 | + <view class="goods-data"> | |
22 | + <view class="opCollapse"> | |
23 | + <view class="body"> | |
24 | + <template v-if="opIsOpen"> | |
25 | + <view class="goods-form"> | |
26 | + <view class="data-title"> | |
27 | + <image src="../../static/icon-data.png" ></image> | |
28 | + <text class="p1">填写验光数据</text> | |
29 | + </view> | |
30 | + <text class="p2">没有验光数据?请到线下眼镜店验光哦~</text> | |
31 | + <view class="picker" > | |
32 | + <view class="picker-choice"> | |
33 | + <view class="choice-left"> | |
34 | + <text class="p11">验光单取名:</text> | |
35 | + </view> | |
36 | + <input class="choice-name uni-input" placeholder="下系" /> | |
37 | + </view> | |
38 | + </view> | |
39 | + <view class="picker" > | |
40 | + <view class="picker-choice"> | |
41 | + <view class="choice-left"> | |
42 | + <text class="p11">{{pickerInfoList[0].nameC}}</text> | |
43 | + <text class="p12">{{pickerInfoList[0].nameE}}</text> | |
44 | + </view> | |
45 | + <text class="p13">左 (OD)</text> | |
46 | + <text class="p14">{{pickerInfoList[0].nameArray1[pickerInfoList[0].nameIndex1]}}</text> | |
47 | + <picker @change="bindPickerChange01" :value="pickerInfoList[0].nameIndex1" :range="pickerInfoList[0].nameArray1"> | |
48 | + <image src="../../static/detail-tabicon.png" ></image> | |
49 | + </picker> | |
50 | + <text class="p13">右 (OS)</text> | |
51 | + <text class="p14">{{pickerInfoList[0].nameArray2[pickerInfoList[0].nameIndex2]}}</text> | |
52 | + <picker @change="bindPickerChange02" :value="pickerInfoList[0].nameIndex2" :range="pickerInfoList[0].nameArray2"> | |
53 | + <image src="../../static/detail-tabicon.png" ></image> | |
54 | + </picker> | |
55 | + </view> | |
56 | + </view> | |
57 | + <view class="picker" > | |
58 | + <view class="picker-choice"> | |
59 | + <view class="choice-left"> | |
60 | + <text class="p11">{{pickerInfoList[1].nameC}}</text> | |
61 | + <text class="p12">{{pickerInfoList[1].nameE}}</text> | |
62 | + </view> | |
63 | + <text class="p13">左 (OD)</text> | |
64 | + <text class="p14">{{pickerInfoList[1].nameArray1[pickerInfoList[1].nameIndex1]}}</text> | |
65 | + <picker @change="bindPickerChange11" :value="pickerInfoList[1].nameIndex1" :range="pickerInfoList[1].nameArray1"> | |
66 | + <image src="../../static/detail-tabicon.png" ></image> | |
67 | + </picker> | |
68 | + <text class="p13">右 (OS)</text> | |
69 | + <text class="p14">{{pickerInfoList[1].nameArray2[pickerInfoList[1].nameIndex2]}}</text> | |
70 | + <picker @change="bindPickerChange12" :value="pickerInfoList[1].nameIndex2" :range="pickerInfoList[1].nameArray2"> | |
71 | + <image src="../../static/detail-tabicon.png" ></image> | |
72 | + </picker> | |
73 | + </view> | |
74 | + </view> | |
75 | + <view class="picker" > | |
76 | + <view class="picker-choice"> | |
77 | + <view class="choice-left"> | |
78 | + <text class="p11">{{pickerInfoList[2].nameC}}</text> | |
79 | + <text class="p12">{{pickerInfoList[2].nameE}}</text> | |
80 | + </view> | |
81 | + <text class="p13">左 (OD)</text> | |
82 | + <text class="p14">{{pickerInfoList[2].nameArray1[pickerInfoList[2].nameIndex1]}}</text> | |
83 | + <picker @change="bindPickerChange21" :value="pickerInfoList[2].nameIndex1" :range="pickerInfoList[2].nameArray1"> | |
84 | + <image src="../../static/detail-tabicon.png" ></image> | |
85 | + </picker> | |
86 | + <text class="p13">右 (OS)</text> | |
87 | + <text class="p14">{{pickerInfoList[2].nameArray2[pickerInfoList[2].nameIndex2]}}</text> | |
88 | + <picker @change="bindPickerChange22" :value="pickerInfoList[2].nameIndex2" :range="pickerInfoList[2].nameArray2"> | |
89 | + <image src="../../static/detail-tabicon.png" ></image> | |
90 | + </picker> | |
91 | + </view> | |
92 | + </view> | |
93 | + <view class="picker" > | |
94 | + <view class="picker-choice"> | |
95 | + <view class="choice-left"> | |
96 | + <text class="p11">{{pickerInfoList[3].nameC}}</text> | |
97 | + <text class="p12">{{pickerInfoList[3].nameE}}</text> | |
98 | + </view> | |
99 | + <text class="p13">左 (OD)</text> | |
100 | + <text class="p14">{{pickerInfoList[3].nameArray1[pickerInfoList[3].nameIndex1]}}</text> | |
101 | + <picker @change="bindPickerChange31" :value="pickerInfoList[3].nameIndex1" :range="pickerInfoList[3].nameArray1"> | |
102 | + <image src="../../static/detail-tabicon.png" ></image> | |
103 | + </picker> | |
104 | + <text class="p13">右 (OS)</text> | |
105 | + <text class="p14">{{pickerInfoList[3].nameArray2[pickerInfoList[3].nameIndex2]}}</text> | |
106 | + <picker @change="bindPickerChange32" :value="pickerInfoList[3].nameIndex2" :range="pickerInfoList[3].nameArray2"> | |
107 | + <image src="../../static/detail-tabicon.png" ></image> | |
108 | + </picker> | |
109 | + </view> | |
110 | + </view> | |
111 | + <view class="picker" > | |
112 | + <view class="picker-choice"> | |
113 | + <view class="choice-left"> | |
114 | + <text class="p11">{{pickerInfoList[4].nameC}}</text> | |
115 | + </view> | |
116 | + <text class="p13-date">年 (Y)</text> | |
117 | + <text class="p14" style="width: 34px;">{{pickerInfoList[4].nameArray1[pickerInfoList[4].nameIndex1]}}</text> | |
118 | + <picker @change="bindPickerChange41" :value="pickerInfoList[4].nameIndex1" :range="pickerInfoList[4].nameArray1"> | |
119 | + <image src="../../static/detail-tabicon.png" ></image> | |
120 | + </picker> | |
121 | + <text class="p13-date">月 (M)</text> | |
122 | + <text class="p14" style="width: 30px;">{{pickerInfoList[4].nameArray2[pickerInfoList[4].nameIndex2]}}</text> | |
123 | + <picker @change="bindPickerChange42" :value="pickerInfoList[4].nameIndex2" :range="pickerInfoList[4].nameArray2"> | |
124 | + <image src="../../static/detail-tabicon.png" ></image> | |
125 | + </picker> | |
126 | + <text class="p13-date">日 (D)</text> | |
127 | + <text class="p14" style="width: 30px;">{{pickerInfoList[4].nameArray3[pickerInfoList[4].nameIndex3]}}</text> | |
128 | + <picker @change="bindPickerChange43" :value="pickerInfoList[4].nameIndex3" :range="pickerInfoList[4].nameArray3"> | |
129 | + <image src="../../static/detail-tabicon.png" ></image> | |
130 | + </picker> | |
131 | + </view> | |
132 | + </view> | |
133 | + <view class="confirm"> | |
134 | + <image :src="tablist.confirm ? tabicon[0] : tabicon[1]" @click="changeConfirm"></image> | |
135 | + <text>确认以上输入信息来源于我的验光数据!</text> | |
136 | + </view> | |
137 | + </view> | |
138 | + | |
139 | + </template> | |
140 | + <template v-else> | |
141 | + <view v-for="item in pickerInfoList" :key="item.key" class="bodyBox"> | |
142 | + <template v-if="item.nameC==='验光日期'"> | |
143 | + <text class="names">{{item.nameC}}</text> | |
144 | + <text style="margin-right: 5px;">{{item.nameArray1[item.nameIndex1]}}年</text> | |
145 | + <text style="margin-right: 5px;">{{item.nameArray2[item.nameIndex2]}}月</text> | |
146 | + <text>{{item.nameArray3[item.nameIndex2]}}日</text> | |
147 | + </template> | |
148 | + <template v-else> | |
149 | + <template v-if="item.nameC==='度数'"> | |
150 | + <text style="display: inline;">*</text> | |
151 | + </template> | |
152 | + | |
153 | + <text class="names">{{item.nameC}}</text> | |
154 | + <text style="margin-right: 10px;">左 {{item.nameArray1[item.nameIndex1]}}</text> | |
155 | + <text>右 {{item.nameArray2[item.nameIndex2]}}</text> | |
156 | + </template> | |
157 | + </view> | |
158 | + </template> | |
159 | + </view> | |
160 | + </view> | |
161 | + </view> | |
21 | 162 | <view class="choose"> |
22 | 163 | <view class="chooseItem_1 chooseItem"> |
23 | 164 | <UniCollapse @change="change(1)" > |
24 | - <UniCollapseItem open=true title="款式挑选" showAnimation=false> | |
25 | - <view class="chooseRes" v-show="!showChooseRes1">* {{chooseRes1}}</view> | |
26 | - <view class="chooseItem_1_content"> | |
27 | - <view class="itemsWrap"> | |
28 | - <view class="item1" | |
29 | - v-for="(item,index) in chooseItem1" | |
30 | - :key="index" | |
31 | - :style="item.style" | |
32 | - :class="{ active1: current1 === index }" | |
33 | - @click="onClickItem1(index)" | |
34 | - ></view> | |
35 | - </view> | |
36 | - </view> | |
37 | - </UniCollapseItem> | |
165 | + <UniCollapseItem open=true title="款式挑选" showAnimation=false> | |
166 | + <view class="chooseRes" v-show="show[1]">* {{chooseRes1}}</view> | |
167 | + <view class="chooseItem_1_content"> | |
168 | + <view class="itemsWrap"> | |
169 | + <view class="item1" | |
170 | + v-for="(item,index) in chooseItem1" | |
171 | + :key="index" | |
172 | + :style="item.style" | |
173 | + :class="{ active1: current1 === index }" | |
174 | + @click="onClickItem1(index)" | |
175 | + ></view> | |
176 | + </view> | |
177 | + </view> | |
178 | + </UniCollapseItem> | |
38 | 179 | </UniCollapse> |
39 | - <view class="chooseRes" v-show="showChooseRes1">* {{chooseRes1}}</view> | |
180 | + <view class="chooseRes" v-show="show[1]">* {{chooseRes1}}</view> | |
40 | 181 | </view> |
41 | 182 | <view class="chooseItem_2 chooseItem "> |
42 | 183 | <UniCollapse @change="change(2)" > |
43 | - <UniCollapseItem open=true title="直径" showAnimation=false> | |
44 | - <!-- <view class="chooseRes" v-show="!showChooseRes2">* {{chooseRes2}}</view> --> | |
45 | - <view class="chooseItem_1_content"> | |
46 | - <view class="itemsWrap"> | |
47 | - <view class="item2" | |
48 | - v-for="(item,index) in chooseItem2" | |
49 | - :key="index" | |
50 | - :class="{ active2: current2 === index }" | |
51 | - @click="onClickItem2(index)" | |
52 | - >{{item.num}}</view> | |
53 | - </view> | |
54 | - </view> | |
55 | - </UniCollapseItem> | |
184 | + <UniCollapseItem open=true title="直径" showAnimation=false> | |
185 | + <view class="chooseItem_1_content"> | |
186 | + <view class="itemsWrap"> | |
187 | + <view class="item2" | |
188 | + v-for="(item,index) in chooseItem2" | |
189 | + :key="index" | |
190 | + :class="{ active2: current2 === index }" | |
191 | + @click="onClickItem2(index)" | |
192 | + >{{item.num}}</view> | |
193 | + </view> | |
194 | + </view> | |
195 | + </UniCollapseItem> | |
56 | 196 | </UniCollapse> |
57 | - <view class="chooseRes" v-show="showChooseRes2">* {{chooseRes2}}</view> | |
197 | + <view class="chooseRes" v-show="show[2]">* {{chooseRes2}}</view> | |
58 | 198 | </view> |
59 | 199 | <view class="chooseItem_3 chooseItem"> |
60 | 200 | <UniCollapse @change="change(3)" > |
61 | - <UniCollapseItem open=true title="度数" showAnimation=false> | |
62 | - <!-- <view class="chooseRes" v-show="!showChooseRes3">* {{chooseRes3}}</view> --> | |
63 | - <view class="chooseItem_1_content"> | |
64 | - <view class="itemsWrap"> | |
65 | - <view class="item2" | |
66 | - v-for="(item,index) in chooseItem3" | |
67 | - :key="index" | |
68 | - :class="{ active2: current3 === index }" | |
69 | - @click="onClickItem3(index)" | |
70 | - >{{item}}</view> | |
71 | - </view> | |
72 | - </view> | |
73 | - </UniCollapseItem> | |
201 | + <UniCollapseItem open=true title="度数" showAnimation=false> | |
202 | + <view class="chooseItem_1_content"> | |
203 | + <view class="itemsWrap"> | |
204 | + <view class="item2" | |
205 | + v-for="(item,index) in chooseItem3" | |
206 | + :key="index" | |
207 | + :class="{ active2: current3 === index }" | |
208 | + @click="onClickItem3(index)" | |
209 | + >{{item}}</view> | |
210 | + </view> | |
211 | + </view> | |
212 | + </UniCollapseItem> | |
74 | 213 | </UniCollapse> |
75 | - <view class="chooseRes" v-show="showChooseRes3">* {{chooseRes3}}</view> | |
214 | + <view class="chooseRes" v-show="show[3]">* {{chooseRes3}}</view> | |
76 | 215 | </view> |
77 | 216 | </view> |
78 | 217 | <view class="button" @click="toComfirmOrder"> |
... | ... | @@ -84,105 +223,110 @@ |
84 | 223 | <script> |
85 | 224 | import UniCollapse from '@/components/UniCollapse/UniCollapse.vue' |
86 | 225 | import UniCollapseItem from '@/components/UniCollapseItem/UniCollapseItem.vue' |
226 | + import store from '@/store' | |
227 | + | |
87 | 228 | export default { |
88 | - components: {UniCollapse,UniCollapseItem}, | |
229 | + components: { | |
230 | + UniCollapse, | |
231 | + UniCollapseItem, | |
232 | + }, | |
89 | 233 | data() { |
90 | 234 | return { |
91 | - count:1, | |
92 | - maxCount:20, | |
93 | - addDisabled:false, | |
94 | - desDisabled:false, | |
95 | - current1:0, | |
96 | - current2:0, | |
97 | - current3:0, | |
98 | - showChooseRes1:false, | |
99 | - showChooseRes2:false, | |
100 | - showChooseRes3:false, | |
101 | - chooseRes1:'Miss 黑二代【减龄自然】', | |
102 | - chooseRes2:'14.0', | |
103 | - chooseRes3:0, | |
104 | - chooseItem1:[ | |
105 | - {style:"opacity: 0.7;background-image: radial-gradient(50% 148%, #ECEAEA 50%, #8D8C8C 100%);",describ:"Miss 黑1代【减龄自然】"}, | |
106 | - {style:"background-image: radial-gradient(50% 143%, #AEA8A8 45%, #624B3F 100%);",describ:"Miss 黑二代【防紫外线】"}, | |
107 | - {style:"background-image: radial-gradient(50% 148%, #FDF8F6 50%, #94380B 100%);",describ:"Miss 黑3代【防紫外线】"}, | |
108 | - {style:"background-image: radial-gradient(50% 148%, #FFFFFF 50%, #324A05 100%);",describ:"Miss 黑4代【防紫外线】"}, | |
109 | - {style:"background-image: radial-gradient(50% 143%, #AEA8A8 45%, #624B3F 100%);",describ:"Miss 黑5代【防紫外线】"}, | |
110 | - {style:"opacity: 0.7;background-image: radial-gradient(50% 150%, #F0EEE7 50%, #6F0838 100%);",describ:"Miss 黑6代【防紫外线】"}, | |
111 | - {style:"background-image: radial-gradient(50% 143%, #AEA8A8 45%, #370B4E 100%);",describ:"Miss 黑7代【防紫外线】"}, | |
112 | - {style:"background-image: radial-gradient(50% 148%, #FFFFFF 50%, #324A05 100%);",describ:"Miss 黑4代【防紫外线】"}, | |
113 | - {style:"background-image: radial-gradient(50% 143%, #AEA8A8 45%, #624B3F 100%);",describ:"Miss 黑5代【防紫外线】"}, | |
114 | - {style:"opacity: 0.7;background-image: radial-gradient(50% 150%, #F0EEE7 50%, #6F0838 100%);",describ:"Miss 黑6代【防紫外线】"}, | |
115 | - {style:"background-image: radial-gradient(50% 143%, #AEA8A8 45%, #370B4E 100%);",describ:"Miss 黑7代【防紫外线】"}, | |
116 | - {style:"background-image: radial-gradient(50% 148%, #FFFFFF 50%, #324A05 100%);",describ:"Miss 黑4代【防紫外线】"}, | |
117 | - {style:"background-image: radial-gradient(50% 143%, #AEA8A8 45%, #624B3F 100%);",describ:"Miss 黑5代【防紫外线】"}, | |
118 | - {style:"opacity: 0.7;background-image: radial-gradient(50% 150%, #F0EEE7 50%, #6F0838 100%);",describ:"Miss 黑6代【防紫外线】"}, | |
119 | - {style:"background-image: radial-gradient(50% 143%, #AEA8A8 45%, #370B4E 100%);",describ:"Miss 黑7代【防紫外线】"}, | |
235 | + count: 1, | |
236 | + maxCount: 20, | |
237 | + opIsOpen: true, | |
238 | + addDisabled: false, | |
239 | + desDisabled: false, | |
240 | + current1: 0, | |
241 | + current2: 0, | |
242 | + current3: 0, | |
243 | + actice: [-1, -1, -1], | |
244 | + show: [0, 0, 0, 0], | |
245 | + chooseRes1:{ | |
246 | + sku_name: 'Miss 黑二代【减龄自然】', | |
247 | + sk_id: '128', | |
248 | + }, | |
249 | + chooseRes2: '14.0', | |
250 | + chooseRes3: 0, | |
251 | + chooseItem1: [ | |
252 | + {style:"opacity: 0.7;background-image: radial-gradient(50% 148%, #ECEAEA 50%, #8D8C8C 100%);",describ:"Miss 黑1代【减龄自然】"}, | |
253 | + {style:"background-image: radial-gradient(50% 143%, #AEA8A8 45%, #624B3F 100%);",describ:"Miss 黑二代【防紫外线】"}, | |
254 | + {style:"background-image: radial-gradient(50% 148%, #FDF8F6 50%, #94380B 100%);",describ:"Miss 黑3代【防紫外线】"}, | |
255 | + {style:"background-image: radial-gradient(50% 148%, #FFFFFF 50%, #324A05 100%);",describ:"Miss 黑4代【防紫外线】"}, | |
256 | + {style:"background-image: radial-gradient(50% 143%, #AEA8A8 45%, #624B3F 100%);",describ:"Miss 黑5代【防紫外线】"}, | |
257 | + {style:"opacity: 0.7;background-image: radial-gradient(50% 150%, #F0EEE7 50%, #6F0838 100%);",describ:"Miss 黑6代【防紫外线】"}, | |
258 | + {style:"background-image: radial-gradient(50% 143%, #AEA8A8 45%, #370B4E 100%);",describ:"Miss 黑7代【防紫外线】"}, | |
259 | + {style:"background-image: radial-gradient(50% 148%, #FFFFFF 50%, #324A05 100%);",describ:"Miss 黑4代【防紫外线】"}, | |
260 | + {style:"background-image: radial-gradient(50% 143%, #AEA8A8 45%, #624B3F 100%);",describ:"Miss 黑5代【防紫外线】"}, | |
261 | + {style:"opacity: 0.7;background-image: radial-gradient(50% 150%, #F0EEE7 50%, #6F0838 100%);",describ:"Miss 黑6代【防紫外线】"}, | |
262 | + {style:"background-image: radial-gradient(50% 143%, #AEA8A8 45%, #370B4E 100%);",describ:"Miss 黑7代【防紫外线】"}, | |
263 | + {style:"background-image: radial-gradient(50% 148%, #FFFFFF 50%, #324A05 100%);",describ:"Miss 黑4代【防紫外线】"}, | |
264 | + {style:"background-image: radial-gradient(50% 143%, #AEA8A8 45%, #624B3F 100%);",describ:"Miss 黑5代【防紫外线】"}, | |
265 | + {style:"opacity: 0.7;background-image: radial-gradient(50% 150%, #F0EEE7 50%, #6F0838 100%);",describ:"Miss 黑6代【防紫外线】"}, | |
266 | + {style:"background-image: radial-gradient(50% 143%, #AEA8A8 45%, #370B4E 100%);",describ:"Miss 黑7代【防紫外线】"}, | |
120 | 267 | ], |
121 | 268 | chooseItem2:[ |
122 | - {num:"14.0"}, | |
123 | - {num:"14.2"}, | |
124 | - {num:"14.4"}, | |
125 | - {num:"14.5"}, | |
269 | + {num:"14.0"}, | |
270 | + {num:"14.2"}, | |
271 | + {num:"14.4"}, | |
272 | + {num:"14.5"}, | |
273 | + ], | |
274 | + chooseItem3:[0,100,125,150,175,200,225,250,275,300,325,350,375,400,425,450,470,500,525,550,575,600,1000], | |
275 | + // 度数相关数据 | |
276 | + pickerInfoList:[ | |
277 | + {nameC:"度数",nameE:"(SPH)",nameArray1:[1.5,2.5,3.5,4.5],nameIndex1:0,nameArray2:[1.5,2.5,3.5,4.5],nameIndex2:0,key:0}, | |
278 | + {nameC:"散光",nameE:"(CYL)",nameArray1:[1.5,2.5,3.5,4.5],nameIndex1:0,nameArray2:[1.5,2.5,3.5,4.5],nameIndex2:0,key:1}, | |
279 | + {nameC:"散光轴位",nameE:"(AXI)",nameArray1:[1.5,2.5,3.5,4.5],nameIndex1:0,nameArray2:[1.5,2.5,3.5,4.5],nameIndex2:0,key:2}, | |
280 | + {nameC:"双眼瞳距",nameE:"(PD)",nameArray1:[1.5,2.5,3.5,4.5],nameIndex1:0,nameArray2:[1.5,2.5,3.5,4.5],nameIndex2:0,key:3}, | |
281 | + {nameC:"验光日期",nameE:'',nameArray1:[2017,2018,2019,2020,2021],nameIndex1:0,nameArray2:[1,2,3,4,5,6,7],nameIndex2:0,nameArray3:[1,2,3,4,5,6],nameIndex3:0} | |
126 | 282 | ], |
127 | - chooseItem3:[0,100,125,150,175,200,225,250,275,300,325,350,375,400,425,450,470,500,525,550,575,600,1000] | |
128 | 283 | }; |
129 | 284 | }, |
285 | + computed: { | |
286 | + attrList() { | |
287 | + return this.$store.state.read.goodInfo.attrList; | |
288 | + }, | |
289 | + skuList() { | |
290 | + return this.$store.state.read.goodInfo.skuList; | |
291 | + }, | |
292 | + }, | |
293 | + onLoad() { | |
294 | + store.dispatch('read/fetch', { | |
295 | + pid: 9, | |
296 | + }); | |
297 | + }, | |
130 | 298 | methods:{ |
131 | - change(num){ | |
132 | - switch (num){ | |
133 | - case 1: | |
134 | - if(this.showChooseRes1===true){ | |
135 | - this.showChooseRes1 = false | |
136 | - }else{ | |
137 | - this.showChooseRes1 = true | |
138 | - } | |
139 | - break; | |
140 | - case 2: | |
141 | - if(this.showChooseRes2===true){ | |
142 | - this.showChooseRes2 = false | |
143 | - }else{ | |
144 | - this.showChooseRes2 = true | |
145 | - } | |
146 | - break; | |
147 | - case 3: | |
148 | - if(this.showChooseRes3===true){ | |
149 | - this.showChooseRes3 = false | |
150 | - }else{ | |
151 | - this.showChooseRes3 = true | |
152 | - } | |
153 | - break; | |
154 | - default: | |
155 | - break; | |
156 | - } | |
299 | + change(num) { | |
300 | + this.show[num] = this.show[num] ? false : true; | |
157 | 301 | }, |
158 | 302 | onClickItem1(index) { |
159 | - if (this.current1 !== index) { | |
303 | + if (this.current1 !== index) { | |
160 | 304 | this.current1 = index; |
161 | 305 | this.chooseRes1 =this.chooseItem1[index].describ |
162 | - } | |
306 | + } | |
163 | 307 | }, |
164 | 308 | onClickItem2(index) { |
165 | - if (this.current2 !== index) { | |
309 | + if (this.current2 !== index) { | |
166 | 310 | this.current2 = index; |
167 | 311 | this.chooseRes2 =this.chooseItem2[index].num |
168 | - } | |
312 | + } | |
169 | 313 | }, |
170 | 314 | onClickItem3(index) { |
171 | - if (this.current3 !== index) { | |
315 | + if (this.current3 !== index) { | |
172 | 316 | this.current3 = index; |
173 | 317 | this.chooseRes3 =this.chooseItem3[index] |
174 | - } | |
318 | + } | |
175 | 319 | }, |
176 | 320 | counter(isadd){ |
177 | - if(isadd){ | |
178 | - this.count >= this.maxCount? this.addDisabled = true:this.count++; | |
179 | - }else{ | |
180 | - this.count <= 1? this.desDisabled = true:this.count--; | |
321 | + if (isadd) { | |
322 | + this.count >= this.maxCount? this.addDisabled = true:this.count++; | |
323 | + } else { | |
324 | + this.count <= 1? this.desDisabled = true:this.count--; | |
181 | 325 | } |
182 | 326 | }, |
183 | 327 | toComfirmOrder(){ |
184 | 328 | uni.navigateTo({ |
185 | - url:'../confirmOrder/confirmOrder' | |
329 | + url:'../confirmOrder/confirmOrder' | |
186 | 330 | }) |
187 | 331 | } |
188 | 332 | } |
... | ... | @@ -190,7 +334,7 @@ |
190 | 334 | </script> |
191 | 335 | |
192 | 336 | <style lang="scss"> |
193 | - .content{ | |
337 | + .content { | |
194 | 338 | min-height: 100vh; |
195 | 339 | background-color: #F2F2F2; |
196 | 340 | // padding-top: 20rpx; |
... | ... | @@ -207,10 +351,10 @@ |
207 | 351 | .imageWrap{ |
208 | 352 | height: 188rpx; |
209 | 353 | width: 188rpx; |
210 | - margin-right: 28rpx; | |
354 | + margin-right: 28rpx; | |
211 | 355 | image{ |
212 | - height: 188rpx; | |
213 | - width: 188rpx; | |
356 | + height: 188rpx; | |
357 | + width: 188rpx; | |
214 | 358 | } |
215 | 359 | } |
216 | 360 | .infoRight{ |
... | ... | @@ -219,45 +363,212 @@ |
219 | 363 | align-items: flex-start; |
220 | 364 | justify-content: space-between; |
221 | 365 | .goodName{ |
222 | - font-size: 28rpx; | |
223 | - color: #333333; | |
366 | + font-size: 28rpx; | |
367 | + color: #333333; | |
224 | 368 | } |
225 | 369 | .remarks{ |
226 | - font-size: 20rpx; | |
227 | - color: #999999; | |
370 | + font-size: 20rpx; | |
371 | + color: #999999; | |
228 | 372 | } |
229 | 373 | .priceBox{ |
230 | - display: flex; | |
231 | - justify-content: space-between; | |
232 | - align-items: center; | |
233 | - width: 100%; | |
234 | - font-size: 14px; | |
235 | - color: #999999; | |
236 | - .price{ | |
237 | - color: #FF6B4A; | |
238 | - font-size: 28rpx; | |
239 | - } | |
240 | - .counter{ | |
241 | - display: flex; | |
242 | - flex-direction: row; | |
243 | - justify-content: space-between; | |
244 | - align-items: center; | |
245 | - font-size: 28rpx; | |
246 | - color: #333333; | |
247 | - width: 122rpx; | |
248 | - .btn{ | |
249 | - display: flex; | |
250 | - justify-content: center; | |
251 | - line-height: 32rpx; | |
252 | - height: 32rpx; | |
253 | - width: 32rpx; | |
254 | - background-color: #F2F2F2; | |
255 | - color: #CFCFCF; | |
256 | - } | |
257 | - } | |
258 | - } | |
374 | + display: flex; | |
375 | + justify-content: space-between; | |
376 | + align-items: center; | |
377 | + width: 100%; | |
378 | + font-size: 14px; | |
379 | + color: #999999; | |
380 | + .price{ | |
381 | + color: #FF6B4A; | |
382 | + font-size: 28rpx; | |
383 | + } | |
384 | + .counter{ | |
385 | + display: flex; | |
386 | + flex-direction: row; | |
387 | + justify-content: space-between; | |
388 | + align-items: center; | |
389 | + font-size: 28rpx; | |
390 | + color: #333333; | |
391 | + width: 122rpx; | |
392 | + .btn{ | |
393 | + display: flex; | |
394 | + justify-content: center; | |
395 | + line-height: 32rpx; | |
396 | + height: 32rpx; | |
397 | + width: 32rpx; | |
398 | + background-color: #F2F2F2; | |
399 | + color: #CFCFCF; | |
400 | + } | |
401 | + } | |
402 | + } | |
403 | + } | |
404 | + } | |
405 | + .goods-data{ | |
406 | + width: 100%; | |
407 | + box-sizing: border-box; | |
408 | + padding: 37rpx 40rpx 0 40rpx; | |
409 | + background: #FFFFFF; | |
410 | + border-radius: 12rpx; | |
411 | + .opCollapse{ | |
412 | + width: 100%; | |
413 | + padding-bottom: 28rpx; | |
414 | + margin-top: 7px; | |
415 | + border-bottom: 1px solid #E9E9E9; | |
416 | + .head{ | |
417 | + display: flex; | |
418 | + justify-content: space-between; | |
419 | + height: 24px; | |
420 | + // font-family: PingFangSC-Medium; | |
421 | + font-size: 16px; | |
422 | + color: #333333; | |
423 | + letter-spacing: -0.3px; | |
424 | + text-align: justify; | |
425 | + line-height: 24px; | |
426 | + margin-bottom: 18rpx; | |
427 | + .headRighted{ | |
428 | + width: 0; | |
429 | + height: 0; | |
430 | + border-left: 4px solid transparent; | |
431 | + border-right: 4px solid transparent; | |
432 | + border-bottom: 4px solid #CFCFCF; | |
433 | + transform: scaleY(-1); | |
434 | + margin-top: 10px; | |
435 | + } | |
436 | + .headMid{ | |
437 | + // font-family: PingFangSC-Regular; | |
438 | + font-size: 10px; | |
439 | + color: #999999; | |
440 | + letter-spacing: -0.19px; | |
441 | + margin-left: -120rpx; | |
442 | + } | |
443 | + .headRight{ | |
444 | + width: 0; | |
445 | + height: 0; | |
446 | + border-left: 4px solid transparent; | |
447 | + border-right: 4px solid transparent; | |
448 | + border-bottom: 4px solid #CFCFCF; | |
449 | + margin-top: 10px; | |
450 | + } | |
451 | + } | |
452 | + .body{ | |
453 | + // font-family: PingFangSC-Regular; | |
454 | + font-size: 12px; | |
455 | + color: #666666; | |
456 | + letter-spacing: 0; | |
457 | + .bodyBox{ | |
458 | + margin-top: 15px; | |
459 | + .names{ | |
460 | + // font-family: PingFangSC-Regular; | |
461 | + font-size: 12px; | |
462 | + color: #151515; | |
463 | + letter-spacing: 0; | |
464 | + text-align: justify; | |
465 | + line-height: 17px; | |
466 | + margin-left: 5px; | |
467 | + margin-right: 10px; | |
468 | + } | |
469 | + text{ | |
470 | + // font-family: PingFangSC-Regular; | |
471 | + font-size: 12px; | |
472 | + color: #666666; | |
473 | + letter-spacing: 0; | |
474 | + text-align: justify; | |
475 | + } | |
476 | + } | |
477 | + } | |
478 | + .goods-form { | |
479 | + display: flex; | |
480 | + flex-direction: column; | |
481 | + align-items: center; | |
482 | + justify-content: center; | |
483 | + background-color: #fff; | |
484 | + width: 100%; | |
485 | + .p1 { | |
486 | + font-size: 16px; | |
487 | + color: #333333; | |
488 | + letter-spacing: -0.3px; | |
489 | + text-align: justify; | |
490 | + line-height: 24px; | |
491 | + margin: 4px 0; | |
492 | + } | |
493 | + .p2 { | |
494 | + font-size: 12px; | |
495 | + color: #999999; | |
496 | + letter-spacing: -0.23px; | |
497 | + margin-bottom: 18rpx; | |
498 | + } | |
499 | + image{ | |
500 | + width: 28rpx; | |
501 | + height: 26rpx; | |
502 | + } | |
503 | + .confirm { | |
504 | + display: flex; | |
505 | + align-items: center; | |
506 | + font-size: 12px; | |
507 | + color: #666666; | |
508 | + letter-spacing: -0.23px; | |
509 | + width: 684rpx; | |
510 | + image{ | |
511 | + margin-right:25rpx; | |
512 | + } | |
513 | + } | |
514 | + .picker{ | |
515 | + display: flex; | |
516 | + flex-direction: column; | |
517 | + justify-content: center; | |
518 | + align-items: center; | |
519 | + width: 100%; | |
520 | + image{ | |
521 | + width: 10px; | |
522 | + height: 10px; | |
523 | + margin-right: 5px; | |
524 | + } | |
525 | + .picker-choice{ | |
526 | + display: flex; | |
527 | + width: 684rpx; | |
528 | + align-items: center; | |
529 | + margin-bottom: 40rpx; | |
530 | + .choice-left{ | |
531 | + width: 210rpx; | |
532 | + .p11 { | |
533 | + font-size: 14px; | |
534 | + color: #333333; | |
535 | + letter-spacing: -0.26px; | |
536 | + text-align: justify; | |
537 | + line-height: 24px; | |
538 | + } | |
539 | + .p12 { | |
540 | + font-size: 10px; | |
541 | + color: #3F3F3F; | |
542 | + letter-spacing: -0.19px; | |
543 | + text-align: justify; | |
544 | + line-height: 24px; | |
545 | + } | |
546 | + } | |
547 | + .p13 { | |
548 | + font-size: 10px; | |
549 | + color: #999999; | |
550 | + letter-spacing: -0.19px; | |
551 | + margin-right: 10px; | |
552 | + } | |
553 | + .p13-date { | |
554 | + font-size: 10px; | |
555 | + color: #999999; | |
556 | + letter-spacing: -0.19px; | |
557 | + margin-right: 5px; | |
558 | + } | |
559 | + .p14 { | |
560 | + font-size: 14px; | |
561 | + color: #666666; | |
562 | + letter-spacing: -0.26px; | |
563 | + text-align: center; | |
564 | + width: 124rpx; | |
565 | + border-bottom: 1px solid #CFCFCF; | |
566 | + } | |
567 | + } | |
568 | + } | |
259 | 569 | } |
260 | 570 | } |
571 | + } | |
261 | 572 | .choose{ |
262 | 573 | width: 100%; |
263 | 574 | background: #FFFFFF; | ... | ... |
src/static/icon-data.png
1.01 KB
src/static/icon-pen.png
896 Bytes
src/store/modules/address.js
... | ... | @@ -0,0 +1,71 @@ |
1 | +import urlAlias from '../url' | |
2 | +import request from '../request' | |
3 | + | |
4 | +const { editAddress, addressList, getAddress } = urlAlias | |
5 | + | |
6 | +const state = { list: [], detail: {} } | |
7 | + | |
8 | +const mutations = { | |
9 | + LIST: (state, list) => { | |
10 | + state.list = list | |
11 | + }, | |
12 | + DETAILS: (state, details) => { | |
13 | + state.details = details | |
14 | + } | |
15 | +} | |
16 | + | |
17 | +const actions = { | |
18 | + edit(mutations, param, success) { | |
19 | + request({ | |
20 | + url: editAddress, | |
21 | + data: param, | |
22 | + success, | |
23 | + fail: () => { | |
24 | + uni.showModal({ | |
25 | + content: '编辑失败', | |
26 | + showCancel: false | |
27 | + }) | |
28 | + }, | |
29 | + complete: (res) => { | |
30 | + console.log('complete status === > ', res) | |
31 | + } | |
32 | + }) | |
33 | + }, | |
34 | + list({ commit }) { | |
35 | + request({ | |
36 | + url: addressList, | |
37 | + success: (res) => { | |
38 | + commit('LIST', res.data.data) | |
39 | + }, | |
40 | + fail: () => { | |
41 | + uni.showModal({ | |
42 | + content: '获取地址列表失败', | |
43 | + showCancel: false | |
44 | + }) | |
45 | + } | |
46 | + }) | |
47 | + }, | |
48 | + details({ commit }, param, execute) { | |
49 | + return new Promise((resolve, reject) => request({ | |
50 | + url: getAddress, | |
51 | + data: param, | |
52 | + success: (res) => { | |
53 | + commit('DETAILS', res.data.data) | |
54 | + resolve() | |
55 | + }, | |
56 | + fail: () => { | |
57 | + uni.showModal({ | |
58 | + content: '获取地址信息失败', | |
59 | + showCancel: false | |
60 | + }) | |
61 | + } | |
62 | + })) | |
63 | + } | |
64 | +} | |
65 | + | |
66 | +export default { | |
67 | + namespaced: true, | |
68 | + state, | |
69 | + mutations, | |
70 | + actions | |
71 | +} | ... | ... |
src/store/modules/cart.js
1 | -import urlAlias from '../url'; | |
2 | -import request from '../request'; | |
1 | +import urlAlias from '../url' | |
2 | +import request from '../request' | |
3 | 3 | |
4 | -const { cartList , cartModi, cartDel, cartAdd } = urlAlias; | |
4 | +const { cartList, cartModi, cartDel, cartAdd } = urlAlias | |
5 | 5 | |
6 | 6 | const state = { |
7 | - cartList: [], | |
8 | -}; | |
9 | - | |
10 | - | |
11 | -const data = { | |
12 | - data:{ | |
13 | - // list 购物车列表 | |
14 | - list:[ | |
15 | - { | |
16 | - goods_name: "1.56非球面防蓝光_黑01-8701志平防蓝光-防辐射电脑网课眼镜,TR90弹性漆,近视镜,青春潮流", //商品名称 | |
17 | - pid: "6",//产品id | |
18 | - real_price: 99, | |
19 | - checked: true,//是否选中 | |
20 | - name: "颜色 玫瑰金 /材质 钛合金 / 功能 防日光 / 配件 免费送 /折射防日光 / 配件 免费送 /折射",//属性名称 ,颜色 玫瑰金 /材质 钛合金 / 功能 防日光 / 配件 免费送 /折射 … | |
21 | - cart_id: "39", //购物车唯一序列号 | |
22 | - num: "1", //此购物 | |
23 | - pics: "/static/myorder-paying-pic.png", //商品图片 | |
24 | - goodsType:2,// 商品种类 | |
25 | - }, | |
26 | - { | |
27 | - goods_name: "1.56非球面防蓝光_黑01-8701志平防蓝光-防辐射电脑网课眼镜,TR90弹性漆,近视镜,青春潮流", //商品名称 | |
28 | - pid: "4",//产品id | |
29 | - real_price: 189, | |
30 | - checked: false,//是否选中 | |
31 | - name: "颜色 玫瑰金 /材质 钛合金 / 功能 防日光 / 配件 免费送 /折射防日光 / 配件 免费送 /折射",//属性名称 ,颜色 玫瑰金 /材质 钛合金 / 功能 防日光 / 配件 免费送 /折射 … | |
32 | - cart_id: "38", //购物车唯一序列号 | |
33 | - num: "2", //此购物 | |
34 | - pics: "/static/myorder-paying-pic.png", //商品图片 | |
35 | - goodsType:3,// 商品种类 | |
36 | - }, | |
37 | - ], | |
38 | - mp_id: "1", | |
39 | - mp_list://使用人,一个产品只有一个使用人 | |
40 | - [ | |
41 | - { | |
42 | - glassWidth: "54",//镜宽 | |
43 | - img_url2: "http://localhost:8087/images/shop_1/1/",//使用人的头像,根据此头像,AI识别出数据。 | |
44 | - in_time: "2020-02-22 03:19:38",//使用人加入的时间 | |
45 | - leftAxi: "124",//左眼数据 | |
46 | - leftCyl: "-2",//左眼数据 | |
47 | - leftSph: "-1",//左眼数据 | |
48 | - leftVis: "5",//左眼数据 | |
49 | - legWidth: "158",//镜腿长 | |
50 | - metal: null,//使用人的其它定义(材质过敏之类的) | |
51 | - mp_id: "1",//使用的id | |
52 | - name: "me",//使用人的名字 | |
53 | - norseWidth: "18",//鼻宽 | |
54 | - pd: "89.6",//瞳距 | |
55 | - price: "0",//此人偏好的价格 | |
56 | - rightAxi: "123",//右眼数据 | |
57 | - rightCyl: "24",//右眼数据 | |
58 | - rightSph: "-4",//右眼数据 | |
59 | - rightVis: "5.1",//右眼数据 | |
60 | - uid: "1",//购买人的uid | |
61 | - } | |
62 | - ], | |
63 | - sk_id: "80",//此产品下的sku的唯一id | |
64 | - skuList:[//sku清单 | |
65 | - { | |
66 | - discount: "45",//折扣,数据库中以int型存储,所以要除100 | |
67 | - in_price: "6000",//进货价格,数据库中以int型存储,单位是分,所以显示时要除以100 | |
68 | - kc: "0",//库存 | |
69 | - model_pic: null,//模型试戴图 | |
70 | - out_price: 191.8,//销售价格,元 | |
71 | - pic: "https://glass.xiuyetang.com//upload_jk/6/6_321EB1.jpg",//可供查看图 | |
72 | - pid: "6",//索引产品id | |
73 | - real_price: 99,//真实可成交价格 | |
74 | - sk_id: "74",//成交时的sku_id | |
75 | - sku_name: "1.56非球面防蓝光_黑色",//sku名称 | |
76 | - sku_shop_value: "",//sku商家定义值 | |
77 | - sku_value: "47_51",//sku系统生成值 | |
78 | - status: "1",//此产品下的sku状态 | |
79 | - } | |
80 | - ] | |
81 | - }, // 一个产品下,会有多个sku,都在这个skuList数组下 | |
82 | - msg: "ok", | |
83 | - status: 1, | |
7 | + cartList: [] | |
84 | 8 | } |
85 | 9 | |
10 | +// const data = { | |
11 | +// data: { | |
12 | +// // list 购物车列表 | |
13 | +// list: [ | |
14 | +// { | |
15 | +// goods_name: '1.56非球面防蓝光_黑01-8701志平防蓝光-防辐射电脑网课眼镜,TR90弹性漆,近视镜,青春潮流', // 商品名称 | |
16 | +// pid: '6', // 产品id | |
17 | +// real_price: 99, | |
18 | +// checked: true, // 是否选中 | |
19 | +// name: '颜色 玫瑰金 /材质 钛合金 / 功能 防日光 / 配件 免费送 /折射防日光 / 配件 免费送 /折射', // 属性名称 ,颜色 玫瑰金 /材质 钛合金 / 功能 防日光 / 配件 免费送 /折射 … | |
20 | +// cart_id: '39', // 购物车唯一序列号 | |
21 | +// num: '1', // 此购物 | |
22 | +// pics: '/static/myorder-paying-pic.png', // 商品图片 | |
23 | +// goodsType: 2 // 商品种类 | |
24 | +// }, | |
25 | +// { | |
26 | +// goods_name: '1.56非球面防蓝光_黑01-8701志平防蓝光-防辐射电脑网课眼镜,TR90弹性漆,近视镜,青春潮流', // 商品名称 | |
27 | +// pid: '4', // 产品id | |
28 | +// real_price: 189, | |
29 | +// checked: false, // 是否选中 | |
30 | +// name: '颜色 玫瑰金 /材质 钛合金 / 功能 防日光 / 配件 免费送 /折射防日光 / 配件 免费送 /折射', // 属性名称 ,颜色 玫瑰金 /材质 钛合金 / 功能 防日光 / 配件 免费送 /折射 … | |
31 | +// cart_id: '38', // 购物车唯一序列号 | |
32 | +// num: '2', // 此购物 | |
33 | +// pics: '/static/myorder-paying-pic.png', // 商品图片 | |
34 | +// goodsType: 3 // 商品种类 | |
35 | +// } | |
36 | +// ], | |
37 | +// mp_id: '1', | |
38 | +// mp_list: // 使用人,一个产品只有一个使用人 | |
39 | +// [ | |
40 | +// { | |
41 | +// glassWidth: '54', // 镜宽 | |
42 | +// img_url2: 'http://localhost:8087/images/shop_1/1/', // 使用人的头像,根据此头像,AI识别出数据。 | |
43 | +// in_time: '2020-02-22 03:19:38', // 使用人加入的时间 | |
44 | +// leftAxi: '124', // 左眼数据 | |
45 | +// leftCyl: '-2', // 左眼数据 | |
46 | +// leftSph: '-1', // 左眼数据 | |
47 | +// leftVis: '5', // 左眼数据 | |
48 | +// legWidth: '158', // 镜腿长 | |
49 | +// metal: null, // 使用人的其它定义(材质过敏之类的) | |
50 | +// mp_id: '1', // 使用的id | |
51 | +// name: 'me', // 使用人的名字 | |
52 | +// norseWidth: '18', // 鼻宽 | |
53 | +// pd: '89.6', // 瞳距 | |
54 | +// price: '0', // 此人偏好的价格 | |
55 | +// rightAxi: '123', // 右眼数据 | |
56 | +// rightCyl: '24', // 右眼数据 | |
57 | +// rightSph: '-4', // 右眼数据 | |
58 | +// rightVis: '5.1', // 右眼数据 | |
59 | +// uid: '1' // 购买人的uid | |
60 | +// } | |
61 | +// ], | |
62 | +// sk_id: '80', // 此产品下的sku的唯一id | |
63 | +// skuList: [// sku清单 | |
64 | +// { | |
65 | +// discount: '45', // 折扣,数据库中以int型存储,所以要除100 | |
66 | +// in_price: '6000', // 进货价格,数据库中以int型存储,单位是分,所以显示时要除以100 | |
67 | +// kc: '0', // 库存 | |
68 | +// model_pic: null, // 模型试戴图 | |
69 | +// out_price: 191.8, // 销售价格,元 | |
70 | +// pic: 'https://glass.xiuyetang.com//upload_jk/6/6_321EB1.jpg', // 可供查看图 | |
71 | +// pid: '6', // 索引产品id | |
72 | +// real_price: 99, // 真实可成交价格 | |
73 | +// sk_id: '74', // 成交时的sku_id | |
74 | +// sku_name: '1.56非球面防蓝光_黑色', // sku名称 | |
75 | +// sku_shop_value: '', // sku商家定义值 | |
76 | +// sku_value: '47_51', // sku系统生成值 | |
77 | +// status: '1' // 此产品下的sku状态 | |
78 | +// } | |
79 | +// ] | |
80 | +// }, // 一个产品下,会有多个sku,都在这个skuList数组下 | |
81 | +// msg: 'ok', | |
82 | +// status: 1 | |
83 | +// } | |
84 | + | |
86 | 85 | const mutations = { |
87 | 86 | INIT: (state, cartList) => { |
88 | - state.cartList = cartList; | |
89 | - }, | |
90 | - DEL:(state,index)=>{ | |
91 | - console.log('mutations====>',state.cartList) | |
92 | - state.cartList.splice(index,1) | |
93 | - console.log('mutations====>index',index) | |
94 | - // state.cartList=delList | |
87 | + state.cartList = cartList | |
95 | 88 | }, |
96 | - MODI:(state,args) => { | |
97 | - console.log('the num',state.cartList[args.index].num) | |
98 | - console.log('mutations====>isadd',args) | |
99 | - if(args.isadd) | |
100 | - { | |
101 | - state.cartList[args.index].num=args.num | |
102 | - } else{ | |
103 | - state.cartList[args.index].num=args.num | |
104 | - } | |
105 | - console.log('the num',state.cartList[args.index].num) | |
89 | + DEL: (state, index) => { | |
90 | + console.log('mutations====>', state.cartList) | |
91 | + state.cartList.splice(index, 1) | |
92 | + console.log('mutations====>index', index) | |
93 | + // state.cartList=delList | |
106 | 94 | }, |
107 | - | |
108 | -}; | |
95 | + MODI: (state, args) => { | |
96 | + console.log('the num', state.cartList[args.index].num) | |
97 | + console.log('mutations====>isadd', args) | |
98 | + if (args.isadd) { | |
99 | + state.cartList[args.index].num = args.num | |
100 | + } else { | |
101 | + state.cartList[args.index].num = args.num | |
102 | + } | |
103 | + console.log('the num', state.cartList[args.index].num) | |
104 | + } | |
105 | + | |
106 | +} | |
109 | 107 | |
110 | 108 | const actions = { |
111 | - | |
112 | - getCartList({ commit }, param) { | |
113 | - request({ | |
114 | - url: cartList, | |
115 | - data:param, | |
116 | - success: (res) => { | |
117 | - console.log('cart===>接口数据',res.data.data) | |
118 | - // const resData = { | |
119 | - // ...res, | |
120 | - // data, | |
121 | - // } | |
122 | - commit('INIT', res.data.data) | |
123 | - }, | |
124 | - fail: (res) => { | |
125 | - console.log("fail status === > ", res); | |
126 | - }, | |
127 | - complete: (res) => { | |
128 | - console.log("complete status === > ", res); | |
129 | - }, | |
130 | - }) | |
131 | - }, | |
132 | - | |
133 | - modiCart({ commit }, param) { | |
134 | - const args=Object.assign({num:param.num},param.args) | |
135 | - delete param.args | |
136 | - request({ | |
137 | - url: cartModi, | |
138 | - data: param, | |
139 | - success: (res) => { | |
140 | - console.log('modi-parm',param) | |
141 | - commit('MODI',args) | |
142 | - }, | |
143 | - fail: (res) => { | |
144 | - console.log("fail status === > ", res); | |
145 | - }, | |
146 | - complete: (res) => { | |
147 | - console.log("complete status === > ", res); | |
148 | - }, | |
149 | - }) | |
150 | - }, | |
151 | - | |
152 | - delCart({ commit },param ) { | |
153 | - let arg = param.arg; | |
154 | - delete param.arg | |
155 | - request({ | |
156 | - url: cartDel, | |
157 | - data: param, | |
158 | - success: (res) => { | |
159 | - console.log('del-parm',param) | |
160 | - console.log('del-myparms==>',arg) | |
161 | - // console.log('deacart====>cartList',this.$store.state.cart.cartList) | |
162 | - | |
163 | - commit('DEL',arg) | |
164 | - }, | |
165 | - fail: (res) => { | |
166 | - console.log("fail status === > ", res); | |
167 | - }, | |
168 | - complete: (res) => { | |
169 | - console.log("complete status === > ", res); | |
170 | - }, | |
171 | - }) | |
172 | - }, | |
173 | - | |
174 | - addCart({ commit }, param) { | |
175 | - console.log('请求接口开始') | |
176 | - request({ | |
177 | - url: cartAdd, | |
178 | - data:param, | |
179 | - success: (res) => { | |
180 | - console.log('add-parm',param) | |
181 | - console.log('addcart===>res.data===>',res.data) | |
182 | - // commit('INIT', res.data.data) | |
183 | - }, | |
184 | - fail: (res) => { | |
185 | - console.log("fail status === > ", res); | |
186 | - }, | |
187 | - complete: (res) => { | |
188 | - console.log("complete status === > ", res); | |
189 | - }, | |
190 | - }) | |
191 | - }, | |
192 | - | |
109 | + getCartList({ commit }, param) { | |
110 | + request({ | |
111 | + url: cartList, | |
112 | + data: param, | |
113 | + success: (res) => { | |
114 | + console.log('cart===>接口数据', res.data.data) | |
115 | + // const resData = { | |
116 | + // ...res, | |
117 | + // data, | |
118 | + // } | |
119 | + commit('INIT', res.data.data) | |
120 | + }, | |
121 | + fail: (res) => { | |
122 | + console.log('fail status === > ', res) | |
123 | + }, | |
124 | + complete: (res) => { | |
125 | + console.log('complete status === > ', res) | |
126 | + } | |
127 | + }) | |
128 | + }, | |
129 | + | |
130 | + modiCart({ commit }, param) { | |
131 | + const args = Object.assign({ num: param.num }, param.args) | |
132 | + delete param.args | |
133 | + request({ | |
134 | + url: cartModi, | |
135 | + data: param, | |
136 | + success: (res) => { | |
137 | + console.log('modi-parm', param) | |
138 | + commit('MODI', args) | |
139 | + }, | |
140 | + fail: (res) => { | |
141 | + console.log('fail status === > ', res) | |
142 | + }, | |
143 | + complete: (res) => { | |
144 | + console.log('complete status === > ', res) | |
145 | + } | |
146 | + }) | |
147 | + }, | |
148 | + | |
149 | + delCart({ commit }, param) { | |
150 | + const arg = param.arg | |
151 | + delete param.arg | |
152 | + request({ | |
153 | + url: cartDel, | |
154 | + data: param, | |
155 | + success: (res) => { | |
156 | + console.log('del-parm', param) | |
157 | + console.log('del-myparms==>', arg) | |
158 | + // console.log('deacart====>cartList',this.$store.state.cart.cartList) | |
159 | + | |
160 | + commit('DEL', arg) | |
161 | + }, | |
162 | + fail: (res) => { | |
163 | + console.log('fail status === > ', res) | |
164 | + }, | |
165 | + complete: (res) => { | |
166 | + console.log('complete status === > ', res) | |
167 | + } | |
168 | + }) | |
169 | + }, | |
170 | + | |
171 | + addCart({ commit }, param) { | |
172 | + console.log('请求接口开始') | |
173 | + request({ | |
174 | + url: cartAdd, | |
175 | + data: param, | |
176 | + success: (res) => { | |
177 | + console.log('add-parm', param) | |
178 | + console.log('addcart===>res.data===>', res.data) | |
179 | + // commit('INIT', res.data.data) | |
180 | + }, | |
181 | + fail: (res) => { | |
182 | + console.log('fail status === > ', res) | |
183 | + }, | |
184 | + complete: (res) => { | |
185 | + console.log('complete status === > ', res) | |
186 | + } | |
187 | + }) | |
188 | + } | |
189 | + | |
193 | 190 | } |
194 | 191 | |
195 | 192 | export default { |
196 | 193 | namespaced: true, |
197 | 194 | state, |
198 | 195 | mutations, |
199 | - actions, | |
200 | -}; | |
201 | 196 | \ No newline at end of file |
197 | + actions | |
198 | +} | ... | ... |
src/store/modules/read.js
... | ... | @@ -6,12 +6,13 @@ |
6 | 6 | } = urlAlias; |
7 | 7 | |
8 | 8 | const state = { |
9 | - goodInfo: [], | |
9 | + goodInfo: {}, | |
10 | 10 | }; |
11 | 11 | |
12 | 12 | const mutations = { |
13 | 13 | INIT: (state, goodInfo) => { |
14 | 14 | state.goodInfo = goodInfo; |
15 | + | |
15 | 16 | }, |
16 | 17 | }; |
17 | 18 | |
... | ... | @@ -19,6 +20,7 @@ const actions = { |
19 | 20 | fetch({ commit }, param) { |
20 | 21 | request({ |
21 | 22 | url: read, |
23 | + data: param, | |
22 | 24 | success: (res) => { |
23 | 25 | commit('INIT', res.data.data) |
24 | 26 | }, | ... | ... |
src/store/request.js
src/store/url.js
1 | 1 | const urlAlias = { |
2 | - // 获取商品信息 | |
3 | - read: '/app/prod/read', | |
2 | + // 详情 | |
3 | + read: '/app/prod/read', // 获取商品信息 | |
4 | 4 | |
5 | 5 | // 首页 |
6 | 6 | shopList: '/app/prod/list', // 获取首页商品列表 |
... | ... | @@ -11,31 +11,36 @@ const urlAlias = { |
11 | 11 | login: '/app/glass/getOpenId', // 登陆 |
12 | 12 | getUserInfo: '/app/glass/userinfo', // 获取用户信息 |
13 | 13 | |
14 | - // 我的订单 | |
15 | - myOrderList: '/app/order/list3', // 获取订单列表 | |
16 | - orderRead: '/app/order/read', // 获取订单详情 | |
17 | - cancelOrder: '/app/order/wait/del',//取消订单 | |
18 | - statusConfirm: '/app/order/statusConfirm',//订单操作 | |
19 | - payLog:'/app/pay/log',//调起支付 | |
20 | - | |
21 | - // 购物车 | |
22 | - cartList: '/app/cart/list', // 获取购物车列表 | |
23 | - cartModi: '/app/cart/modi', // 修改购物车 | |
24 | - cartDel: '/app/cart/del', // 删除购物车 | |
25 | - cartAdd: '/app/cart/add',// 添加购物车 | |
26 | - | |
27 | - // 我的 | |
28 | - recommandList:'/app/prod/recommand', // 获取用户个性化推荐商品 | |
29 | - | |
14 | + // 我的订单 | |
15 | + orderList: '/app/order/list', // 获取订单列表 | |
16 | + myOrderList: '/app/order/list3', // 获取订单列表 | |
17 | + orderRead: '/app/order/read', // 获取订单详情 | |
18 | + cancelOrder: '/app/order/wait/del', // 取消订单 | |
19 | + statusConfirm: '/app/order/statusConfirm', // 订单操作 | |
20 | + payLog: '/app/pay/log', // 调起支付 | |
21 | + | |
22 | + // 购物车 | |
23 | + cartList: '/app/cart/list', // 获取购物车列表 | |
24 | + cartModi: '/app/cart/modi', // 修改购物车 | |
25 | + cartDel: '/app/cart/del', // 删除购物车 | |
26 | + cartAdd: '/app/cart/add', // 添加购物车 | |
27 | + | |
28 | + // 我的 | |
29 | + recommandList: '/app/prod/recommand', // 获取用户个性化推荐商品 | |
30 | + | |
30 | 31 | // 镜框选购页 |
31 | - detailStandardList: '/app/prod/read', //获取商品的详细信息 | |
32 | - // 选购页 | |
33 | - detailStandardUrl: '/app/prod/read', //获取商品的详细信息 | |
34 | - | |
35 | - //用户数据 | |
36 | - mylovelist:'/app/user/mylovelist',//关心的人的数据 | |
37 | - myloveadd:'/app/user/myloveadd'//添加关心的人 | |
38 | - | |
32 | + detailStandardList: '/app/prod/read', // 获取商品的详细信息 | |
33 | + // 选购页 | |
34 | + detailStandardUrl: '/app/prod/read', // 获取商品的详细信息 | |
35 | + | |
36 | + // 地址管理 | |
37 | + editAddress: '/app/address/edit_address', // 编辑地址 | |
38 | + addressList: '/app/address/get_address_list', // 获取用户地址列表 | |
39 | + getAddress: '/app/address/get_address_by_id', // 获取用户某一地址信息 | |
40 | + | |
41 | + // 用户数据 | |
42 | + mylovelist: '/app/user/mylovelist', // 关心的人的数据 | |
43 | + myloveadd: '/app/user/myloveadd' // 添加关心的人 | |
39 | 44 | } |
40 | 45 | |
41 | -export default urlAlias; | |
46 | +export default urlAlias | ... | ... |