Greasy Fork

Greasy Fork is available in English.

Tokopedia Cetak Sekaligus Non Gold Merchant

Untuk mencetak label alamat pada Tokopedia bagi pengguna Non / Bukan Gold Merchant.

当前为 2018-04-03 提交的版本,查看 最新版本

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Greasemonkey 油猴子Violentmonkey 暴力猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Violentmonkey 暴力猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Userscripts ,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展后才能安装此脚本。

(我已经安装了用户脚本管理器,让我安装!)

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

(我已经安装了用户样式管理器,让我安装!)

// ==UserScript==
// @name         Tokopedia Cetak Sekaligus Non Gold Merchant
// @author       rendy1287
// @namespace    http://www.github.com/rendy1287
// @source       https://github.com/rendy1287/tokopedia-cetak-sekaligus
// @require      https://cdn.jsdelivr.net/jsbarcode/3.6.0/JsBarcode.all.min.js
// @version      0.08
// @description  Untuk mencetak label alamat pada Tokopedia bagi pengguna Non / Bukan Gold Merchant.
// @license      MIT License.
// @icon         https://ecs7.tokopedia.net/img/favicon.ico
// @match        https://www.tokopedia.com/myshop_order_process.pl*
// @match        https://tokopedia.com/myshop_order_process.pl*
// @include      https://www.tokopedia.com/myshop_order_process.pl*
// @include      https://tokopedia.com/myshop_order_process.pl*
// @run-at       document-end
// @require      http://greasyfork.icu/scripts/40090-default-template-tokopedia-label-print/code/Default%20Template%20Tokopedia%20Label%20Print.js?version=262929
// ==/UserScript==
//
//***************** PENGATURAN *************************************//
//
// @logotoko      URL logo toko jika kamu ingin cantumkan logo
//                isikan url image kamu, bisa upload ke image hosting
//                logo recommended size: 115x25 pixel
//
// @ekspedisi     menampilkan logo ekspedisi, isikan true jika
//                ingin menampilkan atau false jika tidak
//
// @invoice       menampilkan nomor invoice, isikan true jika
//                ingin menampilkan atau false jika tidak
//
// @fontsize      ukuran font untuk label
//
//******************************************************************//

const logotoko  = 'https://ecs7.tokopedia.net/img/logo-tokopedia-32.png';
const ekspedisi = true;
const invoice   = true;
const fontsize  = '12px';

//*****************************************************************//
//
//  SCRIPT DI BAWAH INI JANGAN DIUBAH JIKA TIDAK MENGERTI
//
//*****************************************************************//

(function() {
    'use strict';

    var btncetak  = '<style>button.t-c-s{background-color: #3a87ad; border: 1px solid #3a87ad; color: white;}' +
                'button.t-c-s:hover{background-color: #3a679d; border: 1px solid #3a679d; color: white;}</style>' +
                '<button class="btn btn-small mr-5 t-c-s">' +
                '<i class="icon-fax-alt"></i> ' + ($('html').attr('lang') == 'id' ? 'Cetak Sekaligus' : 'Print Multiple') + '</button>';

    $(btncetak).insertAfter('button.confirm-multiple');

    $('button.t-c-s').click(function()
    {
        var html = '';
        var id = '';
        var labelid = [];

        $('input.order_checkbox').each(function ()
        {
            var checked = (this.checked ? $(this).val() : '');
            id += checked;

            if (checked != '')
            {
                labelid.push($(this).parent().parent().prop('id').replace('order-', ''));
            }
        });

        if (id == '')
        {
            var message_error = tokopedia.render_message('error', tokopedia.loc('ERROR_CHOOSE_ORDER'));
            tokopedia.alert($(this).text(), message_error);
            return false;
        }

        html += '<title>Cetak Slip Alamat</title>';
        html += css;
        html += '<div class="print"><a href="javascript:window.print();"><img src="https://ecs7.tokopedia.net/img/print.png"> Cetak</a></div><div class="print_area">';

        var kanan = false;
        var x = 0;

        labelid.forEach(function (a, i)
        {
            if (x == 0)
            {
                html += '<div class="kiri">';
            }
            else if (x == 3 && kanan == false)
            {
                html += '<div class="kanan">';
                kanan = true;
                x = 0;
            }
            else if (x == 3 && kanan == true)
            {
                html += '<div class="kiri">';
                kanan = false;
                x = 0;
            }

            html += set_print_label(a);

            x++;
            if (x == 3)
            {
                html += '</div>';
            }
        });

        html += '</div></div>';

        $('<div class="cetak_sekaligus"></div>').insertBefore('footer.footer-wrapper');
        $(html).append('div.cetak_sekaligus');

        var blank = window.open('about:blank', '_blank');
        blank.document.write(html);
    });

})();

