bug
lu
2025-06-21 8d35329ba4acfdb702587eb9b624e320b37ecb4a
DevApp/Gs.DevApp/UserControl/UcBtnPrint.cs
@@ -1,12 +1,7 @@
using DevExpress.XtraEditors;
using Gs.DevApp.DevFrm.Rpt;
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 +11,104 @@
        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;
                }
                var _bl = false;
                _bl = _ckRptService();
                if (_bl)
                {
                    try
                    {
                        using (Form frm = new RptPreview(guidKey, rptParameter))
                        {
                            frm.ShowDialog();
                        }
                    }
                    catch (Exception)
                    {
                    }
                    return;
                }
                MsgHelper.ShowError("没有设计模板,请先设计模板!");
            };
            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;
        }
        public void SetPlButton( bool blPiLiang) {
            if (blPiLiang == true)
                this.layoutControlItem3.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Always;
            else
                this.layoutControlItem3.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Never;
        }
    }
}