在企业经营流动中,常常会遇到阶梯价,比方洽购单价随洽购量的不同而价格有所不同、产品销售价随销售量及审批权限不同价格也有所不同、业务员销售提成也会随销售量不同出现阶梯价等等利用场景。
思泉开发平台能够很灵便地跟进企业的理论需要进行配置从而达到用户需要。
上面以产品销售阶梯价为例进行阐明:
产品阶梯价: 每一种型号都有不同梯度的阶梯价,有市场价、业务价、经理价、副总价,在应用这个价格体系时,都会去判断是属于哪个数量梯度,价格会主动带进去,业务员只会带出业务员对应梯度的价格进去,经理只能看到经理价以下的价格,副总级别能力看到副总价。是有的阶梯价格都是对立在产品阶梯价根底材料里保护。
如果有产品迭代,会呈现根底型号雷同的产品,产品代码不同、规格型号雷同的迭代产品,然而对于阶梯价,新的迭代产品的阶梯价须要保护,保护频率和保护量太大了,于是通过产品同步程序上,加上依据根底型号复制产品阶梯价的解决逻辑。
输出完产品后,需通过客户、产品来主动读取价格,读取价格的优先级是客户报价 > 促销价 > 产品阶梯价,能够通过表单 js 事件来解决,解决代码局部如下:
// 数量扭转后触发获取参考价格事件
function getProdPrice() {
var qty = $(this).val(); // 数量
if (qty == null || qty == ”) {
qty = 0;
} else {
qty = parseInt(qty.replace(/,/g, ”));
}
var custId = $(‘#KHMC’).attr(‘idvalue’);
if (custId == null || custId == ”) {
return;
}
var tr = $(this).closest(‘tr’);
var prodId = $(tr).find(‘[sname=”CPMC”]’).attr(‘idvalue’);
if (prodId == null || prodId == ”) {
return;
}
var sql = ‘EXEC [UP_GET_PROD_PRICE] ‘ + prodId + ‘,’ + custId + ‘,’ + qty;
var url = ‘../siquan/Access.ashx’;
$.post(url, { action: ‘getvalue’, sql: sql}, function (data) {
debugger;
$(tr).find(‘[sname=”DBPrice”]’).val(data);
$(tr).find(‘[sname=”HSDJ”]’).val(data);
$(tr).find(‘[sname=”HJDJ”]’).val(data);
calculateMoney(tr);
});
}
// 批改含税单价事件
function changeHSDJ() {
var tr = $(this).closest(‘tr’);
calculateMoney(tr);
}
// 抉择产品之后触发事件
function afterChooseProd(prodId, textValue, ctl) {
debugger;
var tr = $(ctl).closest(‘tr’);
// 清空前面的数量价格金额
$(tr).find(‘[sname=”SL”]’).val(”);
$(tr).find(‘[sname=”DBPrice”]’).val(”);
$(tr).find(‘[sname=”HSDJ”]’).val(”);
$(tr).find(‘[sname=”XJ”]’).val(”);
// 经理价
var sql = ‘select JG from CRM_JTJ where CPMC=’ + prodId + ‘ and JTJMC=2’;
var url = ‘../siquan/Access.ashx’;
$.post(url, { action: ‘getvalue’, sql: sql}, function (data) {
$(tr).find(‘[sname=”DYJLJ”]’).attr(‘vvv’, data);
});
// 副总价
sql = ‘select JG from CRM_JTJ where CPMC=’ + prodId + ‘ and JTJMC=3’;
$.post(url, { action: ‘getvalue’, sql: sql}, function (data) {
$(tr).find(‘[sname=”DYFZJ”]’).attr(‘vvv’, data);
});
}
// 从新计算金额, 比拟价格
function calculateMoney(tr) {
var qty = $(tr).find(‘[sname=”SL”]’).val();
if (qty == null || qty == ”) {
qty = 0;
} else {
qty = parseInt(qty.replace(/,/g, ”));
}
var dj1 = $(tr).find(‘[sname=”HSDJ”]’).val();
if (dj1 == null || dj1 == ”) {
dj1 = 0;
} else {
dj1 = parseFloat(dj1.replace(/,/g, ”));
}
var vvv = “2”;
// 经理价 2
var jlj = $(tr).find(‘[sname=”DYJLJ”]’).attr(‘vvv’);
if (dj1 < jlj) {vvv = “1”};
$(tr).find(‘[sname=”DYJLJ”]’).val(vvv);
vvv = “2”;
// 副总价 3
var fzj = $(tr).find(‘[sname=”DYFZJ”]’).attr(‘vvv’);
if (dj1 < fzj) {vvv = “1”};
$(tr).find(‘[sname=”DYFZJ”]’).val(vvv);
var dj2 = $(tr).find(‘[sname=”XPDJ”]’).val();
if (dj2 == null || dj2 == ”) {
dj2 = 0;
} else {
dj2 = parseFloat(dj2.replace(/,/g, ”));
}
$(tr).find(‘[sname=”XJ”]’).val(qty * (dj1 + dj2));
}
当业务员下单时,会依据订单数量,主动带出以后阶梯的阶梯价进去作为参考价格,业务员只能看到业务员价,所以主动带出的价格最低只能是业务员价的最初一个阶梯价格,效果图如下: