コード例 #1
0
     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", "&nbsp;"));
                     }
                     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", "&nbsp;"));
                         }
                     }
                     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", "&nbsp;"));
                     }
                     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", "&nbsp;"));
                     }
                 }
                 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("今日任务为空,请添加后再发布");
         }
     }
コード例 #2
0
 public static string SerializeHtml(HDoc document)
 {
     return(document.GenerateHtml());
 }
コード例 #3
0
        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 = "&nbsp;";
                            }
                            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");                            //调用浏览器
        }