namespace HStation.WinFrmUI
|
{
|
public partial class SetXhsProjectMapLocationWizardPage : DevExpress.XtraEditors.XtraUserControl, Yw.WinFrmUI.IWizardPageAsync<ImportXhsProjectViewModel>
|
{
|
public SetXhsProjectMapLocationWizardPage()
|
{
|
InitializeComponent();
|
this.layoutControl1.SetupLayoutControl();
|
this.mapSetSimpleMarkerContainer1.LoadCompletedEvent += MapSetSimpleMarkerContainer1_LoadCompletedEvent;
|
this.mapSetSimpleMarkerContainer1.SetMarkerEvent += MapSetSimpleMarkerContainer1_SetMarkerEvent;
|
}
|
|
/// <summary>
|
/// 页面状态发生改变事件
|
/// </summary>
|
public event Action PageStateChangedEvent;
|
|
private ImportXhsProjectViewModel _vm = null;//操作对象
|
private bool _isInitialize = false;//是否初始化
|
|
/// <summary>
|
/// 初始化
|
/// </summary>
|
public async void InitialPage(ImportXhsProjectViewModel vm)
|
{
|
if (_isInitialize)
|
{
|
return;
|
}
|
_vm = vm;
|
_isInitialize = true;
|
this.txtAddress.EditValue = vm.Project.Address;
|
await this.mapSetSimpleMarkerContainer1.InitialContainer();
|
}
|
|
|
/// <summary>
|
/// 是否允许上一步
|
/// </summary>
|
public bool AllowPrev
|
{
|
get
|
{
|
return true;
|
}
|
}
|
|
/// <summary>
|
/// 是否允许下一步
|
/// </summary>
|
public bool AllowNext
|
{
|
get
|
{
|
return true;
|
}
|
}
|
|
/// <summary>
|
/// 是否允许取消
|
/// </summary>
|
public bool AllowCancel
|
{
|
get
|
{
|
return true;
|
}
|
}
|
|
/// <summary>
|
/// 是否允许完成
|
/// </summary>
|
public bool AllowComplete
|
{
|
get
|
{
|
return false;
|
}
|
}
|
|
/// <summary>
|
/// 能否上一步
|
/// </summary>
|
public Task<bool> CanPrev()
|
{
|
return Task.Run(() => true);
|
}
|
|
/// <summary>
|
/// 能否下一步
|
/// </summary>
|
public Task<bool> CanNext()
|
{
|
return Task.Run(() =>
|
{
|
if (string.IsNullOrEmpty(_vm.Project.Address))
|
{
|
_vm.Project.Address = this.txtAddress.Text.Trim();
|
}
|
return true;
|
});
|
}
|
|
/// <summary>
|
/// 能否取消
|
/// </summary>
|
public Task<bool> CanCancel()
|
{
|
return Task.Run(() => true);
|
}
|
|
/// <summary>
|
/// 能否完成
|
/// </summary>
|
public Task<bool> CanComplete()
|
{
|
return Task.Run(() => false);
|
}
|
|
//地图加载完成
|
private async void MapSetSimpleMarkerContainer1_LoadCompletedEvent()
|
{
|
if (!_isInitialize)
|
{
|
return;
|
}
|
if (_vm.MapInfo != null)
|
{
|
var marker = Yw.Model.Map.Marker.ToModel(_vm.MapInfo.Position);
|
if (marker != null)
|
{
|
await this.mapSetSimpleMarkerContainer1.LoadMarker(marker);
|
if (string.IsNullOrEmpty(this.txtAddress.Text.Trim()))
|
{
|
this.txtAddress.EditValue = marker.Address;
|
}
|
}
|
}
|
}
|
|
//设置位置
|
private void MapSetSimpleMarkerContainer1_SetMarkerEvent(Yw.Model.Map.Marker obj)
|
{
|
if (!_isInitialize)
|
{
|
return;
|
}
|
if (_vm.MapInfo == null)
|
{
|
_vm.MapInfo = new Yw.Vmo.MapInfoVmo();
|
_vm.MapInfo.ObjectType = HStation.Xhs.DataType.XhsProject;
|
_vm.MapInfo.ObjectID = _vm.Project.ID;
|
_vm.MapInfo.ObjectName = _vm.Project.Name;
|
_vm.MapInfo.Purpose = Yw.Map.Purpose.Location;
|
_vm.MapInfo.Kind = Yw.Map.Kind.Gaodei;
|
_vm.MapInfo.Shape = Yw.Map.Shape.Marker;
|
}
|
_vm.MapInfo.Position = obj.ToJson();
|
this.txtAddress.EditValue = obj.Address;
|
}
|
|
}
|
}
|