From 3c69868ae407c0cee2bfd4a75f1c62b1854c5c66 Mon Sep 17 00:00:00 2001
From: username@email.com <yzy2002yzy@163.com>
Date: 星期三, 29 五月 2024 12:42:41 +0800
Subject: [PATCH] 铺货管理
---
CoreCms.Net.Web.Admin/wwwroot/views/baifenbingfa/puhuo/details.html | 85 +
CoreCms.Net.Web.Admin/wwwroot/views/baifenbingfa/puhuo/index.html | 654 ++++++++
CoreCms.Net.IServices/baifenbingfa/IPuhuoServices.cs | 112 +
CoreCms.Net.Repository/baifenbingfa/PuhuoRepository.cs | 324 ++++
CoreCms.Net.Web.Admin/wwwroot/views/baifenbingfa/puhuo/create.html | 260 +++
CoreCms.Net.Web.Admin/wwwroot/views/baifenbingfa/puhuo/edit.html | 150 ++
CoreCms.Net.Web.Admin/wwwroot/views/baifenbingfa/puhuo/indexgroup.html | 641 ++++++++
CoreCms.Net.Model/FromBody/FMId.cs | 15
CoreCms.Net.Web.Admin/Controllers/Order/CoreCmsPlanOrderController.cs | 19
CoreCms.Net.Web.Admin/Controllers/baifenbingfa/PuhuoController.cs | 1769 +++++++++++++++++++++++
CoreCms.Net.Model/Entities/baifenbingfa/puhuo/Puhuo.cs | 130 +
CoreCms.Net.Services/baifenbingfa/PuhuoServices.cs | 150 ++
CoreCms.Net.IRepository/baifenbinfa/IPuhuoRepository.cs | 116 +
13 files changed, 4,424 insertions(+), 1 deletions(-)
diff --git a/CoreCms.Net.IRepository/baifenbinfa/IPuhuoRepository.cs b/CoreCms.Net.IRepository/baifenbinfa/IPuhuoRepository.cs
new file mode 100644
index 0000000..da7c86a
--- /dev/null
+++ b/CoreCms.Net.IRepository/baifenbinfa/IPuhuoRepository.cs
@@ -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);
+
+ }
+}
diff --git a/CoreCms.Net.IServices/baifenbingfa/IPuhuoServices.cs b/CoreCms.Net.IServices/baifenbingfa/IPuhuoServices.cs
new file mode 100644
index 0000000..64a4993
--- /dev/null
+++ b/CoreCms.Net.IServices/baifenbingfa/IPuhuoServices.cs
@@ -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
+ }
+}
diff --git a/CoreCms.Net.Model/Entities/baifenbingfa/puhuo/Puhuo.cs b/CoreCms.Net.Model/Entities/baifenbingfa/puhuo/Puhuo.cs
new file mode 100644
index 0000000..0576a67
--- /dev/null
+++ b/CoreCms.Net.Model/Entities/baifenbingfa/puhuo/Puhuo.cs
@@ -0,0 +1,130 @@
+锘縰sing 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>
+ /// 缁忛攢鍟唅d
+ /// </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; }
+
+
+ }
+}
diff --git a/CoreCms.Net.Model/FromBody/FMId.cs b/CoreCms.Net.Model/FromBody/FMId.cs
index f5cfab0..162cb97 100644
--- a/CoreCms.Net.Model/FromBody/FMId.cs
+++ b/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
diff --git a/CoreCms.Net.Repository/baifenbingfa/PuhuoRepository.cs b/CoreCms.Net.Repository/baifenbingfa/PuhuoRepository.cs
new file mode 100644
index 0000000..bc78e62
--- /dev/null
+++ b/CoreCms.Net.Repository/baifenbingfa/PuhuoRepository.cs
@@ -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
+ }
+}
diff --git a/CoreCms.Net.Services/baifenbingfa/PuhuoServices.cs b/CoreCms.Net.Services/baifenbingfa/PuhuoServices.cs
new file mode 100644
index 0000000..ac6acc9
--- /dev/null
+++ b/CoreCms.Net.Services/baifenbingfa/PuhuoServices.cs
@@ -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
+
+ }
+}
diff --git a/CoreCms.Net.Web.Admin/Controllers/Order/CoreCmsPlanOrderController.cs b/CoreCms.Net.Web.Admin/Controllers/Order/CoreCmsPlanOrderController.cs
index af80319..829d941 100644
--- a/CoreCms.Net.Web.Admin/Controllers/Order/CoreCmsPlanOrderController.cs
+++ b/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
diff --git a/CoreCms.Net.Web.Admin/Controllers/baifenbingfa/PuhuoController.cs b/CoreCms.Net.Web.Admin/Controllers/baifenbingfa/PuhuoController.cs
new file mode 100644
index 0000000..a0ccdb2
--- /dev/null
+++ b/CoreCms.Net.Web.Admin/Controllers/baifenbingfa/PuhuoController.cs
@@ -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);
+ }
+ //缁忛攢鍟唅d 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);
+ }
+ //缁忛攢鍟唅d 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();
+ //娣诲姞涓�涓猻heet
+ var mySheet = book.CreateSheet("Sheet1");
+ //鑾峰彇list鏁版嵁
+ var listModel = await _PuhuoServices.QueryListByClauseAsync(p => entity.id.Contains(p.id), p => p.id, OrderByType.Asc, true);
+ //缁檚heet1娣诲姞绗竴琛岀殑澶撮儴鏍囬
+ 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("缁忛攢鍟唅d");
+ 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);
+ }
+ //缁忛攢鍟唅d 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();
+ //娣诲姞涓�涓猻heet
+ var mySheet = book.CreateSheet("Sheet1");
+ //鑾峰彇list鏁版嵁
+ var listModel = await _PuhuoServices.QueryListByClauseAsync(where, p => p.id, OrderByType.Asc, true);
+ //缁檚heet1娣诲姞绗竴琛岀殑澶撮儴鏍囬
+ 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("缁忛攢鍟唅d");
+ 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++;
+
+ }
+ // 鍐欏叆鍒癳xcel
+ 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
+
+
+ }
+}
diff --git a/CoreCms.Net.Web.Admin/wwwroot/views/baifenbingfa/puhuo/create.html b/CoreCms.Net.Web.Admin/wwwroot/views/baifenbingfa/puhuo/create.html
new file mode 100644
index 0000000..d7b3375
--- /dev/null
+++ b/CoreCms.Net.Web.Admin/wwwroot/views/baifenbingfa/puhuo/create.html
@@ -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="璇疯緭鍏ヨ揣鍝乮d" lay-reqText="璇疯緭鍏ヨ揣鍝乮d骞朵负鏁板瓧" />-->
+ <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>
diff --git a/CoreCms.Net.Web.Admin/wwwroot/views/baifenbingfa/puhuo/details.html b/CoreCms.Net.Web.Admin/wwwroot/views/baifenbingfa/puhuo/details.html
new file mode 100644
index 0000000..c661d6c
--- /dev/null
+++ b/CoreCms.Net.Web.Admin/wwwroot/views/baifenbingfa/puhuo/details.html
@@ -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>
\ No newline at end of file
diff --git a/CoreCms.Net.Web.Admin/wwwroot/views/baifenbingfa/puhuo/edit.html b/CoreCms.Net.Web.Admin/wwwroot/views/baifenbingfa/puhuo/edit.html
new file mode 100644
index 0000000..a707b6c
--- /dev/null
+++ b/CoreCms.Net.Web.Admin/wwwroot/views/baifenbingfa/puhuo/edit.html
@@ -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="璇疯緭鍏ヤ富閿甀D" lay-reqText="璇疯緭鍏ヤ富閿甀D骞朵负鏁板瓧" />
+ </div>
+ </div>-->
+ <!--<div class="layui-form-item">
+ <label for="distributionId" class="layui-form-label ">缁忛攢鍟唅d</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="璇疯緭鍏ョ粡閿�鍟唅d" lay-reqText="璇疯緭鍏ョ粡閿�鍟唅d骞朵负鏁板瓧" />
+ </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="璇疯緭鍏ュ晢鍝佸垎绫籭d" lay-reqText="璇疯緭鍏ュ晢鍝佸垎绫籭d骞朵负鏁板瓧" />
+ </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="璇疯緭鍏ュ晢鍝乮d" lay-reqText="璇疯緭鍏ュ晢鍝乮d骞朵负鏁板瓧" />
+ </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="璇疯緭鍏ヨ揣鍝乮d" lay-reqText="璇疯緭鍏ヨ揣鍝乮d骞朵负鏁板瓧" />
+ </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>
diff --git a/CoreCms.Net.Web.Admin/wwwroot/views/baifenbingfa/puhuo/index.html b/CoreCms.Net.Web.Admin/wwwroot/views/baifenbingfa/puhuo/index.html
new file mode 100644
index 0000000..9ce45d8
--- /dev/null
+++ b/CoreCms.Net.Web.Admin/wwwroot/views/baifenbingfa/puhuo/index.html
@@ -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="璇疯緭鍏ヤ富閿甀D" class="layui-input">
+ </div>
+ </div>
+ <div class="layui-inline">
+ <label class="layui-form-label" for="distributionId">缁忛攢鍟唅d</label>
+ <div class="layui-input-inline">
+ <input type="text" name="distributionId" placeholder="璇疯緭鍏ョ粡閿�鍟唅d" 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="璇疯緭鍏ュ晢鍝佸垎绫籭d" 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="璇疯緭鍏ュ晢鍝乮d" 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="璇疯緭鍏ヨ揣鍝乮d" 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: '缁忛攢鍟唅d', 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>
+
diff --git a/CoreCms.Net.Web.Admin/wwwroot/views/baifenbingfa/puhuo/indexgroup.html b/CoreCms.Net.Web.Admin/wwwroot/views/baifenbingfa/puhuo/indexgroup.html
new file mode 100644
index 0000000..462001a
--- /dev/null
+++ b/CoreCms.Net.Web.Admin/wwwroot/views/baifenbingfa/puhuo/indexgroup.html
@@ -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="璇疯緭鍏ヤ富閿甀D" class="layui-input">
+ </div>
+ </div>
+ <div class="layui-inline">
+ <label class="layui-form-label" for="distributionId">缁忛攢鍟唅d</label>
+ <div class="layui-input-inline">
+ <input type="text" name="distributionId" placeholder="璇疯緭鍏ョ粡閿�鍟唅d" 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="璇疯緭鍏ュ晢鍝佸垎绫籭d" 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="璇疯緭鍏ュ晢鍝乮d" 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="璇疯緭鍏ヨ揣鍝乮d" 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: '缁忛攢鍟唅d', 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>
+
--
Gitblit v1.9.1