Тикет

Настройка работы тикета

Для работы тикета нужно подключить две библиотеки

<script type="text/javascript" src="/includes/js/jquery.bootpag.min.js"></script> <script type="text/javascript" src="/includes/js/wst-ticket.js"></script>

Class Ticket - методы

		Ticket.setPagination - установить селктор для пагинации
		Ticket.load	     - загразка тикетов
		Ticket.create 	     - создать тикет параметры  {department: 1, priority: 1, subject: '', message: ''}
		Ticket.close 	     - закрыть тикет по TicketID  
		Ticket.archive 	     - заархивировать тикет по TicketID
		Ticket.loadMessages  - загрузка сообщений и данных тикета по TicketID
		Ticket.sendMessage   - отправка сообщений по TicketID
	

Пример вывода всех тикетов Ticket.load

<script type="text/javascript" src="/includes/js/jquery.bootpag.min.js"></script> <script type="text/javascript" src="/includes/js/ticket.js"></script> <div id="ticket"></div> <div class="pagination"></div> <script> $(document).ready(function(){ Ticket.setPagination('.pagination'); Ticket.load((data)=>{ $('#ticket div').remove(); for(let value of data){ $('#ticket').append( `<div ${value.state == 'closed' ? 'style="background:green"' : ''}> <a href="/ticket-messages#tid=${value.incr}" target="_blank"><h1 style="color:black;">${value.subject}</h1></a> <p>${value.message}</p> <input type="button" class="close-ticket" data-incr="${value.incr}" value="Закрыть тикет"> <input type="button" class="archive-ticket" data-incr="${value.incr}" value="В Архив"> <br/><br/> </div>` ); } $('.close-ticket').on('click', function(){ Ticket.close($(this).attr('data-incr')); }); $('.archive-ticket').on('click', function(){ Ticket.archive($(this).attr('data-incr')); }); }); /* Ticket.create({subject:'testMY', message: 'HELLO ALL!!!'}).then((res)=>{ console.log(res); }); */ }); </script>

Пример вывода сообщений тикета Ticket.loadMessages

<script type="text/javascript" src="/includes/js/jquery.bootpag.min.js"></script> <script type="text/javascript" src="/includes/js/ticket.js"></script> <div id="ticket"></div> <form> <textarea id="ticketMessage"></textarea> <input type="button" id="sendMessage" value="Отправить сообщение" /> </form> <div id="messages"></div> <script> $(document).ready(function(){ Ticket.loadMessages(3).then((data)=>{ let ticket = data.ticket; let messages = data.messages; $('#ticket').append( `<div ${ticket.state == 'closed' ? 'style="background:green"' : ''}> <h1 style="color:black;">${ticket.subject}</h1> <p>${ticket.message}</p> </div>` ); for(let value of messages){ $('#messages').append( `<div> <h1 style="color:black;">${value.login}</h1> <p>${value.message}</p> <span>${value.date}</span> <br/><br/> </div>` ); } $('#sendMessage').on('click', ()=>{ Ticket.sendMessage(ticket.incr, $('#ticketMessage').val()).then((data)=>{ if('OK' in data){ Ticket.loadMessages(3, true).then((data)=>{ $('#messages div').remove(); for(let value of data.messages){ $('#messages').append( `<div> <h1 style="color:black;">${value.login}</h1> <p>${value.message}</p> <span>${value.date}</span> <br/><br/> </div>` ); } }); }else{ alert(data.error); } }); }) }); }); </script>