<template>
	<div>
		<el-dialog title="物资库存" :close-on-click-modal="false" draggable width="1100px" height="500px" @close="close"
			append-to-body v-model="visible">
			<div style="height: calc(100% - 80px);">
				<el-form :inline="true" class="query-form" ref="searchForm" :model="searchForm" @submit.native.prevent>
					<!-- 搜索框-->
					<el-form-item label="商品名称" prop="tradeName">
						<el-input v-model="searchForm.tradeName" placeholder="请输入商品名称" clearable></el-input>
					</el-form-item>

					<el-form-item>
						<el-button type="primary" @click="list()" icon="el-icon-search">查询</el-button>
						<el-button @click="resetSearch()" icon="el-icon-refresh-right">重置</el-button>
					</el-form-item>
				</el-form>

				<vxe-table border="inner" auto-resize resizable height="400px" :loading="loading" ref="projectTable"
					show-header-overflow show-overflow highlight-hover-row :menu-config="{}" :print-config="{}"
					:sort-config="sortConfig" :data="dataList" :row-config="{ isCurrent: true }"
					:radio-config="{ trigger: 'row' }">
					<vxe-column type="seq" width="60" title="序号"></vxe-column>
					<!-- <vxe-column type="radio" width="60px"></vxe-column> -->
					<vxe-column min-width="230" align="center" title="商品名称" field="tradeName"></vxe-column>
					<vxe-column min-width="230" align="center" title="库存量" field="tradeNumber" sort-type="number"
						sortable></vxe-column>

				</vxe-table>
				<vxe-pager background :current-page="tablePage.currentPage" :page-size="tablePage.pageSize"
					:total="tablePage.total" :page-sizes="[10, 20, 100, 1000, { label: '全量数据', value: 1000000 }]"
					:layouts="['PrevPage', 'JumpNumber', 'NextPage', 'FullJump', 'Sizes', 'Total']"
					@page-change="currentChangeHandle">
				</vxe-pager>
			</div>
			<template #footer>
				<span class="dialog-footer">
					<el-button @click="close()" icon="el-icon-circle-close">关闭</el-button>
					<el-button type="primary" v-if="method != 'view'" @click="getProject()" icon="el-icon-circle-check"
						v-noMoreClick>确定</el-button>
				</span>
			</template>
		</el-dialog>
	</div>
</template>

<script>
// import CollectService from '@/api/materialManagement/CollectService'
import WareHouseService from '@/api/psi/WareHouseService'
import Template from '../../../assets/icons/template.vue'
export default {
	data() {
		const sortConfig = {
			defaultSort: {
				field: 'tradeNumber',
				order: 'asc'
			}
		}
		return {
			sortConfig,
			title: '',
			method: '',
			visible: false,
			loading: false,
			tablePage: {
				total: 0,
				currentPage: 1,
				pageSize: 10,
				orders: []
			},
			dataList: [],
			searchForm: {
				wareHouseType: '',
				tradeName: ''
			},
			typeTest: ''
		}
	},
	// collectService: null,
	wareHouseService: null,
	created() {
		// this.collectService = new CollectService()
		this.wareHouseService = new WareHouseService()
	},
	components: {
		Template
	},
	methods: {
		init(collectType) {
			this.visible = true
			this.typeTest = collectType
			this.list()
		},
		// 表单提交
		getProject() {
			let row = this.$refs.projectTable.getRadioRecord()
			if (this.commonJS.isEmpty(row)) {
				this.$message.error('请选择一条数据')
				return
			}
			if (row.tradeNumber == "0") {
				this.$message.error('暂无库存，请选择其他商品')
				return
			}
			this.close()
			this.$emit('getProject', row)
		},
		list() {
			this.loading = true
			// this.searchForm.createId = this.$store.state.user.id
			// this.searchForm.status = '5'
			// this.searchForm.wareHouseType = this.typeTest
			// this.collectService.wareHouseList({
			//   'current': this.tablePage.currentPage,
			//   'size': this.tablePage.pageSize,
			//   'orders': this.tablePage.orders,
			//   ...this.searchForm
			// }).then((data) => {
			//   this.dataList = data.records
			//   this.tablePage.total = data.total
			//   this.loading = false
			// })
			this.wareHouseService.wareHouseSummaryList({
				'current': this.tablePage.currentPage,
				'size': this.tablePage.pageSize,
				'orders': this.tablePage.orders,
				...this.searchForm
			}).then((data) => {
				this.dataList = data.records
				this.tablePage.total = data.total
				this.tableKey = Math.random()
				this.loading = false
			})
		},
		// 当前页
		currentChangeHandle({ currentPage, pageSize }) {
			this.tablePage.currentPage = currentPage
			this.tablePage.pageSize = pageSize
			this.list()
		},
		resetSearch() {
			this.$refs.searchForm.resetFields()
			this.list()
		},
		close() {
			this.$refs.searchForm.resetFields()
			this.visible = false
			this.typeTest = ''
		}
	}
}
</script>
<style scoped>
/deep/ .el-dialog__body {
	padding-top: 0px;
	padding-bottom: 15px;
}
</style>
