EF列表增删改

视图

<!DOCTYPE html>
<html>

<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
    <title>用户列表 - QAdmin后台模板</title>
    <link rel="stylesheet" href="~/Scripts/static/common/layui/css/layui.css">
    <link rel="stylesheet" href="~/Scripts/static/admin/css/style.css">
    <script src="~/Scripts/static/common/layui/layui.js"></script>
    <script src="~/Scripts/static/common/jquery-3.3.1.min.js"></script>
    <script src="~/Scripts/static/common/vue.min.js"></script>
</head>
<body>
    <div id="app">
        <!--顶栏-->
        <header>
            <h1 v-text="webname"></h1>
            <div class="breadcrumb">
                <i class="layui-icon">&#xe715;</i>
                <ul>
                    <li v-for="vo in address">
                        <a v-text="vo.name" :href="vo.url"></a> <span>/</span>
                    </li>
                </ul>
            </div>
        </header>

        <div class="main" id="app">
            <!--左栏-->
            <div class="left">
                <ul class="cl">
                    <!--顶级分类-->
                    <li v-for="vo,index in menu" :class="{hidden:vo.hidden}">
                        <a href="javascript:;" :class="{active:vo.active}" v-on:click="onActive(index)">
                            <i class="layui-icon" v-html="vo.icon"></i>
                            <span v-text="vo.name"></span>
                            <i class="layui-icon arrow" v-show="vo.url.length==0">&#xe61a;</i> <i v-show="vo.active" class="layui-icon active">&#xe623;</i>
                        </a>
                        <!--子级分类-->
                        <div v-for="vo2,index2 in vo.list">
                            <a href="javascript:;" :class="{active:vo2.active}" v-on:click="onActive(index,index2)" v-text="vo2.name"></a>
                            <i v-show="vo2.active" class="layui-icon active">&#xe623;</i>
                        </div>
                    </li>
                </ul>
            </div>
            <!--右侧-->
            <div class="right">
                <div class="layui-row">
                    <div class="layui-col-lg8">
                        <a href="/AdminUser/Add" class="layui-btn">添加管理员</a>
                    </div>

                    <div class="layui-col-lg4" style="text-align: right">

                        <div class="layui-input-inline" style="width: 300px">
                            <input type="text" name="k" value="" placeholder="用户名" class="layui-input key">
                        </div>
                        <button type="button" class="layui-btn sou">搜索</button>
                    </div>
                </div>

                <table class="layui-hide" id="sample_table" lay-filter="demo"></table>

            </div>
        </div>
    </div>
    <script src="~/Scripts/static/admin/js/config.js"></script>
    <script src="~/Scripts/static/admin/js/script.js"></script>
    <script>
        //表格数据加载
