diff --git a/sys/Hh.Mes.POJO/WebEntity/base/base_sim.cs b/sys/Hh.Mes.POJO/WebEntity/base/base_sim.cs new file mode 100644 index 0000000..45283e3 --- /dev/null +++ b/sys/Hh.Mes.POJO/WebEntity/base/base_sim.cs @@ -0,0 +1,70 @@ +using System; +using SqlSugar; + +namespace Hh.Mes.POJO.Entity +{ + [SugarTable("base_sim")] + public partial class base_sim + { + /// <summary> + /// 主键 + /// </summary> + [SugarColumn(IsPrimaryKey = true, IsIdentity = true)] + public int id { get; set; } + + /// <summary> + /// 卡号 + /// </summary> + [SugarColumn(Length = 50, ColumnDescription = "卡号", IsNullable = true)] + public string simNumber { get; set; } + + /// <summary> + /// ip + /// </summary> + [SugarColumn(Length = 50, ColumnDescription = "ip", IsNullable = true)] + public string ip { get; set; } + + /// <summary> + /// 供应商默认值长沙华恒机器人 + /// </summary> + [SugarColumn(Length = 50, ColumnDescription = "供应商默认值长沙华恒机器人", IsNullable = true)] + public string suppliersInfo { get; set; } + + /// <summary> + /// 出厂日期 + /// </summary> + [SugarColumn(ColumnDescription = "出厂日期", IsNullable = true)] + public DateTime factoryDate { get; set; } + + [SugarColumn(Length = 500, IsNullable = true)] + public string remarks { get; set; } + + /// <summary> + /// 0删除 1启用 + /// </summary> + [SugarColumn(ColumnDescription = "0删除 1启用", IsNullable = true)] + public int isDelete { get; set; } + + [SugarColumn(IsNullable = true)] + public DateTime createTime { get; set; } + + /// <summary> + /// createBy + /// </summary> + [SugarColumn(Length = 100, ColumnDescription = "createBy", IsNullable = true)] + public string createBy { get; set; } + + /// <summary> + /// updateTime + /// </summary> + [SugarColumn(ColumnDescription = "updateTime", IsNullable = true)] + public DateTime updateTime { get; set; } + + /// <summary> + /// updateBy + /// </summary> + [SugarColumn(Length = 100, ColumnDescription = "updateBy", IsNullable = true)] + public string updateBy { get; set; } + + } +} \ No newline at end of file diff --git a/sys/Hh.Mes.POJO/WebEntity/base/base_sim_equipment_rel.cs b/sys/Hh.Mes.POJO/WebEntity/base/base_sim_equipment_rel.cs new file mode 100644 index 0000000..3e316f2 --- /dev/null +++ b/sys/Hh.Mes.POJO/WebEntity/base/base_sim_equipment_rel.cs @@ -0,0 +1,34 @@ +using System; +using SqlSugar; + +namespace Hh.Mes.POJO.Entity +{ + [SugarTable("base_sim_equipment_rel")] + public partial class base_sim_equipment_rel + { + /// <summary> + /// 主键 + /// </summary> + [SugarColumn(IsPrimaryKey = true, IsIdentity = true)] + public int id { get; set; } + + /// <summary> + /// sim卡号 + /// </summary> + [SugarColumn(Length = 50, ColumnDescription = "sim卡号", IsNullable = true)] + public string simNumber { get; set; } + + /// <summary> + /// 项目keys + /// </summary> + [SugarColumn(ColumnDescription = "项目keys", IsNullable = true)] + public Guid projectKey { get; set; } + + /// <summary> + /// 设备编码 + /// </summary> + [SugarColumn(Length = 50, ColumnDescription = "设备编码", IsNullable = true)] + public string equipmentCode { get; set; } + + } +} \ No newline at end of file diff --git a/sys/Hh.Mes.POJO/WebEntity/equipment/base_equipment.cs b/sys/Hh.Mes.POJO/WebEntity/equipment/base_equipment.cs index 5980167..a7cf085 100644 --- a/sys/Hh.Mes.POJO/WebEntity/equipment/base_equipment.cs +++ b/sys/Hh.Mes.POJO/WebEntity/equipment/base_equipment.cs @@ -30,12 +30,12 @@ namespace Hh.Mes.POJO.Entity [SugarColumn(Length = 100, ColumnDescription = "设备名称", IsNullable = true)] public string equipmentName { get; set; } - [SugarColumn(Length = 20, IsNullable = true)] + /// <summary> + /// 设备类型编码 + /// </summary> + [SugarColumn(Length = 20, ColumnDescription = "设备类型编码", IsNullable = true)] public string equipmentTypeCode { get; set; } - [SugarColumn(Length = 20, IsNullable = true)] - public string equipmentTypeName { get; set; } - /// <summary> /// 维护规则Id /// </summary> @@ -95,5 +95,8 @@ namespace Hh.Mes.POJO.Entity /// </summary> [SugarColumn(Length = 100, ColumnDescription = "updateBy", IsNullable = true)] public string updateBy { get; set; } + + [SugarColumn(ColumnDescription = "出厂时间", IsNullable = true)] + public DateTime startTime { get; set; } } } \ No newline at end of file diff --git a/sys/Hh.Mes.Service/ApiService/UpstreamDown/UpstreamSendEquipment.cs b/sys/Hh.Mes.Service/ApiService/UpstreamDown/UpstreamSendEquipment.cs index 13e8077..cca7830 100644 --- a/sys/Hh.Mes.Service/ApiService/UpstreamDown/UpstreamSendEquipment.cs +++ b/sys/Hh.Mes.Service/ApiService/UpstreamDown/UpstreamSendEquipment.cs @@ -34,7 +34,6 @@ namespace Hh.Mes.Service.ApiService equipmentCode = entity.equipment_code, equipmentName = entity.equipment_name, equipmentTypeCode = entity.equipmentType_code, - equipmentTypeName = entity.equipmentType_Name, ip = entity.ip, destinationArea = entity.destination_area, remark = entity.remark, diff --git a/sys/Hh.Mes.Service/WebService/Base/BaseSimEquipmentRelService.cs b/sys/Hh.Mes.Service/WebService/Base/BaseSimEquipmentRelService.cs new file mode 100644 index 0000000..a96b329 --- /dev/null +++ b/sys/Hh.Mes.Service/WebService/Base/BaseSimEquipmentRelService.cs @@ -0,0 +1,106 @@ +using Hh.Mes.Common.Infrastructure; +using Hh.Mes.Common.log; +using Hh.Mes.Common.Request; +using Hh.Mes.POJO.Entity; +using Hh.Mes.POJO.Response; +using Hh.Mes.Service.Repository; +using SqlSugar; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Linq.Expressions; +using Hh.Mes.Pojo.System; + +namespace Hh.Mes.Service.Base +{ + public class BaseSimEquipmentRelService : RepositorySqlSugar<base_sim_equipment_rel> + { + public dynamic Load(PageReq pageReq, base_sim_equipment_rel entity) + { + return ExceptionsHelp.Instance.ExecuteT(() => + { + var result = new Response<List<base_sim_equipment_rel>>(); + var expression = LinqWhere(entity); + //先组合查询表达式 + var query = Context.Queryable<base_sim_equipment_rel>().Where(expression); + //Exel为ture就不分页,因为导出的话是全部导出 + if (pageReq != null) + { + int total = 0; + result.Result = query.ToOffsetPage(pageReq.page, pageReq.limit, ref total); + result.Count = total; + } + else + { + result.Result = query.ToList(); + result.Count = result.Result.Count(); + } + return result; + }, catchRetrunValue: "list"); + } + + public dynamic Ins(base_sim_equipment_rel entity) + { + return ExceptionsHelp.Instance.ExecuteT(() => + { + var response = new Response(); + //entity.createBy = sysWebUser?.Account; + //entity.createTime = DateTime.Now; + response.Status = Add(entity); + if (!response.Status)response.Message = SystemVariable.dataActionError; + return response; + }); + } + + public dynamic Upd(base_sim_equipment_rel entity) + { + return ExceptionsHelp.Instance.ExecuteT(() => + { + var response = new Response(); + //entity.updateBy = sysWebUser?.Account; + //entity.updateTime = DateTime.Now; + response.Status = Update(entity); + if (!response.Status) response.Message = SystemVariable.dataActionError; + return response; + }); + } + + public dynamic DelByIds(int[] ids) + { + return ExceptionsHelp.Instance.ExecuteT(() => + { + var response = new Response(); + Context.Deleteable<base_sim_equipment_rel>(t => ids.Contains(t.id)).ExecuteCommand(); + return response; + }); + } + + public Response ExportData(base_sim_equipment_rel entity) + { + return Load(null, entity); + } + + public Expression<Func<base_sim_equipment_rel, bool>> LinqWhere(base_sim_equipment_rel model) + { + try + { + var exp = Expressionable.Create<base_sim_equipment_rel>(); + //数据过滤条件 + //if (!string.IsNullOrWhiteSpace(model.XXX)) exp.And(x => x.XXX.Contains(model.XXX)); + if (!string.IsNullOrWhiteSpace(model.simNumber)) + { + exp.And(x => x.simNumber.Contains(model.simNumber)); + } + if (!string.IsNullOrWhiteSpace(model.equipmentCode)) + { + exp.And(x => x.equipmentCode.Contains(model.equipmentCode)); + } + return exp.ToExpression();//拼接表达式 + } + catch (Exception ex) + { + throw new Exception($"{ex.Message}"); + } + } + } +} \ No newline at end of file diff --git a/sys/Hh.Mes.Service/WebService/Base/BaseSimService.cs b/sys/Hh.Mes.Service/WebService/Base/BaseSimService.cs new file mode 100644 index 0000000..a15c0a6 --- /dev/null +++ b/sys/Hh.Mes.Service/WebService/Base/BaseSimService.cs @@ -0,0 +1,134 @@ +using Hh.Mes.Common.Infrastructure; +using Hh.Mes.Common.log; +using Hh.Mes.Common.Request; +using Hh.Mes.POJO.Entity; +using Hh.Mes.POJO.Response; +using Hh.Mes.Service.Repository; +using SqlSugar; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Linq.Expressions; +using Hh.Mes.Pojo.System; + +namespace Hh.Mes.Service.Base +{ + public class BaseSimService : RepositorySqlSugar<base_sim> + { + public dynamic Load(PageReq pageReq, base_sim entity) + { + return ExceptionsHelp.Instance.ExecuteT(() => + { + var result = new Response<List<base_sim>>(); + var expression = LinqWhere(entity); + //先组合查询表达式 + var query = Context.Queryable<base_sim>().Where(expression); + //Exel为ture就不分页,因为导出的话是全部导出 + if (pageReq != null) + { + int total = 0; + result.Result = query.ToOffsetPage(pageReq.page, pageReq.limit, ref total); + result.Count = total; + } + else + { + result.Result = query.ToList(); + result.Count = result.Result.Count(); + } + return result; + }, catchRetrunValue: "list"); + } + + public dynamic Ins(base_sim entity) + { + return ExceptionsHelp.Instance.ExecuteT(() => + { + var response = new Response(); + //entity.createBy = sysWebUser?.Account; + //entity.createTime = DateTime.Now; + response.Status = Add(entity); + if (!response.Status) response.Message = SystemVariable.dataActionError; + return response; + }); + } + + public dynamic Upd(base_sim entity) + { + return ExceptionsHelp.Instance.ExecuteT(() => + { + var response = new Response(); + //entity.updateBy = sysWebUser?.Account; + //entity.updateTime = DateTime.Now; + response.Status = Update(entity); + if (!response.Status) response.Message = SystemVariable.dataActionError; + return response; + }); + } + + public dynamic DelByIds(int[] ids) + { + return ExceptionsHelp.Instance.ExecuteT(() => + { + var response = new Response(); + Context.Deleteable<base_sim>(t => ids.Contains(t.id)).ExecuteCommand(); + return response; + }); + } + + public Response ExportData(base_sim entity) + { + return Load(null, entity); + } + + public Expression<Func<base_sim, bool>> LinqWhere(base_sim model) + { + try + { + var exp = Expressionable.Create<base_sim>(); + //数据过滤条件 + //if (!string.IsNullOrWhiteSpace(model.XXX)) exp.And(x => x.XXX.Contains(model.XXX)); + if (!string.IsNullOrWhiteSpace(model.simNumber)) + { + exp.And(x => x.simNumber.Contains(model.simNumber)); + } + if (!string.IsNullOrWhiteSpace(model.ip)) + { + exp.And(x => x.ip.Contains(model.ip)); + } + if (!string.IsNullOrWhiteSpace(model.suppliersInfo)) + { + exp.And(x => x.suppliersInfo.Contains(model.suppliersInfo)); + } + return exp.ToExpression();//拼接表达式 + } + catch (Exception ex) + { + throw new Exception($"{ex.Message}"); + } + } + + public dynamic BindEquipment(string simNumber, bool checkeds, string equipmentCode, string factoryCode) + { + return ExceptionsHelp.Instance.ExecuteT(() => + { + var response = new Response(); + var projectKey = Context.Queryable<base_factory>().Where(x => x.factoryCode == factoryCode).Select(x => new { projectKey = x.projectKeys }).ToList(); + if (checkeds) + { + //添加 + var simBindCount = Context.Queryable<base_sim_equipment_rel>().Where(x => x.simNumber == simNumber).ToList().Count; + if (simBindCount > 250) + { + response.Message = "一张SIM卡只允许绑定250个设备,请选择其它SIM卡绑定"; + } + // base_sim_equipment_rel baseSimEquipmentRel = new base_sim_equipment_rel() {simNumber=simNumber,projectKey=projectKey, }; + } + else + { + + } + return response; + }); + } + } +} \ No newline at end of file diff --git a/sys/Hh.Mes.Service/WebService/Equipment/BaseEquipmentService.cs b/sys/Hh.Mes.Service/WebService/Equipment/BaseEquipmentService.cs index dee8483..1a35a1c 100644 --- a/sys/Hh.Mes.Service/WebService/Equipment/BaseEquipmentService.cs +++ b/sys/Hh.Mes.Service/WebService/Equipment/BaseEquipmentService.cs @@ -57,8 +57,8 @@ namespace Hh.Mes.Service.Equipment return ExceptionsHelp.Instance.ExecuteT(() => { var response = new Response(); - //entity.createBy = sysWebUser?.Account; - //entity.createTime = DateTime.Now; + entity.createBy = sysWebUser?.Account; + entity.createTime = DateTime.Now; response.Status = Add(entity); if (!response.Status) response.Message = SystemVariable.dataActionError; return response; @@ -70,8 +70,8 @@ namespace Hh.Mes.Service.Equipment return ExceptionsHelp.Instance.ExecuteT(() => { var response = new Response(); - //entity.updateBy = sysWebUser?.Account; - //entity.updateTime = DateTime.Now; + entity.updateBy = sysWebUser?.Account; + entity.updateTime = DateTime.Now; response.Status = Update(entity); if (!response.Status) response.Message = SystemVariable.dataActionError; return response; diff --git a/sys/Hh.Mes.Service/WebService/Equipment/BaseEquipmentTypeService.cs b/sys/Hh.Mes.Service/WebService/Equipment/BaseEquipmentTypeService.cs new file mode 100644 index 0000000..d08dc84 --- /dev/null +++ b/sys/Hh.Mes.Service/WebService/Equipment/BaseEquipmentTypeService.cs @@ -0,0 +1,110 @@ +using Hh.Mes.Common.Infrastructure; +using Hh.Mes.Common.log; +using Hh.Mes.Common.Request; +using Hh.Mes.POJO.Entity; +using Hh.Mes.POJO.Response; +using Hh.Mes.Service.Repository; +using SqlSugar; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Linq.Expressions; +using Hh.Mes.Pojo.System; + +namespace Hh.Mes.Service.Equipment +{ + public class BaseEquipmentTypeService : RepositorySqlSugar<base_equipment_type> + { + public dynamic Load(PageReq pageReq, base_equipment_type entity) + { + return ExceptionsHelp.Instance.ExecuteT(() => + { + var result = new Response<List<base_equipment_type>>(); + var expression = LinqWhere(entity); + //先组合查询表达式 + var query = Context.Queryable<base_equipment_type>().Where(expression); + //Exel为ture就不分页,因为导出的话是全部导出 + if (pageReq != null) + { + int total = 0; + result.Result = query.ToOffsetPage(pageReq.page, pageReq.limit, ref total); + result.Count = total; + } + else + { + result.Result = query.ToList(); + result.Count = result.Result.Count(); + } + return result; + }, catchRetrunValue: "list"); + } + + public dynamic Ins(base_equipment_type entity) + { + return ExceptionsHelp.Instance.ExecuteT(() => + { + var response = new Response(); + entity.createBy = sysWebUser?.Account; + entity.createTime = DateTime.Now; + response.Status = Add(entity); + if (!response.Status)response.Message = SystemVariable.dataActionError; + return response; + }); + } + + public dynamic Upd(base_equipment_type entity) + { + return ExceptionsHelp.Instance.ExecuteT(() => + { + var response = new Response(); + entity.updateBy = sysWebUser?.Account; + entity.updateTime = DateTime.Now; + response.Status = Update(entity); + if (!response.Status) response.Message = SystemVariable.dataActionError; + return response; + }); + } + + public dynamic DelByIds(int[] ids) + { + return ExceptionsHelp.Instance.ExecuteT(() => + { + var response = new Response(); + Context.Deleteable<base_equipment_type>(t => ids.Contains(t.id)).ExecuteCommand(); + return response; + }); + } + + public Response ExportData(base_equipment_type entity) + { + return Load(null, entity); + } + + public Expression<Func<base_equipment_type, bool>> LinqWhere(base_equipment_type model) + { + try + { + var exp = Expressionable.Create<base_equipment_type>(); + //数据过滤条件 + //if (!string.IsNullOrWhiteSpace(model.XXX)) exp.And(x => x.XXX.Contains(model.XXX)); + if (!string.IsNullOrWhiteSpace(model.code)) + { + exp.And(x => x.code.Contains(model.code)); + } + if (!string.IsNullOrWhiteSpace(model.name)) + { + exp.And(x => x.name.Contains(model.name)); + } + if (!string.IsNullOrWhiteSpace(model.description)) + { + exp.And(x => x.description.Contains(model.description)); + } + return exp.ToExpression();//拼接表达式 + } + catch (Exception ex) + { + throw new Exception($"{ex.Message}"); + } + } + } +} \ No newline at end of file diff --git a/web/WebMvc/Areas/base/Controllers/BaseSimController.cs b/web/WebMvc/Areas/base/Controllers/BaseSimController.cs new file mode 100644 index 0000000..a4279a3 --- /dev/null +++ b/web/WebMvc/Areas/base/Controllers/BaseSimController.cs @@ -0,0 +1,108 @@ +using Hh.Mes.Common.Request; +using Hh.Mes.POJO.Entity; +using Hh.Mes.Service; +using Hh.Mes.Service.Base; +using Microsoft.AspNetCore.Hosting; +using Microsoft.AspNetCore.Mvc; +using Hh.Mes.Service.SystemAuth; +using WebMvc.Aop; + +namespace WebMvc.Areas.Base.Controllers +{ + [Area("Base")] + public class BaseSimController : BaseController + { + private readonly BaseSimService _service; + protected readonly IHostingEnvironment hostingEnvironment; + + public BaseSimController(IAuth authUtil, BaseSimService service) : base(authUtil) + { + _service = service; + _service.sysWebUser = authUtil.GetCurrentUser().User; + } + + #region 视图功能 + /// <summary> + /// 默认视图Action + /// </summary> + /// <returns></returns> + [Authenticate] + [ServiceFilter(typeof(OperLogFilter))] + public ActionResult Index() + { + return View(); + } + #endregion + + #region 数据操作 + + /// <summary> + /// 加载及分页查询 + /// </summary> + /// <param name="pageRequest">表单请求信息</param> + /// <param name="entity">请求条件实例</param> + /// <returns></returns> + [HttpPost] + public string Load(PageReq pageRequest, base_sim entity) + { + return Serialize(_service.Load(pageRequest, entity)); + } + + /// <summary> + /// 新增数据 + /// </summary> + /// <param name="entity">新增实例</param> + /// <returns></returns> + [HttpPost] + [ServiceFilter(typeof(OperLogFilter))] + public string Ins(base_sim entity) + { + return Serialize(_service.Ins(entity)); + } + + /// <summary> + /// 修改数据 + /// </summary> + /// <param name="entity">修改实例</param> + /// <returns></returns> + [HttpPost] + [ServiceFilter(typeof(OperLogFilter))] + public string Upd(base_sim entity) + { + return Serialize(_service.Upd(entity)); + } + + /// <summary> + /// 删除数据 + /// </summary> + /// <param name="ids"></param> + /// <returns></returns> + [HttpPost] + [ServiceFilter(typeof(OperLogFilter))] + public string DelByIds(int[] ids) + { + return Serialize(_service.DelByIds(ids)); + } + #endregion + + #region 导出数据 + /// <summary> + /// 导出数据 + /// </summary> + /// <param name="entity">请求条件实例</param> + /// <returns></returns> + [HttpPost] + public string Export(base_sim entity) + { + return Serialize(_service.ExportData(entity)); + } + #endregion + + #region 自定义方法 + public string BindEquipment(string simNumber,bool checkeds,string equipmentCode,string factoryCode) + { + return Serialize(_service.BindEquipment(simNumber,checkeds,equipmentCode,factoryCode)); + } + #endregion + } +} \ No newline at end of file diff --git a/web/WebMvc/Areas/base/Controllers/BaseSimEquipmentRelController.cs b/web/WebMvc/Areas/base/Controllers/BaseSimEquipmentRelController.cs new file mode 100644 index 0000000..0633431 --- /dev/null +++ b/web/WebMvc/Areas/base/Controllers/BaseSimEquipmentRelController.cs @@ -0,0 +1,105 @@ +using Hh.Mes.Common.Request; +using Hh.Mes.POJO.Entity; +using Hh.Mes.Service; +using Hh.Mes.Service.Base; +using Microsoft.AspNetCore.Hosting; +using Microsoft.AspNetCore.Mvc; +using Hh.Mes.Service.SystemAuth; +using WebMvc.Aop; + +namespace WebMvc.Areas.Base.Controllers +{ + [Area("Base")] + public class BaseSimEquipmentRelController : BaseController + { + private readonly BaseSimEquipmentRelService _service; + protected readonly IHostingEnvironment hostingEnvironment; + + public BaseSimEquipmentRelController(IAuth authUtil, BaseSimEquipmentRelService service) : base(authUtil) + { + _service = service; + _service.sysWebUser = authUtil.GetCurrentUser().User; + } + + #region 视图功能 + /// <summary> + /// 默认视图Action + /// </summary> + /// <returns></returns> + [Authenticate] + [ServiceFilter(typeof(OperLogFilter))] + public ActionResult Index() + { + return View(); + } + #endregion + + #region 数据操作 + + /// <summary> + /// 加载及分页查询 + /// </summary> + /// <param name="pageRequest">表单请求信息</param> + /// <param name="entity">请求条件实例</param> + /// <returns></returns> + [HttpPost] + public string Load(PageReq pageRequest, base_sim_equipment_rel entity) + { + return Serialize(_service.Load(pageRequest, entity)); + } + + /// <summary> + /// 新增数据 + /// </summary> + /// <param name="entity">新增实例</param> + /// <returns></returns> + [HttpPost] + [ServiceFilter(typeof(OperLogFilter))] + public string Ins(base_sim_equipment_rel entity) + { + return Serialize(_service.Ins(entity)); + } + + /// <summary> + /// 修改数据 + /// </summary> + /// <param name="entity">修改实例</param> + /// <returns></returns> + [HttpPost] + [ServiceFilter(typeof(OperLogFilter))] + public string Upd(base_sim_equipment_rel entity) + { + return Serialize(_service.Upd(entity)); + } + + /// <summary> + /// 删除数据 + /// </summary> + /// <param name="ids"></param> + /// <returns></returns> + [HttpPost] + [ServiceFilter(typeof(OperLogFilter))] + public string DelByIds(int[] ids) + { + return Serialize(_service.DelByIds(ids)); + } + #endregion + + #region 导出数据 + /// <summary> + /// 导出数据 + /// </summary> + /// <param name="entity">请求条件实例</param> + /// <returns></returns> + [HttpPost] + public string Export(base_sim_equipment_rel entity) + { + return Serialize(_service.ExportData(entity)); + } + #endregion + + #region 自定义方法 + + #endregion + } +} \ No newline at end of file diff --git a/web/WebMvc/Areas/base/Views/BaseSim/Index.cshtml b/web/WebMvc/Areas/base/Views/BaseSim/Index.cshtml new file mode 100644 index 0000000..8c77bbf --- /dev/null +++ b/web/WebMvc/Areas/base/Views/BaseSim/Index.cshtml @@ -0,0 +1,119 @@ +@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers +@{ + ViewData["title"] = "sim管理"; + Layout = "~/Views/Shared/_Layout.cshtml"; +} +@section header +{ +} + +<div id="listForm" class="layui-tab-item layui-show"> + <form class="layui-form layui-form-pane" action="" lay-filter="listForm"> + <div class="layui-form-item" id="panelSearch" hidden> + <fieldset class="layui-elem-field"> + + <div class="layui-field-box" id="qform"> + <div class="layui-form-item layui-col-sm12"> + <div class="layui-inline toolList"> + <a href="javascript:;" class="layui-btn layui-btn-sm layui-btn-radius" data-type="btnQuery"><i class="layui-icon"></i>查询</a> + <a href="javascript:;" class="layui-btn layui-btn-sm layui-btn-radius layui-btn-warm" data-type="btnReset"><i class="layui-icon"></i>重置</a> + <a href="javascript:;" class="layui-btn layui-btn-sm layui-btn-radius layui-btn-danger" data-type="btnClose"><i class="layui-icon"></i>关闭</a> + </div> + </div> + <div class="layui-row"> + <div class="layui-col-sm3"> + <label class="layui-form-label">SIM卡号</label> + <div class="layui-input-inline"> + <input name="simNumber" type="text" autocomplete="off" maxlength="35" class="layui-input"> + </div> + </div> + <div class="layui-col-sm3"> + <label class="layui-form-label">IP地址</label> + <div class="layui-input-inline"> + <input name="ip" type="text" autocomplete="off" maxlength="35" class="layui-input"> + </div> + </div> + <div class="layui-col-sm3"> + <label class="layui-form-label">供应商</label> + <div class="layui-input-inline"> + <input name="suppliersInfo" type="text" autocomplete="off" maxlength="35" class="layui-input"> + </div> + </div> + + </div> + </div> + </fieldset> + </div> + </form> + <table id="mainList" lay-filter="mainList"></table> +</div> + +<div id="modifyForm" class="layui-tab-item"> + <form class="layui-form layui-form-pane" action="" lay-filter="modifyForm" onsubmit="return false;"> + <div class="layui-row"> + <div class="layui-col-sm6"> + <label class="layui-form-label layui-col-sm3">卡号<span class="lable-required">*</span></label> + <div class="layui-input-inline layui-col-sm6"> + <input type="text" name="simNumber" lay-verify="required" autocomplete="off" maxlength="35" class="layui-input"> + </div> + </div> + <div class="layui-col-sm6"> + <label class="layui-form-label layui-col-sm3">ip<span class="lable-required">*</span></label> + <div class="layui-input-inline layui-col-sm6"> + <input type="text" name="ip" lay-verify="required" autocomplete="off" maxlength="35" class="layui-input"> + </div> + </div> + <div class="layui-col-sm6"> + <label class="layui-form-label layui-col-sm3">供应商<span class="lable-required">*</span></label> + <div class="layui-input-inline layui-col-sm6"> + <input type="text" name="suppliersInfo" value="长沙华恒机器人有限公司" lay-verify="required" autocomplete="off" maxlength="35" class="layui-input"> + </div> + </div> + <div class="layui-col-sm6"> + <label class="layui-form-label layui-col-sm3">出厂日期<span class="lable-required">*</span></label> + <div class="layui-input-inline layui-col-sm6"> + <input name="factoryDate" type="text" lay-verify="required" autocomplete="off" class="layui-input layui-date"> + </div> + </div> + <div class="layui-col-sm6"> + <label class="layui-form-label layui-col-sm3">备注</label> + <div class="layui-input-inline layui-col-sm6"> + <input type="text" name="remarks" autocomplete="off" maxlength="350" class="layui-input"> + </div> + </div> + <div class="layui-col-sm6"> + <label class="layui-form-label layui-col-sm3">状态<span class="lable-required">*</span></label> + <div class="layui-input-inline layui-col-sm6"> + <input name="isDelete" type="checkbox" lay-verify="required" lay-skin="switch" lay-text="启用|删除" checked="checked" value="1"> + </div> + </div> + + <div class="layui-form-item"> + <!--表单验证按钮--> + <button class="layui-btn" style="display:none" name="fromAdd" lay-filter="fromAdd" lay-submit>fromAdd</button> + <button class="layui-btn" style="display:none" name="fromUpdate" lay-filter="fromUpdate" lay-submit>fromUpdate</button> + </div> + </div> + <div hidden> + <input name="id" type="text" class="layui-input"> + + <input name="createBy" type="text" class="layui-input"> + <input name="createTime" type="text" class="layui-input"> + <input name="updateTime" type="text" class="layui-input"> + <input name="updateBy" type="text" class="layui-input"> + </div> + </form> +</div> + +<script type="text/html" id="toolbarTable"> + <div class="layui-btn-container"> + <a href="javascript:;" class="layui-btn layui-btn-sm layui-btn-mini" lay-event="btnSelect"><i class="layui-icon"></i>检索</a> + <a href="javascript:;" class="layui-btn layui-btn-sm layui-btn-mini" lay-event="btnRefresh"><i class="layui-icon"></i>刷新</a> + {{ loadMenus("BaseSim", 1) }} + </div> +</script> + +@section Scripts +{ + <script type="text/javascript" src="/productjs/base/BaseSim.js" asp-append-version="true"></script> +} \ No newline at end of file diff --git a/web/WebMvc/Areas/base/Views/BaseSimEquipmentRel/Index.cshtml b/web/WebMvc/Areas/base/Views/BaseSimEquipmentRel/Index.cshtml new file mode 100644 index 0000000..7c662f3 --- /dev/null +++ b/web/WebMvc/Areas/base/Views/BaseSimEquipmentRel/Index.cshtml @@ -0,0 +1,95 @@ +@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers +@{ + ViewData["title"] = "sim项目设备关系表"; + Layout = "~/Views/Shared/_Layout.cshtml"; +} +@section header +{ +} + +<div id="listForm" class="layui-tab-item layui-show"> + <form class="layui-form layui-form-pane" action="" lay-filter="listForm"> + <div class="layui-form-item" id="panelSearch" hidden> + <fieldset class="layui-elem-field"> + + <div class="layui-field-box" id="qform"> + <div class="layui-form-item layui-col-sm12"> + <div class="layui-inline toolList"> + <a href="javascript:;" class="layui-btn layui-btn-sm layui-btn-radius" data-type="btnQuery"><i class="layui-icon"></i>查询</a> + <a href="javascript:;" class="layui-btn layui-btn-sm layui-btn-radius layui-btn-warm" data-type="btnReset"><i class="layui-icon"></i>重置</a> + <a href="javascript:;" class="layui-btn layui-btn-sm layui-btn-radius layui-btn-danger" data-type="btnClose"><i class="layui-icon"></i>关闭</a> + </div> + </div> + <div class="layui-row"> + <div class="layui-col-sm3"> + <label class="layui-form-label">sim卡号</label> + <div class="layui-input-inline"> + <input name="simNumber" type="text" autocomplete="off" maxlength="35" class="layui-input"> + </div> + </div> + <div class="layui-col-sm3"> + <label class="layui-form-label">设备编码</label> + <div class="layui-input-inline"> + <input name="equipmentCode" type="text" autocomplete="off" maxlength="35" class="layui-input"> + </div> + </div> + + </div> + </div> + </fieldset> + </div> + </form> + <table id="mainList" lay-filter="mainList"></table> +</div> + +<div id="modifyForm" class="layui-tab-item"> + <form class="layui-form layui-form-pane" action="" lay-filter="modifyForm" onsubmit="return false;"> + <div class="layui-row"> + <div class="layui-col-sm6"> + <label class="layui-form-label layui-col-sm3">sim卡号<span class="lable-required">*</span></label> + <div class="layui-input-inline layui-col-sm6"> + <input type="text" name="simNumber" lay-verify="required" autocomplete="off" maxlength="35" class="layui-input"> + </div> + </div> + <div class="layui-col-sm6"> + <label class="layui-form-label layui-col-sm3">项目keys<span class="lable-required">*</span></label> + <div class="layui-input-inline layui-col-sm6"> + <input type="text" name="projectKey" lay-verify="required" autocomplete="off" maxlength="11" class="layui-input"> + </div> + </div> + <div class="layui-col-sm6"> + <label class="layui-form-label layui-col-sm3">设备编码<span class="lable-required">*</span></label> + <div class="layui-input-inline layui-col-sm6"> + <input type="text" name="equipmentCode" lay-verify="required" autocomplete="off" maxlength="35" class="layui-input"> + </div> + </div> + + <div class="layui-form-item"> + <!--表单验证按钮--> + <button class="layui-btn" style="display:none" name="fromAdd" lay-filter="fromAdd" lay-submit>fromAdd</button> + <button class="layui-btn" style="display:none" name="fromUpdate" lay-filter="fromUpdate" lay-submit>fromUpdate</button> + </div> + </div> + <div hidden> + <input name="id" type="text" class="layui-input"> + + <input name="createBy" type="text" class="layui-input"> + <input name="createTime" type="text" class="layui-input"> + <input name="updateTime" type="text" class="layui-input"> + <input name="updateBy" type="text" class="layui-input"> + </div> + </form> +</div> + +<script type="text/html" id="toolbarTable"> + <div class="layui-btn-container"> + <a href="javascript:;" class="layui-btn layui-btn-sm layui-btn-mini" lay-event="btnSelect"><i class="layui-icon"></i>检索</a> + <a href="javascript:;" class="layui-btn layui-btn-sm layui-btn-mini" lay-event="btnRefresh"><i class="layui-icon"></i>刷新</a> + {{ loadMenus("BaseSimEquipmentRel", 1) }} + </div> +</script> + +@section Scripts +{ + <script type="text/javascript" src="/productjs/base/BaseSimEquipmentRel.js" asp-append-version="true"></script> +} \ No newline at end of file diff --git a/web/WebMvc/Areas/equipment/Controllers/BaseEquipmentTypeController.cs b/web/WebMvc/Areas/equipment/Controllers/BaseEquipmentTypeController.cs new file mode 100644 index 0000000..083e726 --- /dev/null +++ b/web/WebMvc/Areas/equipment/Controllers/BaseEquipmentTypeController.cs @@ -0,0 +1,105 @@ +using Hh.Mes.Common.Request; +using Hh.Mes.POJO.Entity; +using Hh.Mes.Service; +using Hh.Mes.Service.Equipment; +using Microsoft.AspNetCore.Hosting; +using Microsoft.AspNetCore.Mvc; +using Hh.Mes.Service.SystemAuth; +using WebMvc.Aop; + +namespace WebMvc.Areas.Equipment.Controllers +{ + [Area("Equipment")] + public class BaseEquipmentTypeController : BaseController + { + private readonly BaseEquipmentTypeService _service; + protected readonly IHostingEnvironment hostingEnvironment; + + public BaseEquipmentTypeController(IAuth authUtil, BaseEquipmentTypeService service) : base(authUtil) + { + _service = service; + _service.sysWebUser = authUtil.GetCurrentUser().User; + } + + #region 视图功能 + /// <summary> + /// 默认视图Action + /// </summary> + /// <returns></returns> + [Authenticate] + [ServiceFilter(typeof(OperLogFilter))] + public ActionResult Index() + { + return View(); + } + #endregion + + #region 数据操作 + + /// <summary> + /// 加载及分页查询 + /// </summary> + /// <param name="pageRequest">表单请求信息</param> + /// <param name="entity">请求条件实例</param> + /// <returns></returns> + [HttpPost] + public string Load(PageReq pageRequest, base_equipment_type entity) + { + return Serialize(_service.Load(pageRequest, entity)); + } + + /// <summary> + /// 新增数据 + /// </summary> + /// <param name="entity">新增实例</param> + /// <returns></returns> + [HttpPost] + [ServiceFilter(typeof(OperLogFilter))] + public string Ins(base_equipment_type entity) + { + return Serialize(_service.Ins(entity)); + } + + /// <summary> + /// 修改数据 + /// </summary> + /// <param name="entity">修改实例</param> + /// <returns></returns> + [HttpPost] + [ServiceFilter(typeof(OperLogFilter))] + public string Upd(base_equipment_type entity) + { + return Serialize(_service.Upd(entity)); + } + + /// <summary> + /// 删除数据 + /// </summary> + /// <param name="ids"></param> + /// <returns></returns> + [HttpPost] + [ServiceFilter(typeof(OperLogFilter))] + public string DelByIds(int[] ids) + { + return Serialize(_service.DelByIds(ids)); + } + #endregion + + #region 导出数据 + /// <summary> + /// 导出数据 + /// </summary> + /// <param name="entity">请求条件实例</param> + /// <returns></returns> + [HttpPost] + public string Export(base_equipment_type entity) + { + return Serialize(_service.ExportData(entity)); + } + #endregion + + #region 自定义方法 + + #endregion + } +} \ No newline at end of file diff --git a/web/WebMvc/Areas/equipment/Views/BaseEquipment/Index.cshtml b/web/WebMvc/Areas/equipment/Views/BaseEquipment/Index.cshtml index 98aba0d..4ef3605 100644 --- a/web/WebMvc/Areas/equipment/Views/BaseEquipment/Index.cshtml +++ b/web/WebMvc/Areas/equipment/Views/BaseEquipment/Index.cshtml @@ -1,10 +1,10 @@ @addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers @{ - ViewData["title"] = "设备"; + ViewData["title"] = "设备管理"; Layout = "~/Views/Shared/_Layout.cshtml"; } @section header -{ + { } <div id="listForm" class="layui-tab-item layui-show"> @@ -22,7 +22,7 @@ </div> <div class="layui-row"> <div class="layui-col-sm3"> - <label class="layui-form-label">设备编码,唯一且有规律易识别</label> + <label class="layui-form-label">设备编码</label> <div class="layui-input-inline"> <input name="equipmentCode" type="text" autocomplete="off" class="layui-input"> </div> @@ -34,12 +34,12 @@ </div> </div> <div class="layui-col-sm3"> - <label class="layui-form-label">此处写到这台设备对应的IP,一般为PLC的IP</label> + <label class="layui-form-label">IP</label> <div class="layui-input-inline"> <input name="ip" type="text" autocomplete="off" class="layui-input"> </div> </div> - + </div> </div> </fieldset> @@ -50,92 +50,74 @@ <div id="modifyForm" class="layui-tab-item"> <form class="layui-form layui-form-pane" action="" lay-filter="modifyForm" onsubmit="return false;"> - <div class="layui-row"> - <div class="layui-col-sm6"> - <label class="layui-form-label layui-col-sm3">设备编码,唯一且有规律易识别<span class="lable-required">*</span></label> - <div class="layui-input-inline layui-col-sm6"> - <input type="text" name="equipmentCode" lay-verify="required" autocomplete="off" class="layui-input"> - </div> - </div> - <div class="layui-col-sm6"> - <label class="layui-form-label layui-col-sm3">设备名<span class="lable-required">*</span></label> - <div class="layui-input-inline layui-col-sm6"> - <input type="text" name="equipmentName" lay-verify="required" autocomplete="off" class="layui-input"> - </div> - </div> - <div class="layui-col-sm6"> - <label class="layui-form-label layui-col-sm3">关联到设备类型<span class="lable-required">*</span></label> - <div class="layui-input-inline layui-col-sm6"> - <input name="equipmentTypeCode" type="number" lay-verify="required" autocomplete="off" class="layui-input"> + <div class="layui-row"> + <div class="layui-col-sm6"> + <label class="layui-form-label layui-col-sm3">设备编码<span class="lable-required">*</span></label> + <div class="layui-input-inline layui-col-sm6"> + <input type="text" name="equipmentCode" lay-verify="required" autocomplete="off" class="layui-input"> + </div> </div> - </div> - <div class="layui-col-sm6"> - <label class="layui-form-label layui-col-sm3">此处写到这台设备对应的IP,一般为PLC的IP<span class="lable-required">*</span></label> - <div class="layui-input-inline layui-col-sm6"> - <input type="text" name="ip" lay-verify="required" autocomplete="off" class="layui-input"> + <div class="layui-col-sm6"> + <label class="layui-form-label layui-col-sm3">厂房编码<span class="lable-required">*</span></label> + <div class="layui-input-inline layui-col-sm6"> + <input type="text" name="factoryCode" lay-verify="required" autocomplete="off" class="layui-input"> + </div> </div> - </div> - <div class="layui-col-sm6"> - <label class="layui-form-label layui-col-sm3">所在区域,出于调度目的或其他划分,比如:为兼容转轨堆垛机设定,正常情况下与巷道相同,转轨情况下对应虚拟划分巷道<span class="lable-required">*</span></label> - <div class="layui-input-inline layui-col-sm6"> - <input type="text" name="destinationArea" lay-verify="required" autocomplete="off" class="layui-input"> + <div class="layui-col-sm6"> + <label class="layui-form-label layui-col-sm3">设备名<span class="lable-required">*</span></label> + <div class="layui-input-inline layui-col-sm6"> + <input type="text" name="equipmentName" lay-verify="required" autocomplete="off" class="layui-input"> + </div> </div> - </div> - <div class="layui-col-sm6"> - <label class="layui-form-label layui-col-sm3">描述<span class="lable-required">*</span></label> - <div class="layui-input-inline layui-col-sm6"> - <input type="text" name="remark" lay-verify="required" autocomplete="off" class="layui-input"> + <div class="layui-col-sm6"> + <label class="layui-form-label layui-col-sm3">设备类型<span class="lable-required">*</span></label> + <div class="layui-input-inline layui-col-sm6"> + <select name="equipmentTypeCode" lay-verify="required" class="layui-select"></select> + </div> </div> - </div> - <div class="layui-col-sm6"> - <label class="layui-form-label layui-col-sm3">维护规则Id<span class="lable-required">*</span></label> - <div class="layui-input-inline layui-col-sm6"> - <input name="equipmentMaintainRuleId" type="number" lay-verify="required" autocomplete="off" class="layui-input"> + <div class="layui-col-sm6"> + <label class="layui-form-label layui-col-sm3">PLC-IP</label> + <div class="layui-input-inline layui-col-sm6"> + <input type="text" name="ip" autocomplete="off" class="layui-input"> + </div> </div> - </div> - <div class="layui-col-sm6"> - <label class="layui-form-label layui-col-sm3">创建时间<span class="lable-required">*</span></label> - <div class="layui-input-inline layui-col-sm6"> - <input name="createTime" type="text" lay-verify="required" autocomplete="off" class="layui-input layui-date"> + <div class="layui-col-sm6"> + <label class="layui-form-label layui-col-sm3">所在区域</label> + <div class="layui-input-inline layui-col-sm6"> + <input type="text" name="destinationArea" autocomplete="off" class="layui-input"> + </div> </div> - </div> - <div class="layui-col-sm6"> - <label class="layui-form-label layui-col-sm3">createdBy<span class="lable-required">*</span></label> - <div class="layui-input-inline layui-col-sm6"> - <input type="text" name="createBy" lay-verify="required" autocomplete="off" class="layui-input"> + <div class="layui-col-sm6"> + <label class="layui-form-label layui-col-sm3">描述</label> + <div class="layui-input-inline layui-col-sm6"> + <input type="text" name="remark" autocomplete="off" class="layui-input"> + </div> </div> - </div> - <div class="layui-col-sm6"> - <label class="layui-form-label layui-col-sm3">对于更新时间,不自动写入,允许为null<span class="lable-required">*</span></label> - <div class="layui-input-inline layui-col-sm6"> - <input name="updateTime" type="text" lay-verify="required" autocomplete="off" class="layui-input layui-date"> + <div class="layui-col-sm6"> + <label class="layui-form-label layui-col-sm3">维护规则Id</label> + <div class="layui-input-inline layui-col-sm6"> + <input name="equipmentMaintainRuleId" type="number" autocomplete="off" class="layui-input"> + </div> </div> - </div> - <div class="layui-col-sm6"> - <label class="layui-form-label layui-col-sm3">updatedBy<span class="lable-required">*</span></label> - <div class="layui-input-inline layui-col-sm6"> - <input type="text" name="updateBy" lay-verify="required" autocomplete="off" class="layui-input"> + <div class="layui-col-sm6"> + <label class="layui-form-label layui-col-sm3">是否启用</label> + <div class="layui-input-inline layui-col-sm6"> + <input type="checkbox" name="isDelete" lay-skin="switch" lay-text="启用|禁用" checked="checked" value="1"> + </div> </div> - </div> - <div class="layui-col-sm6"> - <label class="layui-form-label layui-col-sm3">是否启用<span class="lable-required">*</span></label> - <div class="layui-input-inline layui-col-sm6"> - <input type="text" name="isDelete" lay-verify="required" autocomplete="off" class="layui-input"> + <div class="layui-col-sm6"> + <label class="layui-form-label layui-col-sm3">图片文件名称</label> + <div class="layui-input-inline layui-col-sm6"> + <input type="text" name="imgSrc" autocomplete="off" class="layui-input"> + </div> </div> - </div> - <div class="layui-col-sm6"> - <label class="layui-form-label layui-col-sm3">图片文件名称<span class="lable-required">*</span></label> - <div class="layui-input-inline layui-col-sm6"> - <input type="text" name="imgSrc" lay-verify="required" autocomplete="off" class="layui-input"> + + <div class="layui-form-item"> + <!--表单验证按钮--> + <button class="layui-btn" style="display:none" name="fromAdd" lay-filter="fromAdd" lay-submit>fromAdd</button> + <button class="layui-btn" style="display:none" name="fromUpdate" lay-filter="fromUpdate" lay-submit>fromUpdate</button> </div> </div> - - <div class="layui-form-item"> - <!--表单验证按钮--> - <button class="layui-btn" style="display:none" name="fromAdd" lay-filter="fromAdd" lay-submit>fromAdd</button> - <button class="layui-btn" style="display:none" name="fromUpdate" lay-filter="fromUpdate" lay-submit>fromUpdate</button> - </div> - </div> <div hidden> <input name="id" type="text" class="layui-input"> @@ -156,6 +138,6 @@ </script> @section Scripts -{ + { <script type="text/javascript" src="/productjs/equipment/BaseEquipment.js" asp-append-version="true"></script> } \ No newline at end of file diff --git a/web/WebMvc/Areas/equipment/Views/BaseEquipmentType/Index.cshtml b/web/WebMvc/Areas/equipment/Views/BaseEquipmentType/Index.cshtml new file mode 100644 index 0000000..b37cd45 --- /dev/null +++ b/web/WebMvc/Areas/equipment/Views/BaseEquipmentType/Index.cshtml @@ -0,0 +1,107 @@ +@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers +@{ + ViewData["title"] = "设备类型表"; + Layout = "~/Views/Shared/_Layout.cshtml"; +} +@section header + { +} + +<div id="listForm" class="layui-tab-item layui-show"> + <form class="layui-form layui-form-pane" action="" lay-filter="listForm"> + <div class="layui-form-item" id="panelSearch" hidden> + <fieldset class="layui-elem-field"> + + <div class="layui-field-box" id="qform"> + <div class="layui-form-item layui-col-sm12"> + <div class="layui-inline toolList"> + <a href="javascript:;" class="layui-btn layui-btn-sm layui-btn-radius" data-type="btnQuery"><i class="layui-icon"></i>查询</a> + <a href="javascript:;" class="layui-btn layui-btn-sm layui-btn-radius layui-btn-warm" data-type="btnReset"><i class="layui-icon"></i>重置</a> + <a href="javascript:;" class="layui-btn layui-btn-sm layui-btn-radius layui-btn-danger" data-type="btnClose"><i class="layui-icon"></i>关闭</a> + </div> + </div> + <div class="layui-row"> + <div class="layui-col-sm3"> + <label class="layui-form-label">设备类型代号</label> + <div class="layui-input-inline"> + <input name="code" type="text" autocomplete="off" maxlength="22" class="layui-input"> + </div> + </div> + <div class="layui-col-sm3"> + <label class="layui-form-label">类型名称</label> + <div class="layui-input-inline"> + <input name="name" type="text" autocomplete="off" maxlength="22" class="layui-input"> + </div> + </div> + <div class="layui-col-sm3"> + <label class="layui-form-label">描述</label> + <div class="layui-input-inline"> + <input name="description" type="text" autocomplete="off" maxlength="22" class="layui-input"> + </div> + </div> + + </div> + </div> + </fieldset> + </div> + </form> + <table id="mainList" lay-filter="mainList"></table> +</div> + +<div id="modifyForm" class="layui-tab-item"> + <form class="layui-form layui-form-pane" action="" lay-filter="modifyForm" onsubmit="return false;"> + <div class="layui-row"> + <div class="layui-col-sm12"> + <label class="layui-form-label layui-col-sm3">类型代号<span class="lable-required">*</span></label> + <div class="layui-input-inline layui-col-sm6"> + <input type="text" name="code" lay-verify="required" autocomplete="off" maxlength="22" class="layui-input"> + </div> + </div> + <div class="layui-col-sm12"> + <label class="layui-form-label layui-col-sm3">类型名称<span class="lable-required">*</span></label> + <div class="layui-input-inline layui-col-sm6"> + <input type="text" name="name" lay-verify="required" autocomplete="off" maxlength="22" class="layui-input"> + </div> + </div> + <div class="layui-col-sm12"> + <label class="layui-form-label layui-col-sm3">描述<span class="lable-required">*</span></label> + <div class="layui-input-inline layui-col-sm6"> + <input type="text" name="description" lay-verify="required" autocomplete="off" maxlength="22" class="layui-input"> + </div> + </div> + <div class="layui-col-sm6"> + <label class="layui-form-label layui-col-sm3">是否生效<span class="lable-required">*</span></label> + <div class="layui-input-inline layui-col-sm6"> + <input type="checkbox" name="enable" lay-verify="required" lay-skin="switch" lay-text="生效|失效" checked="checked" value="true"> + </div> + </div> + + <div class="layui-form-item"> + <!--表单验证按钮--> + <button class="layui-btn" style="display:none" name="fromAdd" lay-filter="fromAdd" lay-submit>fromAdd</button> + <button class="layui-btn" style="display:none" name="fromUpdate" lay-filter="fromUpdate" lay-submit>fromUpdate</button> + </div> + </div> + <div hidden> + <input name="id" type="text" class="layui-input"> + + <input name="createBy" type="text" class="layui-input"> + <input name="createTime" type="text" class="layui-input"> + <input name="updateTime" type="text" class="layui-input"> + <input name="updateBy" type="text" class="layui-input"> + </div> + </form> +</div> + +<script type="text/html" id="toolbarTable"> + <div class="layui-btn-container"> + <a href="javascript:;" class="layui-btn layui-btn-sm layui-btn-mini" lay-event="btnSelect"><i class="layui-icon"></i>检索</a> + <a href="javascript:;" class="layui-btn layui-btn-sm layui-btn-mini" lay-event="btnRefresh"><i class="layui-icon"></i>刷新</a> + {{ loadMenus("BaseEquipmentType", 1) }} + </div> +</script> + +@section Scripts + { + <script type="text/javascript" src="/productjs/equipment/BaseEquipmentType.js" asp-append-version="true"></script> +} \ No newline at end of file diff --git a/web/WebMvc/WebMvc.csproj b/web/WebMvc/WebMvc.csproj index b0095d2..930be0a 100644 --- a/web/WebMvc/WebMvc.csproj +++ b/web/WebMvc/WebMvc.csproj @@ -16,6 +16,7 @@ </PropertyGroup> <ItemGroup> + <Compile Remove="Areas\base\Views\BaseSimEquipmentRel\**" /> <Compile Remove="Areas\configure\Views\base_product_header\**" /> <Compile Remove="logs\**" /> <Compile Remove="wwwroot\css\新文件夹\**" /> @@ -26,6 +27,7 @@ <Compile Remove="wwwroot\productjs\distribution\**" /> <Compile Remove="wwwroot\productjs\production\**" /> <Compile Remove="wwwroot\productjs\quality\**" /> + <Content Remove="Areas\base\Views\BaseSimEquipmentRel\**" /> <Content Remove="Areas\configure\Views\base_product_header\**" /> <Content Remove="logs\**" /> <Content Remove="wwwroot\css\新文件夹\**" /> @@ -36,6 +38,7 @@ <Content Remove="wwwroot\productjs\distribution\**" /> <Content Remove="wwwroot\productjs\production\**" /> <Content Remove="wwwroot\productjs\quality\**" /> + <EmbeddedResource Remove="Areas\base\Views\BaseSimEquipmentRel\**" /> <EmbeddedResource Remove="Areas\configure\Views\base_product_header\**" /> <EmbeddedResource Remove="logs\**" /> <EmbeddedResource Remove="wwwroot\css\新文件夹\**" /> @@ -46,6 +49,7 @@ <EmbeddedResource Remove="wwwroot\productjs\distribution\**" /> <EmbeddedResource Remove="wwwroot\productjs\production\**" /> <EmbeddedResource Remove="wwwroot\productjs\quality\**" /> + <None Remove="Areas\base\Views\BaseSimEquipmentRel\**" /> <None Remove="Areas\configure\Views\base_product_header\**" /> <None Remove="logs\**" /> <None Remove="wwwroot\css\新文件夹\**" /> @@ -59,6 +63,7 @@ </ItemGroup> <ItemGroup> + <Compile Remove="Areas\base\Controllers\BaseSimEquipmentRelController.cs" /> <Compile Remove="Areas\Planned\Controllers\FactoryCalendarController.cs" /> </ItemGroup> diff --git a/web/WebMvc/wwwroot/baseJs/projectMap.js b/web/WebMvc/wwwroot/baseJs/projectMap.js index ddecf0d..49edb7f 100644 --- a/web/WebMvc/wwwroot/baseJs/projectMap.js +++ b/web/WebMvc/wwwroot/baseJs/projectMap.js @@ -128,7 +128,6 @@ layui.config({ }, init: function () { - debugger app.methods.initMap(); app.methods.initVue(); app.methods.getProjectDataList(); diff --git a/web/WebMvc/wwwroot/productjs/base/BaseSim.js b/web/WebMvc/wwwroot/productjs/base/BaseSim.js new file mode 100644 index 0000000..adb14e5 --- /dev/null +++ b/web/WebMvc/wwwroot/productjs/base/BaseSim.js @@ -0,0 +1,257 @@ +let action = null; +layui.config({ + base: "/js/", + version: 1 +}).use(['system'], function () { + var form = layui.form, + $ = layui.jquery, + element = layui.element, + table = layui.table, + system = layui.system, + sysU = new system.u(), + sendDataWhere = null, + sendDataDescWhere = null, + areaName = "base", + controllerName = "BaseSim", + app = null; + + action = { + addOptions: function () { + var options = { + fromId: "#modifyForm form", + url: `/${areaName}/${controllerName}/Ins`, + //sendDataWhere: null, + //isAddWhereExtend: "arbitrarily", + //mainTable: app.data.tableIns, + submit: "submit(fromAdd)" + } + return options; + }, + + editOptions: function () { + var options = { + fromId: "#modifyForm form", + url: `/${areaName}/${controllerName}/Upd`, + submit: "submit(fromUpdate)" + } + return options; + }, + + deleteOptions: function () { + var options = { + url: `/${areaName}/${controllerName}/DelByIds`, + keyId: "id" + } + return options; + }, + + exportOptions: function () { + var options = { + fromId: "listForm", + url: `/${areaName}/${controllerName}/Export`, + isDefault: false, + sendDataWhere: {}, + excelCols: { + head: app.data.cols, + body: app.data.colsDesc + } + } + return options; + }, + + queryOptions: function () { + var options = { + resetFrom: "form[lay-filter=listForm]", + fromId: "listForm", + urlExport: `/${areaName}/${controllerName}/Export`, + urlQuery: `/${areaName}/${controllerName}/Load`, + sendDataWhere: {}, + mainTable: app.data.tableIns + } + return options; + }, + /*rowClickOptions: function () { + var options = { + //是否主子表 + isDefault: true, + targetTableId: app.data.tableElem, + tabfilter: "tableTabBody", + tabId: 2, + customFn: app.methods.initTableDesc + } + return options; + },*/ + + uploadOptions: function () { + var options = { + url: `/${areaName}/${controllerName}/Import`, + fromFile: "#excelfile", + content: $("#ImportData") + } + return options; + }, + addBefore: function (callBack) { + //callBack是回调函数,如果editBefore有ajax 放在成功之后 + if (callBack != null) callBack(); + }, + + addSaveBefore: function (data, callBack) { + if (callBack != null) callBack(); + }, + editBefore: function (data, callBack) { + //data.enable = data.enable.toString(); + form.val("modifyForm", data); + if (callBack != null) callBack(); + }, + editSaveBefore: function (data, callBack) { + if (typeof data.field.isDelete == "undefined") data.field["isDelete"] = "0"; + if (callBack != null) callBack(); + }, + + btnBindEquipment: function () { + var checkStatus = table.checkStatus('mainList'), + data = checkStatus.data; + var edit = false; + if (data.length != 1) { + toplayer.msg("请选择要设备的Sim卡!"); + return; + } + + var url = `/equipment/BaseEquipment/Index?menuFlag=-2&selectColKeyCustom=keys&page=BaseSim&simNumber=${data[0].simNumber}`;//menuFlag=-2 菜单隐藏 + var index = layer.open({ + title: "为SIM卡【" + data[0].Name + "】绑定设备<span style='color:red;'>(一张sim卡可绑定最多250台设备,逐一勾选,禁止全选)</span>", + area: ["1000px", "600px"], + type: 2, + content: url, + + }); + }, + + checkboxMethod: function (obj) { + var page = "".GetUrlParam("page"), + xxx = "".GetUrlParam("xxx"); + if (page == "xxx") { + var sendData = { + + }; + var ajaxConfig = { + data: sendData, + url: `${areaName}/${controllerName}/xxx`, + success: function (result) { + if (sysU.successBefore(result)) return false; + layer.msg(result.Message); + } + }; + sysU.ajax(ajaxConfig); + } + }, + //所有动作成功之后 + actionSuccess: (flag) => { + sysU.refreshTable(app, sysU, null, flag); + }, + closeAfter: function (callBack) { + if (callBack != null) callBack(); + } + } + + app = { + data: { + cols: [[ + { checkbox: true, fixed: true }, + { field: "id", width: 80, hide: true, title: "Id" }, + { field: "simNumber", width: 150, title: "SIM卡号" }, + { field: "ip", width: 150, title: "IP地址" }, + { field: "suppliersInfo", width: 150, title: "供应商" }, + { field: "factoryDate", width: 150, title: "出厂日期" }, + { field: "remarks", width: 150, title: "备注" }, + { field: "isDelete", width: 150, title: "状态" }, + { field: "createTime", width: 150, title: "创建时间" }, + { field: "createBy", width: 150, title: "创建人" }, + { field: "updateTime", width: 150, title: "修改时间" }, + { field: "updateBy", width: 150, title: "修改人" }, + ]], + colsDesc: null, + tableIns: null, + tableElem: "mainList", + tableInsDesc: null, + tableElemDesc: "mainListDesc", + + //下拉框配置 + selectOption: { + //station: { + // SelType: "FromUrl", + // SelFrom: `/${areaName}/${controllerName}/StationLineSelect`, + // SelLabel: "workStationName", + // SelValue: "workStationCode", + // OptGroup: true, + // Dom: [$("[name='stationCode']")] + //}, + //返回的数据 用于后续操作 + selectData: { + + } + }, + //下拉框配置枚举 + selectOptionEnum: { + type: { + SelValue: "value", //key or value + SelFrom: "dataSource", //固定 + Dom: [$("select[name='xxx']")], + dataSource: window.top.Enumxxx, + }, + //返回的数据 用于后续操作 + selectData: { + + } + }, + }, + methods: { + initTable: function (opt) { + var config = {}; + if (opt != undefined) $.extend(config, opt); + let options = { + elem: "#" + app.data.tableElem, + url: `/${areaName}/${controllerName}/Load`, + cols: sysU.columnRecord(app.data.tableElem, app.data.cols), + toolbar: '#toolbarTable', + where: config, + //height: "full-56",//如果是主明细页签,列表主体高度要设置,否则分页导航不直观展示 + doneExtend: function (res, obj) { + + } + } + app.data.tableIns = sysU.initTable(options); + }, + + initSelectTable: function () { + var opt1 = { + elem: ".productCode", + checkedKey: "productCode", + doneKey: { + key: "productCode", + lableValue: "productName" + }, + searchKey: "productCode", + searchName: "产品编码" + }; + sysU.initSelectProduct(opt1); + }, + + initFrom() { + //sysU.initSelect(app.data.selectOption); + + //sysU.initSelecteByEnum(app.data.selectOptionEnum); + } + }, + registerEvent: function () { + + }, + init: function () { + //var sendDataWhere = form.val("listForm") + app.methods.initTable(); + app.methods.initFrom(); + app.registerEvent(); + } + }; + app.init(); +}); \ No newline at end of file diff --git a/web/WebMvc/wwwroot/productjs/base/BaseSimEquipmentRel.js b/web/WebMvc/wwwroot/productjs/base/BaseSimEquipmentRel.js new file mode 100644 index 0000000..ae33ea7 --- /dev/null +++ b/web/WebMvc/wwwroot/productjs/base/BaseSimEquipmentRel.js @@ -0,0 +1,230 @@ +let action = null; +layui.config({ + base: "/js/", + version: 1 +}).use(['system'], function () { + var form = layui.form, + $ = layui.jquery, + element = layui.element, + table = layui.table, + system = layui.system, + sysU = new system.u(), + sendDataWhere = null, + sendDataDescWhere = null, + areaName = "base", + controllerName = "BaseSimEquipmentRel", + app = null; + + action = { + addOptions: function () { + var options = { + fromId: "#modifyForm form", + url: `/${areaName}/${controllerName}/Ins`, + //sendDataWhere: null, + //isAddWhereExtend: "arbitrarily", + //mainTable: app.data.tableIns, + submit: "submit(fromAdd)" + } + return options; + }, + + editOptions: function () { + var options = { + fromId: "#modifyForm form", + url: `/${areaName}/${controllerName}/Upd`, + submit: "submit(fromUpdate)" + } + return options; + }, + + deleteOptions: function () { + var options = { + url: `/${areaName}/${controllerName}/DelByIds`, + keyId: "id" + } + return options; + }, + + exportOptions: function () { + var options = { + fromId: "listForm", + url: `/${areaName}/${controllerName}/Export`, + isDefault: false, + sendDataWhere:{}, + excelCols: { + head: app.data.cols, + body: app.data.colsDesc + } + } + return options; + }, + + queryOptions: function () { + var options = { + resetFrom: "form[lay-filter=listForm]", + fromId: "listForm", + urlExport: `/${areaName}/${controllerName}/Export`, + urlQuery: `/${areaName}/${controllerName}/Load`, + sendDataWhere:{}, + mainTable: app.data.tableIns + } + return options; + }, + /*rowClickOptions: function () { + var options = { + //是否主子表 + isDefault: true, + targetTableId: app.data.tableElem, + tabfilter: "tableTabBody", + tabId: 2, + customFn: app.methods.initTableDesc + } + return options; + },*/ + + uploadOptions: function () { + var options = { + url: `/${areaName}/${controllerName}/Import`, + fromFile: "#excelfile", + content: $("#ImportData") + } + return options; + }, + addBefore: function (callBack) { + //callBack是回调函数,如果editBefore有ajax 放在成功之后 + if (callBack != null) callBack(); + }, + + addSaveBefore: function (data, callBack) { + if (callBack != null) callBack(); + }, + editBefore: function (data, callBack) { + //data.enable = data.enable.toString(); + form.val("modifyForm", data); + if (callBack != null) callBack(); + }, + editSaveBefore: function (data, callBack) { + if (callBack != null) callBack(); + }, + + checkboxMethod: function (obj) { + var page = "".GetUrlParam("page"), + xxx = "".GetUrlParam("xxx"); + if (page == "xxx") { + var sendData = { + + }; + var ajaxConfig = { + data: sendData, + url: `${areaName}/${controllerName}/xxx`, + success: function (result) { + if (sysU.successBefore(result)) return false; + layer.msg(result.Message); + } + }; + sysU.ajax(ajaxConfig); + } + }, + //所有动作成功之后 + actionSuccess: (flag) => { + sysU.refreshTable(app, sysU, null, flag); + }, + closeAfter: function (callBack) { + if (callBack != null) callBack(); + } + } + + app = { + data: { + cols: [[ + { checkbox: true, fixed: true }, + { field: "id", width: 80, hide: true, title: "Id" }, + { field: "simNumber", width: 150, title: "sim卡号" }, + { field: "projectKey", width: 150, title: "项目keys" }, + { field: "equipmentCode", width: 150, title: "设备编码" }, + ]], + colsDesc:null, + tableIns: null, + tableElem: "mainList", + tableInsDesc: null, + tableElemDesc: "mainListDesc", + + //下拉框配置 + selectOption: { + //station: { + // SelType: "FromUrl", + // SelFrom: `/${areaName}/${controllerName}/StationLineSelect`, + // SelLabel: "workStationName", + // SelValue: "workStationCode", + // OptGroup: true, + // Dom: [$("[name='stationCode']")] + //}, + //返回的数据 用于后续操作 + selectData: { + + } + }, + //下拉框配置枚举 + selectOptionEnum: { + type: { + SelValue: "value", //key or value + SelFrom: "dataSource", //固定 + Dom: [$("select[name='xxx']")], + dataSource: window.top.Enumxxx, + }, + //返回的数据 用于后续操作 + selectData: { + + } + }, + }, + methods: { + initTable: function (opt) { + var config = {}; + if (opt != undefined) $.extend(config, opt); + let options = { + elem: "#" + app.data.tableElem, + url: `/${areaName}/${controllerName}/Load`, + cols: sysU.columnRecord(app.data.tableElem, app.data.cols), + toolbar: '#toolbarTable', + where: config, + //height: "full-56",//如果是主明细页签,列表主体高度要设置,否则分页导航不直观展示 + doneExtend: function (res, obj) { + + } + } + app.data.tableIns = sysU.initTable(options); + }, + + initSelectTable: function () { + var opt1 = { + elem: ".productCode", + checkedKey: "productCode", + doneKey: { + key: "productCode", + lableValue: "productName" + }, + searchKey: "productCode", + searchName: "产品编码" + }; + sysU.initSelectProduct(opt1); + }, + + initFrom() { + //sysU.initSelect(app.data.selectOption); + + //sysU.initSelecteByEnum(app.data.selectOptionEnum); + } + }, + registerEvent: function () { + + }, + init: function () { + //var sendDataWhere = form.val("listForm") + app.methods.initTable(); + app.methods.initFrom(); + app.registerEvent(); + } + }; + app.init(); +}); \ No newline at end of file diff --git a/web/WebMvc/wwwroot/productjs/equipment/BaseEquipment.js b/web/WebMvc/wwwroot/productjs/equipment/BaseEquipment.js index 375dfec..f4781f1 100644 --- a/web/WebMvc/wwwroot/productjs/equipment/BaseEquipment.js +++ b/web/WebMvc/wwwroot/productjs/equipment/BaseEquipment.js @@ -16,7 +16,35 @@ layui.config({ app = null; action = { - + addOptions: function () { + var options = { + fromId: "#modifyForm form", + url: `/${areaName}/${controllerName}/Ins`, + //sendDataWhere: null, + //isAddWhereExtend: "arbitrarily", + //mainTable: app.data.tableIns, + submit: "submit(fromAdd)" + } + return options; + }, + + editOptions: function () { + var options = { + fromId: "#modifyForm form", + url: `/${areaName}/${controllerName}/Upd`, + submit: "submit(fromUpdate)" + } + return options; + }, + + deleteOptions: function () { + var options = { + url: `/${areaName}/${controllerName}/DelByIds`, + keyId: "id" + } + return options; + }, + exportOptions: function () { var options = { fromId: "listForm", @@ -62,26 +90,47 @@ layui.config({ } return options; }, - + addBefore: function (callBack) { + //callBack是回调函数,如果editBefore有ajax 放在成功之后 + if (callBack != null) callBack(); + }, + + addSaveBefore: function (data, callBack) { + if (callBack != null) callBack(); + }, + editBefore: function (data, callBack) { + //data.enable = data.enable.toString(); + form.val("modifyForm", data); + if (callBack != null) callBack(); + }, + editSaveBefore: function (data, callBack) { + if (typeof data.field.isDelete == "undefined") data.field["isDelete"] = 0; + if (callBack != null) callBack(); + }, checkboxMethod: function (obj) { var page = "".GetUrlParam("page"), - xxx = "".GetUrlParam("xxx"); - if (page == "xxx") { + simNumber = "".GetUrlParam("simNumber"); + if (page == "BaseSim") { var sendData = { - + simNumber: simNumber, + checkeds: obj.checked, + equipmentCode: obj.data.equipmentCode, + factoryCode: obj.data.factoryCode }; var ajaxConfig = { data: sendData, - url: `${areaName}/${controllerName}/xxx`, + url: "/base/BaseSim/BindEquipment", success: function (result) { if (sysU.successBefore(result)) return false; layer.msg(result.Message); + sysU.refreshTable(app, sysU, null, "main"); } }; sysU.ajax(ajaxConfig); } }, + //所有动作成功之后 actionSuccess: (flag) => { sysU.refreshTable(app, sysU, null, flag); @@ -100,20 +149,16 @@ layui.config({ { field: "factoryCode", width: 150, title: "厂房编码", hide: true }, { field: "equipmentName", width: 150, title: "设备名" }, - { field: "equipmentTypeCode", width: 150, title: "关联到设备类型编码", hide: true }, - { field: "equipmentTypeName", width: 150, title: "关联到设备类型" }, + { field: "equipmentTypeCode", width: 150, title: "设备类型编码", hide: true }, + /*{ field: "equipmentTypeName", width: 150, title: "设备类型",},*/ { field: "ip", width: 150, title: "PLC-IP", hide: true }, { field: "destinationArea", width: 150, title: "所在区域" }, { field: "remark", width: 150, title: "描述" }, { field: "equipmentMaintainRuleId", width: 150, title: "维护规则Id", hide: true }, - { field: "isDelete", width: 150, title: "是否启用" }, + { field: "isDelete", width: 150, title: "是否启用", }, { field: "imgSrc", width: 150, title: "图片文件路径" }, - { field: "createTime", width: 150, title: "创建时间" }, - { field: "createBy", width: 150, title: "创建人" }, - { field: "updateTime", width: 150, title: "更新时间" }, - { field: "updateBy", width: 150, title: "更新人" }, ]], colsDesc: null, tableIns: null, @@ -123,14 +168,15 @@ layui.config({ //下拉框配置 selectOption: { - //station: { - // SelType: "FromUrl", - // SelFrom: `/${areaName}/${controllerName}/StationLineSelect`, - // SelLabel: "workStationName", - // SelValue: "workStationCode", - // OptGroup: true, - // Dom: [$("[name='stationCode']")] - //}, + selectEquipmentTypeCode: { + SelType: "FromUrl", + SelFrom: `/${areaName}/BaseEquipmentType/Load`, + //SelModel:"EquipmentTypeName", + SelLabel: "name", + SelValue: "code", + Where: {}, + Dom: [$("[name='equipmentTypeCode']")] + }, //返回的数据 用于后续操作 selectData: { @@ -183,7 +229,7 @@ layui.config({ }, initFrom() { - //sysU.initSelect(app.data.selectOption); + sysU.initSelect(app.data.selectOption); //sysU.initSelecteByEnum(app.data.selectOptionEnum); } diff --git a/web/WebMvc/wwwroot/productjs/equipment/BaseEquipmentType.js b/web/WebMvc/wwwroot/productjs/equipment/BaseEquipmentType.js new file mode 100644 index 0000000..cfbd7ba --- /dev/null +++ b/web/WebMvc/wwwroot/productjs/equipment/BaseEquipmentType.js @@ -0,0 +1,238 @@ +let action = null; +layui.config({ + base: "/js/", + version: 1 +}).use(['system'], function () { + var form = layui.form, + $ = layui.jquery, + element = layui.element, + table = layui.table, + system = layui.system, + sysU = new system.u(), + sendDataWhere = null, + sendDataDescWhere = null, + areaName = "equipment", + controllerName = "BaseEquipmentType", + app = null; + + action = { + addOptions: function () { + var options = { + fromId: "#modifyForm form", + url: `/${areaName}/${controllerName}/Ins`, + //sendDataWhere: null, + //isAddWhereExtend: "arbitrarily", + //mainTable: app.data.tableIns, + submit: "submit(fromAdd)", + area: ['500px', '300px'] + } + return options; + }, + + editOptions: function () { + var options = { + fromId: "#modifyForm form", + url: `/${areaName}/${controllerName}/Upd`, + submit: "submit(fromUpdate)", + area:['500px','300px'] + } + return options; + }, + + deleteOptions: function () { + var options = { + url: `/${areaName}/${controllerName}/DelByIds`, + keyId: "id" + } + return options; + }, + + exportOptions: function () { + var options = { + fromId: "listForm", + url: `/${areaName}/${controllerName}/Export`, + isDefault: false, + sendDataWhere:{}, + excelCols: { + head: app.data.cols, + body: app.data.colsDesc + } + } + return options; + }, + + queryOptions: function () { + var options = { + resetFrom: "form[lay-filter=listForm]", + fromId: "listForm", + urlExport: `/${areaName}/${controllerName}/Export`, + urlQuery: `/${areaName}/${controllerName}/Load`, + sendDataWhere:{}, + mainTable: app.data.tableIns + } + return options; + }, + /*rowClickOptions: function () { + var options = { + //是否主子表 + isDefault: true, + targetTableId: app.data.tableElem, + tabfilter: "tableTabBody", + tabId: 2, + customFn: app.methods.initTableDesc + } + return options; + },*/ + + uploadOptions: function () { + var options = { + url: `/${areaName}/${controllerName}/Import`, + fromFile: "#excelfile", + content: $("#ImportData") + } + return options; + }, + addBefore: function (callBack) { + //callBack是回调函数,如果editBefore有ajax 放在成功之后 + if (callBack != null) callBack(); + }, + + addSaveBefore: function (data, callBack) { + if (callBack != null) callBack(); + }, + editBefore: function (data, callBack) { + //data.enable = data.enable.toString(); + form.val("modifyForm", data); + if (callBack != null) callBack(); + }, + editSaveBefore: function (data, callBack) { + if (typeof data.field.enable == "undefined") data.field["enable"] = 'false'; + if (callBack != null) callBack(); + }, + + checkboxMethod: function (obj) { + var page = "".GetUrlParam("page"), + xxx = "".GetUrlParam("xxx"); + if (page == "xxx") { + var sendData = { + + }; + var ajaxConfig = { + data: sendData, + url: `${areaName}/${controllerName}/xxx`, + success: function (result) { + if (sysU.successBefore(result)) return false; + layer.msg(result.Message); + } + }; + sysU.ajax(ajaxConfig); + } + }, + //所有动作成功之后 + actionSuccess: (flag) => { + sysU.refreshTable(app, sysU, null, flag); + }, + closeAfter: function (callBack) { + if (callBack != null) callBack(); + } + } + + app = { + data: { + cols: [[ + { checkbox: true, fixed: true }, + { field: "id", width: 80, hide: true, title: "Id" }, + { field: "code", width: 150, title: "设备类型代号" }, + { field: "name", width: 150, title: "类型名称" }, + { field: "description", width: 150, title: "描述" }, + { field: "enable", width: 150, title: "是否生效" }, + { field: "createTime", width: 150, title: "建立时间" }, + { field: "createBy", width: 150, title: "建立者" }, + { field: "updateTime", width: 150, title: "更新时间" }, + { field: "updateBy", width: 150, title: "更新者" }, + ]], + colsDesc:null, + tableIns: null, + tableElem: "mainList", + tableInsDesc: null, + tableElemDesc: "mainListDesc", + + //下拉框配置 + selectOption: { + //station: { + // SelType: "FromUrl", + // SelFrom: `/${areaName}/${controllerName}/StationLineSelect`, + // SelLabel: "workStationName", + // SelValue: "workStationCode", + // OptGroup: true, + // Dom: [$("[name='stationCode']")] + //}, + //返回的数据 用于后续操作 + selectData: { + + } + }, + //下拉框配置枚举 + selectOptionEnum: { + type: { + SelValue: "value", //key or value + SelFrom: "dataSource", //固定 + Dom: [$("select[name='xxx']")], + dataSource: window.top.Enumxxx, + }, + //返回的数据 用于后续操作 + selectData: { + + } + }, + }, + methods: { + initTable: function (opt) { + var config = {}; + if (opt != undefined) $.extend(config, opt); + let options = { + elem: "#" + app.data.tableElem, + url: `/${areaName}/${controllerName}/Load`, + cols: sysU.columnRecord(app.data.tableElem, app.data.cols), + toolbar: '#toolbarTable', + where: config, + //height: "full-56",//如果是主明细页签,列表主体高度要设置,否则分页导航不直观展示 + doneExtend: function (res, obj) { + + } + } + app.data.tableIns = sysU.initTable(options); + }, + + initSelectTable: function () { + var opt1 = { + elem: ".productCode", + checkedKey: "productCode", + doneKey: { + key: "productCode", + lableValue: "productName" + }, + searchKey: "productCode", + searchName: "产品编码" + }; + sysU.initSelectProduct(opt1); + }, + + initFrom() { + //sysU.initSelect(app.data.selectOption); + + //sysU.initSelecteByEnum(app.data.selectOptionEnum); + } + }, + registerEvent: function () { + + }, + init: function () { + //var sendDataWhere = form.val("listForm") + app.methods.initTable(); + app.methods.initFrom(); + app.registerEvent(); + } + }; + app.init(); +}); \ No newline at end of file