This commit is contained in:
2026-03-09 09:39:08 +08:00
parent 1b24d0284e
commit a75f9805a8
6 changed files with 69 additions and 9 deletions

View File

@ -46,6 +46,7 @@
watch(
() => props.value,
(val) => {
debugger;
modelValue.value = val ? dayjs(val) : undefined;
},
{

View File

@ -11,6 +11,8 @@ import {
} from 'ant-design-vue';
import type { ComponentType } from './types/componentType';
import { ApiSelect, ApiTreeSelect } from '/@/components/Form';
import { RangePicker } from '/@/components/RangePicker';
import { XjrDatePicker } from '/@/components/DatePicker';
const componentMap = new Map<ComponentType, Component>();
@ -22,9 +24,11 @@ componentMap.set('AutoComplete', AutoComplete);
componentMap.set('ApiTreeSelect', ApiTreeSelect);
componentMap.set('Switch', Switch);
componentMap.set('Checkbox', Checkbox);
componentMap.set('DatePicker', DatePicker);
componentMap.set('TimePicker', TimePicker);
componentMap.set('DatePicker', XjrDatePicker);
componentMap.set('RangePicker', RangePicker);
export function add(compName: ComponentType, component: Component) {
componentMap.set(compName, component);
}

View File

@ -1,8 +1,10 @@
<template>
<a-range-picker :size="size" v-model:value="modelValue" :placeholder="placeholder" :format="format" :valueFormat="format" :allowClear="allowClear" :disabled="disabled" @change="handleChange" />
<a-range-picker :size="size" v-model:value="modelValue" :placeholder="placeholder" :allowClear="allowClear" :disabled="disabled"
@input.stop="() => {}" @keydown.stop="() => {}" :inputReadOnly="true" @keyup.stop="() => {}" @change.stop="handleChange" />
</template>
<script lang="ts" setup>
import { ref, watchEffect, inject, watch } from 'vue';
import { ref, watchEffect, inject, watch } from 'vue';
import dayjs, { Dayjs } from 'dayjs';
const props = defineProps({
value: Array,
@ -29,11 +31,12 @@
watch(
() => props.value,
(val: any) => {
debugger;
modelValue.value = props.valueType == 'Array' ? val || [] : val ? val.split(',') : '';
},
{
immediate: true
}
{
immediate: true
}
);
watchEffect(() => {
@ -41,6 +44,7 @@
// emit('update:value', []);
// return;
// }
debugger;
if (props.mainKey) {
if (!formModel[props.mainKey]) return;
const emitData =
@ -55,7 +59,9 @@
}
}
});
const handleChange = (time) => {
const handleChange = (time,e) => {
debugger;
console.log(time,e);
emit('update:value', props.valueType == 'Array' || !time ? time : time.join(','));
emit('change', props.valueType == 'Array' || !time ? time : time.join(','));
if (formModel && props.startField && props.endField) {

View File

@ -11,6 +11,8 @@ import {
} from 'ant-design-vue';
import type { ComponentType } from './types/componentType';
import { ApiSelect, ApiTreeSelect } from '/@/components/Form';
import { RangePicker } from '/@/components/RangePicker';
import { XjrDatePicker } from '/@/components/DatePicker';
const componentMap = new Map<ComponentType, Component>();
@ -22,8 +24,9 @@ componentMap.set('AutoComplete', AutoComplete);
componentMap.set('ApiTreeSelect', ApiTreeSelect);
componentMap.set('Switch', Switch);
componentMap.set('Checkbox', Checkbox);
componentMap.set('DatePicker', DatePicker);
componentMap.set('DatePicker', XjrDatePicker);
componentMap.set('TimePicker', TimePicker);
componentMap.set('RangePicker', RangePicker);
export function add(compName: ComponentType, component: Component) {
componentMap.set(compName, component);