layUi项目实战

右击页面,检查

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

@layout("/common/_container.html", {js:["/assets/userinfo/system_account_batch_add.js"]}){

<div class="layui-body-header">
    <span class="layui-body-header-title">系统账户批量生成</span>
</div>

<div class="layui-fluid">
    <div class="layui-row layui-col-space15">
        <div class="layui-col-sm12 layui-col-md12 layui-col-lg12">
            <div class="layui-card">
                <div class="layui-card-body">
                    <div class="layui-form toolbar">
                        <div class="layui-form-item">
                            <button id="btnSearch" class="layui-btn icon-btn layui-disabled"><i class="layui-icon">&#xe615;</i>查询
                            </button>
                            <div class="layui-inline">
                                <button id="btnAdd" class="layui-btn icon-btn"><i class="layui-icon">&#xe654;</i>新增
                                </button>
                            </div>
                        </div>

                        <div class="layui-form-item">
                            <div id="valuation" style="margin-bottom: 10px">
                            </div>
                        </div>

                    </div>
                    <table class="layui-table" id="sysAccountListTable" lay-filter="sysAccountListTable"></table>
                </div>
            </div>
        </div>
    </div>
</div>

<script type="text/html" id="tableBar">
    <a class="layui-btn layui-btn-primary layui-btn-xs" lay-event="disable">禁用</a>
    <a class="layui-btn layui-btn-primary layui-btn-xs" lay-event="enable">启用</a>
    <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="delete">删除</a>
</script>
@}



