private void ChildActorsTest()
        {
            Debug.Log(LogLevel.Display, "Starting " + MethodBase.GetCurrentMethod().Name + "...");

            Actor actor = new Actor();
            ChildActorComponent childActorComponent = new ChildActorComponent(actor, setAsRoot: true);
            TriggerBox          childActor          = childActorComponent.SetChildActor <TriggerBox>();

            if (childActor == null)
            {
                Debug.Log(LogLevel.Error, "Child actor obtainment check failed!");

                return;
            }

            BoxComponent boxComponent  = childActor.GetComponent <BoxComponent>();
            Vector3      initialExtent = new Vector3(100.0f, 100.0f, 100.0f);

            boxComponent.InitBoxExtent(initialExtent);

            if (initialExtent != boxComponent.GetUnscaledBoxExtent())
            {
                Debug.Log(LogLevel.Error, "Child actor box extent check failed!");

                return;
            }

            Debug.Log(LogLevel.Display, "Test passed successfully");
        }
Example #2
0
 //刷新
 protected void btnRefresh_Click(object sender, EventArgs e)
 {
     BindData();
     TriggerBox.Reset();
     DropDownListTeachingDegree.SelectedValue = "全部";
     btnDelete.Enabled = false;
 }
Example #3
0
 //刷新
 protected void btnRefresh_Click(object sender, EventArgs e)
 {
     BindData();
     TriggerBox.Reset();
     DropDownStudentType.SelectedValue = "全部";
     TriggerBox.Enabled   = false;
     DropDownList.Enabled = false;
 }
Example #4
0
        public static void OnBeginPlay()
        {
            Debug.AddOnScreenMessage(-1, 3.0f, Color.LightGreen, MethodBase.GetCurrentMethod().DeclaringType + " system started!");

            World.GetFirstPlayerController().SetViewTarget(World.GetActor <Camera>("MainCamera"));
            World.SetOnActorBeginOverlapCallback(OnActorBeginOverlap);
            World.SetOnActorEndOverlapCallback(OnActorEndOverlap);
            World.SetOnActorHitCallback(OnActorHit);
            World.SetOnComponentBeginOverlapCallback(OnComponentBeginOverlap);
            World.SetOnComponentEndOverlapCallback(OnComponentEndOverlap);
            World.SetOnComponentHitCallback(OnComponentHit);

            const float linesThickness = 3.0f;

            TriggerBox   triggerBox         = new TriggerBox();
            BoxComponent collisionComponent = triggerBox.GetComponent <BoxComponent>();
            Vector3      collisionLocation  = new Vector3(0.0f, 0.0f, 0.0f);
            Vector3      collisionShape     = new Vector3(200.0f, 200.0f, 200.0f);

            collisionComponent.GetLocation(ref collisionLocation);
            collisionComponent.SetBoxExtent(collisionShape);

            Debug.DrawBox(collisionLocation, collisionShape, Quaternion.Identity, Color.Aqua, true, thickness: linesThickness);

            leftActor.RegisterEvent(ActorEventType.OnActorBeginOverlap);
            leftActor.RegisterEvent(ActorEventType.OnActorEndOverlap);
            leftActor.RegisterEvent(ActorEventType.OnActorHit);

            leftStaticMeshComponent.RegisterEvent(ComponentEventType.OnComponentBeginOverlap);
            leftStaticMeshComponent.RegisterEvent(ComponentEventType.OnComponentEndOverlap);
            leftStaticMeshComponent.RegisterEvent(ComponentEventType.OnComponentHit);
            leftStaticMeshComponent.SetGenerateOverlapEvents(true);
            leftStaticMeshComponent.SetGenerateHitEvents(true);

            leftStaticMeshComponent.SetStaticMesh(StaticMesh.Cube);
            leftStaticMeshComponent.SetMaterial(0, material);
            leftStaticMeshComponent.CreateAndSetMaterialInstanceDynamic(0).SetVectorParameterValue("Color", LinearColor.Green);
            leftStaticMeshComponent.SetWorldLocation(new Vector3(0.0f, -startY, 0.0f));
            leftStaticMeshComponent.SetEnableGravity(false);
            leftStaticMeshComponent.SetSimulatePhysics(true);

            rightActor.RegisterEvent(ActorEventType.OnActorBeginOverlap);
            rightActor.RegisterEvent(ActorEventType.OnActorEndOverlap);
            rightActor.RegisterEvent(ActorEventType.OnActorHit);

            rightStaticMeshComponent.RegisterEvent(ComponentEventType.OnComponentBeginOverlap);
            rightStaticMeshComponent.RegisterEvent(ComponentEventType.OnComponentEndOverlap);
            rightStaticMeshComponent.RegisterEvent(ComponentEventType.OnComponentHit);
            rightStaticMeshComponent.SetGenerateOverlapEvents(true);
            rightStaticMeshComponent.SetGenerateHitEvents(true);

            rightStaticMeshComponent.SetStaticMesh(StaticMesh.Cube);
            rightStaticMeshComponent.SetMaterial(0, material);
            rightStaticMeshComponent.CreateAndSetMaterialInstanceDynamic(0).SetVectorParameterValue("Color", LinearColor.Yellow);
            rightStaticMeshComponent.SetWorldLocation(new Vector3(0.0f, startY, 0.0f));
            rightStaticMeshComponent.SetEnableGravity(false);
            rightStaticMeshComponent.SetSimulatePhysics(true);
        }
        private void ApplyDirection(TriggerBox obj)
        {
            var direction = obj.GetComponent <Directionable>();

            if (direction)
            {
                direction.Direction = m_direction;
            }
        }
