From 3adc86ec0a181de83c4d14d4b2dcc7b41a2cd782 Mon Sep 17 00:00:00 2001
From: black-goat-me <226547893@qq.com>
Date: 星期四, 27 四月 2023 13:13:08 +0800
Subject: [PATCH] 条码明细页面添加列设置功能。

---
 WebTM/views/条码明细/Kf_BarCodeDetailQuery.html |  229 ++++++++++++++++++++++++++++++++++++++++++--------------
 1 files changed, 171 insertions(+), 58 deletions(-)

diff --git "a/WebTM/views/\346\235\241\347\240\201\346\230\216\347\273\206/Kf_BarCodeDetailQuery.html" "b/WebTM/views/\346\235\241\347\240\201\346\230\216\347\273\206/Kf_BarCodeDetailQuery.html"
index 7250a95..b13b9a7 100644
--- "a/WebTM/views/\346\235\241\347\240\201\346\230\216\347\273\206/Kf_BarCodeDetailQuery.html"
+++ "b/WebTM/views/\346\235\241\347\240\201\346\230\216\347\273\206/Kf_BarCodeDetailQuery.html"
@@ -103,6 +103,7 @@
                             <div class="layui-btn-container">
                                 <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-view"><i class="layui-icon layui-icon-tips"></i>棰勮</button>
                                 <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-print"><i class="layui-icon layui-icon-print"></i>鎵撳嵃</button>
+                                <button type="button" class="layui-btn layui-btn-sm" lay-event="set_HideColumn"><i class="layui-icon layui-icon-form"></i>鍒楄缃�</button>
                             </div>
                         </script>
                     </form>
@@ -129,26 +130,161 @@
                 , laypage = layui.laypage
                 , laydate = layui.laydate
                 , util = layui.util
-
-            var resultTableHead = []; //鑾峰彇鍒楄〃澶村瓧娈佃嚜瀹氫箟鍒楁暟缁�
             //鑾峰彇浼犻�掔殑鍙傛暟
             var params = get_UrlVars();
-            var HInterID = params.HInterID;      //鍗曟嵁鍐呯爜
-            var HBillType = params.HBillType;     //鍗曟嵁绫诲瀷
+            var HInterID = params.HInterID;                                       //鍗曟嵁鍐呯爜
+            var HBillType = params.HBillType;                                     //鍗曟嵁绫诲瀷
             var HBillNo = params.HBillNo;       //鍗曟嵁鍙�
             var sWhere = HInterID + ",'" + HBillType + "','" + HBillNo + "'";     //鎷兼帴浼犻�掔殑鍙傛暟
+            //琛ㄦ牸娓叉煋鍙傛暟
+            var col = [];
+            var option = [];
+            //妯″潡鍚嶇О
+            var HModName = "Kf_BarCodeDetailQuery";
             //#endregion
 
             //#region 杩涘叆椤甸潰鍔犺浇
-
-            //鍒濆鍖栬〃鍗曟彃浠�
-            set_InitFrom();
             //鍒濆鍖栫晫闈�
             set_ClearBill(sWhere);
-
             //#endregion
 
+
             //#region 瑙﹀彂浜嬩欢锛氬寘鎷琭orm.on(){}鏍煎紡鐨勬墍鏈夌偣鍑讳簨浠躲�侀�夋嫨浜嬩欢绛�
