示例#1
0
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;
}
示例#2
0
     }
     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 {