From 691eef3c0184b0aba60b6d0d4189e25ce0cbda7d Mon Sep 17 00:00:00 2001
From: yusijie <ysj@hz-kingdee.com>
Date: 星期四, 29 六月 2023 10:03:28 +0800
Subject: [PATCH] 1

---
 WebSRM/layuiAdmin.std-v1.2.1/src/views/SRM/SRM_BarCodeBill.html |  154 ++++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 145 insertions(+), 9 deletions(-)

diff --git a/WebSRM/layuiAdmin.std-v1.2.1/src/views/SRM/SRM_BarCodeBill.html b/WebSRM/layuiAdmin.std-v1.2.1/src/views/SRM/SRM_BarCodeBill.html
index ec2c82d..b941276 100644
--- a/WebSRM/layuiAdmin.std-v1.2.1/src/views/SRM/SRM_BarCodeBill.html
+++ b/WebSRM/layuiAdmin.std-v1.2.1/src/views/SRM/SRM_BarCodeBill.html
@@ -97,7 +97,7 @@
                                         <div class="layui-btn-container">
                                             <!--<button type="button" class="layui-btn layui-btn-sm" lay-event="btn-normal">鏅�氭潯鐮�</button>-->
                                             <!--<button type="button" class="layui-btn layui-btn-sm" lay-event="btn-box">鍐呭绠辨潯鐮�</button>-->
-
+                                            <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-add"><i class="layui-icon layui-icon-addition"></i>鎷嗗垎</button>
                                         </div>
                                     </script>
                                 </div>
@@ -386,8 +386,22 @@
                     });
                 return false;
             });
-            //鐢熸垚鍐呭绠辩爜
+            //鐢熸垚鍐呭绠辩爜            
+
+            //鑾峰彇褰撳墠鏁版嵁鎵�鍦ㄦ暟缁勭殑涓嬫爣
+            function findIndex(HMaterNumber, HMaterModel, array) {
+                for (var i = 0; i < array.length; i++) {
+                    if (array[i].HMaterNumber === HMaterNumber && array[i].HMaterModel === HMaterModel) {
+                        return i;
+                    }
+                }
+                return -1;
+            }
+
             form.on('submit(HBarcodeSaverBox)', function (data) {//淇濆瓨
+                var a = 0;
+                var newArray = [];
+                var index = -1;
                 //debugger;
                 var sMainStr = JSON.stringify(data.field);
                 var sSubStr = JSON.stringify(table.cache['mainTable']);
@@ -399,7 +413,30 @@
                         return Result = false;
                     }
                     if (_sSubStr[i].HQty > _sSubStr[i].HNotBarcodeCount) {
+                        console.log("鏈:" + _sSubStr[i].HQty);
+                        console.log("鍓╀綑:" + _sSubStr[i].HNotBarcodeCount);
                         layer.msg("鏄庣粏璁板綍绗�" + (i + 1) + "琛�,鏈鐢熸垚鏉$爜鏁伴噺涓嶈兘瓒呭嚭鏈敓鎴愭潯鐮佹暟閲�!", { icon: 5, btn: ['纭'], time: 2000, offset: 't', skin: 'layui-layer-lan', title: "娓╅Θ鎻愮ず" });
+                        return Result = false;
+                    }
+                    if (_sSubStr[i].HQty > 0 && (_sSubStr[i].HBatchNo == "" || _sSubStr[i].HKFDate == "")) {
+                        layer.msg("鏄庣粏璁板綍绗�" + (i + 1) + "琛�,鎵规鎴栫敓浜ф棩鏈熶笉鑳戒负绌�!", { icon: 5, btn: ['纭'], time: 2000, offset: 't', skin: 'layui-layer-lan', title: "娓╅Θ鎻愮ず" });
+                        return Result = false;
+                    }
+                    //鑾峰彇涓嬫爣
+                    index = findIndex(_sSubStr[i].HMaterNumber, _sSubStr[i].HMaterModel, newArray);
+                    if (index === -1) {
+                        //濡傛灉鏁扮粍涓病鏈夊綋鍓嶆暟鎹紝鍒欏皢鏁版嵁娣诲姞杩涙暟缁勪腑
+                        newArray.push(_sSubStr[i]);
+
+                    } else {
+                        //濡傛灉鏁扮粍涓湁鍜屽綋鍓嶆暟鎹腑鐗╂枡浠g爜銆佽鏍煎瀷鍙蜂竴鑷寸殑淇℃伅锛屽垯灏嗕粬浠殑鏁伴噺绱姞
+                        newArray[index].HQty = Number(newArray[index].HQty) + Number(_sSubStr[i].HQty);
+                    }                             
+                }
+
+                for (let i = 0; i < newArray.length; i++) {
+                    if (newArray[i].HQty > newArray[i].HNotBarcodeCount) {
+                        layer.msg("缂栫爜:" + newArray[i].HMaterNumber + " 瑙勬牸鍨嬪彿:" + newArray[i].HMaterModel + "<br>" + " 鏈鐢熸垚鏉$爜鎬绘暟閲忚秴鍑哄墿浣欏彲鐢熸垚鏉$爜鏁帮紒" + "<br>" + " 鏈鐢熸垚鎬绘暟閲�:" + newArray[i].HQty + " 鍙敓鎴愭潯鐮佹暟閲�:" + newArray[i].HNotBarcodeCount, { icon: 5, btn: ['纭'], time: 10000, offset: 't', skin: 'layui-layer-lan', title: "娓╅Θ鎻愮ず" });
                         return Result = false;
                     }
                 }
