From 5e376d06404a16cb3c82a93cff351c5315bbcfe3 Mon Sep 17 00:00:00 2001
From: lu <99954486@qq.com>
Date: 星期六, 28 六月 2025 16:10:22 +0800
Subject: [PATCH] 客户多打印

---
 DevApp/Gs.DevApp/UserControl/UcBtnPrint.cs |   78 +++++++++++++++++++++++++++++++-------
 1 files changed, 63 insertions(+), 15 deletions(-)

diff --git a/DevApp/Gs.DevApp/UserControl/UcBtnPrint.cs b/DevApp/Gs.DevApp/UserControl/UcBtnPrint.cs
index 68187f0..8dbfded 100644
--- a/DevApp/Gs.DevApp/UserControl/UcBtnPrint.cs
+++ b/DevApp/Gs.DevApp/UserControl/UcBtnPrint.cs
@@ -1,8 +1,12 @@
 锘縰sing Gs.DevApp.DevFrm.Rpt;
+using Gs.DevApp.Entity;
 using Gs.DevApp.ToolBox;
 using Newtonsoft.Json;
 using System;
+using System.Data;
+using System.Drawing;
 using System.Windows.Forms;
+
 
 namespace Gs.DevApp.UserControl
 {
@@ -17,7 +21,6 @@
                     btnPrintClick(this, e);
                 else
                     return;
-
                 if (rptParameter == "return false")
                     return;
                 if (string.IsNullOrEmpty(rptParameter))
@@ -25,24 +28,46 @@
                     MsgHelper.ShowError("娌℃湁鎸囧畾鎶ヨ〃鍙傛暟锛岃鑱旂郴鎶�鏈紑鍙戜汉鍛橈紒");
                     return;
                 }
-                var _bl = false;
-                _bl = _ckRptService();
-                if (_bl)
+                #region 濡傛灉鏄鎴风殑
+                if (rptParameter.Contains("rpt_hgm"))
                 {
+                    var _obj = new
+                    {
+                        keyType = "瀹㈡埛妯℃澘"
+                    };
+                    var json = JsonConvert.SerializeObject(_obj);
                     try
                     {
-                        using (Form frm = new RptPreview(guidKey, rptParameter))
+                        var strReturn =
+                            UtilityHelper.HttpPost("", "Report/GetTemplateList", json);
+                        ReturnModel<DataTable> dd = UtilityHelper.ReturnToList(strReturn);
+                        DataTable dt = dd.rtnData;
+                        if (dd.rtnCode > 0)
                         {
-                            frm.ShowDialog();
+                            // 鍒涘缓鎴栬幏鍙栦竴涓狢ontextMenu瀵硅薄锛堜緥濡備娇鐢–ontextMenuStrip锛�
+                            ContextMenu contextMenu = new ContextMenu();
+                            foreach (DataRow dr in dt.Rows)
+                            {
+                                MenuItem menuItem1 = new MenuItem(dr["reportType"].ToString() + "銆�" + dr["reportName"].ToString() + "銆�");
+                                menuItem1.Click += (ss, ee) =>
+                                {
+                                    rptParameter = rptParameter.Replace("rpt_hgm", dr["reportType"].ToString());
+                                    _print();
+                                };
+                                contextMenu.MenuItems.Add(menuItem1);
+                            }
+                            // 鏄剧ず鑿滃崟鍦ㄦ寜閽殑浣嶇疆
+                            contextMenu.Show(btnPrint, new Point(0, btnPrint.Height)); // 璋冩暣绗簩涓弬鏁颁互璋冩暣鑿滃崟鐨勬樉绀轰綅缃�
+                            return;
                         }
                     }
-                    catch (Exception)
-                    {
-                    }
-                    return;
+                    catch (Exception ex)
+                    { }
                 }
+                #endregion
 
-                MsgHelper.ShowError("娌℃湁璁捐妯℃澘锛岃鍏堣璁℃ā鏉匡紒");
+                _print();
+
             };
             this.btnAll.Click += (s, e) =>
             {
@@ -103,12 +128,35 @@
             return false;
         }
 
-
-        public void SetPlButton( bool blPiLiang) {
+        public void SetPlButton(bool blPiLiang)
+        {
             if (blPiLiang == true)
-                this.layoutControlItem3.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Always;
+                this.lay3.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Always;
             else
-                this.layoutControlItem3.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Never;
+                this.lay3.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Never;
+        }
+
+        /// <summary>
+        /// 
+        /// </summary>
+        private void _print() {
+            var _bl = false;
+            _bl = _ckRptService();
+            if (_bl)
+            {
+                try
+                {
+                    using (Form frm = new RptPreview(guidKey, rptParameter))
+                    {
+                        frm.ShowDialog();
+                    }
+                }
+                catch (Exception)
+                {
+                }
+                return;
+            }
+            MsgHelper.ShowError("娌℃湁璁捐妯℃澘锛岃鍏堣璁℃ā鏉匡紒");
         }
     }
 }

--
Gitblit v1.9.3