基於easyui + .NET 做的一個簡單後臺管理示例,可與手機按鍵搭配做網絡驗證或雲控

系統演示鏈接:http://47.110.53.87  賬號:admin 密碼:1

技術要點:easyui + .NET

運行環境:谷歌瀏覽器 或者其他瀏覽器的極速模式

---------------------------------------------------------------前言-----------------------------------------------------------------

閒來無事練練手,做個簡單的後臺管理網站,如果你也想做的話那該怎麼辦呢?

只要你會某個主流語言就行 例如C# java python php 等等...,加上easyu等一些前端框架做起來就更快了。

不會怎麼辦呢.....

學 自學 花錢學,不想學又有這方面需求怎麼辦呢,那只有找人做嘍!

---------------------------------------------------------------分割-----------------------------------------------------------------

話不多說,先來兩張圖,登陸+主頁

示例沒有做太多功能,總的來說只有用戶管理和部門管理。功能簡單註釋齊全,下面貼出部分源碼

前端

   //提交
    function tijiao() {

        var title = $('#win').panel('options').title;  //獲取window窗口的標題
        var rowData = $('#dg').datagrid('getSelected');//獲取選中行
        var table_data = $("#table_form").serializeJson(); //表單數據json化
        var url, info;
        if (title == '新增用戶') {
            url = 'Api/DeptUserDB.aspx?action=Update&type=add&table_data=' + JSON.stringify(table_data);
            info = "新增";
        }
        else if (title == '修改用戶') {
            url = 'Api/DeptUserDB.aspx?action=Update&type=edit&row_id=' + rowData.id + '&table_data=' + JSON.stringify(table_data);
            info = "修改";
        }
        $('#table_form').form('submit', {
            url: url,
            datatype: 'json',
            onSubmit: function (param) {  //提交前觸發,返回 false 來阻止提交動作。
                //param.code = '001';  //新增額外參數
                return $(this).form('validate');  //表單驗證通過後
            },
            onLoadError: function (none) {
                alert(none);
            },
            success: function (d) {  //當表單提交成功時觸發。
                $('#win').window('close');
                $('#table_form').form('reset'); //重置表單
                select();//查詢
                var d = eval('(' + d + ')'); //字符串轉json對象 爲了能點出參數來
                if (d.code > 0) {
                    $.messager.show({
                        title: '提示',
                        msg: d.code + '個用戶信息' + info + '成功!',
                    });
                }
                else if (d.code = -1) {
                    $.messager.show({
                        title: '提示',
                        msg: info + '失敗!請聯繫管理員!錯誤詳情:' + d.msg,
                    });
                }
                else {
                    $.messager.show({
                        title: '提示',
                        msg: info + '失敗!',
                    });
                }

            }
        });

後端

//獲取角色類型下拉框數據
    private void Getroletypecomb()
    {
        Hashtable h = Pub.CurrentLoginInfo;
        int kkey = Convert.ToInt32(h["roletype"]);//角色類型
        if (h["roletype"].ToString() != "1")//不是系統管理員的+1  使除系統管理員以外的角色無法創建同級角色
        {
            kkey = kkey + 1;
        }
        string sql = "select * from X_Dictionaries where 1 = 1 and lb = '3' and kkey >= " + kkey;
        ArrayList folders = new SQLHelper().Select(sql);
        Json(folders);
    }

    //更新用戶
    private void Update()
    {
        ResponseData rd = new ResponseData();
        try
        {
            X_user user = new X_user();
            string table_data = Request["table_data"]; //表單數據
            Hashtable h = JSON.Decode(table_data) as Hashtable; //表單數據轉化爲Hashtable
            if (h["ismrsq"].ToString() != "否")  //如果不等於否 說明傳的是兩個ismrsq值  是和否
            {
                ArrayList h_arr = h["ismrsq"] as ArrayList;
                if (h_arr.Count == 2)  //實際上我只要一個值 是
                {
                    h["ismrsq"] = "是";
                }
            }
            if (Request["type"] == "add")
            {
                h.Add("createpeople", Pub.num);//創建人
                h.Add("createdate", DateTime.Now);//創建日期
                int i = user.insert(h);
                rd.code = i > 0 ? 1 : 0;
                rd.msg = i > 0 ? "新增成功!" : "新增失敗!";
            }
            else if (Request["type"] == "edit")
            {
                string row_id = Request["row_id"]; //要修改的行數據ID
                h.Add("id", row_id);//修改人
                h.Add("updatepeople", Pub.num);//修改人
                h.Add("updatedate", DateTime.Now);//修改日期
                int i = user.Update(h);
                rd.code = i > 0 ? 1 : 0;
                rd.msg = i > 0 ? "修改成功!" : "修改失敗!";
            }
            Json(rd);
        }
        catch (Exception ex)
        {
            rd.code = -1;
            rd.msg = ex.Message;
            Json(rd);
        }
    }
    /// <summary>
    /// 根據用戶權限加載菜單
    /// </summary>
    public void LoadTree()
    {
        string parentNodeId = Request["id"] ?? null;//easyui 會每展開一個節點,往後端傳一個id
        if (string.IsNullOrEmpty(parentNodeId))
        {
            parentNodeId = "0";
        }

        Hashtable userInfo = Pub.CurrentLoginInfo;
        string[] menus = userInfo["roleids"].ToString().Split(',');//節點菜單ID分割給string數組
        //查詢菜單表 菜單ID=員工表的節點ID , 父ID = 前臺傳入的ID
        string where = string.Format(" and id in ('{0}') and tid = '{1}'", string.Join("','", menus), parentNodeId);
        string sql = string.Format("select * from X_Menu where 1=1 {0}", where);
        DataTable dt = new SQLHelper().ExcuteQuery(sql);
        dt.Columns.Add("state");//DataTable裏放個狀態列
        for (int i = 0; i < dt.Rows.Count; i++)
        {
            int ii = Convert.ToInt32(new SQLHelper().ExecuteScalar("select COUNT(0) from  X_Menu where tId = '" + dt.Rows[i]["id"] + "'"));
            if (ii > 0)//大於說明有子節點
            {
                dt.Rows[i]["state"] = "closed";//狀態列賦值 closed代表有子節點 open代表沒有
            }
            
        }
        Json(dt);
    }

想具體學習需要源碼的可以聯繫我QQ463392823  備註CSDN看到~

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章