Example #6
0
        private void ChildActorsTest()
        {
            Debug.Log(LogLevel.Display, "Starting " + MethodBase.GetCurrentMethod().Name + "...");

            Actor actor = new();
            ChildActorComponent childActorComponent = new(actor, setAsRoot : true);
            TriggerBox          childActor          = childActorComponent.SetChildActor <TriggerBox>();

            if (childActor == null)
            {
                Debug.Log(LogLevel.Error, "Child actor obtainment check failed!");

                return;
            }

            BoxComponent boxComponent  = childActor.GetComponent <BoxComponent>();
            Vector3      initialExtent = new(100.0f, 100.0f, 100.0f);

            boxComponent.InitBoxExtent(initialExtent);

            if (initialExtent != boxComponent.GetUnscaledBoxExtent())
            {
                Debug.Log(LogLevel.Error, "Child actor box extent check failed!");

                return;
            }

            int attachedActorCount = 0;

            Action <Actor> OnAttachedActor = (actor) => attachedActorCount++;

            actor.ForEachAttachedActor(OnAttachedActor);

            if (attachedActorCount != 1)
            {
                Debug.Log(LogLevel.Error, "Batched attached actor check failed!");

                return;
            }

            int childActorCount = 0;

            Action <Actor> OnChildActor = (actor) => childActorCount++;

            actor.ForEachChildActor(OnChildActor);

            if (childActorCount != 1)
            {
                Debug.Log(LogLevel.Error, "Batched child actor check failed!");

                return;
            }

            Debug.Log(LogLevel.Display, "Test passed successfully");
        }
Example #7
0
 public DynamicEvents()
 {
     playerController          = World.GetFirstPlayerController();
     triggerBox                = new();
     triggerCollisionComponent = triggerBox.GetComponent <BoxComponent>();
     leftActor  = new("LeftActor");
     rightActor = new("RightActor");
     leftStaticMeshComponent  = new(leftActor, "LeftActorComponent", true);
     rightStaticMeshComponent = new(rightActor, "RightActorComponent", true);
     material        = Material.Load("/Game/Tests/BasicMaterial");
     stopTranslation = false;
 }
