lu
2025-07-01 f5570a2f60dc9b9c201dcc8b227510a89bf69042
DevApp/Gs.DevApp/DevFrm/Sys/EasyRptEdt.cs
@@ -1,15 +1,11 @@
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
@@ -24,9 +20,10 @@
        private void GetList()
        {
            this.flowLayoutPanel1.Controls.Clear();
            var _obj = new
            {
                keyType = ""
            };
            var strReturn = "";
            try
@@ -38,20 +35,94 @@
                foreach (DataRow row in dt.Rows)
                {
                    SimpleButton btn = new DevExpress.XtraEditors.SimpleButton();
                    btn.ImageOptions.Image = global::Gs.DevApp.Properties.Resources.printarea_32x32;
                    if (row["reportType"].ToString().StartsWith("客户模板"))
                    {
                        btn.ImageOptions.Image = global::Gs.DevApp.Properties.Resources.user_32x32;
                    }
                    else
                        btn.ImageOptions.Image = global::Gs.DevApp.Properties.Resources.printarea_32x32;
                    btn.ImageOptions.ImageToTextAlignment = DevExpress.XtraEditors.ImageAlignToText.TopCenter;
                    btn.Name = Guid.NewGuid().ToString();
                    btn.Size = new System.Drawing.Size(150, 150);
                    btn.Size = new System.Drawing.Size(170, 170);
                    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;
                }
                SimpleButton btn2 = new DevExpress.XtraEditors.SimpleButton();
                btn2.ImageOptions.Image = global::Gs.DevApp.Properties.Resources.addfile_32x32;
                btn2.ImageOptions.ImageToTextAlignment = DevExpress.XtraEditors.ImageAlignToText.TopCenter;
                btn2.Name = Guid.NewGuid().ToString();
                btn2.Size = new System.Drawing.Size(150, 150);
                btn2.TabIndex = 1;
                btn2.Text = "增加客户" + "\n" + "模板";
                btn2.Margin = new System.Windows.Forms.Padding(20);
                this.flowLayoutPanel1.Controls.Add(btn2);
                btn2.Click += (s, e) =>
                {
                    EasyRptEdtShow frm = new EasyRptEdtShow();
                    frm.UpdateParent += (ss, ee) =>
                    {
                        GetList();
                    };
                    frm.ShowDialog();
                };
            }
            catch (Exception ex)
            {
                MsgHelper.ShowError("提示:" + 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;
        }
    }
}