<script>
let popWinObjaf222x;
function openAf222x() { {*修正*}
  let frmh = $("#headerTop");

  if (common.getValue(frmh.find(".tcls")) == "01" || common.getValue(frmh.find(".tcls")) == "03") {
    var sendData = {};
    sendData["cucd"] = common.getValue(frmh.find(".cucd"));
    sendData["cuscd"] = common.getValue(frmh.find(".cuscd"));
    sendData["vseq"] = common.getValue(frmh.find(".vseq"));
    sendData["tcls"] = common.getValue(frmh.find(".tcls"));
    sendData["viseq"] = common.getValue(frmh.find(".viseq"));
    common.postData(
        "./chkModify.php"
      , sendData
      , function (data) {
        var obj = JSON.parse(data);
        let ret = obj.ret;
        if(ret == '0') {
          if (obj.cnt == "0") {
            alert("締済みの為、修正出来ません。");
          } else {
            {*子window Open*}
            var wwin = 'af222xChild';
            $('#postjump').remove();
            if( (popWinObjaf222x) && (!popWinObjaf222x.closed) ){
              popWinObjaf222x.close();
            }
            popWinObjaf222x = window.open("about:blank",wwin);

            let wurl = "{$_ROOT_URL}/product/af222x/index.php";
            let html = "";

            let tcls = common.getValue(frmh.find(".tcls"));
            let cucd = common.getValue(frmh.find(".cucd"));
            let cuscd = common.getValue(frmh.find(".cuscd"));
            let vseq = common.getValue(frmh.find(".vseq"));
            let viseq = common.getValue(frmh.find(".viseq"));

            {*パラメータ作成*}
            html = '<form method="post" action="'+wurl+'" id="postjump" target="'+wwin+'" style="display: none;">';
            html += '<input type="hidden" name=p_title value="{$_PRODUCT_NAME}" >';
            html += '<input type="hidden" name=p_apid value="af226x" >';
            html += '<input type="hidden" name=p_cucd value="' + cucd + '" >';
            html += '<input type="hidden" name=p_cuscd value="' + cuscd + '" >';
            html += '<input type="hidden" name=p_vseq value="' + vseq + '" >';
            html += '<input type="hidden" name=p_viseq value="' + viseq + '" >';
            html += '<input type="hidden" name=p_tcls value="' + tcls + '" >';
            html += '</form>';

            {*子windowに対してpost*}
            $("body").append(html);
            $('#postjump').submit();
            $('#postjump').remove();

            noEventAll();
          }
        } else {
          alert(obj.msg);
        }
      }
      , function (error) {
        alert(error.msg);
      }
    );
  }
}

function closeAf222x() {  {*画面変更可*}
  $("#detailTop").removeClass("noevent");
  $("#funcMenu").removeClass("noevent");
}

function noEventAll() {  {*画面変更不可*}
  $("#detailTop").addClass("noevent");
  $("#funcMenu").addClass("noevent");
}

{*-- ここからjsでのデータ表示用 ---------------------------------------------------*}

let detail_data=[];
let new_data={};

function setArrayData(pgno) {
  var detail = $("#detail .detail");

  for(i = 0 ; i < detail.length ; i++) {
    let $me = $(detail[i]);
    var rnum = Number($me.find(".rnum").val())-1;
    $me.find("input, select").each(function (index) {
      var inputnm = $(this).attr("name");
      if(i == 0) {
        //console.log("["+rnum+"]"+inputnm+":"+common.getValue($(this)));
      }
      detail_data[rnum][inputnm] = common.getValue($(this));
    });
  }

  return true;
}

function dsp_detail(p_pgno) {
  $("#detail .detail").remove();

  var frm = $("#headerTop");
  var el = "";

  console.log(p_pgno+"/"+$("#lastpage").val());


  common.setValue(frm.find(".modelbl"), "修正");
  var ret_len = detail_data.length;
  for (var i = 0; i < ret_len; i++) { {*既存データページを表示*}
    if (Number(detail_data[i].pgno) == Number(p_pgno)) {
      el += af226x_detail.appendRow(detail_data[i]);
    }
  }

  $("#detail").append(el);

  doHeaderEnable('D');

  var detail = $("#detail .detail");

  for(i = 0 ; i < detail.length ; i++) {
    var $me = $(detail[i]);
    if($me.find(".chkval").val()=='1') {
      $me.find(".chk").prop("checked",true);
    }

    $me.find("select").each(function(index) {
      var $selectVal = $(this);
      common.setValue($selectVal,common.getValue($me.find(".memo"+$selectVal.attr("name"))));
    });
  }

  //$("#detail .detail").first().find(".keycd").focus();
}


