Issues #83: done.
This commit is contained in:
@@ -70,7 +70,6 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<!-- show bar -->
|
<!-- show bar -->
|
||||||
<!-- selectedRuleType === 'Activity sequence' && selectedActivitySequence === 'Sequence' && (selectedActSeqMore === 'Short loop(s)' || selectedActSeqMore === 'Self loop(s)') -->
|
|
||||||
<ConformanceShowBar :class="isShowBar?'':'hidden'"
|
<ConformanceShowBar :class="isShowBar?'':'hidden'"
|
||||||
:isSubmit="isSubmit"
|
:isSubmit="isSubmit"
|
||||||
:isSubmitTask="isSubmitTask"
|
:isSubmitTask="isSubmitTask"
|
||||||
|
|||||||
@@ -1,14 +1,30 @@
|
|||||||
/**
|
/**
|
||||||
* 將數字轉換成簡寫的形式(1k、1m、1b等)
|
* 將數字轉換成簡寫的形式,設定 dhms 的數值
|
||||||
* @param {number} number
|
* @param {number} totalSeconds
|
||||||
* @returns {string}
|
* @returns {string}
|
||||||
*/
|
*/
|
||||||
export default function abbreviateNumber(number) {
|
export default function abbreviateNumber(totalSeconds) {
|
||||||
const SI_SYMBOLS = ["", "k", "m", "b", "t"];
|
let seconds = 0;
|
||||||
const tier = Math.log10(Math.abs(number)) / 3 | 0;
|
let minutes = 0;
|
||||||
const suffix = SI_SYMBOLS[tier];
|
let hours = 0;
|
||||||
const scale = Math.pow(10, tier * 3);
|
let days = 0;
|
||||||
const scaledNumber = number / scale;
|
let result = '';
|
||||||
|
let symbols = ['d', 'h', 'm', 's'];
|
||||||
|
|
||||||
return Math.round(scaledNumber) + suffix;
|
totalSeconds = parseInt(totalSeconds);
|
||||||
}
|
if(!isNaN(totalSeconds)) {
|
||||||
|
seconds = totalSeconds % 60;
|
||||||
|
minutes = (Math.floor(totalSeconds - seconds) / 60) % 60;
|
||||||
|
hours = (Math.floor(totalSeconds / 3600)) % 24;
|
||||||
|
days = Math.floor(totalSeconds / (3600 * 24));
|
||||||
|
};
|
||||||
|
|
||||||
|
const units = [days, hours, minutes, seconds];
|
||||||
|
for(let i = 0; i < units.length; i++) {
|
||||||
|
if(units[i] > 0) result += units[i] + symbols[i];
|
||||||
|
}
|
||||||
|
|
||||||
|
if(totalSeconds === 0) result = '0s';
|
||||||
|
|
||||||
|
return result;
|
||||||
|
};
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ import {useToast} from 'vue-toast-notification';
|
|||||||
import 'vue-toast-notification/dist/theme-sugar.css';
|
import 'vue-toast-notification/dist/theme-sugar.css';
|
||||||
import moment from "moment";
|
import moment from "moment";
|
||||||
import { Decimal } from 'decimal.js';
|
import { Decimal } from 'decimal.js';
|
||||||
|
import abbreviateNumber from '@/module/abbreviateNumber.js';
|
||||||
|
|
||||||
const loading = loadingStore(pinia);
|
const loading = loadingStore(pinia);
|
||||||
const $toast = useToast();
|
const $toast = useToast();
|
||||||
@@ -122,7 +123,7 @@ export default defineStore('conformanceStore', {
|
|||||||
c.facets.map(fac => {
|
c.facets.map(fac => {
|
||||||
switch(fac.type) {
|
switch(fac.type) {
|
||||||
case 'duration-list':
|
case 'duration-list':
|
||||||
fac.value = fac.value.map(v => v !== null ? new Decimal(v.toFixed(2)) : null);
|
fac.value = fac.value.map(v => v !== null ? abbreviateNumber(new Decimal(v.toFixed(2))) : null);
|
||||||
fac.value = fac.value.join(', ');
|
fac.value = fac.value.join(', ');
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
|||||||
Reference in New Issue
Block a user