| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188 | <% include ../layout/body_header.ejs %><div class="panel-content">    <div class="panel-title">        <div class="title-main">            <h2><%= ctx.menu.children[ctx.actionName].name %>            <a href="#ver" data-toggle="modal" data-target="#add-user" class="btn btn-primary btn-sm pull-right">添加账号</a>            </h2>        </div>    </div>    <div class="content-wrap">        <div class="c-body">            <nav class="nav nav-tabs mb-3" role="tablist">                <a class="nav-item nav-link active" data-toggle="tab" href="#user-list" role="tab">账号列表</a>                <a class="nav-item nav-link" data-toggle="tab" href="#user-purview" role="tab">账号权限</a>            </nav>            <div class="tab-content">                <div id="user-list" class="tab-pane active">                    <table class="table table-hover table-bordered table-sm">                        <thead>                        <tr>                            <th>账号</th>                            <th>姓名</th>                            <th>单位</th>                            <th>职位</th>                            <th>手机</th>                            <th>电话</th>                            <th class="text-center">操作</th>                        </tr>                        </thead>                        <tbody>                        <% if (accountList.length > 0) { %>                        <% accountList.forEach(function (account) { %>                        <tr class="<%= account.enable !== 1 ? 'table-danger' : ''%>">                            <td><%= account.account %></td>                            <td><%= account.name %></td>                            <td><%= account.company %></td>                            <td><%= account.role %></td>                            <td><%= account.mobile %></td>                            <td><%= account.telephone %></td>                            <td class="text-center">                                <a href="#edit-user" data-toggle="modal" data-target="#edit-user" class="btn btn-sm btn-outline-primary">编辑</a>                                <a href="/project/account/enable/<%= account.id %>" class="btn btn-sm btn-outline-<%= account.enable === 1 ? 'danger' : 'success'%>"><%= account.enable === 1 ? '停用' : '启用'%></a>                            </td>                        </tr>                        <% }) %>                        <% } %>                        </tbody>                    </table>                </div>                <div id="user-purview" class="tab-pane">                    <table class="table table-hover table-bordered table-sm">                        <thead>                        <tr>                            <th>账号</th>                            <th>姓名</th>                            <th>单位</th>                            <th>职位</th>                            <th>权限</th>                        </thead>                        <tbody>                        <% if (accountList.length > 0) { %>                        <% accountList.forEach(function (account) { %>                        <tr>                            <td><%= account.account %></td>                            <td><%= account.name %></td>                            <td><%= account.company %></td>                            <td><%= account.role %></td>                            <td>                                <span class="permission-string"></span>                                <a href="#permission-form" data-toggle="modal" data-target="#permission-form" class="btn btn-sm permission" data-permission="<%= account.permission %>" data-id="<%= account.id %>">编辑</a>                            </td>                        </tr>                        <% }) %>                        <% } %>                        </tbody>                    </table>                </div>            </div>        </div>    </div></div><script type="text/javascript">let permissionList = '<%- permissionList %>';permissionList = JSON.parse(permissionList);let permissionString = '<%- permissionString %>';permissionString = JSON.parse(permissionString);$(document).ready(function() {    // 页面载入时显示权限中文    $(".permission").each(function() {        const permission = $(this).data('permission');        const permissionShowString = getPermissionString(permission);        $(this).prev(".permission-string").html(permissionShowString);    });    // 点击编辑权限按钮    let currentPermission = [];    let currentId = 0;    let currentTarget = null;    $(".permission").click(function() {        const permission = $(this).data('permission');        currentPermission = permission.split(',');        currentId = $(this).data('id');        currentTarget = $(this);    });    // 初始化弹窗数据    $("#permission-form").on("show.bs.modal", function() {        let html = '';        for (const index in permissionList) {            html += '<div class="form-group">' +                '<label><i class="fa '+ permissionList[index].icon +'"></i> '+ permissionList[index].name +'</label>' +                '<div>';            for (const child of permissionList[index].permission) {                const checkedString = currentPermission.indexOf(child.value + '') >= 0 ? 'checked="checked"' : '';                html += '<div class="form-check form-check-inline">' +                    '<input class="form-check-input" type="checkbox" name="permission" value="'+ child.value +'" '+ checkedString +'>' +                    '<label class="form-check-label">'+ child.name +'</label>' +                    '</div>';            }            html += '</div></div>';        }        $(this).find('.modal-body').html(html);    });    // 修改数据    let isChanging = false;    $("#modify-permission").click(function() {        currentId = parseInt(currentId);        if (isNaN(currentId) || currentId <= 0 || isChanging) {            return false;        }        const selectPermission = [];        $("input[name='permission']").each(function() {            if ($(this).is(":checked")) {                selectPermission.push($(this).val());            }        });        if (selectPermission.length <= 0) {            alert('请选择权限!');            return false;        }        $.ajax({            url: '/project/account/permission/' + currentId + "?_csrf_j=<%= ctx.csrf %>",            type: 'post',            data: { permission: selectPermission.join(',') },            error: function() {                alert('通信错误');                isChanging = false;            },            beforeSend: function() {                isChanging = true;            },            success: function(response) {                isChanging = false;                if (response.err !== 0) {                    alert(response.msg);                    return false;                }                const permissionShowString = getPermissionString(selectPermission);                currentTarget.prev(".permission-string").html(permissionShowString);                $("#permission-form").modal('hide');            }        });    });});function getPermissionString(permission) {    let result = '';    permission = permission instanceof Array ? permission : permission.split(",");    if (permission.length <= 0) {        return result;    }    const permissionArr = [];    for (const tmp of permission) {        if (permissionString[tmp] !== undefined) {            permissionArr.push(permissionString[tmp]);        }    }    return permissionArr.join(',');}</script>
 |