function doHeaderEnable(pmode) { {*pmode:H Header有効・D 明細有効*}
  let h = $("#headerTop");
  let d = $("#detailTop");
  let m = $("#funcMenu");
  let mode = h.find(".mode").val();
  if (pmode == "H") { {*Header有効*}
    h.removeClass("noevent");
    d.addClass("noevent");
    $(".Func4").addClass("noevent");
    $(".Func7").addClass("noevent");
    $(".Func8").addClass("noevent");
    $(".Func9").removeClass("noevent");
    $(".Func10").removeClass("noevent");
    $(".Func11").addClass("noevent");
    $(".Func12").removeClass("noevent");

    {*ヘッダー項目クリア*}
    h.find(".modelbl").removeClass("newLabel");
    {*ヘッダーフォーカス*}
    h.find(".keycd")[0].focus();
  } else {
    d.removeClass("noevent");
    $(".Func4").removeClass("noevent");
    $(".Func7").removeClass("noevent");
    $(".Func8").removeClass("noevent");
    $(".Func9").removeClass("noevent");
    $(".Func10").removeClass("noevent");
    {if $header.denpdf == "0"}  {*伝票PDFあり*}
      $(".Func11").removeClass("noevent");
    {else}
      $(".Func11").addClass("noevent");
    {/if}
    $(".Func12").removeClass("noevent");

    {*ヘッダー項目*}
    h.find(".modelbl").addClass("newLabel");
    {*データ部フォーカス*}
    //d.find(".tdat")[0].rdo_order();
  }
}

function clearHeader() {  {*headerクリア*}
  let frm = $("#headerTop");
  let container = frm.closest(".container");
  doHeaderEnable("H");
  common.clearInputData(container);
  $('[name=mode]').prop("selectedIndex", 0);
  $('[name=mode]').trigger("change");

}

var init_data={
  vlin:'1',
};

function clearDetail() {
  common.clearAllError();
  $("#detail .detail").remove(); {*明細クリア*}
  $("#lastDetail").show();
}

function setOneRow() {
  clearDetail();  {*一旦クリア*}
  {*明細に最初の一行追加*}
  var el = af226x_detail.appendRow(init_data);
  $("#detail").append(el);
  var detail = $("#detail").find(".detail");
  detail.find(".datepicker").each(function (index) {
    common.setDatepickerInfo($(this));
  });
}

function chgDetail(pgno) {  {*明細表表示・非表示*}
  let wpgno = "pgno" + pgno;

  dsp_detail(pgno);

  if (common.getValue($("#pagecnt")) == common.getValue($("#lastpage"))) { {*次頁なし*}
    $("#funcMenu").find(".Func8").addClass("noevent");
  } else {
    $("#funcMenu").find(".Func8").removeClass("noevent");
  }
  if (common.getValue($("#pagecnt")) == "1") { {*前頁なし*}
    $("#funcMenu").find(".Func7").addClass("noevent");
  } else {
    $("#funcMenu").find(".Func7").removeClass("noevent");
  }
}
function dspDetail() { {*データ表示*}
  let frm = $("#headerTop");
  let detail = $("#detail").find(".detail");

  clearDetail();  {*一旦クリア*}

  {*明細行配列クリア*}
  detail_data.splice(0);

  {if $header.ret == "0"}
    {*配列作成*}
    detail_data = {$dataList};

    {*行作成*}
    dsp_detail("1");

    doHeaderEnable("D")
    {*頁情報*}
    chgDetail("1");
  {else if $header.ret == "1"}
    dsp_detail("1");
    doHeaderEnable("H");
    alert("該当データがありません。");

    window.opener.closeAf222x();
    window.close();
  {else}
    doHeaderEnable("H")
    {if $hasError eq true}
      alert("{$errorMsg}")
    {/if}
  {/if}
}

