---初始化后台管理web页面项目

This commit is contained in:
2025-08-20 14:39:30 +08:00
parent ad49711a7e
commit 87545a8baf
2057 changed files with 282864 additions and 213 deletions

View File

@ -0,0 +1,4 @@
import { withInstall } from '/@/utils/index';
import datepicker from './src/DatePicker.vue';
export const XjrDatePicker = withInstall(datepicker);

View File

@ -0,0 +1,58 @@
<template>
<a-date-picker
:size="size"
v-model:value="modelValue"
:placeholder="placeholder"
:format="format"
:valueFormat="format"
:allowClear="allowClear"
:disabled="originalDisabled || disabled"
:showTime="format === 'YYYY-MM-DD HH:mm:ss'"
:picker="picker"
@change="handleChange"
/>
</template>
<script lang="ts" setup>
import dayjs, {Dayjs} from 'dayjs';
import {ref, watch, computed} from 'vue';
const props = defineProps({
value: [dayjs, String, Object],
size: String,
placeholder: String,
format: String,
allowClear: Boolean,
disabled: Boolean,
originalDisabled: {
type: Boolean,
default: false
}
});
const modelValue = ref<Dayjs>();
const emit = defineEmits(['update:value']);
const picker = computed(() => {
let time = 'date';
switch (props.format) {
case 'YYYY-MM':
time = 'month';
break;
case 'YYYY':
time = 'year';
break;
}
return time;
});
watch(
() => props.value,
(val) => {
modelValue.value = val ? dayjs(val) : undefined;
},
{
immediate: true,
},
);
const handleChange = (time) => {
emit('update:value', time);
};
</script>