<template>
	<view class="dmodel-table">
		<u-button type="primary" size="mini" @click="commonClick('1')">上机</u-button>
		<u-button style="margin-left: 20rpx;" type="success" size="mini" @click="commonClick('2')">下机</u-button>
		<zb-table :columns="tableColumn" :data="tableData" :stripe="true" @toggleAllSelection="toggleAllSelection"
			@toggleRowSelection="toggleRowSelection">
		</zb-table>
	</view>
</template>

<script>
	export default {
		props: {
			data: {
				type: Array,
				default: () => []
			}
		},
		data() {
			return {
				tableSelectData: [],
				tableColumn: [{
						type: 'selection',
						width: 35
					},
					{
						name: 'typeName',
						label: '状态',
						width: 80,
					},
					{
						name: 'toolCode',
						label: '刀模版sn码',
						width: 140,
					},

					{
						name: 'toolName',
						label: '刀模版名称',
						width: 140,
					},
					{
						name: 'itemName',
						label: '物料名称',
						width: 140,
					},
					{
						name: 'upDate',
						label: '上机时间',
						width: 140,
					},
					{
						name: 'downDate',
						label: '下机时间',
						width: 140,
					},
				],
			}
		},
		computed: {
			tableData() {
				return this.data || []
			}
		},
		methods: {
			async commonClick(type) {
				if (this.tableSelectData.length == 0) {
					return this.$u.toast('请选择一条数据！')
				}
				// 判断选中的类型是否一致
				if (this.tableSelectData.length > 1) {
					let flag = false
					for (let i = 1; i < this.tableSelectData.length; i++) {
						const pre = this.tableSelectData[i - 1]
						const cur = this.tableSelectData[i]
						flag = cur.type == pre.type
						if (!flag) {
							break;
						}
					}
					if (!flag) {
						return this.$u.toast('请选择状态相同的数据')
					}
				}
				
				const params = {
					toolMachinesRecordIdList: this.tableSelectData.map(v => v.toolMachinesRecordId),
					type
				}
				const {code} = await this.$u.api.dModel.tmToolMachinesRecord(params)
				if (code == 200) {
					this.$emit('action')
				}
				
			},
			toggleAllSelection(checked, arr) {
				this.tableSelectData = arr
			},
			toggleRowSelection(checked, arr) {
				this.tableSelectData = arr
			},
		}
	}
</script>

<style scoped>
	.dmodel-table {
		height: 500rpx;
		margin-top: 20rpx;
		padding: 0 20rpx;
	}
</style>
