using Estsh.Core.Controllers;
using Estsh.Core.Model.Result;
using Estsh.Core.Models;
using Estsh.Core.Services.IServices;
using Estsh.Core.Util;
using Microsoft.AspNetCore.Mvc;
using System.Collections;
/***************************************************************************************************
*
* 更新人:sitong.dong
* 描述:页面功能管理
* 修改时间:2022.06.22
* 修改日志:系统迭代升级
*
**************************************************************************************************/
namespace Estsh.Core.Web.Controllers
{
public class PageFunctionManageController : BaseController
{
private IPageFunctionService service;
public PageFunctionManageController(IPageFunctionService _service)
{
service = _service;
}
//
// GET: /PageFunctionManage/
public ActionResult Index()
{
return View();
}
///
/// 页面功能管理
///
///
///
///
///
public ActionResult getListByPage(Pager pager, string menuName, String enabled = "Y")
{
Hashtable result = new Hashtable();
List dt = service.getListByPage(ref pager, menuName, enabled);
if (dt != null)
{
result.Add("rows", dt);
result.Add("pager.totalRows", pager.totalRows);
}
return Json(result);
}
public ActionResult GetWebMenuList(string q)
{
Hashtable result = new Hashtable();
List dt = service.GetWebMenuList(q);
if (dt != null)
{
result.Add("list", dt);
}
return Json(result);
}
public ActionResult GetOpType()
{
Hashtable result = new Hashtable();
List dt = service.GetOpType();
if (dt != null)
{
result.Add("list", dt);
}
return Json(result);
}
public ActionResult SaveOp(string ruid, string program, string funName, string gridName,
string opName, string opClass, string opMethod, string opParams, string opType, string sortNum,
string enabled, string editType)
{
bool result = false;
Hashtable ht = new Hashtable();
string msg = string.Empty;
SysProgramFunOp sysProgram = new SysProgramFunOp();
sysProgram.Program = program;
sysProgram.FunName = funName;
sysProgram.GridName = gridName;
sysProgram.OpName = opName;
sysProgram.OpClass = opClass;
sysProgram.OpMethod = opMethod;
sysProgram.OpParams = opParams;
sysProgram.OpType = opType;
sysProgram.SortNum = Convert.ToInt32(sortNum);
sysProgram.Enabled = enabled;
if (editType == "Edit")
{
string where = string.Format(" WHERE ruid = {0}", ruid);
sysProgram.UpdateUserId = CurrentEmp.EmpId;
result = service.SaveOp(where, sysProgram);
if (result == false)
{
msg = "数据修改失败……";
}
else
{
msg = "数据修改成功!";
}
}
else
{
result = service.ExitOp(program, funName, gridName, opName);
if (result == false)
{
sysProgram.CreateUserId = CurrentEmp.EmpId;
result = service.AddOp(sysProgram);
if (result == false)
{
msg = "数据添加失败……";
}
else
{
msg = "数据添加成功!";
}
}
else
{
result = false;
msg = "已存在该数据!不可重复出现……";
}
}
ht.Add("result", result);
ht.Add("msg", msg);
return Json(ht);
}
public ActionResult EditPageFunction(string ruid)
{
Hashtable result = new Hashtable();
if (string.IsNullOrEmpty(ruid) == false)
{
List dt = service.GetFunctionByRuid(ruid);
if (dt != null && dt.Count == 1)
{
SysProgramFunOp dr = dt[0];
ViewData.Add("editType", "Edit");
ViewData.Add("program", dr.Program);
ViewData.Add("funName", dr.FunName);
ViewData.Add("gridName", dr.GridName);
ViewData.Add("opName", dr.OpName);
ViewData.Add("opClass", dr.OpClass);
ViewData.Add("opMethod", dr.OpMethod);
ViewData.Add("opParams", dr.OpParams);
ViewData.Add("opType", dr.OpType);
ViewData.Add("sortNum", dr.SortNum);
ViewData.Add("enabled", dr.Enabled);
ViewData.Add("ruid", dr.Ruid);
}
}
else
{
ViewData.Add("editType", "New");
}
return View("EditPageFunction");
}
public bool DeleteByRuid(string ruidStr)
{
if (ruidStr.EndsWith(","))
{
ruidStr = ruidStr.Substring(0, ruidStr.Length - 1);
}
return service.DeleteByRuid(ruidStr);
}
///
/// 启用
///
///
///
public ActionResult onEnable(String ids)
{
int delCount = 0;
try
{
delCount = this.service.EnableData(ids);
}
catch (Exception e)
{
delCount = -1;
}
Hashtable result = new Hashtable();
result.Add("status", delCount);
return Json(result);
}
///
/// 禁用
///
///
///
public ActionResult onDisable(String ids)
{
int delCount = 0;
try
{
delCount = this.service.DisableData(ids);
}
catch (Exception e)
{
delCount = -1;
}
Hashtable result = new Hashtable();
result.Add("status", delCount);
return Json(result);
}
}
}