using System;
|
using System.Collections.Generic;
|
using HDL_ON.Common;
|
using HDL_ON.DAL.Server;
|
using HDL_ON.Entity;
|
using HDL_ON.UI.CSS;
|
using Shared;
|
|
namespace HDL_ON.UI
|
{
|
public class CombinedDimmingListPage : FrameLayout
|
{
|
FrameLayout bodyView;
|
VerticalScrolViewLayout contentView;
|
|
public CombinedDimmingListPage()
|
{
|
bodyView = this;
|
}
|
|
public void LoadPage()
|
{
|
|
new TopViewDiv(bodyView, Language.StringByID(StringId.CombinedDimming)).LoadTopView_AddIcon("CombinedDimming",
|
(s,c)=>{
|
try
|
{
|
var page = new AddGroupControlPage(null,
|
()=> {
|
ReadGroupControlList();
|
});
|
MainPage.BasePageView.AddChidren(page);
|
page.LoadPage();
|
MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
|
}
|
catch { }
|
});
|
|
contentView = new VerticalScrolViewLayout()
|
{
|
Y = Application.GetRealHeight(64),
|
Height = Application.GetRealHeight(550),
|
BackgroundColor = CSS_Color.MainBackgroundColor,
|
};
|
bodyView.AddChidren(contentView);
|
|
ReadGroupControlList();
|
|
#region
|
contentView.AddChidren(new Button() { Height = Application.GetRealHeight(8) });
|
|
|
|
#endregion
|
|
}
|
/// <summary>
|
/// 读取组控数据
|
/// </summary>
|
private void ReadGroupControlList()
|
{
|
|
new System.Threading.Thread(() => {
|
var pack = ApiUtlis.Ins.HttpRequest.GetGroupControlList();
|
if (pack != null)
|
{
|
if (pack.Code == StateCode.SUCCESS)
|
{
|
try
|
{
|
var groupControlList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<GroupControl>>(pack.Data.ToString());
|
Application.RunOnMainThread(() =>
|
{
|
LoadGroupControlView(groupControlList);
|
});
|
}
|
catch (Exception ex)
|
{
|
MainPage.Log($"读取组控列表失败:{ex.Message}");
|
}
|
}
|
else
|
{
|
IMessageCommon.Current.ShowErrorInfoAlter(pack.Code);
|
}
|
}
|
})
|
{ IsBackground = true }.Start();
|
|
}
|
|
|
private void LoadGroupControlView(List<GroupControl> list)
|
{
|
#if DEBUG
|
if (list.Count == 0)
|
{
|
list.Add(new GroupControl()
|
{
|
name = "组合调光1",
|
roomIds = new List<string> { Room.CurrentSpatial.RoomList[0].roomId },
|
sid = "00000000000000001",
|
type = "light",
|
uids = new List<string>() { Room.CurrentSpatial.RoomList[0].uid },
|
});
|
|
list.Add(new GroupControl()
|
{
|
name = "组合调光2",
|
roomIds = new List<string> { Room.CurrentSpatial.RoomList[0].roomId },
|
sid = "00000000000000002",
|
type = "light",
|
uids = new List<string>() { Room.CurrentSpatial.RoomList[0].uid },
|
});
|
}
|
|
#endif
|
|
if (list.Count == 0)
|
{
|
|
}
|
else
|
{
|
contentView.RemoveAll();
|
|
foreach (var groupControl in list)
|
{
|
var functionRow = new RowLayout()
|
{
|
Height = Application.GetRealHeight(65),
|
BackgroundColor = CSS_Color.MainBackgroundColor,
|
LineColor = 0x00000000
|
};
|
contentView.AddChidren(functionRow);
|
|
var btnRight = new Button()
|
{
|
X = Application.GetRealWidth(339),
|
Gravity = Gravity.CenterVertical,
|
Width = Application.GetMinRealAverage(16),
|
Height = Application.GetMinRealAverage(16),
|
UnSelectedImagePath = "Public/Right.png",
|
};
|
functionRow.AddChidren(btnRight);
|
|
var btnFunctionName = new Button()
|
{
|
X = Application.GetRealWidth(16),
|
Y = Application.GetRealHeight(10),
|
Width = Application.GetRealWidth(308),
|
Height = Application.GetRealHeight(24),
|
TextAlignment = TextAlignment.CenterLeft,
|
TextSize = CSS_FontSize.SubheadingFontSize,
|
TextColor = CSS_Color.FirstLevelTitleColor,
|
Text = groupControl.name,
|
};
|
functionRow.AddChidren(btnFunctionName);
|
|
var btnFunctionLocationInfo = new Button()
|
{
|
X = Application.GetRealWidth(16),
|
Y = btnFunctionName.Bottom,
|
Width = Application.GetRealWidth(308),
|
Height = Application.GetRealHeight(21),
|
TextAlignment = TextAlignment.CenterLeft,
|
TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
|
TextColor = CSS_Color.PromptingColor1,
|
Text = groupControl.GetRoomListName(),
|
};
|
functionRow.AddChidren(btnFunctionLocationInfo);
|
|
|
|
functionRow.AddChidren(
|
new Button()
|
{
|
Gravity = Gravity.CenterHorizontal,
|
Y = Application.GetRealHeight(64),
|
Height = Application.GetRealHeight(1),
|
Width = Application.GetRealWidth(343),
|
BackgroundColor = CSS_Color.DividingLineColor,
|
});
|
|
EventHandler<MouseEventArgs> eventHandler = (sender, e) => {
|
var page = new AddGroupControlPage(groupControl,
|
() => {
|
|
});
|
MainPage.BasePageView.AddChidren(page);
|
page.LoadPage();
|
MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
|
};
|
functionRow.MouseUpEventHandler = eventHandler;
|
btnRight.MouseUpEventHandler = eventHandler;
|
btnFunctionName.MouseUpEventHandler = eventHandler;
|
btnFunctionLocationInfo.MouseUpEventHandler = eventHandler;
|
|
var btnDelGroupControl = new Button()
|
{
|
TextColor = CSS_Color.MainBackgroundColor,
|
BackgroundColor = CSS_Color.WarningColor,
|
TextID = StringId.Del,
|
TextAlignment = TextAlignment.Center,
|
};
|
functionRow.AddRightView(btnDelGroupControl);
|
btnDelGroupControl.MouseUpEventHandler = (sender1, e1) => {
|
var waitPage = new Loading();
|
this.AddChidren(waitPage);
|
waitPage.Start("");
|
new System.Threading.Thread(() =>
|
{
|
try
|
{
|
var pack = ApiUtlis.Ins.HttpRequest.DelGroupControl(groupControl.userDeviceGroupControlId);
|
if (pack != null)
|
{
|
Application.RunOnMainThread(() =>
|
{
|
try
|
{
|
if (pack.Code == StateCode.SUCCESS)
|
{
|
list.Remove(groupControl);
|
LoadGroupControlView(list);
|
}
|
else
|
{
|
IMessageCommon.Current.ShowErrorInfoAlter(pack.Code);
|
}
|
}catch(Exception ex)
|
{
|
MainPage.Log($"刷新组控数据异常:{ex.Message}");
|
}
|
});
|
}
|
}catch(Exception ex)
|
{
|
MainPage.Log($"删除组控异常:{ex.Message}");
|
}
|
finally
|
{
|
Application.RunOnMainThread(() => {
|
if (waitPage != null)
|
{
|
waitPage.Hide();
|
waitPage.RemoveFromParent();
|
waitPage = null;
|
}
|
});
|
}
|
})
|
{ IsBackground = true }.Start();
|
};
|
|
}
|
|
}
|
}
|
|
|
}
|
}
|