DuGuYang před 3 roky
rodič
revize
f993490f4d

+ 319 - 313
Areas/Admin/Controllers/MainServer/ExportExcelsController.cs

@@ -1,313 +1,319 @@
-// /*
-//  * excel导出数据
-//  */
-
-// using System;
-// using System.Web;
-// using System.Collections.Generic;
-// using System.Diagnostics;
-// using System.Linq;
-// using System.Threading.Tasks;
-// using Microsoft.AspNetCore.Mvc;
-// using Microsoft.AspNetCore.Http;
-// using Microsoft.Extensions.Logging;
-// using Microsoft.Extensions.Options;
-// using MySystem.Models;
-// using Library;
-// using LitJson;
-// using MySystemLib;
-
-// namespace MySystem.Areas.Admin.Controllers
-// {
-//     [Area("Admin")]
-//     [Route("Admin/[controller]/[action]")]
-//     public class ExportExcelsController : BaseController
-//     {
-//         public ExportExcelsController(IHttpContextAccessor accessor, ILogger<BaseController> logger, IOptions<Setting> setting) : base(accessor, logger, setting)
-//         {
-//         }
-
-//         #region excel导出数据列表
-
-//         /// <summary>
-//         /// 根据条件查询excel导出数据列表
-//         /// </summary>
-//         /// <returns></returns>
-//         public IActionResult Index(ExportExcels data, string right)
-//         {
-//             ViewBag.RightInfo = RightInfo;
-//             ViewBag.right = right;
-
-
-//             return View();
-//         }
-
-//         #endregion
-
-//         #region 根据条件查询excel导出数据列表
-
-//         /// <summary>
-//         /// excel导出数据列表
-//         /// </summary>
-//         /// <returns></returns>
-//         public JsonResult IndexData(ExportExcels data, int page = 1, int limit = 30)
-//         {
-
-//             Dictionary<string, string> Fields = new Dictionary<string, string>();
-
-//             Fields.Add("CreateDate", "3"); //时间
-//             Fields.Add("FileName", "1"); //文件名
-//             Fields.Add("FileUrl", "1"); //文件路径
-
-
-//             string condition = " and Status>-1";
-
-
-//             Dictionary<string, object> obj = new AdminContent(_accessor.HttpContext, SystemPublicFuction.dbtables).IndexData("ExportExcels", 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)
-//             {
-
-//             }
-//             return Json(obj);
-//         }
-
-//         #endregion
-
-//         #region 增加excel导出数据
-
-//         /// <summary>
-//         /// 增加或修改excel导出数据信息
-//         /// </summary>
-//         /// <returns></returns>
-//         public IActionResult Add(string right)
-//         {
-//             ViewBag.RightInfo = RightInfo;
-//             ViewBag.right = right;
-
-
-//             return View();
-//         }
-
-//         #endregion
-
-//         #region 增加excel导出数据
-
-//         /// <summary>
-//         /// 增加或修改excel导出数据信息
-//         /// </summary>
-//         /// <returns></returns>
-//         [HttpPost]
-//         public string Add(ExportExcels data)
-//         {
-//             Dictionary<string, object> Fields = new Dictionary<string, object>();
-
-//             Fields.Add("FileName", data.FileName); //文件名
-//             Fields.Add("FileUrl", data.FileUrl); //文件路径
-
-//             Fields.Add("SeoTitle", data.SeoTitle);
-//             Fields.Add("SeoKeyword", data.SeoKeyword);
-//             Fields.Add("SeoDescription", data.SeoDescription);
-//             int Id = new AdminContent(_accessor.HttpContext, SystemPublicFuction.dbtables).Add("ExportExcels", Fields, 0);
-//             AddSysLog(data.Id.ToString(), "ExportExcels", "add");
-//             db.SaveChanges();
-
-//             return "success";
-//         }
-
-//         #endregion
-
-//         #region 修改excel导出数据
-
-//         /// <summary>
-//         /// 增加或修改excel导出数据信息
-//         /// </summary>
-//         /// <returns></returns>
-//         public IActionResult Edit(string right, int Id = 0)
-//         {
-//             ViewBag.RightInfo = RightInfo;
-//             ViewBag.right = right;
-
-
-//             ExportExcels editData = db.ExportExcels.FirstOrDefault(m => m.Id == Id) ?? new ExportExcels();
-//             ViewBag.data = editData;
-//             return View();
-//         }
-
-//         #endregion
-
-//         #region 修改excel导出数据
-
-//         /// <summary>
-//         /// 增加或修改excel导出数据信息
-//         /// </summary>
-//         /// <returns></returns>
-//         [HttpPost]
-//         public string Edit(ExportExcels data)
-//         {
-//             Dictionary<string, object> Fields = new Dictionary<string, object>();
-
-//             Fields.Add("FileName", data.FileName); //文件名
-//             Fields.Add("FileUrl", data.FileUrl); //文件路径
-
-//             Fields.Add("SeoTitle", data.SeoTitle);
-//             Fields.Add("SeoKeyword", data.SeoKeyword);
-//             Fields.Add("SeoDescription", data.SeoDescription);
-//             new AdminContent(_accessor.HttpContext, SystemPublicFuction.dbtables).Edit("ExportExcels", Fields, data.Id);
-//             AddSysLog(data.Id.ToString(), "ExportExcels", "update");
-//             db.SaveChanges();
-
-//             return "success";
-//         }
-
-//         #endregion
-
-//         #region 删除excel导出数据信息
-
-//         /// <summary>
-//         /// 删除excel导出数据信息
-//         /// </summary>
-//         /// <returns></returns>
-//         public string Delete(string Id)
-//         {
-//             string[] idlist = Id.Split(new char[] { ',' });
-//             AddSysLog(Id, "ExportExcels", "del");
-//             foreach (string subid in idlist)
-//             {
-//                 int id = int.Parse(subid);
-//                 Dictionary<string, object> Fields = new Dictionary<string, object>();
-//                 Fields.Add("Status", -1);
-//                 new AdminContent(_accessor.HttpContext, SystemPublicFuction.dbtables).Edit("ExportExcels", Fields, id);
-//             }
-//             db.SaveChanges();
-
-//             return "success";
-//         }
-
-//         #endregion
-
-//         #region 开启
-
-//         /// <summary>
-//         /// 开启
-//         /// </summary>
-//         /// <returns></returns>
-//         public string Open(string Id)
-//         {
-//             string[] idlist = Id.Split(new char[] { ',' });
-//             AddSysLog(Id, "ExportExcels", "open");
-//             foreach (string subid in idlist)
-//             {
-//                 int id = int.Parse(subid);
-//                 Dictionary<string, object> Fields = new Dictionary<string, object>();
-//                 Fields.Add("Status", 1);
-//                 new AdminContent(_accessor.HttpContext, SystemPublicFuction.dbtables).Edit("ExportExcels", Fields, id);
-//             }
-//             db.SaveChanges();
-//             return "success";
-//         }
-
-//         #endregion
-
-//         #region 关闭
-
-//         /// <summary>
-//         /// 关闭
-//         /// </summary>
-//         /// <returns></returns>
-//         public string Close(string Id)
-//         {
-//             string[] idlist = Id.Split(new char[] { ',' });
-//             AddSysLog(Id, "ExportExcels", "close");
-//             foreach (string subid in idlist)
-//             {
-//                 int id = int.Parse(subid);
-//                 Dictionary<string, object> Fields = new Dictionary<string, object>();
-//                 Fields.Add("Status", 0);
-//                 new AdminContent(_accessor.HttpContext, SystemPublicFuction.dbtables).Edit("ExportExcels", Fields, id);
-//             }
-//             db.SaveChanges();
-//             return "success";
-//         }
-
-//         #endregion
-
-//         #region 排序
-//         /// <summary>
-//         /// 排序
-//         /// </summary>
-//         /// <param name="Id"></param>
-//         public string Sort(int Id, int Sort)
-//         {
-//             new AdminContent(_accessor.HttpContext, SystemPublicFuction.dbtables).Sort("ExportExcels", Sort, Id);
-
-//             AddSysLog(Id.ToString(), "ExportExcels", "sort");
-//             return "success";
-//         }
-//         #endregion
-
-//         #region 导入数据
-//         /// <summary>
-//         /// 导入数据
-//         /// </summary>
-//         /// <param name="ExcelData"></param>
-//         public string Import(string ExcelData)
-//         {
-//             ExcelData = HttpUtility.UrlDecode(ExcelData);
-//             JsonData list = JsonMapper.ToObject(ExcelData);
-//             for (int i = 1; i < list.Count; i++)
-//             {
-//                 JsonData dr = list[i];
-
-//                 db.ExportExcels.Add(new ExportExcels()
-//                 {
-//                     CreateDate = DateTime.Now,
-//                     UpdateDate = DateTime.Now,
-
-//                 });
-//                 db.SaveChanges();
-//             }
-//             AddSysLog("0", "ExportExcels", "Import");
-//             return "success";
-//         }
-//         #endregion
-
-//         #region 导出Excel
-
-//         /// <summary>
-//         /// 导出Excel
-//         /// </summary>
-//         /// <returns></returns>
-//         public JsonResult ExportExcel(ExportExcels data)
-//         {
-//             Dictionary<string, string> Fields = new Dictionary<string, string>();
-//             Fields.Add("CreateDate", "3"); //时间
-//             Fields.Add("FileName", "1"); //文件名
-//             Fields.Add("FileUrl", "1"); //文件路径
-
-
-//             string condition = " and Status>-1";
-
-
-//             Dictionary<string, object> obj = new AdminContent(_accessor.HttpContext, SystemPublicFuction.dbtables).IndexData("ExportExcels", Fields, "Id desc", "0", 1, 20000, condition, "", false);
-//             List<Dictionary<string, object>> diclist = obj["data"] as List<Dictionary<string, object>>;
-//             foreach (Dictionary<string, object> dic in diclist)
-//             {
-
-//             }
-
-//             Dictionary<string, object> result = new Dictionary<string, object>();
-//             result.Add("Status", "1");
-//             result.Add("Info", "Excel报表-" + DateTime.Now.ToString("yyyy-MM-ddTHH:mm:ss") + ".xlsx");
-//             result.Add("Obj", diclist);
-//             Dictionary<string, object> ReturnFields = new Dictionary<string, object>();
-
-//             result.Add("Fields", ReturnFields);
-//             AddSysLog("0", "ExportExcels", "ExportExcel");
-//             return Json(result);
-//         }
-
-//         #endregion
-
-//     }
-// }
+/*
+ * excel导出数据
+ */
+
+using System;
+using System.Web;
+using System.Collections.Generic;
+using System.Diagnostics;
+using System.Linq;
+using System.Threading.Tasks;
+using Microsoft.AspNetCore.Mvc;
+using Microsoft.AspNetCore.Http;
+using Microsoft.Extensions.Logging;
+using Microsoft.Extensions.Options;
+using MySystem.Models;
+using Library;
+using LitJson;
+using MySystemLib;
+
+namespace MySystem.Areas.Admin.Controllers
+{
+    [Area("Admin")]
+    [Route("Admin/[controller]/[action]")]
+    public class ExportExcelsController : BaseController
+    {
+        public ExportExcelsController(IHttpContextAccessor accessor, ILogger<BaseController> logger, IOptions<Setting> setting) : base(accessor, logger, setting)
+        {
+        }
+
+        #region excel导出数据列表
+
+        /// <summary>
+        /// 根据条件查询excel导出数据列表
+        /// </summary>
+        /// <returns></returns>
+        public IActionResult Index(ExportExcels data, string right)
+        {
+            ViewBag.RightInfo = RightInfo;
+            ViewBag.right = right;
+
+
+            return View();
+        }
+
+        #endregion
+
+        #region 根据条件查询excel导出数据列表
+
+        /// <summary>
+        /// excel导出数据列表
+        /// </summary>
+        /// <returns></returns>
+        public JsonResult IndexData(ExportExcels data, string CreateDateData, int page = 1, int limit = 30)
+        {
+
+            Dictionary<string, string> Fields = new Dictionary<string, string>();
+
+            // Fields.Add("CreateDate", "3"); //时间
+            Fields.Add("FileName", "1"); //文件名
+            Fields.Add("FileUrl", "1"); //文件路径
+
+            string condition = " and Status>-1 and SysId=" + SysId;
+            if (!string.IsNullOrEmpty(CreateDateData))
+            {
+                string[] datelist = CreateDateData.Split(new string[] { " - " }, StringSplitOptions.None);
+                string start = datelist[0];
+                string end = datelist[1];
+                condition += " and CreateDate>='" + start + " 00:00:00' and CreateDate<='" + end + " 23:59:59'";
+            }
+
+
+            Dictionary<string, object> obj = new AdminContent(_accessor.HttpContext, PublicFunction.MainTables).IndexData("ExportExcels", 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)
+            {
+
+            }
+            return Json(obj);
+        }
+
+        #endregion
+
+        #region 增加excel导出数据
+
+        /// <summary>
+        /// 增加或修改excel导出数据信息
+        /// </summary>
+        /// <returns></returns>
+        public IActionResult Add(string right)
+        {
+            ViewBag.RightInfo = RightInfo;
+            ViewBag.right = right;
+
+
+            return View();
+        }
+
+        #endregion
+
+        #region 增加excel导出数据
+
+        /// <summary>
+        /// 增加或修改excel导出数据信息
+        /// </summary>
+        /// <returns></returns>
+        [HttpPost]
+        public string Add(ExportExcels data)
+        {
+            Dictionary<string, object> Fields = new Dictionary<string, object>();
+
+            Fields.Add("FileName", data.FileName); //文件名
+            Fields.Add("FileUrl", data.FileUrl); //文件路径
+
+            Fields.Add("SeoTitle", data.SeoTitle);
+            Fields.Add("SeoKeyword", data.SeoKeyword);
+            Fields.Add("SeoDescription", data.SeoDescription);
+            int Id = new AdminContent(_accessor.HttpContext, PublicFunction.MainTables).Add("ExportExcels", Fields, 0);
+            AddSysLog(data.Id.ToString(), "ExportExcels", "add");
+            db.SaveChanges();
+
+            return "success";
+        }
+
+        #endregion
+
+        #region 修改excel导出数据
+
+        /// <summary>
+        /// 增加或修改excel导出数据信息
+        /// </summary>
+        /// <returns></returns>
+        public IActionResult Edit(string right, int Id = 0)
+        {
+            ViewBag.RightInfo = RightInfo;
+            ViewBag.right = right;
+
+
+            ExportExcels editData = db.ExportExcels.FirstOrDefault(m => m.Id == Id) ?? new ExportExcels();
+            ViewBag.data = editData;
+            return View();
+        }
+
+        #endregion
+
+        #region 修改excel导出数据
+
+        /// <summary>
+        /// 增加或修改excel导出数据信息
+        /// </summary>
+        /// <returns></returns>
+        [HttpPost]
+        public string Edit(ExportExcels data)
+        {
+            Dictionary<string, object> Fields = new Dictionary<string, object>();
+
+            Fields.Add("FileName", data.FileName); //文件名
+            Fields.Add("FileUrl", data.FileUrl); //文件路径
+
+            Fields.Add("SeoTitle", data.SeoTitle);
+            Fields.Add("SeoKeyword", data.SeoKeyword);
+            Fields.Add("SeoDescription", data.SeoDescription);
+            new AdminContent(_accessor.HttpContext, PublicFunction.MainTables).Edit("ExportExcels", Fields, data.Id);
+            AddSysLog(data.Id.ToString(), "ExportExcels", "update");
+            db.SaveChanges();
+
+            return "success";
+        }
+
+        #endregion
+
+        #region 删除excel导出数据信息
+
+        /// <summary>
+        /// 删除excel导出数据信息
+        /// </summary>
+        /// <returns></returns>
+        public string Delete(string Id)
+        {
+            string[] idlist = Id.Split(new char[] { ',' });
+            AddSysLog(Id, "ExportExcels", "del");
+            foreach (string subid in idlist)
+            {
+                int id = int.Parse(subid);
+                Dictionary<string, object> Fields = new Dictionary<string, object>();
+                Fields.Add("Status", -1);
+                new AdminContent(_accessor.HttpContext, PublicFunction.MainTables).Edit("ExportExcels", Fields, id);
+            }
+            db.SaveChanges();
+
+            return "success";
+        }
+
+        #endregion
+
+        #region 开启
+
+        /// <summary>
+        /// 开启
+        /// </summary>
+        /// <returns></returns>
+        public string Open(string Id)
+        {
+            string[] idlist = Id.Split(new char[] { ',' });
+            AddSysLog(Id, "ExportExcels", "open");
+            foreach (string subid in idlist)
+            {
+                int id = int.Parse(subid);
+                Dictionary<string, object> Fields = new Dictionary<string, object>();
+                Fields.Add("Status", 1);
+                new AdminContent(_accessor.HttpContext, PublicFunction.MainTables).Edit("ExportExcels", Fields, id);
+            }
+            db.SaveChanges();
+            return "success";
+        }
+
+        #endregion
+
+        #region 关闭
+
+        /// <summary>
+        /// 关闭
+        /// </summary>
+        /// <returns></returns>
+        public string Close(string Id)
+        {
+            string[] idlist = Id.Split(new char[] { ',' });
+            AddSysLog(Id, "ExportExcels", "close");
+            foreach (string subid in idlist)
+            {
+                int id = int.Parse(subid);
+                Dictionary<string, object> Fields = new Dictionary<string, object>();
+                Fields.Add("Status", 0);
+                new AdminContent(_accessor.HttpContext, PublicFunction.MainTables).Edit("ExportExcels", Fields, id);
+            }
+            db.SaveChanges();
+            return "success";
+        }
+
+        #endregion
+
+        #region 排序
+        /// <summary>
+        /// 排序
+        /// </summary>
+        /// <param name="Id"></param>
+        public string Sort(int Id, int Sort)
+        {
+            new AdminContent(_accessor.HttpContext, PublicFunction.MainTables).Sort("ExportExcels", Sort, Id);
+
+            AddSysLog(Id.ToString(), "ExportExcels", "sort");
+            return "success";
+        }
+        #endregion
+
+        #region 导入数据
+        /// <summary>
+        /// 导入数据
+        /// </summary>
+        /// <param name="ExcelData"></param>
+        public string Import(string ExcelData)
+        {
+            ExcelData = HttpUtility.UrlDecode(ExcelData);
+            JsonData list = JsonMapper.ToObject(ExcelData);
+            for (int i = 1; i < list.Count; i++)
+            {
+                JsonData dr = list[i];
+
+                db.ExportExcels.Add(new ExportExcels()
+                {
+                    CreateDate = DateTime.Now,
+                    UpdateDate = DateTime.Now,
+
+                });
+                db.SaveChanges();
+            }
+            AddSysLog("0", "ExportExcels", "Import");
+            return "success";
+        }
+        #endregion
+
+        #region 导出Excel
+
+        /// <summary>
+        /// 导出Excel
+        /// </summary>
+        /// <returns></returns>
+        public JsonResult ExportExcel(ExportExcels data)
+        {
+            Dictionary<string, string> Fields = new Dictionary<string, string>();
+            Fields.Add("CreateDate", "3"); //时间
+            Fields.Add("FileName", "1"); //文件名
+            Fields.Add("FileUrl", "1"); //文件路径
+
+
+            string condition = " and Status>-1";
+
+
+            Dictionary<string, object> obj = new AdminContent(_accessor.HttpContext, PublicFunction.MainTables).IndexData("ExportExcels", Fields, "Id desc", "0", 1, 20000, condition, "", false);
+            List<Dictionary<string, object>> diclist = obj["data"] as List<Dictionary<string, object>>;
+            foreach (Dictionary<string, object> dic in diclist)
+            {
+
+            }
+
+            Dictionary<string, object> result = new Dictionary<string, object>();
+            result.Add("Status", "1");
+            result.Add("Info", "Excel报表-" + DateTime.Now.ToString("yyyy-MM-ddTHH:mm:ss") + ".xlsx");
+            result.Add("Obj", diclist);
+            Dictionary<string, object> ReturnFields = new Dictionary<string, object>();
+
+            result.Add("Fields", ReturnFields);
+            AddSysLog("0", "ExportExcels", "ExportExcel");
+            return Json(result);
+        }
+
+        #endregion
+
+    }
+}

