From 0ca6e523743f8772acef18f8b2e42c2df5a093ad Mon Sep 17 00:00:00 2001
From: yangle <admin@YINMOU>
Date: 星期二, 26 十二月 2023 14:43:19 +0800
Subject: [PATCH] 1

---
 WebSRM/layuiAdmin.std-v1.2.1/src/views/SRM/SRM_POOrderBillList.html |  214 +++++++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 174 insertions(+), 40 deletions(-)

diff --git a/WebSRM/layuiAdmin.std-v1.2.1/src/views/SRM/SRM_POOrderBillList.html b/WebSRM/layuiAdmin.std-v1.2.1/src/views/SRM/SRM_POOrderBillList.html
index eb230d5..fdfdae4 100644
--- a/WebSRM/layuiAdmin.std-v1.2.1/src/views/SRM/SRM_POOrderBillList.html
+++ b/WebSRM/layuiAdmin.std-v1.2.1/src/views/SRM/SRM_POOrderBillList.html
@@ -31,17 +31,7 @@
                                             <span>鏇村</span>
                                         </div>
                                     </div>
-                                    <div class="layui-inline">
-                                        <label class="layui-form-label">璁㈠崟鐘舵��</label>
-                                        <div class="layui-input-block">
-                                            <select name="HStatus" id="HStatus" lay-filter="">
-                                                <option value="" selected="">鍏ㄩ儴</option>
-                                                <option value="鏈‘璁�">鏈‘璁�</option>
-                                                <option value="宸茬‘璁�">宸茬‘璁�</option>
-                                                <option value="宸查┏鍥�">宸查┏鍥�</option>
-                                            </select>
-                                        </div>
-                                    </div>
+                                  
                                     <div class="layui-inline">
                                         <label class="layui-form-label">鍗曟嵁鍙�</label>
                                         <div class="layui-input-block">
@@ -52,6 +42,12 @@
                                         <label class="layui-form-label">鐗╂枡缂栫爜</label>
                                         <div class="layui-input-block">
                                             <input type="text" class="layui-input" name="HShortNumber" id="HShortNumber">
+                                        </div>
+                                    </div>
+                                    <div class="layui-inline">
+                                        <label class="layui-form-label">鏃х墿鏂欑紪鐮�</label>
+                                        <div class="layui-input-block">
+                                            <input type="text" class="layui-input" name="HOldMaterNumber" id="HOldMaterNumber">
                                         </div>
                                     </div>
                                     <div class="layui-inline">
@@ -134,7 +130,38 @@
                                                 </select>
                                             </div>
                                         </div>
-
+                                        <div class="layui-inline">
+                                            <label class="layui-form-label">璁㈠崟鐘舵��</label>
+                                            <div class="layui-input-block">
+                                                <select name="HStatus" id="HStatus" lay-filter="">
+                                                    <option value="" selected="">鍏ㄩ儴</option>
+                                                    <option value="鏈‘璁�">鏈‘璁�</option>
+                                                    <option value="宸茬‘璁�">宸茬‘璁�</option>
+                                                    <option value="宸查┏鍥�">宸查┏鍥�</option>
+                                                </select>
+                                            </div>
+                                        </div>
+                                        <div class="layui-inline">
+                                            <label class="layui-form-label">瀹屾垚鐘舵��</label>
+                                            <div class="layui-input-block">
+                                                <select name="HFinishStatus" id="HFinishStatus" lay-filter="">
+                                                    <option value="">鍏ㄩ儴</option>
+                                                    <option value="鏈畬鎴�" selected="">鏈畬鎴�</option>
+                                                    <option value="宸插畬鎴�">宸插畬鎴�</option>
+                                                </select>
+                                            </div>
+                                        </div>
+                                        <!--鐟炵惇-->
+                                        <div class="layui-inline">
+                                            <label class="layui-form-label">涓氬姟鍏抽棴</label>
+                                            <div class="layui-input-block">
+                                                <select id="HIsClose" name="HIsClose" lay-filter="">
+                                                    <option value="鍏ㄩ儴" selected>鍏ㄩ儴</option>
+                                                    <option value="鏄�">鏄�</option>
+                                                    <option value="鍚�">鍚�</option>
+                                                </select>
+                                            </div>
+                                        </div>
                                     </div>
                                 </div>
                             </div>
