菜单

权限管理系统之字典www.2138.com,js如何实现新闻滚动效果_javascript技巧_脚本之家

2020年2月16日 - www.2138.com
权限管理系统之字典www.2138.com,js如何实现新闻滚动效果_javascript技巧_脚本之家

现实代码如下: 复制代码 代码如下:

4.5 代码(字典)管理

系统代码是平台置于的、通用的、统风流洒脱的数目描述。

代码管理(数据字典)是全部平高雄多少描述的灵光机制。通过分界面实行可视化的操作和保卫安全,能迅快速录音入和改进平台上统黄金年代的字典数据。有效拉长了多少的重复利用率和产物、项目标支付效用。整个数据词典数据为框架平台所分享,客商可以越来越好地对系统实行自定义管理,以满意本身的性格化须要。

代码管理的成效作业区(顾客操作卡塔尔国分界面如下图4.5-1所示,通过首要的操作开关和新闻内容可以预知其功能有:

① 新添代码组、代码,编辑代码组、代码,
② 删除代码组、代码,移动代码,
③ 代码组、代码的唯生龙活虎标记,排序功效和备注音信等。

里面成效操作按键的情形会依据接受的左侧树型中不一样节点和差异登入顾客的动作权限而改过。

www.2138.com,平台在时下仅帮衬二级深度的树型代码布局,可依赖实际供给展开增加、改进、删除或移动等对平台代码实行分拣和调动。

www.2138.com 1 

图4.5-1  代码管理分界面

#region LoadCodeTypes, LoadCodes
        private void LoadCodeTypes(TreeNode currentNode, DMESYS_SYSCODE_TYPE currentCodeType)
        {
            List<DMESYS_SYSCODE_TYPE> subCodeTypes = null;
            if (currentCodeType != null)
                subCodeTypes = DBOSYS_SYSCODE_TYPE.GetSubCodeTypes(currentCodeType);
            else
                subCodeTypes = DBOSYS_SYSCODE_TYPE.GetSYS_SYSCODE_TYPEEntities();

            foreach (DMESYS_SYSCODE_TYPE rt in subCodeTypes)
            {
                TreeNode node = currentNode.ChildNodes.Add();
                node.Tag = rt;
                node.Text = rt.Name;
                node.CollapsedImageIndex = 1;
                node.ExpandedImageIndex = 2;

                LoadCodeTypes(node, rt);
            }
        }

        private void LoadCodes()
        {
            codes.Clear();
            codes = DBOSYS_SYSCODE.GetSYS_SYSCODEEntities();

            foreach (DMESYS_SYSCODE r in codes)
            {
                TreeNode tn = CallFindNode(r.Syscode_Type_Id, tvCodes);
                if (tn != null)
                {
                    TreeNode node = tn.ChildNodes.Add();
                    node.Tag = r;
                    node.Text = r.Name;
                    node.CollapsedImageIndex = 3;
                    node.ExpandedImageIndex = 3;
                }
            }
        }

        private TreeNode FindTreeNode(string codeTypeId, TreeNode tnParent)
        {
            if (tnParent == null || tnParent.Tag is DMESYS_SYSCODE)
                return null;
            if ((tnParent.Tag as DMESYS_SYSCODE_TYPE).Id == codeTypeId)
                return tnParent;
            TreeNode tnRet = null;
            foreach (TreeNode tn in tnParent.ChildNodes)
            {
                tnRet = FindTreeNode(codeTypeId, tn);
                if (tnRet != null)
                    break;
            }
            return tnRet;
        }

        private TreeNode CallFindNode(string codeTypeId, TreeControl treeView)
        {
            TreeNodeCollection nodes = treeView.RootNodes[0].ChildNodes;
            foreach (TreeNode n in nodes)
            {
                TreeNode temp = FindTreeNode(codeTypeId, n);
                if (temp != null)
                    return temp;
            }
            return null;
        }
        #endregion

 

code.js.cn

4.5.1 新扩张、编辑和删除

增加生产数量代码组和代码:点击张开树形菜单“系统代码”,能够见到平台置于的意气风发部分代码组和代码。选择“系统代码”后点击“新扩展分类”按键,能够增添代码组;选取已部分代码组,点击“新扩张代码”按键,可以加上具体的代码。

在疯长代码组或代码的历程中,在这之中带乌紫星号标志“*”的条文,标志、名称和排序ID是必须求填写的内容。平台会检验该代码组或代码的标志、名称在平台上的合法性,确认保证代码组或代码的标记、名称的唯黄金时代性和可用性。

现实加多代码组、代码的操作分界面如下图4.5.1-1所示:

 www.2138.com 2

 www.2138.com 3

图4.5.1-1  新增加代码组、代码

private void InfoUpdatedADD()
        {
            if (dmeObj == null)
            {
                lbInfo.Text = "在“系统代码”下新增如下代码分类";
                return;
            }

            if (dmeObj != null && dmeObj is DMESYS_SYSCODE_TYPE)
            {
                dmeCodeType = dmeObj as DMESYS_SYSCODE_TYPE;
                lbInfo.Text = "在代码分类“" + dmeCodeType.Name + "”下新增如下代码";
                return;
            }
        }

        private bool InfoUpdatedEDIT()
        {
            if (dmeObj == null)
            {
                lbInfo.Text = "加载代码类型信息时出错!";
                lbInfo.ForeColor = Color.Red;
                ucCodes.IsEnabled(false);
                return false;
            }

            if (dmeObj != null && dmeObj is DMESYS_SYSCODE_TYPE)
            {
                dmeCodeType = dmeObj as DMESYS_SYSCODE_TYPE;
                lbInfo.Text = "编辑代码分类“" + dmeCodeType.Name + "”";
                return true;
            }

            if (dmeObj != null && dmeObj is DMESYS_SYSCODE)
            {
                dmeCode = dmeObj as DMESYS_SYSCODE;
                lbInfo.Text = "编辑代码“" + dmeCode.Name + "”";
                return true;
            }

            return false;
        }

        private bool InsertorUpdateCodes()
        {
            if (dmeCode == null)
            {
                dmeCode = new DMESYS_SYSCODE();
            }

            if (dmeCodeType == null)
            {
                dmeCodeType = new DMESYS_SYSCODE_TYPE();
            }

            if (action == Action.ADD)
            {
                if (dmeObj == null && DoValidatedCodes())
                {
                    dmeCodeType.Id = FeiQing.DBO.DBOService.GetID();
                    DBOSYS_SYSCODE_TYPE.InsertDMESYS_SYSCODE_TYPE(dmeCodeType);
                    return true;
                }
                if (dmeObj is DMESYS_SYSCODE_TYPE && DoValidatedCodes())
                {
                    dmeCode.Syscode_Type_Id = dmeCodeType.Id;
                    dmeCode.Id = FeiQing.DBO.DBOService.GetID();
                    DBOSYS_SYSCODE.InsertDMESYS_SYSCODE(dmeCode);
                    return true;
                }
                return false;
            }

            if (action == Action.EDIT)
            {
                if (dmeObj is DMESYS_SYSCODE_TYPE && DoValidatedCodes())
                {
                    dmeCodeType.Id = (dmeObj as DMESYS_SYSCODE_TYPE).Id;
                    DBOSYS_SYSCODE_TYPE.UpdateDMESYS_SYSCODE_TYPE(dmeCodeType);
                    return true;
                }
                if (dmeObj is DMESYS_SYSCODE && DoValidatedCodes())
                {
                    dmeCode.Id = (dmeCode as DMESYS_SYSCODE).Id;
                    DBOSYS_SYSCODE.UpdateDMESYS_SYSCODE(dmeCode);
                    return true;
                }
                return false;
            }

            return false;
        }

        private bool DoValidatedCodes()
        {
            if (String.IsNullOrEmpty(ucCodes.LbTxtTag))
            {
                lbTip.Text = "“标识”不能为空。";
                lbTip.ForeColor = Color.Red;
                return false;
            }
            if (String.IsNullOrEmpty(ucCodes.LbTxtName))
            {
                lbTip.Text = "“名称”不能为空。";
                lbTip.ForeColor = Color.Red;
                return false;
            }
            if (String.IsNullOrEmpty(ucCodes.LbTxtOrder))
            {
                lbTip.Text = "“排序ID”不能为空。";
                lbTip.ForeColor = Color.Red;
                return false;
            }
            if (!FeiQing.Util.DataValidator2.IsNumber(ucCodes.LbTxtOrder))
            {
                lbTip.Text = "“排序ID”必须为数值。";
                lbTip.ForeColor = Color.Red;
                return false;
            }

            if (dmeObj == null && dmeCodeType != null && action == Action.ADD)
            {
                dmeCodeType.Tag = ucCodes.LbTxtTag;
                dmeCodeType.Name = ucCodes.LbTxtName;
                dmeCodeType.Order_Id = Int32.Parse(ucCodes.LbTxtOrder);
                dmeCodeType.Remark = ucCodes.LbTxtRemark;
            }
            if (dmeObj is DMESYS_SYSCODE_TYPE && dmeCode != null && action == Action.ADD)
            {
                dmeCode.Tag = ucCodes.LbTxtTag;
                dmeCode.Name = ucCodes.LbTxtName;
                dmeCode.Order_Id = Int32.Parse(ucCodes.LbTxtOrder);
                dmeCode.Remark = ucCodes.LbTxtRemark;
            }
            if (dmeObj is DMESYS_SYSCODE_TYPE && dmeCodeType != null && action == Action.EDIT)
            {
                dmeCodeType.Tag = ucCodes.LbTxtTag;
                dmeCodeType.Name = ucCodes.LbTxtName;
                dmeCodeType.Order_Id = Int32.Parse(ucCodes.LbTxtOrder);
                dmeCodeType.Remark = ucCodes.LbTxtRemark;
            }
            if (dmeObj is DMESYS_SYSCODE && dmeCode != null && action == Action.EDIT)
            {
                dmeCode.Tag = ucCodes.LbTxtTag;
                dmeCode.Name = ucCodes.LbTxtName;
                dmeCode.Order_Id = Int32.Parse(ucCodes.LbTxtOrder);
                dmeCode.Remark = ucCodes.LbTxtRemark;
            }

            return true;
        }

 

编纂代码组和代码:主假诺在代码组或代码的标志,名称,排序,备注等消息发生改变的状态时举办的编纂操作。点击打开树形菜单“系统代码”,在树型目录下抉择一个代码组或然代码后点击“编辑”开关,即完结对应代码组或代码音讯的改换。具体编辑代码组、代码的操作界面如下图4.5.1-第22中学所示:

 www.2138.com 4

图4.5.1-2  编辑代码组、代码

 

删除代码组和代码:点击张开树形菜单“系统代码”,在树型目录下抉择一个代码组或代码后点击“删除”开关,图4.5.1-3显得了剔除操作的提示对话框界面。

备考:对于有所代码的代码组是爱莫能助间接删除的,首先需求删除其下属的代码。

 www.2138.com 5

 www.2138.com 6

图4.5.1-3  删除代码组或代码提醒

 

private void btnDelete_Click(object sender, System.EventArgs e)
        {
            if (IsCodeType())
            {
                if (selectedNode.ChildNodes.Count > 0)
                {
                    GUIHelper.MessageToUserInfo("提示:该代码分类包含代码,无法直接删除!");
                    return;
                }
                if (GUIHelper.MessageQuestion("确定要删除代码分类“" + (selectedObj as DMESYS_SYSCODE_TYPE).Name + "”吗?", "删除代码分类"))
                {
                    DBOSYS_SYSCODE_TYPE.DeleteDMESYS_SYSCODE_TYPE(selectedObj as DMESYS_SYSCODE_TYPE);
                    btnRefresh_Click(sender, e);
                    return;
                }
            }
            if (IsCode())
            {
                if (GUIHelper.MessageQuestion("确定要删除代码“" + (selectedObj as DMESYS_SYSCODE).Name + "”吗?", "删除代码"))
                {
                    DBOSYS_SYSCODE.DeleteDMESYS_SYSCODE(selectedObj as DMESYS_SYSCODE);
                    btnRefresh_Click(sender, e);
                    return;
                }
            }
        }

 

这是 我的 第一篇 博客

4.5.2 移动代码

点击打开树形菜单“系统代码”,接纳一个代码后点击“移动”按键,如下图4.5.2-1中所示,选取必要活动到的指标代码组,点击确认,就可以到位代码的调动。近些日子平台上只扶植代码移动,代码组临时不帮助移动。

 www.2138.com 7

图4.5.2-1  移动代码

#region LoadCodeTypes
        private void LoadCodeTypes(TreeNode currentNode, DMESYS_SYSCODE_TYPE currentCodeType)
        {
            List<DMESYS_SYSCODE_TYPE> subCodeTypes = null;
            if (currentCodeType != null)
                subCodeTypes = DBOSYS_SYSCODE_TYPE.GetSubCodeTypes(currentCodeType);
            else
                subCodeTypes = DBOSYS_SYSCODE_TYPE.GetSYS_SYSCODE_TYPEEntities();

            foreach (DMESYS_SYSCODE_TYPE rt in subCodeTypes)
            {
                TreeNode node = currentNode.ChildNodes.Add();
                node.Tag = rt;
                node.Text = rt.Name;
                node.CollapsedImageIndex = 1;
                node.ExpandedImageIndex = 2;

                LoadCodeTypes(node, rt);
            }
        }
        #endregion

        private bool MoveCode()
        {
            if (destObj == null)
            {
                lbTip.Visible = true;
                return false;
            }

            if (destObj is DMESYS_SYSCODE_TYPE)
            {
                target.Syscode_Type_Id = (destObj as DMESYS_SYSCODE_TYPE).Id;
                DBOSYS_SYSCODE.UpdateDMESYS_SYSCODE(target);
                return true;
            }

            return false;
        }

 

 

滚动频率由setTimeout这一个3000来决定。

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图