| | |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | |
| | | var FnParseData = function (res) { |
| | | return { |
| | | "code": res.code == 200 ? 0 : res.code, // 解析接口状态 |
| | | "msg": res.msg, // 解析提示文本 |
| | | "count": res.data.Total, // 解析数据长度 |
| | | "data": res.data.Items // 解析数据列表 |
| | | }; |
| | | } |
| | |
| | | <!DOCTYPE html> |
| | | <html> |
| | | <head> |
| | | <meta charset="utf-8"> |
| | | <title>操作日志</title> |
| | | <meta name="renderer" content="webkit"> |
| | | <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> |
| | | <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0"> |
| | | <link rel="stylesheet" href="../../layuiadmin/layui/css/layui.css" media="all"> |
| | | <link rel="stylesheet" href="../../layuiadmin/style/admin.css" media="all"> |
| | | <script> |
| | | // 这里是需要在页面渲染之前执行的代码 |
| | | document.addEventListener("DOMContentLoaded", function() { |
| | | |
| | | //获取table默认显示数 |
| | | pageCntFirst(); |
| | | }); |
| | | </script> |
| | | </head> |
| | | <body id="body"> |
| | | <div class="layui-fluid" style="padding-bottom: 0;"> |
| | | <div class="layui-card"> |
| | | <div class="layui-form layui-card-header layuiadmin-card-header-auto" style="border-bottom:1px solid #CCC" id="top"> |
| | | <div class="layui-form-item" > |
| | | <div class="layui-inline"> |
| | | <label class="layui-form-label">菜单号</label> |
| | | <div class="layui-input-inline"> |
| | | <input type="text" id="MenuNo" name="MenuNo" placeholder="请输入菜单号" autocomplete="off" class="layui-input"> |
| | | </div> |
| | | </div> |
| | | <div class="layui-inline"> |
| | | <label class="layui-form-label">菜单名称</label> |
| | | <div class="layui-input-inline"> |
| | | <input type="text" id="MenuName" name="MenuName" placeholder="请输入菜单名称" autocomplete="off" class="layui-input"> |
| | | </div> |
| | | </div> |
| | | <div class="layui-inline"> |
| | | <label class="layui-form-label">操作内容</label> |
| | | <div class="layui-input-inline"> |
| | | <input type="text" id="Msg" name="Msg" placeholder="请输入操作内容" autocomplete="off" class="layui-input"> |
| | | </div> |
| | | </div> |
| | | <div class="layui-inline"> |
| | | <label class="layui-form-label" style="width: 45px;">类型</label> |
| | | <div class="layui-input-inline"> |
| | | <select name="Type" id="Type" lay-verify="" lay-search > |
| | | <option value=""></option> |
| | | </select> |
| | | </div> |
| | | </div> |
| | | <div class="layui-inline"> |
| | | <button class="layui-btn layui-btn-sm layuiadmin-btn-list" lay-submit lay-filter="LAY-app-contlist-search"> |
| | | <i class="layui-icon layui-icon-search layuiadmin-button-btn"></i>搜索 |
| | | </button> |
| | | |
| | | <head> |
| | | <meta charset="utf-8"> |
| | | <title>操作日志</title> |
| | | <meta name="renderer" content="webkit"> |
| | | <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> |
| | | <meta name="viewport" |
| | | content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0"> |
| | | <link rel="stylesheet" href="../../layuiadmin/layui/css/layui.css" media="all"> |
| | | <link rel="stylesheet" href="../../layuiadmin/style/admin.css" media="all"> |
| | | <script> |
| | | // 这里是需要在页面渲染之前执行的代码 |
| | | document.addEventListener("DOMContentLoaded", function () { |
| | | |
| | | //获取table默认显示数 |
| | | pageCntFirst(); |
| | | }); |
| | | </script> |
| | | </head> |
| | | |
| | | <body id="body"> |
| | | <div class="layui-fluid" style="padding-bottom: 0;"> |
| | | <div class="layui-card"> |
| | | <div class="layui-form layui-card-header layuiadmin-card-header-auto" style="border-bottom:1px solid #CCC" |
| | | id="top"> |
| | | <div class="layui-form-item"> |
| | | <div class="layui-inline"> |
| | | <label class="layui-form-label">菜单号</label> |
| | | <div class="layui-input-inline"> |
| | | <input type="text" id="MenuNo" name="MenuNo" placeholder="请输入菜单号" autocomplete="off" |
| | | class="layui-input"> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | |
| | | <div id="center"></div> |
| | | |
| | | <div class="layui-card-body"> |
| | | <table id="LAY-app-content-list" lay-filter="LAY-app-content-list"></table> |
| | | <div class="layui-inline"> |
| | | <label class="layui-form-label">菜单名称</label> |
| | | <div class="layui-input-inline"> |
| | | <input type="text" id="MenuName" name="MenuName" placeholder="请输入菜单名称" autocomplete="off" |
| | | class="layui-input"> |
| | | </div> |
| | | </div> |
| | | <div class="layui-inline"> |
| | | <label class="layui-form-label">操作内容</label> |
| | | <div class="layui-input-inline"> |
| | | <input type="text" id="Msg" name="Msg" placeholder="请输入操作内容" autocomplete="off" |
| | | class="layui-input"> |
| | | </div> |
| | | </div> |
| | | <div class="layui-inline"> |
| | | <label class="layui-form-label" style="width: 45px;">类型</label> |
| | | <div class="layui-input-inline"> |
| | | <select name="Type" id="Type" lay-verify="" lay-search> |
| | | <option value=""></option> |
| | | </select> |
| | | </div> |
| | | </div> |
| | | <div class="layui-inline"> |
| | | <button class="layui-btn layui-btn-sm layuiadmin-btn-list" lay-submit |
| | | lay-filter="LAY-app-contlist-search"> |
| | | <i class="layui-icon layui-icon-search layuiadmin-button-btn"></i>搜索 |
| | | </button> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | |
| | | <div id="center"></div> |
| | | |
| | | <div class="layui-card-body"> |
| | | <table id="LAY-app-content-list" lay-filter="LAY-app-content-list"></table> |
| | | </div> |
| | | </div> |
| | | <script src="../../layuiadmin/layui/layui.js"></script> |
| | | <script src="../../js/public.js"></script> |
| | | <script src="../../js/jquery-3.5.1.min.js"></script> |
| | | <script src="../../js/jquery.cookie.js"></script> |
| | | <script> |
| | | layui.config({ |
| | | base: '../../layuiadmin/' //静态资源所在路径 |
| | | }).extend({ |
| | | index: 'lib/index' //主入口模块 |
| | | }).use(['index', 'table', 'laypage', 'layer'], function() { |
| | | var table = layui.table, |
| | | form = layui.form, |
| | | laypage = layui.laypage, |
| | | layer = layui.layer; |
| | | </div> |
| | | <script src="../../layuiadmin/layui/layui.js"></script> |
| | | <script src="../../js/public.js"></script> |
| | | <script src="../../js/jquery-3.5.1.min.js"></script> |
| | | <script src="../../js/jquery.cookie.js"></script> |
| | | <script> |
| | | layui.config({ |
| | | base: '../../layuiadmin/' //静态资源所在路径 |
| | | }).extend({ |
| | | index: 'lib/index' //主入口模块 |
| | | }).use(['index', 'table', 'laypage', 'layer'], function () { |
| | | var table = layui.table, |
| | | form = layui.form, |
| | | laypage = layui.laypage, |
| | | layer = layui.layer; |
| | | |
| | | var h1 = GetTableHeight(); |
| | | refreshTable("", "", "", "",""); |
| | | var tableIns; |
| | | var h1 = GetTableHeight(); |
| | | var tableIns; |
| | | |
| | | //获取类型菜单下拉 |
| | | sendData(IP + '/Basis/GetDicTypeList?DicName=操作类型',{},'get',function(res){ |
| | | if (res.code == 0) //成功 |
| | | { |
| | | for (var i = 0; i < res.data.length; i++) |
| | | { |
| | | $("#Type").append('<option value =' + res.data[i].Id + '>' + res.data[i].DictName + '</option>'); |
| | | } |
| | | form.render('select'); |
| | | //获取类型菜单下拉 |
| | | sendData(IP + '/Basis/GetDicTypeList?DicName=操作类型', {}, 'get', function (res) { |
| | | if (res.code == 200) //成功 |
| | | { |
| | | for (var i = 0; i < res.data.length; i++) { |
| | | $("#Type").append('<option value =' + res.data[i].Id + '>' + res.data[i].DictName + '</option>'); |
| | | } |
| | | else //不成功 |
| | | { |
| | | layer.msg('获取类型菜单信息失败!', { |
| | | icon: 2, |
| | | time: 2000 //2秒关闭(如果不配置,默认是3秒) |
| | | }, function() {}); |
| | | } |
| | | }); |
| | | |
| | | |
| | | function refreshTable(MenuName, Type, Msg, MenuNo,ParentNo) { |
| | | var param = { |
| | | MenuName: MenuName, |
| | | Type: Type, |
| | | Msg: Msg, |
| | | MenuNo: MenuNo, |
| | | ParentNo: ParentNo, |
| | | }; |
| | | ParentNo = '基础信息'; //模块名称 |
| | | var url = "/Basis/GetSysOperationList?MenuName="+MenuName+"&&Type="+Type+"&&Msg="+Msg+"&&MenuNo="+MenuNo+"&&ParentNo="+ParentNo; |
| | | sendData(IP + url, {}, 'get', function(res) { |
| | | |
| | | console.log(res.data) |
| | | |
| | | if (res.code == 0) //成功 |
| | | { |
| | | var list = res.data; |
| | | $.extend(infoOptions, { |
| | | data: list |
| | | }); |
| | | infoOptions.page = { |
| | | curr: 1 |
| | | } |
| | | tableIns = table.render(infoOptions); |
| | | |
| | | } |
| | | else //不成功 |
| | | { |
| | | layer.msg('获取日志列表信息失败!', { |
| | | icon: 2, |
| | | time: 2000 //2秒关闭(如果不配置,默认是3秒) |
| | | }, function() {}); |
| | | } |
| | | }); |
| | | |
| | | form.render('select'); |
| | | } |
| | | var xml = ''; |
| | | function getchiled(data, mainId) { |
| | | if (data) |
| | | { |
| | | var list = data.filter(item => item.ParentId == mainId); |
| | | if (list) |
| | | { |
| | | for (var i = 0; i < list.length; i++) |
| | | { |
| | | var id = list[i].Id; |
| | | //查询有无子菜单 |
| | | var count = data.filter(item => item.ParentId == id).length; |
| | | if (count > 0) |
| | | { |
| | | xml = xml + '<dd>' + '<a href="javascript:;">' + list[i].Name + '</a>' + '<dl class="layui-nav-child">'; |
| | | getchiled(data, id); |
| | | xml = xml + '</dl></dd>'; |
| | | } |
| | | else |
| | | { |
| | | xml = xml + '<dd>' + '<a lay-href="' + list[i].Url + '">' + list[i].Name + '</a>' + '</dd>'; |
| | | } |
| | | } |
| | | } |
| | | else //不成功 |
| | | { |
| | | layer.msg('获取类型菜单信息失败!', { |
| | | icon: 2, |
| | | time: 2000 //2秒关闭(如果不配置,默认是3秒) |
| | | }, function () { }); |
| | | } |
| | | }); |
| | | var TotalColsArr = [[ |
| | | { |
| | | title: '序号', type: 'numbers', fixed: 'left', width: 65 |
| | | }, |
| | | { |
| | | field: 'ParentNo', title: '模块号', align: 'center', fixed: 'left', width: 80 |
| | | }, |
| | | { |
| | | field: 'MenuNo', title: '菜单号', align: 'center', fixed: 'left', width: 80 |
| | | }, |
| | | { |
| | | field: 'MenuName', title: '菜单名称', align: 'center', width: 190 |
| | | }, |
| | | { |
| | | field: 'FkNo', title: '数据编号', align: 'center', width: 180 |
| | | }, |
| | | { |
| | | field: 'TypeName', title: '类型', align: 'center', width: 100 |
| | | }, |
| | | { |
| | | field: 'Msg', title: '操作内容', align: 'center' |
| | | }, |
| | | { |
| | | field: 'CreateUserName', title: '操作人', align: 'center', width: 120 |
| | | }, |
| | | { |
| | | field: 'CreateTime', title: '操作时间', align: 'center', width: 160, |
| | | templet: function (d) { |
| | | return formatDate(d.CreateTime); |
| | | } |
| | | } |
| | | var infoOptions = { |
| | | elem: '#LAY-app-content-list', |
| | | height: h1, |
| | | id: 'LAY-app-content-list', |
| | | page: true, |
| | | limit: pageCnt, |
| | | limits: pageLimits, |
| | | even: true, |
| | | cols: |
| | | [[ |
| | | { |
| | | title: '序号', type: 'numbers', fixed: 'left', width:65 |
| | | }, |
| | | { |
| | | field: 'ParentNo', title: '模块号', align: 'center', fixed: 'left', width:80 |
| | | }, |
| | | { |
| | | field: 'MenuNo', title: '菜单号', align: 'center', fixed: 'left', width:80 |
| | | }, |
| | | { |
| | | field: 'MenuName', title: '菜单名称', align: 'center', width:190 |
| | | }, |
| | | { |
| | | field: 'FkNo', title: '数据编号', align: 'center', width:180 |
| | | }, |
| | | { |
| | | field: 'TypeName', title: '类型', align: 'center', width:100 |
| | | }, |
| | | { |
| | | field: 'Msg', title: '操作内容', align: 'center' |
| | | }, |
| | | { |
| | | field: 'CreateUserName', title: '操作人', align: 'center', width:120 |
| | | }, |
| | | { |
| | | field: 'CreateTime', title: '操作时间', align: 'center', width:160, |
| | | templet: function (d) { |
| | | return formatDate(d.CreateTime); |
| | | } |
| | | ]]; |
| | | var TotalColsSysArr = encodeURIComponent(encodeURIComponent(JSON.stringify(TotalColsArr)))//将表头数据进行url编码 |
| | | function objectToQueryString(obj) { |
| | | var queryString = ''; |
| | | for (var key in obj) { |
| | | if (obj.hasOwnProperty(key)) { |
| | | if (queryString.length > 0) { |
| | | queryString += '&'; |
| | | } |
| | | ]] |
| | | }; |
| | | //监听搜索 |
| | | form.on('submit(LAY-app-contlist-search)', function(data) { |
| | | console.log(data) |
| | | var MenuName = data.field.MenuName; |
| | | var Type = data.field.Type; |
| | | var Msg = data.field.Msg; |
| | | var MenuNo = data.field.MenuNo; |
| | | //MenuName, Type, Msg, MenuNo,ParentNo |
| | | refreshTable(MenuName, Type, Msg, MenuNo); |
| | | }); |
| | | queryString += encodeURIComponent(key) + '=' + encodeURIComponent(obj[key]); |
| | | } |
| | | } |
| | | return queryString; |
| | | } |
| | | // 创建渲染实例 |
| | | tableIns = table.render({ |
| | | elem: '#LAY-app-content-list', |
| | | url: IP + "/Basis/GetSysOperationList", |
| | | method: 'post', |
| | | height: GetTableHeight(), |
| | | id: 'LAY-app-content-list', |
| | | where: { |
| | | MenuName: $("#MenuName").val(), |
| | | Type: $("#Type").val(), |
| | | Msg: $("#Msg").val(), |
| | | MenuNo: $("#MenuNo").val(), |
| | | ParentNo: '基础信息', |
| | | }, |
| | | parseData: FnParseData, |
| | | contentType: 'application/json', |
| | | defaultToolbar: [], |
| | | headers: { ToKen: $.cookie('token') }, |
| | | page: true, |
| | | even: true, |
| | | limit: pageCnt, |
| | | limits: pageLimits, |
| | | cellMinWidth: 60, |
| | | done: function (res) { |
| | | //自定义列宽 |
| | | SetTableColW('LAY-app-content-list', 'Basis/GetSysOperationList', TotalColsSysArr); |
| | | }, |
| | | cols: TotalColsArr |
| | | }); |
| | | |
| | | var doing = true; |
| | | |
| | | $('.layui-btn.layuiadmin-btn-list').on('click', function() { |
| | | var type = $(this).data('type'); |
| | | active[type] ? active[type].call(this) : ''; |
| | | //监听搜索 |
| | | form.on('submit(LAY-app-contlist-search)', function (data) { |
| | | table.reload('LAY-app-content-list', { |
| | | where: { |
| | | MenuName: $("#MenuName").val(), |
| | | Type: $("#Type").val(), |
| | | Msg: $("#Msg").val(), |
| | | MenuNo: $("#MenuNo").val(), |
| | | ParentNo: '基础信息', |
| | | } |
| | | }); |
| | | }); |
| | | </script> |
| | | </body> |
| | | </html> |
| | | |
| | | var doing = true; |
| | | |
| | | $('.layui-btn.layuiadmin-btn-list').on('click', function () { |
| | | var type = $(this).data('type'); |
| | | active[type] ? active[type].call(this) : ''; |
| | | }); |
| | | }); |
| | | </script> |
| | | </body> |
| | | |
| | | </html> |
| | |
| | | <!DOCTYPE html> |
| | | <html> |
| | | <head> |
| | | <meta charset="utf-8"> |
| | | <title>用户信息列表</title> |
| | | <meta name="renderer" content="webkit"> |
| | | <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> |
| | | <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0"> |
| | | <link rel="stylesheet" href="../../layuiadmin/layui/css/layui.css" media="all"> |
| | | <link rel="stylesheet" href="../../layuiadmin/style/admin.css" media="all"> |
| | | <script> |
| | | // 这里是需要在页面渲染之前执行的代码 |
| | | document.addEventListener("DOMContentLoaded", function() { |
| | | |
| | | //获取table默认显示数 |
| | | pageCntFirst(); |
| | | }); |
| | | </script> |
| | | </head> |
| | | <body id="body"> |
| | | <div class="layui-fluid" style="padding-bottom: 0; "> |
| | | <div class="layui-card"> |
| | | <div class="layui-form layui-card-header layuiadmin-card-header-auto" style="border-bottom:1px solid #CCC" id="top"> |
| | | <div class="layui-form-item" > |
| | | <div class="layui-inline"> |
| | | <label class="layui-form-label">菜单号</label> |
| | | <div class="layui-input-inline"> |
| | | <input type="text" id="MenuNo" name="MenuNo" placeholder="请输入菜单号" autocomplete="off" class="layui-input"> |
| | | </div> |
| | | </div> |
| | | <div class="layui-inline"> |
| | | <label class="layui-form-label">菜单名称</label> |
| | | <div class="layui-input-inline"> |
| | | <input type="text" id="MenuName" name="MenuName" placeholder="请输入菜单名称" autocomplete="off" class="layui-input"> |
| | | </div> |
| | | </div> |
| | | <div class="layui-inline"> |
| | | <label class="layui-form-label">操作内容</label> |
| | | <div class="layui-input-inline"> |
| | | <input type="text" id="Msg" name="Msg" placeholder="请输入操作内容" autocomplete="off" class="layui-input"> |
| | | </div> |
| | | </div> |
| | | <div class="layui-inline"> |
| | | <label class="layui-form-label" style="width: 45px;">类型</label> |
| | | <div class="layui-input-inline"> |
| | | <select name="Type" id="Type" lay-verify="" lay-search > |
| | | <option value=""></option> |
| | | </select> |
| | | </div> |
| | | </div> |
| | | <div class="layui-inline"> |
| | | <button class="layui-btn layui-btn-sm layuiadmin-btn-list" lay-submit lay-filter="LAY-app-contlist-search"> |
| | | <i class="layui-icon layui-icon-search layuiadmin-button-btn"></i>搜索 |
| | | </button> |
| | | |
| | | <head> |
| | | <meta charset="utf-8"> |
| | | <title>操作日志</title> |
| | | <meta name="renderer" content="webkit"> |
| | | <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> |
| | | <meta name="viewport" |
| | | content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0"> |
| | | <link rel="stylesheet" href="../../layuiadmin/layui/css/layui.css" media="all"> |
| | | <link rel="stylesheet" href="../../layuiadmin/style/admin.css" media="all"> |
| | | <script> |
| | | // 这里是需要在页面渲染之前执行的代码 |
| | | document.addEventListener("DOMContentLoaded", function () { |
| | | |
| | | //获取table默认显示数 |
| | | pageCntFirst(); |
| | | }); |
| | | </script> |
| | | </head> |
| | | |
| | | <body id="body"> |
| | | <div class="layui-fluid" style="padding-bottom: 0;"> |
| | | <div class="layui-card"> |
| | | <div class="layui-form layui-card-header layuiadmin-card-header-auto" style="border-bottom:1px solid #CCC" |
| | | id="top"> |
| | | <div class="layui-form-item"> |
| | | <div class="layui-inline"> |
| | | <label class="layui-form-label">菜单号</label> |
| | | <div class="layui-input-inline"> |
| | | <input type="text" id="MenuNo" name="MenuNo" placeholder="请输入菜单号" autocomplete="off" |
| | | class="layui-input"> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | |
| | | <div id="center"></div> |
| | | |
| | | <div class="layui-card-body"> |
| | | <table id="LAY-app-content-list" lay-filter="LAY-app-content-list"></table> |
| | | <div class="layui-inline"> |
| | | <label class="layui-form-label">菜单名称</label> |
| | | <div class="layui-input-inline"> |
| | | <input type="text" id="MenuName" name="MenuName" placeholder="请输入菜单名称" autocomplete="off" |
| | | class="layui-input"> |
| | | </div> |
| | | </div> |
| | | <div class="layui-inline"> |
| | | <label class="layui-form-label">操作内容</label> |
| | | <div class="layui-input-inline"> |
| | | <input type="text" id="Msg" name="Msg" placeholder="请输入操作内容" autocomplete="off" |
| | | class="layui-input"> |
| | | </div> |
| | | </div> |
| | | <div class="layui-inline"> |
| | | <label class="layui-form-label" style="width: 45px;">类型</label> |
| | | <div class="layui-input-inline"> |
| | | <select name="Type" id="Type" lay-verify="" lay-search> |
| | | <option value=""></option> |
| | | </select> |
| | | </div> |
| | | </div> |
| | | <div class="layui-inline"> |
| | | <button class="layui-btn layui-btn-sm layuiadmin-btn-list" lay-submit |
| | | lay-filter="LAY-app-contlist-search"> |
| | | <i class="layui-icon layui-icon-search layuiadmin-button-btn"></i>搜索 |
| | | </button> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | |
| | | <div id="center"></div> |
| | | |
| | | <div class="layui-card-body"> |
| | | <table id="LAY-app-content-list" lay-filter="LAY-app-content-list"></table> |
| | | </div> |
| | | </div> |
| | | <script src="../../layuiadmin/layui/layui.js"></script> |
| | | <script src="../../js/public.js"></script> |
| | | <script src="../../js/jquery-3.5.1.min.js"></script> |
| | | <script src="../../js/jquery.cookie.js"></script> |
| | | <script> |
| | | layui.config({ |
| | | base: '../../layuiadmin/' //静态资源所在路径 |
| | | }).extend({ |
| | | index: 'lib/index' //主入口模块 |
| | | }).use(['index', 'table', 'laypage', 'layer'], function() { |
| | | var table = layui.table, |
| | | form = layui.form, |
| | | laypage = layui.laypage, |
| | | layer = layui.layer; |
| | | var h1 = GetTableHeight(); |
| | | refreshTable("", "", "", "",""); |
| | | var tableIns; |
| | | </div> |
| | | <script src="../../layuiadmin/layui/layui.js"></script> |
| | | <script src="../../js/public.js"></script> |
| | | <script src="../../js/jquery-3.5.1.min.js"></script> |
| | | <script src="../../js/jquery.cookie.js"></script> |
| | | <script> |
| | | layui.config({ |
| | | base: '../../layuiadmin/' //静态资源所在路径 |
| | | }).extend({ |
| | | index: 'lib/index' //主入口模块 |
| | | }).use(['index', 'table', 'laypage', 'layer'], function () { |
| | | var table = layui.table, |
| | | form = layui.form, |
| | | laypage = layui.laypage, |
| | | layer = layui.layer; |
| | | |
| | | //获取类型菜单下拉 |
| | | sendData(IP + '/Basis/GetDicTypeList?DicName=操作类型',{},'get',function(res){ |
| | | if (res.code == 0) //成功 |
| | | { |
| | | for (var i = 0; i < res.data.length; i++) |
| | | { |
| | | $("#Type").append('<option value =' + res.data[i].Id + '>' + res.data[i].DictName + '</option>'); |
| | | } |
| | | form.render('select'); |
| | | var h1 = GetTableHeight(); |
| | | var tableIns; |
| | | |
| | | //获取类型菜单下拉 |
| | | sendData(IP + '/Basis/GetDicTypeList?DicName=操作类型', {}, 'get', function (res) { |
| | | if (res.code == 200) //成功 |
| | | { |
| | | for (var i = 0; i < res.data.length; i++) { |
| | | $("#Type").append('<option value =' + res.data[i].Id + '>' + res.data[i].DictName + '</option>'); |
| | | } |
| | | else //不成功 |
| | | { |
| | | layer.msg('获取类型菜单信息失败!', { |
| | | icon: 2, |
| | | time: 2000 //2秒关闭(如果不配置,默认是3秒) |
| | | }, function() {}); |
| | | } |
| | | }); |
| | | |
| | | |
| | | function refreshTable(MenuName, Type, Msg, MenuNo,ParentNo) { |
| | | var param = { |
| | | MenuName: MenuName, |
| | | Type: Type, |
| | | Msg: Msg, |
| | | MenuNo: MenuNo, |
| | | ParentNo: ParentNo, |
| | | }; |
| | | ParentNo = '系统设置'; //模块名称 |
| | | var url = "/Basis/GetSysOperationList?MenuName="+MenuName+"&&Type="+Type+"&&Msg="+Msg+"&&MenuNo="+MenuNo+"&&ParentNo="+ParentNo; |
| | | sendData(IP + url, {}, 'get', function(res) { |
| | | |
| | | // console.log(res.data) |
| | | |
| | | if (res.code == 0) //成功 |
| | | { |
| | | var list = res.data; |
| | | $.extend(infoOptions, { |
| | | data: list |
| | | }); |
| | | infoOptions.page = { |
| | | curr: 1 |
| | | } |
| | | tableIns = table.render(infoOptions); |
| | | |
| | | } |
| | | else //不成功 |
| | | { |
| | | layer.msg('获取日志列表信息失败!', { |
| | | icon: 2, |
| | | time: 2000 //2秒关闭(如果不配置,默认是3秒) |
| | | }, function() {}); |
| | | } |
| | | }); |
| | | |
| | | form.render('select'); |
| | | } |
| | | var xml = ''; |
| | | function getchiled(data, mainId) { |
| | | if (data) |
| | | { |
| | | var list = data.filter(item => item.ParentId == mainId); |
| | | if (list) |
| | | { |
| | | for (var i = 0; i < list.length; i++) |
| | | { |
| | | var id = list[i].Id; |
| | | //查询有无子菜单 |
| | | var count = data.filter(item => item.ParentId == id).length; |
| | | if (count > 0) |
| | | { |
| | | xml = xml + '<dd>' + '<a href="javascript:;">' + list[i].Name + '</a>' + '<dl class="layui-nav-child">'; |
| | | getchiled(data, id); |
| | | xml = xml + '</dl></dd>'; |
| | | } |
| | | else |
| | | { |
| | | xml = xml + '<dd>' + '<a lay-href="' + list[i].Url + '">' + list[i].Name + '</a>' + '</dd>'; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | else //不成功 |
| | | { |
| | | layer.msg('获取类型菜单信息失败!', { |
| | | icon: 2, |
| | | time: 2000 //2秒关闭(如果不配置,默认是3秒) |
| | | }, function () { }); |
| | | } |
| | | var infoOptions = { |
| | | elem: '#LAY-app-content-list', |
| | | height: h1, |
| | | id: 'LAY-app-content-list', |
| | | page: true, |
| | | limit: pageCnt, |
| | | limits: pageLimits, |
| | | even: true, |
| | | cols: |
| | | [[ |
| | | { |
| | | title: '序号', type: 'numbers', fixed: 'left', width:65 |
| | | }, |
| | | { |
| | | field: 'ParentNo', title: '模块号', align: 'center', fixed: 'left', width:80 |
| | | }, |
| | | { |
| | | field: 'MenuNo', title: '菜单号', align: 'center', fixed: 'left', width:80 |
| | | }, |
| | | { |
| | | field: 'MenuName', title: '菜单名称', align: 'center', width:190 |
| | | }, |
| | | { |
| | | field: 'FkNo', title: '数据编号', align: 'center', width:180 |
| | | }, |
| | | { |
| | | field: 'TypeName', title: '类型', align: 'center', width:100 |
| | | }, |
| | | { |
| | | field: 'Msg', title: '操作内容', align: 'center' |
| | | }, |
| | | { |
| | | field: 'CreateUserName', title: '操作人', align: 'center', width: 120 |
| | | }, |
| | | { |
| | | field: 'CreateTime', title: '操作时间', align: 'center', width:160, |
| | | templet: function (d) { |
| | | return formatDate(d.CreateTime); |
| | | } |
| | | } |
| | | ]] |
| | | }; |
| | | //监听搜索 |
| | | form.on('submit(LAY-app-contlist-search)', function(data) { |
| | | // console.log(data) |
| | | var MenuName = data.field.MenuName; |
| | | var Type = data.field.Type; |
| | | var Msg = data.field.Msg; |
| | | var MenuNo = data.field.MenuNo; |
| | | //MenuName, Type, Msg, MenuNo,ParentNo |
| | | refreshTable(MenuName, Type, Msg, MenuNo); |
| | | }); |
| | | |
| | | var doing = true; |
| | | |
| | | // $('.layui-btn.layuiadmin-btn-list').on('click', function() { |
| | | // var type = $(this).data('type'); |
| | | // active[type] ? active[type].call(this) : ''; |
| | | // }); |
| | | }); |
| | | </script> |
| | | </body> |
| | | </html> |
| | | var TotalColsArr = [[ |
| | | { |
| | | title: '序号', type: 'numbers', fixed: 'left', width: 65 |
| | | }, |
| | | { |
| | | field: 'ParentNo', title: '模块号', align: 'center', fixed: 'left', width: 80 |
| | | }, |
| | | { |
| | | field: 'MenuNo', title: '菜单号', align: 'center', fixed: 'left', width: 80 |
| | | }, |
| | | { |
| | | field: 'MenuName', title: '菜单名称', align: 'center', width: 190 |
| | | }, |
| | | { |
| | | field: 'FkNo', title: '数据编号', align: 'center', width: 180 |
| | | }, |
| | | { |
| | | field: 'TypeName', title: '类型', align: 'center', width: 100 |
| | | }, |
| | | { |
| | | field: 'Msg', title: '操作内容', align: 'center' |
| | | }, |
| | | { |
| | | field: 'CreateUserName', title: '操作人', align: 'center', width: 120 |
| | | }, |
| | | { |
| | | field: 'CreateTime', title: '操作时间', align: 'center', width: 160, |
| | | templet: function (d) { |
| | | return formatDate(d.CreateTime); |
| | | } |
| | | } |
| | | ]]; |
| | | var TotalColsSysArr = encodeURIComponent(encodeURIComponent(JSON.stringify(TotalColsArr)))//将表头数据进行url编码 |
| | | function objectToQueryString(obj) { |
| | | var queryString = ''; |
| | | for (var key in obj) { |
| | | if (obj.hasOwnProperty(key)) { |
| | | if (queryString.length > 0) { |
| | | queryString += '&'; |
| | | } |
| | | queryString += encodeURIComponent(key) + '=' + encodeURIComponent(obj[key]); |
| | | } |
| | | } |
| | | return queryString; |
| | | } |
| | | // 创建渲染实例 |
| | | tableIns = table.render({ |
| | | elem: '#LAY-app-content-list', |
| | | url: IP + "/Basis/GetSysOperationList", |
| | | method: 'post', |
| | | height: GetTableHeight(), |
| | | id: 'LAY-app-content-list', |
| | | where: { |
| | | MenuName: $("#MenuName").val(), |
| | | Type: $("#Type").val(), |
| | | Msg: $("#Msg").val(), |
| | | MenuNo: $("#MenuNo").val(), |
| | | ParentNo: '系统设置', |
| | | }, |
| | | parseData: FnParseData, |
| | | contentType: 'application/json', |
| | | defaultToolbar: [], |
| | | headers: { ToKen: $.cookie('token') }, |
| | | page: true, |
| | | even: true, |
| | | limit: pageCnt, |
| | | limits: pageLimits, |
| | | cellMinWidth: 60, |
| | | done: function (res) { |
| | | //自定义列宽 |
| | | SetTableColW('LAY-app-content-list', 'Basis/GetSysOperationList', TotalColsSysArr); |
| | | }, |
| | | cols: TotalColsArr |
| | | }); |
| | | |
| | | //监听搜索 |
| | | form.on('submit(LAY-app-contlist-search)', function (data) { |
| | | table.reload('LAY-app-content-list', { |
| | | where: { |
| | | MenuName: $("#MenuName").val(), |
| | | Type: $("#Type").val(), |
| | | Msg: $("#Msg").val(), |
| | | MenuNo: $("#MenuNo").val(), |
| | | ParentNo: '系统设置', |
| | | } |
| | | }); |
| | | }); |
| | | |
| | | var doing = true; |
| | | |
| | | $('.layui-btn.layuiadmin-btn-list').on('click', function () { |
| | | var type = $(this).data('type'); |
| | | active[type] ? active[type].call(this) : ''; |
| | | }); |
| | | }); |
| | | </script> |
| | | </body> |
| | | |
| | | </html> |
| | |
| | | <!DOCTYPE html> |
| | | <html> |
| | | <head> |
| | | <meta charset="utf-8"> |
| | | <title>仓库设置操作日志</title> |
| | | <meta name="renderer" content="webkit"> |
| | | <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> |
| | | <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0"> |
| | | <link rel="stylesheet" href="../../layuiadmin/layui/css/layui.css" media="all"> |
| | | <link rel="stylesheet" href="../../layuiadmin/style/admin.css" media="all"> |
| | | <script> |
| | | // 这里是需要在页面渲染之前执行的代码 |
| | | document.addEventListener("DOMContentLoaded", function() { |
| | | |
| | | //获取table默认显示数 |
| | | pageCntFirst(); |
| | | }); |
| | | </script> |
| | | </head> |
| | | <body> |
| | | <div class="layui-card" style="padding-bottom: 0"> |
| | | <div class="layui-form layui-card-header layuiadmin-card-header-auto" style="border-bottom:1px solid #CCC"> |
| | | <div class="layui-form-item" > |
| | | |
| | | <head> |
| | | <meta charset="utf-8"> |
| | | <title>操作日志</title> |
| | | <meta name="renderer" content="webkit"> |
| | | <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> |
| | | <meta name="viewport" |
| | | content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0"> |
| | | <link rel="stylesheet" href="../../layuiadmin/layui/css/layui.css" media="all"> |
| | | <link rel="stylesheet" href="../../layuiadmin/style/admin.css" media="all"> |
| | | <script> |
| | | // 这里是需要在页面渲染之前执行的代码 |
| | | document.addEventListener("DOMContentLoaded", function () { |
| | | |
| | | //获取table默认显示数 |
| | | pageCntFirst(); |
| | | }); |
| | | </script> |
| | | </head> |
| | | |
| | | <body id="body"> |
| | | <div class="layui-fluid" style="padding-bottom: 0;"> |
| | | <div class="layui-card"> |
| | | <div class="layui-form layui-card-header layuiadmin-card-header-auto" style="border-bottom:1px solid #CCC" |
| | | id="top"> |
| | | <div class="layui-form-item"> |
| | | <div class="layui-inline"> |
| | | <label class="layui-form-label">菜单号</label> |
| | | <div class="layui-input-inline"> |
| | | <input type="text" id="MenuNo" name="MenuNo" placeholder="请输入菜单号" autocomplete="off" class="layui-input"> |
| | | <input type="text" id="MenuNo" name="MenuNo" placeholder="请输入菜单号" autocomplete="off" |
| | | class="layui-input"> |
| | | </div> |
| | | </div> |
| | | <div class="layui-inline"> |
| | | <label class="layui-form-label">菜单名称</label> |
| | | <div class="layui-input-inline"> |
| | | <input type="text" id="MenuName" name="MenuName" placeholder="请输入菜单名称" autocomplete="off" class="layui-input"> |
| | | <input type="text" id="MenuName" name="MenuName" placeholder="请输入菜单名称" autocomplete="off" |
| | | class="layui-input"> |
| | | </div> |
| | | </div> |
| | | <div class="layui-inline"> |
| | | <label class="layui-form-label">操作内容</label> |
| | | <div class="layui-input-inline"> |
| | | <input type="text" id="Msg" name="Msg" placeholder="请输入操作内容" autocomplete="off" class="layui-input"> |
| | | <input type="text" id="Msg" name="Msg" placeholder="请输入操作内容" autocomplete="off" |
| | | class="layui-input"> |
| | | </div> |
| | | </div> |
| | | <div class="layui-inline"> |
| | | <label class="layui-form-label" style="width: 45px;">类型</label> |
| | | <div class="layui-input-inline"> |
| | | <select name="Type" id="Type" lay-verify="" lay-search > |
| | | <select name="Type" id="Type" lay-verify="" lay-search> |
| | | <option value=""></option> |
| | | </select> |
| | | </div> |
| | | </div> |
| | | <div class="layui-inline"> |
| | | <button class="layui-btn layui-btn-sm layuiadmin-btn-list" lay-submit lay-filter="LAY-app-contlist-search"> |
| | | <button class="layui-btn layui-btn-sm layuiadmin-btn-list" lay-submit |
| | | lay-filter="LAY-app-contlist-search"> |
| | | <i class="layui-icon layui-icon-search layuiadmin-button-btn"></i>搜索 |
| | | </button> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | |
| | | <div id="center"></div> |
| | | |
| | | <div class="layui-card-body"> |
| | | <table id="LAY-app-content-list" lay-filter="LAY-app-content-list"></table> |
| | | </div> |
| | | </div> |
| | | <script src="../../layuiadmin/layui/layui.js"></script> |
| | | <script src="../../js/public.js"></script> |
| | | <script src="../../js/jquery-3.5.1.min.js"></script> |
| | | <script src="../../js/jquery.cookie.js"></script> |
| | | <script> |
| | | layui.config({ |
| | | base: '../../layuiadmin/' //静态资源所在路径 |
| | | }).extend({ |
| | | index: 'lib/index' //主入口模块 |
| | | }).use(['index', 'table', 'laypage', 'layer'], function() { |
| | | var table = layui.table, |
| | | form = layui.form, |
| | | laypage = layui.laypage, |
| | | layer = layui.layer; |
| | | </div> |
| | | <script src="../../layuiadmin/layui/layui.js"></script> |
| | | <script src="../../js/public.js"></script> |
| | | <script src="../../js/jquery-3.5.1.min.js"></script> |
| | | <script src="../../js/jquery.cookie.js"></script> |
| | | <script> |
| | | layui.config({ |
| | | base: '../../layuiadmin/' //静态资源所在路径 |
| | | }).extend({ |
| | | index: 'lib/index' //主入口模块 |
| | | }).use(['index', 'table', 'laypage', 'layer'], function () { |
| | | var table = layui.table, |
| | | form = layui.form, |
| | | laypage = layui.laypage, |
| | | layer = layui.layer; |
| | | |
| | | refreshTable("", "", "", "",""); |
| | | var tableIns; |
| | | var h1 = GetTableHeight(); |
| | | var tableIns; |
| | | |
| | | //获取类型菜单下拉 |
| | | sendData(IP + '/Basis/GetDicTypeList?DicName=操作类型',{},'get',function(res){ |
| | | if (res.code == 0) //成功 |
| | | { |
| | | for (var i = 0; i < res.data.length; i++) |
| | | { |
| | | $("#Type").append('<option value =' + res.data[i].Id + '>' + res.data[i].DictName + '</option>'); |
| | | } |
| | | form.render('select'); |
| | | //获取类型菜单下拉 |
| | | sendData(IP + '/Basis/GetDicTypeList?DicName=操作类型', {}, 'get', function (res) { |
| | | if (res.code == 200) //成功 |
| | | { |
| | | for (var i = 0; i < res.data.length; i++) { |
| | | $("#Type").append('<option value =' + res.data[i].Id + '>' + res.data[i].DictName + '</option>'); |
| | | } |
| | | else //不成功 |
| | | { |
| | | layer.msg('获取类型菜单信息失败!', { |
| | | icon: 2, |
| | | time: 2000 //2秒关闭(如果不配置,默认是3秒) |
| | | }, function() {}); |
| | | } |
| | | }); |
| | | |
| | | |
| | | function refreshTable(MenuName, Type, Msg, MenuNo,ParentNo) { |
| | | var param = { |
| | | MenuName: MenuName, |
| | | Type: Type, |
| | | Msg: Msg, |
| | | MenuNo: MenuNo, |
| | | ParentNo: ParentNo, |
| | | }; |
| | | ParentNo = '仓库设置'; //模块名称 |
| | | var url = "/Basis/GetSysOperationList?MenuName="+MenuName+"&&Type="+Type+"&&Msg="+Msg+"&&MenuNo="+MenuNo+"&&ParentNo="+ParentNo; |
| | | sendData(IP + url, {}, 'get', function(res) { |
| | | |
| | | console.log(res.data) |
| | | |
| | | if (res.code == 0) //成功 |
| | | { |
| | | var list = res.data; |
| | | $.extend(infoOptions, { |
| | | data: list |
| | | }); |
| | | infoOptions.page = { |
| | | curr: 1 |
| | | } |
| | | tableIns = table.render(infoOptions); |
| | | |
| | | } |
| | | else //不成功 |
| | | { |
| | | layer.msg('获取日志列表信息失败!', { |
| | | icon: 2, |
| | | time: 2000 //2秒关闭(如果不配置,默认是3秒) |
| | | }, function() {}); |
| | | } |
| | | }); |
| | | |
| | | form.render('select'); |
| | | } |
| | | var xml = ''; |
| | | function getchiled(data, mainId) { |
| | | if (data) |
| | | { |
| | | var list = data.filter(item => item.ParentId == mainId); |
| | | if (list) |
| | | { |
| | | for (var i = 0; i < list.length; i++) |
| | | { |
| | | var id = list[i].Id; |
| | | //查询有无子菜单 |
| | | var count = data.filter(item => item.ParentId == id).length; |
| | | if (count > 0) |
| | | { |
| | | xml = xml + '<dd>' + '<a href="javascript:;">' + list[i].Name + '</a>' + '<dl class="layui-nav-child">'; |
| | | getchiled(data, id); |
| | | xml = xml + '</dl></dd>'; |
| | | } |
| | | else |
| | | { |
| | | xml = xml + '<dd>' + '<a lay-href="' + list[i].Url + '">' + list[i].Name + '</a>' + '</dd>'; |
| | | } |
| | | } |
| | | } |
| | | else //不成功 |
| | | { |
| | | layer.msg('获取类型菜单信息失败!', { |
| | | icon: 2, |
| | | time: 2000 //2秒关闭(如果不配置,默认是3秒) |
| | | }, function () { }); |
| | | } |
| | | }); |
| | | var TotalColsArr = [[ |
| | | { |
| | | title: '序号', type: 'numbers', fixed: 'left', width: 65 |
| | | }, |
| | | { |
| | | field: 'ParentNo', title: '模块号', align: 'center', fixed: 'left', width: 80 |
| | | }, |
| | | { |
| | | field: 'MenuNo', title: '菜单号', align: 'center', fixed: 'left', width: 80 |
| | | }, |
| | | { |
| | | field: 'MenuName', title: '菜单名称', align: 'center', width: 190 |
| | | }, |
| | | { |
| | | field: 'FkNo', title: '数据编号', align: 'center', width: 180 |
| | | }, |
| | | { |
| | | field: 'TypeName', title: '类型', align: 'center', width: 100 |
| | | }, |
| | | { |
| | | field: 'Msg', title: '操作内容', align: 'center' |
| | | }, |
| | | { |
| | | field: 'CreateUserName', title: '操作人', align: 'center', width: 120 |
| | | }, |
| | | { |
| | | field: 'CreateTime', title: '操作时间', align: 'center', width: 160, |
| | | templet: function (d) { |
| | | return formatDate(d.CreateTime); |
| | | } |
| | | } |
| | | var infoOptions = { |
| | | elem: '#LAY-app-content-list', |
| | | height: 'full-88', |
| | | id: 'LAY-app-content-list', |
| | | page: true, |
| | | limit: pageCnt, |
| | | limits: pageLimits, |
| | | even: true, |
| | | cols: |
| | | [[ |
| | | { |
| | | title: '序号', type: 'numbers', fixed: 'left', width:65 |
| | | }, |
| | | { |
| | | field: 'ParentNo', title: '模块号', align: 'center', fixed: 'left', width:80 |
| | | }, |
| | | { |
| | | field: 'MenuNo', title: '菜单号', align: 'center', fixed: 'left', width:80 |
| | | }, |
| | | { |
| | | field: 'MenuName', title: '菜单名称', align: 'center', width:190 |
| | | }, |
| | | { |
| | | field: 'FkNo', title: '数据编号', align: 'center', width:180 |
| | | }, |
| | | { |
| | | field: 'TypeName', title: '类型', align: 'center', width:100 |
| | | }, |
| | | { |
| | | field: 'Msg', title: '操作内容', align: 'center' |
| | | }, |
| | | { |
| | | field: 'CreateUserName', title: '操作人', align: 'center', width: 120 |
| | | }, |
| | | { |
| | | field: 'CreateTime', title: '操作时间', align: 'center', width:160, |
| | | templet: function (d) { |
| | | return formatDate(d.CreateTime); |
| | | } |
| | | ]]; |
| | | var TotalColsSysArr = encodeURIComponent(encodeURIComponent(JSON.stringify(TotalColsArr)))//将表头数据进行url编码 |
| | | function objectToQueryString(obj) { |
| | | var queryString = ''; |
| | | for (var key in obj) { |
| | | if (obj.hasOwnProperty(key)) { |
| | | if (queryString.length > 0) { |
| | | queryString += '&'; |
| | | } |
| | | ]] |
| | | }; |
| | | //监听搜索 |
| | | form.on('submit(LAY-app-contlist-search)', function(data) { |
| | | console.log(data) |
| | | var MenuName = data.field.MenuName; |
| | | var Type = data.field.Type; |
| | | var Msg = data.field.Msg; |
| | | var MenuNo = data.field.MenuNo; |
| | | //MenuName, Type, Msg, MenuNo,ParentNo |
| | | refreshTable(MenuName, Type, Msg, MenuNo); |
| | | }); |
| | | queryString += encodeURIComponent(key) + '=' + encodeURIComponent(obj[key]); |
| | | } |
| | | } |
| | | return queryString; |
| | | } |
| | | // 创建渲染实例 |
| | | tableIns = table.render({ |
| | | elem: '#LAY-app-content-list', |
| | | url: IP + "/Basis/GetSysOperationList", |
| | | method: 'post', |
| | | height: GetTableHeight(), |
| | | id: 'LAY-app-content-list', |
| | | where: { |
| | | MenuName: $("#MenuName").val(), |
| | | Type: $("#Type").val(), |
| | | Msg: $("#Msg").val(), |
| | | MenuNo: $("#MenuNo").val(), |
| | | ParentNo: '仓库设置', |
| | | }, |
| | | parseData: FnParseData, |
| | | contentType: 'application/json', |
| | | defaultToolbar: [], |
| | | headers: { ToKen: $.cookie('token') }, |
| | | page: true, |
| | | even: true, |
| | | limit: pageCnt, |
| | | limits: pageLimits, |
| | | cellMinWidth: 60, |
| | | done: function (res) { |
| | | //自定义列宽 |
| | | SetTableColW('LAY-app-content-list', 'Basis/GetSysOperationList', TotalColsSysArr); |
| | | }, |
| | | cols: TotalColsArr |
| | | }); |
| | | |
| | | var doing = true; |
| | | |
| | | $('.layui-btn.layuiadmin-btn-list').on('click', function() { |
| | | var type = $(this).data('type'); |
| | | active[type] ? active[type].call(this) : ''; |
| | | //监听搜索 |
| | | form.on('submit(LAY-app-contlist-search)', function (data) { |
| | | table.reload('LAY-app-content-list', { |
| | | where: { |
| | | MenuName: $("#MenuName").val(), |
| | | Type: $("#Type").val(), |
| | | Msg: $("#Msg").val(), |
| | | MenuNo: $("#MenuNo").val(), |
| | | ParentNo: '仓库设置', |
| | | } |
| | | }); |
| | | }); |
| | | </script> |
| | | </body> |
| | | </html> |
| | | |
| | | var doing = true; |
| | | |
| | | $('.layui-btn.layuiadmin-btn-list').on('click', function () { |
| | | var type = $(this).data('type'); |
| | | active[type] ? active[type].call(this) : ''; |
| | | }); |
| | | }); |
| | | </script> |
| | | </body> |
| | | |
| | | </html> |
New file |
| | |
| | | using System; |
| | | |
| | | namespace Model.ModelVm.LogVm |
| | | { |
| | | public class OperationInputVm |
| | | { |
| | | public int Id { get; set; } |
| | | /// <summary> |
| | | /// 模块号 |
| | | /// </summary> |
| | | public string ParentNo { get; set; } |
| | | /// <summary> |
| | | /// 模块号 |
| | | /// </summary> |
| | | public string ParentName { get; set; } |
| | | /// <summary> |
| | | /// 菜单号 |
| | | /// </summary> |
| | | public string MenuNo { get; set; } |
| | | /// <summary> |
| | | /// 菜单名称 |
| | | /// </summary> |
| | | public string MenuName { get; set; } |
| | | /// <summary> |
| | | /// 数据编号 菜单表.编号 |
| | | /// </summary> |
| | | public string FkNo { get; set; } |
| | | /// <summary> |
| | | /// 类型ID 添加 修改 删除 停用 启用 |
| | | /// </summary> |
| | | public string Type { get; set; } |
| | | /// <summary> |
| | | /// 类型名称 |
| | | /// </summary> |
| | | public string TypeName { get; set; } |
| | | /// <summary> |
| | | /// 操作内容 |
| | | /// </summary> |
| | | public string Msg { get; set; } |
| | | /// <summary> |
| | | /// 创建日期 |
| | | /// </summary> |
| | | public DateTime CreateTime { get; set; } |
| | | |
| | | /// <summary> |
| | | /// 更新日期 |
| | | /// </summary> |
| | | public string UpdateTime { get; set; } |
| | | |
| | | /// <summary> |
| | | /// 创建人 |
| | | /// </summary> |
| | | public int CreateUser { get; set; } |
| | | /// <summary> |
| | | /// 创建人 |
| | | /// </summary> |
| | | public string CreateUserName { get; set; } |
| | | |
| | | /// <summary> |
| | | /// 更新人 |
| | | /// </summary> |
| | | public string UpdateUserName { get; set; } |
| | | } |
| | | } |
| | |
| | | { |
| | | public class GetOperationVm:IndexPage |
| | | { |
| | | public string MenuNo { get; set; } |
| | | public string ParentNo { get; set; } |
| | | public string MenuName { get; set; } |
| | | public string Type { get; set; } |
| | | public string Msg { get; set; } |
New file |
| | |
| | | using SqlSugar; |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using System.Text; |
| | | using System.Threading.Tasks; |
| | | |
| | | namespace Utility |
| | | { |
| | | public class SqlSugarPagedList<TEntity> where TEntity : new() |
| | | { |
| | | /// <summary> |
| | | /// 总条数 |
| | | /// </summary> |
| | | public int Total { get; set; } |
| | | |
| | | /// <summary> |
| | | /// 总页数 |
| | | /// </summary> |
| | | public int TotalPages { get; set; } |
| | | |
| | | /// <summary> |
| | | /// 当前页集合 |
| | | /// </summary> |
| | | public IEnumerable<TEntity> Items { get; set; } |
| | | } |
| | | /// <summary> |
| | | /// 分页拓展类 |
| | | /// </summary> |
| | | public static class SqlSugarPagedExtensions |
| | | { |
| | | /// <summary> |
| | | /// 分页拓展 |
| | | /// </summary> |
| | | /// <param name="query"><see cref="ISugarQueryable{TEntity}"/>对象</param> |
| | | /// <param name="pageIndex">当前页码,从1开始</param> |
| | | /// <param name="pageSize">页码容量</param> |
| | | /// <returns></returns> |
| | | public static async Task<SqlSugarPagedList<TEntity>> ToPagedListAsync<TEntity>(this ISugarQueryable<TEntity> query, int pageIndex, int pageSize) |
| | | where TEntity : new() |
| | | { |
| | | RefAsync<int> total = 0; |
| | | var items = await query.ToPageListAsync(pageIndex, pageSize, total); |
| | | var totalPages = pageSize > 0 ? (int)Math.Ceiling(total / (double)pageSize) : 0; |
| | | return new SqlSugarPagedList<TEntity> |
| | | { |
| | | Items = items, |
| | | Total = total, |
| | | TotalPages = totalPages, |
| | | }; |
| | | } |
| | | } |
| | | } |
| | |
| | | using System.Threading.Tasks; |
| | | using AutoMapper; |
| | | using Model.ModelDto.LogDto; |
| | | using Model.ModelVm.LogVm; |
| | | using SqlSugar; |
| | | using Utility; |
| | | using WMS.DAL; |
| | | using WMS.Entity.Context; |
| | | using WMS.Entity.LogEntity; |
| | |
| | | private readonly IOperationSysRepository _operation; |
| | | private readonly IMapper _mapper; |
| | | private static readonly SqlSugarScope Db = DataContext.Db; |
| | | private readonly UserManager _userManager; |
| | | /// <summary> |
| | | /// 构造函数 |
| | | /// </summary> |
| | | /// <param name="operation">日志</param> |
| | | /// <param name="mapper">automapper</param> |
| | | public OperationSysServer(IOperationSysRepository operation, IMapper mapper) : base(Db) |
| | | public OperationSysServer(IOperationSysRepository operation, IMapper mapper, UserManager userManager) : base(Db) |
| | | { |
| | | _operation = operation; //日志 |
| | | _mapper = mapper; //automapper |
| | | _userManager = userManager; |
| | | } |
| | | |
| | | |
| | | ///// <summary> |
| | | ///// 查询操作日志 |
| | | ///// </summary> |
| | | ///// <param name="menuName">菜单名称</param> |
| | | ///// <param name="type">类型</param> |
| | | ///// <param name="msg">内容</param> |
| | | ///// <param name="startTime">开始日期</param> |
| | | ///// <param name="endTime">结束日期</param> |
| | | ///// <param name="page"></param> |
| | | ///// <param name="limit"></param> |
| | | ///// <param name="count"></param> |
| | | ///// <returns></returns> |
| | | //public List<OperationDto> GetOperationSysList(string menuName, string type, string msg, string startTime, string endTime, int page, int limit, out int count) |
| | | //{ |
| | | // try |
| | | // { |
| | | // Expression<Func<LogOperationSys, bool>> item = Expressionable.Create<LogOperationSys>() |
| | | // .AndIF(!string.IsNullOrWhiteSpace(menuName), it => it.MenuName.Contains(menuName.Trim())) |
| | | // .AndIF(!string.IsNullOrWhiteSpace(type), it => it.Type == type) |
| | | // .AndIF(!string.IsNullOrWhiteSpace(msg), it => it.Msg.Contains(msg.Trim())) |
| | | // .AndIF(!string.IsNullOrWhiteSpace(startTime), it => it.CreateTime >= Convert.ToDateTime(startTime)) |
| | | // .AndIF(!string.IsNullOrWhiteSpace(endTime), it => it.CreateTime <= Convert.ToDateTime(startTime).AddDays(1)) |
| | | // .ToExpression();//注意 这一句 不能少 |
| | | |
| | | // var data = GetAllWhereAsync(item) |
| | | // .Includes(x => x.TypeInfo) |
| | | // .Includes(x => x.CreateUserInfo) |
| | | // .Includes(x => x.UpdateUserInfo).ToList(); |
| | | // count = data.Count; |
| | | // return data.Select(m => new OperationDto() |
| | | // { |
| | | // Id = m.Id, |
| | | // ParentNo = m.ParentNo, |
| | | // MenuNo = m.MenuNo, |
| | | // MenuName = m.MenuName, |
| | | // FkNo = m.FkNo, |
| | | // Type = m.TypeInfo == null ? "" : m.TypeInfo.DictName, |
| | | // Msg = m.Msg, |
| | | // CreateTime = m.CreateTime.ToString("yyyy-MM-dd HH:mm:ss"), |
| | | // CreateUserName = m.CreateUserInfo == null ? "" : m.CreateUserInfo.UserName, |
| | | // UpdateTime = m.UpdateTime == null ? "" : ((DateTime)m.UpdateTime).ToString("yyyy-MM-dd HH:mm:ss"), |
| | | // UpdateUserName = m.UpdateUserInfo == null ? "" : m.UpdateUserInfo.UserName |
| | | // }).ToList(); |
| | | // } |
| | | // catch (Exception e) |
| | | // { |
| | | // throw new Exception(e.Message); |
| | | // } |
| | | //} |
| | | |
| | | /// <summary> |
| | | /// 添加操作日志 |
| | |
| | | /// <param name="menuNo">菜单号</param> |
| | | /// <param name="parentNo">模块号</param> |
| | | /// <returns></returns> |
| | | public List<OperationDto> GetSysOperationList(string menuName, string type, string msg, string menuNo, string parentNo) |
| | | public async Task<SqlSugarPagedList<OperationDto>> GetSysOperationList(GetOperationVm model) |
| | | { |
| | | List<OperationDto> operationlist = _operation.GetSysOperationList(menuName, type, msg, menuNo, parentNo); |
| | | return operationlist; |
| | | return await Db.Queryable<LogOperationSys>() |
| | | .LeftJoin<SysUserInfor>((a, b) => a.CreateUser == b.Id) |
| | | .LeftJoin<SysFunctionMenu>((a, b, c) => a.ParentNo == c.MenuNo) |
| | | .LeftJoin<SysDictionary>((a, b, c, d) => SqlFunc.ToInt32(a.Type) == d.Id) |
| | | .Where(a => a.IsDel == "0") |
| | | .WhereIF(!string.IsNullOrEmpty(model.MenuName), a => a.MenuName.Contains(model.MenuName)) |
| | | .WhereIF(!string.IsNullOrEmpty(model.Type), a => a.Type == model.Type) |
| | | .WhereIF(!string.IsNullOrEmpty(model.Msg), a => a.Msg.Contains(model.Msg)) |
| | | .WhereIF(!string.IsNullOrEmpty(model.MenuNo), a => a.MenuNo == model.MenuNo) |
| | | .Where((a, b, c, d) => a.ParentNo == SqlFunc.Subqueryable<SysFunctionMenu>().Where(e => e.IsDel == "0" && e.MenuName == model.ParentNo).Select(e => e.MenuNo)) |
| | | .Select<OperationDto>((a, b, c, d) => new OperationDto() |
| | | { |
| | | Id = a.Id, |
| | | CreateUserName = b.RealName, |
| | | TypeName = d.DictName, |
| | | }, true) |
| | | .ToPagedListAsync(model.Page, model.Limit); |
| | | } |
| | | |
| | | /// <summary> |
| | |
| | | //捕获异常 |
| | | try |
| | | { |
| | | var parentNo = _operation.GetMenuList(parentName).MenuNo; |
| | | var menuNo = _operation.GetMenuList(menuName).MenuNo; |
| | | var parentNo = (await Db.Queryable<SysFunctionMenu>().FirstAsync(s => s.MenuName == parentName && s.IsDel == "0"))?.MenuNo; |
| | | var menuNo = (await Db.Queryable<SysFunctionMenu>().FirstAsync(s => s.MenuName == menuName && s.IsDel == "0"))?.MenuNo; |
| | | int i = await _operation.InsertOperation(parentNo, menuNo, parentName + "-" + menuName, fkNo, type, msg, createuser); |
| | | return i; |
| | | } |
| | |
| | | throw new Exception("新增操作日志异常", ex); |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 新增系统操作日志 |
| | | /// </summary> |
| | | /// <param name="parentName">模块号</param> |
| | | /// <param name="menuName">菜单号</param> |
| | | /// <param name="fkNo">数据编号</param> |
| | | /// <param name="type">操作类型</param> |
| | | /// <param name="msg">操作内容</param> |
| | | /// <param name="createuser">创建人</param> |
| | | /// <returns></returns> |
| | | public async Task<int> InsertOperation(OperationInputVm input) |
| | | { |
| | | input.ParentNo = (await Db.Queryable<SysFunctionMenu>().FirstAsync(s => s.MenuName == input.ParentName && s.IsDel == "0"))?.MenuNo; |
| | | input.MenuNo = (await Db.Queryable<SysFunctionMenu>().FirstAsync(s => s.MenuName == input.MenuName && s.IsDel == "0"))?.MenuNo; |
| | | input.Type = (await Db.Queryable<SysDictionary>().FirstAsync(s => s.DictName == input.TypeName && s.IsDel == "0"))?.Id.ToString(); |
| | | input.CreateUser = _userManager.UserId; |
| | | input.CreateTime = DateTime.Now; |
| | | return await Db.Insertable<LogOperationSys>(input).ExecuteCommandAsync(); |
| | | } |
| | | /// <summary> |
| | | /// 获取类型菜单 |
| | | /// </summary> |
| | | /// <param name="dicName">字典名称</param> |
| | | /// <returns></returns> |
| | | public List<SysDictionary> GetDicTypeList(string dicName) |
| | | public async Task<List<SysDictionary>> GetDicTypeList(string dicName) |
| | | { |
| | | List<SysDictionary> diclist = _operation.GetDicTypeList( dicName); |
| | | return diclist; |
| | | return await Db.Queryable<SysDictionary>() |
| | | .Where(s => s.IsDel == "0") |
| | | .Where(s => s.ParentNo == SqlFunc.Subqueryable<SysDictionary>().Where(c => c.DictName == dicName).Select(c => c.DictNo)) |
| | | .ToListAsync(); |
| | | } |
| | | } |
| | | } |
| | |
| | | /// <summary> |
| | | /// 依赖注入 |
| | | /// </summary> |
| | | public IRoleRightRepository _rolerights { get; set; } |
| | | private static readonly SqlSugarScope Db = DataContext.Db; |
| | | private readonly UserManager _userManager; |
| | | /// <summary> |
| | | /// 构造函数 |
| | | /// </summary> |
| | | /// <param name="roles"></param> |
| | | public RoleRightServer(IRoleRightRepository rolerights, UserManager userManager) |
| | | public RoleRightServer(UserManager userManager) |
| | | { |
| | | _rolerights = rolerights; |
| | | _userManager = userManager; |
| | | } |
| | | |
| | |
| | | using System.Text; |
| | | using System.Threading.Tasks; |
| | | using Model.ModelDto.LogDto; |
| | | using Model.ModelVm.LogVm; |
| | | using Utility; |
| | | using WMS.Entity.LogEntity; |
| | | using WMS.Entity.SysEntity; |
| | | |
| | |
| | | /// <param name="menuno">菜单号</param> |
| | | /// <param name="parentno">模块号</param> |
| | | /// <returns></returns> |
| | | List<OperationDto> GetSysOperationList(string menuname, string type, string msg, string menuno, string parentno); |
| | | Task<SqlSugarPagedList<OperationDto>> GetSysOperationList(GetOperationVm model); |
| | | |
| | | /// <summary> |
| | | /// 新增系统操作日志 |
| | |
| | | /// <returns></returns> |
| | | Task<int> InsertOperation(string parentName, string menuName, string fkNo, string type, string msg, int createuser); |
| | | |
| | | Task<int> InsertOperation(OperationInputVm input); |
| | | /// <summary> |
| | | /// 获取类型菜单 |
| | | /// </summary> |
| | | /// <param name="dicName">字典名称</param> |
| | | /// <returns></returns> |
| | | List<SysDictionary> GetDicTypeList(string dicName); |
| | | Task<List<SysDictionary>> GetDicTypeList(string dicName); |
| | | } |
| | | } |
| | |
| | | using System.Data; |
| | | using Model.ModelDto.LogDto; |
| | | using Utility; |
| | | using Model.ModelVm.LogVm; |
| | | |
| | | namespace Wms.Controllers |
| | | { |
| | |
| | | /// <exception cref="System.Exception">捕获异常</exception> |
| | | [HttpPost] |
| | | [ServiceFilter(typeof(ApiResponseActionFilter))] |
| | | [UnitOfWork] |
| | | public async Task InsertUserinfo(UserInfoDto UserInfoDto) |
| | | { |
| | | await _userInforServer.InsertUserInfo(UserInfoDto); |
| | | await _operation.InsertOperation("系统设置", "用户管理", UserInfoDto.UserNo, "添加", "添加用户信息 用户号:" + UserInfoDto.UserNo, _userManager.UserId); |
| | | |
| | | await _operation.InsertOperation(new OperationInputVm() |
| | | { |
| | | ParentName = "系统设置", |
| | | MenuName = "用户管理", |
| | | FkNo = UserInfoDto.UserNo, |
| | | TypeName = "添加", |
| | | Msg = "添加用户信息 用户号:" + UserInfoDto.UserNo |
| | | }); |
| | | } |
| | | |
| | | |
| | |
| | | /// <exception cref="System.Exception">异常</exception> |
| | | [HttpGet] |
| | | [ServiceFilter(typeof(ApiResponseActionFilter))] |
| | | [UnitOfWork] |
| | | public async Task DeleteUserInfo(int userids) |
| | | { |
| | | //获取用户信息 |
| | | SysUserInfor user = await _userInforServer.GetUserInfoById(userids); |
| | | await _userInforServer.DeleteUserinfo(user); |
| | | await _operation.InsertOperation("系统设置", "用户管理", user.UserNo, "删除", "删除用户信息 用户号:" + user.UserNo, _userManager.UserId); |
| | | await _operation.InsertOperation(new OperationInputVm() |
| | | { |
| | | ParentName = "系统设置", |
| | | MenuName = "用户管理", |
| | | FkNo = user.UserNo, |
| | | TypeName = "删除", |
| | | Msg = "删除用户信息 用户号:" + user.UserNo |
| | | }); |
| | | } |
| | | |
| | | |
| | |
| | | /// <exception cref="System.Exception">捕获异常</exception> |
| | | [HttpPost] |
| | | [ServiceFilter(typeof(ApiResponseActionFilter))] |
| | | [UnitOfWork] |
| | | public async Task UpdateUserinfo(UserInfoDto userdto) |
| | | { |
| | | await _userInforServer.UpdateUserinfo(userdto); |
| | | await _operation.InsertOperation("系统设置", "用户管理", userdto.UserNo, "修改", "修改用户信息 用户号:" + userdto.UserNo, _userManager.UserId); |
| | | |
| | | await _operation.InsertOperation(new OperationInputVm() |
| | | { |
| | | ParentName = "系统设置", |
| | | MenuName = "用户管理", |
| | | FkNo = userdto.UserNo, |
| | | TypeName = "编辑", |
| | | Msg = "修改用户信息 用户号:" + userdto.UserNo |
| | | }); |
| | | } |
| | | |
| | | |
| | |
| | | //获取当前操作用户id |
| | | SysUserInfor user = await _userInforServer.GetUserInfoById(_userManager.UserId); |
| | | if (user == null) |
| | | { |
| | | throw Oops.Bah("找不到用户信息"); |
| | | } |
| | | if (user.PassWord != pwdOld) |
| | | { |
| | | throw Oops.Bah("原密码不正确"); |
| | | } |
| | | else |
| | | { |
| | | //修改密码 |
| | | int i = await _userInforServer.UptUserPassWord(pwdNew, _userManager.UserId); |
| | | if (i <= 0) |
| | | throw Oops.Bah("修改密码失败"); |
| | | } |
| | | //修改密码 |
| | | int i = await _userInforServer.UptUserPassWord(pwdNew, _userManager.UserId); |
| | | if (i <= 0) |
| | | throw Oops.Bah("修改密码失败"); |
| | | } |
| | | /// <summary> |
| | | /// x天后提醒用户修改密码 |
| | |
| | | public async Task InsertRoleInfo(RoleDto roledto) |
| | | { |
| | | await _rolesServer.InsertRoleInfo(roledto); |
| | | await _operation.InsertOperation("系统设置", "角色权限", roledto.RoleNo, "添加", "添加角色信息 角色号:" + roledto.RoleNo, _userManager.UserId); |
| | | |
| | | await _operation.InsertOperation(new OperationInputVm() |
| | | { |
| | | ParentName = "系统设置", |
| | | MenuName = "角色权限", |
| | | FkNo = roledto.RoleNo, |
| | | TypeName = "添加", |
| | | Msg = "添加角色信息 角色号:" + roledto.RoleNo |
| | | }); |
| | | } |
| | | |
| | | /// <summary> |
| | |
| | | //根据角色id获取角色信息 |
| | | SysRoles role = await _rolesServer.GetRoleInfoById(roleids); |
| | | await _rolesServer.DeleteRoleInfo(role); |
| | | await _operation.InsertOperation("系统设置", "角色权限", role.RoleNo, "删除", "删除角色信息 角色号:" + role.RoleNo, _userManager.UserId); |
| | | await _operation.InsertOperation(new OperationInputVm() |
| | | { |
| | | ParentName = "系统设置", |
| | | MenuName = "角色权限", |
| | | FkNo = role.RoleNo, |
| | | TypeName = "删除", |
| | | Msg = "删除角色信息 角色号:" + role.RoleNo |
| | | }); |
| | | } |
| | | |
| | | /// <summary> |
| | |
| | | public async Task UpdateRolesInfo(SysRoles role) |
| | | { |
| | | await _rolesServer.UpdateRoleInfo(role); |
| | | await _operation.InsertOperation("系统设置", "角色权限", role.RoleNo, "修改", "修改角色信息 角色号:" + role.RoleNo, _userManager.UserId); |
| | | await _operation.InsertOperation(new OperationInputVm() |
| | | { |
| | | ParentName = "系统设置", |
| | | MenuName = "角色权限", |
| | | FkNo = role.RoleNo, |
| | | TypeName = "编辑", |
| | | Msg = "修改角色信息 角色号:" + role.RoleNo |
| | | }); |
| | | } |
| | | |
| | | #endregion |
| | |
| | | SysRoles roles = await _rolesServer.GetRoleInfoById(id); |
| | | //保存角色权限信息 |
| | | await _roleRightServer.InsertRoleRight(MenuNo, roles.RoleNo); |
| | | await _operation.InsertOperation("系统设置", "角色权限", roles.RoleNo, "修改", "分配角色权限 角色号:" + roles.RoleNo, _userManager.UserId); |
| | | |
| | | await _operation.InsertOperation(new OperationInputVm() |
| | | { |
| | | ParentName = "系统设置", |
| | | MenuName = "角色权限", |
| | | FkNo = roles.RoleNo, |
| | | TypeName = "编辑", |
| | | Msg = "分配角色权限 角色号:" + roles.RoleNo |
| | | }); |
| | | } |
| | | |
| | | #endregion |
| | |
| | | /// <summary> |
| | | /// 获取操作日志信息列表 |
| | | /// </summary> |
| | | /// <param name="menuName">菜单名称</param> |
| | | /// <param name="type">操作类型</param> |
| | | /// <param name="msg">操作内容</param> |
| | | /// <param name="menuNo">菜单号</param> |
| | | /// <param name="parentNo">模块号</param> |
| | | /// <returns></returns> |
| | | [HttpGet] |
| | | public IActionResult GetSysOperationList(string menuName, string type, string msg, string menuNo, string parentNo) |
| | | [HttpPost] |
| | | [ServiceFilter(typeof(ApiResponseActionFilter))] |
| | | public async Task<SqlSugarPagedList<OperationDto>> GetSysOperationList(GetOperationVm model) |
| | | { |
| | | List<OperationDto> operation = _operation.GetSysOperationList(menuName, type, msg, menuNo, parentNo); |
| | | return Ok(new |
| | | { |
| | | data = operation, |
| | | code = 0, |
| | | msg = "成功" |
| | | }); |
| | | return await _operation.GetSysOperationList(model); |
| | | } |
| | | |
| | | /// <summary> |
| | |
| | | /// <param name="dicName">字典名称</param> |
| | | /// <returns></returns> |
| | | [HttpGet] |
| | | public IActionResult GetDicTypeList(string dicName) |
| | | [ServiceFilter(typeof(ApiResponseActionFilter))] |
| | | public async Task<List<SysDictionary>> GetDicTypeList(string dicName) |
| | | { |
| | | List<SysDictionary> diclist = _operation.GetDicTypeList(dicName); |
| | | return Ok(new |
| | | { |
| | | data = diclist, |
| | | code = 0, |
| | | msg = "成功" |
| | | }); |
| | | return await _operation.GetDicTypeList(dicName); |
| | | } |
| | | |
| | | #endregion |