@@ -154,6 +181,7 @@
                             <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-generate"><i class="layui-icon layui-icon-file"></i>鐢熸垚閫佽揣鍗�</button>
                             <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-exit"><i class="layui-icon layui-icon-return"></i>閫�鍑�</button>
                             <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-HideColumn"><i class="layui-icon layui-icon-return"></i>闅愯棌鍒楄缃�</button>
+                            <button type="button" class="layui-btn layui-btn-sm" lay-event="set_dao"><i class="layui-icon layui-icon-form"></i>瀵煎嚭</button>
                         </div>
                     </script>
                 </div>
@@ -202,14 +230,15 @@
             base: '../../layuiadmin/' //闈欐�佽祫婧愭墍鍦ㄨ矾寰�
         }).extend({
             index: 'lib/index' //涓诲叆鍙fā鍧�
-        }).use(['index', 'form', 'laydate', 'code', 'table', 'element', 'layer'], function () {
+        }).use(['index', 'form', 'laydate', 'code', 'table', 'element', 'layer','excel'], function () {
             var $ = layui.$
                 , admin = layui.admin
                 , layer = layui.layer
                 , laydate = layui.laydate
                 , table = layui.table
                 , form = layui.form
-                , element = layui.element;
+                , element = layui.element
+                , excel = layui.excel;
             //甯歌鐢ㄦ硶
             laydate.render({
                 elem: '#HDate1'
@@ -217,6 +246,8 @@
             laydate.render({
                 elem: '#HDate2'
             });
+            //涓嶉渶瑕佹樉绀虹殑瀛楁 鍙墿灞�
+            var titleData = ["HItemID", "HParentID"];
             var option = [];
             var HModName = "SRM_POOrderBillList";
             //#region 杩涘叆椤甸潰鏃㈠姞杞�
@@ -228,9 +259,9 @@
                 $("#HPURCHASEORGID").append(Organization);
                 form.render('select');
                 //鍒濆鍖栬〃鏍�
-                set_InitGrid();
+                //set_InitGrid();
                 //鏄剧ず鍒楁暟鎹�
-                DisPlay_HideColumn();
+                //DisPlay_HideColumn();
                 //鐩存帴鎵ц鍒楄〃绛涢�� 鍔犺浇鏁版嵁鍒扮綉鏍�
                 get_FastQuery(table, option)
             }
@@ -238,7 +269,7 @@
                 //$("#HBeginDate").val("2022-03-14");
                 //$("#HEndDate").val(Format(new Date(), "yyyy-MM-dd"));
                 var columns = [
-                    { type: 'checkbox', fixed: 'left' }
+                    { type: 'checkbox', fixed: 'left', totalRowText: '鍚堣' }
                     //{ type: 'radio', fixed: true }
                     , { field: 'sorderid', title: '搴忓彿', width: 80/*, fixed: true */ }
                     , { field: 'hmainid', title: 'hmainid', sort: true, /*fixed: true,*/ hide: true }
@@ -248,12 +279,9 @@
                     //, { field: '浼樺厛绾�', title: '浼樺厛绾�', width: 100/*, fixed: true */}
                     , { field: '鍗曟嵁鍙�', title: '鍗曟嵁鍙�', width: 150, sort: true/*, fixed: 'left' */ }
                     , { field: '璁″垝璺熻釜鍗曞彿', title: '璁″垝璺熻釜鍗曞彿', sort: true, hide: true }
-                    , { field: 'F_xbkf_Combo', title: '鑷畾涔夋爣璇�', width: 120 }
-                    , { field: 'FSHDD', title: '閫佽揣鍦扮偣', width: 120 }
-                    , { field: 'FStockInQty', title: '绱鍏ュ簱鏁伴噺', width: 120 }
+                    , { field: '鑷畾涔夋爣璇�', title: '鑷畾涔夋爣璇�', width: 120 }
+                    , { field: '閫佽揣鍦扮偣', title: '閫佽揣鍦扮偣', width: 120 }
                     , { field: '鍖呰鏍囪瘑', title: '鍖呰鏍囪瘑', width: 120 }
-                    , { field: 'FMRBQTY', title: '绱閫�鏂欐暟閲�', width: 120 }
-                    , { field: 'FMRBQTY', title: '鍞竴鏍囪瘑', width: 120 }
                     , { field: '鍞竴ID', title: '鍞竴ID', width: 120 }
                     //, { field: '鐗╂枡缂栫爜', title: '鐗╂枡缂栫爜', width: 120, sort: true }
                     , { field: '鐗╂枡浠g爜', title: '鐗╂枡缂栫爜', width: 120, sort: true }
@@ -261,8 +289,8 @@
                     , { field: '璁¢噺鍗曚綅', title: '璁¢噺鍗曚綅', width: 80, sort: true }
                     , { field: '鏁伴噺', title: '璁㈠崟鏁伴噺', sort: true }
                     , { field: '鎵撳嵃鏉$爜鏁伴噺', title: '鎵撳嵃鏉$爜鏁伴噺', sort: true }
-                    , { field: '鍏宠仈鏁伴噺', title: '宸插彂璐ф暟閲�', sort: true }
-                    , { field: '鏈叧鑱旀暟閲�', title: '鏈彂璐ф暟閲�', sort: true }
+                    , { field: '宸插彂璐ф暟閲�', title: '宸插彂璐ф暟閲�', sort: true, totalRow: true }
+                    , { field: '鍙彂璐ф暟閲�', title: '鍙彂璐ф暟閲�', sort: true, totalRow: true}
                     , { field: '浜よ揣鍦扮偣', title: '浜よ揣鍦扮偣', sort: true }
                     , { field: '浜よ揣鏃ユ湡', title: '浜よ揣鏃ユ湡', width: 180, sort: true }
                     , { field: '鏃ユ湡', title: '鏃ユ湡', width: 120, sort: true/*, fixed: 'left' */ }
@@ -289,7 +317,7 @@
                     , totalRow: true
                     , limit: 500
                     , height: 'full-50'
-                    , cols: [columns]
+                    //, cols: [columns]
                     , limits: [500, 5000, 20000]
                     , done: function (res, curr, count) {
 
@@ -331,7 +359,6 @@
                     success: function (data1) {
                         if (data1.data.length != 0) {
                             var dataCol = [];//鏁版嵁搴撴煡璇㈠嚭鐨勫垪鏁版嵁
-                            var titleData = [];//涓嶉渶瑕佹樉绀虹殑瀛楁 鍙墿灞�
                             dataCol = data1.data[0].HGridString.split(',');
                             for (var i = 0; i < dataCol.length; i++) {
                                 var dataCols = dataCol[i].split('|');
@@ -339,6 +366,11 @@
                                 if (dataCols[1] == 1) {
                                     option.cols[0][i + 1]["hide"] = true;
                                 }
+                                //鏄剧ず鍒�
+                                if (dataCols[1] == 0 && $.inArray(option.cols[0][i + 1]["title"], titleData) == -1) {
+                                    option.cols[0][i + 1]["hide"] = false;
+                                }
+                                //闅愯棌id
                                 //璁剧疆鍒楀
                                 if (dataCols[3] > 0) {
                                     option.cols[0][i + 1]["width"] = dataCols[3];
@@ -355,10 +387,7 @@
                                 //} else {
                                 //    option.cols[0][i + 1]["width"] = "";
                                 //}
-                                //鏄剧ず鍒�
-                                if (dataCols[1] == 0 && $.inArray(option.cols[0][i + 1]["title"], titleData) == -1) {
-                                    option.cols[0][i + 1]["hide"] = false;
-                                }
+                                 
                                 //瀛椾綋鎵�鍦ㄤ綅缃�(宸� 灞呬腑 鍙�)
                                 switch (dataCols[2]) {
                                     case "L":
@@ -372,7 +401,6 @@
                                         break;
                                 }
                             }
-
                             //鍙栨秷鍐荤粨鍒�
                             for (var i = 1; i < option.cols[0].length - 1; i++) {
                                 if (option.cols[0][i]["fixed"] != null) {
@@ -408,14 +436,60 @@
                     url: GetWEBURL() + "GetPOOrderBill",
                     async: true,
                     data: { "HSupNo": sessionStorage["HUserName"], "sqlWhere": sqlWhere },
-                    success: function (result) {
-                        if (result.Message == "鑾峰彇鎴愬姛") {
-                            option.data = result.data;
-                            table.render(option);
+                    success: function (data1) {
+                        if (data1.Message == "鑾峰彇鎴愬姛") {
+                        var data = [];
+                        var col = [];
+                        //缁欑┖鐨勬暟缁勮祴鍊�
+                        for (var key in data1.list) {
+                            data.push({ "id": data1.list[key].ColmCols, "name": data1.list[key].ColmCols, "Type": data1.list[key].ColmType });
+                        }
+                        //鍦ㄥ垪琛ㄥ乏杈规坊鍔犲嬀閫夋
+                        col.push({ type: 'checkbox', fixed: 'left', totalRowText: '鍚堣' });
+                        for (var i = 0; i < data.length; i++) {
+                            // if (data[i].name == 'HInterID' || data[i].name == 'HBillType' || data[i].name == 'hmainid') {
+                            if ($.inArray(data[i].name, titleData) > -1) {
+                                col.push({ field: data[i].id, title: data[i].name, align: 'center', hide: true }); //闅愯棌id鍒�
+                            }
+                            else if (data[i].name.indexOf('id') > -1)
+                            {
+                                col.push({ field: data[i].id, title: data[i].name, align: 'center', hide: true }); //id鍒�
+                            }
+                            else {
+                                switch (data[i].Type) {
+                                    //int
+                                    case 'DateTime':
+                                        col.push({ field: data[i].id, title: data[i].name, align: 'center', sort: true, templet: "<div>{{d." + data[i].name + " ==null ?'':layui.util.toDateString(d." + data[i].name + ", 'yyyy-MM-dd')}}</div>", width: 200 });
+                                        break;
+                                    default:
+                                        if (data[i].name == '璁㈠崟鏁伴噺' || data[i].name == '宸插彂璐ф暟閲�' || data[i].name == '鏈彂璐ф暟閲�' || data[i].name == '鍓╀綑鏀舵枡鏁伴噺' || data[i].name == '鏈埌璐ф暟閲�' || data[i].name == '绱鏀舵枡鏁伴噺' || data[i].name == '鍓╀綑鍏ュ簱鏁伴噺' || data[i].name == '鍏ュ簱鏁伴噺') {
+                                            col.push({ field: data[i].id, title: data[i].name, align: 'center', sort: true, width: 200, totalRow: true });
+                                        } else {
+                                            col.push({ field: data[i].id, title: data[i].name, align: 'center', sort: true, width: 200 });
+                                        }     
+                                }
+                            }
+                        }
+                        //鍔ㄦ�佹樉绀哄垪鍚�
+                        option = {
+                            elem: '#mainTable'
+                            , toolbar: '#toolbarDemo'
+                            , cols: [col]
+                            , data: data1.data
+                            , height: 'full-80'
+                            ,totalRow: true
+                            , page: true
+                            , cellMinWidth: 90
+                            , limit: 500
+                            , limits: [50, 500, 5000, 20000]
+                        }
+                        table.render(option);
+                        //鍒锋柊琛ㄦ牸鏁版嵁
+                        DisPlay_HideColumn();
                             layer.close(wait);
                         } else {
                             layer.close(wait);
-                            layer.alert(result.Message, { icon: 5 });
+                            layer.alert(data1.Message, { icon: 5 });
                         }
                     },
                     error: function (result) {
@@ -431,12 +505,16 @@
             //鏌ヨ鏉′欢
             function get_FastQuery(table, option) {
                 var sqlWhere = "";
+                if ($("#HFinishStatus").val() != "")
+                    sqlWhere += " and 瀹屾垚鐘舵�� like ^^%" + $("#HFinishStatus").val() + "%^^";
                 if ($("#HStatus").val() != "")
                     sqlWhere += " and 鐘舵�� like ^^%" + $("#HStatus").val() + "%^^";
                 if ($("#HBillNo").val() != "")
                     sqlWhere += " and 鍗曟嵁鍙� like ^^%" + $("#HBillNo").val() + "%^^";
                 if ($("#HShortNumber").val() != "")
                     sqlWhere += " and 鐗╂枡缂栫爜 like ^^%" + $("#HShortNumber").val() + "%^^";
+                if ($("#HOldMaterNumber").val() != "")
+                    sqlWhere += " and 鏃х墿鏂欑紪鐮� like ^^%" + $("#HOldMaterNumber").val() + "%^^";
                 if ($("#HNumber").val() != "")
                     sqlWhere += " and 鐗╂枡浠g爜 like ^^%" + $("#HNumber").val() + "%^^";
                 if ($("#HName").val() != "")
@@ -445,8 +523,8 @@
                     sqlWhere += " and 瑙勬牸鍨嬪彿 like ^^%" + $("#HModel").val() + "%^^";
                 if ($("#HClStatus").val() != "")
                     sqlWhere += " and 鍏抽棴鐘舵�� like ^^%" + $("#HClStatus").val() + "%^^";
-                //if ($("#HPURCHASEORGID").val() != "")
-                //    sqlWhere += " and 閲囪喘缁勭粐 like ^^%" + $("#HPURCHASEORGID").val() + "%^^";
+                if ($("#HPURCHASEORGID").val() != "" && $("#HPURCHASEORGID option:selected").text() != "瀹夌憺闆嗗洟")
+                    sqlWhere += " and HPURCHASEORGID = ^^" + $("#HPURCHASEORGID").val() + "^^";
                 if ($("#HDate1").val() != "") {
                     sqlWhere += " and 鏃ユ湡 >= ^^" + $("#HDate1").val() + "^^";
                 }
@@ -459,6 +537,15 @@
                     }
                     else if ($("#HISGenerate").val() == "鍚�") {
                         sqlWhere += " and 鏈叧鑱旀暟閲� > 0";
+                    }
+                }
+                /*鐟炵惇*/
+                if ($("#HIsClose").val() != "") {
+                    if ($("#HIsClose").val() == "鏄�") {
+                        sqlWhere += " and 涓氬姟鍏抽棴 = ^^宸插叧闂璣^";
+                    }
+                    else if ($("#HIsClose").val() == "鍚�") {
+                        sqlWhere += " and 涓氬姟鍏抽棴 = ^^鏈叧闂璣^";
                     }
                 }
                 var Time = $("#Time").val();
@@ -516,11 +603,28 @@
                         var checkStatus = table.checkStatus('mainTable')
                             , data = checkStatus.data;
                         _cur_page = $(".layui-laypage-em").next().html();
+
+                        var HInterIDArr = "";
+                        var HBillNoArr = "";
+                        var HBillInter = "";
+
+                        for (let i = 0; i < data.length; i++) {
+                            HInterIDArr += data[i].hmainid.toString() + ",";
+                            HBillNoArr += "'" + data[i].鍗曟嵁鍙�.toString() + "'" + ",";
+                            HBillInter += data[i].鍗曟嵁鍙�.toString() + "@" + data[i].hmainid.toString() + ",";
+                        }
+
+                        HInterIDArr = HInterIDArr.substring(0, HInterIDArr.length - 1)//鍐呯爜
+                        HBillNoArr = HBillNoArr.substring(0, HBillNoArr.length - 1)//鍗曟嵁鍙�
+                        HBillInter = HBillInter.substring(0, HBillInter.length - 1)//鍗曟嵁鍙� + @ + 鍐呯爜鎷兼帴
+
+                        var oData = JSON.stringify(HInterIDArr) + ";" + JSON.stringify(HBillInter) + ";" + sessionStorage["HUserName"];
+
                         layer.confirm('鏄惁纭鍗曟嵁?', { icon: 3, title: '鎻愮ず' }, function (index) {
                             $.ajax({
-                                type: "get",
+                                type: "post",
                                 url: GetWEBURL() + "POOrderAccept",
-                                data: { "HInterID": data[0]["hmainid"].toString(), "HBillNo": data[0]["鍗曟嵁鍙�"].toString(), "HUser": sessionStorage["HUserName"] },
+                                data: { "oData": oData },
                                 success: function (result) {
                                     if (result.count == 1) { // 璇存槑楠岃瘉鎴愬姛浜嗭紝
                                         layer.msg(result.Message, { icon: 1 });
@@ -602,6 +706,9 @@
                             layer.alert("璇烽�夋嫨鏁版嵁", { icon: 5 });
                             return;
                         }
+                        if (data[0].瀹屾垚鐘舵�� == "宸插畬鎴�") {
+                            return layer.msg('璁㈠崟宸插畬鎴愶紒')
+                        }
                         ajaxLabelData = data;
                         //鏍规嵁閫変腑鐨勯噰璐鍗曪紝閲嶆柊浠庨噾铦朵簯鍚屾閲囪喘璁㈠崟鍏宠仈鏁伴噺杩囨潵銆傝�冭檻閲囪喘璁㈠崟鍒犻櫎鍜屽叧闂姸鎬侊紝鍚屾鐘舵��
                         var ids = "";
@@ -682,6 +789,9 @@
                             , data = checkStatus.data;
                         if (data.length == 0) {
                             return layer.msg('璇烽�夋嫨鏁版嵁')
+                        }
+                        if (data[0].瀹屾垚鐘舵�� == "宸插畬鎴�") {
+                            return layer.msg('璁㈠崟宸插畬鎴愶紒')
                         }
                         layer.open({
                             type: 2
@@ -772,6 +882,30 @@
                             }
                         });
                         break;
+                    case 'set_dao':
+                        //鑾峰彇鍒楄〃鍒楁暟鎹簮
+                        var ColName = [];
+                        for (var i = 1; i < option.cols[0].length; i++) {
+                            if (option.cols[0][i]["hide"] != true) {
+                                ColName.push(option.cols[0][i]["field"]);
+                            }
+                        }
+                        //缁戝畾鏁版嵁
+                        var data = excel.filterExportData(option.data, ColName)
+
+                        //璧嬪�间簬琛ㄥご鍒楀悕
+                        var Title = [];
+                        for (var i = 0; i < ColName.length; i++) {
+                            Title.push("\"" + ColName[i] + "\":\"" + ColName[i] + "\"");
+                        }
+                        var TitleName = JSON.parse("{" + Title.toString() + "}");
+                        data.unshift(TitleName);
+
+                        //瀵煎嚭 sheet1 宸ヤ綔琛ㄥ悕
+                        excel.exportExcel({
+                            sheet1: data
+                        }, '閲囪喘璁㈠崟鍒楄〃.xlsx', 'xlsx');
+                        break;
                 };
             });
         });

--
Gitblit v1.9.1