|
|
@@ -11,16 +11,18 @@ const formatDate = userStore.dateFormat
|
|
|
const valueFormatDate = 'MM/DD/YYYY'
|
|
|
|
|
|
onMounted(() => {
|
|
|
- defaultDate()
|
|
|
+ const emitPayload = defaultDate()
|
|
|
+ // 统一 emit(只调用一次)
|
|
|
+ emit('defaultDate', daterangeObj2, emitPayload)
|
|
|
emitter.on('clearTag', (tag: any) => {
|
|
|
if (tag.includes('ETD')) {
|
|
|
- clearDateStart()
|
|
|
+ clearETdDateRange()
|
|
|
}
|
|
|
if (tag.includes('ETA')) {
|
|
|
- clearDateEnd()
|
|
|
+ clearEtaDateRange()
|
|
|
}
|
|
|
if (tag.includes('Creation Time')) {
|
|
|
- clearDateEnd()
|
|
|
+ clearEtaDateRange()
|
|
|
}
|
|
|
})
|
|
|
emitter.on('clearDaterangeObj', () => {
|
|
|
@@ -45,8 +47,8 @@ const AddDateType = ref()
|
|
|
AddDateType.value = []
|
|
|
const AddType = () => {
|
|
|
AddDateType.value.push({
|
|
|
- value: '',
|
|
|
- number: ''
|
|
|
+ label: '',
|
|
|
+ value: ''
|
|
|
})
|
|
|
}
|
|
|
const deleteType = (i: any) => {
|
|
|
@@ -57,204 +59,155 @@ const deleteType = (i: any) => {
|
|
|
const props = defineProps({
|
|
|
isShipment: Boolean
|
|
|
})
|
|
|
-let daterangeObj: any = {}
|
|
|
-const DateStart = ref()
|
|
|
-DateStart.value = []
|
|
|
-const DateEnd = ref()
|
|
|
-DateEnd.value = []
|
|
|
+const etdDateRange = ref()
|
|
|
+etdDateRange.value = []
|
|
|
+const etaDateRange = ref()
|
|
|
+etaDateRange.value = []
|
|
|
const DateCreation = ref()
|
|
|
-DateCreation.value = []
|
|
|
-const searchTableQeury = ref()
|
|
|
-const searchTableQeuryTracking = ref()
|
|
|
// 查询默认日期
|
|
|
const defaultDate = () => {
|
|
|
- if (props.isShipment) {
|
|
|
- if (
|
|
|
- sessionStorage.getItem('clickParams') == null ||
|
|
|
- sessionStorage.getItem('clickParams') == '{}'
|
|
|
- ) {
|
|
|
- if (sessionStorage.getItem('searchTableQeuryTracking') == null) {
|
|
|
- DateStart.value = [dayjs().subtract(2, 'month').startOf('month'), dayjs().add(1, 'month')]
|
|
|
- daterangeObj.ETD =
|
|
|
- DateStart.value[0].format(formatDate) + ' To ' + DateStart.value[1].format(formatDate)
|
|
|
- const obj = {
|
|
|
- title: 'ETD',
|
|
|
- data: [
|
|
|
- DateStart.value[0].format(valueFormatDate),
|
|
|
- DateStart.value[1].format(valueFormatDate)
|
|
|
- ]
|
|
|
- }
|
|
|
-
|
|
|
- daterangeObj2.ETD = obj
|
|
|
- } else {
|
|
|
- searchTableQeuryTracking.value =
|
|
|
- JSON.parse(sessionStorage.getItem('searchTableQeuryTracking') as string) || {}
|
|
|
- if (searchTableQeuryTracking.value.etd_start) {
|
|
|
- DateStart.value = [
|
|
|
- dayjs(searchTableQeuryTracking.value.etd_start),
|
|
|
- dayjs(searchTableQeuryTracking.value.etd_end)
|
|
|
- ]
|
|
|
- daterangeObj.ETD =
|
|
|
- DateStart.value[0].format(formatDate) + ' To ' + DateStart.value[1].format(formatDate)
|
|
|
- const obj = {
|
|
|
- title: 'ETD',
|
|
|
- data: [
|
|
|
- DateStart.value[0].format(valueFormatDate),
|
|
|
- DateStart.value[1].format(valueFormatDate)
|
|
|
- ]
|
|
|
- }
|
|
|
- daterangeObj2.ETD = obj
|
|
|
- }
|
|
|
- if (searchTableQeuryTracking.value.eta_start) {
|
|
|
- DateEnd.value = [
|
|
|
- dayjs(searchTableQeuryTracking.value.eta_start),
|
|
|
- dayjs(searchTableQeuryTracking.value.eta_end)
|
|
|
- ]
|
|
|
- daterangeObj.ETA =
|
|
|
- DateEnd.value[0].format(formatDate) + ' To ' + DateEnd.value[1].format(formatDate)
|
|
|
- const obj = {
|
|
|
- title: 'ETA',
|
|
|
- data: [
|
|
|
- DateEnd.value[0].format(valueFormatDate),
|
|
|
- DateEnd.value[1].format(valueFormatDate)
|
|
|
- ]
|
|
|
- }
|
|
|
- daterangeObj2.ETA = obj
|
|
|
- }
|
|
|
- if (searchTableQeuryTracking.value.created_time_start) {
|
|
|
- DateCreation.value = [
|
|
|
- dayjs(searchTableQeuryTracking.value.created_time_start),
|
|
|
- dayjs(searchTableQeuryTracking.value.created_time_end)
|
|
|
- ]
|
|
|
- daterangeObj['Creation Time'] =
|
|
|
- DateCreation.value[0].format(formatDate) +
|
|
|
- ' To ' +
|
|
|
- DateCreation.value[1].format(formatDate)
|
|
|
- const obj = {
|
|
|
- title: 'Creation Time',
|
|
|
- data: [
|
|
|
- DateCreation.value[0].format(valueFormatDate),
|
|
|
- DateCreation.value[1].format(valueFormatDate)
|
|
|
- ]
|
|
|
- }
|
|
|
- daterangeObj2['Creation Time'] = obj
|
|
|
- }
|
|
|
- }
|
|
|
- emit('defaultDate', daterangeObj, daterangeObj2, searchTableQeuryTracking.value)
|
|
|
- } else {
|
|
|
- const data = JSON.parse(sessionStorage.getItem('reportList') as string) || {}
|
|
|
- searchTableQeuryTracking.value =
|
|
|
- JSON.parse(sessionStorage.getItem('searchTableQeuryTracking') as string) || {}
|
|
|
- if (data.eta_start) {
|
|
|
- DateEnd.value = [dayjs(data.eta_start), dayjs(data.eta_end)]
|
|
|
- daterangeObj.ETA =
|
|
|
- DateEnd.value[0].format(formatDate) + ' To ' + DateEnd.value[1].format(formatDate)
|
|
|
- const obj = {
|
|
|
- title: 'ETA',
|
|
|
- data: [DateEnd.value[0].format(valueFormatDate), DateEnd.value[1].format(valueFormatDate)]
|
|
|
- }
|
|
|
+ // 工具函数:安全格式化日期范围
|
|
|
+ const formatDateRange = (startStr: string | null, endStr: string | null) => {
|
|
|
+ if (!startStr || !endStr) return [null, null]
|
|
|
+ const start = dayjs(startStr)
|
|
|
+ const end = dayjs(endStr)
|
|
|
+ return start.isValid() && end.isValid()
|
|
|
+ ? [start.format(formatDate), end.format(formatDate)]
|
|
|
+ : [null, null]
|
|
|
+ }
|
|
|
|
|
|
- daterangeObj2.ETA = obj
|
|
|
- emit('defaultDate', daterangeObj, daterangeObj2, searchTableQeuryTracking.value)
|
|
|
- }
|
|
|
- if (data.etd_start) {
|
|
|
- DateStart.value = [dayjs(data.etd_start), dayjs(data.etd_end)]
|
|
|
- daterangeObj.ETD =
|
|
|
- DateStart.value[0].format(formatDate) + ' To ' + DateStart.value[1].format(formatDate)
|
|
|
- const obj = {
|
|
|
- title: 'ETD',
|
|
|
- data: [
|
|
|
- DateStart.value[0].format(valueFormatDate),
|
|
|
- DateStart.value[1].format(valueFormatDate)
|
|
|
- ]
|
|
|
- }
|
|
|
- daterangeObj2.ETD = obj
|
|
|
- emit('defaultDate', daterangeObj, daterangeObj2, searchTableQeuryTracking.value)
|
|
|
- }
|
|
|
+ // 工具函数:设置 daterangeObj2 条目
|
|
|
+ const setRange = (key: string, title: string, startStr: string | null, endStr: string | null) => {
|
|
|
+ const [start, end] = formatDateRange(startStr, endStr)
|
|
|
+ if (start && end) {
|
|
|
+ daterangeObj2[key] = { title, data: [start, end] }
|
|
|
}
|
|
|
- } else {
|
|
|
- if (sessionStorage.getItem('searchTableQeury') == null) {
|
|
|
- DateStart.value = [dayjs().subtract(2, 'month').startOf('month'), dayjs().add(1, 'month')]
|
|
|
- daterangeObj.ETD =
|
|
|
- DateStart.value[0].format(formatDate) + ' To ' + DateStart.value[1].format(formatDate)
|
|
|
- const obj = {
|
|
|
- title: 'ETD',
|
|
|
- data: [
|
|
|
- DateStart.value[0].format(valueFormatDate),
|
|
|
- DateStart.value[1].format(valueFormatDate)
|
|
|
- ]
|
|
|
- }
|
|
|
- daterangeObj2.ETD = obj
|
|
|
+ }
|
|
|
+
|
|
|
+ // 工具函数:设置 AddDateType(仅用于 Creation Time)
|
|
|
+ const setAddDateType = (startStr: string | null, endStr: string | null) => {
|
|
|
+ const [start, end] = formatDateRange(startStr, endStr)
|
|
|
+ AddDateType.value = [{ label: 'Creation Time', value: [start, end] }]
|
|
|
+ }
|
|
|
+
|
|
|
+ // 默认时间范围(2个月前月初 到 下个月)
|
|
|
+ const getDefaultRange = () => [
|
|
|
+ dayjs().subtract(2, 'month').startOf('month').format(formatDate),
|
|
|
+ dayjs().add(1, 'month').format(formatDate)
|
|
|
+ ]
|
|
|
+
|
|
|
+ // ----------------------------
|
|
|
+ // 主逻辑开始
|
|
|
+ // ----------------------------
|
|
|
+
|
|
|
+ let trackingData: Record<string, any> = {}
|
|
|
+ let emitPayload: Record<string, any> = {}
|
|
|
+
|
|
|
+ if (props.isShipment) {
|
|
|
+ const clickParams = sessionStorage.getItem('clickParams')
|
|
|
+ if (clickParams && clickParams !== '{}') {
|
|
|
+ // 场景 A: 有 clickParams → 读取 reportList
|
|
|
+ const reportList = JSON.parse(sessionStorage.getItem('reportList') || '{}')
|
|
|
+ trackingData = JSON.parse(sessionStorage.getItem('searchTableQeuryTracking') || '{}')
|
|
|
+ etdDateRange.value = [
|
|
|
+ reportList.etd_start
|
|
|
+ ? dayjs(reportList.etd_start, valueFormatDate).format(formatDate)
|
|
|
+ : null,
|
|
|
+ reportList.etd_end ? dayjs(reportList.etd_end, valueFormatDate).format(formatDate) : null
|
|
|
+ ]
|
|
|
+ etaDateRange.value = [
|
|
|
+ reportList.eta_start
|
|
|
+ ? dayjs(reportList.eta_start, valueFormatDate).format(formatDate)
|
|
|
+ : null,
|
|
|
+ reportList.eta_end ? dayjs(reportList.eta_end, valueFormatDate).format(formatDate) : null
|
|
|
+ ]
|
|
|
+ setRange('ETD', 'ETD', reportList.etd_start, reportList.etd_end)
|
|
|
+ setRange('ETA', 'ETA', reportList.eta_start, reportList.eta_end)
|
|
|
} else {
|
|
|
- searchTableQeury.value =
|
|
|
- JSON.parse(sessionStorage.getItem('searchTableQeury') as string) || {}
|
|
|
- if (searchTableQeury.value.f_etd_start) {
|
|
|
- DateStart.value = [
|
|
|
- dayjs(searchTableQeury.value.f_etd_start).format(valueFormatDate),
|
|
|
- dayjs(searchTableQeury.value.f_etd_end).format(valueFormatDate)
|
|
|
+ // 场景 B: 无 clickParams → 读取 searchTableQeuryTracking
|
|
|
+ const stored = sessionStorage.getItem('searchTableQeuryTracking')
|
|
|
+ if (!stored) {
|
|
|
+ // 子场景 B1: 无存储 → 用默认值
|
|
|
+ const [start, end] = getDefaultRange()
|
|
|
+ etdDateRange.value = [start, end]
|
|
|
+ setRange('ETD', 'ETD', start, end)
|
|
|
+ } else {
|
|
|
+ // 子场景 B2: 有存储
|
|
|
+ trackingData = JSON.parse(stored)
|
|
|
+ etdDateRange.value = [
|
|
|
+ trackingData.etd_start ? trackingData.etd_start : null,
|
|
|
+ trackingData.etd_end ? trackingData.etd_end : null
|
|
|
]
|
|
|
- daterangeObj.ETD =
|
|
|
- DateStart.value[0].format(formatDate) + ' To ' + DateStart.value[1].format(formatDate)
|
|
|
- const obj = {
|
|
|
- title: 'ETD',
|
|
|
- data: [
|
|
|
- DateStart.value[0].format(valueFormatDate),
|
|
|
- DateStart.value[1].format(valueFormatDate)
|
|
|
- ]
|
|
|
- }
|
|
|
- daterangeObj2.ETD = obj
|
|
|
- }
|
|
|
- if (searchTableQeury.value.m_eta_start) {
|
|
|
- DateEnd.value = [
|
|
|
- dayjs(searchTableQeury.value.m_eta_start),
|
|
|
- dayjs(searchTableQeury.value.m_eta_end)
|
|
|
+ etaDateRange.value = [
|
|
|
+ trackingData.eta_start ? trackingData.eta_start : null,
|
|
|
+ trackingData.eta_end ? trackingData.eta_end : null
|
|
|
]
|
|
|
- daterangeObj.ETA =
|
|
|
- DateEnd.value[0].format(formatDate) + ' To ' + DateEnd.value[1].format(formatDate)
|
|
|
- const obj = {
|
|
|
- title: 'ETA',
|
|
|
- data: [DateEnd.value[0].format(valueFormatDate), DateEnd.value[1].format(valueFormatDate)]
|
|
|
+ setRange('ETD', 'ETD', trackingData.etd_start, trackingData.etd_end)
|
|
|
+ setRange('ETA', 'ETA', trackingData.eta_start, trackingData.eta_end)
|
|
|
+ if (trackingData.created_time_start) {
|
|
|
+ setAddDateType(trackingData.created_time_start, trackingData.created_time_end)
|
|
|
+ setRange(
|
|
|
+ 'Creation Time',
|
|
|
+ 'Creation Time',
|
|
|
+ trackingData.created_time_start,
|
|
|
+ trackingData.created_time_end
|
|
|
+ )
|
|
|
}
|
|
|
- daterangeObj2.ETA = obj
|
|
|
}
|
|
|
- if (searchTableQeury.value.created_time_start) {
|
|
|
- DateCreation.value = [
|
|
|
- dayjs(searchTableQeury.value.created_time_start),
|
|
|
- dayjs(searchTableQeury.value.created_time_end)
|
|
|
- ]
|
|
|
- daterangeObj['Creation Time'] =
|
|
|
- DateCreation.value[0].format(formatDate) +
|
|
|
- ' To ' +
|
|
|
- DateCreation.value[1].format(formatDate)
|
|
|
- const obj = {
|
|
|
- title: 'Creation Time',
|
|
|
- data: [
|
|
|
- DateCreation.value[0].format(valueFormatDate),
|
|
|
- DateCreation.value[1].format(valueFormatDate)
|
|
|
- ]
|
|
|
- }
|
|
|
- daterangeObj2['Creation Time'] = obj
|
|
|
+ }
|
|
|
+ emitPayload = trackingData
|
|
|
+ } else {
|
|
|
+ // 非 shipment 场景
|
|
|
+ const stored = sessionStorage.getItem('searchTableQeury')
|
|
|
+ if (!stored) {
|
|
|
+ // 无存储 → 默认值
|
|
|
+ const [start, end] = getDefaultRange()
|
|
|
+ etdDateRange.value = [start, end]
|
|
|
+ setRange('ETD', 'ETD', start, end)
|
|
|
+ } else {
|
|
|
+ // 有存储
|
|
|
+ const queryData = JSON.parse(stored)
|
|
|
+ emitPayload = queryData
|
|
|
+
|
|
|
+ etdDateRange.value = [
|
|
|
+ queryData.f_etd_start ? queryData.f_etd_start : null,
|
|
|
+ queryData.f_etd_end ? queryData.f_etd_end : null
|
|
|
+ ]
|
|
|
+ etaDateRange.value = [
|
|
|
+ queryData.m_eta_start ? queryData.m_eta_start : null,
|
|
|
+ queryData.m_eta_end ? queryData.m_eta_end : null
|
|
|
+ ]
|
|
|
+ setRange('ETD', 'ETD', queryData.f_etd_start, queryData.f_etd_end)
|
|
|
+ setRange('ETA', 'ETA', queryData.m_eta_start, queryData.m_eta_end)
|
|
|
+ if (queryData.created_time_start) {
|
|
|
+ setAddDateType(queryData.created_time_start, queryData.created_time_end)
|
|
|
+ setRange(
|
|
|
+ 'Creation Time',
|
|
|
+ 'Creation Time',
|
|
|
+ queryData.created_time_start,
|
|
|
+ queryData.created_time_end
|
|
|
+ )
|
|
|
}
|
|
|
}
|
|
|
- emit('defaultDate', daterangeObj, daterangeObj2, searchTableQeury.value)
|
|
|
}
|
|
|
+ return emitPayload
|
|
|
}
|
|
|
const daterangedata = ref()
|
|
|
daterangedata.value = []
|
|
|
let daterangeObj2: any = {}
|
|
|
const DateRangeChange = (val: any) => {
|
|
|
if (val.data != null) {
|
|
|
- const date1 = dayjs(String(val.data[0])).format(formatDate)
|
|
|
- const date2 = dayjs(String(val.data[1])).format(formatDate)
|
|
|
- daterangeObj[val.title] = date1 + ' To ' + date2
|
|
|
+ val.data = [
|
|
|
+ dayjs(val.data[0], valueFormatDate).format(formatDate),
|
|
|
+ dayjs(val.data[1], valueFormatDate).format(formatDate)
|
|
|
+ ]
|
|
|
daterangeObj2[val.title] = val
|
|
|
} else {
|
|
|
- delete daterangeObj[val.title]
|
|
|
delete daterangeObj2[val.title]
|
|
|
if (val.title == 'ETD') {
|
|
|
- DateStart.value = []
|
|
|
+ etdDateRange.value = []
|
|
|
} else if (val.title == 'ETA') {
|
|
|
- DateEnd.value = []
|
|
|
+ etaDateRange.value = []
|
|
|
} else {
|
|
|
DateCreation.value = []
|
|
|
AddDateType.value = []
|
|
|
@@ -264,34 +217,26 @@ const DateRangeChange = (val: any) => {
|
|
|
}
|
|
|
const emit = defineEmits(['DateRangeSearch', 'clearDaterangeTags', 'defaultDate'])
|
|
|
const DateRangeSearch = () => {
|
|
|
- emit('DateRangeSearch', daterangeObj, daterangeObj2)
|
|
|
+ emit('DateRangeSearch', daterangeObj2)
|
|
|
Date_visible.value = false
|
|
|
}
|
|
|
-const CalendarTitle = ref('Date Range')
|
|
|
-watch(
|
|
|
- () => DateType.value,
|
|
|
- (current) => {
|
|
|
- CalendarTitle.value = current
|
|
|
- }
|
|
|
-)
|
|
|
+
|
|
|
// 清除
|
|
|
-const clearrest = () => {
|
|
|
+const clearRest = () => {
|
|
|
emit('clearDaterangeTags')
|
|
|
- clearDateStart()
|
|
|
- clearDateEnd()
|
|
|
+ clearETdDateRange()
|
|
|
+ clearEtaDateRange()
|
|
|
clearDateCreation()
|
|
|
clearDaterangeObj()
|
|
|
}
|
|
|
// 清除EDT
|
|
|
-const clearDateStart = () => {
|
|
|
- DateStart.value = []
|
|
|
- delete daterangeObj['ETD']
|
|
|
+const clearETdDateRange = () => {
|
|
|
+ etdDateRange.value = []
|
|
|
delete daterangeObj2['ETD']
|
|
|
}
|
|
|
// 清除EDA
|
|
|
-const clearDateEnd = () => {
|
|
|
- DateEnd.value = []
|
|
|
- delete daterangeObj['ETA']
|
|
|
+const clearEtaDateRange = () => {
|
|
|
+ etaDateRange.value = []
|
|
|
delete daterangeObj2['ETA']
|
|
|
}
|
|
|
// 清除Creation Time
|
|
|
@@ -299,19 +244,23 @@ const clearDateCreation = () => {
|
|
|
DateCreation.value = []
|
|
|
AddDateType.value = []
|
|
|
DateType.value = ''
|
|
|
- CalendarTitle.value = 'Date Range'
|
|
|
- delete daterangeObj['Creation Time']
|
|
|
delete daterangeObj2['Creation Time']
|
|
|
}
|
|
|
// 清除 daterangeObj
|
|
|
const clearDaterangeObj = () => {
|
|
|
- daterangeObj = {}
|
|
|
daterangeObj2 = {}
|
|
|
}
|
|
|
</script>
|
|
|
<template>
|
|
|
<div class="select">
|
|
|
- <el-popover trigger="click" :width="400" :visible="Date_visible" popper-class="DaterangeClass">
|
|
|
+ <el-popover
|
|
|
+ trigger="click"
|
|
|
+ :width="400"
|
|
|
+ :visible="Date_visible"
|
|
|
+ popper-class="DaterangeClass"
|
|
|
+ @before-enter="defaultDate()"
|
|
|
+ @hide="clearDateCreation()"
|
|
|
+ >
|
|
|
<template #reference>
|
|
|
<div class="Date_Range" @blur="Date_visible = false" @click="Date_visible = !Date_visible">
|
|
|
<div class="select_title">Date Range</div>
|
|
|
@@ -327,18 +276,18 @@ const clearDaterangeObj = () => {
|
|
|
<div class="ETD">
|
|
|
<CalendarDate
|
|
|
CalendarTitle="ETD"
|
|
|
- :Date="DateStart"
|
|
|
+ :Date="etdDateRange"
|
|
|
@DateRangeChange="DateRangeChange"
|
|
|
></CalendarDate>
|
|
|
</div>
|
|
|
<div class="ETA">
|
|
|
<CalendarDate
|
|
|
CalendarTitle="ETA"
|
|
|
- :Date="DateEnd"
|
|
|
+ :Date="etaDateRange"
|
|
|
@DateRangeChange="DateRangeChange"
|
|
|
></CalendarDate>
|
|
|
</div>
|
|
|
- <div class="AddType" v-for="(item, index) in AddDateType" :key="item">
|
|
|
+ <div class="AddType" v-for="(item, index) in AddDateType" :key="item.value">
|
|
|
<div>
|
|
|
<div class="ETD_title Date_Title">
|
|
|
<div class="Date_type">Date Type</div>
|
|
|
@@ -351,7 +300,7 @@ const clearDaterangeObj = () => {
|
|
|
<el-select
|
|
|
:suffix-icon="IconDropDown"
|
|
|
placeholder="Please Select Date Type"
|
|
|
- v-model="DateType"
|
|
|
+ v-model="item.label"
|
|
|
>
|
|
|
<el-option
|
|
|
v-for="item in DateTypeoptions"
|
|
|
@@ -364,9 +313,9 @@ const clearDaterangeObj = () => {
|
|
|
</div>
|
|
|
<div style="margin-top: 16px">
|
|
|
<CalendarDate
|
|
|
- :CalendarTitle="CalendarTitle"
|
|
|
+ :CalendarTitle="item.label || 'Date Range'"
|
|
|
CalendarWidth="352px"
|
|
|
- :Date="DateCreation"
|
|
|
+ :Date="item.value"
|
|
|
@DateRangeChange="DateRangeChange"
|
|
|
:isType="true"
|
|
|
></CalendarDate>
|
|
|
@@ -376,7 +325,7 @@ const clearDaterangeObj = () => {
|
|
|
<el-button class="el-button--noborder moretype">+ More Date Type</el-button>
|
|
|
</div>
|
|
|
<div class="daterange_bottom">
|
|
|
- <div><el-button type="default" @click="clearrest" class="Clear">Reset</el-button></div>
|
|
|
+ <div><el-button type="default" @click="clearRest" class="Clear">Reset</el-button></div>
|
|
|
<div>
|
|
|
<el-button class="search el-button--dark" @click="DateRangeSearch">Search</el-button>
|
|
|
</div>
|