layui.use(['table','admin','ax','laydate','form'], function () {
    var $ = layui.$;
    var table = layui.table;
    var form = layui.form;
    var $ax = layui.ax;

    var sysAccountListTable = {
        tableId: "sysAccountListTable"
    };

    $('#btnSearch').click(function () {
        sysAccountListTable.search();
    });
    sysAccountListTable.initColumn = function () {
        return [[
            {type: 'checkbox', LAY_CHECKED: true, hide: true},
            {field: 'id', align: "center", sort: true, title: 'id',width: 110},
            {field: 'userId', align: "center", sort: true, title: 'UID',width: 110},
            {field: 'operatingTime', align: "center", sort: true, title: '操作时间',width: 200},
            {field: 'operationOf', align: "center", sort: true, title: '操作人',width: 110},
            {field: 'remark', align: "center", sort: true, title: '备注',width: 110},
            {
                field: 'status', align: "center", sort: true, title: '限制', width: 110, templet: function(d) {
                    if (d.status === 1) {
                        return '登录';
                    } else {
                        return '禁止登录';
                    }
                }
            },
            {align: 'center', toolbar: '#tableBar', title: '操作',width: 250}
        ]];
    };

    // 渲染表格
    table.render({
        elem: '#' + sysAccountListTable.tableId,
        url: Feng.ctxPath + '/userinfo/system/account/list',
        page: true,
        toolbar: '#toolbar',
        defaultToolbar: ['filter', 'exports'],
        height: "full-98",
        cellMinWidth: 100,
        cols: sysAccountListTable.initColumn(),

    });

    sysAccountListTable.search = function () {
        var queryData = {};
        table.reload(sysAccountListTable.tableId, {
            where: queryData, page: {curr: 1}
        });

        $('#hide').prop("checked", false);
        form.render();
    };

    // 绑定添加事件
    $('#btnAdd').click(function () {
        window.location.href = Feng.ctxPath + "/userinfo/system/account/add/page";
    });

    // 行内操作事件
    table.on('tool(' + sysAccountListTable.tableId + ')', function (obj) {
        var data = obj.data;
        var layEvent = obj.event;

        var ids = [];
        ids[0] = data.id;

        if (layEvent === 'enable') {
            sysAccountListTable.enable(data);
        }
        if (layEvent === 'disable') {
            sysAccountListTable.disable(data);
        }
        if (layEvent === 'delete') {
            sysAccountListTable.delete(data);
        }
    });

    sysAccountListTable.enable = function (data) {
        $.ajax({
            type: "post",
            url: Feng.ctxPath + "/userinfo/system/account/enable?id=" + data.id,
            async: false,
            contentType: false,
            processData: false,
            success: function (data) {
                if (data.code === 200) {
                    Feng.success("启用成功");
                    table.reload(sysAccountListTable.tableId);
                } else {
                    Feng.error(data.message);
                }
            },
            error: function (data) {
                Feng.error("启用失败!" + data.message);
            }
        });
    };

    sysAccountListTable.disable = function (data) {
        $.ajax({
            type: "post",
            url: Feng.ctxPath + "/userinfo/system/account/disable?id=" + data.id,
            async: false,
            contentType: false,
            processData: false,
            success: function (data) {
                if (data.code === 200) {
                    Feng.success("禁止用户登录成功");
                    table.reload(sysAccountListTable.tableId);  // 重新渲染table
                } else {
                    Feng.error(data.message);
                }
            },
            error: function (data) {
                Feng.error("禁止用户登录失败!" + data.message);
            }
        });
    };

    sysAccountListTable.delete = function (data) {
        $.ajax({
            type: "post",
            url: Feng.ctxPath + "/userinfo/system/account/delete?id=" + data.id,
            async: false,
            contentType: false,
            processData: false,
            success: function (data) {
                if (data.code === 200) {
                    Feng.success("删除成功");
                    table.reload(sysAccountListTable.tableId);
                } else {
                    Feng.error(data.message);
                }
            },
            error: function (data) {
                Feng.error("删除失败!" + data.message);
            }
        });
    };




@layout("/common/_form.html",{js:["/assets/userinfo/system_account_add.js"]}){

<div class="layui-body-header">
    <span class="layui-body-header-title">新增账户</span>
</div>

<div class="layui-fluid " style="">
    <div class="layui-card">
        <div class="layui-card-body">
            <form id="businessForm" lay-filter="businessForm" class="layui-form model-form"
                  style="max-width: 700px;margin: 40px auto;">

                <div class="layui-form-item">
                    <label class="layui-form-label">新增账号个数<span style="color: red;">*</span></label>
                    <div class="layui-input-block">
                        <input id="number" name="number" placeholder="1" type="text" class="layui-input"
                               maxlength="50"
                               lay-verify="required" required autocomplete="off"/>
                    </div>
                </div>
                <div class="layui-form-item">
                    <label class="layui-form-label">备注(必填)<span style="color: red;">*</span></label>
                    <div class="layui-input-block">
                        <input id="remark" name="remark" placeholder="添加备注" type="text" class="layui-input"
                               maxlength="50"
                               lay-verify="required" required autocomplete="off"/>
                    </div>
                </div>

                <div class="layui-form-item">
                    <input type="checkbox" id="selectPassword" name="selectPassword" title="指定密码" lay-skin="primary" checked>
                    <div class="layui-input-block">
                        <input id="password" name="password" placeholder="123" type="text" class="layui-input"
                               maxlength="50"/>
                    </div>
                </div>

                <div class="layui-form-item" style="padding-left: 110px;">大写,小写,8位以上,特殊字符</div>

                <div class="layui-form-item">
                    <input type="checkbox" id="selectGoogleCode" name="selectGoogleCode" title="指定谷歌码" lay-skin="primary" checked>
                    <div class="layui-input-block">
                        <input id="googleCode" name="googleCode" placeholder="123" type="text" class="layui-input"
                               maxlength="50"/>
                    </div>
                </div>

                <div class="layui-form-item" style="padding-left: 110px;">选择指定则密码和谷歌码为指定的,否则随机生成</div>

                <div class="layui-form-item">
                    <div class="layui-input-block">
                        <button class="layui-btn" lay-filter="btnSubmit" lay-submit>&emsp;确定&emsp;</button>

                        <button class="layui-btn layui-btn-primary" type="button" id="close">&emsp;关闭&emsp;</button>

                        <button class="layui-btn layui-btn-primary" type="button" id="backupPage">&emsp;返回&emsp;
                        </button>
                    </div>
                </div>
            </form>
            <table class="layui-table" id="sysAccountListTable" lay-filter="sysAccountListTable"></table>
            <div class="layui-input-block" style="padding-left: 160px;">
                密码与谷歌仅显示一次,关闭后不可见
            </div>
        </div>
    </div>
</div>
@}


layui.use(['table','form', 'admin', 'ax', 'upload', 'laydate', 'selectPlus'], function () {
    var $ = layui.jquery;
    var $ax = layui.ax;
    var table = layui.table;
    var form = layui.form;
    var admin = layui.admin;
    var upload = layui.upload;
    var laydate = layui.laydate;
    var selectPlus = layui.selectPlus;

    var sysAccountListTable = {
        tableId: "sysAccountListTable"
    };
    sysAccountListTable.initColumn = function () {
        return [[
            {type: 'checkbox', LAY_CHECKED: true, hide: true},
            {field: 'userId', align: "center", sort: true, title: 'UID',width: 110},
            {field: 'email', align: "center", sort: true, title: '邮箱',width: 200},
            {field: 'password', align: "center", sort: true, title: '密码',width: 110},
            {field: 'googleCode', align: "center", sort: true, title: '谷歌码',width: 200}
        ]];
    }

    // 渲染表格
    table.render({
        elem: '#' + sysAccountListTable.tableId,
        url: Feng.ctxPath + '/userinfo/system/account/temporary/list',
        page: true,
        toolbar: '#toolbar',
        defaultToolbar: ['filter', 'exports'],
        height: "full-98",
        cellMinWidth: 100,
        cols: sysAccountListTable.initColumn(),
    });

    // 表单提交事件
    form.on('submit(btnSubmit)', function () {
        var formData = new FormData($("#businessForm")[0]);
        // 复选框判断是否选中
        var passwordCheck = document.getElementById("selectPassword").checked;
        var googleCodeCheck = document.getElementById("selectGoogleCode").checked;

        if(passwordCheck) {
            var reg = /^(?![\d]+$)(?![a-zA-Z]+$)(?![~!@#\$%\^&\*\(\)_\-\+=\{\}\[\]\|;:,<>\.\?\/]+$)[\da-zA-Z~!@#\$%\^&\*\(\)_\-\+=\{\}\[\]\|;:,<>\.\?\/]{8,32}$/;
            if(!reg.test(document.getElementById("password").value)) {
                Feng.error("密码不符合规范,请重新输入");
                return;
            } else {
                console.log('xx111');
            }
        }
        var googleCode = $("#googleCode").val();
        var password = $("#password").val();
        if (googleCodeCheck == true) {
            if (googleCode.length != 16) {
                Feng.error("输入长度不满足16位");
                return;
            }
        }

        $.ajax({
            type: "post",
            url: Feng.ctxPath + "/userinfo/system/account/add",
            async: false,
            data: formData,
            contentType: false,
            processData: false,
            success: function (data) {
                if (data.code === 200) {
                    Feng.success("添加成功");
                    form.render();
                    table.reload(sysAccountListTable.tableId);
//                    window.location.href = Feng.ctxPath + "/userinfo/system/account/batch/add/page";
                } else {
                    Feng.error(data.message);
                }
            },
            error: function (data) {
                Feng.error("添加失败!" + data.message);
            }
        });
        //当前页的刷新
        // $(".layui-laypage-btn")[0].click();
        return false;
    });

    // 返回按钮
    $("#backupPage").click(function () {
        window.location.href = Feng.ctxPath + "/userinfo/system/account/batch/add/page";
    });

    // 关闭清除一次性显示在表单的系统账户
    $("#close").click(function () {
        let uri = '/userinfo/system/account/clear'

        $.ajax({
            type: "post",
            url: Feng.ctxPath + uri,
            async: false,
            dataType: "json",
            contentType: 'application/json; charset=UTF-8',
        });
        //当前页的刷新
        table.reload(sysAccountListTable.tableId);
        // $(".layui-laypage-btn")[0].click();
    });
});

table.reload(sysAccountListTable.tableId); // 重新渲染table
placeholder=“添加备注”

<div class="layui-form-item" style="padding-left: 110px;">大写,小写,8位以上,特殊字符</div>

//当前页的刷新
// $(".layui-laypage-btn")[0].click();

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值