<template>
	<div class="form-submit">
		<div class="i-layout-page-header">
			<PageHeader class="product_tabs" hidden-breadcrumb>
				<div slot="title">
					<router-link :to="{ path: `${roterPre}/erp/purchase_list` }">
						<!-- <Button icon="ios-arrow-back" size="small" class="mr20"
              >返回</Button
            > -->
						<div class="font-sm after-line">
							<span class="iconfont iconfanhui"></span>
							<span class="pl10">返回</span>
						</div>
					</router-link>
					<span v-text="
              $route.params.id !== '0' ? '编辑采购单' : '添加采购单'
            " class="mr20 ml16"></span>
				</div>
			</PageHeader>
		</div>

		<Card :bordered="false" dis-hover class="ivu-mt">
			<div class="new_tab" v-if="formValidate_0.id == 0">
				<Tabs v-model="currentTab" @on-click="onClickTab">
					<TabPane label="自建采购单" name="0" />
					<TabPane label="汇总采购" name="1" />
					<TabPane label="要货采购" name="2" />
				</Tabs>
			</div>
			<Form v-if="currentTab == 0" class="formValidate mt20" ref="formValidate_0" :rules="ruleValidate"
				:model="formValidate_0" :label-width="labelWidth" :label-position="labelPosition"
				@submit.native.prevent>
				<Row :gutter="24" type="flex">
					<Col span="24">
					<FormItem label="采购对象：" prop="control">
						<RadioGroup v-model="formValidate_0.who" @on-change="changeWho">
							<Radio :label="0" :disabled="formValidate_0.id != 0">
								<Icon type="social-apple"></Icon>
								<span>仓库采购</span>
							</Radio>
							<Radio :label="1" :disabled="formValidate_0.id != 0">
								<Icon type="social-android"></Icon>
								<span>门店采购</span>
							</Radio>
						</RadioGroup>
					</FormItem>
					</Col>
					<Col span="24">
					<FormItem label="仓库：" prop="wid" v-if="formValidate_0.who == 0">
						<el-cascader placeholder="请选择仓库" class="input-add" size="mini" v-model="formValidate_0.wid"
							:options="data1" :props="props" @change="userSearchss" filterable clearable v-width="'400'">
						</el-cascader>
					</FormItem>
					</Col>
					<Col span="24">
					<FormItem label="门店：" prop="store_id" v-if="formValidate_0.who== 1">
						<el-cascader placeholder="请选择门店" class="input-add" size="mini" v-model="formValidate_0.store_id"
							:options="staffData" :props="propss" @change="userSearchs" filterable clearable
							v-width="'400'">
						</el-cascader>
					</FormItem>
					</Col>
					<Col span="24">
					<FormItem label="供应商：" prop="supplier_id" label-for="supplier_id">
						<Select v-model="formValidate_0.supplier_id" @on-change="userSearchsss" clearable
							class="input-add">
							<Option v-for="item in supplierList" :value="item.id" :key="item.id">
								{{ item.supplier_name }}
							</Option>
						</Select>
					</FormItem>
					</Col>
					<Col span="24">
					<FormItem label="创建人：" prop="create_uid"
						v-if="formValidate_0.wid != 0 || formValidate_0.store_id != 0">
						<el-cascader placeholder="请选择创建人" class="input-add" size="mini"
							v-model="formValidate_0.create_uid" :options="authList" :props="propsss" @change="checkAuth"
							filterable clearable v-width="'400'">
						</el-cascader>
					</FormItem>
					</Col>
					<Col span="24">
					<FormItem label="商品：" prop="goods">
						<Table :columns="formValidate_0.id == 0 ?columns:columnss" :data="chooseGoods" ref="table"
							:loading="loading" no-userFrom-text="暂无数据" no-filtered-userFrom-text="暂无筛选结果">
							<template slot-scope="{ row,index }" slot="product_num">
								<Input v-model="chooseGoods[index].product_num" placeholder="请输入要货数量" v-width="'150'"
									type="number" />
							</template>
							<template slot-scope="{ row,index }" slot="unit_type">
								<Select v-model="chooseGoods[index].unit_type" style="width:200px">
									<Option v-for="item in row.unitList" :value="item.value" :key="item.value">
										{{ item.label }}
									</Option>
								</Select>
							</template>
							<template slot-scope="{ row,index }" slot="unit_types">
								{{row.unit_name}}
							</template>
							<template slot-scope="{ row,index }" slot="store_num">
								<span> {{ row.my.stock }}{{row.my.unit_name}}</span>
							</template>
							<template slot-scope="{ row, index }" slot="action">
								<a @click="del(index)">删除</a>
							</template>
							<!-- <template slot-scope="{ row }" slot="product">
								<div class="product">
									<div class="image" v-viewer>
										<img v-lazy="row.image">
									</div>
									<div class="title">{{ row.store_name }}</div>
								</div>
							</template> -->
						</Table>
						<Button type="primary" class="submission" style="margin-top:20px;" @click="getGoods()"
							v-if="formValidate_0.id == 0">选择商品</Button>
					</FormItem>
					</Col>
				</Row>
			</Form>
			<Form v-if="currentTab == 1" class="formValidate mt20" ref="formValidate_1" :rules="ruleValidate"
				:model="formValidate_1" :label-width="labelWidth" :label-position="labelPosition"
				@submit.native.prevent>
				<Row :gutter="24" type="flex">
					<Col span="24">
					<FormItem label="仓库：" prop="wid">
						<el-cascader placeholder="请选择仓库" class="input-add" size="mini" v-model="formValidate_1.wid"
							:options="data1" :props="props" @change="chooseWid" filterable clearable v-width="'400'">
						</el-cascader>
					</FormItem>
					</Col>
					<Col span="24">
					<FormItem label="供应商：" prop="supplier_id" label-for="supplier_id">
						<Select v-model="formValidate_1.supplier_id" @on-change="userSearchsss" clearable
							class="input-add">
							<Option v-for="item in supplierList" :value="item.id" :key="item.id">
								{{ item.supplier_name }}
							</Option>
						</Select>
					</FormItem>
					</Col>
					<Col span="24">
					<FormItem label="创建人：" prop="create_uid" v-if="formValidate_1.wid != 0 ">
						<el-cascader placeholder="请选择创建人" class="input-add" size="mini"
							v-model="formValidate_1.create_uid" :options="authList" :props="propsss" @change="checkAuth"
							filterable clearable v-width="'400'">
						</el-cascader>
					</FormItem>
					</Col>
					<Col span="24">
					<FormItem label="审核人：" prop="purchasing_person_uid" v-if="formValidate_1.wid != 0 ">
						<el-cascader placeholder="请选择审核人" class="input-add" size="mini"
							v-model="formValidate_1.purchasing_person_uid" :options="authList" :props="propsss"
							filterable clearable v-width="'400'">
						</el-cascader>
					</FormItem>
					</Col>
					<Col span="24">
					<FormItem label="商品：" prop="goods">
						<Table :columns="formValidate_1.id == 0 ?columns_1_1:columnss" :data="goods" ref="table"
							:loading="loading" no-userFrom-text="暂无数据" no-filtered-userFrom-text="暂无筛选结果"
							@on-selection-change="change">
							<template slot-scope="{ row,index }" slot="product_num">
								<!-- <Input v-model="goods[index].want_product_num" placeholder="请输入要货数量" v-width="'150'"
									type="number" /> -->
								{{row.want_product_num}}
							</template>
							<template slot-scope="{ row,index }" slot="unit_type">
								<Select v-model="goods[index].unit_type" style="width:200px">
									<Option v-for="item in row.unitList" :value="item.value" :key="item.value">
										{{ item.label }}
									</Option>
								</Select>
							</template>
							<template slot-scope="{ row,index }" slot="unit_types">
								{{row.unit_name}}
							</template>
							<template slot-scope="{ row,index }" slot="unit">
								{{row.stock['unit_' +  row.unit_type + '_num']}} {{row.unit_name}}
							</template>
							<template slot-scope="{ row,index }" slot="want_unit">
								{{row.want_product_num -row.stock['unit_' +  row.unit_type + '_num'] > 0?row.want_product_num -row.stock['unit_' +  row.unit_type + '_num']:'库存充足，无需采购'}}
							</template>
							<template slot-scope="{ row,index }" slot="store_num">
								<span> {{ row.my.stock }}{{row.my.unit_name}}</span>
							</template>
							<template slot-scope="{ row, index }" slot="action">
								<a @click="del(index)">删除</a>
							</template>
							<!-- <template slot-scope="{ row }" slot="product">
								<div class="product">
									<div class="image" v-viewer>
										<img v-lazy="row.image">
									</div>
									<div class="title">{{ row.store_name }}</div>
								</div>
							</template> -->
						</Table>
					</FormItem>
					</Col>
				</Row>
			</Form>
			<Form v-if="currentTab == 2" class="formValidate mt20" ref="formValidate_2" :rules="ruleValidate"
				:model="formValidate_2" :label-width="labelWidth" :label-position="labelPosition"
				@submit.native.prevent>
				<Row :gutter="24" type="flex">
					<Col span="24">
					<FormItem label="要货单号：" prop="want_order_id" label-for="want_order_id">
						<Input v-model="formValidate_2.want_order_id" placeholder="请输入要货单号" v-width="'250'" />
						<span class="addClass" @click="addClass">确认</span>
					</FormItem>
					</Col>
					<Col span="24">
					<FormItem label="供应商：" prop="supplier_id" label-for="supplier_id">
						<Select v-model="formValidate_2.supplier_id" @on-change="userSearchsss" clearable
							class="input-add">
							<Option v-for="item in supplierList" :value="item.id" :key="item.id">
								{{ item.supplier_name }}
							</Option>
						</Select>
					</FormItem>
					</Col>
					<Col span="24">
					<FormItem label="创建人：" prop="create_uid" v-if="formValidate_2.wid != 0 ">
						<el-cascader placeholder="请选择创建人" class="input-add" size="mini"
							v-model="formValidate_2.create_uid" :options="authList" :props="propsss" @change="checkAuth"
							filterable clearable v-width="'400'">
						</el-cascader>
					</FormItem>
					</Col>
					<Col span="24">
					<FormItem label="审核人：" prop="purchasing_person_uid" v-if="formValidate_2.wid != 0 ">
						<el-cascader placeholder="请选择审核人" class="input-add" size="mini"
							v-model="formValidate_2.purchasing_person_uid" :options="authList" :props="propsss"
							filterable clearable v-width="'400'">
						</el-cascader>
					</FormItem>
					</Col>
					<Col span="24">
					<FormItem label="商品：" prop="goods">
						<Table :columns="formValidate_2.id == 0 ?columns_2:columnss" :data="goodss" ref="table"
							:loading="loading" no-userFrom-text="暂无数据" no-filtered-userFrom-text="暂无筛选结果"
							@on-selection-change="change">
							<template slot-scope="{ row,index }" slot="product_num">
								<!-- <Input v-model="goods[index].want_product_num" placeholder="请输入要货数量" v-width="'150'"
									type="number" /> -->
								{{row.want_product_num}}
							</template>
							<template slot-scope="{ row,index }" slot="unit_type">
								<Select v-model="goods[index].unit_type" style="width:200px">
									<Option v-for="item in row.unitList" :value="item.value" :key="item.value">
										{{ item.label }}
									</Option>
								</Select>
							</template>
							<template slot-scope="{ row,index }" slot="unit_types">
								{{row.unit_name}}
							</template>
							<template slot-scope="{ row,index }" slot="store_num">
								<span> {{ row.my.stock }}{{row.my.unit_name}}</span>
							</template>
							<template slot-scope="{ row, index }" slot="action">
								<a @click="del(index)">删除</a>
							</template>
							<!-- <template slot-scope="{ row }" slot="product">
								<div class="product">
									<div class="image" v-viewer>
										<img v-lazy="row.image">
									</div>
									<div class="title">{{ row.store_name }}</div>
								</div>
							</template> -->
						</Table>
					</FormItem>
					</Col>
				</Row>
			</Form>
		</Card>

		<Card :bordered="false" dis-hover class="fixed-card"
			:style="{ left: `${!menuCollapse ? '200px' : isMobile ? '0' : '80px'}` }">
			<Form>
				<FormItem>
					<Button type="primary" class="submission"
						@click="handleSubmit('formValidate_' + currentTab)">保存</Button>
				</FormItem>
			</Form>
		</Card>
		<good-detail ref="goodDetail" @setGoods="setGoods"></good-detail>
	</div>
