feat: 时间范围选择器,设置可以返回数组或字符串形式
This commit is contained in:
@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user