Przeglądaj źródła

站点水位趋势搞定,接口不通,通了要调试一下看看

Void_F 8 miesięcy temu
rodzic
commit
a774306d1c

+ 402 - 0
Assets/Prefabs/UI/Item/WaterTrendListItem.prefab

@@ -0,0 +1,402 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!1 &3042813422130395241
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 4694758663055252576}
+  - component: {fileID: 2772747715039418517}
+  - component: {fileID: 6497455839270195784}
+  m_Layer: 5
+  m_Name: time
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &4694758663055252576
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 3042813422130395241}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children: []
+  m_Father: {fileID: 5238667416520758189}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0.5}
+  m_AnchorMax: {x: 0, y: 0.5}
+  m_AnchoredPosition: {x: 123, y: 0}
+  m_SizeDelta: {x: 98, y: 17}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &2772747715039418517
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 3042813422130395241}
+  m_CullTransparentMesh: 1
+--- !u!114 &6497455839270195784
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 3042813422130395241}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_FontData:
+    m_Font: {fileID: 12800000, guid: 85c13d115126ca04ca985ec0156f4c61, type: 3}
+    m_FontSize: 12
+    m_FontStyle: 0
+    m_BestFit: 0
+    m_MinSize: 1
+    m_MaxSize: 40
+    m_Alignment: 4
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 1
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: '2024/04/18 23:00 '
+--- !u!1 &3385920504322033024
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 7503462985385349116}
+  - component: {fileID: 5648983285458463951}
+  - component: {fileID: 4535729584676710675}
+  m_Layer: 5
+  m_Name: value
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &7503462985385349116
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 3385920504322033024}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children: []
+  m_Father: {fileID: 5238667416520758189}
+  m_RootOrder: 2
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0.5}
+  m_AnchorMax: {x: 0, y: 0.5}
+  m_AnchoredPosition: {x: 244, y: 0}
+  m_SizeDelta: {x: 30, y: 17}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &5648983285458463951
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 3385920504322033024}
+  m_CullTransparentMesh: 1
+--- !u!114 &4535729584676710675
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 3385920504322033024}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_FontData:
+    m_Font: {fileID: 12800000, guid: 85c13d115126ca04ca985ec0156f4c61, type: 3}
+    m_FontSize: 12
+    m_FontStyle: 0
+    m_BestFit: 0
+    m_MinSize: 1
+    m_MaxSize: 40
+    m_Alignment: 4
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 1
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: 23.20
+--- !u!1 &3584679663070425573
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 5238667416520758189}
+  - component: {fileID: 4447829369361599021}
+  - component: {fileID: 3534747543674132358}
+  m_Layer: 5
+  m_Name: WaterTrendListItem
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &5238667416520758189
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 3584679663070425573}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children:
+  - {fileID: 86635361588439783}
+  - {fileID: 4694758663055252576}
+  - {fileID: 7503462985385349116}
+  - {fileID: 5220997114213742662}
+  m_Father: {fileID: 0}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 0, y: 0}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 360, y: 24}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &4447829369361599021
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 3584679663070425573}
+  m_CullTransparentMesh: 1
+--- !u!114 &3534747543674132358
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 3584679663070425573}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0, g: 0, b: 0, a: 0.12156863}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_Sprite: {fileID: 0}
+  m_Type: 0
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+  m_UseSpriteMesh: 0
+  m_PixelsPerUnitMultiplier: 1
+--- !u!1 &5802829593340136120
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 5220997114213742662}
+  - component: {fileID: 8963641283110604327}
+  - component: {fileID: 915219524934918991}
+  m_Layer: 5
+  m_Name: trend
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &5220997114213742662
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 5802829593340136120}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children: []
+  m_Father: {fileID: 5238667416520758189}
+  m_RootOrder: 3
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0.5}
+  m_AnchorMax: {x: 0, y: 0.5}
+  m_AnchoredPosition: {x: 332, y: 0}
+  m_SizeDelta: {x: 12, y: 17}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &8963641283110604327
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 5802829593340136120}
+  m_CullTransparentMesh: 1
+--- !u!114 &915219524934918991
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 5802829593340136120}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.08235294, g: 0.8627451, b: 0.9882353, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_FontData:
+    m_Font: {fileID: 12800000, guid: 85c13d115126ca04ca985ec0156f4c61, type: 3}
+    m_FontSize: 12
+    m_FontStyle: 0
+    m_BestFit: 0
+    m_MinSize: 1
+    m_MaxSize: 40
+    m_Alignment: 4
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 1
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: "\u2193"
+--- !u!1 &8304584655768320866
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 86635361588439783}
+  - component: {fileID: 139276828443370085}
+  - component: {fileID: 1109639816989179785}
+  m_Layer: 5
+  m_Name: id
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &86635361588439783
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8304584655768320866}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children: []
+  m_Father: {fileID: 5238667416520758189}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0.5}
+  m_AnchorMax: {x: 0, y: 0.5}
+  m_AnchoredPosition: {x: 22, y: 0}
+  m_SizeDelta: {x: 6, y: 17}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &139276828443370085
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8304584655768320866}
+  m_CullTransparentMesh: 1
+--- !u!114 &1109639816989179785
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8304584655768320866}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_FontData:
+    m_Font: {fileID: 12800000, guid: 85c13d115126ca04ca985ec0156f4c61, type: 3}
+    m_FontSize: 12
+    m_FontStyle: 0
+    m_BestFit: 0
+    m_MinSize: 1
+    m_MaxSize: 40
+    m_Alignment: 4
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 1
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: 1

