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.
175 lines
3.9 KiB
175 lines
3.9 KiB
import dayjs from 'dayjs' |
|
|
|
const app = getApp<IAppOption>() |
|
|
|
Page({ |
|
data: { |
|
popupShow: false, |
|
popupType: 'popup5', // 绑定医生弹窗 |
|
popupParams: { |
|
position: 'bottom', |
|
} as any, |
|
|
|
pageShow: false, |
|
empty1: false, |
|
empty2: false, |
|
empty3: false, |
|
errorMsg: '', |
|
|
|
Timestamp: '', |
|
|
|
doc: '1', |
|
|
|
id: '', |
|
detail: {} as any, |
|
showShare: false, |
|
|
|
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({ PageName: 'PG_LibraryDetails' }) |
|
app.oldMpBehavior({ 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, |
|
}, |
|
showMsg: false, |
|
}) |
|
.then((res) => { |
|
if (res.ContentType == '4') { |
|
wx.hideShareMenu() |
|
wx.offCopyUrl() |
|
wx.setNavigationBarTitle({ |
|
title: '通知详情页', |
|
}) |
|
} |
|
this.setData({ |
|
pageShow: true, |
|
detail: { |
|
...res, |
|
PublishTime: dayjs(res.PublishTime).format('YYYY-MM-DD'), |
|
}, |
|
showShare: res.ContentType !== '4', |
|
}) |
|
}) |
|
.catch((err) => { |
|
const { errorCode, errorMsg } = err.data.data |
|
const empty1 = errorCode === '1' |
|
const empty2 = errorCode === '2' |
|
this.setData({ |
|
pageShow: false, |
|
errorMsg, |
|
empty1, |
|
empty2, |
|
empty3: !empty1 && !empty2, |
|
}) |
|
}) |
|
}, |
|
handlePopup(e) { |
|
const { index } = e.currentTarget.dataset |
|
this.setData({ |
|
popupShow: true, |
|
popupType: 'popup5', |
|
popupParams: { |
|
position: 'bottom', |
|
index, |
|
}, |
|
}) |
|
}, |
|
handlePopupOk() { |
|
const { popupType } = this.data |
|
if (popupType === 'popup5') { |
|
this.handleDownload() |
|
this.handlePopupCancel() |
|
} |
|
}, |
|
handlePopupCancel() { |
|
this.setData({ |
|
popupShow: false, |
|
}) |
|
}, |
|
handleDownload() { |
|
const { |
|
detail, |
|
popupParams: { index }, |
|
} = this.data |
|
const params = detail.FileList[index] |
|
wx.showLoading({ |
|
title: '加载中', |
|
mask: true, |
|
}) |
|
app.oldMpBehavior({ PositionId: '1', OperateType: '2', OperateId: detail.Id as string }) |
|
wx.downloadFile({ |
|
url: params.FileUrl, |
|
filePath: `${wx.env.USER_DATA_PATH}/${params.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', |
|
}) |
|
}, |
|
}) |
|
}, |
|
handleBackHome() { |
|
wx.reLaunch({ |
|
url: '/pages/home/index', |
|
}) |
|
}, |
|
|
|
onShareAppMessage() { |
|
app.mpBehavior({ PageName: 'BTN_LibraryDetailsShare' }) |
|
const { Title, CoverImgUrl, Id } = this.data.detail |
|
app.oldMpBehavior({ PositionId: '1', OperateType: '3', OperateId: Id as string }) |
|
return { |
|
title: Title, |
|
path: `/pages/informationDetail/index?id=${Id}`, |
|
imageUrl: CoverImgUrl, |
|
} |
|
}, |
|
}) |
|
|
|
export {}
|
|
|