找回密码
 立即注册

QQ登录

只需一步,快速开始

testSplit

注册会员

2

主题

23

帖子

45

积分

注册会员

积分
45
最新发帖
testSplit
注册会员   /  发表于:2023-9-13 14:19  /   查看:2457  /  回复:16
1金币


目前是这样 我直接把那个 https://demo.grapecity.com.cn/activereportsjs/demos/features/designer-report-preview/purejs 这里面这个预览报表的代码复制到app.vue里面 报这个错
附件: 您需要 登录 才可以下载或查看,没有帐号?立即注册

最佳答案

查看完整内容

您是您可以参考一下这个Demo: https://gcdn.grapecity.com.cn/showtopic-176151-1-1.html 首先是怎么保存的保存到后端,您可以在onSave或者onSaveAs实现: 这个里面info.definition 就是报表文件。您把这个保存就可以了。[/backcolor] 然后report.open不能放url[/backcolor] 这个可以直接放一个id,会从public文件下找到,或者直接在这里放报表文件[/backcolor] 也就是直接[/backcolor]report.open(报表json)就可以 ...

16 个回复

倒序浏览
最佳答案
最佳答案
Felix.LiWyn认证
超级版主   /  发表于:2023-9-13 14:19:52
来自 11#
您是您可以参考一下这个Demo:

https://gcdn.grapecity.com.cn/showtopic-176151-1-1.html

首先是怎么保存的保存到后端,您可以在onSave或者onSaveAs实现:

这个里info.definition    就是报表文件。您把这个保存就可以了。
然后report.open不能放url
这个可以直接放一个id,会从public文件下找到,或者直接在这里放报表文件
也就是直接report.open(报表json)就可以打开

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
testSplit
注册会员   /  发表于:2023-9-13 14:29:48
2#
  这个复制过来了  能启动了  但是后台报这个  设计界面出不来

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
Felix.LiWyn认证
超级版主   /  发表于:2023-9-13 17:26:28
3#
问题描述:

集成报错,无法正常集成

