From b665a0c63974f736a81879cf5ee3599d908af67e Mon Sep 17 00:00:00 2001
From: yeg <1347747024@qq.com>
Date: 星期三, 02 九月 2026 16:36:27 +0800
Subject: [PATCH] 修正数据修订字段变化摘要
---
tests/test-data-revision-summary.contract.test.mjs | 9 +++++++++
src/components/ConsoleDataListPanel.vue | 2 +-
2 files changed, 10 insertions(+), 1 deletions(-)
diff --git a/src/components/ConsoleDataListPanel.vue b/src/components/ConsoleDataListPanel.vue
index 6278b3e..cad224b 100644
--- a/src/components/ConsoleDataListPanel.vue
+++ b/src/components/ConsoleDataListPanel.vue
@@ -254,7 +254,7 @@
const editItems = changed.flatMap(row => {
const ids = [row.id]
return ids.map(id => {
- const before = row
+ const before = originals.get(id)!
const after = { ...before, ...Object.fromEntries(fieldOptions.value.map(item => [item.value, row[item.value as keyof DataRow]])) }
return { identity: id, before, after, override: { stableIdentity: id, fieldValues: JSON.stringify(Object.fromEntries(fieldOptions.value.map(item => [item.value, row[item.value as keyof DataRow]]))), deleted: false } }
})
diff --git a/tests/test-data-revision-summary.contract.test.mjs b/tests/test-data-revision-summary.contract.test.mjs
new file mode 100644
index 0000000..598317d
--- /dev/null
+++ b/tests/test-data-revision-summary.contract.test.mjs
@@ -0,0 +1,9 @@
+import assert from 'node:assert/strict'
+import { readFile } from 'node:fs/promises'
+
+const dataList = await readFile(new URL('../src/components/ConsoleDataListPanel.vue', import.meta.url), 'utf8')
+
+assert.match(dataList, /const before = originals\.get\(id\)/)
+assert.doesNotMatch(dataList, /const before = row\s*\n\s*const after = \{ \.\.\.before/)
+
+console.log('数据修订字段变化摘要契约通过')
--
Gitblit v1.7.1