예제 #1
0
        /// <summary>
        /// 根据传入的参数,显示可维护的一级权限
        /// </summary>
        /// <param name="parm"></param>
        public void ShowClass1(string parm)
        {
            //清空节点
            this.tvClass1.Nodes.Clear();

            //取可维护的一级权限,显示在树型控件的根节点。
            Neusoft.HISFC.BizLogic.Manager.PowerLevel1Manager class1Manager = new Neusoft.HISFC.BizLogic.Manager.PowerLevel1Manager();
            ArrayList al = class1Manager.LoadLevel1Available(parm);

            if (al == null)
            {
                MessageBox.Show(Language.Msg(class1Manager.Err));
                return;
            }

            this.tvClass1.ImageList = this.tvClass1.groupImageList;

            //添加一级权限节点
            Neusoft.HISFC.Models.Admin.PowerLevelClass2 class2 = null;

            foreach (Neusoft.HISFC.Models.Admin.PowerLevelClass1 info in al)
            {
                TreeNode node = this.tvClass1.Nodes.Add(info.Name);

                node.Text               = info.Class1Name;
                node.ImageIndex         = 2;
                node.SelectedImageIndex = 4;
                //将一级权限的信息转换为二级权限实体,并保存在节点的Tag中
                class2            = new Neusoft.HISFC.Models.Admin.PowerLevelClass2();
                class2.Class1Code = info.Class1Code;

                node.Tag = class2;
            }
        }
        /// <summary>
        /// 根据参数,在树型控件中显示可维护的科室分类和科室节点
        /// </summary>
        /// <param name="statCode">参数</param>
        private void AddView(string statCode)
        {
            //取可维护的大类,显示在树型控件的根节点。
            Neusoft.HISFC.BizLogic.Manager.PowerLevel1Manager class1 = new Neusoft.HISFC.BizLogic.Manager.PowerLevel1Manager();
            ArrayList al = class1.LoadLevel1Available(statCode);

            if (al.Count == 0)
            {
                return;
            }

            foreach (Neusoft.HISFC.Models.Admin.PowerLevelClass1 info in al)
            {
                TreeNode node = this.Nodes.Add(info.Name);
                node.Text               = info.Class1Name;
                node.ToolTipText        = info.Class1Name;
                node.ImageIndex         = 0;
                node.SelectedImageIndex = 0;
                node.Tag = info.Class1Code;
            }

            //找到一级节点的所属分类,并添加到分类下的节点中
            foreach (Neusoft.HISFC.Models.Base.DepartmentStat stat in hashTable.Values)
            {
                TreeNode parentnode = SearchParentNode(stat);

                //{31FD985A-A165-4812-8CBE-CA2E2C7B9A7B}  更新科室名称
                if (this.deptNameDictionary.ContainsKey(stat.DeptCode))
                {
                    stat.DeptName = this.deptNameDictionary[stat.DeptCode];
                }

                TreeNode statNode = new TreeNode(stat.DeptName);
                statNode.Text = stat.DeptName;
                if (stat.NodeKind == 0)
                {
                    statNode.ImageIndex = 1;  //分类
                }
                else
                {
                    statNode.ImageIndex = 2; //科室
                }
                statNode.SelectedImageIndex = statNode.ImageIndex;
                statNode.Tag = stat;
                parentnode.Nodes.Add(statNode);
                //根据父级节点和父级科室,在树型控件中递归显示其子节点
                AddStatNode(statNode, stat);
            }
        }