|
174 | 174 | <template #title>
|
175 | 175 | <div class="center">
|
176 | 176 | <h3><cloud-outlined /> {{ $t('label.compute') }}</h3>
|
| 177 | + <a-switch |
| 178 | + :checked-children="$t('label.allocated') + ' ' + $t('label.capacity')" |
| 179 | + :un-checked-children="$t('label.used') + ' ' + $t('label.capacity')" |
| 180 | + v-model:checked="this.displayAllocatedCompute" |
| 181 | + @change="val => { this.displayAllocatedCompute = val }" |
| 182 | + /> |
177 | 183 | </div>
|
178 | 184 | </template>
|
179 | 185 | <div>
|
|
184 | 190 | </div>
|
185 | 191 | <a-progress
|
186 | 192 | status="active"
|
187 |
| - :percent="statsMap[ctype]?.capacitytotal > 0 ? parseFloat(100.0 * statsMap[ctype]?.capacityused / statsMap[ctype]?.capacitytotal) : 0" |
188 |
| - :format="p => statsMap[ctype]?.capacitytotal > 0 ? parseFloat(100.0 * statsMap[ctype]?.capacityused / statsMap[ctype]?.capacitytotal).toFixed(2) + '%' : '0%'" |
| 193 | + :percent="statsMap[ctype]?.capacitytotal > 0 ? |
| 194 | + displayPercentUsedOrAllocated(statsMap[ctype]?.capacityused, statsMap[ctype]?.capacityallocated, statsMap[ctype]?.capacitytotal) |
| 195 | + : 0" |
| 196 | + :format="p => statsMap[ctype]?.capacitytotal > 0 ? |
| 197 | + displayPercentFormatUsedOrAllocated(statsMap[ctype]?.capacityused, statsMap[ctype]?.capacityallocated, statsMap[ctype]?.capacitytotal) |
| 198 | + : '0%'" |
189 | 199 | stroke-color="#52c41a"
|
190 | 200 | size="small"
|
191 | 201 | style="width:95%; float: left"
|
192 | 202 | />
|
193 | 203 | <br/>
|
194 | 204 | <div style="text-align: center">
|
195 |
| - {{ displayData(ctype, statsMap[ctype]?.capacityused) }} {{ $t('label.allocated') }} | {{ displayData(ctype, statsMap[ctype]?.capacitytotal) }} {{ $t('label.total') }} |
| 205 | + {{ displayDataUsedOrAllocated(ctype, statsMap[ctype]?.capacityused, statsMap[ctype]?.capacityallocated) }} {{ this.displayAllocatedCompute ? $t('label.allocated') : $t('label.used') }} | {{ displayData(ctype, statsMap[ctype]?.capacitytotal) }} {{ $t('label.total') }} |
196 | 206 | </div>
|
197 | 207 | </div>
|
198 | 208 | </div>
|
@@ -346,6 +356,7 @@ export default {
|
346 | 356 | zones: [],
|
347 | 357 | zoneSelected: {},
|
348 | 358 | statsMap: {},
|
| 359 | + displayAllocatedCompute: false, |
349 | 360 | data: {
|
350 | 361 | pods: 0,
|
351 | 362 | clusters: 0,
|
@@ -402,6 +413,18 @@ export default {
|
402 | 413 | }
|
403 | 414 | return 'normal'
|
404 | 415 | },
|
| 416 | + displayPercentUsedOrAllocated (used, allocated, total) { |
| 417 | + var value = this.displayAllocatedCompute ? allocated : used |
| 418 | + return parseFloat(100.0 * value / total) |
| 419 | + }, |
| 420 | + displayPercentFormatUsedOrAllocated (used, allocated, total) { |
| 421 | + var value = this.displayAllocatedCompute ? allocated : used |
| 422 | + return parseFloat(100.0 * value / total).toFixed(2) + '%' |
| 423 | + }, |
| 424 | + displayDataUsedOrAllocated (dataType, used, allocated) { |
| 425 | + var value = this.displayAllocatedCompute ? allocated : used |
| 426 | + return this.displayData(dataType, value) |
| 427 | + }, |
405 | 428 | displayData (dataType, value) {
|
406 | 429 | if (!value) {
|
407 | 430 | value = 0
|
|
0 commit comments