{*明細行用関数*}
var af226x_detail = {
  appendRow: function (d) {
    let frm = $("#headerTop");
    let mode = common.getValue(frm.find(".mode"));
    var n = stringUtil.nvl;
    var n0 = stringUtil.nvl0;
    var row =
    ' <div class="col wp-100 detail"> ' +
    '<div class="col wp-100 rowinfo detailMain">' +
      {*1行目*}
    '  <div class="col wp-100 "> ' +
    '     <div class="item wd-kbn inputReadOnly vlin number">' + n(d.vlin) + '</div>' +
    '     <div class="item wd-jan inputReadOnly jan  ">' + n(d.jan) + '</div>' +
    '     <div class="item wd-kbn inputReadOnly gdcls9nm">' + n(d.gdcls9nm) + '</div>' +
    '     <div class="item wd-LL inputReadOnly gdjnm ">' + n(d.gdjnm) + '</div>' +
    '     <div class="item wd-number inputReadOnly jpno number">' + common.addFigure(n(d.jpno)) + '</div>' +
    '     <div class="item wd-number inputReadOnly fcst number">' + common.addFigure(n(d.fcst), "2") + '</div>' +
    '     <div class="item wd-number inputReadOnly amt2 number">' + common.addFigure(n(d.amt2)) + '</div>' +
    '     <div class="item wd-L jmcatnm blue">' + n(d.jmcatnm) + '</div>' +
    '  </div>' +
      {*2行目*}
    '  <div class="col wp-100 "> ' +
    '     <div class="item wd-kbn">&nbsp;</div>' +
    '     <div class="item wd-jan">&nbsp;</div>' +
    '     <div class="item wd-kbn">&nbsp;</div>' +
    '     <div class="item wd-LL inputReadOnly gdjstnd ">' + n(d.gdjstnd) + '</div>' +
    '     <div class="item wd-number inputReadOnly tpno number">' + common.addFigure(n(d.tpno)) + '</div>' +
    '     <div class="item wd-number inputReadOnly icst number">' + common.addFigure(n(d.icst), "2") + '</div>' +
    '     <div class="item wd-number inputReadOnly amt number">' + common.addFigure(n(d.amt)) + '</div>' +
    '  </div>' +
      {*非表示項目*}
    '  <input name="rnum" type="hidden" class="rnum" value="' + n(d.rnum) + '"/>' +
    '<hr>' +
    '</div>' +
    ' </div> ';


    return row;
  },
}


