ваше сообщение коммита
This commit is contained in:
@@ -2,6 +2,7 @@
|
|||||||
<div class="contact-table-modal">
|
<div class="contact-table-modal">
|
||||||
<div class="contact-table-header">
|
<div class="contact-table-header">
|
||||||
<el-button type="info" :disabled="!selectedIds.length" @click="showBroadcastModal = true" style="margin-right: 1em;">Рассылка</el-button>
|
<el-button type="info" :disabled="!selectedIds.length" @click="showBroadcastModal = true" style="margin-right: 1em;">Рассылка</el-button>
|
||||||
|
<el-button type="warning" :disabled="!selectedIds.length" @click="deleteMessagesSelected" style="margin-right: 1em;">Удалить сообщения</el-button>
|
||||||
<el-button type="danger" :disabled="!selectedIds.length" @click="deleteSelected" style="margin-right: 1em;">Удалить</el-button>
|
<el-button type="danger" :disabled="!selectedIds.length" @click="deleteSelected" style="margin-right: 1em;">Удалить</el-button>
|
||||||
<el-button type="primary" @click="showImportModal = true" style="margin-right: 1em;">Импорт</el-button>
|
<el-button type="primary" @click="showImportModal = true" style="margin-right: 1em;">Импорт</el-button>
|
||||||
<button class="close-btn" @click="$emit('close')">×</button>
|
<button class="close-btn" @click="$emit('close')">×</button>
|
||||||
@@ -97,6 +98,7 @@ import { ElSelect, ElOption, ElForm, ElFormItem, ElInput, ElDatePicker, ElCheckb
|
|||||||
import ImportContactsModal from './ImportContactsModal.vue';
|
import ImportContactsModal from './ImportContactsModal.vue';
|
||||||
import BroadcastModal from './BroadcastModal.vue';
|
import BroadcastModal from './BroadcastModal.vue';
|
||||||
import tablesService from '../services/tablesService';
|
import tablesService from '../services/tablesService';
|
||||||
|
import messagesService from '../services/messagesService';
|
||||||
const props = defineProps({
|
const props = defineProps({
|
||||||
contacts: { type: Array, default: () => [] },
|
contacts: { type: Array, default: () => [] },
|
||||||
newContacts: { type: Array, default: () => [] },
|
newContacts: { type: Array, default: () => [] },
|
||||||
@@ -257,6 +259,38 @@ async function deleteSelected() {
|
|||||||
// Отмена
|
// Отмена
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
async function deleteMessagesSelected() {
|
||||||
|
if (!selectedIds.value.length) return;
|
||||||
|
try {
|
||||||
|
await ElMessageBox.confirm(
|
||||||
|
`Вы действительно хотите удалить историю сообщений для ${selectedIds.value.length} контакт(ов)? Это действие необратимо.`,
|
||||||
|
'Подтверждение удаления сообщений',
|
||||||
|
{ type: 'warning' }
|
||||||
|
);
|
||||||
|
|
||||||
|
let deletedMessages = 0;
|
||||||
|
let deletedConversations = 0;
|
||||||
|
|
||||||
|
for (const id of selectedIds.value) {
|
||||||
|
try {
|
||||||
|
const result = await messagesService.deleteMessagesHistory(id);
|
||||||
|
if (result.success) {
|
||||||
|
deletedMessages += result.deletedMessages || 0;
|
||||||
|
deletedConversations += result.deletedConversations || 0;
|
||||||
|
}
|
||||||
|
} catch (error) {
|
||||||
|
console.error(`Ошибка при удалении сообщений для контакта ${id}:`, error);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
ElMessage.success(`Удалено сообщений: ${deletedMessages}, бесед: ${deletedConversations}`);
|
||||||
|
selectedIds.value = [];
|
||||||
|
selectAll.value = false;
|
||||||
|
} catch (e) {
|
||||||
|
// Отмена
|
||||||
|
}
|
||||||
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped>
|
<style scoped>
|
||||||
|
|||||||
Reference in New Issue
Block a user