Przeglądaj źródła

Merge branch 'DuGuYang' into develop

lcl 3 lat temu
rodzic
commit
871c1a83cd
39 zmienionych plików z 1390 dodań i 147 usunięć
  1. 48 48
      Areas/Admin/Controllers/HomeController.cs
  2. 78 8
      Areas/Admin/Controllers/MainServer/MerchantDepositReturnsController.cs
  3. 26 2
      Areas/Admin/Controllers/MainServer/MsgAlertController.cs
  4. 1 1
      Areas/Admin/Controllers/MainServer/PosMachinesTwoController.cs
  5. 154 3
      Areas/Admin/Controllers/MainServer/PosMerchantInfoListController.cs
  6. 5 9
      Areas/Admin/Controllers/MainServer/RecycMachineOrderController.cs
  7. 8 4
      Areas/Admin/Controllers/MainServer/RecycMachineOrderPosController.cs
  8. 28 2
      Areas/Admin/Controllers/MainServer/StoreHouseController.cs
  9. 6 5
      Areas/Admin/Controllers/MainServer/SysToolsController.cs
  10. 81 10
      Areas/Admin/Controllers/MainServer/ToChargeBackRecordController.cs
  11. 1 1
      Areas/Admin/Controllers/MainServer/UserAccountRecordController.cs
  12. 33 2
      Areas/Admin/Controllers/MainServer/UserCashRecordController.cs
  13. 1 1
      Areas/Admin/Views/BsServer/Col/Add.cshtml
  14. 2 2
      Areas/Admin/Views/Home/Login.cshtml
  15. 20 0
      Areas/Admin/Views/MainServer/MerchantDepositReturns/Index.cshtml
  16. 27 6
      Areas/Admin/Views/MainServer/MerchantDepositReturns/Indexs.cshtml
  17. 23 7
      Areas/Admin/Views/MainServer/MsgAlert/Add.cshtml
  18. 26 11
      Areas/Admin/Views/MainServer/MsgAlert/Edit.cshtml
  19. 7 0
      Areas/Admin/Views/MainServer/PosMerchantInfoList/Index.cshtml
  20. 105 0
      Areas/Admin/Views/MainServer/PosMerchantInfoList/Indexrg.cshtml
  21. 0 6
      Areas/Admin/Views/MainServer/RecycMachineOrder/Index.cshtml
  22. 3 5
      Areas/Admin/Views/MainServer/RecycMachineOrderPos/Index.cshtml
  23. 19 0
      Areas/Admin/Views/MainServer/StoreHouse/Index.cshtml
  24. 5 0
      Areas/Admin/Views/MainServer/ToChargeBackRecord/Index.cshtml
  25. 3 0
      Areas/Admin/Views/MainServer/UserCashRecord/Index.cshtml
  26. 3 0
      Startup.cs
  27. BIN
      wwwroot/.DS_Store
  28. 31 1
      wwwroot/layuiadmin/modules_main/MerchantDepositReturns_Admin.js
  29. 31 1
      wwwroot/layuiadmin/modules_main/MerchantDepositReturnsn_Admin.js
  30. 6 2
      wwwroot/layuiadmin/modules_main/PosMerchantInfoList_Admin.js
  31. 513 0
      wwwroot/layuiadmin/modules_main/PosMerchantInforgList_Admin.js
  32. 7 4
      wwwroot/layuiadmin/modules_main/RecycMachineOrderPos_Admin.js
  33. 5 3
      wwwroot/layuiadmin/modules_main/RecycMachineOrder_Admin.js
  34. 24 1
      wwwroot/layuiadmin/modules_main/StoreHouse_Admin.js
  35. 39 0
      wwwroot/layuiadmin/modules_main/ToChargeBackRecord_Admin.js
  36. 18 0
      wwwroot/layuiadmin/modules_main/UserCashRecord_Admin.js
  37. 2 2
      wwwroot/layuiadmin/modules_sp/BindRecord_Admin.js
  38. 1 0
      wwwroot/layuiadmin/modules_sp/UnBindRecord_Admin.js
  39. BIN
      wwwroot/users/人工已退模版.xlsx

+ 48 - 48
Areas/Admin/Controllers/HomeController.cs

@@ -149,60 +149,60 @@ namespace MySystem.Areas.Admin.Controllers
         [HttpPost]
         public string Login(string UserName, string Pwd, string CheckCode)
         {
-            string result = "";
-            if (function.GetCookie(_accessor.HttpContext, "checkcode") != CheckCode)
-            {
-                result = "验证码错误!!";
-            }
-            else
-            {
-                Pwd = function.MD5_32(Pwd);
-                var user = db.SysAdmin.FirstOrDefault(m => m.AdminName == UserName && m.Password == Pwd);
-                if (user != null)
-                {
-                    user.LastLoginDate = DateTime.Now;
-                    db.SaveChanges();
-                    function.WriteCookie(_accessor.HttpContext, "SysUserName", user.AdminName);
-                    function.WriteCookie(_accessor.HttpContext, "SysRealName", user.RealName);
-                    function.WriteCookie(_accessor.HttpContext, "SysRealRole", user.Role);
-                    int RoleId = int.Parse(function.CheckInt(user.Role));
-                    BsModels.SysAdminRole Role = db.SysAdminRole.FirstOrDefault(m => m.Id == RoleId) ?? new BsModels.SysAdminRole();
-                    string RightInfo = function.CheckNull(Role.RightInfo);
-                    function.WriteSession(_accessor.HttpContext, "RightInfo", RightInfo);
-                    string UserId = user.Id.ToString();
-                    function.WriteCookie(_accessor.HttpContext, "SysId", UserId);
-                    function.WriteSession(_accessor.HttpContext, "IsLogin", "1");
-                    result = "success";
-                }
-                else
-                {
-                    result = "用户名或密码错误";
-                }
-            }
-
             // string result = "";
-            // Pwd = function.MD5_32(Pwd);
-            // var user = db.SysAdmin.FirstOrDefault(m => m.AdminName == UserName && m.Password == Pwd);
-            // if (user != null)
+            // if (function.GetCookie(_accessor.HttpContext, "checkcode") != CheckCode)
             // {
-            //     user.LastLoginDate = DateTime.Now;
-            //     db.SaveChanges();
-            //     function.WriteCookie(_accessor.HttpContext, "SysUserName", user.AdminName);
-            //     function.WriteCookie(_accessor.HttpContext, "SysRealName", user.RealName);
-            //     function.WriteCookie(_accessor.HttpContext, "SysRealRole", user.Role);
-            //     int RoleId = int.Parse(function.CheckInt(user.Role));
-            //     BsModels.SysAdminRole Role = db.SysAdminRole.FirstOrDefault(m => m.Id == RoleId) ?? new BsModels.SysAdminRole();
-            //     string RightInfo = function.CheckNull(Role.RightInfo);
-            //     function.WriteSession(_accessor.HttpContext, "RightInfo", RightInfo);
-            //     string UserId = user.Id.ToString();
-            //     function.WriteCookie(_accessor.HttpContext, "SysId", UserId);
-            //     function.WriteSession(_accessor.HttpContext, "IsLogin", "1");
-            //     result = "success";
+            //     result = "验证码错误!!";
             // }
             // else
             // {
-            //     result = "用户名或密码错误";
+            //     Pwd = function.MD5_32(Pwd);
+            //     var user = db.SysAdmin.FirstOrDefault(m => m.AdminName == UserName && m.Password == Pwd);
+            //     if (user != null)
+            //     {
+            //         user.LastLoginDate = DateTime.Now;
+            //         db.SaveChanges();
+            //         function.WriteCookie(_accessor.HttpContext, "SysUserName", user.AdminName);
+            //         function.WriteCookie(_accessor.HttpContext, "SysRealName", user.RealName);
+            //         function.WriteCookie(_accessor.HttpContext, "SysRealRole", user.Role);
+            //         int RoleId = int.Parse(function.CheckInt(user.Role));
+            //         BsModels.SysAdminRole Role = db.SysAdminRole.FirstOrDefault(m => m.Id == RoleId) ?? new BsModels.SysAdminRole();
+            //         string RightInfo = function.CheckNull(Role.RightInfo);
+            //         function.WriteSession(_accessor.HttpContext, "RightInfo", RightInfo);
+            //         string UserId = user.Id.ToString();
+            //         function.WriteCookie(_accessor.HttpContext, "SysId", UserId);
+            //         function.WriteSession(_accessor.HttpContext, "IsLogin", "1");
+            //         result = "success";
+            //     }
+            //     else
+            //     {
+            //         result = "用户名或密码错误";
+            //     }
             // }
+
+            string result = "";
+            Pwd = function.MD5_32(Pwd);
+            var user = db.SysAdmin.FirstOrDefault(m => m.AdminName == UserName && m.Password == Pwd);
+            if (user != null)
+            {
+                user.LastLoginDate = DateTime.Now;
+                db.SaveChanges();
+                function.WriteCookie(_accessor.HttpContext, "SysUserName", user.AdminName);
+                function.WriteCookie(_accessor.HttpContext, "SysRealName", user.RealName);
+                function.WriteCookie(_accessor.HttpContext, "SysRealRole", user.Role);
+                int RoleId = int.Parse(function.CheckInt(user.Role));
+                BsModels.SysAdminRole Role = db.SysAdminRole.FirstOrDefault(m => m.Id == RoleId) ?? new BsModels.SysAdminRole();
+                string RightInfo = function.CheckNull(Role.RightInfo);
+                function.WriteSession(_accessor.HttpContext, "RightInfo", RightInfo);
+                string UserId = user.Id.ToString();
+                function.WriteCookie(_accessor.HttpContext, "SysId", UserId);
+                function.WriteSession(_accessor.HttpContext, "IsLogin", "1");
+                result = "success";
+            }
+            else
+            {
+                result = "用户名或密码错误";
+            }
             return result;
         }
         #endregion

