import create from 'dd-store'; import { renderSize } from "../../utils/utils" import pageStore from '../../pages/meetingDetail/store'; import { uploadPermissions, previewOssFile } from '../../api/request.js' import openLink from "dingtalk-jsapi/api/biz/util/openLink"; create.Component({ store: pageStore, mixins: [], data: { logId: '', //store fileList: [] }, props: { isCanEdit: true, isCanDelete: false, isPreview: true, // 是否点击预览, }, didMount() { const fileList = [] for (let i = 0; i < this.props.fileInfos.length; i++) { this.props.fileInfos[i].sizeShow = renderSize(this.props.fileInfos[i].size) fileList.push(this.props.fileInfos[i]) } this.setData({ fileList: fileList }) }, didUpdate() { const fileList = [] for (let i = 0; i < this.props.fileInfos.length; i++) { this.props.fileInfos[i].sizeShow = renderSize(this.props.fileInfos[i].size) fileList.push(this.props.fileInfos[i]) } this.setData({ fileList: fileList }) }, 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 console.log(file) if (file.platform === 'oss') { if (file.webUrl) { dd.previewImage({ current: 0, urls: [ file.webUrl ], }); } else { // 预览文件 previewOssFile(encodeURIComponent(file.fileId)).then(res => { openLink({ url: res.data.data.webUrl }); }) } } else { let data = { ddUserId: getApp().globalData.userid, type: 'download', projectName: 'MING_MEETING', fileIds: file.fileId } uploadPermissions(data).then(res => { dd.previewFileInDingTalk({ corpId: dd.corpId, spaceId: res.data.data, fileId: file.fileId, fileName: file.name, fileSize: file.size, fileType: file.mimeType, }) }) } }, //显示操作框 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}` }) }) } }, });