lichunlei 3 лет назад
Родитель
Сommit
cc82164bfe
47 измененных файлов с 3960 добавлено и 812 удалено
  1. 151 95
      AppStart/ExcelHelper.cs
  2. 3 0
      AppStart/RelationClassForConst.cs
  3. 0 1
      Areas/Admin/Controllers/MainServer/PosCouponRecordController.cs
  4. 413 0
      Areas/Admin/Controllers/MainServer/PosCouponsController.cs
  5. 22 2
      Areas/Admin/Controllers/MainServer/PosMachinesTwoController.cs
  6. 195 39
      Areas/Admin/Controllers/MainServer/PosMerchantInfoController.cs
  7. 541 0
      Areas/Admin/Controllers/MainServer/PosMerchantInfoListController.cs
  8. 79 14
      Areas/Admin/Controllers/MainServer/StoreHouseAmountPromissController.cs
  9. 7 1
      Areas/Admin/Controllers/MainServer/StoreHouseController.cs
  10. 3 0
      Areas/Admin/Controllers/MainServer/StoreMachineApplyController.cs
  11. 40 4
      Areas/Admin/Controllers/MainServer/SysRechargeRecordController.cs
  12. 94 54
      Areas/Admin/Controllers/MainServer/SysToolsController.cs
  13. 1 0
      Areas/Admin/Controllers/MainServer/UserAccountController.cs
  14. 4 2
      Areas/Admin/Controllers/MainServer/UserAccountRecordController.cs
  15. 64 36
      Areas/Admin/Controllers/MainServer/UserCashRecordController.cs
  16. 356 23
      Areas/Admin/Controllers/MainServer/UsersController.cs
  17. 203 0
      Areas/Admin/Views/MainServer/PosCoupons/Add.cshtml
  18. 205 0
      Areas/Admin/Views/MainServer/PosCoupons/Edit.cshtml
  19. 165 0
      Areas/Admin/Views/MainServer/PosCoupons/Index.cshtml
  20. 79 0
      Areas/Admin/Views/MainServer/PosMerchantInfoList/Index.cshtml
  21. 62 58
      Areas/Admin/Views/MainServer/StoreHouseAmountPromiss/Add.cshtml
  22. 98 60
      Areas/Admin/Views/MainServer/StoreHouseAmountPromiss/Edit.cshtml
  23. 62 49
      Areas/Admin/Views/MainServer/StoreHouseAmountPromiss/Index.cshtml
  24. 6 2
      Areas/Admin/Views/MainServer/SysRechargeRecord/Index.cshtml
  25. 28 18
      Areas/Admin/Views/MainServer/SysTools/ChangeSignQuan.cshtml
  26. 12 5
      Areas/Admin/Views/MainServer/SysTools/ChangeSignSn.cshtml
  27. 20 9
      Areas/Admin/Views/MainServer/SysTools/Loop.cshtml
  28. 1 1
      Areas/Admin/Views/MainServer/UserAccountRecord/Index.cshtml
  29. 1 0
      Areas/Admin/Views/MainServer/UserCashRecord/Index.cshtml
  30. 7 0
      Areas/Admin/Views/MainServer/Users/Children.cshtml
  31. 26 0
      Areas/Admin/Views/MainServer/Users/Index.cshtml
  32. 0 4
      Controllers/HomeController.cs
  33. 5 0
      appsettings.json
  34. 62 62
      wwwroot/layuiadmin/modules_main/PosCouponRecord_Admin.js
  35. 91 92
      wwwroot/layuiadmin/modules_main/PosCoupons_Admin.js
  36. 1 0
      wwwroot/layuiadmin/modules_main/PosMachinesTwo_Admin.js
  37. 496 0
      wwwroot/layuiadmin/modules_main/PosMerchantInfoList_Admin.js
  38. 40 0
      wwwroot/layuiadmin/modules_main/PosMerchantInfo_Admin.js
  39. 77 76
      wwwroot/layuiadmin/modules_main/StoreHouseAmountPromiss_Admin.js
  40. 1 1
      wwwroot/layuiadmin/modules_main/StoreHouse_Admin.js
  41. 1 1
      wwwroot/layuiadmin/modules_main/StoreMachineApply_Admin.js
  42. 96 94
      wwwroot/layuiadmin/modules_main/SysRechargeRecord_Admin.js
  43. 2 2
      wwwroot/layuiadmin/modules_main/SysTools_Admin.js
  44. 1 0
      wwwroot/layuiadmin/modules_main/UserAccountRecord_Admin.js
  45. 1 0
      wwwroot/layuiadmin/modules_main/UserAccount_Admin.js
  46. 17 0
      wwwroot/layuiadmin/modules_main/UsersChildren_Admin.js
  47. 121 7
      wwwroot/layuiadmin/modules_main/Users_Admin.js

+ 151 - 95
AppStart/ExcelHelper.cs

@@ -853,7 +853,7 @@ namespace MySystem
                                                         machine.OrderId = 0;
                                                         machine.RecycEndDate = null;
                                                         machine.PosSnType = 0;
-                                                        machine.BindMerchantId=0;
+                                                        machine.BindMerchantId = 0;
                                                         machine.ScanQrTrade = 0;
                                                         machine.DebitCardTrade = 0;
                                                         machine.CreditTrade = 0;
@@ -1015,110 +1015,166 @@ namespace MySystem
                                         UserCashRecord edit = db.UserCashRecord.FirstOrDefault(m => m.CashOrderNo == CashOrderNo && m.ActualTradeAmount == Amount && m.Status == 0);
                                         if (edit != null)
                                         {
-                                            edit.Status = Status;
-                                            edit.Remark = Remark;
-                                            edit.UpdateMan = Operator;
-                                            if (Status == 1)
-                                            { 
-                                                UserAccount account = db.UserAccount.FirstOrDefault(m => m.Id == edit.UserId);
-                                                if (account != null)
+                                            if (edit.TradeType == 3)
+                                            {
+                                                edit.Status = Status;
+                                                edit.Remark = Remark;
+                                                edit.UpdateMan = Operator;
+                                                if (Status == 1)
                                                 {
-                                                    account.QueryCount = 1;
-                                                    decimal TradeAmount = edit.TradeAmount;
-                                                    decimal BeforeTotalAmount = account.TotalAmount; //变更前总金额
-                                                    decimal BeforeFreezeAmount = account.FreezeAmount; //变更前冻结金额
-                                                    decimal BeforeBalanceAmount = account.BalanceAmount; //变更前余额
-                                                    account.WithdrawAmount += edit.TradeAmount;
-                                                    account.FreezeAmount -= edit.TradeAmount;
-                                                    decimal AfterTotalAmount = account.TotalAmount; //变更后总金额
-                                                    decimal AfterFreezeAmount = account.FreezeAmount; //变更后冻结金额
-                                                    decimal AfterBalanceAmount = account.BalanceAmount; //变更后余额
-                                                    db.UserAccountRecord.Add(new UserAccountRecord()
-                                                    {
-                                                        CreateDate = DateTime.Now,
-                                                        UpdateDate = DateTime.Now,
-                                                        UserId = edit.UserId, //创客
-                                                        ChangeType = 3, //变动类型
-                                                        ProductType = 99, //产品类型
-                                                        ChangeAmount = edit.ActualTradeAmount, //变更金额
-                                                        BeforeTotalAmount = BeforeTotalAmount, //变更前总金额
-                                                        AfterTotalAmount = AfterTotalAmount, //变更后总金额
-                                                        BeforeFreezeAmount = BeforeFreezeAmount, //变更前冻结金额
-                                                        AfterFreezeAmount = AfterFreezeAmount, //变更后冻结金额
-                                                        BeforeBalanceAmount = BeforeBalanceAmount, //变更前余额
-                                                        AfterBalanceAmount = AfterBalanceAmount, //变更后余额
-                                                    });
-                                                    db.UserAccountRecord.Add(new UserAccountRecord()
+                                                    UserAccount account = db.UserAccount.FirstOrDefault(m => m.Id == edit.UserId);
+                                                    if (account != null)
                                                     {
-                                                        CreateDate = DateTime.Now,
-                                                        UpdateDate = DateTime.Now,
-                                                        UserId = edit.UserId, //创客
-                                                        ChangeType = 4, //变动类型
-                                                        ProductType = 99, //产品类型
-                                                        ChangeAmount = edit.TradeFee, //变更金额
-                                                        BeforeTotalAmount = BeforeTotalAmount, //变更前总金额
-                                                        AfterTotalAmount = AfterTotalAmount, //变更后总金额
-                                                        BeforeFreezeAmount = BeforeFreezeAmount, //变更前冻结金额
-                                                        AfterFreezeAmount = AfterFreezeAmount, //变更后冻结金额
-                                                        BeforeBalanceAmount = BeforeBalanceAmount, //变更前余额
-                                                        AfterBalanceAmount = AfterBalanceAmount, //变更后余额
-                                                    });
-                                                    db.UserAccountRecord.Add(new UserAccountRecord()
+                                                        decimal TradeAmount = edit.TradeAmount;
+                                                        account.LeaderBalanceAmount -= TradeAmount;
+                                                        db.LeaderAccountRecord.Add(new LeaderAccountRecord()
+                                                        {
+                                                            CreateDate = DateTime.Now,
+                                                            UserId = edit.UserId, //创客
+                                                            ChangeType = 3, //变动类型
+                                                            ProductType = 99, //产品类型
+                                                            ChangeAmount = TradeAmount, //变更金额
+                                                            BeforeBalanceAmount = account.LeaderBalanceAmount + TradeAmount, //变更前余额
+                                                            AfterBalanceAmount = account.LeaderBalanceAmount, //变更后余额
+                                                        });
+                                                        db.SaveChanges();
+                                                        RedisDbconn.Instance.Set("UserAccount:" + edit.UserId, account);
+                                                    }
+                                                }
+                                                else if (Status == 2)
+                                                {
+                                                    UserAccount account = db.UserAccount.FirstOrDefault(m => m.Id == edit.UserId);
+                                                    if (account != null)
                                                     {
-                                                        CreateDate = DateTime.Now,
-                                                        UpdateDate = DateTime.Now,
-                                                        UserId = edit.UserId, //创客
-                                                        ChangeType = 5, //变动类型
-                                                        ProductType = 99, //产品类型
-                                                        ChangeAmount = edit.ManageFee, //变更金额
-                                                        BeforeTotalAmount = BeforeTotalAmount, //变更前总金额
-                                                        AfterTotalAmount = AfterTotalAmount, //变更后总金额
-                                                        BeforeFreezeAmount = BeforeFreezeAmount, //变更前冻结金额
-                                                        AfterFreezeAmount = AfterFreezeAmount, //变更后冻结金
-                                                        BeforeBalanceAmount = BeforeBalanceAmount, //变更前余额
-                                                        AfterBalanceAmount = AfterBalanceAmount, //变更后余额
-                                                    });
-                                                    db.SaveChanges();
-                                                    RedisDbconn.Instance.Set("UserAccount:" + edit.UserId, account);
+                                                        decimal TradeAmount = edit.TradeAmount;
+                                                        account.LeaderBalanceAmount += TradeAmount;
+                                                        db.LeaderAccountRecord.Add(new LeaderAccountRecord()
+                                                        {
+                                                            CreateDate = DateTime.Now,
+                                                            UserId = edit.UserId, //创客
+                                                            ChangeType = 6, //变动类型
+                                                            ProductType = 99, //产品类型
+                                                            ChangeAmount = TradeAmount, //变更金额
+                                                            BeforeBalanceAmount = account.LeaderBalanceAmount - TradeAmount, //变更前余
+                                                            AfterBalanceAmount = account.LeaderBalanceAmount, //变更后余额
+                                                        });
+                                                        db.SaveChanges();
+                                                        RedisDbconn.Instance.Set("UserAccount:" + edit.UserId, account);
+                                                    }
                                                 }
+                                                db.SaveChanges();
+                                                RedisDbconn.Instance.Clear("UserCashRecord:" + edit.Id);
+                                                SuccessCount += 1;
+                                                RedisDbconn.Instance.Set("CheckImport:" + checkKey, SuccessCount + " / " + TotalCount);
                                             }
-                                            else if (Status == 2)
+                                            else
                                             {
-                                                UserAccount account = db.UserAccount.FirstOrDefault(m => m.Id == edit.UserId);
-                                                if (account != null)
+                                                edit.Status = Status;
+                                                edit.Remark = Remark;
+                                                edit.UpdateMan = Operator;
+                                                if (Status == 1)
+                                                {
+                                                    UserAccount account = db.UserAccount.FirstOrDefault(m => m.Id == edit.UserId);
+                                                    if (account != null)
+                                                    {
+                                                        account.QueryCount = 1;
+                                                        decimal TradeAmount = edit.TradeAmount;
+                                                        decimal BeforeTotalAmount = account.TotalAmount; //变更前总金额
+                                                        decimal BeforeFreezeAmount = account.FreezeAmount; //变更前冻结金额
+                                                        decimal BeforeBalanceAmount = account.BalanceAmount; //变更前余额
+                                                        account.WithdrawAmount += edit.TradeAmount;
+                                                        account.FreezeAmount -= edit.TradeAmount;
+                                                        decimal AfterTotalAmount = account.TotalAmount; //变更后总金额
+                                                        decimal AfterFreezeAmount = account.FreezeAmount; //变更后冻结金额
+                                                        decimal AfterBalanceAmount = account.BalanceAmount; //变更后余额
+                                                        db.UserAccountRecord.Add(new UserAccountRecord()
+                                                        {
+                                                            CreateDate = DateTime.Now,
+                                                            UpdateDate = DateTime.Now,
+                                                            UserId = edit.UserId, //创客
+                                                            ChangeType = 3, //变动类型
+                                                            ProductType = 99, //产品类型
+                                                            ChangeAmount = edit.ActualTradeAmount, //变更金额
+                                                            BeforeTotalAmount = BeforeTotalAmount, //变更前总金额
+                                                            AfterTotalAmount = AfterTotalAmount, //变更后总金额
+                                                            BeforeFreezeAmount = BeforeFreezeAmount, //变更前冻结金额
+                                                            AfterFreezeAmount = AfterFreezeAmount, //变更后冻结金额
+                                                            BeforeBalanceAmount = BeforeBalanceAmount, //变更前余额
+                                                            AfterBalanceAmount = AfterBalanceAmount, //变更后余额
+                                                        });
+                                                        db.UserAccountRecord.Add(new UserAccountRecord()
+                                                        {
+                                                            CreateDate = DateTime.Now,
+                                                            UpdateDate = DateTime.Now,
+                                                            UserId = edit.UserId, //创客
+                                                            ChangeType = 4, //变动类型
+                                                            ProductType = 99, //产品类型
+                                                            ChangeAmount = edit.TradeFee, //变更金额
+                                                            BeforeTotalAmount = BeforeTotalAmount, //变更前总金额
+                                                            AfterTotalAmount = AfterTotalAmount, //变更后总金额
+                                                            BeforeFreezeAmount = BeforeFreezeAmount, //变更前冻结金额
+                                                            AfterFreezeAmount = AfterFreezeAmount, //变更后冻结金额
+                                                            BeforeBalanceAmount = BeforeBalanceAmount, //变更前余额
+                                                            AfterBalanceAmount = AfterBalanceAmount, //变更后余额
+                                                        });
+                                                        db.UserAccountRecord.Add(new UserAccountRecord()
+                                                        {
+                                                            CreateDate = DateTime.Now,
+                                                            UpdateDate = DateTime.Now,
+                                                            UserId = edit.UserId, //创客
+                                                            ChangeType = 5, //变动类型
+                                                            ProductType = 99, //产品类型
+                                                            ChangeAmount = edit.ManageFee, //变更金额
+                                                            BeforeTotalAmount = BeforeTotalAmount, //变更前总金额
+                                                            AfterTotalAmount = AfterTotalAmount, //变更后总金额
+                                                            BeforeFreezeAmount = BeforeFreezeAmount, //变更前冻结金额
+                                                            AfterFreezeAmount = AfterFreezeAmount, //变更后冻结金额
+                                                            BeforeBalanceAmount = BeforeBalanceAmount, //变更前余额
+                                                            AfterBalanceAmount = AfterBalanceAmount, //变更后余额
+                                                        });
+                                                        db.SaveChanges();
+                                                        RedisDbconn.Instance.Set("UserAccount:" + edit.UserId, account);
+                                                    }
+                                                }
+                                                else if (Status == 2)
                                                 {
-                                                    decimal TradeAmount = edit.TradeAmount;
-                                                    decimal BeforeTotalAmount = account.TotalAmount; //变更前总金额
-                                                    decimal BeforeFreezeAmount = account.FreezeAmount; //变更前冻结金额
-                                                    decimal BeforeBalanceAmount = account.BalanceAmount; //变更前余额
-                                                    account.BalanceAmount += TradeAmount;
-                                                    account.FreezeAmount -= TradeAmount;
-                                                    decimal AfterTotalAmount = account.TotalAmount; //变更后总金额
-                                                    decimal AfterFreezeAmount = account.FreezeAmount; //变更后冻结金额
-                                                    decimal AfterBalanceAmount = account.BalanceAmount; //变更后余额
-                                                    db.UserAccountRecord.Add(new UserAccountRecord()
+                                                    UserAccount account = db.UserAccount.FirstOrDefault(m => m.Id == edit.UserId);
+                                                    if (account != null)
                                                     {
-                                                        CreateDate = DateTime.Now,
-                                                        UpdateDate = DateTime.Now,
-                                                        UserId = edit.UserId, //创客
-                                                        ChangeType = 6, //变动类型
-                                                        ProductType = 99, //产品类型
-                                                        ChangeAmount = TradeAmount, //变更金额
-                                                        BeforeTotalAmount = BeforeTotalAmount, //变更前总金额
-                                                        AfterTotalAmount = AfterTotalAmount, //变更后总金额
-                                                        BeforeFreezeAmount = BeforeFreezeAmount, //变更前冻结金额
-                                                        AfterFreezeAmount = AfterFreezeAmount, //变更后冻结金额
-                                                        BeforeBalanceAmount = BeforeBalanceAmount, //变更前余额
-                                                        AfterBalanceAmount = AfterBalanceAmount, //变更后余额
-                                                    });
-                                                    db.SaveChanges();
-                                                    RedisDbconn.Instance.Set("UserAccount:" + edit.UserId, account);
+                                                        decimal TradeAmount = edit.TradeAmount;
+                                                        decimal BeforeTotalAmount = account.TotalAmount; //变更前总金额
+                                                        decimal BeforeFreezeAmount = account.FreezeAmount; //变更前冻结金额
+                                                        decimal BeforeBalanceAmount = account.BalanceAmount; //变更前余额
+                                                        account.BalanceAmount += TradeAmount;
+                                                        account.FreezeAmount -= TradeAmount;
+                                                        decimal AfterTotalAmount = account.TotalAmount; //变更后总金额
+                                                        decimal AfterFreezeAmount = account.FreezeAmount; //变更后冻结金额
+                                                        decimal AfterBalanceAmount = account.BalanceAmount; //变更后余额
+                                                        db.UserAccountRecord.Add(new UserAccountRecord()
+                                                        {
+                                                            CreateDate = DateTime.Now,
+                                                            UpdateDate = DateTime.Now,
+                                                            UserId = edit.UserId, //创客
+                                                            ChangeType = 6, //变动类型
+                                                            ProductType = 99, //产品类型
+                                                            ChangeAmount = TradeAmount, //变更金额
+                                                            BeforeTotalAmount = BeforeTotalAmount, //变更前总金额
+                                                            AfterTotalAmount = AfterTotalAmount, //变更后总金额
+                                                            BeforeFreezeAmount = BeforeFreezeAmount, //变更前冻结金额
+                                                            AfterFreezeAmount = AfterFreezeAmount, //变更后冻结金额
+                                                            BeforeBalanceAmount = BeforeBalanceAmount, //变更前余额
+                                                            AfterBalanceAmount = AfterBalanceAmount, //变更后余额
+                                                        });
+                                                        db.SaveChanges();
+                                                        RedisDbconn.Instance.Set("UserAccount:" + edit.UserId, account);
+                                                    }
                                                 }
+                                                db.SaveChanges();
+                                                RedisDbconn.Instance.Clear("UserCashRecord:" + edit.Id);
+                                                SuccessCount += 1;
+                                                RedisDbconn.Instance.Set("CheckImport:" + checkKey, SuccessCount + " / " + TotalCount);
                                             }
-                                            db.SaveChanges();
-                                            RedisDbconn.Instance.Clear("UserCashRecord:" + edit.Id);
-                                            SuccessCount += 1;
-                                            RedisDbconn.Instance.Set("CheckImport:" + checkKey, SuccessCount + " / " + TotalCount);
+
                                         }
                                     }
                                     DoCount += Size;

+ 3 - 0
AppStart/RelationClassForConst.cs

@@ -138,6 +138,9 @@ namespace MySystem
                 case 2:
                     result = "用户提现";
                     break;
+                case 3:
+                    result = "盟主提现";
+                    break;
             }
             return result;
         }

+ 0 - 1
Areas/Admin/Controllers/MainServer/PosCouponRecordController.cs

@@ -58,7 +58,6 @@ namespace MySystem.Areas.Admin.Controllers
             Dictionary<string, string> Fields = new Dictionary<string, string>();
             Fields.Add("OrderNo", "1");
 
-            Fields.Add("CreateDate", "3"); //时间
 
 
             string condition = " and Status>-1";

+ 413 - 0
Areas/Admin/Controllers/MainServer/PosCouponsController.cs

@@ -0,0 +1,413 @@
+/*
+ * 机具券变更记录
+ */
+
+using System;
+using System.Web;
+using System.Collections.Generic;
+using System.Diagnostics;
+using System.Linq;
+using System.Threading.Tasks;
+using Microsoft.AspNetCore.Mvc;
+using Microsoft.AspNetCore.Http;
+using Microsoft.Extensions.Logging;
+using Microsoft.Extensions.Options;
+using MySystem.Models;
+using Library;
+using LitJson;
+using MySystemLib;
+
+namespace MySystem.Areas.Admin.Controllers
+{
+    [Area("Admin")]
+    [Route("Admin/[controller]/[action]")]
+    public class PosCouponsController : BaseController
+    {
+        public PosCouponsController(IHttpContextAccessor accessor, ILogger<BaseController> logger, IOptions<Setting> setting) : base(accessor, logger, setting)
+        {
+            OtherMySqlConn.connstr = ConfigurationManager.AppSettings["SqlConnStr"].ToString();
+        }
+
+        #region 机具券列表
+
+        /// <summary>
+        /// 根据条件查询机具券列表
+        /// </summary>
+        /// <returns></returns>
+        public IActionResult Index(PosCoupons data, string right)
+        {
+            ViewBag.RightInfo = RightInfo;
+            ViewBag.right = right;
+
+
+            return View();
+        }
+
+        #endregion
+
+        #region 根据条件查询机具券列表
+
+        /// <summary>
+        /// 机具券列表
+        /// </summary>
+        /// <returns></returns>
+        public JsonResult IndexData(PosCoupons data, string UseDateData, string UserIdMakerCode, string LeaderIdMakerCode, string ExchangeCode, string IsUseSelect, string IsLockSelect, int page = 1, int limit = 30)
+        {
+
+            Dictionary<string, string> Fields = new Dictionary<string, string>();
+
+            Fields.Add("OrderNo", "1"); //单号
+
+
+            string condition = " and Status>-1";
+            //创客编号
+            if (!string.IsNullOrEmpty(UserIdMakerCode))
+            {
+                condition += " and UserId in (select UserId from UserForMakerCode where MakerCode='" + UserIdMakerCode + "')";
+            }
+            //盟主创客编号
+            if (!string.IsNullOrEmpty(LeaderIdMakerCode))
+            {
+                condition += " and LeaderUserId in (select UserId from UserForMakerCode where MakerCode='" + LeaderIdMakerCode + "')";
+            }
+            //兑换码
+            if (!string.IsNullOrEmpty(ExchangeCode))
+            {
+                condition += " and ExchangeCode =" + ExchangeCode;
+            }
+            //是否使用
+            if (!string.IsNullOrEmpty(IsUseSelect))
+            {
+                condition += " and IsUse =" + IsUseSelect;
+            }
+            //是否锁定
+            if (!string.IsNullOrEmpty(IsLockSelect))
+            {
+                condition += " and IsLock=" + IsLockSelect;
+            }
+
+            if (!string.IsNullOrEmpty(UseDateData))
+            {
+                string[] datelist = UseDateData.Split(new string[] { " - " }, StringSplitOptions.None);
+                string start = datelist[0];
+                string end = datelist[1];
+                condition += " and UseDate >='" + start + " 00:00:00' and UseDate <='" + end + " 23:59:59'";
+            }
+
+
+            Dictionary<string, object> obj = new AdminContentOther(_accessor.HttpContext, PublicFunction.MainTables).IndexData("PosCoupons", Fields, "Id desc", "0", page, limit, condition);
+            List<Dictionary<string, object>> diclist = obj["data"] as List<Dictionary<string, object>>;
+            foreach (Dictionary<string, object> dic in diclist)
+            {
+                //创客信息
+                int UserId = int.Parse(function.CheckInt(dic["UserId"].ToString()));
+                Users fromuserid_Users = db.Users.FirstOrDefault(m => m.Id == UserId) ?? new Users();
+                dic["UserIdMakerCode"] = fromuserid_Users.MakerCode;
+                dic["UserIdRealName"] = fromuserid_Users.RealName;
+                dic.Remove("UserId");
+
+                //盟主创客信息
+                int LeaderUserId = int.Parse(function.CheckInt(dic["LeaderUserId"].ToString()));
+                Users leaderuserid_Users = db.Users.FirstOrDefault(m => m.Id == LeaderUserId) ?? new Users();
+                dic["LeaderUserIdMakerCode"] = leaderuserid_Users.MakerCode;
+                dic["LeaderUserIdRealName"] = leaderuserid_Users.RealName;
+                dic.Remove("LeaderUserId");
+
+                //是否使用
+                int IsUse = int.Parse(dic["IsUse"].ToString());
+                if (IsUse == 0) dic["IsUseName"] = "否";
+                if (IsUse == 1) dic["IsUseName"] = "是";
+
+                //是否锁定
+                int IsLock = int.Parse(dic["IsLock"].ToString());
+                if (IsLock == 0) dic["IsLockName"] = "否";
+                if (IsLock == 1) dic["IsLockName"] = "是";
+
+            }
+            return Json(obj);
+        }
+
+        #endregion
+
+        #region 增加机具券变更记录
+
+        /// <summary>
+        /// 增加或修改机具券变更记录信息
+        /// </summary>
+        /// <returns></returns>
+        public IActionResult Add(string right)
+        {
+            ViewBag.RightInfo = RightInfo;
+            ViewBag.right = right;
+
+
+            return View();
+        }
+
+        #endregion
+
+        #region 增加机具券变更记录
+
+        /// <summary>
+        /// 增加或修改机具券变更记录信息
+        /// </summary>
+        /// <returns></returns>
+        [HttpPost]
+        public string Add(PosCoupons data)
+        {
+            Dictionary<string, object> Fields = new Dictionary<string, object>();
+
+
+            Fields.Add("SeoTitle", data.SeoTitle);
+            Fields.Add("SeoKeyword", data.SeoKeyword);
+            Fields.Add("SeoDescription", data.SeoDescription);
+            int Id = new AdminContentOther(_accessor.HttpContext, PublicFunction.MainTables).Add("PosCoupons", Fields, 0);
+            AddSysLog(data.Id.ToString(), "PosCoupons", "add");
+            db.SaveChanges();
+
+            return "success";
+        }
+
+        #endregion
+
+        #region 修改机具券变更记录
+
+        /// <summary>
+        /// 增加或修改机具券变更记录信息
+        /// </summary>
+        /// <returns></returns>
+        public IActionResult Edit(string right, int Id = 0)
+        {
+            ViewBag.RightInfo = RightInfo;
+            ViewBag.right = right;
+
+
+            PosCoupons editData = db.PosCoupons.FirstOrDefault(m => m.Id == Id) ?? new PosCoupons();
+            ViewBag.data = editData;
+            return View();
+        }
+
+        #endregion
+
+        #region 修改机具券变更记录
+
+        /// <summary>
+        /// 增加或修改机具券变更记录信息
+        /// </summary>
+        /// <returns></returns>
+        [HttpPost]
+        public string Edit(PosCoupons data)
+        {
+            Dictionary<string, object> Fields = new Dictionary<string, object>();
+
+
+            Fields.Add("SeoTitle", data.SeoTitle);
+            Fields.Add("SeoKeyword", data.SeoKeyword);
+            Fields.Add("SeoDescription", data.SeoDescription);
+            new AdminContentOther(_accessor.HttpContext, PublicFunction.MainTables).Edit("PosCoupons", Fields, data.Id);
+            AddSysLog(data.Id.ToString(), "PosCoupons", "update");
+            db.SaveChanges();
+
+            return "success";
+        }
+
+        #endregion
+
+        #region 删除机具券变更记录信息
+
+        /// <summary>
+        /// 删除机具券变更记录信息
+        /// </summary>
+        /// <returns></returns>
+        public string Delete(string Id)
+        {
+            string[] idlist = Id.Split(new char[] { ',' });
+            AddSysLog(Id, "PosCoupons", "del");
+            foreach (string subid in idlist)
+            {
+                int id = int.Parse(subid);
+                Dictionary<string, object> Fields = new Dictionary<string, object>();
+                Fields.Add("Status", -1);
+                new AdminContentOther(_accessor.HttpContext, PublicFunction.MainTables).Edit("PosCoupons", Fields, id);
+            }
+            db.SaveChanges();
+
+            return "success";
+        }
+
+        #endregion
+
+        #region 开启
+
+        /// <summary>
+        /// 开启
+        /// </summary>
+        /// <returns></returns>
+        public string Open(string Id)
+        {
+            string[] idlist = Id.Split(new char[] { ',' });
+            AddSysLog(Id, "PosCoupons", "open");
+            foreach (string subid in idlist)
+            {
+                int id = int.Parse(subid);
+                Dictionary<string, object> Fields = new Dictionary<string, object>();
+                Fields.Add("Status", 1);
+                new AdminContentOther(_accessor.HttpContext, PublicFunction.MainTables).Edit("PosCoupons", Fields, id);
+            }
+            db.SaveChanges();
+            return "success";
+        }
+
+        #endregion
+
+        #region 关闭
+
+        /// <summary>
+        /// 关闭
+        /// </summary>
+        /// <returns></returns>
+        public string Close(string Id)
+        {
+            string[] idlist = Id.Split(new char[] { ',' });
+            AddSysLog(Id, "PosCoupons", "close");
+            foreach (string subid in idlist)
+            {
+                int id = int.Parse(subid);
+                Dictionary<string, object> Fields = new Dictionary<string, object>();
+                Fields.Add("Status", 0);
+                new AdminContentOther(_accessor.HttpContext, PublicFunction.MainTables).Edit("PosCoupons", Fields, id);
+            }
+            db.SaveChanges();
+            return "success";
+        }
+
+        #endregion
+
+        #region 排序
+        /// <summary>
+        /// 排序
+        /// </summary>
+        /// <param name="Id"></param>
+        public string Sort(int Id, int Sort)
+        {
+            new AdminContentOther(_accessor.HttpContext, PublicFunction.MainTables).Sort("PosCoupons", Sort, Id);
+
+            AddSysLog(Id.ToString(), "PosCoupons", "sort");
+            return "success";
+        }
+        #endregion
+
+        #region 导入数据
+        /// <summary>
+        /// 导入数据
+        /// </summary>
+        /// <param name="ExcelData"></param>
+        public string Import(string ExcelData)
+        {
+            ExcelData = HttpUtility.UrlDecode(ExcelData);
+            JsonData list = JsonMapper.ToObject(ExcelData);
+            for (int i = 1; i < list.Count; i++)
+            {
+                JsonData dr = list[i];
+
+                db.PosCoupons.Add(new PosCoupons()
+                {
+                    CreateDate = DateTime.Now,
+                    UpdateDate = DateTime.Now,
+
+                });
+                db.SaveChanges();
+            }
+            AddSysLog("0", "PosCoupons", "Import");
+            return "success";
+        }
+        #endregion
+
+        #region 导出Excel
+
+        /// <summary>
+        /// 导出Excel
+        /// </summary>
+        /// <returns></returns>
+        public JsonResult ExportExcel(PosCoupons data, string FromUserIdMakerCode, string FromUserIdRealName, string ToUserIdMakerCode, string ToUserIdRealName, string ChangeKindSelect)
+        {
+            Dictionary<string, string> Fields = new Dictionary<string, string>();
+            Fields.Add("CreateDate", "3"); //时间
+            Fields.Add("OrderNo", "1"); //单号
+
+
+            string condition = " and Status>-1";
+            //来源创客创客编号
+            if (!string.IsNullOrEmpty(FromUserIdMakerCode))
+            {
+                condition += " and FromUserId in (select FromUserId from UserForMakerCode where MakerCode='" + FromUserIdMakerCode + "')";
+            }
+            //来源创客真实姓名
+            if (!string.IsNullOrEmpty(FromUserIdRealName))
+            {
+                condition += " and FromUserId in (select FromUserId from UserForRealName where RealName='" + FromUserIdRealName + "')";
+            }
+            //目标创客创客编号
+            if (!string.IsNullOrEmpty(ToUserIdMakerCode))
+            {
+                condition += " and ToUserId in (select ToUserId from UserForMakerCode where MakerCode='" + ToUserIdMakerCode + "')";
+            }
+            //目标创客真实姓名
+            if (!string.IsNullOrEmpty(ToUserIdRealName))
+            {
+                condition += " and ToUserId in (select ToUserId from UserForRealName where RealName='" + ToUserIdRealName + "')";
+            }
+            //变更类型
+            if (!string.IsNullOrEmpty(ChangeKindSelect))
+            {
+                condition += " and ChangeKind=" + ChangeKindSelect;
+            }
+
+
+            Dictionary<string, object> obj = new AdminContentOther(_accessor.HttpContext, PublicFunction.MainTables).IndexData("PosCoupons", Fields, "Id desc", "0", 1, 20000, condition, "FromUserId,ToUserId,OrderNo,BeforeStock,BeforeTotal,BeforeOut,AfterStock,AfterTotal,AfterOut,ChangeCount,ChangeKind", false);
+            List<Dictionary<string, object>> diclist = obj["data"] as List<Dictionary<string, object>>;
+            foreach (Dictionary<string, object> dic in diclist)
+            {
+                //来源创客
+                int FromUserId = int.Parse(function.CheckInt(dic["FromUserId"].ToString()));
+                Users fromuserid_Users = db.Users.FirstOrDefault(m => m.Id == FromUserId) ?? new Users();
+                dic["FromUserIdMakerCode"] = fromuserid_Users.MakerCode;
+                dic["FromUserIdRealName"] = fromuserid_Users.RealName;
+                dic.Remove("FromUserId");
+                //目标创客
+                int ToUserId = int.Parse(function.CheckInt(dic["ToUserId"].ToString()));
+                Users touserid_Users = db.Users.FirstOrDefault(m => m.Id == ToUserId) ?? new Users();
+                dic["ToUserIdMakerCode"] = touserid_Users.MakerCode;
+                dic["ToUserIdRealName"] = touserid_Users.RealName;
+                dic.Remove("ToUserId");
+
+            }
+
+            Dictionary<string, object> result = new Dictionary<string, object>();
+            result.Add("Status", "1");
+            result.Add("Info", "Excel报表-" + DateTime.Now.ToString("yyyy-MM-ddTHH:mm:ss") + ".xlsx");
+            result.Add("Obj", diclist);
+            Dictionary<string, object> ReturnFields = new Dictionary<string, object>();
+            ReturnFields.Add("FromUserIdMakerCode", "来源创客创客编号");
+            ReturnFields.Add("FromUserIdRealName", "来源创客真实姓名");
+            ReturnFields.Add("ToUserIdMakerCode", "目标创客创客编号");
+            ReturnFields.Add("ToUserIdRealName", "目标创客真实姓名");
+            ReturnFields.Add("OrderNo", "单号");
+            ReturnFields.Add("BeforeStock", "变更前机具券库存");
+            ReturnFields.Add("BeforeTotal", "变更前机具券总数");
+            ReturnFields.Add("BeforeOut", "变更前机具券使用数");
+            ReturnFields.Add("AfterStock", "变更后机具券库存");
+            ReturnFields.Add("AfterTotal", "变更后机具券总数");
+            ReturnFields.Add("AfterOut", "变更后机具券使用数");
+            ReturnFields.Add("ChangeCount", "变更数量");
+            ReturnFields.Add("ChangeKind", "变更类型");
+
+            result.Add("Fields", ReturnFields);
+            AddSysLog("0", "PosCoupons", "ExportExcel");
+            return Json(result);
+        }
+
+        #endregion
+
+    }
+}

