From 37376dc19c74487ba4fb3d15331eaac29ca7c07a Mon Sep 17 00:00:00 2001
From: duhe <226547893@qq.com>
Date: 星期二, 16 一月 2024 10:15:51 +0800
Subject: [PATCH] 1

---
 WebTM/views/采购管理/收料通知单/Add_Edit_Cg_POInStockBillList.html |  128 +++++++++++++++++++++++++++++++++++++++---
 1 files changed, 119 insertions(+), 9 deletions(-)

diff --git "a/WebTM/views/\351\207\207\350\264\255\347\256\241\347\220\206/\346\224\266\346\226\231\351\200\232\347\237\245\345\215\225/Add_Edit_Cg_POInStockBillList.html" "b/WebTM/views/\351\207\207\350\264\255\347\256\241\347\220\206/\346\224\266\346\226\231\351\200\232\347\237\245\345\215\225/Add_Edit_Cg_POInStockBillList.html"
index 90d3928..f23f286 100644
--- "a/WebTM/views/\351\207\207\350\264\255\347\256\241\347\220\206/\346\224\266\346\226\231\351\200\232\347\237\245\345\215\225/Add_Edit_Cg_POInStockBillList.html"
+++ "b/WebTM/views/\351\207\207\350\264\255\347\256\241\347\220\206/\346\224\266\346\226\231\351\200\232\347\237\245\345\215\225/Add_Edit_Cg_POInStockBillList.html"
@@ -157,8 +157,16 @@
                                         <div class="layui-col-xs4 layui-inline">
                                             <label class="layui-form-label">閫夊崟鍙�</label>
                                             <div class="layui-input-inline">
-                                                <input class="layui-input" name="Box2" id="Box2" autocomplete="off">
+                                                <input type="text" name="" id="" class="layui-input" value="" style="float:left;width:150px;">
+                                                
+                                                <button type="button" lay-submit="" class="layui-btn" lay-filter="XDHList" id="XDHList" style="width:40px;">
+                                                    <i class="layui-icon layui-icon-search layuiadmin-button-btn" style="margin-left:-9px;"></i>
+                                                </button>
                                             </div>
+                                            <!--<label class="layui-form-label">閫夊崟鍙�</label>
+                                            <div class="layui-input-inline">
+                                                <input class="layui-input" name="Box2" id="Box2" autocomplete="off">
+                                            </div>-->
                                         </div>
 
                                     </div>
@@ -356,7 +364,8 @@
             var rowdata = [{
                 "HMaterID": 0, "鐗╂枡浠g爜": "", "鐗╂枡鍚嶇О": "", "瑙勬牸鍨嬪彿": "", "HUnitID": 0, "璁¢噺鍗曚綅": "", "HWHID": 0, "鏀舵枡浠撳簱": "",
                 "HSPID": 0, "鏀舵枡浠撲綅": "", "HSecUnitID": 0, "杈呭姪鍗曚綅": "", "HQty": "0", "HRemark": ""
-                , "HPrice": "0", "HTaxPrice": "0", "HMoney": "0", "HDiscountRate": "0", "HTaxRate": "0", "HTaxMoney": "0"
+                , "HPrice": "0", "HTaxPrice": "0", "HMoney": "0", "HDiscountRate": "0", "HTaxRate": "0", "HTaxMoney": "0",
+                "HSourceBillNo": 0, "HSourceBillType": 0, "HSourceInterID": 0, "HSourceEntryID": 0
             }];
 
             // 鍒濆鍖栫晫
