fix: fix the form-api reactive failure inside the form (#4590)

* fix: fix the form-api reactive failure inside the form
pull/48/MERGE
Vben 2024-10-08 22:43:02 +08:00 committed by GitHub
parent 8ad2b8665d
commit 2dbd323b2a
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
12 changed files with 157 additions and 93 deletions

View File

@ -34,6 +34,7 @@
"@vben/types": "workspace:*", "@vben/types": "workspace:*",
"@vben/utils": "workspace:*", "@vben/utils": "workspace:*",
"@vueuse/core": "catalog:", "@vueuse/core": "catalog:",
"dayjs": "catalog:",
"echarts": "catalog:", "echarts": "catalog:",
"vue": "catalog:", "vue": "catalog:",
"vxe-pc-ui": "catalog:", "vxe-pc-ui": "catalog:",

View File

@ -0,0 +1,17 @@
import type { VxeUIExport } from 'vxe-table';
import dayjs from 'dayjs';
export function initDefaultFormatter(vxeUI: VxeUIExport) {
vxeUI.formats.add('formatDate', {
tableCellFormatMethod({ cellValue }) {
return dayjs(cellValue).format('YYYY-MM-DD');
},
});
vxeUI.formats.add('formatDateTime', {
tableCellFormatMethod({ cellValue }) {
return dayjs(cellValue).format('YYYY-MM-DD HH:mm:ss');
},
});
}

View File

@ -41,6 +41,8 @@ import {
VxeToolbar, VxeToolbar,
} from 'vxe-table'; } from 'vxe-table';
import { initDefaultFormatter } from './formatter';
// 是否加载过 // 是否加载过
let isInit = false; let isInit = false;
@ -118,5 +120,6 @@ export function setupVbenVxeTable(setupOptions: SetupVxeTable) {
}, },
); );
initDefaultFormatter(VxeUI);
configVxeTable(VxeUI); configVxeTable(VxeUI);
} }

View File

