|
|
@@ -663,12 +663,25 @@ ProjectGLJ.prototype.updateMaterialCalc = async function (datas) {
|
|
|
updateDatas.push(unitPrice);
|
|
|
}
|
|
|
if(updateDatas.length ==0 ) return;
|
|
|
- let [unitPrices,sumMap] = this.calcAllMaterial(updateDatas);
|
|
|
+ let [unitPrices,sumMap] = this.calcAllMaterial(updateDatas, true);
|
|
|
sumMap = {"unitPrice":unitPrices};
|
|
|
$.bootstrapLoading.start();
|
|
|
let result = await ajaxPost('/glj/updateMaterialCalcTasks',sumMap);
|
|
|
this.refreshMaterialCalcCache(sumMap);
|
|
|
materialCalcObj.showDatas();
|
|
|
+ // 这里要重新设置所有运费计算的计算式(BUG #3388)
|
|
|
+ if (materialCalcObj.freightDatas && materialCalcObj.freightDatas.length > 0) {
|
|
|
+ let actionMap = {update: {}};
|
|
|
+ for (const reCode of materialCalcObj.freightDatas) {
|
|
|
+ let doc = {kmDistance: reCode.kmDistance};
|
|
|
+ doc.exp = materialCalcObj.getFreightEXP(reCode, doc, true);
|
|
|
+ actionMap.update[reCode.ID] = doc;
|
|
|
+ }
|
|
|
+ let sumMapAfter = {freight: actionMap};
|
|
|
+ let result = await ajaxPost('/glj/updateMaterialCalcTasks',sumMapAfter);
|
|
|
+ this.refreshMaterialCalcCache(sumMapAfter);
|
|
|
+ materialCalcObj.showDatas();
|
|
|
+ }
|
|
|
}catch (e){
|
|
|
console.log(e)
|
|
|
}finally {
|