<template>
    <view class="page">
	<NavBar :title="$t('批次信息')"></NavBar>
	<view class="infoedit">
		<u-form ref="form" :modelValue="form" class="login-form" :labelWidth="160">
			<u-form-item prop="th010" :label="$t('批号：')" :class="{'disabled': index !== null}">
				<input
					v-model="form.th010"
					type="text"
					:disabled="index !== null"
				>
				</input>
			</u-form-item>
			<u-form-item prop="th009" :label="$t('仓库：')">
				<input
					v-model="form.th009"
					type="text"
					@confirm="submit"
				>
				</input>
			</u-form-item>
			<u-form-item prop="th072" :label="$t('库位：')">
				<input
					v-model="form.th072"
					type="text"
					@confirm="submit"
				>
				</input>
			</u-form-item>
			<u-form-item prop="th015" :label="$t('验收数量：')">
				<input
					v-model.number="form.th015"
					type="text"
					@confirm="submit"
				>
				</input>
			</u-form-item>
			<u-form-item prop="th016" :label="$t('计价数量：')">
				<input
					v-model.number="form.th016"
					type="text"
					@confirm="submit"
				>
				</input>
			</u-form-item>
			<u-form-item prop="th017" :label="$t('验退数量：')">
				<input
					v-model.number="form.th017"
					type="text"
					@confirm="submit"
				>
				</input>
			</u-form-item>
			<u-form-item style="width:95%;">
			<view style="display: flex;width: 100%;">
				<button
					size="medium"
					type="primary"
					style="width:19%;margin-top: 50rpx;margin-right: 40rpx"
					@click="del()"
					v-if="index !== null"
				>
					<span>{{$t('移除')}}</span>
				</button>
				<button
					size="medium"
					type="primary"
					style="flex: 1;margin-top: 50rpx"
					@click="submit()"
				>
					<span>{{$t('确定')}}</span>
				</button>
			</view>
			</u-form-item>
		</u-form>
	</view>
    </view>
  </template>
  
  <script>
import i18n from '../../lang/index'

  import StickyNavBar from "@/components/StickyNavBar/index.vue";
  import ContentLoadingMore from "@/components/ContentLoadingMore/index.vue";
  export default {
    components: {
      StickyNavBar,
      ContentLoadingMore,
    },
	onLoad(option) {
		if (option.info) {
			this.form = JSON.parse(decodeURIComponent(option.info));
			this.index = option.index || null
			this.num = option.num || null
		}
	},
    data() {
      return {
		info: null,
		index: null,
		chargaArr: [],
		num: 0,
		form: {
			cd003: null,
			cd004: null,
			cd005: null,
			cd011: null,
			cd008: null,
			cd018: null,
			cd019: null,
		}
      };
    },
    created() {
    },
    methods: {
		calcchargaArr(num1, num2){
			const max = this.form.cd018
			if ((Number(this.num) + Number(num1) + Number(num2)) > max) {
				return true
			}
			return false
		},
		del(){
			let pages = getCurrentPages() 
			
			// 2. 上一页面实例
				// 注意是length长度，所以要想得到上一页面的实例需要 -2
				// 若要返回上上页面的实例就 -3，以此类推
			let prevPage = pages[pages.length -2] 
			// 3. 给上一页面实例绑定getValue()方法和参数（注意是$vm）
			prevPage.$vm.getValue(this.form, this.index, true) 
			
			// 4. 返回上一页面
			uni.navigateBack({
				delta: 1 // 返回的页面数
			})
		},
		submit() {
			if(!this.form.th010) return this.$u.toast(i18n.t('请输入批号'))
			if(!this.form.th009) return this.$u.toast(i18n.t('请输入仓库'))
			if(!this.form.th072) return this.$u.toast(i18n.t('请输入库位'))
			if(!this.form.th015 && !this.form.th017) return this.$u.toast(i18n.t('请输入验收数量或验退数量'))
			if (this.form['th016'] || this.form['th015']) {
				const th015 = this.form['th015'] || 0
				const th016 = this.form['th016'] || 0
				if (th016 > th015) return this.$u.toast(i18n.t('计价数量不能大于验收数量'))
			}
			if(this.calcchargaArr(this.form.th015, this.form.th017)) return this.$u.toast(i18n.t('超出到货检验验收数量'))
			
			let pages = getCurrentPages() 
			
			// 2. 上一页面实例
				// 注意是length长度，所以要想得到上一页面的实例需要 -2
				// 若要返回上上页面的实例就 -3，以此类推
			let prevPage = pages[pages.length -2] 
			// 3. 给上一页面实例绑定getValue()方法和参数（注意是$vm）
			prevPage.$vm.getValue(this.form, this.index) 
			
			// 4. 返回上一页面
			uni.navigateBack({
				delta: 1 // 返回的页面数
			})
		}
    },
  };
  </script>
  
  <style lang="scss" scoped>
  /deep/ .u-sticky {
    top: 0 !important;
    background: #fff;
  }
  .infoedit {
	padding: 20rpx 20rpx;
	.underline {
		border-bottom: 1px solid #d5d5d5;
		padding-bottom: 0px;
    	line-height: 40px;
		font-weight: 500;
		margin-left: 20rpx;
		font-size: 19px;
	}
	.u-border-bottom:after {
		display: none;
	}
	
  }
  .batchContent{
	color: #787878;
	font-size: 17px;
	width: 100%;
	padding: 15rpx;
	.itemtitle{
		font-weight: 600;
		font-size: 19px;
	}
	&>view{
		width: 100%;
		display: flex;
		justify-content: space-between;
	}
  }
  </style>
  