Merge remote-tracking branch 'origin/master'
# Conflicts: # public/index.html # src/components/yyAnslysis.vue # src/views/Home.vue
Showing
10 changed files
with
535 additions
and
29 deletions
... | @@ -27,4 +27,26 @@ | ... | @@ -27,4 +27,26 @@ |
27 | <div id="app"></div> | 27 | <div id="app"></div> |
28 | <!-- built files will be auto injected --> | 28 | <!-- built files will be auto injected --> |
29 | </body> | 29 | </body> |
30 | |||
31 | <head> | ||
32 | <meta charset="utf-8"> | ||
33 | <meta http-equiv="X-UA-Compatible" content="IE=edge"> | ||
34 | <meta name="viewport" content="width=device-width,initial-scale=1.0"> | ||
35 | <link rel="icon" href="<%= BASE_URL %>favicon.ico"> | ||
36 | <title><%= htmlWebpackPlugin.options.title %></title> | ||
37 | <script src="https://cesium.com/downloads/cesiumjs/releases/1.71/Build/Cesium/Cesium.js"></script> | ||
38 | <link href="https://cesium.com/downloads/cesiumjs/releases/1.71/Build/Cesium/Widgets/widgets.css" rel="stylesheet"> | ||
39 | |||
40 | <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.5.1/jquery.js"></script> | ||
41 | </head> | ||
42 | |||
43 | <body> | ||
44 | <noscript> | ||
45 | <strong>We're sorry but <%= htmlWebpackPlugin.options.title %> doesn't work properly without JavaScript enabled. | ||
46 | Please enable it to continue.</strong> | ||
47 | </noscript> | ||
48 | <div id="app"></div> | ||
49 | <!-- built files will be auto injected --> | ||
50 | </body> | ||
51 | |||
30 | </html> | 52 | </html> |
... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
... | @@ -2,16 +2,16 @@ | ... | @@ -2,16 +2,16 @@ |
2 | <template> | 2 | <template> |
3 | <div class="container"> | 3 | <div class="container"> |
4 | <div class="wrapper"> | 4 | <div class="wrapper"> |
5 | <div class="nav-box" :class="[isYZT?'selected':'no-selected']" @click="jumpNav('isYZT')"> | 5 | <div class="nav-box" :class="[isYZT?'selected':'no-selected']" @click="jumpNav('isYZT', '一张图')"> |
6 | <span>一张图</span> | 6 | <span>一张图</span> |
7 | </div> | 7 | </div> |
8 | <div class="nav-box" :class="[isCGSC?'selected':'no-selected']" @click="jumpNav('isCGSC')"> | 8 | <div class="nav-box" :class="[isCGSC?'selected':'no-selected']" @click="jumpNav('isCGSC', '1')"> |
9 | <span>成果审查管理</span> | 9 | <span>规划成果审查</span> |
10 | </div> | 10 | </div> |
11 | <div class="nav-box" :class="[isSSJD?'selected':'no-selected']" @click="jumpNav('isSSJD')"> | 11 | <div class="nav-box" :class="[isSSJD?'selected':'no-selected']" @click="jumpNav('isSSJD', '2')"> |
12 | <span>实施监督预警</span> | 12 | <span>实施监督预警</span> |
13 | </div> | 13 | </div> |
14 | <div class="nav-box" :class="[isPGJG?'selected':'no-selected']" @click="jumpNav('isPGJG')"> | 14 | <div class="nav-box" :class="[isPGJG?'selected':'no-selected']" @click="jumpNav('isPGJG', '3')"> |
15 | <span>批后监管</span> | 15 | <span>批后监管</span> |
16 | </div> | 16 | </div> |
17 | </div> | 17 | </div> |
... | @@ -33,12 +33,30 @@ | ... | @@ -33,12 +33,30 @@ |
33 | }, | 33 | }, |
34 | mounted() {}, | 34 | mounted() {}, |
35 | methods: { | 35 | methods: { |
36 | jumpNav(val) { | 36 | jumpNav(val, label) { |
37 | this.flagArr.forEach(ele => { | 37 | // this.flagArr.forEach(ele => { |
38 | if (ele == val) this[val] = true; | 38 | // if (ele == val) this[val] = true; |
39 | else this[ele] = false; | 39 | // else this[ele] = false; |
40 | }); | 40 | // }); |
41 | if(val != 'isYZT') { | ||
42 | this.login(val, label); | ||
43 | }; | ||
41 | }, | 44 | }, |
45 | login(val, label) { | ||
46 | $.ajax({ | ||
47 | type:"POST", | ||
48 | url: this.config.loginUrl + '/api/v1/user/login', | ||
49 | dataType:"json", | ||
50 | async:false, | ||
51 | data:{username:'案件查处',password:'123'}, | ||
52 | success:(res) => { | ||
53 | window.open(`http://10.6.144.88:10001/frontweb/index.jsp?type=${label}`) | ||
54 | }, | ||
55 | fail: () => { | ||
56 | |||
57 | } | ||
58 | }) | ||
59 | } | ||
42 | } | 60 | } |
43 | } | 61 | } |
44 | </script> | 62 | </script> | ... | ... |
... | @@ -10,12 +10,10 @@ | ... | @@ -10,12 +10,10 @@ |
10 | <span>控高分析</span> | 10 | <span>控高分析</span> |
11 | <span @click="closePop" class="close">×</span> | 11 | <span @click="closePop" class="close">×</span> |
12 | </div> | 12 | </div> |
13 | |||
14 | <div class="" style="padding: 18px 24px 0px 24px;"> | 13 | <div class="" style="padding: 18px 24px 0px 24px;"> |
15 | <el-slider v-model="height" :min='0' :max='1000' :format-tooltip="formatTooltip" | 14 | <el-slider v-model="height" :min='0' :max='1000' :format-tooltip="formatTooltip" |
16 | @change='EheightChange'></el-slider> | 15 | @change='EheightChange'></el-slider> |
17 | </div> | 16 | </div> |
18 | |||
19 | <div class="func-btn"> | 17 | <div class="func-btn"> |
20 | <div class="btn-wrapper add-bg" @click="startAnalysis"> | 18 | <div class="btn-wrapper add-bg" @click="startAnalysis"> |
21 | <img style="width: 20px; height: 20px; margin: 0 5px 0 44px" src="../assets/icon_开始分析.png" alt=""> | 19 | <img style="width: 20px; height: 20px; margin: 0 5px 0 44px" src="../assets/icon_开始分析.png" alt=""> |
... | @@ -26,7 +24,6 @@ | ... | @@ -26,7 +24,6 @@ |
26 | <span>清除分析结果</span> | 24 | <span>清除分析结果</span> |
27 | </div> | 25 | </div> |
28 | </div> | 26 | </div> |
29 | |||
30 | <div class="table-box" style="padding: 18px 24px 30px 24px;"> | 27 | <div class="table-box" style="padding: 18px 24px 30px 24px;"> |
31 | <el-table :data="tableData" :highlight-current-row='false' height="242" border style="width: 100%"> | 28 | <el-table :data="tableData" :highlight-current-row='false' height="242" border style="width: 100%"> |
32 | <el-table-column prop="name" label="名称" align='center'> | 29 | <el-table-column prop="name" label="名称" align='center'> |
... | @@ -64,7 +61,7 @@ | ... | @@ -64,7 +61,7 @@ |
64 | name: '1号楼', | 61 | name: '1号楼', |
65 | height: '34', | 62 | height: '34', |
66 | superelevation: '4' | 63 | superelevation: '4' |
67 | }, ] | 64 | },] |
68 | } | 65 | } |
69 | }, | 66 | }, |
70 | mounted() {}, | 67 | mounted() {}, | ... | ... |
... | @@ -102,6 +102,12 @@ | ... | @@ -102,6 +102,12 @@ |
102 | </el-tooltip> | 102 | </el-tooltip> |
103 | </div> | 103 | </div> |
104 | 104 | ||
105 | <!--可视域分析 --> | ||
106 | <div class="func-ico" :class="[visualField?'selected':'']" @click="handlevisualField('visualField')"> | ||
107 | <el-tooltip class="item" effect="dark" content="可视域分析" placement="left"> | ||
108 | <img src="../assets/一张图/icon_通视.png" alt=""> | ||
109 | </el-tooltip> | ||
110 | </div> | ||
105 | 111 | ||
106 | <!-- <div class="func-ico" :class="[is2D?'selected':'']" @click="handleIs2D()"> | 112 | <!-- <div class="func-ico" :class="[is2D?'selected':'']" @click="handleIs2D()"> |
107 | <img src="../assets/toolbar_icon_ 展开.png" alt=""> | 113 | <img src="../assets/toolbar_icon_ 展开.png" alt=""> |
... | @@ -117,8 +123,8 @@ | ... | @@ -117,8 +123,8 @@ |
117 | components: {}, | 123 | components: {}, |
118 | props: ['isReturn', 'enlarge', 'narrow', 'coordinate', 'distance', | 124 | props: ['isReturn', 'enlarge', 'narrow', 'coordinate', 'distance', |
119 | 'area', 'marker', 'rollerShutter', 'splitScreen', 'toNorth', | 125 | 'area', 'marker', 'rollerShutter', 'splitScreen', 'toNorth', |
120 | 'topSee', 'roundSee', 'horizon', 'allSee','ymAnslysis', | 126 | 'topSee', 'roundSee', 'horizon', 'allSee', 'ymAnslysis', |
121 | 'tjxAnslysis', 'yyAnslysis', 'kgAnalusis' | 127 | 'tjxAnslysis', 'yyAnslysis', 'kgAnalusis', 'visualField' |
122 | ], | 128 | ], |
123 | data() { | 129 | data() { |
124 | return {} | 130 | return {} |
... | @@ -181,6 +187,9 @@ | ... | @@ -181,6 +187,9 @@ |
181 | }, | 187 | }, |
182 | handlekgAnalusis(val) { | 188 | handlekgAnalusis(val) { |
183 | this.$emit('kgAnalusis', val, this.kgAnalusis); | 189 | this.$emit('kgAnalusis', val, this.kgAnalusis); |
190 | }, | ||
191 | handlevisualField(val) { | ||
192 | this.$emit('visualField', val, this.visualField); | ||
184 | } | 193 | } |
185 | } | 194 | } |
186 | } | 195 | } | ... | ... |
src/components/visualField.vue
0 → 100644
1 | // 淹没分析弹窗 | ||
2 | <template> | ||
3 | <div class="container"> | ||
4 | <div class="wrapper"> | ||
5 | <div class="box"> | ||
6 | </div> | ||
7 | </div> | ||
8 | <div class="mian"> | ||
9 | <div class="title"> | ||
10 | <span>可视域分析</span> | ||
11 | <span @click="closePop" class="close">×</span> | ||
12 | </div> | ||
13 | <div class="func-input"> | ||
14 | <span class="width-class">方向</span> | ||
15 | <el-slider style="width: 150px;" v-model="direction" :min='0' :max='360' :step='1'></el-slider> | ||
16 | <el-input-number v-model="direction" controls-position="right" | ||
17 | style="width:100px; height:38px; margin-left: 12px;" :step='step' :min="0" :max="360"> | ||
18 | </el-input-number> | ||
19 | <span style="margin-left: 12px;">度</span> | ||
20 | </div> | ||
21 | <div class="func-input"> | ||
22 | <span class="width-class">翻转</span> | ||
23 | <el-slider style="width: 150px;" v-model="flip" :min='0' :max='360' :step='1'></el-slider> | ||
24 | <el-input-number v-model="flip" controls-position="right" | ||
25 | style="width:100px; height:38px; margin-left: 12px;" :step='step' :min="0" :max="360"> | ||
26 | </el-input-number> | ||
27 | <span style="margin-left: 12px;">度</span> | ||
28 | </div> | ||
29 | <div class="func-input"> | ||
30 | <span class="width-class">距离</span> | ||
31 | <el-slider style="width: 150px;" v-model="distance" :min='0' :max='10000' :step='1'></el-slider> | ||
32 | <el-input-number v-model="distance" controls-position="right" | ||
33 | style="width:100px; height:38px; margin-left: 12px;" :step='step' :min="0" :max="10000"> | ||
34 | </el-input-number> | ||
35 | <span style="margin-left: 12px;">米</span> | ||
36 | </div> | ||
37 | <div class="func-input"> | ||
38 | <span class="width-class">水平视场角</span> | ||
39 | <el-slider style="width: 150px;" v-model="level" :min='0' :max='360' :step='1'></el-slider> | ||
40 | <el-input-number v-model="level" controls-position="right" | ||
41 | style="width:100px; height:38px; margin-left: 12px;" :step='step' :min="0" :max="360"> | ||
42 | </el-input-number> | ||
43 | <span style="margin-left: 12px;">度</span> | ||
44 | </div> | ||
45 | <div class="func-input"> | ||
46 | <span class="width-class">垂直视场角</span> | ||
47 | <el-slider style="width: 150px;" v-model="vertical" :min='0' :max='360' :step='1'></el-slider> | ||
48 | <el-input-number v-model="vertical" controls-position="right" | ||
49 | style="width:100px; height:38px; margin-left: 12px;" :step='step' :min="0" :max="360"> | ||
50 | </el-input-number> | ||
51 | <span style="margin-left: 12px;">度</span> | ||
52 | </div> | ||
53 | <div class="select-color"> | ||
54 | <div class="block"> | ||
55 | <div class="demonstration">可见区域颜色</div> | ||
56 | <el-color-picker v-model="yesColor"></el-color-picker> | ||
57 | </div> | ||
58 | <div class="block"> | ||
59 | <div class="demonstration">不可见区域颜色</div> | ||
60 | <el-color-picker v-model="noColor"></el-color-picker> | ||
61 | </div> | ||
62 | </div> | ||
63 | </div> | ||
64 | </div> | ||
65 | </template> | ||
66 | |||
67 | <script> | ||
68 | export default { | ||
69 | name: 'allSee', | ||
70 | components: {}, | ||
71 | data() { | ||
72 | return { | ||
73 | step: 1, | ||
74 | num: 1, | ||
75 | direction: 180, // 方向 | ||
76 | flip: 90, // 翻转 | ||
77 | distance: 0, // 距离 | ||
78 | level: 180, // 水平视场角 | ||
79 | vertical: 180, // 垂直视场角 | ||
80 | yesColor: 'red', // 可见区域颜色 | ||
81 | noColor: 'rgba(255, 69, 0, 0.68)', // 不可见区域颜色 | ||
82 | |||
83 | isXmbj: true, | ||
84 | // isAnalysis: true | ||
85 | } | ||
86 | }, | ||
87 | mounted() {}, | ||
88 | methods: { | ||
89 | closePop() { | ||
90 | this.$emit('closePop', 'visualField') | ||
91 | }, | ||
92 | handleChange() { | ||
93 | |||
94 | }, | ||
95 | startAnalysis() { | ||
96 | // this.isAnalysis = true; | ||
97 | }, | ||
98 | stopAnalysis() { | ||
99 | // this.isAnalysis = false; | ||
100 | }, | ||
101 | handleIsXmbj(flag) { | ||
102 | this.isXmbj = flag; | ||
103 | } | ||
104 | } | ||
105 | } | ||
106 | </script> | ||
107 | |||
108 | <style scoped> | ||
109 | .container { | ||
110 | position: relative; | ||
111 | color: #fff; | ||
112 | font-size: 16px; | ||
113 | width: 450px; | ||
114 | } | ||
115 | |||
116 | .wrapper { | ||
117 | position: absolute; | ||
118 | width: 100%; | ||
119 | height: 100%; | ||
120 | z-index: 1; | ||
121 | border: 1px solid rgba(151, 151, 151, 0.58); | ||
122 | } | ||
123 | |||
124 | .box { | ||
125 | background: rgba(4, 10, 10, 0.58); | ||
126 | box-shadow: 0px 4px 9px 0px rgba(0, 0, 0, 0.5); | ||
127 | /* filter: blur(10px); */ | ||
128 | height: 100px; | ||
129 | position: absolute; | ||
130 | width: 100%; | ||
131 | height: 100%; | ||
132 | z-index: 1; | ||
133 | } | ||
134 | |||
135 | .mian { | ||
136 | position: relative; | ||
137 | width: 100%; | ||
138 | height: 100%; | ||
139 | z-index: 1000; | ||
140 | } | ||
141 | |||
142 | .list-box span:nth-of-type(1) { | ||
143 | display: inline-block; | ||
144 | width: 98px; | ||
145 | margin-right: 20px; | ||
146 | color: rgba(255, 255, 255, .7); | ||
147 | } | ||
148 | |||
149 | .list-box span:nth-of-type(2) { | ||
150 | margin-top: 14px; | ||
151 | display: inline-block; | ||
152 | } | ||
153 | |||
154 | |||
155 | .title { | ||
156 | display: flex; | ||
157 | justify-content: space-between; | ||
158 | border-bottom: 1px solid rgba(255, 255, 255, 0.15); | ||
159 | padding: 18px 24px; | ||
160 | font-size: 20px; | ||
161 | } | ||
162 | |||
163 | |||
164 | .func-input { | ||
165 | display: flex; | ||
166 | align-items: center; | ||
167 | /* justify-content: space-between; */ | ||
168 | padding: 18px 24px 0px 24px; | ||
169 | font-size: 18px; | ||
170 | cursor: pointer; | ||
171 | } | ||
172 | |||
173 | .func { | ||
174 | padding: 18px 24px; | ||
175 | } | ||
176 | |||
177 | |||
178 | |||
179 | .func-btn { | ||
180 | display: flex; | ||
181 | padding: 18px 24px 37px 24px; | ||
182 | align-items: center; | ||
183 | font-size: 18px; | ||
184 | cursor: pointer; | ||
185 | } | ||
186 | |||
187 | .btn-wrapper { | ||
188 | display: flex; | ||
189 | align-items: center; | ||
190 | width: 190px; | ||
191 | height: 36px; | ||
192 | background-image: url('../assets/弹窗按钮背景-默认.png'); | ||
193 | background-size: 100% 100%; | ||
194 | background-repeat: no-repeat; | ||
195 | line-height: 36px; | ||
196 | } | ||
197 | |||
198 | .add-bg { | ||
199 | background-image: url('../assets/弹窗按钮背景-选中.png'); | ||
200 | } | ||
201 | |||
202 | |||
203 | .btn-wrapper2 { | ||
204 | display: flex; | ||
205 | align-items: center; | ||
206 | width: 116px; | ||
207 | height: 38px; | ||
208 | background-image: url('../assets/一张图/bg_专题分析.png'); | ||
209 | background-size: 100% 100%; | ||
210 | background-repeat: no-repeat; | ||
211 | text-align: center; | ||
212 | line-height: 38px; | ||
213 | margin-left: 13px; | ||
214 | } | ||
215 | |||
216 | .add-bg2 { | ||
217 | background-image: url('../assets/一张图/bg_资源目录.png'); | ||
218 | } | ||
219 | |||
220 | .close { | ||
221 | cursor: pointer; | ||
222 | } | ||
223 | |||
224 | .center { | ||
225 | display: inline-block; | ||
226 | width: 100%; | ||
227 | height: 100%; | ||
228 | text-align: center; | ||
229 | } | ||
230 | |||
231 | .width-class { | ||
232 | width: 90px; | ||
233 | font-size: 16px; | ||
234 | } | ||
235 | |||
236 | .select-color { | ||
237 | display: flex; | ||
238 | justify-content: space-around; | ||
239 | text-align: center; | ||
240 | padding: 30px 0px; | ||
241 | } | ||
242 | |||
243 | .demonstration { | ||
244 | margin-bottom: 10px; | ||
245 | font-size: 16px; | ||
246 | } | ||
247 | |||
248 | >>>input::-webkit-input-placeholder { | ||
249 | font-size: 16px; | ||
250 | color: rgba(255, 255, 255, 0.78) !important; | ||
251 | } | ||
252 | |||
253 | >>>.el-input__inner { | ||
254 | background: rgba(4, 10, 10, 0.58) !important; | ||
255 | border: 1px solid rgba(23, 34, 38, 0.57); | ||
256 | color: #fff; | ||
257 | } | ||
258 | |||
259 | >>>.el-input-number.is-controls-right .el-input__inner { | ||
260 | text-align: left; | ||
261 | } | ||
262 | |||
263 | >>>.el-input__suffix { | ||
264 | color: #fff; | ||
265 | font-size: 17px; | ||
266 | } | ||
267 | |||
268 | >>>.el-input-number__increase, | ||
269 | >>>.el-input-number__decrease { | ||
270 | background: rgba(4, 10, 10, 0.58); | ||
271 | } | ||
272 | |||
273 | >>>.el-input-number.is-controls-right .el-input-number__decrease, | ||
274 | >>>.el-input-number__increase { | ||
275 | border-left: 1px solid rgba(4, 10, 10, 0.58); | ||
276 | } | ||
277 | |||
278 | >>>.el-icon-arrow-up:before, | ||
279 | >>>.el-icon-arrow-down:before { | ||
280 | color: #fff; | ||
281 | } | ||
282 | |||
283 | >>>.el-input-number.is-controls-right .el-input-number__increase { | ||
284 | border-bottom: 1px solid rgba(4, 10, 10, 0.58); | ||
285 | } | ||
286 | </style> | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
... | @@ -10,7 +10,6 @@ | ... | @@ -10,7 +10,6 @@ |
10 | <span>淹没分析</span> | 10 | <span>淹没分析</span> |
11 | <span @click="closePop" class="close">×</span> | 11 | <span @click="closePop" class="close">×</span> |
12 | </div> | 12 | </div> |
13 | |||
14 | <div class="func-input"> | 13 | <div class="func-input"> |
15 | <span>分析区域</span> | 14 | <span>分析区域</span> |
16 | <div class="btn-wrapper2" :class="[isXmbj?'add-bg2': '']" @click="handleIsXmbj(true)"> | 15 | <div class="btn-wrapper2" :class="[isXmbj?'add-bg2': '']" @click="handleIsXmbj(true)"> |
... | @@ -20,7 +19,6 @@ | ... | @@ -20,7 +19,6 @@ |
20 | <span class="center">绘制</span> | 19 | <span class="center">绘制</span> |
21 | </div> | 20 | </div> |
22 | </div> | 21 | </div> |
23 | |||
24 | <div class="func-input"> | 22 | <div class="func-input"> |
25 | <span>水底高程</span> | 23 | <span>水底高程</span> |
26 | <el-input-number v-model="sdgc" controls-position="right" | 24 | <el-input-number v-model="sdgc" controls-position="right" |
... | @@ -28,7 +26,6 @@ | ... | @@ -28,7 +26,6 @@ |
28 | </el-input-number> | 26 | </el-input-number> |
29 | <span style="margin-left: 12px;">米</span> | 27 | <span style="margin-left: 12px;">米</span> |
30 | </div> | 28 | </div> |
31 | |||
32 | <div class="func-input"> | 29 | <div class="func-input"> |
33 | <span>水位深度</span> | 30 | <span>水位深度</span> |
34 | <el-input-number v-model="swsd" controls-position="right" | 31 | <el-input-number v-model="swsd" controls-position="right" |
... | @@ -43,7 +40,6 @@ | ... | @@ -43,7 +40,6 @@ |
43 | </el-input-number> | 40 | </el-input-number> |
44 | <span style="margin-left: 12px;">米</span> | 41 | <span style="margin-left: 12px;">米</span> |
45 | </div> | 42 | </div> |
46 | |||
47 | <div class="func-input"> | 43 | <div class="func-input"> |
48 | <span>当前水位</span> | 44 | <span>当前水位</span> |
49 | <span style="margin-left: 36px;">1263.7米</span> | 45 | <span style="margin-left: 36px;">1263.7米</span> |
... | @@ -58,7 +54,6 @@ | ... | @@ -58,7 +54,6 @@ |
58 | <span>暂停分析</span> | 54 | <span>暂停分析</span> |
59 | </div> | 55 | </div> |
60 | </div> | 56 | </div> |
61 | |||
62 | </div> | 57 | </div> |
63 | </div> | 58 | </div> |
64 | </template> | 59 | </template> | ... | ... |
... | @@ -19,6 +19,37 @@ | ... | @@ -19,6 +19,37 @@ |
19 | </div> | 19 | </div> |
20 | 20 | ||
21 | <div class="func-input"> | 21 | <div class="func-input"> |
22 | <span>开始时间</span> | ||
23 | <el-time-picker style="margin:0 12px; width: 245px;" v-model="staTime" | ||
24 | :picker-options="pickerOptions" placeholder="选择开始时间"> | ||
25 | </el-time-picker> | ||
26 | </div> | ||
27 | <div class="func-input"> | ||
28 | <span>结束时间</span> | ||
29 | <el-time-picker style="margin:0 12px; width: 245px;" v-model="endTime" | ||
30 | :picker-options="pickerOptions" placeholder="选择结束时间"> | ||
31 | </el-time-picker> | ||
32 | </div> | ||
33 | |||
34 | <!-- <div class="func-input"> | ||
35 | <div class="btn-wrapper2" :class="[isCF?'add-bg2': '']" @click="handleIsXmbj('isCF')"> | ||
36 | <span class="center">春分</span> | ||
37 | </div> | ||
38 | <div class="btn-wrapper2" :class="[isXZ?'add-bg2': '']" @click="handleIsXmbj('isXZ')"> | ||
39 | <span class="center">夏至</span> | ||
40 | </div> | ||
41 | <div class="btn-wrapper2" :class="[isQF?'add-bg2': '']" @click="handleIsXmbj('isQF')"> | ||
42 | <span class="center">秋分</span> | ||
43 | </div> | ||
44 | <div class="btn-wrapper2" :class="[isLD?'add-bg2': '']" @click="handleIsXmbj('isLD')"> | ||
45 | <span class="center">立冬</span> | ||
46 | </div> | ||
47 | <div class="btn-wrapper2" :class="[isDZ?'add-bg2': '']" @click="handleIsXmbj('isDZ')"> | ||
48 | <span class="center">冬至</span> | ||
49 | </div> | ||
50 | </div> --> | ||
51 | |||
52 | <div class="func-input"> | ||
22 | <span>时间间隔 </span> | 53 | <span>时间间隔 </span> |
23 | <el-input-number v-model="timeS" controls-position="right" :min="0" :max="1000" | 54 | <el-input-number v-model="timeS" controls-position="right" :min="0" :max="1000" |
24 | style="margin:0 12px; width: 245px;"></el-input-number> | 55 | style="margin:0 12px; width: 245px;"></el-input-number> |
... | @@ -45,7 +76,6 @@ | ... | @@ -45,7 +76,6 @@ |
45 | </template> | 76 | </template> |
46 | 77 | ||
47 | <script> | 78 | <script> |
48 | import shadow from "../assets/js/map/shadow"; | ||
49 | let maxW = 24 * 60 * 60 * 1000 - 1 * 60 * 1000 | 79 | let maxW = 24 * 60 * 60 * 1000 - 1 * 60 * 1000 |
50 | export default { | 80 | export default { |
51 | name: 'yyAnslysis', | 81 | name: 'yyAnslysis', |
... | @@ -62,7 +92,7 @@ | ... | @@ -62,7 +92,7 @@ |
62 | anslysisTime: '', | 92 | anslysisTime: '', |
63 | timeS: 30, // 时间间隔 | 93 | timeS: 30, // 时间间隔 |
64 | time: 0 * 60 * 60 * 1000, // 滑块时间 | 94 | time: 0 * 60 * 60 * 1000, // 滑块时间 |
65 | max: (24 * 60 * 60 * 1000 - 1* 60 * 1000), | 95 | max: (24 * 60 * 60 * 1000 - 1 * 60 * 1000), |
66 | marks: { | 96 | marks: { |
67 | 0: '0:00', | 97 | 0: '0:00', |
68 | [maxW]: '23:59', | 98 | [maxW]: '23:59', |
... | @@ -72,8 +102,16 @@ | ... | @@ -72,8 +102,16 @@ |
72 | // }, | 102 | // }, |
73 | // label: this.$createElement('strong', '50%') | 103 | // label: this.$createElement('strong', '50%') |
74 | // } | 104 | // } |
105 | }, | ||
106 | pickerOptions: { // 时间选择器 时间范围限制 | ||
107 | selectableRange: '00:00:00 - 23:59:59' | ||
108 | }, | ||
109 | staTime: '', // 开始时间 | ||
110 | endTime: '', // 结束时间 | ||
75 | } | 111 | } |
76 | } | 112 | }, |
113 | watch: { | ||
114 | |||
77 | }, | 115 | }, |
78 | mounted() { | 116 | mounted() { |
79 | this.shadow instanceof shadow || (this.shadow = new shadow()); | 117 | this.shadow instanceof shadow || (this.shadow = new shadow()); |
... | @@ -112,7 +150,7 @@ | ... | @@ -112,7 +150,7 @@ |
112 | formatTooltip(val) { | 150 | formatTooltip(val) { |
113 | let nowTime = this.commons.dateZhuan('yyyy-MM-dd 00:00:00', new Date()); | 151 | let nowTime = this.commons.dateZhuan('yyyy-MM-dd 00:00:00', new Date()); |
114 | let nowSjc = new Date(nowTime).getTime(); | 152 | let nowSjc = new Date(nowTime).getTime(); |
115 | nowSjc+=val; | 153 | nowSjc += val; |
116 | let sfd = this.commons.dateZhuan('hh:mm', new Date(nowSjc)); | 154 | let sfd = this.commons.dateZhuan('hh:mm', new Date(nowSjc)); |
117 | return sfd; | 155 | return sfd; |
118 | } | 156 | } |
... | @@ -283,6 +321,7 @@ | ... | @@ -283,6 +321,7 @@ |
283 | >>>.el-icon-arrow-up:before, | 321 | >>>.el-icon-arrow-up:before, |
284 | >>>.el-icon-arrow-down:before { | 322 | >>>.el-icon-arrow-down:before { |
285 | color: #fff; | 323 | color: #fff; |
324 | cursor: pointer; | ||
286 | } | 325 | } |
287 | 326 | ||
288 | >>>.el-input-number.is-controls-right .el-input-number__increase { | 327 | >>>.el-input-number.is-controls-right .el-input-number__increase { |
... | @@ -295,7 +334,7 @@ | ... | @@ -295,7 +334,7 @@ |
295 | box-shadow: 0 2px 8px 0 rgba(0, 0, 0, 0.20); | 334 | box-shadow: 0 2px 8px 0 rgba(0, 0, 0, 0.20); |
296 | } | 335 | } |
297 | 336 | ||
298 | >>> .el-slider__marks-text { | 337 | >>>.el-slider__marks-text { |
299 | color: #fff; | 338 | color: #fff; |
300 | } | 339 | } |
301 | </style> | 340 | </style> |
... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
... | @@ -6,5 +6,6 @@ | ... | @@ -6,5 +6,6 @@ |
6 | */ | 6 | */ |
7 | export default { | 7 | export default { |
8 | url: '', | 8 | url: '', |
9 | loginUrl: 'http://10.6.144.88:10001/orup', | ||
9 | mapToken: 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiJhMzMwMjAwZS1lODRmLTRhNzQtODBkOS01YjZkM2ZkYzRmOGMiLCJpZCI6MzE3MzEsInNjb3BlcyI6WyJhc3IiLCJnYyJdLCJpYXQiOjE1OTU5MDA0Njd9.K5Rnvdzv5vDjlEbBH-2vEPMJYPgBDs__uvQHZz6jXTc' | 10 | mapToken: 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiJhMzMwMjAwZS1lODRmLTRhNzQtODBkOS01YjZkM2ZkYzRmOGMiLCJpZCI6MzE3MzEsInNjb3BlcyI6WyJhc3IiLCJnYyJdLCJpYXQiOjE1OTU5MDA0Njd9.K5Rnvdzv5vDjlEbBH-2vEPMJYPgBDs__uvQHZz6jXTc' |
10 | } | 11 | } |
... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
... | @@ -28,9 +28,48 @@ | ... | @@ -28,9 +28,48 @@ |
28 | 28 | ||
29 | @ymAnslysis='EymAnslysis' | 29 | @ymAnslysis='EymAnslysis' |
30 | @tjxAnslysis='EtjxAnslysis' | 30 | @tjxAnslysis='EtjxAnslysis' |
31 | @visualField='EvisualField' | ||
31 | @yyAnslysis='EyyAnslysis' | 32 | @yyAnslysis='EyyAnslysis' |
32 | @kgAnalusis='EkgAnalusis' | 33 | @kgAnalusis='EkgAnalusis' |
34 | <div class="rightFunc"> | ||
35 | <rightFunc @isReturn='EisReturn' | ||
36 | @enlarge='Eenlarge' | ||
37 | @narrow='narrow' | ||
38 | @coordinate='Ecoordinate' | ||
39 | @distance='Edistance' | ||
40 | @area='Earea' | ||
41 | @marker='Emarker' | ||
42 | @rollerShutter='ErollerShutter' | ||
43 | @splitScreen='EsplitScreen' | ||
44 | @toNorth='EtoNorth' | ||
45 | @topSee='EtopSee' | ||
46 | @roundSee='EroundSee' | ||
47 | @horizon='Ehorizon' | ||
48 | @allSee='EallSee' | ||
33 | 49 | ||
50 | @ymAnslysis='EymAnslysis' | ||
51 | @tjxAnslysis='EtjxAnslysis' | ||
52 | @yyAnslysis='EyyAnslysis' | ||
53 | @kgAnalusis='EkgAnalusis' | ||
54 | |||
55 | :enlarge='enlarge' | ||
56 | :narrow='narrow' | ||
57 | :coordinate='coordinate' | ||
58 | :distance='distance' | ||
59 | :area='area' | ||
60 | :marker='marker' | ||
61 | :rollerShutter='rollerShutter' | ||
62 | :splitScreen='splitScreen' | ||
63 | :toNorth='toNorth' | ||
64 | :topSee='topSee' | ||
65 | :roundSee='roundSee' | ||
66 | :horizon='horizon' | ||
67 | :allSee='allSee' | ||
68 | :ymAnslysis='ymAnslysis' | ||
69 | :tjxAnslysis='tjxAnslysis' | ||
70 | :visualField='visualField' | ||
71 | :yyAnslysis='yyAnslysis' | ||
72 | :kgAnalusis='kgAnalusis'></rightFunc> | ||
34 | :enlarge='enlarge' | 73 | :enlarge='enlarge' |
35 | :narrow='narrow' | 74 | :narrow='narrow' |
36 | :coordinate='coordinate' | 75 | :coordinate='coordinate' |
... | @@ -57,7 +96,7 @@ | ... | @@ -57,7 +96,7 @@ |
57 | </div> --> | 96 | </div> --> |
58 | <!-- <div class="mapPop"> | 97 | <!-- <div class="mapPop"> |
59 | <mapPop></mapPop> | 98 | <mapPop></mapPop> |
60 | </div> --> | 99 | </div> |
61 | <div class="allSee" v-if='allSee'> | 100 | <div class="allSee" v-if='allSee'> |
62 | <allSee @closePop='closePop'></allSee> | 101 | <allSee @closePop='closePop'></allSee> |
63 | </div> | 102 | </div> |
... | @@ -73,6 +112,12 @@ | ... | @@ -73,6 +112,12 @@ |
73 | <div class="allSee tjx-anslysis" v-if='tjxAnslysis'> | 112 | <div class="allSee tjx-anslysis" v-if='tjxAnslysis'> |
74 | <tjxAnslysis @closePop='closePop'></tjxAnslysis> | 113 | <tjxAnslysis @closePop='closePop'></tjxAnslysis> |
75 | </div> | 114 | </div> |
115 | |||
116 | |||
117 | <div class="allSee tjx-anslysis" v-if='visualField'> | ||
118 | <visualField @closePop='closePop'></visualField> | ||
119 | </div> | ||
120 | |||
76 | <div class="allSee" v-if='yyAnslysis'> | 121 | <div class="allSee" v-if='yyAnslysis'> |
77 | <yyAnslysis @closePop='closePop'></yyAnslysis> | 122 | <yyAnslysis @closePop='closePop'></yyAnslysis> |
78 | </div> | 123 | </div> |
... | @@ -137,6 +182,7 @@ | ... | @@ -137,6 +182,7 @@ |
137 | import kgAnalusis from '../components/kgAnalusis'; // 控高分析 | 182 | import kgAnalusis from '../components/kgAnalusis'; // 控高分析 |
138 | import URL_CONFIG from "./../config/urlConfig.vue"; | 183 | import URL_CONFIG from "./../config/urlConfig.vue"; |
139 | const Cesium = window.Cesium; | 184 | const Cesium = window.Cesium; |
185 | import visualField from '../components/visualField' //可视域分析 | ||
140 | 186 | ||
141 | export default { | 187 | export default { |
142 | components: { | 188 | components: { |
... | @@ -151,6 +197,7 @@ | ... | @@ -151,6 +197,7 @@ |
151 | ymAnslysis, | 197 | ymAnslysis, |
152 | horizon, | 198 | horizon, |
153 | tjxAnslysis, | 199 | tjxAnslysis, |
200 | visualField, | ||
154 | yyAnslysis, | 201 | yyAnslysis, |
155 | kgAnalusis, | 202 | kgAnalusis, |
156 | }, | 203 | }, |
... | @@ -174,12 +221,13 @@ | ... | @@ -174,12 +221,13 @@ |
174 | allSee: false, // 通视 | 221 | allSee: false, // 通视 |
175 | ymAnslysis: false, // 淹没分析 | 222 | ymAnslysis: false, // 淹没分析 |
176 | tjxAnslysis: false, // 天际线分析 | 223 | tjxAnslysis: false, // 天际线分析 |
224 | visualField: false, // 可视域分析 | ||
177 | yyAnslysis: false, // 阴影分析 | 225 | yyAnslysis: false, // 阴影分析 |
178 | kgAnalusis: false, // 控高分析 | 226 | kgAnalusis: false, // 控高分析 |
179 | keepArr: ['isReturn', 'enlarge', 'narrow', 'coordinate', 'distance', | 227 | keepArr: ['isReturn', 'enlarge', 'narrow', 'coordinate', 'distance', |
180 | 'area', 'marker', 'rollerShutter', 'splitScreen', 'toNorth', | 228 | 'area', 'marker', 'rollerShutter', 'splitScreen', 'toNorth', |
181 | 'topSee', 'roundSee', 'horizon', 'allSee', 'ymAnslysis', | 229 | 'topSee', 'roundSee', 'horizon', 'allSee', 'ymAnslysis', |
182 | 'tjxAnslysis', 'yyAnslysis', 'kgAnalusis'] | 230 | 'tjxAnslysis', 'yyAnslysis', 'kgAnalusis', 'visualField'] |
183 | } | 231 | } |
184 | }, | 232 | }, |
185 | mounted() { | 233 | mounted() { |
... | @@ -295,7 +343,93 @@ | ... | @@ -295,7 +343,93 @@ |
295 | ,EtopSee() {} | 343 | ,EtopSee() {} |
296 | // 环视 | 344 | // 环视 |
297 | ,EroundSee() { | 345 | ,EroundSee() { |
298 | // this.visual instanceof visual || (this.visual = new visual(this.viewer)); | 346 | // var parentEntity = this.viewer.entities.add(new Cesium.Entity()), positions = [], cartesian, polyline; |
347 | // this.handler = new Cesium.ScreenSpaceEventHandler(this.viewer.scene.canvas) | ||
348 | // this.handler.setInputAction(evt => { | ||
349 | |||
350 | // cartesian = this.viewer.scene.pickPosition(evt.position); | ||
351 | // // cartesian = this.draw.getCatesian3FromPX(evt.position, this.viewer, []); | ||
352 | // positions.push(cartesian.clone()); | ||
353 | // // addCompany.createPoint.call(this, {position: cartesian}) | ||
354 | |||
355 | // if(positions.length === 1) { | ||
356 | // this.handler.setInputAction(moveEvent => { | ||
357 | // positions[1] = this.viewer.scene.pickPosition(moveEvent.endPosition); | ||
358 | // // positions[1] = this.draw.getCatesian3FromPX(moveEvent.endPosition, this.viewer, []); | ||
359 | // !polyline && (polyline = addCompany.createPolyline.call(this, positions)); | ||
360 | // }, Cesium.ScreenSpaceEventType.MOUSE_MOVE); | ||
361 | // return; | ||
362 | // } | ||
363 | |||
364 | |||
365 | // this.handler.destroy(); | ||
366 | // // console.log(Cesium.Cartesian3.distance(positions[0], positions[1])); | ||
367 | // // var cartesian = this.draw.getCatesian3FromPX(evt.position, this.viewer, []); | ||
368 | // var viewPointEntity = this.viewer.entities.add({ | ||
369 | // parent: parentEntity, | ||
370 | // position: positions[0], | ||
371 | // ellipsoid: { | ||
372 | // radii: new Cesium.Cartesian3(5, 5, 5), | ||
373 | // material: Cesium.Color.GREEN | ||
374 | // } | ||
375 | // }); | ||
376 | // // // 世界坐标转换为投影坐标 | ||
377 | // var webMercatorProjection = new Cesium.WebMercatorProjection(this.viewer.scene.globe.ellipsoid); | ||
378 | // var viewPointWebMercator = webMercatorProjection.project(Cesium.Cartographic.fromCartesian(positions[0])); | ||
379 | // // // 排除碰撞监测的对象 | ||
380 | // var objectsToExclude = [viewPointEntity]; | ||
381 | |||
382 | // // 目标点集合 | ||
383 | // var destPoints = []; | ||
384 | // // 视域点和目标点的距离 | ||
385 | // var radius = Cesium.Cartesian3.distance(positions[0], positions[1]); // 视距1000米 | ||
386 | // // 计算一圈 | ||
387 | // for (var i = 0; i <= 30; i++) { | ||
388 | // // 度数转弧度 | ||
389 | // var radians = Cesium.Math.toRadians(i); | ||
390 | // // 计算目标点 | ||
391 | // var toPoint = new Cesium.Cartesian3(viewPointWebMercator.x + radius * Math.cos(radians), viewPointWebMercator.y + radius * Math.sin(radians), 10); | ||
392 | // // 投影坐标转世界坐标 | ||
393 | // toPoint = webMercatorProjection.unproject(toPoint); | ||
394 | // destPoints.push(Cesium.Cartographic.toCartesian(toPoint.clone())); | ||
395 | // } | ||
396 | // let viewer = this.viewer; | ||
397 | // // 绘制线 | ||
398 | // function drawLine(leftPoint, secPoint, color) { | ||
399 | // viewer.entities.add({ | ||
400 | // polyline: { | ||
401 | // positions: [leftPoint, secPoint], | ||
402 | // arcType: Cesium.ArcType.NONE, | ||
403 | // width: 5, | ||
404 | // material: color, | ||
405 | // depthFailMaterial: color | ||
406 | // } | ||
407 | // }) | ||
408 | // } | ||
409 | // pickFromRay.call(this); | ||
410 | // function pickFromRay() { | ||
411 | // for (var i = 0; i < destPoints.length; i++) { | ||
412 | // // 计算射线的方向,目标点left 视域点right | ||
413 | // var direction = Cesium.Cartesian3.normalize(Cesium.Cartesian3.subtract(destPoints[i], positions[0], new Cesium.Cartesian3()), new Cesium.Cartesian3()); | ||
414 | // console.log(direction); | ||
415 | // // 建立射线 | ||
416 | // var ray = new Cesium.Ray(positions[0], direction); | ||
417 | // var result = viewer.scene.pickFromRay(ray, objectsToExclude); // 计算交互点,返回第一个 | ||
418 | // showIntersection(result, destPoints[i], positions[0]); | ||
419 | // } | ||
420 | // } | ||
421 | // // 处理交互点 | ||
422 | // function showIntersection(result, destPoint, cartesian) { | ||
423 | // // 如果是场景模型的交互点,排除交互点是地球表面 | ||
424 | // if (Cesium.defined(result) && Cesium.defined(result.object)) { | ||
425 | // drawLine(result.position, cartesian, Cesium.Color.GREEN); // 可视区域 | ||
426 | // drawLine(result.position, destPoint, Cesium.Color.RED); // 不可视区域 | ||
427 | // } else { | ||
428 | // drawLine(cartesian, destPoint, Cesium.Color.GREEN); | ||
429 | // } | ||
430 | // } | ||
431 | // this.handler.destroy(); | ||
432 | // }, Cesium.ScreenSpaceEventType.LEFT_CLICK); | ||
299 | } | 433 | } |
300 | // 视域 | 434 | // 视域 |
301 | ,Ehorizon(val) { | 435 | ,Ehorizon(val) { |
... | @@ -319,6 +453,11 @@ | ... | @@ -319,6 +453,11 @@ |
319 | this[val] = !this[val]; | 453 | this[val] = !this[val]; |
320 | this.onlySelect(val); | 454 | this.onlySelect(val); |
321 | }, | 455 | }, |
456 | // 可视化分析 | ||
457 | EvisualField(val) { | ||
458 | this[val] = !this[val]; | ||
459 | this.onlySelect(val); | ||
460 | }, | ||
322 | // 阴影分析 | 461 | // 阴影分析 |
323 | EyyAnslysis(val) { | 462 | EyyAnslysis(val) { |
324 | this[val] = !this[val]; | 463 | this[val] = !this[val]; | ... | ... |
-
Please register or sign in to post a comment