From 3e52e631cb9993cc0f07ebd270d20f72c1492e1d Mon Sep 17 00:00:00 2001
From: wtt <1985833171@qq.com>
Date: 星期一, 12 八月 2024 15:33:52 +0800
Subject: [PATCH] 销售采购小数点后精度控制

---
 WebTM/views/采购管理/采购订单/Cg_POOrderBillEdit.html |   87 +++++++++++++++++++++++++++++--------------
 1 files changed, 59 insertions(+), 28 deletions(-)

diff --git "a/WebTM/views/\351\207\207\350\264\255\347\256\241\347\220\206/\351\207\207\350\264\255\350\256\242\345\215\225/Cg_POOrderBillEdit.html" "b/WebTM/views/\351\207\207\350\264\255\347\256\241\347\220\206/\351\207\207\350\264\255\350\256\242\345\215\225/Cg_POOrderBillEdit.html"
index 994989c..1a565dd 100644
--- "a/WebTM/views/\351\207\207\350\264\255\347\256\241\347\220\206/\351\207\207\350\264\255\350\256\242\345\215\225/Cg_POOrderBillEdit.html"
+++ "b/WebTM/views/\351\207\207\350\264\255\347\256\241\347\220\206/\351\207\207\350\264\255\350\256\242\345\215\225/Cg_POOrderBillEdit.html"
@@ -621,10 +621,13 @@
                 //鏁板�兼牸寮忔牎楠屽伐鍏�
                 var ref = /^\d+(\.\d+)?$/;          //闈炶礋鏁版鍒欒〃杈惧紡
                 var temp = "";                         //瀹氫箟涓�涓┖瀛楃涓插彉閲� temp
+                var Dec = getDecByMaterID(obj.data.HMaterID) //鑾峰彇绮惧害
+                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 oldText = $(this).prev().text();                         //鑾峰彇褰撳墠鐨勫�艰祴鍊肩粰oldtext           鑾峰彇褰撳墠鍏冪礌锛堝彲鑳芥槸涓�涓〃鏍煎崟鍏冩牸锛夌殑鍓嶄竴涓悓绾у厓绱犵殑鏂囨湰鍐呭锛屽苟灏嗚繖涓枃鏈唴瀹瑰瓨鍌ㄥ湪鍙橀噺oldText涓�
-                console.log(oldText);
                 var value = obj.value                   //寰楀埌淇敼鍚庣殑鍊�
                     , data = obj.data                   //寰楀埌鎵�鍦ㄨ鎵�鏈夐敭鍊�
                     , field = obj.field;                        //寰楀埌瀛楁
@@ -642,8 +645,6 @@
                             layer.msg("鏁伴噺璇疯緭鍏ュぇ浜�0鐨勬暟瀛�!");  //鎻愮ず鏁伴噺璇疯緭鍏ュぇ浜�
                             return;
                         }
-
-
                         //鏁版嵁鏍¢獙鍚堟牸锛岄噸绠楄褰�
                         var HQty = value * 1;                           //鏁伴噺
                         var HPrice = obj.data.HPrice * 1;               //鍗曚环
@@ -656,13 +657,14 @@
 
                         //鍚屾鏇存柊琛ㄦ牸鍜岀紦瀛樺搴旂殑鍊�
                         obj.update({     //鏇存柊琛ㄦ牸鏁版嵁                鏂规硶鏄瀵硅薄鎻愪緵鐨勪竴涓柟娉曪紝鐢ㄤ簬鏇存柊鍏跺唴閮ㄧ姸鎬佹垨涓庝箣鍏宠仈鐨勬暟鎹簮
-                              HQty: HQty                            //鏇存柊HQty瀛楁锛屽叾鍊兼潵鑷彉閲廐Qty
-                            , HPrice: HPrice                             //鏇存柊HPrice瀛楁锛屽叾鍊兼潵鑷彉閲廐Price
-                            , HMoney: HMoney                         //鏇存柊HMoney瀛楁锛屽叾鍊兼潵鑷彉閲廐Money
+                            HQty: Number(HQty.toFixed(HQtyDec))                            //鏇存柊HQty瀛楁锛屽叾鍊兼潵鑷彉閲廐Qty
+                            , HPrice: Number(HPrice.toFixed(HPriceDec))                             //鏇存柊HPrice瀛楁锛屽叾鍊兼潵鑷彉閲廐Price
+                            , HMoney: Number(HMoney.toFixed(HMoneyDec))                         //鏇存柊HMoney瀛楁锛屽叾鍊兼潵鑷彉閲廐Money
                             , HTaxMoney: HTaxMoney                       //鏇存柊HTaxMoney瀛楁锛孒TaxMoney
                             , HlineTotal: HlineTotal                         //鏇存柊HlineTotal瀛楁锛屽叾鍊兼潵鑷彉閲廐lineTotal
                             , HlineTotalBB: HlineTotalBB                     //鏇存柊HlineTotalBB瀛楁锛屽叾鍊兼潵鑷彉閲廐lineTotalBB
                         });
