信达小程序
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.

176 lines
3.9 KiB

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