function get_order_parts_item($desks_array, $no_buttons = '') { global $systems, $db_rs, $elements; $html = ''; write_log(print_r($desks_array, true), 'desk_array'); foreach ($desks_array as $desk) { // ID образения; $desk_id = $desk['index_i']; // Номер заказа; $parts_numm = $desk['numm']; // Получаем нормальную дату; $date_create = date('d.m.Y H:i:s', strtotime($desk['date_z'])); // Получаем имя автора; $author = $systems->get_user_avatar_and_full_name('', $desk['login']); // Количество детавлей; $parts_count = $desk['kolv']; // Цена за на запчасть; $parts_price = $desk['price']; // Примечание к запчасти; $parts_prim = $desk['prim']; // Нзвание запчасти; $parts_name = $desk['name']; // Статус обращения; $status = $desk['statusdet']; if ($status == '0') { $status_text = 'Новый заказ'; } if ($status == '1') { $status_text = 'Детали заказаны'; } if ($status == '2') { $status_text = 'Детали получены'; } if ($status == '3') { $status_text = 'Архивный заказ'; } if ($status == '1' || $status == '0') { $move_color = 1; } // Желтый if ($status == '2' || $status == '3') { $move_color = 4; } // Зеленый цвет; if ($status == '7' || $status == '5') { $move_color = 3; } // Красный свет if ($status == '6' || $status == '4') { $move_color = 2; } $html .= '<div class="desk_item notification_type_' . $move_color . '" id="' . $desk_id . '" style="min-height: 478px;font-size: 0.85em; padding: 10px 10px 10px 10px; vertical-align:top;">'; $html .= '<div id="hidden_desk_window_id_' . $desk_id . '" window_id="" style="display: none;"></div>'; $html .= '<table style="border: none;" cellspacing="0" cellpadding="0">'; $html .= '<tr>'; $html .= '<td style="text-align: right">Номер заказа:</td>'; $html .= '<td><b><div style="width: 100px;">' . $desk_id . '</div></b></td>'; $html .= '</tr>'; $html .= '<tr>'; $html .= '<td style="text-align: right">Дата создания:</td>'; $html .= '<td><b><div style="width: 250px;">' . get_local_date_time($date_create, 1) . '</div></b></td>'; $html .= '</tr>'; $html .= '<tr>'; $html .= '<td style="text-align: right; vertical-align: top;">Статус:</td>'; $html .= '<td><b>' . $status_text . '</b></td>'; $html .= '</tr>'; $html .= '<tr>'; $html .= '<td style="text-align: right">Автор:</td>'; $html .= '<td style="width: 398px;font-size: 0.9em;"><b>' . $author . '</b></td>'; $html .= '</tr>'; $html .= '<tr>'; $html .= '<td style="text-align: right">Номер заказа для которого запчасть:</td>'; $html .= '<td style="cursor: pointer;" onclick="show_info_window(' . $parts_numm . ', \'new\');"><b>' . $parts_numm . '</b></td>'; $html .= '</tr>'; $html .= '<tr>'; $html .= '<td style="text-align: right">Стоимость запчасти:</td>'; $html .= '<td><b><div class="part_price" style="width: 100px;">' . $parts_price . '</div></b></td>'; if ($_SESSION['user_login'] == 'root' || $_SESSION['department_id'] == 2 && $_SESSION['appointment_id'] == 4 || $_SESSION['department_id'] == 4) { $html .= '<script> //$(\'.part_price\').editable(); $(\'.part_price\').editable({ callback : function( data ) { if(data.content != false){ // Были изменения надо сохранить; save_order_parts_option(' . $desk_id . ', \'price\', data.content); } } }); </script>'; } $html .= '</tr>'; $html .= '<tr>'; $html .= '<td style="text-align: right">Необходимое количество:</td>'; $html .= '<td><b><div class="part_count" style="width: 100px;">' . $parts_count . '</div></b></td>'; if ($_SESSION['user_login'] == 'root' || $_SESSION['department_id'] == 2 && $_SESSION['appointment_id'] == 4 || $_SESSION['department_id'] == 4) { $html .= '<script> //$(\'.part_price\').editable(); $(\'.part_count\').editable({ callback : function( data ) { if(data.content != false){ // Были изменения надо сохранить; save_order_parts_option(' . $desk_id . ', \'kolv\', data.content); } } }); </script>'; } $html .= '</tr>'; $html .= '<tr>'; $html .= '<td style="text-align: right; vertical-align: top;">Наименование детали:</td>'; $html .= '<td colspan="4" width="200px" style="-ms-word-break: break-all;word-break: break-all;word-break: break-word;-webkit-hyphens: auto;-moz-hyphens: auto;hyphens: auto;"><b>' . $parts_name . '</b></td>'; $html .= '</tr>'; $html .= '<tr>'; $html .= '<td style="text-align: right; vertical-align: top;">Предварительный комментарий:</td>'; $html .= '<td colspan="4" width="200px" style="-ms-word-break: break-all;word-break: break-all;word-break: break-word;-webkit-hyphens: auto;-moz-hyphens: auto;hyphens: auto;"><b>' . $parts_prim . '</b></td>'; $html .= '</tr>'; $html .= '</table>'; //$html .= //$html .= '<div>'; if ($no_buttons == '') { // Здесь мы выводим операционные кнопки для управления состоянием обращения, в зависимости от статуса обращения и пользователя, кнопки мгут быть разными; $html .= '<div id="desk_buttons">'; // Только руководитель отдела может одобрить заявку на выполнение; if ($status == '0') { $html .= '<div class="menu_button" onclick="orders_parts_set_status_new(' . $desk_id . ', 1);">Запчасть заказана</div>'; } // Только исполнитель может начать выполнение заявки; if ($status == '1') { $html .= '<div class="menu_button" onclick="orders_parts_set_status_new(' . $desk_id . ', 2);">Деталь получена</div>'; } // Только исполнитель может завешить выполнение заявки; if ($status == '2') { $html .= '<div class="menu_button" onclick="orders_parts_set_status_new(' . $desk_id . ', 3);">Отправить заявку в архив</div>'; } // Некоторый господам доступный все кнопки в любое время; if ($_SESSION['department_id'] == 4 && $_SESSION['appointment_id'] == 1 || $_SESSION['department_id'] == 2 && $_SESSION['appointment_id'] == 4 || $_SESSION['user_id'] == 50 || $_SESSION['department_id'] == 12) { $html .= $elements->caption('Административная смена статуса - ТОЛЬКО для административного использования'); $html .= '<div style="border: 1px solid black;padding: 3px 3px 9px 3px;margin: 9px;border-radius: 3px;max-width: 36em;background-color: chartreuse;">'; $html .= '<div class="menu_button" onclick="orders_parts_set_status_new(' . $desk_id . ', 0);">Деталь заказана инженером</div>'; $html .= '<div class="menu_button" onclick="orders_parts_set_status_new(' . $desk_id . ', 1);">Запчасть заказана</div>'; $html .= '<div class="menu_button" onclick="orders_parts_set_status_new(' . $desk_id . ', 2);">Деталь получена</div>'; $html .= '<div class="menu_button" onclick="orders_parts_set_status_new(' . $desk_id . ', 3);">Отправить заявку в архив</div>'; $html .= '</div>'; } $html .= '</div>'; } // Заказчик запчасти может всегда отправить запчасть в архив; if ($_SESSION['user_login'] == $desk['login']) { $html .= '<div class="menu_button" onclick="orders_parts_set_status_new(' . $desk_id . ', 3);">Отправить заявку в архив</div>'; } $html .= '<div style="margin-top: 5px; margin-bottom: 5px; margin-right: 10px; font-size: 0.9em;" align="center"><div class="menu_button" onclick="view_orders_parts_dialog(' . $desk_id . ');">Показать диалог</div></div>'; $html .= '<div class="dialog_' . $desk_id . '" style="margin-top: 0.5em;" hidden>'; // Написать сообщение к обращению; //$html .= $elements->button(); $html .= '<div style="display: inline-block;"><input style="width: 46.9em;" type="text" desk_id="' . $desk_id . '" id="desk_message_text_' . $desk_id . '" value="" onkeydown = "if(event.which == 13) add_new_orders_parts_chat_message(this, ' . $desk_id . ')">'; $html .= '</div>'; $html .= get_orders_parts_chat($desk_id); $html .= '</div>'; $html .= '</div>'; } return $html; }
} if ($status == '3') { $status_text = 'Архивный заказ'; } write_event_to_orders_parts_chat($_POST['desk_id'], 'Пользователь: ' . $author_id . '. Сменил статус заявки на запчасть на: ' . $status_text); $sql = "UPDATE `detalsz` SET `statusdet` = '" . $_POST['status'] . "' WHERE `index_i` = '" . $_POST['desk_id'] . "';"; $db->query($sql); // Уведомляем автора что произошли изменения; $sql = "SELECT `login` FROM `detalsz` WHERE `index_i` = '" . $_POST['desk_id'] . "';"; $author_login = $db->one($sql); send_notification(get_user_id($author_login), 'Произошли изменения в заявке на запчасти №' . $_POST['desk_id'] . '<br>Нажмите для перехода к заявке.', 'orders_parts', '', '4', $_POST['desk_id']); echo 'OK'; } // Когда просят обновить чат; if (isset($_POST['get_messages']) && $_POST['get_messages'] != '') { echo get_orders_parts_chat($_POST['get_messages']); } // Добавление нового сообщения; if (isset($_POST['add_message']) && $_POST['add_message'] != '') { // Добвляем сообщение и обновляем дату в обращении; $sql = "INSERT INTO `orders_parts_chats` (`order_part_id`, `author_user_id`, `message_text`, `date`) VALUES('" . $_POST['desk_id'] . "', '" . get_user_id($_SESSION['user_login']) . "', '" . $_POST['add_message'] . "', NOW());"; write_log($sql, 'add_orders_parts_chat_message'); $db_rs->query($sql); // Определяем автора заявки; $sql = "SELECT `login` FROM `detalsz` WHERE `index_i` = '" . $_POST['desk_id'] . "';"; $author_login = $db->one($sql); // Если отправитель сообщения не автор заявки, то уведомляем его; if (get_user_id($author_login) != $_SESSION['user_id']) { // Уведомляем автора заявки об изменениях; send_notification(get_user_id($author_login), 'Произошли изменения в заявке на запчасти №' . $_POST['desk_id'] . '<br>Нажмите для перехода к заявке.', 'orders_parts', '', '4', $_POST['desk_id']); } else {