@@ -369,8 +378,9 @@
                 //鏂板琛岃〃鏍兼暟鎹�
                 var NewRow = {
                     "HMaterID": 0, "鐗╂枡浠g爜": "", "鐗╂枡鍚嶇О": "", "瑙勬牸鍨嬪彿": "", "HUnitID": 0, "璁¢噺鍗曚綅": "", "HWHID": 0, "鏀舵枡浠撳簱": "",
-                    "HSPID": 0, "鏀舵枡浠撲綅": "", "HSecUnitID": data.HSecUnitID, "杈呭姪鍗曚綅":data.杈呭姪鍗曚綅, "HQty": "0", "HRemark": ""
-                    , "HPrice": "0", "HTaxPrice": "0", "HMoney": "0", "HDiscountRate": "0", "HTaxRate": "0", "HTaxMoney": "0"
+                    "HSPID": 0, "鏀舵枡浠撲綅": "", "HSecUnitID": data.HSecUnitID, "杈呭姪鍗曚綅": data.杈呭姪鍗曚綅, "HQty": "0", "HRemark": ""
+                    , "HPrice": "0", "HTaxPrice": "0", "HMoney": "0", "HDiscountRate": "0", "HTaxRate": "0", "HTaxMoney": "0",
+                    "HSourceBillNo": 0, "HSourceBillType": 0, "HSourceInterID": 0, "HSourceEntryID": 0,
                 };
                 switch (obj.event) {
                     case 'btn-AddLine':
@@ -495,7 +505,7 @@
                             , HPrice: HPrice
                             , HMoney: HMoney
                         });
-                       /* table.render(option);*/
+                        /* table.render(option);*/
                         break;
                     case "HPrice":                                         //鍗曚环
                         //鏁版嵁鏍煎紡鏍¢獙
@@ -505,7 +515,7 @@
                             obj.update({
                                 HPrice: oldText
                             });
-                           /* table.render(option);*/
+                            /* table.render(option);*/
 
                             layer.msg("鍗曚环璇疯緭鍏ュぇ浜�0鐨勬暟瀛�!");
                             return;
@@ -514,7 +524,7 @@
 
                         //鏁版嵁鏍¢獙鍚堟牸锛岄噸绠楄褰�
                         var HQty = obj.data.HQty * 1;                   //鏁伴噺
-                        var HPrice = value * 1;               
+                        var HPrice = value * 1;
                         var HMoney = HQty * HPrice;                     //閲戦=鏁伴噺*鍗曚环
 
 
@@ -584,6 +594,10 @@
                     , cols: [[ //瀛愯〃
                         { type: 'checkbox', totalRowText: '鍚堣琛�' }
                         , { type: 'numbers', title: '搴忓彿', width: 100, totalRow: true }
+                        , { type: 'HSourceBillNo', title: '婧愬崟鍙�', width: 100, hide: true }//婧愬崟鍙�
+                        , { field: 'HSourceBillType', title: '婧愬崟绫诲瀷', width: 100, hide: true }//婧愬崟绫诲瀷
+                        , { type: 'HSourceInterID', title: '婧愬崟涓诲唴鐮�', width: 100, hide: true }//婧愬崟涓诲唴鐮�
+                        , { field: 'HSourceEntryID', title: '婧愬崟瀛愬唴鐮�', width: 100, hide: true }//婧愬崟瀛愬唴鐮�
                         , { field: 'HMaterID', title: 'HMaterID', width: 100, hide: true }
                         , { field: '鐗╂枡浠g爜', title: '鐗╂枡浠g爜', width: 150, edit: 'text', event: "HMaterID" }//f7
                         , { field: '鐗╂枡鍚嶇О', title: '鐗╂枡鍚嶇О', width: 150, }
@@ -608,7 +622,7 @@
                     ]]
                 }
 
-                option.data = rowdata;
+                option.data = [];
                 table.render(option);
             }
 