@@ -578,17 +615,21 @@
                 , defaultToolbar: ['filter', 'exports']
                 , where: { sMsg: linterid, sMsg2: lentryid }
                 , cols: [[
+                    { type: 'checkbox', fixed: 'left' }
                     , { field: 'HMaterID', title: '鐗╂枡ID', width: 100, hide: true }
                     , { field: 'HMaterNumber', title: '鐗╂枡缂栫爜', width: 120 }
+                    , { field: 'HOldMaterNumber', title: '鏃х墿鏂欑紪鐮�', width: 120 }
                     , { field: 'HMaterShortNumber', title: '鐗╂枡浠g爜', width: 120, hide: true }
+                    , { field: 'HSubjoin', title: '鐗╂枡浠g爜', width: 120 }
                     , { field: 'HMaterName', title: '鐗╂枡鍚嶇О', width: 120 }
                     , { field: 'HMaterModel', title: '瑙勬牸鍨嬪彿', width: 120 }
                     , { field: 'HUnitName', title: '璁¢噺鍗曚綅', width: 100 }
                     , { field: 'HUnitNumber', title: '璁¢噺鍗曚綅浠g爜', width: 100, hide: true }
                     , { field: 'HUnitID', title: '璁¢噺鍗曚綅ID', width: 100, hide: true }
                     , { field: 'HDDQty', title: '璁㈠崟鏁伴噺', width: 100 }
+                    , { field: 'HMrbQty', title: '閫�鏂欐暟閲�', width: 100 }
                     , { field: 'HBarcodeCount', title: '宸茬敓鎴愭潯鐮佹暟閲�', width: 135 }
-                    , { field: 'HNotBarcodeCount', title: '鏈敓鎴愭潯鐮佹暟閲�', width: 135 }
+                    , { field: 'HNotBarcodeCount', title: '鍙敓鎴愭潯鐮佹暟閲�', width: 135 }
                     , { field: 'HQty', title: '鏈鐢熸垚鏉$爜鏁伴噺', width: 135, edit: 'text', event: "inputHQty" }
                     , { field: 'HMinQty', title: '鍐呯鍖呰鏁�', width: 100, edit: 'text', event: "inputHMinQty" }
                     , { field: 'HBQty', title: '鍐呯鏁�', width: 100 }
@@ -601,8 +642,8 @@
                     //, { field: 'HBeginDate', title: '鐢熶骇鏃ユ湡', width: 120, data_field: 'HBeginDate', event: "chooseHBeginDate" }
                     //, { field: 'HEndDate', title: '澶辨晥鏃ユ湡', width: 120, data_field: 'HEndDate', event: "chooseHEndDate" }
                     , { field: 'HKFDate', title: '鐢熶骇鏃ユ湡', align: 'center', width: 150, data_field: 'HKFDate', event: "chooseHKFDate" }//
-                    , { field: 'HKFPeriod', title: '淇濊川鏈�', width: 100, edit: 'text', event: "inputHKFPeriod" }//
-                    , { field: 'HKFDQDate', title: '鍒版湡鏃ユ湡', align: 'center', width: 150, data_field: 'HKFDQDate', event: "chooseHKFDQDate" }//
+                    , { field: 'HKFPeriod', title: '淇濊川鏈�', width: 100 }//
+                    , { field: 'HKFDQDate', title: '鍒版湡鏃ユ湡', align: 'center', width: 150, data_field: 'HKFDQDate' }//, event: "chooseHKFDQDate"
                     //, { field: 'HDate', title: '瑕佹眰浜よ揣鏃ユ湡', width: 150 }
                     , { field: 'HPOOrderInterID', title: '閲囪喘璁㈠崟涓诲唴鐮�', width: 150, hide: true }
                     , { field: 'HPOOrderEntryID', title: '閲囪喘璁㈠崟瀛愬唴鐮�', width: 150, hide: true }
@@ -627,7 +668,102 @@
             table.on('toolbar(mainTable)', function (obj) {
                 var checkStatus = table.checkStatus(obj.config.id);
                 switch (obj.event) {
+                    case "btn-add":
+                        var oldData = table.cache["mainTable"];
+                        var checkStatus = table.checkStatus('mainTable')
+                            , data = checkStatus.data;
+                        var rows = '';
+                        var arr = [];
+                        arr.push(oldData);
+                        arr.push(checkStatus);
+                        for (var i = 0; i < data.length; i++) {
+                            rows += data[i].HMaterID.toString() + ',';
+                        }
+                        rows = rows.substring(rows.length - 1, 0);
+                        if (rows == "") {
+                            layer.msg("鑷冲皯閫夋嫨涓�琛岃褰曪紒")
+                        }
+                        else {
+                            var HRowCount;
+                            layer.prompt({
+                                formType: 2,
+                                //value: '',
+                                title: '璇疯緭鍏ヨ鎷嗘垚鍑犺',
+                                area: ['200px', '100px'] //鑷畾涔夋枃鏈煙瀹介珮
+                            }, function (value, index, elem) {
+                                HRowCount = value.toString();
+                                var count = parseInt(HRowCount);
+                                if (count > 1) {
+                                    var data1;
+                                    var dataindex = 0;
 
+                                    for (var i = 0; i < data.length; i++) {
+                                        for (var j = 0; j < oldData.length; j++) {
+                                            if (data[i].sorderid == oldData[j].sorderid) {
+                                                dataindex = j;
+                                                for (var x = 0; x < count - 1; x++) {
+                                                    //dataindex = dataindex + x;
+                                                    data1 = {
+                                                        /*  "sorderid": oldData.length + 1*/
+                                                        "HMaterID": data[i].HMaterID
+                                                        , "HMaterNumber": data[i].HMaterNumber
+                                                        , "HOldMaterNumber": data[i].HOldMaterNumber
+                                                        , "HMaterShortNumber": data[i].HMaterShortNumber
+                                                        , "HSubjoin": data[i].HSubjoin
+                                                        , "HMaterName": data[i].HMaterName
+                                                        , "HMaterModel": data[i].HMaterModel
+                                                        , "HUnitName": data[i].HUnitName
+                                                        , "HUnitNumber": data[i].HUnitNumber
+                                                        , "HUnitID": data[i].HUnitID
+                                                        , "HDDQty": data[i].HDDQty
+                                                        , "HMrbQty": data[i].HMrbQty
+                                                        , "HBarcodeCount": data[i].HBarcodeCount
+                                                        , "HNotBarcodeCount": data[i].HNotBarcodeCount
+                                                        , "HQty": data[i].HQty
+                                                        , "HMinQty": data[i].HMinQty
+                                                        , "HBQty": data[i].HBQty
+                                                        , "HWXQty": data[i].HWXQty
+                                                        , "HWBQty": data[i].HWBQty
+                                                        , "HPrice": data[i].HPrice
+                                                        , "HMoney": data[i].HMoney
+                                                        , "HMTONO": data[i].HMTONO
+                                                        , "HBatchNo": data[i].HBatchNo
+                                                        , "HKFDate": data[i].HKFDate
+                                                        , "HKFPeriod": data[i].HKFPeriod
+                                                        , "HKFDQDate": data[i].HKFDQDate
+                                                        , "HPOOrderInterID": data[i].HPOOrderInterID
+                                                        , "HPOOrderEntryID": data[i].HPOOrderEntryID
+                                                        , "HPOOrderBillNo": data[i].HPOOrderBillNo
+                                                        , "HWWOrderInterID": data[i].HWWOrderInterID
+                                                        , "HWWOrderEntryID": data[i].HWWOrderEntryID
+                                                        , "HWWOrderDetaiLID": data[i].HWWOrderDetaiLID
+                                                        , "HWWOrderBillNo": data[i].HWWOrderBillNo
+                                                        , "HSourceBillType": data[i].HSourceBillType
+                                                        , "HSourceBillNo": data[i].HSourceBillNo
+                                                        , "HSourceEntryID": data[i].HSourceEntryID
+                                                        , "HSourceInterID": data[i].HSourceInterID
+                                                        , "HSupID": data[i].HSupID
+                                                        , "HSupName": data[i].HSupName
+                                                    }
+                                                    //oldData.push(data1);
+                                                    oldData.splice(dataindex, 0, data1);
+                                                };
+                                                break;
+                                            }
+                                        }
+                                    }
+                                    table.reload('mainTable', {
+                                        url: '', //闇�瑕佹妸url缃┖,鍚﹀垯table.reload()閲嶈浇鏂规硶涓嶇敓鏁堛��
+                                        data: oldData
+                                    });
+                                    layer.close(index);
+                                }
+                                else {
+                                    layer.msg("鎷嗚鏁伴噺鑷冲皯涓�2锛�")
+                                }
+                            });
+                        }
+                        break;
                     //鑷畾涔夊ご宸ュ叿鏍�
                     case 'btn-normal':
                         table.render({
@@ -794,28 +930,28 @@
                     $(obj.tr).find(".layui-table-edit").keyup(function () {
                         var $input = $(this), val = $input.val();
                         if (!val) val = "1";
-                        $input.val(val.replace(/[^\d]/g, ''));
+                        $input.val(val.replace(/[^\d*\.?\d*]/g, ''));
                     });
                 }
                 else if (obj.event == 'inputHQty') {
                     $(obj.tr).find(".layui-table-edit").keyup(function () {
                         var $input = $(this), val = $input.val();
                         if (!val) val = "0";
-                        $input.val(val.replace(/[^\d]/g, ''));
+                        $input.val(val.replace(/[^\d*\.?\d*]/g, ''));
                     });
                 }
                 else if (obj.event == 'inputHMinQty') {
                     $(obj.tr).find(".layui-table-edit").keyup(function () {
                         var $input = $(this), val = $input.val();
                         if (!val) val = "0";
-                        $input.val(val.replace(/[^\d]/g, ''));
+                        $input.val(val.replace(/[^\d*\.?\d*]/g, ''));
                     });
                 }
                 else if (obj.event == 'inputHWXQty') {
                     $(obj.tr).find(".layui-table-edit").keyup(function () {
                         var $input = $(this), val = $input.val();
                         if (!val) val = "0";
-                        $input.val(val.replace(/[^\d]/g, ''));
+                        $input.val(val.replace(/[^\d*\.?\d*]/g, ''));
                     });
                 }
             });

--
Gitblit v1.9.1