Browse Source

加入编辑和删除

master
feng 2 years ago
parent
commit
9f5a5a49ee
  1. 5
      客户端/齐越慧眼/齐越慧眼/ViewModels/CompetingWindowViewModel.cs
  2. 20
      客户端/齐越慧眼/齐越慧眼/Windows/CompetingWindow.xaml.cs
  3. 64
      客户端/齐越慧眼/齐越慧眼/Windows/ItemDetailWindow.xaml.cs
  4. 14
      客户端/齐越慧眼/齐越慧眼/vuepage/client/src/views/competing/List.vue

5
客户端/齐越慧眼/齐越慧眼/ViewModels/CompetingWindowViewModel.cs

@ -19,6 +19,11 @@ namespace 齐越慧眼.ViewModels
_ItemList = new System.Collections.ObjectModel.ObservableCollection<TeamCompetingItem>(); _ItemList = new System.Collections.ObjectModel.ObservableCollection<TeamCompetingItem>();
Item = item; Item = item;
Instance = this; Instance = this;
if (!string.IsNullOrEmpty(item.CompetingItemJson))
{
var list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<TeamCompetingItem>>(item.CompetingItemJson);
list.ForEach(x => _ItemList.Add(x));
}
} }
private System.Collections.ObjectModel.ObservableCollection<TeamCompetingItem> _ItemList; private System.Collections.ObjectModel.ObservableCollection<TeamCompetingItem> _ItemList;

20
客户端/齐越慧眼/齐越慧眼/Windows/CompetingWindow.xaml.cs

@ -121,7 +121,7 @@ namespace 齐越慧眼.Windows
Thread t = new Thread(() => Thread t = new Thread(() =>
{ {
//判断是否添加成功 //判断是否添加成功
if (Windows.ItemDetailWindow.Show(e.Url) == true) if (Windows.ItemDetailWindow.Show(this,e.Url) == true)
{ {
StartPage(); StartPage();
WpfNoticeMsg.NoticeMessage.Show("添加成功!"); WpfNoticeMsg.NoticeMessage.Show("添加成功!");
@ -591,6 +591,7 @@ namespace 齐越慧眼.Windows
if (ApiHelper.UpdateItemCompeting(CompetingWindowViewModel.Instance.ItemList.ToList(), CompetingWindowViewModel.Instance.Item.Id)) if (ApiHelper.UpdateItemCompeting(CompetingWindowViewModel.Instance.ItemList.ToList(), CompetingWindowViewModel.Instance.Item.Id))
{ {
WpfNoticeMsg.NoticeMessage.Show("保存成功!"); WpfNoticeMsg.NoticeMessage.Show("保存成功!");
this.DialogResult = true;
} }
else else
{ {
@ -611,5 +612,22 @@ namespace 齐越慧眼.Windows
{ {
return ApiHelper.UpdateItemCompeting(CompetingWindowViewModel.Instance.ItemList.ToList(), CompetingWindowViewModel.Instance.Item.Id); return ApiHelper.UpdateItemCompeting(CompetingWindowViewModel.Instance.ItemList.ToList(), CompetingWindowViewModel.Instance.Item.Id);
} }
public bool? editItem(string itemJson)
{
var item = Newtonsoft.Json.JsonConvert.DeserializeObject<TeamCompetingItem>(itemJson);
return ItemDetailWindow.Show(Brower, item);
}
public bool deleteItem(string itemJson)
{
var item = Newtonsoft.Json.JsonConvert.DeserializeObject<TeamCompetingItem>(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;
}
} }
} }

64
客户端/齐越慧眼/齐越慧眼/Windows/ItemDetailWindow.xaml.cs

@ -27,10 +27,13 @@ namespace 齐越慧眼.Windows
{ {
private ExtChromiumBrowser web; private ExtChromiumBrowser web;
private bool IsEdit = false;
private Models.TeamCompetingItem LastItem;
private ItemDetailWindow(string url) private ItemDetailWindow(string url)
{ {
InitializeComponent(); InitializeComponent();
IsEdit = false;
KeyDown += ItemDetailWindow_KeyDown; KeyDown += ItemDetailWindow_KeyDown;
web = new ExtChromiumBrowser(url) 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) private void LoadUrl(string url)
{ {
web.Load(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) private void ItemDetailWindow_KeyDown(object sender, KeyEventArgs e)
{ {
if (e.Key == System.Windows.Input.Key.F12) if (e.Key == System.Windows.Input.Key.F12)
@ -144,12 +197,19 @@ namespace 齐越慧眼.Windows
return; 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)) if (ViewModels.CompetingWindowViewModel.Instance.ItemList.Any(c => c.Spu == model.Spu))
{ {
WpfNoticeMsg.NoticeMessage.Show("当前已有相同Spu竞品存在!"); WpfNoticeMsg.NoticeMessage.Show("当前已有相同Spu竞品存在!");
return; return;
} }
ViewModels.CompetingWindowViewModel.Instance.ItemList.Add(model); ViewModels.CompetingWindowViewModel.Instance.ItemList.Add(model);
this.DialogResult = true; this.DialogResult = true;

14
客户端/齐越慧眼/齐越慧眼/vuepage/client/src/views/competing/List.vue

@ -78,10 +78,20 @@ export default {
}); });
}, },
handleEdit(item){ handleEdit(item){
hyCoreModel.editItem(item).then(res=>{
if(res)
{
this.getDatas()
}
})
}, },
handleDelete(item){ handleDelete(item){
hyCoreModel.deleteItem(item).then(res=>{
if(res)
{
this.getDatas()
}
})
}, },
saveData() { saveData() {
hyCoreModel.saveData().then((isOk) => { hyCoreModel.saveData().then((isOk) => {

Loading…
Cancel
Save