+ 78 - 8
Areas/Admin/Controllers/MainServer/MerchantDepositReturnsController.cs

@@ -52,7 +52,7 @@ namespace MySystem.Areas.Admin.Controllers
         /// 首台商户退押金申请记录列表
         /// </summary>
         /// <returns></returns>
-        public JsonResult IndexData(MerchantDepositReturns data, string CreateDateData, string StatusSelect = "0", int page = 1, int limit = 30)
+        public JsonResult IndexData(MerchantDepositReturns data, string CreateDateData, string UpdateDateData, string MerchantName, string PosSn, string StatusSelect = "0", int page = 1, int limit = 30)
         {
 
             Dictionary<string, string> Fields = new Dictionary<string, string>();
@@ -75,6 +75,36 @@ namespace MySystem.Areas.Admin.Controllers
                 string end = datelist[1];
                 condition += " and CreateDate>='" + start + " 00:00:00' and CreateDate<='" + end + " 23:59:59'";
             }
+            //发放时间
+            if (!string.IsNullOrEmpty(UpdateDateData))
+            {
+                string[] datelist = UpdateDateData.Split(new string[] { " - " }, StringSplitOptions.None);
+                string start = datelist[0];
+                string end = datelist[1];
+                condition += " and UpdateDate>='" + start + " 00:00:00' and UpdateDate<='" + end + " 23:59:59'";
+            }
+            if (!string.IsNullOrEmpty(MerchantName))
+            {
+                var Ids = "";
+                var posMerchantInfo = db.PosMerchantInfo.Where(m => m.MerRealName == MerchantName).ToList();
+                foreach (var item in posMerchantInfo)
+                {
+                    Ids += item.Id + ",";
+                }
+                Ids = Ids.TrimEnd(',');
+                condition += " and MerchantId in(" + Ids + ")";
+            }
+            if (!string.IsNullOrEmpty(PosSn))
+            {
+                var Ids = "";
+                var posMerchantInfo = db.PosMerchantInfo.Where(m => m.KqSnNo == PosSn).ToList();
+                foreach (var item in posMerchantInfo)
+                {
+                    Ids += item.Id + ",";
+                }
+                Ids = Ids.TrimEnd(',');
+                condition += " and MerchantId in(" + Ids + ")";
+            }
 
 
             Dictionary<string, object> obj = new AdminContentOther(_accessor.HttpContext, PublicFunction.MainTables).IndexData("MerchantDepositReturns", Fields, "Id desc", "0", page, limit, condition);
@@ -148,7 +178,7 @@ namespace MySystem.Areas.Admin.Controllers
         /// 非首台商户退押金申请记录列表
         /// </summary>
         /// <returns></returns>
-        public JsonResult IndexsData(MerchantDepositReturns data, string CreateDateData, string StatusSelect = "0", int page = 1, int limit = 30)
+        public JsonResult IndexsData(MerchantDepositReturns data, string CreateDateData, string UpdateDateData, string MerchantName, string PosSn, string StatusSelect = "0", int page = 1, int limit = 30)
         {
 
             Dictionary<string, string> Fields = new Dictionary<string, string>();
@@ -171,6 +201,36 @@ namespace MySystem.Areas.Admin.Controllers
                 string end = datelist[1];
                 condition += " and CreateDate>='" + start + " 00:00:00' and CreateDate<='" + end + " 23:59:59'";
             }
+            //发放时间
+            if (!string.IsNullOrEmpty(UpdateDateData))
+            {
+                string[] datelist = UpdateDateData.Split(new string[] { " - " }, StringSplitOptions.None);
+                string start = datelist[0];
+                string end = datelist[1];
+                condition += " and UpdateDate>='" + start + " 00:00:00' and UpdateDate<='" + end + " 23:59:59'";
+            }
+            if (!string.IsNullOrEmpty(MerchantName))
+            {
+                var Ids = "";
+                var posMerchantInfo = db.PosMerchantInfo.Where(m => m.MerRealName == MerchantName).ToList();
+                foreach (var item in posMerchantInfo)
+                {
+                    Ids += item.Id + ",";
+                }
+                Ids = Ids.TrimEnd(',');
+                condition += " and MerchantId in(" + Ids + ")";
+            }
+            if (!string.IsNullOrEmpty(PosSn))
+            {
+                var Ids = "";
+                var posMerchantInfo = db.PosMerchantInfo.Where(m => m.KqSnNo == PosSn).ToList();
+                foreach (var item in posMerchantInfo)
+                {
+                    Ids += item.Id + ",";
+                }
+                Ids = Ids.TrimEnd(',');
+                condition += " and MerchantId in(" + Ids + ")";
+            }
 
 
             Dictionary<string, object> obj = new AdminContentOther(_accessor.HttpContext, PublicFunction.MainTables).IndexData("MerchantDepositReturns", Fields, "Id desc", "0", page, limit, condition);