+                        table.render(option)
                         break;
                     case "HPrice":                                         //鍗曚环
                         //鏁版嵁鏍煎紡鏍¢獙  
@@ -685,23 +687,24 @@
                         var HTaxRate = obj.data.HTaxRate * 0.01;           //绋庣巼 
                         var HTaxMoney = Number((HMoney * HTaxRate).toFixed(4));         //绋庨=閲戦*绋庣巼
                         var HlineTotal = HMoney + HTaxMoney;            //浠风◣鍚堣=閲戦+绋庨
-                        var HTaxPrice = Number((HPrice * (1 + HTaxRate)).toFixed(4));        //鍚◣鍗曚环=鍗曚环*(1+绋庣巼)
+                        var HTaxPrice = Number((HPrice * (1 + HTaxRate)).toFixed(HPriceDec));        //鍚◣鍗曚环=鍗曚环*(1+绋庣巼)
                         var HDiscountRate = obj.data.HDiscountRate * 1;   //鎶樻墸鐜�
-                        var HRelTaxPrice = Number((HTaxPrice * HDiscountRate).toFixed(4));   //瀹為檯鍚◣鍗曚环=鍚◣鍗曚环*鎶樻墸鐜�
+                        var HRelTaxPrice = Number((HTaxPrice * HDiscountRate).toFixed(HPriceDec));   //瀹為檯鍚◣鍗曚环=鍚◣鍗曚环*鎶樻墸鐜�
                         var HExRate = $("#HExRate").val();                      //姹囩巼
                         var HlineTotalBB = Number(((HMoney + HTaxMoney) * HExRate).toFixed(4));     //鏈綅甯佷环绋庡悎璁�=(绋庨+閲戦)*姹囩巼
 
                         //鍚屾鏇存柊琛ㄦ牸鍜岀紦瀛樺搴旂殑鍊�
                         obj.update({                    //鏇存柊琛ㄦ牸鏁版嵁                鏂规硶鏄瀵硅薄鎻愪緵鐨勪竴涓柟娉曪紝鐢ㄤ簬鏇存柊鍏跺唴閮ㄧ姸鎬佹垨涓庝箣鍏宠仈鐨勬暟鎹簮
-                            HQty: HQty                               //鏇存柊HQty瀛楁锛孒Qty
-                            , HPrice: HPrice                         //鏇存柊HPrice瀛楁锛孒Price
-                            , HMoney: HMoney                      //鏇存柊HMoney瀛楁锛孒Money
+                            HQty: Number(HQty.toFixed(HQtyDec))                                //鏇存柊HQty瀛楁锛孒Qty
+                            , HPrice: Number(HPrice.toFixed(HPriceDec))                       //鏇存柊HPrice瀛楁锛孒Price
+                            , HMoney: Number(HMoney.toFixed(HMoneyDec))                      //鏇存柊HMoney瀛楁锛孒Money
                             , HTaxMoney: HTaxMoney                  //鏇存柊HTaxMoney瀛楁锛孒TaxMoney
                             , HlineTotal: HlineTotal             //鏇存柊HlineTotal瀛楁锛孒lineTotal
                             , HTaxPrice, HTaxPrice                   //鏇存柊HTaxPrice瀛楁锛孒TaxPrice
                             , HRelTaxPrice: HRelTaxPrice            //鏇存柊HRelTaxPrice瀛楁锛屽叾鍊兼潵鑷彉閲廐RelTaxPrice
                             , HlineTotalBB: HlineTotalBB              //鏇存柊HlineTotalBB瀛楁锛屽叾鍊兼潵鑷彉閲廐lineTotalBB
                         });
+                        table.render(option)
                         break;
                     case "HTaxRate":                                                       //绋庣巼
                         //鏁版嵁鏍煎紡鏍¢獙
