You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
106 lines
2.4 KiB
106 lines
2.4 KiB
import dayjs from 'dayjs'; |
|
|
|
const app = getApp<IAppOption>(); |
|
|
|
Page({ |
|
data: { |
|
doc: '1', |
|
|
|
id: '', |
|
detail: {} as any, |
|
|
|
fileIcon: { |
|
pdf: 'file-icon1', |
|
doc: 'file-icon2', |
|
docx: 'file-icon3', |
|
pptx: 'file-icon4', |
|
xls: 'file-icon5', |
|
xlsx: 'file-icon6', |
|
ppt: 'file-icon7', |
|
none: 'file-icon8', |
|
}, |
|
}, |
|
onLoad(options) { |
|
this.setData({ |
|
id: options.id, |
|
}); |
|
app.waitLogin({ type: 2 }).then(() => { |
|
app.mpBehavior({ PositionId: '1', OperateType: '1', OperateId: options.id as string }); |
|
this.getDetail(); |
|
}); |
|
}, |
|
getDetail() { |
|
wx.ajax({ |
|
method: 'GET', |
|
url: '?r=xd/doctor/index/get-material-detail', |
|
data: { |
|
Id: this.data.id, |
|
}, |
|
}).then((res) => { |
|
this.setData({ |
|
detail: { |
|
...res, |
|
PublishTime: dayjs(res.PublishTime).format('YYYY-MM-DD'), |
|
}, |
|
}); |
|
}); |
|
}, |
|
|
|
handleDownload() { |
|
const { detail } = this.data; |
|
wx.showLoading({ |
|
title: '加载中', |
|
mask: true, |
|
}); |
|
app.mpBehavior({ PositionId: '1', OperateType: '2', OperateId: detail.Id as string }); |
|
wx.downloadFile({ |
|
url: detail.FileUrl, |
|
filePath: `${wx.env.USER_DATA_PATH}/${detail.FileName}`, |
|
success: (res) => { |
|
if (res.statusCode === 200) { |
|
wx.openDocument({ |
|
showMenu: true, |
|
filePath: res.filePath, |
|
success: () => { |
|
wx.hideLoading(); |
|
}, |
|
fail: (err) => { |
|
wx.showToast({ |
|
title: '下载文件失败', |
|
icon: 'none', |
|
}); |
|
wx.hideLoading(); |
|
}, |
|
}); |
|
} else { |
|
wx.hideLoading(); |
|
wx.showToast({ |
|
title: '下载文件失败', |
|
icon: 'none', |
|
}); |
|
} |
|
}, |
|
fail(err) { |
|
wx.hideLoading(); |
|
wx.showToast({ |
|
title: '下载文件失败', |
|
icon: 'none', |
|
}); |
|
}, |
|
}); |
|
}, |
|
onShareAppMessage(e) { |
|
if (e.from === 'button') { |
|
const { Title, CoverImgUrl, Id } = this.data.detail; |
|
app.mpBehavior({ PositionId: '3', OperateType: '3', OperateId: Id }); |
|
return { |
|
title: Title, |
|
path: `/pages/informationDetail/index?id=${Id}`, |
|
imageUrl: CoverImgUrl, |
|
}; |
|
} |
|
return {}; |
|
}, |
|
}); |
|
|
|
export {};
|
|
|