From a1b0ab7044100daaa7e0f1da2d2ca45e38098963 Mon Sep 17 00:00:00 2001
From: 陈嘉乐 <cjl@hdlchina.com.cn>
Date: 星期一, 29 三月 2021 09:13:25 +0800
Subject: [PATCH] 2021-3-29-2
---
HDL_ON/UI/UI2/3-Intelligence/Automation/FunTpye.cs | 280 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 280 insertions(+), 0 deletions(-)
diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/FunTpye.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/FunTpye.cs
new file mode 100644
index 0000000..b79e2b2
--- /dev/null
+++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/FunTpye.cs
@@ -0,0 +1,280 @@
+锘縰sing System;
+using HDL_ON.UI.UI2.Intelligence.Automation.LogicView;
+using Shared;
+using System.Collections.Generic;
+
+namespace HDL_ON.UI.UI2.Intelligence.Automation
+{
+ public class FunTpye : FrameLayout
+ {
+ public FunTpye()
+ {
+ Tag = "Logic";
+ }
+ /// <summary>
+ /// 榛樿閫変腑鏄埧闂存椂锛氬叏閮ㄥ尯鍩�
+ /// </summary>
+ private Entity.Room selectedRoom = new Entity.Room { roomId ="6688" };
+ /// <summary>
+ /// 琛ㄧず鏄�(鏉′欢/鐩爣)
+ /// </summary>
+ private string if_type;
+ public void Show(string str)
+ {
+
+ if_type = str;
+ this.BackgroundColor = CSS.CSS_Color.viewMiddle;
+ LogicView.TopView topView = new LogicView.TopView();
+ this.AddChidren(topView.FLayoutView());
+ topView.clickBackBtn.MouseUpEventHandler += (e, sen) =>
+ {
+ RemoveFromParent();
+ };
+ topView.topNameBtn.TextID = StringId.selectedFunCondition;
+
+ LogicView.FunAllAreaView funAllAreaView = new LogicView.FunAllAreaView();
+ funAllAreaView.frameLayout.Y = topView.frameLayout.Bottom;
+ this.AddChidren(funAllAreaView.FLayoutView());
+
+ VerticalScrolViewLayout vv = new VerticalScrolViewLayout
+ {
+ Y = Application.GetRealHeight(117),
+ Height = Application.GetRealHeight(667 - 117),
+ };
+ this.AddChidren(vv);
+
+ //鎴块棿鐐瑰嚮浜嬩欢
+ EventHandler<MouseEventArgs> roomClick = (sender, e) =>
+ {
+ #region 鍖哄煙寮规鐣岄潰
+ FrameLayout fLayout = new FrameLayout
+ {
+ BackgroundColor = CSS.CSS_Color.viewTrans60lucence,
+ };
+ this.AddChidren(fLayout);
+ fLayout.MouseUpEventHandler += (sender1, e1) =>
+ {
+ fLayout.RemoveFromParent();
+ };
+
+ FrameLayout bghFrameLyout = new FrameLayout
+ {
+ X = Application.GetRealWidth(10),
+ Y = Application.GetRealHeight(103),
+ Width = Application.GetRealWidth(160),
+ Height = Application.GetRealHeight(21 + 44),
+ //BackgroundImagePath = "LogicIcon/bjicon.png",
+ };
+ fLayout.AddChidren(bghFrameLyout);
+
+ FrameLayout areaBgh = new FrameLayout
+ {
+ X = Application.GetRealWidth(8),
+ Y = Application.GetRealHeight(14),
+ Width = Application.GetRealWidth(144),
+ Height = Application.GetRealHeight(44),
+ };
+ VerticalScrolViewLayout vvBgh = new VerticalScrolViewLayout
+ {
+ X = Application.GetRealWidth(8),
+ Y = Application.GetRealHeight(14),
+ Width = Application.GetRealWidth(144),
+ Height = Application.GetRealHeight(44 * 5),
+ };
+ var roomList = LogicMethod.GetGatewayRoomList(Language.StringByID(StringId.allAreas));
+
+ if (roomList.Count > 5)
+ {
+ bghFrameLyout.Height = Application.GetRealHeight(21 + 44 * 5);
+ bghFrameLyout.AddChidren(vvBgh);
+ bghFrameLyout.BackgroundImagePath = "LogicIcon/bjicon5.png";
+ }
+ else
+ {
+
+ bghFrameLyout.AddChidren(areaBgh);
+ bghFrameLyout.Height = Application.GetRealHeight(21 + 44 * roomList.Count);
+ areaBgh.Height = Application.GetRealHeight(44 * roomList.Count);
+ bghFrameLyout.BackgroundImagePath = $"LogicIcon/bjicon{roomList.Count}.png";
+ }
+ #endregion
+
+ for (int i = 0; i < roomList.Count; i++)
+ {
+ var room = roomList[i];
+ LogicView.AreaView areaView = new LogicView.AreaView();
+ if (roomList.Count > 5)
+ {
+ vvBgh.AddChidren(areaView.FLayoutView());
+ }
+ else
+ {
+ areaView.frameLayout.Y = Application.GetRealHeight(i * 44);
+ areaBgh.AddChidren(areaView.FLayoutView());
+ }
+ areaView.btnRoomName.Text = room.roomName;
+ areaView.btnClick.Tag = room;
+ areaView.btnClick.MouseUpEventHandler += (sender2, e2) =>
+ {
+ fLayout.RemoveFromParent();
+ funAllAreaView.btnText1.Text = (areaView.btnClick.Tag as Entity.Room).roomName;
+ ///鍒囨崲鎴块棿榛樿鍔熻兘绫诲瀷鍏ㄩ儴;
+ funAllAreaView.btnText2.Text = Language.StringByID(StringId.allFun);
+ selectedRoom = (areaView.btnClick.Tag as Entity.Room);
+ ///鑾峰彇鏄剧ず璁惧鍒楄〃
+ var list = LogicMethod.GetFunctionDeviceList(areaView.btnClick.Tag as Entity.Room,if_type);
+
+ DeviceListView(vv, list);
+ };
+ if (roomList.Count-1==i) {
+ ///鏀瑰彉鏈�鍚庨偅鏉′竴涓嚎鐨勯鑹�,鐣岄潰鏄剧ず鏁堟灉浣滅敤;
+ areaView.btnLine.BackgroundColor = CSS.CSS_Color.view;
+ }
+ }
+ };
+ funAllAreaView.btnText1.MouseUpEventHandler += roomClick;
+ funAllAreaView.btnIcon1.MouseUpEventHandler += roomClick;
+ //鍔熻兘鐐瑰嚮浜嬩欢
+ EventHandler<MouseEventArgs> funClick = (sender3, e3) =>{
+
+ //鑾峰彇鏈�缁堟樉绀哄垪琛�
+ var functionList = LogicMethod.GetFunctionDeviceList(selectedRoom, if_type);
+ //鑾峰彇璁惧鍒楄〃鐨勭被鍨嬶紙渚嬪锛氱伅鍏夌被锛岀獥甯樼被銆傘�傘�傦級
+ var deviceTypeList = LogicMethod.GetDeviceTypeList(functionList);
+ if (deviceTypeList.Count==0) {
+ //娌℃湁绫诲瀷鐩存帴杩斿洖鍘�;
+ return;
+ }
+ #region 鍖哄煙寮规鐣岄潰
+ FrameLayout fLayout = new FrameLayout
+ {
+ BackgroundColor = CSS.CSS_Color.viewTrans60lucence,
+ };
+ this.AddChidren(fLayout);
+ fLayout.MouseUpEventHandler += (sender1, e1) =>
+ {
+ fLayout.RemoveFromParent();
+ };
+
+ FrameLayout bghFrameLyout = new FrameLayout
+ {
+ X = Application.GetRealWidth(118),
+ Y = Application.GetRealHeight(103),
+ Width = Application.GetRealWidth(160),
+ Height = Application.GetRealHeight(21 + 44),
+ //BackgroundImagePath = "LogicIcon/bjicon5.png",
+ };
+ fLayout.AddChidren(bghFrameLyout);
+
+ FrameLayout areaBgh = new FrameLayout
+ {
+ X = Application.GetRealWidth(8),
+ Y = Application.GetRealHeight(14),
+ Width = Application.GetRealWidth(144),
+ Height = Application.GetRealHeight(44),
+ };
+ VerticalScrolViewLayout vvBgh = new VerticalScrolViewLayout
+ {
+ X = Application.GetRealWidth(8),
+ Y = Application.GetRealHeight(14),
+ Width = Application.GetRealWidth(144),
+ Height = Application.GetRealHeight(44 * 5),
+ };
+
+
+
+
+ if (deviceTypeList.Count > 5)
+ {
+ bghFrameLyout.Height = Application.GetRealHeight(21 + 44 * 5);
+ bghFrameLyout.AddChidren(vvBgh);
+ bghFrameLyout.BackgroundImagePath = "LogicIcon/bjicon5.png";
+ }
+ else
+ {
+ bghFrameLyout.AddChidren(areaBgh);
+ bghFrameLyout.Height = Application.GetRealHeight(21 + 44 * deviceTypeList.Count);
+ areaBgh.Height = Application.GetRealHeight(44 * deviceTypeList.Count);
+ bghFrameLyout.BackgroundImagePath = $"LogicIcon/bjicon{deviceTypeList.Count}.png";
+ }
+ #endregion
+
+ for (int i = 0; i < deviceTypeList.Count; i++)
+ {
+ var deviceTypeName = deviceTypeList[i];
+ LogicView.AreaView areaView = new LogicView.AreaView();
+ if (deviceTypeList.Count > 5)
+ {
+ vvBgh.AddChidren(areaView.FLayoutView());
+ }
+ else
+ {
+ areaView.frameLayout.Y = Application.GetRealHeight(i * 44);
+ areaBgh.AddChidren(areaView.FLayoutView());
+ }
+ areaView.btnRoomName.Text = deviceTypeName;
+ areaView.btnClick.Tag = deviceTypeName;
+ areaView.btnClick.MouseUpEventHandler += (sender, e2) =>
+ {
+ fLayout.RemoveFromParent();
+ funAllAreaView.btnText2.Text = areaView.btnClick.Tag.ToString();
+ ///鑾峰彇鍗曚釜绫诲瀷锛堜緥濡傦細鐏厜绫汇�傘�傦級璁惧FunctionType鍒楄〃
+ var typeFunctionList = LogicMethod.GetDeviceTypeFunctionList(areaView.btnClick.Tag.ToString());
+ ///鑾峰彇鍗曚釜鐏厜绫诲瀷锛堜緥濡傦細鐏厜1,鐏厜2銆傘�傦級鏄剧ず璁惧鍒楄〃
+ var lists = LogicMethod.GetShowDeviceList(typeFunctionList, functionList);
+ DeviceListView(vv, lists);
+ };
+ if (deviceTypeList.Count - 1 == i)
+ {
+ ///鏀瑰彉鏈�鍚庨偅鏉′竴涓嚎鐨勯鑹�,鐣岄潰鏄剧ず鏁堟灉浣滅敤;
+ areaView.btnLine.BackgroundColor = CSS.CSS_Color.view;
+ }
+ }
+ };
+ funAllAreaView.btnText2.MouseUpEventHandler += funClick;
+ funAllAreaView.btnIcon2.MouseUpEventHandler += funClick;
+ ///鑾峰彇鏄剧ず璁惧鍒楄〃
+ var deviceList = LogicMethod.GetFunctionDeviceList(selectedRoom, if_type);
+ DeviceListView(vv, deviceList);
+
+ }
+ /// <summary>
+ /// 鏄剧ず璁惧鐨刅iew
+ /// </summary>
+ /// <param name="verticalScrolView">涓婁笅婊戝姩</param>
+ /// <param name="deviceList"></param>
+ public void DeviceListView(VerticalScrolViewLayout verticalScrolView, List<HDL_ON.Entity.Function> deviceList)
+ {
+ verticalScrolView.RemoveAll();
+ foreach (var dev in deviceList)
+ {
+ LogicView.SelectTypeView funView = new LogicView.SelectTypeView();
+ funView.btnText.Visible = false;
+ funView.btnDeviceName.Visible = true;
+ funView.btnRoomName.Visible = true;
+ funView.btnLine.X = Application.GetRealWidth(16);
+ funView.btnLine.Width = Application.GetRealWidth(343);
+ verticalScrolView.AddChidren(funView.FLayoutView());
+ funView.btnIcon.UnSelectedImagePath = LogicMethod.GetIconPath(dev.spk);
+ funView.btnDeviceName.Text = dev.name;
+ funView.btnRoomName.Text = dev.GetRoomListName();
+ funView.btnClick.MouseUpEventHandler += (sen,e) => {
+ if (if_type == LogicMethod.condition_if) {
+ ConditionDeviceFunList conditionDeviceFunList = new ConditionDeviceFunList();
+ MainPage.BasePageView.AddChidren(conditionDeviceFunList);
+ conditionDeviceFunList.Show(dev, 0, false);
+ MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
+ } else {
+ TargetDeviceFunList targetDeviceFunList = new TargetDeviceFunList();
+ MainPage.BasePageView.AddChidren(targetDeviceFunList);
+ targetDeviceFunList.Show(dev, 0, false);
+ MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
+ }
+
+ };
+ }
+ }
+ }
+
+
+}
--
Gitblit v1.8.0