blob: a1fe4fc0bf1cccf08fca8e254ead59551212869f [file]
import Vue from 'vue'
export function getStepLineName (that, name) {
const stepMap = {
'Detect Resource': that.$t('detectResource'),
'Load Data To Index': that.$t('loadDataToIndex'),
'Merge Segment Data': that.$t('mergeSegmentData'),
'Clean Up Old Segment': that.$t('cleanUpOldSegment'),
'Update Metadata': that.$t('updateMetadata'),
'Table Sampling': that.$t('tableSampling'),
'Build Snapshot': that.$t('buildSnapshot'),
'Clean Up Intermediate Table': that.$t('clearUpIntermediateTable')
}
return stepMap[name]
}
// 子步骤名称
export function getSubTasksName (that, name) {
const subTaskNameMap = {
'Waiting for yarn resources': that.$t('waitingYarnResource'),
'Build or refresh snapshot': that.$t('buildOrRefreshSnapshot'),
'Materialize fact table view': that.$t('materializeFactTableView'),
'Generate global dictionary': that.$t('generateGlobalDict'),
'Generate flat table': that.$t('generateFlatTable'),
'Save flat table': that.$t('saveFlatTable'),
'Cost based planner': that.$t('costBasedPlanner'),
'Get flat table statistics': that.$t('getFlatTableStatistics'),
'Generate global dictionary of computed columns': that.$t('generateDictOfCC'),
'Merge flat table': that.$t('mergeFlatTable'),
'Merge indexes': that.$t('mergeIndexes'),
'Merge flat table statistics': that.$t('mergeFlatTableStatistics'),
'Sample Table Data': that.$t('sampleTableData'),
'Build Snapshot': that.$t('buildSnapshot'),
'Build indexes by layer': that.$t('buildIndexesByLayer'),
'Update flat table statistics': that.$t('updateFlatTableStatistics')
}
return subTaskNameMap[name]
}
export function getSubTaskStatus (subTask) {
const statusType = {
'FINISHED': 'sub-tasks-status is-finished',
'RUNNING': 'running',
'PENDING': 'sub-tasks-status is-pending',
'ERROR': 'sub-tasks-status is-error',
'ERROR_STOP': 'sub-tasks-status is-error-stop',
'DISCARDED': 'icons el-ksd-icon-discarded_6',
'STOPPED': 'sub-tasks-status is-stop',
'SKIP': 'icons el-ksd-icon-skip_6'
}
return statusType[subTask.step_status]
}
export function getStepStatusTips (that, status) {
const statusTips = {
'FINISHED': that.$t('step_finished'),
'RUNNING': that.$t('step_running'),
'PENDING': that.$t('step_pending'),
'ERROR': that.$t('step_error'),
'ERROR_STOP': that.$t('step_error_stop'),
'DISCARDED': that.$t('step_discarded'),
'STOPPED': that.$t('step_stopped'),
'SKIP': that.$t('step_skip')
}
return statusTips[status]
}
// 格式化时间 Xh Xm
export function formatTime (time) {
if (time < 0.01 * 60 * 1000) {
return '< 0.01m'
} else {
const hour = Math.floor(time / 1000 / 60 / 60)
const minutes = Vue.filter('number')((time - hour * 60 * 60 * 1000) / 1000 / 60, 2)
return hour > 0 ? `${hour}h ${minutes}m` : `${minutes}m`
}
}