StableVersion4.3/HL_FristAidPlatform_Apoplexy/Form_PatientTimeAxis.cs

876 lines
37 KiB
C#

using DevExpress.Utils;
using DevExpress.Utils.Layout;
using DevExpress.XtraEditors;
using HL_FristAidPlatform_Apoplexy.Properties;
using HL_FristAidPlatform_DTO;
using HL_FristAidPlatform_Public;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
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 HL_FristAidPlatform_Apoplexy
{
public partial class Form_PatientTimeAxis : XtraForm
{
public string PatientGUID = "";
public TablePanel tab;
public Form_PatientTimeAxis(string _PatientGUID = "")
{
InitializeComponent();
PatientGUID = _PatientGUID;
}
/// <summary>
/// 创建动态表格
/// </summary>
/// <param name="total">数据条数</param>
/// <param name="dt">数据</param>
public void CreateTabPanel(List<ApoplexyKeyValueNumDTO> list)
{
panel_time.Controls.Clear();
int rowCount = 3;//行数
if (list.Count() > 7)
rowCount = 6;
if (list.Count() > 14)
rowCount = 9;
if (list.Count() > 21)
rowCount = 12;
tab = new TablePanel();
tab.Columns.Clear();
tab.Columns.Add(new TablePanelColumn(TablePanelEntityStyle.Relative, 10));
tab.Columns.Add(new TablePanelColumn(TablePanelEntityStyle.Relative, 50));
tab.Columns.Add(new TablePanelColumn(TablePanelEntityStyle.Relative, 25));
tab.Columns.Add(new TablePanelColumn(TablePanelEntityStyle.Relative, 50));
tab.Columns.Add(new TablePanelColumn(TablePanelEntityStyle.Relative, 25));
tab.Columns.Add(new TablePanelColumn(TablePanelEntityStyle.Relative, 50));
tab.Columns.Add(new TablePanelColumn(TablePanelEntityStyle.Relative, 25));
tab.Columns.Add(new TablePanelColumn(TablePanelEntityStyle.Relative, 50));
tab.Columns.Add(new TablePanelColumn(TablePanelEntityStyle.Relative, 25));
tab.Columns.Add(new TablePanelColumn(TablePanelEntityStyle.Relative, 50));
tab.Columns.Add(new TablePanelColumn(TablePanelEntityStyle.Relative, 25));
tab.Columns.Add(new TablePanelColumn(TablePanelEntityStyle.Relative, 50));
tab.Columns.Add(new TablePanelColumn(TablePanelEntityStyle.Relative, 25));
tab.Columns.Add(new TablePanelColumn(TablePanelEntityStyle.Relative, 50));
tab.Columns.Add(new TablePanelColumn(TablePanelEntityStyle.Relative, 10));
tab.Rows.Clear();
for (int i = 0; i < rowCount; i++)
{
if (i == 2 || i == 5 || i == 11)
{
tab.Rows.Add(new TablePanelRow(TablePanelEntityStyle.Relative, 30));
}
else if (i == 8)
{
tab.Rows.Add(new TablePanelRow(TablePanelEntityStyle.Relative, 50));
}
else
{
tab.Rows.Add(new TablePanelRow(TablePanelEntityStyle.Relative, 10));
}
}
tab.Dock = DockStyle.Fill;
tab.AutoSize = true;
int DataColindex = 0;
int NotDataColindex = 0;
for (int i = 0; i < list.Count; i++)//循环数据
{
DataColindex = 1 + 2 * i;//数据列
NotDataColindex = 1 + 2 * i + 1;//非数据列
int NameRowindex = 0;
int ImageRowindex = 1;
int DataRowindex = 2;
if (i / 7 == 1)
{
DataColindex = 2 * i - 1 - (i - 7) * 4;//数据列
NotDataColindex = 2 * i - 1 - (i - 7) * 4;//非数据列
NameRowindex = 3;
ImageRowindex = 4;
DataRowindex = 5;
}
if (i / 7 == 2)
{
DataColindex = 1 + 2 * (i - 14);//数据列
NotDataColindex = 1 + 2 * (i - 14) + 1;//非数据列
NameRowindex = 6;
ImageRowindex = 7;
DataRowindex = 8;
}
if (i / 7 == 3)
{
DataColindex = 2 * i - 1 - (i - 14) * 4;//数据列
NotDataColindex = 2 * i - 1 - (i - 14) * 4;//非数据列
NameRowindex = 9;
ImageRowindex = 10;
DataRowindex = 11;
}
LabelControl key = new LabelControl();
key.Dock = DockStyle.Fill;
key.Appearance.TextOptions.HAlignment = HorzAlignment.Center;
key.AutoSizeMode = LabelAutoSizeMode.None;
key.ForeColor = Color.FromArgb(0, 9, 64, 58);
key.Text = list[i].Key;
PanelControl panel = new PanelControl();
panel.Dock = DockStyle.Fill;
panel.BorderStyle = (DevExpress.XtraEditors.Controls.BorderStyles)BorderStyle.None;
panel.Margin = new Padding(0, 0, 0, 0);
panel.Padding = new Padding(0, 0, 0, 0);
LabelControl timeValue = new LabelControl();
timeValue.Dock = DockStyle.Top;
timeValue.Appearance.TextOptions.HAlignment = HorzAlignment.Center;
timeValue.AutoSizeMode = LabelAutoSizeMode.None;
if (!string.IsNullOrEmpty(list[i].Value))
{
timeValue.Text = list[i].Value;
timeValue.ForeColor = Color.FromArgb(48, 49, 51);
}
else
{
timeValue.Text = "暂无时间信息";
timeValue.ForeColor = Color.FromArgb(144, 147, 153);
}
LabelControl lblnamevalue1 = new LabelControl();
lblnamevalue1.Dock = DockStyle.Top;
lblnamevalue1.Appearance.TextOptions.HAlignment = HorzAlignment.Center;
lblnamevalue1.AutoSizeMode = LabelAutoSizeMode.None;
lblnamevalue1.Text = "";
if (list[i].Number == 3)
{
lblnamevalue1.Text = "呼救到出车时间";
}
if (list[i].Number == 5)
{
lblnamevalue1.Text = "到达到离开时间";
}
if (list[i].Number == 6)
{
lblnamevalue1.Text = "呼救到到院时间";
}
if (list[i].Number == 8)
{
lblnamevalue1.Text = "到达急诊到接诊时间";
}
if (list[i].Number == 12)
{
lblnamevalue1.Text = "采血到报告时间";
}
if (list[i].Number == 14)
{
lblnamevalue1.Text = "到院到CT完成时间";
}
if (list[i].Number == 17)
{
lblnamevalue1.Text = "发病到静脉溶栓时间";
}
if (list[i].Number == 20)
{
lblnamevalue1.Text = "发病到穿刺完成时间";
}
if (list[i].Number == 21)
{
lblnamevalue1.Text = "到院到血管再通时间";
}
lblnamevalue1.ForeColor = Color.FromArgb(48, 49, 51);
LabelControl indicatorRequirementValue1 = new LabelControl();
indicatorRequirementValue1.Dock = DockStyle.Top;
indicatorRequirementValue1.Appearance.TextOptions.HAlignment = HorzAlignment.Center;
indicatorRequirementValue1.AutoSizeMode = LabelAutoSizeMode.None;
if (!string.IsNullOrEmpty(list[i].IndicatorRequirement1))
{
if (list[i].IndicatorRequirement1 != "0")
{
indicatorRequirementValue1.Text = "指标要求: " + list[i].IndicatorRequirement1 + "分钟";
}
else
{
indicatorRequirementValue1.Text = "指标要求: " + "无";
}
}
else
{
indicatorRequirementValue1.Text = "";
}
indicatorRequirementValue1.ForeColor = Color.FromArgb(48, 49, 51);
LabelControl IntervalValue1 = new LabelControl();
IntervalValue1.Dock = DockStyle.Top;
IntervalValue1.Appearance.TextOptions.HAlignment = HorzAlignment.Center;
IntervalValue1.AutoSizeMode = LabelAutoSizeMode.None;
if (!string.IsNullOrEmpty(list[i].Interval1))
{
if (list[i].Interval1 != "-99")
{
IntervalValue1.Text = "实际时长: " + list[i].Interval1 + "分钟";
}
else
{
IntervalValue1.Text = "实际时长: " + "无法计算";
}
}
else
{
IntervalValue1.Text = "";
}
IntervalValue1.ForeColor = Color.FromArgb(48, 49, 51);
LabelControl lblnamevalue2 = new LabelControl();
lblnamevalue2.Dock = DockStyle.Top;
lblnamevalue2.Appearance.TextOptions.HAlignment = HorzAlignment.Center;
lblnamevalue2.AutoSizeMode = LabelAutoSizeMode.None;
lblnamevalue2.Text = "";
if (list[i].Number == 17)
{
lblnamevalue2.Text = "到院到静脉溶栓时间";
}
if (list[i].Number == 20)
{
lblnamevalue2.Text = "到院到穿刺完成时间";
}
if (list[i].Number == 21)
{
lblnamevalue2.Text = "穿刺完成到血管再通时间";
}
lblnamevalue2.ForeColor = Color.FromArgb(48, 49, 51);
LabelControl indicatorRequirementValue2 = new LabelControl();
indicatorRequirementValue2.Dock = DockStyle.Top;
indicatorRequirementValue2.Appearance.TextOptions.HAlignment = HorzAlignment.Center;
indicatorRequirementValue2.AutoSizeMode = LabelAutoSizeMode.None;
if (!string.IsNullOrEmpty(list[i].IndicatorRequirement2))
{
if (list[i].IndicatorRequirement2 != "0")
{
indicatorRequirementValue2.Text = "指标要求: " + list[i].IndicatorRequirement2 + "分钟";
}
else
{
indicatorRequirementValue2.Text = "指标要求: " + "无";
}
}
else
{
indicatorRequirementValue2.Text = "";
}
indicatorRequirementValue2.ForeColor = Color.FromArgb(48, 49, 51);
LabelControl IntervalValue2 = new LabelControl();
IntervalValue2.Dock = DockStyle.Top;
IntervalValue2.Appearance.TextOptions.HAlignment = HorzAlignment.Center;
IntervalValue2.AutoSizeMode = LabelAutoSizeMode.None;
if (!string.IsNullOrEmpty(list[i].Interval2))
{
if (list[i].Interval2 != "-99")
{
IntervalValue2.Text = "实际时长: " + list[i].Interval2 + "分钟";
}
else
{
IntervalValue2.Text = "实际时长: " + "无法计算";
}
}
else
{
IntervalValue2.Text = "";
}
IntervalValue2.ForeColor = Color.FromArgb(48, 49, 51);
panel.Controls.AddRange(new Control[] { IntervalValue2, indicatorRequirementValue2, lblnamevalue2, IntervalValue1, indicatorRequirementValue1, lblnamevalue1, timeValue });
SeparatorControl line = new SeparatorControl();
//线条
line.LineColor = Color.FromArgb(92, 173, 255);
line.Dock = DockStyle.Fill;
line.LineOrientation = Orientation.Horizontal;
line.LineColor = Color.DarkBlue;
line.Margin = new Padding(0, 0, 0, 0);
line.Padding = new Padding(0, 0, 0, 0);
line.LineThickness = 2;
TablePanel tabImageBox = new TablePanel();
tabImageBox.Columns.Clear();
tabImageBox.Rows.Clear();
tabImageBox.Columns.Add(new TablePanelColumn(TablePanelEntityStyle.Relative, 40));
tabImageBox.Columns.Add(new TablePanelColumn(TablePanelEntityStyle.Relative, 20));
tabImageBox.Columns.Add(new TablePanelColumn(TablePanelEntityStyle.Relative, 40));
tabImageBox.Rows.Add(new TablePanelRow(TablePanelEntityStyle.Relative, 100));
tabImageBox.Margin = new Padding(0, 0, 0, 0);
tabImageBox.Padding = new Padding(0, 0, 0, 0);
tabImageBox.Dock = DockStyle.Fill;
tabImageBox.AutoSize = true;
SeparatorControl lineLeft = new SeparatorControl();
//线条
lineLeft.LineColor = Color.FromArgb(92, 173, 255);
lineLeft.Dock = DockStyle.Fill;
lineLeft.LineOrientation = Orientation.Horizontal;
lineLeft.LineColor = Color.DarkBlue;
lineLeft.Margin = new Padding(0, 0, 0, 0);
lineLeft.Padding = new Padding(0, 0, 0, 0);
lineLeft.LineThickness = 2;
SeparatorControl lineRight = new SeparatorControl();
//线条
lineRight.LineColor = Color.FromArgb(92, 173, 255);
lineRight.Dock = DockStyle.Fill;
lineRight.LineOrientation = Orientation.Horizontal;
lineRight.LineColor = Color.DarkBlue;
lineRight.Margin = new Padding(0, 0, 0, 0);
lineRight.Padding = new Padding(0, 0, 0, 0);
lineRight.LineThickness = 2;
PictureBox drop1 = new PictureBox();
drop1.Dock = DockStyle.Fill;
drop1.SizeMode = PictureBoxSizeMode.Zoom;
drop1.Margin = new Padding(0, 0, 0, 0);
drop1.Tag = list[i].Value + ";" + list[i].Number;
drop1.Click += PanelClick;
if (!string.IsNullOrEmpty(list[i].Value))
{
drop1.Image = Resources.green;
}
else
{
drop1.Image = Resources.grey;
}
if ((!string.IsNullOrEmpty(list[i].Interval1) && !string.IsNullOrEmpty(list[i].IndicatorRequirement1)) || (!string.IsNullOrEmpty(list[i].Interval2) && !string.IsNullOrEmpty(list[i].IndicatorRequirement2)))
{
if ((!string.IsNullOrEmpty(list[i].Interval1) &&!(list[i].Interval1 == "-99")&&(!string.IsNullOrEmpty(list[i].IndicatorRequirement1) && !(list[i].IndicatorRequirement1 == "0") && (int.Parse(list[i].Interval1) > int.Parse(list[i].IndicatorRequirement1))) || (!string.IsNullOrEmpty(list[i].Interval2)&&!(list[i].Interval2 == "-99") && (!string.IsNullOrEmpty(list[i].IndicatorRequirement2) && !(list[i].IndicatorRequirement2 == "0") && (int.Parse(list[i].Interval2) > int.Parse(list[i].IndicatorRequirement2))))))
{
drop1.Image = Resources.red;
}
}
tabImageBox.SetCell(lineLeft, 0, 0);
tabImageBox.SetCell(drop1, 0, 1);
tabImageBox.SetCell(lineRight, 0, 2);
tabImageBox.Controls.AddRange(new Control[] { lineLeft, drop1, lineRight });
if (i / 7 == 1 || i / 7 == 3)
{
tab.SetCell(line, ImageRowindex, DataColindex - 1);
tab.SetCell(key, NameRowindex, DataColindex);
tab.SetCell(drop1, ImageRowindex, DataColindex);
tab.SetCell(panel, DataRowindex, DataColindex);
if (i == list.Count() - 1)
{
tab.Controls.AddRange(new Control[] { key, drop1, panel });
}
else if (i == 13)
{
tab.Controls.AddRange(new Control[] { key, drop1, panel });
}
else
{
tab.Controls.AddRange(new Control[] { line, key, drop1, panel });
}
}
else
{
tab.SetCell(key, NameRowindex, DataColindex);
tab.SetCell(drop1, ImageRowindex, DataColindex);
tab.SetCell(panel, DataRowindex, DataColindex);
tab.SetCell(line, ImageRowindex, NotDataColindex);
if (i == list.Count() - 1)
{
tab.Controls.AddRange(new Control[] { key, drop1, panel });
}
else if (i == 6 || i == 20)
{
tab.Controls.AddRange(new Control[] { key, drop1, panel });
}
else
{
tab.Controls.AddRange(new Control[] { key, drop1, panel, line });
}
}
}
if (list.Count() > 7)
{
//右上
TablePanel tab1 = new TablePanel();
tab1.Columns.Add(new TablePanelColumn(TablePanelEntityStyle.Relative, 50));
tab1.Columns.Add(new TablePanelColumn(TablePanelEntityStyle.Relative, 50));
tab1.Rows.Add(new TablePanelRow(TablePanelEntityStyle.Relative, 50));
tab1.Rows.Add(new TablePanelRow(TablePanelEntityStyle.Relative, 50));
tab1.Margin = new Padding(0, 0, 0, 0);
tab1.Padding = new Padding(0, 0, 0, 0);
tab1.Dock = DockStyle.Fill;
tab1.AutoSize = true;
SeparatorControl line1 = new SeparatorControl();
//线条
line1.LineColor = Color.FromArgb(92, 173, 255);
line1.Dock = DockStyle.Fill;
line1.LineOrientation = Orientation.Horizontal;
line1.LineColor = Color.DarkBlue;
line1.LineAlignment = Alignment.Far;
line1.Margin = new Padding(0, 0, 0, 0);
line1.Padding = new Padding(0, 10, 0, 0);
line1.LineThickness = 2;
SeparatorControl line2 = new SeparatorControl();
//线条
line2.LineColor = Color.FromArgb(92, 173, 255);
line2.Dock = DockStyle.Fill;
line2.LineOrientation = Orientation.Vertical;
line2.LineColor = Color.DarkBlue;
line2.LineAlignment = Alignment.Far;
line2.Margin = new Padding(0, 0, 0, 0);
line2.Padding = new Padding(0, 0, 0, 0);
line2.LineThickness = 2;
tab1.SetCell(line1, 0, 0);
tab1.SetCell(line2, 1, 0);
tab1.Controls.AddRange(new Control[] { line1, line2 });
//右下
TablePanel tab2 = new TablePanel();
tab2.Columns.Add(new TablePanelColumn(TablePanelEntityStyle.Relative, 50));
tab2.Columns.Add(new TablePanelColumn(TablePanelEntityStyle.Relative, 50));
tab2.Rows.Add(new TablePanelRow(TablePanelEntityStyle.Relative, 50));
tab2.Rows.Add(new TablePanelRow(TablePanelEntityStyle.Relative, 50));
tab2.Margin = new Padding(0, 0, 0, 0);
tab2.Padding = new Padding(0, 0, 0, 0);
tab2.Dock = DockStyle.Fill;
tab2.AutoSize = true;
SeparatorControl line3 = new SeparatorControl();
//线条
line3.LineColor = Color.FromArgb(92, 173, 255);
line3.Dock = DockStyle.Fill;
line3.LineOrientation = Orientation.Vertical;
line3.LineColor = Color.DarkBlue;
line3.LineAlignment = Alignment.Far;
line3.Margin = new Padding(0, 0, 0, 0);
line3.Padding = new Padding(0, 0, 0, 0);
line3.LineThickness = 2;
SeparatorControl line4 = new SeparatorControl();
//线条
line4.LineColor = Color.FromArgb(92, 173, 255);
line4.Dock = DockStyle.Fill;
line4.LineOrientation = Orientation.Horizontal;
line4.LineColor = Color.DarkBlue;
line4.LineAlignment = Alignment.Near;
line4.Margin = new Padding(0, 0, 0, 0);
line4.Padding = new Padding(0, 0, 0, 0);
line4.LineThickness = 2;
tab2.SetCell(line3, 0, 0);
tab2.SetCell(line4, 1, 0);
tab2.Controls.AddRange(new Control[] { line3, line4 });
SeparatorControl SEtraLineRight1 = new SeparatorControl();
//竖线条
SEtraLineRight1.LineColor = Color.FromArgb(92, 173, 255);
SEtraLineRight1.Dock = DockStyle.Fill;
SEtraLineRight1.LineOrientation = Orientation.Vertical;
SEtraLineRight1.LineColor = Color.DarkBlue;
SEtraLineRight1.LineAlignment = Alignment.Center;
SEtraLineRight1.Margin = new Padding(0, 0, 0, 0);
SEtraLineRight1.Padding = new Padding(0, 0, 2, 0);
SEtraLineRight1.LineThickness = 2;
SeparatorControl SEtraLineRight2 = new SeparatorControl();
//竖线条
SEtraLineRight2.LineColor = Color.FromArgb(92, 173, 255);
SEtraLineRight2.Dock = DockStyle.Fill;
SEtraLineRight2.LineOrientation = Orientation.Vertical;
SEtraLineRight2.LineColor = Color.DarkBlue;
SEtraLineRight2.LineAlignment = Alignment.Center;
SEtraLineRight2.Margin = new Padding(0, 0, 0, 0);
SEtraLineRight2.Padding = new Padding(0, 0, 2, 0);
SEtraLineRight2.LineThickness = 2;
tab.SetCell(tab1, 1, 14);
tab.SetCell(SEtraLineRight1, 2, 14);
tab.SetCell(SEtraLineRight2, 3, 14);
tab.SetCell(tab2, 4, 14);
tab.Controls.AddRange(new Control[] { SEtraLineRight1, SEtraLineRight2, tab1, tab2 });
}
if (list.Count() > 14)
{
//左上
TablePanel tab1 = new TablePanel();
tab1.Columns.Add(new TablePanelColumn(TablePanelEntityStyle.Relative, 50));
tab1.Columns.Add(new TablePanelColumn(TablePanelEntityStyle.Relative, 50));
tab1.Rows.Add(new TablePanelRow(TablePanelEntityStyle.Relative, 50));
tab1.Rows.Add(new TablePanelRow(TablePanelEntityStyle.Relative, 50));
tab1.Margin = new Padding(0, 0, 0, 0);
tab1.Padding = new Padding(0, 0, 0, 0);
tab1.Dock = DockStyle.Fill;
tab1.AutoSize = true;
SeparatorControl line1 = new SeparatorControl();
//线条
line1.LineColor = Color.FromArgb(92, 173, 255);
line1.Dock = DockStyle.Fill;
line1.LineOrientation = Orientation.Horizontal;
line1.LineColor = Color.DarkBlue;
line1.LineAlignment = Alignment.Far;
line1.Margin = new Padding(0, 0, 0, 0);
line1.Padding = new Padding(0, 0, 0, 0);
line1.LineThickness = 2;
SeparatorControl line2 = new SeparatorControl();
//线条
line2.LineColor = Color.FromArgb(92, 173, 255);
line2.Dock = DockStyle.Fill;
line2.LineOrientation = Orientation.Vertical;
line2.LineColor = Color.DarkBlue;
line2.LineAlignment = Alignment.Near;
line2.Margin = new Padding(0, 0, 0, 0);
line2.Padding = new Padding(0, 0, 0, 0);
line2.LineThickness = 2;
tab1.SetCell(line1, 0, 1);
tab1.SetCell(line2, 1, 1);
tab1.Controls.AddRange(new Control[] { line1, line2 });
//左下
TablePanel tab2 = new TablePanel();
tab2.Columns.Add(new TablePanelColumn(TablePanelEntityStyle.Relative, 50));
tab2.Columns.Add(new TablePanelColumn(TablePanelEntityStyle.Relative, 50));
tab2.Rows.Add(new TablePanelRow(TablePanelEntityStyle.Relative, 50));
tab2.Rows.Add(new TablePanelRow(TablePanelEntityStyle.Relative, 50));
tab2.Margin = new Padding(0, 0, 0, 0);
tab2.Padding = new Padding(0, 0, 0, 0);
tab2.Dock = DockStyle.Fill;
tab2.AutoSize = true;
SeparatorControl line3 = new SeparatorControl();
//线条
line3.LineColor = Color.FromArgb(92, 173, 255);
line3.Dock = DockStyle.Fill;
line3.LineOrientation = Orientation.Vertical;
line3.LineColor = Color.DarkBlue;
line3.LineAlignment = Alignment.Near;
line3.Margin = new Padding(0, 0, 0, 0);
line3.Padding = new Padding(0, 0, 0, 0);
line3.LineThickness = 2;
SeparatorControl line4 = new SeparatorControl();
//线条
line4.LineColor = Color.FromArgb(92, 173, 255);
line4.Dock = DockStyle.Fill;
line4.LineOrientation = Orientation.Horizontal;
line4.LineColor = Color.DarkBlue;
line4.LineAlignment = Alignment.Near;
line4.Margin = new Padding(0, 0, 0, 0);
line4.Padding = new Padding(0, 0, 0, 0);
line4.LineThickness = 2;
tab2.SetCell(line3, 0, 1);
tab2.SetCell(line4, 1, 1);
tab2.Controls.AddRange(new Control[] { line3, line4 });
SeparatorControl SEtraLineRight3 = new SeparatorControl();
//竖线条
SEtraLineRight3.LineColor = Color.FromArgb(92, 173, 255);
SEtraLineRight3.Dock = DockStyle.Fill;
SEtraLineRight3.LineOrientation = Orientation.Vertical;
SEtraLineRight3.LineColor = Color.DarkBlue;
SEtraLineRight3.LineAlignment = Alignment.Center;
SEtraLineRight3.Margin = new Padding(0, 0, 0, 0);
SEtraLineRight3.Padding = new Padding(2, 0, 0, 0);
SEtraLineRight3.LineThickness = 2;
SeparatorControl SEtraLineRight4 = new SeparatorControl();
//竖线条
SEtraLineRight4.LineColor = Color.FromArgb(92, 173, 255);
SEtraLineRight4.Dock = DockStyle.Fill;
SEtraLineRight4.LineOrientation = Orientation.Vertical;
SEtraLineRight4.LineColor = Color.DarkBlue;
SEtraLineRight4.LineAlignment = Alignment.Center;
SEtraLineRight4.Margin = new Padding(0, 0, 0, 0);
SEtraLineRight4.Padding = new Padding(2, 0, 0, 0);
SEtraLineRight4.LineThickness = 2;
tab.SetCell(tab1, 4, 0);
tab.SetCell(SEtraLineRight3, 5, 0);
tab.SetCell(SEtraLineRight4, 6, 0);
tab.SetCell(tab2, 7, 0);
tab.Controls.AddRange(new Control[] { SEtraLineRight3, SEtraLineRight4, tab1, tab2 });
}
if (list.Count() > 21)
{
//右上
TablePanel tab1 = new TablePanel();
tab1.Columns.Add(new TablePanelColumn(TablePanelEntityStyle.Relative, 50));
tab1.Columns.Add(new TablePanelColumn(TablePanelEntityStyle.Relative, 50));
tab1.Rows.Add(new TablePanelRow(TablePanelEntityStyle.Relative, 50));
tab1.Rows.Add(new TablePanelRow(TablePanelEntityStyle.Relative, 50));
tab1.Margin = new Padding(0, 0, 0, 0);
tab1.Padding = new Padding(0, 0, 0, 0);
tab1.Dock = DockStyle.Fill;
tab1.AutoSize = true;
SeparatorControl line1 = new SeparatorControl();
//线条
line1.LineColor = Color.FromArgb(92, 173, 255);
line1.Dock = DockStyle.Fill;
line1.LineOrientation = Orientation.Horizontal;
line1.LineColor = Color.DarkBlue;
line1.LineAlignment = Alignment.Far;
line1.Margin = new Padding(0, 0, 0, 0);
line1.Padding = new Padding(0, 10, 0, 0);
line1.LineThickness = 2;
SeparatorControl line2 = new SeparatorControl();
//线条
line2.LineColor = Color.FromArgb(92, 173, 255);
line2.Dock = DockStyle.Fill;
line2.LineOrientation = Orientation.Vertical;
line2.LineColor = Color.DarkBlue;
line2.LineAlignment = Alignment.Far;
line2.Margin = new Padding(0, 0, 0, 0);
line2.Padding = new Padding(0, 0, 0, 0);
line2.LineThickness = 2;
tab1.SetCell(line1, 0, 0);
tab1.SetCell(line2, 1, 0);
tab1.Controls.AddRange(new Control[] { line1, line2 });
//右下
TablePanel tab2 = new TablePanel();
tab2.Columns.Add(new TablePanelColumn(TablePanelEntityStyle.Relative, 50));
tab2.Columns.Add(new TablePanelColumn(TablePanelEntityStyle.Relative, 50));
tab2.Rows.Add(new TablePanelRow(TablePanelEntityStyle.Relative, 50));
tab2.Rows.Add(new TablePanelRow(TablePanelEntityStyle.Relative, 50));
tab2.Margin = new Padding(0, 0, 0, 0);
tab2.Padding = new Padding(0, 0, 0, 0);
tab2.Dock = DockStyle.Fill;
tab2.AutoSize = true;
SeparatorControl line3 = new SeparatorControl();
//线条
line3.LineColor = Color.FromArgb(92, 173, 255);
line3.Dock = DockStyle.Fill;
line3.LineOrientation = Orientation.Vertical;
line3.LineColor = Color.DarkBlue;
line3.LineAlignment = Alignment.Far;
line3.Margin = new Padding(0, 0, 0, 0);
line3.Padding = new Padding(0, 0, 0, 0);
line3.LineThickness = 2;
SeparatorControl line4 = new SeparatorControl();
//线条
line4.LineColor = Color.FromArgb(92, 173, 255);
line4.Dock = DockStyle.Fill;
line4.LineOrientation = Orientation.Horizontal;
line4.LineColor = Color.DarkBlue;
line4.LineAlignment = Alignment.Near;
line4.Margin = new Padding(0, 0, 0, 0);
line4.Padding = new Padding(0, 0, 0, 0);
line4.LineThickness = 2;
tab2.SetCell(line3, 0, 0);
tab2.SetCell(line4, 1, 0);
tab2.Controls.AddRange(new Control[] { line3, line4 });
SeparatorControl SEtraLineRight1 = new SeparatorControl();
//竖线条
SEtraLineRight1.LineColor = Color.FromArgb(92, 173, 255);
SEtraLineRight1.Dock = DockStyle.Fill;
SEtraLineRight1.LineOrientation = Orientation.Vertical;
SEtraLineRight1.LineColor = Color.DarkBlue;
SEtraLineRight1.LineAlignment = Alignment.Center;
SEtraLineRight1.Margin = new Padding(0, 0, 0, 0);
SEtraLineRight1.Padding = new Padding(0, 0, 2, 0);
SEtraLineRight1.LineThickness = 2;
SeparatorControl SEtraLineRight2 = new SeparatorControl();
//竖线条
SEtraLineRight2.LineColor = Color.FromArgb(92, 173, 255);
SEtraLineRight2.Dock = DockStyle.Fill;
SEtraLineRight2.LineOrientation = Orientation.Vertical;
SEtraLineRight2.LineColor = Color.DarkBlue;
SEtraLineRight2.LineAlignment = Alignment.Center;
SEtraLineRight2.Margin = new Padding(0, 0, 0, 0);
SEtraLineRight2.Padding = new Padding(0, 0, 2, 0);
SEtraLineRight2.LineThickness = 2;
tab.SetCell(tab1, 7, 14);
tab.SetCell(SEtraLineRight1, 8, 14);
tab.SetCell(SEtraLineRight2, 9, 14);
tab.SetCell(tab2, 10, 14);
tab.Controls.AddRange(new Control[] { SEtraLineRight1, SEtraLineRight2, tab1, tab2 });
//tab.SetCell(tab1, 7, 14);
//tab.SetCell(SEtraLineRight5, 8, 14);
//tab.SetCell(SEtraLineRight6, 9, 14);
//tab.SetCell(tab2, 10, 14);
//tab.Controls.AddRange(new Control[] { SEtraLineRight5, SEtraLineRight6, tab1, tab2 });
}
panel_time.Controls.Add(tab);
}
private void Form_PatientTimeAxis_Load(object sender, EventArgs e)
{
GetPatientTimeAxis();
}
public void GetPatientTimeAxis()
{
try
{
string url = string.Format("api/service/T_Service_Apoplexy_PatientsTimeAxis/GetApoplexyPatientTimeAixs?patientGuid={0}", PatientGUID);
List<ApoplexyKeyValueNumDTO> list = DBHelpClass.GetList<ApoplexyKeyValueNumDTO>(url);
if (list != null)
CreateTabPanel(list);
}
catch (Exception ex)
{
throw ex;
}
}
private void PanelClick(object sender, EventArgs e)
{
string Tag = (string)((System.Windows.Forms.Control)sender).Tag;
string[] strArray = Tag.Split(';');
Form_PatientTimeAxisUpdate form = new Form_PatientTimeAxisUpdate(PatientGUID, strArray[0], strArray[1]);
form.Owner = this;
form.ShowDialog();
//if ()
//{
// Form_TaskDetailInfo from = new Form_TaskDetailInfo(guid, 1);
// from.Owner = this;
// from.Show();
//}
//else
//{
// XtraMessageBox.Show("不是正确的Guid格式");
//}
}
public void UpdatePatientTimeAixs(String TimeValue = "", int TimeNumber = 0)
{
try
{
UpdateApoplexyTimesDTO updateApoplexyTime = new UpdateApoplexyTimesDTO();
updateApoplexyTime.PatientGuid = PatientGUID;
updateApoplexyTime.TimeValue = TimeValue;
updateApoplexyTime.TimeNumber = TimeNumber;
List<UpdateApoplexyTimesDTO> updateApoplexyTimes = new List<UpdateApoplexyTimesDTO>();
string Url = string.Format("api/service/T_Service_Apoplexy_PatientsTimeAxis/UpdateApoplexyPatientTimeAixs");
ClientFactory<UpdateApoplexyTimesDTO> httpClient = new HttpClientFactory<UpdateApoplexyTimesDTO>();
Client<UpdateApoplexyTimesDTO> client = httpClient.VisitFactory();
updateApoplexyTimes.Add(updateApoplexyTime);
//访问
ListEntity<UpdateApoplexyTimesDTO> t = client.Post(Url, updateApoplexyTimes);
if (t.Success)
{
if (!string.IsNullOrEmpty(t.DataString))
{
if (t.DataString.Contains("Success"))
{
JObject jo = (JObject)JsonConvert.DeserializeObject(t.DataString);
string msg = jo["Msg"].ToString();
if (!string.IsNullOrEmpty(msg))
{
XtraMessageBox.Show(msg);
GetPatientTimeAxis();
}
}
else
{
string msg1 = t.DataString.Replace("/", "").Replace(@"\", "").Replace("\"", "");
XtraMessageBox.Show(msg1);
}
}
else
{
XtraMessageBox.Show("保存失败");
}
}
else
{
XtraMessageBox.Show("保存失败");
}
}
catch (Exception ex)
{
PublicClass.WriteErrorLog(this.Text, "保存基本信息:\r\n" + ex);
}
}
}
}