</template>

<script>
	import {
		mapState,
		mapMutations
	} from "vuex";
	import {
		staffListInfo
	} from "@/api/store";
	import {
		getGodownList,
		createGodown,
		getGodownInfo,
		getUserList,
		getOutGoods,
		createPurchase,
		getWantInfo,
		getPurchaseGoods,
		getWantList,
		getGoods
	} from "@/api/erp";
	import {
		keyApi,
		storeGetInfoApi,
		cityApi,
		storeUpdateApi,
		cascaderList
	} from '@/api/store';
	import {
		productSpecs,
		productSpecsInfo
	} from "@/api/product";

	import {
		getSupplierList
	} from '@/api/supplier'
	import Setting from "@/setting";

	import goodDetail from './goodDetail.vue'
	export default {
		name: "specsAdd",
		components: {
			goodDetail
		},
		data() {
			return {
				goodss: [],
				chooseGoods_1: [], //汇总采购选中商品
				goods: [], //汇总采购的商品列表
				currentTab: 0,
				supplierList: [],
				loading: false,
				authList: [],
				columnss: [{
						title: '商品名称',
						key: 'product_name',
						minWidth: 160
					},
					{
						title: '要货数量',
						slot: 'product_num',
						minWidth: 90
					},
					{
						title: '要货单位',
						slot: 'unit_types',
						minWidth: 150
					},
					{
						title: '操作',
						slot: 'action',
						minWidth: 120
					},
				],
				columns: [{
						title: '商品名称',
						key: 'store_name',
						minWidth: 160
					},
					{
						title: '数量',
						slot: 'product_num',
						minWidth: 90
					},
					{
						title: '单位',
						slot: 'unit_type',
						minWidth: 150
					},
					{
						title: '操作',
						slot: 'action',
						minWidth: 120
					},

				],
				columns_1: [{
						type: 'selection',
						width: 60,
						align: 'center'
					}, {
						title: '商品名称',
						key: 'product_name',
						minWidth: 160
					},
					{
						title: '数量',
						slot: 'product_num',
						minWidth: 90
					},
					{
						title: '采购单位',
						slot: 'unit_types',
						minWidth: 150
					},
				],
				columns_1_1: [{
						type: 'selection',
						width: 60,
						align: 'center'
					}, {
						title: '商品名称',
						key: 'product_name',
						minWidth: 160
					},
					{
						title: '数量',
						slot: 'product_num',
						minWidth: 90
					},
					{
						title: '采购单位',
						slot: 'unit_types',
						minWidth: 150
					},
					{
						title: '仓库库存',
						slot: 'unit',
						minWidth: 150
					},
					{
						title: '需采购数量',
						slot: 'want_unit',
						minWidth: 150
					},
				],
				columns_2: [{
						title: "ID",
						key: "product_id",
						minWidth: 90
					}, {
						title: '商品名称',
						key: 'product_name',
						minWidth: 160
					},
					{
						title: '数量',
						slot: 'product_num',
						minWidth: 90
					},
					{
						title: '单位',
						slot: 'unit_types',
						minWidth: 150
					},

				],
				chooseGoods: [],
				staffData: [],
				addresData: [],
				props: {
					emitPath: false,
					multiple: false,
					checkStrictly: true,
					value: "id",
					label: "title"
				},
				propss: {
					emitPath: false,
					multiple: false,
					checkStrictly: true,
					value: "id",
					label: "name"
				},
				propsss: {
					emitPath: false,
					multiple: false,
					checkStrictly: true,
					value: "id",
					label: "staff_name"
				},
				roterPre: Setting.roterPre,
				data1: [],
				grid: {
					xl: 7,
					lg: 7,
					md: 12,
					sm: 24,
					xs: 24,
				},
				formValidate_0: {
					store_id: 0,
					who: 0, //0-仓库采购、1-门店采购
					id: 0,
					wid: 0,
					goods: [],
					supplier_id: 0,
					create_admin_id: 0,
					create_uid: 0
				},
				formValidate_1: {
					id: 0,
					wid: 0,
					goods: [],
					supplier_id: 0,
					create_admin_id: 0,
					create_uid: 0,
					purchasing_person_uid: 0
				},
				formValidate_2: {
					id: 0,
					wid: 0,
					supplier_id: 0,
					create_admin_id: 0,
					create_uid: 0,
					purchasing_person_uid: 0,
					want_order_id: '',
				},
				ruleValidate: {
					supplier_id: [{
						type: "number",
						required: true,
						message: "请选择供应商",
						trigger: "blur"
					}, ],
					store_id: [{
						type: "number",
						required: true,
						message: "请选择门店",
						trigger: "blur"
					}],
					wid: [{
						type: "number",
						required: true,
						message: "请选择仓库",
						trigger: "blur"
					}, ],
					create_uid: [{
						type: "number",
						required: true,
						message: "请选择创建人",
						trigger: "blur"
					}, ],
					want_order_id: [{
						required: true,
						message: "请选择要货单号",
						trigger: "blur"
					}, ],
					// goods: [{
					// 	type: "array",
					// 	required: true,
					// 	message: "请选择商品",
					// 	trigger: "change"
					// }, ],
				},
			};
		},
		computed: {
			...mapState("admin/layout", ["isMobile", "menuCollapse"]),
			labelWidth() {
				return this.isMobile ? undefined : 120;
			},
			labelPosition() {
				return this.isMobile ? "top" : "right";
			},
		},
		created() {},
		mounted() {
			this.getGodownList()
			this.getSupplierList()
			this.staffList()
		},
		destroyed() {
			// this.setCopyrightShow({
			// 	value: true
			// });
		},
		methods: {
			...mapMutations("admin/layout", ["setCopyrightShow"]),
			addClass() {
				if (this.formValidate_2.want_order_id) {
					getWantInfo(this.formValidate_2.want_order_id).then(res => {
						if (res.data && res.data.id) {
							if (res.data.status == 0) {
								return this.$Message.error('当前要货单审核中，请审核后再试');
							} else if (res.data.status == 3) {
								return this.$Message.error('当前要货单已完成');
							}
							let data = res.data
							this.formValidate_2.wid = data.wid
							this.goodss = data.info
							this.getUserList(data.wid)
						} else {
							return this.$Message.error(res.msg);
						}
						// console.log(res);
						// if(res.data.data.length > 0) {
						// 	this.goodss = res.data.data[0].info
						// }else {
						// 	 return this.$Message.error('请输入正确的要货单号');
						// }
					})
				} else {
					return this.$Message.error('请输入要货单号');
				}

			},
			change(e) {
				console.log(e);
				this.chooseGoods_1 = e
			},
			checkAuth(e) {
				if (e) {
					let obj = this.authList.find(item => item.id == e)
					console.log(e, 'check', obj);
					this['formValidate_' + this.currentTab].create_admin_id = obj.admin_id
				}

			},
			chooseWid(e) {
				this.goods = []
				this.chooseGoods_1 = []
				if (e) {
					getPurchaseGoods({
						wid: e
					}).then(res => {
						this.goods = res.data[0].data
						console.log(this.goods, 'params');
					})
					this.getUserList(this.formValidate_1.wid)
				}

			},
			onClickTab(e) {
				console.log(e);
				this.currentTab = e
			},
			//获取供应商列表；
			getSupplierList() {
				getSupplierList()
					.then(async (res) => {
						this.supplierList = res.data;
					})
					.catch((res) => {
						this.$Message.error(res.msg);
					});
			},
			getWantInfo(id) {
				getWantInfo(id).then(res => {
					let data = res.data
					this.formValidate_0.id = data.id
					this.formValidate_0.create_uid = data.create_uid
					this.chooseGoods = data.info
					this.formValidate_0.store_id = data.store_id
					if (data.wid) {
						this.formValidate_0.type = 0
						this.formValidate_0.wid = data.wid
						this.getUserList(this.formValidate_0.wid)
					}
				})
			},
			resetGoods(e, type) {
				let arr = e.map(item => {
					item.unitList = [{
						value: 0,
						label: item.unit_name
					}]
					if (item.unit_name_1) {
						item.unitList.push({
							value: 1,
							label: item.unit_name_1
						})
					}
					if (item.unit_name_2) {
						item.unitList.push({
							value: 2,
							label: item.unit_name_2
						})
					}
					if (type == 're') {
						item.product_num = 0
					}
					return item
				})
				return arr
			},
			setGoods(e) {
				console.log(e, '选择商品');
				this.chooseGoods = this.chooseGoods.concat(this.resetGoods(e, 're'))
			},
			getGoods() {
				if (this.formValidate_0.wid == 0 && this.formValidate_0.who == 0) {
					return this.$Message.error('请选择仓库');
				}
				if (this.formValidate_0.store_id == 0 && this.formValidate_0.who == 1) {
					return this.$Message.error('请选择门店');
				}
				this.$refs.goodDetail.clearChoose()
				this.$refs.goodDetail.modals = true;
				this.$refs.goodDetail.formValidate.who = 0
				this.$refs.goodDetail.formValidate.wid = this.formValidate.wid
				this.$refs.goodDetail.formValidate.store_id = this.formValidate.store_id
				// this.$refs.goodDetail.getList()
			},
			getUserList(id) {
				if (this.currentTab == 0) {
					let qdata = {}
					if (this.formValidate_0.who == 0) {
						qdata.wid = this.formValidate_0.wid
					} else {
						qdata.store_id = this.formValidate_0.store_id
					}
					getUserList(qdata).then(res => {
						// console.log(res);
						this.authList = res.data.data
						// .map(item => {
						// 		item.id += ''
						// 		return item
						// 	});
					})

				} else {
					getUserList({
						wid: id
					}).then(res => {
						// console.log(res);
						this.authList = res.data.data
						// .map(item => {
						// 		item.id += ''
						// 		return item
						// 	});
					})
				}

			},
			staffList() {
				staffListInfo()
					.then((res) => {
						this.staffData = res.data
						// .map(item => {
						// 	item.id += ''
						// 	return item
						// });
					})
					.catch((err) => {
						this.$Message.error(err.msg);
					});
			},
			getGodownInfo(id) {
				getGodownInfo(id).then(res => {
					this.formValidate_0 = res.data
					this.formValidate_0.addressSelect = this.formValidate_0.addressSelect.map(item => item * 1)
					console.log(this.formValidate_0.addressSelect);
				})
			},
			cityInfo(data) {
				cityApi(data).then(res => {
					this.addresData = res.data
				})
			},
			loadData(item, callback) {
				item.loading = true;
				cityApi({
					pid: item.value
				}).then(res => {
					item.children = res.data;
					item.loading = false;
					callback();
				});


			},
			getGodownList() {
				getGodownList().then(res => {
					console.log(res);
					this.data1 = res.data.data
					// .map(item => {
					// 		item.id += ''
					// 		return item
					// 	});
				})
			},
			del(index) {
				this.chooseGoods.splice(index, 1);
			},
			userSearchs(e) {
				this.formValidate_0.create_uid = "";
				this.authList = []
				this.goods = []
				this.getUserList(this.formValidate_0.store_id)
			},
			userSearchsss(e) {

			},
			changeWho() {
				this.formValidate_0.wid = 0
				this.formValidate_0.store_id = 0
				this.chooseGoods = []
			},
			userSearchss(e) {
				this.formValidate_0.create_uid = "";
				this.authList = []
				this.goods = []
				this.getUserList(this.formValidate_0.wid)
			},
			// 处理goods数据
			handleGoods(list) {
				let arr = []
				let arr1 = JSON.parse(JSON.stringify(list))
				let uniqueArray = arr1.filter(function(item, index, self) {
					return !self.slice(index + 1).some(function(otherItem) {
						return item.product_id === otherItem.product_id && item.unit_type === otherItem
							.unit_type;
					});
				});
				arr = uniqueArray.map(item => {
					let want = 0;
					for (let i = 0; i < arr1.length; i++) {
						if (item.product_id === arr1[i].product_id && item.unit_type === arr1[i].unit_type) {
							console.log(arr1[i].product_num * 1, i, 'i');
							want += arr1[i].product_num * 1
						}
					}
					item.product_num = want
					return item
				})
				try {
					console.log(arr, 'arr');
					return arr.map(item => {
						let obj = {
							bar_code: item.bar_code,
							product_name: item.store_name,
							product_code: item.product_code,
							product_id: item.id,
							product_num: item.product_num,
							unit_name: item.unitList[item.unit_type].label,
							unit_type: item.unit_type
						}
						// item.unit_name = item.unitList[item.unit_type].label
						// item.product_name = item.store_name
						// item.product_id = item.id
						// item.unit_name = item.info['unit_name' + (item.unit_type == 0 ? '' : (item.unit_type == 1 ?
						// 	"_1" : "_2"))]
						return obj
					}).filter(item => {
						return item.product_num != 0
					})
				} catch (e) {
					//TODO handle the exception
					console.log('err', e);
				}

			},
			handleSubmit(name) {
				console.log('开始');
				if (this.currentTab == 0) {
					if (this.formValidate_0.id == 0) {
						this.formValidate_0.goods = this.handleGoods(this.chooseGoods)
						if (this.formValidate_0.goods.length == 0) {
							return this.$Message.error('请选择商品并填写采购数量');
						}
					} else {
						this.formValidate_0.goods = this.chooseGoods
					}
				} else if (this.currentTab == 1) {
					console.log('汇总采购商品');
					this.formValidate_1.goods = this.chooseGoods_1.filter(item => item.want_product_num != 0).map(item => {
						item.product_num = item.want_product_num
						return item
					})
					if (this.formValidate_1.goods.length == 0) {
						return this.$Message.error('请选择商品并填写采购数量');
					}
				}
				console.log(this.formValidate_0.goods, 'this.formValidate_0.goods');
				try {
					this.$refs[name].validate((valid) => {
						if (valid) {
							console.log('校验结束');
							let pdata = {}
							if (this.currentTab == 0) {
								console.log('自建采购');
								try {
									pdata = {
										id: this.$route.query.id,
										store_id: this.formValidate_0.who == 1 ? this.formValidate_0.store_id :
											'',
										wid: this.formValidate_0.who == 0 ? this.formValidate_0.wid : '',
										type: this.formValidate_0.who == 0 ? 0 : 1,
										products: this.formValidate_0.goods,
										supplier_id: this.formValidate_0.supplier_id,
										create_uid: this.formValidate_0.create_uid,
										create_admin_id: this.formValidate_0.create_admin_id
									}
								} catch (e) {
									console.log(e, '错误');
								}
							} else if (this.currentTab == 1) {
								console.log('汇总采购');
								pdata = {
									id: this.$route.query.id,
									wid: this.formValidate_1.wid,
									goods_ids: this.formValidate_1.goods.map(item => item.product_id).join(
										','),
									supplier_id: this.formValidate_1.supplier_id,
									create_uid: this.formValidate_1.create_uid,
									create_admin_id: this.formValidate_1.create_admin_id,
									purchasing_person_uid: this.formValidate_1.purchasing_person_uid,
								}
								console.log('pdata', pdata);
							} else if (this.currentTab == 2) {
								console.log('要货单审核');
								if (this.formValidate_2.wid == 0) {
									return this.$Message.error('请确认要货单');
								}
								pdata = {
									id: this.$route.query.id,
									supplier_id: this.formValidate_2.supplier_id,
									create_uid: this.formValidate_2.create_uid,
									create_admin_id: this.formValidate_2.create_admin_id,
									purchasing_person_uid: this.formValidate_2.purchasing_person_uid,
									want_order_id: this.formValidate_2.want_order_id,
									wid: this.formValidate_2.wid
								}
							}
							createPurchase(pdata.id, pdata).then(res => {
								this.$Message.success(res.msg);
								this.$router.push({
									path: this.roterPre + "/erp/purchase_list"
								});
							}).catch(err => {
								this.$Message.error(err.msg);
							})
						} else {}
					});
				} catch (e) {
					console.log('err', e);
				}

			},
		},
	};
