From 852764dc2873798d18bfa3fd5f43895720bd5437 Mon Sep 17 00:00:00 2001
From: wei <kaede@kaededeMacBook-Air.local>
Date: 星期二, 22 十二月 2020 20:38:19 +0800
Subject: [PATCH] Merge branch 'NewFilePath' of http://172.16.1.23:6688/r/~wxr/HDL_APP_Project into NewFilePath
---
HDL_ON/UI/UI2/3-Intelligence/Automation/AddTarget.cs | 295 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 293 insertions(+), 2 deletions(-)
diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/AddTarget.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/AddTarget.cs
old mode 100644
new mode 100755
index 680d108..2d7fbb3
--- a/HDL_ON/UI/UI2/3-Intelligence/Automation/AddTarget.cs
+++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/AddTarget.cs
@@ -1,8 +1,9 @@
锘縰sing System;
+using System.Collections.Generic;
using Shared;
namespace HDL_ON.UI.UI2.Intelligence.Automation
{
- public class AddTarget:FrameLayout
+ public class AddTarget : FrameLayout
{
public AddTarget()
{
@@ -33,18 +34,308 @@
functionView.btnText.TextID = StringId.funLogic;
functionView.btnIcon.UnSelectedImagePath = "LogicIcon/functionicon.png";
viewLayout.AddChidren(functionView.FLayoutView());
+
+ //鍦烘櫙
+ LogicView.SelectTypeView sceneView = new LogicView.SelectTypeView();
+ sceneView.frameLayout.Y = functionView.frameLayout.Bottom;
+ sceneView.btnText.TextID = StringId.Scenes;
+ sceneView.btnIcon.UnSelectedImagePath = "LogicIcon/scene.png";
+ viewLayout.AddChidren(sceneView.FLayoutView());
+
+ //寤舵椂
+ LogicView.SelectTypeView delayView = new LogicView.SelectTypeView();
+ delayView.frameLayout.Y = sceneView.frameLayout.Bottom;
+ delayView.btnText.TextID = StringId.delayLogic;
+ delayView.btnIcon.UnSelectedImagePath = "LogicIcon/delayed.png";
+ //viewLayout.AddChidren(delayView.FLayoutView());
#endregion
#region 鎵�鏈夌偣鍑讳簨浠�
- functionView.btnClick.MouseUpEventHandler += (sen, e) => {
+ //鍔熻兘鐐瑰嚮浜嬩欢
+ functionView.btnClick.MouseUpEventHandler += (sen, e) =>
+ {
FunTpye funTpye = new FunTpye();
MainPage.BasePageView.AddChidren(funTpye);
funTpye.Show(LogicMethod.target_if);
MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
};
+ //鍦烘櫙鐐瑰嚮浜嬩欢
+ sceneView.btnClick.MouseUpEventHandler += (sen, e) =>
+ {
+
+ FrameLayout fLayout = new FrameLayout
+ {
+ BackgroundColor = CSS.CSS_Color.viewTrans60lucence,
+ };
+ this.AddChidren(fLayout);
+ SceneMethod(fLayout);
+ };
+ //寤舵椂鐐瑰嚮浜嬩欢
+ delayView.btnClick.MouseUpEventHandler += (sen, e) =>
+ {
+
+ FrameLayout fLayout = new FrameLayout
+ {
+ BackgroundColor = CSS.CSS_Color.viewTrans60lucence,
+ };
+ this.AddChidren(fLayout);
+ Delayed(fLayout,false,1000);
+ };
#endregion
}
+
+ /// <summary>
+ /// 娣诲姞鍦烘櫙
+ /// </summary>
+ /// <param name="fLayout">寮规涓绘帶浠�</param>
+ public void SceneMethod(FrameLayout fLayout)
+ {
+ int line = 0;
+ var sceneList = LogicMethod.GetSceneList();
+ if (sceneList.Count == 0|| sceneList.Count>5)
+ {
+ line = 5;
+ }
+ else {
+ line = sceneList.Count;
+ }
+ LogicView.DateView view = new LogicView.DateView();
+ view.btnTitle.TextID = StringId.addSceneLogic;
+ view.FLayoutView(fLayout, line);
+
+ view.btnCancel.MouseUpEventHandler += (sender2, e2) =>
+ {
+ fLayout.RemoveFromParent();
+ };
+ FrameLayout frameL = new FrameLayout
+ {
+ Y = Application.GetRealHeight(56),
+ Height = Application.GetRealHeight(50 * line),
+ };
+
+ VerticalRefreshLayout verticalRefresh = new VerticalRefreshLayout
+ {
+ Y = Application.GetRealHeight(56),
+ Height = Application.GetRealHeight(50 * 5),
+
+ };
+ verticalRefresh.BeginHeaderRefreshingAction += () =>
+ {
+ //鍏抽棴鍒锋柊View锛�
+ verticalRefresh.EndHeaderRefreshing();
+ };
+
+ if (sceneList.Count == 0)
+ {
+ Button btnTipNot = new Button
+ {
+ X=Application.GetRealWidth(93),
+ Y = Application.GetRealHeight(80),
+ Width = Application.GetRealWidth(158),
+ Height = Application.GetRealWidth(158),
+ UnSelectedImagePath = "TipNot.png",
+
+ };
+ view.frameLayout.AddChidren(btnTipNot);
+
+ Button btnTipNotText = new Button()
+ {
+ Y = btnTipNot.Bottom+ Application.GetRealHeight(16),
+ Height = Application.GetRealHeight(20),
+ TextID = StringId.secnenull,
+ TextColor = CSS.CSS_Color.textColor,
+ TextSize =LogicView.TextSize.text14,
+ TextAlignment = TextAlignment.Center,
+ };
+ view.frameLayout.AddChidren(btnTipNotText);
+ }
+ else if (sceneList.Count <=5 ) {
+ view.frameLayout.AddChidren(frameL);
+ }
+ else if(sceneList.Count>5) {
+ view.frameLayout.AddChidren(verticalRefresh);
+
+ }
+
+
+ //瀹氫箟涓�涓眬閮ㄥ彉閲忚褰曢�変腑鐘舵��
+ Button buttonClick = new Button();
+ HDL_ON.Entity.Scene sceneSelecetd = null;
+ verticalRefresh.BeginHeaderRefreshingAction += () =>
+ {
+ //鍏抽棴鍒锋柊View锛�
+ verticalRefresh.EndHeaderRefreshing();
+ };
+
+ for (int i = 0; i < sceneList.Count; i++)
+ {
+ var scene = sceneList[i];
+ LogicView.CheckView sceneView = new LogicView.CheckView();
+ sceneView.btnText.Text = scene.name;
+ sceneView.btnText.TextSize = LogicView.TextSize.text14;
+ if (sceneList.Count <= 5)
+ {
+ sceneView.frameLayout.Y = Application.GetRealWidth(i*50);
+ frameL.AddChidren(sceneView.FLayoutView());
+ if (sceneList.Count-1==i) {
+ sceneView.btnLine.BackgroundColor = CSS.CSS_Color.view;
+ }
+ }
+ else
+ {
+ verticalRefresh.AddChidren(sceneView.FLayoutView());
+ }
+ sceneView.btnClick.Tag = scene;//鏍囪绱㈠紩
+ //鍦烘櫙鐨勭偣鍑讳簨浠�
+ sceneView.btnClick.MouseUpEventHandler += (sender, e) =>
+ {
+ buttonClick.IsSelected = false;
+ sceneView.btnCheckIcon.IsSelected = true;
+ buttonClick = sceneView.btnCheckIcon;
+ sceneSelecetd = sceneView.btnClick.Tag as HDL_ON.Entity.Scene;
+ };
+
+ }
+ //纭鐐瑰嚮浜嬩欢
+ view.btnConfirm.MouseUpEventHandler += (sender1, e1) =>
+ {
+
+ if (sceneSelecetd == null)
+ {
+ //鎻愮ず锛氳繕娌¢�変腑鎵ц鍛ㄦ湡
+ return;
+ }
+ Output outputDevice = new Output();
+ outputDevice.target_type = "2";
+ outputDevice.sid = sceneSelecetd.sid;
+ //娌″暐浣滅敤锛屼负浜嗗彂閫佹暟鎹牸寮忕粺涓�;
+ outputDevice.status = new List<Dictionary<string, string>> { new Dictionary<string, string> { { "key", "scene"},{ "value", "0" } } };
+ AddOutput(outputDevice);
+ fLayout.RemoveFromParent();
+ LogicMethod.RemoveAllView();
+ AddLogic addLogic = new AddLogic();
+ MainPage.BasePageView.AddChidren(addLogic);
+ addLogic.Show();
+ MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
+ };
+
+ }
+
+ /// <summary>
+ /// 寤舵椂鏃堕棿鏂规硶
+ /// </summary>
+ /// <param name="fLayout">鍦ㄥ摢涓晫闈㈡樉绀�</param>
+ /// <param name="edit">锛坱rue=缂栬緫锛沠alse=鏂板缓锛�</param>
+ /// <param name="index">缂栬緫鏉′欢鐨勭储寮�</param>
+ public void Delayed(FrameLayout fLayout, bool edit, int index)
+ {
+ LogicView.TimeView timePointView = new LogicView.TimeView();
+ timePointView.FLayoutView(fLayout);
+ EventHandler<MouseEventArgs> RemovefLayout = (sender, e1) =>
+ {
+ //绉婚櫎fLayout鐣岄潰
+ fLayout.RemoveFromParent();
+ };
+ //鍙栨秷鐐瑰嚮浜嬩欢
+ timePointView.btnCancel.MouseUpEventHandler += RemovefLayout;
+
+ //鍔犺浇鏁版嵁鐣岄潰鐨勮缃柟娉�(鍒楄〃浜掍笉鑱斿姩)
+ timePointView.mUIPickerView.setNPicker(timePointView.GethStringList0(), timePointView.GetmStringList(), null);
+ //榛樿鍒濆閫変腑鐘舵��
+ timePointView.mUIPickerView.setCurrentItems(0, 5, 0);
+ //瀹氫箟涓�涓眬閮ㄥ彉閲忚褰曢�変腑鏃堕棿
+ string timepoint = "00:05";
+
+ if (edit)
+ {
+ Output output = Logic.currlogic.output[index];
+ if (output.target_type == "3")
+ {
+ List<Dictionary<string, string>> dicList = output.status as List<Dictionary<string, string>>;
+ foreach (var dic in dicList)
+ {
+ string timeValue = dic["value"];
+ int hIndex = timePointView.GetValueIndex(timeValue, 0, 1, timePointView.GethIntList());
+ int mIndex = timePointView.GetValueIndex(timeValue, 1, 0, timePointView.GetmIntList());
+ //鏇存柊鍒濆鐘舵��
+ timePointView.mUIPickerView.setCurrentItems(hIndex, mIndex, 0);
+ timepoint = timeValue;
+ }
+ }
+ }
+
+
+ //閫変腑鏃堕棿鍥炶皟鏂规硶,鏃堕棿鍙樺寲涓�娆″洖璋冧竴娆�
+ timePointView.mUIPickerView.OnSelectChangeEvent += (index1, index2, index3) =>
+ {
+ string hour = timePointView.GethStringList0()[index1].Split(' ')[0];
+ string minuet = timePointView.GetmStringList()[index2].Split(' ')[0];
+ timepoint = hour + ":" + minuet;
+ };
+ //纭畾鐐瑰嚮浜嬩欢
+ timePointView.btnConfirm.MouseUpEventHandler += (sender, e3) =>
+ {
+ if (timepoint=="00:00") {
+ //鎻愮ず
+ return;
+ }
+ Output outputTime= new Output();
+ outputTime.sid = LogicMethod.NewSid();
+ outputTime.target_type = "3";
+ Dictionary<string, string> dic = new Dictionary<string, string>();
+ LogicMethod.dictionary(dic, "key", "delay");
+ LogicMethod.dictionary(dic, "value", timepoint);
+ outputTime.status.Add(dic);
+ if (edit)
+ {
+ //绉婚櫎鏃ф暟鎹�
+ Logic.currlogic.output.RemoveAt(index);
+ //鏂版暟鎹彃鍏ユ棫鏁版嵁鐨勪綅缃�;
+ Logic.currlogic.output.Insert(index, outputTime);
+ }
+ else
+ {
+ //娣诲姞涓�涓柊鐨勬椂闂寸偣鏉′欢
+ AddOutput(outputTime);
+ }
+ fLayout.RemoveFromParent();
+ LogicMethod.RemoveAllView();
+ AddLogic addLogic = new AddLogic();
+ MainPage.BasePageView.AddChidren(addLogic);
+ addLogic.Show();
+ MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
+
+ };
+ }
+
+ /// <summary>
+ /// 娣诲姞鐩爣
+ /// </summary>
+ /// <param name="target"></param>
+ private void AddOutput(Output target)
+ {
+ int indexValue = -1;
+ for (int i = 0; i < Logic.currlogic.output.Count; i++)
+ {
+ if (Logic.currlogic.output[i].sid == target.sid)
+ {
+ indexValue = i;
+ break;
+ }
+ }
+
+ if (indexValue != -1)
+ {
+ Logic.currlogic.output.RemoveAt(indexValue);
+ Logic.currlogic.output.Insert(indexValue, target);
+ }
+ else
+ {
+ Logic.currlogic.output.Add(target);
+ }
+
+ }
}
}
--
Gitblit v1.8.0