二次接口插件(高级)

项目中方法调用

import { UIInterfaceFunc } from 'sj.sys.ui';

 

/**
     * 前端二次开发接口前端调用函数
     * @param UnitID 当前医疗单位ID
     * @param MouldName 模块名称,如:门诊西药处方
     * @param EventName 事件名称,如:门诊西药处方保存前
     * @param ReturnInf 返回参数 JSON对象,此参数和返回结果中ReturnInf的数据机构一致(key保持一致,value有可能被后端修改)
     * @param OtherReqInf 其它附加参数,返回值内不包含此对象中的任何值
     * @param BatchOrdinalNo 操作批次流水号 guid
     * @param UserID 用户ID,为空则为当前globalVar里的用户ID
     * @param StationID 工作站ID,为空则为当前globalVar里的工作站ID
     */
  public async  ceshi(resResult, agDataOptionResult) {
    let dataOption = {
      UnitID: this.dynamicValidateForm.unitId, //当前医疗单位ID
      MouldName: '发票打印', //模块名称,如:门诊西药处方
      EventName: '发票打印', //事件名称,如:门诊西药处方保存前
      ReturnInf: this.ReturnInf(agDataOptionResult), //返回参数 JSON对象,此参数和返回结果中ReturnInf的数据机构一致(key保持一致,value有可能被后端修改)
      OtherReqInf: this.OtherReqInf(resResult), //其它附加参数,返回值内不包含此对象中的任何值
      BatchOrdinalNo: this.guid(), //操作批次流水号 guid
      UserID: sj.globalVar.UserID, //用户ID,为空则为当前globalVar里的用户ID
      StationID: sj.globalVar.StationID //工作站ID,为空则为当前globalVar里的工作站ID
    }
    UIInterfaceFunc.CallUIInterface(
      dataOption.UnitID,
      dataOption.MouldName,
      dataOption.EventName,
      dataOption.ReturnInf,
      dataOption.OtherReqInf,
      dataOption.BatchOrdinalNo,
      dataOption.UserID,
      dataOption.StationID,
    ).then(async result => {
      console.log(result);
      console.log(result.CanRunNext);
      if (!result.CanRunNext) {
        UI.Error(result.ErrMsg)
      } else {
        console.log(result.ReturnInf);
      }
    }).catch((errer) => {
      UI.Toast(JSON.stringify(errer))
    });
  }

  

//传输到接口的某一个数据 传入唯一流水号
 guid() {
   return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {
     var r = Math.random() * 16 | 0, v = c == 'x' ? r : (r & 0x3 | 0x8);
     return v.toString(16);
   });
 }
 
 //返回参数 JSON对象,此参数和返回结果中ReturnInf的数据机构一致(key保持一致,value有可能被后端修改)
 ReturnInf(agDataOptionResult) {
   return {
     // InvoiceType: this.dynamicValidateForm.InvoiceType, //string;//发票类型
     // InvoiceCode: this.dynamicValidateForm.InvoiceCode, //string;//发票号
     InvoiceType: agDataOptionResult.InvoiceType,//发票类型 string
     InvoiceNo: agDataOptionResult.InvoiceCode//发票号 string 
   }
 }
 
 //其它附加参数,返回值内不包含此对象中的任何值
 OtherReqInf(resResult) {
   return {
     BizCode: 'PrintOutAcceptInvoice',//类型编码 string
     AccountID: resResult.AccountNo,//收费结算流水号 string
     IsDesigned: true//是否为设计状态 Boolean
   }
 }

  

posted @ 2019-08-01 16:28  龙旋风  阅读(333)  评论(4编辑  收藏  举报