+ 22 - 2
Areas/Admin/Controllers/MainServer/PosMachinesTwoController.cs

@@ -162,7 +162,7 @@ namespace MySystem.Areas.Admin.Controllers
                 if (LeaderUserId != 0)
                 {
                     Users users = db.Users.FirstOrDefault(m => m.Id == LeaderUserId) ?? new Users();
-                    dic["UserInfo"] = users.MakerCode + "<br />" + users.RealName;
+                    dic["UserInfo"] = users.MakerCode + "_" + users.RealName;
                 }
 
                 //是否为第一台机具
@@ -476,7 +476,7 @@ namespace MySystem.Areas.Admin.Controllers
             }
 
 
-            Dictionary<string, object> obj = new AdminContentOther(_accessor.HttpContext, PublicFunction.MainTables).IndexData("PosMachinesTwo", Fields, "Id desc", "0", 1, 20000, condition, "BindingState,ActivationState,UserId,StoreId,PosSn,BrandId,ActivityList,BindMerchantId,PosSnType,DeviceType", false);
+            Dictionary<string, object> obj = new AdminContentOther(_accessor.HttpContext, PublicFunction.MainTables).IndexData("PosMachinesTwo", Fields, "Id desc", "0", 1, 20000, condition, "BindingState,ActivationState,UserId,StoreId,PosSn,BrandId,ActivityList,BindMerchantId,PosSnType,DeviceType,BindingTime,ActivationTime,TransferTime", false);
             List<Dictionary<string, object>> diclist = obj["data"] as List<Dictionary<string, object>>;
             foreach (Dictionary<string, object> dic in diclist)
             {
@@ -484,10 +484,27 @@ namespace MySystem.Areas.Admin.Controllers
                 int BindingState = int.Parse(dic["BindingState"].ToString());
                 if (BindingState == 0) dic["BindingState"] = "未绑定";
                 if (BindingState == 1) dic["BindingState"] = "已绑定";
+                //绑定时间
+                if (!string.IsNullOrEmpty(dic["BindingTime"].ToString()))
+                {
+                    DateTime BindingTime = Convert.ToDateTime(dic["BindingTime"].ToString());
+                }
+
                 //激活状态
                 int ActivationState = int.Parse(dic["ActivationState"].ToString());
                 if (ActivationState == 0) dic["ActivationState"] = "未激活";
                 if (ActivationState == 1) dic["ActivationState"] = "已激活";
+                //激活时间
+                if (!string.IsNullOrEmpty(dic["ActivationTime"].ToString()))
+                {
+                    DateTime ActivationTime = Convert.ToDateTime(dic["ActivationTime"].ToString());
+                }
+
+                //划拨时间
+                if (!string.IsNullOrEmpty(dic["TransferTime"].ToString()))
+                {
+                    DateTime TransferTime = Convert.ToDateTime(dic["TransferTime"].ToString());
+                }
                 //所属创客
                 int UserId = int.Parse(function.CheckInt(dic["UserId"].ToString()));
                 Users userid_Users = db.Users.FirstOrDefault(m => m.Id == UserId) ?? new Users();
@@ -539,7 +556,10 @@ namespace MySystem.Areas.Admin.Controllers
             ReturnFields.Add("BindMerchantIdMerchantName", "绑定商户姓名");
             ReturnFields.Add("DeviceType", "设备类型");
             ReturnFields.Add("BindingState", "绑定状态");
+            ReturnFields.Add("BindingTime", "绑定时间");
             ReturnFields.Add("ActivationState", "激活状态");
+            ReturnFields.Add("ActivationTime", "激活时间");
+            ReturnFields.Add("TransferTime", "划拨时间");
 
             result.Add("Fields", ReturnFields);
             AddSysLog("0", "PosMachinesTwo", "ExportExcel");

+ 195 - 39
Areas/Admin/Controllers/MainServer/PosMerchantInfoController.cs

@@ -51,7 +51,7 @@ namespace MySystem.Areas.Admin.Controllers
         /// 商户列表
         /// </summary>
         /// <returns></returns>
-        public JsonResult IndexData(PosMerchantInfo data, string MakerCode, string RealName, string MerMakerCode, string StoreNo, string StoreName, string MerStatusSelect, string ActiveStatusSelect, string ActTypeSelect, string MerUserTypeSelect, int page = 1, int limit = 30)
+        public JsonResult IndexData(PosMerchantInfo data, string MerIdcardNo, string MerchantName, string MakerCode, string RealName, string MerMakerCode, string StoreNo, string StoreName, string MerStatusSelect, string ActiveStatusSelect, string ActTypeSelect, string MerUserTypeSelect, int page = 1, int limit = 30)
         {
 
             Dictionary<string, string> Fields = new Dictionary<string, string>();
@@ -66,6 +66,161 @@ namespace MySystem.Areas.Admin.Controllers
             Fields.Add("TopUserId", "0"); //顶级创客
 
             string condition = " and Status>-1";
+            //身份证号
+            if (!string.IsNullOrEmpty(MerIdcardNo))
+            {
+                condition += " and MerchantName like '%" + MerIdcardNo + "%'";
+            }
+            //商户姓名
+            if (!string.IsNullOrEmpty(MerchantName))
+            {
+                condition += " and MerchantName like '%" + MerchantName + "%'";
+            }
+            //创客编号
+            if (!string.IsNullOrEmpty(MakerCode))
+            {
+                condition += " and UserId in (select UserId from UserForMakerCode where MakerCode='" + MakerCode + "')";
+            }
+            //创客名称
+            if (!string.IsNullOrEmpty(RealName))
+            {
+                condition += " and UserId in (select UserId from UserForRealName where RealName='" + RealName + "')";
+            }
+            //商户创客编号
+            if (!string.IsNullOrEmpty(MerMakerCode))
+            {
+                condition += " and MerUserId in (select UserId from UserForMakerCode where MakerCode='" + MerMakerCode + "')";
+            }
+            //仓库编号
+            if (!string.IsNullOrEmpty(StoreNo))
+            {
+                condition += " and StoreId in (select StoreId from StoreForCode where Code='" + StoreNo + "')";
+            }
+            //仓库名称
+            if (!string.IsNullOrEmpty(RealName))
+            {
+                condition += " and StoreId in (select StoreId from StoreForName where Name='" + StoreName + "')";
+            }
+            //商户状态
+            if (!string.IsNullOrEmpty(MerStatusSelect))
+            {
+                condition += " and MerStatus=" + MerStatusSelect;
+            }
+            //商户激活状态
+            if (!string.IsNullOrEmpty(ActiveStatusSelect))
+            {
+                condition += " and ActiveStatus=" + ActiveStatusSelect;
+            }
+            //激活类型
+            if (!string.IsNullOrEmpty(ActTypeSelect))
+            {
+                condition += " and ActType=" + ActTypeSelect;
+            }
+            //商户创客类型
+            if (!string.IsNullOrEmpty(MerUserTypeSelect))
+            {
+                condition += " and MerUserType=" + MerUserTypeSelect;
+            }
+
+            Dictionary<string, object> obj = new AdminContentOther(_accessor.HttpContext, PublicFunction.MainTables).IndexData("PosMerchantInfo", Fields, "Id desc", "0", page, limit, condition);
+            List<Dictionary<string, object>> diclist = obj["data"] as List<Dictionary<string, object>>;
+            foreach (Dictionary<string, object> dic in diclist)
+            {
+                //直属创客
+                int UserId = int.Parse(dic["UserId"].ToString());
+                Users puser = db.Users.FirstOrDefault(m => m.Id == UserId) ?? new Users();
+                dic["MakerCode"] = puser.MakerCode;
+                dic["RealName"] = puser.RealName;
+                //顶级创客
+                int TopUserId = int.Parse(dic["TopUserId"].ToString());
+                Users tuser = db.Users.FirstOrDefault(m => m.Id == TopUserId) ?? new Users();
+                dic["TopMakerCode"] = tuser.MakerCode;
+                dic["TopRealName"] = tuser.RealName;
+                //商户创客
+                int MerUserId = int.Parse(dic["MerUserId"].ToString());
+                Users muser = db.Users.FirstOrDefault(m => m.Id == MerUserId) ?? new Users();
+                dic["MerMakerCode"] = muser.MakerCode;
+                dic["MerRealName"] = muser.RealName;
+                //申请创客
+                int SnApplyUserId = int.Parse(dic["SnApplyUserId"].ToString());
+                Users snuser = db.Users.FirstOrDefault(m => m.Id == SnApplyUserId) ?? new Users();
+                dic["SnApplyMakerCode"] = snuser.MakerCode;
+                dic["SnApplyRealName"] = snuser.RealName;
+                //SN仓库
+                int SnStoreId = int.Parse(dic["SnStoreId"].ToString());
+                StoreHouse store = db.StoreHouse.FirstOrDefault(m => m.Id == SnStoreId) ?? new StoreHouse();
+                dic["StoreNo"] = store.StoreNo;
+                dic["StoreName"] = store.StoreName;
+                //机具类型
+                int SnType = int.Parse(dic["SnType"].ToString());
+                if (SnType == 0) dic["SnType"] = "购买机具";
+                if (SnType == 1) dic["SnType"] = "赠送机具";
+                //返利资格
+                dic["RebateQual"] = dic["RebateQual"].ToString() == "1" ? "是" : "否";
+                //激活类型
+                int ActType = int.Parse(dic["ActType"].ToString());
+                if (ActType == 0) dic["ActType"] = "正常激活";
+                if (ActType == 1) dic["ActType"] = "首次已激活MPOS";
+                if (ActType == 2) dic["ActType"] = "首次已激活KPOS";
+                if (ActType == 3) dic["ActType"] = "循环机划拨激活";
+                //商户状态
+                int MerStatus = int.Parse(dic["MerStatus"].ToString());
+                if (MerStatus == 0) dic["MerStatus"] = "正常";
+                if (MerStatus == 1) dic["MerStatus"] = "冻结";
+                if (MerStatus == 2) dic["MerStatus"] = "关闭";
+                //商户激活状态
+                int ActiveStatus = int.Parse(dic["ActiveStatus"].ToString());
+                if (ActiveStatus == 0) dic["ActiveStatus"] = "未激活";
+                if (ActiveStatus == 1) dic["ActiveStatus"] = "已激活";
+                if (ActiveStatus == 2) dic["ActiveStatus"] = "SN已返现";
+                //商户创客类型
+                int MerUserType = int.Parse(dic["MerUserType"].ToString());
+                if (MerUserType == 0) dic["MerUserType"] = "非商户型创客";
+                if (MerUserType == 1) dic["MerUserType"] = "商户型创客";
+            }
+            return Json(obj);
+        }
+
+        #endregion
+
+
+        #region 列表
+        public IActionResult List(PosMerchantInfo data, string right)
+        {
+            ViewBag.RightInfo = RightInfo;
+            ViewBag.right = right;
+
+            return View();
+        }
+
+        #endregion
+
+        #region 列表
+        public JsonResult ListData(PosMerchantInfo data, string MerIdcardNo, string MerchantName, string MakerCode, string RealName, string MerMakerCode, string StoreNo, string StoreName, string MerStatusSelect, string ActiveStatusSelect, string ActTypeSelect, string MerUserTypeSelect, int page = 1, int limit = 30)
+        {
+
+            Dictionary<string, string> Fields = new Dictionary<string, string>();
+
+            Fields.Add("BrandId", "1");
+            Fields.Add("MerchantNo", "1"); //商户编号
+            Fields.Add("MerchantName", "1"); //商户姓名
+            Fields.Add("MerchantMobile", "1"); //商户手机号
+            Fields.Add("KqMerNo", "1"); //快钱商户编码
+            Fields.Add("KqSnNo", "1"); //快钱SN号
+            Fields.Add("KqRegTime", "3"); //渠道注册时间
+            Fields.Add("TopUserId", "0"); //顶级创客
+
+            string condition = " and Status>-1";
+            //身份证号
+            if (!string.IsNullOrEmpty(MerIdcardNo))
+            {
+                condition += " and MerchantName like '%" + MerIdcardNo + "%'";
+            }
+            //商户姓名
+            if (!string.IsNullOrEmpty(MerchantName))
+            {
+                condition += " and MerchantName like '%" + MerchantName + "%'";
+            }
             //创客编号
             if (!string.IsNullOrEmpty(MakerCode))
             {
@@ -92,22 +247,22 @@ namespace MySystem.Areas.Admin.Controllers
                 condition += " and StoreId in (select StoreId from StoreForName where Name='" + StoreName + "')";
             }
             //商户状态
-            if(!string.IsNullOrEmpty(MerStatusSelect))
+            if (!string.IsNullOrEmpty(MerStatusSelect))
             {
                 condition += " and MerStatus=" + MerStatusSelect;
             }
             //商户激活状态
-            if(!string.IsNullOrEmpty(ActiveStatusSelect))
+            if (!string.IsNullOrEmpty(ActiveStatusSelect))
             {
                 condition += " and ActiveStatus=" + ActiveStatusSelect;
             }
             //激活类型
-            if(!string.IsNullOrEmpty(ActTypeSelect))
+            if (!string.IsNullOrEmpty(ActTypeSelect))
             {
                 condition += " and ActType=" + ActTypeSelect;
             }
             //商户创客类型
-            if(!string.IsNullOrEmpty(MerUserTypeSelect))
+            if (!string.IsNullOrEmpty(MerUserTypeSelect))
             {
                 condition += " and MerUserType=" + MerUserTypeSelect;
             }
@@ -143,36 +298,37 @@ namespace MySystem.Areas.Admin.Controllers
                 dic["StoreName"] = store.StoreName;
                 //机具类型
                 int SnType = int.Parse(dic["SnType"].ToString());
-                if(SnType == 0) dic["SnType"] = "购买机具";
-                if(SnType == 1) dic["SnType"] = "赠送机具";
+                if (SnType == 0) dic["SnType"] = "购买机具";
+                if (SnType == 1) dic["SnType"] = "赠送机具";
                 //返利资格
                 dic["RebateQual"] = dic["RebateQual"].ToString() == "1" ? "是" : "否";
                 //激活类型
                 int ActType = int.Parse(dic["ActType"].ToString());
-                if(ActType == 0) dic["ActType"] = "正常激活";
-                if(ActType == 1) dic["ActType"] = "首次已激活MPOS";
-                if(ActType == 2) dic["ActType"] = "首次已激活KPOS";
-                if(ActType == 3) dic["ActType"] = "循环机划拨激活";
+                if (ActType == 0) dic["ActType"] = "正常激活";
+                if (ActType == 1) dic["ActType"] = "首次已激活MPOS";
+                if (ActType == 2) dic["ActType"] = "首次已激活KPOS";
+                if (ActType == 3) dic["ActType"] = "循环机划拨激活";
                 //商户状态
                 int MerStatus = int.Parse(dic["MerStatus"].ToString());
-                if(MerStatus == 0) dic["MerStatus"] = "正常";
-                if(MerStatus == 1) dic["MerStatus"] = "冻结";
-                if(MerStatus == 2) dic["MerStatus"] = "关闭";
+                if (MerStatus == 0) dic["MerStatus"] = "正常";
+                if (MerStatus == 1) dic["MerStatus"] = "冻结";
+                if (MerStatus == 2) dic["MerStatus"] = "关闭";
                 //商户激活状态
                 int ActiveStatus = int.Parse(dic["ActiveStatus"].ToString());
-                if(ActiveStatus == 0) dic["ActiveStatus"] = "未激活";
-                if(ActiveStatus == 1) dic["ActiveStatus"] = "已激活";
-                if(ActiveStatus == 2) dic["ActiveStatus"] = "SN已返现";
+                if (ActiveStatus == 0) dic["ActiveStatus"] = "未激活";
+                if (ActiveStatus == 1) dic["ActiveStatus"] = "已激活";
+                if (ActiveStatus == 2) dic["ActiveStatus"] = "SN已返现";
                 //商户创客类型
                 int MerUserType = int.Parse(dic["MerUserType"].ToString());
-                if(MerUserType == 0) dic["MerUserType"] = "非商户型创客";
-                if(MerUserType == 1) dic["MerUserType"] = "商户型创客";
+                if (MerUserType == 0) dic["MerUserType"] = "非商户型创客";
+                if (MerUserType == 1) dic["MerUserType"] = "商户型创客";
             }
             return Json(obj);
         }
 
         #endregion
 
+
         #region 增加商户
 
         /// <summary>
@@ -413,22 +569,22 @@ namespace MySystem.Areas.Admin.Controllers
                 condition += " and StoreId in (select StoreId from StoreForName where Name='" + StoreName + "')";
             }
             //商户状态
-            if(!string.IsNullOrEmpty(MerStatusSelect))
+            if (!string.IsNullOrEmpty(MerStatusSelect))
             {
                 condition += " and MerStatus=" + MerStatusSelect;
             }
             //商户激活状态
-            if(!string.IsNullOrEmpty(ActiveStatusSelect))
+            if (!string.IsNullOrEmpty(ActiveStatusSelect))
             {
                 condition += " and ActiveStatus=" + ActiveStatusSelect;
             }
             //激活类型
-            if(!string.IsNullOrEmpty(ActTypeSelect))
+            if (!string.IsNullOrEmpty(ActTypeSelect))
             {
                 condition += " and ActType=" + ActTypeSelect;
             }
             //商户创客类型
-            if(!string.IsNullOrEmpty(MerUserTypeSelect))
+            if (!string.IsNullOrEmpty(MerUserTypeSelect))
             {
                 condition += " and MerUserType=" + MerUserTypeSelect;
             }
@@ -464,30 +620,30 @@ namespace MySystem.Areas.Admin.Controllers
                 dic["StoreName"] = store.StoreName;
                 //机具类型
                 int SnType = int.Parse(dic["SnType"].ToString());
-                if(SnType == 0) dic["SnType"] = "购买机具";
-                if(SnType == 1) dic["SnType"] = "赠送机具";
+                if (SnType == 0) dic["SnType"] = "购买机具";
+                if (SnType == 1) dic["SnType"] = "赠送机具";
                 //返利资格
                 dic["RebateQual"] = dic["RebateQual"].ToString() == "1" ? "是" : "否";
                 //激活类型
                 int ActType = int.Parse(dic["ActType"].ToString());
-                if(ActType == 0) dic["ActType"] = "正常激活";
-                if(ActType == 1) dic["ActType"] = "首次已激活MPOS";
-                if(ActType == 2) dic["ActType"] = "首次已激活KPOS";
-                if(ActType == 3) dic["ActType"] = "循环机划拨激活";
+                if (ActType == 0) dic["ActType"] = "正常激活";
+                if (ActType == 1) dic["ActType"] = "首次已激活MPOS";
+                if (ActType == 2) dic["ActType"] = "首次已激活KPOS";
+                if (ActType == 3) dic["ActType"] = "循环机划拨激活";
                 //商户状态
                 int MerStatus = int.Parse(dic["MerStatus"].ToString());
-                if(MerStatus == 0) dic["MerStatus"] = "正常";
-                if(MerStatus == 1) dic["MerStatus"] = "冻结";
-                if(MerStatus == 2) dic["MerStatus"] = "关闭";
+                if (MerStatus == 0) dic["MerStatus"] = "正常";
+                if (MerStatus == 1) dic["MerStatus"] = "冻结";
+                if (MerStatus == 2) dic["MerStatus"] = "关闭";
                 //商户激活状态
                 int ActiveStatus = int.Parse(dic["ActiveStatus"].ToString());
-                if(ActiveStatus == 0) dic["ActiveStatus"] = "未激活";
-                if(ActiveStatus == 1) dic["ActiveStatus"] = "已激活";
-                if(ActiveStatus == 2) dic["ActiveStatus"] = "SN已返现";
+                if (ActiveStatus == 0) dic["ActiveStatus"] = "未激活";
+                if (ActiveStatus == 1) dic["ActiveStatus"] = "已激活";
+                if (ActiveStatus == 2) dic["ActiveStatus"] = "SN已返现";
                 //商户创客类型
                 int MerUserType = int.Parse(dic["MerUserType"].ToString());
-                if(MerUserType == 0) dic["MerUserType"] = "非商户型创客";
-                if(MerUserType == 1) dic["MerUserType"] = "商户型创客";
+                if (MerUserType == 0) dic["MerUserType"] = "非商户型创客";
+                if (MerUserType == 1) dic["MerUserType"] = "商户型创客";
                 dic.Remove("UserId");
                 dic.Remove("TopUserId");
                 dic.Remove("MerUserId");
@@ -548,7 +704,7 @@ namespace MySystem.Areas.Admin.Controllers
         #endregion
 
         #region 同步交易额
