import create from 'dd-store'; import pageStore from '../../pages/meetingDetail/store'; import { previewPermissions, previewOss } from '../../api/request.js' import openLink from "dingtalk-jsapi/api/biz/util/openLink"; create.Component({ store: pageStore, mixins: [], data: { logId: '' //store }, props: { isCanEdit: true, isCanDelete: false, isPreview: true // 是否点击预览 }, didMount() { }, didUpdate() { }, didUnmount() { }, methods: { //移除文件 removeFile(e) { this.store.data.logId = ''; const fileInfos = this.store.data.fileInfos.filter(it => it.fileId !== e.target.dataset.id); this.store.data.fileInfos = fileInfos; this.update(); }, //预览文件 preview(e) { // 如果出现编辑蒙层时阻止预览的点击事件 if (this.store.data.logId) { return; } if (!this.props.isPreview) { return } const file = e.target.dataset.file const imageType = ['jpg', 'bmp', 'png', 'gif', 'jpeg'] previewOss(file.fileId).then(res => { if (res.data.code === 0) { if (imageType.includes(file.fileType)) { dd.previewImage({ current: 1, urls: [res.data.data], success: (res) => { console.log(JSON.stringify(res)) }, fail: (err) => { console.log(JSON.stringify(err)) } }) } else { openLink({ url: res.data.data }) } } }) // console.log(e) // const data = { // ddUserId: getApp().globalData.userid, // type: 'download', // fileIds: file.fileId, // projectName: 'MING_MEETING' // } // previewPermissions(data).then(res => { // dd.previewFileInDingTalk({ // corpId: dd.corpId, // spaceId: res.data.data, // fileId: file.fileId, // fileName: file.fileName, // fileSize: file.fileSize, // fileType: file.fileType // }) // }) }, //显示操作框 showOperate(e) { if (this.props.isCanEdit) { this.store.data.logId = e.target.dataset.logId; this.update(); } }, //删除动态下的文件和描述 deleteFile(e) { dd.confirm({ title: '删除文件', content: '确认删除文件吗?', confirmButtonText: '确定', cancelButtonText: '取消', success: (res) => { if (res.confirm) { this.props.onDeleteMeetingFile(e.target.dataset.id) } } }) }, //去编辑文件页面 updateFile(e) { this.store.data.logId = ''; const { fileInfos, description, id } = e.target.dataset.fileView; this.store.data.oldFileInfos = JSON.stringify(fileInfos); this.store.data.oldDescription = description; this.store.data.fileInfos = fileInfos; this.store.data.description = e.target.dataset.fileView.description; this.update(); setTimeout(() => { dd.navigateTo({ url: `./../uploadFile/uploadFile?id=${id}` }) }) } }, });