@@ -723,20 +726,19 @@
                         var HPrice = obj.data.HPrice * 1;                   //鍗曚环
                         var HMoney = HQty * HPrice;                     //閲戦=鏁伴噺*鍗曚环
                         var HTaxMoney = Number((HMoney * HTaxRate).toFixed(4));         //绋庨=閲戦*绋庣巼
-                        var HTaxPrice = Number((HPrice * (1 + HTaxRate)).toFixed(4));        //鍚◣鍗曚环=鍗曚环*(1+绋庣巼)
+                        var HTaxPrice = Number((HPrice * (1 + HTaxRate)).toFixed(HPriceDec));        //鍚◣鍗曚环=鍗曚环*(1+绋庣巼)
                         var HlineTotal = HMoney + HTaxMoney;            //浠风◣鍚堣=閲戦+绋庨
-                        var HTaxPrice = Number((HPrice * (1 + HTaxRate)).toFixed(4));        //鍚◣鍗曚环=鍗曚环*(1+绋庣巼)
                         var HDiscountRate = obj.data.HDiscountRate * 1;   //鎶樻墸鐜�
-                        var HRelTaxPrice = Number((HTaxPrice * HDiscountRate).toFixed(4));   //瀹為檯鍚◣鍗曚环=鍚◣鍗曚环*鎶樻墸鐜�
+                        var HRelTaxPrice = Number((HTaxPrice * HDiscountRate).toFixed(HPriceDec));   //瀹為檯鍚◣鍗曚环=鍚◣鍗曚环*鎶樻墸鐜�
                         var HExRate = $("#HExRate").val();                       //姹囩巼
                         var HlineTotalBB = Number(((HMoney + HTaxMoney) * HExRate).toFixed(4));       //鏈綅甯佷环绋庡悎璁�=(绋庨+閲戦)*姹囩巼
 
                         //鍚屾鏇存柊琛ㄦ牸鍜岀紦瀛樺搴旂殑鍊�
                         obj.update({   //鏇存柊琛ㄦ牸鏁版嵁
                             HTaxRate: HTaxRate * 100
-                            , HQty: HQty
-                            , HPrice: HPrice
-                            , HMoney: HMoney
+                            , HQty: Number(HQty.toFixed(HQtyDec))
+                            , HPrice: Number(HPrice.toFixed(HPriceDec))
+                            , HMoney: Number(HMoney.toFixed(HMoneyDec))
                             , HTaxMoney: HTaxMoney
                             , HTaxPrice: HTaxPrice
                             , HlineTotal: HlineTotal
@@ -744,6 +746,7 @@
                             , HRelTaxPrice: HRelTaxPrice
                             , HlineTotalBB: HlineTotalBB
                         });
+                        table.render(option)
                         break;
                     case "HDiscountRate":                                                       //鏁伴噺
                         //鏁版嵁鏍煎紡鏍¢獙
@@ -765,24 +768,24 @@
                         var HPrice = obj.data.HPrice * 1;
                         var HMoney = HQty * HPrice;                     //閲戦=鏁伴噺*鍗曚环
                         var HTaxMoney = Number((HMoney * HTaxRate).toFixed(4));         //绋庨=閲戦*绋庣巼
-                        var HTaxPrice = Number((HPrice * (1 + HTaxRate)).toFixed(4));        //鍚◣鍗曚环=鍗曚环*(1+绋庣巼)
+                        var HTaxPrice = Number((HPrice * (1 + HTaxRate)).toFixed(HPriceDec));        //鍚◣鍗曚环=鍗曚环*(1+绋庣巼)
                         var HDiscountRate = obj.data.HDiscountRate * 1;     //鎶樻墸鐜�
