增加公交线路和编码功能

This commit is contained in:
2026-07-28 09:49:01 +08:00
parent 7a7fd04e40
commit e72acb58ec
4 changed files with 60 additions and 7 deletions

View File

@@ -172,15 +172,33 @@ function onFieldCheckboxChange(cb) {
const item = cb.closest('.checkbox-item');
if (item) item.classList.toggle('checked', cb.checked);
// 获取当前已选字段的顺序(从字段顺序列表中获取)
const currentOrder = getSelectedFieldsOrder();
// 获取所有勾选的字段
const fieldsList = document.getElementById('field-list');
const checkedFields = Array.from(fieldsList.querySelectorAll('input:checked')).map(c => c.value);
const allCheckedFields = Array.from(fieldsList.querySelectorAll('input:checked')).map(c => c.value);
// 构建新的字段顺序:保留当前顺序,添加新勾选的字段,移除取消勾选的字段
let newOrder = [];
for (const fieldKey of currentOrder) {
if (allCheckedFields.includes(fieldKey)) {
newOrder.push(fieldKey);
}
}
// 添加新勾选的字段(不在当前顺序中的)
for (const fieldKey of allCheckedFields) {
if (!newOrder.includes(fieldKey)) {
newOrder.push(fieldKey);
}
}
// 保留当前求和字段的选择状态
const sumFieldsList = document.getElementById('sum-fields-list');
const currentSumFields = sumFieldsList ? Array.from(sumFieldsList.querySelectorAll('input:checked')).map(c => c.value) : [];
refreshSumFieldsList(checkedFields, currentSumFields);
refreshSelectedFieldsOrder(checkedFields);
refreshSumFieldsList(newOrder, currentSumFields);
refreshSelectedFieldsOrder(newOrder);
}
// 刷新已选字段顺序列表