1. mvc 树形控件tree + 表格jqgrid 显示界面
1.界面显示效果
2.资源下载 地址
1. jstree https://www.jstree.com/ 2.表格jqgrid https://blog.mn886.net/jqGrid/ 3.界面布局 https://cloud.tencent.com/developer/section/1489925
3.前端代码
@{ ViewBag.Title = "系统功能"; Layout = "~/Views/Shared/_Index.cshtml"; } <script> $(function () { InitialPage(); GetTree(); GetGrid(); }); //初始化页面 function InitialPage() { //layout布局 $('#layout').layout({ applyDemoStyles: true, onresize: function () { $(window).resize() } }); //resize重设(表格、树形)宽高 $(window).resize(function (e) { window.setTimeout(function () { $('#gridTable').setGridWidth(($('.gridPanel').width())); $("#gridTable").setGridHeight($(window).height() - 141.5); $("#itemTree").setTreeHeight($(window).height() - 52); }, 200); e.stopPropagation(); }); } //加载树 var _parentId = ""; function GetTree() { var item = { height: $(window).height() - 52, url: "../../SystemManager/Module/GetTreeJson", onnodeclick: function (item) { _parentId = item.id; $('#btn_Search').trigger("click"); } }; //初始化 $("#itemTree").treeview(item); } //加载表格 function GetGrid() { var selectedRowIndex = 0; var $gridTable = $('#gridTable'); $gridTable.jqGrid({ url: "../../SystemManager/Module/GetListJson?parentid=0", datatype: "json", height: $(window).height() - 141.5, autowidth: true, colModel: [ { label: "主键", name: "ModuleId", index: "ModuleId", hidden: true }, { label: "编号", name: "EnCode", index: "EnCode", width: 150, align: "left" }, { label: "名称", name: "FullName", index: "FullName", width: 150, align: "left" }, { label: "地址", name: "UrlAddress", index: "UrlAddress", width: 350, align: "left" }, { label: "目标", name: "Target", index: "Target", width: 60, align: "center" }, { label: "菜单", name: "IsMenu", index: "IsMenu", width: 50, align: "center", formatter: function (cellvalue, options, rowObject) { return cellvalue == 1 ? "<i value=" + cellvalue + " class=\"fa fa-toggle-on\"></i>" : "<i value=" + cellvalue + " class=\"fa fa-toggle-off\"></i>"; } }, { label: "展开", name: "AllowExpand", index: "AllowExpand", width: 50, align: "center", formatter: function (cellvalue, options, rowObject) { return cellvalue == 1 ? "<i class=\"fa fa-toggle-on\"></i>" : "<i class=\"fa fa-toggle-off\"></i>"; } }, { label: "公共", name: "IsPublic", index: "IsPublic", width: 50, align: "center", formatter: function (cellvalue, options, rowObject) { return cellvalue == 1 ? "<i class=\"fa fa-toggle-on\"></i>" : "<i class=\"fa fa-toggle-off\"></i>"; } }, { label: "有效", name: "EnabledMark", index: "EnabledMark", width: 50, align: "center", formatter: function (cellvalue, options, rowObject) { return cellvalue == 1 ? "<i class=\"fa fa-toggle-on\"></i>" : "<i class=\"fa fa-toggle-off\"></i>"; } }, { label: "描述", name: "Description", index: "Description", width: 100, align: "left" } ], pager: false, rowNum: "1000", rownumbers: true, shrinkToFit: false, gridview: true, onSelectRow: function () { selectedRowIndex = $("#" + this.id).getGridParam('selrow'); }, gridComplete: function () { $("#" + this.id).setSelection(selectedRowIndex, false); } }); //查询条件 $("#queryCondition .dropdown-menu li").click(function () { var text = $(this).find('a').html(); var value = $(this).find('a').attr('data-value'); $("#queryCondition .dropdown-text").html(text).attr('data-value', value) }); //查询事件 $("#btn_Search").click(function () { $gridTable.jqGrid('setGridParam', { url: "../../SystemManager/Module/GetListJson", postData: { parentid: _parentId, condition: $("#queryCondition").find('.dropdown-text').attr('data-value'), keyword: $("#txt_Keyword").val() } }).trigger('reloadGrid'); }); //查询回车 $('#txt_Keyword').bind('keypress', function (event) { if (event.keyCode == "13") { $('#btn_Search').trigger("click"); } }); } //新增 function btn_add() { dialogOpen({ id: "Form", title: '添加功能', url: '/SystemManager/Module/Form?parentId=' + _parentId, width: "700px", height: "430px", btn: null }); }; //编辑 function btn_edit() { var keyValue = $("#gridTable").jqGridRowValue("ModuleId"); if (checkedRow(keyValue)) { dialogOpen({ id: "Form", title: '编辑功能', url: '/SystemManager/Module/Form?keyValue=' + keyValue, width: "700px", height: "430px", btn: null }); } } //删除 function btn_delete() { var keyValue = $("#gridTable").jqGridRowValue("ModuleId"); if (keyValue) { $.RemoveForm({ url: "../../SystemManager/Module/RemoveForm", param: { keyValue: keyValue }, success: function (data) { $("#gridTable").trigger("reloadGrid"); } }) } else { dialogMsg('请选择需要删除的数据项!', 0); } } </script> <div class="ui-layout" id="layout" style="height: 100%; width: 100%;"> <div class="ui-layout-west"> <div class="west-Panel"> <div class="panel-Title">功能目录</div> <div id="itemTree"></div> </div> </div> <div class="ui-layout-center"> <div class="center-Panel"> <div class="panel-Title">功能信息</div> <div class="titlePanel"> <div class="title-search"> <table> <tr> <td> <div id="queryCondition" class="btn-group"> <a class="btn btn-default dropdown-text" data-toggle="dropdown">选择条件</a> <a class="btn btn-default dropdown-toggle" data-toggle="dropdown"><span class="caret"></span></a> <ul class="dropdown-menu"> <li><a data-value="EnCode">编号</a></li> <li><a data-value="FullName">名称</a></li> <li><a data-value="UrlAddress">地址</a></li> </ul> </div> </td> <td style="padding-left: 2px;"> <input id="txt_Keyword" type="text" class="form-control" placeholder="请输入要查询关键字" style="width: 200px;" /> </td> <td style="padding-left: 5px;"> <a id="btn_Search" class="btn btn-primary"><i class="fa fa-search"></i> 查询</a> </td> </tr> </table> </div> <div class="toolbar"> <div class="btn-group"> <a id="lr-replace" class="btn btn-default" onclick="reload();"><i class="fa fa-refresh"></i> 刷新</a> <a id="lr-add" class="btn btn-default" onclick="btn_add()"><i class="fa fa-plus"></i> 新增</a> <a id="lr-edit" class="btn btn-default" onclick="btn_edit()"><i class="fa fa-pencil-square-o"></i> 编辑</a> <a id="lr-delete" class="btn btn-default" onclick="btn_delete()"><i class="fa fa-trash-o"></i> 删除</a> </div> <script>$('.toolbar').authorizeButton()</script> </div> </div> <div class="gridPanel"> <table id="gridTable"></table> </div> </div> </div> </div>
4后端代码
4.1 control
/// <summary> /// 功能列表 /// </summary> /// <param name="parentid">节点Id</param> /// <param name="condition">查询条件</param> /// <param name="keyword">关键字</param> /// <returns>返回列表Json</returns> [HttpGet] public ActionResult GetListJson(string parentid, string condition, string keyword) { var data = NewObject<ModuleLogic>().GetListByCondition(parentid).datas; if (!string.IsNullOrEmpty(condition) && !string.IsNullOrEmpty(keyword)) { #region 多条件查询 switch (condition) { case "EnCode": //编号 data = data.FindAll(t => t.EnCode.Contains(keyword)); break; case "FullName": //名称 data = data.FindAll(t => t.FullName.Contains(keyword)); break; case "UrlAddress": //地址 data = data.FindAll(t => t.UrlAddress.Contains(keyword)); break; default: break; } #endregion } return Content(JsonHelper.ToJson(data)); } /// <summary> /// 功能列表 /// </summary> /// <param name="keyword">关键字</param> /// <returns>返回树形Json</returns> [HttpGet] public ActionResult GetTreeJson(string keyword) { var data = NewObject<ModuleLogic>().GetListByCache().datas; if (!string.IsNullOrEmpty(keyword)) { data = data.TreeWhere(t => t.FullName.Contains(keyword), ""); } var treeList = new List<TreeEntity>(); foreach (ModuleEntity item in data) { TreeEntity tree = new TreeEntity(); bool hasChildren = data.Count(t => t.ParentId == item.ModuleId) == 0 ? false : true; tree.id = item.ModuleId.ToConvertString(); tree.text = item.FullName; tree.value = item.ModuleId.ToConvertString(); tree.isexpand = true; tree.complete = true; tree.hasChildren = hasChildren; tree.parentId = item.ParentId.ToConvertString(); // tree.img = item.Icon; treeList.Add(tree); } return Content(treeList.TreeToJson()); }
4.2 逻辑层
/* * ============================================================================== * File name: ModuleLogic * Description: * Version: 1.0 * Created: 2017/07/26 15:30:50 * Author: 蔡創捷 * ============================================================================== */ using System; using CommonLibrary.Log; using CommonContract.Base; using CommonContract.Entity; using CommonContract.Condition; using System.Collections.Generic; using MIT.Application.Dao.BaseManager; using CommonLibrary.Serializer; using System.Linq; using CommonContract.Result; using CommonLibrary.Base; namespace MIT.Application.Logic.BaseManager { public class ModuleLogic : BaseLogic<ModuleEntity, ModuleDao> { public Results<List<ModuleEntity>> GetListByCondition(string parentid) { Results<List<ModuleEntity>> result = new Results<List<ModuleEntity>>(); result.datas = NewObject<ModuleDao>().GetListByCondition(true, it => it.ParentId == parentid, it => it.SortCode); return result; } #region 通過條件獲取所有數據 public Results<int> GetSortCode() { Results<int> result = new Results<int>(); int SortCode = 0; SortCode = NewObject<ModuleDao>().GetSortCode(); result.datas = SortCode; return result; } #endregion #region 保存數據(新增、修改) public Results SaveForm(string keyValue, ModuleEntity moduleEntity, string moduleButtonListJson, string moduleColumnListJson) { Results result = new Results(); var moduleButtonList = JsonHelper.ToObject<List<ModuleButtonEntity>>(moduleButtonListJson); var moduleColumnList = JsonHelper.ToObject<List<ModuleColumnEntity>>(moduleColumnListJson); int res = NewObject<ModuleDao>().SaveForm(keyValue, moduleEntity, moduleButtonList, moduleColumnList); result.isSuccess =(res > 0); return result; } #endregion #region 获取授权菜單 public Results<List<ModuleEntity>> GetModuleList(string userId) { Results<List<ModuleEntity>> result = new Results<List<ModuleEntity>>(); List<ModuleEntity> list = null; if (userId == "System") { list = NewObject<ModuleDao>().GetList(); } else { list = NewObject<ModuleDao>().GetModuleList(userId); } list = list.OrderBy(it => it.SortCode).ToList() ; result.datas = list; return result; } #endregion } }
4.3数据层
/* * ============================================================================== * File name: ModuleDao * Description: * Version: 1.0 * Created: 2017/07/26 15:28:10 * Author: 蔡創捷 * ============================================================================== */ using System; using System.Collections.Generic; using CommonLibrary.Serializer; using CommonContract.Condition; using CommonContract.Entity; using CommonLibrary.Cache; using CommonLibrary.SqlDB; using CommonLibrary.ExtendsMethod; using CommonLibrary.Log; using SqlSugar; using System.Text; namespace MIT.Application.Dao.BaseManager { //系统功能表 public class ModuleDao : BaseDao<ModuleEntity> { public ModuleDao() { base.CacheKey = "ModuleCacheKey"; } /// <summary> /// 获取最大编号 /// </summary> /// <returns></returns> public int GetSortCode() { var db = SqlSugarHelper.GetInstance(); int sortCode = db.Queryable<ModuleEntity>().Max(it => it.SortCode).ToInt(); if (!string.IsNullOrEmpty(sortCode.ToString())) { return sortCode + 1; } return 100001; } /// <summary> /// 通過分页獲取數據 /// </summary> public List<ModuleEntity> GetListByPage(PageInfo pageInfo, string queryJson) { var db = SqlSugarHelper.GetInstance(); int totalCount = 0; var queryParam = JsonHelper.ToJObject(queryJson); string parentid = queryParam["parentid"].ToConvertString(); string condition = queryParam["condition"].ToConvertString(); string keyword = queryParam["keyword"].ToConvertString(); List<ModuleEntity> list = db.Queryable<ModuleEntity>() .WhereIF(!parentid.IsEmpty(), it => it.ParentId == parentid) .WhereIF(!keyword.IsEmpty() && condition == "EnCode", it => it.EnCode.Contains(keyword)) .WhereIF(!keyword.IsEmpty() && condition == "FullName", it => it.FullName.Contains(keyword)) .WhereIF(!keyword.IsEmpty() && condition == "UrlAddress", it => it.UrlAddress.Contains(keyword)) .OrderBy(it => it.SortCode) .ToPageList(pageInfo.page, pageInfo.limit, ref totalCount); pageInfo.records = totalCount; return list; } /// <summary> /// 删除功能 /// </summary> /// <param name="keyValue">主键</param> public new int RemoveForm(string keyValue) { var db = SqlSugarHelper.GetInstance(); db.Ado.BeginTran(); try { int count = db.Queryable<ModuleEntity>().Where(t => t.ParentId == keyValue).Count(); if (count > 0) { throw new Exception("当前所选数据有子节点数据!"); } db.DeleteableEx<ModuleEntity>(keyValue); db.DeleteableEx<ModuleButtonEntity>(t => t.ModuleId == keyValue); db.DeleteableEx<ModuleColumnEntity>(t => t.ModuleId == keyValue); db.Ado.CommitTran(); return 1; } catch (Exception ex) { db.Ado.RollbackTran(); LogHelper.WriteError(ex, "删除菜單失敗"); throw; } } /// <summary> /// 保存數據(新增、修改) /// </summary> /// <param name="keyValue">主键值</param> /// <param name="Entity">实体</param> /// <returns></returns> public int SaveForm(string keyValue, ModuleEntity moduleEntity, List<ModuleButtonEntity> moduleButtonList, List<ModuleColumnEntity> moduleColumnList) { var db = SqlSugarHelper.GetInstance(); PageCacheManager.Current.RemoveCache(base.CacheKey); int resVal = 0; try { db.Ado.BeginTran(); if (!string.IsNullOrEmpty(keyValue)) { moduleEntity.Modify(keyValue); resVal = db.UpdateableEx(moduleEntity); } else { moduleEntity.Create(); resVal = db.InsertableEx(moduleEntity); } db.DeleteableEx<ModuleButtonEntity>(it => it.ModuleId == keyValue); if (moduleButtonList != null && moduleButtonList.Count !=0) { foreach (var item in moduleButtonList) { item.Create(); item.ModuleId = moduleEntity.ModuleId; item.ParentId = "0"; } db.InsertableEx(moduleButtonList.ToArray()); } db.DeleteableEx<ModuleColumnEntity>(it => it.ModuleId == keyValue); if (moduleColumnList != null && moduleColumnList.Count != 0) { foreach (var item in moduleColumnList) { item.Create(); item.ModuleId = moduleEntity.ModuleId; item.ParentId = "0"; } db.InsertableEx(moduleColumnList.ToArray()); } db.Ado.CommitTran(); return resVal; } catch (Exception) { db.Ado.RollbackTran(); throw; } } /// <summary> /// 获取授权菜單 /// </summary> /// <param name="userId">用户Id</param> /// <returns></returns> public List<ModuleEntity> GetModuleList(string userId) { var db = SqlSugarHelper.GetInstance(); StringBuilder strSql = new StringBuilder(); strSql.Append(@"SELECT * FROM Base_Module WHERE ModuleId IN ( SELECT ItemId FROM Base_Authorize WHERE ItemType = 1 AND ( ObjectId IN ( SELECT ObjectId FROM Base_UserRelation WHERE UserId = @UserId ) ) OR (ItemType = 1 and ObjectId = @UserId) ) AND EnabledMark = 1 AND DeleteMark = 0 Order By SortCode"); var dt = db.Ado.SqlQuery<ModuleEntity>(strSql.ToString(), new { UserId = userId }); return dt; } } }
5.數據格式
5.1表格jqgrid-json
[{"ModuleId":"1","ParentId":"0","EnCode":"SysManage","FullName":"系统管理","Icon":"fa fa-desktop","UrlAddress":null,"Target":"expand","IsMenu":0,"AllowExpand":1,"IsPublic":0,"AllowEdit":null,"AllowDelete":null,"SortCode":1,"DeleteMark":0,"EnabledMark":1,"Description":null,"CreateDate":null,"CreateUserId":null,"CreateUserName":null,"ModifyDate":"2015-11-17 11:22:46","ModifyUserId":"System","ModifyUserName":"超级管理员"},{"ModuleId":"2","ParentId":"0","EnCode":"BaseManage","FullName":"单位组织","Icon":"fa fa-coffee","UrlAddress":null,"Target":"expand","IsMenu":0,"AllowExpand":1,"IsPublic":0,"AllowEdit":null,"AllowDelete":null,"SortCode":2,"DeleteMark":0,"EnabledMark":1,"Description":null,"CreateDate":null,"CreateUserId":null,"CreateUserName":null,"ModifyDate":"2016-03-11 11:02:06","ModifyUserId":"0f36148c-719f-41e0-8c8c-16ffbc40d0e0","ModifyUserName":"佘赐雄"},{"ModuleId":"5","ParentId":"0","EnCode":"FlowManage","FullName":"工作流程","Icon":"fa fa-share-alt","UrlAddress":null,"Target":"expand","IsMenu":0,"AllowExpand":1,"IsPublic":0,"AllowEdit":null,"AllowDelete":null,"SortCode":3,"DeleteMark":0,"EnabledMark":1,"Description":null,"CreateDate":null,"CreateUserId":null,"CreateUserName":null,"ModifyDate":"2016-04-11 10:21:44","ModifyUserId":"System","ModifyUserName":"超级管理员"},{"ModuleId":"6","ParentId":"0","EnCode":"ReportManage","FullName":"报表中心","Icon":"fa fa-area-chart","UrlAddress":null,"Target":"expand","IsMenu":0,"AllowExpand":1,"IsPublic":0,"AllowEdit":null,"AllowDelete":null,"SortCode":4,"DeleteMark":0,"EnabledMark":1,"Description":null,"CreateDate":null,"CreateUserId":null,"CreateUserName":null,"ModifyDate":"2016-04-11 10:21:54","ModifyUserId":"System","ModifyUserName":"超级管理员"},{"ModuleId":"4","ParentId":"0","EnCode":"CommonInfo","FullName":"公共信息","Icon":"fa fa-globe","UrlAddress":null,"Target":"expand","IsMenu":0,"AllowExpand":1,"IsPublic":0,"AllowEdit":null,"AllowDelete":null,"SortCode":5,"DeleteMark":0,"EnabledMark":1,"Description":null,"CreateDate":null,"CreateUserId":null,"CreateUserName":null,"ModifyDate":"2016-04-11 10:21:59","ModifyUserId":"System","ModifyUserName":"超级管理员"},{"ModuleId":"ad147f6d-613f-4d2d-8c84-b749d0754f3b","ParentId":"0","EnCode":"CustomerManage","FullName":"客户关系","Icon":"fa fa-briefcase","UrlAddress":null,"Target":"expand","IsMenu":0,"AllowExpand":1,"IsPublic":0,"AllowEdit":null,"AllowDelete":null,"SortCode":6,"DeleteMark":0,"EnabledMark":1,"Description":"客户关系管理","CreateDate":"2016-03-11 10:53:05","CreateUserId":"0f36148c-719f-41e0-8c8c-16ffbc40d0e0","CreateUserName":"佘赐雄","ModifyDate":"2016-04-21 16:00:07","ModifyUserId":"System","ModifyUserName":"超级管理员"},{"ModuleId":"7","ParentId":"0","EnCode":"DemoManage","FullName":"常用示例","Icon":"fa fa-tags","UrlAddress":null,"Target":"expand","IsMenu":0,"AllowExpand":1,"IsPublic":0,"AllowEdit":null,"AllowDelete":null,"SortCode":7,"DeleteMark":0,"EnabledMark":0,"Description":null,"CreateDate":null,"CreateUserId":null,"CreateUserName":null,"ModifyDate":"2016-04-26 14:58:24","ModifyUserId":"System","ModifyUserName":"超级管理员"}]
5.2 jstree -json
[{"id":"1","text":"系统管理","value":"1","parentnodes":"0","showcheck":false,"isexpand":true,"complete":true,"hasChildren":true,"ChildNodes":[{"id":"4efd37bf-e3ef-4ced-8248-58eba046d78b","text":"通用字典","value":"4efd37bf-e3ef-4ced-8248-58eba046d78b","parentnodes":"1","showcheck":false,"isexpand":true,"complete":true,"hasChildren":false,"ChildNodes":[]},{"id":"7ae94059-9aa5-48eb-8330-4e2a6565b193","text":"行政区域","value":"7ae94059-9aa5-48eb-8330-4e2a6565b193","parentnodes":"1","showcheck":false,"isexpand":true,"complete":true,"hasChildren":false,"ChildNodes":[]},{"id":"7adc5a16-54a4-408e-a101-2ddab8117d67","text":"单据编码","value":"7adc5a16-54a4-408e-a101-2ddab8117d67","parentnodes":"1","showcheck":false,"isexpand":true,"complete":true,"hasChildren":false,"ChildNodes":[]},{"id":"7cec0a0f-7204-4240-b009-312fa0c11cbf","text":"数据管理","value":"7cec0a0f-7204-4240-b009-312fa0c11cbf","parentnodes":"1","showcheck":false,"isexpand":true,"complete":true,"hasChildren":true,"ChildNodes":[{"id":"34e362f4-c220-4fb7-b3f0-288c83417cb3","text":"数据库连接","value":"34e362f4-c220-4fb7-b3f0-288c83417cb3","parentnodes":"7cec0a0f-7204-4240-b009-312fa0c11cbf","showcheck":false,"isexpand":true,"complete":true,"hasChildren":false,"ChildNodes":[]},{"id":"2f820f6e-ae2e-472f-82cc-0129a2a57597","text":"数据表管理","value":"2f820f6e-ae2e-472f-82cc-0129a2a57597","parentnodes":"7cec0a0f-7204-4240-b009-312fa0c11cbf","showcheck":false,"isexpand":true,"complete":true,"hasChildren":false,"ChildNodes":[]},{"id":"c4d7ce1f-72de-4651-b495-6c466261e9af","text":"数据库备份","value":"c4d7ce1f-72de-4651-b495-6c466261e9af","parentnodes":"7cec0a0f-7204-4240-b009-312fa0c11cbf","showcheck":false,"isexpand":true,"complete":true,"hasChildren":false,"ChildNodes":[]}]},{"id":"f21fa3a0-c523-4d02-99ca-fd8dd3ae3d59","text":"系统日志","value":"f21fa3a0-c523-4d02-99ca-fd8dd3ae3d59","parentnodes":"1","showcheck":false,"isexpand":true,"complete":true,"hasChildren":false,"ChildNodes":[]},{"id":"21","text":"系统功能","value":"21","parentnodes":"1","showcheck":false,"isexpand":true,"complete":true,"hasChildren":false,"ChildNodes":[]},{"id":"b9f9df92-8ac5-46e2-90ac-68c5c2e034c3","text":"微信管理","value":"b9f9df92-8ac5-46e2-90ac-68c5c2e034c3","parentnodes":"1","showcheck":false,"isexpand":true,"complete":true,"hasChildren":true,"ChildNodes":[{"id":"a977d91e-77b7-4d60-a7ad-dfbc138f7c0a","text":"企业号设置","value":"a977d91e-77b7-4d60-a7ad-dfbc138f7c0a","parentnodes":"b9f9df92-8ac5-46e2-90ac-68c5c2e034c3","showcheck":false,"isexpand":true,"complete":true,"hasChildren":false,"ChildNodes":[]},{"id":"5cc9d2d9-e097-4b51-9b9e-84ca9f1a0ab5","text":"企业号部门","value":"5cc9d2d9-e097-4b51-9b9e-84ca9f1a0ab5","parentnodes":"b9f9df92-8ac5-46e2-90ac-68c5c2e034c3","showcheck":false,"isexpand":true,"complete":true,"hasChildren":false,"ChildNodes":[]},{"id":"4d0f2e44-f68f-41fd-a55c-40ac67453ef4","text":"企业号成员","value":"4d0f2e44-f68f-41fd-a55c-40ac67453ef4","parentnodes":"b9f9df92-8ac5-46e2-90ac-68c5c2e034c3","showcheck":false,"isexpand":true,"complete":true,"hasChildren":false,"ChildNodes":[]},{"id":"aa844d70-7211-41d9-907a-f9a10f4ac801","text":"企业号应用","value":"aa844d70-7211-41d9-907a-f9a10f4ac801","parentnodes":"b9f9df92-8ac5-46e2-90ac-68c5c2e034c3","showcheck":false,"isexpand":true,"complete":true,"hasChildren":false,"ChildNodes":[]}]},{"id":"cfa631fe-e7f8-42b5-911f-7172f178a811","text":"快速开发","value":"cfa631fe-e7f8-42b5-911f-7172f178a811","parentnodes":"1","showcheck":false,"isexpand":true,"complete":true,"hasChildren":false,"ChildNodes":[]},{"id":"b0261df5-7be0-4c8e-829c-15836e200af0","text":"系统表单","value":"b0261df5-7be0-4c8e-829c-15836e200af0","parentnodes":"1","showcheck":false,"isexpand":true,"complete":true,"hasChildren":false,"ChildNodes":[]}]},{"id":"2","text":"单位组织","value":"2","parentnodes":"0","showcheck":false,"isexpand":true,"complete":true,"hasChildren":true,"ChildNodes":[{"id":"8","text":"机构管理","value":"8","parentnodes":"2","showcheck":false,"isexpand":true,"complete":true,"hasChildren":false,"ChildNodes":[]},{"id":"9","text":"部门管理","value":"9","parentnodes":"2","showcheck":false,"isexpand":true,"complete":true,"hasChildren":false,"ChildNodes":[]},{"id":"10","text":"用户管理","value":"10","parentnodes":"2","showcheck":false,"isexpand":true,"complete":true,"hasChildren":false,"ChildNodes":[]},{"id":"11","text":"角色管理","value":"11","parentnodes":"2","showcheck":false,"isexpand":true,"complete":true,"hasChildren":false,"ChildNodes":[]},{"id":"12","text":"职位管理","value":"12","parentnodes":"2","showcheck":false,"isexpand":true,"complete":true,"hasChildren":false,"ChildNodes":[]},{"id":"13","text":"岗位管理","value":"13","parentnodes":"2","showcheck":false,"isexpand":true,"complete":true,"hasChildren":false,"ChildNodes":[]},{"id":"14","text":"用户组管理","value":"14","parentnodes":"2","showcheck":false,"isexpand":true,"complete":true,"hasChildren":false,"ChildNodes":[]}]},{"id":"4","text":"公共信息","value":"4","parentnodes":"0","showcheck":false,"isexpand":true,"complete":true,"hasChildren":true,"ChildNodes":[{"id":"23713d3a-810f-422d-acd5-39bec28ce47e","text":"日程管理","value":"23713d3a-810f-422d-acd5-39bec28ce47e","parentnodes":"4","showcheck":false,"isexpand":true,"complete":true,"hasChildren":false,"ChildNodes":[]},{"id":"e35d24ce-8a6a-46b9-8b3f-6dc864a8f342","text":"新闻中心","value":"e35d24ce-8a6a-46b9-8b3f-6dc864a8f342","parentnodes":"4","showcheck":false,"isexpand":true,"complete":true,"hasChildren":false,"ChildNodes":[]},{"id":"6252983c-52f5-402c-991b-ad19a9cb1f94","text":"通知公告","value":"6252983c-52f5-402c-991b-ad19a9cb1f94","parentnodes":"4","showcheck":false,"isexpand":true,"complete":true,"hasChildren":false,"ChildNodes":[]},{"id":"04b88c96-8d99-45ec-956c-444efa630020","text":"文件资料","value":"04b88c96-8d99-45ec-956c-444efa630020","parentnodes":"4","showcheck":false,"isexpand":true,"complete":true,"hasChildren":false,"ChildNodes":[]},{"id":"c6b80ed5-b0cb-4844-ba1a-725d2cb4f935","text":"邮件中心","value":"c6b80ed5-b0cb-4844-ba1a-725d2cb4f935","parentnodes":"4","showcheck":false,"isexpand":true,"complete":true,"hasChildren":false,"ChildNodes":[]}]},{"id":"5","text":"工作流程","value":"5","parentnodes":"0","showcheck":false,"isexpand":true,"complete":true,"hasChildren":true,"ChildNodes":[{"id":"1b642904-d674-495f-a1e1-4814cc543870","text":"发起流程","value":"1b642904-d674-495f-a1e1-4814cc543870","parentnodes":"5","showcheck":false,"isexpand":true,"complete":true,"hasChildren":false,"ChildNodes":[]},{"id":"b5cb98f6-fb41-4a0f-bc11-469ff117a411","text":"流程管理","value":"b5cb98f6-fb41-4a0f-bc11-469ff117a411","parentnodes":"5","showcheck":false,"isexpand":true,"complete":true,"hasChildren":true,"ChildNodes":[{"id":"27b6c487-a2d9-4a3a-a40d-dbba27a53d26","text":"流程监控","value":"27b6c487-a2d9-4a3a-a40d-dbba27a53d26","parentnodes":"b5cb98f6-fb41-4a0f-bc11-469ff117a411","showcheck":false,"isexpand":true,"complete":true,"hasChildren":false,"ChildNodes":[]},{"id":"c0544bfd-a557-45fc-a856-a678a1e88bfc","text":"流程指派","value":"c0544bfd-a557-45fc-a856-a678a1e88bfc","parentnodes":"b5cb98f6-fb41-4a0f-bc11-469ff117a411","showcheck":false,"isexpand":true,"complete":true,"hasChildren":false,"ChildNodes":[]}]},{"id":"691f3810-a602-4523-8518-ce5856482d48","text":"草稿流程","value":"691f3810-a602-4523-8518-ce5856482d48","parentnodes":"5","showcheck":false,"isexpand":true,"complete":true,"hasChildren":false,"ChildNodes":[]},{"id":"0d296398-bc0e-4f38-996a-6e24bc88cc53","text":"待办流程","value":"0d296398-bc0e-4f38-996a-6e24bc88cc53","parentnodes":"5","showcheck":false,"isexpand":true,"complete":true,"hasChildren":false,"ChildNodes":[]},{"id":"923f7d65-e307-45f7-8f96-73ecbf23b324","text":"已办流程","value":"923f7d65-e307-45f7-8f96-73ecbf23b324","parentnodes":"5","showcheck":false,"isexpand":true,"complete":true,"hasChildren":false,"ChildNodes":[]},{"id":"6a67a67f-ef07-41e7-baa5-00bc5f662a76","text":"工作委托","value":"6a67a67f-ef07-41e7-baa5-00bc5f662a76","parentnodes":"5","showcheck":false,"isexpand":true,"complete":true,"hasChildren":false,"ChildNodes":[]},{"id":"021a59b0-2589-4f9e-8140-6052177a967c","text":"我的流程","value":"021a59b0-2589-4f9e-8140-6052177a967c","parentnodes":"5","showcheck":false,"isexpand":true,"complete":true,"hasChildren":false,"ChildNodes":[]},{"id":"458113c6-b0be-4d6f-acce-7524f4bc3e88","text":"流程配置","value":"458113c6-b0be-4d6f-acce-7524f4bc3e88","parentnodes":"5","showcheck":false,"isexpand":true,"complete":true,"hasChildren":true,"ChildNodes":[{"id":"08dfd779-92d5-4cd8-9982-a76176af0f7c","text":"流程类别","value":"08dfd779-92d5-4cd8-9982-a76176af0f7c","parentnodes":"458113c6-b0be-4d6f-acce-7524f4bc3e88","showcheck":false,"isexpand":true,"complete":true,"hasChildren":false,"ChildNodes":[]},{"id":"f63a252b-975f-4832-a5be-1ce733bc8ece","text":"流程设计","value":"f63a252b-975f-4832-a5be-1ce733bc8ece","parentnodes":"458113c6-b0be-4d6f-acce-7524f4bc3e88","showcheck":false,"isexpand":true,"complete":true,"hasChildren":false,"ChildNodes":[]},{"id":"a57993fa-5a94-44a8-a330-89196515c1d9","text":"表单设计","value":"a57993fa-5a94-44a8-a330-89196515c1d9","parentnodes":"458113c6-b0be-4d6f-acce-7524f4bc3e88","showcheck":false,"isexpand":true,"complete":true,"hasChildren":false,"ChildNodes":[]},{"id":"00ae31cf-b340-4c17-9ee7-6dd08943df02","text":"表单类别","value":"00ae31cf-b340-4c17-9ee7-6dd08943df02","parentnodes":"458113c6-b0be-4d6f-acce-7524f4bc3e88","showcheck":false,"isexpand":true,"complete":true,"hasChildren":false,"ChildNodes":[]}]}]},{"id":"6","text":"报表中心","value":"6","parentnodes":"0","showcheck":false,"isexpand":true,"complete":true,"hasChildren":true,"ChildNodes":[{"id":"affacee1-41a3-4c7b-8804-f1c1926babbd","text":"采购报表","value":"affacee1-41a3-4c7b-8804-f1c1926babbd","parentnodes":"6","showcheck":false,"isexpand":true,"complete":true,"hasChildren":false,"ChildNodes":[]},{"id":"ff1823b5-a966-4e6c-83de-807854f4f0fb","text":"销售报表","value":"ff1823b5-a966-4e6c-83de-807854f4f0fb","parentnodes":"6","showcheck":false,"isexpand":true,"complete":true,"hasChildren":false,"ChildNodes":[]},{"id":"92a535c9-4d4b-4500-968d-a142e671c09b","text":"报表管理","value":"92a535c9-4d4b-4500-968d-a142e671c09b","parentnodes":"6","showcheck":false,"isexpand":true,"complete":true,"hasChildren":false,"ChildNodes":[]},{"id":"ddce0dc1-3345-41b7-9716-22641fbbfaed","text":"销售日报表","value":"ddce0dc1-3345-41b7-9716-22641fbbfaed","parentnodes":"6","showcheck":false,"isexpand":true,"complete":true,"hasChildren":false,"ChildNodes":[]},{"id":"901e6122-985d-4c84-8d8c-56560520f6ed","text":"仓存报表","value":"901e6122-985d-4c84-8d8c-56560520f6ed","parentnodes":"6","showcheck":false,"isexpand":true,"complete":true,"hasChildren":false,"ChildNodes":[]},{"id":"9db71a92-2ecb-496c-839f-7a82bc22905d","text":"对账报表","value":"9db71a92-2ecb-496c-839f-7a82bc22905d","parentnodes":"6","showcheck":false,"isexpand":true,"complete":true,"hasChildren":false,"ChildNodes":[]}]},{"id":"7","text":"常用示例","value":"7","parentnodes":"0","showcheck":false,"isexpand":true,"complete":true,"hasChildren":false,"ChildNodes":[]},{"id":"ad147f6d-613f-4d2d-8c84-b749d0754f3b","text":"客户关系","value":"ad147f6d-613f-4d2d-8c84-b749d0754f3b","parentnodes":"0","showcheck":false,"isexpand":true,"complete":true,"hasChildren":true,"ChildNodes":[{"id":"16d4e2d5-d154-455f-94f7-63bf80ab26aa","text":"基础设置","value":"16d4e2d5-d154-455f-94f7-63bf80ab26aa","parentnodes":"ad147f6d-613f-4d2d-8c84-b749d0754f3b","showcheck":false,"isexpand":true,"complete":true,"hasChildren":true,"ChildNodes":[{"id":"6be31cc9-4aee-4279-8435-4b266cec33f0","text":"客户行业","value":"6be31cc9-4aee-4279-8435-4b266cec33f0","parentnodes":"16d4e2d5-d154-455f-94f7-63bf80ab26aa","showcheck":false,"isexpand":true,"complete":true,"hasChildren":false,"ChildNodes":[]},{"id":"c30310a7-d0a5-4bf6-8655-c3834a8cc73d","text":"客户类别","value":"c30310a7-d0a5-4bf6-8655-c3834a8cc73d","parentnodes":"16d4e2d5-d154-455f-94f7-63bf80ab26aa","showcheck":false,"isexpand":true,"complete":true,"hasChildren":false,"ChildNodes":[]},{"id":"aed02ee7-322f-47f0-8ad6-ab0a2172628f","text":"客户程度","value":"aed02ee7-322f-47f0-8ad6-ab0a2172628f","parentnodes":"16d4e2d5-d154-455f-94f7-63bf80ab26aa","showcheck":false,"isexpand":true,"complete":true,"hasChildren":false,"ChildNodes":[]},{"id":"52fe82f8-41ba-433e-9351-ef67e5b35217","text":"客户级别","value":"52fe82f8-41ba-433e-9351-ef67e5b35217","parentnodes":"16d4e2d5-d154-455f-94f7-63bf80ab26aa","showcheck":false,"isexpand":true,"complete":true,"hasChildren":false,"ChildNodes":[]},{"id":"be9cbe61-265f-4ddd-851e-d5a1cef6011b","text":"商机来源","value":"be9cbe61-265f-4ddd-851e-d5a1cef6011b","parentnodes":"16d4e2d5-d154-455f-94f7-63bf80ab26aa","showcheck":false,"isexpand":true,"complete":true,"hasChildren":false,"ChildNodes":[]},{"id":"80620d6f-55bd-492b-9c21-1b04ca268e75","text":"商机阶段","value":"80620d6f-55bd-492b-9c21-1b04ca268e75","parentnodes":"16d4e2d5-d154-455f-94f7-63bf80ab26aa","showcheck":false,"isexpand":true,"complete":true,"hasChildren":false,"ChildNodes":[]},{"id":"62af0605-4558-47b1-9530-bc3515036b37","text":"收支账户","value":"62af0605-4558-47b1-9530-bc3515036b37","parentnodes":"16d4e2d5-d154-455f-94f7-63bf80ab26aa","showcheck":false,"isexpand":true,"complete":true,"hasChildren":false,"ChildNodes":[]},{"id":"3b03806d-98d8-40fe-9895-01633119458c","text":"产品信息","value":"3b03806d-98d8-40fe-9895-01633119458c","parentnodes":"16d4e2d5-d154-455f-94f7-63bf80ab26aa","showcheck":false,"isexpand":true,"complete":true,"hasChildren":false,"ChildNodes":[]},{"id":"77f13de5-32ad-4226-9e24-f1db507e78cb","text":"收支方式","value":"77f13de5-32ad-4226-9e24-f1db507e78cb","parentnodes":"16d4e2d5-d154-455f-94f7-63bf80ab26aa","showcheck":false,"isexpand":true,"complete":true,"hasChildren":false,"ChildNodes":[]},{"id":"eab4a37f-d976-42b7-9589-489ed0678151","text":"支出种类","value":"eab4a37f-d976-42b7-9589-489ed0678151","parentnodes":"16d4e2d5-d154-455f-94f7-63bf80ab26aa","showcheck":false,"isexpand":true,"complete":true,"hasChildren":false,"ChildNodes":[]}]},{"id":"66f6301c-1789-4525-a7d2-2b83272aafa6","text":"商机管理","value":"66f6301c-1789-4525-a7d2-2b83272aafa6","parentnodes":"ad147f6d-613f-4d2d-8c84-b749d0754f3b","showcheck":false,"isexpand":true,"complete":true,"hasChildren":false,"ChildNodes":[]},{"id":"1d3797f6-5cd2-41bc-b769-27f2513d61a9","text":"客户管理","value":"1d3797f6-5cd2-41bc-b769-27f2513d61a9","parentnodes":"ad147f6d-613f-4d2d-8c84-b749d0754f3b","showcheck":false,"isexpand":true,"complete":true,"hasChildren":false,"ChildNodes":[]},{"id":"b352f049-4331-4b19-ac22-e379cb30bd55","text":"客户订单","value":"b352f049-4331-4b19-ac22-e379cb30bd55","parentnodes":"ad147f6d-613f-4d2d-8c84-b749d0754f3b","showcheck":false,"isexpand":true,"complete":true,"hasChildren":false,"ChildNodes":[]},{"id":"5f1fa264-cc9b-4146-b49e-743e4633bb4c","text":"客户开票","value":"5f1fa264-cc9b-4146-b49e-743e4633bb4c","parentnodes":"ad147f6d-613f-4d2d-8c84-b749d0754f3b","showcheck":false,"isexpand":true,"complete":true,"hasChildren":false,"ChildNodes":[]},{"id":"535d92e9-e066-406c-b2c2-697150a5bdff","text":"收款管理","value":"535d92e9-e066-406c-b2c2-697150a5bdff","parentnodes":"ad147f6d-613f-4d2d-8c84-b749d0754f3b","showcheck":false,"isexpand":true,"complete":true,"hasChildren":false,"ChildNodes":[]},{"id":"1ef31fba-7f0a-46f7-b533-49dd0c2e51e0","text":"收款报表","value":"1ef31fba-7f0a-46f7-b533-49dd0c2e51e0","parentnodes":"ad147f6d-613f-4d2d-8c84-b749d0754f3b","showcheck":false,"isexpand":true,"complete":true,"hasChildren":false,"ChildNodes":[]},{"id":"9fc384f5-efb7-439e-9fe1-3e50807e6399","text":"支出管理","value":"9fc384f5-efb7-439e-9fe1-3e50807e6399","parentnodes":"ad147f6d-613f-4d2d-8c84-b749d0754f3b","showcheck":false,"isexpand":true,"complete":true,"hasChildren":false,"ChildNodes":[]},{"id":"dec79ca7-3b54-432a-be1e-c96e7a2c7150","text":"现金银行报表","value":"dec79ca7-3b54-432a-be1e-c96e7a2c7150","parentnodes":"ad147f6d-613f-4d2d-8c84-b749d0754f3b","showcheck":false,"isexpand":true,"complete":true,"hasChildren":false,"ChildNodes":[]}]}]