diff --git a/src/views/attendance/makeReport.vue b/src/views/attendance/makeReport.vue index 08e357c..9c4b9d3 100644 --- a/src/views/attendance/makeReport.vue +++ b/src/views/attendance/makeReport.vue @@ -2,7 +2,7 @@
- 请选择考勤月 + 请选择生成报表的考勤月或起止日期 @@ -13,8 +13,10 @@ type="month" format="yyyy-MM" value-format="yyyy-MM" - placeholder="必填"/> + placeholder="考勤月"/> + + - + + + + placeholder="截止日期"/> - + + + 生成报表 @@ -48,43 +54,58 @@ export default { name: 'MakeReport', data() { - const validateMonth = (value, callback) => { + const validateMonth = (rule, value, callback) => { if (this.form.beginDate === '' && this.form.endDate == '' && value === '') { - if (reg.test(value)) { callback(new Error('请选择考勤月或起止日期')) - } } else { + this.$nextTick(() => { + this.$refs['dataForm'].clearValidate() + }) callback() } } - const validateBeginDate = (value, callback) => { - if (this.form.beginDate === '' && this.form.endDate == '' && value === '') { - if (reg.test(value)) { - callback(new Error('请选择考勤月或起止日期')) - } + const validateBeginDate = (rule, value, callback) => { + if (this.form.month === '' && this.form.endDate == '' && value === '') { + callback(new Error('请选择考勤月或起止日期')) } else { + this.$nextTick(() => { + this.$refs['dataForm'].clearValidate() + }) callback() } } - const validateEndDate = (value, callback) => { - if (this.form.beginDate === '' && this.form.endDate == '' && value === '') { - if (reg.test(value)) { + const validateEndDate = (rule, value, callback) => { + if (this.form.beginDate === '' && this.form.month == '' && value === '') { callback(new Error('请选择考勤月或起止日期')) - } } else { + this.$nextTick(() => { + this.$refs['dataForm'].clearValidate() + }) callback() } } return { + beginDateOptions: { + disabledDate: (time) => { + if( this.form.endDate !== '' ) return time.getTime() > this.form.endDate + else return false + } + }, + endDateOptions: { + disabledDate: (time) => { + if( this.form.beginDate !== '' ) return (time.getTime() < this.form.beginDate || time.getTime() > Date.now()) + else return time.getTime() > Date.now() + } + }, form: { month: '', beginDate: '', endDate: '' }, rules: { - month: [{ validator: 'validateMonth', trigger: ['blur', 'change'] }], - beginDate: [{ validator: 'validateBeginDate', trigger: ['blur', 'change'] }], - endDate: [{ validator: 'validateEndDate', trigger: ['blur', 'change'] }] + month: [{ validator: validateMonth, trigger: ['blur', 'change'] }], + beginDate: [{ validator: validateBeginDate, trigger: ['blur', 'change'] }], + endDate: [{ validator: validateEndDate, trigger: ['blur', 'change'] }] }, pickerOptions: { disabledDate: (time) => {