import printBill from '../control/printBill.vue'
export default {
  execute: function (bill, param) {
    if (param) {
        let component = null;
        let name = GMS.$hideContainer.addComponent(printBill, {}, function (c) {
          if(param.param.detailFieldName){
            let url = `/rbcfunc/print/merge/multi/${param.define}/${bill.getMasterData().getValue('id')}/${param.param.detailFieldName}?detailName=BXMXZB`;
            GMS.$http
              .post(url, JSON.stringify(), {
                responseType: "blob",
                headers: {
                  "Content-Type": "application/pdf;charset=utf-8",
                  "X-Requested-With": "XMLHttpRequest",
                },
              })
              .then((res) => {
                let blob = new Blob([res.data], {
                  type: "application/pdf;charset=utf-8",
                });            
                let downloadElement = document.createElement("a");
                let href = window.URL.createObjectURL(blob); //创建下载的链接
                downloadElement.href = href;
                window.open(href)
              });
            }else{
                c.billId = bill.getMasterData().getValue('id');
                c.billDefineName = param.define;
                if(param.param.subName){
                  c.subName = param.param.subName;
                }
                c.modalShow = true;
            }
            component = c;
            c.$nextTick(()=>{
                component.addListener({
                  close: function() {
                    GMS.$hideContainer.remove(name);
                  }
                });
            })
          })
    } else {
      GAMS.Common.messagePrompt('缺少参数')
    }
  }
}