+ 49 - 0
Areas/Admin/Controllers/MainServer/SysToolsController.cs

@@ -4544,5 +4544,54 @@ namespace MySystem.Areas.Admin.Controllers
         #endregion
 
 
+
+        #region 指定文件Excel导出
+
+        public IActionResult ExportExcel(string right)
+        {
+            ViewBag.RightInfo = RightInfo;
+            ViewBag.right = right;
+
+            return View();
+        }
+
+        [HttpPost]
+        public string ExportExcelDo(string FileName, string Operator, string Sql, int Number = 0)
+        {
+            if (string.IsNullOrEmpty(FileName))
+            {
+                return "请输入文件名";
+            }
+            if (string.IsNullOrEmpty(Operator))
+            {
+                return "请输入后台操作人";
+            }
+            if (string.IsNullOrEmpty(Sql))
+            {
+                return "请输入SQL语句";
+            }
+            var SqlString = "";
+            if (Number == 0)
+            {
+                SqlString = Sql;
+            }
+            if (Number > 0)
+            {
+                SqlString = Sql + " LIMIT " + Number;
+            }
+            string[] Operators = Operator.Replace("\r", "").Replace("\n", ",").Split(',');
+            foreach (var item in Operators)
+            {
+                var sysAdmin = bsdb.SysAdmin.FirstOrDefault(m => m.AdminName == item && m.Status > -1);
+                string SendData = "{\"Operater\":\"" + sysAdmin.Id + "\",\"SqlString\":\"" + SqlString + "\",\"FileName\":\"" + FileName + "\",\"MaxCount\":\"" + Number + "\"}";
+                RedisDbconn.Instance.AddList("ExportQueue", SendData);
+            }
+
+            return "success";
+        }
+
+        #endregion
+
+
     }
 }