-                        var HRelTaxPrice = Number((HTaxPrice * HDiscountRate).toFixed(4));   //瀹為檯鍚◣鍗曚环=鍚◣鍗曚环*鎶樻墸鐜�
+                        var HRelTaxPrice = Number((HTaxPrice * HDiscountRate).toFixed(HPriceDec));   //瀹為檯鍚◣鍗曚环=鍚◣鍗曚环*鎶樻墸鐜�
 
 
                         //鍚屾鏇存柊琛ㄦ牸鍜岀紦瀛樺搴旂殑鍊�
                         obj.update({
                             HTaxRate: HTaxRate * 100                //灏咹TaxRate灞炴�х殑鍊间箻浠�100锛屽苟鏇存柊涓烘柊鐨勫��    绋庣巼涔�100  浠庡皬鏁扮被鍨嬪彉涓烘暣鏁版垨娴偣鍨�      
-                            , HQty: HQty                  //鏇存柊HQty瀛楁锛岋紝鍏跺�兼潵鑷彉閲廐Qty
-                            , HPrice: HPrice                //鏇存柊HPrice瀛楁锛屽叾鍊兼潵鑷彉閲廐Price
-                            , HMoney: HMoney                      //鏇存柊HMoney瀛楁锛屽叾鍊兼潵鑷彉閲廐Money
+                            , HQty: Number(HQty.toFixed(HQtyDec))                   //鏇存柊HQty瀛楁锛岋紝鍏跺�兼潵鑷彉閲廐Qty
+                            , HPrice: Number(HPrice.toFixed(HPriceDec))                 //鏇存柊HPrice瀛楁锛屽叾鍊兼潵鑷彉閲廐Price
+                            , HMoney: Number(HMoney.toFixed(HMoneyDec))                        //鏇存柊HMoney瀛楁锛屽叾鍊兼潵鑷彉閲廐Money
                             , HTaxMoney: HTaxMoney                  //鏇存柊HTaxMoney瀛楁锛屽叾鍊兼潵鑷彉閲廐TaxMoney
                             , HTaxPrice: HTaxPrice                  //鏇存柊HTaxPrice瀛楁锛屽叾鍊兼潵鑷彉閲廐TaxPrice
                             , HDiscountRate: HDiscountRate                  //鏇存柊HDiscountRate瀛楁锛屽叾鍊兼潵鑷彉閲廐DiscountRate
                             , HRelTaxPrice: HRelTaxPrice                  //鏇存柊HRelTaxPrice瀛楁锛屽叾鍊兼潵鑷彉閲廐RelTaxPrice
                         });
                         break;
-                        table.render(option);  //娓叉煋琛ㄦ牸
+                        
                     case "HTaxPrice":                                         //鍚◣鍗曚环
                         //鏁版嵁鏍煎紡鏍¢獙  
                         temp = value + "";     //淇敼鍚庣殑鍊� 杞负瀛楃涓� 璧嬪�肩粰  鍙橀噺temp
@@ -801,27 +804,29 @@
                         var HQty = obj.data.HQty * 1;                   //鏁伴噺
                         var HTaxPrice = value * 1;                    //鍚◣鍗曚环
                         var HTaxRate = obj.data.HTaxRate * 0.01;           //绋庣巼 
-                        var HPrice = Number((HTaxPrice / (1 + HTaxRate)).toFixed(4));                         //鍗曚环 = 鍚◣鍗曚环/(1+绋庣巼)
+                        var HPrice = Number((HTaxPrice / (1 + HTaxRate)).toFixed(HPriceDec));                         //鍗曚环 = 鍚◣鍗曚环/(1+绋庣巼)
                         var HMoney = HQty * HPrice;                     //閲戦=鏁伴噺*鍗曚环
                         var HTaxMoney = Number((HMoney * HTaxRate).toFixed(4));         //绋庨=閲戦*绋庣巼
                         var HlineTotal = HMoney + HTaxMoney;            //浠风◣鍚堣=閲戦+绋庨
                         var HDiscountRate = obj.data.HDiscountRate * 1;   //鎶樻墸鐜�
