控制字段显示隐藏

发布时间 2024-01-02 13:35:28作者: brucejiao

控制字段显示隐藏

using System;
using System.ComponentModel;
using Kingdee.BOS.Core.Bill.PlugIn;
using Kingdee.BOS.Core.Bill.PlugIn.Args;
using Kingdee.BOS.Util;
using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;
using Kingdee.BOS.Core.Metadata;
using Kingdee.BOS.Orm.DataEntity;

namespace SS.K3.BC.BC.Business.PlugIn
{
    [Description("出库申请单编辑"),HotUpdate]
    public class OutStockApplyEdit : AbstractBillPlugIn
    {
        /***
         *初始化字段隐藏
         *jiaojianjun
         *2022-07-18
         */
        public override void AfterBindData(EventArgs e)
        {
            base.AfterBindData(e);
            if (this.View.OpenParameter.Status.Equals(OperationStatus.ADDNEW))
            {
                this.View.GetControl("FValinsPay").Visible = false;
                this.View.GetControl("F_Self_Take_Responsibility").Visible = false;
                this.View.GetControl("F_Sale_Name").Visible = false;
                this.View.GetControl("F_Third_Company").Visible = false;
                this.View.GetControl("F_Sbio_EnsureMoneyBackTime").Visible = false;
                this.View.GetControl("F_Sbio_ProtocolArchive").Visible = false;
            }
        }

        /***
        * 值更新控制字段显示/隐藏
        *jiaojianjun
         *2022-07-18
      */
        public override void DataChanged(DataChangedEventArgs e)
        {
            base.DataChanged(e);
            switch (e.Field.Key)
            {
                case "FApplyType":
                case "F_Self_Take_Responsibility":
                    try
                    {
                        string FApplyType = GetBaseDataByKey(this.View.Model, "FApplyType", "FDataValue", 0);//申请类型
                        string FPayment = this.View.Model.GetValue("FPayment").ToString();//付款方式

                        string F_Self_Take_Responsibility = this.View.Model.GetValue("F_Self_Take_Responsibility").ToString();//我司承担

                        if (FApplyType.Equals("用于仪器投放") || FApplyType.Equals("用于试用") || FApplyType.Equals("用于赠送") || FApplyType.Equals("装机试用") || FApplyType.Equals("配套仪器"))
                        {
                            this.View.GetControl("FValinsPay").Visible = true;
                            this.View.GetControl("F_Sbio_EnsureMoneyBackTime").Visible = true;
                            this.View.GetControl("F_Sbio_ProtocolArchive").Visible = true;
                        }
                        else {
                            this.View.GetControl("FValinsPay").Visible = false;
                            this.View.GetControl("F_Sale_Name").Visible = false;
                            this.View.GetControl("F_Third_Company").Visible = false;
                        }
                       
                        //2、【物流方式】选择《中集冷云》且【物流结算】等于《寄方付》之后跳出【我司承担】列表
                        if (FApplyType.Equals("用于仪器投放") || FApplyType.Equals("用于试用") || FApplyType.Equals("用于赠送") || FApplyType.Equals("装机试用") || FApplyType.Equals("配套仪器") && FPayment.Equals("寄方付"))
                        {
                            this.View.GetControl("F_Self_Take_Responsibility").Visible = true;
                        }
                        else
                        {
                            this.View.GetControl("F_Self_Take_Responsibility").Visible = false;
                        }
                        //3、【我司承担】等于【我司承担-销售费用】跳出【销售名称】文本框
                        if (F_Self_Take_Responsibility.Equals("sales_expense"))
                        {
                            this.View.GetControl("F_Sale_Name").Visible = true;
                        }
                        else
                        {
                            this.View.GetControl("F_Sale_Name").Visible = false;
                        }
                        //4、【我司承担】等于【第三方付款】跳出【第三方公司】
                        if (F_Self_Take_Responsibility.Equals("third_pay"))
                        {
                            this.View.GetControl("F_Third_Company").Visible = true;
                        }
                        else
                        {
                            this.View.GetControl("F_Third_Company").Visible = false;
                        }
                    }
                    catch (Exception e1)
                    {
                        this.View.ShowMessage(Convert.ToString(e1));
                    }
                    break;
                default:
                    break;
            }
        }

        public string GetBaseDataByKey(Kingdee.BOS.Core.DynamicForm.IDynamicFormModel model, string Filterkey, string sKey, int Row)
        {
            string sReturnValue = "";
            try
            {
                DynamicObject doFilter = model.GetValue(Filterkey, Row) as DynamicObject;
                if (doFilter != null)

                {
                    sReturnValue = Convert.ToString(doFilter[sKey]);
                }
                return sReturnValue;
            }
            catch (Exception ex)
            {
                return null;
            }
        }
    }
}

tag: 金蝶