ニトリネットのオーダー詳細情報を要約して表示するJavaScript

ニトリネットのオーダー詳細情報の情報をスクロールせずに取得するJavaScriptを書いた。

www.nitori-net.jp

consoleから実行すると画像のようにJSONを書き込んだtextarea要素をページトップに挿入する。

f:id:wifeofvillon:20180811164212p:plain

usage

  1. コードをコピペする
  2. ブラウザの開発者ツールのconsoleにコピペして実行する

自分で使う分にはJSON形式で取れればよかったので連想配列JSON形式で吐いてるだけなんだけど、TSVとかにパースするとそのままGoogleスプレッドシートとかに貼れて便利だと思う。

code

{
  let data = {
    date:   '1970/01/01',
    count:  0,
    items:  [],
    price:  0,
    tax:    0
  };

  // 日付
  data.date = $('.dispOrderInfo > p:eq(1)').text().match(/[0-9]{4}\/[0-9]{2}\/[0-9]{2}/)[0];

  // 個数
  data.count = $('.item_area').size();

  // アイテム詳細
  for(var i = 0; i < data.count; i++){
    let item = {
      title: '', count: 1, price: 0
    };

    // アイテム名
    item.title = $(`.item_area:eq(${i}) .item_spec_details > a`).text();

    // 単価(税抜)
    item.price = $(`.item_area:eq(${i}) .item_info_area .order_item_info:eq(0) > dl:eq(0) .price`).text().replace(/(円|,|\s)/g,'');

    // 個数
    item.count = $(`.item_area:eq(${i}) .item_info_area .order_item_info:eq(0) > dl:eq(1) .item-quantity`).text().replace(/\s+/g,'');

    data.items.push(item);
  }

  // 商品金額合計(税別)
  data.price = $('#total_figures_totalProductPrice').text().replace(/[円|,|\s]+/g,'');

  // 消費税
  data.tax = $('#total_figures_tax').text().replace(/[円|,|\s]+/g,'');

  // JSON書き出し
  $('.main_content').prepend(`<textarea style="width:800px; height:128px;">${JSON.stringify(data)}</textarea>`)
}

TL;DR

引っ越しに伴い大量の注文をしたため、それを別帳簿に写すときにスクロールがだるいという動機で書きました。
for文の書き方を忘れたり正規表現の書き方を忘れたりしていたので普通にコピペした方が速かったなと思いました。
ニトリネットがjQueryを使っているのでそれを使用しています。
もしニトリネット担当者の方がこの記事を見たら注文データのCSVダウンロード機能をつけてもらえると最高だなと思います。