2024-05-29 | username@email.com | ![]() |
2024-05-29 | username@email.com | ![]() |
CoreCms.Net.IRepository/baifenbinfa/IPuhuoRepository.cs
New file @@ -0,0 +1,116 @@ /*********************************************************************** * Project: baifenBinfa * ProjectName: 百分兵法管理系统 * Web: http://chuanyin.com * Author: * Email: * CreateTime: 2024/5/24 11:11:45 * Description: 暂无 ***********************************************************************/ using System; using System.Collections.Generic; using System.Linq.Expressions; using System.Threading.Tasks; using CoreCms.Net.Model.Entities; using CoreCms.Net.Model.Entities.baifenbingfa.puhuo; using CoreCms.Net.Model.ViewModels.Basics; using CoreCms.Net.Model.ViewModels.UI; using SqlSugar; namespace CoreCms.Net.IRepository { /// <summary> /// 铺货 工厂接口 /// </summary> public interface IPuhuoRepository : IBaseRepository<Puhuo> { #region 重写增删改查操作=========================================================== /// <summary> /// 重写异步插入方法 /// </summary> /// <param name="entity"></param> /// <returns></returns> Task<AdminUiCallBack> InsertAsync(Puhuo entity); /// <summary> /// 重写异步更新方法 /// </summary> /// <param name="entity"></param> /// <returns></returns> Task<AdminUiCallBack> UpdateAsync(Puhuo entity); /// <summary> /// 重写异步更新方法 /// </summary> /// <param name="entity"></param> /// <returns></returns> Task<AdminUiCallBack> UpdateAsync(List<Puhuo> entity); /// <summary> /// 重写删除指定ID的数据 /// </summary> /// <param name="id"></param> /// <returns></returns> Task<AdminUiCallBack> DeleteByIdAsync(object id); /// <summary> /// 重写删除指定ID集合的数据(批量删除) /// </summary> /// <param name="ids"></param> /// <returns></returns> Task<AdminUiCallBack> DeleteByIdsAsync(int[] ids); #endregion #region 获取缓存的所有数据========================================================== /// <summary> /// 获取缓存的所有数据 /// </summary> /// <returns></returns> Task<List<Puhuo>> GetCaChe(); #endregion /// <summary> /// 重写根据条件查询分页数据 /// </summary> /// <param name="predicate">判断集合</param> /// <param name="orderByType">排序方式</param> /// <param name="pageIndex">当前页面索引</param> /// <param name="pageSize">分布大小</param> /// <param name="orderByExpression"></param> /// <param name="blUseNoLock">是否使用WITH(NOLOCK)</param> /// <returns></returns> Task<IPageList<Puhuo>> QueryPageAsync( Expression<Func<Puhuo, bool>> predicate, Expression<Func<Puhuo, object>> orderByExpression, OrderByType orderByType, int pageIndex = 1, int pageSize = 20, bool blUseNoLock = false); /// <summary> /// 重写根据条件查询分页数据 /// </summary> /// <param name="predicate">判断集合</param> /// <param name="orderByType">排序方式</param> /// <param name="pageIndex">当前页面索引</param> /// <param name="pageSize">分布大小</param> /// <param name="orderByExpression"></param> /// <param name="blUseNoLock">是否使用WITH(NOLOCK)</param> /// <returns></returns> Task<IPageList<Puhuo>> QueryPageGroupAsync( Expression<Func<Puhuo, bool>> predicate, Expression<Func<Puhuo, object>> orderByExpression, OrderByType orderByType, int pageIndex = 1, int pageSize = 20, bool blUseNoLock = false); } } CoreCms.Net.IServices/baifenbingfa/IPuhuoServices.cs
New file @@ -0,0 +1,112 @@ /*********************************************************************** * Project: baifenBinfa * ProjectName: 百分兵法管理系统 * Web: http://chuanyin.com * Author: * Email: * CreateTime: 2024/5/24 11:11:45 * Description: 暂无 ***********************************************************************/ using System; using System.Collections.Generic; using System.Linq.Expressions; using System.Threading.Tasks; using CoreCms.Net.Model.Entities; using CoreCms.Net.Model.Entities.baifenbingfa.puhuo; using CoreCms.Net.Model.ViewModels.Basics; using CoreCms.Net.Model.ViewModels.UI; using SqlSugar; namespace CoreCms.Net.IServices { /// <summary> /// 铺货 服务工厂接口 /// </summary> public interface IPuhuoServices : IBaseServices<Puhuo> { #region 重写增删改查操作=========================================================== /// <summary> /// 重写异步插入方法 /// </summary> /// <param name="entity"></param> /// <returns></returns> Task<AdminUiCallBack> InsertAsync(Puhuo entity); /// <summary> /// 重写异步更新方法 /// </summary> /// <param name="entity"></param> /// <returns></returns> Task<AdminUiCallBack> UpdateAsync(Puhuo entity); /// <summary> /// 重写异步更新方法 /// </summary> /// <param name="entity"></param> /// <returns></returns> Task<AdminUiCallBack> UpdateAsync(List<Puhuo> entity); /// <summary> /// 重写删除指定ID的数据 /// </summary> /// <param name="id"></param> /// <returns></returns> Task<AdminUiCallBack> DeleteByIdAsync(object id); /// <summary> /// 重写删除指定ID集合的数据(批量删除) /// </summary> /// <param name="ids"></param> /// <returns></returns> Task<AdminUiCallBack> DeleteByIdsAsync(int[] ids); #endregion #region 获取缓存的所有数据========================================================== /// <summary> /// 获取缓存的所有数据 /// </summary> /// <returns></returns> Task<List<Puhuo>> GetCaChe(); #endregion #region 重写根据条件查询分页数据 /// <summary> /// 重写根据条件查询分页数据 /// </summary> /// <param name="predicate">判断集合</param> /// <param name="orderByType">排序方式</param> /// <param name="pageIndex">当前页面索引</param> /// <param name="pageSize">分布大小</param> /// <param name="orderByExpression"></param> /// <param name="blUseNoLock">是否使用WITH(NOLOCK)</param> /// <returns></returns> Task<IPageList<Puhuo>> QueryPageAsync( Expression<Func<Puhuo, bool>> predicate, Expression<Func<Puhuo, object>> orderByExpression, OrderByType orderByType, int pageIndex = 1, int pageSize = 20, bool blUseNoLock = false); #endregion #region 重写根据条件查询分页数据 /// <summary> /// 重写根据条件查询分页数据 /// </summary> /// <param name="predicate">判断集合</param> /// <param name="orderByType">排序方式</param> /// <param name="pageIndex">当前页面索引</param> /// <param name="pageSize">分布大小</param> /// <param name="orderByExpression"></param> /// <param name="blUseNoLock">是否使用WITH(NOLOCK)</param> /// <returns></returns> Task<IPageList<Puhuo>> QueryPageGroupAsync( Expression<Func<Puhuo, bool>> predicate, Expression<Func<Puhuo, object>> orderByExpression, OrderByType orderByType, int pageIndex = 1, int pageSize = 20, bool blUseNoLock = false); #endregion } } CoreCms.Net.Model/Entities/baifenbingfa/puhuo/Puhuo.cs
New file @@ -0,0 +1,130 @@ using Chuanyin.Attribute; using CoreCms.Net.Model.Entities.baifenbingfa.jon; using CoreCms.Net.Model.Entities.baseModel; using SqlSugar; using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations; using System.Linq; using System.Text; using System.Threading.Tasks; namespace CoreCms.Net.Model.Entities.baifenbingfa.puhuo { /// <summary> /// 铺货 /// </summary> [SqlCodeFirst] public class Puhuo : BFBaseModel { /// <summary> /// 主键ID,自增长 /// </summary> [SugarColumn(IsPrimaryKey = true, IsIdentity = true, ColumnDescription = "主键ID")] public int id { get; set; } /// <summary> /// 经销商id /// </summary> public int distributionId { get; set; } /// <summary> /// 经销商 /// </summary> public string distributionName { get; set; } /// <summary> /// 区域 /// </summary> public string areaCode { get; set; } /// <summary> /// 区域名称 /// </summary> public string areaCodeName { get; set; } /// <summary> /// 商品分类id /// </summary> public int CategoryId { get; set; } /// <summary> /// 商品分类 /// </summary> public string CategoryName { get; set; } /// <summary> /// 商品id /// </summary> public int goodsId { get; set; } /// <summary> /// 商品名称 /// </summary> public string goodsName { get; set; } /// <summary> /// 货品id /// </summary> public int productsId { get; set; } /// <summary> /// 货品编号 /// </summary> public string productsName { get; set; } /// <summary> /// 货品规格 /// </summary> public string spesDesc { get; set; } /// <summary> /// 货品价格 /// </summary> [Display(Name = "货品价格")] [Required(ErrorMessage = "请输入{0}")] public System.Decimal price { get; set; } /// <summary> /// 数量 /// </summary> [Display(Name = "数量")] [SugarColumn(ColumnDescription = "数量")] [Required(ErrorMessage = "请输入{0}")] public System.Int32 nums { get; set; } /// <summary> /// 金额 /// </summary> [Display(Name = "金额")] [SugarColumn(ColumnDescription = "金额")] [Required(ErrorMessage = "请输入{0}")] public System.Decimal amount { get; set; } /// <summary> /// 铺货退货 /// </summary> [Display(Name = "铺货退货")] [SugarColumn(IsIgnore = true)] public System.Int32 jintui { get; set; } /// <summary> /// 调整数量 /// </summary> [Display(Name = "调整数量")] [SugarColumn(IsIgnore = true)] public System.Int32 tiaozhengnums { get; set; } } } CoreCms.Net.Model/FromBody/FMId.cs
@@ -23,13 +23,26 @@ [Display(Name = "序列")] [Required(ErrorMessage = "请输入要提交的序列参数")] public int id { get; set; } /// <summary> /// 字段 /// </summary> public object data { get; set; } = null; /// <summary> /// 类型 /// </summary> public object type { get; set; }=null; /// <summary> /// 铺货还是退货 /// </summary> public int jintui { get; set; } /// <summary> /// 货品id /// </summary> public int productsId { get; set; } } public class FMIntIdByListIntData CoreCms.Net.Repository/baifenbingfa/PuhuoRepository.cs
New file @@ -0,0 +1,324 @@ /*********************************************************************** * Project: baifenBinfa * ProjectName: 百分兵法管理系统 * Web: http://chuanyin.com * Author: * Email: * CreateTime: 2024/5/24 11:11:45 * Description: 暂无 ***********************************************************************/ using System; using System.Collections.Generic; using System.Linq.Expressions; using System.Threading.Tasks; using CoreCms.Net.Caching.Manual; using CoreCms.Net.Configuration; using CoreCms.Net.Model.Entities; using CoreCms.Net.Model.ViewModels.Basics; using CoreCms.Net.IRepository; using CoreCms.Net.IRepository.UnitOfWork; using CoreCms.Net.Model.ViewModels.UI; using SqlSugar; using CoreCms.Net.Model.Entities.baifenbingfa.puhuo; namespace CoreCms.Net.Repository { /// <summary> /// 铺货 接口实现 /// </summary> public class PuhuoRepository : BaseRepository<Puhuo>, IPuhuoRepository { private readonly IUnitOfWork _unitOfWork; public PuhuoRepository(IUnitOfWork unitOfWork) : base(unitOfWork) { _unitOfWork = unitOfWork; } #region 实现重写增删改查操作========================================================== /// <summary> /// 重写异步插入方法 /// </summary> /// <param name="entity">实体数据</param> /// <returns></returns> public async Task<AdminUiCallBack> InsertAsync(Puhuo entity) { var jm = new AdminUiCallBack(); var bl = await DbClient.Insertable(entity).ExecuteReturnIdentityAsync() > 0; jm.code = bl ? 0 : 1; jm.msg = bl ? GlobalConstVars.CreateSuccess : GlobalConstVars.CreateFailure; return jm; } /// <summary> /// 重写异步更新方法 /// </summary> /// <param name="entity"></param> /// <returns></returns> public async Task<AdminUiCallBack> UpdateAsync(Puhuo entity) { var jm = new AdminUiCallBack(); var oldModel = await DbClient.Queryable<Puhuo>().In(entity.id).SingleAsync(); if (oldModel == null) { jm.msg = "不存在此信息"; return jm; } //事物处理过程开始 oldModel.id = entity.id; oldModel.distributionId = entity.distributionId; oldModel.distributionName = entity.distributionName; oldModel.areaCode = entity.areaCode; oldModel.areaCodeName = entity.areaCodeName; oldModel.CategoryId = entity.CategoryId; oldModel.CategoryName = entity.CategoryName; oldModel.goodsId = entity.goodsId; oldModel.goodsName = entity.goodsName; oldModel.productsId = entity.productsId; oldModel.productsName = entity.productsName; oldModel.spesDesc = entity.spesDesc; oldModel.price = entity.price; oldModel.nums = entity.nums; oldModel.amount = entity.amount; oldModel.createTime = entity.createTime; oldModel.upDataTime = entity.upDataTime; oldModel.createBy = entity.createBy; oldModel.upDataBy = entity.upDataBy; oldModel.isdelete = entity.isdelete; //事物处理过程结束 var bl = await DbClient.Updateable(oldModel).ExecuteCommandHasChangeAsync(); jm.code = bl ? 0 : 1; jm.msg = bl ? GlobalConstVars.EditSuccess : GlobalConstVars.EditFailure; return jm; } /// <summary> /// 重写异步更新方法 /// </summary> /// <param name="entity"></param> /// <returns></returns> public async Task<AdminUiCallBack> UpdateAsync(List<Puhuo> entity) { var jm = new AdminUiCallBack(); var bl = await DbClient.Updateable(entity).ExecuteCommandHasChangeAsync(); jm.code = bl ? 0 : 1; jm.msg = bl ? GlobalConstVars.EditSuccess : GlobalConstVars.EditFailure; return jm; } /// <summary> /// 重写删除指定ID的数据 /// </summary> /// <param name="id"></param> /// <returns></returns> public async Task<AdminUiCallBack> DeleteByIdAsync(object id) { var jm = new AdminUiCallBack(); var bl = await DbClient.Deleteable<Puhuo>(id).ExecuteCommandHasChangeAsync(); jm.code = bl ? 0 : 1; jm.msg = bl ? GlobalConstVars.DeleteSuccess : GlobalConstVars.DeleteFailure; return jm; } /// <summary> /// 重写删除指定ID集合的数据(批量删除) /// </summary> /// <param name="ids"></param> /// <returns></returns> public async Task<AdminUiCallBack> DeleteByIdsAsync(int[] ids) { var jm = new AdminUiCallBack(); var bl = await DbClient.Deleteable<Puhuo>().In(ids).ExecuteCommandHasChangeAsync(); jm.code = bl ? 0 : 1; jm.msg = bl ? GlobalConstVars.DeleteSuccess : GlobalConstVars.DeleteFailure; return jm; } #endregion #region 获取缓存的所有数据========================================================== /// <summary> /// 获取缓存的所有数据 /// </summary> /// <returns></returns> public async Task<List<Puhuo>> GetCaChe() { var list = await DbClient.Queryable<Puhuo>().With(SqlWith.NoLock).WithCache().ToListAsync(); return list; } #endregion #region 重写根据条件查询分页数据 /// <summary> /// 重写根据条件查询分页数据 /// </summary> /// <param name="predicate">判断集合</param> /// <param name="orderByType">排序方式</param> /// <param name="pageIndex">当前页面索引</param> /// <param name="pageSize">分布大小</param> /// <param name="orderByExpression"></param> /// <param name="blUseNoLock">是否使用WITH(NOLOCK)</param> /// <returns></returns> public async Task<IPageList<Puhuo>> QueryPageAsync(Expression<Func<Puhuo, bool>> predicate, Expression<Func<Puhuo, object>> orderByExpression, OrderByType orderByType, int pageIndex = 1, int pageSize = 20, bool blUseNoLock = false) { RefAsync<int> totalCount = 0; List<Puhuo> page; if (blUseNoLock) { page = await DbClient.Queryable<Puhuo>() .OrderByIF(orderByExpression != null, orderByExpression, orderByType) .WhereIF(predicate != null, predicate).Select(p => new Puhuo { id = p.id, distributionId = p.distributionId, distributionName = p.distributionName, areaCode = p.areaCode, areaCodeName = p.areaCodeName, CategoryId = p.CategoryId, CategoryName = p.CategoryName, goodsId = p.goodsId, goodsName = p.goodsName, productsId = p.productsId, productsName = p.productsName, spesDesc = p.spesDesc, price = p.price, nums = p.nums, amount = p.amount, createTime = p.createTime, upDataTime = p.upDataTime, createBy = p.createBy, upDataBy = p.upDataBy, isdelete = p.isdelete, }).With(SqlWith.NoLock).ToPageListAsync(pageIndex, pageSize, totalCount); } else { page = await DbClient.Queryable<Puhuo>() .OrderByIF(orderByExpression != null, orderByExpression, orderByType) .WhereIF(predicate != null, predicate).Select(p => new Puhuo { id = p.id, distributionId = p.distributionId, distributionName = p.distributionName, areaCode = p.areaCode, areaCodeName = p.areaCodeName, CategoryId = p.CategoryId, CategoryName = p.CategoryName, goodsId = p.goodsId, goodsName = p.goodsName, productsId = p.productsId, productsName = p.productsName, spesDesc = p.spesDesc, price = p.price, nums = p.nums, amount = p.amount, createTime = p.createTime, upDataTime = p.upDataTime, createBy = p.createBy, upDataBy = p.upDataBy, isdelete = p.isdelete, }).ToPageListAsync(pageIndex, pageSize, totalCount); } var list = new PageList<Puhuo>(page, pageIndex, pageSize, totalCount); return list; } #endregion #region 重写根据条件查询分页数据 /// <summary> /// 重写根据条件查询分页数据 /// </summary> /// <param name="predicate">判断集合</param> /// <param name="orderByType">排序方式</param> /// <param name="pageIndex">当前页面索引</param> /// <param name="pageSize">分布大小</param> /// <param name="orderByExpression"></param> /// <param name="blUseNoLock">是否使用WITH(NOLOCK)</param> /// <returns></returns> public async Task<IPageList<Puhuo>> QueryPageGroupAsync(Expression<Func<Puhuo, bool>> predicate, Expression<Func<Puhuo, object>> orderByExpression, OrderByType orderByType, int pageIndex = 1, int pageSize = 20, bool blUseNoLock = false) { RefAsync<int> totalCount = 0; List<Puhuo> page; if (blUseNoLock) { page = await DbClient.Queryable<Puhuo>() .GroupBy(it => new { it.CategoryId, it.CategoryName, it.goodsId, it.goodsName, it.productsId, it.productsName, it.price }) .WhereIF(predicate != null, predicate) .Select(p => new Puhuo { CategoryId = p.CategoryId, CategoryName = p.CategoryName, goodsId = p.goodsId, goodsName = p.goodsName, productsId = p.productsId, productsName = p.productsName, price = p.price, tiaozhengnums =SqlFunc.AggregateCount(p.id), nums = SqlFunc.AggregateSum(p.nums), amount = SqlFunc.AggregateSum(p.amount), }) .MergeTable()//需要加MergeTable才能排序统计过的列 .OrderByIF(orderByExpression != null, orderByExpression, orderByType) .With(SqlWith.NoLock).ToPageListAsync(pageIndex, pageSize, totalCount); } else { page = await DbClient.Queryable<Puhuo>() .GroupBy(it => new { it.CategoryId, it.CategoryName, it.goodsId, it.goodsName, it.productsId, it.productsName, it.price }) .WhereIF(predicate != null, predicate) .Select(p => new Puhuo { CategoryId = p.CategoryId, CategoryName = p.CategoryName, goodsId = p.goodsId, goodsName = p.goodsName, productsId = p.productsId, productsName = p.productsName, price = p.price, tiaozhengnums = SqlFunc.AggregateCount(p.id), nums = SqlFunc.AggregateSum(p.nums), amount = SqlFunc.AggregateSum(p.amount), }) .MergeTable()//需要加MergeTable才能排序统计过的列 .OrderByIF(orderByExpression != null, orderByExpression, orderByType) .ToPageListAsync(pageIndex, pageSize, totalCount); } var list = new PageList<Puhuo>(page, pageIndex, pageSize, totalCount); return list; } #endregion } } CoreCms.Net.Services/baifenbingfa/PuhuoServices.cs
New file @@ -0,0 +1,150 @@ /*********************************************************************** * Project: baifenBinfa * ProjectName: 百分兵法管理系统 * Web: http://chuanyin.com * Author: * Email: * CreateTime: 2024/5/24 11:11:45 * Description: 暂无 ***********************************************************************/ using System; using System.Collections.Generic; using System.Linq.Expressions; using System.Threading.Tasks; using CoreCms.Net.Configuration; using CoreCms.Net.IRepository; using CoreCms.Net.IRepository.UnitOfWork; using CoreCms.Net.IServices; using CoreCms.Net.Model.Entities; using CoreCms.Net.Model.Entities.baifenbingfa.puhuo; using CoreCms.Net.Model.ViewModels.Basics; using CoreCms.Net.Model.ViewModels.UI; using SqlSugar; namespace CoreCms.Net.Services { /// <summary> /// 铺货 接口实现 /// </summary> public class PuhuoServices : BaseServices<Puhuo>, IPuhuoServices { private readonly IPuhuoRepository _dal; private readonly IUnitOfWork _unitOfWork; public PuhuoServices(IUnitOfWork unitOfWork, IPuhuoRepository dal) { this._dal = dal; base.BaseDal = dal; _unitOfWork = unitOfWork; } #region 实现重写增删改查操作========================================================== /// <summary> /// 重写异步插入方法 /// </summary> /// <param name="entity">实体数据</param> /// <returns></returns> public async Task<AdminUiCallBack> InsertAsync(Puhuo entity) { return await _dal.InsertAsync(entity); } /// <summary> /// 重写异步更新方法方法 /// </summary> /// <param name="entity"></param> /// <returns></returns> public async Task<AdminUiCallBack> UpdateAsync(Puhuo entity) { return await _dal.UpdateAsync(entity); } /// <summary> /// 重写异步更新方法方法 /// </summary> /// <param name="entity"></param> /// <returns></returns> public async Task<AdminUiCallBack> UpdateAsync(List<Puhuo> entity) { return await _dal.UpdateAsync(entity); } /// <summary> /// 重写删除指定ID的数据 /// </summary> /// <param name="id"></param> /// <returns></returns> public async Task<AdminUiCallBack> DeleteByIdAsync(object id) { return await _dal.DeleteByIdAsync(id); } /// <summary> /// 重写删除指定ID集合的数据(批量删除) /// </summary> /// <param name="ids"></param> /// <returns></returns> public async Task<AdminUiCallBack> DeleteByIdsAsync(int[] ids) { return await _dal.DeleteByIdsAsync(ids); } #endregion #region 获取缓存的所有数据========================================================== /// <summary> /// 获取缓存的所有数据 /// </summary> /// <returns></returns> public async Task<List<Puhuo>> GetCaChe() { return await _dal.GetCaChe(); } #endregion #region 重写根据条件查询分页数据 /// <summary> /// 重写根据条件查询分页数据 /// </summary> /// <param name="predicate">判断集合</param> /// <param name="orderByType">排序方式</param> /// <param name="pageIndex">当前页面索引</param> /// <param name="pageSize">分布大小</param> /// <param name="orderByExpression"></param> /// <param name="blUseNoLock">是否使用WITH(NOLOCK)</param> /// <returns></returns> public async Task<IPageList<Puhuo>> QueryPageAsync(Expression<Func<Puhuo, bool>> predicate, Expression<Func<Puhuo, object>> orderByExpression, OrderByType orderByType, int pageIndex = 1, int pageSize = 20, bool blUseNoLock = false) { return await _dal.QueryPageAsync(predicate, orderByExpression, orderByType, pageIndex, pageSize, blUseNoLock); } #endregion #region 重写根据条件查询分页数据 /// <summary> /// 重写根据条件查询分页数据 /// </summary> /// <param name="predicate">判断集合</param> /// <param name="orderByType">排序方式</param> /// <param name="pageIndex">当前页面索引</param> /// <param name="pageSize">分布大小</param> /// <param name="orderByExpression"></param> /// <param name="blUseNoLock">是否使用WITH(NOLOCK)</param> /// <returns></returns> public async Task<IPageList<Puhuo>> QueryPageGroupAsync(Expression<Func<Puhuo, bool>> predicate, Expression<Func<Puhuo, object>> orderByExpression, OrderByType orderByType, int pageIndex = 1, int pageSize = 20, bool blUseNoLock = false) { return await _dal.QueryPageGroupAsync(predicate, orderByExpression, orderByType, pageIndex, pageSize, blUseNoLock); } #endregion } } CoreCms.Net.Web.Admin/Controllers/Order/CoreCmsPlanOrderController.cs
@@ -300,7 +300,26 @@ return jm; } #endregion #region 选择省============================================================ // POST: Api/CoreCmsPlanOrder/GetIndex /// <summary> /// 选择市 /// </summary> /// <returns></returns> [Description("选择省")] [AllowAnonymous] public async Task<AdminUiCallBack> GetCityId(int shengid = 0) { //返回数据 var jm = new AdminUiCallBack { code = 0 }; var shi = await _areaServices.QueryListByClauseAsync(p => p.parentId == shengid); jm.data = shi; return jm; } #endregion #region 选择市============================================================ // POST: Api/CoreCmsPlanOrder/GetIndex CoreCms.Net.Web.Admin/Controllers/baifenbingfa/PuhuoController.cs
New file @@ -0,0 +1,1769 @@ /*********************************************************************** * Project: baifenBinfa * ProjectName: 百分兵法管理系统 * Web: http://chuanyin.com * Author: * Email: * CreateTime: 2024/5/24 11:11:45 * Description: 暂无 ***********************************************************************/ using System; using System.ComponentModel; using System.IO; using System.Linq; using System.Linq.Expressions; using System.Threading.Tasks; using CoreCms.Net.Configuration; using CoreCms.Net.Model.Entities; using CoreCms.Net.Model.Entities.Expression; using CoreCms.Net.Model.FromBody; using CoreCms.Net.Model.ViewModels.UI; using CoreCms.Net.Filter; using CoreCms.Net.Loging; using CoreCms.Net.IServices; using CoreCms.Net.Utility.Helper; using CoreCms.Net.Utility.Extensions; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Hosting; using Microsoft.AspNetCore.Mvc; using NPOI.HSSF.UserModel; using SqlSugar; using CoreCms.Net.Web.Admin.Infrastructure; using CoreCms.Net.Model.Entities.baifenbingfa.puhuo; using static CoreCms.Net.Configuration.GlobalEnumVars; using CoreCms.Net.Services; using System.Collections.Generic; using NetTaste; using NPOI.SS.Formula.Functions; using CoreCms.Net.Services.Basic; using CoreCms.Net.Model.Entities.baifenbingfa.Promote; using Essensoft.Paylink.Alipay.Domain; using CoreCms.Net.Auth.HttpContextUser; using MathNet.Numerics.Distributions; namespace CoreCms.Net.Web.Admin.Controllers { /// <summary> /// 铺货 ///</summary> [Description("铺货")] [Route("api/[controller]/[action]")] [ApiController] [RequiredErrorForAdmin] [Authorize(Permissions.Name)] public class PuhuoController : ControllerBase { private readonly IWebHostEnvironment _webHostEnvironment; private readonly IPuhuoServices _PuhuoServices; private readonly ICoreCmsGoodsCategoryServices _coreCmsGoodsCategoryServices; private readonly ICoreCmsDistributionServices _coreCmsDistributionServices; private readonly ICoreCmsGoodsCategoryExtendServices _goodsCategoryExtendServices; private readonly ICoreCmsGoodsServices _coreCmsGoodsServices; private readonly ICoreCmsProductsServices _coreCmsProductsServices; private readonly ICoreCmsAreaServices _coreCmsAreaServices; private readonly IHttpContextUser _user; private readonly ICoreCmsAreaServices _areaServices; private readonly ICoreCmsGoodsCategoryServices _goodsCategoryServices; /// <summary> /// 构造函数 ///</summary> public PuhuoController(IWebHostEnvironment webHostEnvironment ,IPuhuoServices PuhuoServices , ICoreCmsGoodsCategoryServices coreCmsGoodsCategoryServices , ICoreCmsDistributionServices coreCmsDistributionServices , ICoreCmsGoodsCategoryExtendServices goodsCategoryExtendServices , ICoreCmsGoodsServices coreCmsGoodsServices , ICoreCmsProductsServices coreCmsProductsServices , ICoreCmsAreaServices coreCmsAreaServices , IHttpContextUser user , ICoreCmsAreaServices areaServices , ICoreCmsGoodsCategoryServices goodsCategoryServices ) { _webHostEnvironment = webHostEnvironment; _PuhuoServices = PuhuoServices; _coreCmsGoodsCategoryServices = coreCmsGoodsCategoryServices; _coreCmsDistributionServices = coreCmsDistributionServices; _goodsCategoryExtendServices = goodsCategoryExtendServices; _coreCmsGoodsServices = coreCmsGoodsServices; _coreCmsProductsServices = coreCmsProductsServices; _coreCmsAreaServices = coreCmsAreaServices; _user = user; _areaServices = areaServices; _goodsCategoryServices = goodsCategoryServices; } #region 获取列表group============================================================ // POST: Api/Puhuo/GetPageListGroup /// <summary> /// 获取列表group /// </summary> /// <returns></returns> [HttpPost] [Description("获取列表group")] public async Task<AdminUiCallBack> GetPageListGroup() { var jm = new AdminUiCallBack(); var pageCurrent = Request.Form["page"].FirstOrDefault().ObjectToInt(1); var pageSize = Request.Form["limit"].FirstOrDefault().ObjectToInt(30); var where = PredicateBuilder.True<Puhuo>(); //获取排序字段 var orderField = Request.Form["orderField"].FirstOrDefault(); Expression<Func<Puhuo, object>> orderEx = orderField switch { "id" => p => p.id, "distributionId" => p => p.distributionId, "distributionName" => p => p.distributionName, "areaCode" => p => p.areaCode, "areaCodeName" => p => p.areaCodeName, "CategoryId" => p => p.CategoryId, "CategoryName" => p => p.CategoryName, "goodsId" => p => p.goodsId, "goodsName" => p => p.goodsName, "productsId" => p => p.productsId, "productsName" => p => p.productsName, "spesDesc" => p => p.spesDesc, "price" => p => p.price, "nums" => p => p.nums, "amount" => p => p.amount, "createTime" => p => p.createTime, "upDataTime" => p => p.upDataTime, "createBy" => p => p.createBy, "upDataBy" => p => p.upDataBy, "isdelete" => p => p.isdelete, _ => p => p.goodsId }; //设置排序方式 var orderDirection = Request.Form["orderDirection"].FirstOrDefault(); var orderBy = orderDirection switch { "asc" => OrderByType.Asc, "desc" => OrderByType.Desc, _ => OrderByType.Desc }; //查询筛选 //主键ID int var id = Request.Form["id"].FirstOrDefault().ObjectToInt(0); if (id > 0) { where = where.And(p => p.id == id); } //经销商id int var distributionId = Request.Form["distributionId"].FirstOrDefault().ObjectToInt(0); if (distributionId > 0) { where = where.And(p => p.distributionId == distributionId); } //经销商 varchar var distributionName = Request.Form["distributionName"].FirstOrDefault(); if (!string.IsNullOrEmpty(distributionName)) { where = where.And(p => p.distributionName.Contains(distributionName)); } //区域 varchar var sheng = Request.Form["sheng"].FirstOrDefault(); if (!string.IsNullOrEmpty(sheng)) { where = where.And(p => p.areaCode.Contains(sheng)); } var shi = Request.Form["shi"].FirstOrDefault(); if (!string.IsNullOrEmpty(shi)) { where = where.And(p => p.areaCode.Contains(shi)); } var quxian = Request.Form["quxian"].FirstOrDefault(); if (!string.IsNullOrEmpty(quxian)) { where = where.And(p => p.areaCode.Contains(quxian)); } //区域名称 varchar var areaCodeName = Request.Form["areaCodeName"].FirstOrDefault(); if (!string.IsNullOrEmpty(areaCodeName)) { where = where.And(p => p.areaCodeName.Contains(areaCodeName)); } //商品分类id int var CategoryId = Request.Form["CategoryId"].FirstOrDefault().ObjectToInt(0); if (CategoryId > 0) { var categories = await _goodsCategoryServices.QueryAsync(true, true); var ids = GoodsHelper.GetChildIds(categories, CategoryId); //扩展分类 var extends = await _goodsCategoryExtendServices.QueryListByClauseAsync(p => p.goodsCategroyId == CategoryId); if (extends.Any()) { var extGoodIds = extends.Select(p => p.goodsId).ToList(); where = where.And(p => ids.Contains(p.CategoryId) || extGoodIds.Contains(p.id)); } else { where = where.And(p => ids.Contains(p.CategoryId)); } } //商品分类 varchar var CategoryName = Request.Form["CategoryName"].FirstOrDefault(); if (!string.IsNullOrEmpty(CategoryName)) { where = where.And(p => p.CategoryName.Contains(CategoryName)); } //商品id int var goodsId = Request.Form["goodsId"].FirstOrDefault().ObjectToInt(0); if (goodsId > 0) { where = where.And(p => p.goodsId == goodsId); } //商品名称 varchar var goodsName = Request.Form["goodsName"].FirstOrDefault(); if (!string.IsNullOrEmpty(goodsName)) { where = where.And(p => p.goodsName.Contains(goodsName)); } //货品id int var productsId = Request.Form["productsId"].FirstOrDefault().ObjectToInt(0); if (productsId > 0) { where = where.And(p => p.productsId == productsId); } //货品编号 varchar var productsName = Request.Form["productsName"].FirstOrDefault(); if (!string.IsNullOrEmpty(productsName)) { where = where.And(p => p.productsName.Contains(productsName)); } //货品规格 varchar var spesDesc = Request.Form["spesDesc"].FirstOrDefault(); if (!string.IsNullOrEmpty(spesDesc)) { where = where.And(p => p.spesDesc.Contains(spesDesc)); } //货品价格 decimal var price = Request.Form["price"].FirstOrDefault().ObjectToDecimal(0); if (price > 0) { where = where.And(p => p.price == price); } //数量 int var nums = Request.Form["nums"].FirstOrDefault().ObjectToInt(0); if (nums > 0) { where = where.And(p => p.nums == nums); } //金额 decimal var amount = Request.Form["amount"].FirstOrDefault().ObjectToDecimal(0); if (amount > 0) { where = where.And(p => p.amount == amount); } //建立时间 datetime var createTime = Request.Form["createTime"].FirstOrDefault(); if (!string.IsNullOrEmpty(createTime)) { if (createTime.Contains("到")) { var dts = createTime.Split("到"); var dtStart = dts[0].Trim().ObjectToDate(); where = where.And(p => p.createTime > dtStart); var dtEnd = dts[1].Trim().ObjectToDate(); where = where.And(p => p.createTime < dtEnd); } else { var dt = createTime.ObjectToDate(); where = where.And(p => p.createTime > dt); } } //修改时间 datetime var upDataTime = Request.Form["upDataTime"].FirstOrDefault(); if (!string.IsNullOrEmpty(upDataTime)) { if (upDataTime.Contains("到")) { var dts = upDataTime.Split("到"); var dtStart = dts[0].Trim().ObjectToDate(); where = where.And(p => p.upDataTime > dtStart); var dtEnd = dts[1].Trim().ObjectToDate(); where = where.And(p => p.upDataTime < dtEnd); } else { var dt = upDataTime.ObjectToDate(); where = where.And(p => p.upDataTime > dt); } } //创建人 varchar var createBy = Request.Form["createBy"].FirstOrDefault(); if (!string.IsNullOrEmpty(createBy)) { where = where.And(p => p.createBy.Contains(createBy)); } //修改人 varchar var upDataBy = Request.Form["upDataBy"].FirstOrDefault(); if (!string.IsNullOrEmpty(upDataBy)) { where = where.And(p => p.upDataBy.Contains(upDataBy)); } //删除标志 bit var isdelete = Request.Form["isdelete"].FirstOrDefault(); if (!string.IsNullOrEmpty(isdelete) && isdelete.ToLowerInvariant() == "true") { where = where.And(p => p.isdelete == true); } else if (!string.IsNullOrEmpty(isdelete) && isdelete.ToLowerInvariant() == "false") { where = where.And(p => p.isdelete == false); } //获取数据 var list = await _PuhuoServices.QueryPageGroupAsync(where, orderEx, orderBy, pageCurrent, pageSize, true); //返回数据 jm.data = list; jm.code = 0; jm.count = list.TotalCount; jm.msg = "数据调用成功!"; return jm; } #endregion #region 首页数据============================================================ // POST: Api/Puhuo/GetIndexGroup /// <summary> /// 首页数据 /// </summary> /// <returns></returns> [HttpPost] [Description("首页数据")] public async Task<AdminUiCallBack> GetIndexGroup() { //返回数据 var jm = new AdminUiCallBack { code = 0 }; //获取商品分类 var categories = await _coreCmsGoodsCategoryServices.QueryListByClauseAsync(p => p.isShow, p => p.sort, OrderByType.Asc, true, true); var categoriesnew = departmentRecursion(0, categories, "--"); jm.data = new { categories = categoriesnew//GoodsHelper.GetTree(categories,false), }; return jm; } #endregion #region 获取列表============================================================ // POST: Api/Puhuo/GetPageList /// <summary> /// 获取列表 /// </summary> /// <returns></returns> [HttpPost] [Description("获取列表")] public async Task<AdminUiCallBack> GetPageList() { var jm = new AdminUiCallBack(); var pageCurrent = Request.Form["page"].FirstOrDefault().ObjectToInt(1); var pageSize = Request.Form["limit"].FirstOrDefault().ObjectToInt(30); var where = PredicateBuilder.True<Puhuo>(); //获取排序字段 var orderField = Request.Form["orderField"].FirstOrDefault(); Expression<Func<Puhuo, object>> orderEx = orderField switch { "id" => p => p.id,"distributionId" => p => p.distributionId,"distributionName" => p => p.distributionName,"areaCode" => p => p.areaCode,"areaCodeName" => p => p.areaCodeName,"CategoryId" => p => p.CategoryId,"CategoryName" => p => p.CategoryName,"goodsId" => p => p.goodsId,"goodsName" => p => p.goodsName,"productsId" => p => p.productsId,"productsName" => p => p.productsName,"spesDesc" => p => p.spesDesc,"price" => p => p.price,"nums" => p => p.nums,"amount" => p => p.amount,"createTime" => p => p.createTime,"upDataTime" => p => p.upDataTime,"createBy" => p => p.createBy,"upDataBy" => p => p.upDataBy,"isdelete" => p => p.isdelete, _ => p => p.id }; //设置排序方式 var orderDirection = Request.Form["orderDirection"].FirstOrDefault(); var orderBy = orderDirection switch { "asc" => OrderByType.Asc, "desc" => OrderByType.Desc, _ => OrderByType.Desc }; //查询筛选 //主键ID int var id = Request.Form["id"].FirstOrDefault().ObjectToInt(0); if (id > 0) { where = where.And(p => p.id == id); } //经销商id int var distributionId = Request.Form["distributionId"].FirstOrDefault().ObjectToInt(0); if (distributionId > 0) { where = where.And(p => p.distributionId == distributionId); } //经销商 varchar var distributionName = Request.Form["distributionName"].FirstOrDefault(); if (!string.IsNullOrEmpty(distributionName)) { where = where.And(p => p.distributionName.Contains(distributionName)); } //区域 varchar var sheng = Request.Form["sheng"].FirstOrDefault(); if (!string.IsNullOrEmpty(sheng)) { where = where.And(p => p.areaCode.Contains(sheng)); } var shi = Request.Form["shi"].FirstOrDefault(); if (!string.IsNullOrEmpty(shi)) { where = where.And(p => p.areaCode.Contains(shi)); } var quxian = Request.Form["quxian"].FirstOrDefault(); if (!string.IsNullOrEmpty(quxian)) { where = where.And(p => p.areaCode.Contains(quxian)); } //区域名称 varchar var areaCodeName = Request.Form["areaCodeName"].FirstOrDefault(); if (!string.IsNullOrEmpty(areaCodeName)) { where = where.And(p => p.areaCodeName.Contains(areaCodeName)); } //商品分类id int var CategoryId = Request.Form["CategoryId"].FirstOrDefault().ObjectToInt(0); if (CategoryId > 0) { where = where.And(p => p.CategoryId == CategoryId); } //商品分类 varchar var CategoryName = Request.Form["CategoryName"].FirstOrDefault(); if (!string.IsNullOrEmpty(CategoryName)) { where = where.And(p => p.CategoryName.Contains(CategoryName)); } //商品id int var goodsId = Request.Form["goodsId"].FirstOrDefault().ObjectToInt(0); if (goodsId > 0) { where = where.And(p => p.goodsId == goodsId); } //商品名称 varchar var goodsName = Request.Form["goodsName"].FirstOrDefault(); if (!string.IsNullOrEmpty(goodsName)) { where = where.And(p => p.goodsName.Contains(goodsName)); } //货品id int var productsId = Request.Form["productsId"].FirstOrDefault().ObjectToInt(0); if (productsId > 0) { where = where.And(p => p.productsId == productsId); } //货品编号 varchar var productsName = Request.Form["productsName"].FirstOrDefault(); if (!string.IsNullOrEmpty(productsName)) { where = where.And(p => p.productsName.Contains(productsName)); } //货品规格 varchar var spesDesc = Request.Form["spesDesc"].FirstOrDefault(); if (!string.IsNullOrEmpty(spesDesc)) { where = where.And(p => p.spesDesc.Contains(spesDesc)); } //货品价格 decimal var price = Request.Form["price"].FirstOrDefault().ObjectToDecimal(0); if (price > 0) { where = where.And(p => p.price == price); } //数量 int var nums = Request.Form["nums"].FirstOrDefault().ObjectToInt(0); if (nums > 0) { where = where.And(p => p.nums == nums); } //金额 decimal var amount = Request.Form["amount"].FirstOrDefault().ObjectToDecimal(0); if (amount > 0) { where = where.And(p => p.amount == amount); } //建立时间 datetime var createTime = Request.Form["createTime"].FirstOrDefault(); if (!string.IsNullOrEmpty(createTime)) { if (createTime.Contains("到")) { var dts = createTime.Split("到"); var dtStart = dts[0].Trim().ObjectToDate(); where = where.And(p => p.createTime > dtStart); var dtEnd = dts[1].Trim().ObjectToDate(); where = where.And(p => p.createTime < dtEnd); } else { var dt = createTime.ObjectToDate(); where = where.And(p => p.createTime > dt); } } //修改时间 datetime var upDataTime = Request.Form["upDataTime"].FirstOrDefault(); if (!string.IsNullOrEmpty(upDataTime)) { if (upDataTime.Contains("到")) { var dts = upDataTime.Split("到"); var dtStart = dts[0].Trim().ObjectToDate(); where = where.And(p => p.upDataTime > dtStart); var dtEnd = dts[1].Trim().ObjectToDate(); where = where.And(p => p.upDataTime < dtEnd); } else { var dt = upDataTime.ObjectToDate(); where = where.And(p => p.upDataTime > dt); } } //创建人 varchar var createBy = Request.Form["createBy"].FirstOrDefault(); if (!string.IsNullOrEmpty(createBy)) { where = where.And(p => p.createBy.Contains(createBy)); } //修改人 varchar var upDataBy = Request.Form["upDataBy"].FirstOrDefault(); if (!string.IsNullOrEmpty(upDataBy)) { where = where.And(p => p.upDataBy.Contains(upDataBy)); } //删除标志 bit var isdelete = Request.Form["isdelete"].FirstOrDefault(); if (!string.IsNullOrEmpty(isdelete) && isdelete.ToLowerInvariant() == "true") { where = where.And(p => p.isdelete == true); } else if (!string.IsNullOrEmpty(isdelete) && isdelete.ToLowerInvariant() == "false") { where = where.And(p => p.isdelete == false); } //获取数据 var list = await _PuhuoServices.QueryPageAsync(where, orderEx, orderBy, pageCurrent, pageSize, true); //返回数据 jm.data = list; jm.code = 0; jm.count = list.TotalCount; jm.msg = "数据调用成功!"; return jm; } #endregion #region 首页数据============================================================ // POST: Api/Puhuo/GetIndex /// <summary> /// 首页数据 /// </summary> /// <returns></returns> [HttpPost] [Description("首页数据")] public async Task<AdminUiCallBack> GetIndex() { //返回数据 var jm = new AdminUiCallBack { code = 0 }; var shi = await _areaServices.QueryListByClauseAsync(p => p.parentId == 0 );//510000 var sss = shi.Where(x => x.id == 510000).FirstOrDefault(); if (shi.Remove(sss)) { shi.Insert(0, sss); } jm.data = shi; return jm; } #endregion #region 创建数据============================================================ // POST: Api/Puhuo/GetCreate /// <summary> /// 创建数据 /// </summary> /// <returns></returns> [HttpPost] [Description("创建数据")] public async Task<AdminUiCallBack> GetCreate() { //返回数据 var jm = new AdminUiCallBack { code = 0 }; //获取商品分类 var categories = await _coreCmsGoodsCategoryServices.QueryListByClauseAsync(p => p.isShow, p => p.sort, OrderByType.Asc, true, true); var distributions = await _coreCmsDistributionServices.QueryListByClauseAsync(p => p.isDelete == false && p.verifyStatus == 1, p => p.createTime, OrderByType.Desc, true, true); var categoriesnew = departmentRecursion(0, categories,"--"); jm.data = new { categories = categoriesnew,//GoodsHelper.GetTree(categories,false), distributions = distributions, }; return jm; } #region 选择商品分类============================================================ // POST: Api/CoreCmsPlanOrder/GetIndex /// <summary> /// 选择市 /// </summary> /// <returns></returns> [Description("选择商品分类")] [AllowAnonymous] public async Task<AdminUiCallBack> Getshangpfenlei(int fenleiid = 0) { //返回数据 var jm = new AdminUiCallBack { code = 0 }; var goodsCategoryId = fenleiid; var coreCmsGoods = await _coreCmsGoodsServices.QueryListByClauseAsync(x => x.isMarketable == true && x.isDel == false, x => x.sort, OrderByType.Asc); if (goodsCategoryId > 0) { //获取全部数据缓存 var categories = await _coreCmsGoodsCategoryServices.QueryAsync(true, true); var ids = GoodsHelper.GetChildIds(categories, goodsCategoryId); //扩展分类 var extends = await _goodsCategoryExtendServices.QueryListByClauseAsync(p => p.goodsCategroyId == goodsCategoryId); if (extends.Any()) { var extGoodIds = extends.Select(p => p.goodsId).ToList(); coreCmsGoods = coreCmsGoods.Where(p => ids.Contains(p.goodsCategoryId) || extGoodIds.Contains(p.id)).ToList(); } else { coreCmsGoods = coreCmsGoods.Where(p => ids.Contains(p.goodsCategoryId)).ToList(); } } jm.data = coreCmsGoods; return jm; } #endregion #region 选择商品============================================================ // POST: Api/CoreCmsPlanOrder/GetIndex /// <summary> /// 选择市 /// </summary> /// <returns></returns> [Description("选择商品")] [AllowAnonymous] public async Task<AdminUiCallBack> Gethuopin(int shangpinid = 0) { //返回数据 var jm = new AdminUiCallBack { code = 0 }; var coreCmsProducts = await _coreCmsProductsServices.QueryListByClauseAsync(x => x.goodsId == shangpinid && x.marketable == true && x.isDel == false); jm.data = coreCmsProducts; return jm; } #endregion private List<CoreCmsGoodsCategory> departmentRecursion(int Superior, List<CoreCmsGoodsCategory> obj,string ceshu) { List<CoreCmsGoodsCategory> hrDepts = new List<CoreCmsGoodsCategory>(); List<CoreCmsGoodsCategory> temp = new List<CoreCmsGoodsCategory>(); for (int i = 0; i < obj.Count; i++) { if (obj[i].parentId == Superior) { hrDepts.Add(obj[i]); temp = departmentRecursion(obj[i].id, obj, ceshu+"--"); if (temp.Count > 0) { for (int j = 0; j < temp.Count; j++) { temp[j].name = ceshu + temp[j].name; hrDepts.Add(temp[j]); } } } } return hrDepts; } #endregion #region 创建提交============================================================ // POST: Api/Puhuo/DoCreate /// <summary> /// 创建提交 /// </summary> /// <param name="entity"></param> /// <returns></returns> [HttpPost] [Description("创建提交")] public async Task<AdminUiCallBack> DoCreate([FromBody] Puhuo entity) { var jm = new AdminUiCallBack(); if (entity.distributionId <= 0) { jm.msg = "请选择经销商"; return jm; } if (entity.productsId <= 0) { jm.msg = "请选择货品"; return jm; } if (entity.nums <= 0) { jm.msg = "请填写数量"; return jm; } var puhuos = await _PuhuoServices.QueryListByClauseAsync(x => x.isdelete == false && x.productsId == entity.productsId && x.distributionId == entity.distributionId); if (puhuos!=null && puhuos.Count>0) { jm.msg = "已有经销商货品记录,不能添加!"; return jm; } var distributions = await _coreCmsDistributionServices.QueryByIdAsync(entity.distributionId); if (distributions != null) { entity.distributionName = distributions.name; entity.areaCode = distributions.areaCode; var d = await _coreCmsAreaServices.GetAreaFullName(entity.areaCode?.Split(",").ToList().OrderDescending()?.FirstOrDefault()?.ToInt32OrDefault(0) ?? 0); if (d.status == true) { entity.areaCodeName = d.data.ToString(); } } var coreCmsProduct = await _coreCmsProductsServices.QueryByIdAsync(entity.productsId); if (coreCmsProduct != null) { if (coreCmsProduct.stock < entity.nums) { jm.msg = "库存不足!"; return jm; } entity.productsName = coreCmsProduct.sn; entity.spesDesc = coreCmsProduct.spesDesc; entity.goodsId = coreCmsProduct.goodsId; var coreCmsGood = await _coreCmsGoodsServices.QueryByIdAsync(coreCmsProduct.goodsId); if (coreCmsGood != null) { entity.goodsName = coreCmsGood.name; entity.CategoryId = coreCmsGood.goodsCategoryId; //获取全部数据缓存 var categorie = await _coreCmsGoodsCategoryServices.QueryByIdAsync(coreCmsGood.goodsCategoryId); if (categorie != null) { entity.CategoryName = categorie.name; } } entity.price = coreCmsProduct.distributionPrice; entity.amount = coreCmsProduct.distributionPrice * new decimal(entity.nums); } else { jm.msg = "没找到产品"; return jm; } entity.isdelete = false; entity.createBy = _user.Name; entity.upDataBy = _user.Name; entity.createTime = DateTime.Now; entity.upDataTime = entity.createTime; coreCmsProduct.stock = coreCmsProduct.stock - entity.nums; var bb = await _coreCmsProductsServices.UpdateAsync(coreCmsProduct); jm = await _PuhuoServices.InsertAsync(entity); return jm; } #endregion #region 编辑数据============================================================ // POST: Api/Puhuo/GetEdit /// <summary> /// 编辑数据 /// </summary> /// <param name="entity"></param> /// <returns></returns> [HttpPost] [Description("编辑数据")] public async Task<AdminUiCallBack> GetEdit([FromBody]FMIntId entity) { var jm = new AdminUiCallBack(); var model = await _PuhuoServices.QueryByIdAsync(entity.id, false); if (model == null) { jm.msg = "不存在此信息"; return jm; } model.jintui = entity.jintui; jm.code = 0; jm.data = model; return jm; } #endregion #region 编辑提交============================================================ // POST: Api/Puhuo/Edit /// <summary> /// 编辑提交 /// </summary> /// <param name="entity"></param> /// <returns></returns> [HttpPost] [Description("编辑提交")] public async Task<AdminUiCallBack> DoEdit([FromBody]Puhuo entity) { var jm = new AdminUiCallBack(); if (entity.tiaozhengnums <= 0) { jm.msg = "请填写调整数量"; return jm; } var puhuo = await _PuhuoServices.QueryByIdAsync(entity.id); if (entity.jintui == 2 && puhuo.nums < entity.tiaozhengnums) { jm.msg = "退货数量大于铺货数量,不能提交"; return jm; } var coreCmsProduct = await _coreCmsProductsServices.QueryByIdAsync(puhuo.productsId); if (coreCmsProduct != null) { if (entity.jintui == 1 && coreCmsProduct.stock < entity.tiaozhengnums) { jm.msg = "库存不足!"; return jm; } if (entity.jintui == 1) { puhuo.nums = puhuo.nums + entity.tiaozhengnums; } else if (entity.jintui == 2) { puhuo.nums = puhuo.nums - entity.tiaozhengnums; } puhuo.price = coreCmsProduct.distributionPrice; puhuo.amount = coreCmsProduct.distributionPrice * new decimal(puhuo.nums); } else { jm.msg = "没找到产品"; return jm; } puhuo.isdelete = false; //entity.createBy = _user.Name; puhuo.upDataBy = _user.Name; //entity.createTime = DateTime.Now; puhuo.upDataTime = DateTime.Now; if (entity.jintui == 1) { coreCmsProduct.stock = coreCmsProduct.stock - entity.tiaozhengnums; } else if (entity.jintui == 2) { coreCmsProduct.stock = coreCmsProduct.stock + entity.tiaozhengnums; } var bb = await _coreCmsProductsServices.UpdateAsync(coreCmsProduct); jm = await _PuhuoServices.UpdateAsync(puhuo); return jm; } #endregion #region 删除数据============================================================ // POST: Api/Puhuo/DoDelete/10 /// <summary> /// 单选删除 /// </summary> /// <param name="entity"></param> /// <returns></returns> [HttpPost] [Description("单选删除")] public async Task<AdminUiCallBack> DoDelete([FromBody]FMIntId entity) { var jm = new AdminUiCallBack(); var model = await _PuhuoServices.ExistsAsync(p => p.id == entity.id, true); if (!model) { jm.msg = GlobalConstVars.DataisNo; return jm; } jm = await _PuhuoServices.DeleteByIdAsync(entity.id); return jm; } #endregion #region 批量删除============================================================ // POST: Api/Puhuo/DoBatchDelete/10,11,20 /// <summary> /// 批量删除 /// </summary> /// <param name="entity"></param> /// <returns></returns> [HttpPost] [Description("批量删除")] public async Task<AdminUiCallBack> DoBatchDelete([FromBody]FMArrayIntIds entity) { var jm = await _PuhuoServices.DeleteByIdsAsync(entity.id); return jm; } #endregion #region 预览数据============================================================ // POST: Api/Puhuo/GetDetails/10 /// <summary> /// 预览数据 /// </summary> /// <param name="entity"></param> /// <returns></returns> [HttpPost] [Description("预览数据")] public async Task<AdminUiCallBack> GetDetails([FromBody]FMIntId entity) { var jm = new AdminUiCallBack(); var puhuoss = await _PuhuoServices.QueryListByClauseAsync(p => p.productsId == entity.productsId); //var model = await _PuhuoServices.QueryByIdAsync(entity.id, false); //if (model == null) //{ // jm.msg = "不存在此信息"; // return jm; //} jm.code = 0; jm.data = new { model = new Puhuo(),//GoodsHelper.GetTree(categories,false), puhuos = puhuoss, }; return jm; } #endregion #region 选择导出============================================================ // POST: Api/Puhuo/SelectExportExcel/10 /// <summary> /// 选择导出 /// </summary> /// <param name="entity"></param> /// <returns></returns> [HttpPost] [Description("选择导出")] public async Task<AdminUiCallBack> SelectExportExcel([FromBody]FMArrayIntIds entity) { var jm = new AdminUiCallBack(); //创建Excel文件的对象 var book = new HSSFWorkbook(); //添加一个sheet var mySheet = book.CreateSheet("Sheet1"); //获取list数据 var listModel = await _PuhuoServices.QueryListByClauseAsync(p => entity.id.Contains(p.id), p => p.id, OrderByType.Asc, true); //给sheet1添加第一行的头部标题 var headerRow = mySheet.CreateRow(0); var headerStyle = ExcelHelper.GetHeaderStyle(book); var cellNum = 0; var cell0 = headerRow.CreateCell(cellNum); cell0.SetCellValue("主键ID"); cell0.CellStyle = headerStyle; mySheet.SetColumnWidth(cellNum, 10 * 256); cellNum++; var cell1 = headerRow.CreateCell(cellNum); cell1.SetCellValue("经销商id"); cell1.CellStyle = headerStyle; mySheet.SetColumnWidth(cellNum, 10 * 256); cellNum++; var cell2 = headerRow.CreateCell(cellNum); cell2.SetCellValue("经销商"); cell2.CellStyle = headerStyle; mySheet.SetColumnWidth(cellNum, 10 * 256); cellNum++; var cell3 = headerRow.CreateCell(cellNum); cell3.SetCellValue("区域"); cell3.CellStyle = headerStyle; mySheet.SetColumnWidth(cellNum, 10 * 256); cellNum++; var cell4 = headerRow.CreateCell(cellNum); cell4.SetCellValue("区域名称"); cell4.CellStyle = headerStyle; mySheet.SetColumnWidth(cellNum, 10 * 256); cellNum++; var cell5 = headerRow.CreateCell(cellNum); cell5.SetCellValue("商品分类id"); cell5.CellStyle = headerStyle; mySheet.SetColumnWidth(cellNum, 10 * 256); cellNum++; var cell6 = headerRow.CreateCell(cellNum); cell6.SetCellValue("商品分类"); cell6.CellStyle = headerStyle; mySheet.SetColumnWidth(cellNum, 10 * 256); cellNum++; var cell7 = headerRow.CreateCell(cellNum); cell7.SetCellValue("商品id"); cell7.CellStyle = headerStyle; mySheet.SetColumnWidth(cellNum, 10 * 256); cellNum++; var cell8 = headerRow.CreateCell(cellNum); cell8.SetCellValue("商品名称"); cell8.CellStyle = headerStyle; mySheet.SetColumnWidth(cellNum, 10 * 256); cellNum++; var cell9 = headerRow.CreateCell(cellNum); cell9.SetCellValue("货品id"); cell9.CellStyle = headerStyle; mySheet.SetColumnWidth(cellNum, 10 * 256); cellNum++; var cell10 = headerRow.CreateCell(cellNum); cell10.SetCellValue("货品编号"); cell10.CellStyle = headerStyle; mySheet.SetColumnWidth(cellNum, 10 * 256); cellNum++; var cell11 = headerRow.CreateCell(cellNum); cell11.SetCellValue("货品规格"); cell11.CellStyle = headerStyle; mySheet.SetColumnWidth(cellNum, 10 * 256); cellNum++; var cell12 = headerRow.CreateCell(cellNum); cell12.SetCellValue("货品价格"); cell12.CellStyle = headerStyle; mySheet.SetColumnWidth(cellNum, 10 * 256); cellNum++; var cell13 = headerRow.CreateCell(cellNum); cell13.SetCellValue("数量"); cell13.CellStyle = headerStyle; mySheet.SetColumnWidth(cellNum, 10 * 256); cellNum++; var cell14 = headerRow.CreateCell(cellNum); cell14.SetCellValue("金额"); cell14.CellStyle = headerStyle; mySheet.SetColumnWidth(cellNum, 10 * 256); cellNum++; var cell15 = headerRow.CreateCell(cellNum); cell15.SetCellValue("建立时间"); cell15.CellStyle = headerStyle; mySheet.SetColumnWidth(cellNum, 10 * 256); cellNum++; var cell16 = headerRow.CreateCell(cellNum); cell16.SetCellValue("修改时间"); cell16.CellStyle = headerStyle; mySheet.SetColumnWidth(cellNum, 10 * 256); cellNum++; var cell17 = headerRow.CreateCell(cellNum); cell17.SetCellValue("创建人"); cell17.CellStyle = headerStyle; mySheet.SetColumnWidth(cellNum, 10 * 256); cellNum++; var cell18 = headerRow.CreateCell(cellNum); cell18.SetCellValue("修改人"); cell18.CellStyle = headerStyle; mySheet.SetColumnWidth(cellNum, 10 * 256); cellNum++; var cell19 = headerRow.CreateCell(cellNum); cell19.SetCellValue("删除标志"); cell19.CellStyle = headerStyle; mySheet.SetColumnWidth(cellNum, 10 * 256); cellNum++; headerRow.Height = 30 * 20; var commonCellStyle = ExcelHelper.GetCommonStyle(book); //将数据逐步写入sheet1各个行 for (var i = 0; i < listModel.Count; i++) { var rowTemp = mySheet.CreateRow(i + 1); var cellNumTemp = 0; var rowTemp0 = rowTemp.CreateCell(cellNumTemp); rowTemp0.SetCellValue(listModel[i].id.ToString()); rowTemp0.CellStyle = commonCellStyle; cellNumTemp++; var rowTemp1 = rowTemp.CreateCell(cellNumTemp); rowTemp1.SetCellValue(listModel[i].distributionId.ToString()); rowTemp1.CellStyle = commonCellStyle; cellNumTemp++; var rowTemp2 = rowTemp.CreateCell(cellNumTemp); rowTemp2.SetCellValue(listModel[i].distributionName.ToString()); rowTemp2.CellStyle = commonCellStyle; cellNumTemp++; var rowTemp3 = rowTemp.CreateCell(cellNumTemp); rowTemp3.SetCellValue(listModel[i].areaCode.ToString()); rowTemp3.CellStyle = commonCellStyle; cellNumTemp++; var rowTemp4 = rowTemp.CreateCell(cellNumTemp); rowTemp4.SetCellValue(listModel[i].areaCodeName.ToString()); rowTemp4.CellStyle = commonCellStyle; cellNumTemp++; var rowTemp5 = rowTemp.CreateCell(cellNumTemp); rowTemp5.SetCellValue(listModel[i].CategoryId.ToString()); rowTemp5.CellStyle = commonCellStyle; cellNumTemp++; var rowTemp6 = rowTemp.CreateCell(cellNumTemp); rowTemp6.SetCellValue(listModel[i].CategoryName.ToString()); rowTemp6.CellStyle = commonCellStyle; cellNumTemp++; var rowTemp7 = rowTemp.CreateCell(cellNumTemp); rowTemp7.SetCellValue(listModel[i].goodsId.ToString()); rowTemp7.CellStyle = commonCellStyle; cellNumTemp++; var rowTemp8 = rowTemp.CreateCell(cellNumTemp); rowTemp8.SetCellValue(listModel[i].goodsName.ToString()); rowTemp8.CellStyle = commonCellStyle; cellNumTemp++; var rowTemp9 = rowTemp.CreateCell(cellNumTemp); rowTemp9.SetCellValue(listModel[i].productsId.ToString()); rowTemp9.CellStyle = commonCellStyle; cellNumTemp++; var rowTemp10 = rowTemp.CreateCell(cellNumTemp); rowTemp10.SetCellValue(listModel[i].productsName.ToString()); rowTemp10.CellStyle = commonCellStyle; cellNumTemp++; var rowTemp11 = rowTemp.CreateCell(cellNumTemp); rowTemp11.SetCellValue(listModel[i].spesDesc.ToString()); rowTemp11.CellStyle = commonCellStyle; cellNumTemp++; var rowTemp12 = rowTemp.CreateCell(cellNumTemp); rowTemp12.SetCellValue(listModel[i].price.ToString()); rowTemp12.CellStyle = commonCellStyle; cellNumTemp++; var rowTemp13 = rowTemp.CreateCell(cellNumTemp); rowTemp13.SetCellValue(listModel[i].nums.ToString()); rowTemp13.CellStyle = commonCellStyle; cellNumTemp++; var rowTemp14 = rowTemp.CreateCell(cellNumTemp); rowTemp14.SetCellValue(listModel[i].amount.ToString()); rowTemp14.CellStyle = commonCellStyle; cellNumTemp++; var rowTemp15 = rowTemp.CreateCell(cellNumTemp); rowTemp15.SetCellValue(listModel[i].createTime.ToString()); rowTemp15.CellStyle = commonCellStyle; cellNumTemp++; var rowTemp16 = rowTemp.CreateCell(cellNumTemp); rowTemp16.SetCellValue(listModel[i].upDataTime.ToString()); rowTemp16.CellStyle = commonCellStyle; cellNumTemp++; var rowTemp17 = rowTemp.CreateCell(cellNumTemp); rowTemp17.SetCellValue(listModel[i].createBy.ToString()); rowTemp17.CellStyle = commonCellStyle; cellNumTemp++; var rowTemp18 = rowTemp.CreateCell(cellNumTemp); rowTemp18.SetCellValue(listModel[i].upDataBy.ToString()); rowTemp18.CellStyle = commonCellStyle; cellNumTemp++; var rowTemp19 = rowTemp.CreateCell(cellNumTemp); rowTemp19.SetCellValue(listModel[i].isdelete.ToString()); rowTemp19.CellStyle = commonCellStyle; cellNumTemp++; } // 导出excel string webRootPath = _webHostEnvironment.WebRootPath; string tpath = "/files/" + DateTime.Now.ToString("yyyy-MM-dd") + "/"; string fileName = DateTime.Now.ToString("yyyyMMddHHmmssfff") + "-Puhuo导出(选择结果).xls"; string filePath = webRootPath + tpath; DirectoryInfo di = new DirectoryInfo(filePath); if (!di.Exists) { di.Create(); } FileStream fileHssf = new FileStream(filePath + fileName, FileMode.Create); book.Write(fileHssf); fileHssf.Close(); jm.code = 0; jm.msg = GlobalConstVars.ExcelExportSuccess; jm.data = tpath + fileName; return jm; } #endregion #region 查询导出============================================================ // POST: Api/Puhuo/QueryExportExcel/10 /// <summary> /// 查询导出 /// </summary> /// <returns></returns> [HttpPost] [Description("查询导出")] public async Task<AdminUiCallBack> QueryExportExcel() { var jm = new AdminUiCallBack(); var where = PredicateBuilder.True<Puhuo>(); //查询筛选 //主键ID int var id = Request.Form["id"].FirstOrDefault().ObjectToInt(0); if (id > 0) { where = where.And(p => p.id == id); } //经销商id int var distributionId = Request.Form["distributionId"].FirstOrDefault().ObjectToInt(0); if (distributionId > 0) { where = where.And(p => p.distributionId == distributionId); } //经销商 varchar var distributionName = Request.Form["distributionName"].FirstOrDefault(); if (!string.IsNullOrEmpty(distributionName)) { where = where.And(p => p.distributionName.Contains(distributionName)); } //区域 varchar var areaCode = Request.Form["areaCode"].FirstOrDefault(); if (!string.IsNullOrEmpty(areaCode)) { where = where.And(p => p.areaCode.Contains(areaCode)); } //区域名称 varchar var areaCodeName = Request.Form["areaCodeName"].FirstOrDefault(); if (!string.IsNullOrEmpty(areaCodeName)) { where = where.And(p => p.areaCodeName.Contains(areaCodeName)); } //商品分类id int var CategoryId = Request.Form["CategoryId"].FirstOrDefault().ObjectToInt(0); if (CategoryId > 0) { where = where.And(p => p.CategoryId == CategoryId); } //商品分类 varchar var CategoryName = Request.Form["CategoryName"].FirstOrDefault(); if (!string.IsNullOrEmpty(CategoryName)) { where = where.And(p => p.CategoryName.Contains(CategoryName)); } //商品id int var goodsId = Request.Form["goodsId"].FirstOrDefault().ObjectToInt(0); if (goodsId > 0) { where = where.And(p => p.goodsId == goodsId); } //商品名称 varchar var goodsName = Request.Form["goodsName"].FirstOrDefault(); if (!string.IsNullOrEmpty(goodsName)) { where = where.And(p => p.goodsName.Contains(goodsName)); } //货品id int var productsId = Request.Form["productsId"].FirstOrDefault().ObjectToInt(0); if (productsId > 0) { where = where.And(p => p.productsId == productsId); } //货品编号 varchar var productsName = Request.Form["productsName"].FirstOrDefault(); if (!string.IsNullOrEmpty(productsName)) { where = where.And(p => p.productsName.Contains(productsName)); } //货品规格 varchar var spesDesc = Request.Form["spesDesc"].FirstOrDefault(); if (!string.IsNullOrEmpty(spesDesc)) { where = where.And(p => p.spesDesc.Contains(spesDesc)); } //货品价格 decimal var price = Request.Form["price"].FirstOrDefault().ObjectToDecimal(0); if (price > 0) { where = where.And(p => p.price == price); } //数量 int var nums = Request.Form["nums"].FirstOrDefault().ObjectToInt(0); if (nums > 0) { where = where.And(p => p.nums == nums); } //金额 decimal var amount = Request.Form["amount"].FirstOrDefault().ObjectToDecimal(0); if (amount > 0) { where = where.And(p => p.amount == amount); } //建立时间 datetime var createTime = Request.Form["createTime"].FirstOrDefault(); if (!string.IsNullOrEmpty(createTime)) { if (createTime.Contains("到")) { var dts = createTime.Split("到"); var dtStart = dts[0].Trim().ObjectToDate(); where = where.And(p => p.createTime > dtStart); var dtEnd = dts[1].Trim().ObjectToDate(); where = where.And(p => p.createTime < dtEnd); } else { var dt = createTime.ObjectToDate(); where = where.And(p => p.createTime > dt); } } //修改时间 datetime var upDataTime = Request.Form["upDataTime"].FirstOrDefault(); if (!string.IsNullOrEmpty(upDataTime)) { if (upDataTime.Contains("到")) { var dts = upDataTime.Split("到"); var dtStart = dts[0].Trim().ObjectToDate(); where = where.And(p => p.upDataTime > dtStart); var dtEnd = dts[1].Trim().ObjectToDate(); where = where.And(p => p.upDataTime < dtEnd); } else { var dt = upDataTime.ObjectToDate(); where = where.And(p => p.upDataTime > dt); } } //创建人 varchar var createBy = Request.Form["createBy"].FirstOrDefault(); if (!string.IsNullOrEmpty(createBy)) { where = where.And(p => p.createBy.Contains(createBy)); } //修改人 varchar var upDataBy = Request.Form["upDataBy"].FirstOrDefault(); if (!string.IsNullOrEmpty(upDataBy)) { where = where.And(p => p.upDataBy.Contains(upDataBy)); } //删除标志 bit var isdelete = Request.Form["isdelete"].FirstOrDefault(); if (!string.IsNullOrEmpty(isdelete) && isdelete.ToLowerInvariant() == "true") { where = where.And(p => p.isdelete == true); } else if (!string.IsNullOrEmpty(isdelete) && isdelete.ToLowerInvariant() == "false") { where = where.And(p => p.isdelete == false); } //获取数据 //创建Excel文件的对象 var book = new HSSFWorkbook(); //添加一个sheet var mySheet = book.CreateSheet("Sheet1"); //获取list数据 var listModel = await _PuhuoServices.QueryListByClauseAsync(where, p => p.id, OrderByType.Asc, true); //给sheet1添加第一行的头部标题 var headerRow = mySheet.CreateRow(0); var headerStyle = ExcelHelper.GetHeaderStyle(book); var cellNum = 0; var cell0 = headerRow.CreateCell(cellNum); cell0.SetCellValue("主键ID"); cell0.CellStyle = headerStyle; mySheet.SetColumnWidth(cellNum, 10 * 256); cellNum++; var cell1 = headerRow.CreateCell(cellNum); cell1.SetCellValue("经销商id"); cell1.CellStyle = headerStyle; mySheet.SetColumnWidth(cellNum, 10 * 256); cellNum++; var cell2 = headerRow.CreateCell(cellNum); cell2.SetCellValue("经销商"); cell2.CellStyle = headerStyle; mySheet.SetColumnWidth(cellNum, 10 * 256); cellNum++; var cell3 = headerRow.CreateCell(cellNum); cell3.SetCellValue("区域"); cell3.CellStyle = headerStyle; mySheet.SetColumnWidth(cellNum, 10 * 256); cellNum++; var cell4 = headerRow.CreateCell(cellNum); cell4.SetCellValue("区域名称"); cell4.CellStyle = headerStyle; mySheet.SetColumnWidth(cellNum, 10 * 256); cellNum++; var cell5 = headerRow.CreateCell(cellNum); cell5.SetCellValue("商品分类id"); cell5.CellStyle = headerStyle; mySheet.SetColumnWidth(cellNum, 10 * 256); cellNum++; var cell6 = headerRow.CreateCell(cellNum); cell6.SetCellValue("商品分类"); cell6.CellStyle = headerStyle; mySheet.SetColumnWidth(cellNum, 10 * 256); cellNum++; var cell7 = headerRow.CreateCell(cellNum); cell7.SetCellValue("商品id"); cell7.CellStyle = headerStyle; mySheet.SetColumnWidth(cellNum, 10 * 256); cellNum++; var cell8 = headerRow.CreateCell(cellNum); cell8.SetCellValue("商品名称"); cell8.CellStyle = headerStyle; mySheet.SetColumnWidth(cellNum, 10 * 256); cellNum++; var cell9 = headerRow.CreateCell(cellNum); cell9.SetCellValue("货品id"); cell9.CellStyle = headerStyle; mySheet.SetColumnWidth(cellNum, 10 * 256); cellNum++; var cell10 = headerRow.CreateCell(cellNum); cell10.SetCellValue("货品编号"); cell10.CellStyle = headerStyle; mySheet.SetColumnWidth(cellNum, 10 * 256); cellNum++; var cell11 = headerRow.CreateCell(cellNum); cell11.SetCellValue("货品规格"); cell11.CellStyle = headerStyle; mySheet.SetColumnWidth(cellNum, 10 * 256); cellNum++; var cell12 = headerRow.CreateCell(cellNum); cell12.SetCellValue("货品价格"); cell12.CellStyle = headerStyle; mySheet.SetColumnWidth(cellNum, 10 * 256); cellNum++; var cell13 = headerRow.CreateCell(cellNum); cell13.SetCellValue("数量"); cell13.CellStyle = headerStyle; mySheet.SetColumnWidth(cellNum, 10 * 256); cellNum++; var cell14 = headerRow.CreateCell(cellNum); cell14.SetCellValue("金额"); cell14.CellStyle = headerStyle; mySheet.SetColumnWidth(cellNum, 10 * 256); cellNum++; var cell15 = headerRow.CreateCell(cellNum); cell15.SetCellValue("建立时间"); cell15.CellStyle = headerStyle; mySheet.SetColumnWidth(cellNum, 10 * 256); cellNum++; var cell16 = headerRow.CreateCell(cellNum); cell16.SetCellValue("修改时间"); cell16.CellStyle = headerStyle; mySheet.SetColumnWidth(cellNum, 10 * 256); cellNum++; var cell17 = headerRow.CreateCell(cellNum); cell17.SetCellValue("创建人"); cell17.CellStyle = headerStyle; mySheet.SetColumnWidth(cellNum, 10 * 256); cellNum++; var cell18 = headerRow.CreateCell(cellNum); cell18.SetCellValue("修改人"); cell18.CellStyle = headerStyle; mySheet.SetColumnWidth(cellNum, 10 * 256); cellNum++; var cell19 = headerRow.CreateCell(cellNum); cell19.SetCellValue("删除标志"); cell19.CellStyle = headerStyle; mySheet.SetColumnWidth(cellNum, 10 * 256); cellNum++; headerRow.Height = 30 * 20; var commonCellStyle = ExcelHelper.GetCommonStyle(book); //将数据逐步写入sheet1各个行 for (var i = 0; i < listModel.Count; i++) { var rowTemp = mySheet.CreateRow(i + 1); var cellNumTemp = 0; var rowTemp0 = rowTemp.CreateCell(cellNumTemp); rowTemp0.SetCellValue(listModel[i].id.ToString()); rowTemp0.CellStyle = commonCellStyle; cellNumTemp++; var rowTemp1 = rowTemp.CreateCell(cellNumTemp); rowTemp1.SetCellValue(listModel[i].distributionId.ToString()); rowTemp1.CellStyle = commonCellStyle; cellNumTemp++; var rowTemp2 = rowTemp.CreateCell(cellNumTemp); rowTemp2.SetCellValue(listModel[i].distributionName.ToString()); rowTemp2.CellStyle = commonCellStyle; cellNumTemp++; var rowTemp3 = rowTemp.CreateCell(cellNumTemp); rowTemp3.SetCellValue(listModel[i].areaCode.ToString()); rowTemp3.CellStyle = commonCellStyle; cellNumTemp++; var rowTemp4 = rowTemp.CreateCell(cellNumTemp); rowTemp4.SetCellValue(listModel[i].areaCodeName.ToString()); rowTemp4.CellStyle = commonCellStyle; cellNumTemp++; var rowTemp5 = rowTemp.CreateCell(cellNumTemp); rowTemp5.SetCellValue(listModel[i].CategoryId.ToString()); rowTemp5.CellStyle = commonCellStyle; cellNumTemp++; var rowTemp6 = rowTemp.CreateCell(cellNumTemp); rowTemp6.SetCellValue(listModel[i].CategoryName.ToString()); rowTemp6.CellStyle = commonCellStyle; cellNumTemp++; var rowTemp7 = rowTemp.CreateCell(cellNumTemp); rowTemp7.SetCellValue(listModel[i].goodsId.ToString()); rowTemp7.CellStyle = commonCellStyle; cellNumTemp++; var rowTemp8 = rowTemp.CreateCell(cellNumTemp); rowTemp8.SetCellValue(listModel[i].goodsName.ToString()); rowTemp8.CellStyle = commonCellStyle; cellNumTemp++; var rowTemp9 = rowTemp.CreateCell(cellNumTemp); rowTemp9.SetCellValue(listModel[i].productsId.ToString()); rowTemp9.CellStyle = commonCellStyle; cellNumTemp++; var rowTemp10 = rowTemp.CreateCell(cellNumTemp); rowTemp10.SetCellValue(listModel[i].productsName.ToString()); rowTemp10.CellStyle = commonCellStyle; cellNumTemp++; var rowTemp11 = rowTemp.CreateCell(cellNumTemp); rowTemp11.SetCellValue(listModel[i].spesDesc.ToString()); rowTemp11.CellStyle = commonCellStyle; cellNumTemp++; var rowTemp12 = rowTemp.CreateCell(cellNumTemp); rowTemp12.SetCellValue(listModel[i].price.ToString()); rowTemp12.CellStyle = commonCellStyle; cellNumTemp++; var rowTemp13 = rowTemp.CreateCell(cellNumTemp); rowTemp13.SetCellValue(listModel[i].nums.ToString()); rowTemp13.CellStyle = commonCellStyle; cellNumTemp++; var rowTemp14 = rowTemp.CreateCell(cellNumTemp); rowTemp14.SetCellValue(listModel[i].amount.ToString()); rowTemp14.CellStyle = commonCellStyle; cellNumTemp++; var rowTemp15 = rowTemp.CreateCell(cellNumTemp); rowTemp15.SetCellValue(listModel[i].createTime.ToString()); rowTemp15.CellStyle = commonCellStyle; cellNumTemp++; var rowTemp16 = rowTemp.CreateCell(cellNumTemp); rowTemp16.SetCellValue(listModel[i].upDataTime.ToString()); rowTemp16.CellStyle = commonCellStyle; cellNumTemp++; var rowTemp17 = rowTemp.CreateCell(cellNumTemp); rowTemp17.SetCellValue(listModel[i].createBy.ToString()); rowTemp17.CellStyle = commonCellStyle; cellNumTemp++; var rowTemp18 = rowTemp.CreateCell(cellNumTemp); rowTemp18.SetCellValue(listModel[i].upDataBy.ToString()); rowTemp18.CellStyle = commonCellStyle; cellNumTemp++; var rowTemp19 = rowTemp.CreateCell(cellNumTemp); rowTemp19.SetCellValue(listModel[i].isdelete.ToString()); rowTemp19.CellStyle = commonCellStyle; cellNumTemp++; } // 写入到excel string webRootPath = _webHostEnvironment.WebRootPath; string tpath = "/files/" + DateTime.Now.ToString("yyyy-MM-dd") + "/"; string fileName = DateTime.Now.ToString("yyyyMMddHHmmssfff") + "-Puhuo导出(查询结果).xls"; string filePath = webRootPath + tpath; DirectoryInfo di = new DirectoryInfo(filePath); if (!di.Exists) { di.Create(); } FileStream fileHssf = new FileStream(filePath + fileName, FileMode.Create); book.Write(fileHssf); fileHssf.Close(); jm.code = 0; jm.msg = GlobalConstVars.ExcelExportSuccess; jm.data = tpath + fileName; return jm; } #endregion #region 设置删除标志============================================================ // POST: Api/Puhuo/DoSetisdelete/10 /// <summary> /// 设置删除标志 /// </summary> /// <param name="entity"></param> /// <returns></returns> [HttpPost] [Description("设置删除标志")] public async Task<AdminUiCallBack> DoSetisdelete([FromBody]FMUpdateBoolDataByIntId entity) { var jm = new AdminUiCallBack(); var oldModel = await _PuhuoServices.QueryByIdAsync(entity.id, false); if (oldModel == null) { jm.msg = "不存在此信息"; return jm; } oldModel.isdelete = (bool)entity.data; var bl = await _PuhuoServices.UpdateAsync(p => new Puhuo() { isdelete = oldModel.isdelete }, p => p.id == oldModel.id); jm.code = bl ? 0 : 1; jm.msg = bl ? GlobalConstVars.EditSuccess : GlobalConstVars.EditFailure; return jm; } #endregion } } CoreCms.Net.Web.Admin/wwwroot/views/baifenbingfa/puhuo/create.html
New file @@ -0,0 +1,260 @@ <title>标题</title> <!--当前位置开始--> <div class="layui-card layadmin-header"> <div class="layui-breadcrumb" lay-filter="breadcrumb"> <script type="text/html" template lay-done="layui.data.updateMainBreadcrumb();"> </script> </div> </div> <!--当前位置结束--> <style> /* 重写样式 */ .layui-form-item label { width: 140px; } .classifyimg { margin-bottom: 20px; width: 672px !important; } .classifyimg-item { display: inline-block; width: 140px; } .classifyimg img { width: 100px; display: block; } .classifyimg .layui-form-radio { vertical-align: top; display: block; margin-bottom: 10px; } .image_storage_type .item { display: none; } .layui-elem-quote { margin: 10px; } .layui-tab-content { padding: 15px 0; } </style> <script type="text/html" template lay-type="Post" lay-url="{{ layui.setter.apiUrl }}Api/Puhuo/GetCreate" lay-done="layui.data.done(d);"> <div class="layui-fluid"> <div class="layui-row layui-col-space15"> <div class="layui-form coreshop-form layui-form-pane" lay-filter="LAY-app-Puhuo-createForm" id="LAY-app-Puhuo-createForm"> <div class="layui-form-item"> <label for="distributionId" class="layui-form-label layui-form-required">经销商</label> <div class="layui-input-block"> <select name="distributionId" id="distributionId"> <option value="0">请选择</option> {{# layui.each(d.data.distributions, function(index, item){ }} <option value="{{ item.id }}">{{ item.name }}</option> {{# }); }} </select> </div> </div> <div class="layui-form-item"> <label for="CategoryId" class="layui-form-label layui-form-required">商品分类</label> <div class="layui-input-block"> <select name="CategoryId" id="CategoryId" lay-filter="searchSelect"> <option value="0">请选择</option> {{# layui.each(d.data.categories, function(index, item){ }} <option value="{{ item.id }}">{{ item.name }}</option> {{# }); }} </select> </div> </div> <div class="layui-form-item"> <label for="goodsName" class="layui-form-label layui-form-required">商品</label> <div class="layui-input-block"> <select name="goodsName" id="goodsName" lay-filter="searchSelectgoodsName"> <option value="0">请选择</option> </select> </div> </div> <div class="layui-form-item"> <label for="productsId" class="layui-form-label layui-form-required">货品</label> <div class="layui-input-block"> <!--<input type="number" min="0" max="999999" name="productsId" lay-verType="tips" lay-verify="required|number" class="layui-input" value="1" placeholder="请输入货品id" lay-reqText="请输入货品id并为数字" />--> <select name="productsId" id="productsId"> <option value="0">请选择</option> </select> </div> </div> <div class="layui-form-item"> <label for="nums" class="layui-form-label layui-form-required">数量</label> <div class="layui-input-block"> <input type="number" min="0" max="999999" id="nums" name="nums" lay-verType="tips" lay-verify="required|number" class="layui-input" value="0" placeholder="请输入数量" lay-reqText="请输入数量并为数字" /> </div> </div> <div class="layui-form-item"> <label class="layui-form-label"> </label> <div class="layui-input-block"> <button class="layui-btn" lay-submit="" lay-filter="save">确认铺货</button> </div> </div> </div> </div> </div> </script> <script> var debug = layui.setter.debug; layui.data.done = function (d) { //开启调试情况下获取接口赋值数据 if (debug) { console.log(d.params.data); } layui.use(['admin', 'form', 'laydate', 'upload', 'coreHelper', 'cropperImg', 'xmSelect'], function () { var $ = layui.$ , form = layui.form , admin = layui.admin , laydate = layui.laydate , upload = layui.upload , xmSelect = layui.xmSelect , cropperImg = layui.cropperImg , coreHelper = layui.coreHelper; form.verify({ }); //重载form form.render(); // 监听搜索框 form.on('select(searchSelect)', function (data) { console.log(data.value); // 被选中的值 var city = data.value; $.ajax({ type: "GET", url: layui.setter.apiUrl + 'Api/Puhuo/Getshangpfenlei?fenleiid=' + city, dataType: "json", global: false, data: "", success: function (data) { console.log(data.data); var quxian = $("#goodsName"); quxian.find('option').remove(); var aaa = '<option value="0">请选择</option>'; quxian.append(aaa); if (data.data.length > 0) { for (var i = 0; i < data.data.length; i++) { var o = '<option value="' + data.data[i].id + '" >' + data.data[i].name + '</option>'; quxian.append(o); } // 使用form.render方法重新渲染select } form.render('select'); }, error: function () { layer.msg(e.msg); } }); }); form.on('select(searchSelectgoodsName)', function (data) { console.log(data.value); // 被选中的值 var city = data.value; $.ajax({ type: "GET", url: layui.setter.apiUrl + 'Api/Puhuo/Gethuopin?shangpinid=' + city, dataType: "json", global: false, data: "", success: function (data) { console.log(data.data); var quxian = $("#productsId"); quxian.find('option').remove(); var aaa = '<option value="0">请选择</option>'; quxian.append(aaa); if (data.data.length > 0) { for (var i = 0; i < data.data.length; i++) { var o = '<option value="' + data.data[i].id + '" >' + data.data[i].sn + '</option>'; quxian.append(o); } // 使用form.render方法重新渲染select } form.render('select'); }, error: function () { layer.msg(e.msg); } }); }); //保存数据 form.on('submit(save)', function (data) { formData = data.field; if (!formData) { layer.msg('请先完善数据', { time: 1300 }); return false; } var field = data.field; coreHelper.Post("Api/Puhuo/DoCreate", field, function (e) { if (debug) { console.log(e); } //开启调试返回数据 if (e.code == 0) { $("#nums").val(0); } layer.msg(e.msg); }); }); }) }; </script> CoreCms.Net.Web.Admin/wwwroot/views/baifenbingfa/puhuo/details.html
New file @@ -0,0 +1,85 @@ <script type="text/html" template lay-done="layui.data.done(d);"> <table class="layui-table layui-form" lay-filter="LAY-app-Puhuo-detailsForm" id="LAY-app-Puhuo-detailsForm"> <colgroup> <col width="100"> <col> </colgroup> <tbody> <tr> <td style="background-color:lightsteelblue;width:12.5%;"> 区域 </td> <td style="background-color: lightsteelblue; width: 12.5%;"> 经销商 </td> <td style="background-color: lightsteelblue; width: 12.5%;"> 商品类别 </td> <td style="background-color: lightsteelblue; width: 12.5%;"> 商品名称 </td> <td style="background-color: lightsteelblue; width: 20%;"> 货品编号 </td> <td style="background-color: lightsteelblue; width: 10%;"> 数量 </td> <td style="background-color: lightsteelblue; width: 10%;"> 单价(元) </td> <td style="background-color: lightsteelblue; width: 10%;"> 金额(元) </td> </tr> {{# layui.each(d.params.data.puhuos, function(index, item){ }} <tr> <td> {{ item.areaCodeName }} </td> <td> {{ item.distributionName }} </td> <td> {{ item.categoryName }} </td> <td> {{ item.goodsName }} </td> <td> {{ item.productsName }} </td> <td> {{ item.nums }} </td> <td> {{ item.price }} </td> <td> {{ item.amount }} </td> </tr> {{# }); }} </tbody> </table> </script> <script> var debug= layui.setter.debug; layui.data.done = function (d) { //开启调试情况下获取接口赋值数据 if (debug) { console.log(d.params.data); } layui.use(['admin', 'form', 'coreHelper'], function () { var $ = layui.$ , setter = layui.setter , admin = layui.admin , coreHelper = layui.coreHelper , form = layui.form; form.render(null, 'LAY-app-Puhuo-detailsForm'); }); }; </script> CoreCms.Net.Web.Admin/wwwroot/views/baifenbingfa/puhuo/edit.html
New file @@ -0,0 +1,150 @@ <script type="text/html" template lay-done="layui.data.sendParams(d);"> <div class="layui-form coreshop-form layui-form-pane" lay-filter="LAY-app-Puhuo-editForm" id="LAY-app-Puhuo-editForm"> <input type="hidden" name="id" value="{{d.params.data.id || '' }}" /> <input type="hidden" name="jintui" value="{{d.params.data.jintui || '' }}" /> <!--<div class="layui-form-item"> <label for="id" class="layui-form-label ">主键ID</label> <div class="layui-input-block"> <input type="number" min="0" max="999999" name="id" lay-verType="tips" lay-verify="required|number" class="layui-input" value="{{d.params.data.id || '' }}" placeholder="请输入主键ID" lay-reqText="请输入主键ID并为数字" /> </div> </div>--> <!--<div class="layui-form-item"> <label for="distributionId" class="layui-form-label ">经销商id</label> <div class="layui-input-block"> <input type="number" min="0" max="999999" name="distributionId" lay-verType="tips" lay-verify="required|number" class="layui-input" value="{{d.params.data.distributionId || '' }}" placeholder="请输入经销商id" lay-reqText="请输入经销商id并为数字" /> </div> </div>--> <div class="layui-form-item"> <label for="areaCodeName" class="layui-form-label ">区域名称</label> <div class="layui-input-block"> <input name="areaCodeName" lay-verType="tips" readonly="readonly" lay-verify="required" class="layui-input" placeholder="请输入区域名称" lay-reqText="请输入区域名称" value="{{d.params.data.areaCodeName || '' }}" /> </div> </div> <div class="layui-form-item"> <label for="distributionName" class="layui-form-label ">经销商</label> <div class="layui-input-block"> <input name="distributionName" lay-verType="tips" readonly="readonly" lay-verify="required" class="layui-input" placeholder="请输入经销商" lay-reqText="请输入经销商" value="{{d.params.data.distributionName || '' }}" /> </div> </div> <!--<div class="layui-form-item"> <label for="areaCode" class="layui-form-label ">区域</label> <div class="layui-input-block"> <input name="areaCode" lay-verType="tips" lay-verify="required" class="layui-input" placeholder="请输入区域" lay-reqText="请输入区域" value="{{d.params.data.areaCode || '' }}" /> </div> </div>--> <!--<div class="layui-form-item"> <label for="CategoryId" class="layui-form-label ">商品分类id</label> <div class="layui-input-block"> <input type="number" min="0" max="999999" name="CategoryId" lay-verType="tips" lay-verify="required|number" class="layui-input" value="{{d.params.data.CategoryId || '' }}" placeholder="请输入商品分类id" lay-reqText="请输入商品分类id并为数字" /> </div> </div>--> <div class="layui-form-item"> <label for="CategoryName" class="layui-form-label ">商品分类</label> <div class="layui-input-block"> <input name="CategoryName" lay-verType="tips" readonly="readonly" lay-verify="required" class="layui-input" placeholder="请输入商品分类" lay-reqText="请输入商品分类" value="{{d.params.data.categoryName || '' }}" /> </div> </div> <!--<div class="layui-form-item"> <label for="goodsId" class="layui-form-label ">商品id</label> <div class="layui-input-block"> <input type="number" min="0" max="999999" name="goodsId" lay-verType="tips" lay-verify="required|number" class="layui-input" value="{{d.params.data.goodsId || '' }}" placeholder="请输入商品id" lay-reqText="请输入商品id并为数字" /> </div> </div>--> <div class="layui-form-item"> <label for="goodsName" class="layui-form-label ">商品名称</label> <div class="layui-input-block"> <input name="goodsName" lay-verType="tips" lay-verify="required" readonly="readonly" class="layui-input" placeholder="请输入商品名称" lay-reqText="请输入商品名称" value="{{d.params.data.goodsName || '' }}" /> </div> </div> <!--<div class="layui-form-item"> <label for="productsId" class="layui-form-label ">货品id</label> <div class="layui-input-block"> <input type="number" min="0" max="999999" name="productsId" lay-verType="tips" lay-verify="required|number" class="layui-input" value="{{d.params.data.productsId || '' }}" placeholder="请输入货品id" lay-reqText="请输入货品id并为数字" /> </div> </div>--> <div class="layui-form-item"> <label for="productsName" class="layui-form-label ">货品编号</label> <div class="layui-input-block"> <input name="productsName" lay-verType="tips" lay-verify="required" readonly="readonly" class="layui-input" placeholder="请输入货品编号" lay-reqText="请输入货品编号" value="{{d.params.data.productsName || '' }}" /> </div> </div> <!--<div class="layui-form-item"> <label for="spesDesc" class="layui-form-label ">货品规格</label> <div class="layui-input-block"> <input name="spesDesc" lay-verType="tips" lay-verify="required" class="layui-input" placeholder="请输入货品规格" lay-reqText="请输入货品规格" value="{{d.params.data.spesDesc || '' }}" /> </div> </div>--> <div class="layui-form-item"> <label for="price" class="layui-form-label ">单价</label> <div class="layui-input-block"> <input name="price" lay-verType="tips" lay-verify="required" class="layui-input" readonly="readonly" placeholder="请输入货品价格" lay-reqText="请输入货品价格" value="{{d.params.data.price || '' }}" /> </div> </div> <div class="layui-form-item"> <label for="nums" class="layui-form-label ">数量</label> <div class="layui-input-block"> <input type="number" min="0" max="999999" name="nums" lay-verType="tips" readonly="readonly" lay-verify="required|number" class="layui-input" value="{{d.params.data.nums || '' }}" placeholder="请输入数量" lay-reqText="请输入数量并为数字" /> </div> </div> <div class="layui-form-item"> <label for="amount" class="layui-form-label ">金额</label> <div class="layui-input-block"> <input name="amount" lay-verType="tips" lay-verify="required" class="layui-input" readonly="readonly" placeholder="请输入金额" lay-reqText="请输入金额" value="{{d.params.data.amount || '' }}" /> </div> </div> <div class="layui-form-item"> <label for="tiaozhengnums" class="layui-form-label layui-form-required">调整数量</label> <div class="layui-input-block"> <input type="number" min="0" max="999999" name="tiaozhengnums" lay-verType="tips" lay-verify="required|number" class="layui-input" value="0" placeholder="请输入数量" lay-reqText="请输入数量并为数字" /> </div> </div> <div class="layui-form-item text-right core-hidden"> <input type="button" class="layui-btn" lay-submit lay-filter="LAY-app-Puhuo-editForm-submit" id="LAY-app-Puhuo-editForm-submit" value="确认编辑"> </div> </div> </script> <script> var debug= layui.setter.debug; layui.data.sendParams = function (d) { //开启调试情况下获取接口赋值数据 if (debug) { console.log(d.params.data); } layui.use(['admin', 'form', 'laydate', 'upload', 'coreHelper', 'cropperImg'], function () { var $ = layui.$ , form = layui.form , admin = layui.admin , laydate = layui.laydate , upload = layui.upload , cropperImg = layui.cropperImg , coreHelper = layui.coreHelper; laydate.render({ elem: '#editTime-Puhuo-createTime', type: 'datetime', fullPanel: true }); laydate.render({ elem: '#editTime-Puhuo-upDataTime', type: 'datetime', fullPanel: true }); form.verify({ }); //重载form form.render(null, 'LAY-app-Puhuo-editForm'); }) }; </script> CoreCms.Net.Web.Admin/wwwroot/views/baifenbingfa/puhuo/index.html
New file @@ -0,0 +1,654 @@ <title>铺货</title> <!--当前位置开始--> <div class="layui-card layadmin-header"> <div class="layui-breadcrumb" lay-filter="breadcrumb"> <script type="text/html" template lay-done="layui.data.updateMainBreadcrumb();"> </script> </div> </div> <!--当前位置结束--> <style> /* 重写样式 */ </style> <script type="text/html" template lay-type="Post" lay-url="Api/Puhuo/GetIndex" lay-done="layui.data.done(d);"> </script> <div class="table-body"> <table id="LAY-app-Puhuo-tableBox" lay-filter="LAY-app-Puhuo-tableBox"></table> </div> <script type="text/html" id="LAY-app-Puhuo-toolbar"> <div class="layui-form coreshop-toolbar-search-form"> <div class="layui-form-item"> <!--<div class="layui-inline"> <label class="layui-form-label" for="id">主键ID</label> <div class="layui-input-inline"> <input type="text" name="id" placeholder="请输入主键ID" class="layui-input"> </div> </div> <div class="layui-inline"> <label class="layui-form-label" for="distributionId">经销商id</label> <div class="layui-input-inline"> <input type="text" name="distributionId" placeholder="请输入经销商id" class="layui-input"> </div> </div>--> <div class="layui-inline"> <label class="layui-form-label" for="areaCode">省</label> <div class="layui-input-inline"> <!--<input type="text" name="areaCode" placeholder="请输入省" class="layui-input">--> <select name="sheng" id="sheng" lay-filter="shengFilter"> <option value="0">请选择</option> {{# layui.each(indexData, function(index, item){ }} <option value="{{ item.id }}">{{ item.name }}</option> {{# }); }} </select> </div> </div> <div class="layui-inline"> <label class="layui-form-label" for="shi">市</label> <div class="layui-input-inline"> <!--<input type="text" name="shi" placeholder="请输入市" class="layui-input">--> <select name="shi" id="shi" lay-filter="cityFilter"> </select> </div> </div> <div class="layui-inline"> <label class="layui-form-label" for="quxian">区县</label> <div class="layui-input-inline"> <!--<input type="text" name="quxian" placeholder="请输入区县" class="layui-input">--> <select name="quxian" id="quxian" lay-filter="quxian"> </select> </div> </div> <div class="layui-inline"> <label class="layui-form-label" for="distributionName">经销商</label> <div class="layui-input-inline"> <input type="text" name="distributionName" placeholder="请输入经销商" class="layui-input"> </div> </div> <!--<div class="layui-inline"> <label class="layui-form-label" for="areaCodeName">区域名称</label> <div class="layui-input-inline"> <input type="text" name="areaCodeName" placeholder="请输入区域名称" class="layui-input"> </div> </div> <div class="layui-inline"> <label class="layui-form-label" for="CategoryId">商品分类id</label> <div class="layui-input-inline"> <input type="text" name="CategoryId" placeholder="请输入商品分类id" class="layui-input"> </div> </div> <div class="layui-inline"> <label class="layui-form-label" for="CategoryName">商品分类</label> <div class="layui-input-inline"> <input type="text" name="CategoryName" placeholder="请输入商品分类" class="layui-input"> </div> </div> <div class="layui-inline"> <label class="layui-form-label" for="goodsId">商品id</label> <div class="layui-input-inline"> <input type="text" name="goodsId" placeholder="请输入商品id" class="layui-input"> </div> </div> <div class="layui-inline"> <label class="layui-form-label" for="goodsName">商品名称</label> <div class="layui-input-inline"> <input type="text" name="goodsName" placeholder="请输入商品名称" class="layui-input"> </div> </div> <div class="layui-inline"> <label class="layui-form-label" for="productsId">货品id</label> <div class="layui-input-inline"> <input type="text" name="productsId" placeholder="请输入货品id" class="layui-input"> </div> </div> <div class="layui-inline"> <label class="layui-form-label" for="productsName">货品编号</label> <div class="layui-input-inline"> <input type="text" name="productsName" placeholder="请输入货品编号" class="layui-input"> </div> </div> <div class="layui-inline"> <label class="layui-form-label" for="spesDesc">货品规格</label> <div class="layui-input-inline"> <input type="text" name="spesDesc" placeholder="请输入货品规格" class="layui-input"> </div> </div> <div class="layui-inline"> <label class="layui-form-label" for="price">货品价格</label> <div class="layui-input-inline"> <input type="text" name="price" placeholder="请输入货品价格" class="layui-input"> </div> </div> <div class="layui-inline"> <label class="layui-form-label" for="nums">数量</label> <div class="layui-input-inline"> <input type="text" name="nums" placeholder="请输入数量" class="layui-input"> </div> </div> <div class="layui-inline"> <label class="layui-form-label" for="amount">金额</label> <div class="layui-input-inline"> <input type="text" name="amount" placeholder="请输入金额" class="layui-input"> </div> </div> <div class="layui-inline"> <label class="layui-form-label" for="createTime">建立时间</label> <div class="layui-input-inline" style="width: 260px;"> <input type="text" name="createTime" id="searchTime-Puhuo-createTime" placeholder="请输入建立时间" class="layui-input"> </div> </div> <div class="layui-inline"> <label class="layui-form-label" for="upDataTime">修改时间</label> <div class="layui-input-inline" style="width: 260px;"> <input type="text" name="upDataTime" id="searchTime-Puhuo-upDataTime" placeholder="请输入修改时间" class="layui-input"> </div> </div> <div class="layui-inline"> <label class="layui-form-label" for="createBy">创建人</label> <div class="layui-input-inline"> <input type="text" name="createBy" placeholder="请输入创建人" class="layui-input"> </div> </div> <div class="layui-inline"> <label class="layui-form-label" for="upDataBy">修改人</label> <div class="layui-input-inline"> <input type="text" name="upDataBy" placeholder="请输入修改人" class="layui-input"> </div> </div> <div class="layui-inline"> <label class="layui-form-label" for="isdelete">删除标志</label> <div class="layui-input-inline"> <select name="isdelete"> <option value="">请选择</option> <option value="True">是</option> <option value="False">否</option> </select> </div> </div>--> <div class="layui-inline"> <button class="layui-btn layui-btn-sm" lay-submit lay-filter="LAY-app-Puhuo-search"><i class="layui-icon layui-icon-search"></i>筛选</button> </div> </div> </div> </script> <script type="text/html" id="LAY-app-Puhuo-pagebar"> <div class="layui-btn-container"> <!--<button class="layui-btn layui-btn-sm" lay-event="addData"><i class="layui-icon layui-icon-add-1"></i>添加数据</button>--> <!--<button class="layui-btn layui-btn-sm" lay-event="batchDelete"><i class="layui-icon layui-icon-delete"></i>批量删除</button>--> <button class="layui-btn layui-btn-sm" lay-event="selectExportExcel"><i class="layui-icon layui-icon-add-circle"></i>选择导出</button> <button class="layui-btn layui-btn-sm" lay-event="queryExportExcel"><i class="layui-icon layui-icon-download-circle"></i>查询导出</button> </div> </script> <script type="text/html" id="LAY-app-Puhuo-tableBox-bar"> <!--<a class="layui-btn layui-btn-primary layui-btn-xs" lay-event="detail">查看</a>--> <a class="layui-btn layui-btn-xs" lay-event="edit">铺货</a> <a class="layui-btn layui-btn-xs" lay-event="edittui">退货</a> <!--<a class="layui-btn layui-btn-danger layui-btn-xs" data-dropdown="#PuhuoTbDelDrop{{d.LAY_INDEX}}" no-shade="true">删除</a>--> <div class="dropdown-menu-nav dropdown-popconfirm dropdown-top-right layui-hide" id="PuhuoTbDelDrop{{d.LAY_INDEX}}" style="max-width: 200px;white-space: normal;min-width: auto;margin-left: 10px;"> <div class="dropdown-anchor"></div> <div class="dropdown-popconfirm-title"> <i class="layui-icon layui-icon-help"></i> 确定要删除吗? </div> <div class="dropdown-popconfirm-btn"> <a class="layui-btn layui-btn-primary cursor" btn-cancel>取消</a> <a class="layui-btn layui-btn-normal cursor" lay-event="del">确定</a> </div> </div> </script> <script> var indexData; var debug= layui.setter.debug; layui.data.done = function (d) { //开启调试情况下获取接口赋值数据 if (debug) { console.log(d); } indexData = d.data; layui.use(['index', 'table', 'laydate', 'util', 'coredropdown', 'coreHelper'], function () { var $ = layui.$ , admin = layui.admin , table = layui.table , form = layui.form , laydate = layui.laydate , setter = layui.setter , coreHelper = layui.coreHelper , util = layui.util , view = layui.view; var searchwhere; //监听搜索 form.on('submit(LAY-app-Puhuo-search)', function(data) { var field = data.field; searchwhere = field; //执行重载 table.reloadData('LAY-app-Puhuo-tableBox',{ where: field }); }); //数据绑定 table.render({ elem: '#LAY-app-Puhuo-tableBox', url: layui.setter.apiUrl + 'Api/Puhuo/GetPageList', method: 'POST', toolbar: '#LAY-app-Puhuo-toolbar', pagebar: '#LAY-app-Puhuo-pagebar', className: 'pagebarbox', defaultToolbar: ['filter', 'print', 'exports'], height: 'full-127',//面包屑142px,搜索框4行172,3行137,2行102,1行67 page: true, limit: 30, limits: [10, 15, 20, 25, 30, 50, 100, 200], text: {none: '暂无相关数据'}, cols: [ [ { type: "checkbox", fixed: "left" }, { type: 'numbers', title: '序号', width: 60, sort: false }, /* { field: 'id', title: '主键ID', width: 60, sort: false},*/ { field: 'areaCodeName', title: '区域名称', sort: false, width: 165 }, /* { field: 'distributionId', title: '经销商id', sort: false,width: 105 },*/ { field: 'distributionName', title: '经销商', sort: false, width: 165 }, /* { field: 'areaCode', title: '区域', sort: false,width: 105 },*/ /* { field: 'categoryId', title: '商品分类id', sort: false,width: 105 },*/ { field: 'categoryName', title: '商品类别', sort: false, width: 165 }, /* { field: 'goodsId', title: '商品id', sort: false,width: 105 },*/ { field: 'goodsName', title: '商品名称', sort: false, width: 165 }, /* { field: 'productsId', title: '货品id', sort: false,width: 105 },*/ { field: 'productsName', title: '货品编号', sort: false, width: 165 }, /* { field: 'spesDesc', title: '货品规格', sort: false,width: 105 },*/ { field: 'nums', title: '数量', sort: false, width: 165 }, { field: 'price', title: '单价', sort: false, width: 165 }, { field: 'amount', title: '金额', sort: false, width: 165 }, //{ field: 'createTime', title: '建立时间', width: 130, sort: false}, //{ field: 'upDataTime', title: '修改时间', width: 130, sort: false}, //{ field: 'createBy', title: '创建人', sort: false,width: 105 }, //{ field: 'upDataBy', title: '修改人', sort: false,width: 105 }, //{ field: 'isdelete', title: '删除标志', width: 95, templet: '#switch_isdelete', sort: false , unresize: true}, { width: 210, align: 'center', title:'操作', fixed: 'right', toolbar: '#LAY-app-Puhuo-tableBox-bar' } ] ] }); //监听排序事件 table.on('sort(LAY-app-Puhuo-tableBox)', function(obj){ table.reloadData('LAY-app-Puhuo-tableBox', { initSort: obj, //记录初始排序,如果不设的话,将无法标记表头的排序状态。 where: { //请求参数(注意:这里面的参数可任意定义,并非下面固定的格式) orderField: obj.field, //排序字段 orderDirection: obj.type //排序方式 } }); }); ////监听行双击事件 //table.on('rowDouble(LAY-app-Puhuo-tableBox)', function (obj) { // //查看详情 // doDetails(obj); //}); //头工具栏事件 table.on('pagebar(LAY-app-Puhuo-tableBox)', function (obj) { var checkStatus = table.checkStatus(obj.config.id); switch (obj.event) { case 'addData': doCreate(); break; case 'batchDelete': doBatchDelete(checkStatus); break; case 'selectExportExcel': doSelectExportExcel(checkStatus); break; case 'queryExportExcel': doQueryExportexcel(); break; }; }); //监听工具条 table.on('tool(LAY-app-Puhuo-tableBox)', function(obj) { if (obj.event === 'detail') { doDetails(obj); } else if (obj.event === 'del') { doDelete(obj); } else if (obj.event === 'edit') { doEdit(obj) } else if (obj.event === 'edittui') { doEdittui(obj) } }); //执行创建操作 function doCreate(){ coreHelper.Post("Api/Puhuo/GetCreate", null, function (e) { if (e.code === 0) { admin.popup({ shadeClose: false, title: '创建数据', area: ['1200px', '90%'], id: 'LAY-popup-Puhuo-create', success: function (layero, index) { view(this.id).render('baifenbingfa/Puhuo/create', { data: e.data }).done(function () { //监听提交 form.on('submit(LAY-app-Puhuo-createForm-submit)', function(data) { var field = data.field; //获取提交的字段 field.isdelete = field.isdelete == 'on'; if (debug) { console.log(field); } //开启调试返回数据 //提交 Ajax 成功后,关闭当前弹层并重载表格 coreHelper.Post("Api/Puhuo/DoCreate", field, function (e) { console.log(e) if (e.code === 0) { layui.table.reloadData('LAY-app-Puhuo-tableBox'); //重载表格 layer.close(index); //再执行关闭 layer.msg(e.msg); } else { layer.msg(e.msg); } }); }); }); // 禁止弹窗出现滚动条 $(layero).children('.layui-layer-content').css('overflow', 'visible'); } , btn: ['确定', '取消'] , yes: function (index, layero) { layero.contents().find("#LAY-app-Puhuo-createForm-submit").click(); } }); } else { layer.msg(e.msg); } }); } //执行编辑操作 function doEdit(obj){ coreHelper.Post("Api/Puhuo/GetEdit", { id: obj.data.id, jintui: 1 }, function (e) { if (e.code === 0) { admin.popup({ shadeClose: false, title: '铺货', area: ['1200px', '90%'], id: 'LAY-popup-Puhuo-edit', success: function (layero, index) { view(this.id).render('baifenbingfa/Puhuo/edit', { data: e.data }).done(function () { //监听提交 form.on('submit(LAY-app-Puhuo-editForm-submit)', function(data) { var field = data.field; //获取提交的字段 field.isdelete = field.isdelete == 'on'; if (debug) { console.log(field); } //开启调试返回数据 //提交 Ajax 成功后,关闭当前弹层并重载表格 coreHelper.Post("Api/Puhuo/DoEdit", field, function (e) { console.log(e) if (e.code === 0) { layui.table.reloadData('LAY-app-Puhuo-tableBox'); //重载表格 layer.close(index); //再执行关闭 layer.msg(e.msg); } else { layer.msg(e.msg); } }); }); }) //// 禁止弹窗出现滚动条 //$(layero).children('.layui-layer-content').css('overflow', 'visible'); } , btn: ['确定', '取消'] , yes: function (index, layero) { layero.contents().find("#LAY-app-Puhuo-editForm-submit").click(); } }); } else { layer.msg(e.msg); } }); } //执行退货操作 function doEdittui(obj) { coreHelper.Post("Api/Puhuo/GetEdit", { id: obj.data.id, jintui: 2 }, function (e) { if (e.code === 0) { admin.popup({ shadeClose: false, title: '退货', area: ['1200px', '90%'], id: 'LAY-popup-Puhuo-edit', success: function (layero, index) { view(this.id).render('baifenbingfa/Puhuo/edit', { data: e.data }).done(function () { //监听提交 form.on('submit(LAY-app-Puhuo-editForm-submit)', function (data) { var field = data.field; //获取提交的字段 field.isdelete = field.isdelete == 'on'; if (debug) { console.log(field); } //开启调试返回数据 //提交 Ajax 成功后,关闭当前弹层并重载表格 coreHelper.Post("Api/Puhuo/DoEdit", field, function (e) { console.log(e) if (e.code === 0) { layui.table.reloadData('LAY-app-Puhuo-tableBox'); //重载表格 layer.close(index); //再执行关闭 layer.msg(e.msg); } else { layer.msg(e.msg); } }); }); }) //// 禁止弹窗出现滚动条 //$(layero).children('.layui-layer-content').css('overflow', 'visible'); } , btn: ['确定', '取消'] , yes: function (index, layero) { layero.contents().find("#LAY-app-Puhuo-editForm-submit").click(); } }); } else { layer.msg(e.msg); } }); } //执行预览操作 function doDetails(obj) { coreHelper.Post("Api/Puhuo/GetDetails", { id: obj.data.id }, function (e) { if (e.code === 0) { admin.popup({ shadeClose: false, title: '查看详情', area: ['1200px', '90%'], id: 'LAY-popup-Puhuo-details', success: function (layero, index) { view(this.id).render('baifenbingfa/Puhuo/details', { data: e.data }).done(function () { form.render(); }); //// 禁止弹窗出现滚动条 //$(layero).children('.layui-layer-content').css('overflow', 'visible'); } }); } else { layer.msg(e.msg); } }); } //执行单个删除 function doDelete(obj){ coreHelper.Post("Api/Puhuo/DoDelete", { id: obj.data.id }, function (e) { if (debug) { console.log(e); } //开启调试返回数据 table.reloadData('LAY-app-Puhuo-tableBox'); layer.msg(e.msg); }); } // 监听提交事件 form.on('select(shengFilter)', function (data) { var city = $("#sheng").val(); $.ajax({ type: "GET", url: layui.setter.apiUrl + 'Api/CoreCmsPlanOrder/GetCityId?shengid=' + city, dataType: "json", global: false, data: "", success: function (data) { console.log(data.data); var quxian = $("#shi"); quxian.find('option').remove(); var aaa = '<option value="0">请选择</option>'; quxian.append(aaa); if (data.data.length > 0) { for (var i = 0; i < data.data.length; i++) { var o = '<option value="' + data.data[i].id + '" >' + data.data[i].name + '</option>'; quxian.append(o); } // 使用form.render方法重新渲染select form.render('select'); } }, error: function () { parent.layer.msg('失败', { icon: 5 }); } }); }); // 监听提交事件 form.on('select(cityFilter)', function (data) { var city = $("#shi").val(); $.ajax({ type: "GET", url: layui.setter.apiUrl + 'Api/CoreCmsPlanOrder/GetAreaId?cityid=' + city, dataType: "json", global: false, data: "", success: function (data) { console.log(data.data); var quxian = $("#quxian"); quxian.find('option').remove(); var aaa = '<option value="0">请选择</option>'; quxian.append(aaa); if (data.data.length > 0) { for (var i = 0; i < data.data.length; i++) { var o = '<option value="' + data.data[i].id + '" >' + data.data[i].name + '</option>'; quxian.append(o); } // 使用form.render方法重新渲染select form.render('select'); } }, error: function () { parent.layer.msg('失败', { icon: 5 }); } }); }); //执行批量删除 function doBatchDelete(checkStatus){ var checkData = checkStatus.data; if (checkData.length === 0) { return layer.msg('请选择要删除的数据'); } layer.confirm('确定删除吗?删除后将无法恢复。', function(index) { var delidsStr = []; layui.each(checkData, function(index, item) { delidsStr.push(item.id); }); coreHelper.Post("Api/Puhuo/DoBatchDelete", { id: delidsStr }, function (e) { if (debug) { console.log(e); } //开启调试返回数据 table.reloadData('LAY-app-Puhuo-tableBox'); layer.msg(e.msg); }); }); } //执行查询条件导出excel function doQueryExportexcel(){ layer.confirm('确定根据当前的查询条件导出数据吗?', function(index) { var field = searchwhere; coreHelper.PostForm("Api/Puhuo/QueryExportExcel", field, function (e) { if (debug) { console.log(e); } //开启调试返回数据 if (e.code === 0) { window.open(e.data); } else { layer.msg(e.msg); } }); }); } //执行选择目录导出数据 function doSelectExportExcel(checkStatus){ var checkData = checkStatus.data; if (checkData.length === 0) { return layer.msg('请选择您要导出的数据'); } layer.confirm('确定导出选择的内容吗?', function(index) { var delidsStr = []; layui.each(checkData, function(index, item) { delidsStr.push(item.id); }); layer.close(index); coreHelper.Post("Api/Puhuo/SelectExportExcel", { id: delidsStr }, function (e) { if (debug) { console.log(e); } //开启调试返回数据 if (e.code === 0) { window.open(e.data); } else { layer.msg(e.msg); } }); }); } laydate.render({ elem: '#searchTime-Puhuo-createTime', type: 'datetime', range: '到', }); laydate.render({ elem: '#searchTime-Puhuo-upDataTime', type: 'datetime', range: '到', }); //监听 表格复选框操作 layui.form.on('switch(switch_isdelete)', function (obj) { coreHelper.Post("Api/Puhuo/DoSetisdelete", { id: this.value, data: obj.elem.checked }, function (e) { if (debug) { console.log(e); } //开启调试返回数据 //table.reloadData('LAY-app-Puhuo-tableBox'); layer.msg(e.msg); }); }); //重载form form.render(); }); }; </script> <!--设置删除标志--> <script type="text/html" id="switch_isdelete"> <input type="checkbox" name="switch_isdelete" value="{{d.id}}" lay-skin="switch" lay-text="开启|关闭" lay-filter="switch_isdelete" {{ d.isdelete ? 'checked' : '' }}> </script> CoreCms.Net.Web.Admin/wwwroot/views/baifenbingfa/puhuo/indexgroup.html
New file @@ -0,0 +1,641 @@ <title>铺货</title> <!--当前位置开始--> <div class="layui-card layadmin-header"> <div class="layui-breadcrumb" lay-filter="breadcrumb"> <script type="text/html" template lay-done="layui.data.updateMainBreadcrumb();"> </script> </div> </div> <!--当前位置结束--> <style> /* 重写样式 */ </style> <script type="text/html" template lay-type="Post" lay-url="Api/Puhuo/GetIndexGroup" lay-done="layui.data.done(d);"> </script> <div class="table-body"> <table id="LAY-app-Puhuo-tableBox" lay-filter="LAY-app-Puhuo-tableBox"></table> </div> <script type="text/html" id="LAY-app-Puhuo-toolbar"> <div class="layui-form coreshop-toolbar-search-form"> <div class="layui-form-item"> <!--<div class="layui-inline"> <label class="layui-form-label" for="id">主键ID</label> <div class="layui-input-inline"> <input type="text" name="id" placeholder="请输入主键ID" class="layui-input"> </div> </div> <div class="layui-inline"> <label class="layui-form-label" for="distributionId">经销商id</label> <div class="layui-input-inline"> <input type="text" name="distributionId" placeholder="请输入经销商id" class="layui-input"> </div> </div>--> <div class="layui-inline"> <label class="layui-form-label" for="areaCode">商品类别</label> <div class="layui-input-inline"> <!--<input type="text" name="areaCode" placeholder="请输入省" class="layui-input">--> <select name="CategoryId" id="CategoryId"> <option value="0">请选择</option> {{# layui.each(indexData.categories, function(index, item){ }} <option value="{{ item.id }}">{{ item.name }}</option> {{# }); }} </select> </div> </div> <!--<div class="layui-inline"> <label class="layui-form-label" for="distributionName">经销商</label> <div class="layui-input-inline"> <input type="text" name="distributionName" placeholder="请输入经销商" class="layui-input"> </div> </div>--> <!--<div class="layui-inline"> <label class="layui-form-label" for="areaCodeName">区域名称</label> <div class="layui-input-inline"> <input type="text" name="areaCodeName" placeholder="请输入区域名称" class="layui-input"> </div> </div> <div class="layui-inline"> <label class="layui-form-label" for="CategoryId">商品分类id</label> <div class="layui-input-inline"> <input type="text" name="CategoryId" placeholder="请输入商品分类id" class="layui-input"> </div> </div> <div class="layui-inline"> <label class="layui-form-label" for="CategoryName">商品分类</label> <div class="layui-input-inline"> <input type="text" name="CategoryName" placeholder="请输入商品分类" class="layui-input"> </div> </div> <div class="layui-inline"> <label class="layui-form-label" for="goodsId">商品id</label> <div class="layui-input-inline"> <input type="text" name="goodsId" placeholder="请输入商品id" class="layui-input"> </div> </div>--> <div class="layui-inline"> <label class="layui-form-label" for="goodsName">商品名称</label> <div class="layui-input-inline"> <input type="text" name="goodsName" placeholder="请输入商品名称" class="layui-input"> </div> </div> <div class="layui-inline"> <label class="layui-form-label" for="productsName">货品编号</label> <div class="layui-input-inline"> <input type="text" name="productsName" placeholder="请输入货品编号" class="layui-input"> </div> </div> <!-- <div class="layui-inline"> <label class="layui-form-label" for="productsId">货品id</label> <div class="layui-input-inline"> <input type="text" name="productsId" placeholder="请输入货品id" class="layui-input"> </div> </div> <div class="layui-inline"> <label class="layui-form-label" for="spesDesc">货品规格</label> <div class="layui-input-inline"> <input type="text" name="spesDesc" placeholder="请输入货品规格" class="layui-input"> </div> </div> <div class="layui-inline"> <label class="layui-form-label" for="price">货品价格</label> <div class="layui-input-inline"> <input type="text" name="price" placeholder="请输入货品价格" class="layui-input"> </div> </div> <div class="layui-inline"> <label class="layui-form-label" for="nums">数量</label> <div class="layui-input-inline"> <input type="text" name="nums" placeholder="请输入数量" class="layui-input"> </div> </div> <div class="layui-inline"> <label class="layui-form-label" for="amount">金额</label> <div class="layui-input-inline"> <input type="text" name="amount" placeholder="请输入金额" class="layui-input"> </div> </div> <div class="layui-inline"> <label class="layui-form-label" for="createTime">建立时间</label> <div class="layui-input-inline" style="width: 260px;"> <input type="text" name="createTime" id="searchTime-Puhuo-createTime" placeholder="请输入建立时间" class="layui-input"> </div> </div> <div class="layui-inline"> <label class="layui-form-label" for="upDataTime">修改时间</label> <div class="layui-input-inline" style="width: 260px;"> <input type="text" name="upDataTime" id="searchTime-Puhuo-upDataTime" placeholder="请输入修改时间" class="layui-input"> </div> </div> <div class="layui-inline"> <label class="layui-form-label" for="createBy">创建人</label> <div class="layui-input-inline"> <input type="text" name="createBy" placeholder="请输入创建人" class="layui-input"> </div> </div> <div class="layui-inline"> <label class="layui-form-label" for="upDataBy">修改人</label> <div class="layui-input-inline"> <input type="text" name="upDataBy" placeholder="请输入修改人" class="layui-input"> </div> </div> <div class="layui-inline"> <label class="layui-form-label" for="isdelete">删除标志</label> <div class="layui-input-inline"> <select name="isdelete"> <option value="">请选择</option> <option value="True">是</option> <option value="False">否</option> </select> </div> </div>--> <div class="layui-inline"> <button class="layui-btn layui-btn-sm" lay-submit lay-filter="LAY-app-Puhuo-search"><i class="layui-icon layui-icon-search"></i>筛选</button> </div> </div> </div> </script> <script type="text/html" id="LAY-app-Puhuo-pagebar"> <div class="layui-btn-container"> <!--<button class="layui-btn layui-btn-sm" lay-event="addData"><i class="layui-icon layui-icon-add-1"></i>添加数据</button>--> <!--<button class="layui-btn layui-btn-sm" lay-event="batchDelete"><i class="layui-icon layui-icon-delete"></i>批量删除</button>--> <button class="layui-btn layui-btn-sm" lay-event="selectExportExcel"><i class="layui-icon layui-icon-add-circle"></i>选择导出</button> <button class="layui-btn layui-btn-sm" lay-event="queryExportExcel"><i class="layui-icon layui-icon-download-circle"></i>查询导出</button> </div> </script> <script type="text/html" id="LAY-app-Puhuo-tableBox-bar"> <a class="layui-btn layui-btn-primary layui-btn-xs" lay-event="detail">查看</a> <!--<a class="layui-btn layui-btn-xs" lay-event="edit">铺货</a> <a class="layui-btn layui-btn-xs" lay-event="edittui">退货</a>--> <!--<a class="layui-btn layui-btn-danger layui-btn-xs" data-dropdown="#PuhuoTbDelDrop{{d.LAY_INDEX}}" no-shade="true">删除</a>--> <div class="dropdown-menu-nav dropdown-popconfirm dropdown-top-right layui-hide" id="PuhuoTbDelDrop{{d.LAY_INDEX}}" style="max-width: 200px;white-space: normal;min-width: auto;margin-left: 10px;"> <div class="dropdown-anchor"></div> <div class="dropdown-popconfirm-title"> <i class="layui-icon layui-icon-help"></i> 确定要删除吗? </div> <div class="dropdown-popconfirm-btn"> <a class="layui-btn layui-btn-primary cursor" btn-cancel>取消</a> <a class="layui-btn layui-btn-normal cursor" lay-event="del">确定</a> </div> </div> </script> <script> var indexData; var debug= layui.setter.debug; layui.data.done = function (d) { //开启调试情况下获取接口赋值数据 if (debug) { console.log(d); } indexData = d.data; layui.use(['index', 'table', 'laydate', 'util', 'coredropdown', 'coreHelper'], function () { var $ = layui.$ , admin = layui.admin , table = layui.table , form = layui.form , laydate = layui.laydate , setter = layui.setter , coreHelper = layui.coreHelper , util = layui.util , view = layui.view; var searchwhere; //监听搜索 form.on('submit(LAY-app-Puhuo-search)', function(data) { var field = data.field; searchwhere = field; //执行重载 table.reloadData('LAY-app-Puhuo-tableBox',{ where: field }); }); //数据绑定 table.render({ elem: '#LAY-app-Puhuo-tableBox', url: layui.setter.apiUrl + 'Api/Puhuo/GetPageListGroup', method: 'POST', toolbar: '#LAY-app-Puhuo-toolbar', pagebar: '#LAY-app-Puhuo-pagebar', className: 'pagebarbox', defaultToolbar: ['filter', 'print', 'exports'], height: 'full-127',//面包屑142px,搜索框4行172,3行137,2行102,1行67 page: true, limit: 30, limits: [10, 15, 20, 25, 30, 50, 100, 200], text: {none: '暂无相关数据'}, cols: [ [ { type: "checkbox", fixed: "left" }, { type: 'numbers', title: '序号', width: 60, sort: false }, /* { field: 'id', title: '主键ID', width: 60, sort: false},*/ /* { field: 'areaCodeName', title: '区域名称', sort: false, width: 165 },*/ /* { field: 'distributionId', title: '经销商id', sort: false,width: 105 },*/ /* { field: 'distributionName', title: '经销商', sort: false, width: 165 },*/ /* { field: 'areaCode', title: '区域', sort: false,width: 105 },*/ /* { field: 'categoryId', title: '商品分类id', sort: false,width: 105 },*/ { field: 'categoryName', title: '商品类别', sort: false, width: 185 }, /* { field: 'goodsId', title: '商品id', sort: false,width: 105 },*/ { field: 'goodsName', title: '商品名称', sort: false, width: 185 }, /* { field: 'productsId', title: '货品id', sort: false,width: 105 },*/ { field: 'productsName', title: '货品编号', sort: false, width: 185 }, /* { field: 'spesDesc', title: '货品规格', sort: false,width: 105 },*/ { field: 'nums', title: '数量', sort: false, width: 185 }, { field: 'price', title: '单价', sort: false, width: 185 }, { field: 'amount', title: '金额', sort: false, width: 185 }, { field: 'tiaozhengnums', title: '经销商数量', sort: false, width: 185 }, //{ field: 'createTime', title: '建立时间', width: 130, sort: false}, //{ field: 'upDataTime', title: '修改时间', width: 130, sort: false}, //{ field: 'createBy', title: '创建人', sort: false,width: 105 }, //{ field: 'upDataBy', title: '修改人', sort: false,width: 105 }, //{ field: 'isdelete', title: '删除标志', width: 95, templet: '#switch_isdelete', sort: false , unresize: true}, { width: 230, align: 'center', title:'操作', fixed: 'right', toolbar: '#LAY-app-Puhuo-tableBox-bar' } ] ] }); //监听排序事件 table.on('sort(LAY-app-Puhuo-tableBox)', function(obj){ table.reloadData('LAY-app-Puhuo-tableBox', { initSort: obj, //记录初始排序,如果不设的话,将无法标记表头的排序状态。 where: { //请求参数(注意:这里面的参数可任意定义,并非下面固定的格式) orderField: obj.field, //排序字段 orderDirection: obj.type //排序方式 } }); }); //监听行双击事件 table.on('rowDouble(LAY-app-Puhuo-tableBox)', function (obj) { //查看详情 doDetails(obj); }); //头工具栏事件 table.on('pagebar(LAY-app-Puhuo-tableBox)', function (obj) { var checkStatus = table.checkStatus(obj.config.id); switch (obj.event) { case 'addData': doCreate(); break; case 'batchDelete': doBatchDelete(checkStatus); break; case 'selectExportExcel': doSelectExportExcel(checkStatus); break; case 'queryExportExcel': doQueryExportexcel(); break; }; }); //监听工具条 table.on('tool(LAY-app-Puhuo-tableBox)', function(obj) { if (obj.event === 'detail') { doDetails(obj); } else if (obj.event === 'del') { doDelete(obj); } else if (obj.event === 'edit') { doEdit(obj) } else if (obj.event === 'edittui') { doEdittui(obj) } }); //执行创建操作 function doCreate(){ coreHelper.Post("Api/Puhuo/GetCreate", null, function (e) { if (e.code === 0) { admin.popup({ shadeClose: false, title: '创建数据', area: ['1200px', '90%'], id: 'LAY-popup-Puhuo-create', success: function (layero, index) { view(this.id).render('baifenbingfa/Puhuo/create', { data: e.data }).done(function () { //监听提交 form.on('submit(LAY-app-Puhuo-createForm-submit)', function(data) { var field = data.field; //获取提交的字段 field.isdelete = field.isdelete == 'on'; if (debug) { console.log(field); } //开启调试返回数据 //提交 Ajax 成功后,关闭当前弹层并重载表格 coreHelper.Post("Api/Puhuo/DoCreate", field, function (e) { console.log(e) if (e.code === 0) { layui.table.reloadData('LAY-app-Puhuo-tableBox'); //重载表格 layer.close(index); //再执行关闭 layer.msg(e.msg); } else { layer.msg(e.msg); } }); }); }); // 禁止弹窗出现滚动条 $(layero).children('.layui-layer-content').css('overflow', 'visible'); } , btn: ['确定', '取消'] , yes: function (index, layero) { layero.contents().find("#LAY-app-Puhuo-createForm-submit").click(); } }); } else { layer.msg(e.msg); } }); } //执行编辑操作 function doEdit(obj){ coreHelper.Post("Api/Puhuo/GetEdit", { id: obj.data.id, jintui: 1 }, function (e) { if (e.code === 0) { admin.popup({ shadeClose: false, title: '铺货', area: ['1200px', '90%'], id: 'LAY-popup-Puhuo-edit', success: function (layero, index) { view(this.id).render('baifenbingfa/Puhuo/edit', { data: e.data }).done(function () { //监听提交 form.on('submit(LAY-app-Puhuo-editForm-submit)', function(data) { var field = data.field; //获取提交的字段 field.isdelete = field.isdelete == 'on'; if (debug) { console.log(field); } //开启调试返回数据 //提交 Ajax 成功后,关闭当前弹层并重载表格 coreHelper.Post("Api/Puhuo/DoEdit", field, function (e) { console.log(e) if (e.code === 0) { layui.table.reloadData('LAY-app-Puhuo-tableBox'); //重载表格 layer.close(index); //再执行关闭 layer.msg(e.msg); } else { layer.msg(e.msg); } }); }); }) //// 禁止弹窗出现滚动条 //$(layero).children('.layui-layer-content').css('overflow', 'visible'); } , btn: ['确定', '取消'] , yes: function (index, layero) { layero.contents().find("#LAY-app-Puhuo-editForm-submit").click(); } }); } else { layer.msg(e.msg); } }); } //执行退货操作 function doEdittui(obj) { coreHelper.Post("Api/Puhuo/GetEdit", { id: obj.data.id, jintui: 2 }, function (e) { if (e.code === 0) { admin.popup({ shadeClose: false, title: '退货', area: ['1200px', '90%'], id: 'LAY-popup-Puhuo-edit', success: function (layero, index) { view(this.id).render('baifenbingfa/Puhuo/edit', { data: e.data }).done(function () { //监听提交 form.on('submit(LAY-app-Puhuo-editForm-submit)', function (data) { var field = data.field; //获取提交的字段 field.isdelete = field.isdelete == 'on'; if (debug) { console.log(field); } //开启调试返回数据 //提交 Ajax 成功后,关闭当前弹层并重载表格 coreHelper.Post("Api/Puhuo/DoEdit", field, function (e) { console.log(e) if (e.code === 0) { layui.table.reloadData('LAY-app-Puhuo-tableBox'); //重载表格 layer.close(index); //再执行关闭 layer.msg(e.msg); } else { layer.msg(e.msg); } }); }); }) //// 禁止弹窗出现滚动条 //$(layero).children('.layui-layer-content').css('overflow', 'visible'); } , btn: ['确定', '取消'] , yes: function (index, layero) { layero.contents().find("#LAY-app-Puhuo-editForm-submit").click(); } }); } else { layer.msg(e.msg); } }); } //执行预览操作 function doDetails(obj) { coreHelper.Post("Api/Puhuo/GetDetails", { productsId: obj.data.productsId }, function (e) { if (e.code === 0) { admin.popup({ shadeClose: false, title: '查看详情', area: ['1200px', '90%'], id: 'LAY-popup-Puhuo-details', success: function (layero, index) { view(this.id).render('baifenbingfa/Puhuo/details', { data: e.data }).done(function () { form.render(); }); //// 禁止弹窗出现滚动条 //$(layero).children('.layui-layer-content').css('overflow', 'visible'); } }); } else { layer.msg(e.msg); } }); } //执行单个删除 function doDelete(obj){ coreHelper.Post("Api/Puhuo/DoDelete", { id: obj.data.id }, function (e) { if (debug) { console.log(e); } //开启调试返回数据 table.reloadData('LAY-app-Puhuo-tableBox'); layer.msg(e.msg); }); } // 监听提交事件 form.on('select(shengFilter)', function (data) { var city = $("#sheng").val(); $.ajax({ type: "GET", url: layui.setter.apiUrl + 'Api/CoreCmsPlanOrder/GetCityId?shengid=' + city, dataType: "json", global: false, data: "", success: function (data) { console.log(data.data); var quxian = $("#shi"); quxian.find('option').remove(); var aaa = '<option value="0">请选择</option>'; quxian.append(aaa); if (data.data.length > 0) { for (var i = 0; i < data.data.length; i++) { var o = '<option value="' + data.data[i].id + '" >' + data.data[i].name + '</option>'; quxian.append(o); } // 使用form.render方法重新渲染select form.render('select'); } }, error: function () { parent.layer.msg('失败', { icon: 5 }); } }); }); // 监听提交事件 form.on('select(cityFilter)', function (data) { var city = $("#shi").val(); $.ajax({ type: "GET", url: layui.setter.apiUrl + 'Api/CoreCmsPlanOrder/GetAreaId?cityid=' + city, dataType: "json", global: false, data: "", success: function (data) { console.log(data.data); var quxian = $("#quxian"); quxian.find('option').remove(); var aaa = '<option value="0">请选择</option>'; quxian.append(aaa); if (data.data.length > 0) { for (var i = 0; i < data.data.length; i++) { var o = '<option value="' + data.data[i].id + '" >' + data.data[i].name + '</option>'; quxian.append(o); } // 使用form.render方法重新渲染select form.render('select'); } }, error: function () { parent.layer.msg('失败', { icon: 5 }); } }); }); //执行批量删除 function doBatchDelete(checkStatus){ var checkData = checkStatus.data; if (checkData.length === 0) { return layer.msg('请选择要删除的数据'); } layer.confirm('确定删除吗?删除后将无法恢复。', function(index) { var delidsStr = []; layui.each(checkData, function(index, item) { delidsStr.push(item.id); }); coreHelper.Post("Api/Puhuo/DoBatchDelete", { id: delidsStr }, function (e) { if (debug) { console.log(e); } //开启调试返回数据 table.reloadData('LAY-app-Puhuo-tableBox'); layer.msg(e.msg); }); }); } //执行查询条件导出excel function doQueryExportexcel(){ layer.confirm('确定根据当前的查询条件导出数据吗?', function(index) { var field = searchwhere; coreHelper.PostForm("Api/Puhuo/QueryExportExcel", field, function (e) { if (debug) { console.log(e); } //开启调试返回数据 if (e.code === 0) { window.open(e.data); } else { layer.msg(e.msg); } }); }); } //执行选择目录导出数据 function doSelectExportExcel(checkStatus){ var checkData = checkStatus.data; if (checkData.length === 0) { return layer.msg('请选择您要导出的数据'); } layer.confirm('确定导出选择的内容吗?', function(index) { var delidsStr = []; layui.each(checkData, function(index, item) { delidsStr.push(item.id); }); layer.close(index); coreHelper.Post("Api/Puhuo/SelectExportExcel", { id: delidsStr }, function (e) { if (debug) { console.log(e); } //开启调试返回数据 if (e.code === 0) { window.open(e.data); } else { layer.msg(e.msg); } }); }); } laydate.render({ elem: '#searchTime-Puhuo-createTime', type: 'datetime', range: '到', }); laydate.render({ elem: '#searchTime-Puhuo-upDataTime', type: 'datetime', range: '到', }); //监听 表格复选框操作 layui.form.on('switch(switch_isdelete)', function (obj) { coreHelper.Post("Api/Puhuo/DoSetisdelete", { id: this.value, data: obj.elem.checked }, function (e) { if (debug) { console.log(e); } //开启调试返回数据 //table.reloadData('LAY-app-Puhuo-tableBox'); layer.msg(e.msg); }); }); //重载form form.render(); }); }; </script> <!--设置删除标志--> <script type="text/html" id="switch_isdelete"> <input type="checkbox" name="switch_isdelete" value="{{d.id}}" lay-skin="switch" lay-text="开启|关闭" lay-filter="switch_isdelete" {{ d.isdelete ? 'checked' : '' }}> </script>