1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68
| <template> <el-form ref="form" :model="form" label-width="100px" :rules="rules"> <el-form-item label="起始日期" prop="startDate"> <el-date-picker v-model="form.startDate" value-format="yyyy-MM-dd" clearable type="date" placeholder="请选择起始日期" /> </el-form-item> <el-form-item label="截止日期" prop="stopDate"> <el-date-picker v-model="form.stopDate" value-format="yyyy-MM-dd" clearable type="date" placeholder="请选择截止日期" /> </el-form-item> </el-form> </template>
<script> export default { data() { const checkEndTime = (rule, value, callback) => { this.ValidatorEndTime(rule, value, callback, this.form.startDate) } return { form: { startDate: '', stopDate: '' }, rules: { startDate: [{ required: true, message: '请选择起始日期', trigger: 'change' }], stopDate: [{ required: true, validator: checkEndTime, trigger: 'change' }] } } }, watch: { 'form.startDate'() { this.validateReset(['startDate', 'stopDate']) }, 'form.stopDate'() { this.validateReset(['startDate', 'stopDate']) } }, methods: { validateReset(arr) { this.$refs['form'].validateField(arr) }, ValidatorEndTime(rule, value, callback, start) { if (!value) { callback(new Error('请选择截止日期')) } else { if (!start) { callback(new Error('请选择起始日期!')) } else if (Date.parse(start) > Date.parse(value)) { callback(new Error('截止日期必须大于起始日期!')) } else { callback() } } } } } </script>
|