+
+            //澶村伐鍏锋爮浜嬩欢
+            table.on('toolbar(mainTable)', function (obj) {
+                var checkStatus = table.checkStatus(obj.config.id);
+                switch (obj.event) {
+                    //鍒楄缃�
+                    case 'set_HideColumn': get_HideColumn();
+                        break;
+                    case 'btn-view':
+                        break;
+                    case 'btn-print':
+                        break;
+                };
+            });
+
+            //闅愯棌鍒楄缃�
+            function get_HideColumn() {
+                var colName = "";
+                var contentUrl = "";
+                for (var i = 1; i < option.cols[0].length - 1; i++) {
+                    colName += option.cols[0][i]["title"] + ",";
+                }
+                var urlStr = window.document.location.pathname;//鑾峰彇鏂囦欢璺緞
+                var urlLen = urlStr.split('/');
+                for (var i = 0; i < urlLen.length - 4; i++) {
+                    contentUrl += "../";
+                }
+                colName = encodeURI(colName.substring(0, colName.length - 1));//瀵� URI 杩涜缂栫爜
+
+                contentUrl += '鍩虹璧勬枡/闅愯棌鍒楄缃�/Gy_GridView_Hide.html?HModName=' + HModName + '&colName=' + colName;
+
+                layer.open({
+                    type: 2
+                    , skin: "layui-layer-rim" //鍔犱笂杈规
+                    , title: "闅愯棌鍒楄缃�"  //鏍囬
+                    , closeBtn: 1  //绐椾綋鍙充笂瑙掑叧闂� 鐨� 鏍峰紡
+                    , shift: 2 //寮瑰嚭鍔ㄧ敾
+                    , area: ["50%", "90%"] //绐椾綋澶у皬
+                    , maxmin: true //璁剧疆鏈�澶ф渶灏忔寜閽槸鍚︽樉绀�
+                    , content: [contentUrl, "yes"]
+                    , btn: ["纭畾", "鍙栨秷"]
+                    , btn1: function (index, laero) {
+                        //鍒锋柊琛ㄦ牸鏁版嵁
+                        DisPlay_HideColumn();
+                        //鏇存柊琛ㄦ牸缂撳瓨鐨勬暟鎹�
+                        layer.close(index);//鍏抽棴寮圭獥
+                    }
+                })
+            }
+
+
+            //鏄剧ず鍒楁暟鎹�
+            function DisPlay_HideColumn() {
+                $.ajax({
+                    url: GetWEBURL() + '/Xt_grdAlignment_WMES/grdAlignmentWMESList',
+                    type: "GET",
+                    data: { "HModName": HModName, "user": sessionStorage["HUserName"] },
+                    success: function (data1) {
+                        if (data1.data.length != 0) {
+
+
+                            var dataCol = [];//鏁版嵁搴撴煡璇㈠嚭鐨勫垪鏁版嵁
+                            var titleData = ["hmainid", "hsupid", "hsecmanagerid", "hkeeperid", "HDeptID", "hsubid", "hmaterid", "hunitid", "hwhid"];//涓嶉渶瑕佹樉绀虹殑瀛楁 鍙墿灞�
+
+                            dataCol = data1.data[0].HGridString.split(',');
+
+                            for (var i = 0; i < option.cols[0].length - 2; i++) {
+                                var dataCols = dataCol[i].split('|');
+                                //闅愯棌鍒�
+                                if (dataCols[1] == 1) {
+                                    option.cols[0][i + 1]["hide"] = true;
+                                }
+                                //璁剧疆鍒楀
+                                if (dataCols[3] > 0) {
+                                    option.cols[0][i + 1]["width"] = dataCols[3];
+                                }
+                                //璁剧疆鍐呭瀛椾綋澶у皬
+                                if (data1.data[0].HFontSize != 0) {
+                                    option.cols[0][i + 1]["style"] = "font-size:" + data1.data[0].HFontSize + "px;";
+                                } else {
+                                    option.cols[0][i + 1]["style"] = "font-size:100%";
+                                }
+                                //璁剧疆鍒楀
+                                //if (data1.data[0].HColumnWidth != 0) {
+                                //    option.cols[0][i + 1]["width"] = data1.data[0].HColumnWidth + "px;";
+                                //} 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":
+                                        option.cols[0][i + 1]["align"] = "left";
+                                        break;
+                                    case "M":
+                                        option.cols[0][i + 1]["align"] = "center";
+                                        break;
+                                    case "R":
+                                        option.cols[0][i + 1]["align"] = "right";
+                                        break;
+                                }
+                            }
+
+                            //鍙栨秷鍐荤粨鍒�
+                            for (var i = 1; i < option.cols[0].length - 1; i++) {
+                                if (option.cols[0][i]["fixed"] != null) {
+                                    option.cols[0][i]["fixed"] = null;
+                                }
+                                else {
+                                    break;
+                                }
+                            }
+                            //鍐荤粨鍒�
+                            if (data1.data[0].HFixCols != 0) {
+                                for (var i = 0; i < data1.data[0].HFixCols; i++) {
+                                    if ($.inArray(option.cols[0][i + 1]["title"], titleData) != -1) {
+                                        data1.data[0].HFixCols += 1;
+                                    }
+                                    option.cols[0][i + 1]["fixed"] = "left";
+                                }
+                            }
+                            table.render(option);
+                        } else {
+                            table.render(option);
+                        }
+                    }, error: function () {
+                        layer.alert("鎺ュ彛璇锋眰澶辫触!", { icon: 5 });
+                    }
+                })
+            }
+
+
 
             //// 鏌ヨ鎸夐挳
             //form.on('submit(btnSearch)', function (data) {
@@ -199,59 +335,23 @@
                         $("#HBillType").val("濮斿鍔犲伐鍑哄簱鍗�");
                         break;
                 }
-                resultTableHead = []; //娓呯┖琛ㄥご鍒楋紝闃叉閲嶅娓叉煋
-                //鍒濆鏌ヨ
+                //鍒濆鍖栬〃鏍兼覆鏌撳弬鏁�
+                set_InitGrid();
+                //涓鸿〃鏍兼覆鏌撳弬鏁拌祴鍊兼暟鎹苟杩涜娓叉煋
                 get_Display(sWhere);
