From cd0277d99c49babe5c2de292ef4d54ac4a720f13 Mon Sep 17 00:00:00 2001 From: username@email.com <yzy2002yzy@163.com> Date: 星期四, 06 一月 2022 14:01:27 +0800 Subject: [PATCH] 客户预付款 --- zhengcaioa/Services/OrderBanciOrderService.cs | 29 + zhengcaioa/IServices/IFiCustomerrecievemoneyService.cs | 22 + zhengcaioa/Services/CooperatecustomCustomerService.cs | 33 + zhengcaioa/zhengcaioa/Startup.cs | 1 zhengcaioa/Services/FiCustomerrecievemoneyService.cs | 252 ++++++++++++ zhengcaioa/zhengcaioa/Views/FiOrderrecievemoney/IndexCustomerdtl.cshtml | 77 +++ zhengcaioa/IServices/IOrderBanciOrderService.cs | 2 zhengcaioa/zhengcaioa/Views/FiOrderrecievemoney/IndexCustomer.cshtml | 8 zhengcaioa/Model/zhengcaioaContext.cs | 71 +++ zhengcaioa/CommonToolsCore/AutoMapperConfigs.cs | 3 zhengcaioa/Model/OrderBanciOrder.cs | 1 zhengcaioa/zhengcaioa/Controllers/Finance/FiOrderrecievemoneyController.cs | 145 +++++++ zhengcaioa/DTO/OrderBanciOrderDTO.cs | 1 zhengcaioa/zhengcaioa/Controllers/BusinessOrder/OrderBanciOrderController.cs | 40 ++ zhengcaioa/zhengcaioa/Views/FiOrderrecievemoney/EditCustomer.cshtml | 386 +++++++++++++++++++ zhengcaioa/Model/FiCustomerrecievemoney.cs | 25 + zhengcaioa/DTO/FiCustomerrecievemoneyDTO.cs | 43 ++ zhengcaioa/IServices/ICooperatecustomCustomerService.cs | 3 18 files changed, 1,140 insertions(+), 2 deletions(-) diff --git a/zhengcaioa/CommonToolsCore/AutoMapperConfigs.cs b/zhengcaioa/CommonToolsCore/AutoMapperConfigs.cs index 01142b5..66cc5d7 100644 --- a/zhengcaioa/CommonToolsCore/AutoMapperConfigs.cs +++ b/zhengcaioa/CommonToolsCore/AutoMapperConfigs.cs @@ -312,6 +312,9 @@ CreateMap<TComplaintShouquandaibiao, TComplaintShouquandaibiaoDTO>(); CreateMap<TComplaintShouquandaibiaoDTO, TComplaintShouquandaibiao>(); + CreateMap<FiCustomerrecievemoney, FiCustomerrecievemoneyDTO>(); + CreateMap<FiCustomerrecievemoneyDTO, FiCustomerrecievemoney>(); + } } } diff --git a/zhengcaioa/DTO/FiCustomerrecievemoneyDTO.cs b/zhengcaioa/DTO/FiCustomerrecievemoneyDTO.cs new file mode 100644 index 0000000..9e09e26 --- /dev/null +++ b/zhengcaioa/DTO/FiCustomerrecievemoneyDTO.cs @@ -0,0 +1,43 @@ +锘縰sing System; +using System.Collections.Generic; +using System.Text; + +namespace DTO +{ + public class FiCustomerrecievemoneyDTO + { + public string Id { get; set; } + public string CustomerId { get; set; } + public string CustomerName { get; set; } + public decimal Yufukuan { get; set; } + public string PayType { get; set; } + public string PayTypeName { get; set; } + public string SubjectId { get; set; } + public string SubjectName { get; set; } + public string AccountId { get; set; } + public string AccountName { get; set; } + public string RecordTypeId { get; set; } + public decimal? Recievemoney { get; set; } + public string RecievemoneyName { get; set; } + public DateTime PayTime { get; set; } + public string PayTimeName { get; set; } + public string Remark { get; set; } + public string RecStatus { get; set; } + public string Creater { get; set; } + public string CreaterName { get; set; } + public DateTime Createtime { get; set; } + public string CreatetimeName { get; set; } + public string Modifier { get; set; } + public DateTime Modifytime { get; set; } + } + + public class FiCustomerrecievemoneyDTOSearch : SearchEntity + { + public string PayTime { get; set; } + + public decimal? Recievemoney { get; set; } + + public string CustomerId { get; set; } + + } +} diff --git a/zhengcaioa/DTO/OrderBanciOrderDTO.cs b/zhengcaioa/DTO/OrderBanciOrderDTO.cs index 9d47c5f..04c1d3e 100644 --- a/zhengcaioa/DTO/OrderBanciOrderDTO.cs +++ b/zhengcaioa/DTO/OrderBanciOrderDTO.cs @@ -26,6 +26,7 @@ public DateTime Modifytime { get; set; } public string Shenfenzheng { get; set; } + public string OrderId { get; set; } } public class OrderBanciOrderDTOSearch : SearchEntity diff --git a/zhengcaioa/IServices/ICooperatecustomCustomerService.cs b/zhengcaioa/IServices/ICooperatecustomCustomerService.cs index 7ac1057..1ad0f92 100644 --- a/zhengcaioa/IServices/ICooperatecustomCustomerService.cs +++ b/zhengcaioa/IServices/ICooperatecustomCustomerService.cs @@ -24,5 +24,8 @@ List<CooperatecustomCustomerDTO> GetListsalaryqiandan(string userid, DateTime datemin, DateTime datemax); List<CooperatecustomCustomerDTO> GetListsalaryweixin(string userid, DateTime datemin, DateTime datemax); + + + ResultEntity saveyufukuan(CooperatecustomCustomerDTO cooperatecustomCustomerDTO); } } diff --git a/zhengcaioa/IServices/IFiCustomerrecievemoneyService.cs b/zhengcaioa/IServices/IFiCustomerrecievemoneyService.cs new file mode 100644 index 0000000..6327d61 --- /dev/null +++ b/zhengcaioa/IServices/IFiCustomerrecievemoneyService.cs @@ -0,0 +1,22 @@ +锘縰sing DTO; +using Microsoft.AspNetCore.Mvc.Rendering; +using System; +using System.Collections.Generic; +using System.Text; +using zhengcaioa.Models; + +namespace IServices +{ + public interface IFiCustomerrecievemoneyService + { + ResultEntity save(FiCustomerrecievemoneyDTO dto); + + FiCustomerrecievemoneyDTO Get(string id); + + ResultDataEntity<FiCustomerrecievemoneyDTO> SearchByPaging(FiCustomerrecievemoneyDTOSearch searchEntity); + + ResultEntity ModifyStatus(string id, string userid); + + List<FiCustomerrecievemoneyDTO> GetList(string customerid = ""); + } +} diff --git a/zhengcaioa/IServices/IOrderBanciOrderService.cs b/zhengcaioa/IServices/IOrderBanciOrderService.cs index 11ae723..0621440 100644 --- a/zhengcaioa/IServices/IOrderBanciOrderService.cs +++ b/zhengcaioa/IServices/IOrderBanciOrderService.cs @@ -17,5 +17,7 @@ ResultEntity ModifyStatus(string id, string userid); List<OrderBanciOrderDTO> GetList(string[] id); + + ResultEntity DeleteStatus(string OrderId); } } diff --git a/zhengcaioa/Model/FiCustomerrecievemoney.cs b/zhengcaioa/Model/FiCustomerrecievemoney.cs new file mode 100644 index 0000000..0690d01 --- /dev/null +++ b/zhengcaioa/Model/FiCustomerrecievemoney.cs @@ -0,0 +1,25 @@ +锘縰sing System; +using System.Collections.Generic; + +#nullable disable + +namespace zhengcaioa.Models +{ + public partial class FiCustomerrecievemoney + { + public string Id { get; set; } + public string CustomerId { get; set; } + public string PayType { get; set; } + public string SubjectId { get; set; } + public string AccountId { get; set; } + public string RecordTypeId { get; set; } + public decimal? Recievemoney { get; set; } + public DateTime PayTime { get; set; } + public string Remark { get; set; } + public string RecStatus { get; set; } + public string Creater { get; set; } + public DateTime Createtime { get; set; } + public string Modifier { get; set; } + public DateTime Modifytime { get; set; } + } +} diff --git a/zhengcaioa/Model/OrderBanciOrder.cs b/zhengcaioa/Model/OrderBanciOrder.cs index 2490bfa..5fbe3f1 100644 --- a/zhengcaioa/Model/OrderBanciOrder.cs +++ b/zhengcaioa/Model/OrderBanciOrder.cs @@ -25,5 +25,6 @@ public string Modifier { get; set; } public DateTime Modifytime { get; set; } public string Shenfenzheng { get; set; } + public string OrderId { get; set; } } } diff --git a/zhengcaioa/Model/zhengcaioaContext.cs b/zhengcaioa/Model/zhengcaioaContext.cs index 4a839aa..53daa49 100644 --- a/zhengcaioa/Model/zhengcaioaContext.cs +++ b/zhengcaioa/Model/zhengcaioaContext.cs @@ -62,6 +62,7 @@ public virtual DbSet<CusFangwenjilu> CusFangwenjilus { get; set; } public virtual DbSet<FiAccount> FiAccounts { get; set; } public virtual DbSet<FiAccountRecord> FiAccountRecords { get; set; } + public virtual DbSet<FiCustomerrecievemoney> FiCustomerrecievemoneys { get; set; } public virtual DbSet<FiOrderrecievemoney> FiOrderrecievemoneys { get; set; } public virtual DbSet<FiPiecerate> FiPiecerates { get; set; } public virtual DbSet<FiSubject> FiSubjects { get; set; } @@ -2818,6 +2819,72 @@ entity.Property(e => e.SubjectId).HasMaxLength(50); }); + modelBuilder.Entity<FiCustomerrecievemoney>(entity => + { + entity.ToTable("fi_Customerrecievemoney"); + + entity.Property(e => e.Id).HasMaxLength(50); + + entity.Property(e => e.AccountId).HasMaxLength(50); + + entity.Property(e => e.Creater) + .IsRequired() + .HasMaxLength(50) + .HasColumnName("creater") + .HasDefaultValueSql("('1')"); + + entity.Property(e => e.Createtime) + .HasColumnType("datetime") + .HasColumnName("createtime") + .HasDefaultValueSql("(getdate())"); + + entity.Property(e => e.CustomerId) + .HasMaxLength(50) + .HasComment("瀹㈡埛id"); + + entity.Property(e => e.Modifier) + .IsRequired() + .HasMaxLength(50) + .HasColumnName("modifier") + .HasDefaultValueSql("('1')"); + + entity.Property(e => e.Modifytime) + .HasColumnType("datetime") + .HasColumnName("modifytime") + .HasDefaultValueSql("(getdate())"); + + entity.Property(e => e.PayTime) + .HasColumnType("datetime") + .HasColumnName("pay_time") + .HasDefaultValueSql("(getdate())") + .HasComment("鏀舵鏃ユ湡"); + + entity.Property(e => e.PayType) + .HasMaxLength(50) + .HasColumnName("pay_type") + .HasComment("鏀舵鏂瑰紡"); + + entity.Property(e => e.RecStatus) + .IsRequired() + .HasMaxLength(1) + .HasColumnName("rec_status") + .HasDefaultValueSql("('A')"); + + entity.Property(e => e.Recievemoney) + .HasColumnType("numeric(18, 2)") + .HasColumnName("recievemoney") + .HasComment("鏀舵閲戦"); + + entity.Property(e => e.RecordTypeId).HasMaxLength(50); + + entity.Property(e => e.Remark) + .HasMaxLength(4000) + .HasColumnName("remark") + .HasComment("鏀舵澶囨敞"); + + entity.Property(e => e.SubjectId).HasMaxLength(50); + }); + modelBuilder.Entity<FiOrderrecievemoney>(entity => { entity.ToTable("fi_Orderrecievemoney"); @@ -4642,6 +4709,10 @@ .HasMaxLength(100) .HasColumnName("person_id"); + entity.Property(e => e.OrderId) + .HasMaxLength(100) + .HasColumnName("order_id"); + entity.Property(e => e.RecStatus) .IsRequired() .HasMaxLength(1) diff --git a/zhengcaioa/Services/CooperatecustomCustomerService.cs b/zhengcaioa/Services/CooperatecustomCustomerService.cs index da4db33..d28864a 100644 --- a/zhengcaioa/Services/CooperatecustomCustomerService.cs +++ b/zhengcaioa/Services/CooperatecustomCustomerService.cs @@ -114,6 +114,39 @@ return resultEntity; } + + public ResultEntity saveyufukuan(CooperatecustomCustomerDTO cooperatecustomCustomerDTO) + { + ResultEntity resultEntity = new ResultEntity(); + try + { + + + var cooperatecustomCustomer = _mapper.Map<CooperatecustomCustomer>(cooperatecustomCustomerDTO); + + + + var updateproject = _context.CooperatecustomCustomers.Find(cooperatecustomCustomer.Id); + + + updateproject.Yufukuan = cooperatecustomCustomer.Yufukuan; + updateproject.Shenyushouxin = cooperatecustomCustomer.Shenyushouxin; + updateproject.Shouxinedu = cooperatecustomCustomer.Shouxinedu; + + + _context.SaveChanges(); + resultEntity.ReturnID = cooperatecustomCustomer.Id; + resultEntity.Result = true; + } + catch (Exception ex) + { + resultEntity.Result = false; + resultEntity.Message = "淇濆瓨澶辫触锛岃鑱旂郴绠$悊鍛�"; + + } + return resultEntity; + } + public CooperatecustomCustomerDTO Get(string id) { diff --git a/zhengcaioa/Services/FiCustomerrecievemoneyService.cs b/zhengcaioa/Services/FiCustomerrecievemoneyService.cs new file mode 100644 index 0000000..1ca9a37 --- /dev/null +++ b/zhengcaioa/Services/FiCustomerrecievemoneyService.cs @@ -0,0 +1,252 @@ +锘縰sing System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using AutoMapper; +using DTO; +using IServices; +using Microsoft.AspNetCore.Mvc.Rendering; +using Microsoft.EntityFrameworkCore; +using zhengcaioa.Models; + +namespace Services +{ + public class FiCustomerrecievemoneyService: IFiCustomerrecievemoneyService + { + private readonly zhengcaioaContext _context; + private readonly IMapper _mapper; + public FiCustomerrecievemoneyService(zhengcaioaContext context, IMapper mapper) + { + _context = context; + _mapper = mapper; + } + public ResultEntity save(FiCustomerrecievemoneyDTO dto) + { + ResultEntity resultEntity = new ResultEntity(); + try + { + + + var entity = _mapper.Map<FiCustomerrecievemoney>(dto); + + + if (String.IsNullOrEmpty(entity.Id)) + { + entity.Id = Guid.NewGuid().ToString(); + _context.FiCustomerrecievemoneys.Add(entity); + } + else + { + var updateproject = _context.FiCustomerrecievemoneys.Find(entity.Id); + + updateproject.CustomerId = entity.CustomerId; + updateproject.Recievemoney = entity.Recievemoney; + updateproject.PayType = entity.PayType; + + updateproject.AccountId = entity.AccountId; + updateproject.SubjectId = entity.SubjectId; + updateproject.RecordTypeId = entity.RecordTypeId; + + updateproject.PayTime = entity.PayTime; + updateproject.Remark = entity.Remark; + updateproject.RecStatus = entity.RecStatus; + updateproject.Modifier = entity.Modifier; + updateproject.Modifytime = entity.Modifytime; + + } + + _context.SaveChanges(); + resultEntity.ReturnID = entity.Id; + resultEntity.Result = true; + } + catch (Exception ex) + { + resultEntity.Result = false; + resultEntity.Message = "淇濆瓨澶辫触锛岃鑱旂郴绠$悊鍛�"; + + } + return resultEntity; + } + + public FiCustomerrecievemoneyDTO Get(string id) + { + + var entity = _context.FiCustomerrecievemoneys.Find(id); + + if (entity.RecStatus != "A") + { + entity = new FiCustomerrecievemoney(); + } + + var result = _mapper.Map<FiCustomerrecievemoneyDTO>(entity); + + + return result; + } + + public ResultDataEntity<FiCustomerrecievemoneyDTO> SearchByPaging(FiCustomerrecievemoneyDTOSearch searchEntity) + { + + + + ResultDataEntity<FiCustomerrecievemoneyDTO> data = new ResultDataEntity<FiCustomerrecievemoneyDTO>(); + List<FiCustomerrecievemoneyDTO> list = new List<FiCustomerrecievemoneyDTO>(); + + + + + var listCode = (from a in _context.SysCodeDtls + join b in _context.SysCodes + on a.CodeId equals b.Id + where a.RecStatus == "A" + && b.RecStatus == "A" + select new CodeDataEntity() + { + CodeId = b.Id, + CodeTable = b.CodeTable, + CodeField = b.CodeField, + CodeSn = a.CodeSn, + Comments = a.Comments, + Contents = a.Contents, + RecStatus = a.RecStatus, + Sort = a.Sort + } + ); + DateTime PayTimestart = DateTime.Now; + DateTime PayTimeend = DateTime.Now; + if (!string.IsNullOrWhiteSpace(searchEntity.PayTime)) + { + string[] PayTimes = searchEntity.PayTime.Split("|"); + DateTime.TryParse(PayTimes[0], out PayTimestart); + DateTime.TryParse(PayTimes[1], out PayTimeend); + PayTimeend = PayTimeend.AddDays(1); + } + + ///FiCustomerrecievemoneys + var query = (from a in _context.FiCustomerrecievemoneys + join l in _context.CooperatecustomCustomers.Where(x => x.RecStatus == "A") + on a.CustomerId equals l.Id + into lsss + from lll in lsss.DefaultIfEmpty() + + + + + join e in listCode.Where(x => x.CodeTable == "fi_account" && x.CodeField == "accounttype") + on a.PayType equals e.CodeSn + into esssss + from eee in esssss.DefaultIfEmpty() + + + + + join g in _context.FiAccounts + on a.AccountId equals g.Id + into gsss + from ggg in gsss.DefaultIfEmpty() + + join h in _context.FiSubjects + on a.SubjectId equals h.Id + into hsss + from hhh in hsss.DefaultIfEmpty() + + join i in _context.PltUsers + on a.Creater equals i.Id + into isss + from iii in isss.DefaultIfEmpty() + + + + + + + where a.RecStatus == "A" + && (string.IsNullOrWhiteSpace(searchEntity.PayTime) || (a.Createtime >= PayTimestart && a.Createtime <= PayTimeend)) + && (!searchEntity.Recievemoney.HasValue || a.Recievemoney == searchEntity.Recievemoney) + && (string.IsNullOrWhiteSpace(searchEntity.CustomerId) || (a.CustomerId == searchEntity.CustomerId)) + + + + + + + select new FiCustomerrecievemoneyDTO + { + Id = a.Id, + CustomerId = a.CustomerId, + CustomerName = lll.Name, + PayType = a.PayType, + PayTypeName = eee.Comments, + SubjectId = a.SubjectId, + SubjectName = hhh.Subjectname, + AccountId = a.AccountId, + AccountName = ggg.Accountname, + Recievemoney = a.Recievemoney, + RecievemoneyName = a.Recievemoney.HasValue?a.Recievemoney.Value.ToString("f2"):"0", + Remark = a.Remark, + + Creater = a.Creater, + CreaterName = iii.UserName, + Createtime = a.Createtime, + CreatetimeName = a.Createtime.ToString("yyyy-MM-dd HH:mm:ss"), + RecStatus = a.RecStatus, + Modifier = a.Modifier, + Modifytime = a.Modifytime, + + + } + ).OrderByDescending(x => x.Createtime).ToList(); + + + + //if (searchEntity.totalrows == 0) + searchEntity.totalrows = query.Count(); + data.Heji1 = Math.Round(query.Sum(x => x.Recievemoney) ?? 0, 2); + var lianlist = query.Skip((searchEntity.page - 1) * searchEntity.rows).Take(searchEntity.rows).ToList(); + data.DangyeHeji1 = Math.Round(lianlist.Sum(x => x.Recievemoney) ?? 0, 2); + data.LoadData(searchEntity, lianlist); + return data; + } + + + + + + + /// <summary> + /// 淇敼涓昏〃鐘舵�� + /// </summary> + /// <param name="id">涓籭d</param> + /// <param name="userid">鐢ㄦ埛</param> + /// <returns></returns> + public ResultEntity ModifyStatus(string id, string userid) + { + ResultEntity result = new ResultEntity(); + result.Result = true; + + var model = _context.FiCustomerrecievemoneys.Find(id); + if (model != null) + { + model.RecStatus = "D"; + model.Modifier = userid; + model.Modifytime = DateTime.Now; + _context.SaveChanges(); + } + + return result; + } + + public List<FiCustomerrecievemoneyDTO> GetList(string customerid = "") + { + + var entity = _context.FiCustomerrecievemoneys.Where(x => x.CustomerId == customerid && x.RecStatus == "A"); + + + + var result = _mapper.Map<List<FiCustomerrecievemoneyDTO>>(entity); + + + return result; + } + } +} diff --git a/zhengcaioa/Services/OrderBanciOrderService.cs b/zhengcaioa/Services/OrderBanciOrderService.cs index b7b7bc7..38a6e37 100644 --- a/zhengcaioa/Services/OrderBanciOrderService.cs +++ b/zhengcaioa/Services/OrderBanciOrderService.cs @@ -59,6 +59,7 @@ updateproject.Modifier = entity.Modifier; updateproject.Modifytime = entity.Modifytime; updateproject.Shenfenzheng = entity.Shenfenzheng; + updateproject.OrderId = entity.OrderId; } _context.SaveChanges(); @@ -251,5 +252,33 @@ return result; } + + /// <summary> + /// 淇敼涓昏〃鐘舵�� + /// </summary> + /// <param name="id">涓籭d</param> + /// <param name="userid">鐢ㄦ埛</param> + /// <returns></returns> + public ResultEntity DeleteStatus(string OrderId) + { + ResultEntity result = new ResultEntity(); + result.Result = true; + + if (string.IsNullOrEmpty(OrderId)) + { + result.Result = false; + result.Message = "蹇呴』濉啓璁㈠崟id"; + } + var model = _context.OrderBanciOrders.Where(x=>x.OrderId == OrderId).FirstOrDefault(); + if (model != null) + { + model.RecStatus = "D"; + model.Modifier = "1"; + model.Modifytime = DateTime.Now; + _context.SaveChanges(); + } + + return result; + } } } diff --git a/zhengcaioa/zhengcaioa/Controllers/BusinessOrder/OrderBanciOrderController.cs b/zhengcaioa/zhengcaioa/Controllers/BusinessOrder/OrderBanciOrderController.cs index 3c940aa..0a68126 100644 --- a/zhengcaioa/zhengcaioa/Controllers/BusinessOrder/OrderBanciOrderController.cs +++ b/zhengcaioa/zhengcaioa/Controllers/BusinessOrder/OrderBanciOrderController.cs @@ -388,5 +388,45 @@ return new JsonResult(returnMsg); } + + /// <summary> + /// 淇濆瓨 + /// </summary> + /// <param name="data">宀椾綅瀹炰綋绫诲璞�</param> + /// <returns></returns> + /// + public IActionResult Delete(string OrderId) + { + //var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User")); + //ViewData["curentuser"] = curentuser; + ReturnMsg<OrderBanciOrderDTO> returnMsg = new ReturnMsg<OrderBanciOrderDTO>(); + returnMsg.code = 2; + try + { + + ResultEntity resultEntity = _orderBanciOrderService.DeleteStatus(OrderId); + if (resultEntity.Result) + { + returnMsg.code = 1; + returnMsg.count = 1; + returnMsg.returnObj = null; + } + else + { + returnMsg.error = resultEntity.Message; + } + + } + catch (Exception ex) + { + returnMsg.code = 2; + returnMsg.error = "娌℃湁鑾峰彇鍒皌oken"; + returnMsg.count = 0; + + } + + return new JsonResult(returnMsg); + } + } } diff --git a/zhengcaioa/zhengcaioa/Controllers/Finance/FiOrderrecievemoneyController.cs b/zhengcaioa/zhengcaioa/Controllers/Finance/FiOrderrecievemoneyController.cs index 6e84141..f911f40 100644 --- a/zhengcaioa/zhengcaioa/Controllers/Finance/FiOrderrecievemoneyController.cs +++ b/zhengcaioa/zhengcaioa/Controllers/Finance/FiOrderrecievemoneyController.cs @@ -34,11 +34,13 @@ private readonly ICooperatecustomCustomerService _cooperatecustomCustomerService; private readonly IProjectService _projectService; private readonly IUserService _userService; + private readonly IFiCustomerrecievemoneyService _fiCustomerrecievemoneyService; public FiOrderrecievemoneyController(ILogger<FiOrderrecievemoneyController> logger, ILiaotianService liaotianService, IFiOrderrecievemoneyService fiOrderrecievemoneyService, ICooperOrderService cooperOrderService, IFiSubjectService ifiSubjectService , IFiAccountService fiAccountService, IFiAccountRecordService iFiAccountRecordService, ICooperatecustomCustomerService cooperatecustomCustomerService , IProjectService projectService - , IUserService userService) + , IUserService userService + , IFiCustomerrecievemoneyService fiCustomerrecievemoneyService) { _logger = logger; _liaotianService = liaotianService; @@ -50,6 +52,7 @@ _cooperatecustomCustomerService = cooperatecustomCustomerService; _projectService = projectService; _userService = userService; + _fiCustomerrecievemoneyService = fiCustomerrecievemoneyService; } public IActionResult Index() @@ -255,5 +258,145 @@ return View(); } + + + public IActionResult EditCustomer(string id = null, string CustomerId = null) + { + var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User")); + ViewData["curentuser"] = curentuser; + + FiCustomerrecievemoneyDTO dto = new FiCustomerrecievemoneyDTO(); + if (!String.IsNullOrEmpty(id)) + { + dto = _fiCustomerrecievemoneyService.Get(id); + } + else + { + dto.PayTime = DateTime.Now; + dto.CustomerId = CustomerId; + } + + var cooperatecustomCustomerDTO = _cooperatecustomCustomerService.Get(CustomerId); + + dto.CustomerName = cooperatecustomCustomerDTO.Name; + dto.Yufukuan = cooperatecustomCustomerDTO.Yufukuan??0; + + + + ViewBag.PayType = _liaotianService.GetSYScode("fi_account", "accounttype"); + ViewBag.accounttype = _liaotianService.GetSYScode("fi_account", "accounttype"); + ViewBag.FiSubject = _ifiSubjectService.GetList().Where(x => x.Subjecttype == "01").ToList(); + + + + + + ViewData.Model = dto; + return View(); + } + + + /// <summary> + /// 淇濆瓨 + /// </summary> + /// <param name="data">宀椾綅瀹炰綋绫诲璞�</param> + /// <returns></returns> + /// + [HttpPost] + public IActionResult SaveCustomer(FiCustomerrecievemoneyDTO data) + { + ResultEntity resultEntity = new ResultEntity(); + var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User")); + ViewData["curentuser"] = curentuser; + using (TransactionScope scope = new TransactionScope()) + { + data.RecStatus = "A"; + if (String.IsNullOrEmpty(data.Id)) + { + data.Creater = curentuser.Id; + data.Createtime = DateTime.Now; + } + data.Modifier = curentuser.Id; + data.Modifytime = DateTime.Now; + + resultEntity = _fiCustomerrecievemoneyService.save(data); + CooperatecustomCustomerDTO cooperatecustomCustomerDTO = _cooperatecustomCustomerService.Get(data.CustomerId); + if(cooperatecustomCustomerDTO.Yufukuan.HasValue) + cooperatecustomCustomerDTO.Yufukuan = cooperatecustomCustomerDTO.Yufukuan.Value + data.Recievemoney.Value; + else + cooperatecustomCustomerDTO.Yufukuan = data.Recievemoney.Value; + resultEntity = _cooperatecustomCustomerService.saveyufukuan(cooperatecustomCustomerDTO); + FiAccountRecordDTO data1 = new FiAccountRecordDTO(); + data1.RecStatus = "A"; + data1.Creater = curentuser.Id; + data1.Createtime = DateTime.Now; + data1.Modifier = curentuser.Id; + data1.Modifytime = DateTime.Now; + data1.SubjectId = data.SubjectId; + + data1.AccountId = data.AccountId; + data1.Money = data.Recievemoney; + data1.PaymentUnit = cooperatecustomCustomerDTO.Name; + data1.OperationalMatters ="瀹㈡埛棰勪粯娆撅細" + data.Remark; + + + + FiAccountDTO firmAccount = _fiAccountService.Get(data1.AccountId); + + + data1.RecordTypeId = "1";//鏀跺叆 + data1.Department = ""; + + + + firmAccount.AllIncome = (firmAccount.AllIncome ?? 0) + data1.Money; + firmAccount.Balance = (firmAccount.Balance ?? 0) + data1.Money; + + data1.AccountMoney = firmAccount.Balance; + resultEntity = _iFiAccountRecordService.save(data1); + resultEntity = _fiAccountService.save(firmAccount); + scope.Complete(); + } + + return new JsonResult(resultEntity); + } + + + + public IActionResult IndexCustomerdtl(string CustomerId) + { + var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User")); + ViewData["curentuser"] = curentuser; + List<ActionEntity> actionlist = new List<ActionEntity>(); + ActionEntity actionEntity = new ActionEntity(); + actionEntity.OpenType = 0; + actionEntity.ActionUrl = ""; + actionEntity.ActionFun = "Search"; + actionEntity.PageIco = "fa fa-search"; + actionEntity.ActionName = "鏌ヨ"; + actionlist.Add(actionEntity); + ViewData["ActionInfo"] = actionlist; + + ViewBag.CustomerId = CustomerId; + + + + + + return View(); + + } + + + + + public IActionResult GetListCustomerdel(FiCustomerrecievemoneyDTOSearch search) + { + var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User")); + ViewData["curentuser"] = curentuser; + //JsonResult jsonResult = new JsonResult(_liaotianService.SearchByPaging(search), new Newtonsoft.Json.Serialization.DefaultContractResolver()); + return new JsonResult(_fiCustomerrecievemoneyService.SearchByPaging(search)); + } + } } diff --git a/zhengcaioa/zhengcaioa/Startup.cs b/zhengcaioa/zhengcaioa/Startup.cs index a7dc189..72ce521 100644 --- a/zhengcaioa/zhengcaioa/Startup.cs +++ b/zhengcaioa/zhengcaioa/Startup.cs @@ -156,6 +156,7 @@ services.AddScoped(typeof(IAskService), typeof(AskService)); services.AddScoped(typeof(IAdmGoodsRecordService), typeof(AdmGoodsRecordService)); services.AddScoped(typeof(IExpertTestTopicService), typeof(ExpertTestTopicService)); + services.AddScoped(typeof(IFiCustomerrecievemoneyService), typeof(FiCustomerrecievemoneyService)); //zcweb services.AddScoped(typeof(IDtChannelArticleNewsService), typeof(DtChannelArticleNewsService)); diff --git a/zhengcaioa/zhengcaioa/Views/FiOrderrecievemoney/EditCustomer.cshtml b/zhengcaioa/zhengcaioa/Views/FiOrderrecievemoney/EditCustomer.cshtml new file mode 100644 index 0000000..b83a526 --- /dev/null +++ b/zhengcaioa/zhengcaioa/Views/FiOrderrecievemoney/EditCustomer.cshtml @@ -0,0 +1,386 @@ +锘緻model DTO.FiCustomerrecievemoneyDTO +@using DTO; +@using zhengcaioa.Models; +@{ + + + List<SysCodeDtl> PayType = ViewData["PayType"] as List<SysCodeDtl>; //浠樻绫诲瀷 + + List<FiSubjectDTO> FiSubject = ViewData["FiSubject"] as List<FiSubjectDTO>; //绉戠洰 + + + List<SysCodeDtl> accounttype = ViewData["accounttype"] as List<SysCodeDtl>; //璐︽埛绫诲瀷 + +} +@{ + Layout = null; +} + +<!DOCTYPE html> +<html> +<head> + <meta charset="utf-8"> + <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0"> + <meta name="description" content=""> + <meta name="author" content="ThemeBucket"> + <title>@(SiteConfig.SiteName)</title> + <link href="~/css/bootstrap.min.css" rel="stylesheet"> + <link href="~/css/font-awesome.min.css" rel="stylesheet"> + <link href="~/css/animate.min.css" rel="stylesheet"> + + @*<link href="~/css/plugins/iCheck/custom.css" rel="stylesheet">*@ + <link href="~/css/style.min.css" rel="stylesheet"> + <link href="~/css/plugins/chosen/chosen.css" rel="stylesheet"> + @*<link href="~/js/plugins/layer/skin/layer.css" rel="stylesheet">*@ + @*<link href="~/css/plugins/datapicker/datepicker3.css" rel="stylesheet">*@ + <link href="~/css/style.min.css" rel="stylesheet"> + <link href="~/css/plugins/toastr/toastr.min.css" rel="stylesheet" /> + <link href="~/css/plugins/webuploader/webuploader.css" rel="stylesheet" /> + + <style type="text/css"> + .webuploader-pick { + position: relative; + display: inline-block; + cursor: pointer; + background: #00b7ee; + padding: 8px 14px 7px 14px; + color: #fff; + text-align: center; + border-radius: 3px; + overflow: hidden; + } + + div.clearfix > label { + padding-top: 8px; + } + + .chosen-container { + border-radius: 1px; + border: 1px solid #e5e6e7; + } + + .col-md-1.control-label { + padding-right: 0px; + font-weight: 400; + } + </style> + + <!-- jqgrid--> + @*<link href="~/css/plugins/jqgrid/ui.jqgrid.css" rel="stylesheet">*@ + <script language="javascript" src="~/js/jquery.min.js" type="text/javascript"></script> + <script src="~/js/bootstrap.min.js"></script> + @*<script src="~/js/plugins/bootstro/bootstro.js"></script>*@ + + <!--瀹瑰櫒--> + @*<script language="javascript" src="~/js/datehelper.js" type="text/javascript"></script>*@ + @*<script language="javascript" src="~/js/plugins/query/jquery.query-object.js" type="text/javascript"></script>*@ + @*<script language="javascript" src="~/js/plugins/iCheck/icheck.min.js" type="text/javascript"></script>*@ + <script language="javascript" src="~/js/plugins/chosen/chosen.jquery.js" type="text/javascript"></script> + @*<script language="javascript" src="~/js/plugins/datapicker/bootstrap-datepicker.js" type="text/javascript"></script>*@ + <script language="javascript" src="~/js/plugins/layer/layer.js" type="text/javascript"></script> + @*<script src="~/js/plugins/jqgrid/jquery.jqGrid.min.js" type="text/javascript"></script>*@ + @*<script src="~/js/plugins/jqgrid/i18n/grid.locale-cn.js" type="text/javascript"></script>*@ + <script src="~/js/plugins/toastr/toastr.min.js" type="text/javascript"></script> + <script src="~/js/plugins/webuploader/webuploader.min.js"></script> + + <script language="javascript" src="~/js/common-layout.js" type="text/javascript"></script> + <script src="~/js/plugins/layer/laydate/laydate.js" type="text/javascript"></script> + @*<script src="~/js/plugins/iTexbox/itextbox.js" type="text/javascript"></script>*@ + @*<script src="~/js/plugins/iuploader/iuploader.js"></script>*@ + <script src="~/js/TUJS.js"></script> +</head> +<body class="gray-bg" style="overflow:auto"> + <form id="formtest"> + <div class="wrapper wrapper-content" id="ibox-content" style="padding:15px;"> + <div class="row"> + <div class="col-sm-12"> + <div class="ibox float-e-margins"> + <div class="ibox-title"> + <h5> <i class="fa fa-list"></i> 鍩烘湰淇℃伅</h5> + </div> + <div id="div_content" class="ibox-content" style="background-color:white;"> + <div class="row"> + <div class="clearfix layer-area" style="padding-bottom:15px;"> + <label class="text-right col-sm-1 col-md-1 control-label">瀹㈡埛鍚嶇О锛�</label> + <label class="text-left col-sm-1 col-md-1 control-label"> @Model.CustomerName </label> + <label class="text-left col-sm-1 col-md-1 control-label"> </label> + <label class="text-right col-sm-1 col-md-1 control-label">棰勪粯娆句綑棰濓紙鍏冿級锛�</label> + <label class="text-left col-sm-1 col-md-1 control-label"> @Model.Yufukuan.ToString("F2") </label> + <label class="text-left col-sm-1 col-md-1 control-label"> </label> + <label grouptype="Vdata" class="text-right col-sm-1 col-md-1 control-label">瀛樺叆閲戦锛堝厓锛夛細<i class="red">*</i></label> + <div class="col-sm-2 col-md-2" grouptype="Vdata"> + <input class="form-control" label="瀛樺叆閲戦锛堝厓锛�" name="Recievemoney" id="Recievemoney" labtype="txt" addvisible="true" editvisible="true" reg="" ismust="true" type="number" value="" oninput="if(value.length>8)value=value.slice(0,18)" onkeyup="CheckNum(this);"> + + </div> + </div> + <div class="clearfix layer-area" style="padding-bottom:15px;"> + + <label class="text-right col-sm-1 col-md-1 control-label">鏀舵鏂瑰紡锛�<i class="red">*</i></label> + <div class="col-sm-2 col-md-2"> + <select id="PayType" class="form-control" name="PayType" data-placeholder="閫夋嫨 搴忓垪 ..."> + @foreach (var item in PayType) + { + @if (!item.CodeSn.Equals(Model.PayType)) + { + <option value="@item.CodeSn" hassubinfo="true"> + @item.Comments + </option> + } + else + { + <option value="@item.CodeSn" hassubinfo="true" selected="selected"> + @item.Comments + </option> + } + + } + } + + </select> + <input type="hidden" id="CustomerId" name="CustomerId" value="@Model.CustomerId" /> + </div> + + + + + + + + + <label grouptype="Vdata" class="text-right col-sm-1 col-md-1 control-label">璐︽埛鍚嶇О锛�<i class="red">*</i></label> + <div class="col-sm-2 col-md-2" grouptype="Vdata"> + <select id="AccountId" class="form-control" name="AccountId" data-placeholder="閫夋嫨 搴忓垪 ..."> + <option value="" hassubinfo="true">璇烽�夋嫨</option> + + + </select> + + </div> + + + <label grouptype="Vdata" class="text-right col-sm-1 col-md-1 control-label">绉戠洰鍚嶇О锛�<i class="red">*</i></label> + <div class="col-sm-2 col-md-2" grouptype="Vdata"> + <select id="SubjectId" class="form-control" name="SubjectId" data-placeholder="閫夋嫨 搴忓垪 ..."> + <option value="" hassubinfo="true">璇烽�夋嫨</option> + @foreach (var item in FiSubject) + { + @if (!item.Id.Equals(Model.SubjectId)) + { + <option value="@item.Id" hassubinfo="true"> + @item.Subjectname + </option> + } + else + { + <option value="@item.Id" hassubinfo="true" selected="selected"> + @item.Subjectname + </option> + } + + } + } + + </select> + + </div> + + </div> + + + + + + + + <div class="clearfix layer-area" style="padding-bottom:15px;"> + <label grouptype="Vdata" class="text-right col-sm-1 col-md-1 control-label">澶囨敞</label> + <div class="col-sm-8 col-md-8"> + <textarea class="form-control bt" id="Remark" name="Remark" title="澶囨敞" isempty="" maxlength="4000" length="long">@Model.Remark</textarea> + </div> + + </div> + + + + + </div> + </div> + </div> + </div> + </div> + </div> + <div class="wrapper wrapper-content" style="margin-top:0px"></div> + <div class="ibox-content" id="top" style="z-index:100; position:fixed; height:50px; width:100%;bottom:0; text-align: right; padding-top:8px "> + <div class="" style="float:right;" data-bootstro-width="500px" data-bootstro-content="鍔熻兘鎸夐挳锛氣�滀繚瀛樷�濓紝鈥滃垹闄も��"> + + + <a class="btn btn-success" href="javascript:void(0)" onclick="savePosition();" style="margin-left:4px; border-radius:4px;"> + <i class="glyphicon glyphicon-ok"></i> <span class="bold">鎻愪氦</span> + </a> + </div> + </div> + + </form> + <script type="text/javascript"> + var hh = document.body.clientHeight - $('.ibox-title').height() - $("#top").height() * 2 - 95; + $("#div_content").height(hh); + + toastr.options = { + "closeButton": true, + "debug": false, + "progressBar": true, + "positionClass": "toast-bottom-right", + "onclick": null, + "showDuration": "300", + "hideDuration": "600", + "timeOut": "4500", + "extendedTimeOut": "600", + "showEasing": "swing", + "hideEasing": "linear", + "showMethod": "fadeIn", + "hideMethod": "fadeOut" + }; + + + + + //laydate({ elem: "#PayTime", format: 'YYYY/MM/DD', istime: true, event: "focus" }); + + + + + // 淇濆瓨宀椾綅淇℃伅 + var savePosition = function () { + + + + if ($("#Recievemoney").val() == '') { + toastr.warning("鏀舵閲戦涓嶈兘涓虹┖"); + return; + } + if ($("#PayType").val() == '') { + toastr.warning("鏀舵鏂瑰紡涓嶈兘涓虹┖"); + return; + } + //if ($("#PayTime").val() == '') { + // toastr.warning("鏀舵鏃ユ湡涓嶈兘涓虹┖"); + // return; + //} + if ($("#AccountId").val() == '') { + toastr.warning("鏀舵璐︽埛涓嶈兘涓虹┖"); + return; + } + if ($("#SubjectId").val() == '') { + toastr.warning("鏀舵绉戠洰涓嶈兘涓虹┖"); + return; + } + if (parseFloat($("#Recievemoney").val()) < 0) { + toastr.warning("鏀舵閲戦涓嶈兘灏忎簬0"); + return; + } + + //if (parseFloat($("#Recievemoney").val()) > parseFloat($("#WeishouMoney").html().trim())) { + + // toastr.warning("鏈鏀舵閲戦澶т簬璁㈠崟鏈粯娆�!涓轰簡鎮ㄧ殑璐﹀姟姝g‘鎬ц閲嶆柊澶嶆煡锛�"); + // return; + //} + + + + //var data = { id: $("#Id").val(), StartTime:$("#StartTime").val(), Sheng: $("#Sheng").val(), job_level: $("#Job_level").val().toString(), ExistsAttachment: fileId != "" } + $.ajax({ + type: "POST", + url: "/FiOrderrecievemoney/SaveCustomer", + dataType: "json", + global: false, + data: $('form').serializeArray(), + success: function (data) { + + + + if (data.Result) { + // parent._afterSave(true); + parent.layer.msg('鎴愬姛淇濆瓨', { icon: 6 }); + //window.location = "/Project/add?id=" + data.ReturnID; + + + try { + _pageAutoClose();//鑷姩鍏抽棴椤甸潰鏂规硶 + } + catch (err) { + parent._CloseTab1("/FiOrderrecievemoney/EditCustomer/"); + } + + } + else { + // toastr.error("澶辫触"); + parent.layer.msg(data.Message, { icon: 5 }); + } + + }, + error: function () { + + + parent.layer.msg('澶辫触', { icon: 5 }); + } + }); + } + + + + $("#PayType").change(function () { + + var PayType = $("#PayType").val(); + $.ajax({ + type: "GET", + url: "/FiAccountIncome/getAccount?Accounttype=" + PayType, + dataType: "json", + global: false, + data: "", + success: function (data) { + + var city = $("#AccountId"); + city.find('option').remove(); + var aaa = '<option value="" hassubinfo="true">璇烽�夋嫨</option>'; + city.append(aaa); + if (data.length > 0) { + for (var i = 0; i < data.length; i++) { + + var o = '<option value="' + data[i].Id + '" hassubinfo="true">' + data[i].Accountname + '</option>'; + city.append(o); + } + } + }, + error: function () { + + + parent.layer.msg('澶辫触', { icon: 5 }); + } + }); + }); + + $("#PayType").trigger("change"); + + + function _pageAutoClose() { + parent.window._reloadPageData(); + var index = parent.layer.getFrameIndex(window.name); + parent.layer.isRefresh = true; + parent.layer.closeAll('loading'); + parent.layer.close(index); + return false; + } + //鐢ㄦ埛鍙兘杈撳叆姝h礋鏁颁笌灏忔暟 + function CheckNum(obj) { + + if (isNaN(obj.value) && !/^-$/.test(obj.value)) { + obj.value = ""; + } + if (!/^[+-]?\d*\.{0,1}\d{0,1}$/.test(obj.value)) { + obj.value = obj.value.replace(/\.\d{2,}$/, obj.value.substr(obj.value.indexOf('.'), 3)); + } + + } + </script> +</body> +</html> \ No newline at end of file diff --git a/zhengcaioa/zhengcaioa/Views/FiOrderrecievemoney/IndexCustomer.cshtml b/zhengcaioa/zhengcaioa/Views/FiOrderrecievemoney/IndexCustomer.cshtml index dfc539f..7d75c5b 100644 --- a/zhengcaioa/zhengcaioa/Views/FiOrderrecievemoney/IndexCustomer.cshtml +++ b/zhengcaioa/zhengcaioa/Views/FiOrderrecievemoney/IndexCustomer.cshtml @@ -32,7 +32,13 @@ { label: '瀛樻', name: 'Name111', labtype: 'txt', hidden: false, width: 100, formatter: function (cellvalue, options, rowObject) { - return "<a onclick=\"OpenWindow('瀛樻','98%','100%', '/CooperVisit/Edit?id=&Viscustomer=" + rowObject.Id + "')\" >瀛樻</a>"; + return "<a onclick=\"OpenWindow('瀛樻','100%','100%', '/FiOrderrecievemoney/EditCustomer?id=&CustomerId=" + rowObject.Id + "')\" >瀛樻</a>"; + } + }, + { + label: '瀛樻鏄庣粏', name: 'Name111111', labtype: 'txt', hidden: false, width: 100, + formatter: function (cellvalue, options, rowObject) { + return "<a onclick=\"OpenWindow('" + rowObject.Name+"瀛樻鏄庣粏','100%','100%', '/FiOrderrecievemoney/IndexCustomerdtl?id=&CustomerId=" + rowObject.Id + "')\" >瀛樻鏄庣粏</a>"; } }, diff --git a/zhengcaioa/zhengcaioa/Views/FiOrderrecievemoney/IndexCustomerdtl.cshtml b/zhengcaioa/zhengcaioa/Views/FiOrderrecievemoney/IndexCustomerdtl.cshtml new file mode 100644 index 0000000..14f16fa --- /dev/null +++ b/zhengcaioa/zhengcaioa/Views/FiOrderrecievemoney/IndexCustomerdtl.cshtml @@ -0,0 +1,77 @@ +锘緻{ + ViewBag.Title = "FiOrderrecievemoney"; + Layout = "~/Views/Shared/_Layout_Search.cshtml"; +} +@section headerStyle{ + <script type="text/javascript"> + var OrderType = '@Html.Raw(Newtonsoft.Json.JsonConvert.SerializeObject(ViewBag.OrderType))'; + + var Fkzt = '@Html.Raw(Newtonsoft.Json.JsonConvert.SerializeObject(ViewBag.Fkzt))'; + + var CustomerId = '@Html.Raw(ViewBag.CustomerId)'; + + loseherght = 30; + dataCol = [ + { label: 'id', name: 'Id', labtype: 'txt', hidden: true }, + { label: '鎿嶄綔閲戦', name: 'RecievemoneyName', labtype: 'txt', hidden: false, width: 100 }, + { + label: '鏀舵鏂瑰紡', name: 'PayTypeName', labtype: 'txt', hidden: false, width: 100 + }, + + { label: '璐︽埛鍚嶇О', name: 'AccountName', labtype: 'txt', hidden: false, width: 100 }, + { label: '绉戠洰鍚嶇О', name: 'SubjectName', labtype: 'txt', hidden: false, width: 100 }, + + { label: '鎿嶄綔浜�', name: 'CreaterName', labtype: 'txt', hidden: false, width: 100 }, + { label: '澶囨敞', name: 'Remark', labtype: 'txt', hidden: false, width: 200 }, + + { label: '鎿嶄綔鏃堕棿', name: 'CreatetimeName', labtype: 'txt', hidden: false, width: 100 }, + + + ]; + dataUrl = "/FiOrderrecievemoney/GetListCustomerdel?CustomerId=" + CustomerId; + searchCol = [ + { label: '鎿嶄綔鏃堕棿', name: 'PayTime', labtype: 'datearea', hidden: false }, + + + { label: '閲戦', name: 'Recievemoney', labtype: 'txt', hidden: false }, + + + + + + + + ]; + + + + + var _afterSave = function (result) { + if (result) { + toastr.success("淇濆瓨鎴愬姛"); + } else { + toastr.error("淇濆瓨澶辫触"); + } + } + + var _afterDel = function (result) { + if (result) { + toastr.success("鍒犻櫎鎴愬姛"); + } else { + /**/ + toastr.error("鍒犻櫎鎴愬姛"); + /**/ + } +} + </script> +} + +@section footerScripts{ + <script type="text/javascript"> + + + + + + </script> +} -- Gitblit v1.9.1