Материал: Автоматизация процесса взаимодействия с клиентами (CRM) в филиале компании DNS

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
92
$w9 = 10;
}
$str = "";
$str.= "<col width='$w1%'>";
$str.= "<col width='$w2%'>";
$str.= "<col width='$w3%'>";
$str.= "<col width='$w4%'>";
$str.= "<col width='$w5%'>";
$str.= "<col width='$w6%'>";
$str.= "<col width='$w7%'>";
$str.= "<col width='$w8%'>";
$str.= "<col width='$w9%'>";
if($_SESSION['uID']>0)
$str.= "<col width='$w10%'>";
echo "<tr>$str</tr>";
$str = "";
$str.= "<th>№</th>";
$str.= "<th>Статус</th>";
$str.= "<th>Описание проблемы</th>";
$str.= "<th>Контактные данные заявителя</th>";
$str.= "<th>Зарегистрировавший заявку</th>";
$str.= "<th>Комментарий отдела ремонта и обслуживания</th>";
$str.= "<th>Стоимость работ, руб.</th>";
$str.= "<th>Файлы</th>";
$str.= "<th>Ист-я</th>";
if($_SESSION['uID']>0)
$str.= "<th>Ред.</th>";
echo "<tr>$str</tr>";
$filepath = $s_pref.$_SESSION['filepath'].'/';
if(is_array($data['lst']))
foreach($data['lst'] as $i => $row)
{
$str = "";
$str.= "<td>".$row['id_request']."</td>";
$str.= "<td>".$row['status']."</td>";
$str.= "<td>".$row['description']."</td>";
$str.= "<td>".$row['contacts']."</td>";
if($row['id_user'] > 0)
$str.= "<td>".$row['registered']."</td>";
else
$str.= "<td>Незарегистрированный пользователь</td>";
$str.= "<td>".$row['comment']."</td>";
$str.= "<td>".$row['price']."</td>";
$cnt = count($row['files']);
$str1 = "";
for($i=0, $j=1; $i<$cnt; $i++, $j++)
$str1.= "<a href='$filepath".$row['files'][$i]['filename']."'
target='_blank'>Файл$j</a> ";
$str.= "<td>".$str1."</td>";
$str.= "<td>&nbsp;<a href='$s_pref"."historyShow?id=".$row['id_request']."'
title='Просмотреть историю по заявке'><img src='$s_pref/img/his.png' /></a></td>";
93
if($_SESSION['uID']>0)
$str.= "<td>&nbsp;<a
href='$s_pref"."requestEdit?id=".$row['id_request']."' title='Редактировать заявку'><img
src='$s_pref/img/edit.png' /></a></td>";
echo "<tr>$str</tr>";
}
echo "</table>";
echo "<div class='row'>";
echo "<div class='col-md-12 text-left'>";
echo "<input type='button' id='btn' class='btn btn-primary'
value='Экспортировать в Excel' onclick='tableToExcel(\"print_table\", \"Заявки\"); return false;'>";
echo "</div>";
echo "</div>";
}
else
echo "<div class='alert alert-warning' role='alert' style='margin:20px;'>Заявки по
данным критериям не найдены</div>";
}
?>
<script type="text/javascript">
var tableToExcel = (function() {
var uri = 'data:application/vnd.ms-excel;base64,'
, template = '<html xmlns:o="urn:schemas-microsoft-com:office:office"
xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns="http://www.w3.org/TR/REC-
html40"><meta http-equiv="content-type" content="application/vnd.ms-excel; charset=UTF-
8"><head><!--[if gte mso
9]><xml><x:ExcelWorkbook><x:ExcelWorksheets><x:ExcelWorksheet><x:Name>{worksheet}</x:
Name><x:WorksheetOptions><x:DisplayGridlines/></x:WorksheetOptions></x:ExcelWorksheet></x
:ExcelWorksheets></x:ExcelWorkbook></xml><![endif]--
></head><body><table>{table}</table></body></html>'
, base64 = function(s) { return
window.btoa(unescape(encodeURIComponent(s))) }
, format = function(s, c) { return s.replace(/{(\w+)}/g, function(m, p) { return
c[p]; }) }
return function(table, name) {
if (!table.nodeType) table = document.getElementById(table)
var ctx = {worksheet: name || 'Worksheet', table: table.innerHTML}
window.location.href = uri + base64(format(template, ctx))
}
})()
</script>
Модуль редактирования заявок
<div class="container-fluid">
<?php
echo "<div class='row text-left' style='margin-top:20px;'><a
href='".SERVER.PREFIX."requestList'><span class='glyphicon glyphicon-arrow-left'></span> Назад
к списку заявок</a></div>";
?>
<div class="row">
<?php
if(isset($_GET['id']) && is_numeric($_GET['id']) && $_GET['id']>0)
{
$type_user = $_SESSION['utype'];
94
$id_request = $_GET['id'];
$mess = '';
$err = false;
if($type_user==3 && isset($_POST['btneditrequest'])) // Только для техника
{
if(isset($_POST['statuses']))
{
$id_status = $_POST['statuses'];
$ret = updateStatusRequest($id_request, $id_status);
if(!$ret){
$mess = "<div class='alert alert-danger' role='alert'
style='margin:20px;'>Произошла ошибка 1 при обновлении заявки</div>";
$err = true;
}
else
$mess = "<div class='alert alert-success' role='alert'
style='margin:20px;'>Обновление заявки произошло успешно</div>";
}
if(isset($_POST['priorities']))
{
$id_priority = $_POST['priorities'];
$ret = updatePriorityRequest($id_request, $id_priority);
if(!$ret){
$mess = "<div class='alert alert-danger' role='alert'
style='margin:20px;'>Произошла ошибка 2 при обновлении заявки<div>";
$err = true;
}
else
$mess = "<div class='alert alert-success' role='alert'
style='margin:20px;'>Обновление заявки произошло успешно</div>";
}
if(isset($_POST['types']))
{
$id_type = $_POST['types'];
$ret = updateTypeRequest($id_request, $id_type);
if(!$ret){
$mess = "<div class='alert alert-danger' role='alert'
style='margin:20px;'>Произошла ошибка 3 при обновлении заявки</div>";
$err = true;
}
else
$mess = "<div class='alert alert-success' role='alert'
style='margin:20px;'>Обновление заявки произошло успешно</div>";
}
if(isset($_POST['comment']))
{
$comment = $_POST['comment'];
$ret = updateCommRequest($id_request, $comment);
if(!$ret){
$mess = "<div class='alert alert-danger' role='alert'
style='margin:20px;'>Произошла ошибка 4 при обновлении заявки</div>";
$err = true;
}
95
else
$mess = "<div class='alert alert-success' role='alert'
style='margin:20px;'>Обновление заявки произошло успешно</div>";
}
if(isset($_POST['price']))
{
$price = $_POST['price'];
if($price==0)
$price='null';
$ret = updatePriceRequest($id_request, $price);
if(!$ret){
$mess = "<div class='alert alert-danger' role='alert'
style='margin:20px;'>Произошла ошибка 5 при обновлении заявки</div>";
$err = true;
}
else
$mess = "<div class='alert alert-success' role='alert'
style='margin:20px;'>Обновление заявки произошло успешно</div>";
}
}
else // Для менеджера
{
if(isset($_POST['statuses']) && isset($_POST['priorities']) &&
isset($_POST['types']) && isset($_POST['description']) && isset($_POST['contacts']) &&
isset($_POST['id_repairer']) && isset($_POST['comment']) && isset($_POST['price']) &&
isset($_POST['btneditrequest']))
{
$id_status = $_POST['statuses'];
if($id_status == 0)
{
$mess = "<div class='alert alert-danger' role='alert'
style='margin:20px;'>Ошибка. Не задан статус заявки</div>";
$err = true;
}
else
{
$id_priority = $_POST['priorities'];
$id_type = $_POST['types'];
$description = $_POST['description'];
$contacts = $_POST['contacts'];
$id_repairer = $_POST['id_repairer'];
$comment = $_POST['comment'];
$price = $_POST['price']==0?'null':$_POST['price'];
$ret = updateRequest($id_request, $id_status, $id_priority,
$id_type, $description, $contacts, $id_repairer, $comment, $price);
if(!$ret)
{
$mess = "<div class='alert alert-danger' role='alert'
style='margin:20px;'>Произошла ошибка при обновлении заявки</div>";
$err = true;
}
else
96
$mess = "<div class='alert alert-success' role='alert'
style='margin:20px;'>Обновление заявки произошло успешно</div>";
}
}
}
$request = getRequestForEdit($id_request);
$data = array('req' => $request, 'type_user' => $type_user, 'mess' => $mess, 'err' =>
$err);
}
else
redir2('404');
echo "<h1>Редактирование заявки № ".$_GET['id']."</h1>";
?>
<div class="col-md-12">
<form class="form-horizontal" action="requestEdit?id=<?php echo $_GET['id']; ?>" method="post"
accept-charset="utf-8">
<fieldset>
<legend></legend>
<?php
$req = $data['req'];
$mess = $data['mess'];
$err = $data['err'];
$type_user = $data['type_user'];
echo "<div class='editrequest'>";
if($mess != '')
echo "<div class='".($err ? 'danger' : 'success')."'>$mess</div>";
?>
<div class="row">
<div class="col-md-5">
<div class="form-group">
<label class="col-md-4 control-label" for="statuses">Статус заявки</label>
<div class="col-md-8">
<?php
echo "<select class='form-control' size='1' name='statuses'>";
echo "<option value='0'>выберите статус</option>";
foreach($req['statuses'] as $i => $status)
echo "<option
value='".$status['id_status']."'".($req['id_status']==$status['id_status'] ? ' selected' :
'').">".$status['status']."</option>";
echo "</select>";
?>
</div>
</div>
</div>
<div class="col-md-7">
<div class="form-group">
<label class="col-md-4 control-label" for="priorities">Приоритет
заявки</label>
Источник: https://baza.diplomsite.ru/previewfile/2064