lu
2025-04-19 b084bd77d01a94c8f0a2d20c86a1f45ba7c8a23c
DevApp/Gs.DevApp/DevFrm/Sys/EasyRptEdt.cs
@@ -1,16 +1,10 @@
using DevExpress.XtraEditors;
using Gs.DevApp.Entity;
using Gs.DevApp.ToolBox;
using Gs.DevApp.UserControl;
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.DevFrm.Sys
{
@@ -43,9 +37,11 @@
                    btn.Name = Guid.NewGuid().ToString();
                    btn.Size = new System.Drawing.Size(150, 150);
                    btn.TabIndex = 1;
                    btn.Text = row["reportName"].ToString()+"(" + row["reportType"].ToString() + ")";
                    btn.Text = row["reportType"].ToString() + "\n" + row["reportName"].ToString();
                    btn.Margin = new System.Windows.Forms.Padding(20);
                    btn.Tag = row["reportType"].ToString() + "{}";
                    this.flowLayoutPanel1.Controls.Add(btn);
                    btn.Click += Btn_Click;
                }
            }
            catch (Exception ex)
@@ -53,5 +49,53 @@
                MsgHelper.Warning("提示:" + ex.Message);
            }
        }
        private void Btn_Click(object sender, EventArgs e)
        {
            string _guid = Guid.NewGuid().ToString();
            SimpleButton btn = (SimpleButton)sender;
            string rptParameter = btn.Tag.ToString();
            if (string.IsNullOrEmpty(rptParameter))
            {
                MsgHelper.ShowError("没有指定报表参数,请联系技术开发人员!");
                return;
            }
            var _bl = false;
            _bl = _ckRptService(_guid, rptParameter);
            //如果已经有模板了,直接打开设置模板
            if (_bl)
            {
                var frm = new EasyRptDesign(_guid, rptParameter);
                frm.ShowDialog();
                return;
            }
            //否则向导设计模板
            var rptWizard = new ShowRptWizard(_guid, rptParameter);
            rptWizard.ShowDialog();
        }
        private bool _ckRptService(string _guid, string rptParameter)
        {
            try
            {
                var _obj = new
                {
                    guid = _guid,
                    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 false;
            }
            return false;
        }
    }
}