-        
+
         [HttpPost]
         public string SycnTradeAmountDo(DateTime sdate, DateTime edate, int MerchantId)
         {
@@ -557,7 +713,7 @@ namespace MySystem.Areas.Admin.Controllers
                 return "时间间隔不能超过1个月";
             }
             if (edate >= DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd") + " 00:00:00"))
-            { 
+            {
                 return "结束时间只能是今天之前";
             }
             string check = RedisDbconn.Instance.Get<string>("ResetMerchantTradeQueue:" + MerchantId);

+ 541 - 0
Areas/Admin/Controllers/MainServer/PosMerchantInfoListController.cs

@@ -0,0 +1,541 @@
+/*
+ * 商户
+ */
+
+using System;
+using System.Web;
+using System.Collections.Generic;
+using System.Diagnostics;
+using System.Linq;
+using System.Threading.Tasks;
+using Microsoft.AspNetCore.Mvc;
+using Microsoft.AspNetCore.Http;
+using Microsoft.Extensions.Logging;
+using Microsoft.Extensions.Options;
+using MySystem.Models;
+using Library;
+using LitJson;
+using MySystemLib;
+
+namespace MySystem.Areas.Admin.Controllers
+{
+    [Area("Admin")]
+    [Route("Admin/[controller]/[action]")]
+    public class PosMerchantInfoListController : BaseController
+    {
+        public PosMerchantInfoListController(IHttpContextAccessor accessor, ILogger<BaseController> logger, IOptions<Setting> setting) : base(accessor, logger, setting)
+        {
+            OtherMySqlConn.connstr = ConfigurationManager.AppSettings["SqlConnStr"].ToString();
+        }
+
+        #region 商户列表
+
+        /// <summary>
+        /// 根据条件查询商户列表
+        /// </summary>
+        /// <returns></returns>
+        public IActionResult Index(PosMerchantInfo data, string right, string BrandId)
+        {
+            ViewBag.RightInfo = RightInfo;
+            ViewBag.right = right;
+            ViewBag.BrandId = BrandId;
+
+            return View();
+        }
+
+        #endregion
+
+        #region 根据条件查询商户列表
+
+        /// <summary>
+        /// 商户列表
+        /// </summary>
+        /// <returns></returns>
+        public JsonResult IndexData(PosMerchantInfo data, string MerIdcardNo, string MerchantName, int page = 1, int limit = 30)
+        {
+
+            Dictionary<string, string> Fields = new Dictionary<string, string>();
+
+            string condition = " and Status>-1";
+            //身份证号
+            if (!string.IsNullOrEmpty(MerIdcardNo))
+            {
+                condition += " and MerIdcardNo like '%" + MerIdcardNo + "%'";
+            }
+            //商户姓名
+            if (!string.IsNullOrEmpty(MerchantName))
+            {
+                condition += " and MerchantName like '%" + MerchantName + "%'";
+            }
+
+            Dictionary<string, object> obj = new AdminContentOther(_accessor.HttpContext, PublicFunction.MainTables).IndexData("PosMerchantInfo", Fields, "Id desc", "0", page, limit, condition);
+            List<Dictionary<string, object>> diclist = obj["data"] as List<Dictionary<string, object>>;
+            foreach (Dictionary<string, object> dic in diclist)
+            {
+                //直属创客
+                int UserId = int.Parse(dic["UserId"].ToString());
+                Users puser = db.Users.FirstOrDefault(m => m.Id == UserId) ?? new Users();
+                dic["MakerCode"] = puser.MakerCode;
+                dic["RealName"] = puser.RealName;
+                //顶级创客
+                int TopUserId = int.Parse(dic["TopUserId"].ToString());
+                Users tuser = db.Users.FirstOrDefault(m => m.Id == TopUserId) ?? new Users();
+                dic["TopMakerCode"] = tuser.MakerCode;
+                dic["TopRealName"] = tuser.RealName;
+                //商户创客
+                int MerUserId = int.Parse(dic["MerUserId"].ToString());
+                Users muser = db.Users.FirstOrDefault(m => m.Id == MerUserId) ?? new Users();
+                dic["MerMakerCode"] = muser.MakerCode;
+                dic["MerRealName"] = muser.RealName;
+                //申请创客
+                int SnApplyUserId = int.Parse(dic["SnApplyUserId"].ToString());
+                Users snuser = db.Users.FirstOrDefault(m => m.Id == SnApplyUserId) ?? new Users();
+                dic["SnApplyMakerCode"] = snuser.MakerCode;
+                dic["SnApplyRealName"] = snuser.RealName;
+                //SN仓库
+                int SnStoreId = int.Parse(dic["SnStoreId"].ToString());
+                StoreHouse store = db.StoreHouse.FirstOrDefault(m => m.Id == SnStoreId) ?? new StoreHouse();
+                dic["StoreNo"] = store.StoreNo;
+                dic["StoreName"] = store.StoreName;
+                //机具类型
+                int SnType = int.Parse(dic["SnType"].ToString());
+                if (SnType == 0) dic["SnType"] = "购买机具";
+                if (SnType == 1) dic["SnType"] = "赠送机具";
+                //返利资格
+                dic["RebateQual"] = dic["RebateQual"].ToString() == "1" ? "是" : "否";
+                //激活类型
+                int ActType = int.Parse(dic["ActType"].ToString());
+                if (ActType == 0) dic["ActType"] = "正常激活";
+                if (ActType == 1) dic["ActType"] = "首次已激活MPOS";
+                if (ActType == 2) dic["ActType"] = "首次已激活KPOS";
+                if (ActType == 3) dic["ActType"] = "循环机划拨激活";
+                //商户状态
+                int MerStatus = int.Parse(dic["MerStatus"].ToString());
+                if (MerStatus == 0) dic["MerStatus"] = "正常";
+                if (MerStatus == 1) dic["MerStatus"] = "冻结";
+                if (MerStatus == 2) dic["MerStatus"] = "关闭";
+                //商户激活状态
+                int ActiveStatus = int.Parse(dic["ActiveStatus"].ToString());
+                if (ActiveStatus == 0) dic["ActiveStatus"] = "未激活";
+                if (ActiveStatus == 1) dic["ActiveStatus"] = "已激活";
+                if (ActiveStatus == 2) dic["ActiveStatus"] = "SN已返现";
+                //商户创客类型
+                int MerUserType = int.Parse(dic["MerUserType"].ToString());
+                if (MerUserType == 0) dic["MerUserType"] = "非商户型创客";
+                if (MerUserType == 1) dic["MerUserType"] = "商户型创客";
+            }
+            return Json(obj);
+        }
+
+        #endregion
+
+
+        #region 增加商户
+
+        /// <summary>
+        /// 增加或修改商户信息
+        /// </summary>
+        /// <returns></returns>
+        public IActionResult Add(string right)
+        {
+            ViewBag.RightInfo = RightInfo;
+            ViewBag.right = right;
+
+
+            return View();
+        }
+
+        #endregion
+
+        #region 增加商户
+
+        /// <summary>
+        /// 增加或修改商户信息
+        /// </summary>
+        /// <returns></returns>
+        [HttpPost]
+        public string Add(PosMerchantInfo data)
+        {
+            Dictionary<string, object> Fields = new Dictionary<string, object>();
+
+
+            Fields.Add("SeoTitle", data.SeoTitle);
+            Fields.Add("SeoKeyword", data.SeoKeyword);
+            Fields.Add("SeoDescription", data.SeoDescription);
+            int Id = new AdminContentOther(_accessor.HttpContext, PublicFunction.MainTables).Add("PosMerchantInfo", Fields, 0);
+            AddSysLog(data.Id.ToString(), "PosMerchantInfo", "add");
+            db.SaveChanges();
+
+            return "success";
+        }
+
+        #endregion
+
+        #region 修改商户
+
+        /// <summary>
+        /// 增加或修改商户信息
+        /// </summary>
+        /// <returns></returns>
+        public IActionResult Edit(string right, int Id = 0)
+        {
+            ViewBag.RightInfo = RightInfo;
+            ViewBag.right = right;
+
+
+            PosMerchantInfo editData = db.PosMerchantInfo.FirstOrDefault(m => m.Id == Id) ?? new PosMerchantInfo();
+            ViewBag.data = editData;
+            return View();
+        }
+
+        #endregion
+
+        #region 修改商户
+
+        /// <summary>
+        /// 增加或修改商户信息
+        /// </summary>
+        /// <returns></returns>
+        [HttpPost]
+        public string Edit(PosMerchantInfo data)
+        {
+            Dictionary<string, object> Fields = new Dictionary<string, object>();
+
+
+            Fields.Add("SeoTitle", data.SeoTitle);
+            Fields.Add("SeoKeyword", data.SeoKeyword);
+            Fields.Add("SeoDescription", data.SeoDescription);
+            new AdminContentOther(_accessor.HttpContext, PublicFunction.MainTables).Edit("PosMerchantInfo", Fields, data.Id);
+            AddSysLog(data.Id.ToString(), "PosMerchantInfo", "update");
+            db.SaveChanges();
+
+            return "success";
+        }
+
+        #endregion
+
+        #region 删除商户信息
+
+        /// <summary>
+        /// 删除商户信息
+        /// </summary>
+        /// <returns></returns>
+        public string Delete(string Id)
+        {
+            string[] idlist = Id.Split(new char[] { ',' });
+            AddSysLog(Id, "PosMerchantInfo", "del");
+            foreach (string subid in idlist)
+            {
+                int id = int.Parse(subid);
+                Dictionary<string, object> Fields = new Dictionary<string, object>();
+                Fields.Add("Status", -1);
+                new AdminContentOther(_accessor.HttpContext, PublicFunction.MainTables).Edit("PosMerchantInfo", Fields, id);
+            }
+            db.SaveChanges();
+
+            return "success";
+        }
+
+        #endregion
+
+        #region 开启
+
+        /// <summary>
+        /// 开启
+        /// </summary>
+        /// <returns></returns>
+        public string Open(string Id)
+        {
+            string[] idlist = Id.Split(new char[] { ',' });
+            AddSysLog(Id, "PosMerchantInfo", "open");
+            foreach (string subid in idlist)
+            {
+                int id = int.Parse(subid);
+                Dictionary<string, object> Fields = new Dictionary<string, object>();
+                Fields.Add("Status", 1);
+                new AdminContentOther(_accessor.HttpContext, PublicFunction.MainTables).Edit("PosMerchantInfo", Fields, id);
+            }
+            db.SaveChanges();
+            return "success";
+        }
+
+        #endregion
+
+        #region 关闭
+
+        /// <summary>
+        /// 关闭
+        /// </summary>
+        /// <returns></returns>
+        public string Close(string Id)
+        {
+            string[] idlist = Id.Split(new char[] { ',' });
+            AddSysLog(Id, "PosMerchantInfo", "close");
+            foreach (string subid in idlist)
+            {
+                int id = int.Parse(subid);
+                Dictionary<string, object> Fields = new Dictionary<string, object>();
+                Fields.Add("Status", 0);
+                new AdminContentOther(_accessor.HttpContext, PublicFunction.MainTables).Edit("PosMerchantInfo", Fields, id);
+            }
+            db.SaveChanges();
+            return "success";
+        }
+
+        #endregion
+
+        #region 排序
+        /// <summary>
+        /// 排序
+        /// </summary>
+        /// <param name="Id"></param>
+        public string Sort(int Id, int Sort)
+        {
+            new AdminContentOther(_accessor.HttpContext, PublicFunction.MainTables).Sort("PosMerchantInfo", Sort, Id);
+
+            AddSysLog(Id.ToString(), "PosMerchantInfo", "sort");
+            return "success";
+        }
+        #endregion
+
+        #region 导入数据
+        /// <summary>
+        /// 导入数据
+        /// </summary>
+        /// <param name="ExcelData"></param>
+        public string Import(string ExcelData)
+        {
+            ExcelData = HttpUtility.UrlDecode(ExcelData);
+            JsonData list = JsonMapper.ToObject(ExcelData);
+            for (int i = 1; i < list.Count; i++)
+            {
+                JsonData dr = list[i];
+
+                db.PosMerchantInfo.Add(new PosMerchantInfo()
+                {
+                    CreateDate = DateTime.Now,
+                    UpdateDate = DateTime.Now,
+
+                });
+                db.SaveChanges();
+            }
+            AddSysLog("0", "PosMerchantInfo", "Import");
+            return "success";
+        }
+        #endregion
+
+        #region 导出Excel
+
+        /// <summary>
+        /// 导出Excel
+        /// </summary>
+        /// <returns></returns>
+        public JsonResult ExportExcel(PosMerchantInfo data, string MakerCode, string RealName, string MerMakerCode, string StoreNo, string StoreName, string MerStatusSelect, string ActiveStatusSelect, string ActTypeSelect, string MerUserTypeSelect)
+        {
+            Dictionary<string, string> Fields = new Dictionary<string, string>();
+
+            Fields.Add("BrandId", "1");
+            Fields.Add("MerchantNo", "1"); //商户编号
+            Fields.Add("MerchantName", "1"); //商户姓名
+            Fields.Add("MerchantMobile", "1"); //商户手机号
+            Fields.Add("KqMerNo", "1"); //快钱商户编码
+            Fields.Add("KqSnNo", "1"); //快钱SN号
+            Fields.Add("KqRegTime", "3"); //渠道注册时间
+            Fields.Add("TopUserId", "0"); //顶级创客
+
+            string condition = " and Status>-1";
+            //创客编号
+            if (!string.IsNullOrEmpty(MakerCode))
+            {
+                condition += " and UserId in (select UserId from UserForMakerCode where MakerCode='" + MakerCode + "')";
+            }
+            //创客名称
+            if (!string.IsNullOrEmpty(RealName))
+            {
+                condition += " and UserId in (select UserId from UserForRealName where RealName='" + RealName + "')";
+            }
+            //商户创客编号
+            if (!string.IsNullOrEmpty(MerMakerCode))
+            {
+                condition += " and MerUserId in (select UserId from UserForMakerCode where MakerCode='" + MerMakerCode + "')";
+            }
+            //仓库编号
+            if (!string.IsNullOrEmpty(StoreNo))
+            {
+                condition += " and StoreId in (select StoreId from StoreForCode where Code='" + StoreNo + "')";
+            }
+            //仓库名称
+            if (!string.IsNullOrEmpty(RealName))
+            {
+                condition += " and StoreId in (select StoreId from StoreForName where Name='" + StoreName + "')";
+            }
+            //商户状态
+            if (!string.IsNullOrEmpty(MerStatusSelect))
+            {
+                condition += " and MerStatus=" + MerStatusSelect;
+            }
+            //商户激活状态
+            if (!string.IsNullOrEmpty(ActiveStatusSelect))
+            {
+                condition += " and ActiveStatus=" + ActiveStatusSelect;
+            }
+            //激活类型
+            if (!string.IsNullOrEmpty(ActTypeSelect))
+            {
+                condition += " and ActType=" + ActTypeSelect;
+            }
+            //商户创客类型
+            if (!string.IsNullOrEmpty(MerUserTypeSelect))
+            {
+                condition += " and MerUserType=" + MerUserTypeSelect;
+            }
+
+            Dictionary<string, object> obj = new AdminContentOther(_accessor.HttpContext, PublicFunction.MainTables).IndexData("PosMerchantInfo", Fields, "Id desc", "0", 1, 20000, condition, "MerchantNo,MerchantName,MerchantMobile,KqMerNo,KqSnNo,MerStatus,ActiveStatus,UserId,MerUserId,SnType,SnApplyUserId,KqRegTime,ActType,SnStoreId,TopUserId,MerUserType,RebateQual", false);
+            List<Dictionary<string, object>> diclist = obj["data"] as List<Dictionary<string, object>>;
+            foreach (Dictionary<string, object> dic in diclist)
+            {
+                //直属创客
+                int UserId = int.Parse(dic["UserId"].ToString());
+                Users puser = db.Users.FirstOrDefault(m => m.Id == UserId) ?? new Users();
+                dic["MakerCode"] = puser.MakerCode;
+                dic["RealName"] = puser.RealName;
+                //顶级创客
+                int TopUserId = int.Parse(dic["TopUserId"].ToString());
+                Users tuser = db.Users.FirstOrDefault(m => m.Id == TopUserId) ?? new Users();
+                dic["TopMakerCode"] = tuser.MakerCode;
+                dic["TopRealName"] = tuser.RealName;
+                //商户创客
+                int MerUserId = int.Parse(dic["MerUserId"].ToString());
+                Users muser = db.Users.FirstOrDefault(m => m.Id == MerUserId) ?? new Users();
+                dic["MerMakerCode"] = muser.MakerCode;
+                dic["MerRealName"] = muser.RealName;
+                //申请创客
+                int SnApplyUserId = int.Parse(dic["SnApplyUserId"].ToString());
+                Users snuser = db.Users.FirstOrDefault(m => m.Id == SnApplyUserId) ?? new Users();
+                dic["SnApplyMakerCode"] = snuser.MakerCode;
+                dic["SnApplyRealName"] = snuser.RealName;
+                //SN仓库
+                int SnStoreId = int.Parse(dic["SnStoreId"].ToString());
+                StoreHouse store = db.StoreHouse.FirstOrDefault(m => m.Id == SnStoreId) ?? new StoreHouse();
+                dic["StoreNo"] = store.StoreNo;
+                dic["StoreName"] = store.StoreName;
+                //机具类型
+                int SnType = int.Parse(dic["SnType"].ToString());
+                if (SnType == 0) dic["SnType"] = "购买机具";
+                if (SnType == 1) dic["SnType"] = "赠送机具";
+                //返利资格
+                dic["RebateQual"] = dic["RebateQual"].ToString() == "1" ? "是" : "否";
+                //激活类型
+                int ActType = int.Parse(dic["ActType"].ToString());
+                if (ActType == 0) dic["ActType"] = "正常激活";
+                if (ActType == 1) dic["ActType"] = "首次已激活MPOS";
+                if (ActType == 2) dic["ActType"] = "首次已激活KPOS";
+                if (ActType == 3) dic["ActType"] = "循环机划拨激活";
+                //商户状态
+                int MerStatus = int.Parse(dic["MerStatus"].ToString());
+                if (MerStatus == 0) dic["MerStatus"] = "正常";
+                if (MerStatus == 1) dic["MerStatus"] = "冻结";
+                if (MerStatus == 2) dic["MerStatus"] = "关闭";
+                //商户激活状态
+                int ActiveStatus = int.Parse(dic["ActiveStatus"].ToString());
+                if (ActiveStatus == 0) dic["ActiveStatus"] = "未激活";
+                if (ActiveStatus == 1) dic["ActiveStatus"] = "已激活";
+                if (ActiveStatus == 2) dic["ActiveStatus"] = "SN已返现";
+                //商户创客类型
+                int MerUserType = int.Parse(dic["MerUserType"].ToString());
+                if (MerUserType == 0) dic["MerUserType"] = "非商户型创客";
+                if (MerUserType == 1) dic["MerUserType"] = "商户型创客";
+                dic.Remove("UserId");
+                dic.Remove("TopUserId");
+                dic.Remove("MerUserId");
+                dic.Remove("SnApplyUserId");
+                dic.Remove("SnStoreId");
+            }
+
+            Dictionary<string, object> result = new Dictionary<string, object>();
+            result.Add("Status", "1");
+            result.Add("Info", "Excel报表-" + DateTime.Now.ToString("yyyy-MM-ddTHH:mm:ss") + ".xlsx");
+            result.Add("Obj", diclist);
+            Dictionary<string, object> ReturnFields = new Dictionary<string, object>();
+            ReturnFields.Add("MerchantNo", "商户编号");
+            ReturnFields.Add("MerchantName", "商户名称");
+            ReturnFields.Add("MerchantMobile", "商户手机号");
+            ReturnFields.Add("KqMerNo", "快钱商户编码");
+            ReturnFields.Add("KqSnNo", "快钱SN号");
+            ReturnFields.Add("SnType", "机具类型");
+            ReturnFields.Add("RebateQual", "返利资格");
+            ReturnFields.Add("ActType", "激活类型");
+            ReturnFields.Add("MerStatus", "商户状态");
+            ReturnFields.Add("ActiveStatus", "商户激活状态");
+            ReturnFields.Add("MerMakerCode", "商户创客编码");
+            ReturnFields.Add("MerRealName", "商户创客名称");
+            ReturnFields.Add("MerUserType", "商户创客类型");
+            ReturnFields.Add("MakerCode", "直属创客编号");
+            ReturnFields.Add("RealName", "直属创客姓名");
+            ReturnFields.Add("TopMakerCode", "顶级创客编码");
+            ReturnFields.Add("TopRealName", "顶级创客名称");
+            ReturnFields.Add("StoreNo", "SN仓库编号");
+            ReturnFields.Add("StoreName", "SN仓库名称");
+            ReturnFields.Add("SnApplyMakerCode", "申请创客编号");
+            ReturnFields.Add("SnApplyRealName", "申请创客姓名");
+            ReturnFields.Add("KqRegTime", "注册时间");
+            result.Add("Fields", ReturnFields);
+            AddSysLog("0", "PosMerchantInfo", "ExportExcel");
+            return Json(result);
+        }
+
+        #endregion
+
+
+
+
+
+        #region 同步交易额
+
+        public IActionResult SycnTradeAmount(string right, int Id = 0)
+        {
+            ViewBag.RightInfo = RightInfo;
+            ViewBag.right = right;
+
+            PosMerchantInfo editData = db.PosMerchantInfo.FirstOrDefault(m => m.Id == Id) ?? new PosMerchantInfo();
+            ViewBag.data = editData;
+            return View();
+        }
+
+        #endregion
+
+        #region 同步交易额
+
+        [HttpPost]
+        public string SycnTradeAmountDo(DateTime sdate, DateTime edate, int MerchantId)
+        {
+            if (sdate.AddMonths(1) < edate)
+            {
+                return "时间间隔不能超过1个月";
+            }
+            if (edate >= DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd") + " 00:00:00"))
+            {
+                return "结束时间只能是今天之前";
+            }
+            string check = RedisDbconn.Instance.Get<string>("ResetMerchantTradeQueue:" + MerchantId);
+            if (!string.IsNullOrEmpty(check))
+            {
+                return "请稍后再试";
+            }
+            try
+            {
+                RedisDbconn.Instance.AddList("ResetMerchantTradeQueue", MerchantId + "#cut#" + sdate.ToString("yyyy-MM-dd HH:mm:ss") + "#cut#" + edate.ToString("yyyy-MM-dd HH:mm:ss"));
+                RedisDbconn.Instance.Set("ResetMerchantTradeQueue:" + MerchantId, "wait");
+                RedisDbconn.Instance.SetExpire("ResetMerchantTradeQueue:" + MerchantId, 3600);
+            }
+            catch (Exception ex)
+            {
+                function.WriteLog(DateTime.Now.ToString() + "\n" + ex.ToString(), "统计商户的交易额异常");
+                return "同步异常";
+            }
+            return "success";
+        }
+
+        #endregion
+    }
+}

+ 79 - 14
Areas/Admin/Controllers/MainServer/StoreHouseAmountPromissController.cs

@@ -98,6 +98,12 @@ namespace MySystem.Areas.Admin.Controllers
                 dic["ToUserIdRealName"] = touserid_Users.RealName;
                 dic.Remove("ToUserId");
 
+                //是否使用
+                int Status = int.Parse(dic["Status"].ToString());
+                if (Status == 0) dic["StatusName"] = "确认中";
+                if (Status == 1) dic["StatusName"] = "成功";
+                if (Status == 2) dic["StatusName"] = "失败";
+
             }
             return Json(obj);
         }
@@ -128,17 +134,44 @@ namespace MySystem.Areas.Admin.Controllers
         /// </summary>
         /// <returns></returns>
         [HttpPost]
-        public string Add(StoreHouseAmountPromiss data)
+        public string Add(string FromUserId, string ToUserId, decimal PromissAmount, string SeoDescription)
         {
             Dictionary<string, object> Fields = new Dictionary<string, object>();
+            var FromUserIdInfo = db.Users.FirstOrDefault(m => m.MakerCode == FromUserId);
+            var ToUserIdInfo = db.Users.FirstOrDefault(m => m.MakerCode == ToUserId);
+            // ToUserIdInfo.ValidAmount += PromissAmount;//添加担保金
 
-            Fields.Add("FromUserId", data.FromUserId); //担保人
-            Fields.Add("ToUserId", data.ToUserId); //担保对象
-            Fields.Add("PromissAmount", data.PromissAmount); //担保金额
+            db.StoreHouseAmountPromiss.Add(new StoreHouseAmountPromiss()
+            {
+                CreateDate = DateTime.Now,
+                FromUserId = FromUserIdInfo.Id,
+                ToUserId = ToUserIdInfo.Id,
+                PromissAmount = PromissAmount,
+                SeoDescription = SeoDescription
+            });
+            db.SaveChanges();
+            RedisDbconn.Instance.AddList("MsgPersonalQueue", Newtonsoft.Json.JsonConvert.SerializeObject(new MsgPersonal()
+            {
+                UserId = FromUserIdInfo.Id, //接收创客
+                Title = "仓库担保通知", //标题
+                Content = "<div class='f16'>已经为创客 <br/>" + ToUserIdInfo.RealName + ' ' + ToUserIdInfo.MakerCode + "进行分仓额度担保<br/>担保金额:" + PromissAmount + " </div>", //内容
+                Summary = "已经为创客" + ToUserIdInfo.RealName + ' ' + ToUserIdInfo.MakerCode + "进行分仓额度担保,担保金额:" + PromissAmount,
+                CreateDate = DateTime.Now,
+            }));
 
-            Fields.Add("SeoTitle", data.SeoTitle);
-            Fields.Add("SeoKeyword", data.SeoKeyword);
-            Fields.Add("SeoDescription", data.SeoDescription);
+            return "success";
+        }
+
+
+        public string Adds(StoreHouseAmountPromiss data)
+        {
+            Dictionary<string, object> Fields = new Dictionary<string, object>();
+            var FromUserId = db.Users.FirstOrDefault(m => m.MakerCode == data.FromUserId.ToString());
+            var ToUserId = db.Users.FirstOrDefault(m => m.MakerCode == data.ToUserId.ToString());
+
+            Fields.Add("FromUserId", FromUserId); //担保人
+            Fields.Add("ToUserId", ToUserId); //担保对象
+            Fields.Add("PromissAmount", data.PromissAmount); //担保金额
             int Id = new AdminContentOther(_accessor.HttpContext, PublicFunction.MainTables).Add("StoreHouseAmountPromiss", Fields, 0);
             AddSysLog(data.Id.ToString(), "StoreHouseAmountPromiss", "add");
             db.SaveChanges();
@@ -177,17 +210,36 @@ namespace MySystem.Areas.Admin.Controllers
         public string Edit(StoreHouseAmountPromiss data)
         {
             Dictionary<string, object> Fields = new Dictionary<string, object>();
+            StoreHouseAmountPromiss storeHouseAmountPromiss = db.StoreHouseAmountPromiss.FirstOrDefault(m => m.Id == data.Id);
+            Fields.Add("FromUserId", storeHouseAmountPromiss.FromUserId); //担保人
+            Fields.Add("ToUserId", storeHouseAmountPromiss.ToUserId); //担保对象
+            if (data.PromissAmount > storeHouseAmountPromiss.PromissAmount)
+            {
+                return "修改保证金不可高于原保证金额度!";
+            }
+            else
+            {
+                Fields.Add("PromissAmount", data.PromissAmount); //担保金额
+            }
 
-            Fields.Add("FromUserId", data.FromUserId); //担保人
-            Fields.Add("ToUserId", data.ToUserId); //担保对象
-            Fields.Add("PromissAmount", data.PromissAmount); //担保金额
-
-            Fields.Add("SeoTitle", data.SeoTitle);
-            Fields.Add("SeoKeyword", data.SeoKeyword);
-            Fields.Add("SeoDescription", data.SeoDescription);
+            Fields.Add("SeoTitle", storeHouseAmountPromiss.SeoTitle);
+            Fields.Add("SeoKeyword", storeHouseAmountPromiss.SeoKeyword);
+            Fields.Add("SeoDescription", storeHouseAmountPromiss.SeoDescription);
             new AdminContentOther(_accessor.HttpContext, PublicFunction.MainTables).Edit("StoreHouseAmountPromiss", Fields, data.Id);
             AddSysLog(data.Id.ToString(), "StoreHouseAmountPromiss", "update");
+            UserAccount userAccount = db.UserAccount.FirstOrDefault(m => m.Id == data.ToUserId) ?? new UserAccount();
+            userAccount.ValidAmount = userAccount.ValidAmount - (storeHouseAmountPromiss.PromissAmount - data.PromissAmount);//减去担保金调整差额
             db.SaveChanges();
+            var storeA = db.StoreHouseAmountPromiss.FirstOrDefault(m => m.Id == data.Id);
+            var ToUserId = db.Users.FirstOrDefault(m => m.Id == storeHouseAmountPromiss.ToUserId);
+            RedisDbconn.Instance.AddList("MsgPersonalQueue", Newtonsoft.Json.JsonConvert.SerializeObject(new MsgPersonal()
+            {
+                UserId = storeHouseAmountPromiss.FromUserId, //接收创客
+                Title = "仓库担保调低", //标题
+                Content = "<div class='f16'>已经为创客 <br/>" + ToUserId.RealName + ' ' + ToUserId.MakerCode + "进行分仓额度担保调低<br/>担保金额:" + storeA.PromissAmount + " </div>", //内容
+                Summary = "已经为创客" + ToUserId.RealName + ' ' + ToUserId.MakerCode + "进行分仓额度担保调低,担保金额:" + storeA.PromissAmount,
+                CreateDate = DateTime.Now,
+            }));
 
             return "success";
         }
@@ -208,10 +260,23 @@ namespace MySystem.Areas.Admin.Controllers
             {
                 int id = int.Parse(subid);
                 Dictionary<string, object> Fields = new Dictionary<string, object>();
+                StoreHouseAmountPromiss storeHouseAmountPromiss = db.StoreHouseAmountPromiss.FirstOrDefault(m => m.Id == id);
                 Fields.Add("Status", -1);
+                var userAccount = db.UserAccount.FirstOrDefault(m => m.Id == storeHouseAmountPromiss.ToUserId);
+                userAccount.ValidAmount -= storeHouseAmountPromiss.PromissAmount;//减除保证金
                 new AdminContentOther(_accessor.HttpContext, PublicFunction.MainTables).Edit("StoreHouseAmountPromiss", Fields, id);
             }
             db.SaveChanges();
+            StoreHouseAmountPromiss storep = db.StoreHouseAmountPromiss.FirstOrDefault(m => m.Id == Convert.ToInt32(Id));
+            var ToUserInfo = db.Users.FirstOrDefault(m => m.Id == storep.ToUserId);
+            RedisDbconn.Instance.AddList("MsgPersonalQueue", Newtonsoft.Json.JsonConvert.SerializeObject(new MsgPersonal()
+            {
+                UserId = storep.FromUserId, //接收创客
+                Title = "取消仓库担保", //标题
+                Content = "<div class='f16'>已取消为创客 <br/>" + ToUserInfo.RealName + ' ' + ToUserInfo.MakerCode + "的仓库担保金额 " + storep.PromissAmount + "元</div>", //内容
+                Summary = "已取消为创客 " + ToUserInfo.RealName + ' ' + ToUserInfo.MakerCode + "的仓库担保金额 " + storep.PromissAmount + "元",
+                CreateDate = DateTime.Now,
+            }));
 
             return "success";
         }

+ 7 - 1
Areas/Admin/Controllers/MainServer/StoreHouseController.cs

@@ -861,6 +861,8 @@ namespace MySystem.Areas.Admin.Controllers
                 NoDataReturnFields.Add("StoreNo", "仓库编号");
                 NoDataReturnFields.Add("Mobile", "仓库所属人手机号");
                 NoDataReturnFields.Add("RealName", "仓库所属人名称");
+                NoDataReturnFields.Add("MakerCode", "仓库所属人编码");
+                NoDataReturnFields.Add("ManageMakerCode", "仓库管理员编码");
                 NoDataReturnFields.Add("Name", "品牌");
                 NoDataReturnFields.Add("LaveNum", "当前库存");
                 NoDataReturnFields.Add("c1", "出库(调拨)量");
@@ -925,7 +927,7 @@ namespace MySystem.Areas.Admin.Controllers
                     }
                 }
             }
-            DataTable list = OtherMySqlConn.dtable("select * from (select s.StoreName,s.StoreNo,u.RealName,u.Mobile,k.Name,s.LaveNum,(select count(Id) from StoreStockChange where Id>=" + minId + " and Id<=" + maxId + " and CreateDate>='" + sCreateDate + "' and CreateDate<='" + eCreateDate + "' and StoreId=s.Id and TransType=1) as c1,(select count(Id) from StoreStockChange where Id>=" + minId + " and Id<=" + maxId + " and CreateDate>='" + sCreateDate + "' and CreateDate<='" + eCreateDate + "' and StoreId=s.Id and TransType in (10,11,2)) as c2,(select count(Id) from PosMachinesTwo where Id>=" + minPosId + " and Id<=" + maxPosId + " and ActivationState=1 and ActivationTime>='" + sCreateDate + "' and ActivationTime<='" + eCreateDate + "' and StoreId=s.Id) as c3 from StoreHouse s left join Users u on s.BrandId>0 and s.UserId=u.Id left join KqProducts k on s.BrandId=k.Id) tb where c1>0 or c2>0 or c3>0");
+            DataTable list = OtherMySqlConn.dtable("select * from (select s.StoreName,s.StoreNo,u.RealName,u.Mobile,u.MakerCode,(select MakerCode from Users where Id=s.ManageUserId) as ManageMakerCode,k.Name,s.LaveNum,(select count(Id) from StoreStockChange where Id>=" + minId + " and Id<=" + maxId + " and CreateDate>='" + sCreateDate + "' and CreateDate<='" + eCreateDate + "' and StoreId=s.Id and TransType=1) as c1,(select count(Id) from StoreStockChange where Id>=" + minId + " and Id<=" + maxId + " and CreateDate>='" + sCreateDate + "' and CreateDate<='" + eCreateDate + "' and StoreId=s.Id and TransType in (10,11,2)) as c2,(select count(Id) from PosMachinesTwo where Id>=" + minPosId + " and Id<=" + maxPosId + " and ActivationState=1 and ActivationTime>='" + sCreateDate + "' and ActivationTime<='" + eCreateDate + "' and StoreId=s.Id) as c3 from StoreHouse s left join Users u on s.BrandId>0 and s.UserId=u.Id left join KqProducts k on s.BrandId=k.Id) tb where c1>0 or c2>0 or c3>0");
 
             int recordcount = list.Rows.Count;
             List<Dictionary<string, object>> diclist = new List<Dictionary<string, object>>();
@@ -936,6 +938,8 @@ namespace MySystem.Areas.Admin.Controllers
                 row.Add("StoreNo", sub["StoreNo"].ToString());
                 row.Add("Mobile", sub["Mobile"].ToString());
                 row.Add("RealName", sub["RealName"].ToString());
+                row.Add("MakerCode", sub["MakerCode"].ToString());
+                row.Add("ManageMakerCode", sub["ManageMakerCode"].ToString());
                 row.Add("Name", sub["Name"].ToString());
                 row.Add("LaveNum", sub["LaveNum"].ToString());
                 row.Add("c1", sub["c1"].ToString());
@@ -953,6 +957,8 @@ namespace MySystem.Areas.Admin.Controllers
             ReturnFields.Add("StoreNo", "仓库编号");
             ReturnFields.Add("Mobile", "仓库所属人手机号");
             ReturnFields.Add("RealName", "仓库所属人名称");
+            ReturnFields.Add("MakerCode", "仓库所属人编码");
+            ReturnFields.Add("ManageMakerCode", "仓库管理员编码");
             ReturnFields.Add("Name", "品牌");
             ReturnFields.Add("LaveNum", "当前库存");
             ReturnFields.Add("c1", "出库(调拨)量");

+ 3 - 0
Areas/Admin/Controllers/MainServer/StoreMachineApplyController.cs

@@ -297,6 +297,9 @@ namespace MySystem.Areas.Admin.Controllers
                 int id = int.Parse(subid);
                 Dictionary<string, object> Fields = new Dictionary<string, object>();
                 Fields.Add("Status", 2);
+                var query = db.StoreMachineApply.FirstOrDefault(m => m.Id == id);
+                var users = db.UserAccount.FirstOrDefault(m => m.Id == query.UserId);
+                users.ValidAmount += query.UseAmount;
                 new AdminContentOther(_accessor.HttpContext, PublicFunction.MainTables).Edit("StoreMachineApply", Fields, id);
             }
             db.SaveChanges();

+ 40 - 4
Areas/Admin/Controllers/MainServer/SysRechargeRecordController.cs

@@ -51,14 +51,14 @@ namespace MySystem.Areas.Admin.Controllers
         /// 创客奖励记录列表
         /// </summary>
         /// <returns></returns>
-        public JsonResult IndexData(SysRechargeRecord data, string MakerCode, string RealName, string StatusSelect, string SyncStatusSelect, int page = 1, int limit = 30)
+        public JsonResult IndexData(SysRechargeRecord data, string MakerCode, string RealName, string RechargeRecNo, string BatchCode, string BizTimeData, string StatusSelect, string SyncStatusSelect, int page = 1, int limit = 30)
         {
 
             Dictionary<string, string> Fields = new Dictionary<string, string>();
-            Fields.Add("RechargeRecNo", "1"); //奖励单号
+            // Fields.Add("RechargeRecNo", "1"); //奖励单号
             Fields.Add("BizType", "0"); //业务类型
-            Fields.Add("BatchCode", "1"); //批次号
-            Fields.Add("BizTime", "3"); //奖励时间
+            // Fields.Add("BatchCode", "1"); //批次号
+            // Fields.Add("BizTime", "3"); //奖励时间
 
             string condition = " and Status>-1";
             //创客编号
@@ -71,6 +71,21 @@ namespace MySystem.Areas.Admin.Controllers
             {
                 condition += " and UserId in (select UserId from UserForRealName where RealName='" + RealName + "')";
             }
+            //奖励单号
+            if (!string.IsNullOrEmpty(RechargeRecNo))
+            {
+                condition += " and RechargeRecNo=" + RechargeRecNo;
+            }
+            //批次号
+            if (!string.IsNullOrEmpty(BatchCode))
+            {
+                condition += " and BatchCode=" + BatchCode;
+            }
+            //业务类型
+            // if (BizType > 0) 
+            // {
+            //     condition += " and BizType=" + BizType;
+            // }
             //状态
             if (!string.IsNullOrEmpty(StatusSelect))
             {
@@ -81,6 +96,13 @@ namespace MySystem.Areas.Admin.Controllers
             {
                 condition += " and SyncStatus=" + SyncStatusSelect;
             }
+            if(!string.IsNullOrEmpty(BizTimeData))
+            {
+                string[] datelist = BizTimeData.Split(new string[] { " - " }, StringSplitOptions.None);
+                string start = datelist[0];
+                string end = datelist[1];
+                condition += " and BizTime>='" + start + " 00:00:00' and BizTime<='" + end + " 23:59:59'";
+            }
 
             Dictionary<string, object> obj = new AdminContentOther(_accessor.HttpContext, PublicFunction.MainTables).IndexData("SysRechargeRecord", Fields, "Id desc", "0", page, limit, condition);
             List<Dictionary<string, object>> diclist = obj["data"] as List<Dictionary<string, object>>;
@@ -104,6 +126,8 @@ namespace MySystem.Areas.Admin.Controllers
             Dictionary<string, object> other = new Dictionary<string, object>();
             string BizAmount30 = "0.00";//红包奖励
             string BizAmount31 = "0.00";//活动奖励
+            string BizAmount114 = "0.00";//私董会分红
+            string BizAmount115 = "0.00";//分仓奖励
             DataTable dt = OtherMySqlConn.dtable("select sum(Amount) from SysRechargeRecord where BizType=30" + condition);
             if (dt.Rows.Count > 0)
             {
@@ -114,8 +138,20 @@ namespace MySystem.Areas.Admin.Controllers
             {
                 BizAmount31 = decimal.Parse(function.CheckNum(dt.Rows[0][0].ToString())).ToString("f2");
             }
+            dt = OtherMySqlConn.dtable("select sum(Amount) from SysRechargeRecord where BizType=114" + condition);
+            if (dt.Rows.Count > 0)
+            {
+                BizAmount114 = decimal.Parse(function.CheckNum(dt.Rows[0][0].ToString())).ToString("f2");
+            }
+            dt = OtherMySqlConn.dtable("select sum(Amount) from SysRechargeRecord where BizType=115" + condition);
+            if (dt.Rows.Count > 0)
+            {
+                BizAmount115 = decimal.Parse(function.CheckNum(dt.Rows[0][0].ToString())).ToString("f2");
+            }
             other.Add("BizAmount30", BizAmount30);
             other.Add("BizAmount31", BizAmount31);
+            other.Add("BizAmount114", BizAmount114);
+            other.Add("BizAmount115", BizAmount115);
             obj.Add("other", other);
             return Json(obj);
         }

+ 94 - 54
Areas/Admin/Controllers/MainServer/SysToolsController.cs

@@ -224,7 +224,6 @@ namespace MySystem.Areas.Admin.Controllers
                 }
                 if (pos.CreditTrade >= CheckMoney && pos.ActivationState == 0)
                 {
-                    // pos.IsPurchase = 0;
                     pos.ActivationState = 1;
                     pos.ActivationTime = DateTime.Now;
                     PosMerchantInfo mer = db.PosMerchantInfo.FirstOrDefault(m => m.Id == pos.BindMerchantId);
@@ -240,15 +239,15 @@ namespace MySystem.Areas.Admin.Controllers
                     {
                         if (IsSend == 1)
                         {
-                            // RedisDbconn.Instance.AddList("MsgPersonalQueue", Newtonsoft.Json.JsonConvert.SerializeObject(new MsgPersonal()
-                            // {
-                            //     UserId = pos.Id, //接收创客
-                            //     MsgType = 2,
-                            //     Title = "补录成功通知", //标题
-                            //     Summary = "您的 " + kqProducts.Name + " SN:" + pos.PosSn + "已经成功补录,请查收。",
-                            //     CreateDate = DateTime.Now,
-
-                            // }));
+                            RedisDbconn.Instance.AddList("MsgPersonalQueue", Newtonsoft.Json.JsonConvert.SerializeObject(new MsgPersonal()
+                            {
+                                UserId = pos.BuyUserId, //接收创客
+                                MsgType = 2,
+                                Title = "补录成功通知", //标题
+                                Summary = "您的 " + kqProducts.Name + " SN:" + pos.PosSn + "已经成功补录,请查收。",
+                                CreateDate = DateTime.Now,
+
+                            }));
                         }
                         return "激活奖励已补录";
                     }
@@ -808,15 +807,14 @@ namespace MySystem.Areas.Admin.Controllers
                 pos.BindMerchantId = merchant.Id;
                 if (IsSend == 1)
                 {
-                    // RedisDbconn.Instance.AddList("MsgPersonalQueue", Newtonsoft.Json.JsonConvert.SerializeObject(new MsgPersonal()
-                    // {
-                    //     UserId = pos.UserId, //接收创客
-                    //     MsgType = 2,
-                    //     Title = "商户型代理设置成功", //标题
-                    //     Summary = "您的 " + kqProducts.Name + " SN:" + pos.PosSn + "已经成功给下级代理" + user.RealName + "" + MakerCode + ",设置为商户型代理,设置成功后的新增交易的分润归商户型代理所有",
-                    //     CreateDate = DateTime.Now,
-
-                    // }));
+                    RedisDbconn.Instance.AddList("MsgPersonalQueue", Newtonsoft.Json.JsonConvert.SerializeObject(new MsgPersonal()
+                    {
+                        UserId = pos.BuyUserId, //接收创客
+                        MsgType = 2,
+                        Title = "商户型代理设置成功", //标题
+                        Summary = "您的 " + kqProducts.Name + " SN:" + pos.PosSn + "已经成功给下级代理" + user.RealName + "" + MakerCode + ",设置为商户型代理,设置成功后的新增交易的分润归商户型代理所有",
+                        CreateDate = DateTime.Now,
+                    }));
                 }
             }
             user.MerchantType = 1;
@@ -1354,15 +1352,15 @@ namespace MySystem.Areas.Admin.Controllers
             db.Dispose();
             if (IsSend == 1)
             {
-                // RedisDbconn.Instance.AddList("MsgPersonalQueue", Newtonsoft.Json.JsonConvert.SerializeObject(new MsgPersonal()
-                // {
-                //     UserId = pos.UserId, //接收创客
-                //     MsgType = 2,
-                //     Title = "换绑成功通知", //标题
-                //     Summary = "您的 " + oldPosBrand.Name + " SN:" + OldSn + "已经成功为客户换绑为" + newPosBrand.Name + "SN:" + NewSn + "请告知客户进行绑定。",
-                //     CreateDate = DateTime.Now,
+                RedisDbconn.Instance.AddList("MsgPersonalQueue", Newtonsoft.Json.JsonConvert.SerializeObject(new MsgPersonal()
+                {
+                    UserId = pos.BuyUserId, //接收创客
+                    MsgType = 2,
+                    Title = "换绑成功通知", //标题
+                    Summary = "您的 " + oldPosBrand.Name + " SN:" + OldSn + "已经成功为客户换绑为" + newPosBrand.Name + "SN:" + NewSn + "请告知客户进行绑定。",
+                    CreateDate = DateTime.Now,
 
-                // }));
+                }));
             }
             return "success";
         }
@@ -1460,15 +1458,14 @@ namespace MySystem.Areas.Admin.Controllers
             PublicFunction.SycnMachineCount(pos.BuyUserId, pos.BrandId);
             if (IsSend == 1)
             {
-                // RedisDbconn.Instance.AddList("MsgPersonalQueue", Newtonsoft.Json.JsonConvert.SerializeObject(new MsgPersonal()
-                // {
-                //     UserId = pos.UserId, //接收创客
-                //     MsgType = 2,
-                //     Title = "解绑成功通知", //标题
-                //     Summary = "" + PosSn + "机具已成功解绑,当前机具如需绑定同一客户请再2个工作日后再进行绑定,直接绑定会导致数控异常,相关损失由您本人承担。",
-                //     CreateDate = DateTime.Now,
-
-                // }));
+                RedisDbconn.Instance.AddList("MsgPersonalQueue", Newtonsoft.Json.JsonConvert.SerializeObject(new MsgPersonal()
+                {
+                    UserId = pos.BuyUserId, //接收创客
+                    MsgType = 2,
+                    Title = "解绑成功通知", //标题
+                    Summary = "" + PosSn + "机具已成功解绑,当前机具如需绑定同一客户请再2个工作日后再进行绑定,直接绑定会导致数控异常,相关损失由您本人承担。",
+                    CreateDate = DateTime.Now,
+                }));
             }
             return "success";
         }
@@ -1486,18 +1483,35 @@ namespace MySystem.Areas.Admin.Controllers
         }
 
         [HttpPost]
-        public string ChangeSignQuanDo(string CouponNos = "", int IsSend = 0)
+        public string ChangeSignQuanDo(string Coupons, string MakerCode)
         {
-            if (string.IsNullOrEmpty(CouponNos))
+            if (string.IsNullOrEmpty(Coupons))
             {
-                return "请输入券码";
+                return "请输入机具券码,多个券码用回车分隔";
             }
-
-            string[] CouponNoList = CouponNos.Split('\n');
-            for (int i = 0; i < CouponNoList.Length; i++)
+            if (string.IsNullOrEmpty(MakerCode))
             {
-
+                return "请输入创客编号";
+            }
+            UserForMakerCode forMakerCode = db.UserForMakerCode.FirstOrDefault(m => m.MakerCode == MakerCode);
+            if (forMakerCode == null)
+            {
+                return "创客不存在";
             }
+            string[] SnList = Coupons.Split('\n');
+            foreach (var item in SnList)
+            {
+                var coupos = db.PosCoupons.FirstOrDefault(m => m.ExchangeCode == item && m.LeaderUserId == 0);
+                if (coupos == null)
+                {
+                    return "机具券不存在";
+                }
+                else
+                {
+                    coupos.LeaderUserId = forMakerCode.UserId;
+                }
+            }
+            db.SaveChanges();
             return "success";
         }
         #endregion
