Commit c3a3eedbf338c2d01d110ccc0c5fe4ab39cca116
1 parent
793dde09
更新
Showing
13 changed files
with
1157 additions
and
976 deletions
Too many changes to show.
To preserve performance only 13 of 15 files are displayed.
.idea/.gitignore
0 → 100644
.idea/garbage-removal.iml
0 → 100644
| 1 | +<?xml version="1.0" encoding="UTF-8"?> | |
| 2 | +<module type="JAVA_MODULE" version="4"> | |
| 3 | + <component name="NewModuleRootManager" inherit-compiler-output="true"> | |
| 4 | + <exclude-output /> | |
| 5 | + <content url="file://$MODULE_DIR$" /> | |
| 6 | + <orderEntry type="inheritedJdk" /> | |
| 7 | + <orderEntry type="sourceFolder" forTests="false" /> | |
| 8 | + </component> | |
| 9 | +</module> | |
| 0 | 10 | \ No newline at end of file | ... | ... |
.idea/misc.xml
0 → 100644
| 1 | +<?xml version="1.0" encoding="UTF-8"?> | |
| 2 | +<project version="4"> | |
| 3 | + <component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" default="true" project-jdk-name="zulu-1.8" project-jdk-type="JavaSDK"> | |
| 4 | + <output url="file://$PROJECT_DIR$/out" /> | |
| 5 | + </component> | |
| 6 | +</project> | |
| 0 | 7 | \ No newline at end of file | ... | ... |
.idea/modules.xml
0 → 100644
| 1 | +<?xml version="1.0" encoding="UTF-8"?> | |
| 2 | +<project version="4"> | |
| 3 | + <component name="ProjectModuleManager"> | |
| 4 | + <modules> | |
| 5 | + <module fileurl="file://$PROJECT_DIR$/.idea/garbage-removal.iml" filepath="$PROJECT_DIR$/.idea/garbage-removal.iml" /> | |
| 6 | + </modules> | |
| 7 | + </component> | |
| 8 | +</project> | |
| 0 | 9 | \ No newline at end of file | ... | ... |
.idea/vcs.xml
0 → 100644
garbage-removal/.env.dev
garbage-removal/.env.local
garbage-removal/package-lock.json
| ... | ... | @@ -22,6 +22,7 @@ |
| 22 | 22 | "@dcloudio/uni-mp-weixin": "3.0.0-3090620231104002", |
| 23 | 23 | "@dcloudio/uni-mp-xhs": "3.0.0-3090620231104002", |
| 24 | 24 | "@dcloudio/uni-quickapp-webview": "3.0.0-3090620231104002", |
| 25 | + "axios": "^0.27.2", | |
| 25 | 26 | "clipboard": "^2.0.11", |
| 26 | 27 | "dayjs": "^1.11.10", |
| 27 | 28 | "js-md5": "^0.8.3", |
| ... | ... | @@ -4592,9 +4593,7 @@ |
| 4592 | 4593 | "node_modules/asynckit": { |
| 4593 | 4594 | "version": "0.4.0", |
| 4594 | 4595 | "resolved": "https://registry.npmmirror.com/asynckit/-/asynckit-0.4.0.tgz", |
| 4595 | - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", | |
| 4596 | - "dev": true, | |
| 4597 | - "peer": true | |
| 4596 | + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" | |
| 4598 | 4597 | }, |
| 4599 | 4598 | "node_modules/autoprefixer": { |
| 4600 | 4599 | "version": "10.4.16", |
| ... | ... | @@ -4633,6 +4632,29 @@ |
| 4633 | 4632 | "postcss": "^8.1.0" |
| 4634 | 4633 | } |
| 4635 | 4634 | }, |
| 4635 | + "node_modules/axios": { | |
| 4636 | + "version": "0.27.2", | |
| 4637 | + "resolved": "https://registry.npmmirror.com/axios/-/axios-0.27.2.tgz", | |
| 4638 | + "integrity": "sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ==", | |
| 4639 | + "dependencies": { | |
| 4640 | + "follow-redirects": "^1.14.9", | |
| 4641 | + "form-data": "^4.0.0" | |
| 4642 | + } | |
| 4643 | + }, | |
| 4644 | + "node_modules/axios/node_modules/form-data": { | |
| 4645 | + "version": "4.0.2", | |
| 4646 | + "resolved": "https://registry.npmmirror.com/form-data/-/form-data-4.0.2.tgz", | |
| 4647 | + "integrity": "sha512-hGfm/slu0ZabnNt4oaRZ6uREyfCj6P4fT/n6A1rGV+Z0VdGXjfOhVUpkn6qVQONHGIFwmveGXyDs75+nr6FM8w==", | |
| 4648 | + "dependencies": { | |
| 4649 | + "asynckit": "^0.4.0", | |
| 4650 | + "combined-stream": "^1.0.8", | |
| 4651 | + "es-set-tostringtag": "^2.1.0", | |
| 4652 | + "mime-types": "^2.1.12" | |
| 4653 | + }, | |
| 4654 | + "engines": { | |
| 4655 | + "node": ">= 6" | |
| 4656 | + } | |
| 4657 | + }, | |
| 4636 | 4658 | "node_modules/babel-jest": { |
| 4637 | 4659 | "version": "27.5.1", |
| 4638 | 4660 | "resolved": "https://registry.npmmirror.com/babel-jest/-/babel-jest-27.5.1.tgz", |
| ... | ... | @@ -5081,6 +5103,18 @@ |
| 5081 | 5103 | "url": "https://github.com/sponsors/ljharb" |
| 5082 | 5104 | } |
| 5083 | 5105 | }, |
| 5106 | + "node_modules/call-bind-apply-helpers": { | |
| 5107 | + "version": "1.0.2", | |
| 5108 | + "resolved": "https://registry.npmmirror.com/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", | |
| 5109 | + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", | |
| 5110 | + "dependencies": { | |
| 5111 | + "es-errors": "^1.3.0", | |
| 5112 | + "function-bind": "^1.1.2" | |
| 5113 | + }, | |
| 5114 | + "engines": { | |
| 5115 | + "node": ">= 0.4" | |
| 5116 | + } | |
| 5117 | + }, | |
| 5084 | 5118 | "node_modules/callsites": { |
| 5085 | 5119 | "version": "3.1.0", |
| 5086 | 5120 | "resolved": "https://registry.npmmirror.com/callsites/-/callsites-3.1.0.tgz", |
| ... | ... | @@ -5246,8 +5280,6 @@ |
| 5246 | 5280 | "version": "1.0.8", |
| 5247 | 5281 | "resolved": "https://registry.npmmirror.com/combined-stream/-/combined-stream-1.0.8.tgz", |
| 5248 | 5282 | "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", |
| 5249 | - "dev": true, | |
| 5250 | - "peer": true, | |
| 5251 | 5283 | "dependencies": { |
| 5252 | 5284 | "delayed-stream": "~1.0.0" |
| 5253 | 5285 | }, |
| ... | ... | @@ -5553,8 +5585,6 @@ |
| 5553 | 5585 | "version": "1.0.0", |
| 5554 | 5586 | "resolved": "https://registry.npmmirror.com/delayed-stream/-/delayed-stream-1.0.0.tgz", |
| 5555 | 5587 | "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", |
| 5556 | - "dev": true, | |
| 5557 | - "peer": true, | |
| 5558 | 5588 | "engines": { |
| 5559 | 5589 | "node": ">=0.4.0" |
| 5560 | 5590 | } |
| ... | ... | @@ -5635,6 +5665,19 @@ |
| 5635 | 5665 | "node": ">=8" |
| 5636 | 5666 | } |
| 5637 | 5667 | }, |
| 5668 | + "node_modules/dunder-proto": { | |
| 5669 | + "version": "1.0.1", | |
| 5670 | + "resolved": "https://registry.npmmirror.com/dunder-proto/-/dunder-proto-1.0.1.tgz", | |
| 5671 | + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", | |
| 5672 | + "dependencies": { | |
| 5673 | + "call-bind-apply-helpers": "^1.0.1", | |
| 5674 | + "es-errors": "^1.3.0", | |
| 5675 | + "gopd": "^1.2.0" | |
| 5676 | + }, | |
| 5677 | + "engines": { | |
| 5678 | + "node": ">= 0.4" | |
| 5679 | + } | |
| 5680 | + }, | |
| 5638 | 5681 | "node_modules/ee-first": { |
| 5639 | 5682 | "version": "1.1.1", |
| 5640 | 5683 | "resolved": "https://registry.npmmirror.com/ee-first/-/ee-first-1.1.1.tgz", |
| ... | ... | @@ -5698,12 +5741,53 @@ |
| 5698 | 5741 | "is-arrayish": "^0.2.1" |
| 5699 | 5742 | } |
| 5700 | 5743 | }, |
| 5744 | + "node_modules/es-define-property": { | |
| 5745 | + "version": "1.0.1", | |
| 5746 | + "resolved": "https://registry.npmmirror.com/es-define-property/-/es-define-property-1.0.1.tgz", | |
| 5747 | + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", | |
| 5748 | + "engines": { | |
| 5749 | + "node": ">= 0.4" | |
| 5750 | + } | |
| 5751 | + }, | |
| 5752 | + "node_modules/es-errors": { | |
| 5753 | + "version": "1.3.0", | |
| 5754 | + "resolved": "https://registry.npmmirror.com/es-errors/-/es-errors-1.3.0.tgz", | |
| 5755 | + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", | |
| 5756 | + "engines": { | |
| 5757 | + "node": ">= 0.4" | |
| 5758 | + } | |
| 5759 | + }, | |
| 5701 | 5760 | "node_modules/es-module-lexer": { |
| 5702 | 5761 | "version": "1.3.1", |
| 5703 | 5762 | "resolved": "https://registry.npmmirror.com/es-module-lexer/-/es-module-lexer-1.3.1.tgz", |
| 5704 | 5763 | "integrity": "sha512-JUFAyicQV9mXc3YRxPnDlrfBKpqt6hUYzz9/boprUJHs4e4KVr3XwOF70doO6gwXUor6EWZJAyWAfKki84t20Q==", |
| 5705 | 5764 | "license": "MIT" |
| 5706 | 5765 | }, |
| 5766 | + "node_modules/es-object-atoms": { | |
| 5767 | + "version": "1.1.1", | |
| 5768 | + "resolved": "https://registry.npmmirror.com/es-object-atoms/-/es-object-atoms-1.1.1.tgz", | |
| 5769 | + "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", | |
| 5770 | + "dependencies": { | |
| 5771 | + "es-errors": "^1.3.0" | |
| 5772 | + }, | |
| 5773 | + "engines": { | |
| 5774 | + "node": ">= 0.4" | |
| 5775 | + } | |
| 5776 | + }, | |
| 5777 | + "node_modules/es-set-tostringtag": { | |
| 5778 | + "version": "2.1.0", | |
| 5779 | + "resolved": "https://registry.npmmirror.com/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", | |
| 5780 | + "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", | |
| 5781 | + "dependencies": { | |
| 5782 | + "es-errors": "^1.3.0", | |
| 5783 | + "get-intrinsic": "^1.2.6", | |
| 5784 | + "has-tostringtag": "^1.0.2", | |
| 5785 | + "hasown": "^2.0.2" | |
| 5786 | + }, | |
| 5787 | + "engines": { | |
| 5788 | + "node": ">= 0.4" | |
| 5789 | + } | |
| 5790 | + }, | |
| 5707 | 5791 | "node_modules/esbuild": { |
| 5708 | 5792 | "version": "0.16.17", |
| 5709 | 5793 | "resolved": "https://registry.npmmirror.com/esbuild/-/esbuild-0.16.17.tgz", |
| ... | ... | @@ -6113,6 +6197,25 @@ |
| 6113 | 6197 | "node": ">=8" |
| 6114 | 6198 | } |
| 6115 | 6199 | }, |
| 6200 | + "node_modules/follow-redirects": { | |
| 6201 | + "version": "1.15.9", | |
| 6202 | + "resolved": "https://registry.npmmirror.com/follow-redirects/-/follow-redirects-1.15.9.tgz", | |
| 6203 | + "integrity": "sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==", | |
| 6204 | + "funding": [ | |
| 6205 | + { | |
| 6206 | + "type": "individual", | |
| 6207 | + "url": "https://github.com/sponsors/RubenVerborgh" | |
| 6208 | + } | |
| 6209 | + ], | |
| 6210 | + "engines": { | |
| 6211 | + "node": ">=4.0" | |
| 6212 | + }, | |
| 6213 | + "peerDependenciesMeta": { | |
| 6214 | + "debug": { | |
| 6215 | + "optional": true | |
| 6216 | + } | |
| 6217 | + } | |
| 6218 | + }, | |
| 6116 | 6219 | "node_modules/form-data": { |
| 6117 | 6220 | "version": "3.0.1", |
| 6118 | 6221 | "resolved": "https://registry.npmmirror.com/form-data/-/form-data-3.0.1.tgz", |
| ... | ... | @@ -6233,16 +6336,23 @@ |
| 6233 | 6336 | } |
| 6234 | 6337 | }, |
| 6235 | 6338 | "node_modules/get-intrinsic": { |
| 6236 | - "version": "1.2.2", | |
| 6237 | - "resolved": "https://registry.npmmirror.com/get-intrinsic/-/get-intrinsic-1.2.2.tgz", | |
| 6238 | - "integrity": "sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==", | |
| 6239 | - "dev": true, | |
| 6240 | - "license": "MIT", | |
| 6339 | + "version": "1.3.0", | |
| 6340 | + "resolved": "https://registry.npmmirror.com/get-intrinsic/-/get-intrinsic-1.3.0.tgz", | |
| 6341 | + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", | |
| 6241 | 6342 | "dependencies": { |
| 6343 | + "call-bind-apply-helpers": "^1.0.2", | |
| 6344 | + "es-define-property": "^1.0.1", | |
| 6345 | + "es-errors": "^1.3.0", | |
| 6346 | + "es-object-atoms": "^1.1.1", | |
| 6242 | 6347 | "function-bind": "^1.1.2", |
| 6243 | - "has-proto": "^1.0.1", | |
| 6244 | - "has-symbols": "^1.0.3", | |
| 6245 | - "hasown": "^2.0.0" | |
| 6348 | + "get-proto": "^1.0.1", | |
| 6349 | + "gopd": "^1.2.0", | |
| 6350 | + "has-symbols": "^1.1.0", | |
| 6351 | + "hasown": "^2.0.2", | |
| 6352 | + "math-intrinsics": "^1.1.0" | |
| 6353 | + }, | |
| 6354 | + "engines": { | |
| 6355 | + "node": ">= 0.4" | |
| 6246 | 6356 | }, |
| 6247 | 6357 | "funding": { |
| 6248 | 6358 | "url": "https://github.com/sponsors/ljharb" |
| ... | ... | @@ -6258,6 +6368,18 @@ |
| 6258 | 6368 | "node": ">=8.0.0" |
| 6259 | 6369 | } |
| 6260 | 6370 | }, |
| 6371 | + "node_modules/get-proto": { | |
| 6372 | + "version": "1.0.1", | |
| 6373 | + "resolved": "https://registry.npmmirror.com/get-proto/-/get-proto-1.0.1.tgz", | |
| 6374 | + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", | |
| 6375 | + "dependencies": { | |
| 6376 | + "dunder-proto": "^1.0.1", | |
| 6377 | + "es-object-atoms": "^1.0.0" | |
| 6378 | + }, | |
| 6379 | + "engines": { | |
| 6380 | + "node": ">= 0.4" | |
| 6381 | + } | |
| 6382 | + }, | |
| 6261 | 6383 | "node_modules/get-stream": { |
| 6262 | 6384 | "version": "6.0.1", |
| 6263 | 6385 | "resolved": "https://registry.npmmirror.com/get-stream/-/get-stream-6.0.1.tgz", |
| ... | ... | @@ -6336,13 +6458,11 @@ |
| 6336 | 6458 | } |
| 6337 | 6459 | }, |
| 6338 | 6460 | "node_modules/gopd": { |
| 6339 | - "version": "1.0.1", | |
| 6340 | - "resolved": "https://registry.npmmirror.com/gopd/-/gopd-1.0.1.tgz", | |
| 6341 | - "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", | |
| 6342 | - "dev": true, | |
| 6343 | - "license": "MIT", | |
| 6344 | - "dependencies": { | |
| 6345 | - "get-intrinsic": "^1.1.3" | |
| 6461 | + "version": "1.2.0", | |
| 6462 | + "resolved": "https://registry.npmmirror.com/gopd/-/gopd-1.2.0.tgz", | |
| 6463 | + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", | |
| 6464 | + "engines": { | |
| 6465 | + "node": ">= 0.4" | |
| 6346 | 6466 | }, |
| 6347 | 6467 | "funding": { |
| 6348 | 6468 | "url": "https://github.com/sponsors/ljharb" |
| ... | ... | @@ -6376,12 +6496,10 @@ |
| 6376 | 6496 | "url": "https://github.com/sponsors/ljharb" |
| 6377 | 6497 | } |
| 6378 | 6498 | }, |
| 6379 | - "node_modules/has-proto": { | |
| 6380 | - "version": "1.0.1", | |
| 6381 | - "resolved": "https://registry.npmmirror.com/has-proto/-/has-proto-1.0.1.tgz", | |
| 6382 | - "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", | |
| 6383 | - "dev": true, | |
| 6384 | - "license": "MIT", | |
| 6499 | + "node_modules/has-symbols": { | |
| 6500 | + "version": "1.1.0", | |
| 6501 | + "resolved": "https://registry.npmmirror.com/has-symbols/-/has-symbols-1.1.0.tgz", | |
| 6502 | + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", | |
| 6385 | 6503 | "engines": { |
| 6386 | 6504 | "node": ">= 0.4" |
| 6387 | 6505 | }, |
| ... | ... | @@ -6389,12 +6507,13 @@ |
| 6389 | 6507 | "url": "https://github.com/sponsors/ljharb" |
| 6390 | 6508 | } |
| 6391 | 6509 | }, |
| 6392 | - "node_modules/has-symbols": { | |
| 6393 | - "version": "1.0.3", | |
| 6394 | - "resolved": "https://registry.npmmirror.com/has-symbols/-/has-symbols-1.0.3.tgz", | |
| 6395 | - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", | |
| 6396 | - "dev": true, | |
| 6397 | - "license": "MIT", | |
| 6510 | + "node_modules/has-tostringtag": { | |
| 6511 | + "version": "1.0.2", | |
| 6512 | + "resolved": "https://registry.npmmirror.com/has-tostringtag/-/has-tostringtag-1.0.2.tgz", | |
| 6513 | + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", | |
| 6514 | + "dependencies": { | |
| 6515 | + "has-symbols": "^1.0.3" | |
| 6516 | + }, | |
| 6398 | 6517 | "engines": { |
| 6399 | 6518 | "node": ">= 0.4" |
| 6400 | 6519 | }, |
| ... | ... | @@ -6409,10 +6528,9 @@ |
| 6409 | 6528 | "license": "MIT" |
| 6410 | 6529 | }, |
| 6411 | 6530 | "node_modules/hasown": { |
| 6412 | - "version": "2.0.0", | |
| 6413 | - "resolved": "https://registry.npmmirror.com/hasown/-/hasown-2.0.0.tgz", | |
| 6414 | - "integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==", | |
| 6415 | - "license": "MIT", | |
| 6531 | + "version": "2.0.2", | |
| 6532 | + "resolved": "https://registry.npmmirror.com/hasown/-/hasown-2.0.2.tgz", | |
| 6533 | + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", | |
| 6416 | 6534 | "dependencies": { |
| 6417 | 6535 | "function-bind": "^1.1.2" |
| 6418 | 6536 | }, |
| ... | ... | @@ -8956,6 +9074,14 @@ |
| 8956 | 9074 | "tmpl": "1.0.5" |
| 8957 | 9075 | } |
| 8958 | 9076 | }, |
| 9077 | + "node_modules/math-intrinsics": { | |
| 9078 | + "version": "1.1.0", | |
| 9079 | + "resolved": "https://registry.npmmirror.com/math-intrinsics/-/math-intrinsics-1.1.0.tgz", | |
| 9080 | + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", | |
| 9081 | + "engines": { | |
| 9082 | + "node": ">= 0.4" | |
| 9083 | + } | |
| 9084 | + }, | |
| 8959 | 9085 | "node_modules/media-typer": { |
| 8960 | 9086 | "version": "0.3.0", |
| 8961 | 9087 | "resolved": "https://registry.npmmirror.com/media-typer/-/media-typer-0.3.0.tgz", | ... | ... |
garbage-removal/src/components/liu-delivery-time/liu-delivery-time.vue
| ... | ... | @@ -105,9 +105,9 @@ const getFutureDays = () => { |
| 105 | 105 | const day = date.getDate().toString().padStart(2, '0'); |
| 106 | 106 | if (i === 0) { |
| 107 | 107 | let hours = new Date().getHours(); |
| 108 | - if (hours >= 13) { | |
| 109 | - continue; | |
| 110 | - } | |
| 108 | + // if (hours >= 13) { | |
| 109 | + // continue; | |
| 110 | + // } | |
| 111 | 111 | days.push({ |
| 112 | 112 | day: `${year}-${month}-${day}`, |
| 113 | 113 | timeList: getCurrentDayTimeList(9, hours, 1) | ... | ... |
garbage-removal/src/pages/home-info/clean/index.vue
| ... | ... | @@ -25,7 +25,7 @@ |
| 25 | 25 | </view> |
| 26 | 26 | <view @click.stop="handleTimeChoose" class="company-clean-container-header-reservation"> |
| 27 | 27 | <view class="company-clean-container-header-reservation-left"> |
| 28 | - <text style="color: red;">*</text> <u-icon name="calendar" size="40"></u-icon>预约时间 | |
| 28 | + <text style="color: red;">*</text> <u-icon name="calendar" size="40"></u-icon>123预约时间123 | |
| 29 | 29 | </view> |
| 30 | 30 | <view class="company-clean-container-header-reservation-right"> |
| 31 | 31 | <text style="margin-right: 10rpx;">{{ dayTime ? dayTime : "请选择时间" }}</text> <u-icon name="arrow-right" |
| ... | ... | @@ -69,14 +69,6 @@ |
| 69 | 69 | </view> |
| 70 | 70 | </view> |
| 71 | 71 | |
| 72 | - <view class="company-clean-container-car-main-content-type" > | |
| 73 | - <view class="company-clean-container-car-main-content-type-price-area"> | |
| 74 | - <text style="color: red;">*</text>预估费用: | |
| 75 | - </view> | |
| 76 | - <view style=" width:100%;display:flex; color:#909399; align-items: center;"> | |
| 77 | - <u-number-box :min="0" :max="999999" integer buttonSize="46" :inputWidth="100" :adjust-position="false" :cursor-spacing="0" v-model="paramFrom.garEstimatedCost"></u-number-box> | |
| 78 | - </view> | |
| 79 | - </view> | |
| 80 | 72 | |
| 81 | 73 | <view class="company-clean-container-car-main-content-type"> |
| 82 | 74 | <view class="company-clean-container-car-main-content-type-price-area"> |
| ... | ... | @@ -417,15 +409,6 @@ const orderClick = ref(true) |
| 417 | 409 | * 处理下单 |
| 418 | 410 | */ |
| 419 | 411 | const handleOderSure = async () => { |
| 420 | - if(null == paramFrom.value.garEstimatedCost|| "" == paramFrom.value.garEstimatedCost || undefined == paramFrom.value.garEstimatedCost){ | |
| 421 | - jumpPrompt("预估费用不能为空"); | |
| 422 | - | |
| 423 | - return; | |
| 424 | - } | |
| 425 | - if(paramFrom.value.garEstimatedCost<=0){ | |
| 426 | - jumpPrompt("预估费用必须大于0"); | |
| 427 | - return; | |
| 428 | - } | |
| 429 | 412 | let garCarInfos = []; |
| 430 | 413 | for (const key in garCarInfoList.value) { |
| 431 | 414 | if(garCarInfoList.value[key]&& garCarInfoList.value[key].garOrderCarNumber && garCarInfoList.value[key].garOrderCarNumber>0){ |
| ... | ... | @@ -586,9 +569,6 @@ const validateParams = (params) => { |
| 586 | 569 | case "garOrderAgreementTime": |
| 587 | 570 | jumpPrompt('请选择预约时间') |
| 588 | 571 | break; |
| 589 | - case "garEstimatedCost": | |
| 590 | - jumpPrompt('请输入预估费用') | |
| 591 | - break; | |
| 592 | 572 | case "garOrderCompanyTel": |
| 593 | 573 | jumpPrompt('企业负责人手机号不能为空') |
| 594 | 574 | break; | ... | ... |
garbage-removal/src/pages/home/index.vue
garbage-removal/src/pages/order-info/order-other/detail/index.vue
| 1 | 1 | <template> |
| 2 | - <clashDriverDispatch ref="clashDriverDispatchRef" :valueKey="'licensePlateNumber'" | |
| 3 | - :onconfirm="handleDriverDispatchConfirm" :dataList="driverPersonnelList"> | |
| 4 | - </clashDriverDispatch> | |
| 5 | - <clashDisposalDispatch ref="clashDisposalDispatchRef" :valueKey="'companyName'" | |
| 6 | - :onconfirm="handleDisposalDispatchConfirm" :dataList="driverPersonnelList"> | |
| 7 | - </clashDisposalDispatch> | |
| 8 | - <u-popup :zIndex="10074" closeOnClickOverlay :show="carPopupShowFlag" :round="10" @close="handlePopupClick(false)" | |
| 9 | - @open="handlePopupClick(true)"> | |
| 10 | - <view class="company-clean-container-car-popup"> | |
| 11 | - <!-- 主要内容 --> | |
| 12 | - <view class="company-clean-container-car-popup-content"> | |
| 13 | - <view class="company-clean-container-car-popup-content-title"> | |
| 14 | - <view style="text-align: center;"> | |
| 15 | - 车辆类型 | |
| 16 | - </view> | |
| 17 | - </view> | |
| 18 | - <view class="company-clean-container-car-popup-content-box"> | |
| 19 | - <view class="company-clean-container-car-popup-content-box-item" v-for="(item, index) in garCarInfoList" | |
| 20 | - :key="index"> | |
| 21 | - <view class="company-clean-container-car-popup-content-box-item-text"> | |
| 22 | - {{ item.garOrderCarType }} | |
| 23 | - </view> | |
| 24 | - <view class="company-clean-container-car-popup-content-box-item-number" hover-class="hoverClickStyle"> | |
| 25 | - <u-number-box :min="0" :max="9999" integer buttonSize="46" :inputWidth="100" | |
| 26 | - v-model="garCarInfoList[item.garOrderCarType].garOrderCarNumber" :disabledInput="true"></u-number-box> | |
| 27 | - </view> | |
| 28 | - </view> | |
| 29 | - </view> | |
| 30 | - </view> | |
| 31 | - <!-- 占位盒子 --> | |
| 32 | - <view class="company-clean-container-car-popup-button-safe"> | |
| 33 | - <view class="company-clean-container-car-popup-button-safe-btn"> | |
| 34 | - <u-button type="primary" color="#19a97c" @click="submitUpdateCarInfo">确定</u-button> | |
| 35 | - </view> | |
| 36 | - </view> | |
| 37 | - </view> | |
| 38 | - </u-popup> | |
| 39 | - <view class="order-detail-container" v-if="dataGram != null || dataGram != undefined"> | |
| 40 | - <view class="order-detail-container-box"> | |
| 41 | - <view class="order-detail-top"> | |
| 42 | - <view class="order-detail-top-box"> | |
| 43 | - <view class="order-detail-top-box-step"> | |
| 44 | - <u-steps :current="currentStep(dataGram.garOrderHandlerStatus)" dot> | |
| 45 | - <u-steps-item title="待清运"></u-steps-item> | |
| 46 | - <u-steps-item title="清运中"></u-steps-item> | |
| 47 | - <u-steps-item title="已完成"></u-steps-item> | |
| 48 | - </u-steps> | |
| 49 | - </view> | |
| 50 | - </view> | |
| 51 | - </view> | |
| 52 | - <!-- 信息提示 --> | |
| 53 | - <view class="order-detail-container-box-card"> | |
| 54 | - <text v-if="dataGram.garCancelFlag == 0" style="color: red;">请于交易完成后线下支付!!</text> | |
| 55 | - <view v-else style="display: flex; color:red;"> | |
| 56 | - <u-icon name="close-circle" color="red"></u-icon> | |
| 57 | - <text> 订单已被取消!原因:{{ dataGram.garReason }}</text> | |
| 58 | - </view> | |
| 59 | - </view> | |
| 60 | - <!-- 订单信息 --> | |
| 61 | - <view class="order-detail-container-box-card"> | |
| 62 | - <view class="order-detail-container-header-card-title"> | |
| 63 | - <view class="order-detail-container-header-card-uicon"></view> | |
| 64 | - 订单信息 | |
| 65 | - </view> | |
| 66 | - <view class="order-detail-container-header-item" | |
| 67 | - @click.stop="handlerJumpOtherApp(dataGram.garLatitude, dataGram.garLongitude, dataGram.garCoordinate)"> | |
| 68 | - <text class="order-detail-container-header-title">清运地点:</text> | |
| 69 | - <view class="order-detail-container-header-content" style="text-decoration: underline"> | |
| 70 | - <text selectable='true'>{{ dataGram.garOrderAddress + dataGram.garOrderAddressDetails }}</text> | |
| 71 | - </view> | |
| 72 | - </view> | |
| 73 | - <view class="order-detail-container-header-item"> | |
| 74 | - <text class="order-detail-container-header-title">现场图片:</text> | |
| 75 | - <view class="order-detail-container-header-content"> | |
| 76 | - <u-upload width="180" height="130" :fileList="currentImages" name="3" multiple :maxCount="10" | |
| 77 | - :previewFullImage="true" :isReadOnly="true"></u-upload> | |
| 78 | - </view> | |
| 79 | - </view> | |
| 80 | - <view class="order-detail-container-header-item"> | |
| 81 | - <text class="order-detail-container-header-title">负责单位:</text> | |
| 82 | - <view class="order-detail-container-header-content"> | |
| 83 | - {{ dataGram.garOrderCompanyName }} | |
| 84 | - </view> | |
| 85 | - </view> | |
| 86 | - <view class="order-detail-container-header-item"> | |
| 87 | - <text class="order-detail-container-header-title">垃圾类型:</text> | |
| 88 | - <view class="order-detail-container-header-content"> | |
| 89 | - {{ dataGram.garOrderTrashType }} | |
| 90 | - </view> | |
| 91 | - </view> | |
| 92 | - | |
| 93 | - <view class="order-detail-container-header-item" v-for="(disposal,index) in dataGram.disposalSites"> | |
| 94 | - <view> | |
| 95 | - <text class="order-detail-container-header-title" v-if="index == 0" >处置场地:</text> | |
| 96 | - <text class="order-detail-container-header-title" v-else >     </text> | |
| 97 | - </view> | |
| 98 | - <view class="order-detail-container-header-content" style="text-decoration: underline" @click.stop="handlerJumpOtherApp(disposal.latitude, disposal.longitude, dataGram.garCoordinate)"> | |
| 99 | - <text>{{ disposal.addrStr }}</text> | |
| 100 | - </view> | |
| 101 | - </view> | |
| 102 | - | |
| 103 | - <view class="order-detail-container-header-item"> | |
| 104 | - <text class="order-detail-container-header-title">订单号:</text> | |
| 105 | - <view class="order-detail-container-header-content"> | |
| 106 | - <text selectable="true">{{ orderId }}</text> | |
| 107 | - </view> | |
| 108 | - <!-- 生成二维码 --> | |
| 109 | - <view class="order-detail-container-header-qrCode" style="display: flex; align-items: center;"> | |
| 110 | - <view @click="handleQrCodeClick(orderId)" class="iconfont icon-erweima-xian"></view> | |
| 111 | - </view> | |
| 112 | - </view> | |
| 113 | - </view> | |
| 114 | - <!-- 车辆信息 --> | |
| 115 | - <view class="order-detail-container-box-card"> | |
| 116 | - <view class="order-detail-container-header-card-title"> | |
| 117 | - <view class="order-detail-container-header-card-uicon"></view> | |
| 118 | - 车辆信息 | |
| 119 | - </view> | |
| 120 | - <view class="order-detail-container-header-item" style="justify-content: space-between;" | |
| 121 | - v-for="(item) in dataGram.garCarInfoList" :key="item.garId"> | |
| 122 | - <text class="order-detail-container-header-title" style="color: #303133;">{{ item.garOrderCarType }} | |
| 123 | - </text> | |
| 124 | - <view class="order-detail-container-header-content"> | |
| 125 | - <text class="order-detail-container-header-title"> | |
| 126 | - {{ cleanStatus(dataGram.garOrderHandlerStatus) }} | |
| 127 | - </text> | |
| 128 | - </view> | |
| 129 | - </view> | |
| 130 | - </view> | |
| 131 | - <!-- 订单记录 --> | |
| 132 | - <view class="order-detail-container-box-card"> | |
| 133 | - <view class="order-detail-container-header-card-title"> | |
| 134 | - <view class="order-detail-container-header-card-uicon"></view> | |
| 135 | - 订单人员 | |
| 136 | - </view> | |
| 137 | - <!-- <view class="order-detail-container-header-item"> | |
| 2 | + <clashDriverDispatch ref="clashDriverDispatchRef" :valueKey="'licensePlateNumber'" | |
| 3 | + :onconfirm="handleDriverDispatchConfirm" :dataList="driverPersonnelList"> | |
| 4 | + </clashDriverDispatch> | |
| 5 | + <clashDisposalDispatch ref="clashDisposalDispatchRef" :valueKey="'companyName'" | |
| 6 | + :onconfirm="handleDisposalDispatchConfirm" :dataList="driverPersonnelList"> | |
| 7 | + </clashDisposalDispatch> | |
| 8 | + <u-popup :zIndex="10074" closeOnClickOverlay :show="carPopupShowFlag" :round="10" @close="handlePopupClick(false)" | |
| 9 | + @open="handlePopupClick(true)"> | |
| 10 | + <view class="company-clean-container-car-popup"> | |
| 11 | + <!-- 主要内容 --> | |
| 12 | + <view class="company-clean-container-car-popup-content"> | |
| 13 | + <view class="company-clean-container-car-popup-content-title"> | |
| 14 | + <view style="text-align: center;"> | |
| 15 | + 车辆类型 | |
| 16 | + </view> | |
| 17 | + </view> | |
| 18 | + <view class="company-clean-container-car-popup-content-box"> | |
| 19 | + <view class="company-clean-container-car-popup-content-box-item" | |
| 20 | + v-for="(item, index) in garCarInfoList" :key="index"> | |
| 21 | + <view class="company-clean-container-car-popup-content-box-item-text"> | |
| 22 | + {{ item.garOrderCarType }} | |
| 23 | + </view> | |
| 24 | + <view class="company-clean-container-car-popup-content-box-item-number" | |
| 25 | + hover-class="hoverClickStyle"> | |
| 26 | + <u-number-box :min="0" :max="9999" integer buttonSize="46" :inputWidth="100" | |
| 27 | + v-model="garCarInfoList[item.garOrderCarType].garOrderCarNumber" | |
| 28 | + :disabledInput="true"></u-number-box> | |
| 29 | + </view> | |
| 30 | + </view> | |
| 31 | + </view> | |
| 32 | + </view> | |
| 33 | + <!-- 占位盒子 --> | |
| 34 | + <view class="company-clean-container-car-popup-button-safe"> | |
| 35 | + <view class="company-clean-container-car-popup-button-safe-btn"> | |
| 36 | + <u-button type="primary" color="#19a97c" @click="submitUpdateCarInfo">确定</u-button> | |
| 37 | + </view> | |
| 38 | + </view> | |
| 39 | + </view> | |
| 40 | + </u-popup> | |
| 41 | + <view class="order-detail-container" v-if="dataGram != null || dataGram != undefined"> | |
| 42 | + <view class="order-detail-container-box"> | |
| 43 | + <view class="order-detail-top"> | |
| 44 | + <view class="order-detail-top-box"> | |
| 45 | + <view class="order-detail-top-box-step"> | |
| 46 | + <u-steps :current="currentStep(dataGram.garOrderHandlerStatus)" dot> | |
| 47 | + <u-steps-item title="待清运"></u-steps-item> | |
| 48 | + <u-steps-item title="清运中"></u-steps-item> | |
| 49 | + <u-steps-item title="已完成"></u-steps-item> | |
| 50 | + </u-steps> | |
| 51 | + </view> | |
| 52 | + </view> | |
| 53 | + </view> | |
| 54 | + <!-- 信息提示 --> | |
| 55 | + <view class="order-detail-container-box-card"> | |
| 56 | + <text v-if="dataGram.garCancelFlag == 0" style="color: red;">请于交易完成后线下支付!!</text> | |
| 57 | + <view v-else style="display: flex; color:red;"> | |
| 58 | + <u-icon name="close-circle" color="red"></u-icon> | |
| 59 | + <text> 订单已被取消!原因:{{ dataGram.garReason }}</text> | |
| 60 | + </view> | |
| 61 | + </view> | |
| 62 | + <!-- 订单信息 --> | |
| 63 | + <view class="order-detail-container-box-card"> | |
| 64 | + <view class="order-detail-container-header-card-title"> | |
| 65 | + <view class="order-detail-container-header-card-uicon"></view> | |
| 66 | + 订单信息 | |
| 67 | + </view> | |
| 68 | + <view class="order-detail-container-header-item" | |
| 69 | + @click.stop="handlerJumpOtherApp(dataGram.garLatitude, dataGram.garLongitude, dataGram.garCoordinate)"> | |
| 70 | + <text class="order-detail-container-header-title">清运地点:</text> | |
| 71 | + <view class="order-detail-container-header-content" style="text-decoration: underline"> | |
| 72 | + <text selectable='true'>{{ dataGram.garOrderAddress + dataGram.garOrderAddressDetails }}</text> | |
| 73 | + </view> | |
| 74 | + </view> | |
| 75 | + <view class="order-detail-container-header-item"> | |
| 76 | + <text class="order-detail-container-header-title">现场图片:</text> | |
| 77 | + <view class="order-detail-container-header-content"> | |
| 78 | + <u-upload width="180" height="130" :fileList="currentImages" name="3" multiple :maxCount="10" | |
| 79 | + :previewFullImage="true" :isReadOnly="true"></u-upload> | |
| 80 | + </view> | |
| 81 | + </view> | |
| 82 | + <view class="order-detail-container-header-item"> | |
| 83 | + <text class="order-detail-container-header-title">负责单位:</text> | |
| 84 | + <view class="order-detail-container-header-content"> | |
| 85 | + {{ dataGram.garOrderCompanyName }} | |
| 86 | + </view> | |
| 87 | + </view> | |
| 88 | + <view class="order-detail-container-header-item"> | |
| 89 | + <text class="order-detail-container-header-title">垃圾类型:</text> | |
| 90 | + <view class="order-detail-container-header-content"> | |
| 91 | + {{ dataGram.garOrderTrashType }} | |
| 92 | + </view> | |
| 93 | + </view> | |
| 94 | + | |
| 95 | + <view class="order-detail-container-header-item" v-for="(disposal,index) in dataGram.disposalSites"> | |
| 96 | + <view> | |
| 97 | + <text class="order-detail-container-header-title" v-if="index == 0">处置场地:</text> | |
| 98 | + <text class="order-detail-container-header-title" v-else>     </text> | |
| 99 | + </view> | |
| 100 | + <view class="order-detail-container-header-content" style="text-decoration: underline" | |
| 101 | + @click.stop="handlerJumpOtherApp(disposal.latitude, disposal.longitude, dataGram.garCoordinate)"> | |
| 102 | + <text>{{ disposal.addrStr }}</text> | |
| 103 | + </view> | |
| 104 | + </view> | |
| 105 | + | |
| 106 | + <view class="order-detail-container-header-item"> | |
| 107 | + <text class="order-detail-container-header-title">订单号:</text> | |
| 108 | + <view class="order-detail-container-header-content"> | |
| 109 | + <text selectable="true">{{ orderId }}</text> | |
| 110 | + </view> | |
| 111 | + <!-- 生成二维码 --> | |
| 112 | + <view class="order-detail-container-header-qrCode" style="display: flex; align-items: center;"> | |
| 113 | + <view @click="handleQrCodeClick(orderId)" class="iconfont icon-erweima-xian"></view> | |
| 114 | + </view> | |
| 115 | + </view> | |
| 116 | + </view> | |
| 117 | + <!-- 车辆信息 --> | |
| 118 | + <view class="order-detail-container-box-card"> | |
| 119 | + <view class="order-detail-container-header-card-title"> | |
| 120 | + <view class="order-detail-container-header-card-uicon"></view> | |
| 121 | + 车辆信息 | |
| 122 | + </view> | |
| 123 | + <view class="order-detail-container-header-item" style="justify-content: space-between;" | |
| 124 | + v-for="(item) in dataGram.garCarInfoList" :key="item.garId"> | |
| 125 | + <text class="order-detail-container-header-title" style="color: #303133;">{{ item.garOrderCarType }} | |
| 126 | + </text> | |
| 127 | + <view class="order-detail-container-header-content"> | |
| 128 | + <text class="order-detail-container-header-title"> | |
| 129 | + {{ cleanStatus(dataGram.garOrderHandlerStatus) }} | |
| 130 | + </text> | |
| 131 | + </view> | |
| 132 | + </view> | |
| 133 | + </view> | |
| 134 | + <!-- 订单记录 --> | |
| 135 | + <view class="order-detail-container-box-card"> | |
| 136 | + <view class="order-detail-container-header-card-title"> | |
| 137 | + <view class="order-detail-container-header-card-uicon"></view> | |
| 138 | + 订单人员 | |
| 139 | + </view> | |
| 140 | + <!-- <view class="order-detail-container-header-item"> | |
| 138 | 141 | <text class="order-detail-container-header-title">订单时间:</text> |
| 139 | 142 | <view class="order-detail-container-header-content"> |
| 140 | 143 | {{ dataGram.garCreateTime }} |
| 141 | 144 | </view> |
| 142 | 145 | </view> --> |
| 143 | - <view class="order-detail-container-header-item"> | |
| 144 | - <text class="order-detail-container-header-title">预约时间:</text> | |
| 145 | - <view class="order-detail-container-header-content"> | |
| 146 | - {{ dataGram.garOrderAgreementTime }} | |
| 147 | - </view> | |
| 148 | - </view> | |
| 149 | - <view class="order-detail-container-header-item"> | |
| 150 | - <text class="order-detail-container-header-title">联系电话:</text> | |
| 151 | - <view class="order-detail-container-header-content"> | |
| 152 | - <text selectable="true">{{ dataGram.garOrderContactTel }}</text> | |
| 153 | - <view class="icon-box" style="display: flex; align-items: center; justify-content: center;"> | |
| 154 | - <u-icon v-if="dataGram.handleFlag" name="phone" size="28" | |
| 155 | - @click="handleContactClick(dataGram.garOrderContactTel)"></u-icon> | |
| 156 | - </view> | |
| 157 | - </view> | |
| 158 | - </view> | |
| 159 | - <view class="order-detail-container-header-item"> | |
| 160 | - <text class="order-detail-container-header-title">订单人:</text> | |
| 161 | - <view class="order-detail-container-header-content"> | |
| 162 | - {{ dataGram.garOrderContactName }} | |
| 163 | - </view> | |
| 164 | - </view> | |
| 165 | - | |
| 166 | - <view class="order-detail-container-header-item"> | |
| 167 | - <text class="order-detail-container-header-title">预估费用:</text> | |
| 168 | - <view class="order-detail-container-header-content"> | |
| 169 | - {{ dataGram.garEstimatedCost }} | |
| 170 | - </view> | |
| 171 | - </view> | |
| 172 | - | |
| 173 | - <view class="order-detail-container-header-item"> | |
| 174 | - <text class="order-detail-container-header-title">备注:</text> | |
| 175 | - <view class="order-detail-container-header-content"> | |
| 176 | - {{ dataGram.garRemark }} | |
| 177 | - </view> | |
| 178 | - </view> | |
| 179 | - </view> | |
| 180 | - <!-- 处理信息 --> | |
| 181 | - <view class="order-detail-container-box-card"> | |
| 182 | - <view class="order-detail-container-header-card-title"> | |
| 183 | - <view class="order-detail-container-header-card-uicon"></view> | |
| 184 | - 处理信息 | |
| 185 | - </view> | |
| 186 | - <view v-if="putDownImages.length || putOnImages.length" style="width: 100%;"> | |
| 187 | - <view class="order-detail-container-header-item"> | |
| 188 | - <text class=" order-detail-container-header-title">装车照片:</text> | |
| 189 | - <view class="order-detail-container-header-content"> | |
| 190 | - <u-upload width="180" height="130" :fileList="putOnImages" name="3" multiple :maxCount="20" | |
| 191 | - :previewFullImage="true" :isReadOnly="true"></u-upload> | |
| 192 | - </view> | |
| 193 | - </view> | |
| 194 | - <view class="order-detail-container-header-item"> | |
| 195 | - <text class=" order-detail-container-header-title">卸车照片:</text> | |
| 196 | - <view class="order-detail-container-header-content"> | |
| 197 | - <u-upload width="180" height="130" :fileList="putDownImages" name="3" multiple :maxCount="20" | |
| 198 | - :previewFullImage="true" :isReadOnly="true"></u-upload> | |
| 199 | - </view> | |
| 200 | - </view> | |
| 201 | - </view> | |
| 202 | - <view v-else class="empty-image" | |
| 203 | - style="width: 100%; display: flex; justify-content: center; align-items: center;"> | |
| 204 | - <image class="image-style" style="width: 200rpx; height: 200rpx;" :src="emptyBase64Image"></image> | |
| 205 | - </view> | |
| 206 | - </view> | |
| 207 | - <view class="space-box">{{ spaceStr }}</view> | |
| 208 | - </view> | |
| 209 | - <!-- 占位符 --> | |
| 210 | - <view class="order-detail-bottom"> | |
| 211 | - <view class="order-detail-bottom-box"> | |
| 212 | - <view class=" order-detail-bottom-left"> | |
| 213 | - <u-button v-if="dataGram.garOrderHandlerStatus === 0 && userType == '运输企业负责人' && dataGram.garCancelFlag === 0" | |
| 214 | - @click="handleOderCancelClick()" shape="square" color="#19a97c" text="取消订单"></u-button> | |
| 215 | - <u-button | |
| 216 | - v-if="dataGram.garOrderScanHandlerFlag === 0 && userType == '用户' && dataGram.garOrderHandlerStatus != 3" | |
| 217 | - @click="handlerUpdateOrderClick()" shape="square" color="#19a97c" text="修改车辆信息"></u-button> | |
| 218 | - <u-button v-if="dataGram.garOrderHandlerStatus === 1 && userType == '运输企业负责人'" | |
| 219 | - @click="handleOrderDispatchClick(orderId)" shape="square" color="#19a97c" text="分配驾驶员"></u-button> | |
| 220 | - </view> | |
| 221 | - <view class="order-detail-bottom-right"> | |
| 222 | - <u-button v-if="dataGram.garOrderHandlerStatus === 0 && userType == '用户' && dataGram.garCancelFlag === 0" | |
| 223 | - @click="handleOderCancelClick()" shape="square" color="#19a97c" text="取消订单"></u-button> | |
| 224 | - <u-button @click="handleOrder(orderId)" | |
| 225 | - v-if="dataGram.garOrderHandlerStatus === 0 && dataGram.handleFlag && dataGram.garCancelFlag === 0 && userType === '运输企业负责人'" | |
| 226 | - shape="square" color="#19a97c" text="处理订单"></u-button> | |
| 227 | - <u-button @click="handleEvaluate(orderId, userType)" | |
| 228 | - v-if="dataGram.garEvaluateFlag === 0 && userType === '用户'" shape="square" color="#19a97c" | |
| 229 | - text="去评价"></u-button> | |
| 230 | - <u-button @click="handleEvaluateDetail(orderId, userType)" | |
| 231 | - v-if="dataGram.garHandlerEvaluateFlag === 0 && userType === '运输企业负责人' && dataGram.haveEvaluateOfClient==1" shape="square" color="#19a97c" | |
| 232 | - text="查看评价"></u-button> | |
| 233 | - <u-button @click="handleEvaluateDetail(orderId, userType)" | |
| 234 | - v-if="dataGram.garHandlerEvaluateFlag === 1 && userType === '运输企业负责人' && dataGram.haveEvaluateOfClient==1" shape="square" color="#19a97c" | |
| 235 | - text="查看评价"></u-button> | |
| 236 | - <u-button @click="handleEvaluateDetail(orderId, userType)" | |
| 237 | - v-if="dataGram.garEvaluateFlag === 1 && userType === '用户'" shape="square" color="#19a97c" | |
| 238 | - text="查看评价"></u-button> | |
| 239 | - <u-button v-if="dataGram.garOrderHandlerStatus === 1 && userType == '运输企业负责人'" | |
| 240 | - @click="handleDisposalDispatchClick(orderId)" shape="square" color="#19a97c" text="分配处置场所"></u-button> | |
| 241 | - </view> | |
| 242 | - </view> | |
| 243 | - </view> | |
| 244 | - <u-action-sheet :closeOnClickOverlay="true" :closeOnClickAction="false" @actionSheetClose="handleClose" | |
| 245 | - @submitFunction="submitFunction" @select="selectClick" :actions="list" round="15" title="取消订单" :show="cancelShow"> | |
| 246 | - </u-action-sheet> | |
| 247 | - </view> | |
| 248 | - <view v-if="showUQRcode" class="mask-container" @click="showUQRcode = false"> | |
| 249 | - <uqrcode :h5SaveIsDownload="true" ref="qrCodeRef" canvas-id="qrcode" :value="qrCodeText" | |
| 250 | - :options="{ margin: 10, boxSizing: borderBox }"></uqrcode> | |
| 251 | - </view> | |
| 146 | + <view class="order-detail-container-header-item"> | |
| 147 | + <text class="order-detail-container-header-title">预约时间:</text> | |
| 148 | + <view class="order-detail-container-header-content"> | |
| 149 | + {{ dataGram.garOrderAgreementTime }} | |
| 150 | + </view> | |
| 151 | + </view> | |
| 152 | + <view class="order-detail-container-header-item"> | |
| 153 | + <text class="order-detail-container-header-title">联系电话:</text> | |
| 154 | + <view class="order-detail-container-header-content"> | |
| 155 | + <text selectable="true">{{ dataGram.garOrderContactTel }}</text> | |
| 156 | + <view class="icon-box" style="display: flex; align-items: center; justify-content: center;"> | |
| 157 | + <u-icon v-if="dataGram.handleFlag" name="phone" size="28" | |
| 158 | + @click="handleContactClick(dataGram.garOrderContactTel)"></u-icon> | |
| 159 | + </view> | |
| 160 | + </view> | |
| 161 | + </view> | |
| 162 | + <view class="order-detail-container-header-item"> | |
| 163 | + <text class="order-detail-container-header-title">订单人:</text> | |
| 164 | + <view class="order-detail-container-header-content"> | |
| 165 | + {{ dataGram.garOrderContactName }} | |
| 166 | + </view> | |
| 167 | + </view> | |
| 168 | + | |
| 169 | + <view class="order-detail-container-header-item"> | |
| 170 | + <text class="order-detail-container-header-title">备注:</text> | |
| 171 | + <view class="order-detail-container-header-content"> | |
| 172 | + {{ dataGram.garRemark }} | |
| 173 | + </view> | |
| 174 | + </view> | |
| 175 | + </view> | |
| 176 | + <!-- 处理信息 --> | |
| 177 | + <view class="order-detail-container-box-card"> | |
| 178 | + <view class="order-detail-container-header-card-title"> | |
| 179 | + <view class="order-detail-container-header-card-uicon"></view> | |
| 180 | + 处理信息 | |
| 181 | + </view> | |
| 182 | + <view v-if="putDownImages.length || putOnImages.length" style="width: 100%;"> | |
| 183 | + <view class="order-detail-container-header-item"> | |
| 184 | + <text class=" order-detail-container-header-title">装车照片:</text> | |
| 185 | + <view class="order-detail-container-header-content"> | |
| 186 | + <u-upload width="180" height="130" :fileList="putOnImages" name="3" multiple :maxCount="20" | |
| 187 | + :previewFullImage="true" :isReadOnly="true"></u-upload> | |
| 188 | + </view> | |
| 189 | + </view> | |
| 190 | + <view class="order-detail-container-header-item"> | |
| 191 | + <text class=" order-detail-container-header-title">卸车照片:</text> | |
| 192 | + <view class="order-detail-container-header-content"> | |
| 193 | + <u-upload width="180" height="130" :fileList="putDownImages" name="3" multiple | |
| 194 | + :maxCount="20" :previewFullImage="true" :isReadOnly="true"></u-upload> | |
| 195 | + </view> | |
| 196 | + </view> | |
| 197 | + </view> | |
| 198 | + <view v-else class="empty-image" | |
| 199 | + style="width: 100%; display: flex; justify-content: center; align-items: center;"> | |
| 200 | + <image class="image-style" style="width: 200rpx; height: 200rpx;" :src="emptyBase64Image"></image> | |
| 201 | + </view> | |
| 202 | + </view> | |
| 203 | + <view class="space-box">{{ spaceStr }}</view> | |
| 204 | + </view> | |
| 205 | + <!-- 占位符 --> | |
| 206 | + <view class="order-detail-bottom"> | |
| 207 | + <view class="order-detail-bottom-box"> | |
| 208 | + <view class=" order-detail-bottom-left"> | |
| 209 | + <u-button | |
| 210 | + v-if="dataGram.garOrderHandlerStatus === 0 && userType == '运输企业负责人' && dataGram.garCancelFlag === 0" | |
| 211 | + @click="handleOderCancelClick()" shape="square" color="#19a97c" text="取消订单"></u-button> | |
| 212 | + <u-button | |
| 213 | + v-if="dataGram.garOrderScanHandlerFlag === 0 && userType == '用户' && dataGram.garOrderHandlerStatus != 3" | |
| 214 | + @click="handlerUpdateOrderClick()" shape="square" color="#19a97c" text="修改车辆信息"></u-button> | |
| 215 | + <u-button v-if="dataGram.garOrderHandlerStatus === 1 && userType == '运输企业负责人'" | |
| 216 | + @click="handleOrderDispatchClick(orderId)" shape="square" color="#19a97c" | |
| 217 | + text="分配驾驶员"></u-button> | |
| 218 | + </view> | |
| 219 | + <view class="order-detail-bottom-right"> | |
| 220 | + <u-button | |
| 221 | + v-if="dataGram.garOrderHandlerStatus === 0 && userType == '用户' && dataGram.garCancelFlag === 0" | |
| 222 | + @click="handleOderCancelClick()" shape="square" color="#19a97c" text="取消订单"></u-button> | |
| 223 | + <u-button @click="handleOrder(orderId)" | |
| 224 | + v-if="dataGram.garOrderHandlerStatus === 0 && dataGram.handleFlag && dataGram.garCancelFlag === 0 && userType === '运输企业负责人'" | |
| 225 | + shape="square" color="#19a97c" text="处理订单"></u-button> | |
| 226 | + <u-button @click="handleEvaluate(orderId, userType)" | |
| 227 | + v-if="dataGram.garEvaluateFlag === 0 && userType === '用户'" shape="square" color="#19a97c" | |
| 228 | + text="去评价"></u-button> | |
| 229 | + <u-button @click="handleEvaluateDetail(orderId, userType)" | |
| 230 | + v-if="dataGram.garHandlerEvaluateFlag === 0 && userType === '运输企业负责人' && dataGram.haveEvaluateOfClient==1" | |
| 231 | + shape="square" color="#19a97c" text="查看评价"></u-button> | |
| 232 | + <u-button @click="handleEvaluateDetail(orderId, userType)" | |
| 233 | + v-if="dataGram.garHandlerEvaluateFlag === 1 && userType === '运输企业负责人' && dataGram.haveEvaluateOfClient==1" | |
| 234 | + shape="square" color="#19a97c" text="查看评价"></u-button> | |
| 235 | + <u-button @click="handleEvaluateDetail(orderId, userType)" | |
| 236 | + v-if="dataGram.garEvaluateFlag === 1 && userType === '用户'" shape="square" color="#19a97c" | |
| 237 | + text="查看评价"></u-button> | |
| 238 | + <u-button v-if="dataGram.garOrderHandlerStatus === 1 && userType == '运输企业负责人'" | |
| 239 | + @click="handleDisposalDispatchClick(orderId)" shape="square" color="#19a97c" | |
| 240 | + text="分配处置场所"></u-button> | |
| 241 | + </view> | |
| 242 | + </view> | |
| 243 | + </view> | |
| 244 | + <u-action-sheet :closeOnClickOverlay="true" :closeOnClickAction="false" @actionSheetClose="handleClose" | |
| 245 | + @submitFunction="submitFunction" @select="selectClick" :actions="list" round="15" title="取消订单" | |
| 246 | + :show="cancelShow"> | |
| 247 | + </u-action-sheet> | |
| 248 | + </view> | |
| 249 | + <view v-if="showUQRcode" class="mask-container" @click="showUQRcode = false"> | |
| 250 | + <uqrcode :h5SaveIsDownload="true" ref="qrCodeRef" canvas-id="qrcode" :value="qrCodeText" | |
| 251 | + :options="{ margin: 10, boxSizing: borderBox }"></uqrcode> | |
| 252 | + </view> | |
| 252 | 253 | </template> |
| 253 | 254 | |
| 254 | 255 | <script setup> |
| 255 | -import { queryCarList } from '@/apis/carinfo.js'; | |
| 256 | -import { dispatchDisposalOrders, dispatchOrders, queryDisposalDispatch, queryOrderDetail, queryOrderDispatch, updateOrder } from "@/apis/order.js"; | |
| 257 | -import { createQrCode } from '@/apis/qrcode.js'; | |
| 258 | -import uqrcode from '@/components/Sansnn-uQRCode_4.0.6/components/uqrcode/uqrcode.vue'; | |
| 259 | -import clashDisposalDispatch from '@/components/clash-disposal-dispatch/index.vue'; | |
| 260 | -import clashDriverDispatch from '@/components/clash-driver-dispatch/index.vue'; | |
| 261 | -import zStatic from '@/components/z-paging/js/z-paging-static'; | |
| 262 | -import { useMainStore } from '@/stores/index.js'; | |
| 263 | -import { onLoad, onShow } from '@dcloudio/uni-app'; | |
| 264 | -import { computed, ref } from 'vue'; | |
| 265 | -const paramFrom = ref({ | |
| 266 | - carNumber: 0, | |
| 267 | - carType: "" | |
| 268 | -}) | |
| 269 | -const garCarInfoList = ref({}) | |
| 270 | -const carPopupShowFlag = ref(false) | |
| 271 | -const isOnloadIn = ref(false) | |
| 272 | -const clashDriverDispatchRef = ref() | |
| 273 | -const clashDisposalDispatchRef = ref() | |
| 274 | -const driverPersonnelList = ref([]) | |
| 275 | -const disposalPersonnelList = ref([]) | |
| 276 | -const store = useMainStore(); | |
| 277 | -const userType = computed(() => store.userType) | |
| 278 | -const dataGram = ref(); | |
| 279 | -const orderId = ref(null) | |
| 280 | -const currentImages = ref([]) | |
| 281 | -const putOnImages = ref([]) | |
| 282 | -const putDownImages = ref([]) | |
| 283 | -const emptyBase64Image = ref(zStatic.base64Empty) | |
| 284 | -const showUQRcode = ref(false) | |
| 285 | -const spaceStr = ref("") | |
| 286 | -const cancelShow = ref(false) | |
| 287 | -const currentCancelName = ref("") | |
| 288 | -const qrCodeRef = ref() | |
| 289 | -const qrCodeText = ref() | |
| 290 | -const candidates = ref([]) | |
| 291 | -const garCarLabelInfoList = ref({}) | |
| 292 | -const garCarLabelInfoNow = ref() | |
| 293 | -const list = computed(() => { | |
| 294 | - let reason = [ | |
| 295 | - { | |
| 296 | - name: '订单信息填写有误', | |
| 297 | - }, | |
| 298 | - { | |
| 299 | - name: '线下协商有问题', | |
| 300 | - }, | |
| 301 | - { | |
| 302 | - name: '不需要清运了', | |
| 303 | - }, | |
| 304 | - { | |
| 305 | - name: '其他', | |
| 306 | - }, | |
| 307 | - { | |
| 308 | - name: '提交', | |
| 309 | - } | |
| 310 | - ] | |
| 311 | - if (userType.value === '用户') { | |
| 312 | - reason.unshift({ | |
| 313 | - name: '长时间无人接单', | |
| 314 | - }) | |
| 315 | - } | |
| 316 | - return reason | |
| 317 | -}) | |
| 318 | - | |
| 319 | -const handlePopupClick = (val) => { | |
| 320 | - carPopupShowFlag.value = val | |
| 321 | -} | |
| 322 | -// 创建二维码 | |
| 323 | -const createQrCodeLocal = (orderId) => { | |
| 324 | - // 获取本地地址拼接订单id | |
| 325 | - showUQRcode.value = true; | |
| 326 | - const hostname = window.location.hostname; | |
| 327 | - const port = window.location.port; | |
| 328 | - const protocol = window.location.protocol; | |
| 329 | - const localAddress = `${protocol}//${hostname}:${port}`; | |
| 330 | - // const localAddress = `http://localhost:5173`; | |
| 331 | - qrCodeText.value = localAddress + "/pages/order-info/order-other/guest/index?orderId=" + orderId; | |
| 332 | - console.log(qrCodeRef.value); | |
| 333 | -} | |
| 334 | -// 获取二维码 | |
| 335 | -const handleQrCodeClick = (orderId) => { | |
| 336 | - // 微信小程序可用 | |
| 337 | - // #ifdef MP-WEIXIN | |
| 338 | - createQrCode(orderId).then((res) => { | |
| 339 | - if (res.data.success) { | |
| 340 | - uni.previewImage({ | |
| 341 | - urls: [res.data.data], | |
| 342 | - longPressActions: { | |
| 343 | - itemList: ['发送给朋友', '保存图片', '收藏'], | |
| 344 | - success: function (res) { | |
| 345 | - console.log('选中了第' + (res.tapIndex + 1) + '个按钮'); | |
| 346 | - }, | |
| 347 | - fail: function (res) { | |
| 348 | - console.log(res); | |
| 349 | - } | |
| 350 | - } | |
| 351 | - }) | |
| 352 | - } | |
| 353 | - }) | |
| 354 | - // #endif | |
| 355 | - // H5 | |
| 356 | - // #ifdef H5 | |
| 357 | - createQrCodeLocal(orderId) | |
| 358 | - // #endif | |
| 359 | -} | |
| 360 | - | |
| 361 | -const handleOrderDispatchClick = (orderId) => { | |
| 362 | - // 获取驾驶员人员 | |
| 363 | - queryOrderDispatch(orderId).then(res => { | |
| 364 | - if (res.data.success) { | |
| 365 | - // 过滤车辆 非用户选择的车辆无法选中 | |
| 366 | - | |
| 367 | - driverPersonnelList.value = res.data.data | |
| 368 | - clashDriverDispatchRef.value.open(res.data.data) | |
| 369 | - } else { | |
| 370 | - uni.$u.toast("驾驶员分配成功!") | |
| 371 | - } | |
| 372 | - }) | |
| 373 | -} | |
| 374 | -const handleDisposalDispatchClick = (orderId) => { | |
| 375 | - // 获取处置场所人员 | |
| 376 | - queryDisposalDispatch(orderId).then(res => { | |
| 377 | - if (res.data.success) { | |
| 378 | - disposalPersonnelList.value = res.data.data | |
| 379 | - clashDisposalDispatchRef.value.open(res.data.data) | |
| 380 | - } else { | |
| 381 | - uni.$u.toast("处理场所分配成功!") | |
| 382 | - } | |
| 383 | - }) | |
| 384 | -} | |
| 385 | - | |
| 386 | - | |
| 387 | - | |
| 388 | -const handleClose = (e) => { | |
| 389 | - cancelShow.value = false | |
| 390 | -} | |
| 391 | -const handleEvaluateDetail = (orderId, userType) => { | |
| 392 | - uni.$u.route(`pages/order-info/order-other/evaluate-info/index`, | |
| 393 | - { orderId: orderId, userType: userType }) | |
| 394 | -} | |
| 395 | -const selectClick = (index) => { | |
| 396 | - currentCancelName.value = index.name; | |
| 397 | -} | |
| 398 | -const handleOrderDetail = (orderId) => { | |
| 399 | - queryOrderDetail(orderId).then(res => { | |
| 400 | - dataGram.value = res.data.data; | |
| 401 | - console.log(res.data.data); | |
| 402 | - currentImages.value = res.data.data.currentImages.map(item => { | |
| 403 | - return { url: import.meta.env.VITE_BASE_URL + item }; | |
| 404 | - }); | |
| 405 | - putOnImages.value = res.data.data.putOnImages.map(item => { | |
| 406 | - return { url: import.meta.env.VITE_BASE_URL + item }; | |
| 407 | - }); | |
| 408 | - putDownImages.value = res.data.data.putDownImages.map(item => { | |
| 409 | - return { url: import.meta.env.VITE_BASE_URL + item }; | |
| 410 | - }); | |
| 411 | - }) | |
| 412 | -} | |
| 413 | -/** | |
| 414 | - * 拨打电话回调 | |
| 415 | - */ | |
| 416 | -const handleContactClick = (val) => { | |
| 417 | - uni.makePhoneCall({ phoneNumber: val }).then(res => { | |
| 418 | - }).catch(err => { }); | |
| 419 | -} | |
| 420 | - | |
| 421 | -const handlerJumpOtherApp = (latitude, longitude, garCoordinate) => { | |
| 422 | - console.log(latitude+"=================>"+longitude); | |
| 423 | - // 给出提示确定要跳转吗 | |
| 424 | - uni.showModal({ | |
| 425 | - title: '提示', | |
| 426 | - content: '是否跳转到app定位进行导航?', | |
| 427 | - success: function (res) { | |
| 428 | - if (res.confirm) { | |
| 429 | - uni.openLocation({ | |
| 430 | - latitude: latitude, | |
| 431 | - longitude: longitude, | |
| 432 | - success: function () { | |
| 433 | - console.log('success'); | |
| 434 | - } | |
| 435 | - }); | |
| 436 | - } | |
| 437 | - } | |
| 438 | - }) | |
| 439 | -} | |
| 440 | - | |
| 441 | -/** | |
| 442 | - * 取消订单 | |
| 443 | - * @param {*} orderId | |
| 444 | - */ | |
| 445 | -const handleOderCancelClick = () => { | |
| 446 | - cancelShow.value = true; | |
| 447 | -} | |
| 448 | - | |
| 449 | -/** | |
| 450 | - * 提交取消订单 | |
| 451 | - */ | |
| 452 | -const submitFunction = (otherReason) => { | |
| 453 | - let reason = otherReason | |
| 454 | - if (currentCancelName.value != "其他") { | |
| 455 | - reason = currentCancelName.value | |
| 456 | - } | |
| 457 | - if (!reason) { | |
| 458 | - uni.$u.toast("请提供取消订单的原因") | |
| 459 | - return | |
| 460 | - } | |
| 461 | - let params = { | |
| 462 | - garOrderId: orderId.value, | |
| 463 | - garCancelFlag: 1, | |
| 464 | - garReason: reason | |
| 465 | - } | |
| 466 | - updateOrder(params).then(res => { | |
| 467 | - if (res.data.success) { | |
| 468 | - cancelShow.value = false | |
| 469 | - uni.$u.toast(res.data.data) | |
| 470 | - uni.$u.route({ | |
| 471 | - type: "reLaunch", | |
| 472 | - url: `pages/order/index`, | |
| 473 | - }) | |
| 474 | - } | |
| 475 | - }) | |
| 476 | -} | |
| 477 | -// 提交完成 | |
| 478 | -const handleSubmitSuccess = (orderId) => { | |
| 479 | - uni.showModal({ | |
| 480 | - title: '提示', | |
| 481 | - content: '订单已经清运完成了吗?', | |
| 482 | - success: function (res) { | |
| 483 | - if (res.confirm) { | |
| 484 | - updateOrder({ garOrderId: orderId, handleType: 3 }).then(res => { | |
| 485 | - if (res.data.success) { | |
| 486 | - uni.$u.toast("已完成") | |
| 487 | - handleOrderDetail(orderId) | |
| 488 | - } | |
| 489 | - }) | |
| 490 | - } else if (res.cancel) { | |
| 491 | - } | |
| 492 | - } | |
| 493 | - }); | |
| 494 | - | |
| 495 | -} | |
| 496 | -const handleEvaluate = (orderId, userType) => { | |
| 497 | - uni.$u.route(`pages/order-info/order-other/evaluate/index?orderId=${orderId}&userType=${userType}`) | |
| 498 | -} | |
| 499 | - | |
| 500 | -// 接收订单 | |
| 501 | -const handleOrder = (orderId) => { | |
| 502 | - updateOrder({ garOrderId: orderId, handleType: 0 }).then(res => { | |
| 503 | - if (res.data.success) { | |
| 504 | - if (res.data.data === "订单已经被别人接受啦") { | |
| 505 | - uni.$u.toast(res.data.data) | |
| 506 | - uni.$u.route({ | |
| 507 | - type: "reLaunch", | |
| 508 | - url: `pages/order/index`, | |
| 509 | - }) | |
| 510 | - } else { | |
| 511 | - uni.$u.toast(res.data.data) | |
| 512 | - handleOrderDetail(orderId) | |
| 513 | - } | |
| 514 | - } | |
| 515 | - }) | |
| 516 | -} | |
| 517 | - | |
| 518 | -const currentStep = (step) => { | |
| 519 | - if (step > 2) { | |
| 520 | - return step - 1; | |
| 521 | - } | |
| 522 | - return step; | |
| 523 | -} | |
| 524 | - | |
| 525 | -/** | |
| 526 | - * 清运状态 | |
| 527 | - * @param {*} status | |
| 528 | - */ | |
| 529 | -const cleanStatus = (status) => { | |
| 530 | - if (dataGram.garCancelFlag === 1) { | |
| 531 | - return '取消清运'; | |
| 532 | - } | |
| 533 | - switch (status) { | |
| 534 | - case 0: | |
| 535 | - return '准备清运'; | |
| 536 | - case 1: | |
| 537 | - return '正在清运'; | |
| 538 | - case 3: | |
| 539 | - return '清运完成'; | |
| 540 | - } | |
| 541 | -} | |
| 542 | - | |
| 543 | -const handleDisposalDispatchConfirm = (val) => { | |
| 544 | - console.log(val); | |
| 545 | - if (!val) { | |
| 546 | - return | |
| 547 | - } | |
| 548 | - let data = { | |
| 549 | - garOrderId: orderId.value, | |
| 550 | - dispatchList: [] | |
| 551 | - } | |
| 552 | - for (const key in val) { | |
| 553 | - data.dispatchList.push({ | |
| 554 | - ...val[key] | |
| 555 | - }); | |
| 556 | - } | |
| 557 | - console.log(data); | |
| 558 | - dispatchDisposalOrders(data).then(res => { | |
| 559 | - if (res.data.success) { | |
| 560 | - uni.$u.toast(res.data.msg) | |
| 561 | - } else { | |
| 562 | - uni.$u.toast("指定人员失败,请重试") | |
| 563 | - } | |
| 564 | - clashDriverDispatchRef.value.close() | |
| 565 | - }) | |
| 566 | -} | |
| 567 | - | |
| 568 | -const handlerUpdateOrderClick = () => { | |
| 569 | - carPopupShowFlag.value = true; | |
| 570 | - // TODO 照搬一键清运得弹窗 | |
| 571 | - console.log("点击了修改订单按钮"); | |
| 572 | - // TODO | |
| 573 | - queryCarList({ | |
| 574 | - companyId: dataGram.value.garOrderCompanyId | |
| 575 | - }).then(res => { | |
| 576 | - // 设置车辆类型 | |
| 577 | - candidates.value = [[...new Set(res.data.rows | |
| 578 | - .filter(item => item.containerVolume) | |
| 579 | - .map(item => { | |
| 580 | - garCarLabelInfoList.value[item.carType] = item | |
| 581 | - return item.carType | |
| 582 | - })) | |
| 583 | - ]]; | |
| 584 | - // 设置初始车辆数量 | |
| 585 | - candidates.value[0].forEach((item, index) => { | |
| 586 | - garCarInfoList.value[item] = { | |
| 587 | - garOrderCarNumber: 0, | |
| 588 | - garOrderCarType: item, | |
| 589 | - id: garCarLabelInfoList.value[item].id, | |
| 590 | - containerVolume: garCarLabelInfoList.value[item].containerVolume | |
| 591 | - } | |
| 592 | - }) | |
| 593 | - // 设置默认车辆 | |
| 594 | - paramFrom.value.carType = candidates.value[0][0]; | |
| 595 | - garCarLabelInfoNow.value = garCarLabelInfoList.value[paramFrom.value.carType] | |
| 596 | - console.log(garCarLabelInfoList.value, garCarInfoList.value, paramFrom.value.carType); | |
| 597 | - }) | |
| 598 | -} | |
| 599 | -// 指定人员 | |
| 600 | -const handleDriverDispatchConfirm = (val) => { | |
| 601 | - console.log(val); | |
| 602 | - if (!val) { | |
| 603 | - return | |
| 604 | - } | |
| 605 | - let data = { | |
| 606 | - garOrderId: orderId.value, | |
| 607 | - dispatchList: [] | |
| 608 | - } | |
| 609 | - for (const key in val) { | |
| 610 | - data.dispatchList.push({ | |
| 611 | - ...val[key] | |
| 612 | - }); | |
| 613 | - } | |
| 614 | - console.log(data); | |
| 615 | - dispatchOrders(data).then(res => { | |
| 616 | - if (res.data.success) { | |
| 617 | - uni.$u.toast(res.data.msg) | |
| 618 | - } else { | |
| 619 | - uni.$u.toast("指定人员失败,请重试") | |
| 620 | - } | |
| 621 | - clashDriverDispatchRef.value.close() | |
| 622 | - }) | |
| 623 | -} | |
| 624 | - | |
| 625 | -const submitUpdateCarInfo = () => { | |
| 626 | - let garCarInfos = []; | |
| 627 | - for (const key in garCarInfoList.value) { | |
| 628 | - garCarInfos.push(garCarInfoList.value[key]) | |
| 629 | - } | |
| 630 | - | |
| 631 | - let data = { | |
| 632 | - garOrderId: orderId.value, | |
| 633 | - garCarInfoList: garCarInfos, | |
| 634 | - updated: true | |
| 635 | - } | |
| 636 | - if(dataGram.value.garOrderAgreementTime){ | |
| 637 | - let index = dataGram.value.garOrderAgreementTime.indexOf(' ')+1; | |
| 638 | - if(index > 0){ | |
| 639 | - let val = dataGram.value.garOrderAgreementTime.substring(index,dataGram.value.garOrderAgreementTime.length); | |
| 640 | - | |
| 641 | - | |
| 642 | - if(val == "07:00-08:00" || val == "08:00-09:00"|| val == "09:00-10:00" || val == "10:00-11:00" || val == "11:00-12:00"|| val == "12:00-13:00" || val == "13:00-14:00" | |
| 643 | - || val == "14:00-15:00" || val == "15:00-16:00"|| val == "16:00-17:00"|| val == "17:00-18:00" || val == "18:00-19:00"|| val == "19:00-20:00"|| val == "20:00-21:00" | |
| 644 | - || val == "21:00-22:00"){ | |
| 645 | - let size = garCarInfos.length; | |
| 646 | - for (let index = 0; index < size; index++) { | |
| 647 | - if((garCarInfos[index].containerVolume=="8" || parseInt(garCarInfos[index].containerVolume) >=8) && garCarInfos[index].garOrderCarNumber > 0){ | |
| 648 | - console.log(garCarInfos[index]); | |
| 649 | - | |
| 650 | - jumpPrompt("中大型车辆只能选择22:00-07:00时间段"); | |
| 651 | - return; | |
| 652 | - } | |
| 653 | - | |
| 654 | - } | |
| 655 | - } | |
| 656 | - | |
| 657 | - } | |
| 658 | - | |
| 659 | - } | |
| 660 | - console.log(dataGram.value.garOrderAgreementTime ); | |
| 661 | - console.log(garCarInfos); | |
| 662 | - console.log("=================================>"); | |
| 663 | - | |
| 664 | - | |
| 665 | - updateOrder(data).then(res => { | |
| 666 | - if (res.data.code == 200) { | |
| 667 | - uni.$u.toast("车辆信息修改成功") | |
| 668 | - // 更新数据 | |
| 669 | - handleOrderDetail(orderId.value) | |
| 670 | - // 关闭弹窗 | |
| 671 | - carPopupShowFlag.value = false | |
| 672 | - } | |
| 673 | - }).catch(err => { | |
| 674 | - uni.$u.toast("修改失败,请重试") | |
| 675 | - }) | |
| 676 | -} | |
| 677 | - | |
| 678 | - | |
| 679 | - | |
| 680 | -const jumpPrompt = (msg) => { | |
| 681 | - uni.showModal({ | |
| 682 | - title: '提示', | |
| 683 | - content: msg, | |
| 684 | - showCancel: false, | |
| 685 | - success: function (res) { | |
| 686 | - if (res.confirm) { | |
| 687 | - } else if (res.cancel) { | |
| 688 | - } | |
| 689 | - } | |
| 690 | - }); | |
| 691 | -} | |
| 692 | - | |
| 693 | -/** | |
| 694 | - * 初始化信息 | |
| 695 | - */ | |
| 696 | -onLoad((options) => { | |
| 697 | - orderId.value = options.orderId | |
| 698 | - handleOrderDetail(orderId.value) | |
| 699 | -}) | |
| 700 | - | |
| 701 | -onShow(() => { | |
| 702 | - try { | |
| 703 | - if (isOnloadIn.value) { | |
| 704 | - handleOrderDetail(orderId.value) | |
| 705 | - } else { | |
| 706 | - isOnloadIn.value = true | |
| 707 | - } | |
| 708 | - } catch (error) { | |
| 709 | - console.log(error); | |
| 710 | - } | |
| 711 | -}) | |
| 256 | + import { | |
| 257 | + queryCarList | |
| 258 | + } from '@/apis/carinfo.js'; | |
| 259 | + import { | |
| 260 | + dispatchDisposalOrders, | |
| 261 | + dispatchOrders, | |
| 262 | + queryDisposalDispatch, | |
| 263 | + queryOrderDetail, | |
| 264 | + queryOrderDispatch, | |
| 265 | + updateOrder | |
| 266 | + } from "@/apis/order.js"; | |
| 267 | + import { | |
| 268 | + createQrCode | |
| 269 | + } from '@/apis/qrcode.js'; | |
| 270 | + import uqrcode from '@/components/Sansnn-uQRCode_4.0.6/components/uqrcode/uqrcode.vue'; | |
| 271 | + import clashDisposalDispatch from '@/components/clash-disposal-dispatch/index.vue'; | |
| 272 | + import clashDriverDispatch from '@/components/clash-driver-dispatch/index.vue'; | |
| 273 | + import zStatic from '@/components/z-paging/js/z-paging-static'; | |
| 274 | + import { | |
| 275 | + useMainStore | |
| 276 | + } from '@/stores/index.js'; | |
| 277 | + import { | |
| 278 | + onLoad, | |
| 279 | + onShow | |
| 280 | + } from '@dcloudio/uni-app'; | |
| 281 | + import { | |
| 282 | + computed, | |
| 283 | + ref | |
| 284 | + } from 'vue'; | |
| 285 | + const paramFrom = ref({ | |
| 286 | + carNumber: 0, | |
| 287 | + carType: "" | |
| 288 | + }) | |
| 289 | + const garCarInfoList = ref({}) | |
| 290 | + const carPopupShowFlag = ref(false) | |
| 291 | + const isOnloadIn = ref(false) | |
| 292 | + const clashDriverDispatchRef = ref() | |
| 293 | + const clashDisposalDispatchRef = ref() | |
| 294 | + const driverPersonnelList = ref([]) | |
| 295 | + const disposalPersonnelList = ref([]) | |
| 296 | + const store = useMainStore(); | |
| 297 | + const userType = computed(() => store.userType) | |
| 298 | + const dataGram = ref(); | |
| 299 | + const orderId = ref(null) | |
| 300 | + const currentImages = ref([]) | |
| 301 | + const putOnImages = ref([]) | |
| 302 | + const putDownImages = ref([]) | |
| 303 | + const emptyBase64Image = ref(zStatic.base64Empty) | |
| 304 | + const showUQRcode = ref(false) | |
| 305 | + const spaceStr = ref("") | |
| 306 | + const cancelShow = ref(false) | |
| 307 | + const currentCancelName = ref("") | |
| 308 | + const qrCodeRef = ref() | |
| 309 | + const qrCodeText = ref() | |
| 310 | + const candidates = ref([]) | |
| 311 | + const garCarLabelInfoList = ref({}) | |
| 312 | + const garCarLabelInfoNow = ref() | |
| 313 | + const list = computed(() => { | |
| 314 | + let reason = [{ | |
| 315 | + name: '订单信息填写有误', | |
| 316 | + }, | |
| 317 | + { | |
| 318 | + name: '线下协商有问题', | |
| 319 | + }, | |
| 320 | + { | |
| 321 | + name: '不需要清运了', | |
| 322 | + }, | |
| 323 | + { | |
| 324 | + name: '其他', | |
| 325 | + }, | |
| 326 | + { | |
| 327 | + name: '提交', | |
| 328 | + } | |
| 329 | + ] | |
| 330 | + if (userType.value === '用户') { | |
| 331 | + reason.unshift({ | |
| 332 | + name: '长时间无人接单', | |
| 333 | + }) | |
| 334 | + } | |
| 335 | + return reason | |
| 336 | + }) | |
| 337 | + | |
| 338 | + const handlePopupClick = (val) => { | |
| 339 | + carPopupShowFlag.value = val | |
| 340 | + } | |
| 341 | + // 创建二维码 | |
| 342 | + const createQrCodeLocal = (orderId) => { | |
| 343 | + // 获取本地地址拼接订单id | |
| 344 | + showUQRcode.value = true; | |
| 345 | + const hostname = window.location.hostname; | |
| 346 | + const port = window.location.port; | |
| 347 | + const protocol = window.location.protocol; | |
| 348 | + const localAddress = `${protocol}//${hostname}:${port}`; | |
| 349 | + // const localAddress = `http://localhost:5173`; | |
| 350 | + qrCodeText.value = localAddress + "/pages/order-info/order-other/guest/index?orderId=" + orderId; | |
| 351 | + console.log(qrCodeRef.value); | |
| 352 | + } | |
| 353 | + // 获取二维码 | |
| 354 | + const handleQrCodeClick = (orderId) => { | |
| 355 | + // 微信小程序可用 | |
| 356 | + // #ifdef MP-WEIXIN | |
| 357 | + createQrCode(orderId).then((res) => { | |
| 358 | + if (res.data.success) { | |
| 359 | + uni.previewImage({ | |
| 360 | + urls: [res.data.data], | |
| 361 | + longPressActions: { | |
| 362 | + itemList: ['发送给朋友', '保存图片', '收藏'], | |
| 363 | + success: function(res) { | |
| 364 | + console.log('选中了第' + (res.tapIndex + 1) + '个按钮'); | |
| 365 | + }, | |
| 366 | + fail: function(res) { | |
| 367 | + console.log(res); | |
| 368 | + } | |
| 369 | + } | |
| 370 | + }) | |
| 371 | + } | |
| 372 | + }) | |
| 373 | + // #endif | |
| 374 | + // H5 | |
| 375 | + // #ifdef H5 | |
| 376 | + createQrCodeLocal(orderId) | |
| 377 | + // #endif | |
| 378 | + } | |
| 379 | + | |
| 380 | + const handleOrderDispatchClick = (orderId) => { | |
| 381 | + // 获取驾驶员人员 | |
| 382 | + queryOrderDispatch(orderId).then(res => { | |
| 383 | + console.log(res.data.data); | |
| 384 | + if (res.data.success) { | |
| 385 | + // 过滤车辆 非用户选择的车辆无法选中 | |
| 386 | + driverPersonnelList.value = res.data.data | |
| 387 | + clashDriverDispatchRef.value.open(res.data.data) | |
| 388 | + } else { | |
| 389 | + uni.$u.toast("驾驶员分配成功!") | |
| 390 | + } | |
| 391 | + }) | |
| 392 | + } | |
| 393 | + const handleDisposalDispatchClick = (orderId) => { | |
| 394 | + // 获取处置场所人员 | |
| 395 | + queryDisposalDispatch(orderId).then(res => { | |
| 396 | + if (res.data.success) { | |
| 397 | + disposalPersonnelList.value = res.data.data | |
| 398 | + clashDisposalDispatchRef.value.open(res.data.data) | |
| 399 | + } else { | |
| 400 | + uni.$u.toast("处理场所分配成功!") | |
| 401 | + } | |
| 402 | + }) | |
| 403 | + } | |
| 404 | + | |
| 405 | + | |
| 406 | + | |
| 407 | + const handleClose = (e) => { | |
| 408 | + cancelShow.value = false | |
| 409 | + } | |
| 410 | + const handleEvaluateDetail = (orderId, userType) => { | |
| 411 | + uni.$u.route(`pages/order-info/order-other/evaluate-info/index`, { | |
| 412 | + orderId: orderId, | |
| 413 | + userType: userType | |
| 414 | + }) | |
| 415 | + } | |
| 416 | + const selectClick = (index) => { | |
| 417 | + currentCancelName.value = index.name; | |
| 418 | + } | |
| 419 | + const handleOrderDetail = (orderId) => { | |
| 420 | + queryOrderDetail(orderId).then(res => { | |
| 421 | + dataGram.value = res.data.data; | |
| 422 | + console.log(res.data.data); | |
| 423 | + currentImages.value = res.data.data.currentImages.map(item => { | |
| 424 | + return { | |
| 425 | + url: import.meta.env.VITE_BASE_URL + item | |
| 426 | + }; | |
| 427 | + }); | |
| 428 | + putOnImages.value = res.data.data.putOnImages.map(item => { | |
| 429 | + return { | |
| 430 | + url: import.meta.env.VITE_BASE_URL + item | |
| 431 | + }; | |
| 432 | + }); | |
| 433 | + putDownImages.value = res.data.data.putDownImages.map(item => { | |
| 434 | + return { | |
| 435 | + url: import.meta.env.VITE_BASE_URL + item | |
| 436 | + }; | |
| 437 | + }); | |
| 438 | + }) | |
| 439 | + } | |
| 440 | + /** | |
| 441 | + * 拨打电话回调 | |
| 442 | + */ | |
| 443 | + const handleContactClick = (val) => { | |
| 444 | + uni.makePhoneCall({ | |
| 445 | + phoneNumber: val | |
| 446 | + }).then(res => {}).catch(err => {}); | |
| 447 | + } | |
| 448 | + | |
| 449 | + const handlerJumpOtherApp = (latitude, longitude, garCoordinate) => { | |
| 450 | + console.log(latitude + "=================>" + longitude); | |
| 451 | + // 给出提示确定要跳转吗 | |
| 452 | + uni.showModal({ | |
| 453 | + title: '提示', | |
| 454 | + content: '是否跳转到app定位进行导航?', | |
| 455 | + success: function(res) { | |
| 456 | + if (res.confirm) { | |
| 457 | + uni.openLocation({ | |
| 458 | + latitude: latitude, | |
| 459 | + longitude: longitude, | |
| 460 | + success: function() { | |
| 461 | + console.log('success'); | |
| 462 | + } | |
| 463 | + }); | |
| 464 | + } | |
| 465 | + } | |
| 466 | + }) | |
| 467 | + } | |
| 468 | + | |
| 469 | + /** | |
| 470 | + * 取消订单 | |
| 471 | + * @param {*} orderId | |
| 472 | + */ | |
| 473 | + const handleOderCancelClick = () => { | |
| 474 | + cancelShow.value = true; | |
| 475 | + } | |
| 476 | + | |
| 477 | + /** | |
| 478 | + * 提交取消订单 | |
| 479 | + */ | |
| 480 | + const submitFunction = (otherReason) => { | |
| 481 | + let reason = otherReason | |
| 482 | + if (currentCancelName.value != "其他") { | |
| 483 | + reason = currentCancelName.value | |
| 484 | + } | |
| 485 | + if (!reason) { | |
| 486 | + uni.$u.toast("请提供取消订单的原因") | |
| 487 | + return | |
| 488 | + } | |
| 489 | + let params = { | |
| 490 | + garOrderId: orderId.value, | |
| 491 | + garCancelFlag: 1, | |
| 492 | + garReason: reason | |
| 493 | + } | |
| 494 | + updateOrder(params).then(res => { | |
| 495 | + if (res.data.success) { | |
| 496 | + cancelShow.value = false | |
| 497 | + uni.$u.toast(res.data.data) | |
| 498 | + uni.$u.route({ | |
| 499 | + type: "reLaunch", | |
| 500 | + url: `pages/order/index`, | |
| 501 | + }) | |
| 502 | + } | |
| 503 | + }) | |
| 504 | + } | |
| 505 | + // 提交完成 | |
| 506 | + const handleSubmitSuccess = (orderId) => { | |
| 507 | + uni.showModal({ | |
| 508 | + title: '提示', | |
| 509 | + content: '订单已经清运完成了吗?', | |
| 510 | + success: function(res) { | |
| 511 | + if (res.confirm) { | |
| 512 | + updateOrder({ | |
| 513 | + garOrderId: orderId, | |
| 514 | + handleType: 3 | |
| 515 | + }).then(res => { | |
| 516 | + if (res.data.success) { | |
| 517 | + uni.$u.toast("已完成") | |
| 518 | + handleOrderDetail(orderId) | |
| 519 | + } | |
| 520 | + }) | |
| 521 | + } else if (res.cancel) {} | |
| 522 | + } | |
| 523 | + }); | |
| 524 | + | |
| 525 | + } | |
| 526 | + const handleEvaluate = (orderId, userType) => { | |
| 527 | + uni.$u.route(`pages/order-info/order-other/evaluate/index?orderId=${orderId}&userType=${userType}`) | |
| 528 | + } | |
| 529 | + | |
| 530 | + // 接收订单 | |
| 531 | + const handleOrder = (orderId) => { | |
| 532 | + updateOrder({ | |
| 533 | + garOrderId: orderId, | |
| 534 | + handleType: 0 | |
| 535 | + }).then(res => { | |
| 536 | + if (res.data.success) { | |
| 537 | + if (res.data.data === "订单已经被别人接受啦") { | |
| 538 | + uni.$u.toast(res.data.data) | |
| 539 | + uni.$u.route({ | |
| 540 | + type: "reLaunch", | |
| 541 | + url: `pages/order/index`, | |
| 542 | + }) | |
| 543 | + } else { | |
| 544 | + uni.$u.toast(res.data.data) | |
| 545 | + handleOrderDetail(orderId) | |
| 546 | + } | |
| 547 | + } | |
| 548 | + }) | |
| 549 | + } | |
| 550 | + | |
| 551 | + const currentStep = (step) => { | |
| 552 | + if (step > 2) { | |
| 553 | + return step - 1; | |
| 554 | + } | |
| 555 | + return step; | |
| 556 | + } | |
| 557 | + | |
| 558 | + /** | |
| 559 | + * 清运状态 | |
| 560 | + * @param {*} status | |
| 561 | + */ | |
| 562 | + const cleanStatus = (status) => { | |
| 563 | + if (dataGram.garCancelFlag === 1) { | |
| 564 | + return '取消清运'; | |
| 565 | + } | |
| 566 | + switch (status) { | |
| 567 | + case 0: | |
| 568 | + return '准备清运'; | |
| 569 | + case 1: | |
| 570 | + return '正在清运'; | |
| 571 | + case 3: | |
| 572 | + return '清运完成'; | |
| 573 | + } | |
| 574 | + } | |
| 575 | + | |
| 576 | + const handleDisposalDispatchConfirm = (val) => { | |
| 577 | + console.log(val); | |
| 578 | + if (!val) { | |
| 579 | + return | |
| 580 | + } | |
| 581 | + let data = { | |
| 582 | + garOrderId: orderId.value, | |
| 583 | + dispatchList: [] | |
| 584 | + } | |
| 585 | + for (const key in val) { | |
| 586 | + data.dispatchList.push({ | |
| 587 | + ...val[key] | |
| 588 | + }); | |
| 589 | + } | |
| 590 | + console.log(data); | |
| 591 | + dispatchDisposalOrders(data).then(res => { | |
| 592 | + if (res.data.success) { | |
| 593 | + uni.$u.toast(res.data.msg) | |
| 594 | + } else { | |
| 595 | + uni.$u.toast("指定人员失败,请重试") | |
| 596 | + } | |
| 597 | + clashDriverDispatchRef.value.close() | |
| 598 | + }) | |
| 599 | + } | |
| 600 | + | |
| 601 | + const handlerUpdateOrderClick = () => { | |
| 602 | + carPopupShowFlag.value = true; | |
| 603 | + // TODO 照搬一键清运得弹窗 | |
| 604 | + console.log("点击了修改订单按钮"); | |
| 605 | + // TODO | |
| 606 | + queryCarList({ | |
| 607 | + companyId: dataGram.value.garOrderCompanyId | |
| 608 | + }).then(res => { | |
| 609 | + // 设置车辆类型 | |
| 610 | + candidates.value = [ | |
| 611 | + [...new Set(res.data.rows | |
| 612 | + .filter(item => item.containerVolume) | |
| 613 | + .map(item => { | |
| 614 | + garCarLabelInfoList.value[item.carType] = item | |
| 615 | + return item.carType | |
| 616 | + }))] | |
| 617 | + ]; | |
| 618 | + // 设置初始车辆数量 | |
| 619 | + candidates.value[0].forEach((item, index) => { | |
| 620 | + garCarInfoList.value[item] = { | |
| 621 | + garOrderCarNumber: 0, | |
| 622 | + garOrderCarType: item, | |
| 623 | + id: garCarLabelInfoList.value[item].id, | |
| 624 | + containerVolume: garCarLabelInfoList.value[item].containerVolume | |
| 625 | + } | |
| 626 | + }) | |
| 627 | + // 设置默认车辆 | |
| 628 | + paramFrom.value.carType = candidates.value[0][0]; | |
| 629 | + garCarLabelInfoNow.value = garCarLabelInfoList.value[paramFrom.value.carType] | |
| 630 | + console.log(garCarLabelInfoList.value, garCarInfoList.value, paramFrom.value.carType); | |
| 631 | + }) | |
| 632 | + } | |
| 633 | + // 指定人员 | |
| 634 | + const handleDriverDispatchConfirm = (val) => { | |
| 635 | + console.log(val); | |
| 636 | + if (!val) { | |
| 637 | + return | |
| 638 | + } | |
| 639 | + let data = { | |
| 640 | + garOrderId: orderId.value, | |
| 641 | + dispatchList: [] | |
| 642 | + } | |
| 643 | + for (const key in val) { | |
| 644 | + data.dispatchList.push({ | |
| 645 | + ...val[key] | |
| 646 | + }); | |
| 647 | + } | |
| 648 | + console.log(data); | |
| 649 | + dispatchOrders(data).then(res => { | |
| 650 | + if (res.data.success) { | |
| 651 | + uni.$u.toast(res.data.msg) | |
| 652 | + } else { | |
| 653 | + uni.$u.toast("指定人员失败,请重试") | |
| 654 | + } | |
| 655 | + clashDriverDispatchRef.value.close() | |
| 656 | + }) | |
| 657 | + } | |
| 658 | + | |
| 659 | + const submitUpdateCarInfo = () => { | |
| 660 | + let garCarInfos = []; | |
| 661 | + for (const key in garCarInfoList.value) { | |
| 662 | + garCarInfos.push(garCarInfoList.value[key]) | |
| 663 | + } | |
| 664 | + | |
| 665 | + let data = { | |
| 666 | + garOrderId: orderId.value, | |
| 667 | + garCarInfoList: garCarInfos, | |
| 668 | + updated: true | |
| 669 | + } | |
| 670 | + if (dataGram.value.garOrderAgreementTime) { | |
| 671 | + let index = dataGram.value.garOrderAgreementTime.indexOf(' ') + 1; | |
| 672 | + if (index > 0) { | |
| 673 | + let val = dataGram.value.garOrderAgreementTime.substring(index, dataGram.value.garOrderAgreementTime | |
| 674 | + .length); | |
| 675 | + | |
| 676 | + | |
| 677 | + if (val == "07:00-08:00" || val == "08:00-09:00" || val == "09:00-10:00" || val == "10:00-11:00" || | |
| 678 | + val == "11:00-12:00" || val == "12:00-13:00" || val == "13:00-14:00" || | |
| 679 | + val == "14:00-15:00" || val == "15:00-16:00" || val == "16:00-17:00" || val == "17:00-18:00" || | |
| 680 | + val == "18:00-19:00" || val == "19:00-20:00" || val == "20:00-21:00" || | |
| 681 | + val == "21:00-22:00") { | |
| 682 | + let size = garCarInfos.length; | |
| 683 | + for (let index = 0; index < size; index++) { | |
| 684 | + if ((garCarInfos[index].containerVolume == "8" || parseInt(garCarInfos[index] | |
| 685 | + .containerVolume) >= 8) && garCarInfos[index].garOrderCarNumber > 0) { | |
| 686 | + console.log(garCarInfos[index]); | |
| 687 | + | |
| 688 | + jumpPrompt("中大型车辆只能选择22:00-07:00时间段"); | |
| 689 | + return; | |
| 690 | + } | |
| 691 | + | |
| 692 | + } | |
| 693 | + } | |
| 694 | + | |
| 695 | + } | |
| 696 | + | |
| 697 | + } | |
| 698 | + console.log(dataGram.value.garOrderAgreementTime); | |
| 699 | + console.log(garCarInfos); | |
| 700 | + console.log("=================================>"); | |
| 701 | + | |
| 702 | + | |
| 703 | + updateOrder(data).then(res => { | |
| 704 | + if (res.data.code == 200) { | |
| 705 | + uni.$u.toast("车辆信息修改成功") | |
| 706 | + // 更新数据 | |
| 707 | + handleOrderDetail(orderId.value) | |
| 708 | + // 关闭弹窗 | |
| 709 | + carPopupShowFlag.value = false | |
| 710 | + } | |
| 711 | + }).catch(err => { | |
| 712 | + uni.$u.toast("修改失败,请重试") | |
| 713 | + }) | |
| 714 | + } | |
| 715 | + | |
| 716 | + | |
| 717 | + | |
| 718 | + const jumpPrompt = (msg) => { | |
| 719 | + uni.showModal({ | |
| 720 | + title: '提示', | |
| 721 | + content: msg, | |
| 722 | + showCancel: false, | |
| 723 | + success: function(res) { | |
| 724 | + if (res.confirm) {} else if (res.cancel) {} | |
| 725 | + } | |
| 726 | + }); | |
| 727 | + } | |
| 728 | + | |
| 729 | + /** | |
| 730 | + * 初始化信息 | |
| 731 | + */ | |
| 732 | + onLoad((options) => { | |
| 733 | + orderId.value = options.orderId | |
| 734 | + handleOrderDetail(orderId.value) | |
| 735 | + }) | |
| 736 | + | |
| 737 | + onShow(() => { | |
| 738 | + try { | |
| 739 | + if (isOnloadIn.value) { | |
| 740 | + handleOrderDetail(orderId.value) | |
| 741 | + } else { | |
| 742 | + isOnloadIn.value = true | |
| 743 | + } | |
| 744 | + } catch (error) { | |
| 745 | + console.log(error); | |
| 746 | + } | |
| 747 | + }) | |
| 712 | 748 | </script> |
| 713 | 749 | |
| 714 | 750 | <style lang="scss" scoped> |
| 715 | -$custom-marin-bottom: 20rpx; | |
| 716 | -$custom-page-padding: 20rpx; | |
| 717 | -$custom-border-radio: 20rpx; | |
| 718 | -$custom-bottom-height: 200rpx; | |
| 719 | - | |
| 720 | -@mixin card { | |
| 721 | - padding: $custom-page-padding; | |
| 722 | - box-sizing: border-box; | |
| 723 | - background-color: #ffffff; | |
| 724 | - border-radius: $custom-border-radio; | |
| 725 | - margin-bottom: $custom-marin-bottom; | |
| 726 | -} | |
| 727 | - | |
| 728 | -.order-detail-container { | |
| 729 | - height: 100%; | |
| 730 | - width: 100%; | |
| 731 | - background-color: $u-info-light; | |
| 732 | - box-sizing: border-box; | |
| 733 | - overflow-y: scroll; | |
| 734 | - background: linear-gradient(to bottom, #19a97c, $u-info-light, $u-info-light, $u-info-light); | |
| 735 | - | |
| 736 | - | |
| 737 | - .order-detail-container-box { | |
| 738 | - height: 100%; | |
| 739 | - width: 100%; | |
| 740 | - padding: $custom-page-padding; | |
| 741 | - box-sizing: border-box; | |
| 742 | - | |
| 743 | - .order-detail-top { | |
| 744 | - @include card(); | |
| 745 | - | |
| 746 | - .order-detail-top-box { | |
| 747 | - .order-detail-top-box-step { | |
| 748 | - u-steps { | |
| 749 | - u-steps-item {} | |
| 750 | - } | |
| 751 | - } | |
| 752 | - } | |
| 753 | - } | |
| 754 | - | |
| 755 | - .order-detail-container-box-card { | |
| 756 | - @include card(); | |
| 757 | - | |
| 758 | - .order-detail-container-header-card-title { | |
| 759 | - font-weight: bold; | |
| 760 | - line-height: 80rpx; | |
| 761 | - border-bottom: 3rpx solid $u-info-light; | |
| 762 | - margin-bottom: $custom-marin-bottom; | |
| 763 | - color: $u-primary; | |
| 764 | - display: flex; | |
| 765 | - align-items: center; | |
| 766 | - | |
| 767 | - .order-detail-container-header-card-uicon { | |
| 768 | - background-color: $u-primary; | |
| 769 | - margin-right: 10rpx; | |
| 770 | - height: 35rpx; | |
| 771 | - width: 15rpx; | |
| 772 | - } | |
| 773 | - } | |
| 774 | - | |
| 775 | - .order-detail-container-header-item { | |
| 776 | - display: flex; | |
| 777 | - margin-bottom: $custom-marin-bottom; | |
| 778 | - | |
| 779 | - // font-size: 30rpx; | |
| 780 | - // font-weight: bold; | |
| 781 | - // color: $u-main-color; | |
| 782 | - .order-detail-container-header-title { | |
| 783 | - color: $u-main-color; | |
| 784 | - white-space: nowrap; //溢出不换行 | |
| 785 | - color: $u-info; | |
| 786 | - } | |
| 787 | - | |
| 788 | - .order-detail-container-header-content { | |
| 789 | - display: flex; | |
| 790 | - } | |
| 791 | - } | |
| 792 | - } | |
| 793 | - } | |
| 794 | - | |
| 795 | - | |
| 796 | - .space-box { | |
| 797 | - padding-bottom: $custom-bottom-height; | |
| 798 | - margin-bottom: 40rpx; | |
| 799 | - } | |
| 800 | - | |
| 801 | - | |
| 802 | - .order-detail-bottom { | |
| 803 | - position: absolute; | |
| 804 | - width: 100%; | |
| 805 | - // height: 100%; | |
| 806 | - bottom: 0; | |
| 807 | - left: 0; | |
| 808 | - | |
| 809 | - .movableAreaDetail { | |
| 810 | - pointer-events: none; | |
| 811 | - position: fixed; | |
| 812 | - left: 0; | |
| 813 | - top: 0; | |
| 814 | - width: 100%; | |
| 815 | - height: calc(100% - $custom-bottom-height); | |
| 816 | - z-index: 999; | |
| 817 | - | |
| 818 | - .movableView { | |
| 819 | - pointer-events: auto; | |
| 820 | - min-height: 60rpx; | |
| 821 | - min-width: 60rpx; | |
| 822 | - | |
| 823 | - .order-detail-call-box-container { | |
| 824 | - min-height: 60rpx; | |
| 825 | - min-width: 60rpx; | |
| 826 | - display: flex; | |
| 827 | - align-items: center; | |
| 828 | - justify-content: center; | |
| 829 | - background-color: #19a97c; | |
| 830 | - border-radius: 100%; | |
| 831 | - } | |
| 832 | - } | |
| 833 | - } | |
| 834 | - | |
| 835 | - .order-detail-bottom-box { | |
| 836 | - height: $custom-bottom-height; | |
| 837 | - padding: 50rpx; | |
| 838 | - box-sizing: border-box; | |
| 839 | - display: flex; | |
| 840 | - justify-content: space-between; | |
| 841 | - align-items: center; | |
| 842 | - | |
| 843 | - .order-detail-bottom-left { | |
| 844 | - min-width: 200rpx; | |
| 845 | - } | |
| 846 | - | |
| 847 | - .order-detail-bottom-right { | |
| 848 | - min-width: 200rpx; | |
| 849 | - } | |
| 850 | - } | |
| 851 | - } | |
| 852 | -} | |
| 853 | - | |
| 854 | -.mask-container { | |
| 855 | - position: fixed; | |
| 856 | - top: 0; | |
| 857 | - left: 0; | |
| 858 | - width: 100%; | |
| 859 | - height: 100%; | |
| 860 | - z-index: 999; | |
| 861 | - background-color: rgba(0, 0, 0, 0.5); | |
| 862 | - display: flex; | |
| 863 | - align-items: center; | |
| 864 | - justify-content: center; | |
| 865 | -} | |
| 866 | - | |
| 867 | -// 弹出框 | |
| 868 | -.company-clean-container-car-popup { | |
| 869 | - min-height: 450rpx; | |
| 870 | - padding: $custom-page-padding; | |
| 871 | - box-sizing: border-box; | |
| 872 | - | |
| 873 | - .company-clean-container-car-popup-content { | |
| 874 | - font-size: 28rpx; | |
| 875 | - | |
| 876 | - .company-clean-container-car-popup-content-box { | |
| 877 | - box-sizing: border-box; | |
| 878 | - padding: $custom-page-padding; | |
| 879 | - border: 2rpx solid #19a97c; | |
| 880 | - border-radius: 10rpx; | |
| 881 | - | |
| 882 | - .company-clean-container-car-popup-content-box-item { | |
| 883 | - display: flex; | |
| 884 | - align-items: center; | |
| 885 | - justify-content: space-between; | |
| 886 | - margin: 20rpx 0; | |
| 887 | - box-sizing: border-box; | |
| 888 | - | |
| 889 | - .company-clean-container-car-popup-content-box-item-text {} | |
| 890 | - | |
| 891 | - .company-clean-container-car-popup-content-box-item-number {} | |
| 892 | - } | |
| 893 | - } | |
| 894 | - | |
| 895 | - .company-clean-container-car-popup-content-title { | |
| 896 | - color: $u-main-color; | |
| 897 | - box-sizing: border-box; | |
| 898 | - margin-bottom: 20rpx; | |
| 899 | - font-size: 30rpx; | |
| 900 | - font-weight: bold; | |
| 901 | - } | |
| 902 | - } | |
| 903 | - | |
| 904 | - .company-clean-container-car-popup-button-safe { | |
| 905 | - width: 100%; | |
| 906 | - height: $custom-bottom-height; | |
| 907 | - box-sizing: border-box; | |
| 908 | - padding: 20rpx; | |
| 909 | - | |
| 910 | - .company-clean-container-car-popup-button-safe-btn { | |
| 911 | - width: 100%; | |
| 912 | - height: 100%; | |
| 913 | - border-radius: 10rpx; | |
| 914 | - font-size: 30rpx; | |
| 915 | - line-height: 100rpx; | |
| 916 | - text-align: center; | |
| 917 | - } | |
| 918 | - } | |
| 919 | -} | |
| 920 | -</style> | |
| 751 | + $custom-marin-bottom: 20rpx; | |
| 752 | + $custom-page-padding: 20rpx; | |
| 753 | + $custom-border-radio: 20rpx; | |
| 754 | + $custom-bottom-height: 200rpx; | |
| 755 | + | |
| 756 | + @mixin card { | |
| 757 | + padding: $custom-page-padding; | |
| 758 | + box-sizing: border-box; | |
| 759 | + background-color: #ffffff; | |
| 760 | + border-radius: $custom-border-radio; | |
| 761 | + margin-bottom: $custom-marin-bottom; | |
| 762 | + } | |
| 763 | + | |
| 764 | + .order-detail-container { | |
| 765 | + height: 100%; | |
| 766 | + width: 100%; | |
| 767 | + background-color: $u-info-light; | |
| 768 | + box-sizing: border-box; | |
| 769 | + overflow-y: scroll; | |
| 770 | + background: linear-gradient(to bottom, #19a97c, $u-info-light, $u-info-light, $u-info-light); | |
| 771 | + | |
| 772 | + | |
| 773 | + .order-detail-container-box { | |
| 774 | + height: 100%; | |
| 775 | + width: 100%; | |
| 776 | + padding: $custom-page-padding; | |
| 777 | + box-sizing: border-box; | |
| 778 | + | |
| 779 | + .order-detail-top { | |
| 780 | + @include card(); | |
| 781 | + | |
| 782 | + .order-detail-top-box { | |
| 783 | + .order-detail-top-box-step { | |
| 784 | + u-steps { | |
| 785 | + u-steps-item {} | |
| 786 | + } | |
| 787 | + } | |
| 788 | + } | |
| 789 | + } | |
| 790 | + | |
| 791 | + .order-detail-container-box-card { | |
| 792 | + @include card(); | |
| 793 | + | |
| 794 | + .order-detail-container-header-card-title { | |
| 795 | + font-weight: bold; | |
| 796 | + line-height: 80rpx; | |
| 797 | + border-bottom: 3rpx solid $u-info-light; | |
| 798 | + margin-bottom: $custom-marin-bottom; | |
| 799 | + color: $u-primary; | |
| 800 | + display: flex; | |
| 801 | + align-items: center; | |
| 802 | + | |
| 803 | + .order-detail-container-header-card-uicon { | |
| 804 | + background-color: $u-primary; | |
| 805 | + margin-right: 10rpx; | |
| 806 | + height: 35rpx; | |
| 807 | + width: 15rpx; | |
| 808 | + } | |
| 809 | + } | |
| 810 | + | |
| 811 | + .order-detail-container-header-item { | |
| 812 | + display: flex; | |
| 813 | + margin-bottom: $custom-marin-bottom; | |
| 814 | + | |
| 815 | + // font-size: 30rpx; | |
| 816 | + // font-weight: bold; | |
| 817 | + // color: $u-main-color; | |
| 818 | + .order-detail-container-header-title { | |
| 819 | + color: $u-main-color; | |
| 820 | + white-space: nowrap; //溢出不换行 | |
| 821 | + color: $u-info; | |
| 822 | + } | |
| 823 | + | |
| 824 | + .order-detail-container-header-content { | |
| 825 | + display: flex; | |
| 826 | + } | |
| 827 | + } | |
| 828 | + } | |
| 829 | + } | |
| 830 | + | |
| 831 | + | |
| 832 | + .space-box { | |
| 833 | + padding-bottom: $custom-bottom-height; | |
| 834 | + margin-bottom: 40rpx; | |
| 835 | + } | |
| 836 | + | |
| 837 | + | |
| 838 | + .order-detail-bottom { | |
| 839 | + position: absolute; | |
| 840 | + width: 100%; | |
| 841 | + // height: 100%; | |
| 842 | + bottom: 0; | |
| 843 | + left: 0; | |
| 844 | + | |
| 845 | + .movableAreaDetail { | |
| 846 | + pointer-events: none; | |
| 847 | + position: fixed; | |
| 848 | + left: 0; | |
| 849 | + top: 0; | |
| 850 | + width: 100%; | |
| 851 | + height: calc(100% - $custom-bottom-height); | |
| 852 | + z-index: 999; | |
| 853 | + | |
| 854 | + .movableView { | |
| 855 | + pointer-events: auto; | |
| 856 | + min-height: 60rpx; | |
| 857 | + min-width: 60rpx; | |
| 858 | + | |
| 859 | + .order-detail-call-box-container { | |
| 860 | + min-height: 60rpx; | |
| 861 | + min-width: 60rpx; | |
| 862 | + display: flex; | |
| 863 | + align-items: center; | |
| 864 | + justify-content: center; | |
| 865 | + background-color: #19a97c; | |
| 866 | + border-radius: 100%; | |
| 867 | + } | |
| 868 | + } | |
| 869 | + } | |
| 870 | + | |
| 871 | + .order-detail-bottom-box { | |
| 872 | + height: $custom-bottom-height; | |
| 873 | + padding: 50rpx; | |
| 874 | + box-sizing: border-box; | |
| 875 | + display: flex; | |
| 876 | + justify-content: space-between; | |
| 877 | + align-items: center; | |
| 878 | + | |
| 879 | + .order-detail-bottom-left { | |
| 880 | + min-width: 200rpx; | |
| 881 | + } | |
| 882 | + | |
| 883 | + .order-detail-bottom-right { | |
| 884 | + min-width: 200rpx; | |
| 885 | + } | |
| 886 | + } | |
| 887 | + } | |
| 888 | + } | |
| 889 | + | |
| 890 | + .mask-container { | |
| 891 | + position: fixed; | |
| 892 | + top: 0; | |
| 893 | + left: 0; | |
| 894 | + width: 100%; | |
| 895 | + height: 100%; | |
| 896 | + z-index: 999; | |
| 897 | + background-color: rgba(0, 0, 0, 0.5); | |
| 898 | + display: flex; | |
| 899 | + align-items: center; | |
| 900 | + justify-content: center; | |
| 901 | + } | |
| 902 | + | |
| 903 | + // 弹出框 | |
| 904 | + .company-clean-container-car-popup { | |
| 905 | + min-height: 450rpx; | |
| 906 | + padding: $custom-page-padding; | |
| 907 | + box-sizing: border-box; | |
| 908 | + | |
| 909 | + .company-clean-container-car-popup-content { | |
| 910 | + font-size: 28rpx; | |
| 911 | + | |
| 912 | + .company-clean-container-car-popup-content-box { | |
| 913 | + box-sizing: border-box; | |
| 914 | + padding: $custom-page-padding; | |
| 915 | + border: 2rpx solid #19a97c; | |
| 916 | + border-radius: 10rpx; | |
| 917 | + | |
| 918 | + .company-clean-container-car-popup-content-box-item { | |
| 919 | + display: flex; | |
| 920 | + align-items: center; | |
| 921 | + justify-content: space-between; | |
| 922 | + margin: 20rpx 0; | |
| 923 | + box-sizing: border-box; | |
| 924 | + | |
| 925 | + .company-clean-container-car-popup-content-box-item-text {} | |
| 926 | + | |
| 927 | + .company-clean-container-car-popup-content-box-item-number {} | |
| 928 | + } | |
| 929 | + } | |
| 930 | + | |
| 931 | + .company-clean-container-car-popup-content-title { | |
| 932 | + color: $u-main-color; | |
| 933 | + box-sizing: border-box; | |
| 934 | + margin-bottom: 20rpx; | |
| 935 | + font-size: 30rpx; | |
| 936 | + font-weight: bold; | |
| 937 | + } | |
| 938 | + } | |
| 939 | + | |
| 940 | + .company-clean-container-car-popup-button-safe { | |
| 941 | + width: 100%; | |
| 942 | + height: $custom-bottom-height; | |
| 943 | + box-sizing: border-box; | |
| 944 | + padding: 20rpx; | |
| 945 | + | |
| 946 | + .company-clean-container-car-popup-button-safe-btn { | |
| 947 | + width: 100%; | |
| 948 | + height: 100%; | |
| 949 | + border-radius: 10rpx; | |
| 950 | + font-size: 30rpx; | |
| 951 | + line-height: 100rpx; | |
| 952 | + text-align: center; | |
| 953 | + } | |
| 954 | + } | |
| 955 | + } | |
| 956 | +</style> | |
| 921 | 957 | \ No newline at end of file | ... | ... |
garbage-removal/src/pages/order/order-disposal/index.vue
| ... | ... | @@ -96,12 +96,12 @@ const handleScan = () => { |
| 96 | 96 | }) |
| 97 | 97 | } |
| 98 | 98 | } catch (error) { |
| 99 | - uni.$u.toast("无法确认当前二维码趟次,请扫描正在进行的运输趟次"); | |
| 99 | + uni.$u.toast("无法确认当前二维码趟次,请扫描正在进行的运输趟次123"); | |
| 100 | 100 | console.log("===================>weixin"); |
| 101 | 101 | } |
| 102 | 102 | }, |
| 103 | 103 | fail:function (res) { |
| 104 | - uni.$u.toast("图片扫码失败,请检查二维码图片"); | |
| 104 | + uni.$u.toast("图片扫码失败,请检查二维码图片123"); | |
| 105 | 105 | console.log("===================>weixin"); |
| 106 | 106 | } |
| 107 | 107 | }); |
| ... | ... | @@ -248,4 +248,4 @@ onMounted(() => { |
| 248 | 248 | } |
| 249 | 249 | } |
| 250 | 250 | } |
| 251 | 251 | -</style> |
| 252 | +</style> | |
| 252 | 253 | \ No newline at end of file | ... | ... |