53 lines
1.4 KiB
JavaScript
53 lines
1.4 KiB
JavaScript
const { request } = require('../../utils/request')
|
|
|
|
const STATUS_TEXT = {
|
|
pending: '等待中',
|
|
processing: '生成中',
|
|
completed: '已完成',
|
|
failed: '失败'
|
|
}
|
|
|
|
Page({
|
|
data: {
|
|
reports: [],
|
|
reportCount: 0,
|
|
completedCount: 0
|
|
},
|
|
|
|
onShow() {
|
|
this.loadReports()
|
|
},
|
|
|
|
async loadReports() {
|
|
if (!getApp().globalData.token) {
|
|
this.setData({ reports: [], reportCount: 0, completedCount: 0 })
|
|
return
|
|
}
|
|
try {
|
|
const reports = await request({ url: '/reports' })
|
|
const mappedReports = reports.map((item) => ({
|
|
...item,
|
|
statusText: STATUS_TEXT[item.status] || item.status,
|
|
createdDate: (item.created_at || '').replace('T', ' ').slice(0, 16),
|
|
fallbackSummary: item.status === 'completed' ? '报告已完成,点击查看完整解读。' : '先生正在整理这份报告。'
|
|
}))
|
|
this.setData({
|
|
reports: mappedReports,
|
|
reportCount: mappedReports.length,
|
|
completedCount: mappedReports.filter((item) => item.status === 'completed').length
|
|
})
|
|
} catch (error) {
|
|
wx.showToast({ title: error.message || '加载失败', icon: 'none' })
|
|
}
|
|
},
|
|
|
|
openReport(event) {
|
|
const id = event.currentTarget.dataset.id
|
|
wx.navigateTo({ url: `/pages/report/report?id=${id}` })
|
|
},
|
|
|
|
goHome() {
|
|
wx.navigateTo({ url: '/pages/palm/palm' })
|
|
}
|
|
})
|