perf: 全项目批量优化-16处load()改为轻量刷新

- plan.js: createPlanFinance/deletePlanItem/planInlineUpdate
- finance.js: createFinance/deleteFinanceItem
- drawer.js: deleteDrawerItem/submitComment/deleteActivity
- products.js: createResource/submitProductDrawer
- projects.js: duplicateProject/submitTaskForm
- proposals.js: ensureStandardProposals/submitStandardComment/submitProposal
- plan_expense.js: savePlanExpense/deletePlanExpItem(上版本已修)
- 所有保存/删除/编辑后改为/api/<resource>/list+单模块render
- 仅保留app.js初始加载和switchTenant切换工作台的全量load()
- 版本号 v1.0.0.38
This commit is contained in:
mac
2026-07-09 16:20:21 +08:00
parent 296917456c
commit c26cbb3cf4
7 changed files with 30 additions and 17 deletions

View File

@@ -32,7 +32,8 @@ async function ensureStandardProposals() {
});
} catch (e) { /* ignore */ }
}
await load();
state.data.proposals = await api("/api/proposals/list?tenant=" + encodeURIComponent(state.tenant));
renderProposals();
}
window.switchProposalTab = (tab) => {
@@ -183,7 +184,7 @@ window.submitStandardComment = async (event, targetId) => {
button.disabled = true;
button.textContent = "发送中…";
await api(`/api/followups/proposal/${targetId}`, { method: "POST", body: JSON.stringify({ data: { content } }) });
await load();
try { state.data.proposals = await api("/api/proposals/list?tenant=" + encodeURIComponent(state.tenant)); renderProposals(); } catch(e) {}
openStandardProposalDrawer(targetId);
};
@@ -207,7 +208,7 @@ window.submitProposal = async (event) => {
if (result.id && data.customer_or_project_name) logActivity("proposal", result.id, "创建了方案「" + data.customer_or_project_name + "」");
form.reset();
closeProposalModal();
await load();
try { state.data.proposals = await api("/api/proposals/list?tenant=" + encodeURIComponent(state.tenant)); renderProposals(); } catch(e) {}
} catch (error) {
toast("保存失败:" + error.message, "error");
}