在旧打印模版代码中使用新打印模板

++import SeenewPrinter from '@ali/seenew-printer'; //新版打印组件
componentDidMount() {
    this.searchChange(this.props.patientSelectedRowKeys, this.props.masterPatientIndex, this.props.patientId);
  	//* 在挂载时就将新增模版加载出来
    ++SeenewPrinter.config({
      //* bussType中添加模版表示获取此模版内容
      bussType: ['FH0142.704'],   //  务必写,不然无法通过 alt + p 唤醒调试窗口
    });
  }


printLabel = async (code, isPre) => {
    // 新版打印
    ++if (code === 'FH0142.704') {
      //由于原接口只返回旧模版有效数据,所以需要自己另调接口获取新模版数据
      const res = await api.queryPrintResultTemplateList({
        // 这里写死新增模版号,多个新增新模板号能直接加这里?
        bussType: ['FH0142.704'],
        isNewTemplate: '1',
        // 获取打印模版地址
        macAddress: localStorage.getItem('sysMacAddress'),
      });
      //解构数据
      const { printTemplateDTO: { templateValue } } = res[0];
      const data = {
        ...this.state.surgeryDate,
        macAddress: window.localStorage.getItem('sysMacAddress'),
        //控制是否可以预览,单打印可以预览,多条打印要强制设置为false
        isPre,
      };
      //* 由于是在就模版代码中使用新模版,所以只调用旧模版的预览,打印单独提出来
      //* 如果是纯旧或者纯新模版则不需要此判断
      if (isPre === false) {
        // 此处已添加打印,所以模版中要删除打印的api
        const printer = new SeenewPrinter();
        printer.print('FH0142.704', data);
      } else {
        // isPre为true时,打印预览,这个exejs是旧版打印中的方法
      	//* 这一步是传递接口取到的数据调取模版打印功能
     	  this.myPrint.print((LODOP) => {
        	this.myPrint.exejs(utils.restoreHtml(templateValue), 'printData', data, LODOP);
      	});
      }
    } else {
      // 旧版打印
      this.myPrint...
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值