{*-- ここまでjsでのデータ表示用 ---------------------------------------------------*}

  function chkBefore() {
    var errflg = false;
    var frmh = $("#headerTop");
    var mode = common.getValue(frmh.find(".mode"));
    common.clearFormError(frmh);

    if(!stringUtil.isEmpty(frmh.find(".adats").val()) && !stringUtil.isEmpty(frmh.find(".adate").val())) {
      let wsadat = dateUtil.getYYYYMMDDDate(common.getValue(frmh.find(".adats")));
      let weadat = dateUtil.getYYYYMMDDDate(common.getValue(frmh.find(".adate")));
      if(wsadat > weadat) {
        errflg = true;
        common.addError(frmh.find(".adats"), "正しい範囲を入力してください。", null, true);
        common.addError(frmh.find(".adate"), "正しい範囲を入力してください。", null, true);
      }
      if (!errflg) {
        if (weadat > dateUtil.getAddMonthDate(common.getValue(frmh.find(".adats")), 1)) {
          common.addError(frmh.find(".adats"), "計上日範囲は1ヶ月以内を指定してください。", null, true);
          errflg = true;
        }
      }
    }

    {*いずれか必須*}
    if(stringUtil.isEmpty(common.getValue(frmh.find(".cucd")))
      &&(stringUtil.isEmpty(common.getValue(frmh.find(".adats"))) || stringUtil.isEmpty(common.getValue(frmh.find(".adate"))))) {
      common.addError(frmh.find(".cucd"), "いずれかを入力してください。", null, true);
      common.addError(frmh.find(".adats"), "いずれかを入力してください。", null, true);
      common.addError(frmh.find(".adate"), "いずれかを入力してください。", null, true);
      errflg = true;
    }

    return errflg;
  }

  function doPrint(p_mode) {
    var frmh = $("#headerTop");

    var name = "";
    var w_java = "";
    var w_id = "";
    if(p_mode == 'CSV') {
      name = "【売上照会(商品明細)】CSV出力";
      w_java = "AF999C";
      w_id = "AF423C1";
    } else if (p_mode == "PDF") {
      name = "【売上照会(商品明細)】出力";
      w_java = "AF999I";
      w_id = "AF423X1";
    } else {
      return false;
    }

    if( window.confirm(name+"を行います。\nよろしいですか？") ){
      let param2 = { "method": "GetWseqMjan" };

      $.ajax({
        type: "GET",
        url: "../../api/getWseq.php",
        data: param2,
        dataType: "json",
        scriptCharset: 'utf-8',
        success: function(data, status, xhr) {
          var wurl = "{$_REPORT_URL}" + w_java + "?WSEQ=" + JSON.parse(data.data)
                  + "&CSVID=" + w_id
                  + "&IREP=" + w_id
                  + "&CHGCD=" + "{$_SYSTEM_NAME_EN_CHGCD}"
                  + "&KTKTCD=" + "{$_SYSTEM_NAME_EN_LGKTKTCD}"
                  + "&VEND=" + "{$_SYSTEM_NAME_EN_VEND}"
                  + "&ACCD=" + "{$_SYSTEM_NAME_EN_ACCD}"
                  + "&DBNO=" + "{$_SYSTEM_NO}"
                  + "&JOKEN1=" + "{$header.p_cucd}"
                  + "&JOKEN2=" + "{$header.p_cuscd}"
                  + "&JOKEN3=" + "{$header.p_adat}"
                  + "&JOKEN5=" + "{$header.p_vseq}"
                  + "&JOKEN8=" + "{$header.p_spktcd}";
          window.open(wurl, JSON.parse(data.data));
        }
      });
    } else {
      return false;
    }
  }

  function doPrintDenpyo() {
    var frmh = $("#headerTop");

    let name = "【伝票イメージ】出力";
    let w_java = "AF999I";
    let w_id = "AF423X2";

    if( window.confirm(name+"を行います。\nよろしいですか？") ){
      let param2 = { "method": "GetWseqMjan" };

      $.ajax({
        type: "GET",
        url: "../../api/getWseq.php",
        data: param2,
        dataType: "json",
        scriptCharset: 'utf-8',
        success: function(data, status, xhr) {
          var wurl = "{$_REPORT_URL}" + w_java + "?WSEQ=" + JSON.parse(data.data)
                  + "&CSVID=" + w_id
                  + "&TBLID=" + w_id
                  + "&CHGCD=" + "{$_SYSTEM_NAME_EN_CHGCD}"
                  + "&KTKTCD=" + "{$_SYSTEM_NAME_EN_LGKTKTCD}"
                  + "&VEND=" + "{$_SYSTEM_NAME_EN_VEND}"
                  + "&ACCD=" + "{$_SYSTEM_NAME_EN_ACCD}"
                  + "&DBNO=" + "{$_SYSTEM_NO}"
                  + "&JOKEN1=" + "{$header.p_cucd}"
                  + "&JOKEN2=" + "{$header.p_cuscd}"
                  + "&JOKEN3=" + "{$header.p_vseq}"
                  + "&JOKEN5=" + "{$header.p_viseq}";
          window.open(wurl, JSON.parse(data.data));
        }
      });
    } else {
      return false;
    }
  }

  $(document).ready(function(){
    /* 明細 高さ 自動設定
    //===================================================================*/
    common.setDetailHeight( $("#detail") );

    {if $header.denpdf == "0"}
      common.setValue($(".Func11"), "伝票PDF(F11)");
    {else}
      common.setValue($(".Func11"), "－");
    {/if}

    common.removeLoading();
    dspDetail();  {*明細表示*}

    /* イベント
    //===================================================================*/
    //　F1
    $(document).on("click", ".Func1:not('.noevent')", function(e) {
    });
    //　F2
    $(document).on("click", ".Func2:not('.noevent')", function(e) {
    });
    //　F3
    $(document).on("click", ".Func3:not('.noevent')", function(e) {
    });
    //　F4 修正
    $(document).on("click", ".Func4:not('.noevent')", function(e) {
      openAf222x();
    });
    //　F5 クリア
    $(document).on("click", ".Func5:not('.noevent')", function(e) {
    });
    //　F6
    $(document).on("click", ".Func6:not('.noevent')", function(e) {
    });
    //　F7 前頁
    $(document).on("click", ".Func7:not('.noevent')", function(e) {
      if(setArrayData($("#pagecnt").val())) { {*現在ページの変更を配列に記憶*}
        let pgcnt = 0;
        if (stringUtil.isEmpty(common.getValue($("#pagecnt")))) {
          pgcnt = 1;
        } else {
          pgcnt = Number(common.getValue($("#pagecnt"))) - 1;
        }
        common.setValue($("#pagecnt"),pgcnt); {*最初は1ページ*}
        chgDetail(String(pgcnt));
      } else {
        alert("エラーがあります");
      }
    });
    //　F8 次頁
    $(document).on("click", ".Func8:not('.noevent')", function(e) {
      if(setArrayData($("#pagecnt").val())) { {*現在ページの変更を配列に記憶*}
        let pgcnt = 0;
        if (stringUtil.isEmpty(common.getValue($("#pagecnt")))) {
          pgcnt = 1;
        } else {
          pgcnt = Number(common.getValue($("#pagecnt"))) + 1;
        }
        common.setValue($("#pagecnt"),pgcnt); //最初は1ページ
        chgDetail(String(pgcnt));
      } else {
        alert("エラーがあります");
      }
    });
    //　F9 PDF
    $(document).on("click", ".Func9:not('.noevent')", function(e) {
      doPrint('PDF');
    });
    //　F10 CSV
    $(document).on("click", ".Func10:not('.noevent')", function(e) {
      doPrint('CSV');
    });
    //　F11 伝票PDF
    $(document).on("click", ".Func11:not('.noevent')", function(e) {
      doPrintDenpyo();
    });
    //　F12 メニュー/戻る
    $(document).on("click", ".Func12:not('.noevent')", function(e) {
      window.opener.closeAf226x1();
      window.close();
    });

    //====明細行動作======
    $(document).on("dblclick", "#detail .selectRow", function (e) {
      openAf222x();
    });

  });

</script>
