ваше сообщение коммита
This commit is contained in:
@@ -93,24 +93,24 @@ function connectWebSocket() {
|
||||
const wsProtocol = window.location.protocol === 'https:' ? 'wss' : 'ws';
|
||||
ws = new WebSocket(`${wsProtocol}://${window.location.host}/ws`);
|
||||
ws.onopen = () => {
|
||||
console.log('[CRM] WebSocket соединение установлено');
|
||||
// console.log('[CRM] WebSocket соединение установлено');
|
||||
};
|
||||
ws.onmessage = (event) => {
|
||||
try {
|
||||
const msg = JSON.parse(event.data);
|
||||
if (msg.type === 'contacts-updated') {
|
||||
console.log('[CRM] Получено событие contacts-updated, обновляем контакты');
|
||||
// console.log('[CRM] Получено событие contacts-updated, обновляем контакты');
|
||||
loadContacts();
|
||||
}
|
||||
} catch (e) {
|
||||
console.error('[CRM] Ошибка обработки сообщения WebSocket:', e);
|
||||
// console.error('[CRM] Ошибка обработки сообщения WebSocket:', e);
|
||||
}
|
||||
};
|
||||
ws.onclose = () => {
|
||||
console.log('[CRM] WebSocket соединение закрыто');
|
||||
// console.log('[CRM] WebSocket соединение закрыто');
|
||||
};
|
||||
ws.onerror = (e) => {
|
||||
console.error('[CRM] WebSocket ошибка:', e);
|
||||
// console.error('[CRM] WebSocket ошибка:', e);
|
||||
};
|
||||
}
|
||||
|
||||
@@ -136,7 +136,7 @@ const loadDLEs = async () => {
|
||||
selectedDleIndex.value = 0;
|
||||
}
|
||||
} catch (error) {
|
||||
console.error('Ошибка при загрузке списка DLE:', error);
|
||||
// console.error('Ошибка при загрузке списка DLE:', error);
|
||||
} finally {
|
||||
isLoading.value = false;
|
||||
}
|
||||
@@ -144,7 +144,7 @@ const loadDLEs = async () => {
|
||||
|
||||
// Обработчик события изменения авторизации
|
||||
const handleAuthEvent = (eventData) => {
|
||||
console.log('[CrmView] Получено событие изменения авторизации:', eventData);
|
||||
// console.log('[CrmView] Получено событие изменения авторизации:', eventData);
|
||||
if (eventData.isAuthenticated) {
|
||||
loadDLEs();
|
||||
}
|
||||
@@ -154,7 +154,7 @@ const handleAuthEvent = (eventData) => {
|
||||
let unsubscribe = null;
|
||||
|
||||
onMounted(() => {
|
||||
console.log('[CrmView] Компонент загружен');
|
||||
// console.log('[CrmView] Компонент загружен');
|
||||
|
||||
// Если пользователь авторизован, загружаем данные
|
||||
if (auth.isAuthenticated.value) {
|
||||
|
||||
@@ -52,7 +52,7 @@
|
||||
import BaseLayout from '../components/BaseLayout.vue';
|
||||
import ChatInterface from '../components/ChatInterface.vue';
|
||||
|
||||
console.log('HomeView.vue: Using BaseLayout');
|
||||
// console.log('HomeView.vue: Using BaseLayout');
|
||||
|
||||
// Определяем props, переданные из App.vue через RouterView
|
||||
const props = defineProps({
|
||||
@@ -99,7 +99,7 @@
|
||||
let unsubscribe = null;
|
||||
|
||||
onMounted(() => {
|
||||
console.log('[HomeView] Компонент загружен (обновленная версия)');
|
||||
// console.log('[HomeView] Компонент загружен (обновленная версия)');
|
||||
|
||||
// Подписка на события авторизации
|
||||
unsubscribe = eventBus.on('auth-state-changed', handleAuthEvent);
|
||||
@@ -118,7 +118,7 @@
|
||||
|
||||
// Функция обновления сообщений после авторизации
|
||||
const handleAuthEvent = async (eventData) => {
|
||||
console.log('[HomeView] Получено событие изменения авторизации:', eventData);
|
||||
// console.log('[HomeView] Получено событие изменения авторизации:', eventData);
|
||||
if (eventData.isAuthenticated) {
|
||||
// Сначала связываем гостевые сообщения, если есть
|
||||
await linkGuestMessagesAfterAuth();
|
||||
|
||||
@@ -58,7 +58,7 @@ async function loadContact() {
|
||||
error.value = 'Контакт не найден';
|
||||
}
|
||||
} catch (e) {
|
||||
console.error('Ошибка загрузки контакта:', e);
|
||||
// console.error('Ошибка загрузки контакта:', e);
|
||||
contact.value = null;
|
||||
error.value = 'Контакт не найден';
|
||||
} finally {
|
||||
@@ -72,7 +72,7 @@ async function deleteContact() {
|
||||
error.value = '';
|
||||
try {
|
||||
const result = await contactsService.deleteContact(contact.value.id);
|
||||
console.log('Результат удаления:', result);
|
||||
// console.log('Результат удаления:', result);
|
||||
|
||||
// Если удаление успешно или пользователь уже удален
|
||||
if (result.success || result.message === 'Пользователь уже удален') {
|
||||
@@ -81,7 +81,7 @@ async function deleteContact() {
|
||||
error.value = 'Ошибка при удалении контакта';
|
||||
}
|
||||
} catch (e) {
|
||||
console.error('Ошибка при удалении:', e);
|
||||
// console.error('Ошибка при удалении:', e);
|
||||
error.value = 'Ошибка при удалении контакта';
|
||||
} finally {
|
||||
isDeleting.value = false;
|
||||
|
||||
@@ -470,9 +470,9 @@ async function handleSendMessage({ message, attachments }) {
|
||||
}
|
||||
|
||||
async function handleAiReply(selectedMessages = []) {
|
||||
console.log('[AI-ASSISTANT] Кнопка нажата, messages:', messages.value);
|
||||
// console.log('[AI-ASSISTANT] Кнопка нажата, messages:', messages.value);
|
||||
if (isAiLoading.value) {
|
||||
console.log('[AI-ASSISTANT] Уже идёт генерация, выход');
|
||||
// console.log('[AI-ASSISTANT] Уже идёт генерация, выход');
|
||||
return;
|
||||
}
|
||||
if (!Array.isArray(selectedMessages) || selectedMessages.length === 0) {
|
||||
@@ -485,7 +485,7 @@ async function handleAiReply(selectedMessages = []) {
|
||||
const draftResp = await messagesService.generateAiDraft(conversationId.value, selectedMessages);
|
||||
if (draftResp && draftResp.success && draftResp.aiMessage) {
|
||||
chatNewMessage.value = draftResp.aiMessage;
|
||||
console.log('[AI-ASSISTANT] Черновик сгенерирован:', draftResp.aiMessage);
|
||||
// console.log('[AI-ASSISTANT] Черновик сгенерирован:', draftResp.aiMessage);
|
||||
} else {
|
||||
alert('Не удалось сгенерировать ответ ИИ.');
|
||||
}
|
||||
@@ -493,7 +493,7 @@ async function handleAiReply(selectedMessages = []) {
|
||||
alert('Ошибка генерации ответа ИИ: ' + (e?.message || e));
|
||||
} finally {
|
||||
isAiLoading.value = false;
|
||||
console.log('[AI-ASSISTANT] Генерация завершена');
|
||||
// console.log('[AI-ASSISTANT] Генерация завершена');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -536,9 +536,9 @@ async function createTag() {
|
||||
const descCol = table.columns[1];
|
||||
// 1. Создаём строку
|
||||
const newRow = await tablesService.addRow(tableId);
|
||||
console.log('DEBUG newRow:', newRow);
|
||||
// console.log('DEBUG newRow:', newRow);
|
||||
if (!newRow || !newRow.id) {
|
||||
console.error('Ошибка: не удалось получить id новой строки', newRow);
|
||||
// console.error('Ошибка: не удалось получить id новой строки', newRow);
|
||||
alert('Ошибка: не удалось получить id новой строки. См. консоль.');
|
||||
return;
|
||||
}
|
||||
@@ -618,7 +618,7 @@ onMounted(async () => {
|
||||
|
||||
// Подписываемся на обновления тегов
|
||||
unsubscribeFromTags = onTagsUpdate(async () => {
|
||||
console.log('[ContactDetailsView] Получено обновление тегов, перезагружаем списки тегов');
|
||||
// console.log('[ContactDetailsView] Получено обновление тегов, перезагружаем списки тегов');
|
||||
await loadAllTags();
|
||||
await loadUserTags();
|
||||
});
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1006,10 +1006,10 @@ const getOkvedLevel = (code) => {
|
||||
|
||||
// Функция для загрузки ОКВЭД кодов определенного уровня
|
||||
const fetchOkvedCodes = async (level, parentCode, optionsRef, loadingRef) => {
|
||||
console.log(`🔍 fetchOkvedCodes вызвана: level=${level}, parentCode=${parentCode || 'root'}`);
|
||||
// console.log(`🔍 fetchOkvedCodes вызвана: level=${level}, parentCode=${parentCode || 'root'}`);
|
||||
|
||||
if (!optionsRef || !loadingRef) {
|
||||
console.error('[DleDeployForm] fetchOkvedCodes requires optionsRef and loadingRef');
|
||||
// console.error('[DleDeployForm] fetchOkvedCodes requires optionsRef and loadingRef');
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -1017,8 +1017,8 @@ const fetchOkvedCodes = async (level, parentCode, optionsRef, loadingRef) => {
|
||||
optionsRef.value = [];
|
||||
|
||||
try {
|
||||
console.log(`[DleDeployForm] Загрузка ОКВЭД уровень ${level}, родитель: ${parentCode || 'root'}`);
|
||||
console.log(`[DleDeployForm] Доступно ОКВЭД кодов: ${russianClassifiers.okved?.length || 0}`);
|
||||
// console.log(`[DleDeployForm] Загрузка ОКВЭД уровень ${level}, родитель: ${parentCode || 'root'}`);
|
||||
// console.log(`[DleDeployForm] Доступно ОКВЭД кодов: ${russianClassifiers.okved?.length || 0}`);
|
||||
|
||||
// Фильтруем коды из уже загруженных данных
|
||||
let filteredCodes = [];
|
||||
@@ -1042,11 +1042,11 @@ const fetchOkvedCodes = async (level, parentCode, optionsRef, loadingRef) => {
|
||||
text: `${code.code} - ${code.title}`
|
||||
}));
|
||||
|
||||
console.log(`[DleDeployForm] Загружено ОКВЭД кодов уровня ${level}: ${optionsRef.value.length}`);
|
||||
console.log(`[DleDeployForm] Первые 3 кода:`, optionsRef.value.slice(0, 3));
|
||||
// console.log(`[DleDeployForm] Загружено ОКВЭД кодов уровня ${level}: ${optionsRef.value.length}`);
|
||||
// console.log(`[DleDeployForm] Первые 3 кода:`, optionsRef.value.slice(0, 3));
|
||||
|
||||
} catch (error) {
|
||||
console.error('[DleDeployForm] Ошибка при загрузке ОКВЭД кодов:', error);
|
||||
// console.error('[DleDeployForm] Ошибка при загрузке ОКВЭД кодов:', error);
|
||||
} finally {
|
||||
loadingRef.value = false;
|
||||
}
|
||||
@@ -1083,7 +1083,7 @@ const updateCurrentOkvedSelection = () => {
|
||||
|
||||
// Watchers для 2-уровневой загрузки ОКВЭД
|
||||
watch(selectedOkvedLevel1, (newVal) => {
|
||||
console.log('[DleDeployForm] selectedOkvedLevel1 changed to:', newVal);
|
||||
// console.log('[DleDeployForm] selectedOkvedLevel1 changed to:', newVal);
|
||||
selectedOkvedLevel2.value = '';
|
||||
okvedLevel2Options.value = [];
|
||||
|
||||
@@ -1094,7 +1094,7 @@ watch(selectedOkvedLevel1, (newVal) => {
|
||||
});
|
||||
|
||||
watch(selectedOkvedLevel2, () => {
|
||||
console.log('[DleDeployForm] selectedOkvedLevel2 changed to:', selectedOkvedLevel2.value);
|
||||
// console.log('[DleDeployForm] selectedOkvedLevel2 changed to:', selectedOkvedLevel2.value);
|
||||
updateCurrentOkvedSelection();
|
||||
});
|
||||
|
||||
@@ -1297,9 +1297,9 @@ const saveFormData = () => {
|
||||
showUnifiedKey: showUnifiedKey.value
|
||||
};
|
||||
localStorage.setItem(STORAGE_KEY, JSON.stringify(dataToSave));
|
||||
console.log('[DleDeployForm] Данные формы сохранены в localStorage');
|
||||
// console.log('[DleDeployForm] Данные формы сохранены в localStorage');
|
||||
} catch (error) {
|
||||
console.error('[DleDeployForm] Ошибка сохранения данных:', error);
|
||||
// console.error('[DleDeployForm] Ошибка сохранения данных:', error);
|
||||
}
|
||||
}, 500); // Задержка 500мс
|
||||
};
|
||||
@@ -1362,11 +1362,11 @@ const loadFormData = () => {
|
||||
Object.assign(keyValidation, parsedData.keyValidation || {});
|
||||
showUnifiedKey.value = parsedData.showUnifiedKey || false;
|
||||
|
||||
console.log('[DleDeployForm] Данные формы восстановлены из localStorage');
|
||||
// console.log('[DleDeployForm] Данные формы восстановлены из localStorage');
|
||||
return true;
|
||||
}
|
||||
} catch (error) {
|
||||
console.error('[DleDeployForm] Ошибка восстановления данных:', error);
|
||||
// console.error('[DleDeployForm] Ошибка восстановления данных:', error);
|
||||
}
|
||||
return false;
|
||||
};
|
||||
@@ -1375,9 +1375,9 @@ const loadFormData = () => {
|
||||
const clearStoredData = () => {
|
||||
try {
|
||||
localStorage.removeItem(STORAGE_KEY);
|
||||
console.log('[DleDeployForm] Данные формы удалены из localStorage');
|
||||
// console.log('[DleDeployForm] Данные формы удалены из localStorage');
|
||||
} catch (error) {
|
||||
console.error('[DleDeployForm] Ошибка очистки localStorage:', error);
|
||||
// console.error('[DleDeployForm] Ошибка очистки localStorage:', error);
|
||||
}
|
||||
};
|
||||
|
||||
@@ -1463,7 +1463,7 @@ const searchByPostalCode = async () => {
|
||||
params.append('countrycodes', 'RU');
|
||||
}
|
||||
|
||||
console.log(`[SearchByPostalCode] Querying Nominatim: ${params.toString()}`);
|
||||
// console.log(`[SearchByPostalCode] Querying Nominatim: ${params.toString()}`);
|
||||
const response = await axios.get(`/geocoding/nominatim-search?${params.toString()}`);
|
||||
|
||||
if (response.data && Array.isArray(response.data) && response.data.length > 0) {
|
||||
@@ -1483,18 +1483,18 @@ const searchByPostalCode = async () => {
|
||||
rawData: result.address // Сохраняем все сырые данные для анализа
|
||||
}));
|
||||
|
||||
console.log(`[SearchByPostalCode] Found ${searchResults.value.length} results`);
|
||||
// console.log(`[SearchByPostalCode] Found ${searchResults.value.length} results`);
|
||||
|
||||
// Автоматически заполняем поля первым результатом
|
||||
if (searchResults.value.length > 0) {
|
||||
fillFromSearchResult(searchResults.value[0]);
|
||||
console.log('[SearchByPostalCode] Auto-filled with first result');
|
||||
// console.log('[SearchByPostalCode] Auto-filled with first result');
|
||||
}
|
||||
} else {
|
||||
console.log('[SearchByPostalCode] No results found');
|
||||
// console.log('[SearchByPostalCode] No results found');
|
||||
}
|
||||
} catch (error) {
|
||||
console.error('Ошибка при поиске по индексу:', error);
|
||||
// console.error('Ошибка при поиске по индексу:', error);
|
||||
} finally {
|
||||
isSearchingAddress.value = false;
|
||||
}
|
||||
@@ -1509,7 +1509,7 @@ const findOktmoByAddress = (result) => {
|
||||
return '';
|
||||
}
|
||||
|
||||
console.log(`[FindOktmo] Searching OKTMO for region: "${region}"`);
|
||||
// console.log(`[FindOktmo] Searching OKTMO for region: "${region}"`);
|
||||
|
||||
// Ищем совпадение по названию региона
|
||||
const foundOktmo = russianClassifiers.oktmo.find(oktmo => {
|
||||
@@ -1523,11 +1523,11 @@ const findOktmoByAddress = (result) => {
|
||||
});
|
||||
|
||||
if (foundOktmo) {
|
||||
console.log(`[FindOktmo] Found OKTMO: ${foundOktmo.code} - ${foundOktmo.title}`);
|
||||
// console.log(`[FindOktmo] Found OKTMO: ${foundOktmo.code} - ${foundOktmo.title}`);
|
||||
return foundOktmo.code;
|
||||
}
|
||||
|
||||
console.log(`[FindOktmo] No OKTMO found for region: "${region}"`);
|
||||
// console.log(`[FindOktmo] No OKTMO found for region: "${region}"`);
|
||||
return '';
|
||||
};
|
||||
|
||||
@@ -1549,13 +1549,13 @@ const fillFromSearchResult = (result) => {
|
||||
if (autoOktmo) {
|
||||
dleSettings.selectedOktmo = autoOktmo;
|
||||
autoSelectedOktmo.value = true; // Помечаем как автовыбранный
|
||||
console.log(`[FillFromSearchResult] Auto-selected OKTMO: ${autoOktmo}`);
|
||||
// console.log(`[FillFromSearchResult] Auto-selected OKTMO: ${autoOktmo}`);
|
||||
} else {
|
||||
autoSelectedOktmo.value = false;
|
||||
}
|
||||
|
||||
console.log('[FillFromSearchResult] Filled address data:', dleSettings.addressData);
|
||||
console.log('[FillFromSearchResult] Saved API result:', result);
|
||||
// console.log('[FillFromSearchResult] Filled address data:', dleSettings.addressData);
|
||||
// console.log('[FillFromSearchResult] Saved API result:', result);
|
||||
};
|
||||
|
||||
// Проверка адреса (повторный запрос для валидации)
|
||||
|
||||
@@ -99,15 +99,15 @@ function validatePrivateKey(key) {
|
||||
if (!key) return false;
|
||||
const trimmed = key.trim();
|
||||
if (!trimmed.startsWith('-----BEGIN OPENSSH PRIVATE KEY-----')) {
|
||||
console.error('Ключ не начинается с -----BEGIN OPENSSH PRIVATE KEY-----');
|
||||
// console.error('Ключ не начинается с -----BEGIN OPENSSH PRIVATE KEY-----');
|
||||
return false;
|
||||
}
|
||||
if (!trimmed.endsWith('-----END OPENSSH PRIVATE KEY-----')) {
|
||||
console.error('Ключ не заканчивается на -----END OPENSSH PRIVATE KEY-----');
|
||||
// console.error('Ключ не заканчивается на -----END OPENSSH PRIVATE KEY-----');
|
||||
return false;
|
||||
}
|
||||
if (trimmed.split('\n').length < 3) {
|
||||
console.error('Ключ слишком короткий или не содержит переносов строк');
|
||||
// console.error('Ключ слишком короткий или не содержит переносов строк');
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
@@ -124,15 +124,15 @@ const handleSubmit = async () => {
|
||||
}
|
||||
|
||||
// Логирование ключа (только для отладки!)
|
||||
console.log('SSH ключ (начало):', form.sshKey.slice(0, 40));
|
||||
console.log('SSH ключ (конец):', form.sshKey.slice(-40));
|
||||
console.log('Длина ключа:', form.sshKey.length);
|
||||
// console.log('SSH ключ (начало):', form.sshKey.slice(0, 40));
|
||||
// console.log('SSH ключ (конец):', form.sshKey.slice(-40));
|
||||
// console.log('Длина ключа:', form.sshKey.length);
|
||||
|
||||
// Логирование отправляемых данных (без самого ключа)
|
||||
console.log('Данные для агента:', {
|
||||
...form,
|
||||
sshKey: form.sshKey ? `[скрыто, длина: ${form.sshKey.length}]` : 'нет ключа'
|
||||
});
|
||||
// console.log('Данные для агента:', {
|
||||
// ...form,
|
||||
// sshKey: form.sshKey ? `[скрыто, длина: ${form.sshKey.length}]` : 'нет ключа'
|
||||
// });
|
||||
|
||||
isLoading.value = true;
|
||||
addLog('info', 'Запуск публикации...');
|
||||
@@ -228,7 +228,7 @@ const checkConnectionStatus = async () => {
|
||||
? `Подключено к ${status.domain}`
|
||||
: 'Не подключено';
|
||||
} catch (error) {
|
||||
console.error('Ошибка проверки статуса:', error);
|
||||
// console.error('Ошибка проверки статуса:', error);
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
@@ -467,7 +467,7 @@ async function addModule() {
|
||||
alert('✅ Модуль успешно добавлен!');
|
||||
|
||||
} catch (error) {
|
||||
console.error('Ошибка при добавлении модуля:', error);
|
||||
// console.error('Ошибка при добавлении модуля:', error);
|
||||
alert('❌ Ошибка при добавлении модуля: ' + error.message);
|
||||
} finally {
|
||||
isAdding.value = false;
|
||||
@@ -486,7 +486,7 @@ async function removeModule(moduleId) {
|
||||
alert('✅ Модуль успешно удален!');
|
||||
|
||||
} catch (error) {
|
||||
console.error('Ошибка при удалении модуля:', error);
|
||||
// console.error('Ошибка при удалении модуля:', error);
|
||||
alert('❌ Ошибка при удалении модуля: ' + error.message);
|
||||
}
|
||||
}
|
||||
@@ -495,7 +495,7 @@ async function removeModule(moduleId) {
|
||||
async function installAvailableModule(availableModule) {
|
||||
// Здесь должна быть логика установки модуля
|
||||
// Например, деплой модуля и добавление в DLE
|
||||
console.log('Установка модуля:', availableModule);
|
||||
// console.log('Установка модуля:', availableModule);
|
||||
alert(`Модуль "${availableModule.name}" будет установлен`);
|
||||
}
|
||||
|
||||
|
||||
@@ -454,7 +454,7 @@ async function createMultisigOperation() {
|
||||
alert('✅ Операция мультиподписи успешно создана!');
|
||||
|
||||
} catch (error) {
|
||||
console.error('Ошибка при создании операции мультиподписи:', error);
|
||||
// console.error('Ошибка при создании операции мультиподписи:', error);
|
||||
alert('❌ Ошибка при создании операции: ' + error.message);
|
||||
} finally {
|
||||
isCreating.value = false;
|
||||
@@ -471,7 +471,7 @@ async function signOperation(operationId, support) {
|
||||
alert('✅ Ваша подпись учтена!');
|
||||
|
||||
} catch (error) {
|
||||
console.error('Ошибка при подписании операции:', error);
|
||||
// console.error('Ошибка при подписании операции:', error);
|
||||
alert('❌ Ошибка при подписании: ' + error.message);
|
||||
}
|
||||
}
|
||||
@@ -486,7 +486,7 @@ async function executeOperation(operationId) {
|
||||
alert('✅ Операция успешно исполнена!');
|
||||
|
||||
} catch (error) {
|
||||
console.error('Ошибка при исполнении операции:', error);
|
||||
// console.error('Ошибка при исполнении операции:', error);
|
||||
alert('❌ Ошибка при исполнении операции: ' + error.message);
|
||||
}
|
||||
}
|
||||
@@ -498,7 +498,7 @@ async function loadOperations() {
|
||||
// Пока используем заглушку
|
||||
operations.value = [];
|
||||
} catch (error) {
|
||||
console.error('Ошибка при загрузке операций:', error);
|
||||
// console.error('Ошибка при загрузке операций:', error);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -520,7 +520,7 @@ function resetForm() {
|
||||
|
||||
function viewOperationDetails(operationId) {
|
||||
// Открыть модальное окно с деталями операции
|
||||
console.log('Просмотр деталей операции:', operationId);
|
||||
// console.log('Просмотр деталей операции:', operationId);
|
||||
}
|
||||
|
||||
onMounted(() => {
|
||||
|
||||
@@ -497,7 +497,7 @@ async function createProposal() {
|
||||
alert('✅ Предложение успешно создано!');
|
||||
|
||||
} catch (error) {
|
||||
console.error('Ошибка при создании предложения:', error);
|
||||
// console.error('Ошибка при создании предложения:', error);
|
||||
alert('❌ Ошибка при создании предложения: ' + error.message);
|
||||
} finally {
|
||||
isCreating.value = false;
|
||||
@@ -555,7 +555,7 @@ async function voteForProposal(proposalId, support) {
|
||||
alert('✅ Ваш голос учтен!');
|
||||
|
||||
} catch (error) {
|
||||
console.error('Ошибка при голосовании:', error);
|
||||
// console.error('Ошибка при голосовании:', error);
|
||||
alert('❌ Ошибка при голосовании: ' + error.message);
|
||||
}
|
||||
}
|
||||
@@ -570,7 +570,7 @@ async function executeProposal(proposalId) {
|
||||
alert('✅ Предложение успешно исполнено!');
|
||||
|
||||
} catch (error) {
|
||||
console.error('Ошибка при исполнении предложения:', error);
|
||||
// console.error('Ошибка при исполнении предложения:', error);
|
||||
alert('❌ Ошибка при исполнении предложения: ' + error.message);
|
||||
}
|
||||
}
|
||||
@@ -582,7 +582,7 @@ async function loadProposals() {
|
||||
// Пока используем заглушку
|
||||
proposals.value = [];
|
||||
} catch (error) {
|
||||
console.error('Ошибка при загрузке предложений:', error);
|
||||
// console.error('Ошибка при загрузке предложений:', error);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -603,7 +603,7 @@ function resetForm() {
|
||||
|
||||
function viewProposalDetails(proposalId) {
|
||||
// Открыть модальное окно с деталями предложения
|
||||
console.log('Просмотр деталей предложения:', proposalId);
|
||||
// console.log('Просмотр деталей предложения:', proposalId);
|
||||
}
|
||||
|
||||
onMounted(() => {
|
||||
|
||||
@@ -200,7 +200,7 @@ const createProposal = async () => {
|
||||
isCreatingProposal.value = true;
|
||||
|
||||
// Здесь будет создание предложения в смарт-контракте
|
||||
console.log('Создание предложения:', newProposal.value);
|
||||
// console.log('Создание предложения:', newProposal.value);
|
||||
|
||||
// Временная логика
|
||||
const proposal = {
|
||||
@@ -225,7 +225,7 @@ const createProposal = async () => {
|
||||
};
|
||||
|
||||
} catch (error) {
|
||||
console.error('Ошибка создания предложения:', error);
|
||||
// console.error('Ошибка создания предложения:', error);
|
||||
} finally {
|
||||
isCreatingProposal.value = false;
|
||||
}
|
||||
@@ -238,7 +238,7 @@ const signProposal = async (proposalId) => {
|
||||
isSigning.value = true;
|
||||
|
||||
// Здесь будет подписание предложения в смарт-контракте
|
||||
console.log('Подписание предложения:', proposalId);
|
||||
// console.log('Подписание предложения:', proposalId);
|
||||
|
||||
const proposal = proposals.value.find(p => p.id === proposalId);
|
||||
if (proposal) {
|
||||
@@ -247,7 +247,7 @@ const signProposal = async (proposalId) => {
|
||||
}
|
||||
|
||||
} catch (error) {
|
||||
console.error('Ошибка подписания предложения:', error);
|
||||
// console.error('Ошибка подписания предложения:', error);
|
||||
} finally {
|
||||
isSigning.value = false;
|
||||
}
|
||||
@@ -260,7 +260,7 @@ const executeProposal = async (proposalId) => {
|
||||
isExecuting.value = true;
|
||||
|
||||
// Здесь будет выполнение предложения в смарт-контракте
|
||||
console.log('Выполнение предложения:', proposalId);
|
||||
// console.log('Выполнение предложения:', proposalId);
|
||||
|
||||
const proposal = proposals.value.find(p => p.id === proposalId);
|
||||
if (proposal) {
|
||||
@@ -268,7 +268,7 @@ const executeProposal = async (proposalId) => {
|
||||
}
|
||||
|
||||
} catch (error) {
|
||||
console.error('Ошибка выполнения предложения:', error);
|
||||
// console.error('Ошибка выполнения предложения:', error);
|
||||
} finally {
|
||||
isExecuting.value = false;
|
||||
}
|
||||
|
||||
@@ -246,7 +246,7 @@ const updateSettings = async () => {
|
||||
isUpdating.value = true;
|
||||
|
||||
// Здесь будет логика обновления настроек в смарт-контракте
|
||||
console.log('Обновление настроек:', newSettings.value);
|
||||
// console.log('Обновление настроек:', newSettings.value);
|
||||
|
||||
// Временная логика
|
||||
const change = {
|
||||
@@ -291,7 +291,7 @@ const updateSettings = async () => {
|
||||
alert('Настройки успешно обновлены!');
|
||||
|
||||
} catch (error) {
|
||||
console.error('Ошибка обновления настроек:', error);
|
||||
// console.error('Ошибка обновления настроек:', error);
|
||||
alert('Ошибка при обновлении настроек');
|
||||
} finally {
|
||||
isUpdating.value = false;
|
||||
|
||||
@@ -368,7 +368,7 @@ const saveMainSettings = async () => {
|
||||
isSaving.value = true;
|
||||
|
||||
// Здесь будет логика сохранения основных настроек
|
||||
console.log('Сохранение основных настроек:', mainSettings.value);
|
||||
// console.log('Сохранение основных настроек:', mainSettings.value);
|
||||
|
||||
// Временная логика
|
||||
await new Promise(resolve => setTimeout(resolve, 1000));
|
||||
@@ -376,7 +376,7 @@ const saveMainSettings = async () => {
|
||||
alert('Основные настройки успешно сохранены!');
|
||||
|
||||
} catch (error) {
|
||||
console.error('Ошибка сохранения основных настроек:', error);
|
||||
// console.error('Ошибка сохранения основных настроек:', error);
|
||||
alert('Ошибка при сохранении настроек');
|
||||
} finally {
|
||||
isSaving.value = false;
|
||||
@@ -390,7 +390,7 @@ const saveSecuritySettings = async () => {
|
||||
isSaving.value = true;
|
||||
|
||||
// Здесь будет логика сохранения настроек безопасности
|
||||
console.log('Сохранение настроек безопасности:', securitySettings.value);
|
||||
// console.log('Сохранение настроек безопасности:', securitySettings.value);
|
||||
|
||||
// Временная логика
|
||||
await new Promise(resolve => setTimeout(resolve, 1000));
|
||||
@@ -398,7 +398,7 @@ const saveSecuritySettings = async () => {
|
||||
alert('Настройки безопасности успешно сохранены!');
|
||||
|
||||
} catch (error) {
|
||||
console.error('Ошибка сохранения настроек безопасности:', error);
|
||||
// console.error('Ошибка сохранения настроек безопасности:', error);
|
||||
alert('Ошибка при сохранении настроек безопасности');
|
||||
} finally {
|
||||
isSaving.value = false;
|
||||
@@ -412,7 +412,7 @@ const saveNetworkSettings = async () => {
|
||||
isSaving.value = true;
|
||||
|
||||
// Здесь будет логика сохранения настроек сети
|
||||
console.log('Сохранение настроек сети:', networkSettings.value);
|
||||
// console.log('Сохранение настроек сети:', networkSettings.value);
|
||||
|
||||
// Временная логика
|
||||
await new Promise(resolve => setTimeout(resolve, 1000));
|
||||
@@ -420,7 +420,7 @@ const saveNetworkSettings = async () => {
|
||||
alert('Настройки сети успешно сохранены!');
|
||||
|
||||
} catch (error) {
|
||||
console.error('Ошибка сохранения настроек сети:', error);
|
||||
// console.error('Ошибка сохранения настроек сети:', error);
|
||||
alert('Ошибка при сохранении настроек сети');
|
||||
} finally {
|
||||
isSaving.value = false;
|
||||
@@ -463,7 +463,7 @@ const importSettings = (event) => {
|
||||
|
||||
alert('Настройки успешно импортированы!');
|
||||
} catch (error) {
|
||||
console.error('Ошибка импорта настроек:', error);
|
||||
// console.error('Ошибка импорта настроек:', error);
|
||||
alert('Ошибка при импорте настроек');
|
||||
}
|
||||
};
|
||||
@@ -513,7 +513,7 @@ const deleteDLE = () => {
|
||||
}
|
||||
|
||||
// Здесь будет логика удаления DLE
|
||||
console.log('Удаление DLE...');
|
||||
// console.log('Удаление DLE...');
|
||||
alert('DLE будет удален. Это действие может занять некоторое время.');
|
||||
};
|
||||
</script>
|
||||
|
||||
@@ -245,7 +245,7 @@ const transferTokens = async () => {
|
||||
isTransferring.value = true;
|
||||
|
||||
// Здесь будет логика трансфера токенов
|
||||
console.log('Трансфер токенов:', transferData.value);
|
||||
// console.log('Трансфер токенов:', transferData.value);
|
||||
|
||||
// Временная логика
|
||||
const amount = parseFloat(transferData.value.amount);
|
||||
@@ -266,7 +266,7 @@ const transferTokens = async () => {
|
||||
alert('Токены успешно переведены!');
|
||||
|
||||
} catch (error) {
|
||||
console.error('Ошибка трансфера токенов:', error);
|
||||
// console.error('Ошибка трансфера токенов:', error);
|
||||
alert('Ошибка при переводе токенов');
|
||||
} finally {
|
||||
isTransferring.value = false;
|
||||
@@ -280,7 +280,7 @@ const distributeTokens = async () => {
|
||||
isDistributing.value = true;
|
||||
|
||||
// Здесь будет логика распределения токенов
|
||||
console.log('Распределение токенов:', distributionData.value);
|
||||
// console.log('Распределение токенов:', distributionData.value);
|
||||
|
||||
// Временная логика
|
||||
const totalAmount = distributionData.value.recipients.reduce((sum, recipient) => {
|
||||
@@ -303,7 +303,7 @@ const distributeTokens = async () => {
|
||||
alert('Токены успешно распределены!');
|
||||
|
||||
} catch (error) {
|
||||
console.error('Ошибка распределения токенов:', error);
|
||||
// console.error('Ошибка распределения токенов:', error);
|
||||
alert('Ошибка при распределении токенов');
|
||||
} finally {
|
||||
isDistributing.value = false;
|
||||
|
||||
@@ -380,7 +380,7 @@ const performDeposit = async () => {
|
||||
isProcessing.value = true;
|
||||
|
||||
// Здесь будет логика депозита
|
||||
console.log('Депозит:', depositData.value);
|
||||
// console.log('Депозит:', depositData.value);
|
||||
|
||||
// Временная логика
|
||||
const asset = assets.value.find(a => a.id === depositData.value.asset);
|
||||
@@ -414,7 +414,7 @@ const performDeposit = async () => {
|
||||
alert('Депозит успешно выполнен!');
|
||||
|
||||
} catch (error) {
|
||||
console.error('Ошибка депозита:', error);
|
||||
// console.error('Ошибка депозита:', error);
|
||||
alert('Ошибка при выполнении депозита');
|
||||
} finally {
|
||||
isProcessing.value = false;
|
||||
@@ -428,7 +428,7 @@ const performWithdraw = async () => {
|
||||
isProcessing.value = true;
|
||||
|
||||
// Здесь будет логика вывода
|
||||
console.log('Вывод:', withdrawData.value);
|
||||
// console.log('Вывод:', withdrawData.value);
|
||||
|
||||
// Временная логика
|
||||
const asset = assets.value.find(a => a.id === withdrawData.value.asset);
|
||||
@@ -469,7 +469,7 @@ const performWithdraw = async () => {
|
||||
alert('Вывод успешно выполнен!');
|
||||
|
||||
} catch (error) {
|
||||
console.error('Ошибка вывода:', error);
|
||||
// console.error('Ошибка вывода:', error);
|
||||
alert('Ошибка при выполнении вывода');
|
||||
} finally {
|
||||
isProcessing.value = false;
|
||||
|
||||
Reference in New Issue
Block a user