+ 47 - 31
Areas/Admin/Views/MainServer/ExportExcels/Index.cshtml

@@ -1,58 +1,68 @@
 @{
     string RightInfo = ViewBag.RightInfo as string;
     string right = ViewBag.right as string;
-    
+
 }
 <!DOCTYPE html>
 <html>
+
 <head>
     <meta charset="utf-8">
     <title>excel导出数据</title>
     <meta name="renderer" content="webkit">
     <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
-    <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <meta name="viewport"
+        content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0">
     <link rel="stylesheet" href="/layuiadmin/layui/css/layui.css" media="all">
     <link rel="stylesheet" href="/layuiadmin/style/admin.css" media="all">
     <script src="/admin/js/jquery-1.10.1.min.js"></script>
     <style>
-        .layui-input-inline{
+        .layui-input-inline {
             width: 175px !important;
         }
-        .layui-form-label{
+
+        .layui-form-label {
             width: 85px !important;
         }
-        .layui-inline{
+
+        .layui-inline {
             margin-right: 0px !important;
         }
-        .w100{
+
+        .w100 {
             width: 100px !important;
         }
-        .ml50{
+
+        .ml50 {
             margin-left: 50px !important;
         }
     </style>
 </head>
+
 <body>
     <div class="layui-fluid">
         <div class="layui-card">
             <div class="layui-form layui-card-header layuiadmin-card-header-auto">
                 <div class="layui-form-item">
                     <div class="layui-inline">
-<label class="layui-form-label">创建时间</label>
-<div class="layui-input-inline">
-<input class="layui-input" type="text" readonly name="CreateDateData" id="CreateDate" placeholder="" autocomplete="off">
-</div></div><div class="layui-inline">
-<label class="layui-form-label">文件名</label>
-<div class="layui-input-inline">
-<input class="layui-input" type="text" name="FileName" 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="FileUrl" placeholder="" autocomplete="off">
-</div>
-</div>
+                        <label class="layui-form-label">创建时间</label>
+                        <div class="layui-input-inline">
+                            <input class="layui-input" type="text" readonly name="CreateDateData" id="CreateDate"
+                                placeholder="" autocomplete="off">
+                        </div>
+                    </div>
+                    <div class="layui-inline">
+                        <label class="layui-form-label">文件名</label>
+                        <div class="layui-input-inline">
+                            <input class="layui-input" type="text" name="FileName" 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="FileUrl" placeholder="" autocomplete="off">
+                        </div>
+                    </div>
 
                     <div class="layui-inline ml50">
                         <button class="layui-btn" lay-submit lay-filter="LAY-list-front-search">
@@ -69,31 +79,36 @@
                 <div style="padding-bottom: 10px;">
                     @if (RightInfo.Contains("," + right + "_add,"))
                     {
-                        <button class="layui-btn" data-type="add"><i class="layui-icon layui-icon-add-1 layuiadmin-button-btn"></i>添加</button>
+                        <button class="layui-btn" data-type="add"><i
+                            class="layui-icon layui-icon-add-1 layuiadmin-button-btn"></i>添加</button>
                     }
                     @if (RightInfo.Contains("," + right + "_delete,"))
                     {
-                        <button class="layui-btn" data-type="batchdel"><i class="layui-icon layui-icon-delete layuiadmin-button-btn"></i>删除</button>
+                        <button class="layui-btn" data-type="batchdel"><i
+                            class="layui-icon layui-icon-delete layuiadmin-button-btn"></i>删除</button>
                     }
                     @if (RightInfo.Contains("," + right + "_edit,"))
                     {
-                    
+
                     }
                 </div>
-                
+
                 <table id="LAY-list-manage" lay-filter="LAY-list-manage"></table>
+                <script type="text/html" id="FileUrlTpl">
+                    <a href="{{d.FileUrl}}">{{d.FileUrl}}</a>
+                </script>
                 <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,"))
                     {
-                    
+
                     }
                 </script>
             </div>
@@ -125,9 +140,10 @@
     </div>
 
     <script src="/layuiadmin/layui/layui.js"></script>
-    <script src="/layuiadmin/modules/ExportExcels_Admin.js?r=@DateTime.Now.ToString("yyyyMMddHHmmss")"></script>
+    <script src="/layuiadmin/modules_main/ExportExcels_Admin.js?r=@DateTime.Now.ToString("yyyyMMddHHmmss")"></script>
     <script>
-        
+
     </script>
 </body>
+
 </html>

+ 290 - 0
Areas/Admin/Views/MainServer/SysTools/ExportExcel.cshtml

@@ -0,0 +1,290 @@
+@{
+    string RightInfo = ViewBag.RightInfo as string;
+    string right = ViewBag.right as string;
+
+}
+<!DOCTYPE html>
+<html>
+
+<head>
+    <meta charset="utf-8">
+    <title>指定文件Excel导出</title>
+    <meta name="renderer" content="webkit">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <meta name="viewport"
+        content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <link rel="stylesheet" href="/layuiadmin/layui/css/layui.css" media="all">
+    <script src="/admin/js/jquery-1.10.1.min.js"></script>
+    <script src="/admin/js/LAreaData2.js"></script>
+</head>
+
+<body>
+
+    <div class="layui-form" lay-filter="layuiadmin-form-useradmin" id="layuiadmin-form-useradmin">
+        <form class="layui-form" id="confirmFrm">
+            <div class="layui-card">
+                <div class="layui-card-body">
+                    <div class="layui-tab" lay-filter="mytabbar">
+                        <ul class="layui-tab-title">
+                            <li class="layui-this" lay-id="1">基本信息</li>
+                        </ul>
+                        <div class="layui-tab-content mt20">
+                            <div class="layui-tab-item layui-show">
+                                <div class="layui-form-item">
+                                    <label class="layui-form-label">文件名</label>
+                                    <div class="layui-input-inline">
+                                        <input class="layui-input" type="text" id="FileName" name="FileName"
+                                            maxlength="50" lay-verify="required|" autocomplete="off"
+                                            placeholder="请输入文件名">
+                                    </div>
+                                </div>
+                                <div class="layui-form-item">
+                                    <label class="layui-form-label">后台操作人</label>
+                                    <div class="layui-input-block">
+                                        <textarea class="layui-textarea" lay-verify="required|" name="Operator" id="Operator"
+                                            placeholder="请输入后台操作人,多个用回车隔开"></textarea>
+                                    </div>
+                                </div>
+                                <div class="layui-form-item">
+                                    <label class="layui-form-label">SQL语句</label>
+                                    <div class="layui-input-block">
+                                        <textarea class="layui-textarea" lay-verify="required|" name="Sql" id="Sql"
+                                            placeholder="请输入SQL语句"></textarea>
+                                    </div>
+                                </div>
+                                <div class="layui-form-item">
+                                    <label class="layui-form-label">返回数量</label>
+                                    <div class="layui-input-inline">
+                                        <input class="layui-input" type="number" id="Number" name="Number" value="0"
+                                            maxlength="50" lay-verify="" autocomplete="off" placeholder="请输入返回数量">
+                                    </div>
+                                </div>
+                            </div>
+                        </div>
+                    </div>
+                    <div class="layui-form-item ml10">
+                        <div class="layui-input-block">
+                            <button type="button" class="layui-btn" onclick="save()">提交</button>
+                        </div>
+                    </div>
+                </div>
+            </div>
+        </form>
+    </div>
+
+    <script src="/layuiadmin/layui/layui.js"></script>
+    <script
+        src="/other/oss/upload-min@(MySystem.OssHelper.Instance.OssStatus ? "-oss" : "").js?r=@DateTime.Now.ToString("yyyyMMddHHmmss")"></script>
+    <script src="/other/mybjq/kindeditor-min.js"></script>
+    <script src="/other/mybjq/lang/zh_CN.js"></script>
+    <script>
+        function save() {
+            var FileName = $('#FileName').val();
+            var Operator = $('#Operator').val();
+            var Sql = $('#Sql').val();
+            var Number = $('#Number').val();
+            if (FileName == '') {
+                layer.msg('请输入文件名');
+            }
+            else if (Operator == '') {
+                layer.msg('请输入后台操作人');
+            }
+            else if (Sql == '') {
+                layer.msg('请输入SQL语句');
+            }
+            else if (Number == '') {
+                layer.msg('请输入返回数量');
+            }
+            else {
+                var index = layer.confirm('确定发送吗?', function (index) {
+                    var indexs = layer.load(1, {
+                        shade: [0.5, '#000']
+                    });
+                    var userdata = $("#confirmFrm").serialize();
+                    $.ajax({
+                        type: "POST",
+                        url: "/Admin/SysTools/ExportExcelDo?r=" + Math.random(1),
+                        data: userdata,
+                        dataType: "text",
+                        success: function (data) {
+                            layer.close(index); //关闭弹层
+                            if (data == "success") {
+                                layer.close(indexs); //关闭弹层
+                                layer.msg('成功', {
+                                    time: 1000
+                                }, function () {
+                                    window.location.reload();
+                                });
+                            } else if (data.indexOf("Warning") == 0) {
+                                var datalist = data.split('|');
+                                layer.close(indexs); //关闭弹层
+                                layer.alert(datalist[1], { time: 20000 }, function () {
+                                    window.location.reload();
+                                });
+                            } else {
+                                layer.close(indexs); //关闭弹层
+                                layer.msg(data);
+                            }
+                        }
+                    });
+                });
+            }
+        }
+
+
+        //编辑器
+        KindEditor.ready(function (K) {
+
+        });
+
+        var ids = "";
+        function getChildren(obj) {
+            $.each(obj, function (index, value) {
+                var id = obj[index].id;
+                ids += id + ",";
+                var children = obj[index].children;
+                if (children) {
+                    getChildren(children);
+                }
+            });
+        }
+
+        function AreasProvinceInit(tagId, areasVal, form) {
+            for (var i = 0; i < provs_data.length; i++) {
+                var sel = "";
+                if (areasVal.indexOf(provs_data[i].text) > -1) {
+                    sel = " selected=selected";
+                }
+                $("#" + tagId + "Province").append('<option value="' + provs_data[i].value + '"' + sel + '>' + provs_data[i].text + '</option>');
+            }
+            form.render();
+        }
+
+        function AreasProvinceSelected(tagId, areasVal, form, value) {
+            $("#" + tagId + "City").html('<option value="">市</option>');
+            var list = citys_data[value];
+            for (var i = 0; i < list.length; i++) {
+                var sel = "";
+                if (areasVal.indexOf(list[i].text) > -1) {
+                    sel = " selected=selected";
+                }
+                $("#" + tagId + "City").append('<option value="' + list[i].value + '"' + sel + '>' + list[i].text + '</option>');
+            }
+            $("#" + tagId + "Area").html('<option value="">县/区</option>');
+            form.render();
+            $("#" + tagId + "").val($("#" + tagId + "Province option:selected").text() + "," + $("#" + tagId + "City option:selected").text() + "," + $("#" + tagId + "Area option:selected").text());
+        }
+
+        function AreasCitySelected(tagId, areasVal, form, value) {
+            $("#" + tagId + "Area").html('<option value="">县/区</option>');
+            var list = dists_data[value];
+            for (var i = 0; i < list.length; i++) {
+                var sel = "";
+                if (areasVal.indexOf(list[i].text) > -1) {
+                    sel = " selected=selected";
+                }
+                $("#" + tagId + "Area").append('<option value="' + list[i].value + '"' + sel + '>' + list[i].text + '</option>');
+            }
+            form.render();
+            $("#" + tagId + "").val($("#" + tagId + "Province option:selected").text() + "," + $("#" + tagId + "City option:selected").text() + "," + $("#" + tagId + "Area option:selected").text());
+        }
+
+        function AreasAreaSelected(tagId, form) {
+            form.render();
+            $("#" + tagId + "").val($("#" + tagId + "Province option:selected").text() + "," + $("#" + tagId + "City option:selected").text() + "," + $("#" + tagId + "Area option:selected").text());
+        }
+        function movePrev(obj, tagId) {
+            $(obj).parent().prev().insertAfter($(obj).parent());
+            checkPics(tagId);
+        }
+        function moveNext(obj, tagId) {
+            $(obj).parent().next().insertBefore($(obj).parent());
+            checkPics(tagId);
+        }
+        function deletePic(obj, tagId) {
+            $(obj).parent().remove();
+            checkPics(tagId);
+        }
+        function checkPics(tagId) {
+            var pics = "";
+            var texts = "";
+            $("#" + tagId + "Image div img").each(function (i) {
+                pics += $(this).attr("src").replace(osshost, '') + "|";
+            });
+            $("#" + tagId + "Image div input").each(function (i) {
+                texts += $(this).val() + "|";
+            });
+            if (pics == "") {
+                $("#" + tagId).val("");
+            } else {
+                pics = pics.substring(0, pics.length - 1);
+                texts = texts.substring(0, pics.length - 1);
+                $("#" + tagId).val(pics + "#cut#" + texts);
+            }
+        }
+        function checkBox(tagId) {
+            var text = "";
+            $("input[type=checkbox][name=" + tagId + "List]:checked").each(function (i) {
+                text += $(this).val() + ",";
+            });
+            $("#" + tagId).val(text);
+        }
+        function showBigPic(picpath) {
+            parent.layer.open({
+                type: 1,
+                title: false,
+                closeBtn: 0,
+                shadeClose: true,
+                area: ['auto', 'auto'],
+                content: '<img src="' + picpath + '" style="max-width:800px; max-height:800px;" />'
+            });
+        }
+
+
+        var tree;
+        var element;
+        var upload;
+        layui.config({
+            base: '/layuiadmin/' //静态资源所在路径
+        }).extend({
+            index: 'lib/index' //主入口模块
+        }).use(['index', 'form', 'upload', 'layedit', 'laydate', 'element', 'croppers', 'transfer', 'tree', 'util'], function () {
+            var $ = layui.$
+                , form = layui.form
+                , layer = layui.layer
+                , layedit = layui.layedit
+                , laydate = layui.laydate
+                , croppers = layui.croppers
+                , transfer = layui.transfer
+                , util = layui.util;
+            tree = layui.tree;
+            element = layui.element;
+            upload = layui.upload;
+
+            //Hash地址的定位
+            var layid = location.hash.replace(/^#test=/, '');
+            element.tabChange('test', layid);
+            element.on('tab(test)', function (elem) {
+                location.hash = 'test=' + $(this).attr('lay-id');
+            });
+
+            //日期
+
+
+            //上传文件
+
+
+            //穿梭框
+
+
+            //TreeView,比如权限管理
+
+
+            //省市区
+
+        })
+
+    </script>
+</body>
+
+</html>

+ 58 - 60
wwwroot/layuiadmin/modules_main/ExportExcels_Admin.js

@@ -1,4 +1,4 @@
-var ExcelData,ExcelKind;
+var ExcelData, ExcelKind;
 function ConfirmImport() {
     $.ajax({
         type: "POST",
@@ -31,49 +31,49 @@ layui.config({
     //- 筛选条件-日期
     var laydate = layui.laydate;
     var layCreateDate = laydate.render({
-elem: '#CreateDate',
-type: 'datetime',
-range: true,
-trigger: 'click',
-change: function (value, date, endDate) {
-var op = true;
-if (date.year == endDate.year && endDate.month - date.month <= 1) {
-if (endDate.month - date.month == 1 && endDate.date > date.date) {
-op = false;
-layCreateDate.hint('日期范围请不要超过1个月');
-setTimeout(function () {
-$(".laydate-btns-confirm").addClass("laydate-disabled");
-}, 1);
-}
-} else {
-op = false;
-layCreateDate.hint('日期范围请不要超过1个月');
-setTimeout(function () {
-$(".laydate-btns-confirm").addClass("laydate-disabled");
-}, 1);
-}
-if (op) {
-$('#CreateDate').val(value);
-}
-}
-});
+        elem: '#CreateDate',
+        type: 'datetime',
+        range: true,
+        trigger: 'click',
+        change: function (value, date, endDate) {
+            var op = true;
+            if (date.year == endDate.year && endDate.month - date.month <= 1) {
+                if (endDate.month - date.month == 1 && endDate.date > date.date) {
+                    op = false;
+                    layCreateDate.hint('日期范围请不要超过1个月');
+                    setTimeout(function () {
+                        $(".laydate-btns-confirm").addClass("laydate-disabled");
+                    }, 1);
+                }
+            } else {
+                op = false;
+                layCreateDate.hint('日期范围请不要超过1个月');
+                setTimeout(function () {
+                    $(".laydate-btns-confirm").addClass("laydate-disabled");
+                }, 1);
+            }
+            if (op) {
+                $('#CreateDate').val(value);
+            }
+        }
+    });
 
 
     //excel导入
-    excel = layui.excel;        
+    excel = layui.excel;
     $('#ExcelFile').change(function (e) {
         var files = e.target.files;
-        excel.importExcel(files, { }, function (data) {
+        excel.importExcel(files, {}, function (data) {
             ExcelData = data[0].sheet1;
         });
     });
 
     //监听单元格编辑
-    table.on('edit(LAY-list-manage)', function(obj){
+    table.on('edit(LAY-list-manage)', function (obj) {
         var value = obj.value //得到修改后的值
-        ,data = obj.data //得到所在行所有键值
-        ,field = obj.field; //得到字段
-        if(field == "Sort"){
+            , data = obj.data //得到所在行所有键值
+            , field = obj.field; //得到字段
+        if (field == "Sort") {
             $.ajax({
                 type: "POST",
                 url: "/Admin/ExportExcels/Sort?r=" + Math.random(1),
@@ -84,23 +84,21 @@ $('#CreateDate').val(value);
             });
         }
     });
-    
+
     //列表数据
     table.render({
         elem: '#LAY-list-manage'
         , url: '/Admin/ExportExcels/IndexData' //模拟接口
         , cols: [[
             { type: 'checkbox', fixed: 'left' }
-    		, {field:'Id', fixed: 'left', title:'ID', width:80, sort: true, unresize: true}
-            ,{field:'CreateDate', width: 200, title:'创建时间', sort: true}
-,{field:'FileName', width: 200, title:'文件名', sort: true}
-,{field:'FileUrl', width: 200, title:'文件路径', sort: true}
-
-            , {field:'Sort', fixed: 'right', title:'排序', width:80, edit: 'text'}
+            , { field: 'Id', fixed: 'left', title: 'ID', width: 80, sort: true, unresize: true }
+            , { field: 'CreateDate', width: 200, title: '创建时间', sort: true }
+            , { field: 'FileName', width: 200, title: '文件名', sort: true }
+            , { field: 'FileUrl', width: 500, title: '文件路径', sort: true, templet: '#FileUrlTpl' }
             , { title: '操作', align: 'center', fixed: 'right', toolbar: '#table-list-tools' }
         ]]
         , where: {
-            
+
         }
         , page: true
         , limit: 30
@@ -122,7 +120,7 @@ $('#CreateDate').val(value);
                     data: "Id=" + data.Id,
                     dataType: "text",
                     success: function (data) {
-                        if (data == "success") {                            
+                        if (data == "success") {
                             obj.del();
                             layer.close(index);
                         } else {
@@ -145,20 +143,20 @@ $('#CreateDate').val(value);
                         , submitID = 'LAY-list-front-submit'
                         , submit = layero.find('iframe').contents().find('#' + submitID);
 
-                    setTimeout(function () { 
+                    setTimeout(function () {
                         layero.find('iframe').contents().find('.layui-tab-item').each(function (i) {
                             var errObj = $(this).find('.layui-form-danger');
                             if (errObj.length > 0) {
                                 iframeWindow.element.tabChange('mytabbar', String(i + 1));
                                 submit.click();
                             }
-                        });                        
+                        });
                     }, 300);
 
-                    
-                    
-                    
-                    
+
+
+
+
 
                     //监听提交
                     iframeWindow.layui.form.on('submit(' + submitID + ')', function (data) {
@@ -169,7 +167,7 @@ $('#CreateDate').val(value);
                         }
                         //提交 Ajax 成功后,静态更新表格中的数据
                         //$.ajax({});
-                        
+
                         $.ajax({
                             type: "POST",
                             url: "/Admin/ExportExcels/Edit?r=" + Math.random(1),
@@ -262,20 +260,20 @@ $('#CreateDate').val(value);
                         , submitID = 'LAY-list-front-submit'
                         , submit = layero.find('iframe').contents().find('#' + submitID);
 
-                    setTimeout(function () { 
+                    setTimeout(function () {
                         layero.find('iframe').contents().find('.layui-tab-item').each(function (i) {
                             var errObj = $(this).find('.layui-form-danger');
                             if (errObj.length > 0) {
                                 iframeWindow.element.tabChange('mytabbar', String(i + 1));
                                 submit.click();
                             }
-                        });                        
+                        });
                     }, 300);
 
-                    
-                    
-                    
-                    
+
+
+
+
 
                     //监听提交
                     iframeWindow.layui.form.on('submit(' + submitID + ')', function (data) {
@@ -286,7 +284,7 @@ $('#CreateDate').val(value);
                         }
                         //提交 Ajax 成功后,静态更新表格中的数据
                         //$.ajax({});
-                        
+
                         $.ajax({
                             type: "POST",
                             url: "/Admin/ExportExcels/Add?r=" + Math.random(1),
@@ -343,9 +341,9 @@ $('#CreateDate').val(value);
         , Open: function () {
             var checkStatus = table.checkStatus('LAY-list-manage')
                 , data = checkStatus.data; //得到选中的数据
-            if(data.length < 1){
+            if (data.length < 1) {
                 parent.layer.msg("请选择要开启的项");
-            }else{
+            } else {
                 var ids = "";
                 $.each(data, function (index, value) {
                     ids += data[index].Id + ",";
@@ -372,9 +370,9 @@ $('#CreateDate').val(value);
         , Close: function () {
             var checkStatus = table.checkStatus('LAY-list-manage')
                 , data = checkStatus.data; //得到选中的数据
-            if(data.length < 1){
+            if (data.length < 1) {
                 parent.layer.msg("请选择要关闭的项");
-            }else{
+            } else {
                 var ids = "";
                 $.each(data, function (index, value) {
                     ids += data[index].Id + ",";