@@ -403,9 +463,14 @@ namespace MySystem.Areas.Admin.Controllers
             for (int i = 1; i < list.Count; i++)
             {
                 JsonData dr = list[i];
-                string PosSn = dr[0].ToString(); // 退押机具Sn
-                int Status = int.Parse(dr[1].ToString()); // 结果
-                string SeoDescription = dr[2].ToString(); // 备注
+                string itemJson = dr.ToJson();
+                string PosSn = itemJson.Contains("\"A\"") ? dr["A"].ToString() : "";// 退押机具Sn
+                string Statuss = itemJson.Contains("\"B\"") ? dr["B"].ToString() : ""; // 结果
+                string SeoDescription = itemJson.Contains("\"C\"") ? dr["C"].ToString() : "";// 备注
+                int Status = int.Parse(Statuss);
+                // string PosSn = dr[0].ToString(); // 退押机具Sn
+                // int Status = int.Parse(dr[1].ToString()); // 结果
+                // string SeoDescription = dr[2].ToString(); // 备注
                 var pos = db.PosMachinesTwo.FirstOrDefault(m => m.PosSn == PosSn) ?? new PosMachinesTwo();
                 var merchantDepositReturns = db.MerchantDepositReturns.FirstOrDefault(m => m.MerchantId == pos.BindMerchantId && m.Status == 0) ?? new MerchantDepositReturns();
                 if (merchantDepositReturns.Id == 0)
@@ -445,9 +510,14 @@ namespace MySystem.Areas.Admin.Controllers
             for (int i = 1; i < list.Count; i++)
             {
                 JsonData dr = list[i];
-                string PosSn = dr[0].ToString(); // 退押机具Sn
-                int Status = int.Parse(dr[1].ToString()); // 结果
-                string SeoDescription = dr[2].ToString(); // 备注
+                string itemJson = dr.ToJson();
+                string PosSn = itemJson.Contains("\"A\"") ? dr["A"].ToString() : "";// 退押机具Sn
+                string Statuss = itemJson.Contains("\"B\"") ? dr["B"].ToString() : ""; // 结果
+                string SeoDescription = itemJson.Contains("\"C\"") ? dr["C"].ToString() : "";// 备注
+                int Status = int.Parse(Statuss);
+                // string PosSn = dr[0].ToString(); // 退押机具Sn
+                // int Status = int.Parse(dr[1].ToString()); // 结果
+                // string SeoDescription = dr[2].ToString(); // 备注
                 var pos = db.PosMachinesTwo.FirstOrDefault(m => m.PosSn == PosSn) ?? new PosMachinesTwo();
                 var merchantDepositReturns = db.MerchantDepositReturns.FirstOrDefault(m => m.MerchantId == pos.BindMerchantId && m.Status == 0) ?? new MerchantDepositReturns();
                 if (merchantDepositReturns.Id == 0)

+ 26 - 2
Areas/Admin/Controllers/MainServer/MsgAlertController.cs

@@ -77,7 +77,7 @@ namespace MySystem.Areas.Admin.Controllers
                 condition += " and PushFlag=" + PushFlagSelect;
             }
             //创建时间
-            if(!string.IsNullOrEmpty(CreateDateData))
+            if (!string.IsNullOrEmpty(CreateDateData))
             {
                 string[] datelist = CreateDateData.Split(new string[] { " - " }, StringSplitOptions.None);
                 string start = datelist[0];
@@ -140,9 +140,10 @@ namespace MySystem.Areas.Admin.Controllers
         /// </summary>
         /// <returns></returns>
         [HttpPost]
-        public string Add(MsgAlert data)
+        public string Add(MsgAlert data, string MakerCodes)
         {
             Dictionary<string, object> Fields = new Dictionary<string, object>();
+            // string[] MakerCodeList = MakerCodes.Replace("\r", "").Replace("\n", ",").Split(',');
 
             Fields.Add("MsgType", data.MsgType); //消息类型
             Fields.Add("Status", 1); //默认开启
@@ -168,6 +169,29 @@ namespace MySystem.Areas.Admin.Controllers
             Fields.Add("SeoKeyword", DateTime.Now.ToString("yyyyMMddHHmmssfff") + function.get_Random(8));
             Fields.Add("SeoDescription", data.SeoDescription);
             int Id = new AdminContentOther(_accessor.HttpContext, PublicFunction.MainTables).Add("MsgAlert", Fields, 0);
+            if (!string.IsNullOrEmpty(MakerCodes))
+            {
+                string[] MakerCodeList = MakerCodes.Replace("\r", "").Replace("\n", ",").Split(',');
+                foreach (var item in MakerCodeList)
+                {
+                    var userForMakerCode = db.UserForMakerCode.FirstOrDefault(m => m.MakerCode == item) ?? new UserForMakerCode();
+                    var userSwapWhite = db.UserSwapWhite.FirstOrDefault(m => m.QueryCount == Id && m.UserId == userForMakerCode.UserId) ?? new UserSwapWhite();
+                    if (userForMakerCode.UserId > 0 && userSwapWhite.Id == 0)
+                    {
+                        var userSwapWhiteAdd = db.UserSwapWhite.Add(new UserSwapWhite()
+                        {
+                            QueryCount = Id,//弹窗Id
+                            CreateDate = DateTime.Now,
+                            CreateMan = SysUserName + "_" + SysRealName,
+                            UserId = userForMakerCode.UserId,
+                        }).Entity;
+                    }
+                    else
+                    {
+                        return "创客" + item + "不存在或者已经添加了相关信息";
+                    }
+                }
+            }
             AddSysLog(data.Id.ToString(), "MsgAlert", "add");
             db.SaveChanges();
 

+ 1 - 1
Areas/Admin/Controllers/MainServer/PosMachinesTwoController.cs

@@ -923,7 +923,7 @@ namespace MySystem.Areas.Admin.Controllers
 
                 //实际押金
                 string SeoKeyword = dic["SeoKeyword"].ToString();
-                if (SeoKeyword.Length > 2)
+                if (SeoKeyword.Length > 3)
                 {
                     SeoKeyword = (decimal.Parse(SeoKeyword) / 100).ToString();
                 }

+ 154 - 3
Areas/Admin/Controllers/MainServer/PosMerchantInfoListController.cs

@@ -52,7 +52,7 @@ namespace MySystem.Areas.Admin.Controllers
         /// 商户列表
         /// </summary>
         /// <returns></returns>
-        public JsonResult IndexData(PosMerchantInfo data, string MerIdcardNo, string MerchantName, string PhoneNo, int ShowFlag = 0, int page = 1, int limit = 30)
+        public JsonResult IndexData(PosMerchantInfo data, string MerIdcardNo, string MerchantName, string PhoneNo, string PosSn, int ShowFlag = 0, int page = 1, int limit = 30)
         {
 
             Dictionary<string, string> Fields = new Dictionary<string, string>();
@@ -82,6 +82,11 @@ namespace MySystem.Areas.Admin.Controllers
                 var PhoneNob = PhoneNo.Substring(PhoneNo.Length - 4);
                 condition += " and LEFT(MerchantMobile,3)=" + PhoneNof + " AND RIGHT(MerchantMobile,4)=" + PhoneNob + "";
             }
+            //机具号
+            if (!string.IsNullOrEmpty(PosSn))
+            {
+                condition += " and KqSnNo=" + PosSn;
+            }
             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)
@@ -144,6 +149,151 @@ namespace MySystem.Areas.Admin.Controllers
         #endregion
 
 
+        #region 人工已退商户列表
+
+        /// <summary>
+        /// 根据条件人工已退商户列表
+        /// </summary>
+        /// <returns></returns>
+        public IActionResult Indexrg(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 IndexrgData(PosMerchantInfo data, string MerIdcardNo, string MerchantName, string PhoneNo, string PosSn, int page = 1, int limit = 30)
+        {
+
+            Dictionary<string, string> Fields = new Dictionary<string, string>();
+
+            decimal ReturnAmounts = 0.00M;
+            string condition = " and Status>-1 and StandardStatus=-2";
+            //身份证号
+            if (!string.IsNullOrEmpty(MerIdcardNo))
+            {
+                var IdCardf = MerIdcardNo.Substring(0, 6);
+                var IdCardb = MerIdcardNo.Substring(MerIdcardNo.Length - 4);
+                condition += " and LEFT(MerIdcardNo,6)=" + IdCardf + " AND RIGHT(MerIdcardNo,4)=" + IdCardb + "";
+            }
+            //商户姓名
+            if (!string.IsNullOrEmpty(MerchantName))
+            {
+                condition += " and MerchantName like '%" + MerchantName + "%'";
+            }
+            //手机号
+            if (!string.IsNullOrEmpty(PhoneNo))
+            {
+                var PhoneNof = PhoneNo.Substring(0, 3);
+                var PhoneNob = PhoneNo.Substring(PhoneNo.Length - 4);
+                condition += " and LEFT(MerchantMobile,3)=" + PhoneNof + " AND RIGHT(MerchantMobile,4)=" + PhoneNob + "";
+            }
+            //机具号
+            if (!string.IsNullOrEmpty(PosSn))
+            {
+                condition += " and KqSnNo=" + PosSn;
+            }
+            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"] = "商户型创客";
+
+                var KqSnNo = dic["KqSnNo"].ToString();
+                var pos = db.PosMachinesTwo.FirstOrDefault(m => m.PosSn == KqSnNo) ?? new PosMachinesTwo();
+                //实际押金
+                string SeoKeyword = pos.SeoKeyword.ToString();
+                ReturnAmounts += decimal.Parse(function.CheckNum(SeoKeyword));
+                if (SeoKeyword.Length > 3)
+                {
+                    SeoKeyword = (decimal.Parse(SeoKeyword) / 100).ToString();
+                }
+                dic["SeoKeyword"] = SeoKeyword;
+
+                //设置押金
+                string PrizeParams = "0";
+                if (!string.IsNullOrEmpty(pos.PrizeParams))
+                {
+                    PrizeParams = pos.PrizeParams.ToString();
+                }
+                dic["PrizeParams"] = PrizeParams;
+            }
+            Dictionary<string, object> other = new Dictionary<string, object>();
+            decimal ReturnAmount = 0.00M;
+            DataTable dt = OtherMySqlConn.dtable("SELECT SUM(Remark) FROM PosMerchantInfo WHERE 1=1" + condition);
+            if (dt.Rows.Count > 0)
+            {
+                ReturnAmount = decimal.Parse(function.CheckNum(dt.Rows[0][0].ToString()));
+            }
+            other.Add("ReturnAmount", ReturnAmount.ToString("f2"));
+            other.Add("ReturnAmounts", ReturnAmounts.ToString("f2"));
+            obj.Add("other", other);
+            return Json(obj);
+        }
+
+        #endregion
+
+
         #region 达标商户列表
 
         /// <summary>
@@ -629,15 +779,16 @@ namespace MySystem.Areas.Admin.Controllers
             {
                 JsonData dr = list[i];
                 string KqMerNo = dr[0].ToString(); // 商户编号
+                string Amount = dr[0].ToString(); // 已退金额
                 var posMerchantInfo = db.PosMerchantInfo.FirstOrDefault(m => m.KqMerNo == KqMerNo) ?? new PosMerchantInfo();
                 posMerchantInfo.StandardStatus = -2;
-                Ids += posMerchantInfo.Id + ",";
+                posMerchantInfo.Remark = Amount;
+                Ids += posMerchantInfo.Id + "_" + Amount + ",";
                 db.SaveChanges();
             }
             AddSysLog("0", "PosMerchantInfo", "Import");
             string text = string.Format("导入人工已退,商户Id: '" + Ids.TrimEnd(',') + "',操作人: '" + SysUserName + "_" + SysRealName + "',Time'" + DateTime.Now + "'");
             function.WriteLog(text, "导入人工已退");
-            RedisDbconn.Instance.AddList("ToAlipayAccountQueue", Ids.TrimEnd(','));
             return "success";
         }
         #endregion

+ 5 - 9
Areas/Admin/Controllers/MainServer/RecycMachineOrderController.cs

@@ -66,17 +66,12 @@ namespace MySystem.Areas.Admin.Controllers
             //创客编号
             if (!string.IsNullOrEmpty(UserIdMakerCode))
             {
-                condition += " and UserId in (select UserId from UsersForMakerCode where MakerCode='" + UserIdMakerCode + "')";
-            }
-            //创客真实姓名
-            if (!string.IsNullOrEmpty(UserIdRealName))
-            {
-                condition += " and UserId in (select UserId from UsersForRealName where RealName='" + UserIdRealName + "')";
+                condition += " and UserId in (select UserId from UserForMakerCode where MakerCode='" + UserIdMakerCode + "')";
             }
             //退回仓库编号
             if (!string.IsNullOrEmpty(RecycStoreIdStoreNo))
             {
-                condition += " and RecycStoreId in (select RecycStoreId from StoreHouseForStoreNo where StoreNo='" + RecycStoreIdStoreNo + "')";
+                condition += " and RecycStoreId in (select StoreId from StoreForCode where Code='" + RecycStoreIdStoreNo + "')";
             }
             //寄回方式
             if (!string.IsNullOrEmpty(PostTypeSelect))
@@ -119,6 +114,7 @@ namespace MySystem.Areas.Admin.Controllers
                 if (PostType == 1) dic["PostType"] = "邮寄";
                 if (PostType == 2) dic["PostType"] = "送货上门";
                 if (PostType == 0) dic["PostType"] = "";
+                dic["BrandId"] = RelationClass.GetKqProductBrandInfo(int.Parse(dic["BrandId"].ToString()));
 
             }
             return Json(obj);
@@ -349,12 +345,12 @@ namespace MySystem.Areas.Admin.Controllers
             //创客创客编号
             if (!string.IsNullOrEmpty(UserIdMakerCode))
             {
-                condition += " and UserId in (select UserId from UsersForMakerCode where MakerCode='" + UserIdMakerCode + "')";
+                condition += " and UserId in (select UserId from UserForMakerCode where MakerCode='" + UserIdMakerCode + "')";
             }
             //创客真实姓名
             if (!string.IsNullOrEmpty(UserIdRealName))
             {
-                condition += " and UserId in (select UserId from UsersForRealName where RealName='" + UserIdRealName + "')";
+                condition += " and UserId in (select UserId from UserForRealName where RealName='" + UserIdRealName + "')";
             }
             //退回仓库仓库编号
             if (!string.IsNullOrEmpty(RecycStoreIdStoreNo))

