FIX: Обновление баланса кошелька при смене клиента в модальном окне
Проблема: - При сбросе клиента на системного в модальном окне продажи баланс кошелька оставался от предыдущего клиента и не обновлялся Исправления: - Добавлена функция updateCheckoutWalletBalance() для обновления баланса - Функция updateCustomerDisplay() теперь вызывает updateCheckoutWalletBalance() - Исправлены все кнопки сброса/выбора системного клиента - теперь передают wallet_balance Результат: При смене клиента баланс кошелька в модальном окне обновляется корректно 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -87,6 +87,7 @@ function formatMoney(v) {
|
|||||||
* - Кнопку "Выбрать клиента" в модалке продажи (показывает имя клиента)
|
* - Кнопку "Выбрать клиента" в модалке продажи (показывает имя клиента)
|
||||||
* - Видимость кнопок сброса в обоих местах (показываем только для не-системного клиента)
|
* - Видимость кнопок сброса в обоих местах (показываем только для не-системного клиента)
|
||||||
* - Ссылку на анкету клиента (показываем только для не-системного клиента)
|
* - Ссылку на анкету клиента (показываем только для не-системного клиента)
|
||||||
|
* - Баланс кошелька в модальном окне продажи (если оно открыто)
|
||||||
*/
|
*/
|
||||||
function updateCustomerDisplay() {
|
function updateCustomerDisplay() {
|
||||||
// Обновляем текст кнопки в корзине
|
// Обновляем текст кнопки в корзине
|
||||||
@@ -122,6 +123,28 @@ function updateCustomerDisplay() {
|
|||||||
profileLink.style.display = 'block';
|
profileLink.style.display = 'block';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Обновляем баланс кошелька в модальном окне продажи (если оно открыто)
|
||||||
|
updateCheckoutWalletBalance();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Обновляет баланс кошелька клиента в модальном окне продажи
|
||||||
|
*/
|
||||||
|
function updateCheckoutWalletBalance() {
|
||||||
|
const walletDiv = document.getElementById('checkoutWalletBalance');
|
||||||
|
if (!walletDiv) return; // Модалка еще не инициализирована
|
||||||
|
|
||||||
|
const customer = selectedCustomer || SYSTEM_CUSTOMER;
|
||||||
|
const walletBalance = customer.wallet_balance || 0;
|
||||||
|
const isSystemCustomer = Number(customer.id) === Number(SYSTEM_CUSTOMER.id);
|
||||||
|
|
||||||
|
if (!isSystemCustomer) {
|
||||||
|
document.getElementById('checkoutWalletBalanceAmount').textContent = walletBalance.toFixed(2);
|
||||||
|
walletDiv.style.display = 'block';
|
||||||
|
} else {
|
||||||
|
walletDiv.style.display = 'none';
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -1761,7 +1784,7 @@ document.getElementById('customerSelectBtn').addEventListener('click', () => {
|
|||||||
|
|
||||||
// Кнопка сброса клиента на системного (в корзине)
|
// Кнопка сброса клиента на системного (в корзине)
|
||||||
document.getElementById('resetCustomerBtn').addEventListener('click', () => {
|
document.getElementById('resetCustomerBtn').addEventListener('click', () => {
|
||||||
selectCustomer(SYSTEM_CUSTOMER.id, SYSTEM_CUSTOMER.name);
|
selectCustomer(SYSTEM_CUSTOMER.id, SYSTEM_CUSTOMER.name, SYSTEM_CUSTOMER.wallet_balance || 0);
|
||||||
});
|
});
|
||||||
|
|
||||||
// Кнопка "Выбрать клиента" в модалке продажи
|
// Кнопка "Выбрать клиента" в модалке продажи
|
||||||
@@ -1772,7 +1795,7 @@ document.getElementById('checkoutCustomerSelectBtn').addEventListener('click', (
|
|||||||
|
|
||||||
// Кнопка сброса клиента на системного (в модалке продажи)
|
// Кнопка сброса клиента на системного (в модалке продажи)
|
||||||
document.getElementById('checkoutResetCustomerBtn').addEventListener('click', () => {
|
document.getElementById('checkoutResetCustomerBtn').addEventListener('click', () => {
|
||||||
selectCustomer(SYSTEM_CUSTOMER.id, SYSTEM_CUSTOMER.name);
|
selectCustomer(SYSTEM_CUSTOMER.id, SYSTEM_CUSTOMER.name, SYSTEM_CUSTOMER.wallet_balance || 0);
|
||||||
});
|
});
|
||||||
|
|
||||||
// Кнопка "Создать нового клиента" в модалке выбора
|
// Кнопка "Создать нового клиента" в модалке выбора
|
||||||
@@ -1787,7 +1810,7 @@ document.getElementById('createNewCustomerBtn').addEventListener('click', () =>
|
|||||||
|
|
||||||
// Кнопка "Выбрать системного клиента"
|
// Кнопка "Выбрать системного клиента"
|
||||||
document.getElementById('selectSystemCustomerBtn').addEventListener('click', () => {
|
document.getElementById('selectSystemCustomerBtn').addEventListener('click', () => {
|
||||||
selectCustomer(SYSTEM_CUSTOMER.id, SYSTEM_CUSTOMER.name);
|
selectCustomer(SYSTEM_CUSTOMER.id, SYSTEM_CUSTOMER.name, SYSTEM_CUSTOMER.wallet_balance || 0);
|
||||||
|
|
||||||
// Закрываем модалку
|
// Закрываем модалку
|
||||||
const modal = bootstrap.Modal.getInstance(document.getElementById('selectCustomerModal'));
|
const modal = bootstrap.Modal.getInstance(document.getElementById('selectCustomerModal'));
|
||||||
|
|||||||
Reference in New Issue
Block a user