function set_print_label(id)
{
    var text             = '';
    var logokurir        = 'https://ecs7.tokopedia.net/img/kurir/logo_jne.png';

    var nama_toko        = $('a.break-word').html();
    var nama_penerima    = $('tr#order-' + id + ' td input.dest_receiver_name').val();
    var alamat_penerima  = $('tr#order-' + id + ' td input.dest_address').val();
    var telepon_penerima = /[0-9]{10,}/.exec(alamat_penerima);
        alamat_penerima  = alamat_penerima.replace(/Telp.*/, '');
    var ekspedisi        = $('tr#order-' + id + ' td input.ship_shipping_name').val();
    var kode_ekspedisi   = ekspedisi.substr(0, ekspedisi.indexOf(' '));
        ekspedisi        = '<b>' + ekspedisi.substr(0, ekspedisi.indexOf(' ')) + '</b><br>' + ekspedisi.substr(ekspedisi.indexOf(' ')+1);
        ekspedisi        = ekspedisi.replace('(', '').replace(')', '');
    var ongkir           = $('tr#order-' + id + ' td input.ship_shipping_price').val();
    var nama_pengirim    = ($('tr#order-' + id + ' td input.dropship_name').val() ? '-' : nama_toko);
    var telepon_pengirim = ($('tr#order-' + id + ' td input.dropship_telp').val() ? '' : $('tr#order-' + id + ' td input.shop_phone').val());
    var alamat_pengirim  = $('tr#order-' + id + ' td input.shop_district').val() + ', ' +
                           $('tr#order-' + id + ' td input.shop_province').val() + ', ' + $('tr#order-' + id + ' td input.shop_postal').val();
    var invoice          = $('tr#order-' + id + ' td input.order_invoice').val();
    var administrasi     = '+ Rp 0';
    var asuransi         = ($('tr#order-' + id + ' td input.order_add_price').val() == 'Rp 0' ?
							'+ Rp 0' :
							'<span style="text-decoration: line-through;">+ ' + $('tr#order-' + id + ' td input.order_add_price').val()) + '</span>';
    var logo_asuransi    = '';
    var berat            = /\(.*\)/.exec($('tr#order-' + id + ' td input.order_product_qty').val());
        berat            = berat.toString().replace('(', '').replace(')', '');
    var total_harga      = $('tr#order-' + id + ' td input.order_open_amt').val();
    var insurance_type  = $('tr#order-' + id + ' td input.insurance_type').val();
	var insurance_note  = $('tr#order-' + id + ' td input.insurance_note').val();
	var additional_fee  = $('tr#order-' + id + ' td input.additional_fee').val();
    var kode_booking     = '';

    if (kode_ekspedisi == 'JNE')
    {
        logokurir    = 'https://ecs7.tokopedia.net/img/kurir/logo_jne.png';
    }
    else if  (kode_ekspedisi == 'SiCepat')
    {
        logokurir    = 'https://ecs7.tokopedia.net/img/kurir/logo_sicepat.png';
    }
    else if  (kode_ekspedisi == 'J&T')
    {
        logokurir    = 'https://ecs7.tokopedia.net/img/kurir/logo_jnt.png';
    }
    else if  (kode_ekspedisi == 'Grab')
    {
        logokurir    = 'https://ecs7.tokopedia.net/img/kurir/logo_grab.png';
    }
    else if  (kode_ekspedisi == 'Go-Send')
    {
        logokurir    = 'https://ecs7.tokopedia.net/img/kurir/logo_gosend.png';
    }
    else if  (kode_ekspedisi == 'Ninja')
    {
        logokurir    = 'https://ecs7.tokopedia.net/img/kurir/logo_ninja.png';
    }
    else if  (kode_ekspedisi == 'Wahana')
    {
        logokurir    = 'https://ecs7.tokopedia.net/img/kurir/logo_wahana.png';
    }
    else if  (kode_ekspedisi == 'Tiki')
    {
        logokurir    = 'https://ecs7.tokopedia.net/img/kurir/logo_tiki.png';
    }
    else if  (kode_ekspedisi == 'Pos')
    {
        logokurir    = 'https://ecs7.tokopedia.net/img/kurir/logo_pos.png';
    }
    else if  (kode_ekspedisi == 'First')
    {
        logokurir    = 'https://ecs7.tokopedia.net/img/kurir/logo_first.png';
    }

    text += label;
    text = text.replace('{{logotoko}}', logotoko);
    text = text.replace('{{kode_booking}}', kode_booking);
    text = text.replace('{{logokurir}}', logokurir);
    text = text.replace('{{ekspedisi}}', ekspedisi);
    text = text.replace('{{invoice}}', invoice);
    text = text.replace('{{administrasi}}', administrasi);
    text = text.replace('{{asuransi}}', asuransi);
    text = text.replace('{{ongkir}}', ongkir);
    text = text.replace('{{berat}}', berat);
    text = text.replace('{{nama_penerima}}', nama_penerima);
    text = text.replace('{{telepon_penerima}}', telepon_penerima);
    text = text.replace('{{alamat_penerima}}', alamat_penerima);
    text = text.replace('{{nama_pengirim}}', nama_pengirim);
    text = text.replace('{{telepon_pengirim}}', telepon_pengirim);
    text = text.replace('{{alamat_pengirim}}', alamat_pengirim);

    var print_item = '';

    $('tr#order-' + id + ' td div.products').each(function ()
    {
        var label_item = '';

        var gambar_produk = $(this).find('input.product_pic').val();
        var nama_produk = $(this).find('input.product_name').val();
        var jumlah_produk = $(this).find('input.product_qty').val();
            jumlah_produk = jumlah_produk.substr(0, jumlah_produk.indexOf(' ')) + ' buah';
        var keterangan_produk = $(this).find('input.product_notes').val();
        var total_harga_barang = $(this).find('input.product_subtotal').val();

        label_item = item;
        label_item = label_item.replace('{{jumlah_produk}}', jumlah_produk);
        label_item = label_item.replace('{{nama_produk}}', nama_produk);
        label_item = label_item.replace('{{keterangan_produk}}', keterangan_produk);

        print_item += label_item;

    });

    text = text.replace('{{foreach_item}}', print_item);

    return text;


}