+ 8 - 4
Areas/Admin/Controllers/MainServer/RecycMachineOrderPosController.cs

@@ -52,7 +52,7 @@ namespace MySystem.Areas.Admin.Controllers
         /// 机具回收明细列表
         /// </summary>
         /// <returns></returns>
-        public JsonResult IndexData(RecycMachineOrderPos data, string OrderIdSelect, string CreateDateData, string BrandIdSelect, string StatusSelect, int page = 1, int limit = 30)
+        public JsonResult IndexData(RecycMachineOrderPos data, string OrderNo, string CreateDateData, string BrandIdSelect, string StatusSelect, int page = 1, int limit = 30)
         {
 
             Dictionary<string, string> Fields = new Dictionary<string, string>();
@@ -70,10 +70,11 @@ namespace MySystem.Areas.Admin.Controllers
                 string end = datelist[1];
                 condition += " and CreateDate>='" + start + " 00:00:00' and CreateDate<='" + end + " 23:59:59'";
             }
-            //申请订单Id
-            if (!string.IsNullOrEmpty(OrderIdSelect))
+            //申请订单
+            if (!string.IsNullOrEmpty(OrderNo))
             {
-                condition += " and OrderId=" + OrderIdSelect;
+                var recycMachineOrder = db.RecycMachineOrder.FirstOrDefault(m => m.RecycOrderNo == OrderNo) ?? new RecycMachineOrder();
+                condition += " and OrderId=" + recycMachineOrder.Id;
             }
             //机具品牌
             if (!string.IsNullOrEmpty(BrandIdSelect))
@@ -101,6 +102,9 @@ namespace MySystem.Areas.Admin.Controllers
                 if (Status == 1) dic["Status"] = "已确认";
                 if (Status == 2) dic["Status"] = "驳回";
 
+                int OrderId = int.Parse(dic["OrderId"].ToString());
+                var recycMachineOrder = db.RecycMachineOrder.FirstOrDefault(m => m.Id == OrderId) ?? new RecycMachineOrder();
+                dic["OrderNo"] = recycMachineOrder.RecycOrderNo;
             }
             return Json(obj);
         }

+ 28 - 2
Areas/Admin/Controllers/MainServer/StoreHouseController.cs

@@ -52,7 +52,7 @@ namespace MySystem.Areas.Admin.Controllers
         /// 仓库列表
         /// </summary>
         /// <returns></returns>
-        public JsonResult IndexData(StoreHouse data, string UserIdMakerCode, string UserIdRealName, string ManageUserIdRealName, string ManageUserIdMobile, string ManageUserIdMakerCode, string StoreStatusSelect, string CreateDateData, string MakerCode, string YZOpCode, string OpStatusSelect, string StoreKindSelect, int ShowFlag = 0, int page = 1, int limit = 30)
+        public JsonResult IndexData(StoreHouse data, string UserIdMakerCode, string UserIdRealName, string BrandId, string ManageUserIdRealName, string ManageUserIdMobile, string ManageUserIdMakerCode, string StoreStatusSelect, string CreateDateData, string MakerCode, string YZOpCode, string OpStatusSelect, string StoreKindSelect, int ShowFlag = 0, int page = 1, int limit = 30)
         {
 
             Dictionary<string, string> Fields = new Dictionary<string, string>();
@@ -67,6 +67,11 @@ namespace MySystem.Areas.Admin.Controllers
             }
 
             string condition = " and Status>-1";
+            //品牌
+            if (!string.IsNullOrEmpty(BrandId))
+            {
+                condition += " and BrandId =" + BrandId;
+            }
             //仓库归属人创客编号
             if (!string.IsNullOrEmpty(UserIdMakerCode))
             {
@@ -308,7 +313,7 @@ namespace MySystem.Areas.Admin.Controllers
                     {
                         return "您输入的仓库归属创客编号不存在,请重新输入正确的仓库归属创客编号";
                     }
-                    
+
                     Fields.Add("UserId", user.UserId); //仓库归属人
                     Fields.Add("Areas", data.Areas); //所属地区
                     Fields.Add("Address", data.Address); //仓库地址
@@ -1603,6 +1608,27 @@ namespace MySystem.Areas.Admin.Controllers
 
         #endregion
 
+
+        #region 同步交易额
+
+        /// <summary>
+        /// 同步交易额
+        /// </summary>
+        /// <returns></returns>
+        public string SycnAmountData(int Id = 0)
+        {
+            if (Id > 0)
+            {
+                var storeHouse = db.StoreHouse.FirstOrDefault(m => m.Id == Id && m.Sort == 0) ?? new StoreHouse();
+                RedisDbconn.Instance.AddList("ResetStoreReserveQueue", storeHouse.UserId);
+            }
+            AddSysLog(Id, "StoreHouse", "SycnAmountData");
+            db.SaveChanges();
+            return "success";
+        }
+
+        #endregion
+
         #region 设置缓存
 
         private void SetRedis(int Id, int UserId)

+ 6 - 5
Areas/Admin/Controllers/MainServer/SysToolsController.cs

@@ -2163,11 +2163,12 @@ namespace MySystem.Areas.Admin.Controllers
             {
                 return "机具未绑定,不支持解绑";
             }
-            if (pos.BindingTime < DateTime.Now.AddDays(-30) && SysUserName != "admin")
-            {
-                return "机具绑定已超过30天,不支持解绑";
-            }
-            if (pos.CreditTrade > 0)
+            //暂时屏蔽,测试完成后必须取消
+            // if (pos.BindingTime < DateTime.Now.AddDays(-30) && SysUserName != "admin")
+            // {
+            //     return "机具绑定已超过30天,不支持解绑";
+            // }
+            if (pos.CreditTrade > 0 || !string.IsNullOrEmpty(pos.SeoKeyword))
             {
                 return "该机具已交易,无法解绑";
             }

+ 81 - 10
Areas/Admin/Controllers/MainServer/ToChargeBackRecordController.cs

@@ -290,7 +290,7 @@ namespace MySystem.Areas.Admin.Controllers
         }
         #endregion
 
-        #region 导入数据
+        #region 机具扣款退还
         /// <summary>
         /// 导入数据
         /// </summary>
@@ -301,22 +301,23 @@ namespace MySystem.Areas.Admin.Controllers
             JsonData list = JsonMapper.ToObject(ExcelData);
             var info = "";
             var error = "";
