Преглед на файлове

fix(miniapp): 家庭成员编辑页辈分关系回显改用单向 prop

微信小程序编译器不支持 v-model:arg,会被折叠成单个 value/input 导致辈分/同辈值丢失:
- add-member.vue: generation-picker 改用 :generationLevel/:peerType 单向 prop 回显,保存时从 \.generationPicker 读取选中值
- family-members.vue: 跳转编辑页时始终传递 generationLevel(空值传空串,编辑页需重新选择)
liaoxg преди 1 ден
родител
ревизия
bb57c6e0fa
променени са 2 файла, в които са добавени 7 реда и са изтрити 6 реда
  1. 5 2
      cfc-frontend/pages/family/add-member.vue
  2. 2 4
      cfc-frontend/pages/profile-extra/family-members.vue

+ 5 - 2
cfc-frontend/pages/family/add-member.vue

@@ -12,7 +12,9 @@
 <!-- 辈分关系(必填,替代关系类型) -->
 <view class="form-item required">
 <text class="label"><text class="required-mark">*</text>辈分关系</text>
-<generation-picker ref="generationPicker" v-model:generationLevel="form.generationLevel" v-model:peerType="form.peerType" :showLabel="false" />
+        <!-- 注意:微信小程序编译器不支持 v-model:arg(会被折叠成单个 value/input 导致辈分/同辈值丢失),
+             这里只用单向 prop 做回显,编辑保存时从 $refs.generationPicker 读取选中值 -->
+        <generation-picker ref="generationPicker" :generationLevel="form.generationLevel" :peerType="form.peerType" :showLabel="false" />
 </view>
 
 <!-- 性别(必填) -->
@@ -292,7 +294,8 @@ if (this.isEdit) {
   if (this.form.phone) updatePayload.phone = this.form.phone
   var editGen = (this.$refs.generationPicker && this.$refs.generationPicker.selectedGen) || this.form.generationLevel
   if (editGen) updatePayload.generationLevel = editGen
-  if (this.form.peerType) updatePayload.peerType = this.form.peerType
+  var editPeer = (this.$refs.generationPicker && this.$refs.generationPicker.selectedPeer) || this.form.peerType
+  if (editPeer) updatePayload.peerType = editPeer
   var res = await updateFamilyMember(updatePayload)
   if (res.code === 200) {
     uni.showToast({ title: '已更新', icon: 'success' })

+ 2 - 4
cfc-frontend/pages/profile-extra/family-members.vue

@@ -544,10 +544,8 @@ export default {
       if (member.gender) params += '&gender=' + member.gender
       if (member.phone) params += '&phone=' + member.phone
       if (member.birthday) params += '&birthday=' + member.birthday
-      // 传递辈分关系,编辑页可回显并修改
-      if (member.generation !== null && member.generation !== undefined) {
-        params += '&generationLevel=' + this.generationToLevel(member.generation)
-      }
+      // 始终传递辈分关系,保证编辑页回显并可修改(generation 为空时传空串,编辑页需用户重新选择)
+      params += '&generationLevel=' + (this.generationToLevel(member.generation) || '')
       if (member.isSpouse) params += '&peerType=spouse'
       uni.navigateTo({ url: '/pages/family/add-member?' + params })
     },