Browse Source

加入编辑和删除

master
feng 2 years ago
parent
commit
9f5a5a49ee
  1. 5
      客户端/齐越慧眼/齐越慧眼/ViewModels/CompetingWindowViewModel.cs
  2. 20
      客户端/齐越慧眼/齐越慧眼/Windows/CompetingWindow.xaml.cs
  3. 62
      客户端/齐越慧眼/齐越慧眼/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>();
Item = item;
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;

20
客户端/齐越慧眼/齐越慧眼/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<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;
}
}
}

62
客户端/齐越慧眼/齐越慧眼/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,6 +197,13 @@ 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竞品存在!");

14
客户端/齐越慧眼/齐越慧眼/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) => {

Loading…
Cancel
Save