Commit c3a3eedbf338c2d01d110ccc0c5fe4ab39cca116

Authored by 2c2c2c
1 parent 793dde09

更新

Too many changes to show.

To preserve performance only 13 of 15 files are displayed.

.idea/.gitignore 0 → 100644
  1 +# 默认忽略的文件
  2 +/shelf/
  3 +/workspace.xml
  4 +# 基于编辑器的 HTTP 客户端请求
  5 +/httpRequests/
  6 +# Datasource local storage ignored files
  7 +/dataSources/
  8 +/dataSources.local.xml
.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 \ No newline at end of file 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 \ No newline at end of file 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 \ No newline at end of file 9 \ No newline at end of file
.idea/vcs.xml 0 → 100644
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<project version="4">
  3 + <component name="VcsDirectoryMappings">
  4 + <mapping directory="" vcs="Git" />
  5 + </component>
  6 +</project>
0 \ No newline at end of file 7 \ No newline at end of file
garbage-removal/.env.dev
1 -VITE_BASE_URL=http://localhost:8080/workflow 1 +VITE_BASE_URL=http://127.0.0.1:8080/workflow
2 2
3 -VITE_STOMP_URL=http://localhost:8080/ws 3 +VITE_STOMP_URL=http://127.0.0.1:8080/ws
garbage-removal/.env.local
1 -VITE_BASE_URL=http://localhost:8080/workflow 1 +VITE_BASE_URL=http://127.0.0.1:8080/workflow
2 VITE_BASE_FILE_UPLOAD_PREFIX=/order/upload 2 VITE_BASE_FILE_UPLOAD_PREFIX=/order/upload
3 -VITE_STOMP_URL=http://localhost:8080/ws 3 +VITE_STOMP_URL=http://127.0.0.1:8080/ws
garbage-removal/package-lock.json
@@ -22,6 +22,7 @@ @@ -22,6 +22,7 @@
22 "@dcloudio/uni-mp-weixin": "3.0.0-3090620231104002", 22 "@dcloudio/uni-mp-weixin": "3.0.0-3090620231104002",
23 "@dcloudio/uni-mp-xhs": "3.0.0-3090620231104002", 23 "@dcloudio/uni-mp-xhs": "3.0.0-3090620231104002",
24 "@dcloudio/uni-quickapp-webview": "3.0.0-3090620231104002", 24 "@dcloudio/uni-quickapp-webview": "3.0.0-3090620231104002",
  25 + "axios": "^0.27.2",