layui.use(['table', 'util'], function () {
    //用table就要定义
    var table = layui.table;
    //用form就要定义
    var form = layui.form;

    //表格数据加载
    table.render({
        elem: '#sample_table' //表格id要对应
        , url: '/AdminUser/GetAdminUserList' //对应控制器的action方法
        , height:500
        , page: true //开启分页
        , cellMinWidth: 80 //全局定义常规单元格的最小宽度,layui 2.2.1 新增
        , cols: [[
            { type: 'checkbox' } //开启复选框
            ,{ field: 'Id', title: '编号', sort: true }
            , { field: 'Name', title: '登录名' } //width 支持:数字、百分比和不填写。你还可以通过 minWidth 参数局部定义当前单元格的最小宽度,layui 2.2.1 新增
            , { field: 'EmployeeName', title: '名字', sort: true }
            , { field: 'Email', title: '邮箱' }
            , { field: 'ModuleName', title: '组名' }
            , { field: 'RoleName', title: '角色名' }
            , { field: 'Status', title: '状态', width: 120, templet: '#switchTpl', unresize: true } //切换按钮禁用启用
            , { field: 'CreateTime', title: '添加时间', width: 120, templet: '<div> {{Format(d.CreateTime,"yyyy-MM-dd")}}</div>'  }
            , { title: '操作',fixed: 'right', width: 200, align: 'center', toolbar: '#barDemo' }
        ]]
    });

    //监听启用和禁用操作
    form.on('switch(sexDemo)', function (obj) {
        var tip = "启用";
        var id = this.id;
        //获取当前选中的值
        var status = this.value;
        if (this.value === "1") {
            tip = "停用";
            status = 0;
        }
        else {
            status = 1;
        }

        //启用的功能代码
        layer.confirm('真的要' + tip+'吗', function (index) {
            $.ajax({
                url: "/Admin/UpdateStauts?id=" + id + "&status=" + status,
                type: "Post",
                success: function (data) {
                    if (data.Success) {
                        layer.msg(tip+'成功!', {
                            title: '提示框',
                            icon: 1,
                            time: 1000
                        }, function () {
                            TableReload();
                            layer.close(index);
                        });
                    }
                    else {
                        layer.msg(tip +'失败!', {
                            title: '提示框',
                            icon: 1,
                            time: 1000
                        });
                    }
                }
            });
        });
    });

    //监听工具条
    table.on('tool(demo)', function (obj) {
        var data = obj.data;
        var id = data.Id;
        if (obj.event === 'del') {
            //删除的功能代码
            layer.confirm('真的要删除吗', function (index) {
                $.ajax({
                    url: "/AdminUser/Delete?id=" + id,
                    type: "Post",
                    success: function (data) {
                        if (data.Success) {
                            layer.msg('删除成功!', {
                                title: '提示框',
                                icon: 1,
                                time: 1000
                            }, function () {
                                TableReload();
                                layer.close(index);
                                });
                            obj.del();
                        }
                        else {
                            layer.msg('删除失败!', {
                                title: '提示框',
                                icon: 1,
                                time: 1000
                            });
                        }
                    }
                });
            });
        } else if (obj.event === 'edit') {
            window.location.href = "/AdminUser/Update?id=" + id;

        }
    });

    //监听表格复选框选择
    table.on('checkbox(demo)', function (obj) {
    });

    //监听复选框
    var $ = layui.$, active = {
        getCheckData: function () {
            //获取选中数据
            var checkStatus = table.checkStatus('sample_table')
                , data = checkStatus.data;
            //获取拼接的id
            var id = BatchDelete(data);
            //删除数据
            layer.confirm('真的要删除吗', function (index) {
                $.ajax({
                    url: "/Admin/BatchDelete?id=" + id,
                    type: "Post",
                    success: function (data) {
                        if (data.Success) {
                            layer.msg('删除成功!', {
                                title: '提示框',
                                icon: 1,
                                time: 2000
                            }, function () {
                                TableReload();
                                layer.close(index);
                            });
                        }
                        else {
                            layer.msg('删除失败!', {
                                title: '提示框',
                                icon: 1,
                                time: 2000
                            });
                        }
                    }
                });

            });
        }
    };

    //点击批量删除按钮事件
    $('#batchDelete').on('click', function () {
        var type = $(this).data('type');
        active[type] ? active[type].call(this) : '';
    });
});

    //拼接id
    function BatchDelete(data) {
        var id = "";
        for (var i = 0; i < data.length; i++)
        {
            if (i != data.length - 1) {
                id += data[i].AdminId + ',';
            }
            else {
                id += data[i].AdminId;
            }
        }
        return id;
        }


        //转换时间
    function Format(datetime, fmt) {
    var newtime = datetime.replace(/\/Date\((\d+)\)\//gi, "$1");
    if (parseInt(newtime) == newtime) {
        if (newtime.length == 10) {
            newtime = parseInt(newtime) * 1000;
        } else if (newtime.length == 13) {
            newtime = parseInt(newtime);
        }
    }
    newtime = new Date(newtime);
    var o = {
        "M+": newtime.getMonth() + 1,                 //月份   
        "d+": newtime.getDate(),                    //日   
        "h+": newtime.getHours(),                   //小时   
        "m+": newtime.getMinutes(),                 //分   
        "s+": newtime.getSeconds(),                 //秒   
        "q+": Math.floor((newtime.getMonth() + 3) / 3), //季度   
        "S": newtime.getMilliseconds()             //毫秒   
    };
    if (/(y+)/.test(fmt))
        fmt = fmt.replace(RegExp.$1, (newtime.getFullYear() + "").substr(4 - RegExp.$1.length));
    for (var k in o)
        if (new RegExp("(" + k + ")").test(fmt))
            fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
    return fmt;
}


    </script>
</body>
</html>
<script type="text/html" id="barDemo">
    <!--  <a class="layui-btn layui-btn-primary layui-btn-xs" lay-event="detail">查看</a>   -->
    <a class="layui-btn layui-btn-xs" lay-event="edit">编辑</a>
    <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</a>
</script>
<script type="text/html" id="switchTpl">
    <!-- 这里的 checked 的状态只是演示 -->
    <input type="checkbox" name="sex" value="{{d.id}}" lay-skin="switch" lay-text="启用|禁用" lay-filter="sexDemo" {{ d.id == 10003 ? 'checked' : 'checked' }}>
</script>

控制器

using JiaHua.Permission.Model;
using JiaHua.Permission.Service;
using JiaHua.Permission.Web.Models;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;

namespace JiaHua.Permission.Web.Controllers
{
    public class AdminUserController : Controller
    {
        AdminUserService adminUserService = new AdminUserService();
        ModuleService moudleService = new ModuleService();
        ModuleUserService moduleUserService = new ModuleUserService();
        ModuleRoleService moduleRoleService = new ModuleRoleService();
        AdminUserRoleService adminUserRoleService = new AdminUserRoleService();

        public ActionResult Login()
        {
            return View();
        }

        public ActionResult LoginOut()
        {
            return View();
        }


        /// <summary>
        /// 验证登录
        /// </summary>
        /// <returns></returns>
        public JsonResult ValidateLogin(Ui_AdminUser ui_AdminUser)
        {
            OperateResult operateResult = new OperateResult();
            AdminUser adminUser = adminUserService.Query(a => a.Name == ui_AdminUser.Name && a.Password == ui_AdminUser.Password);
            operateResult.Success = adminUser != null;
            if(operateResult.Success)
            {
                //写入session
                AdminUserContext.current.userInfo = new AdminUser()
                {
                    Id = adminUser.Id,
                    Name = adminUser.Name
                };
            }
            return Json(operateResult);
        }

        /// <summary>
        /// 管理员添加页面
        /// </summary>
        /// <param name="adminUser"></param>
        /// <returns></returns>
        public ActionResult Add()
        {
            //获取所有的组列表
            ViewBag.moduleList = moudleService.QueryList(a=>true);
            //获取默认1组的所有角色
            ViewBag.Role = adminUserService.GetModuleRole(1);
            return View();
        }
        /// <summary>
        /// 获取指定组里的所有角色
        /// </summary>
        /// <returns></returns>
        public JsonResult GetModuleRole(int moduleId)
        {
            PageListResult<AdminUserView> pageListResult = new PageListResult<AdminUserView>();
            pageListResult.data = adminUserService.GetModuleRole(moduleId);
            return Json(pageListResult);
        }
        /// <summary>
        /// 管理员添加
        /// </summary>
        /// <param name="adminUser"></param>
        /// <returns></returns>
        [HttpPost]
        public JsonResult Add(Ui_AdminUser ui_AdminUser)
        {
            int CreateUserId = 1;
            OperateResult operateResult = new OperateResult();
            AdminUser adminUser = new AdminUser();
            adminUser.Name = ui_AdminUser.Name;
            adminUser.Password = ui_AdminUser.Password;
            adminUser.EmployeeName = ui_AdminUser.EmployeeName;
            adminUser.Email = ui_AdminUser.Email;
            adminUser.Remark = ui_AdminUser.Remark;
            adminUser.CertNo = ui_AdminUser.CertNo;
            adminUser.Enabled = ui_AdminUser.Enabled;
            adminUser.CreateTime = DateTime.Now;
            operateResult.Success = adminUserService.Add(adminUser, ui_AdminUser.ModuleId, ui_AdminUser.RoleId, CreateUserId) ;
            return Json(operateResult);
        }

        /// <summary>
        /// 管理员修改页面
        /// </summary>
        /// <param name="adminUser"></param>
        /// <returns></returns>
        public ActionResult Update(int id)
        {
            //获取所有的组列表
            ViewBag.moduleList = moudleService.QueryList(a => true);
            //当前管理员信息
            ViewBag.adminUserView = adminUserService.GetAdminUserView(id)[0];
            return View();
        }
        /// <summary>
        /// 管理员修改
        /// </summary>
        /// <param name="adminUser"></param>
        /// <returns></returns>
        [HttpPost]
        public JsonResult Update(Ui_AdminUser ui_AdminUser)
        {
            int CreateUserId = 1;

            OperateResult operateResult = new OperateResult();
            AdminUser adminUser = new AdminUser();
            adminUser.Id = ui_AdminUser.Id;
            adminUser.Name = ui_AdminUser.Name;
            adminUser.Password = ui_AdminUser.Password;
            adminUser.EmployeeName = ui_AdminUser.EmployeeName;
            adminUser.Email = ui_AdminUser.Email;
            adminUser.Remark = ui_AdminUser.Remark;
            adminUser.CertNo = ui_AdminUser.CertNo;
            adminUser.Enabled = ui_AdminUser.Enabled;
            adminUser.CreateTime = ui_AdminUser.CreateTime;
            operateResult.Success = adminUserService.Update(adminUser, ui_AdminUser.ModuleId, ui_AdminUser.RoleId, CreateUserId);
            return Json(operateResult);
        }


        /// <summary>
        /// 管理员列表页面
        /// </summary>
        /// <returns></returns>
        public ActionResult AdminUserList()
        {
            return View();
        }

        /// <summary>
        /// 获取管理员列表
        /// </summary>
        /// <returns></returns>
        public JsonResult GetAdminUserList(int page,int limit)
        {
            PageListResult<AdminUserView> pageListResult = new PageListResult<AdminUserView>();
            pageListResult.code = 0;
            pageListResult.msg = string.Empty;
            List<AdminUserView> result = adminUserService.GetAdminUserViewList();
            pageListResult.count = result.Count;
            pageListResult.data = result.Skip((page - 1) * limit).Take(limit).ToList();
            return Json(pageListResult, JsonRequestBehavior.AllowGet);
        }

        /// <summary>
        /// 单个删除
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public JsonResult Delete(int id)
        {
            OperateResult operateResult = new OperateResult();
            operateResult.Success = adminUserService.Delete(id);
            return Json(operateResult);
        }

        /// <summary>
        /// 批量删除
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public JsonResult BatchDelete(int[] ids)
        {
            OperateResult operateResult = new OperateResult();
            operateResult.Success = adminUserService.BatchDelete(ids);
            return Json(operateResult);
        }

        /// <summary>
        /// 修改状态
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public JsonResult UpdateStatus(AdminUser adminUser)
        {
            OperateResult operateResult = new OperateResult();
            operateResult.Success = adminUserService.Update(adminUser);
            return Json(operateResult);
        }

    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

陆雪芹

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值