| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346 |
- using System;
- using System.Collections;
- using System.Collections.Generic;
- using System.Linq;
- using MPUIKIT;
- using Unity.VisualScripting;
- using UnityEngine;
- using UnityEngine.Serialization;
- using UnityEngine.UI;
- using XCharts.Runtime;
- public class GCYWLayer : YZTRootLayer
- {
- private Dropdown stationDropdown;
-
- private Text _daiPaiGongText;
- private Text _daiXunJianText;
- private Text _xunJianZhongText;
- private Text _yiXunJianText;
-
- private BarChart wenTiTongJiBarChart;
- //突发事件总计
- private Text TFSJ_DaiChuLiNumTex;
- private Text TFSJ_DaiYanShouNumTex;
- private Text TFSJ_YiChuLiNumTex;
- private Text TFSJ_completeText;
- private MPImage TFSJ_completeSlider;
- public GameObject eventListItemPrefab;
- private List<GameObject> TFSJ_eventItems = new List<GameObject>();
- private Transform TFSJ_eventItemContent;
-
- //工程管理
- private PieChart gongChengGuanLiChart;
- private PieChart fenJiKaoPingChart;
- private Text gongChengGuanLiChartCount;
- private Button checkPathButton;
- private Text checkPathButtonText;
- private bool showCheckPath = false;
- public TaskListPanel taskListPanel;
- //public GameObject taskPhotoPanelObj;
- //public TaskPhotoPanel taskPhotoPanel;
- public GameObject taskPointIconPrefab;
- public Transform taskPointIconContent;
- public List<TaskPointIcon> taskPointIcons = new List<TaskPointIcon>();
- public LineRenderer taskPointLineRenderer;
- //public Button closePanelBtn;
- private List<string> stationNames = new List<string>();
- private List<string> ids = new List<string>();
- private string currentIds = "";
- private void Awake()
- {
- Init();
- }
- public void Init()
- {
- stationDropdown = this.transform.Find("ShuJuTongJi/Dropdown").GetComponent<Dropdown>();
-
- _daiPaiGongText = this.transform.Find("ShuJuTongJi/DaiPaiGong/title/numText").GetComponent<Text>();
- _daiXunJianText = this.transform.Find("ShuJuTongJi/DaiXunJian/title/numText").GetComponent<Text>();
- _xunJianZhongText = this.transform.Find("ShuJuTongJi/XunJianZhong/title/numText").GetComponent<Text>();
- _yiXunJianText = this.transform.Find("ShuJuTongJi/YiXunJian/title/numText").GetComponent<Text>();
-
- wenTiTongJiBarChart = this.transform.Find("ShuJuTongJi/XunJianTongJi/BarChart").GetComponent<BarChart>();
- gongChengGuanLiChart = this.transform.Find("GongChengGuanLi/GuanLiJianCha").GetComponent<PieChart>();
- gongChengGuanLiChartCount =
- this.transform.Find("GongChengGuanLi/GuanLiJianCha/count/numText").GetComponent<Text>();
- fenJiKaoPingChart = this.transform.Find("GongChengGuanLi/FenJiKaoPing").GetComponent<PieChart>();
- TFSJ_DaiChuLiNumTex = this.transform.Find("TuFaShiJian/DaiChuLi/count").GetComponent<Text>();
- TFSJ_DaiYanShouNumTex = this.transform.Find("TuFaShiJian/DaiYanShou/count").GetComponent<Text>();
- TFSJ_YiChuLiNumTex = this.transform.Find("TuFaShiJian/YiChuLi/count").GetComponent<Text>();
- TFSJ_completeText = this.transform.Find("TuFaShiJian/completeText/numText").GetComponent<Text>();
- TFSJ_completeSlider = this.transform.Find("TuFaShiJian/slider").GetComponent<MPImage>();
- TFSJ_eventItemContent = this.transform.Find("TuFaShiJian/TuFaShiJianTongBao/ScrollView/Viewport/Content");
-
- checkPathButton = this.transform.Find("CheckPathButton").GetComponent<Button>();
- checkPathButtonText = checkPathButton.GetComponentInChildren<Text>();
- checkPathButton.onClick.AddListener(CheckPathChange);
- }
- private async void ChangeData(int type)
- {
- try
- {
- currentIds = ids[type];
-
- showCheckPath = false;
- string textStr = showCheckPath ? "隐藏" : "显示";
- checkPathButtonText.text = $"巡检路线({textStr})";
- var currentData = GlobalData.B08StatisticsInfo[stationNames[type]];
-
- _daiPaiGongText.text = $"{currentData.waitDispatch}";
- _daiXunJianText.text = $"{currentData.waitPatrol}";
- _xunJianZhongText.text = $"{currentData.onPatrol}";
- _yiXunJianText.text = $"{currentData.patrolCompleted}";
-
- var tempSeries = wenTiTongJiBarChart.series;
- SerieData[] tempDatas = new SerieData[currentData.dates.Count];
- for (int i = 0; i < tempDatas.Length; i++)
- {
- tempDatas[i] = new SerieData();
- tempDatas[i].data = new List<double>();
- tempDatas[i].data.Add(i);
- tempDatas[i].data.Add(currentData.valueOfDates[i]);
- }
- tempSeries[0].data.Clear();
- tempSeries[0].data.AddRange(tempDatas);
- if (!GlobalData.B08_Type.Equals(currentIds))
- {
- await HttpHelper._Instance.InitGCYWData1(currentIds);
- }
- //
- // SetShuJuTongJiData();
- // SetXunJianBarChart();
- // SetGongChengGuanLiChart();
- // SetTFSJ_Data();
- //
- // await HttpHelper._Instance.B08_GetTaskList();
- // taskListPanel.SetData(this);
- }
- catch (Exception e)
- {
- Debug.LogError("GCYWLayer ChangeData error"+e.ToString());
- }
- }
- private async void OnEnable()
- {
- stationNames.Clear();
- ids.Clear();
- stationDropdown.ClearOptions();
-
- stationNames.AddRange(GlobalData.B08StationList.Keys.ToArray());
- ids.AddRange(GlobalData.B08StationList.Values.ToArray());
- stationDropdown.AddOptions(stationNames);
- stationDropdown.onValueChanged.AddListener(ChangeData);
- stationDropdown.value = 0;
- }
- public void SetGongChengGuanLiChart()
- {
- B08_projectExamine tempData = GlobalData.B08ProjectExamine;
- var tempSeries = gongChengGuanLiChart.series;
- int tempCount = 0;
- SerieData[] tempDatas = new SerieData[tempData.data.type1.Length];
- for (int i = 0; i < tempDatas.Length; i++)
- {
- tempDatas[i] = new SerieData();
- tempDatas[i].data = new List<double>();
- tempDatas[i].data.Add(i);
- tempDatas[i].data.Add(tempData.data.type1[i].value);
- tempDatas[i].name = tempData.data.type1[i].key;
- tempCount += tempData.data.type1[i].value;
- }
- tempSeries[0].data.Clear();
- tempSeries[0].data.AddRange(tempDatas);
- gongChengGuanLiChartCount.text = tempCount.ToString();
- var tempSeries_1 = fenJiKaoPingChart.series;
- SerieData[] tempDatas_1 = new SerieData[tempData.data.type2.Length];
- for (int i = 0; i < tempDatas_1.Length; i++)
- {
- tempDatas_1[i] = new SerieData();
- tempDatas_1[i].data = new List<double>();
- tempDatas_1[i].data.Add(i);
- tempDatas_1[i].data.Add(tempData.data.type2[i].value);
- tempDatas_1[i].name = tempData.data.type2[i].key;
- }
- tempSeries_1[0].data.Clear();
- tempSeries_1[0].data.AddRange(tempDatas_1);
- }
- public void SetTFSJ_Data()
- {
- B08_event tempData = GlobalData.B08Event;
- TFSJ_DaiChuLiNumTex.text = tempData.data.waitHandle.ToString();
- TFSJ_DaiYanShouNumTex.text = tempData.data.waitAccept.ToString();
- TFSJ_YiChuLiNumTex.text = tempData.data.hasHandle.ToString();
- TFSJ_completeText.text = $"{float.Parse(tempData.data.completeRate) * 100.0f:0}%";
- TFSJ_completeSlider.fillAmount = float.Parse(tempData.data.completeRate);
- for (int i = 0; i < TFSJ_eventItems.Count; i++)
- {
- Destroy(TFSJ_eventItems[i]);
- }
- TFSJ_eventItems.Clear();
- for (int i = 0; i < tempData.data.list.Count; i++)
- {
- var tempObj = Instantiate(eventListItemPrefab, TFSJ_eventItemContent).GetComponent<B08_EventListItem>();
- tempObj.Init(tempData.data.list[i]);
- TFSJ_eventItems.Add(tempObj.gameObject);
- }
- // _tuFaShiJian_Count_Text.text =
- // $"{tempData.data.waitHandle + tempData.data.waitAccept + tempData.data.hasHandle}";
- // _tuFaShiJian_Vlaue_Text.text = $"{float.Parse(tempData.data.completeRate) * 100.0f:0}%";
- // _tuFaShiJian_Slider.fillAmount = float.Parse(tempData.data.completeRate);
- }
- // public void SetWTZG_Data()
- // {
- // B08_questionStatis tempData = GlobalData.B08QuestionStatis;
- // WTZG_DaiChuLiNumTex.text = tempData.data.waitHandle.ToString();
- // WTZG_DaiYanShouNumTex.text = tempData.data.waitAccept.ToString();
- // WTZG_YiChuLiNumTex.text = tempData.data.hasHandle.ToString();
- // WTZG_completeText.text = $"{float.Parse(tempData.data.completeRate) * 100.0f:0}%";
- // WTZG_completeSlider.fillAmount = float.Parse(tempData.data.completeRate);
- //
- // for (int i = 0; i < WTZG_eventItems.Count; i++)
- // {
- // Destroy(WTZG_eventItems[i]);
- // }
- //
- // WTZG_eventItems.Clear();
- // for (int i = 0; i < tempData.data.list.Count; i++)
- // {
- // var tempObj = Instantiate(eventListItemPrefab, WTZG_eventItemContent).GetComponent<B08_EventListItem>();
- // tempObj.Init(tempData.data.list[i]);
- // WTZG_eventItems.Add(tempObj.gameObject);
- // }
- //
- // _zhengGaiWenTi_Count_Text.text =
- // $"{tempData.data.waitHandle + tempData.data.waitAccept + tempData.data.hasHandle}";
- // _zhengGaiWenTi_Vlaue_Text.text = $"{float.Parse(tempData.data.completeRate) * 100.0f:0}%";
- // _zhengGaiWenTi_Slider.fillAmount = float.Parse(tempData.data.completeRate);
- // }
- // public void SetXJLE_Data()
- // {
- // B08_inspectType tempData = GlobalData.B08InspectType;
- // dianQiCountText.text = tempData.data[0].value.ToString();
- // zhaZhanCountText.text = tempData.data[1].value.ToString();
- // diFangCountText.text = tempData.data[2].value.ToString();
- // jiaoChaJianZhuCountText.text = tempData.data[3].value.ToString();
- // dingQiZhuanXiangCountText.text = tempData.data[4].value.ToString();
- // }
- public void CheckPathChange()
- {
- showCheckPath = !showCheckPath;
- //ActionInstance._Instance.SetCheckPathActive(showCheckPath);
- string textStr = showCheckPath ? "隐藏" : "显示";
- checkPathButtonText.text = $"巡检路线({textStr})";
- }
- // public void OpenTaskListPanel(int type)
- // {
- // taskListPanel.SetData(this,type);
- // TaskListPanelObj.SetActive(true);
- // }
- private B08_TaskLocation[] currentTaskLocation;
- private string taskTime;
-
- public void SetTaskImgPanelData(B08_TaskLocation[] itemsArray,string _time)
- {
- currentTaskLocation = itemsArray;
- taskTime = _time;
- //taskPhotoPanel.SetData(currentTaskItems[0],taskTime);
- taskPointLineRenderer.positionCount = 0;
- for (int i = 0; i < taskPointIcons.Count; i++)
- {
- Destroy(taskPointIcons[i].gameObject);
- }
- taskPointIcons.Clear();
- for (int i = 0; i < itemsArray.Length; i++)
- {
- if (itemsArray[i].longitude != null && itemsArray[i].latitude != null)
- {
- GameObject tempObj = Instantiate(taskPointIconPrefab, taskPointIconContent);
- tempObj.name = itemsArray[i].locationTypeName;
- Vector2 longlatt = CoordinateConverter.GCJ02ToWGS84(double.Parse(itemsArray[i].longitude),
- double.Parse(itemsArray[i].latitude));
- tempObj.transform.position = CoordinateConverter.GeoToUnity(longlatt.x, longlatt.y) + Vector3.up * 41;
- tempObj.gameObject.SetActive(false);
- taskPointIcons.Add(tempObj.GetComponent<TaskPointIcon>());
- }
- }
- //taskPointLineRenderer.positionCount = itemsArray.Length;
- float allDistance = 0;
- UnityEngine.Vector3 prePos = UnityEngine.Vector3.zero;
- List<UnityEngine.Vector3> vector3s = new List<UnityEngine.Vector3>();
- for (int i = 0; i < taskPointIcons.Count; i++)
- {
- vector3s.Add(taskPointIcons[i].transform.position);
- if (i != 0)
- {
- allDistance += UnityEngine.Vector3.Distance(taskPointIcons[i].transform.position, prePos);
- }
- else {
- CameraManager.instance.mainCamera.GetComponent<CameraBird>().target.transform.position = taskPointIcons[i].transform.position;
- }
- //taskPointLineRenderer.SetPosition(i, taskPointIcons[i].transform.position);
- prePos = taskPointIcons[i].transform.position;
- }
- taskPointLineRenderer.GetComponent<DynamicLine>().SetDynamicPoint(vector3s);
- taskPointLineRenderer.GetComponent<DynamicLine>().OnTouchIndex = (int index) =>
- {
- //Debug.Log(index);
- taskPointIcons[index].gameObject.SetActive(true);
- };
- }
- public void SetTaskPointIconHeightLight(int index)
- {
- for (int i = 0; i < taskPointIcons.Count; i++)
- {
- taskPointIcons[i].SetHeightLight(i == index);
- }
- }
- // public void OpenTaskImgPanel(int openPage)
- // {
- // taskPhotoPanel.SetData(currentTaskItems[openPage],taskTime);
- // taskPhotoPanel.ChangePage(0);
- // taskPhotoPanelObj.SetActive(true);
- // }
- }
|