fileList.js 2.32 KB

import create from 'dd-store';
import pageStore from '../../pages/meetingDetail/store';
import { previewPermissions } from '../../api/request.js'

create.Component({
  store: pageStore,
  mixins: [],
  data: {
    logId: '' //store
  },
  props: {
    isCanEdit: true,
    isCanDelete: false
  },
  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;
      }
      const file = e.target.dataset.file
      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}` })
      })
    }
  },
});