2026-09-16.md 6.1 KB

2026-09-16 工作日志

能力评估新增「评估编号」自定义输入 + 自动生成

需求

评估弹窗第一步(评估基本信息)中,在「长者姓名」上方新增一行「评估编号」:

  • 可手动输入
  • 新增时默认自动生成
  • 打印预览(Print.vue)已支持 evaluationCode,需保证数据落库后正常回显

改动文件

  1. src/views/elderly/assess/types.ts

    • 在 syntheticAbilityFormType.dataForm 中增加 evaluationCode?: string。
  2. src/views/elderly/assess/synthetic-ability/Form.vue

    • 默认表单对象增加 evaluationCode: ''。
    • 模板在「长者姓名」上方新增一行「评估编号」el-input(maxlength="64")。
    • 新增 generateEvaluationCode():格式 NLPG + YYYYMMDD + 4位随机数(与打印预览已有示例一致)。
    • open(tId, id):无 id(新增)时自动生成默认编号;有 id(编辑)时由后端 res.evaluationCode 回填。
    • handleChangeEvaluationAgency 切换评估机构时保留 evaluationCode,避免编号被清空。

能力评估:修复评估日期不回显 + 评估编号必填

问题

  • 编辑已保存记录时,「评估日期」字段为空(后端返回的日期格式可能带时间或时间戳,el-date-picker 无法直接匹配)。
  • 「评估编号」需要必填校验。

改动文件

src/views/elderly/assess/synthetic-ability/Form.vue

  • 引入 dayjs,新增 formatDateYMD() helper,把后端返回的日期统一格式化为 YYYY-MM-DD。
  • 编辑回填 evaluatorDate 时走 formatDateYMD(),确保 el-date-picker 能正确显示。
  • dataRule 增加 evaluationCode 必填规则(trigger: 'blur')。
  • handleChangeEvaluationAgency 切换评估机构时额外保留 evaluatorDate,避免日期被重置。

验证

  • 全量 vue-tsc --noEmit:本次改动未引入新的类型错误;报出的错误均为 synthetic-ability 目录下既有历史问题(ref({}) 无显式类型、FCForm 的 never 推断等),与本次改动无关。

能力评估:评估员签名改为可编辑 + 日期取评估基准日期

需求

  1. 打印页「评估员签名」一行上下边距加高。
  2. 打印页「日期」取值由 createDate 改为「评估基准日期」evaluatorDate。
  3. 第五步「评估报告」新增「评估员签名」输入框,可编辑,默认当前账号昵称;清空后打印时显示为空。

改动文件

  1. src/views/elderly/assess/types.ts

    • syntheticAbilityFormType.dataForm 与 syntheticAbilityDetailType 增加 evaluator: string。
  2. src/views/elderly/assess/synthetic-ability/Form.vue

    • 默认表单对象增加 evaluator: nickname(当前账号昵称)。
    • open(id) 编辑回填:后端有 res.evaluator 则回填,否则默认 nickname。
    • handleChangeEvaluationAgency 切换机构时保留 evaluator。
    • <Result> 组件调用改为 v-model:evaluator="dataForm.evaluator"。
    • submitForm('1') 移除旧的 base64Str 签名逻辑,直接提交 dataForm.evaluator。
  3. src/views/elderly/assess/synthetic-ability/components/Result.vue

    • 新增 prop evaluator 与 emit('update:evaluator')。
    • 新增 evaluatorSign ref,通过 watch 接收回填值。
    • 在本院评估(type=0)与广州标准(type=1)两种报告底部各增加一行「评估员签名」输入框。
  4. src/views/elderly/assess/synthetic-ability/Print.vue

    • 新增 evaluatorDateList computed,从 dataForm.evaluatorDate 拆出年月日。
    • 两套打印签名模板都把签名值改为 dataForm.evaluator,日期改为 evaluatorDateList。
    • 评估员签名行 style="padding: 16px 0;",家属签名行保持不变。

验证

  • 全量 vue-tsc --noEmit 跑完:本次改动前相关文件报错 234 条,改动后降至 231 条;新增的唯一可见报错是 Print.vue 中 dataForm.evaluator 访问(源于 const dataForm = ref({}) 无显式类型,同文件已有大量同类历史报错),其余为既有历史问题,与本次业务改动无关。

能力评估:修复「信息提供者姓名」保存后回显为登录账号的问题

问题

编辑「信息提供者姓名」后保存,再次打开回显仍显示当前登录账号昵称,无法修改。

根因

Form.vue 的 submitForm 中构建提交参数时,硬编码了 informationProviderName: nickname,覆盖了用户在表单中输入的值。

改动文件

src/views/elderly/assess/synthetic-ability/Form.vue

  • 移除 obj 中的 informationProviderName: nickname 硬编码,让 ...dataForm.value 中的用户输入值正常提交。

验证

  • 再次编辑保存后,informationProviderName 应正确落库并按用户输入值回显。

能力评估:修复列表「评估员姓名」列错取「信息提供者姓名」的问题

问题

能力评估列表中「评估员姓名」列显示的是 informationProviderName(信息提供者姓名)的值,导致列表与表单字段含义不一致。

根因

src/views/elderly/assess/column.ts 中「评估员姓名」列的 field 错配为 informationProviderName。

改动文件

src/views/elderly/assess/column.ts

  • 将「评估员姓名」列的 field 从 informationProviderName 改为 evaluator,与表单中新增的「评估员签名」字段保持一致。

验证

  • 列表刷新后,「评估员姓名」列应显示 evaluator 字段的值(默认当前账号昵称,可在第五步评估报告修改)。

能力评估:打印页评估员签名横线加长

需求

打印页「评估员签名」处的横线太短,需要加长,与下方「家属签名」横线长度保持一致。

改动文件

src/views/elderly/assess/synthetic-ability/Print.vue

  • 将两套打印模板(templateType == 8 与 templateType != 8)中的 评估员签名______{{ dataForm.evaluator }}______ 改为 评估员签名____________________{{ dataForm.evaluator }}____________________。
  • 横线长度与「家属签名____________________」对齐,有签名值时内容居中显示在横线之上。