mirror of
https://github.com/wasrusgen/wasrusgen1-crm.git
synced 2026-06-03 19:04:47 +00:00
feat: stage 3 delete document with inline confirm
This commit is contained in:
parent
ca1d9d8f9d
commit
ad6662b5ea
@ -170,6 +170,13 @@ body{font-family:'Inter',sans-serif;background:var(--body-bg);color:var(--text);
|
|||||||
.upload-drop-t{font-size:13px;font-weight:600;color:#374151;margin-bottom:3px}
|
.upload-drop-t{font-size:13px;font-weight:600;color:#374151;margin-bottom:3px}
|
||||||
.upload-drop-s{font-size:11px;color:#9CA3AF}
|
.upload-drop-s{font-size:11px;color:#9CA3AF}
|
||||||
.upload-drop-btn{display:inline-flex;align-items:center;gap:6px;margin-top:10px;padding:7px 16px;background:var(--white);border:1.5px solid var(--border);border-radius:8px;font-size:12px;font-weight:600;color:var(--primary);cursor:pointer;font-family:'Inter',sans-serif}
|
.upload-drop-btn{display:inline-flex;align-items:center;gap:6px;margin-top:10px;padding:7px 16px;background:var(--white);border:1.5px solid var(--border);border-radius:8px;font-size:12px;font-weight:600;color:var(--primary);cursor:pointer;font-family:'Inter',sans-serif}
|
||||||
|
.dt-del-btn{width:24px;height:24px;border-radius:6px;border:none;background:transparent;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;color:#CBD5E1;transition:all .15s;flex-shrink:0;font-size:14px;padding:0}
|
||||||
|
.dt-del-btn:hover{background:#FEF2F2;color:#EF4444}
|
||||||
|
.dt-del-confirm{display:none;align-items:center;gap:6px;font-size:12px;color:#EF4444;font-weight:600;white-space:nowrap}
|
||||||
|
.dt-del-confirm.show{display:flex}
|
||||||
|
.dt-del-yes{padding:3px 9px;border-radius:6px;background:#FEF2F2;border:1.5px solid #FECACA;color:#DC2626;font-size:11px;font-weight:700;cursor:pointer;font-family:'Inter',sans-serif}
|
||||||
|
.dt-del-no{padding:3px 9px;border-radius:6px;background:transparent;border:1px solid var(--border);color:var(--muted);font-size:11px;font-weight:600;cursor:pointer;font-family:'Inter',sans-serif}
|
||||||
|
|
||||||
.elena-note{background:linear-gradient(135deg,rgba(4,120,87,.05),rgba(16,185,129,.03));border:1.5px solid rgba(4,120,87,.12);border-radius:12px;padding:14px 16px;display:flex;align-items:flex-start;gap:12px;margin-bottom:14px;flex-shrink:0}
|
.elena-note{background:linear-gradient(135deg,rgba(4,120,87,.05),rgba(16,185,129,.03));border:1.5px solid rgba(4,120,87,.12);border-radius:12px;padding:14px 16px;display:flex;align-items:flex-start;gap:12px;margin-bottom:14px;flex-shrink:0}
|
||||||
.elena-note-av{width:32px;height:32px;border-radius:50%;object-fit:cover;flex-shrink:0}
|
.elena-note-av{width:32px;height:32px;border-radius:50%;object-fit:cover;flex-shrink:0}
|
||||||
.elena-note-body{flex:1}
|
.elena-note-body{flex:1}
|
||||||
@ -816,7 +823,15 @@ body{font-family:'Inter',sans-serif;background:var(--body-bg);color:var(--text);
|
|||||||
<div class="dt-doc"><span style="font-size:15px">📄</span>Устав компании <span style="font-size:10px;color:#9CA3AF;margin-left:4px">▸ нажми для анализа</span></div>
|
<div class="dt-doc"><span style="font-size:15px">📄</span>Устав компании <span style="font-size:10px;color:#9CA3AF;margin-left:4px">▸ нажми для анализа</span></div>
|
||||||
<div class="dt-from">Иванов А.</div>
|
<div class="dt-from">Иванов А.</div>
|
||||||
<div class="dt-file-info"><span class="dt-file-link" onclick="event.stopPropagation()">Открыть</span><span class="dt-file-size">· 27 мая · 184 кб</span></div>
|
<div class="dt-file-info"><span class="dt-file-link" onclick="event.stopPropagation()">Открыть</span><span class="dt-file-size">· 27 мая · 184 кб</span></div>
|
||||||
<div><span class="bdg bdg-ok">✓ Загружен</span></div>
|
<div style="display:flex;align-items:center;gap:6px">
|
||||||
|
<span class="bdg bdg-ok">✓ Загружен</span>
|
||||||
|
<button class="dt-del-btn" onclick="event.stopPropagation();showDelConfirm(this)" title="Удалить">🗑</button>
|
||||||
|
<div class="dt-del-confirm">
|
||||||
|
<span>Удалить?</span>
|
||||||
|
<button class="dt-del-yes" onclick="event.stopPropagation();delDoc(this)">Да</button>
|
||||||
|
<button class="dt-del-no" onclick="event.stopPropagation();this.closest('.dt-del-confirm').classList.remove('show')">Нет</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<div class="doc-panel">
|
<div class="doc-panel">
|
||||||
<div class="doc-thumb">📄<div class="doc-thumb-name">Устав_компании.pdf</div></div>
|
<div class="doc-thumb">📄<div class="doc-thumb-name">Устав_компании.pdf</div></div>
|
||||||
<div class="doc-analysis">
|
<div class="doc-analysis">
|
||||||
@ -838,7 +853,15 @@ body{font-family:'Inter',sans-serif;background:var(--body-bg);color:var(--text);
|
|||||||
<div class="dt-doc"><span style="font-size:15px">🗂</span>Организационная структура <span style="font-size:10px;color:#9CA3AF;margin-left:4px">▸ нажми для анализа</span></div>
|
<div class="dt-doc"><span style="font-size:15px">🗂</span>Организационная структура <span style="font-size:10px;color:#9CA3AF;margin-left:4px">▸ нажми для анализа</span></div>
|
||||||
<div class="dt-from">Иванов А.</div>
|
<div class="dt-from">Иванов А.</div>
|
||||||
<div class="dt-file-info"><span class="dt-file-link" onclick="event.stopPropagation()">Открыть</span><span class="dt-file-size">· 27 мая · 2.1 мб</span></div>
|
<div class="dt-file-info"><span class="dt-file-link" onclick="event.stopPropagation()">Открыть</span><span class="dt-file-size">· 27 мая · 2.1 мб</span></div>
|
||||||
<div><span class="bdg bdg-ok">✓ Загружен</span></div>
|
<div style="display:flex;align-items:center;gap:6px">
|
||||||
|
<span class="bdg bdg-ok">✓ Загружен</span>
|
||||||
|
<button class="dt-del-btn" onclick="event.stopPropagation();showDelConfirm(this)" title="Удалить">🗑</button>
|
||||||
|
<div class="dt-del-confirm">
|
||||||
|
<span>Удалить?</span>
|
||||||
|
<button class="dt-del-yes" onclick="event.stopPropagation();delDoc(this)">Да</button>
|
||||||
|
<button class="dt-del-no" onclick="event.stopPropagation();this.closest('.dt-del-confirm').classList.remove('show')">Нет</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<div class="doc-panel">
|
<div class="doc-panel">
|
||||||
<div class="doc-thumb">🗂<div class="doc-thumb-name">Оргструктура_2026.pdf</div></div>
|
<div class="doc-thumb">🗂<div class="doc-thumb-name">Оргструктура_2026.pdf</div></div>
|
||||||
<div class="doc-analysis">
|
<div class="doc-analysis">
|
||||||
@ -861,7 +884,15 @@ body{font-family:'Inter',sans-serif;background:var(--body-bg);color:var(--text);
|
|||||||
<div class="dt-doc"><span style="font-size:15px">🔧</span>Регламенты и должностные инструкции <span style="font-size:10px;color:#9CA3AF;margin-left:4px">▸ нажми для анализа</span></div>
|
<div class="dt-doc"><span style="font-size:15px">🔧</span>Регламенты и должностные инструкции <span style="font-size:10px;color:#9CA3AF;margin-left:4px">▸ нажми для анализа</span></div>
|
||||||
<div class="dt-from">Петрова М.</div>
|
<div class="dt-from">Петрова М.</div>
|
||||||
<div class="dt-file-info"><span class="dt-file-link" onclick="event.stopPropagation()">Открыть</span><span class="dt-file-size">· 28 мая · 860 кб</span></div>
|
<div class="dt-file-info"><span class="dt-file-link" onclick="event.stopPropagation()">Открыть</span><span class="dt-file-size">· 28 мая · 860 кб</span></div>
|
||||||
<div><span class="bdg bdg-ok">✓ Загружен</span></div>
|
<div style="display:flex;align-items:center;gap:6px">
|
||||||
|
<span class="bdg bdg-ok">✓ Загружен</span>
|
||||||
|
<button class="dt-del-btn" onclick="event.stopPropagation();showDelConfirm(this)" title="Удалить">🗑</button>
|
||||||
|
<div class="dt-del-confirm">
|
||||||
|
<span>Удалить?</span>
|
||||||
|
<button class="dt-del-yes" onclick="event.stopPropagation();delDoc(this)">Да</button>
|
||||||
|
<button class="dt-del-no" onclick="event.stopPropagation();this.closest('.dt-del-confirm').classList.remove('show')">Нет</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<div class="doc-panel">
|
<div class="doc-panel">
|
||||||
<div class="doc-thumb">🔧<div class="doc-thumb-name">Регламенты.docx</div></div>
|
<div class="doc-thumb">🔧<div class="doc-thumb-name">Регламенты.docx</div></div>
|
||||||
<div class="doc-analysis">
|
<div class="doc-analysis">
|
||||||
@ -1044,6 +1075,25 @@ function go(n){
|
|||||||
document.getElementById('pb-hint').textContent=hints[n];
|
document.getElementById('pb-hint').textContent=hints[n];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function showDelConfirm(btn){
|
||||||
|
// close any other open confirms
|
||||||
|
document.querySelectorAll('.dt-del-confirm.show').forEach(c=>c.classList.remove('show'));
|
||||||
|
btn.nextElementSibling.classList.add('show');
|
||||||
|
}
|
||||||
|
function delDoc(yesBtn){
|
||||||
|
const row=yesBtn.closest('.dt-r');
|
||||||
|
// collapse panel if open
|
||||||
|
const panel=row.querySelector('.doc-panel');
|
||||||
|
if(panel) panel.classList.remove('open');
|
||||||
|
// replace status cell
|
||||||
|
const statusCell=yesBtn.closest('[style*="flex"]');
|
||||||
|
statusCell.innerHTML='<span class="dt-upload-btn" style="cursor:pointer"><svg width="11" height="11" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><polyline points="16 16 12 12 8 16"/><line x1="12" y1="12" x2="12" y2="21"/><path d="M20.39 18.39A5 5 0 0 0 18 9h-1.26A8 8 0 1 0 3 16.3"/></svg> Загрузить снова</span>';
|
||||||
|
// grey out file info
|
||||||
|
const fileInfo=row.querySelector('.dt-file-info');
|
||||||
|
if(fileInfo) fileInfo.innerHTML='<span style="font-size:11px;color:#9CA3AF">удалён</span>';
|
||||||
|
row.style.background='#FFFBEB';
|
||||||
|
}
|
||||||
|
|
||||||
function toggleDoc(row){
|
function toggleDoc(row){
|
||||||
const panel=row.querySelector('.doc-panel');
|
const panel=row.querySelector('.doc-panel');
|
||||||
if(!panel) return;
|
if(!panel) return;
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user