using Shared;
using HDL_ON.UI.CSS;
using HDL_ON.Stan;
using System;
using System.Collections.Generic;
using System.Text;
namespace HDL_ON.UI
{
///
/// 门锁的选择日期时间界面
///
public class DoorLockSelectTimePage : EditorCommonForm
{
#region ■ 变量声明___________________________
///
/// 选择结束的事件
///
public Action SelectFinshEvent = null;
///
/// 选择的时间
///
private DateTime selectDateTime;
#endregion
#region ■ 初始化_____________________________
///
/// 画面显示(底层会固定调用此方法,借以完成画面创建)
///
/// 一个时间
public void ShowForm(DateTime i_dateTime)
{
this.selectDateTime = i_dateTime;
//选择时间
base.SetTitleText(Language.StringByID(StringId.SelectTime));
//初始化中部信息
this.InitMiddleFrame();
}
///
/// 初始化中部信息
///
private void InitMiddleFrame()
{
//清空bodyFrame
this.ClearBodyFrame();
//选择日期
var rowDate = new RowLayoutControl();
rowDate.BackgroundColor = CSS_Color.MainBackgroundColor;
bodyFrameLayout.AddChidren(rowDate);
rowDate.frameTable.AddLeftCaption(Language.StringByID(StringId.SelectDate), 300);
rowDate.frameTable.AddRightArrow();
rowDate.frameTable.AddBottomLine();
var btnDay = rowDate.frameTable.AddMostRightView(this.selectDateTime.ToString("yyyy.MM.dd"), 300);
rowDate.frameTable.ButtonClickEvent += (sender, e) =>
{
//显示日期选择的底部弹窗
var contr = new BottomDateSelectControl();
contr.InitControl(this.selectDateTime.Year, this.selectDateTime.Month, this.selectDateTime.Day, 1, 1);
contr.FinishEvent += (div, year, month, day) =>
{
//覆盖时间
if (div == 1)
{
this.selectDateTime = new DateTime(year, month, day, this.selectDateTime.Hour, this.selectDateTime.Minute, 0);
btnDay.Text = this.selectDateTime.ToString("yyyy.MM.dd");
}
};
};
//选择时间
var rowTime = new RowLayoutControl();
rowTime.Y = rowDate.Bottom;
rowTime.BackgroundColor = CSS_Color.MainBackgroundColor;
bodyFrameLayout.AddChidren(rowTime);
rowTime.frameTable.AddLeftCaption(Language.StringByID(StringId.SelectTime), 300);
rowTime.frameTable.AddRightArrow();
var btnTime = rowTime.frameTable.AddMostRightView(this.selectDateTime.ToString("HH:mm"), 300);
rowTime.frameTable.ButtonClickEvent += (sender, e) =>
{
//显示日期选择的底部弹窗
var contr = new BottomTimeSelectControl();
contr.RowCount = 5;
contr.InitControl(this.selectDateTime.Hour, this.selectDateTime.Minute, -1);
contr.FinishEvent += (div, hour, minute) =>
{
//覆盖时间
if (div == 1)
{
this.selectDateTime = new DateTime(this.selectDateTime.Year, this.selectDateTime.Month, this.selectDateTime.Day, hour, minute, 0);
btnTime.Text = this.selectDateTime.ToString("HH:mm");
}
};
};
}
#endregion
#region ■ 界面关闭___________________________
///
/// 界面关闭
///
public override void CloseFormBefore()
{
base.CloseFormBefore();
//调用回调事件
this.SelectFinshEvent?.Invoke(this.selectDateTime);
this.SelectFinshEvent = null;
}
#endregion
}
}