+ 7 - 0
Assets/Prefabs/UI/Item/WaterTrendListItem.prefab.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 2c4649a9b4daffd4fbb61d5f317e0893
+PrefabImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 22 - 3
Assets/Prefabs/UI/WaterMessage.prefab → Assets/Prefabs/UI/WaterTrendPanel.prefab

@@ -5324,7 +5324,7 @@ GameObject:
   - component: {fileID: 6071984308983842201}
   - component: {fileID: 1559715956713332183}
   m_Layer: 5
-  m_Name: LineChart_Time
+  m_Name: LineChart
   m_TagString: Untagged
   m_Icon: {fileID: 0}
   m_NavMeshLayer: 0
@@ -7283,8 +7283,9 @@ GameObject:
   - component: {fileID: 1403202070640317247}
   - component: {fileID: 7569649265458544342}
   - component: {fileID: 6094627283204561141}
+  - component: {fileID: 4967739173987375842}
   m_Layer: 5
-  m_Name: WaterMessage
+  m_Name: WaterTrendPanel
   m_TagString: Untagged
   m_Icon: {fileID: 0}
   m_NavMeshLayer: 0
@@ -7297,7 +7298,7 @@ RectTransform:
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_GameObject: {fileID: 6915482822907844588}
-  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
   m_LocalPosition: {x: 0, y: 0, z: 0}
   m_LocalScale: {x: 1, y: 1, z: 1}
   m_ConstrainProportionsScale: 0
@@ -7358,6 +7359,24 @@ MonoBehaviour:
   m_FillOrigin: 0
   m_UseSpriteMesh: 0
   m_PixelsPerUnitMultiplier: 1
+--- !u!114 &4967739173987375842
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6915482822907844588}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 005dbbe7928ad4c4385cc6d0a7aad5b8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _LineChart: {fileID: 0}
+  nameText: {fileID: 0}
+  listItemOri: {fileID: 0}
+  listObj: []
+  closeButton: {fileID: 0}
+  currentStcd: 
 --- !u!1 &6918429472038712126
 GameObject:
   m_ObjectHideFlags: 0

+ 0 - 0
Assets/Prefabs/UI/WaterMessage.prefab.meta → Assets/Prefabs/UI/WaterTrendPanel.prefab.meta


Plik diff jest za duży
+ 207 - 205
Assets/Prefabs/UI/XHYZT/YZT.prefab


Plik diff jest za duży
+ 98 - 1
Assets/Scene 1.unity


+ 34 - 0
Assets/Scripts/HttpHelper.cs

@@ -877,6 +877,40 @@ public class HttpHelper : MonoBehaviour
         www.Dispose();
         return result;
     }
