From 3f08b93ffba05c8a12d6a013303e372442854f5f Mon Sep 17 00:00:00 2001
From: lu <123456>
Date: 星期一, 22 九月 2025 11:24:40 +0800
Subject: [PATCH] 增加推送报表
---
DevApp/Gs.DevApp/UserControl/UcBtnPrint.cs | 169 ++++++++++++++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 163 insertions(+), 6 deletions(-)
diff --git a/DevApp/Gs.DevApp/UserControl/UcBtnPrint.cs b/DevApp/Gs.DevApp/UserControl/UcBtnPrint.cs
index 046441e..2f42c04 100644
--- a/DevApp/Gs.DevApp/UserControl/UcBtnPrint.cs
+++ b/DevApp/Gs.DevApp/UserControl/UcBtnPrint.cs
@@ -1,13 +1,12 @@
-锘縰sing DevExpress.XtraEditors;
+锘縰sing Gs.DevApp.DevFrm.Rpt;
+using Gs.DevApp.Entity;
+using Gs.DevApp.ToolBox;
+using Newtonsoft.Json;
using System;
-using System.Collections.Generic;
-using System.ComponentModel;
using System.Data;
using System.Drawing;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
using System.Windows.Forms;
+
namespace Gs.DevApp.UserControl
{
@@ -16,6 +15,164 @@
public UcBtnPrint()
{
InitializeComponent();
+ this.btnPrint.Click += (s, e) =>
+ {
+ if (btnPrintClick != null)
+ btnPrintClick(this, e);
+ else
+ return;
+ if (rptParameter == "return false")
+ return;
+ if (string.IsNullOrEmpty(rptParameter))
+ {
+ MsgHelper.ShowError("娌℃湁鎸囧畾鎶ヨ〃鍙傛暟锛岃鑱旂郴鎶�鏈紑鍙戜汉鍛橈紒");
+ return;
+ }
+ #region 濡傛灉鏄鎴风殑鍚庣洊鐮�
+ if (rptParameter.Contains("rpt_hgm"))
+ {
+ var _obj = new
+ {
+ keyType = "瀹㈡埛妯℃澘"
+ };
+ var json = JsonConvert.SerializeObject(_obj);
+ try
+ {
+ var strReturn =
+ UtilityHelper.HttpPost("", "Report/GetTemplateList", json);
+ ReturnModel<DataTable> dd = UtilityHelper.ReturnToList(strReturn);
+ DataTable dt = dd.rtnData;
+ if (dd.rtnCode > 0)
+ {
+ // 鍒涘缓鎴栬幏鍙栦竴涓狢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 ex)
+ { }
+ }
+ #endregion
+ _print();
+ };
+ this.btnAll.Click += (s, e) =>
+ {
+ if (btnAllClick != null)
+ btnAllClick(this, e);
+ else
+ return;
+ };
+ }
+ /// <summary>
+ /// 鍏抽敭瀛楋紝涓�鑸槸涓婚敭
+ /// </summary>
+ public string guidKey { get; set; }
+
+
+ /// <summary>
+ /// 鎵归噺鎿嶄綔鏃剁殑鍏抽敭瀛楋細鎵樻澘鐮�
+ /// </summary>
+ public string allClickKey { get; set; }
+
+
+ /// <summary>
+ /// 鎶ヨ〃锛屽湪鏁版嵁搴撲腑瑕佸敮涓�,濡傦細瀛樺偍杩囩▼鍚峽鍏ュ弬1鍚峾鍏ュ弬鍊�,鍏ュ弬2鍚峾鍏ュ弬鍊紏
+ /// </summary>
+ public string rptParameter { get; set; }
+
+ /// <summary>
+ /// 鎵撳嵃
+ /// </summary>
+ public event EventHandler btnPrintClick;
+
+ /// <summary>
+ /// 鎵归噺鎿嶄綔
+ /// </summary>
+ public event EventHandler btnAllClick;
+
+ private bool _ckRptService()
+ {
+ try
+ {
+ var _obj = new
+ {
+ guid = guidKey,
+ rptParameter,
+ isDesign = 1
+ };
+ var strJson = UtilityHelper.HttpPost("", "Report/GetRptData",
+ JsonConvert.SerializeObject(_obj));
+ var _rtn = UtilityHelper.ReturnToDynamic(strJson);
+ if (_rtn.rtnCode > 0) return true;
+ return false;
+ }
+ catch (Exception ex)
+ {
+ MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
+ return true;
+ }
+ return false;
+ }
+
+
+ /// <summary>
+ /// 璁剧疆鎵归噺鎸夐挳鍙鎬�
+ /// </summary>
+ /// <param name="blPiLiang"></param>
+ public void SetPlButton(bool blPiLiang)
+ {
+ if (blPiLiang == true)
+ this.lay3.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Always;
+ else
+ this.lay3.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Never;
+ }
+
+ /// <summary>
+ /// 璁剧疆纭畾鎸夐挳鍙鎬�
+ /// </summary>
+ /// <param name="blPiLiang"></param>
+ public void SetPrintButton(bool blPiLiang)
+ {
+ if (blPiLiang == true)
+ this.lay1.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Always;
+ else
+ this.lay1.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