|
|
@@ -215,30 +215,31 @@ export default {
|
|
|
self._loaded = true
|
|
|
})
|
|
|
},
|
|
|
- // 健康阅卷(HL-01):加载最后一条 health_review 记录并预填 formSnapshot/dietSnapshot
|
|
|
+ // 健康阅卷(HL-01):先取家庭列表定位 isSelf 成员,再按提交侧同口径 memberId 查最后一条记录预填
|
|
|
loadHealthReviewData: function() {
|
|
|
var self = this
|
|
|
self.loading = true
|
|
|
- var tasks = [
|
|
|
- getLastHealthReview({}).then(function(res) {
|
|
|
- var d = (res && res.code === 200 && res.data) ? res.data : null
|
|
|
- if (d && d.answersJson) {
|
|
|
- self.applyHealthReviewJson(d.answersJson)
|
|
|
- }
|
|
|
- }).catch(function() {}),
|
|
|
- getFamilyMemberList({}).then(function(res) {
|
|
|
- var list = (res && res.code === 200 && res.data) ? res.data : []
|
|
|
- var arr = list instanceof Array ? list : []
|
|
|
- var found = null
|
|
|
- for (var j = 0; j < arr.length; j++) {
|
|
|
- if (arr[j].isSelf) { found = arr[j]; break }
|
|
|
- }
|
|
|
- if (found) {
|
|
|
- self.memberProfile = { gender: found.gender || '', age: found.age != null ? found.age : '' }
|
|
|
- }
|
|
|
- }).catch(function() {})
|
|
|
- ]
|
|
|
- Promise.all(tasks).then(function() {
|
|
|
+ // 1) 家庭列表:isSelf 画像(memberProfile)+ familyMemberId 兜底(与 onSubmit 的 self.familyMemberId 同口径)
|
|
|
+ getFamilyMemberList({}).then(function(res) {
|
|
|
+ var list = (res && res.code === 200 && res.data) ? res.data : []
|
|
|
+ var arr = list instanceof Array ? list : []
|
|
|
+ var found = null
|
|
|
+ for (var j = 0; j < arr.length; j++) {
|
|
|
+ if (arr[j].isSelf) { found = arr[j]; break }
|
|
|
+ }
|
|
|
+ if (found) {
|
|
|
+ if (!self.familyMemberId) self.familyMemberId = found.memberId || found.id || ''
|
|
|
+ self.memberProfile = { gender: found.gender || '', age: found.age != null ? found.age : '' }
|
|
|
+ }
|
|
|
+ }).catch(function() {}).then(function() {
|
|
|
+ // 2) 与提交侧 submitSurvey({ memberId: self.familyMemberId }) 同口径:多次填写以最后一次为准,任何视角下都能取回
|
|
|
+ return getLastHealthReview({ memberId: self.familyMemberId })
|
|
|
+ }).then(function(res) {
|
|
|
+ var d = (res && res.code === 200 && res.data) ? res.data : null
|
|
|
+ if (d && d.answersJson) {
|
|
|
+ self.applyHealthReviewJson(d.answersJson)
|
|
|
+ }
|
|
|
+ }).catch(function() {}).then(function() {
|
|
|
self.loading = false
|
|
|
self._loaded = true
|
|
|
})
|
|
|
@@ -260,10 +261,15 @@ export default {
|
|
|
if (f.bloodPressure != null) self.$set(self.formSnapshot, 'bloodPressure', f.bloodPressure)
|
|
|
if (f.bloodGlucose != null) self.$set(self.formSnapshot, 'bloodGlucose', f.bloodGlucose)
|
|
|
if (f.notes != null) self.$set(self.formSnapshot, 'notes', f.notes)
|
|
|
- if (f.lipidCholesterol != null) self.$set(self.formSnapshot, 'lipidCholesterol', f.lipidCholesterol)
|
|
|
- if (Array.isArray(f.selectedDiseases)) self.$set(self.formSnapshot, 'selectedDiseases', f.selectedDiseases)
|
|
|
- if (Array.isArray(f.medRows)) self.$set(self.formSnapshot, 'medRows', f.medRows)
|
|
|
- if (f.noMedication != null) self.$set(self.formSnapshot, 'noMedication', !!f.noMedication)
|
|
|
+ // 血脂/病史/用药:与提交侧 hsPayload 键一致(bloodLipids/diseaseHistory/medications 为 JSON 字符串),反序列化还原
|
|
|
+ if (f.bloodLipids != null) self.$set(self.formSnapshot, 'lipidCholesterol', parseLipidCholesterol(f.bloodLipids))
|
|
|
+ if (f.diseaseHistory != null) self.$set(self.formSnapshot, 'selectedDiseases', parseDiseases(f.diseaseHistory))
|
|
|
+ if (f.medications != null) {
|
|
|
+ var restoredMeds = parseMeds(f.medications)
|
|
|
+ self.$set(self.formSnapshot, 'medRows', restoredMeds)
|
|
|
+ // 提交侧未存 noMedication:由 medications 反推——无用药记录即「无用药」勾选态
|
|
|
+ self.$set(self.formSnapshot, 'noMedication', restoredMeds.length === 0)
|
|
|
+ }
|
|
|
if (f.lifestyle && typeof f.lifestyle === 'object') self.$set(self.formSnapshot, 'lifestyle', f.lifestyle)
|
|
|
self.dietSnapshot = normalizeDiet(d)
|
|
|
},
|