EIOS/tpl/tpl_it_order.html

517 lines
22 KiB
HTML
Raw Normal View History

2023-12-28 15:39:22 +03:00
<!-- BEGIN PAGE HEADER-->
<div class="row-fluid">
<div class="span12">
<h3 class="page-title">Форма обращения в информационно-технический отдел</h3>
<ul class="breadcrumb">
<li><a href="/">Главная</a><span class="divider">/</span></li>
</ul>
</div>
</div>
{if ($msg == 1)}
<div class="alert alert-success">
<button data-dismiss="alert" class="close">×</button>
<strong>Заявка создана!</strong>
</div>
{/if}
<div class="row-fluid">
<div class="span12">
{if !(isset($order))}
<div class="row-fluid">
<div class="widget blue">
<div class="widget-title">
<h4><i class="icon-reorder"></i> СОЗДАТЬ ТИКЕТ</h4>
<span class="tools">
<a href="javascript:;" class="icon-chevron-down"></a>
</span>
</div>
<div class="widget-body">
<form name="order_ticket" action="/it/order/" method="post" class="form-horizontal" enctype="multipart/form-data">
<input type="hidden" name="id_user" value="{$us.id}" />
<div class="control-group">
<label class="control-label" style="min-width: 200px!important;">ФИО</label>
<div class="controls">
<div class="input-prepend" style="width: 90%;">
<input type="text" name="fio" class="form-control" style="width: 90%;" value="{$us.fio}" readonly required />
</div>
</div>
</div>
<div class="control-group">
<label class="control-label" style="min-width: 200px!important;">Email</label>
<div class="controls">
<div class="input-prepend" style="width: 90%;">
<input type="email" name="email" class="form-control" style="width: 90%;" value="{$us.email}" required />
</div>
</div>
</div>
<div class="control-group">
<label class="control-label" style="min-width: 200px!important;">Телефон (Whatsapp)</label>
<div class="controls">
<div class="input-prepend" style="width: 90%;">
<input type="tel" name="phone" class="form-control" style="width: 90%;" value="{$us.phone}" />
</div>
</div>
</div>
<div class="control-group">
<label class="control-label" style="min-width: 200px!important;">Ваша роль</label>
<div class="controls">
<div class="input-prepend" style="width: 90%;">
<select class="form-control" name="rol" style="width: 90%;">
<option value="Студент">Студент</option>
<option value="Сотрудник">Сотрудник</option>
</select>
</div>
</div>
</div>
<div class="control-group">
<label class="control-label" style="min-width: 200px!important;">Должность (если есть)</label>
<div class="controls">
<div class="input-prepend" style="width: 90%;">
<input type="text" name="doljnost" class="form-control" style="width: 90%;" />
</div>
</div>
</div>
<div class="control-group">
<label class="control-label" style="min-width: 200px!important;">Категория</label>
<div class="controls">
<div class="input-prepend" style="width: 90%;">
<select class="form-control" name="category" style="width: 90%;">
{foreach from=$categoryTicket item=category key=k}
<option value="{$category}">{$category}</option>
{/foreach}
</select>
</div>
</div>
</div>
<div class="control-group">
<label class="control-label" style="min-width: 200px!important;">Место проблемы</label>
<div class="controls">
<div class="input-prepend" style="width: 90%;">
<select class="form-control" name="corpuses" style="width: 90%;">
<option value="Онлайн">Можно решить онлайн (если нет, выберите другой пункт)</option>
{foreach from=$corpuses item=corp key=k}
<option value="{$corp.name}">{$corp.name}</option>
{/foreach}
<option value="Общежитие/столовая">Общежитие/столовая</option>
</select>
</div>
</div>
</div>
<div class="control-group">
<label class="control-label" style="min-width: 200px!important;">Аудитория</label>
<div class="controls">
<div class="input-prepend" style="width: 90%;">
<input type="text" name="aud" class="form-control" style="width: 90%;" placeholder="Если проблема решаема онлайн, оставьте поле пустым" />
</div>
</div>
</div>
<div class="control-group">
<label class="control-label" style="min-width: 200px!important;">Подробно описание проблемы</label>
<div class="controls">
<div class="input-prepend" style="width: 90%;">
<textarea name="about" rows="4" style="width:90%;" class="form-control" required ></textarea>
</div>
</div>
</div>
<div class="control-group" style="display: none;">
<label class="control-label" style="min-width: 200px!important;">Приоритет</label>
<div class="controls">
<div class="input-prepend" style="width: 90%;">
<div class="btn-group" data-toggle="buttons">
<label class="btn btn-info tooltips" data-placement="top" data-original-title="НЕ ОПРЕДЕЛЕН">
<input type="radio" name="prioritet[]" value="Не определен" autocomplete="off" class="pred_checkbox" checked > НЕ ОПРЕДЕЛЕН
</label>
<!--label class="btn btn-success tooltips" data-placement="top" data-original-title="НИЗКИЙ">
<input type="radio" name="prioritet[]" value="Низкий" autocomplete="off" class="pred_checkbox" > НИЗКИЙ
</label>
<label class="btn btn-info tooltips" data-placement="top" data-original-title="ОБЫЧНЫЙ">
<input type="radio" name="prioritet[]" value="Обычный" autocomplete="off" class="pred_checkbox" checked /> ОБЫЧНЫЙ
</label>
<label class="btn btn-danger tooltips" data-placement="top" data-original-title="ВЫСОКИЙ">
<input type="radio" name="prioritet[]" value="Высокий" autocomplete="off" class="pred_checkbox" > ВЫСОКИЙ
</label-->
</div>
</div>
</div>
</div>
<div class="control-group">
<label class="control-label" style="min-width: 200px!important;">Файл (служебная записка и/или вспомогательные файлы)</label>
<div class="controls">
<div class="input-prepend" >
<input type="hidden" name="max_file_size" value="20971520">
<input type="file" class=" tooltips" data-trigger="hover" data-original-title="Загрузить файл (не более 20 Мб)" name="file" accept=".zip,.rar,.pdf,.doc,.docx,image/jpeg,image/png,image/gif" />
</div>
<span style="color:red;">Если файлов много, рекомендуется загружать их на отдельный сервис, а в письме указывать ссылки на файлы.</span>
</div>
</div>
<div class="control-group">
<label class="control-label" style="min-width: 200px!important;">Укажите дату (если речь идет о мероприятии)</label>
<div class="controls">
<div class="input-prepend" style="width: 90%;">
<input type="date" name="m_date" class="form-control" style="width: 90%;" />
</div>
</div>
</div>
<input type="hidden" name="j_date" value="0" />
<!--div class="control-group">
<label class="control-label" style="min-width: 200px!important;">Конечный срок до (жесткий дедлайн)</label>
<div class="controls">
<div class="input-prepend" style="width: 90%;">
<input type="date" name="j_date" class="form-control" style="width: 90%;" />
</div>
</div>
</div-->
<br />
<input type="submit" class="btn btn-primary" name="order_ticket" value="Отправить заявку на рассмотрение" />
</form>
</div>
</div>
</div>
{if isset($user.statuses[77])}
<div class="row-fluid">
<div class="widget red">
<div class="widget-title">
<h4><i class="icon-reorder"></i> ВСЕ ЗАЯВКИ</h4>
<span class="tools">
<a href="javascript:;" class="icon-chevron-down"></a>
</span>
</div>
<div class="widget-body">
<p>Крупные задачи (на которые нужно более 8-10 часов) нужно разбивать на несколько более мелких.</p>
<p><i class=" icon-male"></i> - означает, что Вы исполнитель задачи.</p>
<span class="btn btn-info order-sort" data-status="Все">Все</span>
<span class="btn btn-info order-sort" data-status="на рассмотрении">на рассмотрении</span>
<span class="btn btn-info order-sort" data-status="в работе">в работе</span>
<span class="btn btn-info order-sort" data-status="на проверке">на проверке</span>
<span class="btn btn-info order-sort" data-status="на доработке">на доработке</span>
<span class="btn btn-info order-sort" data-status="выполнено">выполнено</span>
<span class="btn btn-info order-sort" data-status="одобрено">одобрено</span>
<span class="btn btn-info order-sort" data-status="архив">архив</span>
<br /><br />
<table class="table table-bordered">
<tr bgcolor="lightgray">
<th>№ заявки</th>
<th>Дата открытия/<br />Дата сдачи работы</th>
<th>Контакты</th>
<th>Категория<br /> Краткое описание</th>
<th>Сроки</th>
<th>Прочая информация</th>
<th>Действия</th>
</tr>
{foreach from=$ordersAll item=order key=k}
<tr style="background-color: {$order.color};" class="status-tr" data-print="{$order.status}">
<td>
<span class="badge badge-{if ($order.prioritet == 'Высокий')}important{else}{if ($order.prioritet == 'Обычный')}info{else}success{/if}{/if}">{$order.id}</span>
{if ($user.fio == $order.worker.fio)}<span style="font-size: 18px;"><i class=" icon-male"></i> </span> {/if}
</td>
<td>{$order.date_create}<br />{if $order.date_end != "01.01.1970 03:00:00"}{$order.date_end}{/if}</td>
<td>
<b>ФИО:</b> {$order.fio}<br />
<b>Должность:</b> {$order.doljnost}<br />
<b>Телефон:</b> {$order.phone}<br />
{if $order.category != "Telegram"}<b>Email: </b>{$order.email}{else}Эта заявка из телеграм<!--b>Telegram: </b><a href="tg://user?id={$order.email}">написать</a-->{/if}</b> <br />
<b>Место проблемы:</b> {$order.place}<br />
</td>
<td><span class="badge badge-{if $order.category=='Telegram'}info{else}warning{/if}">{$order.category}</span><br />{$order.about|mb_substr:0:100}...</td>
<td><b><font color="blue">Мероприятие - {$order.m_date}</font><br /><font color="red">Работу выполнить до: {$order.j_date}</font></b><br /> <!--{$order.raznica}--></td>
<td><b>Исполнитель: </b>{$order.worker.fio}<br /><b>Статус заявки: </b>{$order.status}<br /><hr />
{if ($order.teams_id|strstr:",")}<b>Команда:</b><br />
<ul>
{foreach from=$order.teams item=team}
<li>{$team.fio}</li>
{/foreach}
</ul>{/if}
</td>
<td>
<a class="btn btn-primary" href="/it/order/{$order.id}/"><i class="icon-pencil icon-white"></i> В заявку</a>
<br />{if $order.status == 'одобрено'}<h4 align="center" style="color: blue;">{$order.score}</h4>{/if}{if $order.status == 'выполнено'}<h3 align="center" style="color: green;">{$order.score}</h3>{/if}
</td>
</tr>
{/foreach}
</table>
</div>
</div>
</div>
{/if}
<div class="row-fluid">
<div class="widget green">
<div class="widget-title">
<h4><i class="icon-reorder"></i> Ваши тикеты</h4>
<span class="tools">
<a href="javascript:;" class="icon-chevron-down"></a>
</span>
</div>
<div class="widget-body">
<table class="table table-bordered">
<tr bgcolor="lightgray">
<th>№ заявки</th>
<th>Дата открытия</th>
<th>Ваши контакты</th>
<th>Категория</th>
<th>Сроки</th>
<th>Прочая информация</th>
<th>Действия</th>
</tr>
{foreach from=$orders item=order key=k}
<tr>
<td>{$order.id}<br /><font color="blue">({$order.prioritet})</font></td>
<td>{$order.date_create}</td>
<td>
<b>Телефон:</b> {$order.phone}<br />
<b>Email:</b> {$order.email}<br />
<b>Место проблемы:</b> {$order.place}<br />
</td>
<td>{$order.category}</td>
<td><b><font color="orange">Мягкий дедлайн: {$order.m_date}</font><br /><font color="red">Жесткий дедлайн: {$order.j_date}</font></b></td>
<td><b>Исполнитель: </b>{$order.worker.fio}<br /><b>Статус заявки: </b>{$order.status}<br /></td>
<td><a class="btn btn-primary" href="/it/order/{$order.id}/"><i class="icon-pencil icon-white"></i> В заявку</a></td>
</tr>
{/foreach}
</table>
</div>
</div>
</div>
{else} <!--ОТКРЫЛИ ЗАЯВКУ КОНКРЕТНУЮ-->
<div class="row-fluid">
<div class="widget green">
<div class="widget-title">
<h4><i class="icon-reorder"></i> Заявка #{$des}</h4>
<span class="tools">
<a href="javascript:;" class="icon-chevron-down"></a>
</span>
</div>
<div class="widget-body">
{foreach from=$order item=elem key=k}
<table class="table table-bordered">
<tr bgcolor="lightgray">
<th>№ заявки</th>
<th>Дата открытия</th>
<th>Ваши контакты</th>
<th>Категория</th>
<th>Сроки</th>
<th>Прочая информация</th>
<th>Файлы</th>
</tr>
<tr>
<td>{$elem.id}<br /><font color="blue">({$elem.prioritet})</font></td>
<td>{$elem.date_create}</td>
<td>
<b>ФИО:</b> {$elem.fio}<br />
<b>Телефон:</b> {$elem.phone}<br />
<!--b>Email:</b> {$elem.email}<br /-->
{if $elem.category != "Telegram"}<b>Email: </b>{$elem.email}{else}Эта заявка из телеграм<!--b>Telegram: </b><a href="tg://user?id={$elem.email}">написать</a-->{/if}</b> <br />
<b>Место проблемы:</b> {$elem.place}<br />
</td>
<td>{$elem.category}</td>
<td><b><font color="blue">Мероприятие - {$elem.m_date}</font><br /><font color="red">Работу выполнить до: {$elem.j_date}</font></b></td>
<td><b>Исполнитель: </b>{$elem.worker.fio}<br /><b>Статус заявки: </b>{$elem.status}<br /></td>
<td></td>
</tr>
<tr>
<td colspan="7"><b>Описание проблемы/задачи</b><br />{$elem.about}<hr />
{if ($elem.file != '')}<a href="/{$elem.file}" class="btn btn-info" id="add-without-image">Скачать/открыть файл</a>{/if}
</td>
</tr>
</table>
<hr />
{if isset($user.statuses[76])}
{if $elem.status == "на рассмотрении"}
<h4 align="center">Действия руководителя</h4>
<form name="order_work" action="#" method="post">
<input type="hidden" name="id_order" value="{$des}" />
<p>Указать приоритет задачи: </p>
<select name="prioritet" class="form-control">
<option value="Обычный">Обычный</option>
<option value="Низкий">Низкий</option>
<option value="Высокий">Высокий</option>
</select>
<p>Указать срок выполнения до: </p>
<input type="date" name="j_date" class="form-control" />
<h4>Назначить исполнителя:</h4>
{foreach from=$itUsers item=sotr}
<input type="radio" name="worker" value="{$sotr.id_user}" {*if $elem.teams_id|strstr:$sotr.id_user} checked{/if*} /> {$sotr.fio}<br />
{/foreach}
<br />
<input type="submit" name="order_work" class="btn btn-success" value="Отправить в работу" />
</form>
<!--a href="/it/order/{$des}/1/" role="button" class="btn btn-success">Взять в работу</a-->
<a href="/it/order/{$des}/0/" role="button" class="btn btn-warning">Отправить в архив (отклонить)</a>
{/if}
{if $elem.status == "на проверке"}
<h4 align="center">Действия руководителя</h4>
<form name="success_order" action="#" method="post">
<input type="hidden" name="id_order" value="{$des}" />
<p>Начислить баллы (учитываются для всех участников задачи): </p>
<input type="number" name="score" min="0.1" max="10" step="0.1" value="0.5" class="form-control" />
<br /><br />
<input type="submit" class="btn btn-success" name="success_order" value="Одобрить работу" />
</form>
<a href="/it/order/{$des}/3/" role="button" class="btn btn-warning">Вернуть на доработку</a> - в сообщениях обязательно укажите комментарии, почему.
{/if}
{if $elem.status == "одобрено"}
<a href="/it/order/{$des}/3/" role="button" class="btn btn-warning">Вернуть на доработку</a> - в сообщениях обязательно укажите комментарии, почему.
{/if}
{/if}
{if isset($user.statuses[77])}
{if ($elem.status == "в работе") || ($elem.status == "на доработке")} <!--ДОСТУПНЫ ТОЛЬКО ИСПОЛНИТЕЛЮ-->
{if $user.fio == $elem.worker.fio}
<h4 align="center">ДЕЙСТВИЯ НАД ЗАЯВКОЙ </h4>
<table width="100%">
<tr>
<td>
<h4>Включить в команду для решения задачи:</h4>
<form name="team_save" action="#" method="post">
{foreach from=$itUsers item=sotr}
<input type="checkbox" name="it_users[]" value="{$sotr.id_user}" {if $elem.teams_id|strstr:$sotr.id_user} checked{/if} /> {$sotr.fio}<br />
{/foreach}
<br />
<input type="submit" name="team_save" class="btn btn-success" value="Сохранить команду" />
</form>
</td>
<td>
<a href="/it/order/{$des}/2/" role="button" class="btn btn-primary">Отправить на проверку</a><br /><br />
<a href="/it/order/{$des}/0/" role="button" class="btn btn-warning">Задача отменена (в архив)</a>
</td>
</tr>
</table>
{/if}
{/if}
<hr />
{/if}
<h4>Общение по теме проблемы/задачи</h4>
{foreach from=$order item=elem key=k}
{foreach from=$elem.message item=mes key=k2}
<b>{if ($mes.id_user > 0)}{$mes.user.fio} {else} {$elem.fio} {/if} ({$mes.date_create}): </b> {$mes.comment} {if ($mes.file != "")}(<a href="/{$mes.file}">Посмотреть файл</a>){/if}<br />
{/foreach}
{/foreach}
<br />
{if !(($elem.status == "на рассмотрении")||($elem.status == "архив")||($elem.status == "выполнено"))}
<form name="message_add" action="#" method="post" class="form-horizontal" enctype="multipart/form-data">
<div class="control-group">
<label class="control-label" style="min-width: 200px!important;">Файл (необязательно)</label>
<div class="controls">
<div class="input-prepend" >
<input type="hidden" name="max_file_size" value="20971520">
<input type="file" class=" tooltips" data-trigger="hover" data-original-title="Загрузить файл (не более 20 Мб)" name="file" accept=".zip,.rar,.pdf,.doc,.docx,image/jpeg,image/png,image/gif" />
</div>
</div>
</div>
<div class="control-group">
<label class="control-label" style="min-width: 200px!important;">Сообщение</label>
<div class="controls">
<div class="input-prepend" style="width: 90%;">
<input type="hidden" name="des" value="{$des}" />
<input type="text" name="message" class="form-control" style="width: 90%;"/>
<input type="submit" name="message_add" class="btn btn-success" value="Отправить" />
</div>
</div>
</div>
</form>
{else}
<p>Нельзя написать сообщение, если задание не принято в работу или в архиве, или уже выполнено (т.е. считается закрытым).</p>
{/if}
{/foreach}
</div>
</div>
</div>
{/if}
</div>
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){
//сортировка по направлениям
$(".order-sort").click(function(){
var status = $(this).data("status");
//alert(status);
//красим
$('.order-sort').addClass('btn-info');
$('.order-sort').removeClass('btn-danger');
$(this).addClass('btn-danger');
$(this).removeClass('btn-info');
$('tr.status-tr').css("display","none");
//$('tr.napr-tr[data-print="'+status+'"]').css("display","table-row");
if (status == 'Все') $('tr.status-tr').css("display","table-row"); //все
else $('tr.status-tr[data-print="'+status+'"]').css("display","table-row"); //только распечатанные*/
});
});
</script>