Files
cm-app-adm-dropship/public/assets/js/ds.js

307 lines
13 KiB
JavaScript

DS = { fn: {}, va: {} }
DS.fn.operateFormatter = function (value, row, index) {
var operateBtns = [
'<a class="edit operate-btn" title="Edit" data-target="#amazonItemModal" data-toggle="modal">',
'<i class="glyphicon glyphicon-edit"></i>',
'</a>',
'<a class="remove operate-btn" title="Remove">',
'<i class="glyphicon glyphicon-remove"></i>',
'</a>'
];
return operateBtns.join(' ');
}
DS.fn.getCoupangCategory = function (code) {
DS.va.selectedCoupangCategoryCode = code;
var attBox = $('.ds-item-attributes');
$.get('/ds/coupang/category/' + code, {}, function (res) {
if (res.code == 200) {
console.log(res.data.data)
var data = res.data.data;
DS.va.category = data;
var select = $('.ds-coupang-notification select');
select.find('option:gt(0)').remove()
var option = select.find('option').eq(0)
$.map(data.noticeCategories, function (v, k) {
var opt = option.clone()
opt.text(v.noticeCategoryName)
opt.val(k)
select.append(opt)
})
// select = $('.ds-coupang-attributes select');
// select.find('option:gt(0)').remove()
// var option = select.find('option').eq(0)
// $.map(data.attributes, function(v, k){
// var opt = option.clone()
// opt.text(v.noticeCategoryName)
// opt.val(k)
// select.append(opt)
// })
var tbody = $('.ds-coupang-attribute-names tbody');
tbody.find('tr:gt(0)').remove();
var trSample = tbody.find('tr').eq(0).clone();
for (var i in DS.va.category.attributes) {
var name = DS.va.category.attributes[i].attributeTypeName;
var tr = trSample.clone()
tr.find('td').eq(0).text(name)
tbody.append(tr)
tr.show()
}
}
}, 'json')
}
DS.fn.amazonTableOperateEvents = {
'click .edit': function (e, value, row, index) {
var m = $('#amazonItemModal')
var editor = tinymce.get('amazonProductDetail'); // use your own editor id here - equals the id of your textarea
editor.setContent(row.detail == null ? row.spec : row.detail + row.spec);
m.find('.ds-amz-title').val(row.title)
m.find('.ds-amz-asin').val(row.asin)
m.find('.ds-amz-price').val(row.price)
m.find('.ds-amz-category').val(row.category)
},
'click .remove': function (e, value, row, index) {
if (confirm('삭제할까요?')) {
// $.get(location.href + '/remove/' + value, {}, function (d) {
// if (d.ok) {
// $('.ecms-table').bootstrapTable('refresh')
// }
// }, 'json');
}
}
}
DS.fn.getCoupangCategories = function () {
$.get('/ds/coupang/categories', {}, function (res) {
if (res.code == 200) {
var select = $('.ds-coupang-category-select');
select.find('option:gt(0)').remove();
var option = select.children().eq(0).clone();
for (var k in res.data) {
var opt = option.clone();
opt.text(res.data[k].path)
opt.attr('value', res.data[k].code)
select.append(opt)
}
select.select2({ minimumInputLength: 1, width: '100%' }).on('change', function (e) {
DS.fn.getCoupangCategory(this.value)
});
}
}, 'json')
}
DS.fn.AmazonItemImageFormatter = function (value, row, index) {
return value ? '<img src="' + value + '" width="70">' : 'No image';
}
DS.fn.AmazonItemAsinFormatter = function (value, row, index) {
return '<a href="" class="ds-asin-format">' + row.asin + '</a>';
}
DS.fn.AmazonItemTitleFormatter = function (value, row, index) {
return value ? '<a href="https://www.amazon.com/dp/' + row.asin + '" target="_blank">' + row.title + '</a>' : 'No Title';
}
DS.fn.AmazonItemCategoryFormatter = function (value, row, index) {
return value ? '<a href="' + value + '" target="_blank">' + row.category + '</a>' : 'No Category';
}
DS.fn.AmazonItemVideoFormatter = function (value, row, index) {
return value ? '<a href="' + value + '" target="_blank">' + row.video + '</a>' : 'No Video';
}
DS.fn.addItem = function (asinInput) {
$('#show-table').bootstrapTable('showLoading')
$.get('/ds/amazon/add_asin/' + asinInput.value, {}, function (res) {
if (res.code == 200) {
// alert('Saved!')
asinInput.value = '';
} else {
alert(res.message)
}
asinInput.readOnly = false;
$('#show-table').bootstrapTable('refresh')
})
}
DS.fn.getCoupangCategoryNotification = function () {
var notices = [];
var noticeCategoryName = DS.va.category.noticeCategories[$('.ds-coupang-notification select').val()].noticeCategoryName
var noticeRows = $('.ds-coupang-notification-names tbody tr:gt(0)');
var noticeCategoryDetailNames = DS.va.category.noticeCategories[$('.ds-coupang-notification select').val()].noticeCategoryDetailNames;
for (var i = 0; i < noticeRows.length; i++) {
if(noticeRows.eq(i).find('td').eq(0).text() != 'A/S 책임자와 전화번호') {
notices.push({
"noticeCategoryName": noticeCategoryName,
"noticeCategoryDetailName": noticeRows.eq(i).find('td').eq(0).text(),
"content": noticeRows.eq(i).find('td:gt(0) input').val() ? noticeRows.eq(i).find('td:gt(0) input').val() : "상세정보 별도 표기"
})
}
}
console.log(notices)
return notices;
}
DS.fn.getCoupangCategoryAttribute = function () {
var attributes = [];
var attributeRows = $('.ds-coupang-attribute-names tbody tr:gt(0)');
for (var i = 0; i < attributeRows.length; i++) {
attributes.push({
"attributeTypeName": attributeRows.eq(i).find('td').eq(0).text(),
"attributeValueName": attributeRows.eq(i).find('td:gt(0) input').val() ? attributeRows.eq(i).find('td:gt(0) input').val() : "상세정보 별도 표기"
})
}
console.log(attributes)
return attributes;
}
$(function () {
$('.ds-send-newitem-coupang').on('click', function (e) {
var item = $('#show-table').bootstrapTable('getSelections')[0];
var price = Math.ceil($('.ds-amz-price').val().substring(1).trim()) * 1200;
price.substring(-1) != '0'
var params = {
"displayCategoryCode": DS.va.selectedCoupangCategoryCode,
"sellerProductName": item.title,
"saleStartedAt": "2019-10-11T00:00:00",
"saleEndedAt": "2099-01-01T23:59:59",
"displayProductName": item.title,
"brand": item.title.split(' ')[0],
"generalProductName": $('.ds-coupang-category-selectn option:selected').text().split(' > ')[-1],
"productGroup": $('.ds-coupang-category-selectn option:selected').text().split(' > ')[-2],
"items": [
{
"itemName": item.title,
"originalPrice": price,
"salePrice": price * 2.5,
"maximumBuyCount": "20",
"maximumBuyForPerson": "0",
"outboundShippingTimeDay": "7",
"maximumBuyForPersonPeriod": "1",
"unitCount": 0,
"adultOnly": "EVERYONE",
"taxType": "TAX",
"parallelImported": "NOT_PARALLEL_IMPORTED",
"overseasPurchased": "NOT_OVERSEAS_PURCHASED",
"pccNeeded": "false",
"externalVendorSku": "",
"barcode": "",
"emptyBarcode": true,
"emptyBarcodeReason": "COUPANG",
"modelNo": "",
"extraProperties": {},
"certifications": [
{
"certificationType": "NOT_REQUIRED",
"certificationCode": ""
}
],
"searchTags": [],
"images": [
// {
// "imageOrder": 0,
// "imageType": "REPRESENTATION",
// "cdnPath": "vendor_inventory/images/2018/11/29/14/5/0bd272e6-94f6-4759-9c4a-169c14c30f71.jpg",
// "vendorPath": "0bd272e6-94f6-4759-9c4a-169c14c30f71.jpg"
// }
{
"imageOrder": 0,
"imageType": "REPRESENTATION",
"vendorPath": "http://image11.coupangcdn.com/image/product/image/vendoritem/2017/02/21/3000169918/34b79649-d625-4f49-a260-b78bf7a573a8.jpg"
},
// {
// "imageOrder": 1,
// "imageType": "DETAIL",
// "vendorPath": "http://image11.coupangcdn.com/image/product/image/vendoritem/2017/02/21/3000169918/34b79649-d625-4f49-a260-b78bf7a573a8.jpg"
// },
// {
// "imageOrder": 2,
// "imageType": "DETAIL",
// "vendorPath": "http://image11.coupangcdn.com/image/product/image/vendoritem/2018/06/28/3000169918/5716aa61-70bd-47cd-8f3d-f3d49e7f496d.jpg"
// }
],
"notices": DS.fn.getCoupangCategoryNotification(),
"attributes": DS.fn.getCoupangCategoryAttribute(),
"contents": [
{
"contentsType": "TEXT",
"contentDetails": [
{
"content": $(tinyMCE.activeEditor.getContent()).children().html(),
"detailType": "TEXT"
}
]
}
],
"offerCondition": "NEW",
"offerDescription": ""
}
],
"manufacture": item.title.split(' ')[0]
}
$.post('/ds/coupang/sendnew', params, function (res) {
if (res.code == 200) {
if (res.data.code == 'ERROR') {
alert(res.data.message)
}else {
alert("쿠팡 상품전송 등록완료")
}
}
}, 'json')
})
$('.ds-coupang-notification select').on('change', function (e) {
var tbody = $('.ds-coupang-notification-names tbody');
tbody.find('tr:gt(0)').remove();
var trSample = tbody.find('tr').eq(0).clone();
for (var i in DS.va.category.noticeCategories[this.value].noticeCategoryDetailNames) {
var name = DS.va.category.noticeCategories[this.value].noticeCategoryDetailNames[i].noticeCategoryDetailName;
var tr = trSample.clone()
tr.find('td').eq(0).text(name)
tbody.append(tr)
tr.show()
}
})
DS.fn.getCoupangCategories();
$('.input-daterange input').each(function () {
$(this).datepicker({ format: 'yyyy-mm-dd' });
});
$('.ds-input-asin').on('keydown', function (e) {
if (e.keyCode == 13) {
this.readOnly = true;
DS.fn.addItem(this)
}
})
$('.ds-search-btn').on('click', function (e) {
var options = SHOW.node('#show-table').bootstrapTable('getOptions');
options.queryParams = function (a) {
var params = {
'keyword': SHOW.node('input[name=keyword]').val(),
'app': $('.app-select').val(),
'category_type': $('.category-type-select').val()
}
if (SHOW.node('.video-list-app-select').length) {
if (SHOW.node('.video-list-app-select').val()) {
params.appid = SHOW.node('.video-list-app-select').val();
}
}
if (SHOW.node('.video-list-category-select').length) {
if (SHOW.node('.video-list-category-select').last().val()) {
params.category = SHOW.node('.video-list-category-select').last().val();
}
}
return $.extend(a, params)
}
SHOW.node('#show-table').bootstrapTable('destroy').bootstrapTable(options)
})
})