private void But_ReleaseTasks_Click(object sender, EventArgs e) { if (Tasks.Count != 0) { //写入html { HDoc doc = new HDoc(); doc.AddChild("html", new HProp("lang", "zh"), new HProp("dir", "ltr")); doc["html"].AddChildren(new HTag("head"), new HTag("body")); doc["html"]["head"].AddChild(new HTag("meta", new HProp("charset", "utf-8"))); doc["html"]["head"].AddChild(new HTag("style", @" body{ background:#fef9e7; } .main{ margin:0% 10%; } .title{ text-align:center; font-family:‘黑体’; font - size:20px } h1.title{ margin - left:40px; font - size:35px; } .worker{ font - size:25px; font - family:‘楷体’; } table{ text - align:center; font - size:18px; }")); doc["html"]["head"].AddChild(new HTag("title", $"【{DateTime.Today.ToShortDateString()}】工作任务")); doc["html"]["body"].AddChild(new HTag("h1", $"【{DateTime.Today.ToShortDateString()}】工作任务")); doc["html"]["body"]["h1"].AddProperties(new HProp("class", "title")); doc["html"]["body"].AddChild(new HTag("div", new HProp("class", "main"))); doc["html"]["body"]["div"].AddChild(new HTag("table", new HProp("border", "1"), new HProp("width", "100%"))); doc["html"]["body"]["div"]["table"].AddChildren(new HTag("tr"), new HTag("tr")); doc["html"]["body"]["div"]["table"]["tr", 0].AddChildren(new HTag("th", new HProp("rowspan", "2")), new HTag("th", new HProp("rowspan", "2")), new HTag("th", new HProp("rowspan", "2")), new HTag("th", new HProp("rowspan", "2")), new HTag("th", new HProp("colspan", "7"))); doc["html"]["body"]["div"]["table"]["tr", 0]["th", 0].AddChild(new HTextTag("序号")); doc["html"]["body"]["div"]["table"]["tr", 0]["th", 1].AddChild(new HTextTag("时间")); doc["html"]["body"]["div"]["table"]["tr", 0]["th", 2].AddChild(new HTextTag("站名")); doc["html"]["body"]["div"]["table"]["tr", 0]["th", 3].AddChild(new HTextTag("工作任务")); doc["html"]["body"]["div"]["table"]["tr", 0]["th", 4].AddChild(new HTextTag("工作人员")); doc["html"]["body"]["div"]["table"]["tr", 1].AddChildren(new HTag("th", "许可人"), new HTag("th", new HProp("colspan", "4")), new HTag("th", "监护人"), new HTag("th", "负责人")); doc["html"]["body"]["div"]["table"]["tr", 1]["th", 1].AddChild(new HTextTag("操作人")); for (int i = 0; i < Tasks.Count; i++) { Task task = Tasks[i]; int index = i + 2; doc["html"]["body"]["div"]["table"].AddChild("tr"); doc["html"]["body"]["div"]["table"]["tr", index].AddChildren(new HTag("td", (i + 1).ToString()), new HTag("td", task.Time.ToString()), new HTag("td", task.Station.Name), new HTag("td", task.Name)); if (task.Licensor != "") { doc["html"]["body"]["div"]["table"]["tr", index].AddChild(new HTag("td", task.Licensor)); } else { doc["html"]["body"]["div"]["table"]["tr", index].AddChild(new HTag("td", " ")); } for (int j = 0; j < 4; j++) { if (j < task.Operators.Count) { doc["html"]["body"]["div"]["table"]["tr", index].AddChild(new HTag("td", task.Operators[j])); } else { doc["html"]["body"]["div"]["table"]["tr", index].AddChild(new HTag("td", " ")); } } if (task.Guardian != "") { doc["html"]["body"]["div"]["table"]["tr", index].AddChild(new HTag("td", task.Guardian)); } else { doc["html"]["body"]["div"]["table"]["tr", index].AddChild(new HTag("td", " ")); } if (task.Principal != "") { doc["html"]["body"]["div"]["table"]["tr", index].AddChild(new HTag("td", task.Principal)); } else { doc["html"]["body"]["div"]["table"]["tr", index].AddChild(new HTag("td", " ")); } } WriteFiles.Write(doc.GenerateHtml(), PublicValue.ProgramPath + "/今日任务.html"); } //打开html Process.Start(PublicValue.ProgramPath + "/今日任务.html"); string str = $"/select,\"{ PublicValue.ProgramPath}\\今日任务.html\""; Process.Start("Explorer.exe", str); } else { MessageBox.Show("今日任务为空,请添加后再发布"); } }
private void But_ScoreDisplay_Click(object sender, EventArgs e) //处理HTML并调用浏览器显示工分 { DateTime first = dtp_First.Value; DateTime last = dtp_Last.Value; Save(); //写入html文档 { HDoc doc = new HDoc(); doc.AddChild("html"); doc["html"].AddChildren(new HTag("head"), new HTag("body")); doc["html"]["head"].AddChild(new HTag("title", "工分计算")); doc["html"]["head"].AddChild(new HTag("meta", new HProp("charset", "utf-8"))); doc["html"]["head"].AddChild("style", @" body{ background:#fef9e7; } .main{ margin:0% 15%; } .title{ text-align:center; font-family:'黑体'; font - size:20px } h1.title{ margin-left:40px; font-size:35px; } .worker{ font-size:25px; font-family:'楷体'; } table{ text-align:center; font-size:18px; } "); doc["html"]["body"].AddChild(new HTag("h1", "工分计算")); doc["html"]["body"]["h1"].Properties.Add("class", "title"); doc["html"]["body"].AddChild(new HTag("div", new HProp("class", "main"))); doc["html"]["body"].AddChild("ul"); for (int i = 0; i < PublicValue.Workers.Count; i++) { Worker worker = PublicValue.Workers[i]; doc["html"]["body"]["ul"].AddChild("li"); HTag item = doc["html"]["body"]["ul"]["li", i]; item.AddChildren(new HTag("p", worker.Name), new HTag("p", $"总工分:{worker.GetScore(first, last).ToString()}")); item[0].AddProperties(new HProp("class", "worker")); item[1].AddProperties(new HProp("class", "score")); item.AddChild("table", new HProp("border", "1"), new HProp("width", "100%")); item["table"].AddChild("caption", "工分详情"); item["table"]["caption"].AddProperties(new HProp("class", "title")); HTag table = item["table"]; table.AddChild("tr"); table["tr", 0].AddChildren(new HTag("th", "序号"), new HTag("th", "时间"), new HTag("th", "站名"), new HTag("th", "工作任务"), new HTag("th", "工作类型"), new HTag("th", "对应工分")); var tasks = worker.GetTasks(first, last); int add = 0; //定义重复任务附加值 for (int j = 0; j < tasks.Count; j++) { Task task = tasks[j]; for (int k = 0; k < worker.Types[task].Count; k++) { if (k > 0) { add++; } int index = j + 1 + add; table.AddChild("tr"); WorkerType wt = worker.Types[task][k]; string station; if (task.Station == null) { station = " "; } else { station = task.Station.Name; } table["tr", index].AddChildren(new HTag("td", index.ToString()), new HTag("td", task.Time.ToString()), new HTag("td", station), new HTag("td", task.Name), new HTag("td", Function.GetWorkerTypeString(wt)), new HTag("td", task.GetScore(wt).ToString())); } } } WriteFiles.Write(doc.GenerateHtml(), PublicValue.ProgramPath + "/html.html"); //写入文件 } Process.Start(PublicValue.ProgramPath + "/html.html"); //调用浏览器 }