function exportFiles(res, name) {
  if (!res) return
  const url = window.URL.createObjectURL(new Blob([res], {type: "application/vnd.ms-excel;charset=UTF-8"}))
  const link = document.createElement('a')
  link.style.display = 'none'
  link.href = url
  // 获取文件的名字
  var newName = ''
  link.setAttribute(
    'download',
    name || newName
  )
  document.body.appendChild(link)
  link.click()
  document.body.removeChild(link)
}

$('#downloadFoods').on('click', function () {
  var postdata = new FormData();
  //货物信息
  for(let i=1; i<$(".goodsListTbody").length; i++) {
      postdata.append('goodsInfoList['+(i-1)+'].serialNumber',i);
      postdata.append('goodsInfoList['+(i-1)+'].goodsName',$(".goodsListTbody").eq(i).find('td').eq(1).find('input').val());
      postdata.append('goodsInfoList['+(i-1)+'].goodsMaterial',$(".goodsListTbody").eq(i).find('td').eq(2).find('input').val());
      postdata.append('goodsInfoList['+(i-1)+'].goodsType',$(".goodsListTbody").eq(i).find('td').eq(3).find('input').val());
      postdata.append('goodsInfoList['+(i-1)+'].goodsFactory',$(".goodsListTbody").eq(i).find('td').eq(4).find('input').val());

      postdata.append('goodsInfoList['+(i-1)+'].goodsUnit',$(".goodsListTbody").eq(i).find('td').eq(5).find('input').val());
      postdata.append('goodsInfoList['+(i-1)+'].goodsQuantity',$(".goodsListTbody").eq(i).find('td').eq(6).find('input').val().split(",").join(''));
      postdata.append('goodsInfoList['+(i-1)+'].salesPrice',$(".goodsListTbody").eq(i).find('td').eq(7).find('input').val().split(",").join(''));
      postdata.append('goodsInfoList['+(i-1)+'].acceptanceDate',$(".goodsListTbody").eq(i).find('td').eq(8).find('input').val().split(",").join(''));
  }

  const xhr = new XMLHttpRequest();
  xhr.open( 'POST', '/acceptance/downloadGoodsInfos', true);
  xhr.responseType = 'blob'; //必须设置返回blob类型
  xhr.onreadystatechange = function() {
      const status = xhr.status;
      if (xhr.readyState === 4) {
          if (status === 200 || status === 0) {
              const blob = xhr.response;
              exportFiles(blob, '货物.xlsx')
          } else {
          }
      }
  };
  xhr.onerror = function(e) {
      reject(e.target.response);
  };
  xhr.send(postdata);
})

$('.signList').on('click', '.copyAuthUrl', function () {
	$(this).parent().find('.copyUrl').select()
	if(document.execCommand('copy')) {
		document.execCommand('copy');
		new $.zui.Messager('复制成功', {
				type: 'success'
		}).show();
	}
})

//认证状态刷新
$('.signList').on('click', '.authRefresh', function () {
  let taskId = $('[name=taskId]').val()
  let businessKey = $('[name=businessKey]').val()
  $(".yk_rightcontent").load("/businessProcessingTask/dispatchMyTask?taskId="+taskId + '&businessKey='+ businessKey)
  let that = $(this)
  $.ajax({
      url:"/purchContract/confirm/getAuthStatus?customerId="+$(this).attr('fddCustomerId'),
      type:'get',
      processData:false,
      contentType:false,
      success: function (data) {
        if(data.success) {
          if(data.data.authStatus){
            that.parent().find('.certificationStatus').val('已认证')
          }else{
            that.parent().find('.certificationStatus').val('未认证')
          }
        }
      },
      error:function(status){
        new $.zui.Messager('刷新时发生错误:'+status, {
            type: 'danger'
        }).show();
      }
  });
})

//签署状态刷新
$('.signList').on('click','.signRefresh',function () {
  let that = $(this)
  $.ajax({
      url:"/sign/confirmation/signType?contractId="+$(this).attr('contractId')+'&customerId='+$(this).attr('fddCustomerId')+'&transactionId='+$(this).attr('transactionId'),
      type:'get',
      processData:false,
      contentType:false,
      success: function (data) {
        if(data.success) {
          if(data.data){
            that.parent().find('.signStatus').val('已签署')
          }else{
            that.parent().find('.signStatus').val('未签署')
          }
        }
      },
      error:function(status){
        new $.zui.Messager('刷新时发生错误:'+status, {
            type: 'danger'
        }).show();
      }
  });
})

