用户要求把「重点人群红名单」卡片标题里的提示文案「建议:纳入每日护士长巡床必查清单」去掉,改成按九防筛选的下拉框,默认「全部」。
改动:
.tip danger 提示 span,原位置(.card-title 右侧,margin-left:auto)替换为 el-select(v-model redRiskFilter,clearable,选项 nineRiskOptions)。redRiskFilter ref(默认 '' = 全部)、nineRiskOptions computed(全部 + 九防)、filteredRedList computed(按 r.risks.includes(value) 过滤)。v-for 与计数改用 filteredRedList。src/api/data-board/nine-safety.ts:NINE_RISKS 由 const 改为 export const,页面用 echartsApi.NINE_RISKS 复用(单一来源)。r.name.replace('防',''),因为红名单 risks 字段存的是去「防」后的名(API 第 291 行 r.name.replace('防',''),如「噎食」),否则筛不出;label 仍显示完整「防噎食」更直观。:deep(.el-select__wrapper) 暗色适配,无需额外主题。注意:清空(clearable)时 v-model 变 undefined,!redRiskFilter.value 判断为 falsy → 回退显示全部,逻辑正确。
vue-tsc 过滤 nine-safety:NO_NINE_SAFETY_ERRORS,编译通过。
用户问:审批内容输入框按回车为什么导致整页刷新。
根因:<el-input> 包在 <el-form>(渲染成原生 <form>)里,且表单内只有一个文本输入框 + 一个 native-type="button" 的「取消」按钮。HTML 规范:单个输入框按回车会触发原生表单提交 → 当前 URL 重新 GET → 整页刷新。@change="handleQuery" 其实已触发,但被紧随的原生提交冲掉。
修法:在 <el-form> 上加 @submit.prevent(第 37 行),拦掉原生提交;回车仍通过 @change 触发 handleQuery,页面不再重载。Vue 3 事件透传能正确作用到原生 form。