解决方法:
看您的报错,是引入vue报错。您是不是就没有正常的引入对应的vue,在package.json中引入
引入: "vue": "***"
然后推荐您参考一下这个帖子做一下集成:
https://gcdn.grapecity.com.cn/showtopic-133836-1-4.html
对应的ARJS在package.json中修改即可
回复 使用道具 举报
testSplit
注册会员   /  发表于:2023-9-13 18:10:40
4#
那我VUE3的话 怎么操作 V3 好像不用引入这个的把
回复 使用道具 举报
testSplit
注册会员   /  发表于:2023-9-13 18:43:39
5#
  1. <template>
  2.   <div id="designer-toolbar" class="container-fluid">
  3.     <div class="row mt-3 mb-3">
  4.       <button
  5.           type="button"
  6.           class="btn btn-primary btn-sm col-sm-2 ml-1"
  7.           v-on:click="onPdfPreview()"
  8.           :style="{display: designerHidden ? 'none' : 'block'}"
  9.       >
  10.         PDF 预览
  11.       </button>

  12.       <button
  13.           type="button"
  14.           class="btn btn-secondary btn-sm col-sm-2 ml-1"
  15.           v-on:click="onDesignerOpen()"
  16.           :style="{display: designerHidden ? 'block' : 'none'}"
  17.       >
  18.         打开设计器
  19.       </button>
  20.     </div>
  21.   </div>
  22.   <div id="host" style="height:100%;width:100%;margin:10px">
  23.      <ReportDesigner ref='reportDesigner'></ReportDesigner>
  24.   </div>
  25. </template>
  26. <script>
  27. import {ref, onMounted, watch} from 'vue';
  28. import {Designer as ReportDesigner} from '@grapecity/activereports-vue';

  29. import "@grapecity/activereports-localization/dist/designer/zh-locale";

  30. import "@grapecity/activereports/styles/ar-js-ui.css";
  31. import "@grapecity/activereports/styles/ar-js-designer.css";
  32. import {PdfExport} from "@grapecity/activereports";


  33. export default {
  34.   name: 'ActiveReportsDesigner',
  35.   // props: {
  36.   //   reportFile: {
  37.   //     type: String,
  38.   //     default: ''
  39.   //   },
  40.   //   reportOrientation: {
  41.   //     type: String,
  42.   //     default: "Landscape"
  43.   //   }
  44.   // },
  45.   components: {ReportDesigner},

  46.   setup(context) {

  47.     let reportDesigner = ref();
  48.     let resolveFunc = ref(null);
  49.     let reportStorage = new Map();
  50.     let counter = 0;
  51.     let designerHidden = ref(false);
  52.     const onPdfPreview = () => {
  53.       // 在这里定义 onPdfPreview 方法的逻辑
  54.       // 例如,在 PDF 预览按钮点击时执行的操作
  55.       const reportInfo =  reportDesigner.getReport();
  56.       console.log('PDF 预览按钮被点击');
  57.       const report = new PageReport()
  58.       report.load(reportInfo.definition);
  59.       const doc =  report.run();
  60.       const result = PdfExport(doc);
  61.       result.download("exportedreport.pdf");

  62.       // 可以在这里添加具体的逻辑
  63.     };

  64.     const onDesignerOpen = () => {
  65.       // 在这里定义 onDesignerOpen 方法的逻辑
  66.       // 例如,在打开设计器按钮点击时执行的操作
  67.       this.designerHidden = false;
  68.       console.log('打开设计器按钮被点击');
  69.       // 可以在这里添加具体的逻辑
  70.     };

  71.     onMounted(() => {

  72.       reportDesigner = new ReportDesigner("#host", {language: "zh"});

  73.       reportDesigner.setActionHandlers({
  74.         onRender: async (report)=>{
  75.           this.designerHidden = true;
  76.           this.$refs.reportViewer.Viewer().open(report.definition);
  77.         },
  78.         onCreate: () => {
  79.           const reportId = `NewReport${counter + 1}`;
  80.           counter++;
  81.           return Promise.resolve({definition: templates.CPL, id: reportId, displayName: reportId});
  82.         },
  83.         onOpen: function () {
  84.           const ret = new Promise((resolve) => {
  85.             resolveFunc.value = resolve;

  86.             return ret;
  87.           })
  88.         },
  89.         onSave: (info) => {
  90.           const reportId = info.id || `NewReport${counter + 1}`;
  91.           this.reportStorage.set(reportId, info.definition);
  92.           counter++;
  93.           return Promise.resolve({displayName: reportId});
  94.         },
  95.         onSaveAs: (info) => {
  96.           const reportId = `NewReport${counter + 1}`;
  97.           this.reportStorage.set(reportId, info.definition);
  98.           counter++;
  99.           return Promise.resolve({id: reportId, displayName: reportId});
  100.         }
  101.       });
  102.       reportDesigner.setReport({ id: "reports/company-template.rdlx-json" });
  103.     })




  104.     return {
  105.       reportDesigner,
  106.       reportStorage,
  107.       resolveFunc,
  108.       counter,
  109.       onPdfPreview,
  110.       onDesignerOpen,
  111.       designerHidden,
  112.     }
  113.   },
  114. }
  115. </script>
  116. <style>
  117. #host, #viewer-host {
  118.   width: 100%;
  119.   height: 500px;
  120. }
  121. </style>
复制代码
现在目前的代码是这样  然后报

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
Bella.YuanWyn认证
超级版主   /  发表于:2023-9-14 12:16:55
6#
testSplit 发表于 2023-9-13 18:43
现在目前的代码是这样  然后报

问题描述:vite+vue集成按钮有问题

问题解答:

       应该是您的代码编写有问题导致的,附件是修改后的,您下载后对比看看。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
testSplit
注册会员   /  发表于:2023-9-15 10:35:00
7#
我能不能发你附件呀  我的demo 有点问题
回复 使用道具 举报
testSplit
注册会员   /  发表于:2023-9-15 13:37:04
8#
Bella.Yuan 发表于 2023-9-14 12:16
问题描述:vite+vue集成按钮有问题

问题解答:

我能不能发你附件呀  我的demo 有点问题
回复 使用道具 举报
Felix.LiWyn认证
超级版主   /  发表于:2023-9-15 15:33:47
9#
您可以使用如下操作:


上传好附件之后。

就可以上传附件,建议您将上传附件压缩为zip上传

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部