@ -14,6 +14,7 @@ import {
toRaw, toRaw,
useSlots, useSlots,
useTemplateRef, useTemplateRef,
watch,
} from 'vue'; } from 'vue';
import { usePriorityValues } from '@vben/hooks'; import { usePriorityValues } from '@vben/hooks';
@ -53,7 +54,27 @@ const { isMobile } = usePreferences();
const slots = useSlots(); const slots = useSlots();
const [Form, formApi] = useTableForm({}); const [Form, formApi] = useTableForm({
handleSubmit: async () => {
const formValues = formApi.form.values;
props.api.reload(formValues);
},
handleReset: async () => {
await formApi.resetForm();
const formValues = formApi.form.values;
props.api.reload(formValues);
},
commonConfig: {
componentProps: {
class: 'w-full',
},
},
showCollapseButton: true,
submitButtonOptions: {
content: $t('common.query'),
},
wrapperClass: 'grid-cols-1 md:grid-cols-2 lg:grid-cols-3',
});
const showToolbar = computed(() => { const showToolbar = computed(() => {
return !!slots['toolbar-actions']?.() || !!slots['toolbar-tools']?.(); return !!slots['toolbar-actions']?.() || !!slots['toolbar-tools']?.();
@ -136,40 +157,6 @@ const events = computed(() => {
}; };
}); });
const vbenFormOptions = computed(() => {
const defaultFormProps: VbenFormProps = {
handleSubmit: async () => {
const formValues = formApi.form.values;
props.api.reload(formValues);
},
handleReset: async () => {
await formApi.resetForm();
const formValues = formApi.form.values;
props.api.reload(formValues);
},
commonConfig: {
componentProps: {
class: 'w-full',
},
},
showCollapseButton: true,
submitButtonOptions: {
content: $t('common.query'),
},
wrapperClass: 'grid-cols-1 md:grid-cols-2 lg:grid-cols-3',
};
const finalFormOptions: VbenFormProps = mergeWithArrayOverride(
{},
formOptions.value,
defaultFormProps,
);
return {
...finalFormOptions,
collapseTriggerResize: !!finalFormOptions.showCollapseButton,
};
});
const delegatedSlots = computed(() => { const delegatedSlots = computed(() => {
const resultSlots: string[] = []; const resultSlots: string[] = [];
@ -215,6 +202,27 @@ async function init() {
); );
} }
} }
watch(
formOptions,
() => {
formApi.setState((prev) => {
const finalFormOptions: VbenFormProps = mergeWithArrayOverride(
{},
formOptions.value,
prev,
);
return {
...finalFormOptions,
collapseTriggerResize: !!finalFormOptions.showCollapseButton,
};
});
},
{
immediate: true,
},
);
onMounted(() => { onMounted(() => {
props.api?.mount?.(gridRef.value, formApi); props.api?.mount?.(gridRef.value, formApi);
init(); init();
@ -247,7 +255,7 @@ onMounted(() => {
<template #form> <template #form>
<div v-if="formOptions" class="relative rounded py-3 pb-4"> <div v-if="formOptions" class="relative rounded py-3 pb-4">
<slot name="form"> <slot name="form">
<Form v-bind="vbenFormOptions"> <Form>
<template <template
v-for="slotName in delegatedFormSlots" v-for="slotName in delegatedFormSlots"
:key="slotName" :key="slotName"

View File

@ -4,7 +4,6 @@ import type { VxeGridProps } from '#/adapter';
import { Page } from '@vben/common-ui'; import { Page } from '@vben/common-ui';
import { Button, Image, Switch, Tag } from 'ant-design-vue'; import { Button, Image, Switch, Tag } from 'ant-design-vue';
import dayjs from 'dayjs';
import { useVbenVxeGrid } from '#/adapter'; import { useVbenVxeGrid } from '#/adapter';
import { getExampleTableApi } from '#/api'; import { getExampleTableApi } from '#/api';
@ -58,9 +57,7 @@ const gridOptions: VxeGridProps<RowType> = {
{ field: 'price', title: 'Price', width: 100 }, { field: 'price', title: 'Price', width: 100 },
{ {
field: 'releaseDate', field: 'releaseDate',
formatter: ({ cellValue }) => { formatter: 'formatDateTime',
return dayjs(cellValue).format('YYYY-MM-DD HH:mm:ss');
},
title: 'Date', title: 'Date',
width: 200, width: 200,
}, },

View File

@ -26,7 +26,7 @@ const gridOptions: VxeGridProps<RowType> = {
title: 'Product Name', title: 'Product Name',
}, },
{ field: 'price', title: 'Price' }, { field: 'price', title: 'Price' },
{ field: 'releaseDate', title: 'Date' }, { field: 'releaseDate', formatter: 'formatDateTime', title: 'Date' },
], ],
editConfig: { editConfig: {
mode: 'cell', mode: 'cell',

View File

@ -28,7 +28,7 @@ const gridOptions: VxeGridProps<RowType> = {
title: 'Product Name', title: 'Product Name',
}, },
{ field: 'price', title: 'Price' }, { field: 'price', title: 'Price' },
{ field: 'releaseDate', title: 'Date' }, { field: 'releaseDate', formatter: 'formatDateTime', title: 'Date' },
{ slots: { default: 'action' }, title: '操作' }, { slots: { default: 'action' }, title: '操作' },
], ],
editConfig: { editConfig: {

View File

@ -24,7 +24,18 @@ const gridOptions: VxeGridProps<RowType> = {
{ field: 'color', title: 'Color', width: 300 }, { field: 'color', title: 'Color', width: 300 },
{ field: 'productName', title: 'Product Name', width: 300 }, { field: 'productName', title: 'Product Name', width: 300 },
{ field: 'price', title: 'Price', width: 300 }, { field: 'price', title: 'Price', width: 300 },
{ field: 'releaseDate', title: 'Date', width: 500 }, {
field: 'releaseDate',
formatter: 'formatDateTime',
title: 'DateTime',
width: 500,
},
{
field: 'releaseDate',
formatter: 'formatDate',
title: 'Date',
width: 300,
},
{ {
field: 'action', field: 'action',
fixed: 'right', fixed: 'right',

View File

@ -18,6 +18,7 @@ interface RowType {
} }
const formOptions: VbenFormProps = { const formOptions: VbenFormProps = {
collapsed: true,
schema: [ schema: [
{ {
component: 'Input', component: 'Input',
@ -73,7 +74,7 @@ const gridOptions: VxeGridProps<RowType> = {
{ field: 'color', title: 'Color' }, { field: 'color', title: 'Color' },
{ field: 'productName', title: 'Product Name' }, { field: 'productName', title: 'Product Name' },
{ field: 'price', title: 'Price' }, { field: 'price', title: 'Price' },
{ field: 'releaseDate', title: 'Date' }, { field: 'releaseDate', formatter: 'formatDateTime', title: 'Date' },
], ],
height: 'auto', height: 'auto',
keepSource: true, keepSource: true,
@ -95,13 +96,11 @@ const gridOptions: VxeGridProps<RowType> = {
const [Grid, gridApi] = useVbenVxeGrid({ formOptions, gridOptions }); const [Grid, gridApi] = useVbenVxeGrid({ formOptions, gridOptions });
function toggleFormCollspae() { function toggleFormCollspae() {
gridApi.formApi.resetForm(); gridApi.formApi.setState((prev) => {
gridApi.setState({ return {
formOptions: { ...prev,
showCollapseButton: !( showCollapseButton: !prev.showCollapseButton,
gridApi.state?.formOptions?.showCollapseButton ?? true };
),
},
}); });
} }
</script> </script>

View File

@ -29,7 +29,8 @@ const gridOptions: VxeGridProps<RowType> = {
{ field: 'color', title: 'Color' }, { field: 'color', title: 'Color' },
{ field: 'productName', title: 'Product Name' }, { field: 'productName', title: 'Product Name' },
{ field: 'price', title: 'Price' }, { field: 'price', title: 'Price' },
{ field: 'releaseDate', title: 'Date' }, { field: 'releaseDate', formatter: 'formatDateTime', title: 'DateTime' },
{ field: 'releaseDate', formatter: 'formatDate', title: 'Date' },
], ],
height: 'auto', height: 'auto',
keepSource: true, keepSource: true,

View File

@ -55,8 +55,8 @@ catalogs:
specifier: ^2.5.0 specifier: ^2.5.0
version: 2.5.0 version: 2.5.0
'@playwright/test': '@playwright/test':
specifier: ^1.47.2 specifier: ^1.48.0
version: 1.47.2 version: 1.48.0
'@stylistic/stylelint-plugin': '@stylistic/stylelint-plugin':
specifier: ^3.1.1 specifier: ^3.1.1
version: 3.1.1 version: 3.1.1
@ -295,8 +295,8 @@ catalogs:
specifier: ^4.5.0 specifier: ^4.5.0
version: 4.5.0 version: 4.5.0
lucide-vue-next: lucide-vue-next:
specifier: ^0.447.0 specifier: ^0.451.0
version: 0.447.0 version: 0.451.0
medium-zoom: medium-zoom:
specifier: ^1.1.0 specifier: ^1.1.0
version: 1.1.0 version: 1.1.0
@ -319,11 +319,11 @@ catalogs:
specifier: ^4.1.1 specifier: ^4.1.1
version: 4.1.1 version: 4.1.1
pkg-types: pkg-types:
specifier: ^1.2.0 specifier: ^1.2.1
version: 1.2.0 version: 1.2.1
playwright: playwright:
specifier: ^1.47.2 specifier: ^1.48.0
version: 1.47.2 version: 1.48.0
postcss: postcss:
specifier: ^8.4.47 specifier: ^8.4.47
version: 8.4.47 version: 8.4.47
@ -475,8 +475,8 @@ catalogs:
specifier: ^2.1.6 specifier: ^2.1.6
version: 2.1.6 version: 2.1.6
vxe-pc-ui: vxe-pc-ui:
specifier: ^4.2.16 specifier: ^4.2.18
version: 4.2.16 version: 4.2.18
vxe-table: vxe-table:
specifier: ^4.7.86 specifier: ^4.7.86
version: 4.7.86 version: 4.7.86
@ -508,7 +508,7 @@ importers:
version: 2.27.9 version: 2.27.9
'@playwright/test': '@playwright/test':
specifier: 'catalog:' specifier: 'catalog:'
version: 1.47.2 version: 1.48.0
'@types/node': '@types/node':
specifier: 'catalog:' specifier: 'catalog:'
version: 22.7.5 version: 22.7.5
@ -571,7 +571,7 @@ importers:
version: 15.2.10 version: 15.2.10
playwright: playwright:
specifier: 'catalog:' specifier: 'catalog:'
version: 1.47.2 version: 1.48.0
rimraf: rimraf:
specifier: 'catalog:' specifier: 'catalog:'
version: 6.0.1 version: 6.0.1
@ -828,7 +828,7 @@ importers:
version: 4.2.5(vue@3.5.11(typescript@5.6.2)) version: 4.2.5(vue@3.5.11(typescript@5.6.2))
lucide-vue-next: lucide-vue-next:
specifier: 'catalog:' specifier: 'catalog:'
version: 0.447.0(vue@3.5.11(typescript@5.6.2)) version: 0.451.0(vue@3.5.11(typescript@5.6.2))
medium-zoom: medium-zoom:
specifier: 'catalog:' specifier: 'catalog:'
version: 1.1.0 version: 1.1.0
@ -1035,7 +1035,7 @@ importers:
version: 8.1.0 version: 8.1.0
pkg-types: pkg-types:
specifier: 'catalog:' specifier: 'catalog:'
version: 1.2.0 version: 1.2.1
prettier: prettier:
specifier: 'catalog:' specifier: 'catalog:'
version: 3.3.3 version: 3.3.3
@ -1193,7 +1193,7 @@ importers:
version: 4.1.2(vue@3.5.11(typescript@5.6.2)) version: 4.1.2(vue@3.5.11(typescript@5.6.2))
lucide-vue-next: lucide-vue-next:
specifier: 'catalog:' specifier: 'catalog:'
version: 0.447.0(vue@3.5.11(typescript@5.6.2)) version: 0.451.0(vue@3.5.11(typescript@5.6.2))
vue: vue:
specifier: ^3.5.11 specifier: ^3.5.11
version: 3.5.11(typescript@5.6.2) version: 3.5.11(typescript@5.6.2)
@ -1402,7 +1402,7 @@ importers:
version: 0.7.0 version: 0.7.0
lucide-vue-next: lucide-vue-next:
specifier: 'catalog:' specifier: 'catalog:'
version: 0.447.0(vue@3.5.11(typescript@5.6.2)) version: 0.451.0(vue@3.5.11(typescript@5.6.2))
radix-vue: radix-vue:
specifier: 'catalog:' specifier: 'catalog:'
version: 1.9.7(vue@3.5.11(typescript@5.6.2)) version: 1.9.7(vue@3.5.11(typescript@5.6.2))
@ -1626,6 +1626,9 @@ importers:
'@vueuse/core': '@vueuse/core':
specifier: 'catalog:' specifier: 'catalog:'
version: 11.1.0(vue@3.5.11(typescript@5.6.2)) version: 11.1.0(vue@3.5.11(typescript@5.6.2))
dayjs:
specifier: 'catalog:'
version: 1.11.13
echarts: echarts:
specifier: 'catalog:' specifier: 'catalog:'
version: 5.5.1 version: 5.5.1
@ -1634,7 +1637,7 @@ importers:
version: 3.5.11(typescript@5.6.2) version: 3.5.11(typescript@5.6.2)
vxe-pc-ui: vxe-pc-ui:
specifier: 'catalog:' specifier: 'catalog:'
version: 4.2.16 version: 4.2.18
vxe-table: vxe-table:
specifier: 'catalog:' specifier: 'catalog:'
version: 4.7.86 version: 4.7.86
@ -4240,8 +4243,8 @@ packages:
resolution: {integrity: sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==} resolution: {integrity: sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==}
engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0}
'@playwright/test@1.47.2': '@playwright/test@1.48.0':
resolution: {integrity: sha512-jTXRsoSPONAs8Za9QEQdyjFn+0ZQFjCiIztAIF6bi1HqhBzG9Ma7g1WotyiGqFSBRZjIEqMdT8RUlbk1QVhzCQ==} resolution: {integrity: sha512-W5lhqPUVPqhtc/ySvZI5Q8X2ztBOUgZ8LbAFy0JQgrXZs2xaILrUcNO3rQjwbLPfGK13+rZsDa1FpG+tqYkT5w==}
engines: {node: '>=18'} engines: {node: '>=18'}
hasBin: true hasBin: true
@ -5612,6 +5615,9 @@ packages:
confbox@0.1.7: confbox@0.1.7:
resolution: {integrity: sha512-uJcB/FKZtBMCJpK8MQji6bJHgu1tixKPxRLeGkNzBoOZzpnZUJm0jm2/sBDWcuBx1dYgxV4JU+g5hmNxCyAmdA==} resolution: {integrity: sha512-uJcB/FKZtBMCJpK8MQji6bJHgu1tixKPxRLeGkNzBoOZzpnZUJm0jm2/sBDWcuBx1dYgxV4JU+g5hmNxCyAmdA==}
confbox@0.1.8:
resolution: {integrity: sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==}
config-chain@1.1.13: config-chain@1.1.13:
resolution: {integrity: sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==} resolution: {integrity: sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==}
@ -7644,8 +7650,8 @@ packages:
resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==}
engines: {node: '>=10'} engines: {node: '>=10'}
lucide-vue-next@0.447.0: lucide-vue-next@0.451.0:
resolution: {integrity: sha512-NXD61EHwgdIHZsVxFGYHowrPZnhWJOByVJ23LJB28BnXII29Cg157DmIbvrJ7idwbfhwYhCZ2moRfKOCwIvNiw==} resolution: {integrity: sha512-EJ3tDuZqFdps6wt4hhqJ/EzCE7KbhClkncvnqXiVE6Ni5jzA5XS1Ut5yCGXjO/GBIe39t3qmNRQIRszqdCDuBA==}
peerDependencies: peerDependencies:
vue: ^3.5.11 vue: ^3.5.11
@ -7851,6 +7857,9 @@ packages:
mlly@1.7.1: mlly@1.7.1:
resolution: {integrity: sha512-rrVRZRELyQzrIUAVMHxP97kv+G786pHmOKzuFII8zDYahFBS7qnHh2AlYSl1GAHhaMPCz6/oHjVMcfFYgFYHgA==} resolution: {integrity: sha512-rrVRZRELyQzrIUAVMHxP97kv+G786pHmOKzuFII8zDYahFBS7qnHh2AlYSl1GAHhaMPCz6/oHjVMcfFYgFYHgA==}
mlly@1.7.2:
resolution: {integrity: sha512-tN3dvVHYVz4DhSXinXIk7u9syPYaJvio118uomkovAtWBT+RdbP6Lfh/5Lvo519YMmwBafwlh20IPTXIStscpA==}
mri@1.2.0: mri@1.2.0:
resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==} resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==}
engines: {node: '>=4'} engines: {node: '>=4'}
@ -8286,13 +8295,16 @@ packages:
pkg-types@1.2.0: pkg-types@1.2.0:
resolution: {integrity: sha512-+ifYuSSqOQ8CqP4MbZA5hDpb97n3E8SVWdJe+Wms9kj745lmd3b7EZJiqvmLwAlmRfjrI7Hi5z3kdBJ93lFNPA==} resolution: {integrity: sha512-+ifYuSSqOQ8CqP4MbZA5hDpb97n3E8SVWdJe+Wms9kj745lmd3b7EZJiqvmLwAlmRfjrI7Hi5z3kdBJ93lFNPA==}
playwright-core@1.47.2: pkg-types@1.2.1:
resolution: {integrity: sha512-3JvMfF+9LJfe16l7AbSmU555PaTl2tPyQsVInqm3id16pdDfvZ8TTZ/pyzmkbDrZTQefyzU7AIHlZqQnxpqHVQ==} resolution: {integrity: sha512-sQoqa8alT3nHjGuTjuKgOnvjo4cljkufdtLMnO2LBP/wRwuDlo1tkaEdMxCRhyGRPacv/ztlZgDPm2b7FAmEvw==}
playwright-core@1.48.0:
resolution: {integrity: sha512-RBvzjM9rdpP7UUFrQzRwR8L/xR4HyC1QXMzGYTbf1vjw25/ya9NRAVnXi/0fvFopjebvyPzsmoK58xxeEOaVvA==}
engines: {node: '>=18'} engines: {node: '>=18'}
hasBin: true hasBin: true
playwright@1.47.2: playwright@1.48.0:
resolution: {integrity: sha512-nx1cLMmQWqmA3UsnjaaokyoUpdVaaDhJhMoxX2qj3McpjnsqFHs516QAKYhqHAgOP+oCFTEOCOAaD1RgD/RQfA==} resolution: {integrity: sha512-qPqFaMEHuY/ug8o0uteYJSRfMGFikhUysk8ZvAtfKmUK3kc/6oNl/y3EczF8OFGYIi/Ex2HspMfzYArk6+XQSA==}
engines: {node: '>=18'} engines: {node: '>=18'}
hasBin: true hasBin: true
@ -10254,8 +10266,8 @@ packages:
peerDependencies: peerDependencies:
vue: ^3.5.11 vue: ^3.5.11
vxe-pc-ui@4.2.16: vxe-pc-ui@4.2.18:
resolution: {integrity: sha512-gq6GXKnEPyxzIQx4T4LNtt15kl3KZqq+U11c4MniPK/9QOUuRva1oEocvMXAFtz17aL1zLDXrAq2rmrbebDHVQ==} resolution: {integrity: sha512-OfS3h7YitqwGCk4ILMUyFTBEtXnv3DnTvT7R2DYjG9O1fr6tY2EbRfnpaMMKUCfSHbq/7AyOJJNJz7/g6u8ucw==}
vxe-table@4.7.86: vxe-table@4.7.86:
resolution: {integrity: sha512-7VJjOb/jZf6JMobFER6ZfJI6Mt5L7N85dEOSLR20ZXwfSxRF6vfkXb7kAvuZ4FOXJxT2D7yaAEICPZHPCwwp4g==} resolution: {integrity: sha512-7VJjOb/jZf6JMobFER6ZfJI6Mt5L7N85dEOSLR20ZXwfSxRF6vfkXb7kAvuZ4FOXJxT2D7yaAEICPZHPCwwp4g==}
@ -13122,9 +13134,9 @@ snapshots:
'@pkgr/core@0.1.1': {} '@pkgr/core@0.1.1': {}
'@playwright/test@1.47.2': '@playwright/test@1.48.0':
dependencies: dependencies:
playwright: 1.47.2 playwright: 1.48.0
'@pnpm/config.env-replace@1.1.0': {} '@pnpm/config.env-replace@1.1.0': {}
@ -14762,6 +14774,8 @@ snapshots:
confbox@0.1.7: {} confbox@0.1.7: {}
confbox@0.1.8: {}
config-chain@1.1.13: config-chain@1.1.13:
dependencies: dependencies:
ini: 1.3.8 ini: 1.3.8
@ -17045,7 +17059,7 @@ snapshots:
dependencies: dependencies:
yallist: 4.0.0 yallist: 4.0.0
lucide-vue-next@0.447.0(vue@3.5.11(typescript@5.6.2)): lucide-vue-next@0.451.0(vue@3.5.11(typescript@5.6.2)):
dependencies: dependencies:
vue: 3.5.11(typescript@5.6.2) vue: 3.5.11(typescript@5.6.2)
@ -17260,6 +17274,13 @@ snapshots:
pkg-types: 1.2.0 pkg-types: 1.2.0
ufo: 1.5.4 ufo: 1.5.4
mlly@1.7.2:
dependencies:
acorn: 8.12.1
pathe: 1.1.2
pkg-types: 1.2.1
ufo: 1.5.4
mri@1.2.0: {} mri@1.2.0: {}
mrmime@2.0.0: {} mrmime@2.0.0: {}
@ -17772,11 +17793,17 @@ snapshots:
mlly: 1.7.1 mlly: 1.7.1
pathe: 1.1.2 pathe: 1.1.2
playwright-core@1.47.2: {} pkg-types@1.2.1:
playwright@1.47.2:
dependencies: dependencies:
playwright-core: 1.47.2 confbox: 0.1.8
mlly: 1.7.2
pathe: 1.1.2
playwright-core@1.48.0: {}
playwright@1.48.0:
dependencies:
playwright-core: 1.48.0
optionalDependencies: optionalDependencies:
fsevents: 2.3.2 fsevents: 2.3.2
@ -19942,13 +19969,13 @@ snapshots:
vooks: 0.2.12(vue@3.5.11(typescript@5.6.2)) vooks: 0.2.12(vue@3.5.11(typescript@5.6.2))
vue: 3.5.11(typescript@5.6.2) vue: 3.5.11(typescript@5.6.2)
vxe-pc-ui@4.2.16: vxe-pc-ui@4.2.18:
dependencies: dependencies:
'@vxe-ui/core': 4.0.13 '@vxe-ui/core': 4.0.13
vxe-table@4.7.86: vxe-table@4.7.86:
dependencies: dependencies:
vxe-pc-ui: 4.2.16 vxe-pc-ui: 4.2.18
warning@4.0.3: warning@4.0.3:
dependencies: dependencies:

View File

@ -30,7 +30,7 @@ catalog:
'@jspm/generator': ^2.3.1 '@jspm/generator': ^2.3.1
'@manypkg/get-packages': ^2.2.2 '@manypkg/get-packages': ^2.2.2
'@nolebase/vitepress-plugin-git-changelog': ^2.5.0 '@nolebase/vitepress-plugin-git-changelog': ^2.5.0
'@playwright/test': ^1.47.2 '@playwright/test': ^1.48.0
'@stylistic/stylelint-plugin': ^3.1.1 '@stylistic/stylelint-plugin': ^3.1.1
'@tailwindcss/nesting': 0.0.0-insiders.565cd3e '@tailwindcss/nesting': 0.0.0-insiders.565cd3e
'@tailwindcss/typography': ^0.5.15 '@tailwindcss/typography': ^0.5.15
@ -111,7 +111,7 @@ catalog:
jsonwebtoken: ^9.0.2 jsonwebtoken: ^9.0.2
lint-staged: ^15.2.10 lint-staged: ^15.2.10
lodash.clonedeep: ^4.5.0 lodash.clonedeep: ^4.5.0
lucide-vue-next: ^0.447.0 lucide-vue-next: ^0.451.0
medium-zoom: ^1.1.0 medium-zoom: ^1.1.0
naive-ui: ^2.40.1 naive-ui: ^2.40.1
nanoid: ^5.0.7 nanoid: ^5.0.7
@ -120,8 +120,8 @@ catalog:
ora: ^8.1.0 ora: ^8.1.0
pinia: 2.2.2 pinia: 2.2.2
pinia-plugin-persistedstate: ^4.1.1 pinia-plugin-persistedstate: ^4.1.1
pkg-types: ^1.2.0 pkg-types: ^1.2.1
playwright: ^1.47.2 playwright: ^1.48.0
postcss: ^8.4.47 postcss: ^8.4.47
postcss-antd-fixes: ^0.2.0 postcss-antd-fixes: ^0.2.0
postcss-html: ^1.7.0 postcss-html: ^1.7.0
@ -173,7 +173,7 @@ catalog:
vue-i18n: ^10.0.4 vue-i18n: ^10.0.4
vue-router: ^4.4.5 vue-router: ^4.4.5
vue-tsc: ^2.1.6 vue-tsc: ^2.1.6
vxe-pc-ui: ^4.2.16 vxe-pc-ui: ^4.2.18
vxe-table: ^4.7.86 vxe-table: ^4.7.86
watermark-js-plus: ^1.5.7 watermark-js-plus: ^1.5.7
zod: ^3.23.8 zod: ^3.23.8