Example #8
0
        private void SpwanRandomLoot()
        {
            var        randomDirection = UnityEngine.Random.insideUnitCircle.normalized * UnityEngine.Random.Range(1.5f, 8f);
            TriggerBox triggerBox      = Instantiate(_loots.PickRandom(), transform.position, Quaternion.identity);

            triggerBox.transform.parent = transform.parent;
            var rb = triggerBox.GetComponent <Rigidbody2D>();

            rb.AddForce(randomDirection * _forceRatio, ForceMode2D.Impulse);
//			StartCoroutine(MoveLoot(triggerBox, 0.5f, transform.position + new Vector3(randomDirection.x, randomDirection.y,0)));
            _currenthitLeft--;
        }
        /// <summary>
        /// 同步已选择的工作内容与要求到hiddenfield
        /// </summary>
        /// <returns></returns>
        private void syncSelectedWCR()
        {
            List <string> selectedWCR = new List <string>();

            foreach (ControlBase item in Panel3.Items)
            {
                SimpleForm sf = item as SimpleForm;
                TriggerBox tb = sf.Items[0] as TriggerBox;
                if (tb.Text == "")
                {
                    break;
                }
                FineUI.HiddenField hf    = sf.Items[2] as FineUI.HiddenField;
                string             title = hf.Text.Split('&')[0].Trim();
                selectedWCR.Add(title);
            }

            foreach (ControlBase item in Panel6.Items)
            {
                SimpleForm sf = item as SimpleForm;
                TriggerBox tb = sf.Items[0] as TriggerBox;
                if (tb.Text == "")
                {
                    break;
                }
                TextArea           ta    = sf.Items[1] as TextArea;
                FineUI.HiddenField hf    = sf.Items[2] as FineUI.HiddenField;
                string             title = hf.Text.Split('&')[0].Trim();
                selectedWCR.Add(title);
            }

            StringBuilder sb = new StringBuilder();

            foreach (string WCR in selectedWCR)
            {
                sb.Append(WCR + "$");
            }
            hfSelectedWCR.Text = sb.ToString();
        }
        protected override IEnumerator Spawn()
        {
            var obj = SpawnOne();

            m_direction         = directions.PickRandom();
            obj.OnTriggerEnter += ActivateKillingBox;
            ApplyDirection(obj);
            m_head = obj;
            m_lavaCellCount--;
            obj.transform.position = new Vector3(((int)obj.transform.position.x) + 0.5f, ((int)obj.transform.position.y) + 0.5f, 0);
            yield return(new WaitForSeconds(m_timeBetweenSpawn));

            while (m_lavaCellCount > 0)
            {
                var newObj = SpawnOne();
                m_direction = directions.PickRandom();
                newObj.transform.position = m_head.transform.position + m_direction.ToVector3();
                newObj.OnTriggerEnter    += ActivateKillingBox;
                ApplyDirection(newObj);
                m_head = newObj;
                m_lavaCellCount--;
                yield return(new WaitForSeconds(m_timeBetweenSpawn));
            }
        }
