<template>
	<view>
		<u--form :model="inputForm" labelWidth="100px" class="u-form" labelPosition="left" :rules="rules" ref="inputForm">
			<u-form-item label="类型" borderBottom prop="name">
			    <jp-picker v-model="inputForm.leaveType" rangeKey="label" rangeValue="value" :range="$dictUtils.getDictList('oa_leave_type')"></jp-picker>
			</u-form-item>

			<u-form-item label="请假开始时间" borderBottom prop="startTime">
			    <jp-datetime-picker  v-model="inputForm.startTime"  mode="datetime"></jp-datetime-picker>
			</u-form-item>
			
			<u-form-item label="请假结束时间" borderBottom prop="endTime">
			    <jp-datetime-picker  v-model="inputForm.endTime"  mode="datetime"></jp-datetime-picker>
			</u-form-item>
			
			<u-form-item label="请假事由" borderBottom prop="reason">
			    <u--textarea  placeholder='请填写请假事由'  v-model="inputForm.reason" ></u--textarea>
			</u-form-item>
			
		</u--form>
	</view>
</template>

<script>
	import testActivitiLeaveService from "@/api/test/activiti/testActivitiLeaveService"
	export default {
		data () {
			return {
				loading: false,
				inputForm: {
				  id: '',
				  leaveType: '',
				  startTime: '',
				  endTime: '',
				  reason: ''
				},
				rules: {
					  'leaveType': [
					  {
							required: true,
							message: '类型不能为空',
							trigger: ['blur', 'change']
					  }],
					  'startTime': [
					  {
							required: true,
							message: '请假开始时间不能为空',
							trigger: ['blur', 'change']
					  }],
					  'endTime': [
					  {
							required: true,
							message: '请假结束时间不能为空',
							trigger: ['blur', 'change']
					  }],
					  'reason': [
					  {
							required: true,
							message: '请假事由不能为',
							trigger: ['blur', 'change']
					  }]
				}
			}
		},
		props: {
		  businessId: {
		    type: String,
		    default: ''
		  },
		  formReadOnly: {
		    type: Boolean,
		    default: false
		  }
		},
		watch: {
		  'businessId': {
		    handler (newVal) {
		      if (this.businessId) {
		        this.init(this.businessId)
		      } else {
		        this.$nextTick(() => {
		          // this.$refs.inputForm.reset()
		        })
		      }
		    },
		    immediate: true,
		    deep: false
		  }
		},
		methods: {
			init (id) {
			  if (id) {
				  testActivitiLeaveService.queryById(id).then((data) => {
			        this.inputForm = this.recover(this.inputForm, data)
			      })
			  }
			},
			saveForm (callback) {
					//定义表单规则
				this.$refs.inputForm.validate().then(res => {
					uni.showLoading()
					testActivitiLeaveService.save(this.inputForm).then((data) => {
						  callback(data.businessTable, data.businessId)
					}).catch((e)=>{
						
					})
				}).catch((e)=>{
					
				})	
			}
		}
	  }
</script>

<style>
	.cu-form-group .title {
		min-width: calc(4em + 40px);
	}


</style>
