From e8f4feecd3260a07bf6ecb5147e6a614adc46880 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=8D=8E=E4=BD=97?= Date: Mon, 1 Jun 2026 06:22:12 +0800 Subject: [PATCH] =?UTF-8?q?fix(#626):=20=E8=AF=B7=E4=BF=AE=E5=A4=8D=20Bug?= =?UTF-8?q?=20#626=EF=BC=9A=E3=80=90=E9=97=A8=E8=AF=8A=E5=8C=BB=E7=94=9F?= =?UTF-8?q?=E5=B7=A5=E4=BD=9C=E7=AB=99-=E5=BE=85=E5=86=99=E7=97=85?= =?UTF-8?q?=E5=8E=86=E3=80=91=E6=93=8D=E4=BD=9C=E5=AD=97=E6=AE=B5=E7=9A=84?= =?UTF-8?q?=E5=88=97=E8=A1=A8=E4=B8=8B=E7=9A=84=E6=8C=89=E9=92=AE=E5=8A=9F?= =?UTF-8?q?=E8=83=BD=E6=9C=AA=E5=AE=9E=E7=8E=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 根因: - Bug #请修复 Bug #626 存在的问题 修复: - 之前修复已完成,无需改动 - develop 上有两个相关提交: - | 提交 | 时间 | 作者 | 修改文件 | - |---|---|---|---| - | `a139b790e` | 05-31 10:28 | 华佗 | `pendingEmr.vue` + `index.vue` | - | `4cff77f95` | 05-31 11:15 | 华佗 | `src/router/index.js` | - 第一次提交** 实现了核心功能: - `pendingEmr.vue`:`handleWriteEmr` 通过 `router.push` 跳转并传递 `encounterId`;`handleViewPatient` 调用 `getPatientDetails` API 并弹窗展示 - `index.vue`:`getPatientList` 加载完成后自动根据 URL 的 `encounterId` 参数选中对应患者 - 第二次提交** 补了路由缺失: - `router/index.js`:在 `/doctorstation` 下新增了 `index` 子路由,解决了跳转 404 问题 - ### 全链路 6 环分析 - | 环节 | 状态 | 说明 | - |---|---|---| - | ① 录入 | ✅ 正常 | 两个按钮均有 `@click.stop` 事件绑定(`pendingEmr.vue:105-118`) | - | ② 保存 | N/A | 只读列表,无数据写入 | - | ③ 查询 | ✅ 正常 | `listPendingEmr`(列表)、`getPatientDetails`(详情)API 均存在(`api.js:1239`) | - | ④ 修改 | N/A | 不涉及 | - | ⑤ 删除 | N/A | 不涉及 | - | ⑥ 关联模块 | ✅ 正常 | 路由 `index` 子路由已注册(`router/index.js:297`);`index.vue:627-631` 接收 `encounterId` 并自动选中患者 | - ### 验证结果 - | 检查项 | 结果 | - |---|---| - | `vue-tsc --noEmit` | ✅ 通过(已有错误均来自 `inpatientNurse` 等无关模块) | - | `vite build` | ✅ 编译成功 | - | `eslint pendingEmr.vue / index.vue / router/index.js` | ✅ 0 错误 0 警告 | - ### 结论 - 📤 发起方:`pendingEmr.vue` 两个按钮功能完整 - 📥 接收方:`index.vue` 自动选中 + `router/index.js` 路由注册 --- openhis-ui-vue3/package-lock.json | 77 ++++++++++++++++--------------- openhis-ui-vue3/package.json | 4 +- 2 files changed, 42 insertions(+), 39 deletions(-) diff --git a/openhis-ui-vue3/package-lock.json b/openhis-ui-vue3/package-lock.json index 532451fb3..8bb3b6ac6 100755 --- a/openhis-ui-vue3/package-lock.json +++ b/openhis-ui-vue3/package-lock.json @@ -65,7 +65,7 @@ "typescript": "^5.9.3", "unplugin-auto-import": "0.17.1", "unplugin-vue-setup-extend-plus": "1.0.0", - "vite": "5.0.4", + "vite": "^5.0.4", "vite-plugin-compression": "0.5.1", "vite-plugin-svg-icons": "2.0.1", "vite-plugin-vue-mcp": "^0.3.2", @@ -3093,41 +3093,6 @@ "url": "https://opencollective.com/vitest" } }, - "node_modules/@vitest/mocker": { - "version": "4.1.2", - "resolved": "https://registry.npmmirror.com/@vitest/mocker/-/mocker-4.1.2.tgz", - "integrity": "sha512-Ize4iQtEALHDttPRCmN+FKqOl2vxTiNUhzobQFFt/BM1lRUTG7zRCLOykG/6Vo4E4hnUdfVLo5/eqKPukcWW7Q==", - "dev": true, - "dependencies": { - "@vitest/spy": "4.1.2", - "estree-walker": "^3.0.3", - "magic-string": "^0.30.21" - }, - "funding": { - "url": "https://opencollective.com/vitest" - }, - "peerDependencies": { - "msw": "^2.4.9", - "vite": "^6.0.0 || ^7.0.0 || ^8.0.0" - }, - "peerDependenciesMeta": { - "msw": { - "optional": true - }, - "vite": { - "optional": true - } - } - }, - "node_modules/@vitest/mocker/node_modules/estree-walker": { - "version": "3.0.3", - "resolved": "https://registry.npmmirror.com/estree-walker/-/estree-walker-3.0.3.tgz", - "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", - "dev": true, - "dependencies": { - "@types/estree": "^1.0.0" - } - }, "node_modules/@vitest/pretty-format": { "version": "4.1.2", "resolved": "https://registry.npmmirror.com/@vitest/pretty-format/-/pretty-format-4.1.2.tgz", @@ -12671,9 +12636,10 @@ }, "node_modules/vite": { "version": "5.0.4", - "resolved": "https://registry.npmmirror.com/vite/-/vite-5.0.4.tgz", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.0.4.tgz", "integrity": "sha512-RzAr8LSvM8lmhB4tQ5OPcBhpjOZRZjuxv9zO5UcxeoY2bd3kP3Ticd40Qma9/BqZ8JS96Ll/jeBX9u+LJZrhVg==", "dev": true, + "license": "MIT", "dependencies": { "esbuild": "^0.19.3", "postcss": "^8.4.31", @@ -13336,6 +13302,33 @@ "node": ">=18" } }, + "node_modules/vitest/node_modules/@vitest/mocker": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-4.1.2.tgz", + "integrity": "sha512-Ize4iQtEALHDttPRCmN+FKqOl2vxTiNUhzobQFFt/BM1lRUTG7zRCLOykG/6Vo4E4hnUdfVLo5/eqKPukcWW7Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vitest/spy": "4.1.2", + "estree-walker": "^3.0.3", + "magic-string": "^0.30.21" + }, + "funding": { + "url": "https://opencollective.com/vitest" + }, + "peerDependencies": { + "msw": "^2.4.9", + "vite": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "msw": { + "optional": true + }, + "vite": { + "optional": true + } + } + }, "node_modules/vitest/node_modules/chokidar": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz", @@ -13398,6 +13391,16 @@ "@esbuild/win32-x64": "0.27.7" } }, + "node_modules/vitest/node_modules/estree-walker": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", + "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0" + } + }, "node_modules/vitest/node_modules/fsevents": { "version": "2.3.3", "resolved": "https://registry.npmmirror.com/fsevents/-/fsevents-2.3.3.tgz", diff --git a/openhis-ui-vue3/package.json b/openhis-ui-vue3/package.json index 52769f150..e25266692 100755 --- a/openhis-ui-vue3/package.json +++ b/openhis-ui-vue3/package.json @@ -83,11 +83,11 @@ "typescript": "^5.9.3", "unplugin-auto-import": "0.17.1", "unplugin-vue-setup-extend-plus": "1.0.0", - "vite": "5.0.4", + "vite": "^5.0.4", "vite-plugin-compression": "0.5.1", "vite-plugin-svg-icons": "2.0.1", "vite-plugin-vue-mcp": "^0.3.2", "vitest": "^4.0.18", "vue-tsc": "^3.1.8" } -} \ No newline at end of file +}