v1.8.4: единая стилистика — замена confirm/alert/prompt на кастомные модалки, SERVICE_STYLE_GUIDE.md, обновлен AGENTS.md
This commit is contained in:
@@ -18,8 +18,8 @@
|
||||
<td class="actions">
|
||||
<button class="btn btn-secondary btn-sm" onclick="editCustomer({{ d.c.id }},'{{ d.c.name|e }}','{{ d.c.inn|e }}','{{ d.c.kpp|e }}','{{ d.c.legal_address|e }}','{{ d.c.contact_person|e }}','{{ d.c.contact_phone|e }}','{{ d.c.contact_email|e }}','{{ d.c.status }}','{{ d.c.notes|e }}')">✎</button>
|
||||
{% if user.role == 'owner' %}
|
||||
<form method="post" action="/service/customers/delete" style="display:inline" onsubmit="return confirm('Удалить клиента?')">
|
||||
<input type="hidden" name="id" value="{{ d.c.id }}"><button class="btn btn-danger btn-sm">✕</button>
|
||||
<form method="post" action="/service/customers/delete" style="display:inline" id="delete-customer-form-{{ d.c.id }}">
|
||||
<input type="hidden" name="id" value="{{ d.c.id }}"><button type="button" class="btn btn-danger btn-sm" onclick="openConfirmDeleteCustomer({{ d.c.id }},'{{ d.c.name|e }}')" title="Удалить">✕</button>
|
||||
</form>{% endif %}
|
||||
</td>
|
||||
</tr>{% endfor %}</tbody></table>
|
||||
@@ -53,7 +53,34 @@
|
||||
</div>
|
||||
</form>
|
||||
</div></div>
|
||||
<div class="modal-overlay" id="confirm-delete-customer">
|
||||
<div class="modal" style="max-width:420px;">
|
||||
<h2 style="font-size:16px;margin-bottom:8px;">Удалить клиента?</h2>
|
||||
<p style="color:var(--text-secondary);font-size:14px;margin-bottom:20px;">
|
||||
<strong id="delete-customer-name"></strong> будет удалён навсегда. Это действие нельзя отменить.
|
||||
</p>
|
||||
<div class="modal-actions" style="justify-content:flex-end;">
|
||||
<button type="button" class="btn btn-danger" onclick="confirmDeleteCustomer()">Удалить</button>
|
||||
<button type="button" class="btn" onclick="closeConfirmDeleteCustomer()">Отмена</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script>
|
||||
var deleteCustomerId = null;
|
||||
function openConfirmDeleteCustomer(id, name){
|
||||
deleteCustomerId = id;
|
||||
document.getElementById('delete-customer-name').textContent = name || '#' + id;
|
||||
document.getElementById('confirm-delete-customer').classList.add('open');
|
||||
}
|
||||
function closeConfirmDeleteCustomer(){
|
||||
document.getElementById('confirm-delete-customer').classList.remove('open');
|
||||
deleteCustomerId = null;
|
||||
}
|
||||
function confirmDeleteCustomer(){
|
||||
if(!deleteCustomerId) return;
|
||||
document.getElementById('delete-customer-form-' + deleteCustomerId).submit();
|
||||
closeConfirmDeleteCustomer();
|
||||
}
|
||||
function phoneMask(input){
|
||||
var x = input.value.replace(/\D/g, '').match(/(\d{0,1})(\d{0,3})(\d{0,3})(\d{0,2})(\d{0,2})/);
|
||||
if (!x) return;
|
||||
|
||||
Reference in New Issue
Block a user