reportInfo.vue 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. <template>
  2. <BasicModal @register="registerModal" :defaultFullscreen="true" title="报表导出" width="1000px" v-bind="$attrs"
  3. :footer="null" :showCancelBtn="false" :showOkBtn="false" destroyOnClose :mask-closable="false">
  4. <div id="fileEdit"></div>
  5. </BasicModal>
  6. </template>
  7. <script lang="ts" setup>
  8. import { computed, unref, inject, reactive, ref, watch, defineProps } from 'vue';
  9. import { BasicModal, useModalInner } from '/@/components/Modal';
  10. import { useUserStore } from '/@/store/modules/user';
  11. let props = defineProps({
  12. editID: {
  13. type: String,
  14. default: () => {
  15. return ''
  16. }
  17. },
  18. fileType: {
  19. type: String,
  20. default: () => {
  21. return ''
  22. }
  23. }
  24. })
  25. const remoteUrl = import.meta.env.DEV ? 'http://182.92.126.35' : 'http://' + window.location.hostname;
  26. const userStore = useUserStore(); //获取用户信息
  27. let userId = unref(userStore.getUserInfo).id;
  28. let userName = unref(userStore.getUserInfo).username;
  29. // const emit = defineEmits(['register']);
  30. let [registerModal, { setModalProps, closeModal }] = useModalInner(async (data) => {
  31. //重置表单
  32. setModalProps({ confirmLoading: false });
  33. // Object.assign(deviceData, data.record);
  34. });
  35. watch(() => props.editID, (newV, oldV) => {
  36. console.log(newV,'newV----------')
  37. new DocsAPI.DocEditor(
  38. 'fileEdit', // 元素id
  39. {
  40. type: 'desktop',
  41. width: '100%',
  42. height: '860px',
  43. document: {
  44. title: '文档管理',
  45. url: remoteUrl + ':9999/ventanaly-device/safety/reportInfo/onlyOffice/read?id=' + props.editID + '&type=' + '', //id表示文件id,后端接口用这个id来加载文件
  46. fileType: props.fileType == 'doc' ? 'docx' : props.fileType == 'xls' ? 'xlsx' : props.fileType == 'ppt' ? 'pptx' : props.fileType, //当文件类型为doc、xls、ppt时,对应用docx、xlsx、pptx否则会保存异常。
  47. key: '',
  48. lang: 'zh-CN',
  49. permissions: {
  50. download: true, //是否可下载
  51. edit: true,
  52. fillForms: true,
  53. print: true, //是否可打印
  54. },
  55. },
  56. editorConfig: {
  57. lang: 'zh-CN',
  58. mode: 'view', //view:只读且可复制内容,edit:可编辑
  59. callbackUrl: remoteUrl + ':9999/ventanaly-device/safety/reportInfo/onlyOffice/save?id=' + props.editID + '&type=' + '', //id表示文件id,后端接口用这个id来加载文件
  60. coEditing: {
  61. mode: 'fast',
  62. change: true,
  63. },
  64. customization: {
  65. toolbarNoTabs: true,
  66. autosave: false, //是否自动保存
  67. forcesave: true, //定义保存按钮是否显示
  68. hideRightMenu: true,
  69. },
  70. //用户信息
  71. user: {
  72. id: userId, //用户ID
  73. name: userName, //用户名称
  74. },
  75. },
  76. }
  77. );
  78. })
  79. </script>
  80. <style lang="less" scoped></style>