188 lines
6.8 KiB
C#
188 lines
6.8 KiB
C#
using Ninject;
|
|
using System;
|
|
using System.Web.Mvc;
|
|
using WX.CRM.BLL.Base;
|
|
using WX.CRM.Common;
|
|
using WX.CRM.IBLL.Base;
|
|
using WX.CRM.Model.Entity;
|
|
using WX.CRM.WebHelper;
|
|
|
|
namespace WX.CRM.WEB.Controllers.Base
|
|
{
|
|
public class FeedbackController : BaseController
|
|
{
|
|
private ValidationErrors errors = new ValidationErrors();
|
|
|
|
|
|
[Inject]
|
|
public IBAS_NOTICE bas_Notice_BL { get; set; }
|
|
|
|
[Inject]
|
|
public IBAS_FEEDBACK bas_Feedback_BL { get; set; }
|
|
|
|
|
|
[AuthorizeRedirect(Roles = InitRights.CONST_意见反馈)]
|
|
public ActionResult Index()
|
|
{
|
|
ToolBar tool = new ToolBar();
|
|
string[] toolbtn = new ToolButtonView().ToolButtonRight(InitRights.意见反馈, userRightId);
|
|
tool.AddOtherButton("Other1", "回复", "icon-edit", "Reply_Click", true);
|
|
tool.AllowButton(toolbtn);
|
|
ViewBag.ToolBar = tool;
|
|
Pager pager = new Pager() { page = 1, rows = 20 };
|
|
var tableId = "tablist";
|
|
Table tab = new Table(tableId);
|
|
tab.AddHiddenHeadCol("PKID", "编号");
|
|
tab.AddHeadCol("CONTENT", "50%", "内容");
|
|
tab.AddHeadCol("REPLY", "", "回复");
|
|
tab.AddHeadCol("SHOWTYPE", "", "反馈方式");
|
|
tab.AddHeadCol("INNERUSERID", "", "创建人");
|
|
tab.AddHeadCol("CTIME", "", "创建时间");
|
|
tab.AddHeadRow();
|
|
ViewBag.gridTable = tab.GetHead() + Pagination.GetPage(pager, tableId, "10,20");
|
|
return View();
|
|
}
|
|
|
|
[HttpPost]
|
|
[AuthorizeRedirect(Roles = InitRights.CONST_意见反馈)]
|
|
public JsonResult GetHtmlList(Pager pager, decimal? eId, string content, string stime, string etime, string columns)
|
|
{
|
|
decimal? innerUserId = null;
|
|
var uid = InnerUserHelper.Instance.GetUserIdByEid(eId);
|
|
if (uid > 1)
|
|
{
|
|
innerUserId = uid;
|
|
}
|
|
|
|
|
|
var list = bas_Feedback_BL.GetList(ref pager, innerUserId, content, stime, etime);
|
|
Table table = new Table(columns, true);
|
|
foreach (var model in list)
|
|
{
|
|
table.AddHiddenCol(model.PKID);
|
|
table.AddCol("text-align:left", "", model.CONTENT);
|
|
table.AddCol("text-align:left", "", model.REPLY);
|
|
table.AddCol(model.SHOWTYPE.HasValue ? model.SHOWTYPE == 1 ? "实名" : "匿名" : "");
|
|
table.AddCol(InnerUserHelper.Instance.GetEidAndTrueName(model.INNERUSERID));
|
|
table.AddCol(model.CTIME);
|
|
table.AddRow();
|
|
}
|
|
var json = new
|
|
{
|
|
totalPages = pager.totalPages,
|
|
totalRows = pager.totalRows,
|
|
rowsList = table.GetRows()
|
|
};
|
|
return Json(json, JsonRequestBehavior.AllowGet);
|
|
}
|
|
|
|
|
|
[AuthorizeRedirect()]
|
|
public ActionResult Add()
|
|
{
|
|
BAS_FEEDBACK model = new BAS_FEEDBACK();
|
|
model.SHOWTYPE = 0;
|
|
return View(model);
|
|
}
|
|
|
|
|
|
|
|
[HttpPost]
|
|
[AuthorizeRedirect()]
|
|
public JsonResult Add(BAS_FEEDBACK model)
|
|
{
|
|
if (model == null)
|
|
{
|
|
errors.Add("参数不能为空!");
|
|
return JsonHandler.InsertMessage(errors, false);
|
|
}
|
|
if (string.IsNullOrWhiteSpace(model.CONTENT))
|
|
{
|
|
errors.Add("内容不能为空!");
|
|
return JsonHandler.InsertMessage(errors, false);
|
|
}
|
|
if (string.IsNullOrWhiteSpace(model.CONTENT))
|
|
{
|
|
errors.Add("内容不能为空!");
|
|
return JsonHandler.InsertMessage(errors, false);
|
|
}
|
|
model.PKID = new SEQUENCES_BL().Seq_base_get();
|
|
model.CTIME = DateTime.Now;
|
|
model.INNERUSERID = UserId;
|
|
var flag = bas_Feedback_BL.Add(model);
|
|
return JsonHandler.InsertMessage(errors, flag == 1);
|
|
}
|
|
|
|
[HttpGet]
|
|
[AuthorizeToolBar(InitRights.CONST_意见反馈, InitToolBar.CONST_Other1)]
|
|
public ActionResult Reply(decimal id)
|
|
{
|
|
BAS_FEEDBACK model = bas_Feedback_BL.Get(m => m.PKID == id);
|
|
return View(model);
|
|
}
|
|
|
|
[HttpPost]
|
|
[AuthorizeToolBar(InitRights.CONST_意见反馈, InitToolBar.CONST_Other1)]
|
|
public ActionResult Reply(BAS_FEEDBACK model)
|
|
{
|
|
if (model == null)
|
|
{
|
|
errors.Add("参数不能为空!");
|
|
return JsonHandler.InsertMessage(errors, false);
|
|
}
|
|
if (string.IsNullOrWhiteSpace(model.REPLY))
|
|
{
|
|
errors.Add("回复内容不能为空!");
|
|
return JsonHandler.InsertMessage(errors, false);
|
|
}
|
|
var feedBack = bas_Feedback_BL.Get(m => m.PKID == model.PKID);
|
|
feedBack.REPLY = model.REPLY;
|
|
feedBack.REPLYTIME = DateTime.Now;
|
|
feedBack.REPLYERID = UserId;
|
|
var flag = bas_Feedback_BL.Update(feedBack);
|
|
return JsonHandler.InsertMessage(errors, flag);
|
|
}
|
|
|
|
[AuthorizeRedirect(Roles = InitRights.CONST_我的意见反馈)]
|
|
public ActionResult MyList()
|
|
{
|
|
ToolBar tool = new ToolBar();
|
|
string[] toolbtn = new ToolButtonView().ToolButtonRight(InitRights.我的意见反馈, userRightId);
|
|
tool.AllowButton(toolbtn);
|
|
ViewBag.ToolBar = tool;
|
|
Pager pager = new Pager() { page = 1, rows = 20 };
|
|
var tableId = "tablist";
|
|
Table tab = new Table(tableId);
|
|
tab.AddHiddenHeadCol("PKID", "编号");
|
|
tab.AddHeadCol("CONTENT", "", "反馈内容");
|
|
tab.AddHeadCol("SHOWTYPE", "", "回复");
|
|
tab.AddHeadRow();
|
|
ViewBag.gridTable = tab.GetHead() + Pagination.GetPage(pager, tableId, "10,20");
|
|
return View();
|
|
}
|
|
|
|
[HttpPost]
|
|
[AuthorizeRedirect(Roles = InitRights.CONST_我的意见反馈)]
|
|
public JsonResult GetMyListHtmlList(Pager pager, string columns)
|
|
{
|
|
|
|
|
|
var list = bas_Feedback_BL.GetList(m => m.INNERUSERID == UserId, m => m.CTIME, pager);
|
|
Table table = new Table(columns, true);
|
|
foreach (var model in list)
|
|
{
|
|
table.AddHiddenCol(model.PKID);
|
|
table.AddCol("text-align:left", "", model.CONTENT);
|
|
table.AddCol("text-align:left", "", model.REPLY);
|
|
table.AddRow();
|
|
}
|
|
var json = new
|
|
{
|
|
totalPages = pager.totalPages,
|
|
totalRows = pager.totalRows,
|
|
rowsList = table.GetRows()
|
|
};
|
|
return Json(json, JsonRequestBehavior.AllowGet);
|
|
}
|
|
}
|
|
} |