using Shared;
|
using HDL_ON.UI.CSS;
|
using HDL_ON.Stan;
|
using System;
|
using System.Collections.Generic;
|
using System.Text;
|
|
namespace HDL_ON.UI
|
{
|
/// <summary>
|
/// 门锁的选择日期时间界面
|
/// </summary>
|
public class DoorLockSelectTimePage : EditorCommonForm
|
{
|
#region ■ 变量声明___________________________
|
|
/// <summary>
|
/// 选择结束的事件
|
/// </summary>
|
public Action<DateTime> SelectFinshEvent = null;
|
/// <summary>
|
/// 选择的时间
|
/// </summary>
|
private DateTime selectDateTime;
|
|
#endregion
|
|
#region ■ 初始化_____________________________
|
|
/// <summary>
|
/// 画面显示(底层会固定调用此方法,借以完成画面创建)
|
/// </summary>
|
/// <param name="i_dateTime">一个时间</param>
|
public void ShowForm(DateTime i_dateTime)
|
{
|
this.selectDateTime = i_dateTime;
|
|
//选择时间
|
base.SetTitleText(Language.StringByID(StringId.SelectTime));
|
|
//初始化中部信息
|
this.InitMiddleFrame();
|
}
|
|
/// <summary>
|
/// 初始化中部信息
|
/// </summary>
|
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 ■ 界面关闭___________________________
|
|
/// <summary>
|
/// 界面关闭
|
/// </summary>
|
public override void CloseFormBefore()
|
{
|
base.CloseFormBefore();
|
//调用回调事件
|
this.SelectFinshEvent?.Invoke(this.selectDateTime);
|
this.SelectFinshEvent = null;
|
}
|
|
#endregion
|
}
|
}
|