mirror of
https://github.com/dataease/dataease.git
synced 2026-05-16 22:41:06 +08:00
feat(xpack): 筛选时间时,支持选择时间粒度,然后通过控件的形式选择日期
This commit is contained in:
@@ -72,6 +72,7 @@ const add = (type, child, logic) => {
|
||||
name: '',
|
||||
filterTypeTime: 'dateValue',
|
||||
timeValue: '',
|
||||
timeType: 'year',
|
||||
dynamicTimeSetting: {},
|
||||
deType: ''
|
||||
}
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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: '',
|
||||
|
||||
@@ -70,6 +70,7 @@ const add = (type, child, logic) => {
|
||||
term: '',
|
||||
filterType: 'logic',
|
||||
name: '',
|
||||
timeType: 'year',
|
||||
filterTypeTime: 'dateValue',
|
||||
timeValue: '',
|
||||
dynamicTimeSetting: {},
|
||||
|
||||
@@ -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: ''
|
||||
|
||||
@@ -68,6 +68,7 @@ const add = (type, child, logic) => {
|
||||
value: '',
|
||||
enumValue: '',
|
||||
term: '',
|
||||
timeType: 'year',
|
||||
filterType: 'logic',
|
||||
name: '',
|
||||
deType: ''
|
||||
|
||||
@@ -37,6 +37,7 @@ const props = withDefaults(defineProps<Props>(), {
|
||||
term: '',
|
||||
fieldId: '',
|
||||
filterType: '',
|
||||
timeType: 'year',
|
||||
deType: 0,
|
||||
enumValue: '',
|
||||
name: '',
|
||||
|
||||
@@ -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: ''
|
||||
|
||||
Reference in New Issue
Block a user