From 261c2693a65841d47fb2bc69da811ddda86da2fe Mon Sep 17 00:00:00 2001
From: duhe <226547893@qq.com>
Date: 星期四, 10 七月 2025 15:20:08 +0800
Subject: [PATCH] 销售订单:子表金额计算优化

---
 WebTM/views/销售管理/销售订单/Add_Edit_Xs_SeOrderBillList.html |  313 +++++++++++++++++++++++----------------------------
 1 files changed, 143 insertions(+), 170 deletions(-)

diff --git "a/WebTM/views/\351\224\200\345\224\256\347\256\241\347\220\206/\351\224\200\345\224\256\350\256\242\345\215\225/Add_Edit_Xs_SeOrderBillList.html" "b/WebTM/views/\351\224\200\345\224\256\347\256\241\347\220\206/\351\224\200\345\224\256\350\256\242\345\215\225/Add_Edit_Xs_SeOrderBillList.html"
index d27af65..9ef0913 100644
--- "a/WebTM/views/\351\224\200\345\224\256\347\256\241\347\220\206/\351\224\200\345\224\256\350\256\242\345\215\225/Add_Edit_Xs_SeOrderBillList.html"
+++ "b/WebTM/views/\351\224\200\345\224\256\347\256\241\347\220\206/\351\224\200\345\224\256\350\256\242\345\215\225/Add_Edit_Xs_SeOrderBillList.html"
@@ -894,23 +894,21 @@
 
 
                         //鏁版嵁鏍¢獙鍚堟牸锛岄噸绠楄褰�
-                        var HQty = value * 1;                           //鏁伴噺
-                        var HPrice = obj.data.HPrice * 1;               //鍗曚环
-                        var HTaxRate = obj.data.HTaxRate * 0.01;           //绋庣巼
-                        /*var HDiscountRate = obj.data.HDiscountRate * 1; //鎶樻墸鐜�*/
-                        var HTaxPrice = HPrice * (1 + HTaxRate);        //鍚◣鍗曚环=鍗曚环*(1+绋庣巼)
-                        /*var HRelTaxPrice = HTaxPrice * HDiscountRate;   //瀹為檯鍚◣鍗曚环=鍚◣鍗曚环*鎶樻墸鐜�*/
-                        //鎶樻墸棰� = 鍚◣鍗曚环 * (1 - 鎶樻墸鐜�) * 鏁伴噺
-                        var HMoney = HQty * HPrice;                     //閲戦=鏁伴噺*鍗曚环
-                        var HTaxMoney = HMoney * HTaxRate;              //绋庨=閲戦*绋庣巼
-                        var HlineTotal = HMoney + HTaxMoney;            //浠风◣鍚堣=閲戦+绋庨
-
-                        //鏁板瓧绮惧害
+                        var HQty = value * 1;                                   //鏁伴噺
                         HQty = Number(HQty.toFixed(HQtyDec));
+                        var HPrice = obj.data.HPrice * 1;                       //鍗曚环
                         HPrice = Number(HPrice.toFixed(HPriceDec));
-                        HMoney = Number(HMoney.toFixed(HMoneyDec));
-                        HlineTotal = Number(HlineTotal.toFixed(HMoneyDec));
+                        var HTaxRate = obj.data.HTaxRate * 0.01;                //绋庣巼
+                        /*var HDiscountRate = obj.data.HDiscountRate * 1;       //鎶樻墸鐜�*/
+                        var HTaxPrice = obj.data.HTaxPrice * 1;                 //鍚◣鍗曚环=鍗曚环*(1+绋庣巼)
                         HTaxPrice = Number(HPrice.toFixed(HPriceDec));
