|
@@ -1,7 +1,7 @@
|
|
|
/*
|
|
|
* @Author: Badguy
|
|
|
* @Date: 2022-03-04 14:45:03
|
|
|
- * @LastEditTime: 2022-06-07 16:15:27
|
|
|
+ * @LastEditTime: 2022-06-10 10:19:32
|
|
|
* @LastEditors: your name
|
|
|
* @Description: 航站视图通用表单部分
|
|
|
* have a nice day!
|
|
@@ -11,6 +11,14 @@ import { parseTime } from '@/utils'
|
|
|
// const defaultStartTime = new Date(new Date(new Date().toLocaleDateString()).getTime())
|
|
|
// const defaultEndTime = new Date(new Date(new Date().toLocaleDateString()).getTime() + 24 * 60 * 60 * 1000 - 1)
|
|
|
const defaultDate = parseTime(new Date(), '{y}-{m}-{d}')
|
|
|
+const dateValidator = (rule, value, callback) => {
|
|
|
+ if (value && value[0] && value[1]) {
|
|
|
+ callback()
|
|
|
+ } else {
|
|
|
+ callback(new Error('请选择航班日期'))
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
export default {
|
|
|
data() {
|
|
|
return {
|
|
@@ -22,10 +30,15 @@ export default {
|
|
|
outgoingAirline: [],
|
|
|
craftType: [],
|
|
|
flightAttr: [],
|
|
|
- startDate: defaultDate,
|
|
|
- endDate: defaultDate,
|
|
|
+ FlightDate: [defaultDate, defaultDate],
|
|
|
+ // startDate: defaultDate,
|
|
|
+ // endDate: defaultDate,
|
|
|
search: ''
|
|
|
},
|
|
|
+ dateRangePickerOptions: {
|
|
|
+ onPick: this.dateRangePickHandler,
|
|
|
+ disabledDate: this.dateRangeDisabled
|
|
|
+ },
|
|
|
currentAirportList: [],
|
|
|
relatedAirportList: [],
|
|
|
carrierList: [],
|
|
@@ -62,8 +75,9 @@ export default {
|
|
|
// 表单规则
|
|
|
rules: {
|
|
|
currentAirport: [{ required: true, message: '请选择当前机场', trigger: ['change', 'blur'] }],
|
|
|
- startDate: [{ required: true, message: '请选择开始时间', trigger: 'change' }],
|
|
|
- endDate: [{ required: true, message: '请选择结束时间', trigger: 'change' }]
|
|
|
+ // startDate: [{ required: true, message: '请选择开始时间', trigger: 'change' }],
|
|
|
+ // endDate: [{ required: true, message: '请选择结束时间', trigger: 'change' }]
|
|
|
+ FlightDate: [{ validator: dateValidator, trigger: ['change', 'blur'] }]
|
|
|
}
|
|
|
}
|
|
|
},
|
|
@@ -88,14 +102,36 @@ export default {
|
|
|
},
|
|
|
startDate() {
|
|
|
// return parseTime(this.formData.startDate).split(' ')[0]
|
|
|
- return this.formData.startDate
|
|
|
+ // return this.formData.startDate
|
|
|
+ return this.formData.FlightDate[0]
|
|
|
},
|
|
|
endDate() {
|
|
|
// return parseTime(this.formData.endDate).split(' ')[0]
|
|
|
- return this.formData.endDate
|
|
|
+ // return this.formData.endDate
|
|
|
+ return this.formData.FlightDate[1]
|
|
|
+ }
|
|
|
+ },
|
|
|
+ watch: {
|
|
|
+ 'formData.FlightDate': {
|
|
|
+ handler(val) {
|
|
|
+ if (val === null) {
|
|
|
+ this.formData.FlightDate = ['', '']
|
|
|
+ }
|
|
|
+ },
|
|
|
+ deep: true
|
|
|
}
|
|
|
},
|
|
|
methods: {
|
|
|
+ dateRangePickHandler({ maxDate, minDate }) {
|
|
|
+ if (!maxDate) {
|
|
|
+ this.pickedDate = minDate
|
|
|
+ } else {
|
|
|
+ this.pickedDate = null
|
|
|
+ }
|
|
|
+ },
|
|
|
+ dateRangeDisabled(date) {
|
|
|
+ return this.pickedDate ? Math.abs(date - this.pickedDate) > 2 * 24 * 60 * 60 * 1000 : false
|
|
|
+ },
|
|
|
// 机场数据处理(多选)
|
|
|
getMultipleData(arr) {
|
|
|
const newArr = []
|
|
@@ -160,38 +196,38 @@ export default {
|
|
|
this.getFormData(params)
|
|
|
},
|
|
|
// 日期限制
|
|
|
- startDateChangeHandler(val) {
|
|
|
- if (!val || !this.endDate) {
|
|
|
- return
|
|
|
- }
|
|
|
- const startDate = new Date(val)
|
|
|
- const endDate = new Date(this.endDate)
|
|
|
- if (startDate > endDate) {
|
|
|
- this.formData.endDate = ''
|
|
|
- this.$message.info('结束时间不能早于开始时间,请重新选择')
|
|
|
- } else if (endDate - startDate > 2 * 24 * 60 * 60 * 1000) {
|
|
|
- this.formData.endDate = ''
|
|
|
- this.$message.info('时间跨度不能超过三天,请重新选择')
|
|
|
- } else {
|
|
|
- this.getTableData()
|
|
|
- }
|
|
|
- },
|
|
|
- endDateChangeHandler(val) {
|
|
|
- if (!val || !this.startDate) {
|
|
|
- return
|
|
|
- }
|
|
|
- const startDate = new Date(this.startDate)
|
|
|
- const endDate = new Date(val)
|
|
|
- if (startDate > endDate) {
|
|
|
- this.formData.startDate = ''
|
|
|
- this.$message.info('开始时间不能晚于结束时间,请重新选择')
|
|
|
- } else if (endDate - startDate > 2 * 24 * 60 * 60 * 1000) {
|
|
|
- this.formData.startDate = ''
|
|
|
- this.$message.info('时间跨度不能超过三天,请重新选择')
|
|
|
- } else {
|
|
|
- this.getTableData()
|
|
|
- }
|
|
|
- },
|
|
|
+ // startDateChangeHandler(val) {
|
|
|
+ // if (!val || !this.endDate) {
|
|
|
+ // return
|
|
|
+ // }
|
|
|
+ // const startDate = new Date(val)
|
|
|
+ // const endDate = new Date(this.endDate)
|
|
|
+ // if (startDate > endDate) {
|
|
|
+ // this.formData.endDate = ''
|
|
|
+ // this.$message.info('结束时间不能早于开始时间,请重新选择')
|
|
|
+ // } else if (endDate - startDate > 2 * 24 * 60 * 60 * 1000) {
|
|
|
+ // this.formData.endDate = ''
|
|
|
+ // this.$message.info('时间跨度不能超过三天,请重新选择')
|
|
|
+ // } else {
|
|
|
+ // this.getTableData()
|
|
|
+ // }
|
|
|
+ // },
|
|
|
+ // endDateChangeHandler(val) {
|
|
|
+ // if (!val || !this.startDate) {
|
|
|
+ // return
|
|
|
+ // }
|
|
|
+ // const startDate = new Date(this.startDate)
|
|
|
+ // const endDate = new Date(val)
|
|
|
+ // if (startDate > endDate) {
|
|
|
+ // this.formData.startDate = ''
|
|
|
+ // this.$message.info('开始时间不能晚于结束时间,请重新选择')
|
|
|
+ // } else if (endDate - startDate > 2 * 24 * 60 * 60 * 1000) {
|
|
|
+ // this.formData.startDate = ''
|
|
|
+ // this.$message.info('时间跨度不能超过三天,请重新选择')
|
|
|
+ // } else {
|
|
|
+ // this.getTableData()
|
|
|
+ // }
|
|
|
+ // },
|
|
|
// 搜索
|
|
|
onSubmit(data) {
|
|
|
this.$refs['form'].validate(valid => {
|
|
@@ -202,8 +238,8 @@ export default {
|
|
|
const top2 = /^([a-zA-Z][0-9])|([0-9][a-zA-Z])|([a-zA-Z]{2})/
|
|
|
const num = /^[0-9]+$/
|
|
|
const queryData = {
|
|
|
- startDate: this.formData.startDate,
|
|
|
- endDate: this.formData.endDate
|
|
|
+ startDate: this.startDate,
|
|
|
+ endDate: this.endDate
|
|
|
}
|
|
|
if (Number(data) === 1) {
|
|
|
queryData['destination'] = this.formData.currentAirport
|