+    
+    /// <summary>
+    /// 获取站点水位信息
+    /// </summary>
+    /// <param name="stcd"></param>
+    /// <returns></returns>
+    public async Task<string> GetWaterTrend_Chart(string stcd)
+    {
+        UnityWebRequest www = new UnityWebRequest(ServerAddress.API_GetWaterTrend_chart+stcd, "Get");
+        www.downloadHandler = new DownloadHandlerBuffer();
+        www.SetRequestHeader("Content-Type", "application/json");
+        await www.SendWebRequest();
+        if (www.result != UnityWebRequest.Result.Success)
+        {
+            Debug.LogWarning($"获取stcd:{stcd},水位统计信息数据不成功,原因:返request不成功:" + www.downloadHandler.text);
+        }
+        string result = www.downloadHandler.text;
+        www.Dispose();
+        return result;
+    }
+    public async Task<string> GetWaterTrend_List(string stcd)
+    {
+        UnityWebRequest www = new UnityWebRequest(ServerAddress.API_GetWaterTrend_list+stcd, "Get");
+        www.downloadHandler = new DownloadHandlerBuffer();
+        www.SetRequestHeader("Content-Type", "application/json");
+        await www.SendWebRequest();
+        if (www.result != UnityWebRequest.Result.Success)
+        {
+            Debug.LogWarning($"获取stcd:{stcd},水位统计信息数据不成功,原因:返request不成功:" + www.downloadHandler.text);
+        }
+        string result = www.downloadHandler.text;
+        www.Dispose();
+        return result;
+    }
 
     public void SaveFirstFrame(byte[] uploadData,string fileName,string _targetName)
     {

+ 6 - 2
Assets/Scripts/UI/Tools/ServerAddress.cs

@@ -88,9 +88,13 @@ public class ServerAddress
     public static string API_B08_event = "http://111.4.141.191:9080/open/event";
     public static string API_B08_questionStatis = "http://111.4.141.191:9080/open/questionStatis";
     public static string API_B08_inspectType = "http://111.4.141.191:9080/open/inspectType";
-
     
-
+    /// <summary>
+    /// 获取站点水位信息(折线图和信息列表)
+    /// </summary>
+    public static string API_GetWaterTrend_chart = "http://111.4.141.191:9080/open/water1?stcd=";
+    public static string API_GetWaterTrend_list = "http://111.4.141.191:9080/open/water2?stcd=";
+    
     //  http://111.4.141.191:9081/open/dataStatis 
     //
     // dataStatis 数据统计

+ 131 - 0
Assets/Scripts/UI/UIView/YZT/WaterTrendPanel.cs

@@ -0,0 +1,131 @@
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using System.Threading.Tasks;
+using UnityEngine;
+using UnityEngine.UI;
+using XCharts.Runtime;
+
+public class WaterTrendPanel : MonoBehaviour
+{
+    public LineChart _LineChart;
+    public Text nameText;
+    public GameObject listItemOri;
+    public List<GameObject> listObj = new List<GameObject>();
+    public Button closeButton;
+    public string currentStcd;
+    public Transform listRoot;
+
+    private void Awake()
+    {
+        _LineChart = this.transform.Find("LineChart").GetComponent<LineChart>();
+        listRoot = this.transform.Find("ScrollView/Viewport/Content").transform;
+        closeButton = this.transform.Find("CloseButton").GetComponent<Button>();
+        nameText = this.transform.Find("nameText").GetComponent<Text>();
+        closeButton.onClick.AddListener(() => { Hide(); });
+    }
+
+    public async Task Show(string stcd, string name)
+    {
+        //todo 先写死了
+        stcd = "61017467";
+        currentStcd = stcd;
+        name = name.Replace(" ", "");
+        nameText.text = $"{name}站点水位趋势";
+        this.gameObject.SetActive(true);
+        string chartJsonStr = await HttpHelper._Instance.GetWaterTrend_Chart(stcd);
+        SetChartLine(chartJsonStr);
+        string listJsonStr = await HttpHelper._Instance.GetWaterTrend_List(stcd);
+        StartCoroutine(CreatList(listJsonStr));
+    }
+
+    public void Hide()
+    {
+        this.gameObject.SetActive(false);
+    }
+
+    public void SetChartLine(string jsonData)
+    {
+        Debug.Log(jsonData);
+        WaterTrendData_Chart tempData = Newtonsoft.Json.JsonConvert.DeserializeObject<WaterTrendData_Chart>(jsonData);
+        var tempSeries = _LineChart.series;
+        SerieData[] tempDatas = new SerieData[tempData.data.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(tempData.data[i].value);
+        }
+
+        tempSeries[0].data.Clear();
+        tempSeries[0].data.AddRange(tempDatas);
+        XAxis tempXaxis = _LineChart.GetComponent<XAxis>();
+        tempXaxis.data.Clear();
+        for (int i = 0; i < tempData.data.Count; i++)
+        {
+            tempXaxis.AddData(tempData.data[i].key);
+        }
+    }
+
+    IEnumerator CreatList(string jsonData)
+    {
+        Debug.Log(jsonData);
+        var wait = new WaitForEndOfFrame();
+        //todo 接口数据不一定是这个
+        WaterTrendData_List tempData = Newtonsoft.Json.JsonConvert.DeserializeObject<WaterTrendData_List>(jsonData);
+
+        if (listObj.Count > 0)
+        {
+            GameObject[] deleteObjs = listObj.ToArray();
+            for (int i = 0; i < deleteObjs.Length; i++)
+            {
+                Destroy(deleteObjs[i]);
+            }
+        }
+
+        listObj.Clear();
+        int creatCount = 0;
+        for (int i = 0; i < tempData.data.Count; i++)
+        {
+            GameObject tempObj = Instantiate(listItemOri, listRoot);
+            tempObj.transform.Find("id").GetComponent<Text>().text = $"{i + 1}";
+            tempObj.transform.Find("time").GetComponent<Text>().text = $"{tempData.data[i].time}";
+            tempObj.transform.Find("value").GetComponent<Text>().text = $"{tempData.data[i].time}";
+            string dirStr = "-";
+            switch (tempData.data[i].dir)
+            {
+                case 0:
+                    dirStr = "→";
+                    break;
+                case 1:
+                    dirStr = "↑";
+                    break;
+                default:
+                    dirStr = "↓";
+                    break;
+            }
+
+            tempObj.transform.Find("trend").GetComponent<Text>().text = $"{dirStr}";
+            listObj.Add(tempObj);
+            creatCount++;
+            if (creatCount >= 10)
+            {
+                creatCount = 0;
+                yield return wait;
+            }
+        }
+    }
+}
+
+[Serializable]
+public class WaterTrendData_Chart
+{
+    public List<CharData_item> data;
+}
+
+[Serializable]
+public class WaterTrendData_List
+{
+    public List<SWStationRecordData> data;
+}

+ 11 - 0
Assets/Scripts/UI/UIView/YZT/WaterTrendPanel.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 005dbbe7928ad4c4385cc6d0a7aad5b8
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 12 - 1
Assets/Scripts/UI/UIView/YZT/YZTLayer.cs

@@ -87,6 +87,7 @@ public class SWStationRecordData
     public string time;
     public float value;
     public int dir;
+    public string stcd = "0";
 }
 
 public class YZTLayer : YZTRootLayer