+                        /*var HRelTaxPrice = HTaxPrice * HDiscountRate;         //瀹為檯鍚◣鍗曚环=鍚◣鍗曚环*鎶樻墸鐜�*/
+                        //鎶樻墸棰� = 鍚◣鍗曚环 * (1 - 鎶樻墸鐜�) * 鏁伴噺
+                        var HMoney = HQty * HPrice;                             //閲戦=鏁伴噺*鍗曚环
+                        HMoney = Number(HMoney.toFixed(HMoneyDec));
+                        var HTaxMoney = HMoney * HTaxRate;                      //绋庨=閲戦*绋庣巼
+                        var HlineTotal = HQty * HTaxPrice;                      //浠风◣鍚堣=鏁伴噺*鍚◣鍗曚环
+                        HlineTotal = Number(HlineTotal.toFixed(HMoneyDec));
 
                         //鍚屾鏇存柊琛ㄦ牸鍜岀紦瀛樺搴旂殑鍊�
                         obj.update({
@@ -977,24 +975,23 @@
                         }
 
                         //鏁版嵁鏍¢獙鍚堟牸锛岄噸绠楄褰�
-                        var HQty = obj.data.HQty * 1;                   //鏁伴噺
-                        var HPrice = value * 1;                         //鍗曚环
-                        var HTaxRate = obj.data.HTaxRate * 0.01;           //绋庣巼
-                        /*var HDiscountRate = obj.data.HDiscountRate * 1; //鎶樻墸鐜�*/
-                        var HTaxPrice = HPrice * (1 + HTaxRate);        //鍚◣鍗曚环=鍗曚环*(1+绋庣巼)
-                        /*var HRelTaxPrice = HTaxPrice * HDiscountRate;   //瀹為檯鍚◣鍗曚环=鍚◣鍗曚环*鎶樻墸鐜�*/
+                        var HQty = obj.data.HQty * 1;                           //鏁伴噺
+                        HQty = Number(HQty.toFixed(HQtyDec));
+                        var HPrice = value * 1;                                 //鍗曚环
+                        HPrice = Number(HPrice.toFixed(HPriceDec));
+                        var HTaxRate = obj.data.HTaxRate * 0.01;                //绋庣巼
+                        /*var HDiscountRate = obj.data.HDiscountRate * 1;       //鎶樻墸鐜�*/
+                        var HTaxPrice = HPrice * (1 + HTaxRate);                 //鍚◣鍗曚环=鍗曚环*(1+绋庣巼)
+                        HTaxPrice = Number(HTaxPrice.toFixed(HPriceDec));
+                        /*var HRelTaxPrice = HTaxPrice * HDiscountRate;         //瀹為檯鍚◣鍗曚环=鍚◣鍗曚环*鎶樻墸鐜�*/
                         //鎶樻墸棰� = 鍚◣鍗曚环 * (1 - 鎶樻墸鐜�) * 鏁伴噺
-                        var HMoney = HQty * HPrice;                     //閲戦=鏁伴噺*鍗曚环
-                        var HTaxMoney = HMoney * HTaxRate;              //绋庨=閲戦*绋庣巼
-                        var HlineTotal = HMoney + HTaxMoney;            //浠风◣鍚堣=閲戦+绋庨
+                        var HMoney = HQty * HPrice;                             //閲戦=鏁伴噺*鍗曚环
+                        HMoney = Number(HMoney.toFixed(HMoneyDec));
+                        var HTaxMoney = HMoney * HTaxRate;                      //绋庨=閲戦*绋庣巼
+                        var HlineTotal = HQty * HTaxPrice;                      //浠风◣鍚堣=鏁伴噺*鍚◣鍗曚环
+                        HlineTotal = Number(HlineTotal.toFixed(HMoneyDec));
 
                         //鏁板瓧绮惧害
-                        HQty = Number(HQty.toFixed(HQtyDec));
-                        HPrice = Number(HPrice.toFixed(HPriceDec));
-                        HMoney = Number(HMoney.toFixed(HMoneyDec));
-                        HlineTotal = Number(HlineTotal.toFixed(HMoneyDec));
-                        HTaxPrice = Number(HTaxPrice.toFixed(HPriceDec));
-
                         //鍚屾鏇存柊琛ㄦ牸鍜岀紦瀛樺搴旂殑鍊�
                         obj.update({
                             HQty: HQty
@@ -1029,25 +1026,22 @@
                             return;
                         }
 
-
                         //鏁版嵁鏍¢獙鍚堟牸锛岄噸绠楄褰�
-                        var HQty = obj.data.HQty * 1;                   //鏁伴噺
-                        var HPrice = obj.data.HPrice * 1;               //鍗曚环
-                        var HTaxRate = value * 0.01;                       //绋庣巼
-                        /*var HDiscountRate = obj.data.HDiscountRate * 1; //鎶樻墸鐜�*/
-                        var HTaxPrice = HPrice * (1 + HTaxRate);        //鍚◣鍗曚环=鍗曚环*(1+绋庣巼)
-                        /*var HRelTaxPrice = HTaxPrice * HDiscountRate;   //瀹為檯鍚◣鍗曚环=鍚◣鍗曚环*鎶樻墸鐜�*/
-                        //鎶樻墸棰� = 鍚◣鍗曚环 * (1 - 鎶樻墸鐜�) * 鏁伴噺
-                        var HMoney = HQty * HPrice;                     //閲戦=鏁伴噺*鍗曚环
-                        var HTaxMoney = HMoney * HTaxRate;              //绋庨=閲戦*绋庣巼
-                        var HlineTotal = HMoney + HTaxMoney;            //浠风◣鍚堣=閲戦+绋庨
-
-                        //鏁板瓧绮惧害
+                        var HQty = obj.data.HQty * 1;                           //鏁伴噺
                         HQty = Number(HQty.toFixed(HQtyDec));
-                        HPrice = Number(HPrice.toFixed(HPriceDec));
-                        HMoney = Number(HMoney.toFixed(HMoneyDec));
-                        HlineTotal = Number(HlineTotal.toFixed(HMoneyDec));
+                        var HTaxRate = value * 0.01;                            //绋庣巼
+                        var HTaxPrice = obj.data.HTaxPrice * 1;                 //鍚◣鍗曚环
                         HTaxPrice = Number(HTaxPrice.toFixed(HPriceDec));
+                        var HPrice = HTaxPrice / (1 + HTaxRate);                //鍗曚环
+                        HPrice = Number(HPrice.toFixed(HPriceDec));
+                        /*var HDiscountRate = obj.data.HDiscountRate * 1;       //鎶樻墸鐜�*/
+                        /*var HRelTaxPrice = HTaxPrice * HDiscountRate;         //瀹為檯鍚◣鍗曚环=鍚◣鍗曚环*鎶樻墸鐜�*/
+                        //鎶樻墸棰� = 鍚◣鍗曚环 * (1 - 鎶樻墸鐜�) * 鏁伴噺
+                        var HMoney = HQty * HPrice;                             //閲戦=鏁伴噺*鍗曚环
+                        HMoney = Number(HMoney.toFixed(HMoneyDec));
+                        var HTaxMoney = HMoney * HTaxRate;                      //绋庨=閲戦*绋庣巼
+                        var HlineTotal = HQty * HTaxPrice;                      //浠风◣鍚堣=鏁伴噺*鍚◣鍗曚环
+                        HlineTotal = Number(HlineTotal.toFixed(HMoneyDec));
 
                         //鍚屾鏇存柊琛ㄦ牸鍜岀紦瀛樺搴旂殑鍊�
                         obj.update({
@@ -1113,27 +1107,23 @@
                             }
                         }
                         //鏁版嵁鏍¢獙鍚堟牸锛岄噸绠楄褰�
-                        var HQty = obj.data.HQty * 1;                                   //鏁伴噺
-                        var HTaxRate = obj.data.HTaxRate * 0.01;                        //绋庣巼
-                        var HTaxPrice = value * 1;                                      //鍚◣鍗曚环
-                        var HPrice = HTaxPrice / (1 + HTaxRate);                        //鍗曚环 = 鍚◣鍗曚环/(1+绋庣巼)
-                        /*var HDiscountRate = obj.data.HDiscountRate * 1; //鎶樻墸鐜�*/
-
-                        /*var HRelTaxPrice = HTaxPrice * HDiscountRate;   //瀹為檯鍚◣鍗曚环=鍚◣鍗曚环*鎶樻墸鐜�*/
+                        var HQty = obj.data.HQty * 1;                           //鏁伴噺
+                        HQty = Number(HQty.toFixed(HQtyDec));
+                        var HTaxRate = obj.data.HTaxRate * 0.01;                //绋庣巼
+                        var HTaxPrice = obj.data.HTaxPrice * 1;                 //鍚◣鍗曚环
+                        HTaxPrice = Number(HTaxPrice.toFixed(HPriceDec));
+                        var HPrice = HTaxPrice / (1 + HTaxRate);                //鍗曚环
+                        HPrice = Number(HPrice.toFixed(HPriceDec));
+                        /*var HDiscountRate = obj.data.HDiscountRate * 1;       //鎶樻墸鐜�*/
+                        /*var HRelTaxPrice = HTaxPrice * HDiscountRate;         //瀹為檯鍚◣鍗曚环=鍚◣鍗曚环*鎶樻墸鐜�*/
                         //鎶樻墸棰� = 鍚◣鍗曚环 * (1 - 鎶樻墸鐜�) * 鏁伴噺
-                        var HMoney = HQty * HPrice;                                     //閲戦=鏁伴噺*鍗曚环
-                        //var HTaxMoney = HMoney * HTaxRate;                            //绋庨=閲戦*绋庣巼
-                        //var HlineTotal = HMoney + HTaxMoney;                          //浠风◣鍚堣=閲戦+绋庨
-                        var HlineTotal = HQty * HTaxPrice;                              //浠风◣鍚堣=鏁伴噺*鍚◣鍗曚环
-                        var HTaxMoney = HlineTotal - HMoney;
+                        var HMoney = HQty * HPrice;                             //閲戦=鏁伴噺*鍗曚环
+                        HMoney = Number(HMoney.toFixed(HMoneyDec));
+                        var HTaxMoney = HMoney * HTaxRate;                      //绋庨=閲戦*绋庣巼
+                        var HlineTotal = HQty * HTaxPrice;                      //浠风◣鍚堣=鏁伴噺*鍚◣鍗曚环
+                        HlineTotal = Number(HlineTotal.toFixed(HMoneyDec));
 
                         //鏁板瓧绮惧害
-                        HQty = Number(HQty.toFixed(HQtyDec));
-                        HPrice = Number(HPrice.toFixed(HPriceDec));
-                        HMoney = Number(HMoney.toFixed(HMoneyDec));
-                        HlineTotal = Number(HlineTotal.toFixed(HMoneyDec));
-                        HTaxPrice = Number(HTaxPrice.toFixed(HPriceDec));
-
                         //鍚屾鏇存柊琛ㄦ牸鍜岀紦瀛樺搴旂殑鍊�
                         obj.update({
                             HQty: HQty
@@ -2942,23 +2932,23 @@
 
                                         //鏁版嵁鏍¢獙鍚堟牸锛岄噸绠楄褰�
                                         var HQty = option.data[rowIndex + i].HQty * 1;                  //鏁伴噺
-                                        var HPrice = option.data[rowIndex + i].HPrice * 1;              //鍗曚环
+                                        HQty = Number(HQty.toFixed(HQtyDec));
+                                        var HTaxPrice = option.data[rowIndex + i].HTaxPrice*1;          //鍚◣鍗曚环=鍗曚环*(1+绋庣巼)
+                                        HTaxPrice = Number(HTaxPrice.toFixed(HPriceDec));
                                         var HTaxRate = value * 0.01;                                //绋庣巼
-                                        /*var HDiscountRate = obj.data.HDiscountRate * 1;           //鎶樻墸鐜�*/
-                                        var HTaxPrice = HPrice * (1 + HTaxRate);                    //鍚◣鍗曚环=鍗曚环*(1+绋庣巼)
+                                        var HPrice = HTaxPrice / (1 + HTaxRate);                    //鍗曚环
+                                        HPrice = Number(HPrice.toFixed(HPriceDec));
+                                        
                                         /*var HRelTaxPrice = HTaxPrice * HDiscountRate;             //瀹為檯鍚◣鍗曚环=鍚◣鍗曚环*鎶樻墸鐜�*/
                                         //鎶樻墸棰� = 鍚◣鍗曚环 * (1 - 鎶樻墸鐜�) * 鏁伴噺
                                         var HMoney = HQty * HPrice;                                 //閲戦=鏁伴噺*鍗曚环
-                                        var HTaxMoney = HMoney * HTaxRate;                          //绋庨=閲戦*绋庣巼
-                                        var HlineTotal = HMoney + HTaxMoney;                        //浠风◣鍚堣=閲戦+绋庨
-                                        //鏁板瓧绮惧害
-                                        HQty = Number(HQty.toFixed(HQtyDec));
-                                        HPrice = Number(HPrice.toFixed(HPriceDec));
                                         HMoney = Number(HMoney.toFixed(HMoneyDec));
+                                        var HTaxMoney = HMoney * HTaxRate;                          //绋庨=閲戦*绋庣巼
                                         HTaxMoney = Number(HTaxMoney.toFixed(HMoneyDec));
+                                        var HlineTotal = HQty * HTaxPrice;                        //浠风◣鍚堣=閲戦+绋庨
                                         HlineTotal = Number(HlineTotal.toFixed(HMoneyDec));
-                                        HTaxPrice = Number(HTaxPrice.toFixed(HPriceDec));
-
+                                        //鏁板瓧绮惧害
+                                        
                                         option.data[rowIndex + i].HMaterID = resultData.HItemID;
                                         option.data[rowIndex + i].鐗╂枡浠g爜 = resultData.鐗╂枡浠g爜;
                                         option.data[rowIndex + i].鐗╂枡鍚嶇О = resultData.鐗╂枡鍚嶇О;
@@ -2999,20 +2989,21 @@
                                             var HMoneyDec = (Dec["HMoneyDec"] == null || Dec["HMoneyDec"] == 0) ? 2 : Dec["HMoneyDec"];  //閲戦绮惧害
                                             //鏁版嵁鏍¢獙鍚堟牸锛岄噸绠楄褰�
                                             var HQty = obj.data.HQty * 1;                           //鏁伴噺
-                                            var HPrice = obj.data.HPrice * 1;               //鍗曚环
-                                            var HTaxRate = value * 0.01;           //绋庣巼
-                                            var HTaxPrice = HPrice * (1 + HTaxRate);        //鍚◣鍗曚环=鍗曚环*(1+绋庣巼)
+                                            HQty = Number(HQty.toFixed(HQtyDec));
+                                            var HTaxRate = value * 0.01;                            //绋庣巼
+                                            var HTaxPrice = obj.data.HTaxPrice * 1;                 //鍚◣鍗曚环=鍗曚环*(1+绋庣巼)
+                                            HTaxPrice = Number(HPrice.toFixed(HPriceDec));
+                                            var HPrice = HTaxPrice / (1 + HTaxRate);                //鍗曚环
+                                            HPrice = Number(HPrice.toFixed(HPriceDec));
+                                            
+                                            
                                             var HMoney = HQty * HPrice;                     //閲戦=鏁伴噺*鍗曚环
+                                            HMoney = Number(HMoney.toFixed(HMoneyDec));
                                             var HTaxMoney = HMoney * HTaxRate;              //绋庨=閲戦*绋庣巼
-                                            var HlineTotal = HMoney + HTaxMoney;            //浠风◣鍚堣=閲戦+绋庨
+                                            var HlineTotal = HQty * HTaxPrice;            //浠风◣鍚堣=閲戦+绋庨
+                                            HlineTotal = Number(HlineTotal.toFixed(HMoneyDec));
 
                                             //鏁板瓧绮惧害
-                                            HQty = Number(HQty.toFixed(HQtyDec));
-                                            HPrice = Number(HPrice.toFixed(HPriceDec));
-                                            HMoney = Number(HMoney.toFixed(HMoneyDec));
-                                            HlineTotal = Number(HlineTotal.toFixed(HMoneyDec));
-                                            HTaxPrice = Number(HPrice.toFixed(HPriceDec));
-
                                             //鍚屾鏇存柊琛ㄦ牸鍜岀紦瀛樺搴旂殑鍊�
                                             obj.update({
                                                 HQty: HQty
@@ -3194,24 +3185,21 @@
                             for (var i = rowIndex * 1; i < option.data.length; i++) {
                                 //鏁版嵁鏍¢獙鍚堟牸锛岄噸绠楄褰�
                                 var HQty = value * 1;                           //鏁伴噺
-                                var HPrice = option.data[i].HPrice * 1;               //鍗曚环
-                                var HTaxRate = option.data[i].HTaxRate * 0.01;           //绋庣巼
-                                /*var HDiscountRate = option.data[i].HDiscountRate * 1; //鎶樻墸鐜�*/
-                                var HTaxPrice = HPrice * (1 + HTaxRate);        //鍚◣鍗曚环=鍗曚环*(1+绋庣巼)
-                                /*var HRelTaxPrice = HTaxPrice * HDiscountRate;   //瀹為檯鍚◣鍗曚环=鍚◣鍗曚环*鎶樻墸鐜�*/
-                                //鎶樻墸棰� = 鍚◣鍗曚环 * (1 - 鎶樻墸鐜�) * 鏁伴噺
-                                var HMoney = HQty * HPrice;                     //閲戦=鏁伴噺*鍗曚环
-                                var HTaxMoney = HMoney * HTaxRate;              //绋庨=閲戦*绋庣巼
-                                var HlineTotal = HMoney + HTaxMoney;            //浠风◣鍚堣=閲戦+绋庨
-
-                                //璁剧疆鏁版嵁灏忔暟浣嶆暟
                                 HQty = dealDoubleToFixed(HQty, 1);
-                                HPrice = dealDoubleToFixed(HPrice, 3);
+                                var HTaxRate = option.data[i].HTaxRate * 0.01;           //绋庣巼
                                 HTaxRate = HTaxRate;
+                                var HTaxPrice = option.data[i].HTaxPrice * 1;        //鍚◣鍗曚环=鍗曚环*(1+绋庣巼)
                                 HTaxPrice = dealDoubleToFixed(HTaxPrice, 3);
+                                var HPrice = HTaxPrice / (1 + HTaxRate);               //鍗曚环
+                                HPrice = dealDoubleToFixed(HPrice, 3);
+                                var HMoney = HQty * HPrice;                     //閲戦=鏁伴噺*鍗曚环
                                 HMoney = dealDoubleToFixed(HMoney, 2);
+                                var HTaxMoney = HMoney * HTaxRate;              //绋庨=閲戦*绋庣巼
+                                var HlineTotal = HQty * HTaxPrice;            //浠风◣鍚堣=閲戦+绋庨
                                 HlineTotal = dealDoubleToFixed(HlineTotal, 2);
 
+                                //璁剧疆鏁版嵁灏忔暟浣嶆暟
+                                
                                 //鍚屾鏇存柊琛ㄦ牸鍜岀紦瀛樺搴旂殑鍊�
                                 option.data[i].HQty = HQty;
                                 option.data[i].HPrice = HPrice;
@@ -3279,24 +3267,23 @@
                             for (var i = rowIndex * 1; i < option.data.length; i++) {
                                 //鏁版嵁鏍¢獙鍚堟牸锛岄噸绠楄褰�
                                 var HQty = option.data[i].HQty * 1;                           //鏁伴噺
+                                HQty = dealDoubleToFixed(HQty, 1);
                                 var HPrice = value * 1;               //鍗曚环
+                                HPrice = dealDoubleToFixed(HPrice, 3);
                                 var HTaxRate = option.data[i].HTaxRate * 0.01;           //绋庣巼
+                                HTaxRate = HTaxRate;
                                 /*var HDiscountRate = option.data[i].HDiscountRate * 1; //鎶樻墸鐜�*/
                                 var HTaxPrice = HPrice * (1 + HTaxRate);        //鍚◣鍗曚环=鍗曚环*(1+绋庣巼)
+                                HTaxPrice = dealDoubleToFixed(HTaxPrice, 3);
                                 /*var HRelTaxPrice = HTaxPrice * HDiscountRate;   //瀹為檯鍚◣鍗曚环=鍚◣鍗曚环*鎶樻墸鐜�*/
                                 //鎶樻墸棰� = 鍚◣鍗曚环 * (1 - 鎶樻墸鐜�) * 鏁伴噺
                                 var HMoney = HQty * HPrice;                     //閲戦=鏁伴噺*鍗曚环
-                                var HTaxMoney = HMoney * HTaxRate;              //绋庨=閲戦*绋庣巼
-                                var HlineTotal = HMoney + HTaxMoney;            //浠风◣鍚堣=閲戦+绋庨
-
-                                //璁剧疆鏁版嵁灏忔暟浣嶆暟
-                                HQty = dealDoubleToFixed(HQty, 1);
-                                HPrice = dealDoubleToFixed(HPrice, 3);
-                                HTaxRate = HTaxRate;
-                                HTaxPrice = dealDoubleToFixed(HTaxPrice, 3);
                                 HMoney = dealDoubleToFixed(HMoney, 2);
+                                var HTaxMoney = HMoney * HTaxRate;              //绋庨=閲戦*绋庣巼
+                                var HlineTotal = HQty * HTaxPrice;            //浠风◣鍚堣=閲戦+绋庨
                                 HlineTotal = dealDoubleToFixed(HlineTotal, 2);
 
+                                //璁剧疆鏁版嵁灏忔暟浣嶆暟
                                 //鍚屾鏇存柊琛ㄦ牸鍜岀紦瀛樺搴旂殑鍊�
                                 option.data[i].HQty = HQty;
                                 option.data[i].HPrice = HPrice;
@@ -3337,25 +3324,22 @@
 
                             for (var i = rowIndex * 1; i < option.data.length; i++) {
                                 //鏁版嵁鏍¢獙鍚堟牸锛岄噸绠楄褰�
-                                var HQty = option.data[i].HQty * 1;                           //鏁伴噺
-                                var HPrice = option.data[i].HPrice * 1;               //鍗曚环
-                                var HTaxRate = value * 1 * 0.01;           //绋庣巼
-                                /*var HDiscountRate = option.data[i].HDiscountRate * 1; //鎶樻墸鐜�*/
-                                var HTaxPrice = HPrice * (1 + HTaxRate);        //鍚◣鍗曚环=鍗曚环*(1+绋庣巼)
-                                /*var HRelTaxPrice = HTaxPrice * HDiscountRate;   //瀹為檯鍚◣鍗曚环=鍚◣鍗曚环*鎶樻墸鐜�*/
-                                //鎶樻墸棰� = 鍚◣鍗曚环 * (1 - 鎶樻墸鐜�) * 鏁伴噺
-                                var HMoney = HQty * HPrice;                     //閲戦=鏁伴噺*鍗曚环
-                                var HTaxMoney = HMoney * HTaxRate;              //绋庨=閲戦*绋庣巼
-                                var HlineTotal = HMoney + HTaxMoney;            //浠风◣鍚堣=閲戦+绋庨
-
-                                //璁剧疆鏁版嵁灏忔暟浣嶆暟
+                                var HQty = option.data[i].HQty * 1;
                                 HQty = dealDoubleToFixed(HQty, 1);
-                                HPrice = dealDoubleToFixed(HPrice, 3);
+                                var HTaxRate = value * 1 * 0.01;           //绋庣巼
                                 HTaxRate = HTaxRate;
+                                var HTaxPrice = option.data[i].HTaxPrice * 1;        //鍚◣鍗曚环=鍗曚环*(1+绋庣巼)
                                 HTaxPrice = dealDoubleToFixed(HTaxPrice, 3);
+                                var HPrice = HTaxPrice / (1 + HTaxRate);               //鍗曚环
+                                HPrice = dealDoubleToFixed(HPrice, 3);
+                                var HMoney = HQty * HPrice;                     //閲戦=鏁伴噺*鍗曚环
                                 HMoney = dealDoubleToFixed(HMoney, 2);
+                                var HTaxMoney = HMoney * HTaxRate;              //绋庨=閲戦*绋庣巼
+                                var HlineTotal = HQty * HTaxPrice;            //浠风◣鍚堣=閲戦+绋庨
                                 HlineTotal = dealDoubleToFixed(HlineTotal, 2);
 
+                                //璁剧疆鏁版嵁灏忔暟浣嶆暟
+                                
                                 //鍚屾鏇存柊琛ㄦ牸鍜岀紦瀛樺搴旂殑鍊�
                                 option.data[i].HQty = HQty;
                                 option.data[i].HPrice = HPrice;
@@ -3422,26 +3406,21 @@
                             //鏁版嵁鏍¢獙鍚堟牸锛岄噸绠楄褰�
                             for (var i = rowIndex * 1; i < option.data.length; i++) {
                                 //鏁版嵁鏍¢獙鍚堟牸锛岄噸绠楄褰�
-                                var HQty = option.data[i].HQty * 1;                           //鏁伴噺
-                                var HTaxRate = option.data[i].HTaxRate * 0.01;           //绋庣巼
-                                /*var HDiscountRate = option.data[i].HDiscountRate * 1; //鎶樻墸鐜�*/
-                                var HTaxPrice = value * 1;;        //鍚◣鍗曚环=鍗曚环*(1+绋庣巼)
-                                var HPrice = HTaxPrice / (1 + HTaxRate);        //鍗曚环=鍚◣鍗曟嵁/(1+绋庣巼)
-
-                                /*var HRelTaxPrice = HTaxPrice * HDiscountRate;   //瀹為檯鍚◣鍗曚环=鍚◣鍗曚环*鎶樻墸鐜�*/
-                                //鎶樻墸棰� = 鍚◣鍗曚环 * (1 - 鎶樻墸鐜�) * 鏁伴噺
-                                var HMoney = HQty * HPrice;                     //閲戦=鏁伴噺*鍗曚环
-                                var HTaxMoney = HMoney * HTaxRate;              //绋庨=閲戦*绋庣巼
-                                var HlineTotal = HMoney + HTaxMoney;            //浠风◣鍚堣=閲戦+绋庨
-
-                                //璁剧疆鏁版嵁灏忔暟浣嶆暟
+                                var HQty = option.data[i].HQty * 1;
                                 HQty = dealDoubleToFixed(HQty, 1);
-                                HPrice = dealDoubleToFixed(HPrice, 3);
+                                var HTaxRate = option.data[i].HTaxRate * 0.01;           //绋庣巼
                                 HTaxRate = HTaxRate;
+                                var HTaxPrice = value * 1;;        //鍚◣鍗曚环=鍗曚环*(1+绋庣巼)
                                 HTaxPrice = dealDoubleToFixed(HTaxPrice, 3);
+                                var HPrice = HTaxPrice / (1 + HTaxRate);               //鍗曚环
+                                HPrice = dealDoubleToFixed(HPrice, 3);
+                                var HMoney = HQty * HPrice;                     //閲戦=鏁伴噺*鍗曚环
                                 HMoney = dealDoubleToFixed(HMoney, 2);
+                                var HTaxMoney = HMoney * HTaxRate;              //绋庨=閲戦*绋庣巼
+                                var HlineTotal = HQty * HTaxPrice;            //浠风◣鍚堣=閲戦+绋庨
                                 HlineTotal = dealDoubleToFixed(HlineTotal, 2);
 
+                                
                                 //鍚屾鏇存柊琛ㄦ牸鍜岀紦瀛樺搴旂殑鍊�
                                 option.data[i].HQty = HQty;
                                 option.data[i].HPrice = HPrice;
@@ -3583,23 +3562,20 @@
 
                                 //鏁版嵁鏍¢獙鍚堟牸锛岄噸绠楄褰�
                                 var HQty = option.data[rowIndex + i].HQty * 1;                  //鏁伴噺
-                                var HPrice = option.data[rowIndex + i].HPrice * 1;              //鍗曚环
-                                var HTaxRate = value * 0.01;                                //绋庣巼
-                                /*var HDiscountRate = obj.data.HDiscountRate * 1;           //鎶樻墸鐜�*/
-                                var HTaxPrice = HPrice * (1 + HTaxRate);                    //鍚◣鍗曚环=鍗曚环*(1+绋庣巼)
-                                /*var HRelTaxPrice = HTaxPrice * HDiscountRate;             //瀹為檯鍚◣鍗曚环=鍚◣鍗曚环*鎶樻墸鐜�*/
-                                //鎶樻墸棰� = 鍚◣鍗曚环 * (1 - 鎶樻墸鐜�) * 鏁伴噺
-                                var HMoney = HQty * HPrice;                                 //閲戦=鏁伴噺*鍗曚环
-                                var HTaxMoney = HMoney * HTaxRate;                          //绋庨=閲戦*绋庣巼
-                                var HlineTotal = HMoney + HTaxMoney;                        //浠风◣鍚堣=閲戦+绋庨
-                                //鏁板瓧绮惧害
                                 HQty = Number(HQty.toFixed(HQtyDec));
-                                HPrice = Number(HPrice.toFixed(HPriceDec));
-                                HMoney = Number(HMoney.toFixed(HMoneyDec));
-                                HTaxMoney = Number(HTaxMoney.toFixed(HMoneyDec));
-                                HlineTotal = Number(HlineTotal.toFixed(HMoneyDec));
+                                var HTaxRate = value * 0.01;
+                                var HTaxPrice = option.data[rowIndex + i].HTaxPrice * 1;                    //鍚◣鍗曚环=鍗曚环*(1+绋庣巼)
                                 HTaxPrice = Number(HTaxPrice.toFixed(HPriceDec));
-
+                                var HPrice = HTaxPrice / (1 + HTaxRate);              //鍗曚环
+                                HPrice = Number(HPrice.toFixed(HPriceDec));
+                                var HMoney = HQty * HPrice;                                 //閲戦=鏁伴噺*鍗曚环
+                                HMoney = Number(HMoney.toFixed(HMoneyDec));
+                                var HTaxMoney = HMoney * HTaxRate;                          //绋庨=閲戦*绋庣巼
+                                HTaxMoney = Number(HTaxMoney.toFixed(HMoneyDec));
+                                var HlineTotal = HQty * HTaxPrice;                        //浠风◣鍚堣=閲戦+绋庨
+                                HlineTotal = Number(HlineTotal.toFixed(HMoneyDec));
+                                //鏁板瓧绮惧害
+                                
                                 option.data[rowIndex + i].HMaterID = resultData.HItemID;
                                 option.data[rowIndex + i].鐗╂枡浠g爜 = resultData.鐗╂枡浠g爜;
                                 option.data[rowIndex + i].鐗╂枡鍚嶇О = resultData.鐗╂枡鍚嶇О;
@@ -3638,22 +3614,22 @@
                                     var HQtyDec = (Dec["HQtyDec"] == null || Dec["HQtyDec"] == 0) ? 4 : Dec["HQtyDec"];  //鏁伴噺绮惧害
                                     var HPriceDec = (Dec["HPriceDec"] == null || Dec["HPriceDec"] == 0) ? 4 : Dec["HPriceDec"];  //鍗曚环绮惧害
                                     var HMoneyDec = (Dec["HMoneyDec"] == null || Dec["HMoneyDec"] == 0) ? 2 : Dec["HMoneyDec"];  //閲戦绮惧害
+
                                     //鏁版嵁鏍¢獙鍚堟牸锛岄噸绠楄褰�
                                     var HQty = obj.data.HQty * 1;                           //鏁伴噺
-                                    var HPrice = obj.data.HPrice * 1;               //鍗曚环
-                                    var HTaxRate = value * 0.01;           //绋庣巼
-                                    var HTaxPrice = HPrice * (1 + HTaxRate);        //鍚◣鍗曚环=鍗曚环*(1+绋庣巼)
+                                    HQty = Number(HQty.toFixed(HQtyDec));
+                                    var HTaxRate = value * 0.01;                            //绋庣巼
+                                    var HTaxPrice = obj.data.HTaxPrice * 1;                 //鍚◣鍗曚环=鍗曚环*(1+绋庣巼)
+                                    HTaxPrice = Number(HPrice.toFixed(HPriceDec));
+                                    var HPrice = HTaxPrice / (1 + HTaxRate);                //鍗曚环
+                                    HPrice = Number(HPrice.toFixed(HPriceDec));
                                     var HMoney = HQty * HPrice;                     //閲戦=鏁伴噺*鍗曚环
+                                    HMoney = Number(HMoney.toFixed(HMoneyDec));
                                     var HTaxMoney = HMoney * HTaxRate;              //绋庨=閲戦*绋庣巼
-                                    var HlineTotal = HMoney + HTaxMoney;            //浠风◣鍚堣=閲戦+绋庨
+                                    var HlineTotal = HQty * HTaxPrice;            //浠风◣鍚堣=閲戦+绋庨
+                                    HlineTotal = Number(HlineTotal.toFixed(HMoneyDec));
 
                                     //鏁板瓧绮惧害
-                                    HQty = Number(HQty.toFixed(HQtyDec));
-                                    HPrice = Number(HPrice.toFixed(HPriceDec));
-                                    HMoney = Number(HMoney.toFixed(HMoneyDec));
-                                    HlineTotal = Number(HlineTotal.toFixed(HMoneyDec));
-                                    HTaxPrice = Number(HPrice.toFixed(HPriceDec));
-
                                     //鍚屾鏇存柊琛ㄦ牸鍜岀紦瀛樺搴旂殑鍊�
                                     obj.update({
                                         HQty: HQty
@@ -3738,23 +3714,20 @@
 
                                 //鏁版嵁鏍¢獙鍚堟牸锛岄噸绠楄褰�
                                 var HQty = option.data[rowIndex + i].HQty * 1;                  //鏁伴噺
-                                var HPrice = option.data[rowIndex + i].HPrice * 1;              //鍗曚环
-                                var HTaxRate = value * 0.01;                                //绋庣巼
-                                /*var HDiscountRate = obj.data.HDiscountRate * 1;           //鎶樻墸鐜�*/
-                                var HTaxPrice = HPrice * (1 + HTaxRate);                    //鍚◣鍗曚环=鍗曚环*(1+绋庣巼)
-                                /*var HRelTaxPrice = HTaxPrice * HDiscountRate;             //瀹為檯鍚◣鍗曚环=鍚◣鍗曚环*鎶樻墸鐜�*/
-                                //鎶樻墸棰� = 鍚◣鍗曚环 * (1 - 鎶樻墸鐜�) * 鏁伴噺
-                                var HMoney = HQty * HPrice;                                 //閲戦=鏁伴噺*鍗曚环
-                                var HTaxMoney = HMoney * HTaxRate;                          //绋庨=閲戦*绋庣巼
-                                var HlineTotal = HMoney + HTaxMoney;                        //浠风◣鍚堣=閲戦+绋庨
-                                //鏁板瓧绮惧害
                                 HQty = Number(HQty.toFixed(HQtyDec));
-                                HPrice = Number(HPrice.toFixed(HPriceDec));
-                                HMoney = Number(HMoney.toFixed(HMoneyDec));
-                                HTaxMoney = Number(HTaxMoney.toFixed(HMoneyDec));
-                                HlineTotal = Number(HlineTotal.toFixed(HMoneyDec));
+                                var HTaxRate = value * 0.01;                                    //绋庣巼
+                                var HTaxPrice = option.data[rowIndex + i].HTaxPrice * 1;        //鍚◣鍗曚环=鍗曚环*(1+绋庣巼)
                                 HTaxPrice = Number(HTaxPrice.toFixed(HPriceDec));
-
+                                var HPrice = HTaxPrice / (1 + HTaxRate);              //鍗曚环
+                                HPrice = Number(HPrice.toFixed(HPriceDec));
+                                var HMoney = HQty * HPrice;                                 //閲戦=鏁伴噺*鍗曚环
+                                HMoney = Number(HMoney.toFixed(HMoneyDec));
+                                var HTaxMoney = HMoney * HTaxRate;                          //绋庨=閲戦*绋庣巼
+                                HTaxMoney = Number(HTaxMoney.toFixed(HMoneyDec));
+                                var HlineTotal = HQty * HTaxPrice;                        //浠风◣鍚堣=閲戦+绋庨
+                                HlineTotal = Number(HlineTotal.toFixed(HMoneyDec));
+                                //鏁板瓧绮惧害
+                                
                                 option.data[rowIndex + i].HMaterID = resultData.HItemID;
                                 option.data[rowIndex + i].鐗╂枡浠g爜 = resultData.鐗╂枡浠g爜;
                                 option.data[rowIndex + i].鐗╂枡鍚嶇О = resultData.鐗╂枡鍚嶇О;

--
Gitblit v1.9.1