-                        var HRelTaxPrice = Number((HTaxPrice * HDiscountRate).toFixed(4));   //瀹為檯鍚◣鍗曚环=鍚◣鍗曚环*鎶樻墸鐜�
+                        var HRelTaxPrice = Number((HTaxPrice * HDiscountRate).toFixed(HPriceDec));   //瀹為檯鍚◣鍗曚环=鍚◣鍗曚环*鎶樻墸鐜�
                         var HExRate = $("#HExRate").val();                      //姹囩巼
                         var HlineTotalBB = Number(((HMoney + HTaxMoney) * HExRate).toFixed(4));     //鏈綅甯佷环绋庡悎璁�=(绋庨+閲戦)*姹囩巼
 
                         //鍚屾鏇存柊琛ㄦ牸鍜岀紦瀛樺搴旂殑鍊�
                         obj.update({                    //鏇存柊琛ㄦ牸鏁版嵁                鏂规硶鏄瀵硅薄鎻愪緵鐨勪竴涓柟娉曪紝鐢ㄤ簬鏇存柊鍏跺唴閮ㄧ姸鎬佹垨涓庝箣鍏宠仈鐨勬暟鎹簮
-                            HQty: HQty                               //鏇存柊HQty瀛楁锛孒Qty
+                            HQty: Number(HQty.toFixed(HQtyDec))                                //鏇存柊HQty瀛楁锛孒Qty
                             , HPrice: HPrice                         //鏇存柊HPrice瀛楁锛孒Price
-                            , HMoney: HMoney                      //鏇存柊HMoney瀛楁锛孒Money
+                            , HMoney: Number(HMoney.toFixed(HMoneyDec))                        //鏇存柊HMoney瀛楁锛孒Money
                             , HTaxMoney: HTaxMoney                  //鏇存柊HTaxMoney瀛楁锛孒TaxMoney
                             , HlineTotal: HlineTotal             //鏇存柊HlineTotal瀛楁锛孒lineTotal
-                            , HTaxPrice, HTaxPrice                   //鏇存柊HTaxPrice瀛楁锛孒TaxPrice
+                            , HTaxPrice :Number(HTaxPrice.toFixed(HPriceDec))                    //鏇存柊HTaxPrice瀛楁锛孒TaxPrice
                             , HRelTaxPrice: HRelTaxPrice            //鏇存柊HRelTaxPrice瀛楁锛屽叾鍊兼潵鑷彉閲廐RelTaxPrice
                             , HlineTotalBB: HlineTotalBB              //鏇存柊HlineTotalBB瀛楁锛屽叾鍊兼潵鑷彉閲廐lineTotalBB
                         });
+                        table.render(option)
                         break;
+                        
                     default:
                 }
             });
@@ -1771,6 +1776,32 @@
             }
             //#endregion
 
+            //#region 鏍规嵁鐗╂枡ID鑾峰彇绮惧害
+            function getDecByMaterID(HMaterID) {
+                var resultData = {};
+                $.ajax({  // 寮傛璇锋眰
+                    url: GetWEBURL() + "Gy_Material/getDecByID",  //璇锋眰鍦板潃
+                    async: false,   //鏄惁寮�鍚紓姝�
+                    type: "GET",   //璇锋眰绫诲瀷
+                    data: {   //瀹氫箟鍙戦�佸埌鏈嶅姟鍣ㄧ殑鏁版嵁
+                        "HMaterID": HMaterID     //  灏唄materid浣滀负璇锋眰鍙傛暟鍙戦��
+                    },
+                    success: function (result) {   // 褰撹姹傛垚鍔熸椂锛屾墽琛岃繖涓嚱鏁�
+                        if (result.code == 1) { // 濡傛灉鏈嶅姟鍣ㄨ繑鍥炵殑鏁版嵁涓殑`code瀛楁绛変簬1锛岃繖鍙兘琛ㄧず瀹℃牳鎿嶄綔鎴愬姛鎵ц
+                            var data = result.data; //澹版槑data鍙橀噺锛屽苟灏嗗叾璧嬪�间负result瀵硅薄涓殑data灞炴��
+                            resultData = data[0];   //灏哾ata鏁扮粍锛堟垨绫绘暟缁勫璞★級鐨勭涓�涓厓绱犺祴鍊肩粰鍙橀噺resultData
+                        }
+                        //else {
+                        //    layer.alert(result.Message, { icon: 5, btn: ['閫�鍑�'], time: 100000, offset: 't' }); //result.msg瀵硅薄锛屾彁绀哄脊绐� 绫诲瀷涓�5锛� 鎸夐挳锛屽拰鎸夐挳鐨勫悕绉颁负閫�鍑�  鏃堕棿 涓�100绉掞紝浠ュ強鍋忕Щ閲忥紙`offset: 't'
+                        //}
+                    }, error: function () {
+                        layer.alert("鍙戠敓閿欒!", { icon: 5 });  //鎻愮ず寮圭獥 鍙戠敓閿欒 锛岃绀烘爣蹇椾负5鐨�
+                    }
+                });
+                return resultData;
+            }
+            //#endregion
+
             
             //#region 淇濆瓨鍚庢祻瑙堟柟娉�
             function ReRoadBillMain() {

--
Gitblit v1.9.1