feat(xpack): 筛选时间时,支持选择时间粒度,然后通过控件的形式选择日期

This commit is contained in:
dataeaseShu
2025-10-13 13:34:29 +08:00
committed by dataeaseShu
parent 26acc7f074
commit 0a2a3d2a9b
8 changed files with 49 additions and 4 deletions

View File

@@ -72,6 +72,7 @@ const add = (type, child, logic) => {
name: '',
filterTypeTime: 'dateValue',
timeValue: '',
timeType: 'year',
dynamicTimeSetting: {},
deType: ''
}

View File

@@ -15,6 +15,7 @@ import {
sysParamsIlns,
fieldEnums
} from '@/views/visualized/data/dataset/options.js'
import TimeSetDialog from '@/components/time-set-dialog/index.vue'
import { iconFieldMap } from '@/components/icon-group/field-list'
export interface Item {
term: string
@@ -27,6 +28,7 @@ export interface Item {
filterTypeTime?: string
timeValue: string
dynamicTimeSetting?: SelectConfig
timeType?: string
}
type Props = {
@@ -432,6 +434,17 @@ const addFields = () => {
showTextArea.value = false
}
const timeDialogRef = ref()
const showTimeDialog = (obj: any) => {
if (obj.deType !== 1) return
timeDialogRef.value.init(obj.timeType, obj.value)
}
const saveTime = (type, value) => {
item.value.timeType = type
item.value.value = value
}
const emits = defineEmits(['update:item', 'del'])
</script>
@@ -590,6 +603,19 @@ const emits = defineEmits(['update:item', 'del'])
size="small"
v-model="item.timeValue"
/></el-tooltip>
<el-tooltip
class="item"
v-if="item.deType === 1 && item.filterTypeTime !== 'dynamicDate'"
effect="light"
:content="item.value"
placement="top"
><el-input
readonly
@click="showTimeDialog(item)"
class="w70 mar5"
size="small"
v-model="item.value"
/></el-tooltip>
<el-input v-else class="w70 mar5" size="small" v-model="item.value" />
<div class="bottom-line"></div>
</template>
@@ -709,6 +735,7 @@ const emits = defineEmits(['update:item', 'del'])
</template>
</el-dialog>
</div>
<TimeSetDialog @saveTime="saveTime" ref="timeDialogRef"></TimeSetDialog>
</template>
<style lang="less" scoped>

View File

@@ -172,6 +172,7 @@ const dfsInit = arr => {
fieldId,
filterType,
term,
timeType,
value,
field
} = ele
@@ -181,6 +182,7 @@ const dfsInit = arr => {
fieldId,
filterType,
term,
timeType,
timeValue: getTimeValue(dynamicTimeSetting),
filterTypeTime,
dynamicTimeSetting,
@@ -204,6 +206,7 @@ const dfsSubmit = arr => {
fieldId: '',
filterType: '',
term: '',
timeType: 'year',
type: 'tree',
value: '',
filterTypeTime: 'dateValue',
@@ -220,6 +223,7 @@ const dfsSubmit = arr => {
filterType,
deType,
term,
timeType,
value,
name,
timeValue
@@ -234,6 +238,7 @@ const dfsSubmit = arr => {
filterTypeTime,
dynamicTimeSetting,
term,
timeType,
value,
type: 'item',
subTree: null
@@ -375,6 +380,7 @@ const addCondReal = (type, logic) => {
value: '',
enumValue: '',
term: '',
timeType: 'year',
filterType: 'logic',
name: '',
timeValue: '',

View File

@@ -70,6 +70,7 @@ const add = (type, child, logic) => {
term: '',
filterType: 'logic',
name: '',
timeType: 'year',
filterTypeTime: 'dateValue',
timeValue: '',
dynamicTimeSetting: {},

View File

@@ -93,13 +93,14 @@ const dfsInit = arr => {
const child = dfsInit(items)
elementList.push({ logic, child })
} else {
const { enumValue, fieldId, filterType, term, value, timeValue, field } = ele
const { enumValue, fieldId, filterType, term, timeType, value, timeValue, field } = ele
const { name, deType } = field || {}
elementList.push({
enumValue: enumValue.join(','),
fieldId,
filterType,
term,
timeType,
timeValue,
value,
name,
@@ -121,13 +122,14 @@ const dfsSubmit = arr => {
fieldId: '',
filterType: '',
term: '',
timeType: 'year',
type: 'tree',
value: '',
timeValue: '',
subTree: { logic, items: subTree }
})
} else {
const { enumValue, fieldId, filterType, deType, term, value, name, timeValue } = ele
const { enumValue, fieldId, filterType, deType, term, value, timeType, name, timeValue } = ele
errorDetected({ deType, enumValue, filterType, term, value, name, timeValue })
if (fieldId) {
items.push({
@@ -136,6 +138,7 @@ const dfsSubmit = arr => {
timeValue,
filterType,
term,
timeType,
value,
type: 'item',
subTree: null
@@ -278,6 +281,7 @@ const addCondReal = (type, logic) => {
enumValue: '',
term: '',
filterType: 'logic',
timeType: 'year',
name: '',
timeValue: '',
deType: ''

View File

@@ -68,6 +68,7 @@ const add = (type, child, logic) => {
value: '',
enumValue: '',
term: '',
timeType: 'year',
filterType: 'logic',
name: '',
deType: ''

View File

@@ -37,6 +37,7 @@ const props = withDefaults(defineProps<Props>(), {
term: '',
fieldId: '',
filterType: '',
timeType: 'year',
deType: 0,
enumValue: '',
name: '',

View File

@@ -77,7 +77,7 @@ const dfsInit = arr => {
const child = dfsInit(items)
elementList.push({ logic, child })
} else {
const { enumValue, fieldId, filterType, term, value, field } = ele
const { enumValue, fieldId, filterType, term, timeType, value, field } = ele
const { name, deType } = field || {}
elementList.push({
enumValue: enumValue.join(','),
@@ -85,6 +85,7 @@ const dfsInit = arr => {
filterType,
term,
value,
timeType,
name,
deType
})
@@ -104,12 +105,13 @@ const dfsSubmit = arr => {
fieldId: '',
filterType: '',
term: '',
timeType: 'year',
type: 'tree',
value: '',
subTree: { logic, items: subTree }
})
} else {
const { enumValue, fieldId, filterType, deType, term, value, name } = ele
const { enumValue, fieldId, filterType, deType, term, timeType, value, name } = ele
errorDetected({ deType, enumValue, filterType, term, value, name })
if (fieldId) {
items.push({
@@ -117,6 +119,7 @@ const dfsSubmit = arr => {
fieldId,
filterType,
term,
timeType,
value,
type: 'item',
subTree: null
@@ -258,6 +261,7 @@ const addCondReal = (type, logic) => {
value: '',
enumValue: '',
term: '',
timeType: 'year',
filterType: 'logic',
name: '',
deType: ''