@@ -666,7 +680,11 @@
                                     {
                                         "HMaterID": data.HMaterID, "鐗╂枡浠g爜": data.鐗╂枡浠g爜, "鐗╂枡鍚嶇О": data.鐗╂枡鍚嶇О, "瑙勬牸鍨嬪彿": data.瑙勬牸鍨嬪彿, "HUnitID": data.HUnitID, "璁¢噺鍗曚綅": data.璁¢噺鍗曚綅, "HWHID": data.HWHID, "鏀舵枡浠撳簱": data.鏀舵枡浠撳簱,
                                         "HSPID": data.HSPID, "鏀舵枡浠撲綅": data.浠撲綅鍚嶇О, "HSecUnitID": data.HSecUnitID, "杈呭姪鍗曚綅": data.杈呭姪鍗曚綅, "HQty": data.鏁伴噺, "HRemark": data.琛ㄤ綋澶囨敞
-                                        , "HPrice": data.鍗曚环, "HTaxPrice": data.鍚◣鍗曚环, "HMoney": data.閲戦, "HDiscountRate": data.鎶樻墸鐜�, "HTaxRate": data.绋庣巼, "HTaxMoney": data.绋庨
+                                        , "HPrice": data.鍗曚环, "HTaxPrice": data.鍚◣鍗曚环, "HMoney": data.閲戦, "HDiscountRate": data.鎶樻墸鐜�, "HTaxRate": data.绋庣巼, "HTaxMoney": data.绋庨,
+                                        "HSourceBillNo": data.婧愬崟鍗曞彿,    //婧愬崟鍙�
+                                        "HSourceBillType": data.婧愬崟绫诲瀷,   //婧愬崟绫诲瀷
+                                        "HSourceInterID": data.婧愬崟涓诲唴鐮�,   //婧愬崟涓诲唴鐮�
+                                        "HSourceEntryID": data.婧愬崟瀛愬唴鐮�     //婧愬崟瀛愬唴鐮�
                                     }
                                 )
                             }
@@ -746,6 +764,24 @@
                         table.cache["mainTable"][i].LAY_TABLE_INDEX = i;
                         num.push(table.cache["mainTable"][i])
                     }
