123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639 |
- <!DOCTYPE html>
- <html>
- <head>
- <meta charset="utf-8"/>
- <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
- <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
- <title>帐号管理</title>
- <link rel="stylesheet" href="../../../assets/libs/layui/css/layui.css"/>
- <link rel="stylesheet" href="../../../assets/module/admin.css?v=312"/>
- <link rel="stylesheet" href="../../../assets/module/zTree/css/metroStyle/metroStyle.css"/>
- <link rel="stylesheet" href="../../../assets/module/formSelects/formSelects-v4.css"/>
- <body>
- <!-- 页面加载loading -->
- <div class="page-loading">
- <div class="ball-loader">
- <span></span><span></span><span></span><span></span>
- </div>
- </div>
- <!-- 正文开始 -->
- <div class="layui-fluid">
- <div class="layui-row layui-col-space15">
- <!-- 左栏 -->
- <div class="layui-col-sm12 layui-col-md1 layui-col-lg2">
- <div class="layui-card">
- <div class="layui-card-body mini-bar zTree" id="treeTbTree">
- <ul id="groupTree" class="ztree"></ul>
- <input type="hidden" id="curGroupId" value=""/>
- </div>
- </div>
- </div>
- <!-- 右栏 -->
- <div class="layui-col-sm12 layui-col-md11 layui-col-lg10">
- <div class="layui-card">
- <div class="layui-card-body">
- <div class="layui-form toolbar">
- <div class="layui-form-item text-right">
- <div class="layui-inline pull-left" style="margin-top:10px;">
- <span><i class="layui-icon layui-icon-group"></i>
- </span><span id="curGroupName"></span>
- </div>
- <div class="layui-inline">
- <label class="layui-form-label w-auto">搜索:</label>
- <div class="layui-input-inline mr0">
- <input name="keyword" class="layui-input" type="text" placeholder="输入关键字"/>
- </div>
- </div>
- <div class="layui-inline">
- <button class="layui-btn icon-btn" lay-filter="formSubSearchRole" lay-submit>
- <i class="layui-icon"></i>搜索
- </button>
- </div>
- <div class="layui-inline">
- <button id="btnAdd" class="layui-btn icon-btn"><i class="layui-icon"></i>添加
- </button>
- </div>
- </div>
- </div>
- <table class="layui-table" id="datatable" lay-filter="datatable"></table>
- </div>
- </div>
- </div>
- </div>
- </div>
- <!-- 状态列 -->
- <script type="text/html" id="accountStatusTpl">
- <input type="checkbox" lay-filter="accountStatus" value="{{d.accountStatus}}" accountId="{{d.aId}}"
- lay-skin="switch"
- lay-text="正常|锁定" {{d.accountStatus==0?'checked':''}}/>
- </script>
- <script type="text/html" id="grantGroupTpl">
- {{# if(d.grantGroupId > 0){ }}
- <a class="layui-table-link" lay-event="editGrantGroup"><i class="layui-icon layui-icon-friends"></i>{{d.grantGroupName}}</a>
- {{# }else{ }}
- <a class="layui-btn layui-btn-radius layui-btn-xs" lay-event="addGrantGroup"><i
- class="layui-icon layui-icon-add-1"></i>部门</a>
- {{# } }}
- </script>
- <!-- 表格操作列 -->
- <script type="text/html" id="optionTpl">
- <a class="layui-btn layui-btn-primary layui-btn-xs" lay-event="edit">修改</a>
- <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</a>
- <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="resetPwd">重置密码</a>
- </script>
- <!-- 表单弹窗 -->
- <script type="text/html" id="modelTpl">
- <form id="modelForm" lay-filter="modelForm" class="layui-form model-form">
- <div class="layui-form-item">
- <label class="layui-form-label">所属部门</label>
- <div class="layui-input-block">
- <input type="hidden" class="layui-input" id="groupId" name="groupId" value="" lay-verify="required"/>
- <input type="text" class="layui-input layui-disabled" id="groupName" name="groupName" value=""
- disabled/>
- </div>
- </div>
- <div class="layui-form-item">
- <label class="layui-form-label">帐号名称</label>
- <div class="layui-input-block">
- <input type="hidden" class="layui-input" id="accountId" name="accountId" value=""/>
- <input type="hidden" class="layui-input" id="oldAccountName" name="oldAccountName" value=""/>
- <input type="text" class="layui-input" id="accountName" name="accountName" value=""
- autocomplete="off" lay-verify="accountName|required" maxlength="128"/>
- </div>
- </div>
- <div class="layui-form-item pwd">
- <label class="layui-form-label">密码</label>
- <div class="layui-input-block">
- <input type="password" class="layui-input" id="password" name="password"
- placeholder="输入密码" value="" maxlength="32"/>
- </div>
- </div>
- <div class="layui-form-item">
- <label class="layui-form-label">姓名</label>
- <div class="layui-input-block">
- <input type="text" class="layui-input" id="accountRealName" name="accountRealName"
- placeholder="输入姓名" value="" autocomplete="off" lay-verify="required" maxlength="64"/>
- </div>
- </div>
- <div class="layui-form-item">
- <label class="layui-form-label">性别</label>
- <div class="layui-input-block">
- <input type="radio" name="accountSex" value="1" title="男">
- <input type="radio" name="accountSex" value="2" title="女">
- </div>
- </div>
- <div class="layui-form-item">
- <label class="layui-form-label">手机号码</label>
- <div class="layui-input-block">
- <input type="hidden" class="layui-input" id="oldAccountTel" name="oldAccountTel" placeholder="手机号码"/>
- <input type="text" class="layui-input" id="accountTel" name="accountTel" placeholder="手机号码"
- autocomplete="off" lay-verify="phone" maxlength="11"/>
- </div>
- </div>
- <div class="layui-form-item">
- <label class="layui-form-label">岗位</label>
- <div class="layui-input-block">
- <select id="positionId" name="positionId" xm-select="positionId" xm-select-radio></select>
- <input type="hidden" id="gmpId" name="gmpId" value=""/>
- </div>
- </div>
- <div class="layui-form-item">
- <label class="layui-form-label">身份证号</label>
- <div class="layui-input-block">
- <input type="text" class="layui-input" id="accountIdCard" name="accountIdCard" placeholder="身份证号"
- autocomplete="off" maxlength="18"/>
- </div>
- </div>
- <div class="layui-form-item">
- <label class="layui-form-label">职称</label>
- <div class="layui-input-block">
- <input type="text" class="layui-input" id="accountRank" name="accountRank" placeholder="职称"
- autocomplete="off" maxlength="64"/>
- </div>
- </div>
- <div class="layui-form-item">
- <label class="layui-form-label">工种</label>
- <div class="layui-input-block">
- <input type="text" class="layui-input" id="accountWorkType" name="accountWorkType" placeholder="工种"
- autocomplete="off" maxlength="64"/>
- </div>
- </div>
- <div class="layui-form-item text-right">
- <button class="layui-btn layui-btn-primary" type="button" ew-event="closePageDialog">取消</button>
- <button class="layui-btn" lay-filter="modelSubmit" lay-submit>保存</button>
- </div>
- </form>
- </script>
- <script type="text/html" id="resetPwdModelTpl">
- <form id="resetPwdModelForm" lay-filter="resetPwdModelForm" class="layui-form model-form">
- <div class="layui-form-item">
- <label class="layui-form-label">新密码</label>
- <div class="layui-input-block">
- <input type="hidden" name="aId" value=""/>
- <input type="password" class="layui-input" id="newPassword" name="newPassword" value=""
- lay-verify="pwd|required" maxlength="32"/>
- </div>
- </div>
- <div class="layui-form-item">
- <label class="layui-form-label">再输一遍</label>
- <div class="layui-input-block">
- <input type="password" class="layui-input" id="rePassword" name="rePassword" value=""
- lay-verify="pwd|required" maxlength="32"/>
- </div>
- </div>
- <div class="layui-form-item text-right">
- <button class="layui-btn layui-btn-primary" type="button" ew-event="closePageDialog">取消</button>
- <button class="layui-btn" lay-filter="resetPwdModelSubmit" lay-submit>保存</button>
- </div>
- </form>
- </script>
- <!-- js部分 -->
- <script type="text/javascript" src="../../../assets/libs/layui/layui.js"></script>
- <script type="text/javascript" src="../../../assets/js/common.js?v=313"></script>
- <script>
- layui.use(['iconPicker', 'layer', 'element', 'form', 'table', 'admin', 'uParas', 'util', 'zTree', 'formSelects'], function () {
- var $ = layui.jquery;
- var layer = layui.layer;
- var form = layui.form;
- var table = layui.table;
- var admin = layui.admin;
- var uParas = layui.uParas;
- form.verify({
- accountName: function (value, item) {
- var checkValue = value.trim();
- //用户名正则,4到16位(字母,数字,下划线,减号)
- if (!(/^[[a-zA-Z0-9_]{2,16}$/.test(checkValue))) {
- return "请输入正确的用户名";
- }
- var oldAccountName = $("#oldAccountName").val();
- if (((oldAccountName != "") && (oldAccountName != checkValue))
- || ((oldAccountName == "") && (checkValue != ""))) {
- //初始化群组树
- var url1 = uParas.baseUrl + '/ent/groupAccount/checkAccountNameExist/' + checkValue;
- admin.req(url1, {}, function (resp) {
- if (resp.code == 1) {
- return "用户名已存在!";
- }
- }, 'GET');
- }
- },
- accountTel: function (value, item) {
- var checkValue = value.trim();
- if (!(/^1\d{10}$/.test(value))) {
- return "请输入正确的手机号码";
- }
- var oldAccountTel = $("#accountTel").val();
- if (((oldAccountTel != "") && (oldAccountTel != checkValue))
- || ((oldAccountTel == "") && (checkValue != ""))) {
- //初始化群组树
- var url1 = uParas.baseUrl + '/org/groupAccount/checkAccountTelExist/' + checkValue;
- admin.req(url1, {}, function (resp) {
- if (resp.code == 1) {
- return "手机号已存在,请更换手机号!";
- }
- }, 'GET');
- }
- },
- phone: [/^1\d{10}$/, '手机必须11位,只能是数字!'],
- email: [/^[a-z0-9._%-]+@([a-z0-9-]+\.)+[a-z]{2,4}$|^1[3|4|5|7|8]\d{9}$/, '邮箱格式不对'],
- pwd: function () {
- var newPwd = $('#newPassword').val();
- var rePwd = $('#rePassword').val();
- ;
- if (newPwd != rePwd) {
- return "两次输入不一致!";
- }
- }
- });
- //左树设置
- var leftgroupTreeSetting = {
- data: {
- simpleData: {
- enable: true,
- idKey: "gId",
- pIdKey: "groupParent",
- rootPId: 0,
- },
- key: {
- name: "groupName",
- title: "groupName",
- }
- },
- callback: {
- onClick: leftNodeClick,
- }
- };
- function leftNodeClick(e, treeId, treeNode) {
- var groupId = treeNode.gId;
- var groupName = treeNode.groupName;
- $("#curGroupId").val(groupId);
- $("#curGroupName").html(groupName);
- refreshTable();
- }
- function refreshTable() {
- var groupId = $("#curGroupId").val();
- insTb.reload({
- where: {
- gId: groupId,
- }
- }, 'data');
- }
- //初始化群组树
- var url1 = uParas.baseUrl + '/org/groupAccount/getGroupTreeList';
- admin.req(url1, {}, function (resp) {
- if (resp.code == 1) {
- var zNodes = resp.data;
- $.fn.zTree.init($('#groupTree'), leftgroupTreeSetting, zNodes);
- selectNode();
- layer.closeAll('loading');
- } else {
- layer.msg(resp.msg);
- }
- }, 'GET');
- //选择节点
- function selectNode() {
- var treeObj = $.fn.zTree.getZTreeObj("groupTree");
- var nodes = treeObj.getNodes();
- if (nodes.length > 0) {
- var node = nodes[0];
- treeObj.selectNode(node);
- treeObj.expandNode(node, true, false, false);
- var groupId = node.gId;
- var groupName = node.groupName;
- $("#curGroupId").val(groupId);
- $("#curGroupName").html(groupName);
- initDataTable();
- }
- }
- var insTb = null;
- function initDataTable() {
- console.log($("#curGroupId").val())
- // 渲染表格
- if (!insTb && typeof (insTb) != "undefined" && insTb != 0) {
- insTb = table.render({
- elem: '#datatable',
- url: uParas.baseUrl + '/org/groupAccount/queryAccount',
- where: {
- gId: $("#curGroupId").val(),
- },
- page: true,
- cellMinWidth: 100,
- cols: [[
- {type: 'numbers', align: 'center', title: '#', width: 60},
- {field: 'accountName', align: 'center', sort: false, title: '名称', width: 150},
- {field: 'accountRealName', align: 'center', sort: false, title: '姓名', width: 150},
- {field: 'accountTel', align: 'center', sort: false, title: '联系方式', width: 150},
- {field: 'groupName', align: 'left', sort: false, title: '所在部门'},
- {field: 'positionTitle', align: 'center', sort: false, title: '岗位', width: 150},
- {
- field: 'accountStatus',
- align: 'center',
- sort: false,
- title: '状态',
- templet: '#accountStatusTpl',
- width: 120,
- unresize: true
- },
- /*{field: 'grantGroupName', align: 'center', sort: false, title: '授权部门', templet: '#grantGroupTpl'},*/
- {align: 'center', toolbar: '#optionTpl', title: '操作', width: 200},
- ]]
- });
- }
- }
- // 添加按钮点击事件
- $('#btnAdd').click(function () {
- var curGroupId = $("#curGroupId").val();
- showAddModel(curGroupId);
- });
- // 搜索
- form.on('submit(formSubSearchRole)', function (data) {
- insTb.reload({where: data.field}, 'data');
- });
- //监听帐号状态操作
- form.on('switch(accountStatus)', function (obj) {
- console.log(obj);
- var accountId = obj.elem.attributes['accountId'].nodeValue;
- var accountStatus = obj.elem.checked ? 0 : 1;
- layer.load();
- var url = uParas.baseUrl + '/org/groupAccount/updateAccountStatus/' + accountId + "/" + accountStatus;
- admin.req(url, {}, function (resp) {
- layer.closeAll('loading');
- if (resp.code == 1) {
- layer.msg(resp.msg);
- } else {
- layer.msg(resp.msg);
- insTb.reload({}, 'data');
- }
- }, 'POST');
- });
- // 工具条点击事件
- table.on('tool(datatable)', function (obj) {
- var data = obj.data;
- var layEvent = obj.event;
- if (layEvent == 'edit') { // 修改
- showEditModel(data);
- } else if (layEvent == 'del') { // 删除
- doDel(obj);
- } else if (layEvent == 'resetPwd') {
- resetPwd(data);
- } else if (layEvent == 'addGrantGroup') {
- addGrantGroup(data);
- } else if (layEvent == 'editGrantGroup') {
- editGrantGroup(data);
- }
- });
- function reLoadData() {
- insTb.reload({}, 'data');
- }
- function addGrantGroup(data) {
- admin.open({
- type: 2,
- title: '授权部门',
- content: "./grantGroup.html?gmpId=" + data.gmpId,
- area: ['600px', '500px'],
- success: function (layero, dIndex) {
- layer.setTop(layero);
- },
- end: function () {
- reLoadData();
- }
- });
- }
- function editGrantGroup(data) {
- admin.open({
- type: 2,
- title: '授权部门',
- content: "./grantGroup.html?gmpId=" + data.gmpId,
- area: ['600px', '500px'],
- success: function (layero, dIndex) {
- layer.setTop(layero);
- },
- end: function () {
- reLoadData();
- }
- });
- }
- // 显示新增弹窗
- function showAddModel(data) {
- var curGroupId = $("#curGroupId").val();
- var curGroupName = $("#curGroupName").html();
- admin.open({
- type: 1,
- title: '添加帐号',
- content: $('#modelTpl').html(),
- success: function (layero, dIndex) {
- uParas.initSimpleSelect("positionId", 'modelForm', "/ent/position/getList", "positionTitle", "pId");
- form.val('modelForm', {
- 'groupId': curGroupId,
- 'groupName': curGroupName,
- 'accountSex': '1',
- });
- var url = uParas.baseUrl + '/org/groupAccount/saveAccountGroupPosition';
- // 保存处理
- form.on('submit(modelSubmit)', function (data) {
- layer.load();
- admin.req(url, data.field, function (resp) {
- layer.closeAll('loading');
- if (resp.code == 1) {
- layer.close(dIndex);
- layer.msg(resp.msg);
- insTb.reload({}, 'data');
- } else {
- layer.msg(resp.msg);
- }
- }, 'POST');
- return false;
- });
- }
- });
- }
- // 显示表单弹窗
- function showEditModel(data) {
- admin.open({
- type: 1,
- title: '编辑帐号',
- content: $('#modelTpl').html(),
- success: function (layero, dIndex) {
- var index = layer.load('loading');
- $(".pwd").hide();
- var url1 = uParas.baseUrl + "/org/groupAccount/getAccount/" + data.gmId;
- admin.req(url1, {}, function (resp) {
- if (resp.code == 1) {
- form.val('modelForm', {
- 'groupId': resp.data.gId,
- 'groupName': resp.data.groupName,
- 'accountId': resp.data.aId,
- 'accountName': resp.data.accountName,
- 'password': resp.data.password,
- 'accountSex': "" + resp.data.accountSex + "",
- 'oldAccountName': resp.data.accountName,
- 'accountRealName': resp.data.accountRealName,
- 'accountTel': resp.data.accountTel,
- 'oldAccountTel': resp.data.accountTel,
- 'accountRank': resp.data.accountRank,
- 'accountIdCard': resp.data.accountIdCard,
- 'accountWorkType': resp.data.accountWorkType,
- }); // 回显数据
- uParas.initSimpleSelect("positionId", 'modelForm', "/ent/position/getList", "positionTitle", "pId", resp.data.positionId);
- layer.close(index);
- } else {
- layer.msg(resp.msg)
- }
- }, 'GET');
- var url = uParas.baseUrl + '/org/groupAccount/updateAccountGroupPosition';
- // 表单提交事件
- form.on('submit(modelSubmit)', function (dataF) {
- layer.load();
- dataF.field.gmId = data.gmId;
- dataF.field.gmpId = data.gmpId;
- dataF.field.aId = dataF.field.accountId;
- admin.req(url, dataF.field, function (resp) {
- layer.closeAll('loading');
- if (resp.code == 1) {
- layer.close(dIndex);
- layer.msg(resp.msg);
- insTb.reload({}, 'data');
- } else {
- layer.msg(resp.msg);
- }
- }, 'POST');
- return false;
- });
- }
- });
- }
- // 删除
- function doDel(obj) {
- layer.confirm('确定要删除“' + obj.data.accountRealName + '”吗?', {
- skin: 'layui-layer-admin',
- shade: .1
- }
- , function (i) {
- layer.close(i);
- layer.load();
- var url = uParas.baseUrl + '/org/groupAccount/deleteAccountGroupPosition/' + obj.data.aId;
- admin.req(url, {}, function (resp) {
- layer.closeAll('loading');
- if (resp.code == 1) {
- layer.msg(resp.msg);
- obj.del();
- } else {
- layer.msg(resp.msg);
- }
- }, 'GET');
- });
- }
- //重置密码
- function resetPwd(data) {
- admin.open({
- type: 1,
- title: '重置密码',
- content: $('#resetPwdModelTpl').html(),
- success: function (layero, dIndex) {
- form.val('resetPwdModelForm', {
- 'aId': data.aId,
- }); // 回显数据
- var url = uParas.baseUrl + '/org/groupAccount/resetPassword';
- // 表单提交事件
- form.on('submit(resetPwdModelSubmit)', function (data) {
- layer.load();
- data.field.password = data.field.newPassword;
- admin.req(url, data.field, function (resp) {
- layer.closeAll('loading');
- if (resp.code == 1) {
- layer.close(dIndex);
- layer.msg(resp.msg);
- } else {
- layer.msg(resp.msg);
- }
- }, 'POST');
- return false;
- });
- }
- });
- }
- });
- </script>
- </body>
- </html>
|