118 lines
2.8 KiB
C#
118 lines
2.8 KiB
C#
using _29WxOrderWpf.BaseWindows;
|
|
using WxOrder.Framework.Commons;
|
|
using AllBase;
|
|
using AllBase.Model.DBModel;
|
|
using AllBase.Model.MvvmBaseClasses;
|
|
using AllBase.Model.Result;
|
|
using NaiBa.Util.Extension;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading;
|
|
using System.Threading.Tasks;
|
|
using System.Windows;
|
|
using System.Windows.Input;
|
|
using System.Windows.Threading;
|
|
using Work;
|
|
using Work._29Tools.BLL;
|
|
using Work._29Tools.Forms.ShopForms;
|
|
|
|
namespace _29WxOrderWpf.ViewModels
|
|
|
|
{
|
|
/// <summary>
|
|
/// 更改运单号ViewModel
|
|
/// </summary>
|
|
public class ChangePickNoViewModel : PropertyNotifyObject
|
|
{
|
|
public oms_wei_order_item_info OrderItem
|
|
{
|
|
get { return this.GetValue(x => x.OrderItem); }
|
|
set { this.SetValue(x => x.OrderItem, value); }
|
|
}
|
|
public string PickNo
|
|
{
|
|
get { return this.GetValue(x => x.PickNo); }
|
|
set { this.SetValue(x => x.PickNo, value); }
|
|
}
|
|
public bool IsChangeingPickNo
|
|
{
|
|
get { return this.GetValue(x => x.IsChangeingPickNo); }
|
|
set { this.SetValue(x => x.IsChangeingPickNo, value); }
|
|
}
|
|
|
|
/// <summary>
|
|
/// 请求关闭窗口
|
|
/// </summary>
|
|
public event Action RequestClose;
|
|
|
|
#region 命令
|
|
|
|
public ICommand ChangePickNoCommand { get; }
|
|
|
|
#endregion
|
|
private volatile bool _isWindowLoaded = false;
|
|
|
|
public ChangePickNoViewModel(oms_wei_order_item_info _orderItem)
|
|
{
|
|
OrderItem = _orderItem;
|
|
IsChangeingPickNo = false;
|
|
PickNo = (_orderItem?.ItemOrder?.SyncWaybillPickNo).ParseToString();
|
|
ChangePickNoCommand = new DelegateCommand(ChangePickNo);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 窗口加载完成时调用
|
|
/// </summary>
|
|
public void Start()
|
|
{
|
|
_isWindowLoaded = true;
|
|
}
|
|
/// <summary>
|
|
/// 窗口关闭时调用,停止后台任务
|
|
/// </summary>
|
|
public void Stop()
|
|
{
|
|
_isWindowLoaded = false;
|
|
}
|
|
|
|
public void ChangePickNo()
|
|
{
|
|
IsChangeingPickNo = false;
|
|
string orderId = OrderItem.order_id;
|
|
ShopLoginInfo shop = OrderItem.ItemOrder.Shop;
|
|
if (string.IsNullOrEmpty(PickNo))
|
|
{
|
|
BaseMsgWindow.ShowInfo("取件码不能为空");
|
|
return;
|
|
}
|
|
|
|
Task.Run(async () =>
|
|
{
|
|
var url4 = BaseClass.Build29WxObjString("vlc/UploadPickup");
|
|
var data4 = UserLogin.GetSignPostData(new
|
|
{
|
|
orderId = OrderItem.DirectPddBuyerOrder.order_sn,
|
|
pickupCode = PickNo,
|
|
});
|
|
var html4 = GetHtml.PostJson(url4, data4);
|
|
if (html4.Contains("\"code\":200"))
|
|
{
|
|
Application.Current?.Dispatcher.Invoke(new Action(() =>
|
|
{
|
|
OrderItem.ItemOrder.SyncWaybillPickNo = PickNo;
|
|
IsChangeingPickNo = false;
|
|
BaseMsgWindow.ShowInfo("修改取件码成功");
|
|
RequestClose?.Invoke();
|
|
}));
|
|
}
|
|
else
|
|
{
|
|
BaseMsgWindow.ShowInfo("修改取件码失败" + BaseRegex.GetStringJson(ref html4, "msg"));
|
|
}
|
|
});
|
|
}
|
|
}
|
|
}
|