window.onload = function() {
	function countSelectedNo(result) {
		// 获取 checkList 中 selected 为 'no' 的对象个数
		return result.reduce((total, category) => {
			return total + category.gqCheckItemVoList.filter(item => item.itemAnswer === 2).length;
		}, 0);
	}

	function countSelectedNotNull(result) {
		// 获取 checkList 中 selected 不为 null 的个数
		return result.reduce((total, category) => {
			return total + category.gqCheckItemVoList.filter(item => item.itemAnswer !== 0).length;
		}, 0);
	}

	// 初始化检查项数据结构
	function createCheckItem(id) {
		return {
			id: id,
			title: `检查项目 ${id}`,
			selected: null,
			subChecks: Array.from({
				length: 10
			}, (_, i) => ({
				id: i + 1,
				checked: false
			})),
			description: '',
			photos: [],
			deadlineDays: '',
			deadlineDate: ''
		};
	}

	new Vue({
		el: '#app',
		data: {
			flag: 'ZG_XQ', // 值为ADD新增、JC_XQ检查详情、ZG_XQ整改详情、YH_XQ隐患详情
			flag: 'ADD', 
			// flag: 'JC_XQ', 
			// flag: 'YH_XQ', 
			showDeadlinePicker: false,
			deadlineOptions: ['1', '3', '5', '7'],
			checkData: [], // 提交给后端，图片使用vant结构，base64，后端处理，不走爱山东中台。（数据量大！）
			checkPageIndex: 0,
			currentItem: null,
			noCount:0,
			totalItems: 0,
			notNullCount: 0,
			// 外层表单信息
			checkDate: gemhoUtil.getTargetDateYMD(), // 检查日期
			checkPeopleName: '',// 检查人员
			rectificationDeadline: '', // 整改截止日期
			reviewDate: '', // 隐患审核日期
			reviewRecord: '',
			originCheckData: [],
		},
		mounted() {
			this.getDetail()
		},
		watch: {
			checkData: {
				handler(newVal) {
					const snapshot = JSON.parse(JSON.stringify(newVal));
					console.log('全量变化:', snapshot);
					this.noCount = countSelectedNo(newVal); // selected=no 的个数
					// this.totalItems = getTotalCheckListItems(newVal); // checkList 子元素总数
					this.notNullCount = countSelectedNotNull(newVal); // selected 不为 null 的个数
				},
				deep: true
			}
		},
		methods: {
			navTo1() {
				lightAppJssdk.navigation.show({
					url: '_shanghu_detail.html',
					title: '高区应急扫描',
					isgoback: '0',
					success: function(data) {
						// 成功回调
					},
					fail: function(data) {
						// 错误返回
					}
				});
			},
			getOriginMatchedItemById(id) {
				const result = this.originCheckData[this.checkPageIndex]['gqCheckItemVoList'].find(item => item.id === id) || []
				return JSON.parse(JSON.stringify(result))
			},
			// 处理单选变化
			handleSelectionChange(val, item, index) {
				console.log(val, item, '数据改变了前')
				const newItem = this.getOriginMatchedItemById(item.id)
				console.log(val, newItem, '数据改变了。。。。newItem')
				newItem.itemAnswer = val
				// console.log(this.checkData[this.checkPageIndex]['gqCheckItemVoList'])
				this.$set(this.checkData[this.checkPageIndex]['gqCheckItemVoList'], index, newItem);
				console.log(val, this.checkData[this.checkPageIndex]['gqCheckItemVoList'][index], '数据改变了后', index)
			},
			// 文件上传处理
			handleFileUpload(file) {
				console.log('上传文件:', file);
				// 此处可添加实际文件上传逻辑
			},
			// 整改天数确认
			handleDeadlineConfirm(event, item) {
				console.log('select选择', event.target.value)
				const value = event.target.value;
				if (value) {
					const days = parseInt(value);
					item.deadlineDays = days;
					const deadlineDate = new Date();
					deadlineDate.setDate(deadlineDate.getDate() + days);
					item.deadlineDate = this.formatDate(deadlineDate);
				}
				// this.showDeadlinePicker = false;
			},
			// 日期格式化
			formatDate(date) {
				return `${date.getFullYear()}-${(date.getMonth() + 1).toString().padStart(2, '0')}-${date.getDate().toString().padStart(2, '0')}`;
			},
			getDetail(){
				this.checkDate = res.checkDate // 检查日期
				this.checkPeopleName = res.checkPeopleName // 检查人员
				this.rectificationDeadline = res.rectificationDeadline // 整改截止日期
				this.reviewDate = res.reviewDate // 隐患审核日期
				this.reviewRecord = res.reviewRecord
				this.totalItems = res.itemAllCount,
				// 表单数据
				this.checkData = JSON.parse(JSON.stringify(res.data))
				this.originCheckData = JSON.parse(JSON.stringify(res.data))
			
			}
		}
	});
}