/**
 * 描述：周期季度列表
 */
shr.defineClass("shr.custom.ExpandAssessEdit", shr.framework.Edit, {
	/**
	   * 描述:初始化操作
	   * 
	   * @action
	   */
	initalizeDOM: function () {
		var _self = this;
		shr.custom.ExpandAssessEdit.superClass.initalizeDOM.call(this);
		_self.periodTypeChange();
	},
	//周期类型事件触发
    periodTypeChange: function () {
        var _self = this;
        $("#periodType").change(function () {
            var periodType = $("#periodType").val();
            if (periodType == "年度") {
                $("#quarter").shrTextField('disable');//或者设为enable
            }else{
                $("#quarter").shrTextField('enable');//或者设为disable
            }
            console.log(periodType);
        })
    },
	backAction() {
		var billId = this.getSelectedIds();
		this.reloadPage({
			uipk: "com.kingdee.eas.custom.expandassess.app.ExpandAssessZY.list",
			billId: billId,
		});
	},
	/**
	 * 保存
	 */
	saveAction: function (event) {
		$("#entrys").jqGrid("editStop");
		var periodType = $("#periodType").val();
		var year = $("#year").val();
		if (periodType == "年度") {
			var validYear = this.validateYear(year);
			if (!validYear) {
				shr.showWarning({
					message: '请输入有效年',
					hideAfter: 3
				});
				return;
			}
		} else {
			var quarter = $("#quarter").val();
			var validYearMonth = this.validateYearMonth(year, quarter);
			if (!validYearMonth) {
				shr.showWarning({
					message: '请输入有效年或季度',
					hideAfter: 3
				});
				return;
			}
		}
		shr.custom.ExpandAssessEdit.superClass.saveAction.call(this);
	},

	/**
	 * 组装保存时传至服务端的数据
	 */
	assembleSaveData: function (action) {
		var _self = this;
		var data = _self.prepareParam(action + 'Action');
		data.method = action;
		data.operateState = _self.getOperateState();
		var model = _self.assembleModel();
		model.periodType = model.periodType * 1;
		model.periodStatus = model.periodStatus * 1;
		data.model = shr.toJSON(model);

		// relatedFieldId
		var relatedFieldId = this.getRelatedFieldId();
		if (relatedFieldId) {
			data.relatedFieldId = relatedFieldId;
		}

		return data;
	},



	/**
	 * 校验有效年
	 */
	validateYear: function (year) {
		// 验证年份和月份的格式
		var yearPattern = /^\d{4}$/;
		if (!yearPattern.test(year)) {
			return false; // 年份或者月份格式不正确
		}

		// 构建 Date 对象
		var date = new Date(year);

		// 校验日期的有效性
		if (date.getFullYear() !== parseInt(year)) {
			return false; // 日期不在该年月的有效范围内
		}

		return true; // 年有效
	},
	/**
		 * 校验是否有效年或季度
		 */
	validateYearMonth: function (year, month) {
		// 验证年份和月份的格式
		var yearPattern = /^\d{4}$/;
		var monthPattern = /^[1-4]$/;

		if (!yearPattern.test(year) || !monthPattern.test(month)) {
			return false; // 年份或者月份格式不正确
		}

		// 构建 Date 对象
		var date = new Date(year);

		// 校验日期的有效性
		if (date.getFullYear() !== parseInt(year)) {
			return false; // 日期不在该年月的有效范围内
		}

		return true; // 年月有效
	}

});