diff --git a/客户端/齐越慧眼/齐越慧眼/ViewModels/CompetingWindowViewModel.cs b/客户端/齐越慧眼/齐越慧眼/ViewModels/CompetingWindowViewModel.cs index 6a677f9..c1b2511 100644 --- a/客户端/齐越慧眼/齐越慧眼/ViewModels/CompetingWindowViewModel.cs +++ b/客户端/齐越慧眼/齐越慧眼/ViewModels/CompetingWindowViewModel.cs @@ -19,6 +19,11 @@ namespace 齐越慧眼.ViewModels _ItemList = new System.Collections.ObjectModel.ObservableCollection(); Item = item; Instance = this; + if (!string.IsNullOrEmpty(item.CompetingItemJson)) + { + var list = Newtonsoft.Json.JsonConvert.DeserializeObject>(item.CompetingItemJson); + list.ForEach(x => _ItemList.Add(x)); + } } private System.Collections.ObjectModel.ObservableCollection _ItemList; diff --git a/客户端/齐越慧眼/齐越慧眼/Windows/CompetingWindow.xaml.cs b/客户端/齐越慧眼/齐越慧眼/Windows/CompetingWindow.xaml.cs index b68accf..01a7c84 100644 --- a/客户端/齐越慧眼/齐越慧眼/Windows/CompetingWindow.xaml.cs +++ b/客户端/齐越慧眼/齐越慧眼/Windows/CompetingWindow.xaml.cs @@ -121,7 +121,7 @@ namespace 齐越慧眼.Windows Thread t = new Thread(() => { //判断是否添加成功 - if (Windows.ItemDetailWindow.Show(e.Url) == true) + if (Windows.ItemDetailWindow.Show(this,e.Url) == true) { StartPage(); WpfNoticeMsg.NoticeMessage.Show("添加成功!"); @@ -591,6 +591,7 @@ namespace 齐越慧眼.Windows if (ApiHelper.UpdateItemCompeting(CompetingWindowViewModel.Instance.ItemList.ToList(), CompetingWindowViewModel.Instance.Item.Id)) { WpfNoticeMsg.NoticeMessage.Show("保存成功!"); + this.DialogResult = true; } else { @@ -611,5 +612,22 @@ namespace 齐越慧眼.Windows { return ApiHelper.UpdateItemCompeting(CompetingWindowViewModel.Instance.ItemList.ToList(), CompetingWindowViewModel.Instance.Item.Id); } + + public bool? editItem(string itemJson) + { + var item = Newtonsoft.Json.JsonConvert.DeserializeObject(itemJson); + return ItemDetailWindow.Show(Brower, item); + } + + public bool deleteItem(string itemJson) + { + var item = Newtonsoft.Json.JsonConvert.DeserializeObject(itemJson); + var model= CompetingWindowViewModel.Instance.ItemList.FirstOrDefault(c => c.ItemUrl == item.ItemUrl || c.Sku == item.Sku); + if (model != null) + { + CompetingWindowViewModel.Instance.ItemList.Remove(model); + } + return true; + } } } diff --git a/客户端/齐越慧眼/齐越慧眼/Windows/ItemDetailWindow.xaml.cs b/客户端/齐越慧眼/齐越慧眼/Windows/ItemDetailWindow.xaml.cs index 4f11e3e..470e309 100644 --- a/客户端/齐越慧眼/齐越慧眼/Windows/ItemDetailWindow.xaml.cs +++ b/客户端/齐越慧眼/齐越慧眼/Windows/ItemDetailWindow.xaml.cs @@ -27,10 +27,13 @@ namespace 齐越慧眼.Windows { private ExtChromiumBrowser web; + + private bool IsEdit = false; + private Models.TeamCompetingItem LastItem; private ItemDetailWindow(string url) { InitializeComponent(); - + IsEdit = false; KeyDown += ItemDetailWindow_KeyDown; web = new ExtChromiumBrowser(url) @@ -52,6 +55,31 @@ namespace 齐越慧眼.Windows } + private ItemDetailWindow(Models.TeamCompetingItem item) + { + InitializeComponent(); + IsEdit = true; + KeyDown += ItemDetailWindow_KeyDown; + LastItem = item; + web = new ExtChromiumBrowser(item.ItemUrl) + { + BrowserSettings = + { + DefaultEncoding = "UTF-8", + Plugins = CefState.Enabled, + //关于跨域限制 + //WebSecurity = CefState.Disabled, + ApplicationCache = CefState.Enabled, + LocalStorage = CefState.Enabled + }, + + //RequestHandler =new MyRequestHandler() + }; + + grid.Children.Add(web); + + } + private void LoadUrl(string url) { web.Load(url); @@ -75,6 +103,31 @@ namespace 齐越慧眼.Windows } + + public static bool? Show(Window main,string url) + { + ItemDetailWindow window = null; + bool? result = null; + main.Dispatcher.Invoke(new Action(() => { + window = new ItemDetailWindow(url); + result = window.ShowDialog(); + })); + + return result; + } + + public static bool? Show(Window main, Models.TeamCompetingItem item) + { + ItemDetailWindow window = null; + bool? result = null; + main.Dispatcher.Invoke(new Action(() => { + window = new ItemDetailWindow(item); + result = window.ShowDialog(); + })); + + return result; + } + private void ItemDetailWindow_KeyDown(object sender, KeyEventArgs e) { if (e.Key == System.Windows.Input.Key.F12) @@ -144,12 +197,19 @@ namespace 齐越慧眼.Windows return; } + //修改先删除再添加 + if (IsEdit) + { + var last= ViewModels.CompetingWindowViewModel.Instance.ItemList.FirstOrDefault(c => c.ItemUrl == LastItem.ItemUrl || c.Sku == LastItem.Sku); + ViewModels.CompetingWindowViewModel.Instance.ItemList.Remove(last); + } + if (ViewModels.CompetingWindowViewModel.Instance.ItemList.Any(c => c.Spu == model.Spu)) { WpfNoticeMsg.NoticeMessage.Show("当前已有相同Spu竞品存在!"); return; } - + ViewModels.CompetingWindowViewModel.Instance.ItemList.Add(model); this.DialogResult = true; diff --git a/客户端/齐越慧眼/齐越慧眼/vuepage/client/src/views/competing/List.vue b/客户端/齐越慧眼/齐越慧眼/vuepage/client/src/views/competing/List.vue index 43530e6..c10edcc 100644 --- a/客户端/齐越慧眼/齐越慧眼/vuepage/client/src/views/competing/List.vue +++ b/客户端/齐越慧眼/齐越慧眼/vuepage/client/src/views/competing/List.vue @@ -78,10 +78,20 @@ export default { }); }, handleEdit(item){ - + hyCoreModel.editItem(item).then(res=>{ + if(res) + { + this.getDatas() + } + }) }, handleDelete(item){ - + hyCoreModel.deleteItem(item).then(res=>{ + if(res) + { + this.getDatas() + } + }) }, saveData() { hyCoreModel.saveData().then((isOk) => {