public ActionResult TrackLogAdd(CustomerTrackingModel customerTrackingModel) { if (Session["method"].ToString() == "Y") { string str = string.Format("<script>alert('重复操作!');parent.location.href='TrackLogIndex';</script>"); return(Content(str)); } try { 销售_意向追踪日志 trackLog = new 销售_意向追踪日志(); trackLog.店铺ID = storeBLL.GetModel(P => P.称 == customerTrackingModel.店铺).ID; trackLog.备注 = customerTrackingModel.备注; trackLog.店长审核 = customerTrackingModel.店长审核; trackLog.接待记录ID = customerInfoBLL.GetModel(p => p.接待序号 == customerTrackingModel.接待序号).ID; trackLog.是否申请设计师 = customerTrackingModel.是否申请设计师; trackLog.跟进人 = storeEmployeesBLL.GetModel(p => p.姓名 == customerTrackingModel.跟进人).ID; trackLog.跟进内容 = customerTrackingModel.跟进内容; trackLog.跟进方式 = customerTrackingModel.跟进方式; trackLog.跟进时间 = customerTrackingModel.跟进时间; trackLog.跟进结果 = Enum.GetName(typeof(CustomerTrackResult), customerTrackingModel.跟进结果).ToString(); if (ModelState.IsValid) { customerTrackingBLL.Add(trackLog); Session["method"] = "Y"; } else { List <string> sb = new List <string>(); //获取所有错误的Key List <string> Keys = ModelState.Keys.ToList(); //获取每一个key对应的ModelStateDictionary foreach (var key in Keys) { var errors = ModelState[key].Errors.ToList(); //将错误描述添加到sb中 foreach (var error in errors) { sb.Add(error.ErrorMessage); } } string s = "添加日志出错:"; foreach (var item in sb) { s += item.ToString() + "<br/>"; } return(Content("<script>alert('" + s + "');window.history.go(-1);</script>")); } } catch (Exception ex) { return(Content("添加跟进日志时错误:" + ex.ToString())); } return(RedirectToAction("TrackLogIndex", new { id = customerTrackingModel.接待ID })); }
/// <summary> /// 添加跟进日志 /// </summary> /// <param name="reception">接待序号</param> /// <param name="trackingPeopleName">跟进人姓名</param> /// <returns></returns> public ActionResult AddTrackLogView(string reception) { Session["method"] = "N"; SetEmployee(); ViewBag.Store = store; ViewBag.Employee = employeeName; ViewBag.IsManager = storeEmployeesBLL.GetModel(p => p.ID == employeeID).是否店长; ViewBag.IsDesigner = storeEmployeesBLL.GetModel(p => p.ID == employeeID).是否设计师; ViewBag.IsEmployee = storeEmployeesBLL.GetModel(p => p.ID == employeeID).是否销售; CustomerTrackingModel customerTrackingModel = new CustomerTrackingModel { 店铺 = store, 跟进人 = employeeName }; if (reception != null) { customerTrackingModel.接待序号 = reception; customerTrackingModel.接待ID = customerInfoBLL.GetModel(p => p.接待序号 == reception).ID; } var trackingPeopleId = storeEmployeesBLL.GetModel(p => p.姓名 == employeeName).ID; var customerModels = customerInfoBLL.GetModels(p => p.跟进人ID == trackingPeopleId); if (customerModels.Count() == 0)//如果没有查到匹配的跟进信息 { string str = string.Format("<script>alert('当前没有匹配到任何您可以进行跟进的客户,请让店长为您添加!');parent.location.href='TrackLogIndex';</script>"); return(Content(str)); } ViewBag.ReceptionSer = customerTrackingModel.接待序号; return(View(customerTrackingModel)); }
public ActionResult TrackLogEdit(CustomerTrackingModel customerTrackingModel) { if (Session["method"].ToString() == "Y") { string str = string.Format("<script>alert('重复操作!');parent.location.href='TrackLogIndex';</script>"); return(Content(str)); } try { 销售_意向追踪日志 trackLog = new 销售_意向追踪日志 { id = customerTrackingModel.Id, 店铺ID = storeBLL.GetModel(P => P.称 == customerTrackingModel.店铺).ID, 备注 = customerTrackingModel.备注, 店长审核 = customerTrackingModel.店长审核, 接待记录ID = customerInfoBLL.GetModel(p => p.接待序号 == customerTrackingModel.接待序号).ID, 是否申请设计师 = customerTrackingModel.是否申请设计师, 跟进人 = storeEmployeesBLL.GetModel(p => p.姓名 == customerTrackingModel.跟进人).ID, 跟进内容 = customerTrackingModel.跟进内容, 跟进方式 = customerTrackingModel.跟进方式, 跟进时间 = customerTrackingModel.跟进时间, 跟进结果 = customerTrackingModel.跟进结果.ToString() }; if (ModelState.IsValid) { customerTrackingBLL.Modify(trackLog); Session["method"] = "Y"; } else { List <string> sb = new List <string>(); //获取所有错误的Key List <string> Keys = ModelState.Keys.ToList(); //获取每一个key对应的ModelStateDictionary foreach (var key in Keys) { var errors = ModelState[key].Errors.ToList(); //将错误描述添加到sb中 foreach (var error in errors) { sb.Add(error.ErrorMessage); } } string s = "修改日志出错:"; foreach (var item in sb) { s += item.ToString() + "<br/>"; } return(Content("<script>alert('" + s + "');window.history.go(-1);</script>")); } } catch (Exception e) { return(Content("<script>alert('修改日志异常:" + e + "');window.history.go(-1);</script>")); } return(RedirectToAction("TrackLogIndex")); }
/// <summary> /// 根据当前操作人员或职位或接待id查找跟进信息 /// </summary> /// <param name="id">接待id</param> /// <returns>跟进信息</returns>s private List <CustomerTrackingModel> BuildTrackingInfo(int?id) { List <销售_意向追踪日志> mt = new List <销售_意向追踪日志>(); var e = storeEmployeesBLL.GetModel(p => p.ID == employeeID); if (id != 0) { mt = customerTrackingBLL.GetModels(p => p.接待记录ID == id).ToList();//查看当前客户的跟进信息 } else if (e.职务ID == 3) { mt = customerTrackingBLL.GetModels(p => p.店铺ID == e.店铺ID).ToList();//店长查看(只有自己店铺的) } else { mt = customerTrackingBLL.GetModels(p => p.跟进人 == employeeID).ToList();//店员查看(只有自己跟进的) } List <CustomerTrackingModel> customerTrackingModels = new List <CustomerTrackingModel>(); foreach (var item in mt) { CustomerTrackingModel customerTrackingModel = new CustomerTrackingModel { Id = item.id, 备注 = item.备注, 店长审核 = item.店长审核, 接待序号 = customerInfoBLL.GetModel(p => p.ID == item.接待记录ID).接待序号, 客户姓名 = customerInfoBLL.GetModel(p => p.ID == item.接待记录ID).客户姓名, 客户电话 = customerInfoBLL.GetModel(p => p.ID == item.接待记录ID).客户电话, 接待ID = item.接待记录ID, 是否申请设计师 = item.是否申请设计师, 跟进人 = storeEmployeesBLL.GetModel(p => p.ID == item.跟进人).姓名, 跟进内容 = item.跟进内容, 跟进方式 = item.跟进方式, 跟进时间 = item.跟进时间, 店铺 = storeBLL.GetModel(p => p.ID == item.店铺ID).称 }; customerTrackingModels.Add(customerTrackingModel); switch (item.跟进结果) { case "成交": customerTrackingModel.跟进结果 = CustomerTrackResult.成交; break; case "申请设计": customerTrackingModel.跟进结果 = CustomerTrackResult.申请设计; break; case "观察": customerTrackingModel.跟进结果 = CustomerTrackResult.观察; break; case "放弃": customerTrackingModel.跟进结果 = CustomerTrackResult.放弃; break; case "继续跟进": customerTrackingModel.跟进结果 = CustomerTrackResult.继续跟进; break; default: break; } } return(customerTrackingModels); }
/// <summary> /// 修改跟进日志 /// </summary> /// <returns></returns> public ActionResult EditTrackLogView(int id) { Session["method"] = "N"; SetEmployee(); ViewBag.Store = store; ViewBag.Employee = employeeName; ViewBag.IsManager = storeEmployeesBLL.GetModel(p => p.ID == employeeID).是否店长; ViewBag.IsDesigner = storeEmployeesBLL.GetModel(p => p.ID == employeeID).是否设计师; ViewBag.IsEmployee = storeEmployeesBLL.GetModel(p => p.ID == employeeID).是否销售; var model = customerTrackingBLL.GetModel(p => p.id == id); if (model == null) { string str = string.Format("<script>alert('数据已更改,未查到跟进日志信息!');parent.location.href='TrackLogIndex';</script>"); return(Content(str)); } CustomerTrackingModel customerTrackingModel = new CustomerTrackingModel { Id = model.id, 备注 = model.备注, 店铺 = storeBLL.GetModel(p => p.ID == model.店铺ID).称, 店长审核 = model.店长审核, 接待序号 = customerInfoBLL.GetModel(p => p.ID == model.接待记录ID).接待序号, 接待ID = model.接待记录ID, 是否申请设计师 = model.是否申请设计师, 跟进人 = storeEmployeesBLL.GetModel(p => p.ID == model.跟进人).姓名, 跟进内容 = model.跟进内容, 跟进方式 = model.跟进方式, 跟进时间 = model.跟进时间, 客户电话 = customerInfoBLL.GetModel(p => p.ID == model.接待记录ID).客户电话 }; switch (model.跟进结果) { case "成交": customerTrackingModel.跟进结果 = CustomerTrackResult.成交; break; case "申请设计": customerTrackingModel.跟进结果 = CustomerTrackResult.申请设计; break; case "观察": customerTrackingModel.跟进结果 = CustomerTrackResult.观察; break; case "放弃": customerTrackingModel.跟进结果 = CustomerTrackResult.放弃; break; case "继续跟进": customerTrackingModel.跟进结果 = CustomerTrackResult.继续跟进; break; default: break; } return(View(customerTrackingModel)); }