Przeglądaj źródła

自定义查询提交部分,添加控件类型

lcl 2 lat temu
rodzic
commit
0c3a736b66

+ 34 - 3
Areas/Admin/Controllers/MainServer/CustomQueryController.cs

@@ -350,9 +350,19 @@ namespace MySystem.Areas.Admin.Controllers
                 string[] fieldData = m.Value.Replace("${", "").Replace("}$", "").Split('|');
                 string fieldName = fieldData[0];
                 string Title = fieldData[1];
+                string Control = "text";
+                string Option = "";
+                if(fieldData.Length > 2)
+                {
+                    Control = fieldData[2];
+                    if(Control == "select")
+                    {
+                        Option = fieldData[3];
+                    }
+                }
                 if(!query.ContainsKey(fieldName))
                 {
-                    query.Add(fieldName, Title);
+                    query.Add(fieldName, Title + "#cut#" + Control + "#cut#" + Option);
                 }
             }
             List<CustomQuerySub> subItems = db.CustomQuerySub.Where(m => m.ParentId == Id).ToList();
@@ -365,9 +375,19 @@ namespace MySystem.Areas.Admin.Controllers
                     string[] fieldData = m.Value.Replace("${", "").Replace("}$", "").Split('|');
                     string fieldName = fieldData[0];
                     string Title = fieldData[1];
+                    string Control = "text";
+                    string Option = "";
+                    if(fieldData.Length > 2)
+                    {
+                        Control = fieldData[2];
+                        if(Control == "select")
+                        {
+                            Option = fieldData[3];
+                        }
+                    }
                     if(!query.ContainsKey(fieldName))
                     {
-                        query.Add(fieldName, Title);
+                        query.Add(fieldName, Title + "#cut#" + Control + "#cut#" + Option);
                     }
                 }
             }
@@ -501,7 +521,18 @@ namespace MySystem.Areas.Admin.Controllers
                 string val = redisCommandList[2];
                 if(kind == "lpush")
                 {
-                    new CustomRedisDbconn(ConnectStr).AddList(key, val);
+                    if(val.Contains("\n"))
+                    {
+                        string[] vals = val.TrimEnd('\n').Split('\n');
+                        foreach(string sub in vals)
+                        {
+                            new CustomRedisDbconn(ConnectStr).AddList(key, sub);
+                        }
+                    }
+                    else
+                    {
+                        new CustomRedisDbconn(ConnectStr).AddList(key, val);
+                    }
                 }
                 else if(kind == "set")
                 {

+ 44 - 2
Areas/Admin/Views/MainServer/CustomQuery/Confirm.cshtml

@@ -3,6 +3,7 @@
     string right = ViewBag.right as string;
     string Id = ViewBag.Id as string;
     Dictionary<string, string> query = ViewBag.query as Dictionary<string, string>;
+    string dateJs = "";
 }
 <!DOCTYPE html>
 <html>
@@ -29,11 +30,40 @@
                     <div class="layui-tab-item layui-show">
                         @foreach(string key in query.Keys)
                         {
+                            string[] dataList = query[key].Split(new string[] { "#cut#" }, StringSplitOptions.None);
+                            string text = dataList[0];
+                            string control = dataList[1];
+                            if(control == "datetime" || control == "date" || control == "time" || control == "month")
+                            {
+                                dateJs += key + "_" + control + "|";
+                            }
                             <div class="layui-form-item">
-                                <label class="layui-form-label">@(query[key])</label>
+                                <label class="layui-form-label">@(text)</label>
+                                @if(control == "textarea")
+                                {
                                 <div class="layui-input-block">
-                                    <input class="layui-input" type="text" id="@(key)" name="@(key)" lay-verify="required|" autocomplete="off" placeholder="请输入@(query[key])">
+                                    <textarea class="layui-textarea" id="@(key)" name="@(key)" lay-verify="required|" placeholder="请输入@(text)" style="height: 300px;"></textarea>
                                 </div>
+                                }
+                                else if(control == "select")
+                                {
+                                    string[] options = dataList[2].Split(',');
+                                    <div class="layui-input-block">
+                                        <select id="@(key)" name="@(key)" lay-search="" lay-verify="required|" placeholder="请选择@(text)">
+                                            <option value="">请选择</option>
+                                            @foreach (string option in options)
+                                            {
+                                                <option value="@option">@option</option>
+                                            }
+                                        </select>
+                                    </div>
+                                }
+                                else
+                                {
+                                <div class="layui-input-block">
+                                    <input class="layui-input" type="text" id="@(key)" name="@(key)" lay-verify="required|" autocomplete="off" placeholder="请输入@(text)">
+                                </div>
+                                }
                             </div>
                         }
                     </div>
@@ -73,6 +103,18 @@
             });
     
             //日期
+            var dateJs = "@(dateJs.TrimEnd('|'))";
+            if(dateJs != "") {
+                var dateJsList = dateJs.split('|');
+                for(var i=0;i<dateJsList.length;i++){
+                    var dataList = dateJsList[i].split('_');
+                    laydate.render({
+                        elem: '#' + dataList[0],
+                        type: dataList[1],
+                        trigger: 'click'
+                    });
+                }
+            }
             
 
             //上传文件