GCYWLayer.cs 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311
  1. using System;
  2. using System.Collections;
  3. using System.Collections.Generic;
  4. using MPUIKIT;
  5. using UnityEngine;
  6. using UnityEngine.UI;
  7. using XCharts.Runtime;
  8. public class GCYWLayer : YZTRootLayer
  9. {
  10. private Text _xunJianRenWuText;
  11. private Text _xunJianRenCiText;
  12. private Text _quanBuGongChengText;
  13. private Text _dangRiGongChengText;
  14. private Text _zhengChangYunXingText;
  15. private Text _zhengGaiWenTi_Count_Text;
  16. private Text _zhengGaiWenTi_Vlaue_Text;
  17. private MPImage _zhengGaiWenTi_Slider;
  18. private Text _tuFaShiJian_Count_Text;
  19. private Text _tuFaShiJian_Vlaue_Text;
  20. private MPImage _tuFaShiJian_Slider;
  21. private BarChart wenTiTongJiBarChart;
  22. //突发事件总计
  23. private Text TFSJ_DaiChuLiNumTex;
  24. private Text TFSJ_DaiYanShouNumTex;
  25. private Text TFSJ_YiChuLiNumTex;
  26. private Text TFSJ_completeText;
  27. private MPImage TFSJ_completeSlider;
  28. public GameObject eventListItemPrefab;
  29. private List<GameObject> TFSJ_eventItems = new List<GameObject>();
  30. private Transform TFSJ_eventItemContent;
  31. //问题整改总计
  32. private Text WTZG_DaiChuLiNumTex;
  33. private Text WTZG_DaiYanShouNumTex;
  34. private Text WTZG_YiChuLiNumTex;
  35. private Text WTZG_completeText;
  36. private MPImage WTZG_completeSlider;
  37. private List<GameObject> WTZG_eventItems = new List<GameObject>();
  38. private Transform WTZG_eventItemContent;
  39. //巡检类型总计
  40. private Text dianQiCountText;
  41. private Text zhaZhanCountText;
  42. private Text diFangCountText;
  43. private Text jiaoChaJianZhuCountText;
  44. private Text dingQiZhuanXiangCountText;
  45. //工程管理
  46. private PieChart gongChengGuanLiChart;
  47. private PieChart fenJiKaoPingChart;
  48. private Text gongChengGuanLiChartCount;
  49. private Button checkPathButton;
  50. private Text checkPathButtonText;
  51. private bool showCheckPath = false;
  52. private Button BuYuanDataButton;
  53. private Button TaoKouDataButton;
  54. private CanvasGroup button_CG1;
  55. private CanvasGroup button_CG2;
  56. private void Awake()
  57. {
  58. Init();
  59. }
  60. public void Init()
  61. {
  62. _xunJianRenWuText = this.transform.Find("ShuJuTongJi/XunJianRenWu/title/numText").GetComponent<Text>();
  63. _xunJianRenCiText = this.transform.Find("ShuJuTongJi/XunJianRenCi/title/numText").GetComponent<Text>();
  64. _quanBuGongChengText = this.transform.Find("ShuJuTongJi/QuanBuGongCheng/title/numText").GetComponent<Text>();
  65. _dangRiGongChengText = this.transform.Find("ShuJuTongJi/DangRiJingGao/title/numText").GetComponent<Text>();
  66. _zhengChangYunXingText = this.transform.Find("ShuJuTongJi/ZhengChangGongCheng/title/numText").GetComponent<Text>();
  67. _zhengGaiWenTi_Count_Text = this.transform.Find("ShuJuTongJi/ZhengGaiWenTi/count/numText").GetComponent<Text>();
  68. _zhengGaiWenTi_Vlaue_Text = this.transform.Find("ShuJuTongJi/ZhengGaiWenTi/value/numText").GetComponent<Text>();
  69. _zhengGaiWenTi_Slider = this.transform.Find("ShuJuTongJi/ZhengGaiWenTi/slider").GetComponent<MPImage>();
  70. _tuFaShiJian_Count_Text = this.transform.Find("ShuJuTongJi/TuFaShiJian/count/numText").GetComponent<Text>();
  71. _tuFaShiJian_Vlaue_Text = this.transform.Find("ShuJuTongJi/TuFaShiJian/value/numText").GetComponent<Text>();
  72. _tuFaShiJian_Slider = this.transform.Find("ShuJuTongJi/TuFaShiJian/slider").GetComponent<MPImage>();
  73. wenTiTongJiBarChart = this.transform.Find("ShuJuTongJi/XunJianTongJi/BarChart").GetComponent<BarChart>();
  74. gongChengGuanLiChart=this.transform.Find("GongChengGuanLi/GuanLiJianCha").GetComponent<PieChart>();
  75. gongChengGuanLiChartCount=this.transform.Find("GongChengGuanLi/GuanLiJianCha/count/numText").GetComponent<Text>();
  76. fenJiKaoPingChart=this.transform.Find("GongChengGuanLi/FenJiKaoPing").GetComponent<PieChart>();
  77. TFSJ_DaiChuLiNumTex = this.transform.Find("TuFaShiJian/DaiChuLi/count").GetComponent<Text>();
  78. TFSJ_DaiYanShouNumTex = this.transform.Find("TuFaShiJian/DaiYanShou/count").GetComponent<Text>();
  79. TFSJ_YiChuLiNumTex = this.transform.Find("TuFaShiJian/YiChuLi/count").GetComponent<Text>();
  80. TFSJ_completeText = this.transform.Find("TuFaShiJian/completeText/numText").GetComponent<Text>();
  81. TFSJ_completeSlider = this.transform.Find("TuFaShiJian/slider").GetComponent<MPImage>();
  82. TFSJ_eventItemContent = this.transform.Find("TuFaShiJian/TuFaShiJianTongBao/ScrollView/Viewport/Content");
  83. WTZG_DaiChuLiNumTex = this.transform.Find("ZhengGaiWenTi/DaiZhengGai/count").GetComponent<Text>();
  84. WTZG_DaiYanShouNumTex = this.transform.Find("ZhengGaiWenTi/DaiYanShou/count").GetComponent<Text>();
  85. WTZG_YiChuLiNumTex = this.transform.Find("ZhengGaiWenTi/YiZhengGai/count").GetComponent<Text>();
  86. WTZG_completeText = this.transform.Find("ZhengGaiWenTi/completeText/numText").GetComponent<Text>();
  87. WTZG_completeSlider = this.transform.Find("ZhengGaiWenTi/slider").GetComponent<MPImage>();
  88. WTZG_eventItemContent = this.transform.Find("ZhengGaiWenTi/ZhengGaiTongBao/ScrollView/Viewport/Content");
  89. dianQiCountText = this.transform.Find("XunJianLeiXingZongJi/DianQi/count").GetComponent<Text>();
  90. zhaZhanCountText = this.transform.Find("XunJianLeiXingZongJi/ZhaZhan/count").GetComponent<Text>();
  91. diFangCountText = this.transform.Find("XunJianLeiXingZongJi/DiFang/count").GetComponent<Text>();
  92. jiaoChaJianZhuCountText = this.transform.Find("XunJianLeiXingZongJi/JiaoChaJianZhu/count").GetComponent<Text>();
  93. dingQiZhuanXiangCountText = this.transform.Find("XunJianLeiXingZongJi/DingQiZhuanXiang/count").GetComponent<Text>();
  94. checkPathButton = this.transform.Find("CheckPathButton").GetComponent<Button>();
  95. checkPathButtonText = checkPathButton.GetComponentInChildren<Text>();
  96. checkPathButton.onClick.AddListener(CheckPathChange);
  97. BuYuanDataButton = this.transform.Find("BuYuanButton").GetComponent<Button>();
  98. button_CG1 = BuYuanDataButton.GetComponent<CanvasGroup>();
  99. BuYuanDataButton.onClick.AddListener(() =>
  100. {
  101. ChangeData(0);
  102. });
  103. TaoKouDataButton = this.transform.Find("TaoKouButton").GetComponent<Button>();
  104. button_CG2 = TaoKouDataButton.GetComponent<CanvasGroup>();
  105. TaoKouDataButton.onClick.AddListener(() =>
  106. {
  107. ChangeData(1);
  108. });
  109. }
  110. private void ChangeData(int type)
  111. {
  112. //切换补元、套口数据
  113. StaticLod.instance.OnFoucusStatic(type);
  114. button_CG1.alpha = type==0?1.0f:0.4f;
  115. button_CG2.alpha = type==1?1.0f:0.4f;
  116. showCheckPath = false;
  117. ActionInstance._Instance.SetCheckPathActive(showCheckPath);
  118. string textStr = showCheckPath ? "隐藏" : "显示";
  119. checkPathButtonText.text = $"巡检路线({textStr})";
  120. }
  121. private async void OnEnable()
  122. {
  123. if (GlobalData.B08DataStatis != null && GlobalData.B08DataStatis.data == null)
  124. {
  125. await HttpHelper._Instance.InitGCYWData();
  126. }
  127. SetShuJuTongJiData();
  128. SetXunJianBarChart();
  129. SetGongChengGuanLiChart();
  130. SetTFSJ_Data();
  131. SetWTZG_Data();
  132. SetXJLE_Data();
  133. ChangeData(0);
  134. }
  135. public void SetShuJuTongJiData()
  136. {
  137. B08_dataStatis tempData = GlobalData.B08DataStatis;
  138. _xunJianRenWuText.text = $"{tempData.data.inspectTask}";
  139. _xunJianRenCiText.text = $"{tempData.data.inspectTimes}";
  140. _quanBuGongChengText.text = $"{tempData.data.allProject}";
  141. _dangRiGongChengText.text = $"{tempData.data.warnProject}";
  142. _zhengChangYunXingText.text = $"{tempData.data.normalProject}";
  143. }
  144. public void SetXunJianBarChart()
  145. {
  146. B08_inspectResult tempData = GlobalData.B08InspectResult;
  147. var tempSeries = wenTiTongJiBarChart.series;
  148. SerieData[] tempDatas = new SerieData[tempData.data.question.Length];
  149. for (int i = 0; i < tempDatas.Length; i++)
  150. {
  151. tempDatas[i] = new SerieData();
  152. tempDatas[i].data = new List<double>();
  153. tempDatas[i].data.Add(i);
  154. tempDatas[i].data.Add(tempData.data.question[i].value);
  155. }
  156. tempSeries[0].data.Clear();
  157. tempSeries[0].data.AddRange(tempDatas);
  158. SerieData[] tempDatas_1 = new SerieData[tempData.data.events.Length];
  159. for (int i = 0; i < tempDatas_1.Length; i++)
  160. {
  161. tempDatas_1[i] = new SerieData();
  162. tempDatas_1[i].data = new List<double>();
  163. tempDatas_1[i].data.Add(i);
  164. tempDatas_1[i].data.Add(tempData.data.events[i].value);
  165. }
  166. tempSeries[1].data.Clear();
  167. tempSeries[1].data.AddRange(tempDatas_1);
  168. }
  169. public void SetGongChengGuanLiChart()
  170. {
  171. B08_projectExamine tempData = GlobalData.B08ProjectExamine;
  172. var tempSeries = gongChengGuanLiChart.series;
  173. int tempCount = 0;
  174. SerieData[] tempDatas = new SerieData[tempData.data.type1.Length];
  175. for (int i = 0; i < tempDatas.Length; i++)
  176. {
  177. tempDatas[i] = new SerieData();
  178. tempDatas[i].data = new List<double>();
  179. tempDatas[i].data.Add(i);
  180. tempDatas[i].data.Add(tempData.data.type1[i].value);
  181. tempDatas[i].name = tempData.data.type1[i].key;
  182. tempCount += tempData.data.type1[i].value;
  183. }
  184. tempSeries[0].data.Clear();
  185. tempSeries[0].data.AddRange(tempDatas);
  186. gongChengGuanLiChartCount.text = tempCount.ToString();
  187. var tempSeries_1 = fenJiKaoPingChart.series;
  188. SerieData[] tempDatas_1 = new SerieData[tempData.data.type2.Length];
  189. for (int i = 0; i < tempDatas_1.Length; i++)
  190. {
  191. tempDatas_1[i] = new SerieData();
  192. tempDatas_1[i].data = new List<double>();
  193. tempDatas_1[i].data.Add(i);
  194. tempDatas_1[i].data.Add(tempData.data.type2[i].value);
  195. tempDatas_1[i].name = tempData.data.type2[i].key;
  196. }
  197. tempSeries_1[0].data.Clear();
  198. tempSeries_1[0].data.AddRange(tempDatas_1);
  199. }
  200. public void SetTFSJ_Data()
  201. {
  202. B08_event tempData = GlobalData.B08Event;
  203. TFSJ_DaiChuLiNumTex.text = tempData.data.waitHandle.ToString();
  204. TFSJ_DaiYanShouNumTex.text = tempData.data.waitAccept.ToString();
  205. TFSJ_YiChuLiNumTex.text = tempData.data.hasHandle.ToString();
  206. TFSJ_completeText.text = $"{float.Parse(tempData.data.completeRate)*100.0f:0}%";
  207. TFSJ_completeSlider.fillAmount =float.Parse(tempData.data.completeRate);
  208. for (int i = 0; i < TFSJ_eventItems.Count; i++)
  209. {
  210. Destroy(TFSJ_eventItems[i]);
  211. }
  212. TFSJ_eventItems.Clear();
  213. for (int i = 0; i < tempData.data.list.Count; i++)
  214. {
  215. var tempObj = Instantiate(eventListItemPrefab, TFSJ_eventItemContent).GetComponent<B08_EventListItem>();
  216. tempObj.Init(tempData.data.list[i]);
  217. TFSJ_eventItems.Add(tempObj.gameObject);
  218. }
  219. _tuFaShiJian_Count_Text.text = $"{tempData.data.waitHandle+tempData.data.waitAccept+tempData.data.hasHandle}";
  220. _tuFaShiJian_Vlaue_Text.text = $"{float.Parse(tempData.data.completeRate)*100.0f:0}%";
  221. _tuFaShiJian_Slider.fillAmount =float.Parse(tempData.data.completeRate);
  222. }
  223. public void SetWTZG_Data()
  224. {
  225. B08_questionStatis tempData = GlobalData.B08QuestionStatis;
  226. WTZG_DaiChuLiNumTex.text = tempData.data.waitHandle.ToString();
  227. WTZG_DaiYanShouNumTex.text = tempData.data.waitAccept.ToString();
  228. WTZG_YiChuLiNumTex.text = tempData.data.hasHandle.ToString();
  229. WTZG_completeText.text = $"{float.Parse(tempData.data.completeRate)*100.0f:0}%";
  230. WTZG_completeSlider.fillAmount =float.Parse(tempData.data.completeRate);
  231. for (int i = 0; i < WTZG_eventItems.Count; i++)
  232. {
  233. Destroy(WTZG_eventItems[i]);
  234. }
  235. WTZG_eventItems.Clear();
  236. for (int i = 0; i < tempData.data.list.Count; i++)
  237. {
  238. var tempObj = Instantiate(eventListItemPrefab, WTZG_eventItemContent).GetComponent<B08_EventListItem>();
  239. tempObj.Init(tempData.data.list[i]);
  240. WTZG_eventItems.Add(tempObj.gameObject);
  241. }
  242. _zhengGaiWenTi_Count_Text.text =$"{tempData.data.waitHandle+tempData.data.waitAccept+tempData.data.hasHandle}";
  243. _zhengGaiWenTi_Vlaue_Text.text = $"{float.Parse(tempData.data.completeRate)*100.0f:0}%";
  244. _zhengGaiWenTi_Slider.fillAmount = float.Parse(tempData.data.completeRate);
  245. }
  246. public void SetXJLE_Data()
  247. {
  248. B08_inspectType tempData = GlobalData.B08InspectType;
  249. dianQiCountText.text = tempData.data[0].value.ToString();
  250. zhaZhanCountText.text = tempData.data[1].value.ToString();
  251. diFangCountText.text = tempData.data[2].value.ToString();
  252. jiaoChaJianZhuCountText.text = tempData.data[3].value.ToString();
  253. dingQiZhuanXiangCountText.text = tempData.data[4].value.ToString();
  254. }
  255. public void CheckPathChange()
  256. {
  257. showCheckPath = !showCheckPath;
  258. ActionInstance._Instance.SetCheckPathActive(showCheckPath);
  259. string textStr = showCheckPath ? "隐藏" : "显示";
  260. checkPathButtonText.text = $"巡检路线({textStr})";
  261. }
  262. }