actions
This commit is contained in:
parent
f753090fe5
commit
3a386996bb
|
@ -17,9 +17,10 @@ const {
|
|||
} = useKompasActions()
|
||||
|
||||
const selectedAction = ref()
|
||||
watch(selectedAction, ()=>{
|
||||
watch(selectedAction, () => {
|
||||
selectedTypes.value = availableActions.value[selectedAction.value].allowedTypes
|
||||
})
|
||||
|
||||
// Синхронизация с КОМПАС
|
||||
async function syncKompas() {
|
||||
try {
|
||||
|
@ -38,7 +39,34 @@ async function syncKompas() {
|
|||
alert('Не удалось получить список документов из КОМПАС')
|
||||
}
|
||||
}
|
||||
const canRunAction = computed(() => {
|
||||
return selectedAction.value && filteredDocuments.value.length > 0
|
||||
})
|
||||
|
||||
async function runSelectedAction() {
|
||||
if (!selectedAction.value) {
|
||||
alert('Выберите действие')
|
||||
return
|
||||
}
|
||||
|
||||
try {
|
||||
// Отправляем команду на бэкенд
|
||||
const result = await sendCommandToPython(selectedAction.value)
|
||||
|
||||
console.log('Результат выполнения:', result)
|
||||
|
||||
if (result && result.status === 'success') {
|
||||
alert(`Действие "${selectedAction.value}" выполнено успешно!`)
|
||||
} else if (result && result.status === 'error') {
|
||||
alert(`Ошибка при выполнении: ${result.error || 'Неизвестная ошибка'}`)
|
||||
} else {
|
||||
alert('Не удалось получить результат от сервера')
|
||||
}
|
||||
} catch (err) {
|
||||
console.error('Ошибка при выполнении действия:', err)
|
||||
alert('Произошла ошибка при выполнении действия')
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<template>
|
||||
|
@ -78,6 +106,7 @@ async function syncKompas() {
|
|||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Действия -->
|
||||
<div class="mb-4 p-3 bg-gray-100 rounded shadow-sm">
|
||||
<h3 class="font-medium mb-2">Действия:</h3>
|
||||
<div class="flex flex-col gap-2">
|
||||
|
@ -87,7 +116,15 @@ async function syncKompas() {
|
|||
<span class="text-sm">{{ action.label }}</span>
|
||||
</label>
|
||||
</div>
|
||||
<!-- Кнопка выполнения действия -->
|
||||
<button type="button" @click="runSelectedAction" :disabled="!canRunAction" class="mt-4 px-4 py-2 bg-blue-500 text-white rounded hover:bg-blue-600
|
||||
disabled:opacity-50 disabled:cursor-not-allowed disabled:pointer-events-none
|
||||
transition">
|
||||
✅ Выполнить действие
|
||||
</button>
|
||||
</div>
|
||||
|
||||
|
||||
<!-- Грид документов -->
|
||||
<div v-if="filteredDocuments.length" class="mt-4 grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4">
|
||||
<div v-for="(doc, index) in filteredDocuments" :key="index"
|
||||
|
|
Loading…
Reference in New Issue