v2.2.3 — 责善改过:改进方案改为备注弹窗,样式对齐本周重点

This commit is contained in:
mac
2026-07-29 14:56:22 +08:00
parent c5512d39d0
commit 02f18b3b1c
2 changed files with 19 additions and 5 deletions

View File

@@ -256,9 +256,10 @@
var eveningItems = []; var eveningItems = [];
var eRows = document.querySelectorAll('#evening-list .evening-row'); var eRows = document.querySelectorAll('#evening-list .evening-row');
for (var j=0; j<eRows.length; j++) { for (var j=0; j<eRows.length; j++) {
var inputs = eRows[j].querySelectorAll('input[type="text"]'); var inp = eRows[j].querySelector('input[type="text"]');
var mistake = inputs[0] ? inputs[0].value.trim() : ''; var noteEl = eRows[j].querySelector('.item-note-val');
var improve = inputs[1] ? inputs[1].value.trim() : ''; var mistake = inp ? inp.value.trim() : '';
var improve = noteEl ? noteEl.value.trim() : '';
if (mistake || improve) eveningItems.push({ mistake: mistake, improvement: improve }); if (mistake || improve) eveningItems.push({ mistake: mistake, improvement: improve });
} }
@@ -372,7 +373,7 @@
var noteModalRow = null; var noteModalRow = null;
window.openNoteModal = function(btn) { window.openNoteModal = function(btn) {
noteModalRow = btn.closest('.item-row'); noteModalRow = btn.closest('.item-row') || btn.closest('.evening-row');
var noteEl = noteModalRow.querySelector('.item-note-val'); var noteEl = noteModalRow.querySelector('.item-note-val');
var input = noteModalRow.querySelector('input[type="text"]'); var input = noteModalRow.querySelector('input[type="text"]');
var title = input ? input.value.trim() || '未命名任务' : '备注'; var title = input ? input.value.trim() || '未命名任务' : '备注';
@@ -411,14 +412,22 @@
var container = document.getElementById('evening-list'); var container = document.getElementById('evening-list');
mistake = mistake || ''; mistake = mistake || '';
improve = improve || ''; improve = improve || '';
var hasNote = !!improve;
var div = document.createElement('div'); var div = document.createElement('div');
div.className = 'evening-row'; div.className = 'evening-row';
div.draggable = true; div.draggable = true;
div.innerHTML = div.innerHTML =
'<span class="drag-handle evening-drag" title="拖动排序">⋮⋮</span>' + '<span class="drag-handle evening-drag" title="拖动排序">⋮⋮</span>' +
'<button class="btn-del" onclick="this.parentElement.remove()"><svg class="icon-sm"><use href="#icon-x"/></svg></button>' + '<button class="btn-del" onclick="this.parentElement.remove()"><svg class="icon-sm"><use href="#icon-x"/></svg></button>' +
'<div class="evening-row-main">' +
'<input type="text" value="' + esc(mistake) + '" placeholder="犯的错误…">' + '<input type="text" value="' + esc(mistake) + '" placeholder="犯的错误…">' +
'<input type="text" value="' + esc(improve) + '" placeholder="改进方案…">'; '<button class="btn-note-toggle' + (hasNote ? ' has-note' : '') + '" onclick="openNoteModal(this)" title="改进方案"><svg class="icon-sm"><use href="#icon-file-text"/></svg></button>' +
'</div>';
var noteHidden = document.createElement('input');
noteHidden.type = 'hidden';
noteHidden.className = 'item-note-val';
noteHidden.value = improve;
div.appendChild(noteHidden);
div.addEventListener('dragstart', dragStart); div.addEventListener('dragstart', dragStart);
div.addEventListener('dragover', dragOver); div.addEventListener('dragover', dragOver);
div.addEventListener('drop', function(e){ dragDrop.call(this, e, 'evening-list'); }); div.addEventListener('drop', function(e){ dragDrop.call(this, e, 'evening-list'); });

View File

@@ -1469,3 +1469,8 @@ body {
.item-note { display: none; width: 100%; padding: 6px 10px; border: 1px solid var(--border); border-radius: 6px; font-size: 12px; font-family: inherit; color: var(--text); background: var(--bg); resize: vertical; min-height: 28px; box-sizing: border-box; margin-top: 6px; } .item-note { display: none; width: 100%; padding: 6px 10px; border: 1px solid var(--border); border-radius: 6px; font-size: 12px; font-family: inherit; color: var(--text); background: var(--bg); resize: vertical; min-height: 28px; box-sizing: border-box; margin-top: 6px; }
.item-note:focus { outline: none; border-color: var(--primary); } .item-note:focus { outline: none; border-color: var(--primary); }
.item-row { flex-wrap: wrap; } .item-row { flex-wrap: wrap; }
/* 责善改过行内布局 */
.evening-row-main { display: flex; align-items: center; gap: 8px; width: 100%; }
.evening-row-main input[type="text"] { flex: 1; }
.evening-row-main .btn-note-toggle { display: inline-flex; }