@@ -1514,18 +1528,35 @@ namespace MySystem.Areas.Admin.Controllers
         }
 
         [HttpPost]
-        public string ChangeSignSnDo(string SnNos = "", int IsSend = 0)
+        public string ChangeSignSnDo(string PosSn, string MakerCode)
         {
-            if (string.IsNullOrEmpty(SnNos))
+            if (string.IsNullOrEmpty(PosSn))
             {
-                return "请输入机具SN";
+                return "请输入机具SN,多个SN用回车分隔";
             }
-
-            string[] SnNoList = SnNos.Split('\n');
-            for (int i = 0; i < SnNoList.Length; i++)
+            if (string.IsNullOrEmpty(MakerCode))
             {
-
+                return "请输入创客编号";
             }
+            UserForMakerCode forMakerCode = db.UserForMakerCode.FirstOrDefault(m => m.MakerCode == MakerCode);
+            if (forMakerCode == null)
+            {
+                return "创客不存在";
+            }
+            string[] SnList = PosSn.Split('\n');
+            foreach (var item in SnList)
+            {
+                var pos = db.PosMachinesTwo.FirstOrDefault(m => m.PosSn == item && m.LeaderUserId == 0);
+                if (pos == null)
+                {
+                    return "该机具不存在";
+                }
+                else
+                {
+                    pos.LeaderUserId = forMakerCode.UserId;
+                }
+            }
+            db.SaveChanges();
             return "success";
         }
         #endregion
