var tcm = require('../../utils/tcm.js') Page({ data: { currentUser: null, latestExam: null, latestExamSummary: '', latestExamStatusText: '', loadingUser: true, loadingLive: false }, onShow: function () { this.loadPageData() }, loadPageData: function () { this.loadScaleUsers() }, loadScaleUsers: function () { var that = this that.setData({ loadingUser: true }) tcm.getScaleUsers().then(function (list) { var scaleUsers = Array.isArray(list) ? list : [] var currentUser = null if (scaleUsers.length > 0) { currentUser = scaleUsers[0] for (var i = 0; i < scaleUsers.length; i++) { if (scaleUsers[i].isDefault === true || scaleUsers[i].isDefault === 1) { currentUser = scaleUsers[i] break } if (scaleUsers[i].active === true && !currentUser) { currentUser = scaleUsers[i] } } } that.setData({ currentUser: currentUser, loadingUser: false }) if (currentUser && currentUser.ID) { that.loadLatestExam(currentUser.ID) } else { that.setData({ latestExam: null, latestExamSummary: '', latestExamStatusText: '添加检测人后即可开始 AI 舌诊' }) } }).catch(function () { that.setData({ loadingUser: false, latestExam: null, latestExamSummary: '', latestExamStatusText: '暂未获取到康养档案' }) }) }, loadLatestExam: function (scaleUserId) { var that = this tcm.getLatestExam(scaleUserId).then(function (data) { var exam = data && data.exam ? data.exam : null var aiSections = data && data.aiSections ? data.aiSections : {} that.setData({ latestExam: exam, latestExamSummary: that.getLatestExamSummary(aiSections), latestExamStatusText: that.formatExamStatus(exam ? exam.status : '') }) }).catch(function () { that.setData({ latestExam: null, latestExamSummary: '', latestExamStatusText: '暂无诊疗报告' }) }) }, formatExamStatus: function (status) { if (status === 'completed') { return '最新报告已生成' } if (status === 'pending' || status === 'generating') { return '最新报告生成中' } if (status === 'failed') { return '上次诊疗生成失败,可重新检测' } return '暂无诊疗报告' }, getLatestExamSummary: function (aiSections) { if (!aiSections) { return '' } return aiSections.summary || aiSections.general || aiSections.observation || '' }, goDiagnosis: function () { wx.navigateTo({ url: '/packageWellness/pages/tcm/diagnosis/diagnosis' }) }, goLatestReport: function () { if (!this.data.currentUser || !this.data.currentUser.ID) { wx.showToast({ title: '请先添加检测人', icon: 'none' }) return } wx.navigateTo({ url: '/packageWellness/pages/tcm/report/report?scaleUserId=' + this.data.currentUser.ID }) } })