+                }
+
+                checkDuplicateData(num);
+                const duplicateRows = checkDuplicateData(num);
+                if (duplicateRows.length > 0) {
+                    let message = '琛ㄦ牸涓瓨鍦ㄩ噸澶嶆暟鎹紝閲嶅琛屾暟涓猴細';
+
+                    for (let i = 0; i < duplicateRows.length; i++) {
+                        const { row1, row2 } = duplicateRows[i];
+                        message += `绗�${row1}琛屼笌绗�${row2}琛岀浉鍚宍;
+
+                        if (i !== duplicateRows.length - 1) {
+                            message += '锛�';
+                        }
+                    }
+
+                    message += '锛岃鍒犻櫎鍏朵腑涓�琛�';
+                    layer.alert(message);
                 }
 
                 var sMainStr = JSON.stringify(data.field);
@@ -1112,6 +1148,80 @@
                 })
             }
 
+            //琛ㄥご淇℃伅閫夋嫨鍗曟嵁寮圭獥
+            form.on('submit(XDHList)', function () {
+
+                //椤甸潰灞�-鑷畾涔�
+                layer.open({
+                    type: 2
+                    , skin: "layui-layer-rim" //鍔犱笂杈规
+                    , title: "閲囪喘鍏ュ簱鍗曞垪琛�"  //鏍囬
+                    , closeBtn: 1  //绐椾綋鍙充笂瑙掑叧闂� 鐨� 鏍峰紡
+                    , shift: 2 //寮瑰嚭鍔ㄧ敾
+                    , area: ["90%", "90%"] //绐椾綋澶у皬
+                    , maxmin: true //璁剧疆鏈�澶ф渶灏忔寜閽槸鍚︽樉绀�
+                    , content: ["../../閲囪喘绠$悊/閲囪喘璁㈠崟/Cg_POOrderBillList.html", "yes"]
+                    , btn: ["纭畾", "鍙栨秷"]
+                    , btn1: function (index, laero) {
+                        //鎸夐挳涓�  鐨勫洖璋�
+                        var iframeWindow = window["layui-layer-iframe" + index];//鑾峰彇寮规椤甸潰
+                        var checkStatus = iframeWindow.layui.table.checkStatus("mainTable");//鑾峰彇閫変腑鐨勬暟鎹�
+
+                        if (checkStatus.data.length == 0) {
+                            return layer.msg("璇疯嚦灏戦�夋嫨涓�鏉℃暟鎹�!");
+                        }
+                        layer.alert("浣犲凡閫夋嫨" + checkStatus.data.length + "鏉℃暟鎹�");
+                        //鑾峰彇鏀舵枡閫氱煡鍗曚唬鐮�
+                        var ProcessNumber = [];
+                        for (var i = 0; i < checkStatus.data.length; i++) {
+                            ProcessNumber.push(checkStatus.data[i]);
+                        }
+
+                        //鑾峰彇褰撳墠浣嶇疆鎵�鍦ㄨ鏁�
+                        var NowNum = 0;
+                        NowNum = option.data.length;
+
+                        var j = 0;
+                        for (var i = 0; i < ProcessNumber.length; i++) {
+                            option.data.push({
+                                "HMaterID": checkStatus.data[j].HMaterID, "鐗╂枡浠g爜": checkStatus.data[j].鐗╂枡浠g爜, "鐗╂枡鍚嶇О": checkStatus.data[j].鐗╂枡鍚嶇О, "瑙勬牸鍨嬪彿": checkStatus.data[j].瑙勬牸鍨嬪彿,
+                                "HUnitID": checkStatus.data[j].HUnitID, "璁¢噺鍗曚綅": checkStatus.data[j].璁¢噺鍗曚綅, 
+                                "HQty": checkStatus.data[j].鏁伴噺, "HPrice": checkStatus.data[j].鍗曚环,
+                                "HMoney": checkStatus.data[j].閲戦, "HTaxPrice": checkStatus.data[j].鍚◣鍗曚环,  "HTaxRate": checkStatus.data[j].绋庣巼, "HTaxMoney": checkStatus.data[j].绋庨,
+                                "HSourceBillNo": checkStatus.data[j].鍗曟嵁鍙�, "HSourceBillType": checkStatus.data[j].HBillType, "HSourceInterID": checkStatus.data[j].hmainid, "HSourceEntryID": checkStatus.data[j].hsubid,
+                            })
+                            j++;
+                        }
+                        table.render(option);
+                        layer.close(index);//鍏抽棴寮圭獥
+                    }
+
+                });
+            });
+
+             //鍒ゆ柇鎵�閫夌潃涓庤〃鏍兼槸鍚︽湁閲嶅鏁版嵁
+            function checkDuplicateData(data) {
+                const duplicates = [];
+
+                for (let i = 0; i < data.length; i++) {
+                    const currentItem = data[i];
+                    let isDuplicate = false;
+
+                    for (let j = i + 1; j < data.length; j++) {
+                        const compareItem = data[j];
+                        //涓诲瓙id
+                        if (currentItem.HSourceInterID === compareItem.HSourceInterID && currentItem.HSourceEntryID === compareItem.HSourceEntryID) {
+                            isDuplicate = true;
+                            duplicates.push({ row1: i + 1, row2: j + 1 }); // 璁板綍閲嶅鏁版嵁鎵�鍦ㄨ鏁�
+                        }
+                    }
+                    if (isDuplicate && !duplicates.some(item => item.row1 === i + 1)) {
+                        duplicates.push({ row1: i + 1, row2: -1 }); // 璁板綍閲嶅鏁版嵁鎵�鍦ㄨ鏁帮紝-1 琛ㄧず鏈壘鍒颁笌褰撳墠琛岄噸澶嶇殑琛�
+                    }
+                }
+                return duplicates;
+            }
+
 
             //#region 鏍规嵁鐗╂枡ID鑾峰彇鐗╂枡璇︾粏淇℃伅
             function getMaterialByMaterID(HMaterID) {

--
Gitblit v1.9.1