@@ -155,9 +156,13 @@ public class YZTLayer : YZTRootLayer
     public GameObject[] riverLayerObj;
     public GameObject[] lakeLayerObj;
     // Start is called before the first frame update
+
+    public WaterTrendPanel _waterTrendPanel;
+    
     async void Awake()
     {
         viewMode = ViewMode.miniMap;
+        _waterTrendPanel.Hide();
         await InitData();
         Init();
         InitLeftBtn();
@@ -224,9 +229,15 @@ public class YZTLayer : YZTRootLayer
                 obj.GetComponent<RectTransform>().SetParent(thingParent);
                 obj.transform.localScale = Vector3.one;
                 obj.transform.GetChild(0).GetComponent<Text>().text = (i + 1).ToString();
-                obj.transform.GetChild(1).GetComponent<Text>().text = rescordSWStationData[i].name.ToString();
+                string rescordSW_name= rescordSWStationData[i].name.ToString();;
+                obj.transform.GetChild(1).GetComponent<Text>().text = rescordSW_name;
                 obj.transform.GetChild(2).GetComponent<Text>().text = rescordSWStationData[i].time.ToString();
                 obj.transform.GetChild(3).GetComponent<Text>().text = rescordSWStationData[i].value.ToString();
+                string rescordSW_stcd= rescordSWStationData[i].stcd;
+                obj.transform.GetComponent<Button>().onClick.AddListener(() =>
+                {
+                    _waterTrendPanel.Show(rescordSW_stcd,rescordSW_name);
+                });
                 if (rescordSWStationData[i].dir == 0)
                 {
                     obj.transform.GetChild(4).localEulerAngles = new Vector3(0, 0, 0);

Niektóre pliki nie zostały wyświetlone z powodu dużej ilości zmienionych plików