-            if (!string.IsNullOrEmpty(error))
-            {
-                return "Warning|" + error;
-            }
             for (int i = 1; i < list.Count; i++)
             {
                 JsonData dr = list[i];
                 string PosSn = dr[0].ToString(); // 机具Sn
-                var toChargeBackRecord = db.ToChargeBackRecord.FirstOrDefault(m => m.Status == 1 && m.Remark == PosSn) ?? new ToChargeBackRecord();
+                var toChargeBackRecord = db.ToChargeBackRecord.FirstOrDefault(m => m.Status < 2 && m.Remark == PosSn) ?? new ToChargeBackRecord();
+                var userAccount = db.UserAccount.FirstOrDefault(m => m.Id == toChargeBackRecord.UserId) ?? new UserAccount();
                 if (toChargeBackRecord.Id == 0)
                 {
-                    error += "以下操作失败" + PosSn + ',' + "不符合退还条件" + '\n';
+                    error += "失败" + PosSn + ',' + "不符合退还条件" + '\n';
                 }
-                else
+                if (toChargeBackRecord.Id > 0 && toChargeBackRecord.Status == 0)//待扣款
+                {
+                    userAccount.ToChargeAmount -= toChargeBackRecord.ChargeAmount;
+                    toChargeBackRecord.Status = 2;
+                }
+                if (toChargeBackRecord.Id > 0 && toChargeBackRecord.Status == 1)//已扣款
                 {
-                    var userAccount = db.UserAccount.FirstOrDefault(m => m.Id == toChargeBackRecord.UserId) ?? new UserAccount();
                     var userAccountRecord = db.UserAccountRecord.Add(new UserAccountRecord
                     {
                         CreateDate = DateTime.Now,
@@ -333,14 +334,84 @@ namespace MySystem.Areas.Admin.Controllers
                     info += toChargeBackRecord.Remark + "," + toChargeBackRecord.ChargeAmount + "<br/>";
                 }
             }
+            if (!string.IsNullOrEmpty(error))
+            {
+                return "Warning|" + error;
+            }
             string text = string.Format("退款信息: '" + info + "',Time'" + DateTime.Now + "'");
-            function.WriteLog(text, "人工退还过期机具扣款");//人工退还过期机具扣款
+            function.WriteLog(text, "机具扣款退还");//机具扣款退还
             db.SaveChanges();
             AddSysLog("0", "ToChargeBackRecord", "Import");
             return "success";
         }
         #endregion
 
+
+        #region 机具回收确认退还
+        /// <summary>
+        /// 导入数据
+        /// </summary>
+        /// <param name="ExcelData"></param>
+        public string Imports(string ExcelData)
+        {
+            ExcelData = HttpUtility.UrlDecode(ExcelData);
+            JsonData list = JsonMapper.ToObject(ExcelData);
+            var info = "";
+            var error = "";
+            for (int i = 1; i < list.Count; i++)
+            {
+                JsonData dr = list[i];
+                string PosSn = dr[0].ToString(); // 机具Sn
+                var toChargeBackRecord = db.ToChargeBackRecord.FirstOrDefault(m => m.Remark == PosSn) ?? new ToChargeBackRecord();
+                var recycMachineOrderPos = db.RecycMachineOrderPos.FirstOrDefault(m => m.Status == 1 && m.SnNo == PosSn) ?? new RecycMachineOrderPos();
+                if (recycMachineOrderPos.Id == 0)
+                {
+                    error += "以下操作失败" + PosSn + ',' + "不符合退还条件" + '\n';
+                }
+                else
+                {
+                    var userAccount = db.UserAccount.FirstOrDefault(m => m.Id == toChargeBackRecord.UserId) ?? new UserAccount();
+                    //已扣款
+                    if (toChargeBackRecord.Status == 1)
+                    {
+                        var userAccountRecord = db.UserAccountRecord.Add(new UserAccountRecord
+                        {
+                            CreateDate = DateTime.Now,
+                            UserId = toChargeBackRecord.UserId,
+                            BeforeBalanceAmount = userAccount.BalanceAmount,
+                            AfterBalanceAmount = userAccount.BalanceAmount + toChargeBackRecord.ChargeAmount,
+                            ChangeAmount = toChargeBackRecord.ChargeAmount,
+                            ChangeType = 126,
+                            Remark = "机具货款退还",
+
+                        }).Entity;
+                        userAccount.BalanceAmount += toChargeBackRecord.ChargeAmount;
+                        toChargeBackRecord.Status = 2;
+                        info += toChargeBackRecord.Remark + "," + toChargeBackRecord.ChargeAmount + "<br/>";
+                    }
+                    //未扣款
+                    if (toChargeBackRecord.Status == 0)
+                    {
+                        toChargeBackRecord.Status = 2;
+                    }
+                }
+            }
+            if (!string.IsNullOrEmpty(error))
+            {
+                return "Warning|" + error;
+            }
+            if (!string.IsNullOrEmpty(info))
+            {
+                string text = string.Format("退款信息: '" + info + "',Time'" + DateTime.Now + "'");
+                function.WriteLog(text, "机具回收确认退还");//机具回收确认退还
+            }
+            db.SaveChanges();
+            AddSysLog("0", "ToChargeBackRecord", "Import");
+            return "success";
+        }
+        #endregion
+
+
         #region 导出Excel
 
         /// <summary>

+ 1 - 1
Areas/Admin/Controllers/MainServer/UserAccountRecordController.cs

@@ -171,7 +171,7 @@ namespace MySystem.Areas.Admin.Controllers
             Dictionary<string, object> other = new Dictionary<string, object>();
 
             string ChangeTypeAmount0 = "0.00", ChangeTypeAmount1 = "0.00", ChangeTypeAmount2 = "0.00", ChangeTypeAmount3 = "0.00", ChangeTypeAmount4 = "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", ChangeTypeAmount124 = "0.00", ChangeTypeAmount125 = "0.00";
-            DataTable dt = OtherMySqlConn.dtable("select sum(if(ChangeType=0, ChangeAmount, 0)),sum(if(ChangeType=1, ChangeAmount, 0)) + sum(if(ChangeType=112 and ProductType=101, 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=3, ChangeAmount, 0)),sum(if(ChangeType=4, ChangeAmount, 0)),sum(if(ChangeType=5, ChangeAmount, 0)),sum(if(ChangeType=124, ChangeAmount, 0)),sum(if(ChangeType=125, ChangeAmount, 0)) from UserAccountRecord where 1=1" + condition);
+            DataTable dt = OtherMySqlConn.dtable("select sum(if(ChangeType=0, ChangeAmount, 0)),sum(if(ChangeType=1, ChangeAmount, 0)) + sum(if(ChangeType=112 and ProductType=101, 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 and Remark='开机抢红包活动', ChangeAmount, 0)),sum(if(ChangeType=3, ChangeAmount, 0)),sum(if(ChangeType=4, ChangeAmount, 0)),sum(if(ChangeType=5, ChangeAmount, 0)),sum(if(ChangeType=124, ChangeAmount, 0)),sum(if(ChangeType=125, ChangeAmount, 0)) from UserAccountRecord where 1=1" + condition);
             if (dt.Rows.Count > 0)
             {
                 ChangeTypeAmount0 = dt.Rows[0][0].ToString();

+ 33 - 2
Areas/Admin/Controllers/MainServer/UserCashRecordController.cs

@@ -170,7 +170,7 @@ namespace MySystem.Areas.Admin.Controllers
             string FailAmount = "0.00";//提现失败总金额
             string WaitTaxAmount = "0.00";//待处理总金额(税后)
             string SuccessTaxAmount = "0.00";//提现成功总金额(税后)
-            string FailTaxAmount= "0.00";//提现失败总金额(税后)
+            string FailTaxAmount = "0.00";//提现失败总金额(税后)
             DataTable dt = OtherMySqlConn.dtable("SELECT SUM(if(Status=0,TradeAmount,0)),SUM(if(Status=1,TradeAmount,0)),SUM(if(Status=2,TradeAmount,0)),SUM(if(Status=0,ActualTradeAmount,0)),SUM(if(Status=1,ActualTradeAmount,0)),SUM(if(Status=2,ActualTradeAmount,0)) FROM UserCashRecord where 1=1 " + condition);
             if (dt.Rows.Count > 0)
             {
@@ -1075,7 +1075,7 @@ namespace MySystem.Areas.Admin.Controllers
                 if (edit != null)
                 {
                     Users user = db.Users.FirstOrDefault(m => m.Id == edit.UserId) ?? new Users();
-                    if(!MakerCodeString.Contains("," + user.MakerCode + ","))
+                    if (!MakerCodeString.Contains("," + user.MakerCode + ","))
                     {
                         edit.QueryCount = 1;
                         edit.UpdateDate = DateTime.Now;
@@ -1245,5 +1245,36 @@ namespace MySystem.Areas.Admin.Controllers
 
         #endregion
 
+
+
+        #region 退汇
+
+        /// <summary>
+        /// 退汇
+        /// </summary>
+        /// <returns></returns>
+        public string Refund(string Id)
+        {
+            string[] idlist = Id.Split(new char[] { ',' });
+            AddSysLog(Id, "退汇", "Refund");
+            foreach (string subid in idlist)
+            {
+                int id = int.Parse(subid);
+                var userCashRecord = db.UserCashRecord.FirstOrDefault(m => m.Id == id) ?? new UserCashRecord();
+                var userAccountRecord = db.UserAccountRecord.Where(m => m.Version == id).ToList();
+                foreach (var item in userAccountRecord)
+                {
+                    int recordId = item.Id;
+                    new AdminContentOther(_accessor.HttpContext, PublicFunction.MainTables).Delete("UserAccountRecord", recordId);
+                }
+                userCashRecord.Status = 0;
+                db.SaveChanges();
+            }
+
+            return "success";
+        }
+
+        #endregion
+
     }
 }

+ 1 - 1
Areas/Admin/Views/BsServer/Col/Add.cshtml

@@ -94,7 +94,7 @@
                                 <div class="layui-form-item">
                                     <label class="layui-form-label">是否开放</label>
                                     <div class="layui-input-block">
-                                        <input type="checkbox" id="Recommend" name="Recommend" value="True"
+                                        <input type="checkbox" id="Recommend" name="Recommend"  value="1"
                                         lay-skin="switch" lay-filter="switchTest" title="开关">
                                     </div>
                                 </div>

+ 2 - 2
Areas/Admin/Views/Home/Login.cshtml

@@ -26,11 +26,11 @@
                     <label for="password">密码 / Password</label>
                     <input class="form-input" type="password" name="Pwd" id="Pwd" onKeyUp="if(event.keyCode==13){$('#CheckCode').focus();}" placeholder="请填写密码">
                 </div>
-                <div class="form-group pb10">
+                @* <div class="form-group pb10">
                     <label for="password">验证码 / Verification</label>
                     <input class="form-input" type="text" name="CheckCode" id="CheckCode" onkeyup="if(event.keyCode==13){syslogin();}" placeholder="请填写验证码" style="width: 70%; display: inline-block; margin-right: 2%">
                     <img src="/Api/PublicMethod/CheckCode" onclick="$(this).attr('src','/Api/PublicMethod/CheckCode?r='+Math.random())" style="width: 26%; height:38px;" />
-                </div>
+                </div> *@
                 @*<div class="form-group pb10 cf">
                         <label class="remembermetext fl" for="rememberme">
                             <input type="checkbox" checked name="rememberme">&nbsp;记住我的登录

+ 20 - 0
Areas/Admin/Views/MainServer/MerchantDepositReturns/Index.cshtml

@@ -51,6 +51,13 @@
                                 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" readonly name="UpdateDateData" id="UpdateDate"
+                                placeholder="" autocomplete="off">
+                        </div>
+                    </div>
                     <div class="layui-inline">
                         <label class="layui-form-label">退押订单号</label>
                         <div class="layui-input-inline">
@@ -77,6 +84,19 @@
                             </select>
                         </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">
+                        <label class="layui-form-label">机具号</label>
+                        <div class="layui-input-inline">
+                            <input class="layui-input" type="text" name="PosSn" placeholder="请输入机具号" autocomplete="off">
+                        </div>
+                    </div>
 
                     <div class="layui-inline ml50">
                         <button class="layui-btn" lay-submit lay-filter="LAY-list-front-search">

+ 27 - 6
Areas/Admin/Views/MainServer/MerchantDepositReturns/Indexs.cshtml

@@ -51,6 +51,13 @@
                                 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" readonly name="UpdateDateData" id="UpdateDate"
+                                placeholder="" autocomplete="off">
+                        </div>
+                    </div>
                     <div class="layui-inline">
                         <label class="layui-form-label">退押订单号</label>
                         <div class="layui-input-inline">
@@ -77,6 +84,19 @@
                             </select>
                         </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">
+                        <label class="layui-form-label">机具号</label>
+                        <div class="layui-input-inline">
+                            <input class="layui-input" type="text" name="PosSn" placeholder="请输入机具号" autocomplete="off">
+                        </div>
+                    </div>
 
                     <div class="layui-inline ml50">
                         <button class="layui-btn" lay-submit lay-filter="LAY-list-front-search">
@@ -120,23 +140,24 @@
                             class="layui-icon layui-icon-upload layuiadmin-button-btn"></i>退押结果导入</button>
                     }
                     @* @if (RightInfo.Contains("," + right + "_cash,"))
-                    {
+                        {
                         <button class="layui-btn" data-type="Cash"><i
-                            class="layui-icon layui-icon-up layuiadmin-button-btn"></i>提交到支付宝平台</button>
-                    } *@
+                        class="layui-icon layui-icon-up layuiadmin-button-btn"></i>提交到支付宝平台</button>
+                        } *@
                 </div>
                 <blockquote class="layui-elem-quote layui-text">
-                    退押总金额:<span style="color: #f00;" id="ReturnAmount">0.00</span> | 实际总金额:<span style="color: #f00;" id="fReturnAmount">0.00</span>
+                    退押总金额:<span style="color: #f00;" id="ReturnAmount">0.00</span> | 实际总金额:<span style="color: #f00;"
+                        id="fReturnAmount">0.00</span>
                 </blockquote>
                 <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>
+                                                <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>
+                                                <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,"))
                     {

+ 23 - 7
Areas/Admin/Views/MainServer/MsgAlert/Add.cshtml

@@ -159,13 +159,6 @@
                                         maxlength="20" lay-verify="" autocomplete="off" placeholder="请输入每日次数">
                                 </div>
                             </div>
-                            @* <div class="layui-form-item">
-                                <label class="layui-form-label">弹窗标识</label>
-                                <div class="layui-input-inline">
-                                <input type="checkbox" id="AlertFlag" name="AlertFlag" value="1" lay-skin="switch"
-                                lay-filter="switchTest" title="开关">
-                                </div>
-                                </div> *@
                             <div class="layui-form-item">
                                 <label class="layui-form-label">是否周末</label>
                                 <div class="layui-input-inline">
@@ -173,6 +166,19 @@
                                         lay-filter="switchTest" title="开关">
                                 </div>
                             </div>
+                            <div class="layui-form-item">
+                                <label class="layui-form-label">指定推送</label>
+                                <div class="layui-input-inline">
+                                    <input type="checkbox" id="AlertFlag" name="AlertFlag" value="1" lay-skin="switch"
+                                        lay-filter="AlertFlag" title="开关">
+                                </div>
+                            </div>
+                            <div class="layui-form-item" id="MakerCode" style="display: none;">
+                                <label class="layui-form-label">创客编号</label>
+                                <div class="layui-input-block">
+                                    <textarea class="layui-textarea" lay-verify="" name="MakerCodes" id="MakerCodes" placeholder="请输入创客编号,多个创客编号用回车隔开"></textarea>
+                                </div>
+                            </div>
 
                         </div>
 
@@ -351,6 +357,16 @@
                 form.render();
             });
 
+            form.on('switch(AlertFlag)', function (data) {
+                console.log(data);
+                if (this.checked) {
+                    $('#MakerCode').css('display', 'block');
+                } else {
+                    $('#MakerCode').css('display', 'none');
+                }
+                form.render();
+            });
+
             //日期
             laydate.render({
                 elem: '#EffectStartDate',

+ 26 - 11
Areas/Admin/Views/MainServer/MsgAlert/Edit.cshtml

@@ -91,8 +91,7 @@
                                     <div class="layui-upload">
                                         <input type="hidden" id="BgPic" name="BgPic" value="@editData.BgPic">
                                         <button class="layui-btn" type="button" id="BgPicBtn">选择图片</button>
-                                        <div class="layui-inline layui-word-aux">@(new
-                                            MySystem.PublicFunction().GetUploadHint("MsgAlertBgPic"))</div>
+                                        <div class="layui-inline layui-word-aux">@(new MySystem.PublicFunction().GetUploadHint("MsgAlertBgPic"))</div>
                                     </div>
                                     <div style="margin-top:10px;" id="BgPicImage">
                                         @if (!string.IsNullOrEmpty(editData.BgPic))
@@ -183,14 +182,6 @@
                                         placeholder="请输入每日次数">
                                 </div>
                             </div>
-                            @* <div class="layui-form-item">
-                                <label class="layui-form-label">弹窗标识</label>
-                                <div class="layui-input-inline">
-                                <input type="checkbox" id="AlertFlag" name="AlertFlag" value="1"
-                                @(editData.AlertFlag == 1 ? "checked=checked" : "") lay-skin="switch"
-                                lay-filter="switchTest" title="开关">
-                                </div>
-                                </div> *@
                             <div class="layui-form-item">
                                 <label class="layui-form-label">是否周末</label>
                                 <div class="layui-input-inline">
@@ -199,6 +190,20 @@
                                         lay-filter="switchTest" title="开关">
                                 </div>
                             </div>
+                            <div class="layui-form-item" id="MakerCode" style="display: none;">
+                                <label class="layui-form-label">指定推送</label>
+                                <div class="layui-input-inline">
+                                    <input type="checkbox" id="AlertFlag" name="AlertFlag" value="1"
+                                        @(editData.AlertFlag == 1 ? "checked=checked" : "") lay-skin="switch"
+                                        lay-filter="AlertFlag" title="开关">
+                                </div>
+                            </div>
+                            <div class="layui-form-item">
+                                <label class="layui-form-label">创客编号</label>
+                                <div class="layui-input-block">
+                                    <textarea class="layui-textarea" lay-verify="" name="MakerCodes" id="MakerCodes" placeholder="请输入创客编号,多个创客编号用回车隔开"></textarea>
+                                </div>
+                            </div>
 
                         </div>
 
@@ -367,7 +372,7 @@
                     $('#Titles').hide();
                     $('#BgPics').show();
                     $('#Button').hide();
-                }else if (data.value == '3') {
+                } else if (data.value == '3') {
                     $('#Titles').hide();
                     $('#BgPics').show();
                     $('#Button').hide();
@@ -389,6 +394,16 @@
                 $('#Button').hide();
             }
 
+            form.on('switch(AlertFlag)', function (data) {
+                console.log(data);
+                if (this.checked) {
+                    $('#MakerCode').css('display', 'block');
+                } else {
+                    $('#MakerCode').css('display', 'none');
+                }
+                form.render();
+            });
+
             //日期
             laydate.render({
                 elem: '#EffectStartDate',

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

@@ -58,6 +58,13 @@
                                 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="PosSn" 
+                                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>查询

+ 105 - 0
Areas/Admin/Views/MainServer/PosMerchantInfoList/Indexrg.cshtml

@@ -0,0 +1,105 @@
+@{
+    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">
+                <input class="layui-input" type="hidden" name="ShowFlag" autocomplete="off">
+                <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">
+                        <label class="layui-form-label">手机号</label>
+                        <div class="layui-input-inline">
+                            <input class="layui-input" type="text" name="MerchantMobile" 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="PosSn" 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>
+                    <blockquote class="layui-elem-quote layui-text">
+                        退押总金额:<span style="color: #f00;" id="ReturnAmounts">0.00</span> | 实际总金额:<span style="color: #f00;" id="ReturnAmount">0.00</span>
+                    </blockquote>
+                </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/PosMerchantInforgList_Admin.js?r=@DateTime.Now.ToString("yyyyMMddHHmmss")"></script>
+</body>
+
+</html>

+ 0 - 6
Areas/Admin/Views/MainServer/RecycMachineOrder/Index.cshtml

@@ -50,12 +50,6 @@
                             <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="UserIdRealName" autocomplete="off">
-                        </div>
-                    </div>
                     <div class="layui-inline">
                         <label class="layui-form-label">创建时间</label>
                         <div class="layui-input-inline">

+ 3 - 5
Areas/Admin/Views/MainServer/RecycMachineOrderPos/Index.cshtml

@@ -46,11 +46,9 @@
             <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">申请订单Id</label>
+                        <label class="layui-form-label">申请订单</label>
                         <div class="layui-input-inline">
-                            <select id="OrderIdSelect" name="OrderIdSelect" lay-search="">
-                                <option value="">全部...</option>
-                            </select>
+                            <input class="layui-input" type="text" name="OrderNo" placeholder="" autocomplete="off">
                         </div>
                     </div>
                     <div class="layui-inline">
@@ -67,7 +65,7 @@
                         </div>
                     </div>
                     <div class="layui-inline">
-                        <label class="layui-form-label">激活状态</label>
+                        <label class="layui-form-label">状态</label>
                         <div class="layui-input-inline">
                             <select id="StatusSelect" name="StatusSelect" lay-search="">
                                 <option value="">全部...</option>

+ 19 - 0
Areas/Admin/Views/MainServer/StoreHouse/Index.cshtml

@@ -104,6 +104,21 @@
                             </select>
                         </div>
                     </div>
+                    @{
+                        Dictionary<string, string> ProfitObjectsActivesDic = new MySystem.DictionaryClass().getKqProductBrandDic();
+                    }
+                    <div class="layui-inline">
+                        <label class="layui-form-label">品牌</label>
+                        <div class="layui-input-inline">
+                            <select id="BrandId" name="BrandId" lay-search="">
+                                <option value="">全部...</option>
+                                @foreach (string key in ProfitObjectsActivesDic.Keys)
+                                {
+                                    <option value="@key">@ProfitObjectsActivesDic[key]</option>
+                                }
+                            </select>
+                        </div>
+                    </div>
                     <div class="layui-inline">
                         <label class="layui-form-label">创建时间</label>
                         <div class="layui-input-inline">
@@ -232,6 +247,10 @@
                     {
                                     <a class="layui-btn layui-btn-normal layui-btn-xs" lay-event="sycn"><i class="layui-icon layui-icon-edit"></i>同步库存</a>
                     }
+                    @if (RightInfo.Contains("," + right + "_sycnamount,"))
+                    {
+                                    <a class="layui-btn layui-btn-normal layui-btn-xs" lay-event="sycnamount"><i class="layui-icon layui-icon-edit"></i>重置仓库额度</a>
+                    }
                 </script>
             </div>
         </div>

+ 5 - 0
Areas/Admin/Views/MainServer/ToChargeBackRecord/Index.cshtml

@@ -112,6 +112,11 @@
                         <button class="layui-btn" data-type="ImportData"><i
                             class="layui-icon layui-icon-upload layuiadmin-button-btn"></i>机具扣款退还</button>
                     }
+                    @* @if (RightInfo.Contains("," + right + "_import,"))
+                    {
+                        <button class="layui-btn" data-type="ImportDatas"><i
+                            class="layui-icon layui-icon-upload layuiadmin-button-btn"></i>机具回收确认退还</button>
+                    } *@
                 </div>
 
                 <table id="LAY-list-manage" lay-filter="LAY-list-manage"></table>

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

@@ -156,6 +156,9 @@
                     {{# if(d.QueryCount == 1 && d.Status == 2) { }}
                     <a class="layui-btn layui-btn-normal layui-btn-xs" lay-event="cancel"><i class="layui-icon layui-icon-edit"></i>解除</a>
                     {{# } }}
+                    {{# if(d.QueryCount == 1 && d.Status == 1 && d.UpdateMan == '云汇算') { }}
+                    <a class="layui-btn layui-btn-normal layui-btn-xs" lay-event="refund"><i class="layui-icon layui-icon-edit"></i>退汇</a>
+                    {{# } }}
                 </script>
             </div>
         </div>

+ 3 - 0
Startup.cs

@@ -142,6 +142,9 @@ namespace MySystem
             OpExcelHelper.Instance.Start();
             TestHelper.Instance.Start();
             
+            TimeOutPosSendMessageService.Instance.Start();//过期机具循环截止时间超过10天预扣费消息推送
+            TimeOutPosChargeService.Instance.Start();//过期机具循环截止时间超过15天执行扣费
+            // TimeOutPosChargeReturnService.Instance.Start();//过期购买机具循环截止时间超过15天激活扣费退还
         }
 
 

BIN
wwwroot/.DS_Store


+ 31 - 1
wwwroot/layuiadmin/modules_main/MerchantDepositReturns_Admin.js

@@ -37,7 +37,7 @@ layui.config({
     var laydate = layui.laydate;
     var layCreateDate = laydate.render({
         elem: '#CreateDate',
-        type: 'datetime',
+        type: 'date',
         range: true,
         trigger: 'click',
         change: function (value, date, endDate) {
@@ -63,6 +63,35 @@ layui.config({
         }
     });
 
+    var laydates = layui.laydate;
+    var layCreateDate = laydates.render({
+        elem: '#UpdateDate',
+        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) {
+                $('#UpdateDate').val(value);
+            }
+        }
+    });
+
 
     //excel导入
     excel = layui.excel;
@@ -98,6 +127,7 @@ layui.config({
             { type: 'checkbox', fixed: 'left' }
             , { field: 'Id', fixed: 'left', title: 'ID', width: 80, sort: true, unresize: true }
             , { field: 'CreateDate', width: 200, title: '创建时间', sort: true }
+            , { field: 'UpdateDate', width: 200, title: '发放时间', sort: true }
             , { field: 'StatusName', width: 200, title: '状态', sort: true }
             , { field: 'SeoDescription', width: 200, title: '描述', sort: true }
             , { field: 'BrandId', width: 200, title: '品牌', sort: true }

+ 31 - 1
wwwroot/layuiadmin/modules_main/MerchantDepositReturnsn_Admin.js

@@ -37,7 +37,7 @@ layui.config({
     var laydate = layui.laydate;
     var layCreateDate = laydate.render({
         elem: '#CreateDate',
-        type: 'datetime',
+        type: 'date',
         range: true,
         trigger: 'click',
         change: function (value, date, endDate) {
@@ -63,6 +63,35 @@ layui.config({
         }
     });
 
+    var laydates = layui.laydate;
+    var layCreateDate = laydates.render({
+        elem: '#UpdateDate',
+        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) {
+                $('#UpdateDate').val(value);
+            }
+        }
+    });
+
 
     //excel导入
     excel = layui.excel;
@@ -98,6 +127,7 @@ layui.config({
             { type: 'checkbox', fixed: 'left' }
             , { field: 'Id', fixed: 'left', title: 'ID', width: 80, sort: true, unresize: true }
             , { field: 'CreateDate', width: 200, title: '创建时间', sort: true }
+            , { field: 'UpdateDate', width: 200, title: '发放时间', sort: true }
             , { field: 'StatusName', width: 200, title: '状态', sort: true }
             , { field: 'SeoDescription', width: 200, title: '描述', sort: true }
             , { field: 'BrandId', width: 200, title: '品牌', sort: true }

+ 6 - 2
wwwroot/layuiadmin/modules_main/PosMerchantInfoList_Admin.js

@@ -292,7 +292,7 @@ layui.config({
     form.on('submit(LAY-list-front-search)', function (data) {
         var field = data.field;
         field.ShowFlag = 1;
-        if (field.MerIdcardNo == "" && field.MerchantName == "" && field.MerchantMobile == "") {
+        if (field.MerIdcardNo == "" && field.MerchantName == "" && field.MerchantMobile == "" && field.PosSn == "") {
             layer.alert('请输入查询条件');
         }
         else {
@@ -308,8 +308,12 @@ layui.config({
     form.on('submit(LAY-list-front-searchall)', function (data) {
         var field = data.field;
         field.ShowFlag = 1;
+        field.MerIdcardNo = "";
+        field.MerchantName = "";
+        field.MerchantMobile = "";
+        field.PosSn = "";
         table.reload('LAY-list-manage', {
-            where: null,
+            where: field,
             page: {
                 curr: 1
             }

+ 513 - 0
wwwroot/layuiadmin/modules_main/PosMerchantInforgList_Admin.js

@@ -0,0 +1,513 @@
+var ExcelData;
+function ConfirmImport() {
+    $.ajax({
+        type: "POST",
+        url: "/Admin/PosMerchantInfoList/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/PosMerchantInfoList/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/IndexrgData' //模拟接口
+        , cols: [[
+            { type: 'checkbox', fixed: 'left' }
+            , { field: 'KqMerNo', 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: 'KqSnNo', width: 220, title: '机具SN号', sort: true }
+            , { field: 'SeoKeyword', width: 220, title: '实际押金', sort: true }
+            , { field: 'PrizeParams', width: 220, title: '设置押金', sort: true }
+            , { field: 'Remark', width: 220, title: '已退金额', sort: true }
+        ]]
+        , where: {
+        }
+        , page: true
+        , limit: 30
+        , height: 'full-' + String($('.layui-card-header').height() + 130)
+        , text: '对不起,加载出现异常!'
+        , done: function (res, curr, count) {
+            $("#ReturnAmount").text(res.other.ReturnAmount);
+            $("#ReturnAmounts").text(res.other.ReturnAmounts);
+            $(".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/PosMerchantInfoList/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/PosMerchantInfoList/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/PosMerchantInfoList/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) {
+        var field = data.field;
+        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/PosMerchantInfoList/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/PosMerchantInfoList/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', '280px'],
+                content: $('#excelForm'),
+                cancel: function () {
+                }
+            });
+            $("#excelTemp").html('<a href="/users/人工已退模版.xlsx">点击下载人工已退模版</a>');
+        }
+        , 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/PosMerchantInfoList/ExportExcel?r=" + Math.random(1),
+                data: userdata,
+                dataType: "json",
+                success: function (data) {
+                    data.Obj.unshift(data.Fields);
+                    excel.exportExcel(data.Obj, data.Info, 'xlsx');
+                }
+            });
+        }
+        , BatchSetting: 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/PosMerchantInfoList/BatchSetting?r=" + Math.random(1),
+                        data: "Id=" + ids,
+                        dataType: "text",
+                        success: function (data) {
+                            layer.close(index);
+                            if (data == "success") {
+                                layer.msg('成功', {
+                                    time: 1000
+                                }, function () {
+                                    table.reload('LAY-list-manage'); //数据刷新
+                                });
+                            } else {
+                                layer.msg(data);
+                            }
+                        }
+                    });
+                });
+            }
+        }
+        , 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/PosMerchantInfoList/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/PosMerchantInfoList/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) : '';
+    });
+});

+ 7 - 4
wwwroot/layuiadmin/modules_main/RecycMachineOrderPos_Admin.js

@@ -93,13 +93,16 @@ layui.config({
             { type: 'checkbox', fixed: 'left' }
             , { field: 'Id', fixed: 'left', title: 'ID', width: 80, sort: true, unresize: true }
             , { field: 'CreateDate', width: 200, title: '创建时间', sort: true }
+            , { field: 'UpdateDate', width: 200, title: '最后操作时间', sort: true }
+            , { field: 'Status', width: 200, title: '状态', sort: true }
+            , { field: 'OrderNo', width: 200, title: '订单号', sort: true }
             , { field: 'SnNo', width: 200, title: '机具SN', sort: true }
-            , { field: 'ResultDate', width: 200, title: '确认或驳回时间', sort: true }
-            , { field: 'CancelDate', width: 200, title: '创客撤销时间', sort: true }
+            // , { field: 'ResultDate', width: 200, title: '确认或驳回时间', sort: true }
+            // , { field: 'CancelDate', width: 200, title: '创客撤销时间', sort: true }
             , { field: 'BrandId', width: 200, title: '机具品牌', sort: true }
 
-            , { field: 'Sort', fixed: 'right', title: '排序', width: 80, edit: 'text' }
-            , { title: '操作', align: 'center', fixed: 'right', toolbar: '#table-list-tools' }
+            // , { field: 'Sort', fixed: 'right', title: '排序', width: 80, edit: 'text' }
+            // , { title: '操作', align: 'center', fixed: 'right', toolbar: '#table-list-tools' }
         ]]
         , where: {
             OrderId: OrderId

+ 5 - 3
wwwroot/layuiadmin/modules_main/RecycMachineOrder_Admin.js

@@ -95,17 +95,19 @@ layui.config({
             , { field: 'UserIdMakerCode', width: 200, title: '创客编号', sort: true }
             , { field: 'UserIdRealName', width: 200, title: '创客真实姓名', sort: true }
             , { field: 'CreateDate', width: 200, title: '创建时间', sort: true }
+            , { field: 'UpdateDate', width: 200, title: '最后操作时间', sort: true }
+            , { field: 'BrandId', width: 200, title: '品牌', sort: true }
             , { field: 'RecycStoreIdStoreNo', width: 200, title: '退回仓库编号', sort: true }
             , { field: 'RecycStoreIdStoreName', width: 200, title: '退回仓库名称', sort: true }
             , { field: 'RecycStoreIdManageMobile', width: 200, title: '退回仓库管理者手机号', sort: true }
             , { field: 'PostType', width: 200, title: '寄回方式', sort: true }
             , { field: 'ErpName', width: 200, title: '快递名称', sort: true }
             , { field: 'ErpCode', width: 200, title: '快递单号', sort: true }
-            , { field: 'ResultDate', width: 200, title: '确认或驳回时间', sort: true }
-            , { field: 'CancelDate', width: 200, title: '创客撤销时间', sort: true }
+            // , { field: 'ResultDate', width: 200, title: '确认或驳回时间', sort: true }
+            // , { field: 'CancelDate', width: 200, title: '创客撤销时间', sort: true }
             , { field: 'RecycOrderNo', width: 200, title: '申请单号', sort: true }
 
-            , { field: 'Sort', fixed: 'right', title: '排序', width: 80, edit: 'text' }
+            // , { field: 'Sort', fixed: 'right', title: '排序', width: 80, edit: 'text' }
             , { title: '操作', align: 'center', fixed: 'right', toolbar: '#table-list-tools' }
         ]]
         , where: {

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

@@ -366,6 +366,28 @@ layui.config({
                     }
                 });
             });
+        } else if (obj.event === 'sycnamount') {
+            var index = layer.confirm('确定要重置该仓库额度吗?', function (index) {
+                layer.close(index);
+                var loadindex = layer.load(1, {
+                    shade: [0.5, '#000']
+                });
+                $.ajax({
+                    type: "POST",
+                    url: "/Admin/StoreHouse/SycnAmountData?r=" + Math.random(1),
+                    data: "Id=" + data.Id,
+                    dataType: "text",
+                    success: function (data) {
+                        layer.close(loadindex);
+                        if (data == "success") {
+                            layer.msg('重置成功');
+                            table.reload('LAY-list-manage');
+                        } else {
+                            layer.msg(data);
+                        }
+                    }
+                });
+            });
         } else if (obj.event === 'edit') {
             var tr = $(obj.tr);
             var perContent = layer.open({
@@ -496,7 +518,7 @@ layui.config({
     form.on('submit(LAY-list-front-search)', function (data) {
         var field = data.field;
         field.ShowFlag = 1;
-        if (field.StoreNo == "" && field.StoreName == "" && field.UserIdMakerCode == "" && field.UserIdRealName == "" && field.ManageUserIdRealName == "" && field.ManageUserIdMobile == "" && field.ManageUserIdMakerCode == "" && field.ManagerEmail == "" && field.StoreStatusSelect == "" && field.CreateDateData == "" && field.MakerCode == "" && field.YZOpCode == "" && field.OpStatusSelect == "" && field.StoreKindSelect == "") {
+        if (field.StoreNo == "" && field.StoreName == "" && field.UserIdMakerCode == "" && field.BrandId == "" && field.UserIdRealName == "" && field.ManageUserIdRealName == "" && field.ManageUserIdMobile == "" && field.ManageUserIdMakerCode == "" && field.ManagerEmail == "" && field.StoreStatusSelect == "" && field.CreateDateData == "" && field.MakerCode == "" && field.YZOpCode == "" && field.OpStatusSelect == "" && field.StoreKindSelect == "") {
             layer.alert('请输入查询条件');
         }
         else {
@@ -517,6 +539,7 @@ layui.config({
         field.StoreName = "";
         field.ManagerEmail = "";
         field.UserIdMakerCode = "";
+        field.BrandId == "";
         field.UserIdRealName = "";
         field.ManageUserIdRealName = "";
         field.ManageUserIdMobile = "";

+ 39 - 0
wwwroot/layuiadmin/modules_main/ToChargeBackRecord_Admin.js

@@ -1,10 +1,36 @@
 var ExcelData, ExcelKind;
+//机具扣款退还
 function ConfirmImport() {
     $.ajax({
         type: "POST",
         url: "/Admin/ToChargeBackRecord/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 if (data.indexOf("Warning") == 0) {
+                var datalist = data.split('|');
+                console.log(datalist);
+                layer.alert(datalist[1], { time: 20000 }, function () {
+                    window.location.reload();
+                });
+            } else {
+                layer.msg(data);
+            }
+        }
+    });
+}
+
+//机具回收确认退还
+function ConfirmImports() {
+    $.ajax({
+        type: "POST",
+        url: "/Admin/ToChargeBackRecord/Imports?r=" + Math.random(1),
+        data: "ExcelData=" + encodeURIComponent(JSON.stringify(ExcelData)),
+        dataType: "text",
         success: function (data) {
             if (data == "success") {
                 layer.msg("导入成功", { time: 2000 }, function () {
@@ -330,6 +356,19 @@ layui.config({
             });
             $("#excelTemp").html('<a href="/users/机具扣款退还模版.xlsx">点击下载机具扣款退还模版文件</a>');
         }
+        , ImportDatas: function () {
+            ExcelKind = 1;
+            layer.open({
+                type: 1,
+                title: '导入',
+                maxmin: false,
+                area: ['460px', '280px'],
+                content: $('#excelForm'),
+                cancel: function () {
+                }
+            });
+            $("#excelTemp").html('<a href="/users/机具扣款退还模版.xlsx">点击下载机具扣款退还模版文件</a>');
+        }
         , ExportExcel: function () {
             var userdata = '';
             $(".layuiadmin-card-header-auto input").each(function (i) {

+ 18 - 0
wwwroot/layuiadmin/modules_main/UserCashRecord_Admin.js

@@ -270,6 +270,24 @@ layui.config({
                     }
                 });
             });
+        } else if (obj.event === 'refund') {
+            var index = layer.confirm('确定要退汇吗?操作后不能恢复!', function (index) {
+                $.ajax({
+                    type: "POST",
+                    url: "/Admin/UserCashRecord/Refund?r=" + Math.random(1),
+                    data: "Id=" + data.Id,
+                    dataType: "text",
+                    success: function (data) {
+                        layer.close(index);
+                        if (data == "success") {
+                            parent.layer.msg('已退汇');
+                            table.reload('LAY-list-manage'); //数据刷新
+                        } else {
+                            parent.layer.msg(data);
+                        }
+                    }
+                });
+            });
         } else if (obj.event === 'edit') {
             var tr = $(obj.tr);
             var perContent = layer.open({

+ 2 - 2
wwwroot/layuiadmin/modules_sp/BindRecord_Admin.js

@@ -105,9 +105,9 @@ layui.config({
             // , { field: 'MerOperateType', width: 200, title: '操作类型', sort: true }
             // , { field: 'MerStatus', width: 200, title: '商户状态', sort: true }
             , { field: 'ProductType', width: 200, title: '产品类型', sort: true }
-            , { field: 'MerNewSnNo', width: 200, title: '新终端机身号', sort: true }
+            , { field: 'MerNewSnNo', width: 200, title: '手机号', sort: true }
             // , { field: 'UpdateTime', width: 200, title: '更新时间', sort: true }
-            , { field: 'ChannelSerial', width: 200, title: '渠道流水号', sort: true }
+            , { field: 'Field1', width: 200, title: '操作类型', sort: true }
 
             // , { field: 'Sort', fixed: 'right', title: '排序', width: 80, edit: 'text' }
             // , { title: '操作', align: 'center', fixed: 'right', toolbar: '#table-list-tools' }

+ 1 - 0
wwwroot/layuiadmin/modules_sp/UnBindRecord_Admin.js

@@ -102,6 +102,7 @@ layui.config({
             , { field: 'UnBindTime', width: 200, title: '解绑时间', sort: true }
             // , { field: 'ChannelSerial', width: 200, title: '渠道流水号', sort: true }
             , { field: 'AgentNo', width: 200, title: '机构号', sort: true }
+            , { field: 'Field1', width: 200, title: '操作类型', sort: true }
 
             // , { field: 'Sort', fixed: 'right', title: '排序', width: 80, edit: 'text' }
             // , { title: '操作', align: 'center', fixed: 'right', toolbar: '#table-list-tools' }

BIN
wwwroot/users/人工已退模版.xlsx