Explorar o código

fix: 报告确认页 :key 表达式改为方法调用(微信小程序兼容)

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
asus hai 1 mes
pai
achega
e6ebe4fc48
Modificáronse 1 ficheiros con 11 adicións e 7 borrados
  1. 11 7
      cfc-frontend/pages/health/report-confirm.vue

+ 11 - 7
cfc-frontend/pages/health/report-confirm.vue

@@ -273,35 +273,35 @@
         <view class="card-title">菌群分类组成 ({{ taxonomyTotalCount }})</view>
         <view class="taxonomy-group" v-if="payload.taxonomyClass && payload.taxonomyClass.length">
           <text class="taxonomy-group-label">菌纲 (Class)</text>
-          <view class="flora-item" v-for="(flora, idx) in payload.taxonomyClass" :key="'c'+idx">
+          <view class="flora-item" v-for="(flora, idx) in payload.taxonomyClass" :key="getTaxonomyKey('c', idx)">
             <input class="flora-name" v-model="payload.taxonomyClass[idx].name" />
             <input class="flora-abundance" type="digit" v-model="payload.taxonomyClass[idx].abundance" />
           </view>
         </view>
         <view class="taxonomy-group" v-if="payload.taxonomyOrder && payload.taxonomyOrder.length">
           <text class="taxonomy-group-label">菌目 (Order)</text>
-          <view class="flora-item" v-for="(flora, idx) in payload.taxonomyOrder" :key="'o'+idx">
+          <view class="flora-item" v-for="(flora, idx) in payload.taxonomyOrder" :key="getTaxonomyKey('o', idx)">
             <input class="flora-name" v-model="payload.taxonomyOrder[idx].name" />
             <input class="flora-abundance" type="digit" v-model="payload.taxonomyOrder[idx].abundance" />
           </view>
         </view>
         <view class="taxonomy-group" v-if="payload.taxonomyFamily && payload.taxonomyFamily.length">
           <text class="taxonomy-group-label">菌科 (Family)</text>
-          <view class="flora-item" v-for="(flora, idx) in payload.taxonomyFamily" :key="'f'+idx">
+          <view class="flora-item" v-for="(flora, idx) in payload.taxonomyFamily" :key="getTaxonomyKey('f', idx)">
             <input class="flora-name" v-model="payload.taxonomyFamily[idx].name" />
             <input class="flora-abundance" type="digit" v-model="payload.taxonomyFamily[idx].abundance" />
           </view>
         </view>
         <view class="taxonomy-group" v-if="payload.taxonomyGenus && payload.taxonomyGenus.length">
           <text class="taxonomy-group-label">菌属 (Genus)</text>
-          <view class="flora-item" v-for="(flora, idx) in payload.taxonomyGenus" :key="'g'+idx">
+          <view class="flora-item" v-for="(flora, idx) in payload.taxonomyGenus" :key="getTaxonomyKey('g', idx)">
             <input class="flora-name" v-model="payload.taxonomyGenus[idx].name" />
             <input class="flora-abundance" type="digit" v-model="payload.taxonomyGenus[idx].abundance" />
           </view>
         </view>
         <view class="taxonomy-group" v-if="payload.taxonomySpecies && payload.taxonomySpecies.length">
           <text class="taxonomy-group-label">菌种 (Species)</text>
-          <view class="flora-item" v-for="(flora, idx) in payload.taxonomySpecies" :key="'s'+idx">
+          <view class="flora-item" v-for="(flora, idx) in payload.taxonomySpecies" :key="getTaxonomyKey('s', idx)">
             <input class="flora-name" v-model="payload.taxonomySpecies[idx].name" />
             <input class="flora-abundance" type="digit" v-model="payload.taxonomySpecies[idx].abundance" />
           </view>
@@ -313,7 +313,7 @@
         <view class="card-title">病原菌 ({{ pathogenTotalCount }})</view>
         <view class="pathogen-group" v-if="payload.pathogenGenus && payload.pathogenGenus.length">
           <text class="pathogen-group-label">病原菌属</text>
-          <view class="flora-item" v-for="(flora, idx) in payload.pathogenGenus" :key="'pg'+idx">
+          <view class="flora-item" v-for="(flora, idx) in payload.pathogenGenus" :key="getTaxonomyKey('pg', idx)">
             <input class="flora-name" v-model="payload.pathogenGenus[idx].name" />
             <input class="flora-abundance" type="digit" v-model="payload.pathogenGenus[idx].abundance" />
             <view class="status-tag" :class="'status-' + _cssClass(flora.status)">
@@ -323,7 +323,7 @@
         </view>
         <view class="pathogen-group" v-if="payload.pathogenDetection && payload.pathogenDetection.length">
           <text class="pathogen-group-label">病原菌检出</text>
-          <view class="flora-item" v-for="(flora, idx) in payload.pathogenDetection" :key="'pd'+idx">
+          <view class="flora-item" v-for="(flora, idx) in payload.pathogenDetection" :key="getTaxonomyKey('pd', idx)">
             <input class="flora-name" v-model="payload.pathogenDetection[idx].name" />
             <input class="flora-abundance" type="digit" v-model="payload.pathogenDetection[idx].abundance" />
             <view class="status-tag" :class="'status-' + _cssClass(flora.status)">
@@ -792,6 +792,10 @@ export default {
     hasPathogenData() {
       return this.pathogenTotalCount > 0
     },
+    // taxonomy/病原菌列表 key(微信小程序禁止 :key 表达式)
+    getTaxonomyKey(prefix, idx) {
+      return prefix + idx
+    },
     // 舌诊指标标签映射
     indicatorLabel(code) {
       var map = {