fd-gulp-convert-encoding
Version:
convert file to assigned charset
124 lines (96 loc) • 3.93 kB
JavaScript
/**
* purchasingList view交互逻辑
*/
define('detail.lib.orderValidator.OrderValidator',
['jQuery', 'Class', 'lang.Log'],
function($, Class, Log) {
var log = new Log('detail.modules.gallery.Fav');
return Class({
init: function(options) {
this.onEvent = $.os.supportsTouch ? 'tap' : 'click';
this.callback = function(){};
this.setConfig(options);
},
valid: function(amount, price, validType){
var _min = this.min * 1 - 0.1,
_max = this.max * 1 + 0.1,
_amount = amount * 1,
_price = price * 1,
that = this;
if (_max < 1){
log.info('此货品已售完');
Wing.navigator.tooltip('此货品已售完');
return 11;
}
if (_amount === 0){
//订购和加入进货单都阻止等于0的输入,其余情况校验通过
if (validType !== "blur"){
log.info('订购数量必须为大于0的整数');
Wing.navigator.tooltip('订购数量必须为大于0的整数');
return 12;
}
}
if (_amount < 0){
log.info('订购数量必须为大于0的整数');
Wing.navigator.tooltip('订购数量必须为大于0的整数');
return 13;
}
if (_max < _amount){
log.info('最大可购买量为' + this.max + this.unit);
Wing.navigator.tooltip('最大可购买量为' + this.max + this.unit);
return 14;
}
// 混批逻辑
if (_min > _amount && this.isMix === 'true' && validType === 'purchase'){
if (((this.mixNumber && _amount >= this.mixNumber) || (this.mixAmount && _price >= this.mixAmount)) &&
(this.mixBegin && _amount >= this.mixBegin || !this.mixBegin)){
// 通过验证
} else {
log.info('数量或金额不满足商家混批规则');
Wing.navigator.tooltip('数量或金额不满足商家混批规则');
return 15;
}
}
//没有混批起批量影响的情况下
if (_min > _amount && !this.mixBegin && (this.isMix === 'false' || !this.isMix) && validType === 'purchase'){
log.info('最小起订量为' + this.min + this.unit);
Wing.navigator.tooltip('最小起订量为' + this.min + this.unit);
return 16;
}
// 按手购买,购买数量必须为手的倍数
if (this.wrNum && _amount % this.wrNum !== 0){
log.info('本商品按' + this.wrUnit + '批发,数量必须是' + this.wrNum + '的倍数');
Wing.navigator.tooltip('本商品按' + this.wrUnit + '批发,数量必须是' + this.wrNum + '的倍数');
return 17;
}
// 促销限购
if (this.limitCount > 0 && _amount > this.limitCount){
log.info('超出限购将不享受优惠');
Wing.navigator.tooltip('超出限购将不享受优惠');
return 18;
}
return 10; //通过验证的状态值,默认使用10
},
setMax: function(max){
this.max = max;
},
setConfig: function(options){
this.min = options.beginAmount;
this.max = options.canBookedAmount;
this.isMix = options.isSupportMix;
this.mixAmount = options.mixAmount;
this.mixNumber = options.mixNumber;
this.mixBegin = options.mixBegin;
this.unit = options.unit;
this.wrNum = options.scale;
this.wrUnit = options.sellunit;
this.isSkuOffer = options.isSKUOffer;
this.limitCount = options.limitCount;
},
setCallback: function(func){
if (typeof(func) === 'function'){
this.callback = func;
}
}
});
});