/* 控件接口说明：
 * 1. 读取控件: this.***,*号输入控件编码;
 * 2. 读取控件的值： this.***.GetValue();
 * 3. 设置控件的值： this.***.SetValue(???);
 * 4. 绑定控件值变化事件： this.***.BindChange(key,function(){})，key是定义唯一的方法名;
 * 5. 解除控件值变化事件： this.***.UnbindChange(key);
 * 6. CheckboxList、DropDownList、RadioButtonList: $.***.AddItem(value,text),$.***.ClearItems();
 */
/* 公共接口：
 * 1. ajax：$.SmartForm.PostForm(actionName,data,callBack,errorBack,async),
 *          actionName:提交的ActionName;data:提交后台的数据;callback:回调函数;errorBack:错误回调函数;async:是否异步;
 * 2. 打开表单：$.IShowForm(schemaCode, objectId, checkIsChange)，
 *          schemaCode:表单编码;objectId;表单数据Id;checkIsChange:关闭时，是否感知变化;
 * 3. 定位接口：$.ILocation();
 */

// 表单插件代码
$.extend($.JForm, {
    // 加载事件
    OnLoad: function () {

        //获取params{ SeasonObjectiveID: objId} 中的SeasonObjectiveID值
        var listData = $.IGetParams("SeasonObjectiveID")

        //判断加载时是否存在数据，如果不存在则不执行弹窗事件
        if (listData + "" != "") {
            //控件赋值
            this.F0000001.SetValue(listData);
            console.log(listData)
        }

    },

    // 按钮事件
    OnLoadActions: function (actions) {
    },

    // 提交校验
    OnValidate: function (actionControl) {
        return true;
    },

    // 提交前事件
    BeforeSubmit: function (action, postValue) {
        // 表单提交：由于附件控件新增的时候获取不了ID，因此通过前端传递传递。注意1：非Submit的情况下，不能通过 this.Request.BizObject["组件ID"] 取值。注意2：前端 AfterSubmit 提交后事件 调用服务不执行
        // const compIds = ["F0000001", "F0000003"] // 表单修改1：附件组件id
        // compIds.forEach(compId => {
        //     const attachmentIds = this.F0000001.GetValue().AttachmentIds.split(";").map(item => `'${item}'`);
        //     $.SmartForm.PostForm("sync", {
        //         "attachmentIds": attachmentIds.join(","),
        //         "projectName": this.F0000002.GetValue()  // 表单修改2：项目名称id
        //     })
        // })
    },

    // 提交后事件
    AfterSubmit: function (action, responseValue) {
    }
});