25 "clipboard": "^2.0.11", 26 "clipboard": "^2.0.11",
26 "dayjs": "^1.11.10", 27 "dayjs": "^1.11.10",
27 "js-md5": "^0.8.3", 28 "js-md5": "^0.8.3",
@@ -4592,9 +4593,7 @@ @@ -4592,9 +4593,7 @@
4592 "node_modules/asynckit": { 4593 "node_modules/asynckit": {
4593 "version": "0.4.0", 4594 "version": "0.4.0",
4594 "resolved": "https://registry.npmmirror.com/asynckit/-/asynckit-0.4.0.tgz", 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 "node_modules/autoprefixer": { 4598 "node_modules/autoprefixer": {
4600 "version": "10.4.16", 4599 "version": "10.4.16",
@@ -4633,6 +4632,29 @@ @@ -4633,6 +4632,29 @@
4633 "postcss": "^8.1.0" 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 "node_modules/babel-jest": { 4658 "node_modules/babel-jest": {
4637 "version": "27.5.1", 4659 "version": "27.5.1",
4638 "resolved": "https://registry.npmmirror.com/babel-jest/-/babel-jest-27.5.1.tgz", 4660 "resolved": "https://registry.npmmirror.com/babel-jest/-/babel-jest-27.5.1.tgz",
@@ -5081,6 +5103,18 @@ @@ -5081,6 +5103,18 @@
5081 "url": "https://github.com/sponsors/ljharb" 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 "node_modules/callsites": { 5118 "node_modules/callsites": {
5085 "version": "3.1.0", 5119 "version": "3.1.0",
5086 "resolved": "https://registry.npmmirror.com/callsites/-/callsites-3.1.0.tgz", 5120 "resolved": "https://registry.npmmirror.com/callsites/-/callsites-3.1.0.tgz",
@@ -5246,8 +5280,6 @@ @@ -5246,8 +5280,6 @@
5246 "version": "1.0.8", 5280 "version": "1.0.8",
5247 "resolved": "https://registry.npmmirror.com/combined-stream/-/combined-stream-1.0.8.tgz", 5281 "resolved": "https://registry.npmmirror.com/combined-stream/-/combined-stream-1.0.8.tgz",
5248 "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", 5282 "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
5249 - "dev": true,  
5250 - "peer": true,  
5251 "dependencies": { 5283 "dependencies": {
5252 "delayed-stream": "~1.0.0" 5284 "delayed-stream": "~1.0.0"
5253 }, 5285 },
@@ -5553,8 +5585,6 @@ @@ -5553,8 +5585,6 @@
5553 "version": "1.0.0", 5585 "version": "1.0.0",
5554 "resolved": "https://registry.npmmirror.com/delayed-stream/-/delayed-stream-1.0.0.tgz", 5586 "resolved": "https://registry.npmmirror.com/delayed-stream/-/delayed-stream-1.0.0.tgz",
5555 "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", 5587 "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==",
5556 - "dev": true,  
5557 - "peer": true,  
5558 "engines": { 5588 "engines": {
5559 "node": ">=0.4.0" 5589 "node": ">=0.4.0"
5560 } 5590 }
@@ -5635,6 +5665,19 @@ @@ -5635,6 +5665,19 @@
5635 "node": ">=8" 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 "node_modules/ee-first": { 5681 "node_modules/ee-first": {
5639 "version": "1.1.1", 5682 "version": "1.1.1",
5640 "resolved": "https://registry.npmmirror.com/ee-first/-/ee-first-1.1.1.tgz", 5683 "resolved": "https://registry.npmmirror.com/ee-first/-/ee-first-1.1.1.tgz",
@@ -5698,12 +5741,53 @@ @@ -5698,12 +5741,53 @@
5698 "is-arrayish": "^0.2.1" 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 "node_modules/es-module-lexer": { 5760 "node_modules/es-module-lexer": {
5702 "version": "1.3.1", 5761 "version": "1.3.1",
5703 "resolved": "https://registry.npmmirror.com/es-module-lexer/-/es-module-lexer-1.3.1.tgz", 5762 "resolved": "https://registry.npmmirror.com/es-module-lexer/-/es-module-lexer-1.3.1.tgz",
5704 "integrity": "sha512-JUFAyicQV9mXc3YRxPnDlrfBKpqt6hUYzz9/boprUJHs4e4KVr3XwOF70doO6gwXUor6EWZJAyWAfKki84t20Q==", 5763 "integrity": "sha512-JUFAyicQV9mXc3YRxPnDlrfBKpqt6hUYzz9/boprUJHs4e4KVr3XwOF70doO6gwXUor6EWZJAyWAfKki84t20Q==",
5705 "license": "MIT" 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 "node_modules/esbuild": { 5791 "node_modules/esbuild": {
5708 "version": "0.16.17", 5792 "version": "0.16.17",
5709 "resolved": "https://registry.npmmirror.com/esbuild/-/esbuild-0.16.17.tgz", 5793 "resolved": "https://registry.npmmirror.com/esbuild/-/esbuild-0.16.17.tgz",
@@ -6113,6 +6197,25 @@ @@ -6113,6 +6197,25 @@
6113 "node": ">=8" 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 "node_modules/form-data": { 6219 "node_modules/form-data": {
6117 "version": "3.0.1", 6220 "version": "3.0.1",
6118 "resolved": "https://registry.npmmirror.com/form-data/-/form-data-3.0.1.tgz", 6221 "resolved": "https://registry.npmmirror.com/form-data/-/form-data-3.0.1.tgz",
@@ -6233,16 +6336,23 @@ @@ -6233,16 +6336,23 @@
6233 } 6336 }
6234 }, 6337 },
6235 "node_modules/get-intrinsic": { 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 "dependencies": { 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 "function-bind": "^1.1.2", 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 "funding": { 6357 "funding": {
6248 "url": "https://github.com/sponsors/ljharb" 6358 "url": "https://github.com/sponsors/ljharb"
@@ -6258,6 +6368,18 @@ @@ -6258,6 +6368,18 @@
6258 "node": ">=8.0.0" 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 "node_modules/get-stream": { 6383 "node_modules/get-stream": {
6262 "version": "6.0.1", 6384 "version": "6.0.1",
6263 "resolved": "https://registry.npmmirror.com/get-stream/-/get-stream-6.0.1.tgz", 6385 "resolved": "https://registry.npmmirror.com/get-stream/-/get-stream-6.0.1.tgz",
@@ -6336,13 +6458,11 @@ @@ -6336,13 +6458,11 @@
6336 } 6458 }
6337 }, 6459 },
6338 "node_modules/gopd": { 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 "funding": { 6467 "funding": {
6348 "url": "https://github.com/sponsors/ljharb" 6468 "url": "https://github.com/sponsors/ljharb"
@@ -6376,12 +6496,10 @@ @@ -6376,12 +6496,10 @@
6376 "url": "https://github.com/sponsors/ljharb" 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 "engines": { 6503 "engines": {
6386 "node": ">= 0.4" 6504 "node": ">= 0.4"
6387 }, 6505 },
@@ -6389,12 +6507,13 @@ @@ -6389,12 +6507,13 @@
6389 "url": "https://github.com/sponsors/ljharb" 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 "engines": { 6517 "engines": {
6399 "node": ">= 0.4" 6518 "node": ">= 0.4"
6400 }, 6519 },
@@ -6409,10 +6528,9 @@ @@ -6409,10 +6528,9 @@
6409 "license": "MIT" 6528 "license": "MIT"
6410 }, 6529 },
6411 "node_modules/hasown": { 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 "dependencies": { 6534 "dependencies": {
6417 "function-bind": "^1.1.2" 6535 "function-bind": "^1.1.2"
6418 }, 6536 },
@@ -8956,6 +9074,14 @@ @@ -8956,6 +9074,14 @@
8956 "tmpl": "1.0.5" 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 "node_modules/media-typer": { 9085 "node_modules/media-typer": {
8960 "version": "0.3.0", 9086 "version": "0.3.0",
8961 "resolved": "https://registry.npmmirror.com/media-typer/-/media-typer-0.3.0.tgz", 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 = () =&gt; { @@ -105,9 +105,9 @@ const getFutureDays = () =&gt; {
105 const day = date.getDate().toString().padStart(2, '0'); 105 const day = date.getDate().toString().padStart(2, '0');
106 if (i === 0) { 106 if (i === 0) {
107 let hours = new Date().getHours(); 107 let hours = new Date().getHours();
108 - if (hours >= 13) {  
109 - continue;  
110 - } 108 + // if (hours >= 13) {
  109 + // continue;
  110 + // }
111 days.push({ 111 days.push({
112 day: `${year}-${month}-${day}`, 112 day: `${year}-${month}-${day}`,
113 timeList: getCurrentDayTimeList(9, hours, 1) 113 timeList: getCurrentDayTimeList(9, hours, 1)
garbage-removal/src/pages/home-info/clean/index.vue
@@ -25,7 +25,7 @@ @@ -25,7 +25,7 @@
25 </view> 25 </view>
26 <view @click.stop="handleTimeChoose" class="company-clean-container-header-reservation"> 26 <view @click.stop="handleTimeChoose" class="company-clean-container-header-reservation">
27 <view class="company-clean-container-header-reservation-left"> 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 </view> 29 </view>
30 <view class="company-clean-container-header-reservation-right"> 30 <view class="company-clean-container-header-reservation-right">
31 <text style="margin-right: 10rpx;">{{ dayTime ? dayTime : "请选择时间" }}</text> <u-icon name="arrow-right" 31 <text style="margin-right: 10rpx;">{{ dayTime ? dayTime : "请选择时间" }}</text> <u-icon name="arrow-right"
@@ -69,14 +69,6 @@ @@ -69,14 +69,6 @@
69 </view> 69 </view>
70 </view> 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 <view class="company-clean-container-car-main-content-type"> 73 <view class="company-clean-container-car-main-content-type">
82 <view class="company-clean-container-car-main-content-type-price-area"> 74 <view class="company-clean-container-car-main-content-type-price-area">
@@ -417,15 +409,6 @@ const orderClick = ref(true) @@ -417,15 +409,6 @@ const orderClick = ref(true)
417 * 处理下单 409 * 处理下单
418 */ 410 */
419 const handleOderSure = async () => { 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 let garCarInfos = []; 412 let garCarInfos = [];
430 for (const key in garCarInfoList.value) { 413 for (const key in garCarInfoList.value) {
431 if(garCarInfoList.value[key]&& garCarInfoList.value[key].garOrderCarNumber && garCarInfoList.value[key].garOrderCarNumber>0){ 414 if(garCarInfoList.value[key]&& garCarInfoList.value[key].garOrderCarNumber && garCarInfoList.value[key].garOrderCarNumber>0){
@@ -586,9 +569,6 @@ const validateParams = (params) =&gt; { @@ -586,9 +569,6 @@ const validateParams = (params) =&gt; {
586 case "garOrderAgreementTime": 569 case "garOrderAgreementTime":
587 jumpPrompt('请选择预约时间') 570 jumpPrompt('请选择预约时间')
588 break; 571 break;
589 - case "garEstimatedCost":  
590 - jumpPrompt('请输入预估费用')  
591 - break;  
592 case "garOrderCompanyTel": 572 case "garOrderCompanyTel":
593 jumpPrompt('企业负责人手机号不能为空') 573 jumpPrompt('企业负责人手机号不能为空')
594 break; 574 break;
garbage-removal/src/pages/home/index.vue
@@ -383,6 +383,7 @@ onShow(() =&gt; { @@ -383,6 +383,7 @@ onShow(() =&gt; {
383 initData() 383 initData()
384 let flag = uni.getStorageSync("refreshFlag"); 384 let flag = uni.getStorageSync("refreshFlag");
385 if(flag){ 385 if(flag){
  386 + console.log(paging.value);
386 paging.value.reload(); 387 paging.value.reload();
387 uni.removeStorageSync("refreshFlag"); 388 uni.removeStorageSync("refreshFlag");
388 } 389 }
garbage-removal/src/pages/order-info/order-other/detail/index.vue
1 <template> 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> &nbsp;&nbsp;订单已被取消!原因:{{ 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 >&emsp;&emsp;&emsp;&emsp;&emsp;</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> &nbsp;&nbsp;订单已被取消!原因:{{ 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>&emsp;&emsp;&emsp;&emsp;&emsp;</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 <text class="order-detail-container-header-title">订单时间:</text> 141 <text class="order-detail-container-header-title">订单时间:</text>
139 <view class="order-detail-container-header-content"> 142 <view class="order-detail-container-header-content">
140 {{ dataGram.garCreateTime }} 143 {{ dataGram.garCreateTime }}
141 </view> 144 </view>
142 </view> --> 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 </template> 253 </template>
253 254
254 <script setup> 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 </script> 748 </script>
713 749
714 <style lang="scss" scoped> 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 \ No newline at end of file 957 \ No newline at end of file
garbage-removal/src/pages/order/order-disposal/index.vue
@@ -96,12 +96,12 @@ const handleScan = () =&gt; { @@ -96,12 +96,12 @@ const handleScan = () =&gt; {
96 }) 96 })
97 } 97 }
98 } catch (error) { 98 } catch (error) {
99 - uni.$u.toast("无法确认当前二维码趟次,请扫描正在进行的运输趟次"); 99 + uni.$u.toast("无法确认当前二维码趟次,请扫描正在进行的运输趟次123");
100 console.log("===================>weixin"); 100 console.log("===================>weixin");
101 } 101 }
102 }, 102 },
103 fail:function (res) { 103 fail:function (res) {
104 - uni.$u.toast("图片扫码失败,请检查二维码图片"); 104 + uni.$u.toast("图片扫码失败,请检查二维码图片123");
105 console.log("===================>weixin"); 105 console.log("===================>weixin");
106 } 106 }
107 }); 107 });
@@ -248,4 +248,4 @@ onMounted(() =&gt; { @@ -248,4 +248,4 @@ onMounted(() =&gt; {
248 } 248 }
249 } 249 }
250 } 250 }
251 -</style> 251 -</style>
  252 +</style>
252 \ No newline at end of file 253 \ No newline at end of file