Compare commits
237 Commits
Author | SHA1 | Date |
---|---|---|
|
1bbfb99084 | 1 month ago |
|
b033caa832 | 1 month ago |
|
7e917bd8be | 2 months ago |
|
1407bb8239 | 2 months ago |
|
d60bf45bad | 2 months ago |
|
4fd62625b8 | 2 months ago |
|
b4e0830d72 | 2 months ago |
|
6598cab93e | 2 months ago |
|
5de657f529 | 2 months ago |
|
ce73915e3f | 2 months ago |
|
2ea14d17c7 | 3 months ago |
|
1b7fa0fc83 | 3 months ago |
|
c4f2b1f60f | 4 months ago |
|
0a18645e6e | 4 months ago |
|
9867e009ea | 4 months ago |
|
c334a75cb8 | 4 months ago |
|
29910d5ba6 | 5 months ago |
|
0cbf443c26 | 6 months ago |
|
15b220d37d | 6 months ago |
|
2791fffcd4 | 6 months ago |
|
f34aa4b480 | 6 months ago |
|
999f6238af | 6 months ago |
|
35bf58297d | 7 months ago |
|
4c8da93533 | 7 months ago |
|
2d4442ee37 | 7 months ago |
|
4b1456a99b | 7 months ago |
|
42a0f2dd15 | 7 months ago |
|
6bec0b82ce | 7 months ago |
|
2da372fb23 | 7 months ago |
|
696bb0d9e1 | 7 months ago |
|
9cbf3e69ce | 7 months ago |
|
b51c25c2ef | 7 months ago |
|
1b9e1701e2 | 7 months ago |
|
402ebe1f44 | 8 months ago |
|
1cb03f598b | 8 months ago |
|
a86921f3f6 | 8 months ago |
|
0718f48742 | 8 months ago |
|
f7d9b0dbb8 | 8 months ago |
|
9ff2e4eb89 | 8 months ago |
|
0b954ced79 | 9 months ago |
|
75a7740ab4 | 9 months ago |
|
dd95854e88 | 9 months ago |
|
986efe2314 | 9 months ago |
|
5ab8c7186a | 9 months ago |
|
8c0c78f4b6 | 9 months ago |
|
5f5fd289cf | 9 months ago |
|
37cf2800ad | 9 months ago |
|
61fef9b3ab | 9 months ago |
|
1dc6818eca | 9 months ago |
|
56db09b6f7 | 10 months ago |
|
0a05d4ad56 | 10 months ago |
|
ecd70d66e9 | 10 months ago |
|
ebbeddbefb | 10 months ago |
|
c22c1090fe | 10 months ago |
|
5395095210 | 11 months ago |
|
12a1c66daa | 11 months ago |
|
5c33efee49 | 11 months ago |
|
a61c648a9b | 11 months ago |
|
938a0a81ee | 11 months ago |
|
333242bbca | 11 months ago |
|
0f16c96997 | 11 months ago |
|
0ca01b234c | 11 months ago |
|
477cf59fa2 | 11 months ago |
|
807f655f27 | 11 months ago |
|
103c57accd | 11 months ago |
|
5c6d5ca653 | 11 months ago |
|
acea3b29eb | 11 months ago |
|
7cae1278a1 | 11 months ago |
|
5d1f9b05cf | 11 months ago |
|
21fc05bb1d | 11 months ago |
|
04dda6ab1b | 11 months ago |
|
9ff9df45da | 11 months ago |
|
5f975771fe | 11 months ago |
|
0b8b69b16a | 11 months ago |
|
43ec621685 | 11 months ago |
|
14a4baed83 | 11 months ago |
|
f676381bc6 | 12 months ago |
|
7f8d952032 | 12 months ago |
|
c6c7ff3ae1 | 12 months ago |
|
411ef6d491 | 12 months ago |
|
fadebb3410 | 1 year ago |
|
c70d60ea60 | 1 year ago |
|
482182bd38 | 1 year ago |
|
0e377ce0c4 | 1 year ago |
|
83368b1f10 | 1 year ago |
|
b831f47089 | 1 year ago |
|
b666acee9c | 1 year ago |
|
c81d67a56f | 1 year ago |
|
60dff2632b | 1 year ago |
|
10cd00ab87 | 1 year ago |
|
0117821a72 | 1 year ago |
|
ea10c5ee28 | 1 year ago |
|
8a6638ae1a | 1 year ago |
|
84bcc7b6e4 | 1 year ago |
|
5702c09105 | 1 year ago |
|
b2c7099fae | 1 year ago |
|
f00a7a98ed | 1 year ago |
|
88d2c58bc4 | 1 year ago |
|
3fbd7af3cc | 1 year ago |
|
6028cff2fa | 1 year ago |
|
ef2398b980 | 1 year ago |
|
965aec327b | 1 year ago |
|
cddc7c6692 | 1 year ago |
|
8d8fd19e5d | 1 year ago |
|
85423ae3ad | 1 year ago |
|
a4a7fdaaaa | 1 year ago |
|
d0e2c84d62 | 1 year ago |
|
e3e0b966c0 | 1 year ago |
|
cea121f20a | 1 year ago |
|
ba6492eb52 | 1 year ago |
|
ed45fe4e3e | 1 year ago |
|
fafc902dd2 | 1 year ago |
|
e3b7b79e74 | 1 year ago |
|
18ce1d2a85 | 1 year ago |
|
63bd189786 | 1 year ago |
|
b6ee182149 | 1 year ago |
|
2fb20f00ea | 1 year ago |
|
273a9509b3 | 1 year ago |
|
092698f720 | 1 year ago |
|
ad9811ab72 | 1 year ago |
|
24b38ab2eb | 1 year ago |
|
e8074e74f1 | 1 year ago |
|
c15df590bd | 1 year ago |
|
95bc9d09a4 | 1 year ago |
|
1127c752e1 | 1 year ago |
|
17e5e4605c | 1 year ago |
|
bd3e4b481f | 1 year ago |
|
932f0e968a | 1 year ago |
|
a35c1912f2 | 1 year ago |
|
8365e5bfea | 1 year ago |
|
ea73cb1a24 | 1 year ago |
|
9e2ad20c0b | 1 year ago |
|
3c869485ab | 1 year ago |
|
b105c7b200 | 1 year ago |
|
5d37873db3 | 1 year ago |
|
6533731144 | 1 year ago |
|
e458251052 | 1 year ago |
|
ecddc99dea | 1 year ago |
|
23b397081b | 1 year ago |
|
7b85da722b | 1 year ago |
|
221be28fff | 1 year ago |
|
2f54c610a0 | 1 year ago |
|
b57c0847de | 1 year ago |
|
4392ef299b | 1 year ago |
|
205574e9b6 | 1 year ago |
|
01b008bfec | 1 year ago |
|
45b1aacc7e | 1 year ago |
|
90acfc0a27 | 1 year ago |
|
67b2706c4b | 1 year ago |
|
ee82d0fc81 | 1 year ago |
|
8c5ce46d94 | 1 year ago |
|
283df218bb | 1 year ago |
|
e1dcadd102 | 1 year ago |
|
2ab38f7a9f | 1 year ago |
|
5f69fddaa5 | 1 year ago |
|
38b708b4a3 | 1 year ago |
|
ceb665d724 | 1 year ago |
|
656a3daa8d | 1 year ago |
|
2326f8d7c7 | 1 year ago |
|
3a527fbb18 | 1 year ago |
|
b3a60b2240 | 1 year ago |
|
f18923ebf1 | 1 year ago |
|
63d72d78dc | 1 year ago |
|
a642779d14 | 1 year ago |
|
d96eb977eb | 1 year ago |
|
71991fe073 | 1 year ago |
|
572dd7a30b | 1 year ago |
|
3c55c84392 | 1 year ago |
|
8ffb77634f | 1 year ago |
|
414554c0e5 | 1 year ago |
|
4e98177836 | 1 year ago |
|
c2797030dc | 1 year ago |
|
b6d67b038e | 1 year ago |
|
c9a84a7eb3 | 1 year ago |
|
2c2d771878 | 1 year ago |
|
c71cfda1d8 | 1 year ago |
|
5c3ce1f285 | 1 year ago |
|
dc83c28dc5 | 1 year ago |
|
e3b3e08682 | 1 year ago |
|
2dc62f2d57 | 1 year ago |
|
c30be6e10c | 1 year ago |
|
dd7fc8b9e4 | 1 year ago |
|
6197c53804 | 1 year ago |
|
4f7c960e6b | 1 year ago |
|
c9f58fb9ce | 1 year ago |
|
e58d1c07cb | 1 year ago |
|
fcdde8aa33 | 1 year ago |
|
fa46e54a1d | 1 year ago |
|
818214d10d | 1 year ago |
|
d3ea703444 | 1 year ago |
|
e5bf15f4a2 | 1 year ago |
|
bbed91b05e | 1 year ago |
|
8ff60d0a52 | 1 year ago |
|
4e4cfc26e0 | 1 year ago |
|
c6c82dc570 | 1 year ago |
|
ce1b533423 | 1 year ago |
|
bd9b11294c | 1 year ago |
|
88edc135a9 | 1 year ago |
|
fa1d3650dd | 1 year ago |
|
92994a3ef0 | 1 year ago |
|
7970f3e4b3 | 2 years ago |
|
733715a903 | 2 years ago |
|
ff7556dabe | 2 years ago |
|
be998f5ced | 2 years ago |
|
5bc7261752 | 2 years ago |
|
ba823ee505 | 2 years ago |
|
25ca61b79e | 2 years ago |
|
d2249ca1d0 | 2 years ago |
|
0806ead733 | 2 years ago |
|
70df922e2a | 2 years ago |
|
4b33b2fb93 | 2 years ago |
|
a2d0bde682 | 2 years ago |
|
9f6463bfd6 | 2 years ago |
|
f734489a79 | 2 years ago |
|
aa9b6a4f09 | 2 years ago |
|
05037ccc6d | 2 years ago |
|
df63fb7b81 | 2 years ago |
|
83a531be52 | 2 years ago |
|
4aa18787c3 | 2 years ago |
|
a7a0b600f2 | 2 years ago |
|
b17f4424a6 | 2 years ago |
|
25342a89e9 | 2 years ago |
|
f606b9003e | 2 years ago |
|
96a75a4e6b | 2 years ago |
|
56e425f513 | 2 years ago |
|
a8c6a339c5 | 2 years ago |
|
c50d9597a0 | 2 years ago |
|
08bb06f78c | 2 years ago |
|
1e63720f56 | 2 years ago |
|
e9cb3bcbbf | 2 years ago |
|
3fe5f93838 | 2 years ago |
|
82f60a0fa9 | 2 years ago |
|
c46203b0c1 | 2 years ago |
|
d8bb891ba2 | 2 years ago |
|
42a7c92543 | 2 years ago |
|
1f9476a5c3 | 2 years ago |
|
bca647a736 | 2 years ago |
@ -1,3 +1,6 @@
|
||||
// module.exports = {
|
||||
// presets: ["@vue/cli-plugin-babel/preset"],
|
||||
// };
|
||||
module.exports = {
|
||||
presets: ["@vue/cli-plugin-babel/preset"],
|
||||
plugins: ["@babel/plugin-transform-optional-chaining"],
|
||||
};
|
||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,589 @@
|
||||
{
|
||||
"version": 1.2,
|
||||
"fileVersion": 1.0,
|
||||
"type": 7,
|
||||
"createTime": 20250113163055,
|
||||
"flag": 1,
|
||||
"name": "1",
|
||||
"k": 4096,
|
||||
"m": 1,
|
||||
"channels": [
|
||||
{
|
||||
"n": 6,
|
||||
"crests": [
|
||||
{
|
||||
"name": "H2",
|
||||
"j": 0,
|
||||
"time": 377.0,
|
||||
"startTime": 309.0,
|
||||
"endTime": "NaN",
|
||||
"height": 5685.0,
|
||||
"area": "NaN"
|
||||
},
|
||||
{
|
||||
"name": "CO",
|
||||
"j": 1,
|
||||
"time": 475.0,
|
||||
"startTime": 437.0,
|
||||
"endTime": "NaN",
|
||||
"height": 2287.0,
|
||||
"area": "NaN"
|
||||
},
|
||||
{
|
||||
"name": "CH4",
|
||||
"j": 2,
|
||||
"time": 659.0,
|
||||
"startTime": 601.0,
|
||||
"endTime": "NaN",
|
||||
"height": 3018.0,
|
||||
"area": "NaN"
|
||||
},
|
||||
{
|
||||
"name": "C2H4",
|
||||
"j": 3,
|
||||
"time": 2052.0,
|
||||
"startTime": 1939.0,
|
||||
"endTime": "NaN",
|
||||
"height": 4883.0,
|
||||
"area": "NaN"
|
||||
},
|
||||
{
|
||||
"name": "C2H6",
|
||||
"j": 4,
|
||||
"time": 2576.0,
|
||||
"startTime": 2438.0,
|
||||
"endTime": "NaN",
|
||||
"height": 5909.0,
|
||||
"area": "NaN"
|
||||
},
|
||||
{
|
||||
"name": "C2H2",
|
||||
"j": 5,
|
||||
"time": 2997.0,
|
||||
"startTime": 2863.0,
|
||||
"endTime": "NaN",
|
||||
"height": 1845.0,
|
||||
"area": "NaN"
|
||||
}
|
||||
],
|
||||
"data": [
|
||||
28689.0, 28689.0, 28689.0, 28688.0, 28687.0, 28686.0, 28685.0, 28685.0,
|
||||
28684.0, 28682.0, 28681.0, 28680.0, 28679.0, 28679.0, 28679.0, 28679.0,
|
||||
28679.0, 28678.0, 28678.0, 28678.0, 28677.0, 28677.0, 28677.0, 28676.0,
|
||||
28676.0, 28676.0, 28675.0, 28675.0, 28674.0, 28673.0, 28672.0, 28671.0,
|
||||
28671.0, 28672.0, 28672.0, 28673.0, 28672.0, 28672.0, 28671.0, 28670.0,
|
||||
28670.0, 28670.0, 28669.0, 28669.0, 28669.0, 28669.0, 28669.0, 28668.0,
|
||||
28667.0, 28666.0, 28665.0, 28666.0, 28666.0, 28667.0, 28667.0, 28667.0,
|
||||
28667.0, 28667.0, 28667.0, 28667.0, 28666.0, 28666.0, 28666.0, 28666.0,
|
||||
28666.0, 28665.0, 28665.0, 28664.0, 28663.0, 28662.0, 28663.0, 28664.0,
|
||||
28664.0, 28665.0, 28665.0, 28665.0, 28665.0, 28665.0, 28664.0, 28664.0,
|
||||
28664.0, 28663.0, 28663.0, 28663.0, 28663.0, 28662.0, 28661.0, 28661.0,
|
||||
28660.0, 28660.0, 28661.0, 28662.0, 28662.0, 28663.0, 28663.0, 28663.0,
|
||||
28663.0, 28663.0, 28663.0, 28663.0, 28663.0, 28663.0, 28663.0, 28663.0,
|
||||
28662.0, 28662.0, 28661.0, 28661.0, 28661.0, 28662.0, 28662.0, 28663.0,
|
||||
28662.0, 28662.0, 28662.0, 28662.0, 28662.0, 28662.0, 28662.0, 28662.0,
|
||||
28662.0, 28662.0, 28662.0, 28661.0, 28661.0, 28660.0, 28659.0, 28660.0,
|
||||
28660.0, 28661.0, 28662.0, 28662.0, 28662.0, 28662.0, 28662.0, 28662.0,
|
||||
28662.0, 28662.0, 28662.0, 28662.0, 28662.0, 28662.0, 28662.0, 28661.0,
|
||||
28660.0, 28659.0, 28659.0, 28660.0, 28661.0, 28662.0, 28662.0, 28662.0,
|
||||
28662.0, 28662.0, 28662.0, 28662.0, 28662.0, 28662.0, 28662.0, 28662.0,
|
||||
28662.0, 28663.0, 28662.0, 28661.0, 28661.0, 28660.0, 28660.0, 28661.0,
|
||||
28661.0, 28662.0, 28662.0, 28662.0, 28663.0, 28663.0, 28663.0, 28663.0,
|
||||
28663.0, 28663.0, 28663.0, 28663.0, 28663.0, 28662.0, 28661.0, 28661.0,
|
||||
28660.0, 28661.0, 28661.0, 28662.0, 28663.0, 28663.0, 28663.0, 28663.0,
|
||||
28664.0, 28664.0, 28664.0, 28664.0, 28664.0, 28664.0, 28664.0, 28664.0,
|
||||
28663.0, 28663.0, 28662.0, 28662.0, 28662.0, 28663.0, 28663.0, 28664.0,
|
||||
28664.0, 28663.0, 28663.0, 28663.0, 28663.0, 28663.0, 28663.0, 28663.0,
|
||||
28663.0, 28663.0, 28663.0, 28664.0, 28663.0, 28663.0, 28662.0, 28663.0,
|
||||
28663.0, 28664.0, 28665.0, 28665.0, 28665.0, 28665.0, 28665.0, 28665.0,
|
||||
28665.0, 28665.0, 28665.0, 28665.0, 28665.0, 28665.0, 28665.0, 28664.0,
|
||||
28664.0, 28663.0, 28664.0, 28664.0, 28665.0, 28666.0, 28666.0, 28666.0,
|
||||
28666.0, 28666.0, 28666.0, 28667.0, 28667.0, 28667.0, 28667.0, 28667.0,
|
||||
28667.0, 28667.0, 28667.0, 28667.0, 28666.0, 28666.0, 28666.0, 28667.0,
|
||||
28667.0, 28668.0, 28668.0, 28668.0, 28668.0, 28668.0, 28668.0, 28668.0,
|
||||
28668.0, 28669.0, 28669.0, 28669.0, 28670.0, 28669.0, 28668.0, 28668.0,
|
||||
28667.0, 28668.0, 28669.0, 28670.0, 28670.0, 28670.0, 28670.0, 28670.0,
|
||||
28670.0, 28670.0, 28669.0, 28669.0, 28669.0, 28669.0, 28669.0, 28669.0,
|
||||
28669.0, 28668.0, 28668.0, 28668.0, 28668.0, 28669.0, 28670.0, 28671.0,
|
||||
28671.0, 28671.0, 28672.0, 28673.0, 28675.0, 28677.0, 28679.0, 28682.0,
|
||||
28686.0, 28692.0, 28698.0, 28707.0, 28716.0, 28728.0, 28744.0, 28763.0,
|
||||
28788.0, 28818.0, 28854.0, 28897.0, 28949.0, 29009.0, 29080.0, 29163.0,
|
||||
29258.0, 29366.0, 29488.0, 29622.0, 29770.0, 29931.0, 30102.0, 30283.0,
|
||||
30472.0, 30667.0, 30867.0, 31071.0, 31274.0, 31474.0, 31671.0, 31863.0,
|
||||
32048.0, 32225.0, 32395.0, 32555.0, 32707.0, 32849.0, 32982.0, 33106.0,
|
||||
33222.0, 33329.0, 33428.0, 33519.0, 33603.0, 33682.0, 33755.0, 33823.0,
|
||||
33885.0, 33942.0, 33994.0, 34042.0, 34087.0, 34128.0, 34165.0, 34200.0,
|
||||
34230.0, 34258.0, 34283.0, 34305.0, 34324.0, 34339.0, 34350.0, 34357.0,
|
||||
34361.0, 34362.0, 34359.0, 34351.0, 34339.0, 34319.0, 34294.0, 34262.0,
|
||||
34224.0, 34180.0, 34128.0, 34070.0, 34004.0, 33931.0, 33851.0, 33764.0,
|
||||
33670.0, 33569.0, 33461.0, 33348.0, 33231.0, 33110.0, 32985.0, 32857.0,
|
||||
32726.0, 32592.0, 32458.0, 32323.0, 32188.0, 32054.0, 31922.0, 31792.0,
|
||||
31664.0, 31540.0, 31419.0, 31303.0, 31189.0, 31081.0, 30979.0, 30882.0,
|
||||
30791.0, 30706.0, 30627.0, 30553.0, 30485.0, 30423.0, 30368.0, 30321.0,
|
||||
30280.0, 30247.0, 30223.0, 30208.0, 30202.0, 30205.0, 30219.0, 30242.0,
|
||||
30278.0, 30326.0, 30387.0, 30460.0, 30545.0, 30640.0, 30742.0, 30851.0,
|
||||
30966.0, 31085.0, 31205.0, 31327.0, 31448.0, 31566.0, 31680.0, 31790.0,
|
||||
31895.0, 31993.0, 32084.0, 32169.0, 32247.0, 32320.0, 32388.0, 32450.0,
|
||||
32507.0, 32558.0, 32603.0, 32645.0, 32683.0, 32716.0, 32747.0, 32774.0,
|
||||
32799.0, 32821.0, 32841.0, 32858.0, 32873.0, 32886.0, 32896.0, 32905.0,
|
||||
32913.0, 32919.0, 32924.0, 32927.0, 32926.0, 32924.0, 32918.0, 32910.0,
|
||||
32898.0, 32882.0, 32862.0, 32838.0, 32808.0, 32773.0, 32732.0, 32684.0,
|
||||
32629.0, 32567.0, 32497.0, 32421.0, 32338.0, 32250.0, 32155.0, 32054.0,
|
||||
31947.0, 31836.0, 31722.0, 31605.0, 31487.0, 31368.0, 31250.0, 31132.0,
|
||||
31016.0, 30903.0, 30792.0, 30686.0, 30583.0, 30485.0, 30392.0, 30304.0,
|
||||
30222.0, 30145.0, 30073.0, 30004.0, 29940.0, 29880.0, 29825.0, 29773.0,
|
||||
29725.0, 29680.0, 29639.0, 29601.0, 29566.0, 29533.0, 29502.0, 29474.0,
|
||||
29448.0, 29424.0, 29404.0, 29386.0, 29370.0, 29356.0, 29342.0, 29330.0,
|
||||
29318.0, 29307.0, 29296.0, 29285.0, 29273.0, 29261.0, 29247.0, 29233.0,
|
||||
29219.0, 29204.0, 29187.0, 29171.0, 29154.0, 29139.0, 29125.0, 29111.0,
|
||||
29099.0, 29086.0, 29074.0, 29063.0, 29053.0, 29043.0, 29035.0, 29027.0,
|
||||
29019.0, 29012.0, 29006.0, 29000.0, 28994.0, 28988.0, 28981.0, 28976.0,
|
||||
28971.0, 28967.0, 28963.0, 28960.0, 28956.0, 28953.0, 28949.0, 28946.0,
|
||||
28942.0, 28939.0, 28936.0, 28933.0, 28931.0, 28928.0, 28925.0, 28922.0,
|
||||
28919.0, 28916.0, 28913.0, 28911.0, 28909.0, 28909.0, 28908.0, 28907.0,
|
||||
28905.0, 28904.0, 28904.0, 28904.0, 28905.0, 28906.0, 28908.0, 28911.0,
|
||||
28915.0, 28921.0, 28928.0, 28937.0, 28947.0, 28961.0, 28978.0, 28999.0,
|
||||
29025.0, 29055.0, 29089.0, 29128.0, 29173.0, 29223.0, 29279.0, 29341.0,
|
||||
29409.0, 29483.0, 29562.0, 29647.0, 29737.0, 29830.0, 29927.0, 30026.0,
|
||||
30127.0, 30229.0, 30331.0, 30434.0, 30536.0, 30635.0, 30730.0, 30823.0,
|
||||
30911.0, 30996.0, 31077.0, 31153.0, 31226.0, 31293.0, 31356.0, 31415.0,
|
||||
31469.0, 31520.0, 31566.0, 31609.0, 31648.0, 31686.0, 31721.0, 31753.0,
|
||||
31782.0, 31808.0, 31830.0, 31851.0, 31870.0, 31887.0, 31902.0, 31914.0,
|
||||
31924.0, 31931.0, 31936.0, 31939.0, 31938.0, 31935.0, 31928.0, 31917.0,
|
||||
31904.0, 31887.0, 31868.0, 31844.0, 31815.0, 31782.0, 31745.0, 31704.0,
|
||||
31658.0, 31609.0, 31555.0, 31498.0, 31437.0, 31372.0, 31305.0, 31235.0,
|
||||
31163.0, 31089.0, 31014.0, 30939.0, 30864.0, 30789.0, 30714.0, 30640.0,
|
||||
30566.0, 30494.0, 30423.0, 30354.0, 30287.0, 30222.0, 30160.0, 30100.0,
|
||||
30042.0, 29987.0, 29934.0, 29884.0, 29836.0, 29790.0, 29746.0, 29706.0,
|
||||
29669.0, 29634.0, 29601.0, 29570.0, 29540.0, 29513.0, 29487.0, 29462.0,
|
||||
29440.0, 29418.0, 29398.0, 29380.0, 29362.0, 29344.0, 29328.0, 29312.0,
|
||||
29296.0, 29281.0, 29267.0, 29254.0, 29241.0, 29228.0, 29215.0, 29203.0,
|
||||
29190.0, 29177.0, 29165.0, 29153.0, 29141.0, 29129.0, 29118.0, 29108.0,
|
||||
29098.0, 29088.0, 29078.0, 29068.0, 29058.0, 29050.0, 29043.0, 29037.0,
|
||||
29030.0, 29024.0, 29017.0, 29011.0, 29005.0, 28999.0, 28994.0, 28988.0,
|
||||
28983.0, 28978.0, 28974.0, 28970.0, 28965.0, 28961.0, 28956.0, 28952.0,
|
||||
28948.0, 28945.0, 28943.0, 28940.0, 28937.0, 28934.0, 28932.0, 28929.0,
|
||||
28926.0, 28924.0, 28921.0, 28919.0, 28916.0, 28914.0, 28912.0, 28909.0,
|
||||
28907.0, 28904.0, 28901.0, 28898.0, 28897.0, 28896.0, 28895.0, 28894.0,
|
||||
28892.0, 28890.0, 28889.0, 28887.0, 28885.0, 28884.0, 28882.0, 28881.0,
|
||||
28879.0, 28878.0, 28876.0, 28875.0, 28875.0, 28877.0, 28927.0, 29043.0,
|
||||
29225.0, 29469.0, 29726.0, 29970.0, 30195.0, 30398.0, 30580.0, 30742.0,
|
||||
30886.0, 31013.0, 31124.0, 31223.0, 31310.0, 31387.0, 31454.0, 31513.0,
|
||||
31566.0, 31612.0, 31654.0, 31692.0, 31726.0, 31757.0, 31784.0, 31808.0,
|
||||
31830.0, 31850.0, 31868.0, 31884.0, 31899.0, 31913.0, 31926.0, 31937.0,
|
||||
31947.0, 31957.0, 31964.0, 31972.0, 31978.0, 31985.0, 31993.0, 32000.0,
|
||||
32006.0, 32011.0, 32016.0, 32021.0, 32025.0, 32029.0, 32033.0, 32037.0,
|
||||
32040.0, 32043.0, 32046.0, 32049.0, 32052.0, 32054.0, 32056.0, 32057.0,
|
||||
32059.0, 32062.0, 32065.0, 32067.0, 32070.0, 32071.0, 32073.0, 32075.0,
|
||||
32076.0, 32078.0, 32079.0, 32081.0, 32082.0, 32084.0, 32085.0, 32086.0,
|
||||
32087.0, 32088.0, 32088.0, 32089.0, 32091.0, 32092.0, 32094.0, 32095.0,
|
||||
32096.0, 32096.0, 32097.0, 32098.0, 32099.0, 32100.0, 32101.0, 32101.0,
|
||||
32102.0, 32102.0, 32103.0, 32103.0, 32104.0, 32104.0, 32104.0, 32105.0,
|
||||
32106.0, 32107.0, 32108.0, 32108.0, 32108.0, 32109.0, 32109.0, 32110.0,
|
||||
32110.0, 32111.0, 32111.0, 32112.0, 32112.0, 32113.0, 32113.0, 32112.0,
|
||||
32112.0, 32112.0, 32114.0, 32116.0, 32117.0, 32119.0, 32119.0, 32120.0,
|
||||
32120.0, 32121.0, 32121.0, 32121.0, 32122.0, 32122.0, 32123.0, 32123.0,
|
||||
32123.0, 32124.0, 32122.0, 32121.0, 32120.0, 32119.0, 32120.0, 32122.0,
|
||||
32123.0, 32123.0, 32124.0, 32124.0, 32124.0, 32124.0, 32124.0, 32124.0,
|
||||
32125.0, 32125.0, 32125.0, 32126.0, 32126.0, 32125.0, 32125.0, 32125.0,
|
||||
32125.0, 32126.0, 32127.0, 32128.0, 32129.0, 32129.0, 32129.0, 32129.0,
|
||||
32129.0, 32129.0, 32130.0, 32130.0, 32130.0, 32130.0, 32130.0, 32130.0,
|
||||
32130.0, 32129.0, 32129.0, 32129.0, 32130.0, 32131.0, 32132.0, 32132.0,
|
||||
32133.0, 32133.0, 32133.0, 32133.0, 32134.0, 32134.0, 32134.0, 32134.0,
|
||||
32134.0, 32135.0, 32134.0, 32134.0, 32134.0, 32134.0, 32134.0, 32134.0,
|
||||
32135.0, 32136.0, 32137.0, 32138.0, 32138.0, 32138.0, 32139.0, 32139.0,
|
||||
32139.0, 32139.0, 32140.0, 32140.0, 32140.0, 32140.0, 32140.0, 32139.0,
|
||||
32139.0, 32139.0, 32139.0, 32140.0, 32141.0, 32141.0, 32142.0, 32142.0,
|
||||
32142.0, 32143.0, 32143.0, 32144.0, 32144.0, 32144.0, 32144.0, 32145.0,
|
||||
32145.0, 32145.0, 32144.0, 32144.0, 32143.0, 32144.0, 32144.0, 32144.0,
|
||||
32146.0, 32146.0, 32147.0, 32148.0, 32148.0, 32148.0, 32148.0, 32149.0,
|
||||
32149.0, 32149.0, 32149.0, 32149.0, 32149.0, 32149.0, 32148.0, 32148.0,
|
||||
32148.0, 32149.0, 32150.0, 32151.0, 32151.0, 32151.0, 32152.0, 32152.0,
|
||||
32152.0, 32153.0, 32153.0, 32153.0, 32154.0, 32154.0, 32154.0, 32154.0,
|
||||
32154.0, 32153.0, 32152.0, 32152.0, 32153.0, 32154.0, 32155.0, 32155.0,
|
||||
32156.0, 32156.0, 32156.0, 32156.0, 32157.0, 32157.0, 32157.0, 32158.0,
|
||||
32158.0, 32158.0, 32158.0, 32157.0, 32157.0, 32157.0, 32157.0, 32158.0,
|
||||
32158.0, 32159.0, 32160.0, 32160.0, 32160.0, 32161.0, 32161.0, 32161.0,
|
||||
32161.0, 32161.0, 32161.0, 32161.0, 32161.0, 32161.0, 32161.0, 32161.0,
|
||||
32160.0, 32160.0, 32160.0, 32161.0, 32162.0, 32163.0, 32163.0, 32164.0,
|
||||
32164.0, 32164.0, 32164.0, 32165.0, 32165.0, 32165.0, 32166.0, 32166.0,
|
||||
32166.0, 32167.0, 32166.0, 32166.0, 32166.0, 32166.0, 32166.0, 32167.0,
|
||||
32168.0, 32168.0, 32169.0, 32169.0, 32169.0, 32169.0, 32170.0, 32170.0,
|
||||
32170.0, 32170.0, 32170.0, 32170.0, 32170.0, 32170.0, 32170.0, 32169.0,
|
||||
32169.0, 32170.0, 32171.0, 32172.0, 32172.0, 32172.0, 32173.0, 32173.0,
|
||||
32174.0, 32174.0, 32174.0, 32174.0, 32175.0, 32175.0, 32175.0, 32175.0,
|
||||
32175.0, 32175.0, 32174.0, 32174.0, 32175.0, 32176.0, 32176.0, 32177.0,
|
||||
32177.0, 32177.0, 32177.0, 32178.0, 32178.0, 32178.0, 32178.0, 32179.0,
|
||||
32179.0, 32179.0, 32179.0, 32179.0, 32179.0, 32178.0, 32178.0, 32179.0,
|
||||
32179.0, 32180.0, 32181.0, 32181.0, 32182.0, 32182.0, 32183.0, 32183.0,
|
||||
32183.0, 32183.0, 32183.0, 32183.0, 32183.0, 32183.0, 32184.0, 32183.0,
|
||||
32182.0, 32182.0, 32182.0, 32183.0, 32184.0, 32185.0, 32185.0, 32186.0,
|
||||
32186.0, 32186.0, 32186.0, 32187.0, 32187.0, 32187.0, 32188.0, 32188.0,
|
||||
32188.0, 32188.0, 32188.0, 32188.0, 32187.0, 32187.0, 32188.0, 32189.0,
|
||||
32190.0, 32191.0, 32191.0, 32192.0, 32192.0, 32192.0, 32192.0, 32192.0,
|
||||
32192.0, 32193.0, 32193.0, 32193.0, 32193.0, 32192.0, 32192.0, 32191.0,
|
||||
32192.0, 32193.0, 32194.0, 32194.0, 32195.0, 32195.0, 32195.0, 32195.0,
|
||||
32196.0, 32196.0, 32197.0, 32197.0, 32198.0, 32198.0, 32198.0, 32198.0,
|
||||
32197.0, 32196.0, 32196.0, 32195.0, 32196.0, 32197.0, 32199.0, 32199.0,
|
||||
32200.0, 32200.0, 32200.0, 32200.0, 32200.0, 32201.0, 32201.0, 32201.0,
|
||||
32201.0, 32202.0, 32202.0, 32201.0, 32201.0, 32200.0, 32200.0, 32201.0,
|
||||
32201.0, 32202.0, 32203.0, 32203.0, 32203.0, 32204.0, 32204.0, 32204.0,
|
||||
32204.0, 32205.0, 32205.0, 32205.0, 32206.0, 32206.0, 32205.0, 32205.0,
|
||||
32204.0, 32204.0, 32205.0, 32206.0, 32208.0, 32209.0, 32209.0, 32209.0,
|
||||
32209.0, 32209.0, 32210.0, 32210.0, 32210.0, 32210.0, 32210.0, 32211.0,
|
||||
32211.0, 32211.0, 32210.0, 32210.0, 32210.0, 32210.0, 32211.0, 32212.0,
|
||||
32213.0, 32213.0, 32213.0, 32214.0, 32214.0, 32214.0, 32215.0, 32215.0,
|
||||
32215.0, 32215.0, 32216.0, 32216.0, 32216.0, 32216.0, 32215.0, 32214.0,
|
||||
32214.0, 32215.0, 32216.0, 32217.0, 32218.0, 32218.0, 32218.0, 32219.0,
|
||||
32219.0, 32220.0, 32220.0, 32220.0, 32220.0, 32221.0, 32221.0, 32221.0,
|
||||
32221.0, 32221.0, 32221.0, 32221.0, 32222.0, 32223.0, 32224.0, 32225.0,
|
||||
32225.0, 32225.0, 32225.0, 32225.0, 32225.0, 32226.0, 32226.0, 32227.0,
|
||||
32227.0, 32227.0, 32227.0, 32227.0, 32226.0, 32226.0, 32226.0, 32227.0,
|
||||
32227.0, 32228.0, 32229.0, 32229.0, 32230.0, 32230.0, 32230.0, 32230.0,
|
||||
32230.0, 32230.0, 32231.0, 32231.0, 32231.0, 32232.0, 32231.0, 32231.0,
|
||||
32230.0, 32230.0, 32231.0, 32232.0, 32233.0, 32235.0, 32235.0, 32235.0,
|
||||
32236.0, 32236.0, 32236.0, 32236.0, 32236.0, 32236.0, 32236.0, 32236.0,
|
||||
32236.0, 32236.0, 32235.0, 32235.0, 32234.0, 32235.0, 32235.0, 32236.0,
|
||||
32237.0, 32237.0, 32237.0, 32237.0, 32238.0, 32238.0, 32238.0, 32238.0,
|
||||
32239.0, 32239.0, 32239.0, 32239.0, 32239.0, 32238.0, 32238.0, 32238.0,
|
||||
32238.0, 32239.0, 32240.0, 32241.0, 32241.0, 32241.0, 32241.0, 32241.0,
|
||||
32241.0, 32242.0, 32242.0, 32243.0, 32243.0, 32243.0, 32243.0, 32243.0,
|
||||
32242.0, 32242.0, 32241.0, 32242.0, 32242.0, 32243.0, 32244.0, 32244.0,
|
||||
32244.0, 32245.0, 32245.0, 32245.0, 32245.0, 32246.0, 32246.0, 32246.0,
|
||||
32246.0, 32247.0, 32246.0, 32246.0, 32245.0, 32245.0, 32245.0, 32246.0,
|
||||
32247.0, 32248.0, 32249.0, 32249.0, 32249.0, 32250.0, 32250.0, 32250.0,
|
||||
32250.0, 32250.0, 32250.0, 32251.0, 32251.0, 32251.0, 32250.0, 32250.0,
|
||||
32249.0, 32249.0, 32249.0, 32250.0, 32251.0, 32252.0, 32252.0, 32253.0,
|
||||
32253.0, 32253.0, 32253.0, 32254.0, 32254.0, 32254.0, 32254.0, 32254.0,
|
||||
32254.0, 32254.0, 32253.0, 32253.0, 32252.0, 32253.0, 32254.0, 32255.0,
|
||||
32255.0, 32256.0, 32256.0, 32256.0, 32256.0, 32256.0, 32256.0, 32257.0,
|
||||
32257.0, 32257.0, 32257.0, 32257.0, 32257.0, 32257.0, 32256.0, 32256.0,
|
||||
32256.0, 32257.0, 32258.0, 32259.0, 32259.0, 32259.0, 32260.0, 32260.0,
|
||||
32260.0, 32260.0, 32261.0, 32261.0, 32261.0, 32261.0, 32262.0, 32261.0,
|
||||
32261.0, 32260.0, 32260.0, 32260.0, 32261.0, 32262.0, 32262.0, 32263.0,
|
||||
32263.0, 32263.0, 32263.0, 32263.0, 32264.0, 32264.0, 32264.0, 32264.0,
|
||||
32264.0, 32265.0, 32265.0, 32264.0, 32264.0, 32263.0, 32263.0, 32264.0,
|
||||
32265.0, 32266.0, 32266.0, 32267.0, 32267.0, 32267.0, 32267.0, 32267.0,
|
||||
32267.0, 32267.0, 32268.0, 32268.0, 32268.0, 32267.0, 32267.0, 32267.0,
|
||||
32266.0, 32266.0, 32267.0, 32267.0, 32268.0, 32269.0, 32269.0, 32270.0,
|
||||
32270.0, 32270.0, 32271.0, 32271.0, 32271.0, 32271.0, 32271.0, 32271.0,
|
||||
32271.0, 32271.0, 32271.0, 32271.0, 32270.0, 32271.0, 32272.0, 32274.0,
|
||||
32275.0, 32276.0, 32276.0, 32276.0, 32276.0, 32276.0, 32276.0, 32276.0,
|
||||
32276.0, 32276.0, 32277.0, 32277.0, 32276.0, 32276.0, 32275.0, 32274.0,
|
||||
32274.0, 32275.0, 32276.0, 32278.0, 32278.0, 32278.0, 32278.0, 32278.0,
|
||||
32278.0, 32278.0, 32278.0, 32278.0, 32278.0, 32278.0, 32279.0, 32279.0,
|
||||
32278.0, 32278.0, 32277.0, 32277.0, 32278.0, 32279.0, 32279.0, 32280.0,
|
||||
32280.0, 32280.0, 32280.0, 32281.0, 32281.0, 32281.0, 32281.0, 32281.0,
|
||||
32281.0, 32282.0, 32282.0, 32281.0, 32281.0, 32281.0, 32281.0, 32282.0,
|
||||
32283.0, 32283.0, 32284.0, 32284.0, 32284.0, 32285.0, 32285.0, 32285.0,
|
||||
32285.0, 32285.0, 32286.0, 32286.0, 32287.0, 32287.0, 32286.0, 32285.0,
|
||||
32285.0, 32284.0, 32285.0, 32286.0, 32287.0, 32288.0, 32288.0, 32288.0,
|
||||
32288.0, 32289.0, 32289.0, 32290.0, 32290.0, 32290.0, 32290.0, 32290.0,
|
||||
32290.0, 32290.0, 32290.0, 32290.0, 32290.0, 32290.0, 32291.0, 32291.0,
|
||||
32292.0, 32292.0, 32292.0, 32292.0, 32292.0, 32293.0, 32293.0, 32293.0,
|
||||
32293.0, 32294.0, 32294.0, 32295.0, 32294.0, 32294.0, 32293.0, 32292.0,
|
||||
32292.0, 32293.0, 32294.0, 32295.0, 32296.0, 32296.0, 32296.0, 32296.0,
|
||||
32296.0, 32296.0, 32297.0, 32297.0, 32298.0, 32298.0, 32298.0, 32298.0,
|
||||
32297.0, 32296.0, 32296.0, 32296.0, 32297.0, 32298.0, 32299.0, 32299.0,
|
||||
32299.0, 32300.0, 32300.0, 32300.0, 32300.0, 32300.0, 32300.0, 32300.0,
|
||||
32301.0, 32301.0, 32301.0, 32300.0, 32300.0, 32299.0, 32299.0, 32300.0,
|
||||
32301.0, 32302.0, 32303.0, 32303.0, 32304.0, 32304.0, 32304.0, 32305.0,
|
||||
32305.0, 32305.0, 32305.0, 32305.0, 32305.0, 32305.0, 32304.0, 32304.0,
|
||||
32303.0, 32303.0, 32304.0, 32304.0, 32305.0, 32306.0, 32306.0, 32306.0,
|
||||
32307.0, 32307.0, 32307.0, 32307.0, 32306.0, 32291.0, 32238.0, 32137.0,
|
||||
31982.0, 31786.0, 31572.0, 31357.0, 31150.0, 30957.0, 30781.0, 30620.0,
|
||||
30476.0, 30346.0, 30231.0, 30128.0, 30037.0, 29956.0, 29884.0, 29819.0,
|
||||
29762.0, 29710.0, 29664.0, 29623.0, 29586.0, 29550.0, 29518.0, 29490.0,
|
||||
29465.0, 29443.0, 29424.0, 29405.0, 29387.0, 29370.0, 29355.0, 29341.0,
|
||||
29327.0, 29315.0, 29304.0, 29293.0, 29283.0, 29273.0, 29264.0, 29255.0,
|
||||
29246.0, 29238.0, 29230.0, 29224.0, 29218.0, 29214.0, 29209.0, 29204.0,
|
||||
29198.0, 29193.0, 29188.0, 29184.0, 29179.0, 29175.0, 29171.0, 29168.0,
|
||||
29164.0, 29160.0, 29156.0, 29152.0, 29148.0, 29144.0, 29141.0, 29139.0,
|
||||
29138.0, 29136.0, 29133.0, 29130.0, 29128.0, 29125.0, 29123.0, 29121.0,
|
||||
29119.0, 29117.0, 29115.0, 29113.0, 29111.0, 29109.0, 29106.0, 29104.0,
|
||||
29102.0, 29100.0, 29099.0, 29100.0, 29099.0, 29098.0, 29096.0, 29095.0,
|
||||
29093.0, 29092.0, 29091.0, 29090.0, 29089.0, 29088.0, 29087.0, 29086.0,
|
||||
29085.0, 29083.0, 29081.0, 29079.0, 29078.0, 29077.0, 29077.0, 29078.0,
|
||||
29077.0, 29077.0, 29076.0, 29075.0, 29074.0, 29073.0, 29073.0, 29072.0,
|
||||
29071.0, 29071.0, 29070.0, 29069.0, 29068.0, 29067.0, 29066.0, 29065.0,
|
||||
29064.0, 29065.0, 29065.0, 29065.0, 29065.0, 29065.0, 29064.0, 29064.0,
|
||||
29063.0, 29063.0, 29063.0, 29063.0, 29062.0, 29062.0, 29062.0, 29061.0,
|
||||
29061.0, 29060.0, 29060.0, 29061.0, 29062.0, 29063.0, 29065.0, 29066.0,
|
||||
29067.0, 29068.0, 29070.0, 29071.0, 29073.0, 29075.0, 29077.0, 29080.0,
|
||||
29083.0, 29086.0, 29089.0, 29093.0, 29096.0, 29100.0, 29106.0, 29112.0,
|
||||
29120.0, 29128.0, 29137.0, 29146.0, 29155.0, 29165.0, 29177.0, 29189.0,
|
||||
29202.0, 29216.0, 29232.0, 29248.0, 29266.0, 29285.0, 29305.0, 29327.0,
|
||||
29349.0, 29374.0, 29401.0, 29431.0, 29462.0, 29495.0, 29529.0, 29565.0,
|
||||
29602.0, 29642.0, 29684.0, 29728.0, 29774.0, 29822.0, 29873.0, 29926.0,
|
||||
29980.0, 30036.0, 30094.0, 30153.0, 30215.0, 30280.0, 30347.0, 30416.0,
|
||||
30487.0, 30558.0, 30631.0, 30706.0, 30782.0, 30859.0, 30937.0, 31016.0,
|
||||
31097.0, 31178.0, 31260.0, 31343.0, 31425.0, 31508.0, 31590.0, 31673.0,
|
||||
31756.0, 31840.0, 31924.0, 32007.0, 32089.0, 32170.0, 32250.0, 32330.0,
|
||||
32408.0, 32485.0, 32561.0, 32636.0, 32709.0, 32781.0, 32851.0, 32919.0,
|
||||
32985.0, 33049.0, 33112.0, 33172.0, 33232.0, 33290.0, 33345.0, 33399.0,
|
||||
33449.0, 33497.0, 33543.0, 33586.0, 33628.0, 33667.0, 33703.0, 33737.0,
|
||||
33768.0, 33797.0, 33824.0, 33847.0, 33868.0, 33886.0, 33903.0, 33918.0,
|
||||
33930.0, 33940.0, 33948.0, 33952.0, 33954.0, 33954.0, 33950.0, 33945.0,
|
||||
33937.0, 33926.0, 33913.0, 33898.0, 33881.0, 33861.0, 33839.0, 33814.0,
|
||||
33787.0, 33758.0, 33727.0, 33695.0, 33661.0, 33624.0, 33586.0, 33545.0,
|
||||
33502.0, 33458.0, 33411.0, 33363.0, 33313.0, 33262.0, 33209.0, 33154.0,
|
||||
33099.0, 33041.0, 32982.0, 32921.0, 32860.0, 32798.0, 32737.0, 32674.0,
|
||||
32610.0, 32545.0, 32478.0, 32412.0, 32345.0, 32278.0, 32210.0, 32142.0,
|
||||
32074.0, 32006.0, 31938.0, 31870.0, 31802.0, 31733.0, 31665.0, 31598.0,
|
||||
31531.0, 31466.0, 31402.0, 31338.0, 31274.0, 31211.0, 31149.0, 31088.0,
|
||||
31028.0, 30969.0, 30911.0, 30854.0, 30798.0, 30743.0, 30690.0, 30638.0,
|
||||
30586.0, 30535.0, 30486.0, 30438.0, 30393.0, 30349.0, 30306.0, 30264.0,
|
||||
30224.0, 30184.0, 30146.0, 30109.0, 30074.0, 30039.0, 30006.0, 29973.0,
|
||||
29942.0, 29912.0, 29883.0, 29854.0, 29826.0, 29800.0, 29775.0, 29752.0,
|
||||
29730.0, 29708.0, 29687.0, 29667.0, 29647.0, 29629.0, 29611.0, 29594.0,
|
||||
29577.0, 29561.0, 29546.0, 29531.0, 29517.0, 29503.0, 29489.0, 29476.0,
|
||||
29463.0, 29451.0, 29441.0, 29431.0, 29422.0, 29412.0, 29403.0, 29394.0,
|
||||
29385.0, 29377.0, 29369.0, 29362.0, 29354.0, 29347.0, 29340.0, 29333.0,
|
||||
29326.0, 29320.0, 29313.0, 29307.0, 29301.0, 29296.0, 29291.0, 29287.0,
|
||||
29282.0, 29278.0, 29273.0, 29269.0, 29265.0, 29261.0, 29257.0, 29253.0,
|
||||
29249.0, 29245.0, 29242.0, 29239.0, 29235.0, 29231.0, 29227.0, 29223.0,
|
||||
29221.0, 29219.0, 29216.0, 29214.0, 29211.0, 29209.0, 29206.0, 29204.0,
|
||||
29201.0, 29199.0, 29197.0, 29195.0, 29192.0, 29190.0, 29188.0, 29186.0,
|
||||
29183.0, 29181.0, 29179.0, 29177.0, 29176.0, 29175.0, 29173.0, 29171.0,
|
||||
29169.0, 29168.0, 29166.0, 29165.0, 29163.0, 29162.0, 29160.0, 29159.0,
|
||||
29157.0, 29156.0, 29154.0, 29152.0, 29150.0, 29148.0, 29147.0, 29146.0,
|
||||
29146.0, 29145.0, 29144.0, 29142.0, 29141.0, 29139.0, 29139.0, 29138.0,
|
||||
29137.0, 29136.0, 29135.0, 29134.0, 29133.0, 29131.0, 29129.0, 29127.0,
|
||||
29126.0, 29125.0, 29124.0, 29125.0, 29124.0, 29124.0, 29123.0, 29121.0,
|
||||
29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0,
|
||||
29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0,
|
||||
29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0,
|
||||
29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0,
|
||||
29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0,
|
||||
29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0,
|
||||
29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0,
|
||||
29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0,
|
||||
29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0,
|
||||
29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0,
|
||||
29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0,
|
||||
29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0,
|
||||
29120.0, 29120.0, 29119.0, 29119.0, 29118.0, 29117.0, 29116.0, 29115.0,
|
||||
29115.0, 29113.0, 29112.0, 29110.0, 29109.0, 29109.0, 29109.0, 29109.0,
|
||||
29109.0, 29108.0, 29108.0, 29107.0, 29106.0, 29106.0, 29105.0, 29104.0,
|
||||
29103.0, 29103.0, 29102.0, 29101.0, 29100.0, 29099.0, 29096.0, 29095.0,
|
||||
29094.0, 29094.0, 29094.0, 29094.0, 29094.0, 29093.0, 29093.0, 29092.0,
|
||||
29091.0, 29091.0, 29090.0, 29089.0, 29089.0, 29088.0, 29088.0, 29087.0,
|
||||
29085.0, 29084.0, 29083.0, 29082.0, 29083.0, 29083.0, 29084.0, 29084.0,
|
||||
29083.0, 29083.0, 29082.0, 29082.0, 29082.0, 29081.0, 29081.0, 29080.0,
|
||||
29081.0, 29081.0, 29081.0, 29081.0, 29080.0, 29080.0, 29081.0, 29082.0,
|
||||
29083.0, 29085.0, 29085.0, 29086.0, 29088.0, 29089.0, 29091.0, 29092.0,
|
||||
29094.0, 29096.0, 29099.0, 29101.0, 29104.0, 29107.0, 29109.0, 29113.0,
|
||||
29117.0, 29121.0, 29127.0, 29133.0, 29140.0, 29147.0, 29153.0, 29161.0,
|
||||
29169.0, 29177.0, 29187.0, 29197.0, 29208.0, 29220.0, 29232.0, 29245.0,
|
||||
29259.0, 29274.0, 29289.0, 29306.0, 29324.0, 29344.0, 29366.0, 29389.0,
|
||||
29412.0, 29437.0, 29462.0, 29489.0, 29518.0, 29548.0, 29580.0, 29613.0,
|
||||
29647.0, 29684.0, 29722.0, 29762.0, 29803.0, 29846.0, 29890.0, 29937.0,
|
||||
29986.0, 30038.0, 30091.0, 30147.0, 30203.0, 30260.0, 30320.0, 30381.0,
|
||||
30444.0, 30509.0, 30576.0, 30644.0, 30713.0, 30784.0, 30856.0, 30929.0,
|
||||
31004.0, 31079.0, 31156.0, 31235.0, 31315.0, 31396.0, 31478.0, 31559.0,
|
||||
31641.0, 31724.0, 31807.0, 31889.0, 31972.0, 32056.0, 32140.0, 32223.0,
|
||||
32307.0, 32389.0, 32472.0, 32553.0, 32633.0, 32713.0, 32793.0, 32873.0,
|
||||
32953.0, 33031.0, 33108.0, 33184.0, 33259.0, 33333.0, 33405.0, 33477.0,
|
||||
33546.0, 33615.0, 33683.0, 33748.0, 33813.0, 33875.0, 33936.0, 33995.0,
|
||||
34052.0, 34109.0, 34165.0, 34220.0, 34273.0, 34323.0, 34371.0, 34418.0,
|
||||
34462.0, 34506.0, 34547.0, 34588.0, 34626.0, 34662.0, 34696.0, 34728.0,
|
||||
34759.0, 34787.0, 34813.0, 34837.0, 34860.0, 34883.0, 34903.0, 34921.0,
|
||||
34938.0, 34952.0, 34965.0, 34976.0, 34984.0, 34991.0, 34996.0, 34999.0,
|
||||
35000.0, 35000.0, 34998.0, 34994.0, 34988.0, 34979.0, 34969.0, 34958.0,
|
||||
34945.0, 34932.0, 34917.0, 34899.0, 34880.0, 34859.0, 34836.0, 34811.0,
|
||||
34785.0, 34758.0, 34729.0, 34698.0, 34666.0, 34633.0, 34597.0, 34561.0,
|
||||
34522.0, 34481.0, 34440.0, 34398.0, 34356.0, 34312.0, 34267.0, 34219.0,
|
||||
34170.0, 34121.0, 34070.0, 34018.0, 33965.0, 33911.0, 33857.0, 33801.0,
|
||||
33744.0, 33687.0, 33628.0, 33568.0, 33507.0, 33446.0, 33385.0, 33324.0,
|
||||
33262.0, 33200.0, 33137.0, 33073.0, 33009.0, 32945.0, 32880.0, 32815.0,
|
||||
32750.0, 32685.0, 32619.0, 32555.0, 32489.0, 32424.0, 32358.0, 32292.0,
|
||||
32226.0, 32162.0, 32098.0, 32035.0, 31972.0, 31909.0, 31846.0, 31784.0,
|
||||
31723.0, 31662.0, 31602.0, 31542.0, 31483.0, 31425.0, 31367.0, 31311.0,
|
||||
31255.0, 31199.0, 31144.0, 31089.0, 31036.0, 30984.0, 30934.0, 30885.0,
|
||||
30837.0, 30789.0, 30742.0, 30695.0, 30650.0, 30606.0, 30563.0, 30520.0,
|
||||
30479.0, 30438.0, 30399.0, 30360.0, 30323.0, 30285.0, 30249.0, 30214.0,
|
||||
30181.0, 30149.0, 30118.0, 30087.0, 30057.0, 30028.0, 29999.0, 29972.0,
|
||||
29945.0, 29919.0, 29893.0, 29869.0, 29845.0, 29822.0, 29800.0, 29778.0,
|
||||
29756.0, 29735.0, 29714.0, 29696.0, 29678.0, 29661.0, 29644.0, 29628.0,
|
||||
29612.0, 29596.0, 29581.0, 29566.0, 29552.0, 29538.0, 29524.0, 29512.0,
|
||||
29499.0, 29487.0, 29475.0, 29463.0, 29451.0, 29439.0, 29429.0, 29419.0,
|
||||
29410.0, 29401.0, 29393.0, 29384.0, 29375.0, 29367.0, 29358.0, 29351.0,
|
||||
29343.0, 29335.0, 29328.0, 29321.0, 29314.0, 29307.0, 29300.0, 29292.0,
|
||||
29285.0, 29279.0, 29274.0, 29269.0, 29264.0, 29259.0, 29254.0, 29248.0,
|
||||
29243.0, 29238.0, 29233.0, 29228.0, 29223.0, 29219.0, 29214.0, 29210.0,
|
||||
29205.0, 29200.0, 29195.0, 29191.0, 29186.0, 29183.0, 29181.0, 29178.0,
|
||||
29175.0, 29171.0, 29167.0, 29164.0, 29160.0, 29157.0, 29153.0, 29150.0,
|
||||
29147.0, 29143.0, 29141.0, 29138.0, 29134.0, 29131.0, 29127.0, 29124.0,
|
||||
29122.0, 29122.0, 29122.0, 29122.0, 29122.0, 29122.0, 29122.0, 29122.0,
|
||||
29122.0, 29122.0, 29122.0, 29122.0, 29122.0, 29122.0, 29122.0, 29122.0,
|
||||
29122.0, 29122.0, 29122.0, 29122.0, 29122.0, 29122.0, 29122.0, 29122.0,
|
||||
29122.0, 29122.0, 29122.0, 29122.0, 29122.0, 29122.0, 29122.0, 29122.0,
|
||||
29122.0, 29122.0, 29122.0, 29122.0, 29122.0, 29122.0, 29122.0, 29122.0,
|
||||
29122.0, 29122.0, 29121.0, 29120.0, 29119.0, 29118.0, 29117.0, 29116.0,
|
||||
29115.0, 29114.0, 29113.0, 29112.0, 29112.0, 29111.0, 29109.0, 29108.0,
|
||||
29107.0, 29106.0, 29106.0, 29106.0, 29106.0, 29106.0, 29106.0, 29105.0,
|
||||
29105.0, 29104.0, 29104.0, 29104.0, 29104.0, 29103.0, 29103.0, 29103.0,
|
||||
29103.0, 29102.0, 29102.0, 29101.0, 29101.0, 29102.0, 29103.0, 29104.0,
|
||||
29105.0, 29105.0, 29106.0, 29107.0, 29107.0, 29108.0, 29110.0, 29111.0,
|
||||
29112.0, 29113.0, 29114.0, 29116.0, 29117.0, 29118.0, 29119.0, 29121.0,
|
||||
29124.0, 29127.0, 29130.0, 29134.0, 29137.0, 29140.0, 29143.0, 29147.0,
|
||||
29151.0, 29155.0, 29159.0, 29164.0, 29169.0, 29174.0, 29179.0, 29185.0,
|
||||
29191.0, 29196.0, 29203.0, 29210.0, 29218.0, 29227.0, 29235.0, 29244.0,
|
||||
29253.0, 29262.0, 29271.0, 29281.0, 29291.0, 29302.0, 29313.0, 29324.0,
|
||||
29336.0, 29349.0, 29362.0, 29374.0, 29387.0, 29401.0, 29415.0, 29431.0,
|
||||
29448.0, 29464.0, 29481.0, 29498.0, 29515.0, 29532.0, 29550.0, 29568.0,
|
||||
29587.0, 29606.0, 29626.0, 29645.0, 29666.0, 29687.0, 29707.0, 29728.0,
|
||||
29749.0, 29771.0, 29794.0, 29817.0, 29841.0, 29864.0, 29888.0, 29911.0,
|
||||
29935.0, 29960.0, 29984.0, 30008.0, 30033.0, 30057.0, 30081.0, 30106.0,
|
||||
30131.0, 30155.0, 30179.0, 30202.0, 30227.0, 30252.0, 30277.0, 30302.0,
|
||||
30326.0, 30350.0, 30373.0, 30397.0, 30421.0, 30444.0, 30466.0, 30489.0,
|
||||
30510.0, 30532.0, 30553.0, 30574.0, 30594.0, 30613.0, 30632.0, 30651.0,
|
||||
30670.0, 30689.0, 30708.0, 30726.0, 30743.0, 30759.0, 30774.0, 30789.0,
|
||||
30803.0, 30816.0, 30830.0, 30842.0, 30854.0, 30865.0, 30876.0, 30885.0,
|
||||
30894.0, 30902.0, 30910.0, 30918.0, 30925.0, 30932.0, 30938.0, 30943.0,
|
||||
30947.0, 30950.0, 30953.0, 30955.0, 30956.0, 30956.0, 30956.0, 30955.0,
|
||||
30953.0, 30951.0, 30948.0, 30943.0, 30938.0, 30932.0, 30926.0, 30922.0,
|
||||
30916.0, 30909.0, 30901.0, 30892.0, 30883.0, 30873.0, 30863.0, 30852.0,
|
||||
30840.0, 30828.0, 30816.0, 30803.0, 30789.0, 30775.0, 30759.0, 30743.0,
|
||||
30727.0, 30711.0, 30695.0, 30680.0, 30663.0, 30646.0, 30628.0, 30610.0,
|
||||
30591.0, 30572.0, 30553.0, 30534.0, 30514.0, 30494.0, 30474.0, 30454.0,
|
||||
30434.0, 30413.0, 30391.0, 30370.0, 30349.0, 30328.0, 30308.0, 30288.0,
|
||||
30268.0, 30247.0, 30226.0, 30205.0, 30183.0, 30162.0, 30141.0, 30120.0,
|
||||
30099.0, 30079.0, 30058.0, 30038.0, 30017.0, 29996.0, 29975.0, 29955.0,
|
||||
29935.0, 29917.0, 29898.0, 29880.0, 29861.0, 29843.0, 29824.0, 29806.0,
|
||||
29789.0, 29772.0, 29755.0, 29738.0, 29721.0, 29705.0, 29689.0, 29672.0,
|
||||
29656.0, 29640.0, 29624.0, 29610.0, 29597.0, 29583.0, 29570.0, 29557.0,
|
||||
29544.0, 29531.0, 29519.0, 29507.0, 29495.0, 29483.0, 29472.0, 29461.0,
|
||||
29451.0, 29440.0, 29430.0, 29419.0, 29409.0, 29399.0, 29390.0, 29382.0,
|
||||
29375.0, 29367.0, 29359.0, 29352.0, 29344.0, 29337.0, 29329.0, 29322.0,
|
||||
29316.0, 29309.0, 29302.0, 29297.0, 29291.0, 29285.0, 29280.0, 29273.0,
|
||||
29267.0, 29262.0, 29258.0, 29255.0, 29251.0, 29247.0, 29243.0, 29239.0,
|
||||
29235.0, 29231.0, 29228.0, 29224.0, 29221.0, 29218.0, 29214.0, 29211.0,
|
||||
29208.0, 29204.0, 29200.0, 29196.0, 29193.0, 29192.0, 29191.0, 29190.0,
|
||||
29188.0, 29185.0, 29183.0, 29181.0, 29179.0, 29178.0, 29176.0, 29174.0,
|
||||
29173.0, 29171.0, 29169.0, 29168.0, 29166.0, 29163.0, 29161.0, 29160.0,
|
||||
29159.0, 29159.0, 29158.0, 29157.0, 29156.0, 29155.0, 29154.0, 29153.0,
|
||||
29152.0, 29151.0, 29150.0, 29149.0, 29148.0, 29147.0, 29146.0, 29145.0,
|
||||
29143.0, 29142.0, 29141.0, 29140.0, 29141.0, 29141.0, 29140.0, 29140.0,
|
||||
29139.0, 29139.0, 29138.0, 29137.0, 29137.0, 29136.0, 29136.0, 29136.0,
|
||||
29135.0, 29135.0, 29134.0, 29133.0, 29132.0, 29130.0, 29130.0, 29130.0,
|
||||
29130.0, 29130.0, 29131.0, 29130.0, 29130.0, 29129.0, 29129.0, 29128.0,
|
||||
29128.0, 29127.0, 29127.0, 29127.0, 29127.0, 29126.0, 29125.0, 29124.0,
|
||||
29123.0, 29123.0, 29123.0, 29124.0, 29124.0, 29124.0, 29124.0, 29124.0,
|
||||
29124.0, 29124.0, 29123.0, 29123.0, 29123.0, 29123.0, 29123.0, 29123.0,
|
||||
29122.0, 29121.0, 29120.0, 29119.0, 29119.0, 29120.0, 29120.0, 29121.0,
|
||||
29121.0, 29121.0, 29121.0, 29121.0, 29121.0, 29121.0, 29121.0, 29121.0,
|
||||
29121.0, 29120.0, 29120.0, 29119.0, 29119.0, 29118.0, 29118.0, 29118.0,
|
||||
29118.0, 29118.0, 29119.0, 29119.0, 29119.0, 29120.0, 29120.0, 29120.0,
|
||||
29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0,
|
||||
29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0,
|
||||
29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0,
|
||||
29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0,
|
||||
29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0,
|
||||
29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0,
|
||||
29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0,
|
||||
29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0,
|
||||
29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0,
|
||||
29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0,
|
||||
29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0,
|
||||
29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0,
|
||||
29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0,
|
||||
29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0,
|
||||
29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0,
|
||||
29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0,
|
||||
29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0,
|
||||
29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0,
|
||||
29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0,
|
||||
29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0,
|
||||
29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0,
|
||||
29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0,
|
||||
29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0,
|
||||
29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0,
|
||||
29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0,
|
||||
29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0,
|
||||
29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0,
|
||||
29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0,
|
||||
29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0,
|
||||
29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0,
|
||||
29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0,
|
||||
29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0,
|
||||
29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0,
|
||||
29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0,
|
||||
29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0,
|
||||
29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0,
|
||||
29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0,
|
||||
29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0,
|
||||
29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0,
|
||||
29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0,
|
||||
29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0,
|
||||
29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0,
|
||||
29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0,
|
||||
29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0,
|
||||
29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0,
|
||||
29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0,
|
||||
29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0,
|
||||
29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0,
|
||||
29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0,
|
||||
29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0,
|
||||
29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0,
|
||||
29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0,
|
||||
29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0,
|
||||
29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0,
|
||||
29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0,
|
||||
29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0,
|
||||
29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0,
|
||||
29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0,
|
||||
29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0,
|
||||
29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0,
|
||||
29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0,
|
||||
29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0,
|
||||
29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0,
|
||||
29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0,
|
||||
29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0,
|
||||
29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0,
|
||||
29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0,
|
||||
29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0,
|
||||
29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0,
|
||||
29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0,
|
||||
29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0,
|
||||
29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0,
|
||||
29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0,
|
||||
29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0,
|
||||
29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0,
|
||||
29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0,
|
||||
29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0,
|
||||
29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0,
|
||||
29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0,
|
||||
29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0,
|
||||
29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0,
|
||||
29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0,
|
||||
29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0,
|
||||
29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0,
|
||||
29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0,
|
||||
29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0,
|
||||
29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0,
|
||||
29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0,
|
||||
29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0,
|
||||
29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0,
|
||||
29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0,
|
||||
29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0,
|
||||
29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0,
|
||||
29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0,
|
||||
29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0,
|
||||
29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0,
|
||||
29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0,
|
||||
29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0,
|
||||
29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0,
|
||||
29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0,
|
||||
29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0,
|
||||
29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0,
|
||||
29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0,
|
||||
29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0, 29120.0
|
||||
]
|
||||
}
|
||||
],
|
||||
"yunit": 48,
|
||||
"xinterval": 1.0,
|
||||
"xunit": 49,
|
||||
"ymax": 35000.0
|
||||
}
|
Binary file not shown.
Before Width: | Height: | Size: 4.2 KiB After Width: | Height: | Size: 7.9 KiB |
@ -0,0 +1,60 @@
|
||||
<template>
|
||||
<div class="error-page">
|
||||
<div class="error-code">4<span>0</span>3</div>
|
||||
<div class="error-desc">啊哦~ 你没有权限访问该页面哦</div>
|
||||
<div class="error-handle">
|
||||
<router-link to="/stritl">
|
||||
<el-button type="primary" size="large">返回首页</el-button>
|
||||
</router-link>
|
||||
<el-button class="error-btn" type="primary" size="large" @click="goBack"
|
||||
>返回上一页</el-button
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
methods: {
|
||||
goBack() {
|
||||
this.$router.go(-1);
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
||||
<style lang="less">
|
||||
.error-page {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
flex-direction: column;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background: #f3f3f3;
|
||||
box-sizing: border-box;
|
||||
.error-code {
|
||||
line-height: 1;
|
||||
font-size: 250px;
|
||||
font-weight: bolder;
|
||||
color: #f02d2d;
|
||||
}
|
||||
.error-code span {
|
||||
color: #00a854;
|
||||
}
|
||||
.error-desc {
|
||||
font-size: 30px;
|
||||
color: #777;
|
||||
}
|
||||
.error-handle {
|
||||
margin-top: 30px;
|
||||
padding-bottom: 200px;
|
||||
}
|
||||
.el-button--primary {
|
||||
width: auto !important;
|
||||
}
|
||||
.error-btn {
|
||||
margin-left: 100px;
|
||||
}
|
||||
}
|
||||
</style>
|
@ -0,0 +1,61 @@
|
||||
@font-face {
|
||||
font-family: "iconfont"; /* Project id */
|
||||
src: url('iconfont.ttf?t=1690188947515') format('truetype');
|
||||
}
|
||||
|
||||
.iconfont {
|
||||
font-family: "iconfont" !important;
|
||||
font-size: 16px;
|
||||
font-style: normal;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
}
|
||||
|
||||
.icon-paizhao:before {
|
||||
content: "\e6ba";
|
||||
}
|
||||
|
||||
.icon-paizhao-xianxing:before {
|
||||
content: "\e8d1";
|
||||
}
|
||||
|
||||
.icon-tuiguanglishitupianjinqun:before {
|
||||
content: "\e613";
|
||||
}
|
||||
|
||||
.icon-gongsi:before {
|
||||
content: "\e62e";
|
||||
}
|
||||
|
||||
.icon-dianli:before {
|
||||
content: "\e649";
|
||||
}
|
||||
|
||||
.icon-dianlihangye:before {
|
||||
content: "\e791";
|
||||
}
|
||||
|
||||
.icon-shexiangtoulixian:before {
|
||||
content: "\e7b2";
|
||||
}
|
||||
|
||||
.icon-video-camera:before {
|
||||
content: "\e962";
|
||||
}
|
||||
|
||||
.icon-shexiangtou-lixian:before {
|
||||
content: "\ef1c";
|
||||
}
|
||||
|
||||
.icon-shexiangtou-zaixian:before {
|
||||
content: "\ef1d";
|
||||
}
|
||||
|
||||
.icon-shudianxianlu_2722010801:before {
|
||||
content: "\efed";
|
||||
}
|
||||
|
||||
.icon-tupian_normal:before {
|
||||
content: "\e681";
|
||||
}
|
||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
After Width: | Height: | Size: 18 KiB |
@ -0,0 +1,57 @@
|
||||
import Vue from "vue";
|
||||
|
||||
export default {
|
||||
namespaced: true,
|
||||
state: {
|
||||
caches: [],
|
||||
},
|
||||
actions: {
|
||||
// 添加缓存的路由组件
|
||||
addCache({ state, dispatch }, componentName) {
|
||||
if (Array.isArray(componentName)) {
|
||||
componentName.forEach((item) => {
|
||||
dispatch("addCache", item);
|
||||
});
|
||||
return;
|
||||
}
|
||||
|
||||
const { caches } = state;
|
||||
if (!componentName || caches.includes(componentName)) return;
|
||||
|
||||
caches.push(componentName);
|
||||
console.log("缓存路由组件:", componentName);
|
||||
},
|
||||
|
||||
// 移除缓存的路由组件
|
||||
removeCache({ state, dispatch }, componentName) {
|
||||
if (Array.isArray(componentName)) {
|
||||
componentName.forEach((item) => {
|
||||
dispatch("removeCache", item);
|
||||
});
|
||||
return;
|
||||
}
|
||||
|
||||
const { caches } = state;
|
||||
const index = caches.indexOf(componentName);
|
||||
if (index > -1) {
|
||||
console.log("清除缓存的路由组件:", componentName);
|
||||
return caches.splice(index, 1)[0];
|
||||
}
|
||||
},
|
||||
// 移除缓存的路由组件的实例
|
||||
async removeCacheEntry({ dispatch }, componentName) {
|
||||
const cacheRemoved = await dispatch("removeCache", componentName);
|
||||
if (cacheRemoved) {
|
||||
await Vue.nextTick();
|
||||
dispatch("addCache", componentName);
|
||||
}
|
||||
},
|
||||
// 清除缓存的路由组件的实例
|
||||
clearEntry({ state, dispatch }) {
|
||||
const { caches } = state;
|
||||
caches.slice().forEach((key) => {
|
||||
dispatch("removeCacheEntry", key);
|
||||
});
|
||||
},
|
||||
},
|
||||
};
|
@ -0,0 +1,17 @@
|
||||
import request from "../request";
|
||||
//获取图片
|
||||
export function getTestTerminalPhotoListApi(data) {
|
||||
return request({
|
||||
url: "/xymanager/getTestTerminalPhotoList",
|
||||
method: "post",
|
||||
data,
|
||||
});
|
||||
}
|
||||
//上传坐标
|
||||
export function takeAlarmApi(data) {
|
||||
return request({
|
||||
url: "/xymanager/takeAlarm",
|
||||
method: "post",
|
||||
data,
|
||||
});
|
||||
}
|
@ -0,0 +1,142 @@
|
||||
import request from "../request";
|
||||
//获取装置总数图表
|
||||
//郑州左侧树状结构接口
|
||||
export function getICEdyTreeList(data) {
|
||||
return request({
|
||||
url: "/xymanager/getdyTreeList",
|
||||
method: "post",
|
||||
data,
|
||||
});
|
||||
}
|
||||
//查询附带天气
|
||||
|
||||
export function weatherJoggle(data) {
|
||||
return request({
|
||||
url: "/xymanager/terminal/listWithWeather",
|
||||
method: "get",
|
||||
params: data,
|
||||
headers: {
|
||||
"Content-Type": "application/x-www-form-urlencoded;charset=UTF-8",
|
||||
},
|
||||
});
|
||||
}
|
||||
//查询天气列表
|
||||
export function weatherListJoggle(data) {
|
||||
return request({
|
||||
url: "/xymanager/weather/list",
|
||||
method: "get",
|
||||
params: data,
|
||||
headers: {
|
||||
"Content-Type": "application/x-www-form-urlencoded;charset=UTF-8",
|
||||
},
|
||||
});
|
||||
}
|
||||
//查询附带覆冰拉力
|
||||
|
||||
export function LeadPullJoggle(data) {
|
||||
return request({
|
||||
url: "/xymanager/terminal/listWithLeadPull",
|
||||
method: "get",
|
||||
params: data,
|
||||
headers: {
|
||||
"Content-Type": "application/x-www-form-urlencoded;charset=UTF-8",
|
||||
},
|
||||
});
|
||||
}
|
||||
//查询覆冰拉力列表
|
||||
export function leadpullsListJoggle(data) {
|
||||
return request({
|
||||
url: "/xymanager/leadpulls/list",
|
||||
method: "get",
|
||||
params: data,
|
||||
headers: {
|
||||
"Content-Type": "application/x-www-form-urlencoded;charset=UTF-8",
|
||||
},
|
||||
});
|
||||
}
|
||||
//获取相位码
|
||||
export function funccodeJoggle(data) {
|
||||
return request({
|
||||
url: "/xapi/funccode.php",
|
||||
method: "get",
|
||||
params: data,
|
||||
|
||||
headers: {
|
||||
"Content-Type": "application/x-www-form-urlencoded;charset=UTF-8",
|
||||
},
|
||||
});
|
||||
}
|
||||
|
||||
//导出覆冰数据
|
||||
export function exportJoggle(data) {
|
||||
return request({
|
||||
url: "/xymanager/leadpulls/export",
|
||||
method: "get",
|
||||
params: data,
|
||||
responseType: "blob",
|
||||
});
|
||||
}
|
||||
|
||||
//查询天气装置列表
|
||||
export function getWeatherListApi(data) {
|
||||
return request({
|
||||
url: "/xymanager/henan/getWeatherList",
|
||||
method: "get",
|
||||
params: data,
|
||||
headers: {
|
||||
"Content-Type": "application/x-www-form-urlencoded;charset=UTF-8",
|
||||
},
|
||||
});
|
||||
}
|
||||
//查询拉力装置点表
|
||||
export function getPointListApi(data) {
|
||||
return request({
|
||||
url: "/xymanager/henan/getPointList",
|
||||
method: "get",
|
||||
params: data,
|
||||
headers: {
|
||||
"Content-Type": "application/x-www-form-urlencoded;charset=UTF-8",
|
||||
},
|
||||
});
|
||||
}
|
||||
|
||||
//新增微气象转发
|
||||
export function addWeatherApi(data) {
|
||||
return request({
|
||||
url: "/xymanager/henan/addWeather",
|
||||
method: "post",
|
||||
data,
|
||||
});
|
||||
}
|
||||
//新增覆冰转发
|
||||
export function addIcePointApi(data) {
|
||||
return request({
|
||||
url: "/xymanager/henan/addPoint",
|
||||
method: "post",
|
||||
data,
|
||||
});
|
||||
}
|
||||
|
||||
//删除微气象转发
|
||||
export function delWeatherApi(data) {
|
||||
return request({
|
||||
url: "/xymanager/henan/delWeather",
|
||||
method: "post",
|
||||
params: data,
|
||||
headers: {
|
||||
"Content-Type": "application/x-www-form-urlencoded;charset=UTF-8",
|
||||
},
|
||||
});
|
||||
}
|
||||
|
||||
//删除覆冰转发
|
||||
export function delPointApi(data) {
|
||||
return request({
|
||||
url: "/xymanager/henan/delPoint",
|
||||
method: "post",
|
||||
params: data,
|
||||
headers: {
|
||||
"Content-Type": "application/x-www-form-urlencoded;charset=UTF-8",
|
||||
},
|
||||
});
|
||||
}
|
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,61 @@
|
||||
import request from "../request";
|
||||
|
||||
//照片统计
|
||||
// export function getphotoList(data) {
|
||||
// return request({
|
||||
// url: "/xymanager/terminal/listWithPhoto",
|
||||
// method: "get",
|
||||
// params: data,
|
||||
// });
|
||||
// }
|
||||
//获取电压-线路-杆塔等信息
|
||||
|
||||
export function getSearchInfo(data) {
|
||||
return request({
|
||||
url: "/xymanager/getLineAndGt",
|
||||
method: "post",
|
||||
data,
|
||||
});
|
||||
}
|
||||
//获取实时图片数据
|
||||
export function getphotoApi(data) {
|
||||
return request({
|
||||
url: "/xymanager/getPhotoList",
|
||||
method: "post",
|
||||
data,
|
||||
});
|
||||
}
|
||||
//获取心跳历史
|
||||
export function getIpList(data) {
|
||||
return request({
|
||||
url: "/xymanager/terminal/heartbeat",
|
||||
method: "get",
|
||||
params: data,
|
||||
});
|
||||
}
|
||||
|
||||
//获取装置状态统表
|
||||
export function gettermAllList(data) {
|
||||
return request({
|
||||
url: "/xymanager/terminal/listWithAll",
|
||||
method: "get",
|
||||
params: data,
|
||||
});
|
||||
}
|
||||
|
||||
//规约版本
|
||||
export function getProtocolList(data) {
|
||||
return request({
|
||||
url: "/xymanager/getProtocolList",
|
||||
method: "get",
|
||||
params: data,
|
||||
});
|
||||
}
|
||||
//获取活动列表
|
||||
export function getActivityApi(data) {
|
||||
return request({
|
||||
url: "/xymanager/activity/listAll",
|
||||
method: "get",
|
||||
params: data,
|
||||
});
|
||||
}
|
@ -0,0 +1,4 @@
|
||||
import Vue from 'vue'
|
||||
|
||||
const EventBus = new Vue()
|
||||
export default EventBus
|
@ -0,0 +1,129 @@
|
||||
<template>
|
||||
<el-dialog
|
||||
class="addDyDialog"
|
||||
:title="title"
|
||||
:visible.sync="isShow"
|
||||
:close-on-click-modal="false"
|
||||
width="470px"
|
||||
>
|
||||
<el-form
|
||||
label-position="left"
|
||||
ref="formInfo"
|
||||
label-width="100px"
|
||||
:rules="rules"
|
||||
:model="formdata"
|
||||
>
|
||||
<el-form-item label="电压名称:" prop="name">
|
||||
<el-input v-model="formdata.name" autocomplete="off"></el-input>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button @click="isShow = false">取 消</el-button>
|
||||
<el-button type="primary" @click="submitForm()">确 定</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
</template>
|
||||
<script>
|
||||
import { addDyJoggle, updateDyJoggle } from "@/utils/api/index";
|
||||
|
||||
export default {
|
||||
props: {
|
||||
title: String,
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
isShow: false,
|
||||
|
||||
formdata: {},
|
||||
rules: {
|
||||
name: [{ required: true, message: "请输入电压名称", trigger: "blur" }],
|
||||
},
|
||||
};
|
||||
},
|
||||
mounted() {},
|
||||
methods: {
|
||||
//判断
|
||||
getdataform(val) {
|
||||
if (val == null) {
|
||||
return (this.formdata = {});
|
||||
}
|
||||
//this.formdata = val;
|
||||
this.formdata = JSON.parse(JSON.stringify(val));
|
||||
},
|
||||
// 保存确定操作
|
||||
submitForm() {
|
||||
this.$refs.formInfo.validate((valid) => {
|
||||
if (valid) {
|
||||
if (this.title == "新增") {
|
||||
this.$set(this.formdata, "dyValue", "220");
|
||||
addDyJoggle(this.formdata)
|
||||
.then((res) => {
|
||||
this.isShow = false;
|
||||
this.$message({
|
||||
duration: 1500,
|
||||
showClose: true,
|
||||
message: "添加成功",
|
||||
type: "success",
|
||||
});
|
||||
this.$parent.deviceList();
|
||||
})
|
||||
.catch((err) => {
|
||||
this.$message({
|
||||
duration: 1500,
|
||||
showClose: true,
|
||||
message: "添加失败",
|
||||
type: "error",
|
||||
});
|
||||
});
|
||||
} else {
|
||||
console.log(this.formdata);
|
||||
updateDyJoggle(this.formdata)
|
||||
.then((res) => {
|
||||
this.isShow = false;
|
||||
//this.$message.success("修改成功");
|
||||
this.$message({
|
||||
duration: 1500,
|
||||
showClose: true,
|
||||
message: "修改成功",
|
||||
type: "success",
|
||||
});
|
||||
this.$parent.deviceList();
|
||||
})
|
||||
.catch((err) => {
|
||||
//this.$message.error("修改失败");
|
||||
this.$message({
|
||||
duration: 1500,
|
||||
showClose: true,
|
||||
message: "修改失败",
|
||||
type: "error",
|
||||
});
|
||||
});
|
||||
}
|
||||
} else {
|
||||
console.log("error submit!!");
|
||||
return false;
|
||||
}
|
||||
});
|
||||
},
|
||||
display() {
|
||||
this.isShow = true;
|
||||
},
|
||||
hide() {
|
||||
this.isShow = false;
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
||||
<style lang="less">
|
||||
.addDyDialog {
|
||||
.el-select {
|
||||
width: 100%;
|
||||
}
|
||||
.el-input-number {
|
||||
width: 100%;
|
||||
}
|
||||
.el-input-number .el-input__inner {
|
||||
text-align: left;
|
||||
}
|
||||
}
|
||||
</style>
|
@ -0,0 +1,271 @@
|
||||
<template>
|
||||
<div class="dyInfoBox">
|
||||
<div class="deviceBox">
|
||||
<div class="deviceBtnGroup">
|
||||
<h4>电压信息管理</h4>
|
||||
<el-button
|
||||
type="primary"
|
||||
icon="el-icon-plus"
|
||||
@click.native.stop="handleAdddevice()"
|
||||
>新增</el-button
|
||||
>
|
||||
</div>
|
||||
<div class="searchBox">
|
||||
<el-form :inline="true" :model="formdata" class="demo-form-inline">
|
||||
<el-form-item>
|
||||
<el-input
|
||||
v-model="formdata.search"
|
||||
placeholder="请输入电压"
|
||||
clearable
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" @click="onSubmit">查询</el-button>
|
||||
<el-button type="primary" @click="onReset">重置</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</div>
|
||||
<div class="deviceTable">
|
||||
<el-table
|
||||
ref="multipleTable"
|
||||
:data="tableDate"
|
||||
tooltip-effect="dark"
|
||||
stripe
|
||||
style="width: 100%"
|
||||
height="calc(100% - 40px)"
|
||||
@selection-change="handleSelectionChange"
|
||||
@row-click="handleRowClick"
|
||||
v-loading="loading"
|
||||
highlight-current-row
|
||||
:row-key="getRowKeys"
|
||||
>
|
||||
<template slot="empty">
|
||||
<el-empty :image-size="160" description="暂无数据"></el-empty>
|
||||
</template>
|
||||
<el-table-column prop="name" label="电压等级" show-overflow-tooltip>
|
||||
<template slot-scope="scope">
|
||||
{{ scope.row.name }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="createTime"
|
||||
label="创建时间"
|
||||
show-overflow-tooltip
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
{{ scope.row.createTime }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
||||
<el-table-column fixed="right" label="操作" width="200">
|
||||
<template slot-scope="scope">
|
||||
<el-button
|
||||
@click.native.stop="handleResive(scope.row)"
|
||||
type="text"
|
||||
>修改</el-button
|
||||
>
|
||||
<el-button
|
||||
type="text"
|
||||
class="deleteText"
|
||||
@click.native.stop="handleDelete(scope.row)"
|
||||
>删除</el-button
|
||||
>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<div class="pageNation">
|
||||
<el-pagination
|
||||
@current-change="handleCurrentChange"
|
||||
@size-change="handleSizeChange"
|
||||
:current-page="page"
|
||||
:page-size="pageSize"
|
||||
layout="sizes, prev, pager, next, jumper,total"
|
||||
:total="total"
|
||||
background
|
||||
>
|
||||
</el-pagination>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- 新增电压 -->
|
||||
<addDyDialog :title="title" ref="addDialogref"></addDyDialog>
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import { getDyListJoggle, deleteDyJoggle } from "@/utils/api/index";
|
||||
import addDyDialog from "./components/addDyDialog.vue";
|
||||
|
||||
export default {
|
||||
name: "dyInformation",
|
||||
components: {
|
||||
addDyDialog,
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
title: "", //弹窗标题
|
||||
tableDate: [],
|
||||
//multipleSelection: [], //获取当前选中
|
||||
page: 1, // 当前页数
|
||||
pageSize: 20, // 每页数量
|
||||
total: 0, //总条数
|
||||
loading: true,
|
||||
|
||||
formdata: {
|
||||
search: "",
|
||||
},
|
||||
};
|
||||
},
|
||||
created() {},
|
||||
mounted() {
|
||||
this.deviceList();
|
||||
},
|
||||
|
||||
methods: {
|
||||
getRowKeys(row) {
|
||||
return row.id;
|
||||
},
|
||||
|
||||
//查询
|
||||
onSubmit() {
|
||||
this.page = 1;
|
||||
this.deviceList();
|
||||
},
|
||||
//重置
|
||||
onReset() {
|
||||
this.formdata = {
|
||||
search: "",
|
||||
};
|
||||
this.page = 1;
|
||||
this.pageSize = 20;
|
||||
this.deviceList();
|
||||
},
|
||||
//获取数据列表
|
||||
deviceList() {
|
||||
this.loading = true;
|
||||
this.$set(this.formdata, "pageindex", this.page);
|
||||
this.$set(this.formdata, "pagesize", this.pageSize);
|
||||
getDyListJoggle(this.formdata)
|
||||
.then((res) => {
|
||||
this.tableDate = res.data.list;
|
||||
this.total = res.data.total;
|
||||
this.loading = false;
|
||||
})
|
||||
.catch((err) => {});
|
||||
},
|
||||
//点击行选中
|
||||
handleRowClick(row, column, event) {
|
||||
this.$refs.multipleTable.toggleRowSelection(row);
|
||||
},
|
||||
//获取选中的行
|
||||
handleSelectionChange(val) {
|
||||
this.multipleSelection = val;
|
||||
},
|
||||
|
||||
// 新建
|
||||
handleAdddevice() {
|
||||
this.title = "新增";
|
||||
this.$refs.addDialogref.display();
|
||||
this.$refs.addDialogref.getdataform(null);
|
||||
},
|
||||
|
||||
//修改
|
||||
handleResive(data) {
|
||||
this.title = "修改";
|
||||
this.$refs.addDialogref.display();
|
||||
this.$refs.addDialogref.getdataform(data);
|
||||
},
|
||||
|
||||
//删除数据
|
||||
handleDelete(data) {
|
||||
let deleteArr = [];
|
||||
deleteArr.push(data.id);
|
||||
console.log("aaaaaaaaaaaaaaaaaaaaaaaaaaa", deleteArr);
|
||||
this.$confirm("确定要删除记录吗,同时删除关联关系?", "提示", {
|
||||
confirmButtonText: "确定",
|
||||
cancelButtonText: "取消",
|
||||
type: "warning",
|
||||
})
|
||||
.then(() => {
|
||||
deleteDyJoggle({ list: deleteArr }).then((res) => {
|
||||
if (res.code == 200) {
|
||||
this.$message({
|
||||
duration: 1500,
|
||||
showClose: true,
|
||||
type: "success",
|
||||
message: "删除成功!",
|
||||
});
|
||||
this.deviceList(); //刷新
|
||||
} else {
|
||||
this.$message({
|
||||
duration: 1500,
|
||||
showClose: true,
|
||||
type: "error",
|
||||
message: "删除失败!",
|
||||
});
|
||||
}
|
||||
});
|
||||
})
|
||||
.catch(() => {
|
||||
this.$message({
|
||||
duration: 1500,
|
||||
showClose: true,
|
||||
type: "info",
|
||||
message: "已取消删除",
|
||||
});
|
||||
});
|
||||
},
|
||||
//点击分页
|
||||
handleCurrentChange(val) {
|
||||
this.page = val;
|
||||
this.deviceList();
|
||||
},
|
||||
//每页条数
|
||||
handleSizeChange(val) {
|
||||
this.pageSize = val;
|
||||
this.deviceList();
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
||||
<style lang="less">
|
||||
.dyInfoBox {
|
||||
width: calc(100% - 24px);
|
||||
height: calc(100% - 24px);
|
||||
padding: 12px 12px;
|
||||
background: #fff;
|
||||
|
||||
.deviceBox {
|
||||
border: 1px solid #dddddd;
|
||||
height: calc(100% - 24px);
|
||||
padding: 12px;
|
||||
border-radius: 4px;
|
||||
.searchBox {
|
||||
margin-top: 8px;
|
||||
.ml10 {
|
||||
margin-left: 10px;
|
||||
}
|
||||
.el-form {
|
||||
.dybox {
|
||||
.el-form-item__content {
|
||||
width: 120px;
|
||||
}
|
||||
}
|
||||
.xlbox {
|
||||
.el-form-item__content {
|
||||
width: 160px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.deviceBtnGroup {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
}
|
||||
.deviceTable {
|
||||
height: calc(100% - 94px);
|
||||
//background: #fcc;
|
||||
}
|
||||
}
|
||||
</style>
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,914 @@
|
||||
<template>
|
||||
<div class="weatherBox">
|
||||
<div class="weatherContain">
|
||||
<leftTree ref="sideTree"></leftTree>
|
||||
<div class="rightTable">
|
||||
<div class="dataBox">
|
||||
<div class="fatherTableShowBox" v-if="!childFlag">
|
||||
<el-table
|
||||
:data="tableData"
|
||||
style="width: 100%"
|
||||
v-loading="loading"
|
||||
height="calc(100% - 40px)"
|
||||
>
|
||||
<el-table-column prop="lineName" label="线路"> </el-table-column>
|
||||
<el-table-column prop="towerName" label="杆塔"> </el-table-column>
|
||||
<el-table-column prop="cmdid" label="终端"> </el-table-column>
|
||||
|
||||
<el-table-column prop="updateTime" label="时间">
|
||||
<template slot-scope="scope">
|
||||
<span v-if="scope.row.lastWeathers !== null">
|
||||
{{
|
||||
$moment(scope.row.lastWeathers.updateTime * 1000).format(
|
||||
"YYYY-MM-DD HH:mm:ss"
|
||||
)
|
||||
}}</span
|
||||
>
|
||||
<span v-else> - </span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="温度(℃)">
|
||||
<template slot-scope="scope">
|
||||
<span v-if="scope.row.lastWeathers !== null">{{
|
||||
scope.row.lastWeathers.airTemperature.toFixed(1)
|
||||
}}</span>
|
||||
<span v-else> - </span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="humidity" label="湿度(%RH)">
|
||||
<template slot-scope="scope">
|
||||
<span v-if="scope.row.lastWeathers !== null"
|
||||
><span
|
||||
v-if="
|
||||
scope.row.lastWeathers.humidity != 65535 &&
|
||||
scope.row.lastWeathers.humidity != 255
|
||||
"
|
||||
>
|
||||
{{ scope.row.lastWeathers.humidity.toFixed(1) }}</span
|
||||
><span v-else> - </span></span
|
||||
>
|
||||
<span v-else> - </span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="maxWindSpeed" label="最大风速(m/s)">
|
||||
<template slot-scope="scope">
|
||||
<span v-if="scope.row.lastWeathers !== null">{{
|
||||
scope.row.lastWeathers.maxWindSpeed.toFixed(1)
|
||||
}}</span>
|
||||
<span v-else> - </span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="windDirection" label="瞬时风向(°)">
|
||||
<template slot-scope="scope">
|
||||
<span
|
||||
v-if="
|
||||
scope.row.lastWeathers !== null &&
|
||||
scope.row.lastWeathers.windDirection !== null
|
||||
"
|
||||
>{{ scope.row.lastWeathers.windDirection.toFixed(1) }}</span
|
||||
>
|
||||
<span v-else> - </span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="precipitation" label="雨量(mm/hour)">
|
||||
<template slot-scope="scope">
|
||||
<span
|
||||
v-if="
|
||||
scope.row.lastWeathers !== null &&
|
||||
scope.row.lastWeathers.precipitation != 255
|
||||
"
|
||||
>{{ scope.row.lastWeathers.precipitation.toFixed(1) }}</span
|
||||
>
|
||||
<span v-else> - </span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="airPressure" label="气压(hPa(百帕))">
|
||||
<template slot-scope="scope">
|
||||
<span
|
||||
v-if="
|
||||
scope.row.lastWeathers !== null &&
|
||||
scope.row.lastWeathers.airPressure != 255
|
||||
"
|
||||
>{{ scope.row.lastWeathers.airPressure.toFixed(1) }}</span
|
||||
>
|
||||
<span v-else> - </span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="radiationIntensity" label="日照(W/m2)">
|
||||
<template slot-scope="scope">
|
||||
<span v-if="scope.row.lastWeathers !== null"
|
||||
><span
|
||||
v-if="
|
||||
scope.row.lastWeathers.radiationIntensity != 255 &&
|
||||
scope.row.lastWeathers.radiationIntensity != 65535
|
||||
"
|
||||
>
|
||||
{{
|
||||
scope.row.lastWeathers.radiationIntensity.toFixed(0)
|
||||
}}</span
|
||||
><span v-else> - </span></span
|
||||
>
|
||||
<span v-else> - </span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作">
|
||||
<template slot-scope="scope">
|
||||
<el-button
|
||||
type="text"
|
||||
@click="moreDataClick(scope.row)"
|
||||
v-if="scope.row.lastWeathers !== null"
|
||||
>更多历史数据</el-button
|
||||
>
|
||||
<span v-else> 没有数据</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<div class="pageNation">
|
||||
<el-pagination
|
||||
@current-change="handleCurrentChange"
|
||||
@size-change="handleSizeChange"
|
||||
:current-page="page"
|
||||
:page-size="pageSize"
|
||||
layout="sizes, prev, pager, next, jumper,total"
|
||||
:total="total"
|
||||
>
|
||||
</el-pagination>
|
||||
</div>
|
||||
</div>
|
||||
<div class="childBox" v-else>
|
||||
<div class="searchBox" ref="searchref">
|
||||
<el-form
|
||||
:inline="true"
|
||||
:model="formdata"
|
||||
class="demo-form-inline"
|
||||
>
|
||||
<el-form-item label="开始日期">
|
||||
<el-date-picker
|
||||
v-model="formdata.starttime"
|
||||
type="date"
|
||||
placeholder="开始日期"
|
||||
>
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
<el-form-item label="结束日期">
|
||||
<el-date-picker
|
||||
@change="changedate"
|
||||
v-model="formdata.endtime"
|
||||
type="date"
|
||||
placeholder="结束日期"
|
||||
class="ml10"
|
||||
>
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" @click="onSubmit">查询</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</div>
|
||||
<div class="termalBox">
|
||||
<p>
|
||||
<span class="text"
|
||||
>线路:{{ childMsg.lineName || childMsg.lineName }}</span
|
||||
>
|
||||
<span class="text"
|
||||
>杆塔:{{ childMsg.towerName || childMsg.name }}</span
|
||||
>
|
||||
<span class="text">终端:{{ childMsg.cmdid }}</span>
|
||||
</p>
|
||||
<div class="gropBtn">
|
||||
<el-button type="text" @click="onWdLine" icon="el-icon-odometer"
|
||||
>温度趋势</el-button
|
||||
>
|
||||
<el-button
|
||||
type="text"
|
||||
@click="onSdLine"
|
||||
icon="el-icon-heavy-rain"
|
||||
>湿度趋势</el-button
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
<!-- <div class="echartsBox">
|
||||
<div class="btnbox">
|
||||
<el-button type="primary" @click="onWdLine"
|
||||
>温度变化趋势</el-button
|
||||
>
|
||||
<el-button type="primary" @click="onSdLine"
|
||||
>湿度变化趋势</el-button
|
||||
>
|
||||
<el-button type="primary" @click="onHidden">隐藏图表</el-button>
|
||||
</div>
|
||||
<div id="wDechart" class="chartClass" v-show="wdFlag"></div>
|
||||
<div id="sDechart" class="chartClass" v-show="sdFlag"></div>
|
||||
</div> -->
|
||||
|
||||
<div class="childTableShowBox">
|
||||
<el-table
|
||||
:data="childTableDate"
|
||||
style="width: 100%"
|
||||
v-loading="loading"
|
||||
height="calc(100% - 2px)"
|
||||
>
|
||||
<el-table-column prop="updateTime" label="时间" width="138px">
|
||||
<template slot-scope="scope">
|
||||
<span v-if="scope.row.updateTime">
|
||||
{{
|
||||
$moment(scope.row.updateTime * 1000).format(
|
||||
"YYYY-MM-DD HH:mm:ss"
|
||||
)
|
||||
}}</span
|
||||
>
|
||||
<span v-else> - </span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="airTemperature" label="温度(℃)">
|
||||
<template slot-scope="scope">
|
||||
<span
|
||||
v-if="
|
||||
scope.row.airTemperature !== null &&
|
||||
scope.row.airTemperature != 255
|
||||
"
|
||||
>{{ scope.row.airTemperature.toFixed(1) }}</span
|
||||
>
|
||||
<span v-else> - </span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="humidity" label="湿度(%RH)">
|
||||
<template slot-scope="scope">
|
||||
<span
|
||||
v-if="
|
||||
scope.row.humidity !== null && scope.row.humidity != 255
|
||||
"
|
||||
>{{ scope.row.humidity.toFixed(1) }}</span
|
||||
>
|
||||
<span v-else> - </span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="maxWindSpeed" label="瞬时风速(m/s)">
|
||||
<template slot-scope="scope">
|
||||
<span
|
||||
v-if="
|
||||
scope.row.maxWindSpeed !== null &&
|
||||
scope.row.maxWindSpeed != 255
|
||||
"
|
||||
>{{ scope.row.maxWindSpeed.toFixed(1) }}</span
|
||||
>
|
||||
<span v-else> - </span>
|
||||
</template></el-table-column
|
||||
>
|
||||
<el-table-column prop="windDirection" label="瞬时风向(°)">
|
||||
<template slot-scope="scope">
|
||||
<span
|
||||
v-if="
|
||||
scope.row.windDirection !== null &&
|
||||
scope.row.windDirection != 255
|
||||
"
|
||||
>{{ scope.row.windDirection.toFixed(1) }}</span
|
||||
>
|
||||
<span v-else> - </span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="precipitation" label="雨量(mm/hour)">
|
||||
<template slot-scope="scope">
|
||||
<span
|
||||
v-if="
|
||||
scope.row.precipitation !== null &&
|
||||
scope.row.precipitation != 255
|
||||
"
|
||||
>{{ scope.row.precipitation.toFixed(1) }}</span
|
||||
>
|
||||
<span v-else> - </span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="airPressure" label="气压(hPa(百帕))">
|
||||
<template slot-scope="scope">
|
||||
<span
|
||||
v-if="
|
||||
scope.row.airPressure !== null &&
|
||||
scope.row.airPressure != 255
|
||||
"
|
||||
>{{ scope.row.airPressure.toFixed(1) }}</span
|
||||
>
|
||||
<span v-else> - </span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="radiationIntensity" label="日照(W/m2)">
|
||||
<template slot-scope="scope">
|
||||
<span
|
||||
v-if="
|
||||
scope.row.radiationIntensity !== null &&
|
||||
scope.row.radiationIntensity != 255
|
||||
"
|
||||
>{{ scope.row.radiationIntensity.toFixed(1) }}</span
|
||||
>
|
||||
<span v-else> - </span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="avgWindDir1min"
|
||||
label="1分钟平均风速(m/s)"
|
||||
></el-table-column>
|
||||
<el-table-column
|
||||
prop="avgWindSpeed1min"
|
||||
label="1分钟平均风向(°)"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<span
|
||||
v-if="
|
||||
scope.row.avgWindSpeed1min !== null &&
|
||||
scope.row.avgWindSpeed1min != 255
|
||||
"
|
||||
>{{ scope.row.avgWindSpeed1min.toFixed(1) }}</span
|
||||
>
|
||||
<span v-else> - </span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="avgWindSpeed10min"
|
||||
label="10分钟平均风速(m/s)"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<span> {{ scope.row.avgWindSpeed10min.toFixed(1) }} </span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="avgWindDir10min"
|
||||
label="10分钟平均风向(°)"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<span v-if="scope.row.avgWindDir10min !== 65535">
|
||||
{{ scope.row.avgWindDir10min.toFixed(1) }}</span
|
||||
>
|
||||
<span v-else> - </span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="maxWindSpeed" label="10分钟最大风速(m/s)"
|
||||
><template slot-scope="scope">
|
||||
<span> {{ scope.row.maxWindSpeed.toFixed(1) }} </span>
|
||||
</template></el-table-column
|
||||
>
|
||||
</el-table>
|
||||
</div>
|
||||
<div class="pageNation">
|
||||
<el-pagination
|
||||
@current-change="handlechildCurrentChange"
|
||||
@size-change="handlechildSizeChange"
|
||||
:current-page="childpage"
|
||||
:page-size="childpageSize"
|
||||
layout="sizes, prev, pager, next, jumper,total"
|
||||
:total="childtotal"
|
||||
>
|
||||
</el-pagination>
|
||||
</div>
|
||||
<el-dialog title="温度折线图" :visible.sync="wdFlag">
|
||||
<div id="wDechart" class="chartClass"></div>
|
||||
</el-dialog>
|
||||
<el-dialog title="湿度折线图" :visible.sync="sdFlag">
|
||||
<div id="sDechart" class="chartClass"></div>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import leftTree from "../components/leftTree";
|
||||
import { weatherJoggle, weatherListJoggle } from "@/utils/api/iceApi";
|
||||
export default {
|
||||
name: "weather",
|
||||
components: {
|
||||
leftTree,
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
loading: false,
|
||||
childFlag: false,
|
||||
tableData: [],
|
||||
childTableDate: [],
|
||||
formdata: {},
|
||||
page: 1, // 当前页数
|
||||
pageSize: 20, // 每页数量
|
||||
total: 0, //总条数
|
||||
|
||||
paramsData: "",
|
||||
childpage: 1, // 当前页数
|
||||
childpageSize: 20, // 每页数量
|
||||
childtotal: 0, //总条数
|
||||
childParma: "",
|
||||
childMsg: "",
|
||||
echartsData: "", //echarts数据
|
||||
wdFlag: false,
|
||||
sdFlag: false,
|
||||
};
|
||||
},
|
||||
created() {
|
||||
var that = this;
|
||||
document.onkeydown = function (e) {
|
||||
var key = window.event.keyCode;
|
||||
if (key === 13) {
|
||||
that.onSubmit(); // 触发事件
|
||||
}
|
||||
};
|
||||
},
|
||||
watch: {
|
||||
endtime(newVal) {
|
||||
if (newVal) {
|
||||
const date = new Date(newVal);
|
||||
date.setHours(23);
|
||||
date.setMinutes(59);
|
||||
date.setSeconds(59);
|
||||
this.formdata.endtime = date.getTime();
|
||||
}
|
||||
},
|
||||
},
|
||||
mounted() {
|
||||
//this.getWeatherData();
|
||||
},
|
||||
methods: {
|
||||
getCurrentData(data) {
|
||||
console.log("执行父组件", data);
|
||||
this.paramsData = data;
|
||||
let weatherParams;
|
||||
console.log(data);
|
||||
if (data.dyValue) {
|
||||
console.log("电压-公司");
|
||||
weatherParams = {
|
||||
devType: "3",
|
||||
dyId: data.id,
|
||||
pageNum: 1,
|
||||
pageSize: this.pageSize,
|
||||
};
|
||||
this.getWeatherData(weatherParams);
|
||||
} else if (data.bsManufacturer) {
|
||||
console.log("线路-电压");
|
||||
weatherParams = {
|
||||
devType: "3",
|
||||
lineId: data.id,
|
||||
pageNum: 1,
|
||||
pageSize: this.pageSize,
|
||||
};
|
||||
this.getWeatherData(weatherParams);
|
||||
} else {
|
||||
console.log("装置-杆塔");
|
||||
// weatherParams = {
|
||||
// pageNum: 1,
|
||||
// pageSize: this.pageSize,
|
||||
// towerId: data.towerid,
|
||||
// };
|
||||
this.childpage = 1;
|
||||
this.moreDataClick(data);
|
||||
// this.getWeatherData(weatherParams);
|
||||
}
|
||||
//this.getAllData(data);
|
||||
},
|
||||
getWeatherData(data) {
|
||||
console.log(data);
|
||||
this.childFlag = false;
|
||||
this.loading = true;
|
||||
weatherJoggle(data)
|
||||
.then((res) => {
|
||||
console.log(res);
|
||||
this.tableData = res.data.list;
|
||||
this.total = res.data.total;
|
||||
this.loading = false;
|
||||
})
|
||||
.catch((err) => {
|
||||
console.log(err); //代码错误、请求失败捕获
|
||||
});
|
||||
},
|
||||
|
||||
//点击分页
|
||||
handleCurrentChange(val) {
|
||||
this.page = val;
|
||||
let data = this.paramsData;
|
||||
let weatherParams;
|
||||
this.tableData = [];
|
||||
if (data.dyValue) {
|
||||
console.log("电压-公司");
|
||||
weatherParams = {
|
||||
devType: "3",
|
||||
dyId: data.id,
|
||||
pageNum: this.page,
|
||||
pageSize: this.pageSize,
|
||||
};
|
||||
this.getWeatherData(weatherParams);
|
||||
} else if (data.bsManufacturer) {
|
||||
console.log("线路-电压");
|
||||
weatherParams = {
|
||||
devType: "3",
|
||||
lineId: data.id,
|
||||
pageNum: this.page,
|
||||
pageSize: this.pageSize,
|
||||
};
|
||||
this.getWeatherData(weatherParams);
|
||||
} else {
|
||||
console.log("装置-杆塔");
|
||||
weatherParams = {
|
||||
pageNum: this.page,
|
||||
pageSize: this.pageSize,
|
||||
towerId: data.towerid,
|
||||
};
|
||||
this.getWeatherData(weatherParams);
|
||||
}
|
||||
//this.getCurrentData(this.paramsData);
|
||||
},
|
||||
//每页条数
|
||||
handleSizeChange(val) {
|
||||
this.pageSize = val;
|
||||
this.tableData = [];
|
||||
let data = this.paramsData;
|
||||
let weatherParams;
|
||||
this.tableData = [];
|
||||
if (data.dyValue) {
|
||||
console.log("电压-公司");
|
||||
weatherParams = {
|
||||
devType: "3",
|
||||
dyId: data.id,
|
||||
pageNum: this.page,
|
||||
pageSize: this.pageSize,
|
||||
};
|
||||
this.getWeatherData(weatherParams);
|
||||
} else if (data.bsManufacturer) {
|
||||
console.log("线路-电压");
|
||||
weatherParams = {
|
||||
devType: "3",
|
||||
lineId: data.id,
|
||||
pageNum: this.page,
|
||||
pageSize: this.pageSize,
|
||||
};
|
||||
this.getWeatherData(weatherParams);
|
||||
} else {
|
||||
console.log("装置-杆塔");
|
||||
weatherParams = {
|
||||
pageNum: this.page,
|
||||
pageSize: this.pageSize,
|
||||
towerId: data.towerid,
|
||||
};
|
||||
this.getWeatherData(weatherParams);
|
||||
}
|
||||
},
|
||||
//点击查看更多历史数据
|
||||
moreDataClick(row) {
|
||||
this.childFlag = true;
|
||||
console.log(row);
|
||||
this.$set(
|
||||
this.formdata,
|
||||
"starttime",
|
||||
new Date(new Date().toLocaleDateString()).getTime()
|
||||
);
|
||||
const currentDate = new Date(); // 获取当前时间
|
||||
currentDate.setHours(23); // 设置小时为23
|
||||
currentDate.setMinutes(59); // 设置分钟为59
|
||||
currentDate.setSeconds(59); // 设置秒数为59
|
||||
this.$set(this.formdata, "endtime", currentDate.getTime());
|
||||
|
||||
this.childParma = row;
|
||||
this.getchildWeatherData(row);
|
||||
},
|
||||
|
||||
//查询时间
|
||||
onSubmit() {
|
||||
this.getchildWeatherData(this.childParma);
|
||||
},
|
||||
getchildWeatherData(row) {
|
||||
this.loading = true;
|
||||
this.childMsg = row;
|
||||
console.log("我是子数据", row);
|
||||
const sTime = Math.floor(this.formdata.starttime / 1000);
|
||||
const eTime = Math.floor(this.formdata.endtime / 1000);
|
||||
weatherListJoggle({
|
||||
// lineId: row.lineId,
|
||||
termId: row.id,
|
||||
towerId: row.towerId,
|
||||
start: sTime,
|
||||
end: eTime,
|
||||
pageNum: this.childpage,
|
||||
pageSize: this.childpageSize,
|
||||
})
|
||||
.then((res) => {
|
||||
console.log(res);
|
||||
this.childTableDate = res.data.list;
|
||||
this.childtotal = res.data.total;
|
||||
this.loading = false;
|
||||
//获取温度折线图
|
||||
this.getAllData(row);
|
||||
})
|
||||
.catch((err) => {
|
||||
console.log(err); //代码错误、请求失败捕获
|
||||
});
|
||||
},
|
||||
getAllData(row) {
|
||||
const sTime = Math.floor(this.formdata.starttime / 1000);
|
||||
const eTime = Math.floor(this.formdata.endtime / 1000);
|
||||
weatherListJoggle({
|
||||
// lineId: row.lineId,
|
||||
termId: row.id,
|
||||
towerId: row.towerId,
|
||||
start: sTime,
|
||||
end: eTime,
|
||||
pageNum: 1,
|
||||
pageSize: 1000,
|
||||
})
|
||||
.then((res) => {
|
||||
console.log(res);
|
||||
this.echartsData = res.data.list;
|
||||
})
|
||||
.catch((err) => {
|
||||
console.log(err); //代码错误、请求失败捕获
|
||||
});
|
||||
},
|
||||
onWdLine() {
|
||||
this.wdFlag = true;
|
||||
this.sdFlag = false;
|
||||
//获取温度折线图
|
||||
this.getEchart4(this.echartsData);
|
||||
},
|
||||
onSdLine() {
|
||||
this.wdFlag = false;
|
||||
this.sdFlag = true;
|
||||
this.getEchart5(this.echartsData);
|
||||
},
|
||||
onHidden() {
|
||||
this.wdFlag = false;
|
||||
this.sdFlag = false;
|
||||
},
|
||||
//获取当天告警分类统计
|
||||
getEchart4(wd) {
|
||||
this.$nextTick(() => {
|
||||
this.$echarts.init(document.getElementById("wDechart"));
|
||||
this.mywDechart = this.$echarts.init(
|
||||
document.getElementById("wDechart")
|
||||
);
|
||||
console.log(wd);
|
||||
var xData = [];
|
||||
var yData = [];
|
||||
xData = wd.map((item) =>
|
||||
this.$moment(item.updateTime * 1000).format("YYYY-MM-DD HH:mm:ss")
|
||||
);
|
||||
yData = wd.map((item) => item.airTemperature);
|
||||
let option = {
|
||||
tooltip: {
|
||||
trigger: "axis",
|
||||
},
|
||||
grid: {
|
||||
//left: "6%", //图表距离容器左侧多少距离
|
||||
//right: "6%", //图表距离容器右侧侧多少距离
|
||||
bottom: "15%", //图表距离容器上面多少距离
|
||||
//top: "2%", //图表距离容器下面多少距离
|
||||
},
|
||||
title: {
|
||||
text: "温度变化趋势",
|
||||
x: "center", //设置标题位置居中
|
||||
textStyle: {
|
||||
//设置主标题的文字风格
|
||||
color: "#333", //字体颜色
|
||||
fontSize: 16, //文字大小
|
||||
fontWeight: "normal",
|
||||
},
|
||||
},
|
||||
toolbox: {
|
||||
show: true,
|
||||
feature: {
|
||||
dataView: { readOnly: false },
|
||||
magicType: { type: ["line", "bar"] },
|
||||
restore: {},
|
||||
saveAsImage: {},
|
||||
},
|
||||
},
|
||||
dataZoom: [
|
||||
{
|
||||
show: true,
|
||||
realtime: true,
|
||||
start: 0,
|
||||
end: 100,
|
||||
},
|
||||
{
|
||||
type: "inside",
|
||||
realtime: true,
|
||||
start: 0,
|
||||
end: 100,
|
||||
},
|
||||
],
|
||||
xAxis: {
|
||||
name: "时间", // 坐标轴名称
|
||||
type: "category",
|
||||
boundaryGap: false,
|
||||
data: xData,
|
||||
},
|
||||
yAxis: {
|
||||
name: "温度", // 坐标轴名称
|
||||
type: "value",
|
||||
axisLabel: {
|
||||
formatter: "{value} °C",
|
||||
},
|
||||
},
|
||||
series: [
|
||||
{
|
||||
name: "温度",
|
||||
symbol: "none",
|
||||
type: "line",
|
||||
data: yData,
|
||||
},
|
||||
],
|
||||
};
|
||||
this.mywDechart.setOption(option);
|
||||
window.addEventListener("resize", () => {
|
||||
this.mywDechart.resize();
|
||||
});
|
||||
});
|
||||
},
|
||||
getEchart5(sd) {
|
||||
this.$nextTick(() => {
|
||||
this.$echarts.init(document.getElementById("sDechart"));
|
||||
this.mysDechart = this.$echarts.init(
|
||||
document.getElementById("sDechart")
|
||||
);
|
||||
console.log(sd);
|
||||
var xData = [];
|
||||
var yData = [];
|
||||
xData = sd.map((item) =>
|
||||
this.$moment(item.updateTime * 1000).format("YYYY-MM-DD HH:mm:ss")
|
||||
);
|
||||
yData = sd.map((item) => item.humidity);
|
||||
let option = {
|
||||
tooltip: {
|
||||
trigger: "axis",
|
||||
},
|
||||
grid: {
|
||||
//left: "6%", //图表距离容器左侧多少距离
|
||||
//right: "6%", //图表距离容器右侧侧多少距离
|
||||
bottom: "15%", //图表距离容器上面多少距离
|
||||
//top: "2%", //图表距离容器下面多少距离
|
||||
},
|
||||
title: {
|
||||
text: "湿度变化趋势",
|
||||
x: "center", //设置标题位置居中
|
||||
textStyle: {
|
||||
//设置主标题的文字风格
|
||||
color: "#333", //字体颜色
|
||||
fontSize: 16, //文字大小
|
||||
fontWeight: "normal",
|
||||
},
|
||||
},
|
||||
toolbox: {
|
||||
show: true,
|
||||
feature: {
|
||||
dataView: { readOnly: false },
|
||||
magicType: { type: ["line", "bar"] },
|
||||
restore: {},
|
||||
saveAsImage: {},
|
||||
},
|
||||
},
|
||||
dataZoom: [
|
||||
{
|
||||
show: true,
|
||||
realtime: true,
|
||||
start: 0,
|
||||
end: 100,
|
||||
},
|
||||
{
|
||||
type: "inside",
|
||||
realtime: true,
|
||||
start: 0,
|
||||
end: 100,
|
||||
},
|
||||
],
|
||||
xAxis: {
|
||||
name: "时间", // 坐标轴名称
|
||||
type: "category",
|
||||
boundaryGap: false,
|
||||
data: xData,
|
||||
},
|
||||
yAxis: {
|
||||
name: "湿度", // 坐标轴名称
|
||||
type: "value",
|
||||
axisLabel: {
|
||||
formatter: "{value} %RH",
|
||||
},
|
||||
},
|
||||
series: [
|
||||
{
|
||||
name: "湿度",
|
||||
symbol: "none",
|
||||
type: "line",
|
||||
data: yData,
|
||||
},
|
||||
],
|
||||
};
|
||||
this.mysDechart.setOption(option);
|
||||
window.addEventListener("resize", () => {
|
||||
this.mysDechart.resize();
|
||||
});
|
||||
});
|
||||
},
|
||||
changedate() {
|
||||
console.log(new Date(this.formdata.endtime));
|
||||
const currentDate = new Date(this.formdata.endtime); // 获取当前时间
|
||||
currentDate.setHours(23); // 设置小时为23
|
||||
currentDate.setMinutes(59); // 设置分钟为59
|
||||
currentDate.setSeconds(59); // 设置秒数为59
|
||||
this.formdata.endtime = currentDate;
|
||||
console.log("结束时间", this.formdata.endtime);
|
||||
},
|
||||
//点击child分页
|
||||
handlechildCurrentChange(val) {
|
||||
this.childpage = val;
|
||||
this.childTableDate = [];
|
||||
this.getchildWeatherData(this.childParma);
|
||||
},
|
||||
//每页条数child分页
|
||||
handlechildSizeChange(val) {
|
||||
this.childpageSize = val;
|
||||
this.childTableDate = [];
|
||||
this.getchildWeatherData(this.childParma);
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
||||
<style lang="less">
|
||||
.weatherBox {
|
||||
width: calc(100% - 24px);
|
||||
height: calc(100% - 24px);
|
||||
padding: 12px 12px;
|
||||
background: #fff;
|
||||
|
||||
.weatherContain {
|
||||
display: flex;
|
||||
height: 100%;
|
||||
box-sizing: border-box;
|
||||
background: #fff;
|
||||
border: 1px solid #ddd;
|
||||
border-radius: 4px;
|
||||
}
|
||||
.rightTable {
|
||||
display: flex;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
flex: 1;
|
||||
overflow: auto;
|
||||
border-left: 1px solid #ddd;
|
||||
.el-table .el-table__cell {
|
||||
text-align: center;
|
||||
-webkit-user-select: text;
|
||||
-moz-user-select: text;
|
||||
-ms-user-select: text;
|
||||
user-select: text;
|
||||
}
|
||||
.dataBox {
|
||||
width: calc(100% - 24px);
|
||||
height: calc(100% - 24px);
|
||||
padding: 12px 12px;
|
||||
background: #fff;
|
||||
}
|
||||
.fatherTableShowBox {
|
||||
height: calc(100% - 0px);
|
||||
}
|
||||
.childBox {
|
||||
height: 100%;
|
||||
.chartClass {
|
||||
height: 450px;
|
||||
width: 100%;
|
||||
}
|
||||
// .echartsBox {
|
||||
// display: flex;
|
||||
// flex-direction: column;
|
||||
// align-items: center;
|
||||
|
||||
// .btnbox {
|
||||
// display: flex;
|
||||
// margin-bottom: 8px;
|
||||
// .el-button--primary {
|
||||
// width: auto;
|
||||
// }
|
||||
// }
|
||||
|
||||
// }
|
||||
.childTableShowBox {
|
||||
h3 {
|
||||
font-size: 16px;
|
||||
font-weight: normal;
|
||||
margin-bottom: 8px;
|
||||
text-align: center;
|
||||
color: #666;
|
||||
margin-top: 16px;
|
||||
}
|
||||
height: calc(100% - 124px);
|
||||
}
|
||||
.termalBox {
|
||||
margin-bottom: 4px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
line-height: 32px;
|
||||
p {
|
||||
.text {
|
||||
margin-right: 12px;
|
||||
}
|
||||
}
|
||||
.gropBtn {
|
||||
//margin-left: auto;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
@ -0,0 +1,266 @@
|
||||
<template>
|
||||
<el-dialog
|
||||
class="faultInfo"
|
||||
title="故障信息报"
|
||||
:visible.sync="isShow"
|
||||
:close-on-click-modal="false"
|
||||
width="1000px"
|
||||
>
|
||||
<div class="zzinfo">
|
||||
<span v-if="rowInfo.protocol == '65280'"> 国网I1 </span>
|
||||
<span v-if="rowInfo.protocol == '65296'"> 陕西 </span>
|
||||
<span v-if="rowInfo.protocol == '65281'"> 安徽 </span>
|
||||
<span v-if="rowInfo.protocol == '65282'"> 江苏 </span>
|
||||
<span v-if="rowInfo.protocol == '65283'"> 湖南 </span>
|
||||
<span v-if="rowInfo.protocol == '65284'"> 浙江 </span>
|
||||
<span v-if="rowInfo.protocol == '65285'"> 河南全景 </span>
|
||||
<span v-if="rowInfo.protocol == '65286'"> 河南郑州 </span>
|
||||
<span v-if="rowInfo.protocol == '65290'"> 河南统一视频v2020 </span>
|
||||
<span v-if="rowInfo.protocol == '65298'"> 宁夏 </span>
|
||||
<span v-if="rowInfo.protocol == '2'"> 南网 </span>
|
||||
<span>{{rowInfo.protocol}}</span>
|
||||
</div>
|
||||
<el-form :inline="true" :model="formdata" class="demo-form-inline">
|
||||
<el-form-item label="开始日期">
|
||||
<el-date-picker
|
||||
@change="changestartdate"
|
||||
v-model="formdata.starttime"
|
||||
type="datetime"
|
||||
:picker-options="pickerOptions"
|
||||
placeholder="开始日期"
|
||||
value-format="timestamp"
|
||||
>
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
<el-form-item label="结束日期">
|
||||
<el-date-picker
|
||||
@change="changeenddate"
|
||||
v-model="formdata.endtime"
|
||||
type="datetime"
|
||||
:picker-options="pickerOptions"
|
||||
placeholder="结束日期"
|
||||
value-format="timestamp"
|
||||
class="ml10"
|
||||
>
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" @click="onSubmit">查询</el-button>
|
||||
<el-button type="primary" @click="exportFault">导出</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<el-table
|
||||
ref="multipleTable"
|
||||
:data="listData"
|
||||
stripe
|
||||
tooltip-effect="dark"
|
||||
style="width: 100%"
|
||||
height="442px"
|
||||
v-loading="loading"
|
||||
>
|
||||
<template slot="empty">
|
||||
<el-empty :image-size="160" description="暂无数据"></el-empty>
|
||||
</template>
|
||||
<el-table-column min-width="45" label="序号">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ (page - 1) * pageSize + scope.$index + 1 }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="cmdid"
|
||||
label="装置编号"
|
||||
min-width="120"
|
||||
show-overflow-tooltip
|
||||
></el-table-column>
|
||||
<el-table-column
|
||||
prop="faultTime"
|
||||
label="采集时间"
|
||||
min-width="120"
|
||||
show-overflow-tooltip
|
||||
></el-table-column>
|
||||
<el-table-column
|
||||
prop="msg"
|
||||
label="故障信息"
|
||||
min-width="120"
|
||||
show-overflow-tooltip
|
||||
></el-table-column>
|
||||
</el-table>
|
||||
<div class="pageNation">
|
||||
<el-pagination
|
||||
@current-change="handleCurrentChange"
|
||||
@size-change="handleSizeChange"
|
||||
:current-page="page"
|
||||
:page-size="pageSize"
|
||||
layout="sizes, prev, pager, next, jumper,total"
|
||||
:total="total"
|
||||
background
|
||||
>
|
||||
</el-pagination>
|
||||
</div>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button @click="hide">取 消</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
</template>
|
||||
<script>
|
||||
import { getTermFaultsApi, getTermFaultsExcel } from "@/utils/api/index";
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
isShow: false,
|
||||
formdata: {},
|
||||
rowInfo: "",
|
||||
listData: [],
|
||||
loading: false,
|
||||
page: 1, // 当前页数
|
||||
pageSize: 10, // 每页数量
|
||||
total: 0, //总条数
|
||||
pickerOptions: {
|
||||
disabledDate(date) {
|
||||
return date.getTime() > Date.now(); // 禁用大于今天的日期
|
||||
},
|
||||
},
|
||||
};
|
||||
},
|
||||
watch: {
|
||||
endtime(newVal) {
|
||||
if (newVal) {
|
||||
const date = new Date(newVal);
|
||||
date.setHours(23);
|
||||
date.setMinutes(59);
|
||||
date.setSeconds(59);
|
||||
this.formdata.endtime = date;
|
||||
}
|
||||
},
|
||||
},
|
||||
created() {},
|
||||
mounted() {},
|
||||
methods: {
|
||||
getTime() {
|
||||
const thirtyDaysAgo = new Date();
|
||||
thirtyDaysAgo.setHours(0); // 设置小时为23
|
||||
thirtyDaysAgo.setMinutes(0); // 设置分钟为59
|
||||
thirtyDaysAgo.setSeconds(0); // 设置秒数为59
|
||||
console.log(
|
||||
new Date(thirtyDaysAgo.setDate(thirtyDaysAgo.getDate() - 30))
|
||||
);
|
||||
|
||||
const startTimeNew = new Date(
|
||||
thirtyDaysAgo.setDate(thirtyDaysAgo.getDate())
|
||||
).getTime();
|
||||
this.$set(this.formdata, "starttime", startTimeNew);
|
||||
console.log("开始时间", this.formdata.starttime);
|
||||
const currentDate = new Date(); // 获取当前时间
|
||||
currentDate.setHours(23); // 设置小时为23
|
||||
currentDate.setMinutes(59); // 设置分钟为59
|
||||
currentDate.setSeconds(59); // 设置秒数为59
|
||||
this.$set(this.formdata, "endtime", currentDate.getTime());
|
||||
console.log("结束时间", this.formdata.endtime);
|
||||
|
||||
this.getfaultinfo();
|
||||
},
|
||||
changestartdate(val) {
|
||||
console.log(val);
|
||||
if (val == null) {
|
||||
console.log(new Date());
|
||||
const startDate = new Date();
|
||||
startDate.setHours(0); // 设置小时为23
|
||||
startDate.setMinutes(0); // 设置分钟为59
|
||||
startDate.setSeconds(0); // 设置秒数为59
|
||||
this.formdata.starttime = startDate;
|
||||
console.log(this.formdata.starttime);
|
||||
} else {
|
||||
this.formdata.starttime = val;
|
||||
}
|
||||
},
|
||||
//结束日期
|
||||
changeenddate(val) {
|
||||
if (val == null) {
|
||||
console.log(new Date());
|
||||
const endDate = new Date();
|
||||
endDate.setHours(23); // 设置小时为23
|
||||
endDate.setMinutes(59); // 设置分钟为59
|
||||
endDate.setSeconds(59); // 设置秒数为59
|
||||
this.formdata.endtime = endDate;
|
||||
console.log(this.formdata.endtime);
|
||||
} else {
|
||||
this.formdata.endtime = val;
|
||||
console.log(val);
|
||||
}
|
||||
},
|
||||
//查询
|
||||
onSubmit() {
|
||||
if (this.formdata.starttime > this.formdata.endtime) {
|
||||
return this.$message({
|
||||
duration: 1500,
|
||||
showClose: true,
|
||||
message: "开始日期不能大于结束日期",
|
||||
type: "warning",
|
||||
});
|
||||
}
|
||||
this.getfaultinfo();
|
||||
},
|
||||
//导出
|
||||
exportFault() {
|
||||
window.location.href =
|
||||
"/api/getTermFaultsExcel?termid=" + this.rowInfo.id;
|
||||
},
|
||||
//获取数据
|
||||
getfaultinfo() {
|
||||
this.loading = true;
|
||||
getTermFaultsApi({
|
||||
termid: this.rowInfo.id,
|
||||
starttime: this.formdata.starttime,
|
||||
endtime: this.formdata.endtime,
|
||||
pageindex: this.page,
|
||||
pagesize: this.pageSize,
|
||||
}).then((res) => {
|
||||
this.listData = res.data.list;
|
||||
this.total = res.data.total;
|
||||
this.$nextTick(() => {
|
||||
this.loading = false;
|
||||
});
|
||||
});
|
||||
},
|
||||
//点击分页
|
||||
handleCurrentChange(val) {
|
||||
this.page = val;
|
||||
this.getfaultinfo();
|
||||
},
|
||||
//每页条数
|
||||
handleSizeChange(val) {
|
||||
this.pageSize = val;
|
||||
this.getfaultinfo();
|
||||
},
|
||||
display(row) {
|
||||
console.log(row);
|
||||
this.rowInfo = row;
|
||||
this.isShow = true;
|
||||
this.getTime();
|
||||
},
|
||||
hide() {
|
||||
this.isShow = false;
|
||||
this.formdata = {};
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
||||
<style lang="less">
|
||||
.faultInfo {
|
||||
.zzinfo {
|
||||
position: absolute;
|
||||
top: 22px;
|
||||
left: 126px;
|
||||
}
|
||||
.pageNation {
|
||||
justify-content: flex-start;
|
||||
margin-top: 16px;
|
||||
.el-pagination {
|
||||
padding: 0px;
|
||||
.el-select .el-input {
|
||||
margin-left: 0px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,22 @@
|
||||
<template>
|
||||
<div class="yuntaiBox">
|
||||
<el-button type="primary" @click="handleSetptz">云台设置 </el-button>
|
||||
<ptzDraw ref="ptzDrawer_ref"></ptzDraw>
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import ptzDraw from "./ptzDraw.vue";
|
||||
export default {
|
||||
components: { ptzDraw },
|
||||
data() {
|
||||
return {};
|
||||
},
|
||||
methods: {
|
||||
handleSetptz() {
|
||||
console.log("设置云台");
|
||||
this.$refs.ptzDrawer_ref.display();
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
||||
<style lang="less"></style>
|
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,34 @@
|
||||
<template>
|
||||
<div class="buttonBox">
|
||||
<el-button type="primary" @click="handleSetChannel">APP设置 </el-button>
|
||||
<setAppDialog ref="setChannelDialog_ref"></setAppDialog>
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import {} from "@/utils/api/index";
|
||||
import setAppDialog from "./setAppDialog.vue";
|
||||
export default {
|
||||
components: { setAppDialog },
|
||||
data() {
|
||||
return {};
|
||||
},
|
||||
watch: {},
|
||||
mounted() {},
|
||||
computed: {
|
||||
termId() {
|
||||
return this.$store.state.termId;
|
||||
},
|
||||
channelIdList() {
|
||||
return this.$store.state.channelIdList;
|
||||
},
|
||||
},
|
||||
|
||||
methods: {
|
||||
handleSetChannel() {
|
||||
this.$refs.setChannelDialog_ref.display();
|
||||
},
|
||||
},
|
||||
destroyed() {},
|
||||
beforeRouteLeave(to, from, next) {},
|
||||
};
|
||||
</script>
|
@ -0,0 +1,34 @@
|
||||
<template>
|
||||
<div class="buttonBox">
|
||||
<el-button type="primary" @click="handleSetChannel">通道设置 </el-button>
|
||||
<setChannelDialog ref="setChannelDialog_ref"></setChannelDialog>
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import {} from "@/utils/api/index";
|
||||
import setChannelDialog from "./setChannelDialog.vue";
|
||||
export default {
|
||||
components: { setChannelDialog },
|
||||
data() {
|
||||
return {};
|
||||
},
|
||||
watch: {},
|
||||
mounted() {},
|
||||
computed: {
|
||||
termId() {
|
||||
return this.$store.state.termId;
|
||||
},
|
||||
channelIdList() {
|
||||
return this.$store.state.channelIdList;
|
||||
},
|
||||
},
|
||||
|
||||
methods: {
|
||||
handleSetChannel() {
|
||||
this.$refs.setChannelDialog_ref.display();
|
||||
},
|
||||
},
|
||||
destroyed() {},
|
||||
beforeRouteLeave(to, from, next) {},
|
||||
};
|
||||
</script>
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,145 @@
|
||||
<template>
|
||||
<el-dialog
|
||||
class="uploadPic"
|
||||
title="上传图片"
|
||||
:visible.sync="isShow"
|
||||
:close-on-click-modal="false"
|
||||
width="600px"
|
||||
@close="handleclose"
|
||||
>
|
||||
<div class="uploadBox">
|
||||
<el-form ref="form" :model="form" label-width="80px">
|
||||
<el-form-item label="装置编号">
|
||||
<el-input v-model="form.cmdid"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="装置Id">
|
||||
<el-input v-model="form.termid"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="通道选择">
|
||||
<el-select v-model="form.channel" placeholder="选择通道">
|
||||
<el-option label="通道一" :value="1"></el-option>
|
||||
<el-option label="通道二" :value="2"></el-option>
|
||||
<el-option label="通道三" :value="3"></el-option>
|
||||
<el-option label="通道四" :value="4"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="选择时间">
|
||||
<el-date-picker
|
||||
v-model="form.phototime"
|
||||
value-format="timestamp"
|
||||
type="datetime"
|
||||
placeholder="选择日期时间"
|
||||
>
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
<el-form-item label="">
|
||||
<el-upload
|
||||
class="upload-demo"
|
||||
ref="upload"
|
||||
action="#"
|
||||
:http-request="httpRequest"
|
||||
>
|
||||
<el-button slot="trigger" size="small" type="primary"
|
||||
>选取图片</el-button
|
||||
>
|
||||
</el-upload>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</div>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button @click="isShow = false">取 消</el-button>
|
||||
<el-button type="primary" @click="handlesure">确 定</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
</template>
|
||||
<script>
|
||||
import { uploadPicApi } from "@/utils/api/index";
|
||||
export default {
|
||||
props: {},
|
||||
data() {
|
||||
return {
|
||||
isShow: false,
|
||||
form: {},
|
||||
fileList: [], //上传列表
|
||||
};
|
||||
},
|
||||
mounted() {},
|
||||
methods: {
|
||||
httpRequest(raw) {
|
||||
this.fileList.push(raw);
|
||||
},
|
||||
//数据库获取最新数据
|
||||
display(data) {
|
||||
console.log(data);
|
||||
this.$set(this.form, "cmdid", data.cmdid);
|
||||
this.$set(this.form, "termid", data.id);
|
||||
this.isShow = true;
|
||||
},
|
||||
handleclose() {
|
||||
this.isShow = false;
|
||||
this.fileList = [];
|
||||
},
|
||||
handlesure() {
|
||||
this.isShow = false;
|
||||
//console.log(this.fileList[0].file);
|
||||
this.$set(this.form, "file", this.fileList[0].file);
|
||||
console.log(this.form);
|
||||
uploadPicApi(this.form)
|
||||
.then((res) => {
|
||||
console.log(res);
|
||||
this.$message({
|
||||
duration: 1500,
|
||||
showClose: true,
|
||||
message: "上传成功",
|
||||
type: "success",
|
||||
});
|
||||
this.fileList = [];
|
||||
})
|
||||
.catch((err) => {});
|
||||
},
|
||||
},
|
||||
destroyed() {
|
||||
this.isShow = false;
|
||||
},
|
||||
};
|
||||
</script>
|
||||
<style lang="less">
|
||||
.uploadPic {
|
||||
.uploadBox {
|
||||
}
|
||||
.upload-demo {
|
||||
position: relative;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
flex-direction: row-reverse;
|
||||
margin-right: 16px;
|
||||
.el-upload-list {
|
||||
width: 370px;
|
||||
height: 32px;
|
||||
line-height: 32px;
|
||||
border: 1px solid #dcdfe6;
|
||||
background: #fff;
|
||||
margin-right: 12px;
|
||||
border-radius: 4px;
|
||||
.el-upload-list__item-name {
|
||||
margin-right: 0px;
|
||||
}
|
||||
.el-upload-list__item {
|
||||
transition: none;
|
||||
font-size: 14px;
|
||||
color: #606266;
|
||||
position: relative;
|
||||
box-sizing: border-box;
|
||||
border-radius: 4px;
|
||||
width: 100%;
|
||||
height: 32px;
|
||||
line-height: 32px;
|
||||
margin-top: 0px !important;
|
||||
.el-icon-close {
|
||||
top: 10px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
@ -0,0 +1,298 @@
|
||||
<template>
|
||||
<div class="realTimeMonitor" v-loading="mainLoading">
|
||||
<div class="monitor-container">
|
||||
<div class="allSide">
|
||||
<div class="typeList">
|
||||
<el-radio-group v-model="typeRadio" size="mini" @input="getTypeRadio">
|
||||
<el-radio-button :label="-1">全部</el-radio-button>
|
||||
<el-radio-button
|
||||
:label="1"
|
||||
v-if="roleName === 'superadmin' || roleName === 'Matthew'"
|
||||
>活动</el-radio-button
|
||||
>
|
||||
</el-radio-group>
|
||||
</div>
|
||||
<sideBar ref="sideTree" v-if="allTreeFlag"></sideBar>
|
||||
<activeSiderBar ref="activesideTree" v-else></activeSiderBar>
|
||||
</div>
|
||||
|
||||
<div class="picListBox">
|
||||
<div class="previewBox" v-if="LineFlag">
|
||||
<!-- 预览图页面 -->
|
||||
<previewContain ref="previewRef"></previewContain>
|
||||
</div>
|
||||
<div class="previewBox" v-if="towerFlag">
|
||||
<div class="swiperBox" v-loading="swiperLoading">
|
||||
<div class="title">
|
||||
<el-breadcrumb separator="/">
|
||||
<el-breadcrumb-item> {{ towertitle }}</el-breadcrumb-item>
|
||||
</el-breadcrumb>
|
||||
</div>
|
||||
<carouselChart
|
||||
ref="carouselpic"
|
||||
:terminalPhoto="terminalPhoto"
|
||||
:photoNum="photoNum"
|
||||
:protocolInfo="protocolInfo"
|
||||
v-if="terminalPhoto.length !== 0"
|
||||
></carouselChart>
|
||||
</div>
|
||||
<div class="parameterArea">
|
||||
<parameterArea ref="areaRef"></parameterArea>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<morePicPreveiw ref="morePicPreveiw_ref"></morePicPreveiw>
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import { getTerminalPhotoListJoggle } from "@/utils/api/index";
|
||||
import sideBar from "./components/siderBar";
|
||||
import activeSiderBar from "./components/activeSiderBar";
|
||||
import previewContain from "./components/previewContain";
|
||||
import carouselChart from "./components/carouselChart";
|
||||
import parameterArea from "./components/parameterArea";
|
||||
import morePicPreveiw from "./components/morePicPreveiw";
|
||||
|
||||
import { mapGetters, mapState } from "vuex";
|
||||
import ActiveSiderBar from "./components/activeSiderBar.vue";
|
||||
export default {
|
||||
name: "realTimeMonitor",
|
||||
data() {
|
||||
return {
|
||||
LineFlag: false, //如果是线路显示
|
||||
towerFlag: false, //如果杆塔显示
|
||||
mainLoading: false, //全局loading
|
||||
page: 1, // 当前页数
|
||||
towertitle: "", //杆塔名称
|
||||
lineLoading: false, //杆塔loading
|
||||
swiperLoading: false,
|
||||
terminalPhoto: [], //获取装置当前图片数据
|
||||
photoNum: 5,
|
||||
dateValue: "", //当前时间
|
||||
protocolInfo: "",
|
||||
nopicPath: require("@/assets/img/nopic.jpg"),
|
||||
typeRadio: -1, //类型选择
|
||||
allTreeFlag: true,
|
||||
roleName: "",
|
||||
};
|
||||
},
|
||||
watch: {
|
||||
treeSelectData: {
|
||||
handler(newVal, oldVal) {},
|
||||
deep: true,
|
||||
immediate: true,
|
||||
},
|
||||
},
|
||||
components: {
|
||||
sideBar,
|
||||
activeSiderBar,
|
||||
previewContain,
|
||||
carouselChart,
|
||||
parameterArea,
|
||||
morePicPreveiw,
|
||||
},
|
||||
computed: {
|
||||
treeSelectData() {
|
||||
return this.$store.state.currentData;
|
||||
},
|
||||
},
|
||||
created() {
|
||||
this.roleName = localStorage.getItem("userName");
|
||||
//this.treeSelectData = currentData;
|
||||
//获取当前时间
|
||||
},
|
||||
mounted() {
|
||||
this.mainLoading = true;
|
||||
setTimeout(() => {
|
||||
this.mainLoading = false;
|
||||
}, 1000);
|
||||
},
|
||||
methods: {
|
||||
getTypeRadio() {
|
||||
console.log(this.typeRadio);
|
||||
if (this.typeRadio == -1) {
|
||||
this.allTreeFlag = true;
|
||||
} else {
|
||||
this.allTreeFlag = false;
|
||||
}
|
||||
},
|
||||
getCurrentData(data) {
|
||||
console.log("执行父组件", this.treeSelectData);
|
||||
if (this.treeSelectData.dyValue) {
|
||||
console.log("电压");
|
||||
this.LineFlag = true;
|
||||
this.towerFlag = false;
|
||||
this.lineLoading = true;
|
||||
this.type = 1;
|
||||
this.$nextTick(() => {
|
||||
this.$refs.previewRef.getPicList(
|
||||
this.treeSelectData.id,
|
||||
this.type,
|
||||
this.page
|
||||
);
|
||||
});
|
||||
} else if (this.treeSelectData.dyLevelId) {
|
||||
console.log("线路");
|
||||
this.LineFlag = true;
|
||||
this.towerFlag = false;
|
||||
this.type = 2;
|
||||
console.log(this.treeSelectData);
|
||||
this.$nextTick(() => {
|
||||
this.$refs.previewRef.getPicList(
|
||||
this.treeSelectData.id,
|
||||
this.type,
|
||||
this.page
|
||||
);
|
||||
});
|
||||
} else {
|
||||
console.log("杆塔");
|
||||
this.LineFlag = false;
|
||||
this.towerFlag = true;
|
||||
this.terminalPhoto = [];
|
||||
this.protocolInfo = this.treeSelectData.protocol;
|
||||
console.log("asddddddddddddddddddddd", this.treeSelectData);
|
||||
this.towertitle = this.treeSelectData.name;
|
||||
this.$nextTick(() => {
|
||||
this.$refs.areaRef.getChannelList();
|
||||
this.$refs.areaRef.takepicFun();
|
||||
});
|
||||
}
|
||||
},
|
||||
getPhotoList(channelId, date, termId) {
|
||||
console.log(channelId, date, termId);
|
||||
this.swiperLoading = true;
|
||||
console.log("zhanshi asdadadadadadsddadadadadad", this.terminalPhoto);
|
||||
this.terminalPhoto = [];
|
||||
getTerminalPhotoListJoggle({
|
||||
channelid: channelId,
|
||||
time: date,
|
||||
terminalid: termId,
|
||||
})
|
||||
.then((res) => {
|
||||
console.log(res);
|
||||
if (res.data.list.length == 0) {
|
||||
this.terminalPhoto = [
|
||||
{
|
||||
path: this.nopicPath,
|
||||
termId: termId,
|
||||
mediatype: 0,
|
||||
},
|
||||
];
|
||||
} else {
|
||||
this.terminalPhoto = res.data.list;
|
||||
}
|
||||
// let newDataList = [];
|
||||
// let current = 0;
|
||||
// if (this.terminalPhoto && this.terminalPhoto.length > 0) {
|
||||
// for (let i = 0; i <= this.terminalPhoto.length - 1; i++) {
|
||||
// if (i % this.photoNum !== 0 || i === 0) {
|
||||
// if (!newDataList[current]) {
|
||||
// newDataList.push([this.terminalPhoto[i]]);
|
||||
// } else {
|
||||
// newDataList[current].push(this.terminalPhoto[i]);
|
||||
// }
|
||||
// } else {
|
||||
// current++;
|
||||
// newDataList.push([this.terminalPhoto[i]]);
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// this.terminalPhoto = [...newDataList];
|
||||
// this.$nextTick(() => {
|
||||
// this.$refs.carouselpic.changeBigPic(this.terminalPhoto[0][0], 0);
|
||||
// });
|
||||
this.$nextTick(() => {
|
||||
this.$refs.carouselpic.changeBigPic(this.terminalPhoto[0], 0);
|
||||
});
|
||||
|
||||
this.swiperLoading = false;
|
||||
})
|
||||
.catch((err) => {
|
||||
console.log(err); //代码错误、请求失败捕获
|
||||
});
|
||||
},
|
||||
//点击图片列表执行函数
|
||||
jumpTowerPic(data) {
|
||||
console.log("我是从子组件过来的数据");
|
||||
console.log(data);
|
||||
this.$refs.morePicPreveiw_ref.display(data);
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
||||
<style lang="less">
|
||||
.realTimeMonitor {
|
||||
width: calc(100% - 0px);
|
||||
height: calc(100% - 12px);
|
||||
padding: 12px 0px 0px 0px;
|
||||
background: #ffffff;
|
||||
.monitor-container {
|
||||
display: flex;
|
||||
height: 100%;
|
||||
box-sizing: border-box;
|
||||
background: #ffffff;
|
||||
border: 1px solid #dddddd;
|
||||
border-radius: 4px;
|
||||
.allSide {
|
||||
height: 100%;
|
||||
.typeList {
|
||||
width: 94%;
|
||||
margin: 0 auto;
|
||||
margin-top: 8px;
|
||||
}
|
||||
}
|
||||
.picListBox {
|
||||
display: flex;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
flex: 1;
|
||||
overflow: hidden;
|
||||
border-left: 1px solid #dddddd;
|
||||
.previewBox {
|
||||
display: flex;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
flex: 1;
|
||||
}
|
||||
.swiperBox {
|
||||
-webkit-box-flex: 1;
|
||||
-ms-flex: 1;
|
||||
flex: 1;
|
||||
width: auto;
|
||||
overflow: hidden;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
position: relative;
|
||||
.title {
|
||||
height: 32px;
|
||||
padding-left: 12px;
|
||||
line-height: 32px;
|
||||
color: #fff;
|
||||
font-size: 12px;
|
||||
//background-color: #169e8cb0;
|
||||
background: linear-gradient(180deg, #4cdbc8 10%, #128071 100%);
|
||||
|
||||
.el-breadcrumb {
|
||||
line-height: 32px;
|
||||
color: #fff !important;
|
||||
font-size: 14px;
|
||||
height: 32px;
|
||||
.el-breadcrumb__inner,
|
||||
.el-breadcrumb__separator {
|
||||
color: #fff !important;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.parameterArea {
|
||||
width: 220px;
|
||||
padding: 0px 8px;
|
||||
border-left: 1px solid #dddddd;
|
||||
position: relative;
|
||||
overflow-y: auto;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
@ -0,0 +1,119 @@
|
||||
<template>
|
||||
<div class="reportDataBox">
|
||||
<!-- <div class="reoprtContain"></div> -->
|
||||
<el-tabs type="border-card" @tab-click="handleTabClick">
|
||||
<el-tab-pane label="照片统计">
|
||||
<span slot="label">
|
||||
照片统计
|
||||
<el-button
|
||||
@click.stop="handlePicSearch"
|
||||
v-if="picSearchFlag"
|
||||
type="primary"
|
||||
icon="el-icon-search"
|
||||
></el-button>
|
||||
</span>
|
||||
<photostatis ref="photoStatisRef"></photostatis>
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="设备状态列表">
|
||||
<span slot="label">
|
||||
设备状态列表
|
||||
<el-button
|
||||
@click.stop="handlestatusSearch"
|
||||
v-if="statusFlag"
|
||||
type="primary"
|
||||
icon="el-icon-search"
|
||||
></el-button>
|
||||
</span>
|
||||
<equipmentStatus
|
||||
ref="equipmentStatusRef"
|
||||
:statusFlag="statusFlag"
|
||||
></equipmentStatus
|
||||
></el-tab-pane>
|
||||
</el-tabs>
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import {} from "@/utils/api/index";
|
||||
|
||||
import photostatis from "./photostatis/index";
|
||||
import equipmentStatus from "./equipmentStatus/index";
|
||||
export default {
|
||||
name: "reportData",
|
||||
components: {
|
||||
photostatis,
|
||||
equipmentStatus,
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
picSearchFlag: true,
|
||||
statusFlag: false,
|
||||
pictotalFlag: false,
|
||||
};
|
||||
},
|
||||
created() {},
|
||||
mounted() {},
|
||||
watch: {},
|
||||
methods: {
|
||||
handleTabClick(tab, event) {
|
||||
// 当标签页被点击时触发
|
||||
const tabName = tab.label;
|
||||
console.log(tab);
|
||||
if (tabName === "照片统计") {
|
||||
this.picSearchFlag = true;
|
||||
this.statusFlag = false;
|
||||
this.pictotalFlag = false;
|
||||
// 调用照片统计组件的方法
|
||||
if (this.$refs.photoStatisRef) {
|
||||
this.$refs.photoStatisRef.onSubmit(); // 假设someMethod是你要调用的方法
|
||||
}
|
||||
} else if (tabName === "设备状态列表") {
|
||||
this.picSearchFlag = false;
|
||||
this.statusFlag = true;
|
||||
this.pictotalFlag = false;
|
||||
// 调用设备状态列表组件的方法
|
||||
if (this.$refs.equipmentStatusRef) {
|
||||
this.$refs.equipmentStatusRef.initfn(); // 假设someOtherMethod是你要调用的方法
|
||||
//this.$refs.equipmentStatusRef.onSubmit(); // 假设someOtherMethod是你要调用的方法
|
||||
}
|
||||
}
|
||||
// 可以继续添加其他标签页的逻辑
|
||||
},
|
||||
handlePicSearch() {
|
||||
console.log("aaaaaaaaaaaa");
|
||||
this.$refs.photoStatisRef.showSearch();
|
||||
},
|
||||
handlestatusSearch() {
|
||||
console.log("bbbbbb");
|
||||
this.$refs.equipmentStatusRef.showSearch();
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
||||
<style lang="less">
|
||||
.reportDataBox {
|
||||
width: calc(100% - 24px);
|
||||
height: calc(100% - 24px);
|
||||
padding: 12px 12px;
|
||||
.el-tabs--border-card > .el-tabs__content {
|
||||
padding: 8px;
|
||||
}
|
||||
.el-tabs {
|
||||
height: 100%;
|
||||
|
||||
.el-tabs__header {
|
||||
.el-button--default,
|
||||
.el-button--primary {
|
||||
width: auto;
|
||||
margin-left: 12px;
|
||||
}
|
||||
}
|
||||
.el-tabs__content {
|
||||
height: calc(100% - 65px);
|
||||
//overflow: auto;
|
||||
.el-tab-pane {
|
||||
height: 100%;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue