EIOS/tpl/tpl_it_order.html

517 lines
22 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!-- 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>