• 预约系统(十) 预约页面--首页


    预约页面的框架与管理页面的框架基本上是一样的,不做重复。

    预约首页的的效果:(左面的月历选择日期可以查看到这天各个会议室的预约情况,显示在右面的表格中)

    前端html:

     1 <!DOCTYPE html>
     2 
     3 <html>
     4 <head>
     5     <meta name="viewport" content="width=device-width" />
     6     <title>首页</title>
     7 
     8     <script src="~/Scripts/jquery-1.8.2.min.js"></script>   
     9     <script src="~/Scripts/jquery.easyui.min.js"></script>
    10     <link href="~/Content/uimaker/icon.css" rel="stylesheet" />
    11     <link href="~/Content/uimaker/easyui.css" rel="stylesheet" />
    12     <script src="~/Scripts/easyui-lang-zh_CN.js"></script>
    13 
    14     <style type="text/css">
    15         #title{ font-size:16px;color:#0E2D5F; margin-bottom:10px; }
    16     </style>
    17       
    18 </head>
    19 <body style="padding-top: 10px;">
    20 
    21     <div data-options="region:'center'" style="overflow: hidden;padding:10px 15px;">
    22         
    23         <div style="15%; float:left; margin-right:15px;">
    24             <div id="cc" class="easyui-calendar" style="100%;height:250px;"></div>
    25         </div>
    26 
    27         <!--表格-->
    28         <table id="dg" class="easyui-datagrid" style=" 80%; height:450px;" data-options="method:'post',toolbar: '#tb_search',singleSelect: true">
    29         </table>
    30             <!--toolbar-->
    31             <div id="tb_search" style="padding:2px 2px;">
    32                 <div id="tb_search_title" style="100%;height:35px; text-align:center; font-size:16px;font-weight:bold;">今日会议预约</div>
    33             </div>
    34     </div>
    35 
    36 </body>
    37 </html>

    jquery部分:分为两个功能,一个是页面加载绑定当天的会议内容;另一个是月历选择绑定会议的内容.

    页面加载绑定当天的会议内容:

     1 $(function () {
     2 
     3             //发送一个请求,获取绑定的列名,列字段,并补充相关内容
     4             $.ajax({
     5                 url: "/Home/Dynamic_Column",
     6                 success: function (data) {
     7                     if (data.length > 0) {
     8 
     9                         //动态绑定列
    10                         var option1 = {}; //声明一个对象,并对对象的属性赋值  var a = {} ;  var a =new object() ;
    11                         option1.columns = [[
    12                               //{ field: '', title: '' }
    13                         ]]
    14                         var array = data.split('%');
    15                         for (var i = 0; i < array.length; i++)
    16                         {
    17                             var temp = array[i].split('&');
    18                             option1.columns[0].push({ field: temp[1], title: temp[1] });
    19                         }
    20                         option1.url = '/Home/Meeting_today';
    21                         option1.frozenColumns = [[]];
    22                         option1.frozenColumns[0].push({ field: 'Time_region', title: '时间段' });
    23 
    24                         //将这个对象传递给easyui datagrid的方法中
    25                         $('#dg').datagrid(option1);
    26                         //datagrid选择到固定的行
    27                         $('#dg').datagrid({
    28                             onLoadSuccess: function () {
    29                                 $("#dg").datagrid("scrollTo", 24);
    30                             }
    31                         });
    32 
    33                     }
    34                 }
    35             })
    36         })

    **这里其实发送了两个请求,一个是获取动态的列,一个是获取当天会议内容。

    获取动态列:控制器中的方法

     1 /// <summary>
     2         /// 返回列,列名和列的字段名
     3         /// </summary>
     4         /// <returns></returns>
     5         public ActionResult Dynamic_Column()
     6         {
     7             RoomService roomservice = new RoomService();
     8             string temp = roomservice.Return_DynamicColumn();
     9             return Content(temp);
    10         }

    获取动态列:BLL

    1 public string Return_DynamicColumn()
    2         {
    3             return roomdal.Return_DynamicColumn();
    4         }

    获取动态列:DAL

     1 public string Return_DynamicColumn()
     2         {
     3             string sql = " select room_mc from T_room ";
     4             DataTable dt = SqlHelper.SelectSqlReturnDataTable(sql, CommandType.Text);
     5 
     6             string s3 = "";
     7             if (dt.Rows.Count > 0)
     8             {
     9                 for (int i = 0; i < dt.Rows.Count; i++)
    10                 {
    11                     if (i == dt.Rows.Count - 1)
    12                     {
    13                         s3 = s3 + "room_mc" + i + "&" + dt.Rows[i]["room_mc"].ToString();
    14                     }
    15                     else
    16                     {
    17                         s3 = s3 + "room_mc" + i + "&" + dt.Rows[i]["room_mc"].ToString() + "%";
    18                     }
    19                 }
    20 
    21             }
    22             return s3;
    23         }

    获取当天会议内容:控制中的方法

     1   public ActionResult Meeting_today()
     2         {
     3             //
     4             string date = DateTime.Now.ToShortDateString();
     5             string[] temp = date.Split('/');
     6             if (temp[1].Length == 1)
     7             {
     8                 temp[1] = "0" + temp[1];
     9             }
    10             if (temp[2].Length == 1)
    11             {
    12                 temp[2] = "0" + temp[2];
    13             }
    14             date = temp[0] + "-" + temp[1] + "-" + temp[2];
    15             //List<T_Meeting_Today> list = new Hys_PlanService().ReturnMeetingToday(date);
    16             //return Json(list, JsonRequestBehavior.AllowGet);
    17 
    18             string result = new Hys_PlanService().ReturnMeetingToday_update(date);
    19             return Content(result);
    20         }

    获取当天会议内容:BLL

    1 public string ReturnMeetingToday_update(string date)
    2         {
    3             return hys_PlanDal.ReturnMeetingToday_update(date);
    4         }

    获取当天会议内容:DAL

    ****

      1 /// <summary>
      2         /// 根据日期生成当天的会议室预约情况!
      3         /// </summary>
      4         /// <param name="date"></param>
      5         /// <returns></returns>
      6         public string ReturnMeetingToday_update(string date)
      7         {
      8             string sql = " select room_mc from T_room ";
      9             DataTable dt_0 = SqlHelper.SelectSqlReturnDataTable(sql, CommandType.Text);
     10 
     11             #region 生成DataTable
     12             DataTable tblDatas = new DataTable("Datas");
     13             DataColumn dc = null;
     14             dc = tblDatas.Columns.Add("Time_region", Type.GetType("System.String"));
     15             for (int i = 0; i < dt_0.Rows.Count; i++)
     16             {
     17                 dc = tblDatas.Columns.Add(dt_0.Rows[i]["room_mc"].ToString(), Type.GetType("System.String"));
     18             }
     19 
     20             string[] temp_0 = new string[48]{
     21                 "00:00-00:30","00:30-01:00","01:00-01:30","01:30-02:00","02:00-02:30","02:30-03:00","03:00-03:30","03:30-04:00","04:00-04:30",
     22                 "04:30-05:00","05:00-05:30","05:30-06:00","06:00-06:30","06:30-07:00","07:00-07:30","07:30-08:00","08:00-08:30","08:30-09:00",
     23                 "09:00-09:30","09:30-10:00","10:00-10:30","10:30-11:00","11:00-11:30","11:30-12:00","12:00-12:30","12:30-13:00","13:00-13:30",
     24                 "13:30-14:00","14:00-14:30","14:30-15:00","15:00-15:30","15:30-16:00","16:00-16:30","16:30-17:00","17:00-17:30","17:30-18:00",
     25                 "18:00-18:30","18:30-19:00","19:00-19:30","19:30-20:00","20:00-20:30","20:30-21:00","21:00-21:30","21:30-22:00","22:00-22:30",
     26                 "22:30-23:00","23:00-23:30","23:30-24:00"
     27             };
     28             foreach (string t in temp_0)
     29             {
     30                 DataRow newRow;
     31                 newRow = tblDatas.NewRow();
     32                 newRow["Time_region"] = t;
     33                 for (int j = 0; j < dt_0.Rows.Count; j++)
     34                 {
     35                     newRow[dt_0.Rows[j]["room_mc"].ToString()] = "";
     36                 }
     37                 tblDatas.Rows.Add(newRow);
     38             }
     39             #endregion
     40 
     41             string[] arrays = new string[49]{
     42                 "00:00","00:30","01:00","01:30","02:00","02:30","03:00","03:30","04:00","04:30","05:00","05:30","06:00","06:30","07:00","07:30","08:00","08:30","09:00","09:30","10:00","10:30","11:00","11:30","12:00","12:30","13:00","13:30","14:00","14:30","15:00","15:30","16:00","16:30","17:00","17:30","18:00","18:30","19:00","19:30","20:00","20:30","21:00","21:30","22:00","22:30","23:00","23:30","24:00"
     43             };
     44             //
     45             DataTable dt = Returndt_today(date);
     46             if(dt.Rows.Count>0)
     47             {
     48                 for (int i = 0; i < dt.Rows.Count; i++)
     49                 {
     50                     string hyz = dt.Rows[i]["hys"].ToString();
     51                     string temp_begin = dt.Rows[i]["time_begin"].ToString();
     52                     string temp_end = dt.Rows[i]["time_end"].ToString();
     53                     string hyzt = dt.Rows[i]["hyzt"].ToString() + "--" + dt.Rows[i]["yyr"].ToString();
     54                     foreach (DataColumn column in tblDatas.Columns)
     55                     {
     56                         if (column.ColumnName == hyz)
     57                         {
     58                             int a = Array.IndexOf(arrays, temp_begin);
     59                             int b = Array.IndexOf(arrays, temp_end);
     60                             string[] temp = arrays.Skip(a).Take(b - a + 1).ToArray();
     61                             for (int j = 0; j < temp.Length - 1; j++)
     62                             {
     63                                 #region 时间段
     64                                 string t = temp[j] + "-" + temp[j + 1];
     65                                 if (t == "00:00-00:30") { tblDatas.Rows[0][column] = hyzt; }
     66                                 else if (t == "00:30-01:00") { tblDatas.Rows[1][column] = hyzt; }
     67                                 else if (t == "01:00-01:30") { tblDatas.Rows[2][column] = hyzt; }
     68                                 else if (t == "01:30-02:00") { tblDatas.Rows[3][column] = hyzt; }
     69                                 else if (t == "02:00-02:30") { tblDatas.Rows[4][column] = hyzt; }
     70                                 else if (t == "02:30-03:00") { tblDatas.Rows[5][column] = hyzt; }
     71                                 else if (t == "03:00-03:30") { tblDatas.Rows[6][column] = hyzt; }
     72                                 else if (t == "03:30-04:00") { tblDatas.Rows[7][column] = hyzt; }
     73                                 else if (t == "04:00-04:30") { tblDatas.Rows[8][column] = hyzt; }
     74                                 else if (t == "04:30-05:00") { tblDatas.Rows[9][column] = hyzt; }
     75                                 else if (t == "05:00-05:30") { tblDatas.Rows[10][column] = hyzt; }
     76                                 else if (t == "05:30-06:00") { tblDatas.Rows[11][column] = hyzt; }
     77                                 else if (t == "06:00-06:30") { tblDatas.Rows[12][column] = hyzt; }
     78                                 else if (t == "06:30-07:00") { tblDatas.Rows[13][column] = hyzt; }
     79                                 else if (t == "07:00-07:30") { tblDatas.Rows[14][column] = hyzt; }
     80                                 else if (t == "07:30-08:00") { tblDatas.Rows[15][column] = hyzt; }
     81                                 else if (t == "08:00-08:30") { tblDatas.Rows[16][column] = hyzt; }
     82                                 else if (t == "08:30-09:00") { tblDatas.Rows[17][column] = hyzt; }
     83                                 else if (t == "09:00-09:30") { tblDatas.Rows[18][column] = hyzt; }
     84                                 else if (t == "09:30-10:00") { tblDatas.Rows[19][column] = hyzt; }
     85                                 else if (t == "10:00-10:30") { tblDatas.Rows[20][column] = hyzt; }
     86                                 else if (t == "10:30-11:00") { tblDatas.Rows[21][column] = hyzt; }
     87                                 else if (t == "11:00-11:30") { tblDatas.Rows[22][column] = hyzt; }
     88                                 else if (t == "11:30-12:00") { tblDatas.Rows[23][column] = hyzt; }
     89                                 else if (t == "12:00-12:30") { tblDatas.Rows[24][column] = hyzt; }
     90                                 else if (t == "12:30-13:00") { tblDatas.Rows[25][column] = hyzt; }
     91                                 else if (t == "13:00-13:30") { tblDatas.Rows[26][column] = hyzt; }
     92                                 else if (t == "13:30-14:00") { tblDatas.Rows[27][column] = hyzt; }
     93                                 else if (t == "14:00-14:30") { tblDatas.Rows[28][column] = hyzt; }
     94                                 else if (t == "14:30-15:00") { tblDatas.Rows[29][column] = hyzt; }
     95                                 else if (t == "15:00-15:30") { tblDatas.Rows[30][column] = hyzt; }
     96                                 else if (t == "15:30-16:00") { tblDatas.Rows[31][column] = hyzt; }
     97                                 else if (t == "16:00-16:30") { tblDatas.Rows[32][column] = hyzt; }
     98                                 else if (t == "16:30-17:00") { tblDatas.Rows[33][column] = hyzt; }
     99                                 else if (t == "17:00-17:30") { tblDatas.Rows[34][column] = hyzt; }
    100                                 else if (t == "17:30-18:00") { tblDatas.Rows[35][column] = hyzt; }
    101                                 else if (t == "18:00-18:30") { tblDatas.Rows[36][column] = hyzt; }
    102                                 else if (t == "18:30-19:00") { tblDatas.Rows[37][column] = hyzt; }
    103                                 else if (t == "19:00-19:30") { tblDatas.Rows[38][column] = hyzt; }
    104                                 else if (t == "19:30-20:00") { tblDatas.Rows[39][column] = hyzt; }
    105                                 else if (t == "20:00-20:30") { tblDatas.Rows[40][column] = hyzt; }
    106                                 else if (t == "20:30-21:00") { tblDatas.Rows[41][column] = hyzt; }
    107                                 else if (t == "21:00-21:30") { tblDatas.Rows[42][column] = hyzt; }
    108                                 else if (t == "21:30-22:00") { tblDatas.Rows[43][column] = hyzt; }
    109                                 else if (t == "22:00-22:30") { tblDatas.Rows[44][column] = hyzt; }
    110                                 else if (t == "22:30-23:00") { tblDatas.Rows[45][column] = hyzt; }
    111                                 else if (t == "23:00-23:30") { tblDatas.Rows[46][column] = hyzt; }
    112                                 else if (t == "23:30-24:00") { tblDatas.Rows[47][column] = hyzt; }
    113                                 #endregion
    114                             }
    115                         }
    116                     }
    117                 }
    118             }
    119             string result = DataTableToJson(tblDatas);
    120             return result;
    121         }
    122 
    123 
    124 
    125         /// <summary>
    126         /// DataTableToJson
    127         /// </summary>
    128         /// <param name="table"></param>
    129         /// <returns></returns>
    130         public static string DataTableToJson(DataTable table)
    131         {
    132             var JsonString = new StringBuilder();
    133             if (table.Rows.Count > 0)
    134             {
    135                 JsonString.Append("[");
    136                 for (int i = 0; i < table.Rows.Count; i++)
    137                 {
    138                     JsonString.Append("{");
    139                     for (int j = 0; j < table.Columns.Count; j++)
    140                     {
    141                         if (j < table.Columns.Count - 1)
    142                         {
    143                             JsonString.Append(""" + table.Columns[j].ColumnName.ToString() + "":" + """ + table.Rows[i][j].ToString() + "",");
    144                         }
    145                         else if (j == table.Columns.Count - 1)
    146                         {
    147                             JsonString.Append(""" + table.Columns[j].ColumnName.ToString() + "":" + """ + table.Rows[i][j].ToString() + """);
    148                         }
    149                     }
    150                     if (i == table.Rows.Count - 1)
    151                     {
    152                         JsonString.Append("}");
    153                     }
    154                     else
    155                     {
    156                         JsonString.Append("},");
    157                     }
    158                 }
    159                 JsonString.Append("]");
    160             }
    161             return JsonString.ToString();
    162         }

    月历选择绑定会议的内容,后台的方法相类似,只不过js部分的不同:

     1 $('#cc').calendar({
     2             onSelect: function (date) {
     3                 //获取当天的日期和选择之后的日期格式
     4                 var myDate = new Date();
     5                 var date_today = myDate.getFullYear() + "-" + (myDate.getMonth() + 1) + "-" + myDate.getDate();
     6                 var date_other = date.getFullYear() + "-" + (date.getMonth() + 1) + "-" + date.getDate()
     7                 //alert(date.getFullYear() + "-" + (date.getMonth() + 1) + "-" + date.getDate());
     8                 $('#dg').datagrid('loadData', { total: 0, rows: [] });
     9 
    10                 if (date_today == date_other) {
    11                     //日期为今天
    12                     $("#tb_search_title").html("今日会议预约");
    13                     //绑定数据
    14                     //$("#dg").datagrid('loadData', []);
    15                     $('#dg').datagrid({
    16                         frozenColumns: [[
    17                            { field: 'Time_region', title: '时间段' }
    18                         ]]
    19                     });
    20                     $.ajax({
    21                         url: "/Home/Dynamic_Column",
    22                         success: function (data) {
    23                             if (data.length > 0) {
    24                                 var option1 = {};
    25                                 option1.columns = [[
    26                                       //{ field: '', title: '' }
    27                                 ]]
    28                                 var array = data.split('%');
    29                                 for (var i = 0; i < array.length; i++) {
    30                                     var temp = array[i].split('&');
    31                                     option1.columns[0].push({ field: temp[1], title: temp[1] });
    32                                 }
    33                                 option1.url = '/Home/Meeting_today';
    34                                 $('#dg').datagrid(option1);
    35                                 //初始化表格绑定...
    36                                 $('#dg').datagrid({
    37                                     //url: '/Home/Meeting_today',
    38                                     //columns:option1,
    39                                     onLoadSuccess: function () {
    40                                         $("#dg").datagrid("scrollTo", 24);
    41                                     }
    42                                 });
    43                             }
    44                         }
    45                     })
    46                 } else {
    47                     //日期不为今天
    48                     $("#tb_search_title").html(date_other + " 会议预约");
    49                     //绑定数据
    50                     //$("#dg").datagrid('loadData', []);
    51                     //$("#dg").datagrid("loadData", { total: 0, rows: [] });
    52                     $('#dg').datagrid({
    53                         frozenColumns: [[
    54                            { field: 'Time_region', title: '时间段' }
    55                         ]]
    56                     });
    57                     $.ajax({
    58                         url: "/Home/Dynamic_Column",
    59                         success: function (data) {
    60                             if (data.length > 0) {
    61                                 var option1 = {};
    62                                 option1.columns = [[
    63                                       //{ field: '', title: '' }
    64                                 ]]
    65                                 var array = data.split('%');
    66                                 for (var i = 0; i < array.length; i++) {
    67                                     var temp = array[i].split('&');
    68                                     option1.columns[0].push({ field: temp[1], title: temp[1] });
    69                                 }
    70                                 option1.url = '/Home/Meeting_otherDay';
    71                                 option1.queryParams = { date: date_other };
    72                                 //option1.queryParams[0].push({ date: date_other });
    73                                 $('#dg').datagrid(option1);
    74                                 //初始化表格绑定...
    75                                 $('#dg').datagrid({
    76                                     //url: '/Home/Meeting_otherDay',
    77                                     //queryParams: {
    78                                     //    date: date_other
    79                                     //},
    80 
    81                                     //columns:option1,
    82                                     onLoadSuccess: function () {
    83                                         $("#dg").datagrid("scrollTo", 24);
    84                                     }
    85                                 });
    86                             }
    87                         }
    88                     })
    89                 }
    90             }
    91         });
  • 相关阅读:
    MaxScript键盘控制盒子的移动
    MaxScript无需窗口的Timer
    Max用.Net的Dictionary将汉字转化为拼音
    关于技术美术的一些个人理解
    Max的工具部署与安装
    用以加强MaxScript的补充
    MaxScript 清除超出范围的关键帧
    Max2008之前版本旋转视图的函数
    面向对象设计的原则迪米特原则(转)
    LDAP资料
  • 原文地址:https://www.cnblogs.com/youguess/p/7210888.html
Copyright © 2020-2023  润新知