-            }
-
-            // 鍒濆鍖栬〃鍗�
-            function set_InitFrom() {
-                //laydate.render({
-                //    elem: '#HStartDate'
-                //});
-                //laydate.render({
-                //    elem: '#HEndDate'
-                //});
-                //$("#HStartDate").val(Format(new Date(new Date() - 1000 * 60 * 60 * 24 * 30), "yyyy-MM-dd"));
-                //$("#HEndDate").val(Format(new Date(), "yyyy-MM-dd"));
+                //闅愯棌鍕鹃�夊瓧娈�
+                DisPlay_HideColumn();
             }
 
             //region 鍒濆鍖栬〃鏍兼柟娉�
-            function set_InitGrid(sWhere) {
-                //濉厖琛ㄦ牸澶存暟缁�
-                var data = resultTableHead;
-
-                cols_arr[0] = [];
-                cols_arr[0][0] = { checkbox: true, fixed: true, totalRowText: '鍚堣' };
-                for (var i = 0; i < data.length; i++) {
-                    if (data[i].name == 'HItemID') {
-                        cols_arr[0][i + 1] = { field: data[i].id, title: data[i].name, align: 'center', hide: true }; //闅愯棌id鍒�
-                    }
-                    else {
-                        switch (data[i].name) {
-                            //int
-                            case '鏁伴噺':
-                                cols_arr[0][i + 1] = { field: data[i].id, title: data[i].name, align: 'center', totalRow: true, sort: true };
-                                break;
-                            //Decimal
-                            //case 'Decimal':
-                            //    cols_arr[0][i + 1] = { field: data[i].id, title: data[i].name, align: 'center', totalRow: true, sort: true };
-                            //    break;
-                            default:
-                                cols_arr[0][i + 1] = { field: data[i].id, title: data[i].name, align: 'center', sort: true };
-                        }
-                    }
-                }
-
+            function set_InitGrid() {
                 //濉厖琛ㄦ牸鏁版嵁
-                table.render({
+                option = {
                     elem: '#mainTable',
-                    url: GetWEBURL() + '/Kf_ICStockInOutBill/Kf_BarCodeDetailQuery',
                     toolbar: '#toolbarDemo', //寮�鍚ご閮ㄥ伐鍏锋爮锛屽苟涓哄叾缁戝畾宸︿晶妯℃澘
-                    title: '鍑哄叆鍙e崟鎹潯鐮佹槑缁�',
-                    cols: cols_arr,    //濉厖琛ㄦ牸澶存暟鎹�,
+                    title: '鍗曟嵁鏉$爜鏄庣粏',
+                    cols: [[]],    //濉厖琛ㄦ牸澶存暟鎹�,
                     id: 'mainTable', //琛ㄦ牸id
-                    where: { "sWhere": sWhere }, //鎵╁睍鍙傛暟,鍙互浼犳暟鎹埌鍚庡彴
                     page: false,   //鍏抽棴鍒嗛〉
                     totalRow: true, //寮�鍚悎璁�
                     limit: 50,     //涓�椤佃兘澶熸樉绀虹殑鏈�澶ф暟鐩�
@@ -271,10 +371,8 @@
                     done: function (res) {   //杩斿洖鏁版嵁鎵ц鍥炶皟鍑芥暟
                         layer.close(layer.index);    //杩斿洖鏁版嵁鍏抽棴loading
                     }
-                });
-                sWhere = {};
+                };
             }
-
 
             //杩涘叆椤甸潰鏄剧ず鐨勭紦瀛樺垪琛�
             function get_Display(sWhere) {
@@ -288,10 +386,25 @@
                     async: false,
                     dataType: "json",//鏁版嵁绫诲瀷鍙互涓� text xml json  script  jsonp
                     success: function (data1) {
+                        //鑾峰彇琛ㄦ牸鍒楄〃琛ㄥご鐨勬暟缁�
+                        col[0] = { checkbox: true, fixed: true, totalRowText: '鍚堣' };
                         for (var key in data1.list) {
-                            resultTableHead.push({ "id": data1.list[key].ColmCols, "name": data1.list[key].ColmCols, "Type": data1.list[key].ColmType });
+                            if (data1.list[key].ColmCols == "HItemID") {
+                                col[1 + parseInt(key)] = { field: data1.list[key].ColmCols, title: data1.list[key].ColmCols, width: 200, align: 'center', hide: true };
+                            } else {
+                                switch (data1.list[key].ColmCols) {
+                                    case "鏁伴噺":
+                                        col[1 + parseInt(key)] = { field: data1.list[key].ColmCols, title: data1.list[key].ColmCols, width: 200, align: 'center', totalRow: true, sort: true };
+                                        break;
+                                    default:
+                                        col[1 + parseInt(key)] = { field: data1.list[key].ColmCols, title: data1.list[key].ColmCols, width: 200, sort: true };
+                                }
+                            }
                         }
-                        set_InitGrid(sWhere);
+                        //涓鸿〃鏍兼覆鏌撶殑鍙傛暟璁惧畾鍊�
+                        option.cols = [col];
+                        option.data = data1.data;
+                        table.render(option);
                     }, error: function (err) {
                         layer.alert(err.Message, { icon: 5 });
                     }

--
Gitblit v1.9.1