Files
HTCloud/HT.Cloud.Web/Areas/SystemManage/Controllers/AreaController.cs
2023-03-03 16:07:50 +08:00

141 lines
3.6 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/*******************************************************************************
* Copyright © 2018 HT.Cloud 版权所有
* Author: HT.Cloud
* Description: HT.Cloud
* Website
*********************************************************************************/
using Microsoft.AspNetCore.Mvc;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using HT.Cloud.Code;
using HT.Cloud.Domain.SystemManage;
using HT.Cloud.Service.SystemManage;
namespace HT.Cloud.Web.Areas.SystemManage.Controllers
{
[Area("SystemManage")]
public class AreaController : BaseController
{
public AreaService _areaService { get; set; }
[HttpGet]
[HandlerAjaxOnly]
public async Task<ActionResult> GetTreeSelectJson()
{
var data = await _areaService.GetList();
//默认三级区域
data = data.Where(a => a.F_Layers < 3).ToList();
var treeList = new List<TreeSelectModel>();
foreach (AreaEntity item in data)
{
TreeSelectModel treeModel = new TreeSelectModel();
treeModel.id = item.F_Id;
treeModel.text = item.F_FullName;
treeModel.parentId = item.F_ParentId;
treeList.Add(treeModel);
}
return Content(treeList.TreeSelectJson());
}
[HttpGet]
[HandlerAjaxOnly]
public async Task<ActionResult> GetSelectJson(string keyValue)
{
var data = await _areaService.GetList();
data = data.Where(a => a.F_ParentId == keyValue).ToList();
return Content(data.ToJson());
}
[HttpGet]
[HandlerAjaxOnly]
public async Task<ActionResult> GetTreeGridJson(string keyword)
{
var data = await _areaService.GetLookList();
if (!string.IsNullOrEmpty(keyword))
{
data = data.TreeWhere(t => t.F_FullName.Contains(keyword));
}
return Success(data.Count, data);
}
[HttpGet]
[HandlerAjaxOnly]
public async Task<ActionResult> GetListJson(string keyValue, string keyword)
{
var data = await _areaService.GetLookList();
var result = new List<AreaEntity>();
if (string.IsNullOrEmpty(keyValue))
{
keyValue = "0";
}
if (!string.IsNullOrEmpty(keyword))
{
result = data.TreeWhere(t => t.F_FullName.Contains(keyword) || t.F_EnCode.Contains(keyword));
}
else
{
result = data;
}
result = result.Where(t => t.F_ParentId == keyValue).ToList();
if (result.Count == 0)
{
result = data.Where(t => t.F_ParentId == keyValue).ToList();
}
foreach (var item in result)
{
item.haveChild = data.Where(a => a.F_ParentId == item.F_Id).Any() ? true : false;
}
return Success(data.Count, result);
}
[HttpGet]
[HandlerAjaxOnly]
public async Task<ActionResult> GetFormJson(string keyValue)
{
var data = await _areaService.GetLookForm(keyValue);
return Content(data.ToJson());
}
[HttpPost]
[HandlerAjaxOnly]
public async Task<ActionResult> SubmitForm(AreaEntity areaEntity, string keyValue)
{
if (areaEntity.F_ParentId == "0")
{
areaEntity.F_Layers = 1;
}
else
{
areaEntity.F_Layers = (await _areaService.GetForm(areaEntity.F_ParentId)).F_Layers + 1;
}
try
{
await _areaService.SubmitForm(areaEntity, keyValue);
return await Success("操作成功。", "", keyValue);
}
catch (Exception ex)
{
return await Error(ex.Message, "", keyValue);
}
}
[HttpPost]
[HandlerAjaxOnly]
[HandlerAuthorize("SystemManage:Area:Delete")]
public async Task<ActionResult> DeleteForm(string keyValue)
{
try
{
await _areaService.DeleteForm(keyValue);
return await Success("操作成功。", "", keyValue, DbLogType.Delete);
}
catch (Exception ex)
{
return await Error(ex.Message, "", keyValue, DbLogType.Delete);
}
}
}
}