@@ -1606,7 +1637,7 @@ namespace MySystem.Areas.Admin.Controllers
 
             if (!string.IsNullOrEmpty(SwapSnExpand))
             {
-                machineApplie = machineApplie.Where(m => m.SwapSnExpand.Contains(SwapSnExpand)).ToList();
+                machineApplie = db.MachineApply.Where(m => m.Status > -1 && m.SwapSnExpand.Contains(SwapSnExpand)).ToList();
                 foreach (var item in machineApplie)
                 {
                     var orders = db.Orders.FirstOrDefault(m => m.Sort == item.Id && m.Id == item.QueryCount);
@@ -1624,7 +1655,7 @@ namespace MySystem.Areas.Admin.Controllers
             }
             else if (!string.IsNullOrEmpty(SnNos))
             {
-                machineApplie = machineApplie.Where(m => m.SwapSnExpand.Contains(SnNos)).ToList();
+                machineApplie = db.MachineApply.Where(m => m.Status > -1 && m.SwapSnExpand.Contains(SnNos)).ToList();
                 foreach (var item in machineApplie)
                 {
                     var orders = db.Orders.FirstOrDefault(m => m.Sort == item.Id && m.Id == item.QueryCount);
@@ -1642,6 +1673,7 @@ namespace MySystem.Areas.Admin.Controllers
             }
             else
             {
+                machineApplie = db.MachineApply.Where(m => m.Status > -1).ToList();
                 foreach (var item in machineApplie)
                 {
                     var orders = db.Orders.FirstOrDefault(m => m.Sort == item.Id && m.Id == item.QueryCount);
@@ -1971,11 +2003,19 @@ namespace MySystem.Areas.Admin.Controllers
             if (PosSn.StartsWith("K"))
             {
                 UserForMakerCode userfor = db.UserForMakerCode.FirstOrDefault(m => m.MakerCode == PosSn) ?? new UserForMakerCode();
-                pos = db.SetMerchantTypeRecord.FirstOrDefault(m => m.ToUserId == userfor.UserId) ?? new SetMerchantTypeRecord();
+                bool check = db.SetMerchantTypeRecord.Any(m => m.ToUserId == userfor.UserId);
+                if(check)
+                {
+                    pos = db.SetMerchantTypeRecord.Where(m => m.ToUserId == userfor.UserId).OrderByDescending(m => m.Id).FirstOrDefault() ?? new SetMerchantTypeRecord();
+                }
             }
             else
             {
-                pos = db.SetMerchantTypeRecord.FirstOrDefault(m => m.PosSn == PosSn) ?? new SetMerchantTypeRecord();
+                bool check = db.SetMerchantTypeRecord.Any(m => m.PosSn == PosSn);
+                if(check)
+                {
+                    pos = db.SetMerchantTypeRecord.Where(m => m.PosSn == PosSn).OrderByDescending(m => m.Id).FirstOrDefault() ?? new SetMerchantTypeRecord();
+                }
             }
             if (pos.Id == 0)
             {

+ 1 - 0
Areas/Admin/Controllers/MainServer/UserAccountController.cs

@@ -271,6 +271,7 @@ namespace MySystem.Areas.Admin.Controllers
 
             Fields.Add("UserId", data.UserId); //创客
             Fields.Add("AccountStatus", 1); //账户状态
+            Fields.Add("UpdateMan", SysUserName + '-' + SysRealName + "操作冻结该账户"); //操作人信息
             Fields.Add("SeoDescription", data.SeoDescription); //冻结备注
             new AdminContentOther(_accessor.HttpContext, PublicFunction.MainTables).Edit("UserAccount", Fields, data.Id);
             AddSysLog(data.Id.ToString(), "UserAccount", "CloseRemark");

+ 4 - 2
Areas/Admin/Controllers/MainServer/UserAccountRecordController.cs

@@ -127,14 +127,15 @@ namespace MySystem.Areas.Admin.Controllers
             }
             Dictionary<string, object> other = new Dictionary<string, object>();
             
-            string ChangeTypeAmount0 = "0.00", ChangeTypeAmount1 = "0.00", ChangeTypeAmount2 = "0.00", ChangeTypeAmount6 = "0.00", ChangeTypeAmount61 = "0.00", ChangeTypeAmount62 = "0.00", ChangeTypeAmount63 = "0.00", ChangeTypeAmount64 = "0.00", ChangeTypeAmount50 = "0.00", ChangeTypeAmount111 = "0.00", ChangeTypeAmount112 = "0.00", ChangeTypeAmount60 = "0.00", ChangeTypeAmount31 = "0.00";
-            DataTable dt = OtherMySqlConn.dtable("select sum(if(ChangeType=0, ChangeAmount, 0)),sum(if(ChangeType=1, ChangeAmount, 0)),sum(if(ChangeType=2, ChangeAmount, 0)),sum(if(ChangeType=6, ChangeAmount, 0)),sum(if(ChangeType=61, ChangeAmount, 0)),sum(if(ChangeType=62, ChangeAmount, 0)),sum(if(ChangeType=63, ChangeAmount, 0)),sum(if(ChangeType=64, ChangeAmount, 0)),sum(if(ChangeType=50, ChangeAmount, 0)),sum(if(ChangeType=111, ChangeAmount, 0)),sum(if(ChangeType=112, ChangeAmount, 0)),sum(if(ChangeType=60, ChangeAmount, 0)),sum(if(ChangeType=31, ChangeAmount, 0)) from UserAccountRecord where 1=1" + condition);
+            string ChangeTypeAmount0 = "0.00", ChangeTypeAmount1 = "0.00", ChangeTypeAmount2 = "0.00", ChangeTypeAmount5 = "0.00", ChangeTypeAmount6 = "0.00", ChangeTypeAmount61 = "0.00", ChangeTypeAmount62 = "0.00", ChangeTypeAmount63 = "0.00", ChangeTypeAmount64 = "0.00", ChangeTypeAmount50 = "0.00", ChangeTypeAmount111 = "0.00", ChangeTypeAmount112 = "0.00", ChangeTypeAmount60 = "0.00", ChangeTypeAmount31 = "0.00";
+            DataTable dt = OtherMySqlConn.dtable("select sum(if(ChangeType=0, ChangeAmount, 0)),sum(if(ChangeType=1, ChangeAmount, 0)),sum(if(ChangeType=2, ChangeAmount, 0)),sum(if(ChangeType=6, ChangeAmount, 0)),sum(if(ChangeType=61, ChangeAmount, 0)),sum(if(ChangeType=62, ChangeAmount, 0)),sum(if(ChangeType=63, ChangeAmount, 0)),sum(if(ChangeType=64, ChangeAmount, 0)),sum(if(ChangeType=50, ChangeAmount, 0)),sum(if(ChangeType=111, ChangeAmount, 0)),sum(if(ChangeType=112, ChangeAmount, 0)),sum(if(ChangeType=60, ChangeAmount, 0)),sum(if(ChangeType=31, ChangeAmount, 0)),sum(if(ChangeType=5, ChangeAmount, 0)) from UserAccountRecord where 1=1" + condition);
             DataTable dts = OtherMySqlConn.dtable("select SUM(FluxProfitAmt) from FluxProfitDetail where ");
             if(dt.Rows.Count > 0)
             {
                 ChangeTypeAmount0 = dt.Rows[0][0].ToString();
                 ChangeTypeAmount1 = dt.Rows[0][1].ToString();
                 ChangeTypeAmount2 = dt.Rows[0][2].ToString();
+                ChangeTypeAmount5 = dt.Rows[0][13].ToString();
                 ChangeTypeAmount6 = dt.Rows[0][3].ToString();
                 ChangeTypeAmount61 = dt.Rows[0][4].ToString();
                 ChangeTypeAmount62 = dt.Rows[0][5].ToString();
@@ -149,6 +150,7 @@ namespace MySystem.Areas.Admin.Controllers
             other.Add("ChangeTypeAmount0", ChangeTypeAmount0); //激活奖励
             other.Add("ChangeTypeAmount1", ChangeTypeAmount1); //交易分润
             other.Add("ChangeTypeAmount2", ChangeTypeAmount2); //提现申请
+            other.Add("ChangeTypeAmount5", ChangeTypeAmount5); //提现税点扣除
             other.Add("ChangeTypeAmount6", ChangeTypeAmount6); //提现失败,解冻
             other.Add("ChangeTypeAmount61", ChangeTypeAmount61); //人工冻结
             other.Add("ChangeTypeAmount62", ChangeTypeAmount62); //人工解冻

+ 64 - 36
Areas/Admin/Controllers/MainServer/UserCashRecordController.cs

@@ -398,7 +398,7 @@ namespace MySystem.Areas.Admin.Controllers
                 condition += " and QueryCount=" + QueryCount;
             }
 
-            Dictionary<string, object> obj = new AdminContentOther(_accessor.HttpContext, PublicFunction.MainTables).IndexData("UserCashRecord", Fields, "Id desc", "0", 1, 20000, condition, "CashOrderNo,UserId,IdCardNo,ActualTradeAmount,Remark,Status,QueryCount", false);
+            Dictionary<string, object> obj = new AdminContentOther(_accessor.HttpContext, PublicFunction.MainTables).IndexData("UserCashRecord", Fields, "Id desc", "0", 1, 20000, condition, "CashOrderNo,UserId,IdCardNo,ActualTradeAmount,Remark,Status,QueryCount,CreateDate", false);
             List<Dictionary<string, object>> diclist = obj["data"] as List<Dictionary<string, object>>;
             foreach (Dictionary<string, object> dic in diclist)
             {
@@ -439,6 +439,7 @@ namespace MySystem.Areas.Admin.Controllers
             ReturnFields.Add("LockName", "代付标记");
             ReturnFields.Add("StatusName", "状态");
             ReturnFields.Add("Remark", "备注");
+            ReturnFields.Add("CreateDate", "创建时间");
 
             // ReturnFields.Add("CashOrderNo", "提现单号");
             // ReturnFields.Add("MakerCode", "创客编码");
@@ -451,7 +452,6 @@ namespace MySystem.Areas.Admin.Controllers
             // ReturnFields.Add("Status", "订单状态");
             // ReturnFields.Add("ReturnCode", "提现服务返回编码");
             // ReturnFields.Add("ReturnMsg", "提现服务返回信息");
-            // ReturnFields.Add("CreateDate", "创建时间");
             result.Add("Fields", ReturnFields);
             AddSysLog("0", "UserCashRecord", "ExportExcel");
             return Json(result);
@@ -523,46 +523,74 @@ namespace MySystem.Areas.Admin.Controllers
             UserCashRecord edit = db.UserCashRecord.FirstOrDefault(m => m.Id == Id);
             if (edit != null)
             {
-                edit.Status = 2;
-                edit.Remark = Remark;
-                edit.UpdateMan = SysUserName;
-                UserAccount account = db.UserAccount.FirstOrDefault(m => m.Id == edit.UserId);
-                if (account != null)
+                if (edit.TradeType == 3)
                 {
-                    decimal TradeAmount = edit.TradeAmount;
-                    decimal BeforeTotalAmount = account.TotalAmount; //变更前总金额
-                    decimal BeforeFreezeAmount = account.FreezeAmount; //变更前冻结金额
-                    decimal BeforeBalanceAmount = account.BalanceAmount; //变更前余额
-                    account.BalanceAmount += TradeAmount;
-                    if (account.FreezeAmount >= TradeAmount)
+                    edit.Status = 2;
+                    edit.Remark = Remark;
+                    edit.UpdateMan = SysUserName;
+                    UserAccount account = db.UserAccount.FirstOrDefault(m => m.Id == edit.UserId);
+                    if (account != null)
                     {
-                        account.FreezeAmount -= TradeAmount;
+                        decimal TradeAmount = edit.TradeAmount;
+                        account.LeaderBalanceAmount += TradeAmount;
+                        db.LeaderAccountRecord.Add(new LeaderAccountRecord()
+                        {
+                            CreateDate = DateTime.Now,
+                            UserId = edit.UserId, //创客
+                            ChangeType = 6, //变动类型
+                            ProductType = 99, //产品类型
+                            ChangeAmount = TradeAmount, //变更金额
+                            BeforeBalanceAmount = account.LeaderBalanceAmount - TradeAmount, //变更前余额
+                            AfterBalanceAmount = account.LeaderBalanceAmount, //变更后余额
+                        });
+                        db.SaveChanges();
+                        RedisDbconn.Instance.Set("UserAccount:" + edit.UserId, account);
                     }
-                    else
+                }
+                else
+                {
+                    edit.Status = 2;
+                    edit.Remark = Remark;
+                    edit.UpdateMan = SysUserName;
+                    UserAccount account = db.UserAccount.FirstOrDefault(m => m.Id == edit.UserId);
+                    if (account != null)
                     {
-                        return "冻结金额不足";
+                        decimal TradeAmount = edit.TradeAmount;
+                        decimal BeforeTotalAmount = account.TotalAmount; //变更前总金额
+                        decimal BeforeFreezeAmount = account.FreezeAmount; //变更前冻结金额
+                        decimal BeforeBalanceAmount = account.BalanceAmount; //变更前余额
+                        account.BalanceAmount += TradeAmount;
+                        if (account.FreezeAmount >= TradeAmount)
+                        {
+                            account.FreezeAmount -= TradeAmount;
+                        }
+                        else
+                        {
+                            return "冻结金额不足";
+                        }
+                        decimal AfterTotalAmount = account.TotalAmount; //变更后总金额
+                        decimal AfterFreezeAmount = account.FreezeAmount; //变更后冻结金额
+                        decimal AfterBalanceAmount = account.BalanceAmount; //变更后余额
+                        db.UserAccountRecord.Add(new UserAccountRecord()
+                        {
+                            CreateDate = DateTime.Now,
+                            UpdateDate = DateTime.Now,
+                            UserId = edit.UserId, //创客
+                            ChangeType = 6, //变动类型
+                            ProductType = 99, //产品类型
+                            ChangeAmount = TradeAmount, //变更金额
+                            BeforeTotalAmount = BeforeTotalAmount, //变更前总金额
+                            AfterTotalAmount = AfterTotalAmount, //变更后总金额
+                            BeforeFreezeAmount = BeforeFreezeAmount, //变更前冻结金额
+                            AfterFreezeAmount = AfterFreezeAmount, //变更后冻结金额
+                            BeforeBalanceAmount = BeforeBalanceAmount, //变更前余额
+                            AfterBalanceAmount = AfterBalanceAmount, //变更后余额
+                        });
+                        db.SaveChanges();
+                        RedisDbconn.Instance.Set("UserAccount:" + edit.UserId, account);
                     }
-                    decimal AfterTotalAmount = account.TotalAmount; //变更后总金额
-                    decimal AfterFreezeAmount = account.FreezeAmount; //变更后冻结金额
-                    decimal AfterBalanceAmount = account.BalanceAmount; //变更后余额
-                    db.UserAccountRecord.Add(new UserAccountRecord()
-                    {
-                        CreateDate = DateTime.Now,
-                        UpdateDate = DateTime.Now,
-                        UserId = edit.UserId, //创客
-                        ChangeType = 6, //变动类型
-                        ProductType = 99, //产品类型
-                        ChangeAmount = TradeAmount, //变更金额
-                        BeforeTotalAmount = BeforeTotalAmount, //变更前总金额
-                        AfterTotalAmount = AfterTotalAmount, //变更后总金额
-                        BeforeFreezeAmount = BeforeFreezeAmount, //变更前冻结金额
-                        AfterFreezeAmount = AfterFreezeAmount, //变更后冻结金额
-                        BeforeBalanceAmount = BeforeBalanceAmount, //变更前余额
-                        AfterBalanceAmount = AfterBalanceAmount, //变更后余额
-                    });
-                    db.SaveChanges();
-                    RedisDbconn.Instance.Set("UserAccount:" + edit.UserId, account);
                 }
+
                 db.SaveChanges();
             }
             return "success";

+ 356 - 23
Areas/Admin/Controllers/MainServer/UsersController.cs

@@ -582,6 +582,101 @@ namespace MySystem.Areas.Admin.Controllers
 
         #endregion
 
+
+        #region 一键企业创客
+
+        /// <summary>
+        /// 一键企业创客
+        /// </summary>
+        /// <returns></returns>
+        public string OpenEnterpriseMaker(string Id)
+        {
+            string[] idlist = Id.Split(new char[] { ',' });
+            AddSysLog(Id, "Users", "OpenEnterpriseMaker");
+            foreach (string subid in idlist)
+            {
+                int id = int.Parse(subid);
+                Dictionary<string, object> Fields = new Dictionary<string, object>();
+                Fields.Add("BusinessFlag", 1);
+                new AdminContentOther(_accessor.HttpContext, PublicFunction.MainTables).Edit("Users", Fields, id);
+            }
+            db.SaveChanges();
+            return "success";
+        }
+
+        #endregion
+
+        #region 关闭企业创客
+
+        /// <summary>
+        /// 关闭企业创客
+        /// </summary>
+        /// <returns></returns>
+        public string CloseEnterpriseMaker(string Id)
+        {
+            string[] idlist = Id.Split(new char[] { ',' });
+            AddSysLog(Id, "Users", "CloseEnterpriseMaker");
+            foreach (string subid in idlist)
+            {
+                int id = int.Parse(subid);
+                Dictionary<string, object> Fields = new Dictionary<string, object>();
+                Fields.Add("BusinessFlag", 0);
+                new AdminContentOther(_accessor.HttpContext, PublicFunction.MainTables).Edit("Users", Fields, id);
+            }
+            db.SaveChanges();
+            return "success";
+        }
+
+        #endregion
+
+
+        #region 一键大盟主
+
+        /// <summary>
+        /// 一键大盟主
+        /// </summary>
+        /// <returns></returns>
+        public string SetBigLeader(string Id)
+        {
+            string[] idlist = Id.Split(new char[] { ',' });
+            AddSysLog(Id, "Users", "SetBigLeader");
+            foreach (string subid in idlist)
+            {
+                int id = int.Parse(subid);
+                Dictionary<string, object> Fields = new Dictionary<string, object>();
+                Fields.Add("LeaderLevel", 2);
+                new AdminContentOther(_accessor.HttpContext, PublicFunction.MainTables).Edit("Users", Fields, id);
+            }
+            db.SaveChanges();
+            return "success";
+        }
+
+        #endregion
+
+        #region 一键小盟主
+
+        /// <summary>
+        /// 一键小盟主
+        /// </summary>
+        /// <returns></returns>
+        public string SetSmallLeader(string Id)
+        {
+            string[] idlist = Id.Split(new char[] { ',' });
+            AddSysLog(Id, "Users", "SetSmallLeader");
+            foreach (string subid in idlist)
+            {
+                int id = int.Parse(subid);
+                Dictionary<string, object> Fields = new Dictionary<string, object>();
+                Fields.Add("LeaderLevel", 1);
+                new AdminContentOther(_accessor.HttpContext, PublicFunction.MainTables).Edit("Users", Fields, id);
+            }
+            db.SaveChanges();
+            return "success";
+        }
+
+        #endregion
+
+
         #region 风控
 
         public IActionResult Risk(string right, int Id = 0)
@@ -949,6 +1044,121 @@ namespace MySystem.Areas.Admin.Controllers
 
         #endregion
 
+
+        #region 直属创客导出Excel
+
+        /// <summary>
+        /// 直属创客导出Excel
+        /// </summary>
+        /// <returns></returns>
+        public JsonResult ExportZSExcel(Users data, string MakerCode, string ParentMakerCode)
+        {
+            Dictionary<string, string> Fields = new Dictionary<string, string>();
+
+            string condition = " and Status>-1";
+            //创客编号
+            if (!string.IsNullOrEmpty(MakerCode))
+            {
+                condition += " and ParentUserId in (select UserId from UserForMakerCode where MakerCode='" + MakerCode + "')";
+            }
+            //直属创客编号
+            if (!string.IsNullOrEmpty(ParentMakerCode))
+            {
+                condition += " and ParentUserId in (select UserId from UserForMakerCode where MakerCode='" + ParentMakerCode + "')";
+            }
+
+            Dictionary<string, object> obj = new AdminContentOther(_accessor.HttpContext, PublicFunction.MainTables).IndexData("Users", Fields, "Id desc", "True", 1, 20000, condition, "Id,MakerCode,RealName,UserLevel", false);
+            List<Dictionary<string, object>> diclist = obj["data"] as List<Dictionary<string, object>>;
+            foreach (Dictionary<string, object> dic in diclist)
+            {
+                int Id = int.Parse(dic["Id"].ToString());
+                Users userZS = db.Users.FirstOrDefault(m => m.Id == Id) ?? new Users();
+                dic["MakerCode"] = userZS.MakerCode;
+                dic["RealName"] = userZS.RealName;
+                dic["UserLevel"] = RelationClass.GetUserLevelSetInfo(int.Parse(dic["UserLevel"].ToString()));
+            }
+            Dictionary<string, object> result = new Dictionary<string, object>();
+            result.Add("Status", "1");
+            result.Add("Info", "Excel报表-" + DateTime.Now.ToString("yyyy-MM-ddTHH:mm:ss") + ".xlsx");
+            result.Add("Obj", diclist);
+            Dictionary<string, object> ReturnFields = new Dictionary<string, object>();
+
+            ReturnFields.Add("Id", "Id");
+            ReturnFields.Add("MakerCode", "创客编号");
+            ReturnFields.Add("RealName", "创客姓名");
+            ReturnFields.Add("UserLevel", "创客等级");
+
+            result.Add("Fields", ReturnFields);
+            AddSysLog("0", "Users", "ExportZSExcel");
+            return Json(result);
+        }
+
+        #endregion
+
+
+        #region 上级创客导出Excel
+
+        /// <summary>
+        /// 上级创客导出Excel
+        /// </summary>
+        /// <returns></returns>
+        public JsonResult ExportSJExcel(Users data, string MakerCode, string ParentMakerCode)
+        {
+            Dictionary<string, string> Fields = new Dictionary<string, string>();
+
+            string condition = " and Status>-1";
+            //创客编号
+            if (!string.IsNullOrEmpty(MakerCode))
+            {
+                var query = db.UserForMakerCode.FirstOrDefault(m => m.MakerCode == MakerCode);
+                Users self = db.Users.FirstOrDefault(m => m.Id == query.UserId);
+                if (self != null)
+                {
+                    string ParentNav = function.CheckNull(self.ParentNav);
+                    condition += " and Id in (" + ParentNav.Trim(',').Replace(",,", ",") + ")";
+                }
+            }
+            //直属创客编号
+            if (!string.IsNullOrEmpty(ParentMakerCode))
+            {
+                var query = db.UserForMakerCode.FirstOrDefault(m => m.MakerCode == ParentMakerCode);
+                Users self = db.Users.FirstOrDefault(m => m.Id == query.UserId);
+                if (self != null)
+                {
+                    string ParentNav = function.CheckNull(self.ParentNav);
+                    condition += " and Id in (" + ParentNav.Trim(',').Replace(",,", ",") + ")";
+                }
+            }
+
+            Dictionary<string, object> obj = new AdminContentOther(_accessor.HttpContext, PublicFunction.MainTables).IndexData("Users", Fields, "Id desc", "True", 1, 20000, condition, "Id,MakerCode,RealName,UserLevel", false);
+            List<Dictionary<string, object>> diclist = obj["data"] as List<Dictionary<string, object>>;
+            foreach (Dictionary<string, object> dic in diclist)
+            {
+                int Id = int.Parse(dic["Id"].ToString());
+                Users userSJ = db.Users.FirstOrDefault(m => m.Id == Id) ?? new Users();
+                dic["MakerCode"] = userSJ.MakerCode;
+                dic["RealName"] = userSJ.RealName;
+                dic["UserLevel"] = RelationClass.GetUserLevelSetInfo(int.Parse(dic["UserLevel"].ToString()));
+            }
+            Dictionary<string, object> result = new Dictionary<string, object>();
+            result.Add("Status", "1");
+            result.Add("Info", "Excel报表-" + DateTime.Now.ToString("yyyy-MM-ddTHH:mm:ss") + ".xlsx");
+            result.Add("Obj", diclist);
+            Dictionary<string, object> ReturnFields = new Dictionary<string, object>();
+
+            ReturnFields.Add("Id", "Id");
+            ReturnFields.Add("MakerCode", "创客编号");
+            ReturnFields.Add("RealName", "创客姓名");
+            ReturnFields.Add("UserLevel", "创客等级");
+
+            result.Add("Fields", ReturnFields);
+            AddSysLog("0", "Users", "ExportExcel");
+            return Json(result);
+        }
+
+        #endregion
+
+
         #region 同步数据
 
         /// <summary>
@@ -1226,6 +1436,8 @@ namespace MySystem.Areas.Admin.Controllers
             string end = "";
 
             string condition = " and Status>-1";
+            string con = " and Status>-1";
+            // string cons = " and Status>=-1";
             string sort = "Id desc";
             //创客编号
             if (!string.IsNullOrEmpty(MakerCode))
@@ -1241,6 +1453,11 @@ namespace MySystem.Areas.Admin.Controllers
                 string[] datelist = CreateDateData.Split(new string[] { " - " }, StringSplitOptions.None);
                 start = datelist[0].Replace("-", "");
                 end = datelist[1].Replace("-", "");
+                con += " and TradeDate>='" + start + "' and TradeDate<='" + end + "'";
+            }
+            if (!string.IsNullOrEmpty(BrandSelect.ToString()) && BrandId > 0)
+            {
+                con += " and BrandId='" + BrandId + "'";
             }
 
             Dictionary<string, object> obj = new AdminContentOther(_accessor.HttpContext, PublicFunction.MainTables).IndexData("Users", Fields, sort, "True", page, limit, condition);
@@ -1268,17 +1485,132 @@ namespace MySystem.Areas.Admin.Controllers
                 dic["ACount"] = Info["ACount"].ToString();
 
             }
+
+            //扶持期
+            decimal TotalAmtfc = 0;
+            decimal DAmtfc = 0;
+            decimal JAmtfc = 0;
+            decimal JfAmtfc = 0;
+            int JCountfc = 0;
+            decimal YAmtfc = 0;
+
+            //稳定期
+            decimal TotalAmtwd = 0;
+            decimal DAmtwd = 0;
+            decimal JAmtwd = 0;
+            decimal JfAmtwd = 0;
+            int JCountwd = 0;
+            decimal YAmtwd = 0;
+
+            // int BCount = 0;
+            // int ACount = 0;
+
+            WebCMSEntities db = new WebCMSEntities();
+            Dictionary<string, object> other = new Dictionary<string, object>();
+            DataTable dt = OtherMySqlConn.dtable("select Sum(HelpDirectTradeAmt + HelpDirectDebitTradeAmt) from TradeDaySummary where QueryCount=0 and SeoTitle='self' and UserId= '" + ParentId + "'" + con);
+            if (dt.Rows.Count > 0)
+            {
+                TotalAmtfc = Convert.ToDecimal(function.CheckNum(dt.Rows[0][0].ToString()));
+            }
+            dt = OtherMySqlConn.dtable("select Sum(HelpDirectTradeAmt) from TradeDaySummary where QueryCount=0 and SeoTitle='self' and UserId= '" + ParentId + "'" + con);
+            if (dt.Rows.Count > 0)
+            {
+                DAmtfc = Convert.ToDecimal(function.CheckNum(dt.Rows[0][0].ToString()));
+            }
+            dt = OtherMySqlConn.dtable("select Sum(HelpDirectDebitTradeAmt),Sum(HelpDirectDebitCapTradeAmt) from TradeDaySummary where QueryCount=0 and SeoTitle='self' and UserId= '" + ParentId + "'" + con);
+            if (dt.Rows.Count > 0)
+            {
+                JAmtfc = Convert.ToDecimal(function.CheckNum(dt.Rows[0][0].ToString())) - Convert.ToDecimal(function.CheckNum(dt.Rows[0][1].ToString()));
+            }
+            dt = OtherMySqlConn.dtable("select Sum(HelpDirectDebitCapTradeAmt) from TradeDaySummary where QueryCount=0 and SeoTitle='self' and UserId= '" + ParentId + "'" + con);
+            if (dt.Rows.Count > 0)
+            {
+                JfAmtfc = Convert.ToDecimal(function.CheckNum(dt.Rows[0][0].ToString()));
+            }
+            dt = OtherMySqlConn.dtable("select Sum(HelpDirectDebitCapNum) from TradeDaySummary where QueryCount=0 and SeoTitle='self' and UserId= '" + ParentId + "'" + con);
+            if (dt.Rows.Count > 0)
+            {
+                JCountfc = Convert.ToInt32(function.CheckInt(dt.Rows[0][0].ToString()));
+            }
+            dt = OtherMySqlConn.dtable("select Sum(HelpDirectTradeAmt) from TradeDaySummary where QueryCount=1 and SeoTitle='self' and UserId= '" + ParentId + "'" + con);
+            if (dt.Rows.Count > 0)
+            {
+                YAmtfc = Convert.ToDecimal(function.CheckNum(dt.Rows[0][0].ToString()));
+            }
+
+            dt = OtherMySqlConn.dtable("select Sum(NotHelpDirectTradeAmt + NotHelpDirectDebitTradeAmt) from TradeDaySummary where QueryCount=0 and SeoTitle='self' and UserId= '" + ParentId + "'" + con);
+            if (dt.Rows.Count > 0)
+            {
+                TotalAmtwd = Convert.ToDecimal(function.CheckNum(dt.Rows[0][0].ToString()));
+            }
+            dt = OtherMySqlConn.dtable("select Sum(NotHelpDirectTradeAmt) from TradeDaySummary where QueryCount=0 and SeoTitle='self' and UserId= '" + ParentId + "'" + con);
+            if (dt.Rows.Count > 0)
+            {
+                DAmtwd = Convert.ToDecimal(function.CheckNum(dt.Rows[0][0].ToString()));
+            }
+            dt = OtherMySqlConn.dtable("select Sum(NotHelpDirectDebitTradeAmt),Sum(NotHelpDirectDebitCapTradeAmt) from TradeDaySummary where QueryCount=0 and SeoTitle='self' and UserId= '" + ParentId + "'" + con);
+            if (dt.Rows.Count > 0)
+            {
+                JAmtwd = Convert.ToDecimal(function.CheckNum(dt.Rows[0][0].ToString())) - Convert.ToDecimal(function.CheckNum(dt.Rows[0][1].ToString()));
+            }
+            dt = OtherMySqlConn.dtable("select Sum(NotHelpDirectDebitCapTradeAmt) from TradeDaySummary where QueryCount=0 and SeoTitle='self' and UserId= '" + ParentId + "'" + con);
+            if (dt.Rows.Count > 0)
+            {
+                JfAmtwd = Convert.ToDecimal(function.CheckNum(dt.Rows[0][0].ToString()));
+            }
+            dt = OtherMySqlConn.dtable("select Sum(NotHelpDirectDebitCapNum) from TradeDaySummary where QueryCount=0 and SeoTitle='self' and UserId= '" + ParentId + "'" + con);
+            if (dt.Rows.Count > 0)
+            {
+                JCountwd = Convert.ToInt32(function.CheckInt(dt.Rows[0][0].ToString()));
+            }
+            dt = OtherMySqlConn.dtable("select Sum(NotHelpDirectTradeAmt) from TradeDaySummary where QueryCount=1 and SeoTitle='self' and UserId= '" + ParentId + "'" + con);
+            if (dt.Rows.Count > 0)
+            {
+                YAmtwd = Convert.ToDecimal(function.CheckNum(dt.Rows[0][0].ToString()));
+            }
+            // dt = OtherMySqlConn.dtable("SELECT COUNT(0) count FROM PosMachinesTwo WHERE BindingState=1 AND ActivationState=0 AND UserId= '" + ParentId + "'" + cons);
+            // if (dt.Rows.Count > 0)
+            // {
+            //     BCount = Convert.ToInt32(function.CheckNum(dt.Rows[0][0].ToString()));
+            // }
+            // dt = OtherMySqlConn.dtable("SELECT COUNT(0) count FROM PosMachinesTwo WHERE BindingState=1 AND ActivationState=1 AND UserId= '" + ParentId + "'" + cons);
+            // if (dt.Rows.Count > 0)
+            // {
+            //     ACount = Convert.ToInt32(function.CheckNum(dt.Rows[0][0].ToString()));
+            // }
+
+            other.Add("TotalAmtfc", TotalAmtfc);
+            other.Add("DAmtfc", DAmtfc);
+            other.Add("JAmtfc", JAmtfc);
+            other.Add("JfAmtfc", JfAmtfc);
+            other.Add("JCountfc", JCountfc);
+            other.Add("YAmtfc", YAmtfc);
+
+            other.Add("TotalAmtwd", TotalAmtwd);
+            other.Add("DAmtwd", DAmtwd);
+            other.Add("JAmtwd", JAmtwd);
+            other.Add("JfAmtwd", JfAmtwd);
+            other.Add("JCountwd", JCountwd);
+            other.Add("YAmtwd", YAmtwd);
+
+            // other.Add("BCount", BCount);
+            // other.Add("ACount", ACount);
+            db.Dispose();
+            obj.Add("other", other);
+
             return Json(obj);
         }
 
         public Dictionary<string, object> GetMonthTradeForBrand(int UserId, string sTradeDate, string eTradeDate, int BrandId)
         {
             string condition = " and Status>-1";
+            string cons = " and Status>=-1";
 
             //产品类型
             if (!string.IsNullOrEmpty(BrandId.ToString()) && BrandId > 0)
             {
                 condition += " and BrandId =" + BrandId;
+                cons += " and BrandId =" + BrandId;
             }
             //创客Id
             if (!string.IsNullOrEmpty(UserId.ToString()))
@@ -1289,11 +1621,13 @@ namespace MySystem.Areas.Admin.Controllers
             if (!string.IsNullOrEmpty(sTradeDate))
             {
                 condition += " and TradeDate >=" + Convert.ToInt32(sTradeDate);
+                cons += " and DATE_FORMAT(BindingTime,'%Y%m%d') >=" + Convert.ToInt32(sTradeDate);
             }
             //结束时间
             if (!string.IsNullOrEmpty(eTradeDate))
             {
                 condition += " and TradeDate <=" + Convert.ToInt32(eTradeDate);
+                cons += " and DATE_FORMAT(BindingTime,'%Y%m%d') <=" + Convert.ToInt32(eTradeDate);
             }
 
             //扶持期
@@ -1317,79 +1651,78 @@ namespace MySystem.Areas.Admin.Controllers
 
             WebCMSEntities db = new WebCMSEntities();
             Dictionary<string, object> obj = new Dictionary<string, object>();
-            DataTable dt = OtherMySqlConn.dtable("select Sum(HelpNonDirectTradeAmt + HelpNonDirectDebitTradeAmt) from TradeDaySummary where QueryCount=0 and SeoTitle='team'"+ condition);
+            DataTable dt = OtherMySqlConn.dtable("select Sum(HelpNonDirectTradeAmt + HelpNonDirectDebitTradeAmt) from TradeDaySummary where QueryCount=0 and SeoTitle='team'" + condition);
             if (dt.Rows.Count > 0)
             {
                 TotalAmtfc = Convert.ToDecimal(function.CheckNum(dt.Rows[0][0].ToString()));
             }
-            dt = OtherMySqlConn.dtable("select Sum(HelpNonDirectTradeAmt) from TradeDaySummary where QueryCount=0 and SeoTitle='team'"+ condition);
+            dt = OtherMySqlConn.dtable("select Sum(HelpNonDirectTradeAmt) from TradeDaySummary where QueryCount=0 and SeoTitle='team'" + condition);
             if (dt.Rows.Count > 0)
             {
                 DAmtfc = Convert.ToDecimal(function.CheckNum(dt.Rows[0][0].ToString()));
             }
-            dt = OtherMySqlConn.dtable("select Sum(HelpNonDirectDebitTradeAmt),Sum(HelpDirectDebitCapTradeAmt) from TradeDaySummary where QueryCount=0 and SeoTitle='team'"+ condition);
+            dt = OtherMySqlConn.dtable("select Sum(HelpNonDirectDebitTradeAmt),Sum(HelpDirectDebitCapTradeAmt) from TradeDaySummary where QueryCount=0 and SeoTitle='team'" + condition);
             if (dt.Rows.Count > 0)
             {
                 JAmtfc = Convert.ToDecimal(function.CheckNum(dt.Rows[0][0].ToString())) - Convert.ToDecimal(function.CheckNum(dt.Rows[0][1].ToString()));
             }
-            dt = OtherMySqlConn.dtable("select Sum(HelpDirectDebitCapTradeAmt) from TradeDaySummary where QueryCount=0 and SeoTitle='team'"+ condition);
+            dt = OtherMySqlConn.dtable("select Sum(HelpDirectDebitCapTradeAmt) from TradeDaySummary where QueryCount=0 and SeoTitle='team'" + condition);
             if (dt.Rows.Count > 0)
             {
                 JfAmtfc = Convert.ToDecimal(function.CheckNum(dt.Rows[0][0].ToString()));
             }
-            dt = OtherMySqlConn.dtable("select Sum(HelpDirectDebitCapNum) from TradeDaySummary where QueryCount=0 and SeoTitle='team'"+ condition);
+            dt = OtherMySqlConn.dtable("select Sum(HelpDirectDebitCapNum) from TradeDaySummary where QueryCount=0 and SeoTitle='team'" + condition);
             if (dt.Rows.Count > 0)
             {
                 JCountfc = Convert.ToInt32(function.CheckInt(dt.Rows[0][0].ToString()));
             }
-            dt = OtherMySqlConn.dtable("select Sum(HelpNonDirectTradeAmt) from TradeDaySummary where QueryCount=1 and SeoTitle='team'"+ condition);
+            dt = OtherMySqlConn.dtable("select Sum(HelpNonDirectTradeAmt) from TradeDaySummary where QueryCount=1 and SeoTitle='team'" + condition);
             if (dt.Rows.Count > 0)
             {
                 YAmtfc = Convert.ToDecimal(function.CheckNum(dt.Rows[0][0].ToString()));
             }
 
-            dt = OtherMySqlConn.dtable("select Sum(NotHelpNonDirectTradeAmt + NotHelpNonDirectDebitTradeAmt) from TradeDaySummary where QueryCount=0 and SeoTitle='team'"+ condition);
+            dt = OtherMySqlConn.dtable("select Sum(NotHelpNonDirectTradeAmt + NotHelpNonDirectDebitTradeAmt) from TradeDaySummary where QueryCount=0 and SeoTitle='team'" + condition);
             if (dt.Rows.Count > 0)
             {
                 TotalAmtwd = Convert.ToDecimal(function.CheckNum(dt.Rows[0][0].ToString()));
             }
-            dt = OtherMySqlConn.dtable("select Sum(NotHelpNonDirectTradeAmt) from TradeDaySummary where QueryCount=0 and SeoTitle='team'"+ condition);
+            dt = OtherMySqlConn.dtable("select Sum(NotHelpNonDirectTradeAmt) from TradeDaySummary where QueryCount=0 and SeoTitle='team'" + condition);
             if (dt.Rows.Count > 0)
             {
                 DAmtwd = Convert.ToDecimal(function.CheckNum(dt.Rows[0][0].ToString()));
             }
-            dt = OtherMySqlConn.dtable("select Sum(NotHelpNonDirectDebitTradeAmt),Sum(NotHelpDirectDebitCapTradeAmt) from TradeDaySummary where QueryCount=0 and SeoTitle='team'"+ condition);
+            dt = OtherMySqlConn.dtable("select Sum(NotHelpNonDirectDebitTradeAmt),Sum(NotHelpDirectDebitCapTradeAmt) from TradeDaySummary where QueryCount=0 and SeoTitle='team'" + condition);
             if (dt.Rows.Count > 0)
             {
                 JAmtwd = Convert.ToDecimal(function.CheckNum(dt.Rows[0][0].ToString())) - Convert.ToDecimal(function.CheckNum(dt.Rows[0][1].ToString()));
             }
-            dt = OtherMySqlConn.dtable("select Sum(NotHelpDirectDebitCapTradeAmt) from TradeDaySummary where QueryCount=0 and SeoTitle='team'"+ condition);
+            dt = OtherMySqlConn.dtable("select Sum(NotHelpDirectDebitCapTradeAmt) from TradeDaySummary where QueryCount=0 and SeoTitle='team'" + condition);
             if (dt.Rows.Count > 0)
             {
                 JfAmtwd = Convert.ToDecimal(function.CheckNum(dt.Rows[0][0].ToString()));
             }
-            dt = OtherMySqlConn.dtable("select Sum(NotHelpDirectDebitCapNum) from TradeDaySummary where QueryCount=0 and SeoTitle='team'"+ condition);
+            dt = OtherMySqlConn.dtable("select Sum(NotHelpDirectDebitCapNum) from TradeDaySummary where QueryCount=0 and SeoTitle='team'" + condition);
             if (dt.Rows.Count > 0)
             {
                 JCountwd = Convert.ToInt32(function.CheckInt(dt.Rows[0][0].ToString()));
             }
-            dt = OtherMySqlConn.dtable("select Sum(NotHelpNonDirectTradeAmt) from TradeDaySummary where QueryCount=1 and SeoTitle='team'"+ condition);
+            dt = OtherMySqlConn.dtable("select Sum(NotHelpNonDirectTradeAmt) from TradeDaySummary where QueryCount=1 and SeoTitle='team'" + condition);
             if (dt.Rows.Count > 0)
             {
                 YAmtwd = Convert.ToDecimal(function.CheckNum(dt.Rows[0][0].ToString()));
             }
+            dt = OtherMySqlConn.dtable("SELECT COUNT(0) count FROM PosMachinesTwo WHERE BindingState=1 AND UserId= '" + UserId + "'" + cons);
+            if (dt.Rows.Count > 0)
+            {
+                BCount = Convert.ToInt32(function.CheckNum(dt.Rows[0][0].ToString()));
+            }
+            dt = OtherMySqlConn.dtable("SELECT COUNT(0) count FROM PosMachinesTwo WHERE ActivationState=1 AND UserId= '" + UserId + "'" + cons);
+            if (dt.Rows.Count > 0)
+            {
+                ACount = Convert.ToInt32(function.CheckNum(dt.Rows[0][0].ToString()));
+            }
 
-            // dt = OtherMySqlConn.dtable("select Sum(NotHelpNonDirectTradeAmt) from TradeDaySummary where QueryCount=1 and SeoTitle='team'"+ condition);
-            // if (dt.Rows.Count > 0)
-            // {
-            //     BCount = Convert.ToDecimal(function.CheckNum(dt.Rows[0][0].ToString()));
-            // }
-
-            // dt = OtherMySqlConn.dtable("select Sum(NotHelpNonDirectTradeAmt) from TradeDaySummary where QueryCount=1 and SeoTitle='team'"+ condition);
-            // if (dt.Rows.Count > 0)
-            // {
-            //     ACount = Convert.ToDecimal(function.CheckNum(dt.Rows[0][0].ToString()));
-            // }
 
             obj.Add("TotalAmtfc", TotalAmtfc);
             obj.Add("DAmtfc", DAmtfc);

+ 203 - 0
Areas/Admin/Views/MainServer/PosCoupons/Add.cshtml

@@ -0,0 +1,203 @@
+@{
+    string RightInfo = ViewBag.RightInfo as string;
+    string right = ViewBag.right as string;
+    
+}
+<!DOCTYPE html>
+<html>
+<head>
+    <meta charset="utf-8">
+    <title>机具券(增加)</title>
+    <meta name="renderer" content="webkit">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <link rel="stylesheet" href="/layuiadmin/layui/css/layui.css" media="all">
+    <script src="/admin/js/jquery-1.10.1.min.js"></script>
+    <script src="/admin/js/LAreaData2.js"></script>
+</head>
+<body>
+
+    <div class="layui-form" lay-filter="layuiadmin-form-useradmin" id="layuiadmin-form-useradmin">
+        
+        <div class="layui-card">
+          <div class="layui-card-body">
+            <div class="layui-tab" lay-filter="mytabbar">
+                <ul class="layui-tab-title">
+                    <li class="layui-this" lay-id="1">基本信息</li>
+                </ul>
+                <div class="layui-tab-content mt20">
+                    <div class="layui-tab-item layui-show">
+
+</div>
+
+                </div>
+            </div>
+            <div class="layui-form-item layui-hide">
+                <input type="button" lay-submit lay-filter="LAY-list-front-submit" id="LAY-list-front-submit" value="确认">
+            </div>
+          </div>
+        </div>
+    </div>
+
+    <script src="/layuiadmin/layui/layui.js"></script>
+    <script src="/other/oss/upload-min@(MySystem.OssHelper.Instance.OssStatus ? "-oss" : "").js"></script>
+    <script src="/other/mybjq/kindeditor-min.js"></script>
+    <script src="/other/mybjq/lang/zh_CN.js"></script>
+    <script>
+        
+                    
+        //编辑器
+        KindEditor.ready(function (K) {
+            
+        });
+
+        var ids = "";
+        function getChildren(obj) {
+            $.each(obj, function (index, value) {
+                var id = obj[index].id;
+                ids += id + ",";
+                var children = obj[index].children;
+                if (children) {
+                    getChildren(children);
+                }
+            });
+        }
+
+        function AreasProvinceInit(tagId, areasVal, form) {
+            for (var i = 0; i < provs_data.length; i++) {
+                var sel = "";
+                if (areasVal.indexOf(provs_data[i].text) > -1) {
+                    sel = " selected=selected";
+                }
+                $("#" + tagId + "Province").append('<option value="' + provs_data[i].value + '"' + sel + '>' + provs_data[i].text + '</option>');
+            }
+            form.render();
+        }
+
+        function AreasProvinceSelected(tagId, areasVal, form, value) {
+            $("#" + tagId + "City").html('<option value="">市</option>');
+            var list = citys_data[value];
+            for (var i = 0; i < list.length; i++) {
+                var sel = "";
+                if (areasVal.indexOf(list[i].text) > -1) {
+                    sel = " selected=selected";
+                }
+                $("#" + tagId + "City").append('<option value="' + list[i].value + '"' + sel + '>' + list[i].text + '</option>');
+            }
+            $("#" + tagId + "Area").html('<option value="">县/区</option>');
+            form.render();
+            $("#" + tagId + "").val($("#" + tagId + "Province option:selected").text() + "," + $("#" + tagId + "City option:selected").text() + "," + $("#" + tagId + "Area option:selected").text());
+        }
+
+        function AreasCitySelected(tagId, areasVal, form, value) {
+            $("#" + tagId + "Area").html('<option value="">县/区</option>');
+            var list = dists_data[value];
+            for (var i = 0; i < list.length; i++) {
+                var sel = "";
+                if (areasVal.indexOf(list[i].text) > -1) {
+                    sel = " selected=selected";
+                }
+                $("#" + tagId + "Area").append('<option value="' + list[i].value + '"' + sel + '>' + list[i].text + '</option>');
+            }
+            form.render();
+            $("#" + tagId + "").val($("#" + tagId + "Province option:selected").text() + "," + $("#" + tagId + "City option:selected").text() + "," + $("#" + tagId + "Area option:selected").text());
+        }
+
+        function AreasAreaSelected(tagId, form) {
+            form.render();
+            $("#" + tagId + "").val($("#" + tagId + "Province option:selected").text() + "," + $("#" + tagId + "City option:selected").text() + "," + $("#" + tagId + "Area option:selected").text());
+        }
+        function movePrev(obj, tagId) {
+            $(obj).parent().prev().insertAfter($(obj).parent());
+            checkPics(tagId);
+        }
+        function moveNext(obj, tagId) {
+            $(obj).parent().next().insertBefore($(obj).parent());
+            checkPics(tagId);
+        }
+        function deletePic(obj, tagId) {
+            $(obj).parent().remove();
+            checkPics(tagId);
+        }
+        function checkPics(tagId) {
+            var pics = "";
+            var texts = "";
+            $("#" + tagId + "Image div img").each(function (i) {
+                pics += $(this).attr("src").replace(osshost, '') + "|";
+            });
+            $("#" + tagId + "Image div input").each(function (i) {
+                texts += $(this).val() + "|";
+            });
+            if (pics == "") {
+                $("#" + tagId).val("");
+            } else {
+                pics = pics.substring(0, pics.length - 1);
+                texts = texts.substring(0, pics.length - 1);
+                $("#" + tagId).val(pics + "#cut#" + texts);
+            }
+        }
+        function checkBox(tagId) {
+            var text = "";
+            $("input[type=checkbox][name=" + tagId + "List]:checked").each(function (i) {
+                text += $(this).val() + ",";
+            });
+            $("#" + tagId).val(text);
+        }
+        function showBigPic(picpath) {
+            parent.layer.open({
+                type: 1,
+                title: false,
+                closeBtn: 0,
+                shadeClose: true,
+                area: ['auto', 'auto'],
+                content: '<img src="' + picpath + '" style="max-width:800px; max-height:800px;" />'
+            });
+        }
+
+        
+        var tree;
+        var element;
+        var upload;
+        layui.config({
+            base: '/layuiadmin/' //静态资源所在路径
+        }).extend({
+            index: 'lib/index' //主入口模块
+        }).use(['index', 'form', 'upload', 'layedit', 'laydate', 'element', 'croppers', 'transfer', 'tree', 'util'], function () {
+            var $ = layui.$
+                , form = layui.form
+                , layer = layui.layer
+                , layedit = layui.layedit
+                , laydate = layui.laydate
+                , croppers = layui.croppers
+                , transfer = layui.transfer
+                , util = layui.util;
+            tree = layui.tree;
+            element = layui.element;
+            upload = layui.upload;
+        
+            //Hash地址的定位
+            var layid = location.hash.replace(/^#test=/, '');
+            element.tabChange('test', layid);
+            element.on('tab(test)', function (elem) {
+                location.hash = 'test=' + $(this).attr('lay-id');
+            });
+    
+            //日期
+            
+
+            //上传文件
+            
+
+            //穿梭框
+            
+
+            //TreeView,比如权限管理
+            
+
+            //省市区
+            
+        })
+
+    </script>
+</body>
+</html>

+ 205 - 0
Areas/Admin/Views/MainServer/PosCoupons/Edit.cshtml

@@ -0,0 +1,205 @@
+@using MySystem.Models;
+@{PosCouponOrders editData = ViewBag.data as PosCouponOrders;}
+@{
+    string RightInfo = ViewBag.RightInfo as string;
+    string right = ViewBag.right as string;
+    
+}
+<!DOCTYPE html>
+<html>
+<head>
+    <meta charset="utf-8">
+    <title>机具券(修改)</title>
+    <meta name="renderer" content="webkit">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <link rel="stylesheet" href="/layuiadmin/layui/css/layui.css" media="all">
+    <script src="/admin/js/jquery-1.10.1.min.js"></script>
+    <script src="/admin/js/LAreaData2.js"></script>
+</head>
+<body>
+
+    <div class="layui-form" lay-filter="layuiadmin-form-useradmin" id="layuiadmin-form-useradmin">
+        <input type="hidden" name="Id" value="@editData.Id" />
+        
+        <div class="layui-card">
+          <div class="layui-card-body">
+            <div class="layui-tab" lay-filter="mytabbar">
+                <ul class="layui-tab-title">
+                    <li class="layui-this" lay-id="1">基本信息</li>
+                </ul>
+                <div class="layui-tab-content mt20">
+                    <div class="layui-tab-item layui-show">
+
+</div>
+
+                </div>
+            </div>
+            <div class="layui-form-item layui-hide">
+                <input type="button" lay-submit lay-filter="LAY-list-front-submit" id="LAY-list-front-submit" value="确认">
+            </div>
+          </div>
+        </div>
+    </div>
+
+    <script src="/layuiadmin/layui/layui.js"></script>
+    <script src="/other/oss/upload-min@(MySystem.OssHelper.Instance.OssStatus ? "-oss" : "").js"></script>
+    <script src="/other/mybjq/kindeditor-min.js"></script>
+    <script src="/other/mybjq/lang/zh_CN.js"></script>
+    <script>
+        
+        
+        //编辑器
+        KindEditor.ready(function (K) {
+            
+        });
+
+        var ids = "";
+        function getChildren(obj) {
+            $.each(obj, function (index, value) {
+                var id = obj[index].id;
+                ids += id + ",";
+                var children = obj[index].children;
+                if (children) {
+                    getChildren(children);
+                }
+            });
+        }
+
+        function AreasProvinceInit(tagId, areasVal, form) {
+            for (var i = 0; i < provs_data.length; i++) {
+                var sel = "";
+                if (areasVal.indexOf(provs_data[i].text) > -1) {
+                    sel = " selected=selected";
+                }
+                $("#" + tagId + "Province").append('<option value="' + provs_data[i].value + '"' + sel + '>' + provs_data[i].text + '</option>');
+            }
+            form.render();
+        }
+
+        function AreasProvinceSelected(tagId, areasVal, form, value) {
+            $("#" + tagId + "City").html('<option value="">市</option>');
+            var list = citys_data[value];
+            for (var i = 0; i < list.length; i++) {
+                var sel = "";
+                if (areasVal.indexOf(list[i].text) > -1) {
+                    sel = " selected=selected";
+                }
+                $("#" + tagId + "City").append('<option value="' + list[i].value + '"' + sel + '>' + list[i].text + '</option>');
+            }
+            $("#" + tagId + "Area").html('<option value="">县/区</option>');
+            form.render();
+            $("#" + tagId + "").val($("#" + tagId + "Province option:selected").text() + "," + $("#" + tagId + "City option:selected").text() + "," + $("#" + tagId + "Area option:selected").text());
+        }
+
+        function AreasCitySelected(tagId, areasVal, form, value) {
+            $("#" + tagId + "Area").html('<option value="">县/区</option>');
+            var list = dists_data[value];
+            for (var i = 0; i < list.length; i++) {
+                var sel = "";
+                if (areasVal.indexOf(list[i].text) > -1) {
+                    sel = " selected=selected";
+                }
+                $("#" + tagId + "Area").append('<option value="' + list[i].value + '"' + sel + '>' + list[i].text + '</option>');
+            }
+            form.render();
+            $("#" + tagId + "").val($("#" + tagId + "Province option:selected").text() + "," + $("#" + tagId + "City option:selected").text() + "," + $("#" + tagId + "Area option:selected").text());
+        }
+
+        function AreasAreaSelected(tagId, form) {
+            form.render();
+            $("#" + tagId + "").val($("#" + tagId + "Province option:selected").text() + "," + $("#" + tagId + "City option:selected").text() + "," + $("#" + tagId + "Area option:selected").text());
+        }
+        function movePrev(obj, tagId) {
+            $(obj).parent().prev().insertAfter($(obj).parent());
+            checkPics(tagId);
+        }
+        function moveNext(obj, tagId) {
+            $(obj).parent().next().insertBefore($(obj).parent());
+            checkPics(tagId);
+        }
+        function deletePic(obj, tagId) {
+            $(obj).parent().remove();
+            checkPics(tagId);
+        }
+        function checkPics(tagId) {
+            var pics = "";
+            var texts = "";
+            $("#" + tagId + "Image div img").each(function (i) {
+                pics += $(this).attr("src").replace(osshost, '') + "|";
+            });
+            $("#" + tagId + "Image div input").each(function (i) {
+                texts += $(this).val() + "|";
+            });
+            if (pics == "") {
+                $("#" + tagId).val("");
+            } else {
+                pics = pics.substring(0, pics.length - 1);
+                texts = texts.substring(0, pics.length - 1);
+                $("#" + tagId).val(pics + "#cut#" + texts);
+            }
+        }
+        function checkBox(tagId) {
+            var text = "";
+            $("input[type=checkbox][name=" + tagId + "List]:checked").each(function (i) {
+                text += $(this).val() + ",";
+            });
+            $("#" + tagId).val(text);
+        }
+        function showBigPic(picpath) {
+            parent.layer.open({
+                type: 1,
+                title: false,
+                closeBtn: 0,
+                shadeClose: true,
+                area: ['auto', 'auto'],
+                content: '<img src="' + picpath + '" style="max-width:800px; max-height:800px;" />'
+            });
+        }
+
+        var tree;
+        var element;
+        var upload;
+        layui.config({
+            base: '/layuiadmin/' //静态资源所在路径
+        }).extend({
+            index: 'lib/index' //主入口模块
+        }).use(['index', 'form', 'upload', 'layedit', 'laydate', 'element', 'croppers', 'transfer', 'tree', 'util'], function () {
+            var $ = layui.$
+                , form = layui.form
+                , layer = layui.layer
+                , layedit = layui.layedit
+                , laydate = layui.laydate
+                , croppers = layui.croppers
+                , transfer = layui.transfer
+                , util = layui.util;
+            tree = layui.tree;
+            element = layui.element;
+            upload = layui.upload;
+        
+            //Hash地址的定位
+            var layid = location.hash.replace(/^#test=/, '');
+            element.tabChange('test', layid);
+            element.on('tab(test)', function (elem) {
+                location.hash = 'test=' + $(this).attr('lay-id');
+            });
+    
+            //日期
+            
+
+            //上传文件
+            
+
+            //穿梭框
+            
+
+            //TreeView,比如权限管理
+            
+
+            //省市区
+            
+        })
+
+    </script>
+</body>
+</html>

+ 165 - 0
Areas/Admin/Views/MainServer/PosCoupons/Index.cshtml

@@ -0,0 +1,165 @@
+@{
+    string RightInfo = ViewBag.RightInfo as string;
+    string right = ViewBag.right as string;
+
+}
+<!DOCTYPE html>
+<html>
+
+<head>
+    <meta charset="utf-8">
+    <title>机具券</title>
+    <meta name="renderer" content="webkit">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <meta name="viewport"
+        content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <link rel="stylesheet" href="/layuiadmin/layui/css/layui.css" media="all">
+    <link rel="stylesheet" href="/layuiadmin/style/admin.css" media="all">
+    <script src="/admin/js/jquery-1.10.1.min.js"></script>
+    <style>
+        .layui-input-inline {
+            width: 175px !important;
+        }
+
+        .layui-form-label {
+            width: 85px !important;
+        }
+
+        .layui-inline {
+            margin-right: 0px !important;
+        }
+
+        .w100 {
+            width: 100px !important;
+        }
+
+        .ml50 {
+            margin-left: 50px !important;
+        }
+    </style>
+</head>
+
+<body>
+    <div class="layui-fluid">
+        <div class="layui-card">
+            <div class="layui-form layui-card-header layuiadmin-card-header-auto">
+                <div class="layui-form-item">
+                    <div class="layui-inline">
+                        <label class="layui-form-label">使用时间</label>
+                        <div class="layui-input-inline">
+                            <input class="layui-input" type="text" readonly name="UseDateData" id="UseDate"
+                                placeholder="" autocomplete="off">
+                        </div>
+                    </div>
+                    <div class="layui-inline">
+                        <label class="layui-form-label">创客编号</label>
+                        <div class="layui-input-inline">
+                            <input class="layui-input" type="text" name="UserIdMakerCode" autocomplete="off">
+                        </div>
+                    </div>
+                    <div class="layui-inline">
+                        <label class="layui-form-label">盟主编号</label>
+                        <div class="layui-input-inline">
+                            <input class="layui-input" type="text" name="LeaderIdMakerCode" autocomplete="off">
+                        </div>
+                    </div>
+                    <div class="layui-inline">
+                        <label class="layui-form-label">兑换码</label>
+                        <div class="layui-input-inline">
+                            <input class="layui-input" type="text" name="ExchangeCode" id="ExchangeCode"
+                                autocomplete="off">
+                        </div>
+                    </div>
+                    <div class="layui-inline">
+                        <label class="layui-form-label">是否使用</label>
+                        <div class="layui-input-inline">
+                            <select id="ChangeKindSelect" name="IsUseSelect" lay-search="">
+                                <option value="">全部...</option>
+                                <option value="0">否</option>
+                                <option value="1">是</option>
+                            </select>
+                        </div>
+                    </div>
+                    <div class="layui-inline">
+                        <label class="layui-form-label">是否锁定</label>
+                        <div class="layui-input-inline">
+                            <select id="ChangeKindSelect" name="IsLockSelect" lay-search="">
+                                <option value="">全部...</option>
+                                <option value="0">否</option>
+                                <option value="1">是</option>
+                            </select>
+                        </div>
+                    </div>
+
+                    <div class="layui-inline ml50">
+                        <button class="layui-btn" lay-submit lay-filter="LAY-list-front-search">
+                            <i class="layui-icon layui-icon-search layuiadmin-button-btn"></i>查询
+                        </button>
+                        <button class="layui-btn" lay-submit lay-filter="LAY-list-front-searchall">
+                            <i class="layui-icon layui-icon-list layuiadmin-button-btn"></i>全部
+                        </button>
+                    </div>
+                </div>
+            </div>
+
+            <div class="layui-card-body">
+                <div style="padding-bottom: 10px;">
+                    @if (RightInfo.Contains("," + right + "_add,"))
+                    {
+                        <button class="layui-btn" data-type="add"><i
+                            class="layui-icon layui-icon-add-1 layuiadmin-button-btn"></i>添加</button>
+                    }
+                    @if (RightInfo.Contains("," + right + "_delete,"))
+                    {
+                        <button class="layui-btn" data-type="batchdel"><i
+                            class="layui-icon layui-icon-delete layuiadmin-button-btn"></i>删除</button>
+                    }
+                </div>
+
+                <table id="LAY-list-manage" lay-filter="LAY-list-manage"></table>
+                <script type="text/html" id="table-list-tools">
+                    @if (RightInfo.Contains("," + right + "_edit,"))
+                    {
+                        <a class="layui-btn layui-btn-normal layui-btn-xs" lay-event="edit"><i class="layui-icon layui-icon-edit"></i>编辑</a>
+                    }
+                    @if (RightInfo.Contains("," + right + "_delete,"))
+                    {
+                        <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del"><i class="layui-icon layui-icon-delete"></i>删除</a>
+                    }
+                </script>
+            </div>
+        </div>
+    </div>
+    <div id="excelForm" style="display:none; padding:20px;">
+        <div class="layui-tab-item layui-show">
+            <div class="layui-form-item">
+                <label class="layui-form-label">模板下载</label>
+                <div class="layui-form-mid layui-word-aux" id="excelTemp">
+                </div>
+            </div>
+            <div class="layui-form-item">
+                <label class="layui-form-label">excel文件</label>
+                <div class="layui-form-mid layui-word-aux">
+                    <div class="layui-upload">
+                        <input type="file" id="ExcelFile" name="ExcelFile" value="">
+                    </div>
+                    <div class="mt10" id="ExcelFileList">
+                    </div>
+                </div>
+            </div>
+        </div>
+        <div class="layui-form-item ml10">
+            <div class="layui-input-block">
+                <button type="button" class="layui-btn" onclick="ConfirmImport()">立即导入</button>
+            </div>
+        </div>
+    </div>
+
+    <script src="/layuiadmin/layui/layui.js"></script>
+    <script src="/layuiadmin/modules_main/PosCoupons_Admin.js?r=@DateTime.Now.ToString("yyyyMMddHHmmss")"></script>
+    <script>
+
+    </script>
+</body>
+
+</html>

+ 79 - 0
Areas/Admin/Views/MainServer/PosMerchantInfoList/Index.cshtml

@@ -0,0 +1,79 @@
+@{
+    string RightInfo = ViewBag.RightInfo as string;
+    string right = ViewBag.right as string;
+}
+<!DOCTYPE html>
+<html>
+<head>
+    <meta charset="utf-8">
+    <title>商户列表</title>
+    <meta name="renderer" content="webkit">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <link rel="stylesheet" href="/layuiadmin/layui/css/layui.css" media="all">
+    <link rel="stylesheet" href="/layuiadmin/style/admin.css" media="all">
+    <script src="/admin/js/jquery-1.10.1.min.js"></script>
+    <style>
+        .layui-input-inline{
+            width: 175px !important;
+        }
+        .layui-form-label{
+            width: 85px !important;
+        }
+        .layui-inline{
+            margin-right: 0px !important;
+        }        
+        .w100{
+            width: 100px !important;
+        }
+        .ml50{
+            margin-left: 50px !important;
+        }
+    </style>
+</head>
+<body>
+    <div class="layui-fluid">
+        <div class="layui-card">
+            <div class="layui-form layui-card-header layuiadmin-card-header-auto">
+                <div class="layui-form-item">
+                    <div class="layui-inline">
+                        <label class="layui-form-label">身份证号</label>
+                        <div class="layui-input-inline">
+                            <input class="layui-input" type="text" name="MerIdcardNo" 
+                                placeholder="请输入身份证号前六位或后四位" autocomplete="off">
+                        </div>
+                    </div>
+                    <div class="layui-inline">
+                        <label class="layui-form-label">商户姓名</label>
+                        <div class="layui-input-inline">
+                            <input class="layui-input" type="text" name="MerchantName" 
+                                placeholder="请输入商户姓名" autocomplete="off">
+                        </div>
+                    </div>
+                    <div class="layui-inline ml50">
+                        <button class="layui-btn" lay-submit lay-filter="LAY-list-front-search">
+                            <i class="layui-icon layui-icon-search layuiadmin-button-btn"></i>查询
+                        </button>
+                        <button class="layui-btn" lay-submit lay-filter="LAY-list-front-searchall">
+                            <i class="layui-icon layui-icon-list layuiadmin-button-btn"></i>全部
+                        </button>
+                        @if (RightInfo.Contains("," + right + "_export,"))
+                        {
+                            <button class="layui-btn" data-type="ExportExcel">
+                                <i class="layui-icon layui-icon-export layuiadmin-button-btn"></i>导出
+                            </button>
+                        }
+                    </div>
+                </div>
+            </div>
+
+            <div class="layui-card-body">
+                <table id="LAY-list-manage" lay-filter="LAY-list-manage"></table>
+            </div>
+        </div>
+    </div>
+
+    <script src="/layuiadmin/layui/layui.js"></script>
+    <script src="/layuiadmin/modules_main/PosMerchantInfoList_Admin.js?r=@DateTime.Now.ToString("yyyyMMddHHmmss")"></script>
+</body>
+</html>

+ 62 - 58
Areas/Admin/Views/MainServer/StoreHouseAmountPromiss/Add.cshtml

@@ -1,72 +1,75 @@
 @{
     string RightInfo = ViewBag.RightInfo as string;
     string right = ViewBag.right as string;
-    
+
 }
 <!DOCTYPE html>
 <html>
+
 <head>
     <meta charset="utf-8">
     <title>分仓额度担保记录(增加)</title>
     <meta name="renderer" content="webkit">
     <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
-    <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <meta name="viewport"
+        content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0">
     <link rel="stylesheet" href="/layuiadmin/layui/css/layui.css" media="all">
     <script src="/admin/js/jquery-1.10.1.min.js"></script>
     <script src="/admin/js/LAreaData2.js"></script>
 </head>
+
 <body>
 
     <div class="layui-form" lay-filter="layuiadmin-form-useradmin" id="layuiadmin-form-useradmin">
-        
+
         <div class="layui-card">
-          <div class="layui-card-body">
-            <div class="layui-tab" lay-filter="mytabbar">
-                <ul class="layui-tab-title">
-                    <li class="layui-this" lay-id="1">基本信息</li>
-                </ul>
-                <div class="layui-tab-content mt20">
-                    <div class="layui-tab-item layui-show">
-@{Dictionary<string, string> UsersDic = new MySystem.DictionaryClass().getUsersDic();}
-<div class="layui-form-item">
-<label class="layui-form-label">担保人</label>
-<div class="layui-input-inline">
-<select id="FromUserId" name="FromUserId" lay-search="">
-<option value="">请选择</option>
-@foreach (string key in UsersDic.Keys)
-{
-<option value="@key">@UsersDic[key]</option>
-}
-</select>
-</div>
-</div>
-<div class="layui-form-item">
-<label class="layui-form-label">担保对象</label>
-<div class="layui-input-inline">
-<select id="ToUserId" name="ToUserId" lay-search="">
-<option value="">请选择</option>
-@foreach (string key in UsersDic.Keys)
-{
-<option value="@key">@UsersDic[key]</option>
-}
-</select>
-</div>
-</div>
-<div class="layui-form-item">
-<label class="layui-form-label">担保金额</label>
-<div class="layui-input-inline">
-<input class="layui-input" type="text" id="PromissAmount" name="PromissAmount" maxlength="20" lay-verify="" autocomplete="off" placeholder="请输入担保金额">
-</div>
-</div>
-
-</div>
+            <div class="layui-card-body">
+                <div class="layui-tab" lay-filter="mytabbar">
+                    <ul class="layui-tab-title">
+                        <li class="layui-this" lay-id="1">基本信息</li>
+                    </ul>
+                    <div class="layui-tab-content mt20">
+                        <div class="layui-tab-item layui-show">
+                            <div class="layui-form-item">
+                                <label class="layui-form-label">*担保人</label>
+                                <div class="layui-input-inline">
+                                    <input class="layui-input" type="text" id="FromUserId" name="FromUserId"
+                                        maxlength="30" lay-verify="required" autocomplete="off"
+                                        placeholder="请输入担保人创客编码">
+                                </div>
+                            </div>
+                            <div class="layui-form-item">
+                                <label class="layui-form-label">*担保对象</label>
+                                <div class="layui-input-inline">
+                                    <input class="layui-input" type="text" id="ToUserId" name="ToUserId" maxlength="30"
+                                        lay-verify="required" autocomplete="off" placeholder="请输入被担保人创客编码">
+                                </div>
+                            </div>
+                            <div class="layui-form-item">
+                                <label class="layui-form-label">*担保金额</label>
+                                <div class="layui-input-inline">
+                                    <input class="layui-input" type="text" id="PromissAmount" name="PromissAmount"
+                                        maxlength="20" lay-verify="" autocomplete="off" placeholder="请输入担保金额">
+                                </div>
+                            </div>
+                            <div class="layui-form-item layui-form-text">
+                                <label class="layui-form-label">备注</label>
+                                <div class="layui-input-block">
+                                    <textarea class="layui-textarea" id="SeoDescription" name="SeoDescription"
+                                        maxlength="128" lay-verify=""
+                                        placeholder="请输入担保备注"></textarea>
+                                </div>
+                            </div>
 
+                        </div>
+
+                    </div>
+                </div>
+                <div class="layui-form-item layui-hide">
+                    <input type="button" lay-submit lay-filter="LAY-list-front-submit" id="LAY-list-front-submit"
+                        value="确认">
                 </div>
             </div>
-            <div class="layui-form-item layui-hide">
-                <input type="button" lay-submit lay-filter="LAY-list-front-submit" id="LAY-list-front-submit" value="确认">
-            </div>
-          </div>
         </div>
     </div>
 
@@ -75,11 +78,11 @@
     <script src="/other/mybjq/kindeditor-min.js"></script>
     <script src="/other/mybjq/lang/zh_CN.js"></script>
     <script>
-        
-                    
+
+
         //编辑器
         KindEditor.ready(function (K) {
-            
+
         });
 
         var ids = "";
@@ -185,7 +188,7 @@
             });
         }
 
-        
+
         var tree;
         var element;
         var upload;
@@ -205,30 +208,31 @@
             tree = layui.tree;
             element = layui.element;
             upload = layui.upload;
-        
+
             //Hash地址的定位
             var layid = location.hash.replace(/^#test=/, '');
             element.tabChange('test', layid);
             element.on('tab(test)', function (elem) {
                 location.hash = 'test=' + $(this).attr('lay-id');
             });
-    
+
             //日期
-            
+
 
             //上传文件
-            
+
 
             //穿梭框
-            
+
 
             //TreeView,比如权限管理
-            
+
 
             //省市区
-            
+
         })
 
     </script>
 </body>
+
 </html>

+ 98 - 60
Areas/Admin/Views/MainServer/StoreHouseAmountPromiss/Edit.cshtml

@@ -1,77 +1,114 @@
 @using MySystem.Models;
-@{StoreHouseAmountPromiss editData = ViewBag.data as StoreHouseAmountPromiss;}
+@{
+    StoreHouseAmountPromiss editData = ViewBag.data as StoreHouseAmountPromiss;
+}
 @{
     string RightInfo = ViewBag.RightInfo as string;
     string right = ViewBag.right as string;
-    
+
 }
 <!DOCTYPE html>
 <html>
+
 <head>
     <meta charset="utf-8">
     <title>分仓额度担保记录(修改)</title>
     <meta name="renderer" content="webkit">
     <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
-    <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <meta name="viewport"
+        content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0">
     <link rel="stylesheet" href="/layuiadmin/layui/css/layui.css" media="all">
     <script src="/admin/js/jquery-1.10.1.min.js"></script>
     <script src="/admin/js/LAreaData2.js"></script>
 </head>
+
 <body>
 
     <div class="layui-form" lay-filter="layuiadmin-form-useradmin" id="layuiadmin-form-useradmin">
         <input type="hidden" name="Id" value="@editData.Id" />
-        
+
         <div class="layui-card">
-          <div class="layui-card-body">
-            <div class="layui-tab" lay-filter="mytabbar">
-                <ul class="layui-tab-title">
-                    <li class="layui-this" lay-id="1">基本信息</li>
-                </ul>
-                <div class="layui-tab-content mt20">
-                    <div class="layui-tab-item layui-show">
-@{Dictionary<string, string> UsersDic = new MySystem.DictionaryClass().getUsersDic();}
-<div class="layui-form-item">
-<label class="layui-form-label">担保人</label>
-<div class="layui-input-inline">
-<select id="FromUserId" name="FromUserId" lay-search="">
-<option value="">请选择</option>
-@foreach (string key in UsersDic.Keys)
-{
-<option value="@key">@UsersDic[key]</option>
-}
-</select>
-<script>$("#FromUserId").val("@editData.FromUserId");</script>
-</div>
-</div>
-<div class="layui-form-item">
-<label class="layui-form-label">担保对象</label>
-<div class="layui-input-inline">
-<select id="ToUserId" name="ToUserId" lay-search="">
-<option value="">请选择</option>
-@foreach (string key in UsersDic.Keys)
-{
-<option value="@key">@UsersDic[key]</option>
-}
-</select>
-<script>$("#ToUserId").val("@editData.ToUserId");</script>
-</div>
-</div>
-<div class="layui-form-item">
-<label class="layui-form-label">担保金额</label>
-<div class="layui-input-inline">
-<input class="layui-input" type="text" id="PromissAmount" name="PromissAmount" value="@editData.PromissAmount" maxlength="20" lay-verify="" autocomplete="off" placeholder="请输入担保金额">
-</div>
-</div>
-
-</div>
+            <div class="layui-card-body">
+                <div class="layui-tab" lay-filter="mytabbar">
+                    <ul class="layui-tab-title">
+                        <li class="layui-this" lay-id="1">基本信息</li>
+                    </ul>
+                    <div class="layui-tab-content mt20">
+                        <div class="layui-tab-item layui-show">
+                            @* <div class="layui-form-item">
+                                <label class="layui-form-label">*担保人</label>
+                                <div class="layui-input-inline">
+                                    <input class="layui-input" type="text" id="FromUserId" name="FromUserId" value="@editData.FromUserId"
+                                        maxlength="30" l lay-verify="required|" autocomplete="off"
+                                        placeholder="请输入担保人创客编码">
+                                </div>
+                            </div>
+                            <div class="layui-form-item">
+                                <label class="layui-form-label">*担保对象</label>
+                                <div class="layui-input-inline">
+                                    <input class="layui-input" type="text" id="ToUserId" name="ToUserId" maxlength="30" value="@editData.ToUserId"
+                                         lay-verify="required|" autocomplete="off" placeholder="请输入被担保人创客编码">
+                                </div>
+                            </div> *@
+                            <div class="layui-form-item">
+                                <label class="layui-form-label">*担保金额</label>
+                                <div class="layui-input-inline">
+                                    <input class="layui-input" type="text" id="PromissAmount" name="PromissAmount" value="@editData.PromissAmount"
+                                        maxlength="20" lay-verify="" autocomplete="off" placeholder="请输入担保金额">
+                                </div>
+                            </div>
+                            <div class="layui-form-item layui-form-text">
+                                <label class="layui-form-label">备注</label>
+                                <div class="layui-input-block">
+                                    <textarea class="layui-textarea" id="SeoDescription" name="SeoDescription"
+                                        maxlength="128" lay-verify=""
+                                        placeholder="请输入担保备注"></textarea>
+                                </div>
+                            </div>
+                            @* <div class="layui-form-item">
+                                <label class="layui-form-label">担保人</label>
+                                <div class="layui-input-inline">
+                                    <select id="FromUserId" name="FromUserId" lay-search="">
+                                        <option value="">请选择</option>
+                                        @foreach (string key in UsersDic.Keys)
+                                        {
+                                            <option value="@key">@UsersDic[key]</option>
+                                        }
+                                    </select>
+                                    <script>$("#FromUserId").val("@editData.FromUserId");</script>
+                                </div>
+                            </div>
+                            <div class="layui-form-item">
+                                <label class="layui-form-label">担保对象</label>
+                                <div class="layui-input-inline">
+                                    <select id="ToUserId" name="ToUserId" lay-search="">
+                                        <option value="">请选择</option>
+                                        @foreach (string key in UsersDic.Keys)
+                                        {
+                                            <option value="@key">@UsersDic[key]</option>
+                                        }
+                                    </select>
+                                    <script>$("#ToUserId").val("@editData.ToUserId");</script>
+                                </div>
+                            </div>
+                            <div class="layui-form-item">
+                                <label class="layui-form-label">担保金额</label>
+                                <div class="layui-input-inline">
+                                    <input class="layui-input" type="text" id="PromissAmount" name="PromissAmount"
+                                        value="@editData.PromissAmount" maxlength="20" lay-verify="" autocomplete="off"
+                                        placeholder="请输入担保金额">
+                                </div>
+                            </div> *@
+
+                        </div>
 
+                    </div>
+                </div>
+                <div class="layui-form-item layui-hide">
+                    <input type="button" lay-submit lay-filter="LAY-list-front-submit" id="LAY-list-front-submit"
+                        value="确认">
                 </div>
             </div>
-            <div class="layui-form-item layui-hide">
-                <input type="button" lay-submit lay-filter="LAY-list-front-submit" id="LAY-list-front-submit" value="确认">
-            </div>
-          </div>
         </div>
     </div>
 
@@ -80,11 +117,11 @@
     <script src="/other/mybjq/kindeditor-min.js"></script>
     <script src="/other/mybjq/lang/zh_CN.js"></script>
     <script>
-        
-        
+
+
         //编辑器
         KindEditor.ready(function (K) {
-            
+
         });
 
         var ids = "";
@@ -209,30 +246,31 @@
             tree = layui.tree;
             element = layui.element;
             upload = layui.upload;
-        
+
             //Hash地址的定位
             var layid = location.hash.replace(/^#test=/, '');
             element.tabChange('test', layid);
             element.on('tab(test)', function (elem) {
                 location.hash = 'test=' + $(this).attr('lay-id');
             });
-    
+
             //日期
-            
+
 
             //上传文件
-            
+
 
             //穿梭框
-            
+
 
             //TreeView,比如权限管理
-            
+
 
             //省市区
-            
+
         })
 
     </script>
 </body>
