Compare commits
613 Commits
ab40b9913b
...
prod-25-05
Author | SHA1 | Date | |
---|---|---|---|
5552b48ec4 | |||
56e56c7839 | |||
851a0e7260 | |||
d2f124e901 | |||
8bc734273b | |||
643ee2c5eb | |||
881ae7e47b | |||
d5af7692f8 | |||
aa52bd2f31 | |||
9df87ac518 | |||
8e20adbba3 | |||
cc083b7551 | |||
0a668e6f57 | |||
c2cc09aef1 | |||
037fbf74fb | |||
de252fceb2 | |||
6a53749cdc | |||
d71e3679ef | |||
c626aab606 | |||
7594e56cda | |||
95c8095518 | |||
0aa3630adb | |||
75eba22e9e | |||
a162c3fdcc | |||
33f4857427 | |||
432f35a403 | |||
ae0bd3b169 | |||
6b27859358 | |||
99edd5d431 | |||
9ac5860ef8 | |||
e56de7ff8b | |||
4a70d881b8 | |||
5de1efc5fb | |||
7b7e926f8a | |||
ba1cd9fcac | |||
3fe67c1015 | |||
cdc63e6c42 | |||
0e138e22f4 | |||
b5c5f24c49 | |||
d3d6226bcd | |||
a426b67a51 | |||
efe76bb675 | |||
de9d73a642 | |||
044813f411 | |||
b90b7ea89c | |||
4c02dcd075 | |||
3cd768b973 | |||
db6a3facae | |||
48ab0cfb52 | |||
c5176ebc02 | |||
f666d9bcb4 | |||
6864a1330f | |||
e373acb818 | |||
fe71adf6e3 | |||
b6d0ae476c | |||
c80a2f6e6b | |||
06e860592b | |||
afd9d570a4 | |||
3668ee7f0a | |||
abd4b2a84b | |||
815c94e81c | |||
ad1c6f1c9c | |||
b914dd9738 | |||
728fa2ccb2 | |||
abe17223af | |||
857f30c11f | |||
affe57159d | |||
cf45da3ef7 | |||
82d4c86936 | |||
8558eee259 | |||
d7242ab1a5 | |||
9c7ec8969e | |||
75f5dabf3d | |||
ee69ed0c2b | |||
b5f01b70b7 | |||
301babc54e | |||
88293b2089 | |||
8b94d8b689 | |||
0b49fd502a | |||
aea127d12b | |||
3cd7ff0318 | |||
ef8df96818 | |||
db26230208 | |||
eddabd68b4 | |||
22e6c58e65 | |||
678d4f6436 | |||
4f20dffc52 | |||
ab9402e591 | |||
88606bd31d | |||
397d234637 | |||
79ddd02342 | |||
f72304459c | |||
9bffcb22cb | |||
3fbd0b2769 | |||
23a9bf9e80 | |||
f9a29e81dc | |||
57d0e47c9b | |||
260eb01dcb | |||
4dbf2dc8c7 | |||
509ab301a2 | |||
546ec672c7 | |||
6926f1b140 | |||
104c6a33b5 | |||
48fe4d404f | |||
dde6c337e2 | |||
7e0455f695 | |||
082a3ab6b6 | |||
3ea4168b87 | |||
b349671004 | |||
b9ae7eef5d | |||
94051d88c0 | |||
1a9633106c | |||
0feee005d5 | |||
989e950f99 | |||
f0c3b499cc | |||
dc028cdfae | |||
e5554e17b5 | |||
bc0b666171 | |||
11ee4a031a | |||
905bfc0785 | |||
558e3e3e8c | |||
90c0852ace | |||
0155ff7e00 | |||
f76ce0a65f | |||
f3ca98b2ff | |||
0cdfab8de6 | |||
74fcbe55df | |||
27ad6d414d | |||
fe105df6c6 | |||
7afefb162c | |||
2810bb9c6f | |||
c7b49b5ffe | |||
f73927c01e | |||
ae711d5726 | |||
d498734739 | |||
938d6c9386 | |||
34d228099c | |||
9472933a68 | |||
d280b1bcd1 | |||
c1bdcae830 | |||
3a3d74ac69 | |||
91ce9fb3c7 | |||
1d491e501f | |||
2e6f855cf8 | |||
05e4df5751 | |||
c8964508f2 | |||
2a03a95963 | |||
5a236926d7 | |||
18bfc4517e | |||
ca6d1ef728 | |||
328874064a | |||
f5e0af4753 | |||
03df02174d | |||
22f76aaa73 | |||
d4485779c6 | |||
16321333d2 | |||
e01e7c44c1 | |||
7d42853f39 | |||
8b44ce326a | |||
eb34457173 | |||
252660c8a8 | |||
d008612675 | |||
5754e05a7f | |||
f8ad6a109b | |||
c71b1fc709 | |||
5371e43b53 | |||
76c6d6ef5b | |||
24f25635d5 | |||
d789e88b05 | |||
292e8bdfb1 | |||
4ca8385a36 | |||
b84d2a7767 | |||
6c1863efdf | |||
68d9a7b7b5 | |||
cfb032d8da | |||
406fba2615 | |||
1c1f62d99c | |||
54881a9c19 | |||
179dd8f18d | |||
b9c10e8df3 | |||
653a86cf00 | |||
ea5c817057 | |||
f88bddb65b | |||
34f968e596 | |||
4016d2b7c4 | |||
81a3b4b7a4 | |||
c93655976b | |||
d53bbbbe72 | |||
5ed64b07e3 | |||
e4a893815d | |||
45b910fdc4 | |||
2a5dad2211 | |||
8072894f97 | |||
e00db98396 | |||
8f43f46abf | |||
d2c4542a5e | |||
156b3f04db | |||
7158e4aa2a | |||
dfddc69c4a | |||
9f9450afc3 | |||
0272e06486 | |||
4a122818e5 | |||
5f2bd8d276 | |||
99789abddc | |||
009bd0b5ac | |||
4ebc40f93c | |||
b53a086862 | |||
0063828771 | |||
cd02c44fca | |||
43c1f76f82 | |||
f3a15b829f | |||
745c21341a | |||
2ab75039b9 | |||
304a1457dc | |||
422d1ce2ec | |||
147e10b342 | |||
055876c0a2 | |||
ca52f0793f | |||
226f9aef63 | |||
652055c3d3 | |||
fc2e9bfec6 | |||
8350cfb2a5 | |||
872e0ea91a | |||
5652ab9600 | |||
4e8e6d4f72 | |||
3bb4688652 | |||
675e89b02e | |||
c3100dd68f | |||
c04b43a8c8 | |||
c5c31c5eec | |||
94424faa2e | |||
db2493181a | |||
18ebd7c0d9 | |||
d239781d5d | |||
f2b4b3e853 | |||
57c3d3d679 | |||
4f8063bf2e | |||
266195ec26 | |||
898b4b8128 | |||
1e305b1734 | |||
e919d0136d | |||
6720928761 | |||
6affb368b7 | |||
a93c98b547 | |||
3ee550c985 | |||
28408ac803 | |||
41d44e93d4 | |||
8a822e829d | |||
8aafdc9bff | |||
432be97178 | |||
36cea0f447 | |||
07db998735 | |||
54b839fb0d | |||
343bccdcfa | |||
fcce91b6b5 | |||
baf25587a8 | |||
b0fd520316 | |||
1f8df28ef8 | |||
bd45b42ccd | |||
e19580e7f6 | |||
f954dff3ad | |||
2dc505c40d | |||
532b8d439b | |||
cc19777ddf | |||
812f3e3a03 | |||
b6a9836932 | |||
36d2895f2b | |||
d28a23e664 | |||
a642e7783c | |||
dccc3ae530 | |||
07ac2d1e86 | |||
6030432a8c | |||
235fe85604 | |||
a7f4018050 | |||
5c96f06916 | |||
2ad457c92a | |||
dd440e81df | |||
8212c1cd8a | |||
a0e6681ad6 | |||
4cf076914d | |||
7220ad8989 | |||
85ecdceaf1 | |||
a319a9d097 | |||
06591b6eb4 | |||
c9cedc526a | |||
d72a74c2ea | |||
e950ce2589 | |||
db45cecfe3 | |||
9345b2ab79 | |||
bc4f419aca | |||
7a73b0b83a | |||
45ca7a8382 | |||
584fded2f7 | |||
bd58a176f6 | |||
d8729033e1 | |||
20a9d7ebad | |||
9befe22373 | |||
ccf11f6fa6 | |||
edcd55b074 | |||
bce648bdc6 | |||
a5e4a2d5dd | |||
cc7ea113c4 | |||
5589417862 | |||
1dc5094172 | |||
413da6aea7 | |||
f255bf48e4 | |||
31d3bcf071 | |||
75e014562f | |||
3919bf6934 | |||
8223ff3e46 | |||
6e7254607b | |||
0e82be5cbe | |||
b6d86c4517 | |||
c3f859619f | |||
7b95507378 | |||
250e68bed7 | |||
e768f9c8f8 | |||
7aceb84ee5 | |||
0d91afc1e8 | |||
d362fef099 | |||
5dc9bfb840 | |||
fd1ad6db3c | |||
2d78a9cee6 | |||
68d9f83b66 | |||
728e70f00e | |||
46e2cb3b3e | |||
c22b3ac319 | |||
4250119cce | |||
5fc76a5765 | |||
71e1b1ebb7 | |||
73ec8c267b | |||
9cd3a70f43 | |||
431ba13eea | |||
672ed153da | |||
65c33e54f5 | |||
dedb0f53e9 | |||
8bed0868f8 | |||
70cea4d888 | |||
6d1df4a720 | |||
a7cf0a837e | |||
ec995b7548 | |||
372bbc44c0 | |||
7b160e12fb | |||
4c393f3f1e | |||
5afbf9df90 | |||
073814bd69 | |||
06fdbc4f84 | |||
86ed97f265 | |||
0aa9f3ec04 | |||
48cd129290 | |||
b8096b39f3 | |||
3a45615e4f | |||
d1b04ec51c | |||
dc091c6dd5 | |||
45914f0577 | |||
42694d57de | |||
61ccb58af2 | |||
f6c33c8c36 | |||
1fbc66a1d6 | |||
b80a748dc9 | |||
f38e2ce614 | |||
febf9a636e | |||
8deaa85c1c | |||
70675fde50 | |||
af297b5892 | |||
f472c878e8 | |||
5df83abfcf | |||
11664e92bf | |||
4be4015e30 | |||
39603134fb | |||
ad49a716b9 | |||
b1945ab42f | |||
4da4cacd7b | |||
39c8bb857b | |||
0dd54330af | |||
a7c7dafa33 | |||
b2af0684fa | |||
cb50de4039 | |||
7785c7ecbe | |||
f45792b527 | |||
793be9d28d | |||
d4c6081f34 | |||
e11946352c | |||
481c37f708 | |||
605bc306a5 | |||
b300809698 | |||
d5d090cdc8 | |||
b6951292a9 | |||
8d06b195db | |||
d21ee44404 | |||
7922f28a05 | |||
6abcd2471e | |||
0bb135bfba | |||
b05ceb4ba9 | |||
140816da2e | |||
c82feae79c | |||
f1bf9b9e55 | |||
d521aa40ef | |||
21e9d82923 | |||
4ca4d51e29 | |||
27a169ee0d | |||
22cbef4f7a | |||
3a52fe5759 | |||
05708d1ee2 | |||
eb62b71480 | |||
d2adfe6d22 | |||
08120506f6 | |||
374eb5070b | |||
beff1bb6f9 | |||
0a65f7c641 | |||
1bd80326ec | |||
51351b37a4 | |||
ee1ecb1a55 | |||
77195c619f | |||
9e32f377b0 | |||
53be990a24 | |||
f8432ffbba | |||
a6156be569 | |||
8af98c5ef3 | |||
82ddcf67d6 | |||
441d4eb2d4 | |||
1a1336e7ec | |||
5fa462ed00 | |||
2e39152396 | |||
007fcb9e59 | |||
046d253072 | |||
d152323607 | |||
9cf7e1e424 | |||
c872a9d4d8 | |||
6866491a06 | |||
957ee45d75 | |||
916c667d7c | |||
2c59b0f5a0 | |||
5cf2559335 | |||
43bb5a0f1e | |||
b120960c80 | |||
5dd995d82d | |||
87c2e0301a | |||
ae4c177204 | |||
e9324dc580 | |||
d78810a503 | |||
ceb521ed49 | |||
a3948addd1 | |||
0a3eb81c12 | |||
6f861ad9cb | |||
7aa3241046 | |||
903237fd03 | |||
2c66c4bb0a | |||
eb0c77e155 | |||
3d62c84fa8 | |||
70ec1ae4ed | |||
5d5c283e99 | |||
bed3856384 | |||
867cbee6c7 | |||
8891738455 | |||
299e84c91f | |||
b08eb302be | |||
d32b5648bc | |||
a8b910d0ac | |||
4701ee491d | |||
74b2782525 | |||
546cda7eeb | |||
530a68275f | |||
dab8aba2ee | |||
460e6e3c06 | |||
1c8b0a12a9 | |||
8be3ac3625 | |||
a199e613de | |||
3e2b39f7e4 | |||
dc469ebbd1 | |||
f761af1e57 | |||
9ad6b28342 | |||
1399d002e4 | |||
80751ca40e | |||
588df78e19 | |||
8376126b34 | |||
820c2e2150 | |||
f94c2f5e62 | |||
fb6472a548 | |||
15a22e2ca2 | |||
3d629e3c16 | |||
933a1bd8fa | |||
1180399739 | |||
d839aca2ae | |||
77351d7cbf | |||
e4001a7a7f | |||
1b2507fa38 | |||
9113ecbf01 | |||
d0850f4621 | |||
edff2a9100 | |||
67e8e40b24 | |||
5565b045f1 | |||
8a938e9071 | |||
503b21e441 | |||
ceb45b33b2 | |||
2a77ea8ba1 | |||
bc226a0e2a | |||
ced01e18f4 | |||
1c581df546 | |||
cd36fb24b1 | |||
0325c28801 | |||
a344f91f8e | |||
9963235441 | |||
ccce5da00a | |||
8e2829ff08 | |||
d8a853566c | |||
4c451dc0fc | |||
aa93bc352d | |||
de4ac8d72d | |||
7ad521ae1e | |||
3694c8e94d | |||
e7acce0e11 | |||
bc39d7b79a | |||
9a391bd0c7 | |||
56f7df75e7 | |||
92655a7181 | |||
017d662d3c | |||
d515c73a4e | |||
ba442358f2 | |||
290b562ce7 | |||
857197eac6 | |||
e49375c3f1 | |||
8ba5ff0af7 | |||
5b96a18536 | |||
5601456c93 | |||
2031a77ec0 | |||
61c1572982 | |||
fd751fc44f | |||
6fffb44462 | |||
2b8a6885e8 | |||
54befa1d4b | |||
afa3dedc05 | |||
340da8348f | |||
8029af1df6 | |||
28eef765d3 | |||
9f03395534 | |||
7fa692c715 | |||
9c5cd310d7 | |||
2edf42327c | |||
51a2040313 | |||
bd2585e711 | |||
f9934772e5 | |||
54afe6d7f7 | |||
d5d1000bd3 | |||
faa0822f47 | |||
5924684357 | |||
525bdc1bdf | |||
d62b9fe92b | |||
969e657cd1 | |||
5fd2d21d1f | |||
742d568043 | |||
0ff7443d48 | |||
e0ce710fed | |||
e9f9037eb0 | |||
38a1a7cb13 | |||
33056869ea | |||
a663111b04 | |||
e3970aecf1 | |||
c9b34ee381 | |||
b86035bfd6 | |||
29b34b58a5 | |||
704ddf7d0d | |||
e92d9627c5 | |||
b3d10760fe | |||
899151b2ab | |||
2baff15ad5 | |||
71112d6e2b | |||
1b93cb10fd | |||
2abcfa7d68 | |||
9441c68f55 | |||
700e35d7ed | |||
eb644563d9 | |||
5909b6081a | |||
41684dd18e | |||
adcb7151e9 | |||
9deb44bc04 | |||
1d5b7a535b | |||
0b26ff7122 | |||
e409822f81 | |||
a9d9f995c3 | |||
3b66377b62 | |||
dee3d42371 | |||
b3ca5fb561 | |||
5c450bbf31 | |||
47127a9bae | |||
b435b26c72 | |||
22c7081635 | |||
fc798fcec4 | |||
0959da27ba | |||
d479170d27 | |||
c21f92146a | |||
a50dde13a1 | |||
a15c7d568d | |||
a487d9b894 | |||
608f2224c4 | |||
7bfced2126 | |||
8f80f216c1 | |||
98b0ede25e | |||
4b8f904d93 | |||
276bf5aa60 | |||
7aa702a094 | |||
dbea3910d3 | |||
d384ded694 | |||
c972af97dc | |||
b714ab2dca | |||
073624641a | |||
41eb213eaa | |||
75e92b2e4e | |||
27237a698f | |||
b2f822397b | |||
bedb912ef0 | |||
c88f0ea453 | |||
a6e9e96e70 |
4
.gitignore
vendored
@ -6,7 +6,8 @@ node_modules
|
|||||||
# local env files
|
# local env files
|
||||||
.env.local
|
.env.local
|
||||||
.env.*.local
|
.env.*.local
|
||||||
|
src/http.js
|
||||||
|
http.js
|
||||||
# Log files
|
# Log files
|
||||||
npm-debug.log*
|
npm-debug.log*
|
||||||
yarn-debug.log*
|
yarn-debug.log*
|
||||||
@ -21,3 +22,4 @@ pnpm-debug.log*
|
|||||||
*.njsproj
|
*.njsproj
|
||||||
*.sln
|
*.sln
|
||||||
*.sw?
|
*.sw?
|
||||||
|
/yarn.lock
|
||||||
|
8
jenkins/Jenkinsfile
vendored
@ -48,14 +48,14 @@ node {
|
|||||||
}
|
}
|
||||||
|
|
||||||
stage('scp') {
|
stage('scp') {
|
||||||
sh 'tar zcvf rescue-h5.zip ./dist/'
|
sh 'tar zcvf supplier-dispatch-h5.zip ./dist/'
|
||||||
|
|
||||||
for (String ip : "${params.targetIps}".split(",")) {
|
for (String ip : "${params.targetIps}".split(",")) {
|
||||||
echo "ssh deploy ${ip}"
|
echo "ssh deploy ${ip}"
|
||||||
sh "ssh root@${ip} 'bash -s' < '${workspace}/jenkins/file_exist.sh' rescue-h5"
|
sh "ssh root@${ip} 'bash -s' < '${workspace}/jenkins/file_exist.sh' supplier-dispatch-h5"
|
||||||
|
|
||||||
sh "scp rescue-h5.zip root@${ip}:/zd/rescue-h5/"
|
sh "scp supplier-dispatch-h5.zip root@${ip}:/zd/supplier-dispatch-h5/"
|
||||||
sh "ssh root@${ip} 'sudo rm -rf /zd/rescue-h5/dist && sudo tar -zxvf /zd/rescue-h5/rescue-h5.zip -C /zd/rescue-h5/ '"
|
sh "ssh root@${ip} 'sudo rm -rf /zd/supplier-dispatch-h5/dist && sudo tar -zxvf /zd/supplier-dispatch-h5/supplier-dispatch-h5.zip -C /zd/supplier-dispatch-h5/ '"
|
||||||
sh "ssh root@${ip} 'sudo bash -s' < '${workspace}/jenkins/docker-compose-restart.sh'"
|
sh "ssh root@${ip} 'sudo bash -s' < '${workspace}/jenkins/docker-compose-restart.sh'"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -48,14 +48,14 @@ node {
|
|||||||
}
|
}
|
||||||
|
|
||||||
stage('scp') {
|
stage('scp') {
|
||||||
sh 'tar zcvf rescue-h5.zip ./dist/'
|
sh 'tar zcvf supplier-dispatch-h5.zip ./dist/'
|
||||||
|
|
||||||
for (String ip : "${params.targetIps}".split(",")) {
|
for (String ip : "${params.targetIps}".split(",")) {
|
||||||
echo "ssh deploy ${ip}"
|
echo "ssh deploy ${ip}"
|
||||||
sh "ssh sasys@${ip} 'bash -s' < '${workspace}/jenkins/file_exist.sh' rescue-h5"
|
sh "ssh sasys@${ip} 'bash -s' < '${workspace}/jenkins/file_exist.sh' supplier-dispatch-h5"
|
||||||
|
|
||||||
sh "scp rescue-h5.zip sasys@${ip}:/zd/rescue-h5/"
|
sh "scp supplier-dispatch-h5.zip sasys@${ip}:/zd/supplier-dispatch-h5/"
|
||||||
sh "ssh sasys@${ip} 'sudo rm -rf /zd/rescue-h5/dist && sudo tar -zxvf /zd/rescue-h5/rescue-h5.zip -C /zd/rescue-h5/ '"
|
sh "ssh sasys@${ip} 'sudo rm -rf /zd/supplier-dispatch-h5/dist && sudo tar -zxvf /zd/supplier-dispatch-h5/supplier-dispatch-h5.zip -C /zd/supplier-dispatch-h5/ '"
|
||||||
sh "ssh sasys@${ip} 'sudo bash -s' < '${workspace}/jenkins/docker-compose-restart.sh'"
|
sh "ssh sasys@${ip} 'sudo bash -s' < '${workspace}/jenkins/docker-compose-restart.sh'"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
12363
package-lock.json
generated
12
package.json
@ -9,15 +9,20 @@
|
|||||||
"lint": "vue-cli-service lint"
|
"lint": "vue-cli-service lint"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
"@vant/area-data": "^2.0.0",
|
||||||
"amfe-flexible": "^2.2.1",
|
"amfe-flexible": "^2.2.1",
|
||||||
"axios": "^1.4.0",
|
"axios": "^1.4.0",
|
||||||
"core-js": "^3.8.3",
|
"core-js": "^3.8.3",
|
||||||
|
"dayjs": "^1.8.14",
|
||||||
|
"decimal.js": "^10.4.3",
|
||||||
|
"echarts": "^5.2.2",
|
||||||
|
"element-ui": "^2.15.9",
|
||||||
"less": "^4.1.3",
|
"less": "^4.1.3",
|
||||||
"less-loader": "^11.1.3",
|
"less-loader": "^11.1.3",
|
||||||
"qs": "^6.11.2",
|
"qs": "^6.11.2",
|
||||||
"sass": "^1.65.1",
|
"sass": "^1.65.1",
|
||||||
"sass-loader": "^13.3.2",
|
"sass-loader": "^13.3.2",
|
||||||
"vant": "^2.12.54",
|
"vant": "^2.13.2",
|
||||||
"vue": "^2.6.14",
|
"vue": "^2.6.14",
|
||||||
"vue-router": "^3.0.7",
|
"vue-router": "^3.0.7",
|
||||||
"vuex": "^3.6.2"
|
"vuex": "^3.6.2"
|
||||||
@ -48,7 +53,10 @@
|
|||||||
"parserOptions": {
|
"parserOptions": {
|
||||||
"parser": "@babel/eslint-parser"
|
"parser": "@babel/eslint-parser"
|
||||||
},
|
},
|
||||||
"rules": {}
|
"rules": {},
|
||||||
|
"globals": {
|
||||||
|
"AMap": "true"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"browserslist": [
|
"browserslist": [
|
||||||
"> 1%",
|
"> 1%",
|
||||||
|
@ -3,6 +3,7 @@
|
|||||||
<head>
|
<head>
|
||||||
<meta charset="utf-8">
|
<meta charset="utf-8">
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
|
<!-- <meta name="viewport" content="width=device-width, initial-scale=1.0">-->
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, viewport-fit=cover,user-scalable=no">
|
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, viewport-fit=cover,user-scalable=no">
|
||||||
<meta name="format-detection" content="telephone=yes"/>
|
<meta name="format-detection" content="telephone=yes"/>
|
||||||
<link rel="icon" href="<%= BASE_URL %>favicon.ico">
|
<link rel="icon" href="<%= BASE_URL %>favicon.ico">
|
||||||
@ -24,11 +25,44 @@
|
|||||||
<!-- 开启底部安全区适配 -->
|
<!-- 开启底部安全区适配 -->
|
||||||
<van-number-keyboard safe-area-inset-bottom />
|
<van-number-keyboard safe-area-inset-bottom />
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
window._AMapSecurityConfig = {
|
window._AMapSecurityConfig = {
|
||||||
// serviceHost:'https://api.sinoassist.com/_AMapService',
|
serviceHost: 'https://api.sinoassist.com/_AMapService',
|
||||||
securityJsCode:'91ab1ebc492d5479a68b11527bd73dc9',
|
}
|
||||||
}
|
|
||||||
</script>
|
</script>
|
||||||
<script type="text/javascript" src="https://webapi.amap.com/maps?v=2.0&key=2560bbf04daef66c810c5e6a97e8c508&plugin=AMap.AutoComplete,AMap.PlaceSearch,AMap.Geolocation,AMap.Geocoder,AMap.Marker,AMap.Driving"></script>
|
<script src="https://webapi.amap.com/maps?v=1.4.15&key=2560bbf04daef66c810c5e6a97e8c508&plugin=AMap.Polyline"></script>
|
||||||
|
<!-- <script src="https://unpkg.com/vconsole@latest/dist/vconsole.min.js"></script>-->
|
||||||
|
<script>
|
||||||
|
// VConsole 默认会挂载到 `window.VConsole` 上
|
||||||
|
// let vConsole = new window.VConsole();
|
||||||
|
(function (doc, win) {
|
||||||
|
// console.log("==window.location.pathname===",window.location.pathname)
|
||||||
|
let docEl = doc.documentElement
|
||||||
|
let resizeEvt = 'orientationchange' in window ? 'orientationchange' : 'resize'
|
||||||
|
recalc = function () {
|
||||||
|
var clientWidth = docEl.clientWidth;
|
||||||
|
if (!clientWidth) return;
|
||||||
|
if (clientWidth < 400) {
|
||||||
|
clientWidth = 400;
|
||||||
|
}
|
||||||
|
docEl.style.fontSize = 18 * (clientWidth / 650) + 'px';
|
||||||
|
};
|
||||||
|
if (!doc.addEventListener) return;
|
||||||
|
var isMobile = /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);
|
||||||
|
if (isMobile) {// 是移动端不变
|
||||||
|
// console.log("是移动端不变")
|
||||||
|
}else{
|
||||||
|
if(window.location.pathname=='/h5/supplier/dispatch/kpiIndex'){
|
||||||
|
// console.log("执行了执行了")
|
||||||
|
win.addEventListener(resizeEvt, recalc, false);
|
||||||
|
doc.addEventListener('DOMContentLoaded', recalc, false);
|
||||||
|
}
|
||||||
|
/*else{
|
||||||
|
console.log("走着了这种饿 ")
|
||||||
|
}*/
|
||||||
|
}
|
||||||
|
})(document, window);
|
||||||
|
|
||||||
|
</script>
|
||||||
|
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
78
public/res/privacy.html
Normal file
@ -0,0 +1,78 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="zh-CN">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<title>免责声明</title>
|
||||||
|
<style>
|
||||||
|
body {
|
||||||
|
font-family: Arial, sans-serif;
|
||||||
|
line-height: 1.6;
|
||||||
|
/*margin: 20px;*/
|
||||||
|
padding: 0;
|
||||||
|
/*background-color: #f9f9f9;*/
|
||||||
|
color: #333;
|
||||||
|
}
|
||||||
|
h3 {
|
||||||
|
text-align: center;
|
||||||
|
/*font-size: 24px;*/
|
||||||
|
margin-bottom: 20px;
|
||||||
|
}
|
||||||
|
h4 {
|
||||||
|
/*font-size: 20px;*/
|
||||||
|
margin-top: 30px;
|
||||||
|
margin-bottom: 10px;
|
||||||
|
color: #555;
|
||||||
|
}
|
||||||
|
p {
|
||||||
|
margin: 10px 0;
|
||||||
|
text-indent: 2em;
|
||||||
|
}
|
||||||
|
ul {
|
||||||
|
margin: 10px 0;
|
||||||
|
padding-left: 40px;
|
||||||
|
}
|
||||||
|
li {
|
||||||
|
margin: 5px 0;
|
||||||
|
}
|
||||||
|
.container {
|
||||||
|
font-size: 14px;
|
||||||
|
padding-bottom: 20px;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div class="container">
|
||||||
|
<h3>声明</h3>
|
||||||
|
<p>本平台为二手拖车买卖双方提供免费信息发布服务。在您使用本平台之前,请仔细阅读并理解本免责声明。一旦使用本平台,即视为您已阅读、理解并同意接受本免责声明的所有条款。</p>
|
||||||
|
|
||||||
|
<h4>一、平台性质</h4>
|
||||||
|
<p>1. 本平台仅为信息发布平台,不参与任何二手拖车交易环节,包括但不限于交易洽谈、合同签订、款项支付、车辆交付等,实际交易价格由买卖双方自行协商确定。</p>
|
||||||
|
<p>2. 本平台不对发布信息的真实性、准确性、完整性、合法性进行任何形式的担保或保证,用户应自行判断信息的真实性并承担由此产生的风险。</p>
|
||||||
|
|
||||||
|
<h4>二、用户责任</h4>
|
||||||
|
<p>1. 用户应保证发布的信息真实、准确、完整、合法,并对其发布的信息承担全部责任。</p>
|
||||||
|
<p>2. 用户不得发布任何虚假、违法、侵权、违反公序良俗的信息,包括但不限于:</p>
|
||||||
|
<ul>
|
||||||
|
<li>虚假车源信息</li>
|
||||||
|
<li>事故车、水泡车、火烧车等存在重大安全隐患的车辆信息</li>
|
||||||
|
<li>盗抢车辆信息</li>
|
||||||
|
<li>侵犯他人知识产权或其他合法权益的信息</li>
|
||||||
|
<li>含有淫秽、色情、赌博、暴力、恐怖等内容的信息</li>
|
||||||
|
<li>其他违反法律法规或平台规则的信息</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<h4>三、免责条款</h4>
|
||||||
|
<p>1. 因用户发布的信息引起的任何纠纷或损失,本平台不承担任何责任。</p>
|
||||||
|
<p>2. 因不可抗力、计算机病毒、黑客攻击、系统不稳定、用户所在位置、用户关机以及其他任何网络、技术、通信线路等原因造成的服务中断或不能满足用户要求的风险,本平台不承担任何责任。</p>
|
||||||
|
<p>3. 本平台不对用户之间的交易行为承担任何责任,用户应自行承担交易风险。</p>
|
||||||
|
|
||||||
|
<h4>四、其他</h4>
|
||||||
|
<p>1. 本平台有权根据法律法规的变化或平台运营的需要,随时修改本免责声明,并在平台上公布,修改后的内容自公布之日起生效。</p>
|
||||||
|
<p>2. 本免责声明的解释权归中道救援股份有限公司所有。</p>
|
||||||
|
|
||||||
|
<p>请您在使用本平台前务必仔细阅读并理解本免责声明。</p>
|
||||||
|
<p>如果您对本免责声明有任何疑问,请联系我们。</p>
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
</html>
|
84
src/api/kpi.js
Normal file
@ -0,0 +1,84 @@
|
|||||||
|
import request from '@/utils/http'
|
||||||
|
// 首页服务商接口
|
||||||
|
export function getStatisticsKpiByMonth(data){
|
||||||
|
return request({
|
||||||
|
url: '/supplier/supplierKPI/querySupplierStatisticsKpiByMonth',
|
||||||
|
method:'POST',
|
||||||
|
// contentType: 'application/json',
|
||||||
|
data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
//服务商kpi
|
||||||
|
export function getStatisticsKpi(data){
|
||||||
|
return request({
|
||||||
|
url: '/supplier/supplierKPI/querySupplierStatisticsKpi',
|
||||||
|
method:'POST',
|
||||||
|
// contentType: 'application/json',
|
||||||
|
data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 司机Kpi
|
||||||
|
export function getDriverStatisticsKpi(data){
|
||||||
|
return request({
|
||||||
|
url: '/supplier/supplierKPI/querySupplierDriverStatisticsKpi',
|
||||||
|
method:'POST',
|
||||||
|
// contentType: 'application/json',
|
||||||
|
data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
export function querySupplierDriverStatisticsScore(data){
|
||||||
|
return request({
|
||||||
|
url: '/supplier/supplierKPI/querySupplierDriverStatisticsScore',
|
||||||
|
method:'POST',
|
||||||
|
// contentType: 'application/json',
|
||||||
|
data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
// 各种详情数据
|
||||||
|
export function getKpiDetailsData(data){
|
||||||
|
return request({
|
||||||
|
url: '/supplier/supplierKPI/querySupplierKpiDetailsData',
|
||||||
|
method:'POST',
|
||||||
|
// contentType: 'application/json',
|
||||||
|
data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
// 获取近12个月的服务商数据
|
||||||
|
export function getRecentSupplierKpi(data){
|
||||||
|
return request({
|
||||||
|
url: '/supplier/supplierKPI/queryRecentSupplierStatisticsKpi',
|
||||||
|
method:'POST',
|
||||||
|
// contentType: 'application/json',
|
||||||
|
data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
// 司机分数详情
|
||||||
|
export function driverScoreDetail(data){
|
||||||
|
return request({
|
||||||
|
url: '/supplier/supplierKPI/querySupplierDriverStatisticsScore',
|
||||||
|
method:'POST',
|
||||||
|
// contentType: 'application/json',
|
||||||
|
data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
// 关键词搜索服务商名称
|
||||||
|
export function getSupplierId(key) {
|
||||||
|
return request({
|
||||||
|
url: '/supplier/select/supplier',
|
||||||
|
method: 'GET',
|
||||||
|
params: {
|
||||||
|
key: key ,
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
// supplier/select/driver 关键词搜索司机名称
|
||||||
|
export function getDriverName(key) {
|
||||||
|
return request({
|
||||||
|
url: '/supplier/select/driver',
|
||||||
|
method: 'GET',
|
||||||
|
params: {
|
||||||
|
key: key ,
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
46
src/api/maintenance.js
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
import request from '@/utils/http'
|
||||||
|
|
||||||
|
// 调度APP-维保数量
|
||||||
|
export function vehicleMaintenanceCount() {
|
||||||
|
return request({
|
||||||
|
url: '/supplierAppV2/dispatchApp/maintenance/vehicleMaintenanceCount',
|
||||||
|
method:'POST',
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
//维保列表
|
||||||
|
export function vehicleMaintenanceList(data) {
|
||||||
|
return request({
|
||||||
|
url: '/supplierAppV2/dispatchApp/maintenance/vehicleMaintenanceList',
|
||||||
|
method:'POST',
|
||||||
|
contentType: 'application/json',
|
||||||
|
data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
// 获取维保记录详情
|
||||||
|
export function getVehicleMaintenanceDetail(data) {
|
||||||
|
return request({
|
||||||
|
url: '/supplierAppV2/dispatchApp/maintenance/getVehicleMaintenanceDetail',
|
||||||
|
method:'POST',
|
||||||
|
contentType: 'application/json',
|
||||||
|
data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
// 维保终止
|
||||||
|
export function vehicleMaintenanceStop(data) {
|
||||||
|
return request({
|
||||||
|
url: '/supplierAppV2/dispatchApp/maintenance/vehicleMaintenanceStop',
|
||||||
|
method:'POST',
|
||||||
|
contentType: 'application/json',
|
||||||
|
data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
// 维保审批
|
||||||
|
export function vehicleMaintenanceApproval(data) {
|
||||||
|
return request({
|
||||||
|
url: '/supplierAppV2/dispatchApp/maintenance/vehicleMaintenanceApproval',
|
||||||
|
method:'POST',
|
||||||
|
contentType: 'application/json',
|
||||||
|
data
|
||||||
|
})
|
||||||
|
}
|
162
src/api/mine.js
@ -132,7 +132,7 @@ export function deleteImage(data){
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
//新增记账图片 form-data
|
//新增记账图片 form-data
|
||||||
export function insertRecordPicture(data){
|
/*export function insertRecordPicture(data){
|
||||||
return request({
|
return request({
|
||||||
url:'/supplierAppV2/dispatchApp/accountRecord/insertRecordPicture',
|
url:'/supplierAppV2/dispatchApp/accountRecord/insertRecordPicture',
|
||||||
method:'POST',
|
method:'POST',
|
||||||
@ -142,30 +142,176 @@ export function insertRecordPicture(data){
|
|||||||
// 'Content-Type': 'multipart/form-data',
|
// 'Content-Type': 'multipart/form-data',
|
||||||
// },
|
// },
|
||||||
})
|
})
|
||||||
}
|
}*/
|
||||||
|
|
||||||
//开票通知列表
|
//开票通知列表
|
||||||
export function notifyInvoiceList(data){
|
export function notifyInvoiceList(data){
|
||||||
return request({
|
return request({
|
||||||
url:'/supplierAppV2/dispatchApp/accountRecord/notifyInvoiceList',
|
url:'/order/taskInvoiceBatch/selectPageList',
|
||||||
method:'POST',
|
method:'POST',
|
||||||
contentType:'application/json',
|
|
||||||
data
|
data
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
// contentType:'application/json',
|
||||||
//开票通知详情
|
//开票通知详情
|
||||||
export function notifyInvoiceDetail(data){
|
export function notifyInvoiceDetail(data){
|
||||||
return request({
|
return request({
|
||||||
url:'/supplierAppV2/dispatchApp/accountRecord/notifyInvoiceDetail',
|
url:'/order/taskInvoiceBatch/selectById',
|
||||||
method:'POST',
|
method:'POST',
|
||||||
contentType:'application/json',
|
|
||||||
data
|
data
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
// /supplier/supplierTrainingMaterials/pageList 获取培训材料列表
|
// 关联案件
|
||||||
|
export function getOrderListByInvoice(data) {
|
||||||
|
return request({
|
||||||
|
url:'/order/taskOrderCostHisRecord/selectPageList',
|
||||||
|
method:'POST',
|
||||||
|
data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 调度app获取新签列表
|
||||||
export function pageList(data){
|
export function pageList(data){
|
||||||
return request({
|
return request({
|
||||||
url:'/supplier/supplierTrainingMaterials/pageList',
|
url:'/supplierAppV2/dispatchApp/user/supplierTrainingMaterialsPageList',
|
||||||
|
method:'POST',
|
||||||
|
contentType:'application/json',
|
||||||
|
data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
// 司机app获取新签列表
|
||||||
|
export function driverTrainList(key){
|
||||||
|
return request({
|
||||||
|
url:'/supplier/supplierTraining/trainingTask',
|
||||||
|
method:'GET',
|
||||||
|
params:key
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
//获取普通材料
|
||||||
|
export function getNormalList(key) {
|
||||||
|
return request({
|
||||||
|
url: '/supplier/supplierTraining/normalList',
|
||||||
|
method: 'GET',
|
||||||
|
params:key
|
||||||
|
});
|
||||||
|
}
|
||||||
|
//获取培训材料
|
||||||
|
export function getTrainingList(key) {
|
||||||
|
return request({
|
||||||
|
url: '/supplier/supplierTraining/trainingList',
|
||||||
|
method: 'GET',
|
||||||
|
params:key
|
||||||
|
});
|
||||||
|
}
|
||||||
|
//用户操作权限
|
||||||
|
export function userOperationPermissions(){
|
||||||
|
return request({
|
||||||
|
url:'/supplierAppV2/dispatchApp/user/userOperationPermissions',
|
||||||
|
method:'POST',
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 上传图片
|
||||||
|
export function uploadImage(data){
|
||||||
|
return request({
|
||||||
|
url:'/order/uploadImage',
|
||||||
|
method:'POST',
|
||||||
|
contentType:'multipart/form-data',
|
||||||
|
data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 发票上传
|
||||||
|
export function uploadInvoice(data){
|
||||||
|
return request({
|
||||||
|
url:'/order/taskInvoiceBatch/saveInvoiceImagesAndIdentify',
|
||||||
|
method:'POST',
|
||||||
|
contentType:'multipart/form-data',
|
||||||
|
data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 删除发票
|
||||||
|
export function deleteInvoice(data) {
|
||||||
|
return request({
|
||||||
|
url:'/order/taskInvoiceBatch/deleteInfo',
|
||||||
|
method:'POST',
|
||||||
|
contentType:'multipart/form-data',
|
||||||
|
data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 生成财务批次
|
||||||
|
export function createBatch(data) {
|
||||||
|
return request({
|
||||||
|
url:'/order/taskInvoiceBatch/supplierCreateFinanceBatch',
|
||||||
|
method:'POST',
|
||||||
|
contentType:'application/x-www-form-urlencoded',
|
||||||
|
data,
|
||||||
|
testFlag: true
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 开票信息列表
|
||||||
|
export function getFinanceBatchList(data) {
|
||||||
|
return request({
|
||||||
|
url:'/order/taskInvoiceFinanceBatch/selectFinanceBatchPageList',
|
||||||
|
method:'POST',
|
||||||
|
data,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 批次对应发票信息列表
|
||||||
|
export function financeInvoiceList(data) {
|
||||||
|
return request({
|
||||||
|
url:'/order/taskInvoiceBatch/selectInvoicePageList',
|
||||||
|
method:'POST',
|
||||||
|
data,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 查看发票
|
||||||
|
export function selectInvoiceDetailInfo(data) {
|
||||||
|
return request({
|
||||||
|
url:'/order/taskInvoiceBatch/selectInvoiceDetailInfo',
|
||||||
|
method:'POST',
|
||||||
|
data,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 填写快递
|
||||||
|
export function saveBatchCourierNumber(data) {
|
||||||
|
return request({
|
||||||
|
url:'/order/taskInvoiceBatch/supplierSaveBatchCourierNumber',
|
||||||
|
method:'POST',
|
||||||
|
data,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获取服务商发票信息
|
||||||
|
export function getBillingInfo(url, data) {
|
||||||
|
return request({
|
||||||
|
url: url,
|
||||||
|
method:'POST',
|
||||||
|
contentType:'multipart/form-data',
|
||||||
|
data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// ocr 识别
|
||||||
|
export function ocrHandler(data){
|
||||||
|
return request({
|
||||||
|
url:'/agg-api/tencent-ocr/unifiedOCR',
|
||||||
|
method:'POST',
|
||||||
|
contentType:'application/json',
|
||||||
|
data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
///agg-api/tencent-ocr/unifiedOCRWithCompress
|
||||||
|
export function unifiedOCRWithCompress(data){
|
||||||
|
return request({
|
||||||
|
url:'/agg-api/tencent-ocr/unifiedOCRWithCompress',
|
||||||
method:'POST',
|
method:'POST',
|
||||||
contentType:'application/json',
|
contentType:'application/json',
|
||||||
data
|
data
|
||||||
|
@ -7,6 +7,13 @@ export function getToDoList() {
|
|||||||
method:'POST',
|
method:'POST',
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
// 调度APP待办事项列表New
|
||||||
|
export function toDoListNew() {
|
||||||
|
return request({
|
||||||
|
url: '/supplierAppV2/dispatchApp/toDoMessage/toDoListNew',
|
||||||
|
method:'POST',
|
||||||
|
})
|
||||||
|
}
|
||||||
// 代办事项审核
|
// 代办事项审核
|
||||||
export function toDoAudit(data){
|
export function toDoAudit(data){
|
||||||
return request({
|
return request({
|
||||||
@ -25,6 +32,15 @@ export function getOrderDetail(data){
|
|||||||
data
|
data
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
// 工单司机位置
|
||||||
|
export function showVehiclePositionInfo(data){
|
||||||
|
return request({
|
||||||
|
url:'/supplierAppV2/dispatchApp/order/showVehiclePositionInfo',
|
||||||
|
method:'POST',
|
||||||
|
contentType:'application/json',
|
||||||
|
data
|
||||||
|
})
|
||||||
|
}
|
||||||
// 工单报备
|
// 工单报备
|
||||||
export function orderReporting(data){
|
export function orderReporting(data){
|
||||||
return request({
|
return request({
|
||||||
@ -34,6 +50,15 @@ export function orderReporting(data){
|
|||||||
data
|
data
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
// 查看报备列表
|
||||||
|
export function orderReportingList(data){
|
||||||
|
return request({
|
||||||
|
url:'/supplierAppV2/dispatchApp/order/orderReportingList',
|
||||||
|
method:'POST',
|
||||||
|
contentType:'application/json',
|
||||||
|
data
|
||||||
|
})
|
||||||
|
}
|
||||||
// 获取订单结算单信息
|
// 获取订单结算单信息
|
||||||
export function getOrderSettlement(data){
|
export function getOrderSettlement(data){
|
||||||
return request({
|
return request({
|
||||||
@ -52,3 +77,38 @@ export function updateOrderSettlement(data){
|
|||||||
data
|
data
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
// 电瓶数量列表
|
||||||
|
export function batteryCountList(){
|
||||||
|
return request({
|
||||||
|
url:'/supplierAppV2/dispatchApp/battery/batteryCountList',
|
||||||
|
method:'POST',
|
||||||
|
contentType:'application/json',
|
||||||
|
// data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
// 电瓶详情
|
||||||
|
export function batteryDetailList (data){
|
||||||
|
return request({
|
||||||
|
url:'/supplierAppV2/dispatchApp/battery/batteryDetailList',
|
||||||
|
method:'POST',
|
||||||
|
contentType:'application/json',
|
||||||
|
data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 查询未读告知函
|
||||||
|
export function selectUnReadNotifyBySupplier() {
|
||||||
|
return request({
|
||||||
|
url: '/supplierManage/correction/notify/selectUnReadNotifyBySupplier',
|
||||||
|
method:'POST',
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 阅读告知函
|
||||||
|
export function correctionHandle(data) {
|
||||||
|
return request({
|
||||||
|
url: '/supplierManage/correction/record/correctionHandle',
|
||||||
|
method:'POST',
|
||||||
|
data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
90
src/api/reimbursementBatch.js
Normal file
@ -0,0 +1,90 @@
|
|||||||
|
import request from '@/utils/http'
|
||||||
|
//司机app待报销月份
|
||||||
|
export function waitReimburseMonth(data) {
|
||||||
|
return request({
|
||||||
|
url: '/driverApp/reimburse/waitReimburseMonth',
|
||||||
|
method:'POST',
|
||||||
|
contentType: 'application/json',
|
||||||
|
data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
//司机app待报销列表
|
||||||
|
export function waitReimburseList(data) {
|
||||||
|
return request({
|
||||||
|
url: '/driverApp/reimburse/waitReimburseList',
|
||||||
|
method:'POST',
|
||||||
|
contentType: 'application/json',
|
||||||
|
data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
// 司机app提交报销批次
|
||||||
|
export function submitReimburseBatch(data) {
|
||||||
|
return request({
|
||||||
|
url: '/driverApp/reimburse/submitReimburseBatch',
|
||||||
|
method:'POST',
|
||||||
|
contentType: 'application/json',
|
||||||
|
data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
// 司机app已报销/报销失败列表
|
||||||
|
export function reimbursedList(data) {
|
||||||
|
return request({
|
||||||
|
url: '/driverApp/reimburse/reimbursedList',
|
||||||
|
method:'POST',
|
||||||
|
contentType: 'application/json',
|
||||||
|
data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
//调度App-报销批次数量
|
||||||
|
export function reimburseBatchCount() {
|
||||||
|
return request({
|
||||||
|
url: '/supplierAppV2/dispatchApp/reimburse/reimburseBatchCount',
|
||||||
|
method:'POST',
|
||||||
|
// contentType: 'application/x-www-form-urlencoded',
|
||||||
|
})
|
||||||
|
}
|
||||||
|
// 调度App-报销批次审核
|
||||||
|
export function reimburseBatchList(data) {
|
||||||
|
return request({
|
||||||
|
url: '/supplierAppV2/dispatchApp/reimburse/reimburseBatchList',
|
||||||
|
method:'POST',
|
||||||
|
contentType: 'application/json',
|
||||||
|
data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
//调度App-报销批次订单数量
|
||||||
|
export function reimburseBatchOrderCount(data) {
|
||||||
|
return request({
|
||||||
|
url: '/supplierAppV2/dispatchApp/reimburse/reimburseBatchOrderCount',
|
||||||
|
method:'POST',
|
||||||
|
contentType: 'application/json',
|
||||||
|
data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
//调度App-报销批次订单列表
|
||||||
|
export function reimburseBatchOrderList(data) {
|
||||||
|
return request({
|
||||||
|
url: '/supplierAppV2/dispatchApp/reimburse/reimburseBatchOrderList',
|
||||||
|
method:'POST',
|
||||||
|
contentType: 'application/json',
|
||||||
|
data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
//调度App-报销订单详情
|
||||||
|
export function reimburseOrderDetail(data) {
|
||||||
|
return request({
|
||||||
|
url: '/supplierAppV2/dispatchApp/reimburse/reimburseOrderDetail',
|
||||||
|
method:'POST',
|
||||||
|
contentType: 'application/json',
|
||||||
|
data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
//调度App-报销订单审核
|
||||||
|
export function reimburseOrderAudit(data) {
|
||||||
|
return request({
|
||||||
|
url: '/supplierAppV2/dispatchApp/reimburse/reimburseOrderAudit ',
|
||||||
|
method:'POST',
|
||||||
|
contentType: 'application/json',
|
||||||
|
data
|
||||||
|
})
|
||||||
|
}
|
96
src/api/secondHandCar.js
Normal file
@ -0,0 +1,96 @@
|
|||||||
|
import request from '@/utils/http'
|
||||||
|
// 车源/求购列表
|
||||||
|
export function appPageList(data){
|
||||||
|
return request({
|
||||||
|
url: '/toc-user/car-app/appPageList',
|
||||||
|
method:'POST',
|
||||||
|
contentType: 'application/json',
|
||||||
|
data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
// 我的发布列表
|
||||||
|
export function minePublishPageList(data){
|
||||||
|
return request({
|
||||||
|
url: '/toc-user/car-app/minePublishPageList',
|
||||||
|
method:'POST',
|
||||||
|
contentType: 'application/json',
|
||||||
|
data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 审核不通过数量
|
||||||
|
export function auditFailCount (data){
|
||||||
|
return request({
|
||||||
|
url: '/toc-user/car-app/auditFailCount ',
|
||||||
|
method:'POST',
|
||||||
|
// contentType: 'application/json',
|
||||||
|
data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
// 信息详情查询
|
||||||
|
export function carInfoDetail(data){
|
||||||
|
return request({
|
||||||
|
url: '/toc-user/car-app/carInfoDetail',
|
||||||
|
method:'POST',
|
||||||
|
contentType: 'application/json',
|
||||||
|
data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
// 发布编辑信息
|
||||||
|
export function publishCarInfo(data){
|
||||||
|
return request({
|
||||||
|
url: '/toc-user/car-app/publishCarInfo',
|
||||||
|
method:'POST',
|
||||||
|
contentType: 'application/json',
|
||||||
|
data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
// 用户信息反馈
|
||||||
|
export function userFeedback(data){
|
||||||
|
return request({
|
||||||
|
url: '/toc-user/car-app/userFeedback',
|
||||||
|
method:'POST',
|
||||||
|
contentType: 'application/json',
|
||||||
|
data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
//二手拖车信息擦亮
|
||||||
|
export function usedCarPolish(data){
|
||||||
|
return request({
|
||||||
|
url: `/toc-user/car-app/usedCarPolish/${data}`,
|
||||||
|
method:'POST',
|
||||||
|
})
|
||||||
|
}
|
||||||
|
//二手拖车信息下架
|
||||||
|
export function usedCarRemove(data){
|
||||||
|
return request({
|
||||||
|
url: '/toc-user/car-app/usedCarRemove',
|
||||||
|
method:'POST',
|
||||||
|
contentType: 'application/json',
|
||||||
|
data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
//二手拖车信息重新上架
|
||||||
|
export function usedCarReShelf(data){
|
||||||
|
return request({
|
||||||
|
url: `/toc-user/car-app/usedCarReShelf/${data}`,
|
||||||
|
method:'POST',
|
||||||
|
})
|
||||||
|
}
|
||||||
|
//审批信息
|
||||||
|
export function auditCarInfo(data){
|
||||||
|
return request({
|
||||||
|
url: '/toc-user/car-admin/auditCarInfo',
|
||||||
|
method:'POST',
|
||||||
|
data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
// 保存信息记录
|
||||||
|
export function saveRecord(data){
|
||||||
|
return request({
|
||||||
|
url: '/toc-user/car-record/saveRecord',
|
||||||
|
method:'POST',
|
||||||
|
contentType: 'application/json',
|
||||||
|
data
|
||||||
|
})
|
||||||
|
}
|
BIN
src/assets/arr_bot.png
Normal file
After Width: | Height: | Size: 3.9 KiB |
BIN
src/assets/arr_right.png
Normal file
After Width: | Height: | Size: 2.0 KiB |
BIN
src/assets/arrow_bot.png
Normal file
After Width: | Height: | Size: 3.6 KiB |
BIN
src/assets/arrow_rht.png
Normal file
After Width: | Height: | Size: 4.5 KiB |
BIN
src/assets/baoxiao_check.png
Normal file
After Width: | Height: | Size: 2.1 KiB |
BIN
src/assets/baoxiao_uncheck.png
Normal file
After Width: | Height: | Size: 1.1 KiB |
BIN
src/assets/dakuan.png
Normal file
After Width: | Height: | Size: 665 B |
BIN
src/assets/delKey.png
Normal file
After Width: | Height: | Size: 5.9 KiB |
BIN
src/assets/desitationPosition.png
Normal file
After Width: | Height: | Size: 4.8 KiB |
Before Width: | Height: | Size: 12 KiB |
BIN
src/assets/empty.png
Normal file
After Width: | Height: | Size: 15 KiB |
BIN
src/assets/icon_upload.png
Normal file
After Width: | Height: | Size: 524 B |
BIN
src/assets/list_rightArrow.png
Normal file
After Width: | Height: | Size: 469 B |
BIN
src/assets/love.jpg
Normal file
After Width: | Height: | Size: 452 KiB |
BIN
src/assets/minePosition.png
Normal file
After Width: | Height: | Size: 1.7 KiB |
BIN
src/assets/realApoint.png
Normal file
After Width: | Height: | Size: 3.4 KiB |
BIN
src/assets/realBpoint.png
Normal file
After Width: | Height: | Size: 3.1 KiB |
BIN
src/assets/realCpoint.png
Normal file
After Width: | Height: | Size: 3.4 KiB |
BIN
src/assets/secondHandCar/11.png
Normal file
After Width: | Height: | Size: 6.9 KiB |
BIN
src/assets/secondHandCar/45angle.png
Normal file
After Width: | Height: | Size: 290 KiB |
BIN
src/assets/secondHandCar/alreayXiajia.png
Normal file
After Width: | Height: | Size: 1.7 KiB |
BIN
src/assets/secondHandCar/arr_bot_blue.png
Normal file
After Width: | Height: | Size: 348 B |
BIN
src/assets/secondHandCar/arr_bottom.png
Normal file
After Width: | Height: | Size: 375 B |
BIN
src/assets/secondHandCar/arr_left.png
Normal file
After Width: | Height: | Size: 327 B |
BIN
src/assets/secondHandCar/back.png
Normal file
After Width: | Height: | Size: 327 B |
BIN
src/assets/secondHandCar/bg.png
Normal file
After Width: | Height: | Size: 81 KiB |
BIN
src/assets/secondHandCar/buyCar.png
Normal file
After Width: | Height: | Size: 40 KiB |
BIN
src/assets/secondHandCar/checked.png
Normal file
After Width: | Height: | Size: 933 B |
BIN
src/assets/secondHandCar/cheyuanBig.png
Normal file
After Width: | Height: | Size: 5.1 KiB |
BIN
src/assets/secondHandCar/cheyuanSmall.png
Normal file
After Width: | Height: | Size: 4.5 KiB |
BIN
src/assets/secondHandCar/cheyuan_big.png
Normal file
After Width: | Height: | Size: 8.8 KiB |
BIN
src/assets/secondHandCar/delete.png
Normal file
After Width: | Height: | Size: 579 B |
BIN
src/assets/secondHandCar/description.png
Normal file
After Width: | Height: | Size: 7.2 KiB |
BIN
src/assets/secondHandCar/description1.png
Normal file
After Width: | Height: | Size: 8.6 KiB |
BIN
src/assets/secondHandCar/details.png
Normal file
After Width: | Height: | Size: 7.6 KiB |
BIN
src/assets/secondHandCar/expire.png
Normal file
After Width: | Height: | Size: 2.4 KiB |
BIN
src/assets/secondHandCar/fabuing.png
Normal file
After Width: | Height: | Size: 2.6 KiB |
BIN
src/assets/secondHandCar/icon_saled.png
Normal file
After Width: | Height: | Size: 13 KiB |
BIN
src/assets/secondHandCar/icon_zdOwner.png
Normal file
After Width: | Height: | Size: 4.3 KiB |
BIN
src/assets/secondHandCar/jiashizheng.jpg
Normal file
After Width: | Height: | Size: 199 KiB |
BIN
src/assets/secondHandCar/mine.png
Normal file
After Width: | Height: | Size: 8.7 KiB |
BIN
src/assets/secondHandCar/mine_cheyuan.png
Normal file
After Width: | Height: | Size: 2.1 KiB |
BIN
src/assets/secondHandCar/mine_qiugou.png
Normal file
After Width: | Height: | Size: 2.9 KiB |
BIN
src/assets/secondHandCar/noAudit.png
Normal file
After Width: | Height: | Size: 822 B |
BIN
src/assets/secondHandCar/nopass.png
Normal file
After Width: | Height: | Size: 3.0 KiB |
BIN
src/assets/secondHandCar/one_cheyuan.png
Normal file
After Width: | Height: | Size: 6.7 KiB |
BIN
src/assets/secondHandCar/one_qiugou.png
Normal file
After Width: | Height: | Size: 6.3 KiB |
BIN
src/assets/secondHandCar/polish.png
Normal file
After Width: | Height: | Size: 6.1 KiB |
BIN
src/assets/secondHandCar/qiugouBig.png
Normal file
After Width: | Height: | Size: 5.9 KiB |
BIN
src/assets/secondHandCar/qiugouSmall.png
Normal file
After Width: | Height: | Size: 5.1 KiB |
BIN
src/assets/secondHandCar/qiugou_big.png
Normal file
After Width: | Height: | Size: 9.7 KiB |
BIN
src/assets/secondHandCar/reshangjia.png
Normal file
After Width: | Height: | Size: 5.6 KiB |
BIN
src/assets/secondHandCar/revise.png
Normal file
After Width: | Height: | Size: 4.9 KiB |
BIN
src/assets/secondHandCar/search.png
Normal file
After Width: | Height: | Size: 1.7 KiB |
BIN
src/assets/secondHandCar/sellCar.png
Normal file
After Width: | Height: | Size: 35 KiB |
BIN
src/assets/secondHandCar/suggest.png
Normal file
After Width: | Height: | Size: 13 KiB |
BIN
src/assets/secondHandCar/three.png
Normal file
After Width: | Height: | Size: 7.6 KiB |
BIN
src/assets/secondHandCar/two_desc.png
Normal file
After Width: | Height: | Size: 6.4 KiB |
BIN
src/assets/secondHandCar/two_supply.png
Normal file
After Width: | Height: | Size: 6.1 KiB |
BIN
src/assets/secondHandCar/uncheck.png
Normal file
After Width: | Height: | Size: 812 B |
BIN
src/assets/secondHandCar/upload.png
Normal file
After Width: | Height: | Size: 5.7 KiB |
BIN
src/assets/secondHandCar/wait_verify.png
Normal file
After Width: | Height: | Size: 2.2 KiB |
BIN
src/assets/secondHandCar/xiajia.png
Normal file
After Width: | Height: | Size: 4.3 KiB |
BIN
src/assets/secondHandCar/车辆描述@2x.png
Normal file
After Width: | Height: | Size: 6.2 KiB |
BIN
src/assets/todoRight.png
Normal file
After Width: | Height: | Size: 474 B |
BIN
src/assets/trainBg.png
Normal file
After Width: | Height: | Size: 44 KiB |
BIN
src/assets/unSubmit.png
Normal file
After Width: | Height: | Size: 935 B |
BIN
src/assets/unpass.png
Normal file
After Width: | Height: | Size: 874 B |
BIN
src/assets/vehiclePosition.png
Normal file
After Width: | Height: | Size: 4.8 KiB |
BIN
src/assets/waitDakuan.png
Normal file
After Width: | Height: | Size: 912 B |
BIN
src/assets/waitSubmit.png
Normal file
After Width: | Height: | Size: 878 B |
BIN
src/assets/waiting.png
Normal file
After Width: | Height: | Size: 878 B |
@ -5,6 +5,7 @@
|
|||||||
:label="label"
|
:label="label"
|
||||||
:placeholder="placeholder"
|
:placeholder="placeholder"
|
||||||
required
|
required
|
||||||
|
:disabled="disabled"
|
||||||
@input="$emit('input', $event)"
|
@input="$emit('input', $event)"
|
||||||
@blur="$emit('blurIn')"
|
@blur="$emit('blurIn')"
|
||||||
input-align="right"
|
input-align="right"
|
||||||
@ -24,11 +25,15 @@ export default {
|
|||||||
type:String,
|
type:String,
|
||||||
default: ''
|
default: ''
|
||||||
},
|
},
|
||||||
value: [String, Number]
|
value: [String, Number],
|
||||||
|
disabled:{
|
||||||
|
type:Boolean,
|
||||||
|
default:false
|
||||||
|
}
|
||||||
},
|
},
|
||||||
data(){
|
data(){
|
||||||
return{
|
return{
|
||||||
name:''
|
name:'',
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="btn">
|
<div class="btn">
|
||||||
<button class="cancel" @click="noMultipleClicks(cancelClick)">{{ title1 }}</button>
|
<button :class=" { 'loading1': loading1, 'cancel' : title1 == '取消', 'submit' : title1 != '取消' } " @click="noMultipleClicks( title1 == '提交' ? submitClick1 :cancelClick )">{{ title1 }}</button>
|
||||||
<button class="submit" @click="noMultipleClicks(submitClick)">{{ title2}}</button>
|
<button class="submit" @click="noMultipleClicks(submitClick)" :class="{'loading': loading}">{{ title2}}</button>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@ -12,7 +12,9 @@ export default {
|
|||||||
mixins:[myMixins],
|
mixins:[myMixins],
|
||||||
data(){
|
data(){
|
||||||
return{
|
return{
|
||||||
noClick:true
|
noClick:true,
|
||||||
|
loading: false,
|
||||||
|
loading1: false
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
props:{
|
props:{
|
||||||
@ -30,7 +32,32 @@ export default {
|
|||||||
this.$emit('cancelClick')
|
this.$emit('cancelClick')
|
||||||
},
|
},
|
||||||
submitClick(){
|
submitClick(){
|
||||||
this.$emit('submitClick')
|
// 设置 loading 状态
|
||||||
|
this.loading = true;
|
||||||
|
|
||||||
|
// 模拟异步请求
|
||||||
|
setTimeout(() => {
|
||||||
|
// 处理请求结果
|
||||||
|
// ...
|
||||||
|
this.$emit('submitClick')
|
||||||
|
// 重置 loading 状态
|
||||||
|
this.loading = false;
|
||||||
|
}, 2000);
|
||||||
|
|
||||||
|
},
|
||||||
|
submitClick1(){
|
||||||
|
// 设置 loading1状态
|
||||||
|
this.loading1 = true;
|
||||||
|
|
||||||
|
// 模拟异步请求
|
||||||
|
setTimeout(() => {
|
||||||
|
// 处理请求结果
|
||||||
|
// ...
|
||||||
|
this.$emit('submitClick1')
|
||||||
|
// 重置 loading1 状态
|
||||||
|
this.loading1 = false;
|
||||||
|
}, 2000);
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -39,6 +66,32 @@ export default {
|
|||||||
<style scoped lang="scss">
|
<style scoped lang="scss">
|
||||||
@import "@/styles/mixin.scss";
|
@import "@/styles/mixin.scss";
|
||||||
@import "@/styles/common.scss";
|
@import "@/styles/common.scss";
|
||||||
|
.loading,.loading1 {
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
|
||||||
|
.loading::after,.loading1::after {
|
||||||
|
content: '';
|
||||||
|
position: absolute;
|
||||||
|
top: 50%;
|
||||||
|
left: 50%;
|
||||||
|
transform: translate(-50%, -50%);
|
||||||
|
width: 20px;
|
||||||
|
height: 20px;
|
||||||
|
border: 2px solid #000;
|
||||||
|
border-top-color: transparent;
|
||||||
|
border-radius: 50%;
|
||||||
|
animation: spin 1s linear infinite;
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes spin {
|
||||||
|
0% {
|
||||||
|
transform: translate(-50%, -50%) rotate(0deg);
|
||||||
|
}
|
||||||
|
100% {
|
||||||
|
transform: translate(-50%, -50%) rotate(360deg);
|
||||||
|
}
|
||||||
|
}
|
||||||
.btn{
|
.btn{
|
||||||
@include flexColBet;
|
@include flexColBet;
|
||||||
button{
|
button{
|
||||||
@ -54,4 +107,5 @@ export default {
|
|||||||
background-color: #354D93;
|
background-color: #354D93;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
</style>
|
</style>
|
@ -2,12 +2,17 @@ import Vue from 'vue'
|
|||||||
import App from './App.vue'
|
import App from './App.vue'
|
||||||
import router from './router'
|
import router from './router'
|
||||||
import Vant from 'vant';
|
import Vant from 'vant';
|
||||||
|
import ElementUI from 'element-ui';
|
||||||
|
import 'element-ui/lib/theme-chalk/index.css';
|
||||||
import 'vant/lib/index.css';
|
import 'vant/lib/index.css';
|
||||||
import "lib-flexible/flexible";
|
import "lib-flexible/flexible";
|
||||||
import "@/utils/rem.js"
|
import "@/utils/rem.js"
|
||||||
import store from './store'
|
import store from './store'
|
||||||
|
|
||||||
Vue.config.productionTip = false
|
Vue.config.productionTip = false
|
||||||
|
|
||||||
Vue.use(Vant);
|
Vue.use(Vant);
|
||||||
|
Vue.use(ElementUI);
|
||||||
new Vue({
|
new Vue({
|
||||||
store,
|
store,
|
||||||
router,
|
router,
|
||||||
|
@ -1,7 +1,9 @@
|
|||||||
import Vue from "vue";
|
import Vue from "vue";
|
||||||
import VueRouter from "vue-router";
|
import VueRouter from "vue-router";
|
||||||
Vue.use(VueRouter);
|
Vue.use(VueRouter);
|
||||||
|
import kpiRouter from './kpi-router'
|
||||||
|
import invoiceRouter from "@/router/invoice-router";
|
||||||
|
import secondHandRouter from "@/router/second-hand-router";
|
||||||
const routes = [
|
const routes = [
|
||||||
{
|
{
|
||||||
path: '/',
|
path: '/',
|
||||||
@ -23,6 +25,14 @@ const routes = [
|
|||||||
title: '报备'
|
title: '报备'
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
path: "/reportingList",
|
||||||
|
name: 'reportingList',
|
||||||
|
component: () => import('@/views/index/reportingList.vue'),
|
||||||
|
meta: {
|
||||||
|
title: '查看报备'
|
||||||
|
}
|
||||||
|
},
|
||||||
{
|
{
|
||||||
path: "/workOrderDetail",
|
path: "/workOrderDetail",
|
||||||
name: 'workOrderDetail',
|
name: 'workOrderDetail',
|
||||||
@ -62,22 +72,62 @@ const routes = [
|
|||||||
meta: {
|
meta: {
|
||||||
title: '审核完成-详情'
|
title: '审核完成-详情'
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: "/settlementDetail",
|
||||||
|
name: 'settlementDetail',
|
||||||
|
component: () => import('@/views/workOrder/settlementDetail.vue'),
|
||||||
|
meta: {
|
||||||
|
title: '结算单详情'
|
||||||
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
path: "/invoicingNotify",
|
path: "/invoicingNotify",
|
||||||
name: 'invoicingNotify',
|
name: 'invoicingNotify',
|
||||||
component: () => import('@/views/index/invoicingNotify.vue'),
|
component: () => import('@/views/index/invoicingNotify.vue'),
|
||||||
meta: {
|
meta: {
|
||||||
title: '开票通知'
|
title: '工单批次'
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
path: "/invoiceListInfo",
|
||||||
|
name: 'invoiceListInfo',
|
||||||
|
component: () => import('@/views/index/invoiceListInfo.vue'),
|
||||||
|
meta: {
|
||||||
|
title: '开票信息'
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: "/invoiceInfo",
|
||||||
|
name: 'invoiceInfo',
|
||||||
|
component: () => import('@/views/index/invoiceInfo.vue'),
|
||||||
|
meta: {
|
||||||
|
title: '开票信息'
|
||||||
|
}
|
||||||
|
},
|
||||||
{
|
{
|
||||||
path: "/invoicingDetail",
|
path: "/invoicingDetail",
|
||||||
name: 'invoicingDetail',
|
name: 'invoicingDetail',
|
||||||
component: () => import('@/views/index/invoicingDetail'),
|
component: () => import('@/views/index/invoicingDetail'),
|
||||||
meta: {
|
meta: {
|
||||||
title: '开票通知详情'
|
title: '工单批次详情'
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: "/uploadInvoice",
|
||||||
|
name: 'uploadInvoice',
|
||||||
|
component: () => import('@/views/index/uploadInvoice.vue'),
|
||||||
|
meta: {
|
||||||
|
title: '上传发票',
|
||||||
|
cache: true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: "/showInvoice",
|
||||||
|
name: 'showInvoice',
|
||||||
|
component: () => import('@/views/index/showInvoice.vue'),
|
||||||
|
meta: {
|
||||||
|
title: '查看发票'
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -116,6 +166,14 @@ const routes = [
|
|||||||
path: '/trainDocment',
|
path: '/trainDocment',
|
||||||
name: 'trainDocment',
|
name: 'trainDocment',
|
||||||
component:()=>import('@/views/documentView/trainDocment.vue'),
|
component:()=>import('@/views/documentView/trainDocment.vue'),
|
||||||
|
meta: {
|
||||||
|
title:'培训文档',
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: '/diverTrainDocment',
|
||||||
|
name: 'diverTrainDocment',
|
||||||
|
component:()=>import('@/views/documentView/diverTrainDocment.vue'),
|
||||||
meta: {
|
meta: {
|
||||||
title:'培训文档'
|
title:'培训文档'
|
||||||
}
|
}
|
||||||
@ -127,7 +185,98 @@ const routes = [
|
|||||||
meta: {
|
meta: {
|
||||||
title:'文档资料'
|
title:'文档资料'
|
||||||
}
|
}
|
||||||
}
|
},
|
||||||
|
{
|
||||||
|
path: '/notificationList',
|
||||||
|
name: 'notificationList',
|
||||||
|
component:()=>import('@/views/index/notificationList'),
|
||||||
|
meta: {
|
||||||
|
title:'告知函'
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: '/caseList',
|
||||||
|
name: 'caseList',
|
||||||
|
component:()=>import('@/views/caseList/caseList.vue'),
|
||||||
|
meta: {
|
||||||
|
title:'案件列表'
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: '/driverCaseList',
|
||||||
|
name: 'driverCaseList',
|
||||||
|
component:()=>import('@/views/driverCaseList/driverCaseList.vue'),
|
||||||
|
meta: {
|
||||||
|
title:'司机app案件列表'
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: '/caseAuditList',
|
||||||
|
name: 'caseAuditList',
|
||||||
|
component:()=>import('@/views/caseList/caseAuditList.vue'),
|
||||||
|
meta: {
|
||||||
|
title:'案件审核列表'
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: '/caseDetail',
|
||||||
|
name: 'caseDetail',
|
||||||
|
component:()=>import('@/views/caseList/caseDetail.vue'),
|
||||||
|
meta: {
|
||||||
|
title:'案件详情'
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: '/newTrainingList',
|
||||||
|
name: 'newTrainingList',
|
||||||
|
component:()=>import('@/views/newcomerTraining/newTrainingList.vue'),
|
||||||
|
meta: {
|
||||||
|
title:'新服务商培训'
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: '/driverTrainingList',
|
||||||
|
name: 'driverTrainingList',
|
||||||
|
component:()=>import('@/views/newcomerTraining/driverTrainingList.vue'),
|
||||||
|
meta: {
|
||||||
|
title:'新师傅培训'
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: '/maintenanceList',
|
||||||
|
name: 'vehicleMaintenanceList',
|
||||||
|
component:()=>import('@/views/vehicle-maintenance/vehicle-maintenance-list.vue'),
|
||||||
|
meta: {
|
||||||
|
title:'车辆维保'
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: '/maintenanceApplication',
|
||||||
|
name: 'maintenanceApplication',
|
||||||
|
component:()=>import('@/views/vehicle-maintenance/maintenance-application.vue'),
|
||||||
|
meta: {
|
||||||
|
title:'维保申请'
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: '/batteryList',
|
||||||
|
name: 'batteryList',
|
||||||
|
component:()=>import('@/views/battery/batteryList.vue'),
|
||||||
|
meta: {
|
||||||
|
title:'电瓶进销存'
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: '/batteryDetail',
|
||||||
|
name: 'batteryDetail',
|
||||||
|
component:()=>import('@/views/battery/batteryDetail.vue'),
|
||||||
|
meta: {
|
||||||
|
title:'电瓶详情'
|
||||||
|
}
|
||||||
|
},
|
||||||
|
...kpiRouter,
|
||||||
|
...invoiceRouter,
|
||||||
|
...secondHandRouter,
|
||||||
]
|
]
|
||||||
|
|
||||||
const router = new VueRouter({
|
const router = new VueRouter({
|
||||||
|
11
src/router/invoice-router.js
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
const invoiceRouter = [
|
||||||
|
{
|
||||||
|
path: '/invoiceIndex',
|
||||||
|
name: 'invoiceIndex',
|
||||||
|
component: () => import('@/views/invoice/invoiceIndex'),
|
||||||
|
meta:{
|
||||||
|
title: '道路救援',
|
||||||
|
}
|
||||||
|
},
|
||||||
|
]
|
||||||
|
export default invoiceRouter
|
11
src/router/kpi-router.js
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
const kpiRouter = [
|
||||||
|
{
|
||||||
|
path: '/kpiIndex',
|
||||||
|
name: 'kpiIndex',
|
||||||
|
component: () => import('@/views/kpi/kpiIndex'),
|
||||||
|
meta:{
|
||||||
|
title: 'kpi首页',
|
||||||
|
}
|
||||||
|
},
|
||||||
|
]
|
||||||
|
export default kpiRouter
|
59
src/router/second-hand-router.js
Normal file
@ -0,0 +1,59 @@
|
|||||||
|
const secondHandCar = [
|
||||||
|
{
|
||||||
|
path: '/indexList',
|
||||||
|
name: 'indexList',
|
||||||
|
component: () => import('@/views/secondHandCar/indexList.vue'),
|
||||||
|
meta:{
|
||||||
|
title: '首页列表',
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: '/carSource',
|
||||||
|
name: 'carSource',
|
||||||
|
component: () => import('@/views/secondHandCar/carSource.vue'),
|
||||||
|
meta:{
|
||||||
|
title: '车源发布',
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: '/wantBuy',
|
||||||
|
name: 'wantBuy',
|
||||||
|
component: () => import('@/views/secondHandCar/wantBuy.vue'),
|
||||||
|
meta:{
|
||||||
|
title: '求购发布',
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: '/forSale',
|
||||||
|
name: 'forSale',
|
||||||
|
component: () => import('@/views/secondHandCar/forSale.vue'),
|
||||||
|
meta:{
|
||||||
|
title: '查看车源',
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: '/wantBuySale',
|
||||||
|
name: 'wantBuySale',
|
||||||
|
component: () => import('@/views/secondHandCar/wantBuySale.vue'),
|
||||||
|
meta:{
|
||||||
|
title: '查看求购',
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: '/mineRelease',
|
||||||
|
name: 'mineRelease',
|
||||||
|
component: () => import('@/views/secondHandCar/mineRelease.vue'),
|
||||||
|
meta:{
|
||||||
|
title: '我的发布',
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: '/privacyComponent',
|
||||||
|
name: 'privacyComponent',
|
||||||
|
component: () => import('@/views/secondHandCar/privacy.vue'),
|
||||||
|
meta:{
|
||||||
|
title: '免责声明',
|
||||||
|
}
|
||||||
|
},
|
||||||
|
]
|
||||||
|
export default secondHandCar
|
116
src/styles/approval.scss
Normal file
@ -0,0 +1,116 @@
|
|||||||
|
@import "@/styles/mixin.scss";
|
||||||
|
.refresh{
|
||||||
|
min-height: 100%;
|
||||||
|
//background-color: #F4F5F7;
|
||||||
|
}
|
||||||
|
.wrap{
|
||||||
|
@include wh(100%,100%);
|
||||||
|
box-sizing: border-box;
|
||||||
|
background-color: #F4F5F7;
|
||||||
|
}
|
||||||
|
.tab_wrap {
|
||||||
|
@include fontWeightSize(500, 14px);
|
||||||
|
@include flexColAround();
|
||||||
|
padding: 2px 0 10px 0;
|
||||||
|
background: #2C395F;
|
||||||
|
div {
|
||||||
|
padding-top: 8px;
|
||||||
|
color: #FFFFFF;
|
||||||
|
}
|
||||||
|
.alpha{
|
||||||
|
opacity: 0.5;
|
||||||
|
}
|
||||||
|
.numTip{
|
||||||
|
display: inline-block;
|
||||||
|
@include wh(15px,15px);
|
||||||
|
@include bgcolorOpa(#F95B45,0.9);
|
||||||
|
border-radius: 4px;
|
||||||
|
text-align: center;
|
||||||
|
line-height: 15px;
|
||||||
|
margin-left: 5px;
|
||||||
|
opacity: 1; /* 保持透明度为1 */
|
||||||
|
}
|
||||||
|
.active {
|
||||||
|
position: relative;
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
|
.active:after {
|
||||||
|
content: '';
|
||||||
|
display: block;
|
||||||
|
@include wh(18px,2px);
|
||||||
|
opacity: .8;
|
||||||
|
background: #FFFFFF;
|
||||||
|
position: absolute;
|
||||||
|
border-radius: 2px;
|
||||||
|
margin-top: 3px;
|
||||||
|
left: 50%;
|
||||||
|
opacity: 1;
|
||||||
|
transform: translateX(-50%);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
::v-deep .van-pull-refresh{
|
||||||
|
height: calc(100% - 86px) ;
|
||||||
|
}
|
||||||
|
.listWrap{
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
overflow-y: auto;
|
||||||
|
.listItem{
|
||||||
|
width: 100%;
|
||||||
|
box-sizing: border-box;
|
||||||
|
padding: 14px 25px 13px 29px;
|
||||||
|
background-color: #FFFFFF;
|
||||||
|
margin-bottom: 10px;
|
||||||
|
.line1{
|
||||||
|
@include flexColBet();
|
||||||
|
.viewBtn{
|
||||||
|
@include wh(48px,18px);
|
||||||
|
text-align: center;
|
||||||
|
line-height: 18px;
|
||||||
|
background: #354D93;
|
||||||
|
border-radius: 3px;
|
||||||
|
color: #FFFFFF;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.bgEmptyImg{
|
||||||
|
@include flexTwoCenter;
|
||||||
|
height: 90% ;
|
||||||
|
background-color: #FAFAFA;
|
||||||
|
img{
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.greColor{
|
||||||
|
color:#38AD00 ;
|
||||||
|
font-weight: 500;
|
||||||
|
}
|
||||||
|
.redColor{
|
||||||
|
color:#FF5D2E ;
|
||||||
|
font-weight: 500;
|
||||||
|
}
|
||||||
|
.commonImg{
|
||||||
|
@include widHeiMar(13px,13px,4px);
|
||||||
|
}
|
||||||
|
.rightArrImg{
|
||||||
|
@include wh(6px,9px);
|
||||||
|
margin-left: 6px;
|
||||||
|
}
|
||||||
|
.yelColor{
|
||||||
|
color: #E69B0B;
|
||||||
|
font-weight: 600;
|
||||||
|
}
|
||||||
|
.greColor{
|
||||||
|
color: #56B628;
|
||||||
|
font-weight: 600;
|
||||||
|
}
|
||||||
|
.oraColor{
|
||||||
|
color: #FF5D2E;
|
||||||
|
font-weight: 600;
|
||||||
|
}
|
||||||
|
.garyColor{
|
||||||
|
color: #9C9C9C;
|
||||||
|
font-weight: 600;
|
||||||
|
}
|
@ -8,9 +8,6 @@ select{
|
|||||||
background-color: transparent; /* 设置透明背景色 */
|
background-color: transparent; /* 设置透明背景色 */
|
||||||
border: none; /* 取消边框 */
|
border: none; /* 取消边框 */
|
||||||
outline: none;
|
outline: none;
|
||||||
/* 右侧添加箭头的背景图 自行调整位置 */
|
|
||||||
//background: url('@/assets/copy.png') 20px center no-repeat #fff;
|
|
||||||
|
|
||||||
}
|
}
|
||||||
.van-toast--html, .van-toast--text {
|
.van-toast--html, .van-toast--text {
|
||||||
z-index: 100000000002 !important;
|
z-index: 100000000002 !important;
|
||||||
@ -48,7 +45,6 @@ select{
|
|||||||
margin-left: 0;
|
margin-left: 0;
|
||||||
font-weight: normal;
|
font-weight: normal;
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
//@include fontWeightSize(400,14px);
|
|
||||||
color: #000000;
|
color: #000000;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
89
src/styles/docment.scss
Normal file
@ -0,0 +1,89 @@
|
|||||||
|
@import "@/styles/mixin.scss";
|
||||||
|
|
||||||
|
.wrap{
|
||||||
|
@include wh(100%,100%);
|
||||||
|
background-color: #F4F5F7;
|
||||||
|
|
||||||
|
}
|
||||||
|
.navBar{
|
||||||
|
margin-bottom: 46px;
|
||||||
|
}
|
||||||
|
.rightWrap {
|
||||||
|
@include flexCenter;
|
||||||
|
.img2 {
|
||||||
|
@include wh(17px, 17px);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.tab_wrap {
|
||||||
|
@include fontWeightSize(bold, 12px);
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-around;
|
||||||
|
padding: 5px 0 5px 0;
|
||||||
|
@include colorOpa(#737373,0.7);
|
||||||
|
div {
|
||||||
|
padding-top: 8px;
|
||||||
|
}
|
||||||
|
.active {
|
||||||
|
color: #3678FF;
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
.active:after {
|
||||||
|
content: '';
|
||||||
|
display: block;
|
||||||
|
@include wh(50px,2px);
|
||||||
|
background: linear-gradient(270deg, #33A3FF 0%, #176AFE 100%);
|
||||||
|
border-radius: 2px;
|
||||||
|
position: absolute;
|
||||||
|
margin-top: 3px;
|
||||||
|
left: 50%;
|
||||||
|
transform: translateX(-50%);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.contentWrap{
|
||||||
|
@include sizingPadding(0,8px);
|
||||||
|
overflow-y: auto;
|
||||||
|
width: 100%;
|
||||||
|
height: calc(100% - 100px);
|
||||||
|
margin-top: 10px;
|
||||||
|
.itemWrap{
|
||||||
|
margin-bottom: 16px;
|
||||||
|
width: 100%;
|
||||||
|
//@include wh(100%, 300px);
|
||||||
|
background: #FFFFFF;
|
||||||
|
box-shadow: 0px 2px 10px 0px rgba(216, 216, 216, 0.5);
|
||||||
|
@include sizingPadRadius(6px ,0,6px);
|
||||||
|
@include flexAround;
|
||||||
|
@include fontWeightSize(400, 12px);
|
||||||
|
.flexBetween{
|
||||||
|
@include flexColBet;
|
||||||
|
}
|
||||||
|
.common{
|
||||||
|
margin: 0 15px ;
|
||||||
|
}
|
||||||
|
.time{
|
||||||
|
color: rgba(0,0,0,0.7);
|
||||||
|
margin-top: 5px;
|
||||||
|
}
|
||||||
|
.imgWrap{
|
||||||
|
@include wh(100%,200px);
|
||||||
|
position: relative;
|
||||||
|
margin: 6px 0;
|
||||||
|
img{
|
||||||
|
@include wh(100%,100%);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.left{
|
||||||
|
color: red;
|
||||||
|
@include fontWeightSize(bold,15px);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
.empty{
|
||||||
|
@include flexTwoCenter;
|
||||||
|
height:calc(100% - 86px);
|
||||||
|
background-color: #FAFAFA;
|
||||||
|
img{
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
}
|
103
src/styles/driverDocment.scss
Normal file
@ -0,0 +1,103 @@
|
|||||||
|
@import "@/styles/mixin.scss";
|
||||||
|
::v-deep .van-nav-bar__content{
|
||||||
|
background-color: #3A3A3A !important;
|
||||||
|
}
|
||||||
|
.wrap{
|
||||||
|
@include wh(100%,100%);
|
||||||
|
background-color: #F4F5F7;
|
||||||
|
|
||||||
|
}
|
||||||
|
.navBar{
|
||||||
|
margin-bottom: 46px;
|
||||||
|
}
|
||||||
|
.search{
|
||||||
|
color: #AAADB3 !important;
|
||||||
|
font-weight: bolder;
|
||||||
|
margin-right: 10px;
|
||||||
|
}
|
||||||
|
.navLeft{
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
color: #9C9C9C;
|
||||||
|
font-size: 8px;
|
||||||
|
.icon{
|
||||||
|
font-size: 10px;
|
||||||
|
font-weight: bold;
|
||||||
|
margin-right: 5px;
|
||||||
|
margin-top: 5px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.statisticContainer{
|
||||||
|
box-sizing: border-box;
|
||||||
|
padding: 8px;
|
||||||
|
}
|
||||||
|
.statisticWrap{
|
||||||
|
@include wh(100%,100px);
|
||||||
|
background: #FFFFFF;
|
||||||
|
box-sizing: border-box;
|
||||||
|
padding: 8px 8px 15px;
|
||||||
|
border-radius: 8px;
|
||||||
|
border: 1px solid #c7c1c1;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
justify-content: space-between;
|
||||||
|
.line1{
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
span:first-child{
|
||||||
|
font-weight: bolder;
|
||||||
|
}
|
||||||
|
span:last-child{
|
||||||
|
opacity: .7;
|
||||||
|
//font-size: 12px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.numWrap{
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-around;
|
||||||
|
div{
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
align-items: center;
|
||||||
|
font-size: 14px;
|
||||||
|
font-weight: 500;
|
||||||
|
span:first-child{
|
||||||
|
margin-bottom: 3px;
|
||||||
|
font-size: 18px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.rightWrap {
|
||||||
|
@include flexCenter;
|
||||||
|
.img2 {
|
||||||
|
@include wh(17px, 17px);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.driver_tab_wrap {
|
||||||
|
font-size: 12px;
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-around;
|
||||||
|
padding: 5px 0 5px 0;
|
||||||
|
div {
|
||||||
|
padding-top: 8px;
|
||||||
|
}
|
||||||
|
.active {
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
.active:after {
|
||||||
|
content: '';
|
||||||
|
display: block;
|
||||||
|
@include wh(100px,2px);
|
||||||
|
background-color: #E8A524;
|
||||||
|
border-radius: 2px;
|
||||||
|
position: absolute;
|
||||||
|
margin-top: 3px;
|
||||||
|
left: 50%;
|
||||||
|
transform: translateX(-50%);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.empty{
|
||||||
|
margin-top: 14px;
|
||||||
|
|
||||||
|
}
|
@ -2,6 +2,11 @@
|
|||||||
font-size: $size;
|
font-size: $size;
|
||||||
font-weight: $weight;
|
font-weight: $weight;
|
||||||
}
|
}
|
||||||
|
@mixin sizeWeightCol($size,$weight,$col){
|
||||||
|
font-size: $size;
|
||||||
|
font-weight: $weight;
|
||||||
|
color: $col;
|
||||||
|
}
|
||||||
@mixin bgFontColor($color,$bgcolor){
|
@mixin bgFontColor($color,$bgcolor){
|
||||||
color:$color;
|
color:$color;
|
||||||
background: $bgcolor;
|
background: $bgcolor;
|
||||||
@ -23,6 +28,14 @@
|
|||||||
width: $w;
|
width: $w;
|
||||||
height: $h;
|
height: $h;
|
||||||
}
|
}
|
||||||
|
@mixin whMarLe($w,$h,$l){
|
||||||
|
@include wh($w,$h);
|
||||||
|
margin-left: $l;
|
||||||
|
}
|
||||||
|
@mixin whBg($w,$h,$bg){
|
||||||
|
@include wh($w,$h);
|
||||||
|
background: $bg;
|
||||||
|
}
|
||||||
@mixin flexColumn{
|
@mixin flexColumn{
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
@ -31,11 +44,64 @@
|
|||||||
@include flexColumn;
|
@include flexColumn;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
}
|
}
|
||||||
|
@mixin flexAround(){
|
||||||
|
@include flexColumn;
|
||||||
|
justify-content: space-around;
|
||||||
|
}
|
||||||
|
@mixin flexColCen(){
|
||||||
|
@include flexColumn;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
@mixin flexColBet(){
|
@mixin flexColBet(){
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
}
|
}
|
||||||
|
@mixin flexColAround(){
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-around;
|
||||||
|
}
|
||||||
@mixin flexCenter(){
|
@mixin flexCenter(){
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
}
|
}
|
||||||
|
@mixin flexBetCen{
|
||||||
|
@include flexColBet;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
@mixin flexTwoCenter(){
|
||||||
|
@include flexCenter;
|
||||||
|
justify-content: center;
|
||||||
|
}
|
||||||
|
@mixin colorOpa($col,$alpha){
|
||||||
|
color: $col;
|
||||||
|
opacity: $alpha;
|
||||||
|
}
|
||||||
|
@mixin bgcolorOpa($col,$alpha){
|
||||||
|
background: $col;
|
||||||
|
opacity: $alpha;
|
||||||
|
}
|
||||||
|
@mixin radiusSizing($rad){
|
||||||
|
border-radius: $rad;
|
||||||
|
box-sizing: border-box;
|
||||||
|
}
|
||||||
|
@mixin sizingPadding($tb,$lr){
|
||||||
|
box-sizing: border-box;
|
||||||
|
padding: $tb $lr;
|
||||||
|
}
|
||||||
|
@mixin sizingPadRadius( $tb,$lr,$rad){
|
||||||
|
box-sizing: border-box;
|
||||||
|
padding: $tb $lr;
|
||||||
|
border-radius: $rad;
|
||||||
|
}
|
||||||
|
@mixin sizing4Padding($t,$r,$b,$l){
|
||||||
|
box-sizing: border-box;
|
||||||
|
padding: $t $r $b $l;
|
||||||
|
}
|
||||||
|
@mixin sizing4Radius($t,$r,$b,$l,$radius){
|
||||||
|
@include sizing4Padding($t,$r,$b,$l);
|
||||||
|
border-radius: $radius;
|
||||||
|
}
|
||||||
|
@mixin colHeight($col,$hei){
|
||||||
|
color: $col;
|
||||||
|
line-height: $hei;
|
||||||
|
}
|
42
src/utils/approval.js
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
|
||||||
|
const getStatus=(i)=>{
|
||||||
|
switch (i){
|
||||||
|
case 0://待提交
|
||||||
|
case 1://待审核
|
||||||
|
return require('@/assets/waitSubmit.png')
|
||||||
|
case 2://审核通过
|
||||||
|
case 7://已打款
|
||||||
|
return require('@/assets/dakuan.png')
|
||||||
|
case 3://审核不通过
|
||||||
|
return require('@/assets/unpass.png')
|
||||||
|
case 4://报销失败
|
||||||
|
return require('@/assets/unSubmit.png')
|
||||||
|
case 6://代打款
|
||||||
|
return require('@/assets/waitDakuan.png')
|
||||||
|
default:
|
||||||
|
return require('@/assets/waitSubmit.png')
|
||||||
|
}
|
||||||
|
}
|
||||||
|
const getStatusColor=(i)=>{
|
||||||
|
switch (i){
|
||||||
|
case 0://待提交
|
||||||
|
case 1://待审核
|
||||||
|
return 'yelColor'
|
||||||
|
case 2://审核通过
|
||||||
|
case 6://代打款
|
||||||
|
case 7://已打款
|
||||||
|
return 'greColor'
|
||||||
|
case 3://审核不通过
|
||||||
|
return 'oraColor'
|
||||||
|
case 4://报销失败
|
||||||
|
return 'garyColor'
|
||||||
|
default:
|
||||||
|
return 'yelColor'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
module.exports = {
|
||||||
|
getStatus,
|
||||||
|
getStatusColor
|
||||||
|
}
|
||||||
|
|
@ -5,7 +5,14 @@ const formatDate = date => {
|
|||||||
const day = tempDate.getDate()
|
const day = tempDate.getDate()
|
||||||
return `${[year, month, day].map(formatNumber).join('-')}`
|
return `${[year, month, day].map(formatNumber).join('-')}`
|
||||||
}
|
}
|
||||||
|
const formatDate1 = date => {
|
||||||
|
let value=date.replace(/\./g, '/')
|
||||||
|
let tempDate = new Date(value)
|
||||||
|
const year = tempDate.getFullYear()
|
||||||
|
const month = tempDate.getMonth() + 1
|
||||||
|
const day = tempDate.getDate()
|
||||||
|
return `${[year, month, day].map(formatNumber).join('/')}`
|
||||||
|
}
|
||||||
const formatNumber = n => {
|
const formatNumber = n => {
|
||||||
n = n.toString()
|
n = n.toString()
|
||||||
return n[1] ? n : `0${n}`
|
return n[1] ? n : `0${n}`
|
||||||
@ -40,5 +47,6 @@ module.exports = {
|
|||||||
formatNumber,
|
formatNumber,
|
||||||
formatDate,
|
formatDate,
|
||||||
leftCopy,
|
leftCopy,
|
||||||
timeFormat
|
timeFormat,
|
||||||
|
formatDate1
|
||||||
}
|
}
|
@ -1,7 +1,6 @@
|
|||||||
import axios from "axios";
|
import axios from "axios";
|
||||||
import qs from 'qs'
|
import qs from 'qs'
|
||||||
import { Toast } from 'vant'
|
import { Toast } from 'vant'
|
||||||
// console.log('process.env.VUE_APP_BASE_API', process.env.VUE_APP_BASE_API)
|
|
||||||
|
|
||||||
const service = axios.create({
|
const service = axios.create({
|
||||||
baseURL: process.env.VUE_APP_BASE_API,
|
baseURL: process.env.VUE_APP_BASE_API,
|
||||||
@ -11,21 +10,26 @@ const service = axios.create({
|
|||||||
timeout: 10000
|
timeout: 10000
|
||||||
})
|
})
|
||||||
const urlParams = new URLSearchParams(window.location.search);
|
const urlParams = new URLSearchParams(window.location.search);
|
||||||
let token = urlParams.get('token') ;
|
let token = urlParams.get('token');
|
||||||
localStorage.setItem('token', token);
|
localStorage.setItem('token', token);
|
||||||
service.interceptors.request.use(
|
service.interceptors.request.use(
|
||||||
config => {
|
config => {
|
||||||
|
let reqUrl=config.url
|
||||||
config.data = config.contentType ? config.data : qs.stringify(config.data)
|
config.data = config.contentType ? config.data : qs.stringify(config.data)
|
||||||
|
if (config.testFlag) {
|
||||||
|
config.data = qs.stringify(config.data, {arrayFormat: 'indices', allowDots: true})
|
||||||
|
}
|
||||||
config.headers['Content-Type'] = config.contentType || 'application/x-www-form-urlencoded'
|
config.headers['Content-Type'] = config.contentType || 'application/x-www-form-urlencoded'
|
||||||
const token = localStorage.getItem('token');
|
let token = localStorage.getItem('token');
|
||||||
// const urlParams = new URLSearchParams(window.location.search);
|
// let token='4099761587129c46b03c9316c9e866c9'
|
||||||
// const token = urlParams.get('token') ;
|
// let token='eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJTSEhQWEIiLCJ1c2VySWQiOjU0NzI2LCJuYW1lIjoiI-a1i-ivleWwj-eZveeZvSIsInVzZXJOYW1lIjoiU0hIUFhCIiwic3VwcGxpZXJJZCI6MTAwMDE2NSwiZXhwIjoxNzQ0NTEwNzkwfQ.JPk0OA7slYJN3FIi_uhW4Y0CiWRvl6R1dK8MRTbyhD8'
|
||||||
// let token='eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJzemwiLCJhdWQiOlsic3VwcGxpZXItYXBwIl0sIm5iZiI6MTY5Mjc3MzMxMSwidXNlcl9pbmZvIjp7InVzZXJJZCI6NTQ1ODUsInBob25lIjoiMTc2MzAwMzU2NTgiLCJuYW1lIjoi5bCP5a6LIiwic3VwcGxpZXJOYW1lIjoi5LiK5rW35a6J55WFQSIsInN1cHBsaWVySWQiOjExMjgsInN1cHBsaWVyVHlwZSI6MSwidXNlcm5hbWUiOiJzemwiLCJ1c2VyVHlwZSI6IkFQUCIsImF1dGhvcml0aWVzIjpbXX0sInNjb3BlIjpbImFsbCJdLCJpc3MiOiJodHRwczovL3Npbm9hc3Npc3QuY29tIiwiZXhwIjoxNjkyODU5NzExLCJpYXQiOjE2OTI3NzMzMTF9.bFTJlX73vYl06ncE6Ge5_qtbEwRNFZwXhzNjMXzikkE'
|
if(!(reqUrl=='/supplier/supplierTraining/trainingTask' || reqUrl=='/supplier/supplierTraining/normalList' || reqUrl=='/supplier/supplierTraining/trainingList')){
|
||||||
config.headers['Authorization'] = `${token}`;
|
config.headers['Authorization'] = `${token}`;
|
||||||
|
config.headers['token'] = `${token}`;
|
||||||
|
}
|
||||||
return config
|
return config
|
||||||
},
|
},
|
||||||
error => {
|
error => {
|
||||||
console.log(error)
|
|
||||||
return Promise.reject(error)
|
return Promise.reject(error)
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
@ -33,27 +37,17 @@ service.interceptors.request.use(
|
|||||||
service.interceptors.response.use(
|
service.interceptors.response.use(
|
||||||
response => {
|
response => {
|
||||||
const res = response.data
|
const res = response.data
|
||||||
// return res //请求响应数据
|
|
||||||
// if(res.code === 401){
|
|
||||||
// Toast('token不合法或过期')
|
|
||||||
// }else if(){
|
|
||||||
//
|
|
||||||
// }
|
|
||||||
if ( res.code === 401 || res.code === 400 || res.code == 500) {
|
if ( res.code === 401 || res.code === 400 || res.code == 500) {
|
||||||
Toast(res.msg || 'Error')
|
Toast(res.msg || 'Error')
|
||||||
return Promise.reject(new Error(res.msg || 'Error'))
|
return Promise.reject(res.msg)
|
||||||
} else {
|
} else {
|
||||||
return res
|
return res
|
||||||
// if( res.code === 200 ) {
|
|
||||||
// return res.data
|
|
||||||
// } else {
|
|
||||||
// return res.data
|
|
||||||
// }
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
error => {
|
error => {
|
||||||
console.log('err' + error)
|
if(error.message != 'Network Error'){
|
||||||
Toast(error.message)
|
Toast(error.message)
|
||||||
|
}
|
||||||
return Promise.reject(error)
|
return Promise.reject(error)
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|