//签署结论为完成时展示下游验收货物信息,为终止驳回时说明必填
$('[name=conclusion]').on('change', function() {
  if($('[name=conclusion]:checked').val() == 1) {
    $('.cargoInformation').show()
    $('.illustrate').removeClass('required_fileds_star')
  }else {
    $('.cargoInformation').hide()
    $('.illustrate').addClass('required_fileds_star')
  }
})

$('#downloadFileTemp').on('click',function (){
  window.open('/acceptance/downloadFile')
})

$(function () {
  // 排序-货物
  function sortIGoodsnfo(){
    var totalNum = 0;
    var totalPrice = 0;
    $(".goodsListTbody").each(function(i,ele){
      $(ele).find('td:first span').text(i);
      totalNum += Number($(ele).find('td').eq(6).find('input').val().split(',').join(''))
      totalPrice += Number($(ele).find('td').eq(6).find('input').val() * $(ele).find('td').eq(7).find('input').val())
    });
    if( $(".goodsListTbody").length <= 1 ){
      $('.goodsTable .negativeInformationReduce').hide();
    }else{
      $('.goodsTable .negativeInformationReduce').show();
    };
    if(totalNum!== 'null') {
      $('.totalNum').text(commaDelimiter((Math.round(totalNum*10000)/10000).toFixed(4)))
  }else {
      $('.totalNum').text('0.0000')
  }
  if(totalPrice!== 'null') {
      $('.totalPrice').text(commaDelimiter((Math.round(totalPrice*10000)/10000).toFixed(2)))
  }else {
      $('.totalPrice').text('0.00')
  }
  };
  sortIGoodsnfo();

  // 下游验收货物信息-模板导入
  $("#downstreamGoodsTem").on('click', function () {
    $('.fileGoodsInput').click();
  })
  $("#confirmationSign-form").on("change",".fileGoodsInput",function(e){
    var postdata = new FormData();
    $('.goodsListTable').children().remove()
    postdata.append('file', e.target.files[0])
    $.ajax({
      url: '/acceptance/doImportGoodsInfo',
      type: 'post',
      data: postdata,
      processData: false,
      contentType: false,
      success: function(data){
        if(data.data){
          for (var n=0; n < data.data.length; n++) {
            var supplierTrClone1 = $(".goodsListTbody:first").clone();
            supplierTrClone1.show();
            supplierTrClone1.find('td').eq(1).find('input').val(data.data[n].goodsName)
            supplierTrClone1.find('td').eq(2).find('input').val(data.data[n].goodsMaterial)
            supplierTrClone1.find('td').eq(3).find('input').val(data.data[n].goodsType)
            supplierTrClone1.find('td').eq(4).find('input').val(data.data[n].goodsFactory)
            supplierTrClone1.find('td').eq(5).find('input').val(data.data[n].goodsUnit)
            supplierTrClone1.find('td').eq(6).find('input').val((data.data[n].goodsQuantity).toFixed(4))
            supplierTrClone1.find('td').eq(7).find('input').val((data.data[n].salesPrice).toFixed(2))
            supplierTrClone1.find('td').eq(8).find('input').val(data.data[n].acceptanceDate)
            supplierTrClone1.find('.error').hide();
            $('.goodsListTable').append(supplierTrClone1);
            $(".fileGoodsInput").val('')
          }
          n=null;
          sortIGoodsnfo();
        }else{
          new $.zui.Messager('导入时发生错误:'+data.msg, {
            type: 'danger'
          }).show();
          $(".fileGoodsInput").val('')
          return false;
        }
      },
      error: function(status){
        new $.zui.Messager('导入时发生错误', {
          type: 'danger'
        }).show();
        $(".fileGoodsInput").val('')
        return false;
      }
    });
  })

  // 导入模板-清空数据
  $('.emptyData').on('click', function () {
    if($('.goodsListTable').find('tr').length) {
      $('.goodsListTable').children().remove()
    }
    $('.totalNum').text('0.0000')
    $('.totalPrice').text('0.00')
  })

  // 删除行-货物
  $("#confirmationSign-form").on('click','.goodsTable .negativeInformationReduce',function(){
    $(this).parents('.goodsListTbody').remove();
    sortIGoodsnfo();
  });

  $(".chooseSure").click(function () {
    var ids = $('#chooseGoodsList').jqGrid('getGridParam', 'selarrrow');
    if (ids.length > 0) {
        for (var i = 0; i < ids.length; i++) {
            var chooseData = $('#chooseGoodsList').jqGrid('getRowData',ids[i]);
            var trStr = `<tr class="choosedGoodsTbody">
                    <td width="5%" style="background-color:#fff;border-bottom: 1px solid #E8F0F3;"></td>
                    <td width="14%" style="background-color:#fff;border-bottom: 1px solid #E8F0F3;">`+chooseData.goodsName+`</td>
                    <td width="14%" style="background-color:#fff;border-bottom: 1px solid #E8F0F3;">`+chooseData.goodsFactory+`</td>
                    <td width="14%" style="background-color:#fff;border-bottom: 1px solid #E8F0F3;">`+chooseData.goodsType+`</td>
                    <td width="13%" style="background-color:#fff;border-bottom: 1px solid #E8F0F3;">`+chooseData.goodsUnit+`</td>
                    <td width="13%" style="background-color:#fff;border-bottom: 1px solid #E8F0F3;">`+chooseData.goodsNum+`</td>
                    <td width="13%" style="background-color:#fff;border-bottom: 1px solid #E8F0F3;">`+chooseData.salesPrice+`</td>
                    <td style="display: none">`+chooseData.id+`</td>
                    <td style="display: none" class="salesContractGoodsId">`+chooseData.salesContractGoodsId+`</td>
                    <td style="display: none" class="purchContractNumber">`+chooseData.purchContractNumber+`</td>
                    <td width="10%" style="background-color:#fff;border-bottom: 1px solid #E8F0F3;border-right: 1px solid #E8F0F3;"><span class="relaseGoods" style="color: #5AC4FC;cursor: pointer">释放</span></td>
                </tr>`
            $(".choosedGoodsList").append(trStr);
        }
    }


    $(".choosedGoodsTbody").each(function (i, ele) {

        var supplierTrClone2 = $(".goodsListTbody:first").clone();
        supplierTrClone2.find('.negativeInformationReduce').show();
        supplierTrClone2.find('.error').hide();
        supplierTrClone2.find('input').val('');
        supplierTrClone2.find('select').val('');

        supplierTrClone2.find('td').eq(1).find('input').val($(ele).find('td').eq(1).text())
        supplierTrClone2.find('td').eq(2).find('input').val($(ele).find('td').eq(2).text())
        supplierTrClone2.find('td').eq(3).find('input').val($(ele).find('td').eq(3).text())
        supplierTrClone2.find('td').eq(4).find('input').val($(ele).find('td').eq(4).text())
        supplierTrClone2.find('td').eq(5).find('input').val($(ele).find('td').eq(5).text())
        supplierTrClone2.find('td').eq(6).find('input').val($(ele).find('td').eq(6).text())

        supplierTrClone2.find('td').eq(1).find('input').attr('salesContractGoodsId',$(ele).find('td.salesContractGoodsId').text())
        supplierTrClone2.find('td').eq(1).find('input').attr('purchContractNumber',$(ele).find('td.purchContractNumber').text())
        supplierTrClone2.show();
        $('.goodsListTable').append(supplierTrClone2);
        sortIGoodsnfo();

    })
    $("#myModal-chooseGoods").modal("hide");
  })

  //货物必填验证
  $(".goodsListTable").on("keyup","input",function(e){
    if($(this).val() == '') {
      $(this).next().addClass('shows').show();
    }else {
      $(this).next().removeClass('shows').hide();
    }
  })

  //保存
function submitFunction(e){
  var postdata = new FormData();
  postdata.append('signConclusion',$("[name=conclusion]:checked").val());
  postdata.append('remark',$("[name=remark]").val());
  postdata.append('id',$("[name=id]").val());
  postdata.append('taskId',$("[name=taskId]").val());
  postdata.append('businessKey',$("[name=businessKey]").val());
  //货物信息
  if($('[name=conclusion]:checked').val() == 1) {
    for(var i=1;i<$(".goodsListTbody").length;i++) {
      postdata.append('acceptanceGoodInfos['+(i-1)+'].serialNumber',i);
      // postdata.append('acceptanceGoodInfos['+(i-1)+'].salesContractGoodsId',$(".goodsListTbody").eq(i).find('td').eq(1).find('input').attr('salesContractGoodsId'));
      // postdata.append('acceptanceGoodInfos['+(i-1)+'].purchContractNumber',$(".goodsListTbody").eq(i).find('td').eq(1).find('input').attr('purchContractNumber'));
      postdata.append('acceptanceGoodInfos['+(i-1)+'].goodsName',$(".goodsListTbody").eq(i).find('td').eq(1).find('input').val());
      postdata.append('acceptanceGoodInfos['+(i-1)+'].goodsMaterial',$(".goodsListTbody").eq(i).find('td').eq(2).find('input').val());
      postdata.append('acceptanceGoodInfos['+(i-1)+'].goodsType',$(".goodsListTbody").eq(i).find('td').eq(3).find('input').val());
      postdata.append('acceptanceGoodInfos['+(i-1)+'].goodsFactory',$(".goodsListTbody").eq(i).find('td').eq(4).find('input').val());
      postdata.append('acceptanceGoodInfos['+(i-1)+'].goodsUnit',$(".goodsListTbody").eq(i).find('td').eq(5).find('input').val());
      postdata.append('acceptanceGoodInfos['+(i-1)+'].goodsQuantity',$(".goodsListTbody").eq(i).find('td').eq(6).find('input').val().split(",").join(''));
      postdata.append('acceptanceGoodInfos['+(i-1)+'].salesPrice',$(".goodsListTbody").eq(i).find('td').eq(7).find('input').val().split(",").join(''));
      postdata.append('acceptanceGoodInfos['+(i-1)+'].acceptanceDate',$(".goodsListTbody").eq(i).find('td').eq(8).find('input').val().split(",").join(''));
    }
    i=null;
  }
  $.ajax({
    url:'/acceptance/add/sign/confirm',
    type:'post',
    data:postdata,
    processData:false,
    contentType:false,
    success:function(data){
      if( data.success ){
        new $.zui.Messager( '签署确认成功', {
          type: 'success'
        }).show();
        $.get('/acceptance/pendingList?businessBasicId='+acceptanceQuery.detailId2,function(data){
          $(".yk_rightcontent").empty().append(data);
        });
      }else{
        new $.zui.Messager('签署确认失败:'+data.msg, {
          type: 'danger'
        }).show();
      }
    },
    error:function(status){
      new $.zui.Messager('签署确认时发生错误:'+status, {
        type: 'danger'
      }).show();
    }
  });
  return false;
};

var formRules = {
  conclusion:{
    required:true
  }
};

var formMessages = {
  conclusion:{
    required:'请选择签署结论'
  }
};


//表单验证
function addNewCustomer(e){

  //货物必填验证
  $('.goodsTable input').keyup();

  $("#confirmationSign-form").validate({
    promptPosition : "bottomLeft",
    submitHandler : function(form) {
      if($('[name=conclusion]:checked').val() !== '1') {
        if($('[name=remark]').val() == '') {
            $('.error').addClass('shows').show();
            return false
        }else {
            $('.error').removeClass('shows').hide();
        }
      }
      //签署校验
      for(let i = 0; i<$('.signStatus').length; i++) {
        if($("[name=conclusion]:checked").val() == 1) {
          if($('.signStatus').eq(i).val() == '未签署' || $('.certificationStatus').val() == '未认证'){
            new $.zui.Messager('请进行签署确认操作', {
              type: 'danger'
            }).show();
            return false
          }
        }
      }
      //货物校验
      if(!$(".goodsListTbody").not(':first').length && $("[name=conclusion]:checked").val() == 1) {
        new $.zui.Messager('请选择货物' , {
            type: 'danger'
        }).show();
        return false
      }
      submitFunction(e);
    },
    rules:formRules,
    messages : formMessages
  });
};

  //提交按钮
  $(".yk_addNewMsg .save").click(function (e) {
    addNewCustomer(e)
  });

  //关闭按钮
  $(".yk_addNewMsg .btn-cancel, .newBackBtn").click(function(){
    $.get('/acceptance/pendingList?businessBasicId='+acceptanceQuery.detailId2,function(data){
      $(".yk_rightcontent").empty().append(data);
    });
    return false;
  });

})
