netsale.Edit.js 4.2 KB
'use strict';
var $ = require('jquery'),
    common=require('../../common/common');
/*
 *	获取业务数据
 */

var ViewModel=window.ViewModel;
window.NETSALEDATA=ViewModel.data||{};


//如果是info页,所有input btn置灰
if ($('.contentpanel').data('type') == 'info') {
	$('.contentpanel').find('input').prop('disabled', true);
	$('.contentpanel').find('.btn').addClass('disabled');
}

window.GOLABDATA = {
	on: function(key, callback) {
		var that = this;
		if (!that.registerEvent) {
			that.registerEvent = {};
		}
		if (!that.registerEvent[key]) {
			that.registerEvent[key] = [];
		}
		if (that.registerEvent[key].indexOf(callback) == -1) {
			that.registerEvent[key].push(callback);
		}
	},
	fire: function(key) {
		var that = this;
		if (!this.registerEvent) return;
		if (key) {
			if (!this.registerEvent[key]) return;
			var listeners = that.registerEvent[key];
			var args = [].slice.call(arguments, 1);
			for (var i in listeners) {
				return listeners[i].apply(this, args);
			}
		} else {
			var map = {},
				args = [].slice.call(arguments, 1),
				listeners = null;

			for (var key in that.registerEvent) {
				listeners = that.registerEvent[key];
				for (var i in listeners) {
					map[key] = listeners[i].apply(this, args);
				}
			}

			console.log(map);
			return map;
		}

	}
};




//获取skn
if (NETSALEDATA && NETSALEDATA.baseProductInfo && NETSALEDATA.baseProductInfo.baseProduct) {
	$('#productSkn').val(NETSALEDATA.baseProductInfo.baseProduct.productSkn);
} else {
	common.util.__tip("SKN不存在");
}


/*加载其他模块*/
require('./partials/basic-info');
require('./partials/editor_recommend');
require('./partials/model');
require('./partials/add-info');
require('./partials/netsale-ty.js');


if ($('.contentpanel').data('type') == 'info') {
	$('.contentpanel').find('input').prop('disabled', true);
	$('.contentpanel').find('.btn').addClass('disabled');
	$('.panel-footer').remove();
	$('#edit-recommender, #edit-descriptioner').prop('contenteditable', false);

	$('#saveAllInfo').hide();
	$(".goods-img i").remove();
	$("#search-key-list").hide();
	$(".brand-list").hide();


} 

//保存完整网销信息
var e = new common.edit('#netsaleAllInfo');
$(document).on("click", "#saveAllInfo", function() {
	var data = {};
	var error = '';
	var allData = GOLABDATA.fire();

	$.each(allData, function(key, value) {
		if (typeof value == 'string') {
			console.log(value);
			error += value;
			return;
		}
		$.extend(data, value, true);
	});
//	alert(error);
	if (error != '') {
		common.util.__tip(error, 'warning');
		return false;
	} else {
		e.submit('/product/saveNetSaleAllInfo', function(option) {
			option.data = data;
			option.success = function(res) {
				res = res;
				if (res.code == '200') {
					e.$tip(res.message, function() {
						$("#modelTry-save").click();   //To Do
						history.go(-1);
					}, 'growl-success');
				} else {
					e.$tip(res.message);
				}
				return false;
			}
		});
	}

});

//类似描点跳转,描点会影响history.go(-1)
$('.floatnav').on('click', 'li', function() {

	var name = $(this).attr('name');		

	//控制隐藏缩放
	var idx= name.replace("position","");
	var idxName= "";
	if(idx >= 9){
		idxName = "position9";
	}else{
		idxName = name ;
	}
	if(parseInt(idx) >= 8){
		$('.netsale-position[name="' + idxName + '"]').parent().next().css("display","");
		$('.netsale-position[name="' + idxName + '"]').parent().find(".tooltips").find("i").removeClass("fa-plus").addClass("fa-minus");
		$('.netsale-position[name="' + idxName + '"]').parent().find(".tooltips").removeClass("maximize")
	}

	if(parseInt(idx) > 8){
			$('.netsale-position[name="position9"]').parent().next().find(".panel-body").css("display","");
			$('.netsale-position[name="position9"]').parent().next().find(".panel-footer").css("display","");
		}

	var scrollTop = $('.netsale-position[name="' + name + '"]').offset().top;
	$(window).scrollTop(scrollTop);
	return false;
});

//导航样式
$('.floatnav').on('mouseenter', function() {
	$('.floatnav').addClass('show');
}).on('mouseleave', function() {
	$('.floatnav').removeClass('show');
});
if (location.hash) {
	var hashPos = location.hash.substring(1);
	setTimeout(function() {
		$('.floatnav').find('li[data-pos="' + hashPos + '"]').trigger('click');
	}, 500);
}