StandardizedAssistantForm.xaml.cs 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197
  1. using CollaborativePlatformMain.DFEntity;
  2. using System;
  3. using System.Collections.Generic;
  4. using System.Linq;
  5. using System.Text;
  6. using System.Threading.Tasks;
  7. using System.Windows;
  8. using System.Windows.Controls;
  9. using System.Windows.Data;
  10. using System.Windows.Documents;
  11. using System.Windows.Input;
  12. using System.Windows.Media;
  13. using System.Windows.Media.Imaging;
  14. using System.Windows.Shapes;
  15. namespace CollaborativePlatformMain.Form
  16. {
  17. /// <summary>
  18. /// StandardizedAssistantForm.xaml 的交互逻辑
  19. /// </summary>
  20. public partial class StandardizedAssistantForm : Window
  21. {
  22. /// <summary>
  23. /// 父级窗体
  24. /// </summary>
  25. public HomepageForm HomepageForm;
  26. /// <summary>
  27. /// 规范数据
  28. /// </summary>
  29. public static List<StandardizedEntity> StandardizedEntities = new List<StandardizedEntity>();
  30. /// <summary>
  31. /// 青蓝规范小助手
  32. /// </summary>
  33. /// <param name="homepageForm"></param>
  34. public StandardizedAssistantForm(HomepageForm homepageForm)
  35. {
  36. InitializeComponent();
  37. HomepageForm = homepageForm;
  38. }
  39. /// <summary>
  40. /// 窗体初始化
  41. /// </summary>
  42. /// <param name="sender"></param>
  43. /// <param name="e"></param>
  44. private void Window_Loaded(object sender, RoutedEventArgs e)
  45. {
  46. StandardizedEntity standardizedEntity1 = new StandardizedEntity("4.1 一般规定", "4.1.1 建筑的平面布置应便于建筑发生火灾时的人员疏散和避难,有利于减小火灾危害、控制火势和烟气蔓延。" +
  47. "同一建筑内的不同使用功能区域之间应进行防火分隔。\r\n4.1.2 工业与民用建筑、地铁车站、" +
  48. "平时使用的人民防空工程应综合其高度(埋深)、使用功能和火灾危险性等因素,根据有利于消防救援、" +
  49. "控制火灾及降低火灾危害的原则划分防火分区。防火分区的划分应符合下列规定:\r\n " +
  50. "1 建筑内横向应采用防火墙等划分防火分区,且防火分隔应保证火灾不会蔓延至相邻防火分区;\r\n " +
  51. "2 建筑内竖向按自然楼层划分防火分区时,除允许设置敞开楼梯间的建筑外," +
  52. "防火分区的建筑面积应按上、下楼层中在火灾时未封闭的开口所连通区域的建筑面积之和计算;\r\n " +
  53. "3 高层建筑主体与裙房之间未采用防火墙和甲级防火门分隔时,裙房的防火分区应按高层建筑主体的相应要求划分;\r\n " +
  54. " 4 除建筑内游泳池、消防水池等的水面、冰面或雪面面积,射击场的靶道面积,污水沉降池面积," +
  55. "开敞式的外走廊或阳台面积等可不计入防火分区的建筑面积外,其他建筑面积均应计入所在防火分区的建筑面积。" +
  56. "\r\n4.1.3 下列场所应采用防火门、防火窗、耐火极限不低于2.00h的防火隔墙和耐火极限不低于1.00h的楼板与其他区域" +
  57. "分隔:\r\n 1 住宅建筑中的汽车库和锅炉房;\r\n 2 除居住建筑中的套内自用厨房可不分隔外,建筑内的" +
  58. "厨房;\r\n 3 医疗建筑中的手术室或手术部、产房、重症监护室、贵重精密医疗装备用房、储藏间、实验" +
  59. "室、胶片室等;\r\n 4 建筑中的儿童活动场所、老年人照料设施;\r\n 5 除消防水泵房的防火分隔应" +
  60. "符合本规范第4.1.7条的规定,消防控制室的防火分隔应符合本规范第4.1.8条的规定外,其他消防设备或器材用房。");
  61. StandardizedEntity standardizedEntity2 = new StandardizedEntity("4.2 工业建筑", "4.2.1 除特殊工艺要求外,下列场所不应设置在地下或半地下:\r\n " +
  62. "1 甲、乙类生产场所;\r\n 2 甲、乙类仓库;\r\n 3 有粉尘爆炸危险的生产场所、滤尘设备间;\r\n " +
  63. "4 邮袋库、丝麻棉毛类物质库。\r\n4.2.2 厂房内不应设置宿舍。直接服务于生产的办公室、休息室等辅助用房的设置," +
  64. "应符合下列规定:\r\n 1 不应设置在甲、乙类厂房内;\r\n 2 与甲、乙类厂房贴邻的辅助用房的耐火等级不应" +
  65. "低于二级,并应采用耐火极限不低于3.00h的抗爆墙与厂房中有爆炸危险的区域分隔,安全出口应独立设置;\r\n " +
  66. "3 设置在丙类厂房内的辅助用房应采用防火门、防火窗、耐火极限不低于2.00h的防火隔墙和耐火极限不低于1.00h的" +
  67. "楼板与厂房内的其他部位分隔,并应设置至少1个独立的安全出口。\r\n4.2.3 设置在厂房内的甲、乙、丙类中间仓" +
  68. "库,应采用防火墙和耐火极限不低于1.50h的不燃性楼板与其他部位分隔。\r\n4.2.4 与甲、乙类厂房贴邻并供该甲" +
  69. "、乙类厂房专用的10kV及以下的变(配)电站,应采用无开口的防火墙或抗爆墙一面贴邻,与乙类厂房贴邻的防火墙" +
  70. "上的开口应为甲级防火窗。其他变(配)电站应设置在甲、乙类厂房以及爆炸危险性区域外,不应与甲、乙类厂房贴" +
  71. "邻。\r\n4.2.5 甲、乙类仓库和储存丙类可燃液体的仓库应为单、多层建筑。\r\n4.2.6 仓库内的防火分区或库房之" +
  72. "间应采用防火墙分隔,甲、乙类库房内的防火分区或库房之间应采用无任何开口的防火墙分隔。\r\n4.2.7 仓库内不" +
  73. "应设置员工宿舍及与库房运行、管理无直接关系的其他用房。甲、乙类仓库内不应设置办公室、休息室等辅助用房," +
  74. "不应与办公室、休息室等辅助用房及其他场所贴邻。丙、丁类仓库内的办公室、休息室等辅助用房,应采用防火门、" +
  75. "防火窗、耐火极限不低于2.00h的防火隔墙和耐火极限不低于1.00h的楼板与其他部位分隔,并应设置独立的安全出口。" +
  76. "\r\n4.2.8 使用和生产甲、乙、丙类液体的场所中,管、沟不应与相邻建筑或场所的管、沟相通,下水道应采取防止含" +
  77. "可燃液体的污水流入的措施。");
  78. StandardizedEntity standardizedEntity3 = new StandardizedEntity("4.3 民用建筑", "4.3.1 民用建筑内不应设置经营、存放或使用甲、乙类火灾危险性物品的商店、作" +
  79. "坊或储藏间等。民用建筑内除可设置为满足建筑使用功能的附属库房外,不应设置生产场所或其他库房," +
  80. "不应与工业建筑组合建造。\r\n4.3.2 住宅与非住宅功能合建的建筑应符合下列规定:\r\n " +
  81. " 1 除汽车库的疏散出口外,住宅部分与非住宅部分之间应采用耐火极限不低于2.00h,且无开口" +
  82. "的防火隔墙和耐火极限不低于2.00h的不燃性楼板完全分隔。\r\n 2 住宅部分与非住宅部分的" +
  83. "安全出口和疏散楼梯应分别独立设置。\r\n 3 为住宅服务的地上车库应设置独立的安全出口或" +
  84. "疏散楼梯,地下车库的疏散楼梯间应按本规范第7.1.10条的规定分隔。\r\n 4 住宅与商业设施" +
  85. "合建的建筑按照住宅建筑的防火要求建造的,应符合下列规定:\r\n 1)商业设施中每个独" +
  86. "立单元之间应采用耐火极限不低于2.00h且无开口的防火隔墙分隔;\r\n 2)每个独立单元" +
  87. "的层数不应大于2层,且2层的总建筑面积不应大于300㎡;\r\n 3)每个独立单元中建筑面" +
  88. "积大于200㎡的任一楼层均应设置至少2个疏散出口。\r\n4.3.3 商店营业厅、公共展览厅等的布置" +
  89. "应符合下列规定:\r\n 1 对于一、二级耐火等级建筑,应布置在地下二层及以上的楼层;\r\n " +
  90. " 2 对于三级耐火等级建筑,应布置在首层或二层;\r\n 3 对于四级耐火等级建筑,应布置在首" +
  91. "层。\r\n4.3.4 儿童活动场所的布置应符合下列规定:\r\n 1 不应布置在地下或半地下;\r\n " +
  92. " 2 对于一、二级耐火等级建筑,应布置在首层、二层或三层;\r\n 3 对于三级耐火等级建筑,应" +
  93. "布置在首层或二层;\r\n 4 对于四级耐火等级建筑,应布置在首层。\r\n4.3.5 老年人照料设施的" +
  94. "布置应符合下列规定:\r\n 1 对于一、二级耐火等级建筑,不应布置在楼地面设计标高大于54m的" +
  95. "楼层上;\r\n 2 对于三级耐火等级建筑,应布置在首层或二层;\r\n 3 居室和休息室不应布置" +
  96. "在地下或半地下;\r\n 4 老年人公共活动用房、康复与医疗用房,应布置在地下一层及以上楼层,当" +
  97. "布置在半地下或地下一层、地上四层及以上楼层时,每个房间的建筑面积不应大于200㎡且使用人数不应" +
  98. "大于30人。\r\n4.3.6 医疗建筑中住院病房的布置和分隔应符合下列规定:\r\n 1 不应布置在地下" +
  99. "或半地下;\r\n 2 对于三级耐火等级建筑,应布置在首层或二层;\r\n 3 建筑内相邻护理单元" +
  100. "之间应采用耐火极限不低于2.00h的防火隔墙和甲级防火门分隔。\r\n4.3.7 歌舞娱乐放映游艺场所" +
  101. "的布置和分隔应符合下列规定:\r\n 1 应布置在地下一层及以上且埋深不大于10m的楼层;\r\n 2 " +
  102. "当布置在地下一层或地上四层及以上楼层时,每个房间的建筑面积不应大于200㎡;\r\n 3 房间之间应" +
  103. "采用耐火极限不低于2.00h的防火隔墙分隔;\r\n 4 与建筑的其他部位之间应采用防火门、耐火极限" +
  104. "不低于2.00h的防火隔墙和耐火极限不低于1.00h的不燃性楼板分隔。");
  105. StandardizedEntity standardized1 = new StandardizedEntity("4 建筑平面布置与防火分隔", new List<StandardizedEntity>() { standardizedEntity1, standardizedEntity2, standardizedEntity3 });
  106. StandardizedEntity standardized2 = new StandardizedEntity("5 建筑结构耐火", new List<StandardizedEntity>() { standardizedEntity1, standardizedEntity2, standardizedEntity3 });
  107. StandardizedEntity standardized3 = new StandardizedEntity("6 建筑构造与装修", new List<StandardizedEntity>() { standardizedEntity1, standardizedEntity2, standardizedEntity3 });
  108. StandardizedEntity standardized4 = new StandardizedEntity("7 安全疏散与避难设施", new List<StandardizedEntity>() { standardizedEntity1, standardizedEntity2, standardizedEntity3 });
  109. StandardizedEntity standardized5 = new StandardizedEntity("8 消防设施", new List<StandardizedEntity>() { standardizedEntity1, standardizedEntity2, standardizedEntity3 });
  110. StandardizedEntity data1 = new StandardizedEntity("建筑防火通用规范 GB55037-2022", new List<StandardizedEntity>() { standardized1, standardized2, standardized3, standardized4, standardized5 });
  111. StandardizedEntity data2 = new StandardizedEntity("建筑设计防火规范 GB50016-2014(2018年版)", new List<StandardizedEntity>() { standardized1, standardized2, standardized3, standardized4, standardized5 });
  112. StandardizedEntity data4 = new StandardizedEntity("消防设施通用规范 GB55036-2022", new List<StandardizedEntity>() { standardized1, standardized2, standardized3, standardized4, standardized5 });
  113. StandardizedEntity data5 = new StandardizedEntity("人民防空工程设计防火规范 GB50098-2009", new List<StandardizedEntity>() { standardized1, standardized2, standardized3, standardized4, standardized5 });
  114. StandardizedEntity data6 = new StandardizedEntity("住宅建筑规范 GB50368-2005", new List<StandardizedEntity>() { standardized1, standardized2, standardized3, standardized4, standardized5 });
  115. StandardizedEntity data7 = new StandardizedEntity("建筑防烟排烟系统技术标准 GB51251-2017", new List<StandardizedEntity>() { standardized1, standardized2, standardized3, standardized4, standardized5 });
  116. StandardizedEntities = new List<StandardizedEntity>() { data1, data2, data4, data5, data6, data7 };
  117. tr_threemodel.ItemsSource = null;
  118. tr_threemodel.ItemsSource = StandardizedEntities;
  119. }
  120. private void tr_threemodel_PreviewMouseLeftButtonUp(object sender, MouseButtonEventArgs e)
  121. {
  122. }
  123. /// <summary>
  124. /// textblock点击事件
  125. /// </summary>
  126. /// <param name="sender"></param>
  127. /// <param name="e"></param>
  128. private void TextBlock_PreviewMouseLeftButtonUp(object sender, MouseButtonEventArgs e)
  129. {
  130. TextBlock textBlock = sender as TextBlock;
  131. if (textBlock == null) return;
  132. StandardizedEntity standardizedEntity = textBlock.DataContext as StandardizedEntity;
  133. if (standardizedEntity == null) return;
  134. string node = standardizedEntity.Node;
  135. if (node == null || node == "") return;
  136. tb_node.Text = standardizedEntity.Node;
  137. }
  138. /// <summary>
  139. /// 窗体关闭事件
  140. /// </summary>
  141. /// <param name="sender"></param>
  142. /// <param name="e"></param>
  143. private void Window_Closed(object sender, EventArgs e)
  144. {
  145. HomepageForm.Visibility = Visibility.Visible;
  146. }
  147. /// <summary>
  148. /// 搜索事件
  149. /// </summary>
  150. /// <param name="sender"></param>
  151. /// <param name="e"></param>
  152. private void bt_sousuo_Click(object sender, RoutedEventArgs e)
  153. {
  154. string value = tb_sousuo.Text.ToString();
  155. List<StandardizedEntity> copyDatas = new List<StandardizedEntity>();
  156. foreach (var item in StandardizedEntities)
  157. {
  158. copyDatas.Add(item);
  159. }
  160. copyDatas = copyDatas.Where(x => x.Name.Contains(value)).ToList();
  161. if (copyDatas.Count == 0)
  162. {
  163. tr_threemodel.ItemsSource = null;
  164. tr_threemodel.ItemsSource = StandardizedEntities;
  165. }
  166. else
  167. {
  168. tr_threemodel.ItemsSource = null;
  169. tr_threemodel.ItemsSource = copyDatas;
  170. }
  171. }
  172. }
  173. }