根因: - 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` 路由注册
94 lines
2.6 KiB
JSON
Executable File
94 lines
2.6 KiB
JSON
Executable File
{
|
|
"name": "openhis",
|
|
"version": "3.8.10",
|
|
"description": "OpenHIS管理系统",
|
|
"author": "OpenHIS",
|
|
"license": "MIT",
|
|
"type": "module",
|
|
"scripts": {
|
|
"dev": "vite --mode dev",
|
|
"build:prod": "vite build --mode prod",
|
|
"build:stage": "vite build --mode staging",
|
|
"build:test": "vite build --mode test",
|
|
"build:dev": "vite build --mode dev",
|
|
"preview": "vite preview",
|
|
"build:spug": "vite build --mode spug",
|
|
"test": "vitest",
|
|
"test:run": "vitest run",
|
|
"test:coverage": "vitest run --coverage",
|
|
"test:ui": "vitest --ui",
|
|
"lint": "eslint . --ext .js,.vue src/",
|
|
"test:e2e": "playwright test",
|
|
"test:e2e:ui": "playwright test --ui",
|
|
"test:e2e:report": "playwright show-report"
|
|
},
|
|
"repository": {
|
|
"type": "git",
|
|
"url": "giturl"
|
|
},
|
|
"dependencies": {
|
|
"@element-plus/icons-vue": "^2.3.2",
|
|
"@vueup/vue-quill": "1.2.0",
|
|
"@vueuse/core": "10.6.1",
|
|
"axios": "0.27.2",
|
|
"china-division": "^2.7.0",
|
|
"d3": "^7.9.0",
|
|
"dayjs": "^1.11.19",
|
|
"decimal.js": "^10.5.0",
|
|
"echarts": "^5.4.3",
|
|
"element-china-area-data": "^6.1.0",
|
|
"element-plus": "^2.12.0",
|
|
"file-saver": "^2.0.5",
|
|
"fuse.js": "^7.0.0",
|
|
"html2pdf.js": "^0.10.3",
|
|
"js-cookie": "^3.0.5",
|
|
"jsencrypt": "^3.3.2",
|
|
"json-bigint": "^1.0.0",
|
|
"lodash": "^4.17.21",
|
|
"lodash-es": "^4.17.21",
|
|
"moment": "^2.30.1",
|
|
"next": "^16.1.0",
|
|
"nprogress": "^0.2.0",
|
|
"pinia": "^2.2.0",
|
|
"pinyin": "^4.0.0-alpha.2",
|
|
"province-city-china": "^8.5.8",
|
|
"qrcode": "^1.5.4",
|
|
"qrcodejs2": "^0.0.2",
|
|
"react": "18.2.0",
|
|
"react-dom": "18.2.0",
|
|
"segmentit": "^2.0.3",
|
|
"sortablejs": "^1.15.6",
|
|
"v-region": "^3.3.0",
|
|
"vue": "^3.5.13",
|
|
"vue-area-linkage": "^5.1.0",
|
|
"vue-cropper": "^1.1.1",
|
|
"vue-plugin-hiprint": "^0.0.19",
|
|
"vue-router": "^4.3.0"
|
|
},
|
|
"devDependencies": {
|
|
"@playwright/test": "^1.58.2",
|
|
"@types/node": "^25.0.1",
|
|
"@vitejs/plugin-vue": "4.5.0",
|
|
"@vue/compiler-sfc": "3.3.9",
|
|
"@vue/test-utils": "^2.4.6",
|
|
"eslint": "^9.39.4",
|
|
"eslint-import-resolver-alias": "^1.1.2",
|
|
"eslint-plugin-import": "^2.32.0",
|
|
"eslint-plugin-vue": "^10.9.0",
|
|
"globals": "^17.5.0",
|
|
"happy-dom": "^20.8.3",
|
|
"jsdom": "^28.1.0",
|
|
"pg": "^8.18.0",
|
|
"sass": "1.69.5",
|
|
"typescript": "^5.9.3",
|
|
"unplugin-auto-import": "0.17.1",
|
|
"unplugin-vue-setup-extend-plus": "1.0.0",
|
|
"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"
|
|
}
|
|
}
|