feat: 时间范围选择器,设置可以返回数组或字符串形式

This commit is contained in:
GAOANG
2025-06-20 16:00:23 +08:00
parent 7b83ea7262
commit e9e4d4d90b

View File

@ -26,6 +26,10 @@
mainKey: String, mainKey: String,
//组件在子表中的Index //组件在子表中的Index
tableIndex: Number, tableIndex: Number,
valueType: {
default: 'Array',
type: String
}
}); });
const formModel = inject<any>('formModel', null); const formModel = inject<any>('formModel', null);
@ -34,7 +38,7 @@
watch( watch(
() => props.value, () => props.value,
(val: any) => { (val: any) => {
modelValue.value = val || []; modelValue.value = props.valueType == 'Array' ? val : val.split(',');
}, },
{ {
immediate: true, immediate: true,
@ -56,20 +60,20 @@
formModel[props.mainKey][props.tableIndex!]?.[props.startField!], formModel[props.mainKey][props.tableIndex!]?.[props.startField!],
formModel[props.mainKey][props.tableIndex!]?.[props.endField!], formModel[props.mainKey][props.tableIndex!]?.[props.endField!],
]; ];
emit('update:value', emitData); emit('update:value', props.valueType == 'Array' || !emitData ? emitData : emitData.join(','));
} else { } else {
if (props.startField && props.endField && Object.keys(formModel).length) { if (props.startField && props.endField && Object.keys(formModel).length) {
const emitData = const emitData =
!formModel[props.startField] || !formModel[props.endField] !formModel[props.startField] || !formModel[props.endField]
? null ? null
: [formModel[props.startField], formModel[props.endField]]; : [formModel[props.startField], formModel[props.endField]];
emit('update:value', emitData); emit('update:value', props.valueType == 'Array' || !emitData ? emitData : emitData.join(','));
} }
} }
}); });
const handleChange = (time) => { const handleChange = (time) => {
emit('update:value', time); emit('update:value', props.valueType == 'Array' || !time ? time : time.join(','));
emit('change', time); emit('change', props.valueType == 'Array' || !time ? time : time.join(','));
if (formModel && props.startField && props.endField) { if (formModel && props.startField && props.endField) {
if (props.mainKey) { if (props.mainKey) {
formModel[props.mainKey][props.tableIndex!][props.startField!] = time?.length formModel[props.mainKey][props.tableIndex!][props.startField!] = time?.length