<template>
	<dialog-base ref="baseDialog" title="结束报工">
		<view class="list-container">
			<view class="list-title uni-row">
				<text class="label">合格量</text>
				<input class="input" style="width: 70%;" v-model="workInfo.qualifiedNum" placeholder="请输入合格量" />
			</view>
			<view class="list-title uni-row">
				<text class="label">废品信息</text>
		        <view class="uni-row" style="justify-content: flex-end;"><text class="label" style="color: blue;" @click="handleAddWasteInfo">+添加</text></view>
			</view>
			<view class="list-title uni-row" v-for="(item, index) in wasteInfo">
				<input class="input" style="width: 20%;" v-model="item.rejectNum" placeholder="废品量" />
				<input class="input" style="margin-left: 24rpx;width: 70%;" v-model="item.reason" placeholder="请输入废品原因" />
				<uni-icons class="icon-gear" type="close" size="60" color="red"  @click="handleDeleteWasteInfo(index)"></uni-icons>
			</view>

			<view class="list-title uni-row" style="margin-top: 48rpx;">
				<text class="label">当前序是否完成</text><text>否</text>
				<switch class="switch" @change="switchChange" color="rgba(255,85,85,1)" />
				<text>是</text>
			</view>
			<!-- <view class="list-title"><text class="label">请选择设备：</text></view> -->
			<!-- <scroll-view class="scroll-container" scroll-y> -->
			<!-- 			<checkbox-group class="equipment-container uni-row" @change="checkboxChange">
				<checkbox v-for="(item,index) in equiments" class="checkbox" style="transform:scale(0.8)" :key="index"
					:value="item" :checked="item.checked">
					{{item}}
				</checkbox>
			</checkbox-group> -->

		</view>
		<view class="add-btn-container uni-row">
			<button type="default" class="btn" @click="handleFinishReporting">结束报工</button>
		</view>
	</dialog-base>
</template>


<script setup>
	import {
		ref,
		getCurrentInstance
	} from 'vue'
	import {
		updateDayWorkItem,
		saveDayWorkItem
	} from "@/api/business/dayWorkItem.js"
	import {
		timestampToTime
	} from '@/utils/common.js'
	const baseDialog = ref(null)
	const workInfo = ref({})
	const wasteInfo = ref([])
	const open = (data) => {
		workInfo.value = data;
		console.log(data)
		wasteInfo.value =[]
		baseDialog.value.open()
	}
	const emit = defineEmits(['reset'])

	function switchChange(event) {
		if (event.detail.value) {
			workInfo.value.status = "3"
		}
	}

	function handleInputQualifiedNum() {
		workInfo.value.qualifiedNum = workInfo.value.qualifiedNum.replace(/^0+|^-|[^\d]/g, '');
	}
	
	// function handleInputRejectNum() {
	// 	workInfo.value.rejectNum = workInfo.value.rejectNum.replace(/^0+|^-|[^\d]/g, '');
	// }

	function handleFinishReporting() {
		console.log(workInfo.value)
		if (workInfo.value.status != '3') {
			workInfo.value.status = '2';
		}
		workInfo.value.endTime = timestampToTime(new Date());
		console.log(workInfo.value)
		saveDayWorkItem(workInfo.value).then(res => {
			if (res.code === 200) {
				uni.showToast({
					icon: 'success',
					title: '操作成功',
					duration: 2000
				});
				emit('reset');
				uni.$emit('dayworkItemUpdate');
				baseDialog.value.close();
			} else {
				uni.showToast({
					icon: 'error',
					title: '操作失败',
					duration: 2000
				});
			}
		})
	}
	 function handleAddWasteInfo() {
		 wasteInfo.value.push({ rejectNum: '', reason: '' })
	 }

	 function handleDeleteWasteInfo(index) {
		 wasteInfo.value.splice(index,1)
	 }

	defineExpose({
		open
	})
</script>

<style lang="scss">
	.dialog-body {
		.list-container {
			width: 100%;
			display: flex;
			align-items: flex-start;
			padding: 0 4rpx;

			.list-title {
				width: 100%;
				margin-top: 16rpx;
				height: 64rpx;
				line-height: 64rpx;

				.label {
					flex: 1;
					font-size: 32rpx;
				}

				.input {
					width: 40%;

					height: 60rpx;
					padding-left: 10rpx;

					font-size: 22rpx;
					border: 1px solid #808080;
				}
				.icon-gear {

					font-size: 56rpx;

				}
			}

			.switch {
				margin-top: -8rpx;
				align-items: center;
				transform: scale(0.7);
			}

			.equipment-container {
				width: 100%;
				height: 120rpx;
				flex-wrap: wrap;
				justify-content: flex-start;
				overflow: auto;

				.checkbox {
					padding: 12rpx 0;
					justify-content: center;
					align-items: center;
				}
			}

			.table-item {
				margin-top: 24rpx;


			}

		}

		.add-btn-container {
			margin-top: 32rpx;

			.btn {
				flex: 1;
				background-color: rgba(255, 85, 85, 1);
				color: #FFFFFF;

			}
		}
	}
</style>