Example #11
0
        public void OnBeginPlay()
        {
            PlayerController playerController = World.GetFirstPlayerController();

            playerController.ShowMouseCursor       = true;
            playerController.EnableMouseOverEvents = true;
            playerController.SetViewTarget(World.GetActor <Camera>("MainCamera"));

            World.SetOnActorBeginOverlapCallback(OnActorBeginOverlap);
            World.SetOnActorEndOverlapCallback(OnActorEndOverlap);
            World.SetOnActorHitCallback(OnActorHit);
            World.SetOnActorBeginCursorOverCallback(OnActorBeginCursorOver);
            World.SetOnActorEndCursorOverCallback(OnActorEndCursorOver);
            World.SetOnComponentBeginOverlapCallback(OnComponentBeginOverlap);
            World.SetOnComponentEndOverlapCallback(OnComponentEndOverlap);
            World.SetOnComponentHitCallback(OnComponentHit);
            World.SetOnComponentBeginCursorOverCallback(OnComponentBeginCursorOver);
            World.SetOnComponentEndCursorOverCallback(OnComponentEndCursorOver);

            const float linesThickness = 3.0f;

            TriggerBox   triggerBox         = new TriggerBox();
            BoxComponent collisionComponent = triggerBox.GetComponent <BoxComponent>();
            Vector3      collisionShape     = new Vector3(200.0f, 200.0f, 200.0f);

            collisionComponent.SetBoxExtent(collisionShape);

            Debug.DrawBox(collisionComponent.GetLocation(), collisionShape, Quaternion.Identity, Color.Aqua, true, thickness: linesThickness);

            leftActor.RegisterEvent(ActorEventType.OnActorBeginOverlap);
            leftActor.RegisterEvent(ActorEventType.OnActorEndOverlap);
            leftActor.RegisterEvent(ActorEventType.OnActorHit);
            leftActor.RegisterEvent(ActorEventType.OnActorBeginCursorOver);
            leftActor.RegisterEvent(ActorEventType.OnActorEndCursorOver);

            leftStaticMeshComponent.RegisterEvent(ComponentEventType.OnComponentBeginOverlap);
            leftStaticMeshComponent.RegisterEvent(ComponentEventType.OnComponentEndOverlap);
            leftStaticMeshComponent.RegisterEvent(ComponentEventType.OnComponentHit);
            leftStaticMeshComponent.RegisterEvent(ComponentEventType.OnComponentBeginCursorOver);
            leftStaticMeshComponent.RegisterEvent(ComponentEventType.OnComponentEndCursorOver);
            leftStaticMeshComponent.SetGenerateOverlapEvents(true);
            leftStaticMeshComponent.SetGenerateHitEvents(true);

            leftStaticMeshComponent.SetStaticMesh(StaticMesh.Cube);
            leftStaticMeshComponent.SetMaterial(0, material);
            leftStaticMeshComponent.CreateAndSetMaterialInstanceDynamic(0).SetVectorParameterValue("Color", LinearColor.Green);
            leftStaticMeshComponent.SetWorldLocation(new Vector3(0.0f, -startY, 0.0f));
            leftStaticMeshComponent.UpdateToWorld(TeleportType.ResetPhysics);
            leftStaticMeshComponent.SetEnableGravity(false);
            leftStaticMeshComponent.SetSimulatePhysics(true);

            rightActor.RegisterEvent(ActorEventType.OnActorBeginOverlap);
            rightActor.RegisterEvent(ActorEventType.OnActorEndOverlap);
            rightActor.RegisterEvent(ActorEventType.OnActorHit);
            rightActor.RegisterEvent(ActorEventType.OnActorBeginCursorOver);
            rightActor.RegisterEvent(ActorEventType.OnActorEndCursorOver);

            rightStaticMeshComponent.RegisterEvent(ComponentEventType.OnComponentBeginOverlap);
            rightStaticMeshComponent.RegisterEvent(ComponentEventType.OnComponentEndOverlap);
            rightStaticMeshComponent.RegisterEvent(ComponentEventType.OnComponentHit);
            rightStaticMeshComponent.RegisterEvent(ComponentEventType.OnComponentBeginCursorOver);
            rightStaticMeshComponent.RegisterEvent(ComponentEventType.OnComponentEndCursorOver);
            rightStaticMeshComponent.SetGenerateOverlapEvents(true);
            rightStaticMeshComponent.SetGenerateHitEvents(true);

            rightStaticMeshComponent.SetStaticMesh(StaticMesh.Cube);
            rightStaticMeshComponent.SetMaterial(0, material);
            rightStaticMeshComponent.CreateAndSetMaterialInstanceDynamic(0).SetVectorParameterValue("Color", LinearColor.Yellow);
            rightStaticMeshComponent.SetWorldLocation(new Vector3(0.0f, startY, 0.0f));
            rightStaticMeshComponent.UpdateToWorld(TeleportType.ResetPhysics);
            rightStaticMeshComponent.SetEnableGravity(false);
            rightStaticMeshComponent.SetSimulatePhysics(true);
        }
        private void ReferencesEqualityTest()
        {
            Debug.Log(LogLevel.Display, "Starting " + MethodBase.GetCurrentMethod().Name + "...");

            TriggerBox     actorLeft           = new TriggerBox();
            TriggerSphere  actorRight          = new TriggerSphere();
            SceneComponent sceneComponentLeft  = new SceneComponent(actorLeft);
            SceneComponent sceneComponentRight = new SceneComponent(actorRight);

            if (sceneComponentLeft.Equals(sceneComponentRight) || !sceneComponentLeft.Equals(sceneComponentLeft))
            {
                Debug.Log(LogLevel.Error, "Scene components equality check failed!");

                return;
            }

            if (actorLeft.Equals(sceneComponentRight.GetActor <TriggerSphere>()) || !actorLeft.Equals(sceneComponentLeft.GetActor <TriggerBox>()))
            {
                Debug.Log(LogLevel.Error, "Scene components owners equality check failed!");

                return;
            }

            sceneComponentLeft.Destroy();

            if (sceneComponentRight.Equals(sceneComponentLeft))
            {
                Debug.Log(LogLevel.Error, "Scene components equality check after destruction failed!");

                return;
            }

            sceneComponentRight.Destroy();

            if (sceneComponentRight.Equals(sceneComponentRight))
            {
                Debug.Log(LogLevel.Error, "Scene components equality check with null failed!");

                return;
            }

            if (actorLeft.Equals(actorRight) || !actorLeft.Equals(actorLeft))
            {
                Debug.Log(LogLevel.Error, "Actors equality check failed!");

                return;
            }

            actorLeft.Destroy();

            if (actorRight.Equals(actorLeft))
            {
                Debug.Log(LogLevel.Error, "Actors equality check after destruction failed!");

                return;
            }

            actorRight.Destroy();

            if (actorRight.Equals(actorRight))
            {
                Debug.Log(LogLevel.Error, "Actors equality check with null failed!");

                return;
            }

            Debug.Log(LogLevel.Display, "Test passed successfully");
        }
        /// <summary>
        /// 同步已选择的指标到hiddenfield
        /// </summary>
        private void syncSelectedQuota()
        {
            List <string> selectedQuota = new List <string>();

            foreach (ControlBase item in Panel4.Items)
            {
                SimpleForm sf = item as SimpleForm;
                TriggerBox tb = sf.Items[0] as TriggerBox;
                if (tb.Text.Trim() == "")
                {
                    break;
                }
                FineUI.HiddenField hf    = sf.Items[2] as FineUI.HiddenField;
                string             title = hf.Text.Split('&')[0].Trim();
                selectedQuota.Add(title);
            }
            foreach (ControlBase item in Panel5.Items)
            {
                SimpleForm sf = item as SimpleForm;
                TriggerBox tb = sf.Items[0] as TriggerBox;
                if (tb.Text.Trim() == "")
                {
                    break;
                }
                FineUI.HiddenField hf    = sf.Items[2] as FineUI.HiddenField;
                string             title = hf.Text.Split('&')[0].Trim();
                selectedQuota.Add(title);
            }
            foreach (ControlBase item in Panel7.Items)
            {
                SimpleForm sf = item as SimpleForm;
                TriggerBox tb = sf.Items[0] as TriggerBox;
                if (tb.Text.Trim() == "")
                {
                    break;
                }
                FineUI.HiddenField hf    = sf.Items[2] as FineUI.HiddenField;
                string             title = hf.Text.Split('&')[0].Trim();
                selectedQuota.Add(title);
            }
            foreach (ControlBase item in Panel8.Items)
            {
                SimpleForm sf = item as SimpleForm;
                TriggerBox tb = sf.Items[0] as TriggerBox;
                if (tb.Text.Trim() == "")
                {
                    break;
                }
                FineUI.HiddenField hf    = sf.Items[2] as FineUI.HiddenField;
                string             title = hf.Text.Split('&')[0].Trim();
                selectedQuota.Add(title);
            }

            StringBuilder sb = new StringBuilder();

            foreach (string quota in selectedQuota)
            {
                sb.Append(quota + "$");
            }
            hfSelectedQuota.Text = sb.ToString();
        }
        /// <summary>
        /// 清空所有项目
        /// </summary>
        private void clearAll()
        {
            Label_Period.Text = "";

            foreach (ControlBase cb in Panel3.Items)
            {
                SimpleForm         sf = cb as SimpleForm;
                TriggerBox         tb = sf.Items[0] as TriggerBox;
                TextArea           ta = sf.Items[1] as TextArea;
                FineUI.HiddenField hf = sf.Items[2] as FineUI.HiddenField;
                tb.Text = "";
                ta.Text = "";
                hf.Text = "";
            }

            foreach (ControlBase cb in Panel4.Items)
            {
                SimpleForm         sf = cb as SimpleForm;
                TriggerBox         tb = sf.Items[0] as TriggerBox;
                TextArea           ta = sf.Items[1] as TextArea;
                FineUI.HiddenField hf = sf.Items[2] as FineUI.HiddenField;
                tb.Text = "";
                ta.Text = "";
                hf.Text = "";
            }

            foreach (ControlBase cb in Panel5.Items)
            {
                SimpleForm         sf = cb as SimpleForm;
                TriggerBox         tb = sf.Items[0] as TriggerBox;
                TextArea           ta = sf.Items[1] as TextArea;
                FineUI.HiddenField hf = sf.Items[2] as FineUI.HiddenField;
                tb.Text = "";
                ta.Text = "";
                hf.Text = "";
            }

            foreach (ControlBase cb in Panel6.Items)
            {
                SimpleForm         sf = cb as SimpleForm;
                TriggerBox         tb = sf.Items[0] as TriggerBox;
                TextArea           ta = sf.Items[1] as TextArea;
                FineUI.HiddenField hf = sf.Items[2] as FineUI.HiddenField;
                tb.Text = "";
                ta.Text = "";
                hf.Text = "";
            }

            foreach (ControlBase cb in Panel7.Items)
            {
                SimpleForm         sf = cb as SimpleForm;
                TriggerBox         tb = sf.Items[0] as TriggerBox;
                TextArea           ta = sf.Items[1] as TextArea;
                FineUI.HiddenField hf = sf.Items[2] as FineUI.HiddenField;
                tb.Text = "";
                ta.Text = "";
                hf.Text = "";
            }

            foreach (ControlBase cb in Panel8.Items)
            {
                SimpleForm         sf = cb as SimpleForm;
                TriggerBox         tb = sf.Items[0] as TriggerBox;
                TextArea           ta = sf.Items[1] as TextArea;
                FineUI.HiddenField hf = sf.Items[2] as FineUI.HiddenField;
                tb.Text = "";
                ta.Text = "";
                hf.Text = "";
            }

            TextArea_Reject1.Text = "累计旷工3天以上的;\n严重失职,营私舞弊,给本单位造成3000元以上经济损失或者其它严重后果的;\n同时与其他用人单位建立劳动关系,对完成本单位工作任务造成严重影响,或者经本单位提出,拒不改正的;\n违背职业道德,行贿、受贿价值超过3000元以上的;\n被依法追究刑事责任的;";
            TextArea_Reject2.Text = "";
        }
        /// <summary>
        /// 获取当前页面中的考核表
        /// </summary>
        /// <returns></returns>
        private EvaluateTable getNewEvaluateTable()
        {
            EvaluateTable evaluateTable = new EvaluateTable();

            evaluateTable.EvaluatedName = Label_EvaluatedName.Text.Trim();
            evaluateTable.PostName      = Label_PostName.Text.Trim();
            evaluateTable.LaborDep      = Label_LaborDep.Text.Trim();
            evaluateTable.LaborUnit     = Label_LaborUnit.Text.Trim();
            evaluateTable.StartTime     = Label_Period.Text.Split('~')[0].Trim();
            evaluateTable.StopTime      = Label_Period.Text.Split('~')[1].Trim();
            foreach (ControlBase item in Panel3.Items)
            {
                SimpleForm sf = item as SimpleForm;
                TriggerBox tb = sf.Items[0] as TriggerBox;
                if (tb.Text == "")
                {
                    break;
                }
                FineUI.HiddenField hf      = sf.Items[2] as FineUI.HiddenField;
                string             title   = hf.Text.Split('&')[0].Trim();
                string[]           content = new string[] { hf.Text.Split('&')[1] };
                evaluateTable.KeyResponse.Add(new Quota(title, content));
            }

            foreach (ControlBase item in Panel4.Items)
            {
                SimpleForm sf = item as SimpleForm;
                TriggerBox tb = sf.Items[0] as TriggerBox;
                if (tb.Text.Trim() == "")
                {
                    break;
                }
                FineUI.HiddenField hf      = sf.Items[2] as FineUI.HiddenField;
                string             title   = hf.Text.Split('&')[0].Trim();
                string[]           content = hf.Text.Split('&')[1].Split('^');
                evaluateTable.KeyQualify.Add(new Quota(title, content));
            }

            foreach (ControlBase item in Panel5.Items)
            {
                SimpleForm sf = item as SimpleForm;
                TriggerBox tb = sf.Items[0] as TriggerBox;
                if (tb.Text.Trim() == "")
                {
                    break;
                }
                FineUI.HiddenField hf      = sf.Items[2] as FineUI.HiddenField;
                string             title   = hf.Text.Split('&')[0].Trim();
                string[]           content = hf.Text.Split('&')[1].Split('^');
                evaluateTable.KeyAttitude.Add(new Quota(title, content));
            }

            foreach (ControlBase item in Panel6.Items)
            {
                SimpleForm sf = item as SimpleForm;
                TriggerBox tb = sf.Items[0] as TriggerBox;
                if (tb.Text == "")
                {
                    break;
                }
                TextArea           ta      = sf.Items[1] as TextArea;
                FineUI.HiddenField hf      = sf.Items[2] as FineUI.HiddenField;
                string             title   = hf.Text.Split('&')[0].Trim();
                string[]           content = new string[] { hf.Text.Split('&')[1] };
                evaluateTable.Response.Add(new Quota(title, content));
            }

            foreach (ControlBase item in Panel7.Items)
            {
                SimpleForm sf = item as SimpleForm;
                TriggerBox tb = sf.Items[0] as TriggerBox;
                if (tb.Text.Trim() == "")
                {
                    break;
                }
                FineUI.HiddenField hf      = sf.Items[2] as FineUI.HiddenField;
                string             title   = hf.Text.Split('&')[0].Trim();
                string[]           content = hf.Text.Split('&')[1].Split('^');
                evaluateTable.Qualify.Add(new Quota(title, content));
            }

            foreach (ControlBase item in Panel8.Items)
            {
                SimpleForm sf = item as SimpleForm;
                TriggerBox tb = sf.Items[0] as TriggerBox;
                if (tb.Text.Trim() == "")
                {
                    break;
                }
                FineUI.HiddenField hf      = sf.Items[2] as FineUI.HiddenField;
                string             title   = hf.Text.Split('&')[0].Trim();
                string[]           content = hf.Text.Split('&')[1].Split('^');
                evaluateTable.Attitude.Add(new Quota(title, content));
            }

            evaluateTable.Reject.Add(new Quota("其他", new string[] { TextArea_Reject2.Text.Trim() }));

            return(evaluateTable);
        }
        /// <summary>
        /// 载入考核表
        /// </summary>
        private void loadEvaluateTable(string id)
        {
            string evaluatedID = "";

            if (id == "" || id == "0")
            {
                evaluatedID = Request.QueryString["id"];
            }
            else
            {
                evaluatedID = id;
            }
            Panel1.Title = Request.QueryString["name"] + "的考核表";
            EvaluateTable evaluateTable = new EvaluateTable();
            string        exception     = "";

            if (EvaluateTableManagementCtrl.GetEvaluateTable(evaluatedID, ref evaluateTable, ref exception))
            {
                Label_Comment.Text = evaluateTable.Comment;

                Label_EvaluatedName.Text = evaluateTable.EvaluatedName;
                Label_PostName.Text      = evaluateTable.PostName;
                Label_LaborDep.Text      = evaluateTable.LaborDep;
                Label_LaborUnit.Text     = evaluateTable.LaborUnit;
                Label_Period.Text        = evaluateTable.StartTime + " ~ " + evaluateTable.StopTime;

                for (int i = 0; i < evaluateTable.KeyResponse.Count; i++)
                {
                    SimpleForm sf = Panel3.Items[i] as SimpleForm;
                    sf.Collapsed = false;
                    TriggerBox         tb = sf.Items[0] as TriggerBox;
                    TextArea           ta = sf.Items[1] as TextArea;
                    FineUI.HiddenField hf = sf.Items[2] as FineUI.HiddenField;
                    tb.Text = evaluateTable.KeyResponse[i].Title;
                    ta.Text = evaluateTable.KeyResponse[i].Content[0];
                    hf.Text = evaluateTable.KeyResponse[i].Title + "&" + evaluateTable.KeyResponse[i].Content[0];
                }

                for (int i = 0; i < evaluateTable.KeyQualify.Count; i++)
                {
                    SimpleForm sf = Panel4.Items[i] as SimpleForm;
                    sf.Collapsed = false;
                    TriggerBox tb = sf.Items[0] as TriggerBox;
                    TextArea   ta = sf.Items[1] as TextArea;
                    tb.Text = evaluateTable.KeyQualify[i].Title;
                    ta.Text = "优:" + evaluateTable.KeyQualify[i].Content[0]
                              + " 良:" + evaluateTable.KeyQualify[i].Content[1]
                              + " 中:" + evaluateTable.KeyQualify[i].Content[2]
                              + " 差:" + evaluateTable.KeyQualify[i].Content[3];

                    FineUI.HiddenField hf = sf.Items[2] as FineUI.HiddenField;
                    hf.Text = evaluateTable.KeyQualify[i].Title
                              + "&" + evaluateTable.KeyQualify[i].Content[0]
                              + "^" + evaluateTable.KeyQualify[i].Content[1]
                              + "^" + evaluateTable.KeyQualify[i].Content[2]
                              + "^" + evaluateTable.KeyQualify[i].Content[3];
                }

                for (int i = 0; i < evaluateTable.KeyAttitude.Count; i++)
                {
                    SimpleForm sf = Panel5.Items[i] as SimpleForm;
                    sf.Collapsed = false;
                    TriggerBox tb = sf.Items[0] as TriggerBox;
                    TextArea   ta = sf.Items[1] as TextArea;
                    tb.Text = evaluateTable.KeyAttitude[i].Title;
                    ta.Text = "优:" + evaluateTable.KeyAttitude[i].Content[0]
                              + " 良:" + evaluateTable.KeyAttitude[i].Content[1]
                              + " 中:" + evaluateTable.KeyAttitude[i].Content[2]
                              + " 差:" + evaluateTable.KeyAttitude[i].Content[3];

                    FineUI.HiddenField hf = sf.Items[2] as FineUI.HiddenField;
                    hf.Text = evaluateTable.KeyAttitude[i].Title
                              + "&" + evaluateTable.KeyAttitude[i].Content[0]
                              + "^" + evaluateTable.KeyAttitude[i].Content[1]
                              + "^" + evaluateTable.KeyAttitude[i].Content[2]
                              + "^" + evaluateTable.KeyAttitude[i].Content[3];
                }

                for (int i = 0; i < evaluateTable.Response.Count; i++)
                {
                    SimpleForm sf = Panel6.Items[i] as SimpleForm;
                    sf.Collapsed = false;
                    TriggerBox         tb = sf.Items[0] as TriggerBox;
                    TextArea           ta = sf.Items[1] as TextArea;
                    FineUI.HiddenField hf = sf.Items[2] as FineUI.HiddenField;
                    tb.Text = evaluateTable.Response[i].Title;
                    ta.Text = evaluateTable.Response[i].Content[0];
                    hf.Text = evaluateTable.Response[i].Title + "&" + evaluateTable.Response[i].Content[0];
                }

                for (int i = 0; i < evaluateTable.Qualify.Count; i++)
                {
                    SimpleForm sf = Panel7.Items[i] as SimpleForm;
                    sf.Collapsed = false;
                    TriggerBox tb = sf.Items[0] as TriggerBox;
                    TextArea   ta = sf.Items[1] as TextArea;
                    tb.Text = evaluateTable.Qualify[i].Title;
                    ta.Text = "优:" + evaluateTable.Qualify[i].Content[0]
                              + " 良:" + evaluateTable.Qualify[i].Content[1]
                              + " 中:" + evaluateTable.Qualify[i].Content[2]
                              + " 差:" + evaluateTable.Qualify[i].Content[3];

                    FineUI.HiddenField hf = sf.Items[2] as FineUI.HiddenField;
                    hf.Text = evaluateTable.Qualify[i].Title
                              + "&" + evaluateTable.Qualify[i].Content[0]
                              + "^" + evaluateTable.Qualify[i].Content[1]
                              + "^" + evaluateTable.Qualify[i].Content[2]
                              + "^" + evaluateTable.Qualify[i].Content[3];
                }

                for (int i = 0; i < evaluateTable.Attitude.Count; i++)
                {
                    SimpleForm sf = Panel8.Items[i] as SimpleForm;
                    sf.Collapsed = false;
                    TriggerBox tb = sf.Items[0] as TriggerBox;
                    TextArea   ta = sf.Items[1] as TextArea;
                    tb.Text = evaluateTable.Attitude[i].Title;
                    ta.Text = "优:" + evaluateTable.Attitude[i].Content[0]
                              + " 良:" + evaluateTable.Attitude[i].Content[1]
                              + " 中:" + evaluateTable.Attitude[i].Content[2]
                              + " 差:" + evaluateTable.Attitude[i].Content[3];

                    FineUI.HiddenField hf = sf.Items[2] as FineUI.HiddenField;
                    hf.Text = evaluateTable.Attitude[i].Title
                              + "&" + evaluateTable.Attitude[i].Content[0]
                              + "^" + evaluateTable.Attitude[i].Content[1]
                              + "^" + evaluateTable.Attitude[i].Content[2]
                              + "^" + evaluateTable.Attitude[i].Content[3];
                }

                TextArea_Reject1.Text = "累计旷工3天以上的;\n严重失职,营私舞弊,给本单位造成3000元以上经济损失或者其它严重后果的;\n同时与其他用人单位建立劳动关系,对完成本单位工作任务造成严重影响,或者经本单位提出,拒不改正的;\n违背职业道德,行贿、受贿价值超过3000元以上的;\n被依法追究刑事责任的;";
                TextArea_Reject2.Text = evaluateTable.Reject[0].Content[0];
            }
            else    //如果该被考评人的岗位责任书尚未制定,则被考评人姓名、岗位名称、用工部门、用工单位和考核时间段从父网页获取
            {
                Label_EvaluatedName.Text = Request.QueryString["name"];
                Label_PostName.Text      = Request.QueryString["postname"];
                Label_LaborDep.Text      = Request.QueryString["labordepart"];
                Label_LaborUnit.Text     = Request.QueryString["depart"];
                Label_Period.Text        = Request.QueryString["starttime"] + " ~ " + Request.QueryString["stoptime"];
                TextArea_Reject1.Text    = "累计旷工3天以上的;\n严重失职,营私舞弊,给本单位造成3000元以上经济损失或者其它严重后果的;\n同时与其他用人单位建立劳动关系,对完成本单位工作任务造成严重影响,或者经本单位提出,拒不改正的;\n违背职业道德,行贿、受贿价值超过3000元以上的;\n被依法追究刑事责任的;";
            }
        }