fix: fix the form-api reactive failure inside the form (#4590)
* fix: fix the form-api reactive failure inside the formpull/48/MERGE
							parent
							
								
									8ad2b8665d
								
							
						
					
					
						commit
						2dbd323b2a
					
				|  | @ -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:", | ||||||
|  |  | ||||||
|  | @ -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'); | ||||||
|  |     }, | ||||||
|  |   }); | ||||||
|  | } | ||||||
|  | @ -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); | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -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" | ||||||
|  |  | ||||||
|  | @ -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, | ||||||
|     }, |     }, | ||||||
|  |  | ||||||
|  | @ -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', | ||||||
|  |  | ||||||
|  | @ -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: { | ||||||
|  |  | ||||||
|  | @ -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', | ||||||
|  |  | ||||||
|  | @ -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> | ||||||
|  |  | ||||||
|  | @ -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, | ||||||
|  |  | ||||||
|  | @ -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: | ||||||
|  |  | ||||||
|  | @ -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 | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue
	
	 Vben
						Vben