+
 </html>

+ 62 - 49
Areas/Admin/Views/MainServer/StoreHouseAmountPromiss/Index.cshtml

@@ -1,70 +1,80 @@
 @{
     string RightInfo = ViewBag.RightInfo as string;
     string right = ViewBag.right as string;
-    
+
 }
 <!DOCTYPE html>
 <html>
+
 <head>
     <meta charset="utf-8">
     <title>分仓额度担保记录</title>
     <meta name="renderer" content="webkit">
     <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
-    <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <meta name="viewport"
+        content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0">
     <link rel="stylesheet" href="/layuiadmin/layui/css/layui.css" media="all">
     <link rel="stylesheet" href="/layuiadmin/style/admin.css" media="all">
     <script src="/admin/js/jquery-1.10.1.min.js"></script>
     <style>
-        .layui-input-inline{
+        .layui-input-inline {
             width: 175px !important;
         }
-        .layui-form-label{
+
+        .layui-form-label {
             width: 85px !important;
         }
-        .layui-inline{
+
+        .layui-inline {
             margin-right: 0px !important;
         }
-        .w100{
+
+        .w100 {
             width: 100px !important;
         }
-        .ml50{
+
+        .ml50 {
             margin-left: 50px !important;
         }
     </style>
 </head>
+
 <body>
     <div class="layui-fluid">
         <div class="layui-card">
             <div class="layui-form layui-card-header layuiadmin-card-header-auto">
                 <div class="layui-form-item">
                     <div class="layui-inline">
-<label class="layui-form-label">担保人创客编号</label>
-<div class="layui-input-inline">
-<input class="layui-input" type="text" name="FromUserIdMakerCode" autocomplete="off">
-</div>
-</div>
-<div class="layui-inline">
-<label class="layui-form-label">担保人真实姓名</label>
-<div class="layui-input-inline">
-<input class="layui-input" type="text" name="FromUserIdRealName" autocomplete="off">
-</div>
-</div>
-<div class="layui-inline">
-<label class="layui-form-label">创建时间</label>
-<div class="layui-input-inline">
-<input class="layui-input" type="text" readonly name="CreateDateData" id="CreateDate" placeholder="" autocomplete="off">
-</div></div><div class="layui-inline">
-<label class="layui-form-label">担保对象创客编号</label>
-<div class="layui-input-inline">
-<input class="layui-input" type="text" name="ToUserIdMakerCode" autocomplete="off">
-</div>
-</div>
-<div class="layui-inline">
-<label class="layui-form-label">担保对象真实姓名</label>
-<div class="layui-input-inline">
-<input class="layui-input" type="text" name="ToUserIdRealName" autocomplete="off">
-</div>
-</div>
+                        <label class="layui-form-label">担保人编号</label>
+                        <div class="layui-input-inline">
+                            <input class="layui-input" type="text" name="FromUserIdMakerCode" autocomplete="off">
+                        </div>
+                    </div>
+                    <div class="layui-inline">
+                        <label class="layui-form-label">担保人姓名</label>
+                        <div class="layui-input-inline">
+                            <input class="layui-input" type="text" name="FromUserIdRealName" autocomplete="off">
+                        </div>
+                    </div>
+                    <div class="layui-inline">
+                        <label class="layui-form-label">创建时间</label>
+                        <div class="layui-input-inline">
+                            <input class="layui-input" type="text" readonly name="CreateDateData" id="CreateDate"
+                                placeholder="" autocomplete="off">
+                        </div>
+                    </div>
+                    <div class="layui-inline">
+                        <label class="layui-form-label">担保对象编号</label>
+                        <div class="layui-input-inline">
+                            <input class="layui-input" type="text" name="ToUserIdMakerCode" autocomplete="off">
+                        </div>
+                    </div>
+                    <div class="layui-inline">
+                        <label class="layui-form-label">担保对象姓名</label>
+                        <div class="layui-input-inline">
+                            <input class="layui-input" type="text" name="ToUserIdRealName" autocomplete="off">
+                        </div>
+                    </div>
 
                     <div class="layui-inline ml50">
                         <button class="layui-btn" lay-submit lay-filter="LAY-list-front-search">
@@ -81,32 +91,33 @@
                 <div style="padding-bottom: 10px;">
                     @if (RightInfo.Contains("," + right + "_add,"))
                     {
-                        <button class="layui-btn" data-type="add"><i class="layui-icon layui-icon-add-1 layuiadmin-button-btn"></i>添加</button>
+                        <button class="layui-btn" data-type="add"><i
+                            class="layui-icon layui-icon-add-1 layuiadmin-button-btn"></i>添加</button>
                     }
                     @if (RightInfo.Contains("," + right + "_delete,"))
                     {
-                        <button class="layui-btn" data-type="batchdel"><i class="layui-icon layui-icon-delete layuiadmin-button-btn"></i>删除</button>
+                        <button class="layui-btn" data-type="batchdel"><i
+                            class="layui-icon layui-icon-delete layuiadmin-button-btn"></i>删除</button>
                     }
                     @if (RightInfo.Contains("," + right + "_edit,"))
                     {
-                    <button class="layui-btn" data-type="ExportExcel"><i class="layui-icon layui-icon-export layuiadmin-button-btn"></i>导出</button>
+                        <button class="layui-btn" data-type="ExportExcel"><i
+                            class="layui-icon layui-icon-export layuiadmin-button-btn"></i>导出</button>
 
                     }
                 </div>
-                
+
                 <table id="LAY-list-manage" lay-filter="LAY-list-manage"></table>
                 <script type="text/html" id="table-list-tools">
-                    @if (RightInfo.Contains("," + right + "_edit,"))
-                    {
-                    <a class="layui-btn layui-btn-normal layui-btn-xs" lay-event="edit"><i class="layui-icon layui-icon-edit"></i>编辑</a>
-                    }
+                    @* @if (RightInfo.Contains("," + right + "_edit,"))
+                        {
+                        <a class="layui-btn layui-btn-normal layui-btn-xs" lay-event="edit"><i class="layui-icon layui-icon-edit"></i>编辑</a>
+                        } *@
                     @if (RightInfo.Contains("," + right + "_delete,"))
                     {
-                    <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del"><i class="layui-icon layui-icon-delete"></i>删除</a>
-                    }
-                    @if (RightInfo.Contains("," + right + "_edit,"))
-                    {
-                    
+                        @("{{# if(d.Status == 1 ) { }}")
+                        <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del"><i class="layui-icon layui-icon-delete"></i>清空担保额</a>
+                        @("{{# } }}")
                     }
                 </script>
             </div>
@@ -138,9 +149,11 @@
     </div>
 
     <script src="/layuiadmin/layui/layui.js"></script>
-    <script src="/layuiadmin/modules/StoreHouseAmountPromiss_Admin.js?r=@DateTime.Now.ToString("yyyyMMddHHmmss")"></script>
+    <script
+        src="/layuiadmin/modules_main/StoreHouseAmountPromiss_Admin.js?r=@DateTime.Now.ToString("yyyyMMddHHmmss")"></script>
     <script>
-        
+
     </script>
 </body>
+
 </html>

+ 6 - 2
Areas/Admin/Views/MainServer/SysRechargeRecord/Index.cshtml

@@ -69,8 +69,10 @@
                         <div class="layui-input-inline">
                             <select id="BizType" name="BizType" lay-search="">
                                 <option value="">全部...</option>
-                                <option value="1">红包奖励</option>
-                                <option value="2">活动奖励</option>
+                                <option value="30">红包奖励</option>
+                                <option value="31">活动奖励</option>
+                                <option value="114">私董会分红</option>
+                                <option value="115">分仓奖励</option>
                             </select>
                         </div>
                     </div>
@@ -128,6 +130,8 @@
                 </div>
                 <blockquote class="layui-elem-quote layui-text">
                     红包奖励(元):<span style="color: #f00;" id="BizAmount30">0.00</span> | 活动奖励(元):<span style="color: #f00;" id="BizAmount31">0.00</span>
+                    <br>
+                    私董会分红(元):<span style="color: #f00;" id="BizAmount114">0.00</span> | 分仓奖励(元):<span style="color: #f00;" id="BizAmount115">0.00</span>
                 </blockquote>
                 
                 <table id="LAY-list-manage" lay-filter="LAY-list-manage"></table>

+ 28 - 18
Areas/Admin/Views/MainServer/SysTools/ChangeSignQuan.cshtml

@@ -31,19 +31,26 @@
                         <div class="layui-tab-content mt20">
                             <div class="layui-tab-item layui-show">
                                 <div class="layui-form-item">
-                                    <label class="layui-form-label">机具券</label>
+                                    <label class="layui-form-label">机具券</label>
                                     <div class="layui-input-block">
-                                        <textarea class="layui-textarea" lay-verify="required|" name="OldSn" id="OldSn"
-                                            placeholder="请输入原机具SN,多个SN用回车隔开"></textarea>
+                                        <textarea class="layui-textarea" lay-verify="required|" name="Coupons" id="Coupons"
+                                            placeholder="请输入机具券码,多个券码用回车隔开"></textarea>
                                     </div>
                                 </div>
                                 <div class="layui-form-item">
+                                    <label class="layui-form-label">创客编号</label>
+                                    <div class="layui-input-inline">
+                                        <input class="layui-input" type="text" id="MakerCode" name="MakerCode"
+                                            maxlength="50" autocomplete="off" placeholder="请输入创客编号">
+                                    </div>
+                                </div>
+                                @* <div class="layui-form-item">
                                     <label class="layui-form-label">是否推送消息</label>
                                     <div class="layui-input-block">
-                                        <input type="checkbox" id="IsSend" name="IsSend" value="1" lay-skin="switch"
-                                            lay-filter="switchTest" title="开关">
+                                    <input type="checkbox" id="IsSend" name="IsSend" value="1" lay-skin="switch"
+                                    lay-filter="switchTest" title="开关">
                                     </div>
-                                </div>
+                                    </div> *@
                             </div>
 
                         </div>
@@ -68,19 +75,22 @@
                 shade: [0.5, '#000']
             });
             var userdata = $("#confirmFrm").serialize();
-            $.ajax({
-                type: "POST",
-                url: "/Admin/SysTools/ChangeQuanDo?r=" + Math.random(1),
-                data: userdata,
-                dataType: "text",
-                success: function (data) {
-                    layer.close(index); //关闭弹层
-                    if (data == "success") {
-                        layer.msg("修改成功");
-                    } else {
-                        layer.msg(data);
+            var indexs = layer.confirm('确定要修改吗?', function (index) {
+                $.ajax({
+                    type: "POST",
+                    url: "/Admin/SysTools/ChangeSignQuanDo?r=" + Math.random(1),
+                    data: userdata,
+                    dataType: "text",
+                    success: function (data) {
+                        layer.close(index); //关闭弹层
+                        if (data == "success") {
+                            layer.msg("修改成功");
+                        } else {
+                            layer.msg(data);
+                            layer.close(indexs); //关闭弹层
+                        }
                     }
-                }
+                });
             });
         }
 

+ 12 - 5
Areas/Admin/Views/MainServer/SysTools/ChangeSignSn.cshtml

@@ -33,17 +33,24 @@
                                 <div class="layui-form-item">
                                     <label class="layui-form-label">机具SN</label>
                                     <div class="layui-input-block">
-                                        <textarea class="layui-textarea" lay-verify="required|" name="OldSn" id="OldSn"
-                                            placeholder="请输入机具SN,多个SN用回车隔开"></textarea>
+                                        <textarea class="layui-textarea" lay-verify="required|" name="PosSn" id="PosSn"
+                                            placeholder="请输入机具SN,多个SN用回车隔开"></textarea>
                                     </div>
                                 </div>
                                 <div class="layui-form-item">
+                                    <label class="layui-form-label">创客编号</label>
+                                    <div class="layui-input-inline">
+                                        <input class="layui-input" type="text" id="MakerCode" name="MakerCode"
+                                            maxlength="50" autocomplete="off" placeholder="请输入创客编号">
+                                    </div>
+                                </div>
+                                @* <div class="layui-form-item">
                                     <label class="layui-form-label">是否推送消息</label>
                                     <div class="layui-input-block">
-                                        <input type="checkbox" id="IsSend" name="IsSend" value="1" lay-skin="switch"
-                                            lay-filter="switchTest" title="开关">
+                                    <input type="checkbox" id="IsSend" name="IsSend" value="1" lay-skin="switch"
+                                    lay-filter="switchTest" title="开关">
                                     </div>
-                                </div>
+                                    </div> *@
                             </div>
 
                         </div>

+ 20 - 9
Areas/Admin/Views/MainServer/SysTools/Loop.cshtml

@@ -11,33 +11,40 @@
 }
 <!DOCTYPE html>
 <html>
+
 <head>
     <meta charset="utf-8">
     <title>循环机查询</title>
     <meta name="renderer" content="webkit">
     <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
-    <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <meta name="viewport"
+        content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0">
     <link rel="stylesheet" href="/layuiadmin/layui/css/layui.css" media="all">
     <link rel="stylesheet" href="/layuiadmin/style/admin.css" media="all">
     <script src="/admin/js/jquery-1.10.1.min.js"></script>
     <style>
-        .layui-input-inline{
+        .layui-input-inline {
             width: 175px !important;
         }
-        .layui-form-label{
+
+        .layui-form-label {
             width: 85px !important;
         }
-        .layui-inline{
+
+        .layui-inline {
             margin-right: 0px !important;
         }
-        .w100{
+
+        .w100 {
             width: 100px !important;
         }
-        .ml50{
+
+        .ml50 {
             margin-left: 50px !important;
         }
     </style>
 </head>
+
 <body>
     <div class="layui-fluid">
         <div class="layui-card">
@@ -62,9 +69,12 @@
 
             <div class="layui-card-body">
                 <table id="LAY-list-manage" lay-filter="LAY-list-manage"></table>
-                <script type="text/html" id="MakerCodeTpl">
-                    <a lay-href="/Admin/SysTools/Loop?right=@right&SwapSnExpand=@("{{d.SnNos}}")" lay-text="发货机信息" style="color: #428bca;">{{d.SwapSnExpand}}</a>
-                    <a lay-href="/Admin/SysTools/Loop?right=@right&SnNos=@("{{d.SwapSnExpand}}")" lay-text="申请机信息" style="color: #428bca;">{{d.SnNos}}</a>
+                <script type="text/html" id="imgTpl">
+                    <img style="display: inline-block; width: 50%; height: 100%;" src={{ d.avatar }}>
+                </script>
+                <script type="text/html" id="Loop">
+                    <a lay-href="/Admin/SysTools/Index?right=@right&SwapSnExpand=@("{{d.SnNos}}")" lay-text="发货机信息" style="color: #428bca;">{{d.SwapSnExpand}}</a>
+                    <a lay-href="/Admin/SysTools/Index?right=@right&SnNos=@("{{d.SwapSnExpand}}")" lay-text="申请机信息" style="color: #428bca;">{{d.SnNos}}</a>
                 </script>
             </div>
         </div>
@@ -73,4 +83,5 @@
     <script src="/layuiadmin/layui/layui.js"></script>
     <script src="/layuiadmin/modules_main/SysTools_Admin.js?r=@DateTime.Now.ToString("yyyyMMddHHmmss")"></script>
 </body>
+
 </html>

+ 1 - 1
Areas/Admin/Views/MainServer/UserAccountRecord/Index.cshtml

@@ -143,7 +143,7 @@
                 <blockquote class="layui-elem-quote layui-text">
                     激活奖励(元):<span style="color: #f00;" id="ChangeTypeAmount0">0.00</span> | 交易分润(元):<span style="color: #f00;" id="ChangeTypeAmount1">0.00</span> | 创客开机奖励(元):<span style="color: #f00;" id="ChangeTypeAmount50">0.00</span> | 分润补贴(元):<span style="color: #f00;" id="ChangeTypeAmount111">0.00</span> | 直推奖励(元):<span style="color: #f00;" id="ChangeTypeAmount112">0.00</span> | 流量卡分佣(元):<span style="color: #f00;" id="ChangeTypeAmount60">0.00</span> | 红包奖励(元):<span style="color: #f00;" id="ChangeTypeAmount31">0.00</span>
                     <br />
-                    提现申请(元):<span style="color: #f00;" id="ChangeTypeAmount2">0.00</span> | 提现失败,解冻(元):<span style="color: #f00;" id="ChangeTypeAmount6">0.00</span> | 人工冻结(元):<span style="color: #f00;" id="ChangeTypeAmount61">0.00</span> | 人工解冻(元):<span style="color: #f00;" id="ChangeTypeAmount62">0.00</span> | 人工扣减(元):<span style="color: #f00;" id="ChangeTypeAmount63">0.00</span> | 人工增加(元):<span style="color: #f00;" id="ChangeTypeAmount64">0.00</span>
+                    提现申请(元):<span style="color: #f00;" id="ChangeTypeAmount2">0.00</span> | 提现失败,解冻(元):<span style="color: #f00;" id="ChangeTypeAmount6">0.00</span> | 人工冻结(元):<span style="color: #f00;" id="ChangeTypeAmount61">0.00</span> | 人工解冻(元):<span style="color: #f00;" id="ChangeTypeAmount62">0.00</span> | 人工扣减(元):<span style="color: #f00;" id="ChangeTypeAmount63">0.00</span> | 人工增加(元):<span style="color: #f00;" id="ChangeTypeAmount64">0.00</span> | 提现税点扣除(元):<span style="color: #f00;" id="ChangeTypeAmount5">0.00</span>
                 </blockquote>
                 <table id="LAY-list-manage" lay-filter="LAY-list-manage"></table>
                 <script type="text/html" id="table-list-tools">

+ 1 - 0
Areas/Admin/Views/MainServer/UserCashRecord/Index.cshtml

@@ -81,6 +81,7 @@
                                 <option value="">全部...</option>
                                 <option value="1">消费代付</option>
                                 <option value="2">用户提现</option>
+                                <option value="3">盟主提现</option>
                             </select>
                         </div>
                     </div>

+ 7 - 0
Areas/Admin/Views/MainServer/Users/Children.cshtml

@@ -90,6 +90,13 @@
             </div>
 
             <div class="layui-card-body">
+                <blockquote class="layui-elem-quote layui-text">
+                    个人交易额:
+                    </br>
+                    刷卡交易总额(扶)(元):<span style="color: #f00;" id="TotalAmtfc">0.00</span> | 贷记卡交易额(扶)(元):<span style="color: #f00;" id="DAmtfc">0.00</span> | 借记卡非封顶交易额(扶)(元):<span style="color: #f00;" id="JAmtfc">0.00</span> | 借记卡封顶交易额(扶)(元):<span style="color: #f00;" id="JfAmtfc">0.00</span> | 借记卡交易笔数(扶)(元):<span style="color: #f00;" id="JCountfc">0.00</span> | 云闪付小额交易额(扶)(元):<span style="color: #f00;" id="YAmtfc">0.00</span>
+                    </br>
+                    刷卡交易总额(稳)(元):<span style="color: #f00;" id="TotalAmtwd">0.00</span> | 贷记卡交易额(稳)(元):<span style="color: #f00;" id="DAmtwd">0.00</span> | 借记卡非封顶交易额(稳)(元):<span style="color: #f00;" id="JAmtwd">0.00</span> | 借记卡封顶交易额(稳)(元):<span style="color: #f00;" id="JfAmtwd">0.00</span> | 借记卡交易笔数(稳)(元):<span style="color: #f00;" id="JCountwd">0.00</span> | 云闪付小额交易额(稳)(元):<span style="color: #f00;" id="YAmtwd">0.00</span>
+                </blockquote>
                 <table id="LAY-list-manage" lay-filter="LAY-list-manage"></table>
             </div>
         </div>

+ 26 - 0
Areas/Admin/Views/MainServer/Users/Index.cshtml

@@ -202,6 +202,8 @@
                     @if (RightInfo.Contains("," + right + "_export,"))
                     {
                         <button class="layui-btn" data-type="ExportExcel"><i class="layui-icon layui-icon-export layuiadmin-button-btn"></i>导出</button>
+                        <button class="layui-btn" data-type="ExportZSExcel"><i class="layui-icon layui-icon-export layuiadmin-button-btn"></i>导出直属创客</button>
+                        <button class="layui-btn" data-type="ExportSJExcel"><i class="layui-icon layui-icon-export layuiadmin-button-btn"></i>导出上级创客</button>
                     }
                     @if (RightInfo.Contains("," + right + "_import,"))
                     {
@@ -232,6 +234,30 @@
                     {
                         <a class="layui-btn layui-btn-normal layui-btn-xs" lay-event="EditBalance"><i class="layui-icon layui-icon-edit"></i>账户操作</a>
                     }
+                    @if (RightInfo.Contains("," + right + "_EnterpriseMaker,"))
+                    {
+                        @("{{#if (d.BusinessFlag == 0){ }}")
+                        <a class="layui-btn layui-btn-normal layui-btn-xs" lay-event="EnterpriseMaker"><i class="layui-icon layui-icon-edit"></i>一键企业创客</a>
+                        @("{{#} }}")
+                    }
+                    @if (RightInfo.Contains("," + right + "_LockEnterpriseMaker,"))
+                    {
+                         @("{{#if (d.BusinessFlag == 1){ }}")
+                        <a class="layui-btn layui-btn-normal layui-btn-xs" lay-event="LockEnterpriseMaker"><i class="layui-icon layui-icon-edit"></i>取消企业创客</a>
+                        @("{{#} }}")
+                    }
+                    @if (RightInfo.Contains("," + right + "_SetBigLeader,"))
+                    {
+                        @("{{#if (d.LeaderLevel == 0 || d.LeaderLevel == 1){ }}")
+                        <a class="layui-btn layui-btn-normal layui-btn-xs" lay-event="SetBigLeader"><i class="layui-icon layui-icon-edit"></i>一键大盟主</a>
+                        @("{{#} }}")
+                    }
+                    @if (RightInfo.Contains("," + right + "_SetSmallLeader,"))
+                    {
+                         @("{{#if (d.LeaderLevel == 0 || d.LeaderLevel == 2){ }}")
+                        <a class="layui-btn layui-btn-normal layui-btn-xs" lay-event="SetSmallLeader"><i class="layui-icon layui-icon-edit"></i>一键小盟主</a>
+                        @("{{#} }}")
+                    }
                     <a class="layui-btn layui-btn-warm layui-btn-xs" lay-event="detail"><i class="layui-icon layui-icon-read"></i>详情</a>
                     @if (RightInfo.Contains("," + right + "_Lock,"))
                     {

+ 0 - 4
Controllers/HomeController.cs

@@ -125,9 +125,5 @@ namespace MySystem.Controllers
             db.Dispose();
             return html;
         }
-    
-    
-
-        
     }
 }

+ 5 - 0
appsettings.json

@@ -8,7 +8,12 @@
   },
   "AllowedHosts": "*",
   "Setting": {
+    "AppKey": "",
+    "AppId": "",
+    "CheckUrl": "",
     "ConnectionStrings": "",
+    "WebServiceUrl": "",
+    "DbSchemeUrl": "",
     "Host": "http://test.bs.kexiaoshuang.com/",
     "Database": "KxsMainServer",
     "SqlConnStr": "server=47.109.31.237;port=3306;user=KxsMainServer;password=Rw2imhXQQt5ODWIF;database=KxsMainServer;charset=utf8;",

+ 62 - 62
wwwroot/layuiadmin/modules_main/PosCouponRecord_Admin.js

@@ -1,4 +1,4 @@
-var ExcelData,ExcelKind;
+var ExcelData, ExcelKind;
 function ConfirmImport() {
     $.ajax({
         type: "POST",
@@ -31,49 +31,49 @@ layui.config({
     //- 筛选条件-日期
     var laydate = layui.laydate;
     var layCreateDate = laydate.render({
-elem: '#CreateDate',
-type: 'datetime',
-range: true,
-trigger: 'click',
-change: function (value, date, endDate) {
-var op = true;
-if (date.year == endDate.year && endDate.month - date.month <= 1) {
-if (endDate.month - date.month == 1 && endDate.date > date.date) {
-op = false;
-layCreateDate.hint('日期范围请不要超过1个月');
-setTimeout(function () {
-$(".laydate-btns-confirm").addClass("laydate-disabled");
-}, 1);
-}
-} else {
-op = false;
-layCreateDate.hint('日期范围请不要超过1个月');
-setTimeout(function () {
-$(".laydate-btns-confirm").addClass("laydate-disabled");
-}, 1);
-}
-if (op) {
-$('#CreateDate').val(value);
-}
-}
-});
+        elem: '#CreateDate',
+        type: 'datetime',
+        range: true,
+        trigger: 'click',
+        change: function (value, date, endDate) {
+            var op = true;
+            if (date.year == endDate.year && endDate.month - date.month <= 1) {
+                if (endDate.month - date.month == 1 && endDate.date > date.date) {
+                    op = false;
+                    layCreateDate.hint('日期范围请不要超过1个月');
+                    setTimeout(function () {
+                        $(".laydate-btns-confirm").addClass("laydate-disabled");
+                    }, 1);
+                }
+            } else {
+                op = false;
+                layCreateDate.hint('日期范围请不要超过1个月');
+                setTimeout(function () {
+                    $(".laydate-btns-confirm").addClass("laydate-disabled");
+                }, 1);
+            }
+            if (op) {
+                $('#CreateDate').val(value);
+            }
+        }
+    });
 
 
     //excel导入
-    excel = layui.excel;        
+    excel = layui.excel;
     $('#ExcelFile').change(function (e) {
         var files = e.target.files;
-        excel.importExcel(files, { }, function (data) {
+        excel.importExcel(files, {}, function (data) {
             ExcelData = data[0].sheet1;
         });
     });
 
     //监听单元格编辑
-    table.on('edit(LAY-list-manage)', function(obj){
+    table.on('edit(LAY-list-manage)', function (obj) {
         var value = obj.value //得到修改后的值
-        ,data = obj.data //得到所在行所有键值
-        ,field = obj.field; //得到字段
-        if(field == "Sort"){
+            , data = obj.data //得到所在行所有键值
+            , field = obj.field; //得到字段
+        if (field == "Sort") {
             $.ajax({
                 type: "POST",
                 url: "/Admin/PosCouponRecord/Sort?r=" + Math.random(1),
@@ -84,22 +84,22 @@ $('#CreateDate').val(value);
             });
         }
     });
-    
+
     //列表数据
     table.render({
         elem: '#LAY-list-manage'
         , url: '/Admin/PosCouponRecord/IndexData' //模拟接口
         , cols: [[
             { type: 'checkbox', fixed: 'left' }
-    		, {field:'Id', fixed: 'left', title:'ID', width:80, sort: true, unresize: true}
-            ,{field:'PosCouponId', width: 200, title:'机具券Id', sort: true}
-,{field:'CreateDate', width: 200, title:'创建时间', sort: true}
-,{field:'FromUserIdMakerCode', width: 200, title:'来源创客创客编号', sort: true}
-,{field:'FromUserIdRealName', width: 200, title:'来源创客真实姓名', sort: true}
-,{field:'ToUserIdMakerCode', width: 200, title:'目标创客创客编号', sort: true}
-,{field:'ToUserIdRealName', width: 200, title:'目标创客真实姓名', sort: true}
-,{field:'OrderNo', width: 200, title:'单号', sort: true}
-,{field:'ChangeKind', width: 200, title:'变更类型', sort: true}
+            , { field: 'Id', fixed: 'left', title: 'ID', width: 80, sort: true, unresize: true }
+            , { field: 'PosCouponId', width: 200, title: '机具券兑换码', sort: true }
+            , { field: 'CreateDate', width: 200, title: '创建时间', sort: true }
+            , { field: 'FromUserIdMakerCode', width: 200, title: '来源创客创客编号', sort: true }
+            , { field: 'FromUserIdRealName', width: 200, title: '来源创客真实姓名', sort: true }
+            , { field: 'ToUserIdMakerCode', width: 200, title: '目标创客创客编号', sort: true }
+            , { field: 'ToUserIdRealName', width: 200, title: '目标创客真实姓名', sort: true }
+            , { field: 'OrderNo', width: 200, title: '单号', sort: true }
+            , { field: 'ChangeKind', width: 200, title: '变更类型', sort: true }
 
             // , {field:'Sort', fixed: 'right', title:'排序', width:80, edit: 'text'}
             // , { title: '操作', align: 'center', fixed: 'right', toolbar: '#table-list-tools' }
@@ -127,7 +127,7 @@ $('#CreateDate').val(value);
                     data: "Id=" + data.Id,
                     dataType: "text",
                     success: function (data) {
-                        if (data == "success") {                            
+                        if (data == "success") {
                             obj.del();
                             layer.close(index);
                         } else {
@@ -150,20 +150,20 @@ $('#CreateDate').val(value);
                         , submitID = 'LAY-list-front-submit'
                         , submit = layero.find('iframe').contents().find('#' + submitID);
 
-                    setTimeout(function () { 
+                    setTimeout(function () {
                         layero.find('iframe').contents().find('.layui-tab-item').each(function (i) {
                             var errObj = $(this).find('.layui-form-danger');
                             if (errObj.length > 0) {
                                 iframeWindow.element.tabChange('mytabbar', String(i + 1));
                                 submit.click();
                             }
-                        });                        
+                        });
                     }, 300);
 
-                    
-                    
-                    
-                    
+
+
+
+
 
                     //监听提交
                     iframeWindow.layui.form.on('submit(' + submitID + ')', function (data) {
@@ -174,7 +174,7 @@ $('#CreateDate').val(value);
                         }
                         //提交 Ajax 成功后,静态更新表格中的数据
                         //$.ajax({});
-                        
+
                         $.ajax({
                             type: "POST",
                             url: "/Admin/PosCouponRecord/Edit?r=" + Math.random(1),
@@ -267,20 +267,20 @@ $('#CreateDate').val(value);
                         , submitID = 'LAY-list-front-submit'
                         , submit = layero.find('iframe').contents().find('#' + submitID);
 
-                    setTimeout(function () { 
+                    setTimeout(function () {
                         layero.find('iframe').contents().find('.layui-tab-item').each(function (i) {
                             var errObj = $(this).find('.layui-form-danger');
                             if (errObj.length > 0) {
                                 iframeWindow.element.tabChange('mytabbar', String(i + 1));
                                 submit.click();
                             }
-                        });                        
+                        });
                     }, 300);
 
-                    
-                    
-                    
-                    
+
+
+
+
 
                     //监听提交
                     iframeWindow.layui.form.on('submit(' + submitID + ')', function (data) {
@@ -291,7 +291,7 @@ $('#CreateDate').val(value);
                         }
                         //提交 Ajax 成功后,静态更新表格中的数据
                         //$.ajax({});
-                        
+
                         $.ajax({
                             type: "POST",
                             url: "/Admin/PosCouponRecord/Add?r=" + Math.random(1),
@@ -348,9 +348,9 @@ $('#CreateDate').val(value);
         , Open: function () {
             var checkStatus = table.checkStatus('LAY-list-manage')
                 , data = checkStatus.data; //得到选中的数据
-            if(data.length < 1){
+            if (data.length < 1) {
                 parent.layer.msg("请选择要开启的项");
-            }else{
+            } else {
                 var ids = "";
                 $.each(data, function (index, value) {
                     ids += data[index].Id + ",";
@@ -377,9 +377,9 @@ $('#CreateDate').val(value);
         , Close: function () {
             var checkStatus = table.checkStatus('LAY-list-manage')
                 , data = checkStatus.data; //得到选中的数据
-            if(data.length < 1){
+            if (data.length < 1) {
                 parent.layer.msg("请选择要关闭的项");
-            }else{
+            } else {
                 var ids = "";
                 $.each(data, function (index, value) {
                     ids += data[index].Id + ",";

+ 91 - 92
wwwroot/layuiadmin/modules_main/PosCoupons_Admin.js

@@ -1,4 +1,4 @@
-var ExcelData,ExcelKind;
+var ExcelData, ExcelKind;
 function ConfirmImport() {
     $.ajax({
         type: "POST",
@@ -31,76 +31,76 @@ layui.config({
     //- 筛选条件-日期
     var laydate = layui.laydate;
     var layCreateDate = laydate.render({
-elem: '#CreateDate',
-type: 'datetime',
-range: true,
-trigger: 'click',
-change: function (value, date, endDate) {
-var op = true;
-if (date.year == endDate.year && endDate.month - date.month <= 1) {
-if (endDate.month - date.month == 1 && endDate.date > date.date) {
-op = false;
-layCreateDate.hint('日期范围请不要超过1个月');
-setTimeout(function () {
-$(".laydate-btns-confirm").addClass("laydate-disabled");
-}, 1);
-}
-} else {
-op = false;
-layCreateDate.hint('日期范围请不要超过1个月');
-setTimeout(function () {
-$(".laydate-btns-confirm").addClass("laydate-disabled");
-}, 1);
-}
-if (op) {
-$('#CreateDate').val(value);
-}
-}
-});
-var layUseDate = laydate.render({
-elem: '#UseDate',
-trigger: 'click',
-type: 'datetime',
-range: true,
-change: function (value, date, endDate) {
-var op = true;
-if (date.year == endDate.year && endDate.month - date.month <= 1) {
-if (endDate.month - date.month == 1 && endDate.date > date.date) {
-op = false;
-layUseDate.hint('日期范围请不要超过1个月');
-setTimeout(function () {
-$(".laydate-btns-confirm").addClass("laydate-disabled");
-}, 1);
-}
-} else {
-op = false;
-layUseDate.hint('日期范围请不要超过1个月');
-setTimeout(function () {
-$(".laydate-btns-confirm").addClass("laydate-disabled");
-}, 1);
-}
-if (op) {
-$('#UseDate').val(value);
-}
-}
-});
+        elem: '#CreateDate',
+        type: 'date',
+        range: true,
+        trigger: 'click',
+        change: function (value, date, endDate) {
+            var op = true;
+            if (date.year == endDate.year && endDate.month - date.month <= 1) {
+                if (endDate.month - date.month == 1 && endDate.date > date.date) {
+                    op = false;
+                    layCreateDate.hint('日期范围请不要超过1个月');
+                    setTimeout(function () {
+                        $(".laydate-btns-confirm").addClass("laydate-disabled");
+                    }, 1);
+                }
+            } else {
+                op = false;
+                layCreateDate.hint('日期范围请不要超过1个月');
+                setTimeout(function () {
+                    $(".laydate-btns-confirm").addClass("laydate-disabled");
+                }, 1);
+            }
+            if (op) {
+                $('#CreateDate').val(value);
+            }
+        }
+    });
+    var layUseDate = laydate.render({
+        elem: '#UseDate',
+        trigger: 'click',
+        type: 'datetime',
+        range: true,
+        change: function (value, date, endDate) {
+            var op = true;
+            if (date.year == endDate.year && endDate.month - date.month <= 1) {
+                if (endDate.month - date.month == 1 && endDate.date > date.date) {
+                    op = false;
+                    layUseDate.hint('日期范围请不要超过1个月');
+                    setTimeout(function () {
+                        $(".laydate-btns-confirm").addClass("laydate-disabled");
+                    }, 1);
+                }
+            } else {
+                op = false;
+                layUseDate.hint('日期范围请不要超过1个月');
+                setTimeout(function () {
+                    $(".laydate-btns-confirm").addClass("laydate-disabled");
+                }, 1);
+            }
+            if (op) {
+                $('#UseDate').val(value);
+            }
+        }
+    });
 
 
     //excel导入
-    excel = layui.excel;        
+    excel = layui.excel;
     $('#ExcelFile').change(function (e) {
         var files = e.target.files;
-        excel.importExcel(files, { }, function (data) {
+        excel.importExcel(files, {}, function (data) {
             ExcelData = data[0].sheet1;
         });
     });
 
     //监听单元格编辑
-    table.on('edit(LAY-list-manage)', function(obj){
+    table.on('edit(LAY-list-manage)', function (obj) {
         var value = obj.value //得到修改后的值
-        ,data = obj.data //得到所在行所有键值
-        ,field = obj.field; //得到字段
-        if(field == "Sort"){
+            , data = obj.data //得到所在行所有键值
+            , field = obj.field; //得到字段
+        if (field == "Sort") {
             $.ajax({
                 type: "POST",
                 url: "/Admin/PosCoupons/Sort?r=" + Math.random(1),
@@ -111,27 +111,26 @@ $('#UseDate').val(value);
             });
         }
     });
-    
+
     //列表数据
     table.render({
         elem: '#LAY-list-manage'
         , url: '/Admin/PosCoupons/IndexData' //模拟接口
         , cols: [[
             { type: 'checkbox', fixed: 'left' }
-    		, {field:'Id', fixed: 'left', title:'ID', width:80, sort: true, unresize: true}
-            ,{field:'UserIdMakerCode', width: 200, title:'创客创客编号', sort: true}
-,{field:'UserIdRealName', width: 200, title:'创客真实姓名', sort: true}
-,{field:'CreateDate', width: 200, title:'创建时间', sort: true}
-,{field:'ExchangeCode', width: 200, title:'兑换码', sort: true}
-,{field:'IsUseName', width: 200, title:'是否使用', sort: true}
-,{field:'IsLockName', width: 200, title:'是否锁定', sort: true}
-,{field:'UseDate', width: 200, title:'使用时间', sort: true}
-
-            , {field:'Sort', fixed: 'right', title:'排序', width:80, edit: 'text'}
-            , { title: '操作', align: 'center', fixed: 'right', toolbar: '#table-list-tools' }
+            , { field: 'Id', fixed: 'left', title: 'ID', width: 80, sort: true, unresize: true }
+            , { field: 'UserIdMakerCode', width: 200, title: '创客创客编号', sort: true }
+            , { field: 'UserIdRealName', width: 200, title: '创客真实姓名', sort: true }
+            , { field: 'LeaderUserIdMakerCode', width: 200, title: '盟主编号', sort: true }
+            , { field: 'LeaderUserIdRealName', width: 200, title: '盟主真实姓名', sort: true }
+            , { field: 'ExchangeCode', width: 200, title: '兑换码', sort: true }
+            , { field: 'IsUseName', width: 200, title: '是否使用', sort: true }
+            , { field: 'IsLockName', width: 200, title: '是否锁定', sort: true }
+            , { field: 'UseDate', width: 200, title: '使用时间', sort: true }
+            // , { title: '操作', align: 'center', fixed: 'right', toolbar: '#table-list-tools' }
         ]]
         , where: {
-            
+
         }
         , page: true
         , limit: 30
@@ -153,7 +152,7 @@ $('#UseDate').val(value);
                     data: "Id=" + data.Id,
                     dataType: "text",
                     success: function (data) {
-                        if (data == "success") {                            
+                        if (data == "success") {
                             obj.del();
                             layer.close(index);
                         } else {
@@ -176,20 +175,20 @@ $('#UseDate').val(value);
                         , submitID = 'LAY-list-front-submit'
                         , submit = layero.find('iframe').contents().find('#' + submitID);
 
-                    setTimeout(function () { 
+                    setTimeout(function () {
                         layero.find('iframe').contents().find('.layui-tab-item').each(function (i) {
                             var errObj = $(this).find('.layui-form-danger');
                             if (errObj.length > 0) {
                                 iframeWindow.element.tabChange('mytabbar', String(i + 1));
                                 submit.click();
                             }
-                        });                        
+                        });
                     }, 300);
 
-                    
-                    
-                    
-                    
+
+
+
+
 
                     //监听提交
                     iframeWindow.layui.form.on('submit(' + submitID + ')', function (data) {
@@ -200,7 +199,7 @@ $('#UseDate').val(value);
                         }
                         //提交 Ajax 成功后,静态更新表格中的数据
                         //$.ajax({});
-                        
+
                         $.ajax({
                             type: "POST",
                             url: "/Admin/PosCoupons/Edit?r=" + Math.random(1),
@@ -293,20 +292,20 @@ $('#UseDate').val(value);
                         , submitID = 'LAY-list-front-submit'
                         , submit = layero.find('iframe').contents().find('#' + submitID);
 
-                    setTimeout(function () { 
+                    setTimeout(function () {
                         layero.find('iframe').contents().find('.layui-tab-item').each(function (i) {
                             var errObj = $(this).find('.layui-form-danger');
                             if (errObj.length > 0) {
                                 iframeWindow.element.tabChange('mytabbar', String(i + 1));
                                 submit.click();
                             }
-                        });                        
+                        });
                     }, 300);
 
-                    
-                    
-                    
-                    
+
+
+
+
 
                     //监听提交
                     iframeWindow.layui.form.on('submit(' + submitID + ')', function (data) {
@@ -317,7 +316,7 @@ $('#UseDate').val(value);
                         }
                         //提交 Ajax 成功后,静态更新表格中的数据
                         //$.ajax({});
-                        
+
                         $.ajax({
                             type: "POST",
                             url: "/Admin/PosCoupons/Add?r=" + Math.random(1),
@@ -374,9 +373,9 @@ $('#UseDate').val(value);
         , Open: function () {
             var checkStatus = table.checkStatus('LAY-list-manage')
                 , data = checkStatus.data; //得到选中的数据
-            if(data.length < 1){
+            if (data.length < 1) {
                 parent.layer.msg("请选择要开启的项");
-            }else{
+            } else {
                 var ids = "";
                 $.each(data, function (index, value) {
                     ids += data[index].Id + ",";
@@ -403,9 +402,9 @@ $('#UseDate').val(value);
         , Close: function () {
             var checkStatus = table.checkStatus('LAY-list-manage')
                 , data = checkStatus.data; //得到选中的数据
-            if(data.length < 1){
+            if (data.length < 1) {
                 parent.layer.msg("请选择要关闭的项");
-            }else{
+            } else {
                 var ids = "";
                 $.each(data, function (index, value) {
                     ids += data[index].Id + ",";

+ 1 - 0
wwwroot/layuiadmin/modules_main/PosMachinesTwo_Admin.js

@@ -135,6 +135,7 @@ layui.config({
             ,{ field: 'ActivationState', width: 200, title: '激活状态', sort: true }
             ,{ field: 'ActivationTime', width: 200, title: '激活时间', sort: true }
             ,{ field: 'BindingTime', width: 200, title: '绑定时间', sort: true }
+            ,{ field: 'TransferTime', width: 200, title: '划拨时间', sort: true }
             ,{ field: 'UserInfo', width: 200, title: '大盟主券标记', sort: true }
             ,{ field: 'IsFirst', width: 200, title: '是否第一台机具', sort: true }
             ,{ field: 'SeoKeyword', width: 200, title: '押金金额', sort: true }

+ 496 - 0
wwwroot/layuiadmin/modules_main/PosMerchantInfoList_Admin.js

@@ -0,0 +1,496 @@
+var ExcelData;
+function ConfirmImport() {
+    $.ajax({
+        type: "POST",
+        url: "/Admin/PosMerchantInfo/Import?r=" + Math.random(1),
+        data: "ExcelData=" + encodeURIComponent(JSON.stringify(ExcelData)),
+        dataType: "text",
+        success: function (data) {
+            if (data == "success") {
+                layer.msg("导入成功", { time: 2000 }, function () {
+                    window.location.reload();
+                });
+            } else {
+                layer.msg(data);
+            }
+        }
+    });
+}
+
+var excel;
+layui.config({
+    base: '/layuiadmin/' //静态资源所在路径
+}).extend({
+    myexcel: 'layui/lay/modules/excel',
+    index: 'lib/index' //主入口模块
+}).use(['index', 'table', 'excel', 'laydate'], function () {
+    var $ = layui.$
+        , form = layui.form
+        , table = layui.table;
+
+    //- 筛选条件-日期
+    var laydate = layui.laydate;
+    var layCreateDate = laydate.render({
+        elem: '#CreateDate',
+        type: 'date',
+        range: true,
+        trigger: 'click',
+        change: function (value, date, endDate) {
+            var op = true;
+            if (date.year == endDate.year && endDate.month - date.month <= 1) {
+                if (endDate.month - date.month == 1 && endDate.date > date.date) {
+                    op = false;
+                    layCreateDate.hint('日期范围请不要超过1个月');
+                    setTimeout(function () {
+                        $(".laydate-btns-confirm").addClass("laydate-disabled");
+                    }, 1);
+                }
+            } else {
+                op = false;
+                layCreateDate.hint('日期范围请不要超过1个月');
+                setTimeout(function () {
+                    $(".laydate-btns-confirm").addClass("laydate-disabled");
+                }, 1);
+            }
+            if (op) {
+                $('#CreateDate').val(value);
+            }
+        }
+    });
+    var layKqRegTime = laydate.render({
+        elem: '#KqRegTime',
+        trigger: 'click',
+        type: 'date',
+        range: true,
+        change: function (value, date, endDate) {
+            var op = true;
+            if (date.year == endDate.year && endDate.month - date.month <= 1) {
+                if (endDate.month - date.month == 1 && endDate.date > date.date) {
+                    op = false;
+                    layKqRegTime.hint('日期范围请不要超过1个月');
+                    setTimeout(function () {
+                        $(".laydate-btns-confirm").addClass("laydate-disabled");
+                    }, 1);
+                }
+            } else {
+                op = false;
+                layKqRegTime.hint('日期范围请不要超过1个月');
+                setTimeout(function () {
+                    $(".laydate-btns-confirm").addClass("laydate-disabled");
+                }, 1);
+            }
+            if (op) {
+                $('#KqRegTime').val(value);
+            }
+        }
+    });
+
+
+    //excel导入
+    excel = layui.excel;        
+    $('#ExcelFile').change(function (e) {
+        var files = e.target.files;
+        excel.importExcel(files, { }, function (data) {
+            ExcelData = data[0].sheet1;
+        });
+    });
+
+    //监听单元格编辑
+    table.on('edit(LAY-list-manage)', function(obj){
+        var value = obj.value //得到修改后的值
+        ,data = obj.data //得到所在行所有键值
+        ,field = obj.field; //得到字段
+        if(field == "Sort"){
+            $.ajax({
+                type: "POST",
+                url: "/Admin/PosMerchantInfo/Sort?r=" + Math.random(1),
+                data: "Id=" + data.Id + "&Sort=" + value,
+                dataType: "text",
+                success: function (data) {
+                }
+            });
+        }
+    });
+    
+
+    //列表数据
+    table.render({
+        elem: '#LAY-list-manage'
+        , url: '/Admin/PosMerchantInfoList/IndexData' //模拟接口
+        , cols: [[
+            { type: 'checkbox', fixed: 'left' }
+            ,{field:'MerchantNo', width: 200, title:'商户编号', sort: true}
+            ,{field:'MerIdcardNo', width: 200, title:'身份证号', sort: true}
+            ,{field:'MerchantName', width: 200, title:'商户名称', sort: true}
+            ,{field:'MerchantMobile', width: 200, title:'商户手机号', sort: true}
+            ,{field:'KqMerNo', width: 200, title:'快钱商户编码', sort: true}
+            ,{field:'KqSnNo', width: 200, title:'快钱SN号', sort: true}
+            ,{field:'SnType', width: 200, title:'机具类型', sort: true}
+            ,{field:'RebateQual', width: 200, title:'返利资格', sort: true}
+            ,{field:'ActType', width: 200, title:'激活类型', sort: true}
+            ,{field:'MerStatus', width: 200, title:'商户状态', sort: true}
+            ,{field:'ActiveStatus', width: 200, title:'商户激活状态', sort: true}
+            ,{field:'MerMakerCode', width: 200, title:'商户创客编码', sort: true}
+            ,{field:'MerRealName', width: 200, title:'商户创客名称', sort: true}
+            ,{field:'MerUserType', width: 200, title:'商户创客类型', sort: true}
+            ,{field:'MakerCode', width: 200, title:'直属创客编号', sort: true}
+            ,{field:'RealName', width: 200, title:'直属创客姓名', sort: true}
+            ,{field:'StoreNo', width: 200, title:'SN仓库编号', sort: true}
+            ,{field:'StoreName', width: 200, title:'SN仓库名称', sort: true}
+            ,{field:'SnApplyMakerCode', width: 200, title:'申请创客编号', sort: true}
+            ,{field:'SnApplyRealName', width: 200, title:'申请创客姓名', sort: true}
+            , { field: 'KqRegTime', width: 200, title: '注册时间', sort: true }
+            , { title: '操作', width: 120, align: 'left', toolbar: '#table-list-tools', fixed: 'right' }
+        ]]
+        , where: {
+        }
+        , page: true
+        , limit: 30
+        , height: 'full-' + String($('.layui-card-header').height() + 130)
+        , text: '对不起,加载出现异常!'
+        , done: function (res, curr, count) {
+            $(".layui-none").text("无数据");
+        }
+    });
+
+    //监听工具条
+    table.on('tool(LAY-list-manage)', function (obj) {
+        var data = obj.data;
+        if (obj.event === 'del') {
+            var index = layer.confirm('确定要删除吗?删除后不能恢复!', function (index) {
+                $.ajax({
+                    type: "POST",
+                    url: "/Admin/PosMerchantInfo/Delete?r=" + Math.random(1),
+                    data: "Id=" + data.Id,
+                    dataType: "text",
+                    success: function (data) {
+                        if (data == "success") {                            
+                            obj.del();
+                            layer.close(index);
+                        } else {
+                            parent.layer.msg(data);
+                        }
+                    }
+                });
+            });
+        } else if (obj.event === 'edit') {
+            var tr = $(obj.tr);
+            var perContent = layer.open({
+                type: 2
+                , title: '商户-编辑'
+                , content: 'Edit?Id=' + data.Id + ''
+                , maxmin: true
+                , area: ['500px', '450px']
+                , btn: ['确定', '取消']
+                , yes: function (index, layero) {
+                    var iframeWindow = window['layui-layer-iframe' + index]
+                        , submitID = 'LAY-list-front-submit'
+                        , submit = layero.find('iframe').contents().find('#' + submitID);
+
+                    setTimeout(function () { 
+                        layero.find('iframe').contents().find('.layui-tab-item').each(function (i) {
+                            var errObj = $(this).find('.layui-form-danger');
+                            if (errObj.length > 0) {
+                                iframeWindow.element.tabChange('mytabbar', String(i + 1));
+                                submit.click();
+                            }
+                        });                        
+                    }, 300);
+
+                    
+                    
+                    
+                    
+
+                    //监听提交
+                    iframeWindow.layui.form.on('submit(' + submitID + ')', function (data) {
+                        var field = data.field; //获取提交的字段
+                        var userdata = "";
+                        for (var prop in field) {
+                            userdata += prop + "=" + encodeURIComponent(field[prop]) + "&";
+                        }
+                        //提交 Ajax 成功后,静态更新表格中的数据
+                        //$.ajax({});
+                        
+                        $.ajax({
+                            type: "POST",
+                            url: "/Admin/PosMerchantInfo/Edit?r=" + Math.random(1),
+                            data: userdata,
+                            dataType: "text",
+                            success: function (data) {
+                                layer.close(index); //关闭弹层
+                                if (data == "success") {
+                                    table.reload('LAY-list-manage'); //数据刷新
+                                } else {
+                                    layer.msg(data);
+                                }
+                            }
+                        });
+                    });
+
+                    submit.trigger('click');
+                }
+                , success: function (layero, index) {
+
+                }
+            });
+            layer.full(perContent);
+        } else if (obj.event === 'sycntrade') {
+            var tr = $(obj.tr);
+            var perContent = layer.open({
+                type: 2
+                , title: '同步交易额'
+                , content: 'SycnTradeAmount?Id=' + data.Id
+                , maxmin: false
+                , area: ['550px', '700px']
+                , btn: ['确定', '取消']
+                , yes: function (index, layero) {
+                    var iframeWindow = window['layui-layer-iframe' + index]
+                        , submitID = 'LAY-list-front-submit'
+                        , submit = layero.find('iframe').contents().find('#' + submitID);
+
+                    //监听提交
+                    iframeWindow.layui.form.on('submit(' + submitID + ')', function (data) {
+                        var field = data.field; //获取提交的字段
+                        var userdata = "";
+                        for (var prop in field) {
+                            userdata += prop + "=" + encodeURIComponent(field[prop]) + "&";
+                        }
+                        //提交 Ajax 成功后,静态更新表格中的数据
+                        //$.ajax({});
+                        var loadindex = layer.load(1, {
+                            shade: [0.5, '#000']
+                        });
+                        $.ajax({
+                            type: "POST",
+                            url: "/Admin/PosMerchantInfo/SycnTradeAmountDo?r=" + Math.random(1),
+                            data: userdata,
+                            dataType: "text",
+                            success: function (data) {
+                                layer.close(loadindex); //关闭弹层
+                                layer.close(index); //关闭弹层
+                                if (data == "success") {
+                                    layer.alert('重置程序已启动,请稍后核对商户交易额');
+                                } else {
+                                    layer.msg(data);
+                                }
+                            }
+                        });
+                    });
+
+                    submit.trigger('click');
+                }
+                , success: function (layero, index) {
+
+                }
+            });
+        }
+    });
+
+
+    //监听搜索
+    form.on('submit(LAY-list-front-search)', function (data) {
+        var field = data.field;
+
+        //执行重载
+        table.reload('LAY-list-manage', {
+            where: field,
+            page: {
+                curr: 1
+            }
+        });
+    });
+    form.on('submit(LAY-list-front-searchall)', function (data) {
+        table.reload('LAY-list-manage', {
+            where: null,
+            page: {
+                curr: 1
+            }
+        });
+    });
+
+    //事件
+    var active = {
+        batchdel: function () {
+            var checkStatus = table.checkStatus('LAY-list-manage')
+                , data = checkStatus.data; //得到选中的数据
+            if (data.length < 1) {
+                parent.layer.msg("请选择要删除的项");
+            } else {
+                var ids = "";
+                $.each(data, function (index, value) {
+                    ids += data[index].Id + ",";
+                });
+                ids = ids.substring(0, ids.length - 1);
+                var index = layer.confirm('确定要删除吗?删除后不能恢复!', function (index) {
+                    $.ajax({
+                        type: "POST",
+                        url: "/Admin/PosMerchantInfo/Delete?r=" + Math.random(1),
+                        data: "Id=" + ids,
+                        dataType: "text",
+                        success: function (data) {
+                            layer.close(index);
+                            if (data == "success") {
+                                table.reload('LAY-list-manage');
+                            } else {
+                                layer.msg(data);
+                            }
+                        }
+                    });
+                });
+            }
+        }
+        , add: function () {
+            var perContent = layer.open({
+                type: 2
+                , title: '商户-添加'
+                , content: 'Add'
+                , maxmin: true
+                , area: ['500px', '450px']
+                , btn: ['确定', '取消']
+                , yes: function (index, layero) {
+                    var iframeWindow = window['layui-layer-iframe' + index]
+                        , submitID = 'LAY-list-front-submit'
+                        , submit = layero.find('iframe').contents().find('#' + submitID);
+
+                    setTimeout(function () { 
+                        layero.find('iframe').contents().find('.layui-tab-item').each(function (i) {
+                            var errObj = $(this).find('.layui-form-danger');
+                            if (errObj.length > 0) {
+                                iframeWindow.element.tabChange('mytabbar', String(i + 1));
+                                submit.click();
+                            }
+                        });                        
+                    }, 300);
+
+                    
+                    
+                    
+                    
+
+                    //监听提交
+                    iframeWindow.layui.form.on('submit(' + submitID + ')', function (data) {
+                        var field = data.field; //获取提交的字段
+                        var userdata = "";
+                        for (var prop in field) {
+                            userdata += prop + "=" + encodeURIComponent(field[prop]) + "&";
+                        }
+                        //提交 Ajax 成功后,静态更新表格中的数据
+                        //$.ajax({});
+                        
+                        $.ajax({
+                            type: "POST",
+                            url: "/Admin/PosMerchantInfo/Add?r=" + Math.random(1),
+                            data: userdata,
+                            dataType: "text",
+                            success: function (data) {
+                                layer.close(index); //关闭弹层
+                                if (data == "success") {
+                                    table.reload('LAY-list-manage'); //数据刷新
+                                } else {
+                                    layer.msg(data);
+                                }
+                            }
+                        });
+                    });
+
+                    submit.trigger('click');
+                }
+            });
+            layer.full(perContent);
+        }
+        , ImportData: function () {
+            layer.open({
+                type: 1,
+                title: '导入',
+                maxmin: false,
+                area: ['460px', '180px'],
+                content: $('#excelForm'),
+                cancel: function () {
+                }
+            });
+        }
+        , ExportExcel: function () {
+            var userdata = '';
+            $(".layuiadmin-card-header-auto input").each(function (i) {
+                userdata += $(this).attr('name') + '=' + encodeURIComponent($(this).val()) + '&';
+            });
+            $(".layuiadmin-card-header-auto select").each(function (i) {
+                userdata += $(this).attr('name') + '=' + encodeURIComponent($(this).val()) + '&';
+            });
+            $.ajax({
+                type: "GET",
+                url: "/Admin/PosMerchantInfo/ExportExcel?r=" + Math.random(1),
+                data: userdata,
+                dataType: "json",
+                success: function (data) {
+                    data.Obj.unshift(data.Fields);
+                    excel.exportExcel(data.Obj, data.Info, 'xlsx');
+                }
+            });
+        }
+        , Open: function () {
+            var checkStatus = table.checkStatus('LAY-list-manage')
+                , data = checkStatus.data; //得到选中的数据
+            if(data.length < 1){
+                parent.layer.msg("请选择要开启的项");
+            }else{
+                var ids = "";
+                $.each(data, function (index, value) {
+                    ids += data[index].Id + ",";
+                });
+                ids = ids.substring(0, ids.length - 1);
+                var index = layer.confirm('确定要开启吗?', function (index) {
+                    $.ajax({
+                        type: "POST",
+                        url: "/Admin/PosMerchantInfo/Open?r=" + Math.random(1),
+                        data: "Id=" + ids,
+                        dataType: "text",
+                        success: function (data) {
+                            layer.close(index);
+                            if (data == "success") {
+                                table.reload('LAY-list-manage');
+                            } else {
+                                layer.msg(data);
+                            }
+                        }
+                    });
+                });
+            }
+        }
+        , Close: function () {
+            var checkStatus = table.checkStatus('LAY-list-manage')
+                , data = checkStatus.data; //得到选中的数据
+            if(data.length < 1){
+                parent.layer.msg("请选择要关闭的项");
+            }else{
+                var ids = "";
+                $.each(data, function (index, value) {
+                    ids += data[index].Id + ",";
+                });
+                ids = ids.substring(0, ids.length - 1);
+                var index = layer.confirm('确定要关闭吗?', function (index) {
+                    $.ajax({
+                        type: "POST",
+                        url: "/Admin/PosMerchantInfo/Close?r=" + Math.random(1),
+                        data: "Id=" + ids,
+                        dataType: "text",
+                        success: function (data) {
+                            layer.close(index);
+                            if (data == "success") {
+                                table.reload('LAY-list-manage');
+                            } else {
+                                layer.msg(data);
+                            }
+                        }
+                    });
+                });
+            }
+        }
+    };
+
+    $('.layui-btn').on('click', function () {
+        var type = $(this).data('type');
+        active[type] ? active[type].call(this) : '';
+    });
+});

+ 40 - 0
wwwroot/layuiadmin/modules_main/PosMerchantInfo_Admin.js

@@ -154,6 +154,46 @@ layui.config({
         }
     });
 
+    //列表数据
+    table.render({
+        elem: '#LAY-list-manages'
+        , url: '/Admin/PosMerchantInfo/ListData' //模拟接口
+        , cols: [[
+            { type: 'checkbox', fixed: 'left' }
+            ,{field:'MerchantNo', width: 200, title:'商户编号', sort: true}
+            ,{field:'MerIdcardNo', width: 200, title:'身份证号', sort: true}
+            ,{field:'MerchantName', width: 200, title:'商户名称', sort: true}
+            ,{field:'MerchantMobile', width: 200, title:'商户手机号', sort: true}
+            ,{field:'KqMerNo', width: 200, title:'快钱商户编码', sort: true}
+            ,{field:'KqSnNo', width: 200, title:'快钱SN号', sort: true}
+            ,{field:'SnType', width: 200, title:'机具类型', sort: true}
+            ,{field:'RebateQual', width: 200, title:'返利资格', sort: true}
+            ,{field:'ActType', width: 200, title:'激活类型', sort: true}
+            ,{field:'MerStatus', width: 200, title:'商户状态', sort: true}
+            ,{field:'ActiveStatus', width: 200, title:'商户激活状态', sort: true}
+            ,{field:'MerMakerCode', width: 200, title:'商户创客编码', sort: true}
+            ,{field:'MerRealName', width: 200, title:'商户创客名称', sort: true}
+            ,{field:'MerUserType', width: 200, title:'商户创客类型', sort: true}
+            ,{field:'MakerCode', width: 200, title:'直属创客编号', sort: true}
+            ,{field:'RealName', width: 200, title:'直属创客姓名', sort: true}
+            ,{field:'StoreNo', width: 200, title:'SN仓库编号', sort: true}
+            ,{field:'StoreName', width: 200, title:'SN仓库名称', sort: true}
+            ,{field:'SnApplyMakerCode', width: 200, title:'申请创客编号', sort: true}
+            ,{field:'SnApplyRealName', width: 200, title:'申请创客姓名', sort: true}
+            , { field: 'KqRegTime', width: 200, title: '注册时间', sort: true }
+            , { title: '操作', width: 120, align: 'left', toolbar: '#table-list-tools', fixed: 'right' }
+        ]]
+        , where: {
+        }
+        , page: true
+        , limit: 30
+        , height: 'full-' + String($('.layui-card-header').height() + 130)
+        , text: '对不起,加载出现异常!'
+        , done: function (res, curr, count) {
+            $(".layui-none").text("无数据");
+        }
+    });
+
     //监听工具条
     table.on('tool(LAY-list-manage)', function (obj) {
         var data = obj.data;

+ 77 - 76
wwwroot/layuiadmin/modules_main/StoreHouseAmountPromiss_Admin.js

@@ -1,4 +1,4 @@
-var ExcelData,ExcelKind;
+var ExcelData, ExcelKind;
 function ConfirmImport() {
     $.ajax({
         type: "POST",
@@ -31,49 +31,49 @@ layui.config({
     //- 筛选条件-日期
     var laydate = layui.laydate;
     var layCreateDate = laydate.render({
-elem: '#CreateDate',
-type: 'datetime',
-range: true,
-trigger: 'click',
-change: function (value, date, endDate) {
-var op = true;
-if (date.year == endDate.year && endDate.month - date.month <= 1) {
-if (endDate.month - date.month == 1 && endDate.date > date.date) {
-op = false;
-layCreateDate.hint('日期范围请不要超过1个月');
-setTimeout(function () {
-$(".laydate-btns-confirm").addClass("laydate-disabled");
-}, 1);
-}
-} else {
-op = false;
-layCreateDate.hint('日期范围请不要超过1个月');
-setTimeout(function () {
-$(".laydate-btns-confirm").addClass("laydate-disabled");
-}, 1);
-}
-if (op) {
-$('#CreateDate').val(value);
-}
-}
-});
+        elem: '#CreateDate',
+        type: 'datetime',
+        range: true,
+        trigger: 'click',
+        change: function (value, date, endDate) {
+            var op = true;
+            if (date.year == endDate.year && endDate.month - date.month <= 1) {
+                if (endDate.month - date.month == 1 && endDate.date > date.date) {
+                    op = false;
+                    layCreateDate.hint('日期范围请不要超过1个月');
+                    setTimeout(function () {
+                        $(".laydate-btns-confirm").addClass("laydate-disabled");
+                    }, 1);
+                }
+            } else {
+                op = false;
+                layCreateDate.hint('日期范围请不要超过1个月');
+                setTimeout(function () {
+                    $(".laydate-btns-confirm").addClass("laydate-disabled");
+                }, 1);
+            }
+            if (op) {
+                $('#CreateDate').val(value);
+            }
+        }
+    });
 
 
     //excel导入
-    excel = layui.excel;        
+    excel = layui.excel;
     $('#ExcelFile').change(function (e) {
         var files = e.target.files;
-        excel.importExcel(files, { }, function (data) {
+        excel.importExcel(files, {}, function (data) {
             ExcelData = data[0].sheet1;
         });
     });
 
     //监听单元格编辑
-    table.on('edit(LAY-list-manage)', function(obj){
+    table.on('edit(LAY-list-manage)', function (obj) {
         var value = obj.value //得到修改后的值
-        ,data = obj.data //得到所在行所有键值
-        ,field = obj.field; //得到字段
-        if(field == "Sort"){
+            , data = obj.data //得到所在行所有键值
+            , field = obj.field; //得到字段
+        if (field == "Sort") {
             $.ajax({
                 type: "POST",
                 url: "/Admin/StoreHouseAmountPromiss/Sort?r=" + Math.random(1),
@@ -84,26 +84,25 @@ $('#CreateDate').val(value);
             });
         }
     });
-    
+
     //列表数据
     table.render({
         elem: '#LAY-list-manage'
         , url: '/Admin/StoreHouseAmountPromiss/IndexData' //模拟接口
         , cols: [[
             { type: 'checkbox', fixed: 'left' }
-    		, {field:'Id', fixed: 'left', title:'ID', width:80, sort: true, unresize: true}
-            ,{field:'FromUserIdMakerCode', width: 200, title:'担保人创客编号', sort: true}
-,{field:'FromUserIdRealName', width: 200, title:'担保人真实姓名', sort: true}
-,{field:'CreateDate', width: 200, title:'创建时间', sort: true}
-,{field:'ToUserIdMakerCode', width: 200, title:'担保对象创客编号', sort: true}
-,{field:'ToUserIdRealName', width: 200, title:'担保对象真实姓名', sort: true}
-,{field:'PromissAmount', width: 200, title:'担保金额', sort: true}
-
-            , {field:'Sort', fixed: 'right', title:'排序', width:80, edit: 'text'}
+            , { field: 'Id', fixed: 'left', title: 'ID', width: 80, sort: true, unresize: true }
+            , { field: 'FromUserIdMakerCode', width: 200, title: '担保人创客编号', sort: true }
+            , { field: 'FromUserIdRealName', width: 200, title: '担保人真实姓名', sort: true }
+            , { field: 'CreateDate', width: 200, title: '创建时间', sort: true }
+            , { field: 'ToUserIdMakerCode', width: 200, title: '担保对象创客编号', sort: true }
+            , { field: 'ToUserIdRealName', width: 200, title: '担保对象真实姓名', sort: true }
+            , { field: 'PromissAmount', width: 200, title: '担保金额', sort: true }
+            , { field: 'StatusName', width: 80, title: '状态',  sort: true }
             , { title: '操作', align: 'center', fixed: 'right', toolbar: '#table-list-tools' }
         ]]
         , where: {
-            
+
         }
         , page: true
         , limit: 30
@@ -118,14 +117,14 @@ $('#CreateDate').val(value);
     table.on('tool(LAY-list-manage)', function (obj) {
         var data = obj.data;
         if (obj.event === 'del') {
-            var index = layer.confirm('确定要删除吗?删除后不能恢复!', function (index) {
+            var index = layer.confirm('确定要清空担保额?清空后不能恢复!', function (index) {
                 $.ajax({
                     type: "POST",
                     url: "/Admin/StoreHouseAmountPromiss/Delete?r=" + Math.random(1),
                     data: "Id=" + data.Id,
                     dataType: "text",
                     success: function (data) {
-                        if (data == "success") {                            
+                        if (data == "success") {
                             obj.del();
                             layer.close(index);
                         } else {
@@ -148,20 +147,20 @@ $('#CreateDate').val(value);
                         , submitID = 'LAY-list-front-submit'
                         , submit = layero.find('iframe').contents().find('#' + submitID);
 
-                    setTimeout(function () { 
+                    setTimeout(function () {
                         layero.find('iframe').contents().find('.layui-tab-item').each(function (i) {
                             var errObj = $(this).find('.layui-form-danger');
                             if (errObj.length > 0) {
                                 iframeWindow.element.tabChange('mytabbar', String(i + 1));
                                 submit.click();
                             }
-                        });                        
+                        });
                     }, 300);
 
-                    
-                    
-                    
-                    
+
+
+
+
 
                     //监听提交
                     iframeWindow.layui.form.on('submit(' + submitID + ')', function (data) {
@@ -172,7 +171,7 @@ $('#CreateDate').val(value);
                         }
                         //提交 Ajax 成功后,静态更新表格中的数据
                         //$.ajax({});
-                        
+
                         $.ajax({
                             type: "POST",
                             url: "/Admin/StoreHouseAmountPromiss/Edit?r=" + Math.random(1),
@@ -265,20 +264,20 @@ $('#CreateDate').val(value);
                         , submitID = 'LAY-list-front-submit'
                         , submit = layero.find('iframe').contents().find('#' + submitID);
 
-                    setTimeout(function () { 
+                    setTimeout(function () {
                         layero.find('iframe').contents().find('.layui-tab-item').each(function (i) {
                             var errObj = $(this).find('.layui-form-danger');
                             if (errObj.length > 0) {
                                 iframeWindow.element.tabChange('mytabbar', String(i + 1));
                                 submit.click();
                             }
-                        });                        
+                        });
                     }, 300);
 
-                    
-                    
-                    
-                    
+
+
+
+
 
                     //监听提交
                     iframeWindow.layui.form.on('submit(' + submitID + ')', function (data) {
@@ -289,20 +288,22 @@ $('#CreateDate').val(value);
                         }
                         //提交 Ajax 成功后,静态更新表格中的数据
                         //$.ajax({});
-                        
-                        $.ajax({
-                            type: "POST",
-                            url: "/Admin/StoreHouseAmountPromiss/Add?r=" + Math.random(1),
-                            data: userdata,
-                            dataType: "text",
-                            success: function (data) {
-                                layer.close(index); //关闭弹层
-                                if (data == "success") {
-                                    table.reload('LAY-list-manage'); //数据刷新
-                                } else {
-                                    layer.msg(data);
+                        var indexs = layer.confirm('是否确定提交创客:' + field.FromUserId + '为创客:' + field.ToUserId + '担保金额' + field.PromissAmount + '元', function (datas) {
+                            layer.close(indexs); //关闭弹层
+                            $.ajax({
+                                type: "POST",
+                                url: "/Admin/StoreHouseAmountPromiss/Add?r=" + Math.random(1),
+                                data: userdata,
+                                dataType: "text",
+                                success: function (data) {
+                                    layer.close(index); //关闭弹层
+                                    if (data == "success") {
+                                        table.reload('LAY-list-manage'); //数据刷新
+                                    } else {
+                                        layer.msg(data);
+                                    }
                                 }
-                            }
+                            });
                         });
                     });
 
@@ -346,9 +347,9 @@ $('#CreateDate').val(value);
         , Open: function () {
             var checkStatus = table.checkStatus('LAY-list-manage')
                 , data = checkStatus.data; //得到选中的数据
-            if(data.length < 1){
+            if (data.length < 1) {
                 parent.layer.msg("请选择要开启的项");
-            }else{
+            } else {
                 var ids = "";
                 $.each(data, function (index, value) {
                     ids += data[index].Id + ",";
@@ -375,9 +376,9 @@ $('#CreateDate').val(value);
         , Close: function () {
             var checkStatus = table.checkStatus('LAY-list-manage')
                 , data = checkStatus.data; //得到选中的数据
-            if(data.length < 1){
+            if (data.length < 1) {
                 parent.layer.msg("请选择要关闭的项");
-            }else{
+            } else {
                 var ids = "";
                 $.each(data, function (index, value) {
                     ids += data[index].Id + ",";

+ 1 - 1
wwwroot/layuiadmin/modules_main/StoreHouse_Admin.js

@@ -234,7 +234,7 @@ layui.config({
                 sort: true
             }, {
                 title: '操作',
-                width: 200,
+                width: 300,
                 align: 'center',
                 fixed: 'right',
                 toolbar: '#table-list-tools'

+ 1 - 1
wwwroot/layuiadmin/modules_main/StoreMachineApply_Admin.js

@@ -213,7 +213,7 @@ layui.config({
             });
             // layer.full(perContent);
         } else if (obj.event === 'Close') {
-            var index = layer.confirm('是否确定驳回', function (index)
+            var index = layer.confirm('是否确定驳回?驳回后使用额度将返回该创客的可用额度', function (index)
             {
                 $.ajax({
                     type: "POST",

+ 96 - 94
wwwroot/layuiadmin/modules_main/SysRechargeRecord_Admin.js

@@ -31,76 +31,76 @@ layui.config({
     //- 筛选条件-日期
     var laydate = layui.laydate;
     var layCreateDate = laydate.render({
-elem: '#CreateDate',
-type: 'date',
-range: true,
-trigger: 'click',
-change: function (value, date, endDate) {
-var op = true;
-if (date.year == endDate.year && endDate.month - date.month <= 1) {
-if (endDate.month - date.month == 1 && endDate.date > date.date) {
-op = false;
-layCreateDate.hint('日期范围请不要超过1个月');
-setTimeout(function () {
-$(".laydate-btns-confirm").addClass("laydate-disabled");
-}, 1);
-}
-} else {
-op = false;
-layCreateDate.hint('日期范围请不要超过1个月');
-setTimeout(function () {
-$(".laydate-btns-confirm").addClass("laydate-disabled");
-}, 1);
-}
-if (op) {
-$('#CreateDate').val(value);
-}
-}
-});
-var layBizTime = laydate.render({
-elem: '#BizTime',
-trigger: 'click',
-type: 'date',
-range: true,
-change: function (value, date, endDate) {
-var op = true;
-if (date.year == endDate.year && endDate.month - date.month <= 1) {
-if (endDate.month - date.month == 1 && endDate.date > date.date) {
-op = false;
-layBizTime.hint('日期范围请不要超过1个月');
-setTimeout(function () {
-$(".laydate-btns-confirm").addClass("laydate-disabled");
-}, 1);
-}
-} else {
-op = false;
-layBizTime.hint('日期范围请不要超过1个月');
-setTimeout(function () {
-$(".laydate-btns-confirm").addClass("laydate-disabled");
-}, 1);
-}
-if (op) {
-$('#BizTime').val(value);
-}
-}
-});
+        elem: '#CreateDate',
+        type: 'date',
+        range: true,
+        trigger: 'click',
+        change: function (value, date, endDate) {
+            var op = true;
+            if (date.year == endDate.year && endDate.month - date.month <= 1) {
+                if (endDate.month - date.month == 1 && endDate.date > date.date) {
+                    op = false;
+                    layCreateDate.hint('日期范围请不要超过1个月');
+                    setTimeout(function () {
+                        $(".laydate-btns-confirm").addClass("laydate-disabled");
+                    }, 1);
+                }
+            } else {
+                op = false;
+                layCreateDate.hint('日期范围请不要超过1个月');
+                setTimeout(function () {
+                    $(".laydate-btns-confirm").addClass("laydate-disabled");
+                }, 1);
+            }
+            if (op) {
+                $('#CreateDate').val(value);
+            }
+        }
+    });
+    var layBizTime = laydate.render({
+        elem: '#BizTime',
+        trigger: 'click',
+        type: 'date',
+        range: true,
+        change: function (value, date, endDate) {
+            var op = true;
+            if (date.year == endDate.year && endDate.month - date.month <= 1) {
+                if (endDate.month - date.month == 1 && endDate.date > date.date) {
+                    op = false;
+                    layBizTime.hint('日期范围请不要超过1个月');
+                    setTimeout(function () {
+                        $(".laydate-btns-confirm").addClass("laydate-disabled");
+                    }, 1);
+                }
+            } else {
+                op = false;
+                layBizTime.hint('日期范围请不要超过1个月');
+                setTimeout(function () {
+                    $(".laydate-btns-confirm").addClass("laydate-disabled");
+                }, 1);
+            }
+            if (op) {
+                $('#BizTime').val(value);
+            }
+        }
+    });
 
 
     //excel导入
-    excel = layui.excel;        
+    excel = layui.excel;
     $('#ExcelFile').change(function (e) {
         var files = e.target.files;
-        excel.importExcel(files, { }, function (data) {
+        excel.importExcel(files, {}, function (data) {
             ExcelData = data[0].Sheet1;
         });
     });
 
     //监听单元格编辑
-    table.on('edit(LAY-list-manage)', function(obj){
+    table.on('edit(LAY-list-manage)', function (obj) {
         var value = obj.value //得到修改后的值
-        ,data = obj.data //得到所在行所有键值
-        ,field = obj.field; //得到字段
-        if(field == "Sort"){
+            , data = obj.data //得到所在行所有键值
+            , field = obj.field; //得到字段
+        if (field == "Sort") {
             $.ajax({
                 type: "POST",
                 url: "/Admin/SysRechargeRecord/Sort?r=" + Math.random(1),
@@ -111,28 +111,28 @@ $('#BizTime').val(value);
             });
         }
     });
-    
+
     //列表数据
     table.render({
         elem: '#LAY-list-manage'
         , url: '/Admin/SysRechargeRecord/IndexData' //模拟接口
         , cols: [[
             { type: 'checkbox', fixed: 'left' }
-            ,{field:'RechargeRecNo', width: 200, title:'奖励单号', sort: true}
-            ,{field:'BatchCode', width: 200, title:'批次号', sort: true}
-            ,{field:'MakerCode', width: 200, title:'创客编号', sort: true}
-            ,{field:'RealName', width: 200, title:'创客姓名', sort: true}
-            ,{field:'BizType', width: 200, title:'业务类型', sort: true}
-            ,{field:'ProductType', width: 200, title:'产品类型', sort: true}
-            ,{field:'Amount', width: 200, title:'奖励金额(元)', sort: true}
-            ,{field:'Status', width: 200, title:'状态', sort: true}
-            ,{field:'SeoDescription', width: 200, title:'备注', sort: true}
-            ,{field:'BizTime', width: 200, title:'奖励时间', sort: true}
-            ,{field:'SyncStatus', width: 200, title:'同步状态', sort: true}
-            ,{field:'CreateMan', width: 200, title:'操作员', sort: true}
+            , { field: 'RechargeRecNo', width: 200, title: '奖励单号', sort: true }
+            , { field: 'BatchCode', width: 200, title: '批次号', sort: true }
+            , { field: 'MakerCode', width: 200, title: '创客编号', sort: true }
+            , { field: 'RealName', width: 200, title: '创客姓名', sort: true }
+            , { field: 'BizType', width: 200, title: '业务类型', sort: true }
+            , { field: 'ProductType', width: 200, title: '产品类型', sort: true }
+            , { field: 'Amount', width: 200, title: '奖励金额(元)', sort: true }
+            , { field: 'Status', width: 200, title: '状态', sort: true }
+            , { field: 'SeoDescription', width: 200, title: '备注', sort: true }
+            , { field: 'BizTime', width: 200, title: '奖励时间', sort: true }
+            , { field: 'SyncStatus', width: 200, title: '同步状态', sort: true }
+            , { field: 'CreateMan', width: 200, title: '操作员', sort: true }
         ]]
         , where: {
-            
+
         }
         , page: true
         , limit: 30
@@ -141,6 +141,8 @@ $('#BizTime').val(value);
         , done: function (res, curr, count) {
             $("#BizAmount30").text(res.other.BizAmount30);
             $("#BizAmount31").text(res.other.BizAmount31);
+            $("#BizAmount114").text(res.other.BizAmount114);
+            $("#BizAmount115").text(res.other.BizAmount115);
             $(".layui-none").text("无数据");
         }
     });
@@ -156,7 +158,7 @@ $('#BizTime').val(value);
                     data: "Id=" + data.Id,
                     dataType: "text",
                     success: function (data) {
-                        if (data == "success") {                            
+                        if (data == "success") {
                             obj.del();
                             layer.close(index);
                         } else {
@@ -179,20 +181,20 @@ $('#BizTime').val(value);
                         , submitID = 'LAY-list-front-submit'
                         , submit = layero.find('iframe').contents().find('#' + submitID);
 
-                    setTimeout(function () { 
+                    setTimeout(function () {
                         layero.find('iframe').contents().find('.layui-tab-item').each(function (i) {
                             var errObj = $(this).find('.layui-form-danger');
                             if (errObj.length > 0) {
                                 iframeWindow.element.tabChange('mytabbar', String(i + 1));
                                 submit.click();
                             }
-                        });                        
+                        });
                     }, 300);
 
-                    
-                    
-                    
-                    
+
+
+
+
 
                     //监听提交
                     iframeWindow.layui.form.on('submit(' + submitID + ')', function (data) {
@@ -203,7 +205,7 @@ $('#BizTime').val(value);
                         }
                         //提交 Ajax 成功后,静态更新表格中的数据
                         //$.ajax({});
-                        
+
                         $.ajax({
                             type: "POST",
                             url: "/Admin/SysRechargeRecord/Edit?r=" + Math.random(1),
@@ -296,20 +298,20 @@ $('#BizTime').val(value);
                         , submitID = 'LAY-list-front-submit'
                         , submit = layero.find('iframe').contents().find('#' + submitID);
 
-                    setTimeout(function () { 
+                    setTimeout(function () {
                         layero.find('iframe').contents().find('.layui-tab-item').each(function (i) {
                             var errObj = $(this).find('.layui-form-danger');
                             if (errObj.length > 0) {
                                 iframeWindow.element.tabChange('mytabbar', String(i + 1));
                                 submit.click();
                             }
-                        });                        
+                        });
                     }, 300);
 
-                    
-                    
-                    
-                    
+
+
+
+
 
                     //监听提交
                     iframeWindow.layui.form.on('submit(' + submitID + ')', function (data) {
@@ -320,7 +322,7 @@ $('#BizTime').val(value);
                         }
                         //提交 Ajax 成功后,静态更新表格中的数据
                         //$.ajax({});
-                        
+
                         $.ajax({
                             type: "POST",
                             url: "/Admin/SysRechargeRecord/Add?r=" + Math.random(1),
@@ -376,9 +378,9 @@ $('#BizTime').val(value);
         , Open: function () {
             var checkStatus = table.checkStatus('LAY-list-manage')
                 , data = checkStatus.data; //得到选中的数据
-            if(data.length < 1){
+            if (data.length < 1) {
                 parent.layer.msg("请选择要开启的项");
-            }else{
+            } else {
                 var ids = "";
                 $.each(data, function (index, value) {
                     ids += data[index].Id + ",";
@@ -405,9 +407,9 @@ $('#BizTime').val(value);
         , Close: function () {
             var checkStatus = table.checkStatus('LAY-list-manage')
                 , data = checkStatus.data; //得到选中的数据
-            if(data.length < 1){
+            if (data.length < 1) {
                 parent.layer.msg("请选择要关闭的项");
-            }else{
+            } else {
                 var ids = "";
                 $.each(data, function (index, value) {
                     ids += data[index].Id + ",";
@@ -434,9 +436,9 @@ $('#BizTime').val(value);
         , sycn: function () {
             var checkStatus = table.checkStatus('LAY-list-manage')
                 , data = checkStatus.data; //得到选中的数据
-            if(data.length < 1){
+            if (data.length < 1) {
                 parent.layer.msg("请选择要同步的项");
-            }else{
+            } else {
                 var ids = "";
                 $.each(data, function (index, value) {
                     ids += data[index].Id + ",";

+ 2 - 2
wwwroot/layuiadmin/modules_main/SysTools_Admin.js

@@ -8,8 +8,8 @@ table.render({
         , { field: 'OrderNo', width: 200, title: '订单号', sort: true }
         , { field: 'MakerCode', width: 200, title: '创客编号', sort: true }
         , { field: 'RealName', width: 200, title: '创客姓名', sort: true }
-        , { field: 'ComeSn', width: 200, title: '来源机具SN', sort: true, templet: '#MakerCodeTpl' }
-        , { field: 'SendSn', width: 200, title: '发货SN', sort: true, templet: '#MakerCodeTpl' }
+        , { field: 'ComeSn', width: 200, title: '来源机具SN', sort: true, templet: '#Loop' }
+        , { field: 'SendSn', width: 200, title: '发货SN', sort: true, templet: '#Loop' }
         , { field: 'CreateDate', width: 200, title: '申请时间', sort: true }
         , { field: 'Status', width: 200, title: '申请状态', sort: true }
         , { title: '操作', width: 1500, align: 'left', toolbar: '#table-list-tools' }

+ 1 - 0
wwwroot/layuiadmin/modules_main/UserAccountRecord_Admin.js

@@ -119,6 +119,7 @@ $('#CreateDate').val(value);
             $("#ChangeTypeAmount0").text(res.other.ChangeTypeAmount0);
             $("#ChangeTypeAmount1").text(res.other.ChangeTypeAmount1);
             $("#ChangeTypeAmount2").text(res.other.ChangeTypeAmount2);
+            $("#ChangeTypeAmount5").text(res.other.ChangeTypeAmount5);
             $("#ChangeTypeAmount6").text(res.other.ChangeTypeAmount6);
             $("#ChangeTypeAmount61").text(res.other.ChangeTypeAmount61);
             $("#ChangeTypeAmount62").text(res.other.ChangeTypeAmount62);

+ 1 - 0
wwwroot/layuiadmin/modules_main/UserAccount_Admin.js

@@ -110,6 +110,7 @@ layui.config({
                 { field: 'SeoDescription', width: 100, title: '备注' ,sort: true},
                 // { field: 'CreateDate', width: 200, title: '创建时间' ,sort: true},
                 { field: 'UpdateDate', width: 160, title: '冻结/解冻时间' ,sort: true},
+                { field: 'UpdateMan', width: 160, title: '操作信息' ,sort: true},
                 {
                     title: '操作',
                     width: 400,

+ 17 - 0
wwwroot/layuiadmin/modules_main/UsersChildren_Admin.js

@@ -129,6 +129,23 @@ layui.config({
         , height: 'full-' + String($('.layui-card-header').height() + 130)
         , text: '对不起,加载出现异常!'
         , done: function (res, curr, count) {
+            $("#TotalAmtfc").text(res.other.TotalAmtfc);
+            $("#DAmtfc").text(res.other.DAmtfc);
+            $("#JAmtfc").text(res.other.JAmtfc);
+            $("#JfAmtfc").text(res.other.JfAmtfc);
+            $("#JCountfc").text(res.other.JCountfc);
+            $("#YAmtfc").text(res.other.YAmtfc);
+
+            $("#TotalAmtwd").text(res.other.TotalAmtwd);
+            $("#DAmtwd").text(res.other.DAmtwd);
+            $("#JAmtwd").text(res.other.JAmtwd);
+            $("#JfAmtwd").text(res.other.JfAmtwd);
+            $("#JCountwd").text(res.other.JCountwd);
+            $("#YAmtwd").text(res.other.YAmtwd);
+
+            $("#BCount").text(res.other.BCount);
+            $("#ACount").text(res.other.ACount);
+
             $(".layui-none").text("无数据");
         }
     });

+ 121 - 7
wwwroot/layuiadmin/modules_main/Users_Admin.js

@@ -9,7 +9,7 @@ function ConfirmImport() {
             if (data == "success") {
                 layer.msg("导入成功", { time: 2000 }, function () {
                     window.location.reload();
-                }); 
+                });
             } else if (data.indexOf("warning") == 0) {
                 var datalist = data.split('|');
                 layer.alert(datalist[0], { time: 20000 }, function () {
@@ -114,7 +114,7 @@ layui.config({
             , { field: 'RiskFlagName', width: 200, title: '风控状态', sort: true }
             , { field: 'CreateDate', width: 200, title: '注册时间', sort: true }
 
-            , { title: '操作', width: 1500, align: 'left', toolbar: '#table-list-tools' }
+            , { title: '操作', width: 1800, align: 'left', toolbar: '#table-list-tools' }
         ]]
         , where: {
             SelfId: SelfId,
@@ -186,14 +186,14 @@ layui.config({
                         , submitID = 'LAY-list-front-submit'
                         , submit = layero.find('iframe').contents().find('#' + submitID);
 
-                    setTimeout(function () { 
+                    setTimeout(function () {
                         layero.find('iframe').contents().find('.layui-tab-item').each(function (i) {
                             var errObj = $(this).find('.layui-form-danger');
                             if (errObj.length > 0) {
                                 iframeWindow.element.tabChange('mytabbar', String(i + 1));
                                 submit.click();
                             }
-                        });                        
+                        });
                     }, 300);
 
                     //监听提交
@@ -226,11 +226,11 @@ layui.config({
 
                     submit.trigger('click');
                 }
-                ,btn2: function(){
+                , btn2: function () {
                     layer.msg('验证通过');
                     return false;
                 }
-                ,btn3: function(){
+                , btn3: function () {
                     layer.msg('验证通过');
                     return false;
                 }
@@ -382,6 +382,82 @@ layui.config({
 
                 }
             });
+        } else if (obj.event === 'LockEnterpriseMaker') {
+            var index = layer.confirm('是否确定取消' + data.MakerCode + ',' + data.RealName + '的企业账户权限?', function (index) {
+                $.ajax({
+                    type: "POST",
+                    url: "/Admin/Users/CloseEnterpriseMaker?r=" + Math.random(1),
+                    data: "Id=" + data.Id,
+                    dataType: "text",
+                    success: function (data) {
+                        layer.close(index); //关闭弹层
+                        if (data == "success") {
+                            layer.msg("已取消", { time: 1500 }, function () {
+                                table.reload('LAY-list-manage'); //数据刷新
+                            });
+                        } else {
+                            parent.layer.msg(data);
+                        }
+                    }
+                });
+            });
+        } else if (obj.event === 'EnterpriseMaker') {
+            var index = layer.confirm('是否确定设置' + data.MakerCode + ',' + data.RealName + '的账号为企业账户权限?', function (index) {
+                $.ajax({
+                    type: "POST",
+                    url: "/Admin/Users/OpenEnterpriseMaker?r=" + Math.random(1),
+                    data: "Id=" + data.Id,
+                    dataType: "text",
+                    success: function (data) {
+                        layer.close(index); //关闭弹层
+                        if (data == "success") {
+                            layer.msg("设置成功", { time: 1500 }, function () {
+                                table.reload('LAY-list-manage'); //数据刷新
+                            });
+                        } else {
+                            parent.layer.msg(data);
+                        }
+                    }
+                });
+            });
+        } else if (obj.event === 'SetBigLeader') {
+            var index = layer.confirm('是否确定设置' + data.MakerCode + ',' + data.RealName + '的账户为大盟主?', function (index) {
+                $.ajax({
+                    type: "POST",
+                    url: "/Admin/Users/SetBigLeader?r=" + Math.random(1),
+                    data: "Id=" + data.Id,
+                    dataType: "text",
+                    success: function (data) {
+                        layer.close(index); //关闭弹层
+                        if (data == "success") {
+                            layer.msg("设置成功", { time: 1500 }, function () {
+                                table.reload('LAY-list-manage'); //数据刷新
+                            });
+                        } else {
+                            parent.layer.msg(data);
+                        }
+                    }
+                });
+            });
+        } else if (obj.event === 'SetSmallLeader') {
+            var index = layer.confirm('是否确定设置' + data.MakerCode + ',' + data.RealName + '的账号为小盟主?', function (index) {
+                $.ajax({
+                    type: "POST",
+                    url: "/Admin/Users/SetSmallLeader?r=" + Math.random(1),
+                    data: "Id=" + data.Id,
+                    dataType: "text",
+                    success: function (data) {
+                        layer.close(index); //关闭弹层
+                        if (data == "success") {
+                            layer.msg("设置成功", { time: 1500 }, function () {
+                                table.reload('LAY-list-manage'); //数据刷新
+                            });
+                        } else {
+                            parent.layer.msg(data);
+                        }
+                    }
+                });
+            });
         } else if (obj.event === 'detail') {
             var tr = $(obj.tr);
             var perContent = layer.open({
@@ -637,7 +713,7 @@ layui.config({
                         , submitID = 'LAY-list-front-submit'
                         , submit = layero.find('iframe').contents().find('#' + submitID);
 
-                    setTimeout(function () { 
+                    setTimeout(function () {
                         layero.find('iframe').contents().find('.layui-tab-item').each(function (i) {
                             var errObj = $(this).find('.layui-form-danger');
                             if (errObj.length > 0) {
@@ -751,6 +827,44 @@ layui.config({
                 }
             });
         }
+        , ExportZSExcel: function () {
+            var userdata = '';
+            $(".layuiadmin-card-header-auto input").each(function (i) {
+                userdata += $(this).attr('name') + '=' + encodeURIComponent($(this).val()) + '&';
+            });
+            $(".layuiadmin-card-header-auto select").each(function (i) {
+                userdata += $(this).attr('name') + '=' + encodeURIComponent($(this).val()) + '&';
+            });
+            $.ajax({
+                type: "GET",
+                url: "/Admin/Users/ExportZSExcel?r=" + Math.random(1),
+                data: userdata,
+                dataType: "json",
+                success: function (data) {
+                    data.Obj.unshift(data.Fields);
+                    excel.exportExcel(data.Obj, data.Info, 'xlsx');
+                }
+            });
+        }
+        , ExportSJExcel: function () {
+            var userdata = '';
+            $(".layuiadmin-card-header-auto input").each(function (i) {
+                userdata += $(this).attr('name') + '=' + encodeURIComponent($(this).val()) + '&';
+            });
+            $(".layuiadmin-card-header-auto select").each(function (i) {
+                userdata += $(this).attr('name') + '=' + encodeURIComponent($(this).val()) + '&';
+            });
+            $.ajax({
+                type: "GET",
+                url: "/Admin/Users/ExportSJExcel?r=" + Math.random(1),
+                data: userdata,
+                dataType: "json",
+                success: function (data) {
+                    data.Obj.unshift(data.Fields);
+                    excel.exportExcel(data.Obj, data.Info, 'xlsx');
+                }
+            });
+        }
         , ThreeElement: function () {
             var perContent = layer.open({
                 type: 2