lu
2025-04-14 ecb7a60de1639f520712ce95f99414b0dd2c9713
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
using DevExpress.XtraEditors;
using Gs.DevApp.Entity;
using Gs.DevApp.ToolBox;
using Gs.DevApp.UserControl;
using Newtonsoft.Json;
using System;
using System.Data;
 
namespace Gs.DevApp.DevFrm.Sys
{
    public partial class EasyRptEdt : DevExpress.XtraEditors.XtraForm
    {
        public EasyRptEdt()
        {
            InitializeComponent();
            GetList();
        }
 
        private void GetList()
        {
            var _obj = new
            {
 
            };
            var strReturn = "";
            try
            {
                strReturn = UtilityHelper.HttpPost("", "Report/GetTemplateList",
                    JsonConvert.SerializeObject(_obj));
                ReturnModel<DataTable> dd = UtilityHelper.ReturnToList(strReturn);
                DataTable dt = dd.rtnData;
                foreach (DataRow row in dt.Rows)
                {
                    SimpleButton btn = new DevExpress.XtraEditors.SimpleButton();
                    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.TabIndex = 1;
                    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)
            {
                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;
        }
    }
}