</script>

<style scoped lang="stylus">
	.table {
		/deep/.ivu-table-header table {
			border: 0 !important;
		}

		/deep/.ivu-table-header thead tr th:nth-of-type(1) {
			padding-left: 16px;
		}

		/deep/.ivu-table td:nth-of-type(1) {
			padding-left: 16px;
		}

		/deep/.ivu-table-cell {
			padding: 0 !important;
		}

		/deep/.ivu-table-border th,
		/deep/.ivu-table-border td {
			border-right: unset;
		}

		/deep/.ivu-table td {
			height: 59px;
		}
	}

	.form-submit {
		/deep/.ivu-card {
			border-radius: 0;
		}

		margin-bottom: 79px;

		.fixed-card {
			position: fixed;
			right: 0;
			bottom: 0;
			left: 200px;
			z-index: 99;
			box-shadow: 0 -1px 2px rgb(240, 240, 240);

			/deep/ .ivu-card-body {
				padding: 15px 16px 14px;
			}

			.ivu-form-item {
				margin-bottom: 0;
			}

			/deep/ .ivu-form-item-content {
				margin-right: 124px;
				text-align: center;
			}

			.ivu-btn {
				height: 36px;
				padding: 0 20px;
			}
		}
	}

	.after-line {
		display: inline-block;
		position: relative;
		margin-right: 16px;
	}

	.ml16 {
		margin-left: 16px;
	}

	.addClass {
		color: #1890FF;
		margin-left 14px;
		padding 9px 0;
		cursor pointer;
	}
</style>