196 lines
7.4 KiB
C#
196 lines
7.4 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Web.Mvc;
|
|
using System.Web.Script.Serialization;
|
|
using WX.CRM.BLL.Util;
|
|
using WX.CRM.Common;
|
|
using WX.CRM.IBLL.Base;
|
|
using WX.CRM.IBLL.Util;
|
|
using WX.CRM.Model.Entity;
|
|
using WX.CRM.WebHelper;
|
|
|
|
namespace WX.CRM.WEB.Controllers.Base
|
|
{
|
|
public class InnerGroupController : BaseController
|
|
{
|
|
|
|
private IBAS_INNERGROUP _innerGroup;
|
|
private IBAS_INNERGROUP_Q _innerGroupQ;
|
|
//private IBAS_INNERDEPARTMENT_Q _innerDepartMentQ;
|
|
private IBAS_SALESDEPARTMENT_Q _innerSaleDepartMentQ;
|
|
private IBAS_INNERDEPARTMENT_Q _innerDepartMentQ;
|
|
private ICACHE_Q _cacheQ;
|
|
ValidationErrors errors = new ValidationErrors();
|
|
|
|
public InnerGroupController(
|
|
IBAS_INNERGROUP innerUserGroup
|
|
, IBAS_INNERGROUP_Q innerUserGroupQ
|
|
, IBAS_SALESDEPARTMENT_Q innerSaleDepartMentQ
|
|
, IBAS_INNERDEPARTMENT_Q innerDepartMentQ
|
|
, ICACHE_Q cacheQ
|
|
)
|
|
{
|
|
this._innerGroup = innerUserGroup;
|
|
this._innerGroupQ = innerUserGroupQ;
|
|
this._innerSaleDepartMentQ = innerSaleDepartMentQ;
|
|
this._innerDepartMentQ = innerDepartMentQ;
|
|
this._cacheQ = cacheQ;
|
|
}
|
|
|
|
[AuthorizeRedirect(Roles = InitRights.CONST_销售组管理)]
|
|
public ActionResult Index()
|
|
{
|
|
var tool = new ToolBar();
|
|
string[] toolbtn = new ToolButtonView().ToolButtonRight(InitRights.销售组管理, userRightId);
|
|
tool.AllowButton(toolbtn);
|
|
//tool.AllowButton("Create", "Edit", "Details", "Delete");
|
|
ViewBag.ToolBar = tool;
|
|
|
|
var pager = new Pager() { page = 1, rows = 10 };
|
|
var tableId = "tablist";
|
|
var tab = new Table(tableId);
|
|
tab.AddHeadCol("GID", "10%", "组ID", true);
|
|
tab.AddHeadCol("GNAME", "10%", "组名", true);
|
|
//tab.AddHeadCol("DEPTID", "10%", "部门", true);
|
|
tab.AddHeadCol("DEPTNAME", "10%", "销售部", true);
|
|
tab.AddHeadCol("ISHIDE", "8%", "是否隐藏", true);
|
|
tab.AddHeadCol("CTIME", "10%", "创建时间", true);
|
|
tab.AddHeadCol("CREATEUSER", "", "创建人");
|
|
tab.AddHeadRow();
|
|
|
|
ViewBag.List = tab.GetTable() + Pagination.GetPage(pager, tableId, "10,20,30");
|
|
|
|
return View();
|
|
}
|
|
|
|
[HttpPost]
|
|
[AuthorizeRedirect(Roles = InitRights.CONST_销售组管理)]
|
|
public JsonResult GetHtmlList(Pager pager, string columns)
|
|
{
|
|
var saleDeptId = Request.Form["saleDeptId"];
|
|
var gName = Request.Form["gName"];
|
|
var ctime1 = Request.Form["ctime1"];
|
|
var ctime2 = Request.Form["ctime2"];
|
|
var isHide = Request.Form["isHide"].GetDecimal(-1);
|
|
var list = _innerGroupQ.GetList_InnerGroup(ref pager, saleDeptId, gName, ctime1, ctime2, isHide);
|
|
var table = new Table(columns, true);
|
|
var dept = DataCacheHelper.GetCache().GetDictionary_InnerDepartMent();
|
|
table.gridPager = pager;
|
|
foreach (var model in list)
|
|
{
|
|
table.AddCol(model.GID);
|
|
table.AddCol(model.GNAME);
|
|
//if (model.DEPTID != null && dept.ContainsKey(model.DEPTID.Value))
|
|
// table.AddCol(dept[model.DEPTID.Value]);
|
|
//else
|
|
// table.AddCol("");
|
|
table.AddCol(model.BAS_SALESDEPARTMENT.DEPTNAME);
|
|
table.AddCol(model.ISHIDE == 0 ? "否" : "是");
|
|
table.AddCol(model.CTIME.ToUnityString(1));
|
|
table.AddCol(model.CREATEUSER);
|
|
table.AddRow();
|
|
}
|
|
var json = new
|
|
{
|
|
totalPages = pager.totalPages,
|
|
totalRows = pager.totalRows,
|
|
rowsList = table.GetRows()
|
|
};
|
|
return Json(json, JsonRequestBehavior.AllowGet);
|
|
}
|
|
|
|
[HttpGet]
|
|
[AuthorizeToolBar(InitRights.CONST_销售组管理, InitToolBar.CONST_Edit)]
|
|
public ActionResult Edit(string id)
|
|
{
|
|
BAS_INNERGROUP model = null;
|
|
if (string.IsNullOrEmpty(id))
|
|
{
|
|
model = new BAS_INNERGROUP();
|
|
}
|
|
else
|
|
{
|
|
decimal gid;
|
|
decimal.TryParse(id, out gid);
|
|
|
|
model = _innerGroupQ.GetModel_InnerGroup(gid);
|
|
}
|
|
// ViewBag.TreeList = new JavaScriptSerializer().Serialize(DataCacheHelper.GetCache().GetTreeList_InnerGroup());
|
|
ViewBag.TreeList = new JavaScriptSerializer().Serialize(DataCacheHelper.GetCache().GetTreeList_saleDepartMent());
|
|
return View(model);
|
|
}
|
|
|
|
[HttpPost]
|
|
[AuthorizeToolBar(InitRights.CONST_销售组管理, InitToolBar.CONST_Edit)]
|
|
public ActionResult Edit(WX.CRM.Model.Entity.BAS_INNERGROUP model)
|
|
{
|
|
if (!ModelState.IsValid)
|
|
{
|
|
return JsonHandler.ValidateFailMessage();
|
|
}
|
|
if (model.GID == 0)
|
|
{
|
|
model.CREATEUSER = UserId;
|
|
bool result = _innerGroup.Create_InnerGroup(ref errors, model);
|
|
|
|
InnerUserHelper.Instance.ClearCache();
|
|
|
|
CacheHelper.Remove("cache_group_list");
|
|
return JsonHandler.InsertMessage(errors, result);
|
|
}
|
|
else
|
|
{
|
|
model.CREATEUSER = UserId;
|
|
bool result = _innerGroup.Update_InnerGroup(ref errors, model);
|
|
|
|
InnerUserHelper.Instance.ClearCache();
|
|
|
|
CacheHelper.Remove("cache_group_list");
|
|
return JsonHandler.UpdateMessage(errors, result);
|
|
}
|
|
}
|
|
|
|
[AuthorizeToolBar(InitRights.CONST_销售组管理, InitToolBar.CONST_Details)]
|
|
public ActionResult Details(string id)
|
|
{
|
|
BAS_INNERGROUP model = id != null ? _innerGroupQ.GetModel_InnerGroup(Convert.ToDecimal(id)) : new BAS_INNERGROUP();
|
|
return View(model);
|
|
}
|
|
|
|
public JsonResult Delete(string id)
|
|
{
|
|
if (string.IsNullOrWhiteSpace(id))
|
|
{
|
|
return JsonHandler.ManageMessage("删除失败", false);
|
|
}
|
|
bool result = _innerGroup.Delete_InnerGroup(ref errors, Convert.ToDecimal(id));
|
|
InnerUserHelper.Instance.ClearCache();
|
|
return JsonHandler.DeleteMessage(errors, result);
|
|
|
|
}
|
|
#region 销售组tree
|
|
public JsonResult GetTreeList(int type = 1, bool hasUser = false, string filterStr = "")
|
|
{
|
|
List<object> obj = DataCacheHelper.GetCache().GetTreeList_InnerGroup(hasUser, filterStr) as List<object>;
|
|
List<object> objjson = new List<object>();
|
|
if (type == 1)
|
|
{
|
|
objjson.Add(new { id = "0", text = "全部", iconCls = "icon-group" });
|
|
}
|
|
objjson.AddRange(obj);
|
|
|
|
if (type == 3)
|
|
{
|
|
objjson.Insert(0, new { id = "0", text = "全部", iconCls = "icon-group" });
|
|
}
|
|
return Json(objjson, JsonRequestBehavior.AllowGet);
|
|
}
|
|
public JsonResult GetTreeIsSaleList()
|
|
{
|
|
object obj = DataCacheHelper.GetCache().GetTreeListIsSale_InnerGroup();
|
|
return Json(obj, JsonRequestBehavior.AllowGet);
|
|
}
|
|
#endregion
|
|
}
|
|
}
|