-
-
+ { if (p && p.status) doc.status = p.status; $emit('reply-sent', docName) }" />
@@ -319,6 +315,7 @@ import { fetchTags, updateTag, renameTag, deleteTag as deleteTagApi } from 'src/
import InlineField from 'src/components/shared/InlineField.vue'
import UnifiedCreateModal from 'src/components/shared/UnifiedCreateModal.vue'
import FlowQuickButton from 'src/components/flow-editor/FlowQuickButton.vue'
+import TicketStatusControl from 'src/components/shared/TicketStatusControl.vue'
import ProjectWizard from 'src/components/shared/ProjectWizard.vue'
import TaskNode from 'src/components/shared/TaskNode.vue'
@@ -700,31 +697,7 @@ function onJobUpdated (jobName, data) {
emit('dispatch-updated', jobName, data)
}
-// ── Close / Reopen ──
-
-const closingTicket = ref(false)
-
-async function closeTicket () {
- closingTicket.value = true
- try {
- await updateDoc('Issue', props.docName, { status: 'Closed' })
- props.doc.status = 'Closed'
- Notify.create({ type: 'positive', message: 'Ticket fermé' })
- } catch (e) {
- Notify.create({ type: 'negative', message: `Erreur: ${e.message}` })
- } finally { closingTicket.value = false }
-}
-
-async function reopenTicket () {
- closingTicket.value = true
- try {
- await updateDoc('Issue', props.docName, { status: 'Open' })
- props.doc.status = 'Open'
- Notify.create({ type: 'positive', message: 'Ticket réouvert' })
- } catch (e) {
- Notify.create({ type: 'negative', message: `Erreur: ${e.message}` })
- } finally { closingTicket.value = false }
-}
+// Fermer/Rouvrir/Reporter : gérés par le composant partagé TicketStatusControl.
// ── Reply ──