icons
This commit is contained in:
+33
-13
@@ -21,6 +21,7 @@
|
||||
.header div { flex: 1; text-align: center; }
|
||||
.header div:hover { background: #e0e0e0; }
|
||||
.sort-arrow { font-size: 12px; margin-left: 5px; }
|
||||
.protocol-icon { margin-right: 5px; }
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
@@ -42,13 +43,21 @@
|
||||
</div>
|
||||
<div class="form-container">
|
||||
<h2>Добавить запись</h2>
|
||||
<input type="text" id="rustId" placeholder="Rust ID" required>
|
||||
<input type="text" id="rustId" placeholder="ID подключения" required>
|
||||
<input type="text" id="computerName" placeholder="Имя компьютера" required>
|
||||
<input type="text" id="installTime" placeholder="Время (опционально)">
|
||||
<select id="protocol">
|
||||
<option value="rustdesk" selected>RustDesk</option>
|
||||
<option value="anydesk">AnyDesk</option>
|
||||
<option value="ammyy">Ammyy Admin</option>
|
||||
<option value="teamviewer">TeamViewer</option>
|
||||
<option value="vnc">VNC</option>
|
||||
<option value="rdp">RDP</option>
|
||||
</select>
|
||||
<button onclick="addInstall()">Добавить</button>
|
||||
</div>
|
||||
<div class="header">
|
||||
<div onclick="sortInstalls('rust_id')">Rust ID<span class="sort-arrow"></span></div>
|
||||
<div onclick="sortInstalls('rust_id')">ID подключения<span class="sort-arrow"></span></div>
|
||||
<div onclick="sortInstalls('computer_name')">Имя компьютера<span class="sort-arrow"></span></div>
|
||||
<div onclick="sortInstalls('install_time')">Время установки<span class="sort-arrow"></span></div>
|
||||
<div>Действия</div>
|
||||
@@ -63,6 +72,15 @@
|
||||
let sortField = null;
|
||||
let sortDirection = 'asc';
|
||||
|
||||
const protocolIcons = {
|
||||
'rustdesk': '🖥️', // Эмодзи для RustDesk
|
||||
'anydesk': '🔴', // Эмодзи для AnyDesk
|
||||
'ammyy': '🟢', // Эмодзи для Ammyy Admin
|
||||
'teamviewer': '🔵', // Эмодзи для TeamViewer
|
||||
'vnc': '🟡', // Эмодзи для VNC
|
||||
'rdp': '🟣' // Эмодзи для RDP
|
||||
};
|
||||
|
||||
$(document).ready(function () {
|
||||
$('#folder-tree').jstree({
|
||||
'core': {
|
||||
@@ -120,12 +138,12 @@
|
||||
function displayInstalls(installs) {
|
||||
$('#installs-list').html(installs.map(item => `
|
||||
<div class="install-item" data-id="${item.id}" draggable="true" style="display: flex; justify-content: space-between;">
|
||||
<div style="flex: 1; text-align: center;">${item.rust_id}</div>
|
||||
<div style="flex: 1; text-align: center;"><span class="protocol-icon">${protocolIcons[item.protocol]}</span>${item.rust_id}</div>
|
||||
<div style="flex: 1; text-align: center;">${item.computer_name}</div>
|
||||
<div style="flex: 1; text-align: center;">${item.install_time}</div>
|
||||
<div style="flex: 1; text-align: center;">
|
||||
<a href="rustdesk://${item.rust_id}" onclick="openRustDesk('${item.rust_id}'); return false;">Подключиться</a>
|
||||
<button onclick="editInstall(${item.id}, '${item.rust_id}', '${item.computer_name}', '${item.install_time}')">Редактировать</button>
|
||||
<a href="${item.protocol}://${item.rust_id}" onclick="openRemote('${item.rust_id}', '${item.protocol}'); return false;">Подключиться</a>
|
||||
<button onclick="editInstall(${item.id}, '${item.rust_id}', '${item.computer_name}', '${item.install_time}', '${item.protocol}')">Редактировать</button>
|
||||
<button onclick="deleteInstall(${item.id})">Удалить</button>
|
||||
</div>
|
||||
</div>
|
||||
@@ -173,7 +191,7 @@
|
||||
function updateSortArrows() {
|
||||
$('.sort-arrow').text('');
|
||||
if (sortField) {
|
||||
$(`.header div:contains("${sortField === 'rust_id' ? 'Rust ID' : sortField === 'computer_name' ? 'Имя компьютера' : 'Время установки'}") .sort-arrow`)
|
||||
$(`.header div:contains("${sortField === 'rust_id' ? 'ID подключения' : sortField === 'computer_name' ? 'Имя компьютера' : 'Время установки'}") .sort-arrow`)
|
||||
.text(sortDirection === 'asc' ? '↑' : '↓');
|
||||
}
|
||||
}
|
||||
@@ -231,27 +249,29 @@
|
||||
const rustId = $('#rustId').val();
|
||||
const computerName = $('#computerName').val();
|
||||
const installTime = $('#installTime').val() || new Date().toISOString();
|
||||
const protocol = $('#protocol').val();
|
||||
$.ajax({
|
||||
url: `${API_URL}/install`,
|
||||
type: 'POST',
|
||||
contentType: 'application/json',
|
||||
data: JSON.stringify({ rust_id: rustId, computer_name: computerName, install_time: installTime, folder_id: selectedFolderId }),
|
||||
data: JSON.stringify({ rust_id: rustId, computer_name: computerName, install_time: installTime, folder_id: selectedFolderId, protocol: protocol }),
|
||||
success: function () {
|
||||
loadInstalls(selectedFolderId);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function editInstall(id, rustId, computerName, installTime) {
|
||||
const newRustId = prompt("Rust ID:", rustId);
|
||||
function editInstall(id, rustId, computerName, installTime, protocol) {
|
||||
const newRustId = prompt("ID подключения:", rustId);
|
||||
const newComputerName = prompt("Имя компьютера:", computerName);
|
||||
const newInstallTime = prompt("Время установки:", installTime);
|
||||
const newProtocol = prompt("Протокол (rustdesk, anydesk, ammyy, teamviewer, vnc, rdp):", protocol);
|
||||
if (newRustId && newComputerName) {
|
||||
$.ajax({
|
||||
url: `${API_URL}/install/${id}`,
|
||||
type: 'PUT',
|
||||
contentType: 'application/json',
|
||||
data: JSON.stringify({ rust_id: newRustId, computer_name: newComputerName, install_time: newInstallTime, folder_id: selectedFolderId }),
|
||||
data: JSON.stringify({ rust_id: newRustId, computer_name: newComputerName, install_time: newInstallTime, folder_id: selectedFolderId, protocol: newProtocol }),
|
||||
success: function () {
|
||||
loadInstalls(selectedFolderId);
|
||||
}
|
||||
@@ -286,9 +306,9 @@
|
||||
});
|
||||
}
|
||||
|
||||
function openRustDesk(rustId) {
|
||||
if (confirm("Подключиться к " + rustId + "?")) {
|
||||
window.location.href = `rustdesk://${rustId}`;
|
||||
function openRemote(id, protocol) {
|
||||
if (confirm(`Подключиться к ${id} через ${protocol}?`)) {
|
||||
window.location.href = `${protocol}://${id}`;
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
Reference in New Issue
Block a user