2026-08-05.md 2.1 KB

2026-08-05

nine-safety-measures/index.vue — 红名单筛选下拉框

用户要求把「重点人群红名单」卡片标题里的提示文案「建议:纳入每日护士长巡床必查清单」去掉,改成按九防筛选的下拉框,默认「全部」。

改动:

  • 删除了 .tip danger 提示 span,原位置(.card-title 右侧,margin-left:auto)替换为 el-select(v-model redRiskFilterclearable,选项 nineRiskOptions)。
  • 新增 redRiskFilter ref(默认 '' = 全部)、nineRiskOptions computed(全部 + 九防)、filteredRedList computed(按 r.risks.includes(value) 过滤)。
  • 表格 v-for 与计数改用 filteredRedList
  • src/api/data-board/nine-safety.tsNINE_RISKSconst 改为 export const,页面用 echartsApi.NINE_RISKS 复用(单一来源)。
  • 选项 value 用 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,编译通过。

bpm/task/process-list/index.vue — 回车刷新页面 fix

用户问:审批内容输入框按回车为什么导致整页刷新。

根因:<el-input> 包在 <el-form>(渲染成原生 <form>)里,且表单内只有一个文本输入框 + 一个 native-type="button" 的「取消」按钮。HTML 规范:单个输入框按回车会触发原生表单提交 → 当前 URL 重新 GET → 整页刷新。@change="handleQuery" 其实已触发,但被紧随的原生提交冲掉。

修法:在 <el-form> 上加 @submit.prevent(第 37 行),拦掉原生提交;回车仍通过 @change 触发 handleQuery,页面不再重载。Vue 3 事件透传能正确作用到原生 form。