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; } /// /// 创建动态表格 /// /// 数据条数 /// 数据 public void CreateTabPanel(List 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 list = DBHelpClass.GetList(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 updateApoplexyTimes = new List(); string Url = string.Format("api/service/T_Service_Apoplexy_PatientsTimeAxis/UpdateApoplexyPatientTimeAixs"); ClientFactory httpClient = new HttpClientFactory(); Client client = httpClient.VisitFactory(); updateApoplexyTimes.Add(updateApoplexyTime); //访问 ListEntity 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); } } } }