diff --git a/apps/web/src/services/cost-explorer/components/BudgetCreateStep2.vue b/apps/web/src/services/cost-explorer/components/BudgetCreateStep2.vue index 6a319af621..4ea3ba7fe6 100644 --- a/apps/web/src/services/cost-explorer/components/BudgetCreateStep2.vue +++ b/apps/web/src/services/cost-explorer/components/BudgetCreateStep2.vue @@ -335,15 +335,20 @@ watch(() => [ state.isContinueAble = isInitialValid && isGrowthValid; return; } else if (budgetCreatePageState.selectedMonthlyBudgetAllocation === 'enterManually') { - const startDate = dayjs.utc(budgetCreatePageState.startMonth[0]); - const endDate = dayjs.utc(budgetCreatePageState.endMonth[0]); - const length = endDate.diff(startDate, 'month') + 1; - const valid = budgetCreatePageState.budgetEachDate.length === length - && budgetCreatePageState.budgetEachDate.every((v, idx) => isDateInRange(idx) && isValidPositiveNumber(v)); - if (valid) { + const allValuesFilled = budgetCreatePageState.budgetEachDate.length === 12 && budgetCreatePageState.budgetEachDate + .every((v, idx) => { + if (isDateInRange(idx)) { + return isValidPositiveNumber(v); + } + return true; // skip validation for disabled months + }); + + if (allValuesFilled) { state.isContinueAble = true; return; } + state.isContinueAble = false; + return; } state.isContinueAble = false; } diff --git a/apps/web/src/services/cost-explorer/components/BudgetDetailBaseInformation.vue b/apps/web/src/services/cost-explorer/components/BudgetDetailBaseInformation.vue index 7fa9db7160..dedefc644f 100644 --- a/apps/web/src/services/cost-explorer/components/BudgetDetailBaseInformation.vue +++ b/apps/web/src/services/cost-explorer/components/BudgetDetailBaseInformation.vue @@ -411,6 +411,7 @@ watch(() => state.selectedBudgetManager, (nv, ov) => { show-user-list selection-type="multiple" :selected-ids="data" + :excluded-selected-ids="[budgetPageState.budgetData?.budget_manager_id ?? '']" @update:selected-ids="handleSelectAlertRecipients" />