export function modeUnitFilter(value: string) { const map: any = { HOUR: '小时', MONTH: '月', YEAR: '年' } return map[value] } export function getPrice(sku: any, mode: string) { const { spec, billPolicy, billable } = sku // 不开启计费 if (!billable) return 0 const key = `${mode.toLowerCase()}Price` // 规格计费 if (billPolicy !== 'agility') return sku[key] const basicPrice = JSON.parse(sku.basicPrice) // 没有specName说明没有规格设置 const flag = spec.every((item: any) => !item.specName || item.specValue) // 无值直接返回 if (!flag) return '/' // 获取数值map const countMap: any = {} spec.forEach((item: any) => { countMap[item.specName] = item.specValue }) let totalPrice = 0 basicPrice.forEach((item: any) => { const { specName } = item totalPrice += item[key] * (countMap[specName] || 1) }) return totalPrice }