diff --git a/web_src/vuepages/langs/config/en-US.js b/web_src/vuepages/langs/config/en-US.js index c25b66b5a..84dca541a 100644 --- a/web_src/vuepages/langs/config/en-US.js +++ b/web_src/vuepages/langs/config/en-US.js @@ -128,6 +128,7 @@ const en = { shareMem: 'Share Memory', unitPrice: 'Unit Price', point_hr: 'Point/hr', + free: 'Free', onShelfConfirm: 'Are you sure to on shelf the resources specification?', offShelfConfirm: 'Are you sure to off shelf the resources specification?', onShelfCode1001: 'On shelf failed, the resources queues not available.', diff --git a/web_src/vuepages/langs/config/zh-CN.js b/web_src/vuepages/langs/config/zh-CN.js index c593cd684..fff01bb62 100644 --- a/web_src/vuepages/langs/config/zh-CN.js +++ b/web_src/vuepages/langs/config/zh-CN.js @@ -128,6 +128,7 @@ const zh = { shareMem: '共享内存', unitPrice: '单价', point_hr: '积分/时', + free: '免费', onShelfConfirm: '请确认上架该规格?', offShelfConfirm: '请确认下架该规格?', onShelfCode1001: '上架失败,资源池(队列)不可用。', diff --git a/web_src/vuepages/pages/reward/point/utils.js b/web_src/vuepages/pages/reward/point/utils.js index fed9e48ba..ae6a8f181 100644 --- a/web_src/vuepages/pages/reward/point/utils.js +++ b/web_src/vuepages/pages/reward/point/utils.js @@ -1,7 +1,8 @@ import { formatDate } from 'element-ui/lib/utils/date-util'; -import { SOURCE_TYPE, CONSUME_STATUS, POINT_ACTIONS, JOB_TYPE } from '~/const'; +import { SOURCE_TYPE, CONSUME_STATUS, POINT_ACTIONS, JOB_TYPE, ACC_CARD_TYPE } from '~/const'; import { i18n } from '~/langs'; +import { getListValueWithKey } from '~/utils'; const getSourceType = (key) => { const find = SOURCE_TYPE.filter(item => item.k === key); @@ -55,6 +56,15 @@ const getJobTypeLink = (record, type) => { return link; }; +const renderSpecStr = (spec, showPoint) => { + var ngpu = `${spec.ComputeResource}: ${spec.AccCardsNum + '*' + getListValueWithKey(ACC_CARD_TYPE, spec.AccCardType)}`; + var gpuMemStr = spec.GPUMemGiB != 0 ? `${i18n.t('resourcesManagement.gpuMem')}: ${spec.GPUMemGiB}GB, ` : ''; + var sharedMemStr = spec.ShareMemGiB != 0 ? `, ${i18n.t('resourcesManagement.shareMem')}: ${spec.ShareMemGiB}GB` : ''; + var pointStr = showPoint ? `, ${spec.UnitPrice == 0 ? i18n.t('resourcesManagement.free') : spec.UnitPrice + i18n.t('resourcesManagement.point_hr')}` : ''; + var specStr = `${ngpu}, CPU: ${spec.CpuCores}, ${gpuMemStr}${i18n.t('resourcesManagement.mem')}: ${spec.MemGiB}GB${sharedMemStr}${pointStr}`; + return specStr; +}; + export const getRewardPointRecordInfo = (record) => { const out = { sn: record.SerialNo, @@ -136,11 +146,15 @@ export const getRewardPointRecordInfo = (record) => { // } else if (record.SourceType === 'RUN_CLOUDBRAIN_TASK') { out.taskName = `${record?.Cloudbrain?.DisplayJobName}`; - if (record?.Cloudbrain?.ComputeResource === 'CPU/GPU') { - const resourceSpec = record?.Cloudbrain?.ResourceSpec?.ResourceSpec; - out.remark = `【${getJobType(record?.Cloudbrain?.JobType)}】【${record?.Cloudbrain?.ComputeResource}】【GPU: ${resourceSpec?.gpu}, CPU: ${resourceSpec?.cpu}, ${i18n.t('memory')}: ${(resourceSpec?.memMiB / 1024).toFixed(2)}GB, ${i18n.t('sharedMemory')}: ${(resourceSpec?.shareMemMiB / 1024).toFixed(2)}GB】`; - } else { - out.remark = `【${getJobType(record?.Cloudbrain?.JobType)}】【${record?.Cloudbrain?.ComputeResource}】【${record?.Cloudbrain?.ResourceSpec.FlavorInfo.desc}】`; + // if (record?.Cloudbrain?.ComputeResource === 'CPU/GPU') { + // const resourceSpec = record?.Cloudbrain?.ResourceSpec?.ResourceSpec; + // out.remark = `【${getJobType(record?.Cloudbrain?.JobType)}】【${record?.Cloudbrain?.ComputeResource}】【GPU: ${resourceSpec?.gpu}, CPU: ${resourceSpec?.cpu}, ${i18n.t('memory')}: ${(resourceSpec?.memMiB / 1024).toFixed(2)}GB, ${i18n.t('sharedMemory')}: ${(resourceSpec?.shareMemMiB / 1024).toFixed(2)}GB】`; + // } else { + // out.remark = `【${getJobType(record?.Cloudbrain?.JobType)}】【${record?.Cloudbrain?.ComputeResource}】【${record?.Cloudbrain?.ResourceSpec.FlavorInfo.desc}】`; + // } + const resourceSpec = record?.Cloudbrain?.ResourceSpec; + if (resourceSpec) { + out.remark = `【${getJobType(record?.Cloudbrain?.JobType)}】【${renderSpecStr(resourceSpec, true)}】`; } } }