From f83002441d0040d9f43588b056c4c8c6037085e0 Mon Sep 17 00:00:00 2001 From: No name <88119911+doraemonxxx@users.noreply.github.com> Date: Tue, 4 Jun 2024 16:22:09 +0800 Subject: [PATCH 01/17] fix(dataSource): BasicTable Component with dataSource is not working (hot fix) (#3888) --- src/components/Table/src/hooks/useDataSource.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/src/components/Table/src/hooks/useDataSource.ts b/src/components/Table/src/hooks/useDataSource.ts index 34c544fa..d50464ea 100644 --- a/src/components/Table/src/hooks/useDataSource.ts +++ b/src/components/Table/src/hooks/useDataSource.ts @@ -146,6 +146,7 @@ export function useDataSource( }, { deep: true, + immediate: true, }, ); From 4974de255338472c02511dc4a8b8acdee6c8ef60 Mon Sep 17 00:00:00 2001 From: 1455668754 <1455668754@qq.com> Date: Tue, 4 Jun 2024 16:23:02 +0800 Subject: [PATCH 02/17] chore: typo destroy word --- src/components/Loading/src/createLoading.ts | 6 +++--- src/components/Loading/src/useLoading.ts | 4 ++-- src/directives/loading.ts | 4 ++-- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/components/Loading/src/createLoading.ts b/src/components/Loading/src/createLoading.ts index d7819df7..8c885418 100644 --- a/src/components/Loading/src/createLoading.ts +++ b/src/components/Loading/src/createLoading.ts @@ -1,4 +1,4 @@ -import { VNode, defineComponent, createVNode, render, reactive, h } from 'vue'; +import { createVNode, defineComponent, h, reactive, render, VNode } from 'vue'; import type { LoadingProps } from './typing'; import Loading from './Loading.vue'; @@ -41,7 +41,7 @@ export function createLoading(props?: Partial, target?: HTMLElemen target.appendChild(vm.el as HTMLElement); } - function destory() { + function destroy() { container && render(null, container); container = vm = null; } @@ -53,7 +53,7 @@ export function createLoading(props?: Partial, target?: HTMLElemen vm, close, open, - destory, + destroy, setTip: (tip: string) => { data.tip = tip; }, diff --git a/src/components/Loading/src/useLoading.ts b/src/components/Loading/src/useLoading.ts index 910e084e..97e7c718 100644 --- a/src/components/Loading/src/useLoading.ts +++ b/src/components/Loading/src/useLoading.ts @@ -1,5 +1,5 @@ -import { unref } from 'vue'; import type { Ref } from 'vue'; +import { unref } from 'vue'; import { tryOnUnmounted } from '@vueuse/core'; import { createLoading } from './createLoading'; import type { LoadingProps } from './typing'; @@ -47,7 +47,7 @@ export function useLoading( }; tryOnUnmounted(() => { - instance.destory(); + instance.destroy(); }); return [open, close, setTip]; diff --git a/src/directives/loading.ts b/src/directives/loading.ts index 242816b5..ead64927 100644 --- a/src/directives/loading.ts +++ b/src/directives/loading.ts @@ -1,5 +1,5 @@ import { createLoading } from '@/components/Loading'; -import type { Directive, App } from 'vue'; +import type { App, Directive } from 'vue'; const loadingDirective: Directive = { mounted(el, binding) { @@ -28,7 +28,7 @@ const loadingDirective: Directive = { } }, unmounted(el) { - el?.instance?.destory(); + el?.instance?.destroy(); }, }; From 1a5692060bb4b9ff431667dc6f5dd29cd5f8caef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=97=E5=A4=A7?= Date: Thu, 6 Jun 2024 11:31:50 +0800 Subject: [PATCH 03/17] =?UTF-8?q?perf:=20=E6=9C=AA=E7=99=BB=E5=BD=95?= =?UTF-8?q?=E9=87=8D=E5=AE=9A=E5=90=91=E8=B7=AF=E5=BE=84=E5=AD=98=E5=82=A8?= =?UTF-8?q?=E6=94=B9=E4=B8=BA=E5=AE=8C=E6=95=B4=E8=B7=AF=E5=BE=84=20(#3897?= =?UTF-8?q?)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/router/guard/permissionGuard.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/router/guard/permissionGuard.ts b/src/router/guard/permissionGuard.ts index 472e80bd..26132879 100644 --- a/src/router/guard/permissionGuard.ts +++ b/src/router/guard/permissionGuard.ts @@ -61,10 +61,10 @@ export function createPermissionGuard(router: Router) { path: LOGIN_PATH, replace: true, }; - if (to.path) { + if (to.fullPath) { redirectData.query = { ...redirectData.query, - redirect: to.path, + redirect: to.fullPath, }; } next(redirectData); From cca7f59faca52888340facd449d3a66ad0659ea3 Mon Sep 17 00:00:00 2001 From: Electrolux <59329360+electroluxcode@users.noreply.github.com> Date: Thu, 6 Jun 2024 15:27:15 +0800 Subject: [PATCH 04/17] fix(BasicForm->Upload): setValue and defaultValue uncertain && rule about first render (#3900) * chore: upload component defaulttype should be array * chore: upload component setFieldsValue should be array * chore(upload): split event between change and update:value * update * update --- src/components/Form/src/BasicForm.vue | 19 +++++++----- src/components/Form/src/helper.ts | 11 ++++++- .../Form/src/hooks/useFormEvents.ts | 30 +++++++++++++++++-- src/components/Upload/src/BasicUpload.vue | 13 ++++++-- .../Upload/src/components/ImageUpload.vue | 10 +++++-- 5 files changed, 66 insertions(+), 17 deletions(-) diff --git a/src/components/Form/src/BasicForm.vue b/src/components/Form/src/BasicForm.vue index 13ce15db..63e942c9 100644 --- a/src/components/Form/src/BasicForm.vue +++ b/src/components/Form/src/BasicForm.vue @@ -54,7 +54,7 @@ import { useFormValues } from './hooks/useFormValues'; import useAdvanced from './hooks/useAdvanced'; - import { useFormEvents } from './hooks/useFormEvents'; + import { itemIsUploadComponent, useFormEvents } from './hooks/useFormEvents'; import { createFormContext } from './hooks/useFormContext'; import { useAutoFocus } from './hooks/useAutoFocus'; import { useModalContext } from '@/components/Modal'; @@ -64,7 +64,7 @@ import { useDesign } from '@/hooks/web/useDesign'; import { cloneDeep } from 'lodash-es'; import { TableActionType } from '@/components/Table'; - import { isFunction } from '@/utils/is'; + import { isArray, isFunction } from '@/utils/is'; defineOptions({ name: 'BasicForm' }); @@ -165,14 +165,17 @@ schema.defaultValue = def; } } + // handle upload type + if (defaultValue && itemIsUploadComponent(schema?.component)) { + if (isArray(defaultValue)) { + schema.defaultValue = defaultValue; + } else if (typeof defaultValue == 'string') { + schema.defaultValue = [defaultValue]; + } + } // handle schema.valueFormat - if ( - isHandleDefaultValue && - defaultValue && - component && - isFunction(valueFormat) - ) { + if (isHandleDefaultValue && defaultValue && component && isFunction(valueFormat)) { schema.defaultValue = valueFormat({ value: defaultValue, schema, diff --git a/src/components/Form/src/helper.ts b/src/components/Form/src/helper.ts index 53d068fb..09f3c4a3 100644 --- a/src/components/Form/src/helper.ts +++ b/src/components/Form/src/helper.ts @@ -31,6 +31,15 @@ export function createPlaceholderMessage(component: ComponentType) { const DATE_TYPE = ['DatePicker', 'MonthPicker', 'WeekPicker', 'TimePicker']; +/** + * 上传组件 + */ +export const uploadItemType: ComponentType[] = [ + 'Upload', + 'ImageUpload' +]; + + function genType() { return [...DATE_TYPE, 'RangePicker',"TimeRangePicker"]; } @@ -45,7 +54,7 @@ export function setComponentRuleType( } if (['DatePicker', 'MonthPicker', 'WeekPicker', 'TimePicker'].includes(component)) { rule.type = valueFormat ? 'string' : 'object'; - } else if (['RangePicker', 'Upload', 'CheckboxGroup'].includes(component)) { + } else if (['RangePicker', 'CheckboxGroup'].includes(component)) { rule.type = 'array'; } else if (['InputNumber'].includes(component)) { rule.type = 'number'; diff --git a/src/components/Form/src/hooks/useFormEvents.ts b/src/components/Form/src/hooks/useFormEvents.ts index 150efa91..a664ae9f 100644 --- a/src/components/Form/src/hooks/useFormEvents.ts +++ b/src/components/Form/src/hooks/useFormEvents.ts @@ -4,10 +4,16 @@ import type { NamePath } from 'ant-design-vue/lib/form/interface'; import { unref, toRaw, nextTick } from 'vue'; import { isArray, isFunction, isObject, isString, isNil } from '@/utils/is'; import { deepMerge } from '@/utils'; -import { dateItemType, defaultValueComponents, isIncludeSimpleComponents } from '../helper'; +import { + dateItemType, + defaultValueComponents, + isIncludeSimpleComponents, + uploadItemType, +} from '../helper'; import { dateUtil } from '@/utils/dateUtil'; import { cloneDeep, has, uniqBy, get, set } from 'lodash-es'; import { error } from '@/utils/log'; +import { ComponentProps } from '../types'; interface UseFormActionContext { emit: EmitType; @@ -19,7 +25,12 @@ interface UseFormActionContext { schemaRef: Ref; handleFormValues: Fn; } - + /** + * @description: Is it upload + */ + export function itemIsUploadComponent(key: keyof ComponentProps) { + return uploadItemType.includes(key); + } function tryConstructArray(field: string, values: Recordable = {}): any[] | undefined { const pattern = /^\[(.+)\]$/; if (pattern.test(field)) { @@ -123,7 +134,20 @@ export function useFormEvents({ } } } - + // Adapt upload component + if (itemIsUploadComponent(schema?.component)) { + constructValue = get(value, key); + const fieldValue = constructValue || value; + if (fieldValue) { + if (isArray(fieldValue)) { + unref(formModel)[key] = fieldValue; + } else if (typeof fieldValue == 'string') { + unref(formModel)[key] = [fieldValue]; + } + } + validKeys.push(key); + return + } // Adapt common component if (hasKey) { constructValue = get(value, key); diff --git a/src/components/Upload/src/BasicUpload.vue b/src/components/Upload/src/BasicUpload.vue index 06fe69b1..36f9eb93 100644 --- a/src/components/Upload/src/BasicUpload.vue +++ b/src/components/Upload/src/BasicUpload.vue @@ -85,6 +85,9 @@ const value = { ...attrs, ...props }; return omit(value, 'onChange'); }); + + const isFirstRender = ref(true) + function getValue(valueKey="url") { const list = (fileList.value || []).map((item: any) => { return item[valueKey]; @@ -124,9 +127,15 @@ }) as any; } emit('update:value', values); - emit('change', values); + if(!isFirstRender.value){ + emit('change', values); + isFirstRender.value = false + } + }, + { + immediate: true, + deep: true, }, - { immediate: true }, ); // 上传modal保存操作 diff --git a/src/components/Upload/src/components/ImageUpload.vue b/src/components/Upload/src/components/ImageUpload.vue index 74acd21a..6e833094 100644 --- a/src/components/Upload/src/components/ImageUpload.vue +++ b/src/components/Upload/src/components/ImageUpload.vue @@ -63,6 +63,7 @@ const fileList = ref([]); const isLtMsg = ref(true); const isActMsg = ref(true); + const isFirstRender = ref(true) watch( () => props.value, @@ -94,10 +95,13 @@ }) as UploadProps['fileList']; } emit('update:value', value); - emit('change', value); + if(!isFirstRender.value){ + emit('change', value); + isFirstRender.value = false + } }, - { - immediate: true, + { + immediate: true, deep: true, }, ); From 8d3981f599f073b226c822a8d28af9aecf00a667 Mon Sep 17 00:00:00 2001 From: Li Kui <90845831+likui628@users.noreply.github.com> Date: Fri, 7 Jun 2024 11:42:48 +0800 Subject: [PATCH 05/17] fix: axios retry losing headers (#3902) --- src/utils/http/axios/axiosRetry.ts | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/utils/http/axios/axiosRetry.ts b/src/utils/http/axios/axiosRetry.ts index bf44cf74..f508c800 100644 --- a/src/utils/http/axios/axiosRetry.ts +++ b/src/utils/http/axios/axiosRetry.ts @@ -16,8 +16,6 @@ export class AxiosRetry { return Promise.reject(error); } config.__retryCount += 1; - //请求返回后config的header不正确造成重试请求失败,删除返回headers采用默认headers - delete config.headers; return this.delay(waitTime).then(() => axiosInstance(config)); } From 65fba1c329538e439d605bea033bb65de9e25829 Mon Sep 17 00:00:00 2001 From: Electrolux <59329360+electroluxcode@users.noreply.github.com> Date: Thu, 13 Jun 2024 18:24:11 +0800 Subject: [PATCH 06/17] perf(UploadPreviewModal): delete invalid assign (#3915) --- src/components/Upload/src/components/UploadPreviewModal.vue | 1 - 1 file changed, 1 deletion(-) diff --git a/src/components/Upload/src/components/UploadPreviewModal.vue b/src/components/Upload/src/components/UploadPreviewModal.vue index bfc940d4..8563bb90 100644 --- a/src/components/Upload/src/components/UploadPreviewModal.vue +++ b/src/components/Upload/src/components/UploadPreviewModal.vue @@ -97,7 +97,6 @@ return createMessage.warning(t('component.upload.maxNumber', [maxNumber])); } record[uidKey] = record[uidKey] ?? buildUUID(); - record[valueKey] = record[valueKey]; fileListRef.value = [...fileListRef.value, record]; emit('list-change', fileListRef.value, valueKey); } From 71c4edad635a971f3bf89f97caab3b820589b290 Mon Sep 17 00:00:00 2001 From: No name <88119911+doraemonxxx@users.noreply.github.com> Date: Fri, 14 Jun 2024 15:26:49 +0800 Subject: [PATCH 07/17] chore: improve build file naming convention and caching (#3908) * fix: improve build file naming convention * remove js to the entryFileName path * replace dot to hyphen --- internal/vite-config/src/config/application.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/internal/vite-config/src/config/application.ts b/internal/vite-config/src/config/application.ts index 206c66a9..7ee5ef1d 100644 --- a/internal/vite-config/src/config/application.ts +++ b/internal/vite-config/src/config/application.ts @@ -63,8 +63,8 @@ function defineApplicationConfig(defineOptions: DefineOptions = {}) { cssTarget: 'chrome80', rollupOptions: { output: { - // 入口文件名(不能变,否则所有打包的 js hash 值全变了) - entryFileNames: 'index.js', + // 入口文件名 + entryFileNames: 'assets/entry/[name]-[hash].js', manualChunks: { vue: ['vue', 'pinia', 'vue-router'], antd: ['ant-design-vue', '@ant-design/icons-vue'], From e7868e7193579de4f2ea377243c4a33e9cc1e61c Mon Sep 17 00:00:00 2001 From: 1455668754 <1455668754@qq.com> Date: Mon, 24 Jun 2024 16:06:25 +0800 Subject: [PATCH 08/17] =?UTF-8?q?fix:=20vxe-table=20index.css=E5=B7=B2?= =?UTF-8?q?=E5=BA=9F=E5=BC=83=EF=BC=8C=E5=88=87=E6=8D=A2=E8=87=B3all=20(#3?= =?UTF-8?q?926)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit fix: vxe-table index.css已废弃,切换至all --- src/components/VxeTable/src/css/index.scss | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/VxeTable/src/css/index.scss b/src/components/VxeTable/src/css/index.scss index c67d47d9..3b38807e 100644 --- a/src/components/VxeTable/src/css/index.scss +++ b/src/components/VxeTable/src/css/index.scss @@ -2,4 +2,4 @@ @import './variable'; @import './toolbar'; @import './component'; -@import 'vxe-table/styles/index'; +@import 'vxe-table/styles/all'; From cae5538abadddd443b862414611dc2b846e95dd8 Mon Sep 17 00:00:00 2001 From: jinmao88 <50581550+jinmao88@users.noreply.github.com> Date: Mon, 24 Jun 2024 16:33:55 +0800 Subject: [PATCH 09/17] fix(VxeTable): update vxeTable ,fix imports and support theme change --- package.json | 4 ++-- src/components/VxeTable/index.ts | 4 ++-- src/components/VxeTable/src/VxeBasicTable.tsx | 18 ++++++++++++++---- src/components/VxeTable/src/setting.ts | 4 ++-- 4 files changed, 20 insertions(+), 10 deletions(-) diff --git a/package.json b/package.json index 840649d0..f28efaa9 100644 --- a/package.json +++ b/package.json @@ -107,8 +107,8 @@ "vue-router": "^4.3.2", "vue-types": "^5.1.1", "vuedraggable": "^4.1.0", - "vxe-table": "^4.6.3", - "vxe-table-plugin-export-xlsx": "^4.0.1", + "vxe-table": "^4.7.31", + "vxe-table-plugin-export-xlsx": "^4.0.2", "xe-utils": "^3.5.25", "xlsx": "^0.18.5" }, diff --git a/src/components/VxeTable/index.ts b/src/components/VxeTable/index.ts index d64701ba..029e48af 100644 --- a/src/components/VxeTable/index.ts +++ b/src/components/VxeTable/index.ts @@ -1,6 +1,6 @@ import { withInstall } from '@/utils'; import vxeBasicTable from './src/VxeBasicTable'; -import { VXETable } from 'vxe-table'; +import { VxeUI } from 'vxe-table'; import VXETablePluginAntd from './src/components'; import VXETablePluginExportXLSX from 'vxe-table-plugin-export-xlsx'; import ExcelJS from 'exceljs'; @@ -10,4 +10,4 @@ export const VxeBasicTable = withInstall(vxeBasicTable); export * from 'vxe-table'; export * from './src/types'; -VXETable.use(VXETablePluginAntd).use(VXETablePluginExportXLSX, { ExcelJS }); +VxeUI.use(VXETablePluginAntd).use(VXETablePluginExportXLSX, { ExcelJS }); diff --git a/src/components/VxeTable/src/VxeBasicTable.tsx b/src/components/VxeTable/src/VxeBasicTable.tsx index e48cb10c..d51885d6 100644 --- a/src/components/VxeTable/src/VxeBasicTable.tsx +++ b/src/components/VxeTable/src/VxeBasicTable.tsx @@ -1,22 +1,25 @@ -import { defineComponent, computed, ref } from 'vue'; +import { defineComponent, computed, ref, watch } from 'vue'; import { BasicTableProps } from './types'; import { basicProps } from './props'; import { ignorePropKeys } from './const'; import { basicEmits } from './emits'; import XEUtils from 'xe-utils'; -import type { +import { VxeGridInstance, VxeGridEventProps, GridMethods, TableMethods, TableEditMethods, TableValidatorMethods, + VxeUI, + VxeGlobalThemeName, + VxeGrid, } from 'vxe-table'; -import { Grid as VxeGrid } from 'vxe-table'; import { extendSlots } from '@/utils/helper/tsxHelper'; import { gridComponentMethodKeys } from './methods'; import { omit } from 'lodash-es'; +import { useRootSetting } from '@/hooks/setting/useRootSetting'; export default defineComponent({ name: 'VxeBasicTable', @@ -25,7 +28,14 @@ export default defineComponent({ setup(props, { emit, attrs }) { const tableElRef = ref(); const emitEvents: VxeGridEventProps = {}; - + const { getDarkMode } = useRootSetting(); + watch( + () => getDarkMode.value, + () => { + VxeUI.setTheme(getDarkMode.value as VxeGlobalThemeName); + }, + { immediate: true }, + ); const extendTableMethods = (methodKeys) => { const funcs: any = {}; methodKeys.forEach((name) => { diff --git a/src/components/VxeTable/src/setting.ts b/src/components/VxeTable/src/setting.ts index ba3d0619..f5e32751 100644 --- a/src/components/VxeTable/src/setting.ts +++ b/src/components/VxeTable/src/setting.ts @@ -1,4 +1,4 @@ -import { VXETable } from '..'; +import { VxeUI } from '..'; import componentSetting from '@/settings/componentSetting'; -VXETable.setup(componentSetting.vxeTable); +VxeUI.setConfig(componentSetting.vxeTable); From 64a4992a84dadb33614e937f5d7464dcd312a1bd Mon Sep 17 00:00:00 2001 From: fourteendp <53899166+fourteendp@users.noreply.github.com> Date: Thu, 4 Jul 2024 08:49:47 +0800 Subject: [PATCH 10/17] =?UTF-8?q?fix(VxeTable):=20=E6=9B=B4=E6=96=B0vxe-ta?= =?UTF-8?q?ble=E4=BB=A5=E5=8F=8A=E7=9B=B8=E5=85=B3=E4=BE=9D=E8=B5=96,?= =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=BA=9F=E5=BC=83API=E8=87=B3=E6=9C=80?= =?UTF-8?q?=E6=96=B0=20(#3939)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package.json | 7 ++- pnpm-lock.yaml | 62 ++++++++++++------- .../VxeTable/src/components/AApiSelect.tsx | 9 +-- .../src/components/AApiTreeSelect.tsx | 9 +-- .../VxeTable/src/components/AAutoComplete.tsx | 15 ++--- .../VxeTable/src/components/AButton.tsx | 24 ++++--- .../VxeTable/src/components/AButtonGroup.tsx | 27 ++++---- .../VxeTable/src/components/ACascader.tsx | 14 ++--- .../src/components/ACheckboxGroup.tsx | 5 +- .../VxeTable/src/components/ADatePicker.tsx | 16 ++--- .../VxeTable/src/components/AEmpty.tsx | 8 +-- .../VxeTable/src/components/AInput.tsx | 15 ++--- .../VxeTable/src/components/AInputNumber.tsx | 15 ++--- .../VxeTable/src/components/AInputSearch.tsx | 13 ++-- .../VxeTable/src/components/AMonthPicker.tsx | 11 ++-- .../VxeTable/src/components/ARadioGroup.tsx | 5 +- .../VxeTable/src/components/ARangePicker.tsx | 16 ++--- .../VxeTable/src/components/ARate.tsx | 13 ++-- .../VxeTable/src/components/ASelect.tsx | 24 +++---- .../VxeTable/src/components/ASwitch.tsx | 13 ++-- .../VxeTable/src/components/ATimePicker.tsx | 11 ++-- .../VxeTable/src/components/ATreeSelect.tsx | 16 ++--- .../VxeTable/src/components/AWeekPicker.tsx | 11 ++-- .../VxeTable/src/components/AYearPicker.tsx | 11 ++-- .../VxeTable/src/components/common.tsx | 35 ++++++----- .../VxeTable/src/components/index.tsx | 12 ++-- src/components/VxeTable/src/css/index.scss | 1 + src/components/registerGlobComp.ts | 3 +- 28 files changed, 235 insertions(+), 186 deletions(-) diff --git a/package.json b/package.json index f28efaa9..84401323 100644 --- a/package.json +++ b/package.json @@ -107,9 +107,10 @@ "vue-router": "^4.3.2", "vue-types": "^5.1.1", "vuedraggable": "^4.1.0", - "vxe-table": "^4.7.31", - "vxe-table-plugin-export-xlsx": "^4.0.2", - "xe-utils": "^3.5.25", + "vxe-pc-ui": "^4.0.44", + "vxe-table": "^4.7.40", + "vxe-table-plugin-export-xlsx": "^4.0.4", + "xe-utils": "^3.5.28", "xlsx": "^0.18.5" }, "devDependencies": { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index c8ca657d..ee8b1753 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -122,15 +122,18 @@ importers: vuedraggable: specifier: ^4.1.0 version: 4.1.0(vue@3.4.25(typescript@5.4.5)) + vxe-pc-ui: + specifier: ^4.0.44 + version: 4.0.44 vxe-table: - specifier: ^4.6.3 - version: 4.6.3(vue@3.4.25(typescript@5.4.5)) + specifier: ^4.7.40 + version: 4.7.40 vxe-table-plugin-export-xlsx: - specifier: ^4.0.1 - version: 4.0.1(vxe-table@4.6.3(vue@3.4.25(typescript@5.4.5))) + specifier: ^4.0.4 + version: 4.0.4(vxe-table@4.7.40) xe-utils: - specifier: ^3.5.25 - version: 3.5.25 + specifier: ^3.5.28 + version: 3.5.28 xlsx: specifier: ^0.18.5 version: 0.18.5 @@ -2005,6 +2008,9 @@ packages: '@vueuse/shared@10.9.0': resolution: {integrity: sha512-Uud2IWncmAfJvRaFYzv5OHDli+FbOzxiVEQdLCKQKLyhz94PIyFC3CHcH7EDMwIn8NPtD06+PNbC/PiO0LGLtw==} + '@vxe-ui/core@1.0.12': + resolution: {integrity: sha512-s79mQw6uYSbTVGBWbxrisHwJV1b770vZMT9XpY3khcFQhXNo25+PS3FLrNCSsBBJR0ZkBLOXDER/ft9DIqgFTw==} + '@zxcvbn-ts/core@3.0.4': resolution: {integrity: sha512-aQeiT0F09FuJaAqNrxynlAwZ2mW/1MdXakKWNmGM1Qp/VaY6CnB/GfnMS2T8gB2231Esp1/maCWd8vTG4OuShw==} @@ -3096,8 +3102,8 @@ packages: dom-serializer@2.0.0: resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==} - dom-zindex@1.0.2: - resolution: {integrity: sha512-QceDZxPlvzhpg6e8szxNiKPUt5Y9SfFTe3nZy8og3JoPQPlAlzBzHa/lhDkhgeG3cjbKyQcuoic+wymF0o0d1Q==} + dom-zindex@1.0.4: + resolution: {integrity: sha512-PNk7u71TJ1C9Lwjjp5nNuQcVWuECFMmr9kZAwi2UbgWUM7jXdTCe4O4x5bhLUa07jpcZUVA5Du3ho7/FXzS9Ng==} domelementtype@1.3.1: resolution: {integrity: sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==} @@ -7060,15 +7066,16 @@ packages: peerDependencies: vue: ^3.0.1 - vxe-table-plugin-export-xlsx@4.0.1: - resolution: {integrity: sha512-puUOUfptu5ciEiFqTlVni3twLICSbkl87uXOsjZzrEyXJHJS9dYu7ZTD7/DRMqyuWyU3Idg7AekfcdcslP4Y/A==} + vxe-pc-ui@4.0.44: + resolution: {integrity: sha512-wiauFMmSvEkVKa/AsKGb5CMi91Ojts+Ydcn+iespgl3xMBD01BR/CGzeCI478P3XAFBsiN4gWlgxHmGP5TR8UA==} + + vxe-table-plugin-export-xlsx@4.0.4: + resolution: {integrity: sha512-Og2ZcIWTV7msT1ddPT/spxJaP1T8wxs3Uuu1LO/3HL5Ugt9tShEY3FJ7YGic3j1Nk6ZZT+VsU+afgT5EzpcUJw==} peerDependencies: vxe-table: ^4.5.0 - vxe-table@4.6.3: - resolution: {integrity: sha512-71FOi0lFQbvs1dUIZPTDCLaSJkRjLHlBuNzWIR9RofBe4EvhX4OowrhaCCsCXXKCCGSlJRp6+/O2c71lEZY9PQ==} - peerDependencies: - vue: ^3.2.28 + vxe-table@4.7.40: + resolution: {integrity: sha512-y9VC3oLJgusxFj3xZ28G4gU+YClBuDIV8oM75Dx3doYJ7vanXZnSf70XJ+W5xEKflamUmjGre66XZ2b4XuqtMw==} w3c-hr-time@1.0.2: resolution: {integrity: sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==} @@ -7206,8 +7213,8 @@ packages: utf-8-validate: optional: true - xe-utils@3.5.25: - resolution: {integrity: sha512-d/ty5eo4hXtho/3195XAvqereIoSYJ+XfC52f3ZEPxTaCeyLFivDZTyX6gTdsR65ISH1Irvn85H0bSL60dUhSQ==} + xe-utils@3.5.28: + resolution: {integrity: sha512-oeLLJ0b54QdOSSgYQ9TiKW/xAGrc9r0weCA/5UfyGdm3n3js4cNOuuf9Tml7UwgBQpl4uWMbMwUZKLh2yqPF3A==} xlsx@0.18.5: resolution: {integrity: sha512-dmg3LCjBPHZnQp5/F/+nnTa+miPJxUXB6vtk42YjBBKayDNagxGEeIdWApkYPOf3Z3pm3k62Knjzp7lMeTEtFQ==} @@ -9228,6 +9235,11 @@ snapshots: - '@vue/composition-api' - vue + '@vxe-ui/core@1.0.12': + dependencies: + dom-zindex: 1.0.4 + xe-utils: 3.5.28 + '@zxcvbn-ts/core@3.0.4': dependencies: fastest-levenshtein: 1.0.16 @@ -10389,7 +10401,7 @@ snapshots: domhandler: 5.0.3 entities: 4.5.0 - dom-zindex@1.0.2: {} + dom-zindex@1.0.4: {} domelementtype@1.3.1: {} @@ -15005,15 +15017,17 @@ snapshots: sortablejs: 1.14.0 vue: 3.4.25(typescript@5.4.5) - vxe-table-plugin-export-xlsx@4.0.1(vxe-table@4.6.3(vue@3.4.25(typescript@5.4.5))): + vxe-pc-ui@4.0.44: dependencies: - vxe-table: 4.6.3(vue@3.4.25(typescript@5.4.5)) + '@vxe-ui/core': 1.0.12 - vxe-table@4.6.3(vue@3.4.25(typescript@5.4.5)): + vxe-table-plugin-export-xlsx@4.0.4(vxe-table@4.7.40): dependencies: - dom-zindex: 1.0.2 - vue: 3.4.25(typescript@5.4.5) - xe-utils: 3.5.25 + vxe-table: 4.7.40 + + vxe-table@4.7.40: + dependencies: + vxe-pc-ui: 4.0.44 w3c-hr-time@1.0.2: dependencies: @@ -15138,7 +15152,7 @@ snapshots: ws@8.16.0: {} - xe-utils@3.5.25: {} + xe-utils@3.5.28: {} xlsx@0.18.5: dependencies: diff --git a/src/components/VxeTable/src/components/AApiSelect.tsx b/src/components/VxeTable/src/components/AApiSelect.tsx index 8fb1d3d8..e14472a5 100644 --- a/src/components/VxeTable/src/components/AApiSelect.tsx +++ b/src/components/VxeTable/src/components/AApiSelect.tsx @@ -1,20 +1,21 @@ import XEUtils from 'xe-utils'; import { createDefaultRender, createEditRender, createFormItemRender } from './common'; +import { VxeGlobalRendererOptions } from 'vxe-table'; export default { - renderDefault: createDefaultRender({}, (_, params) => { + renderTableDefault: createDefaultRender({}, (_, params) => { return { params: XEUtils.get(params, 'row'), }; }), - renderEdit: createEditRender({}, (_, params) => { + renderTableEdit: createEditRender({}, (_, params) => { return { params: XEUtils.get(params, 'row'), }; }), - renderItemContent: createFormItemRender({}, (_, params) => { + renderFormItemContent: createFormItemRender({}, (_, params) => { return { params: XEUtils.get(params, 'row'), }; }), -}; +} as VxeGlobalRendererOptions; diff --git a/src/components/VxeTable/src/components/AApiTreeSelect.tsx b/src/components/VxeTable/src/components/AApiTreeSelect.tsx index 8fb1d3d8..e14472a5 100644 --- a/src/components/VxeTable/src/components/AApiTreeSelect.tsx +++ b/src/components/VxeTable/src/components/AApiTreeSelect.tsx @@ -1,20 +1,21 @@ import XEUtils from 'xe-utils'; import { createDefaultRender, createEditRender, createFormItemRender } from './common'; +import { VxeGlobalRendererOptions } from 'vxe-table'; export default { - renderDefault: createDefaultRender({}, (_, params) => { + renderTableDefault: createDefaultRender({}, (_, params) => { return { params: XEUtils.get(params, 'row'), }; }), - renderEdit: createEditRender({}, (_, params) => { + renderTableEdit: createEditRender({}, (_, params) => { return { params: XEUtils.get(params, 'row'), }; }), - renderItemContent: createFormItemRender({}, (_, params) => { + renderFormItemContent: createFormItemRender({}, (_, params) => { return { params: XEUtils.get(params, 'row'), }; }), -}; +} as VxeGlobalRendererOptions; diff --git a/src/components/VxeTable/src/components/AAutoComplete.tsx b/src/components/VxeTable/src/components/AAutoComplete.tsx index 41ca4a45..85ce40ff 100644 --- a/src/components/VxeTable/src/components/AAutoComplete.tsx +++ b/src/components/VxeTable/src/components/AAutoComplete.tsx @@ -1,3 +1,4 @@ +import { VxeGlobalRendererOptions } from 'vxe-table'; import { createEditRender, createDefaultRender, @@ -7,10 +8,10 @@ import { } from './common'; export default { - autofocus: 'input.ant-input', - renderDefault: createDefaultRender(), - renderEdit: createEditRender(), - renderFilter: createFilterRender(), - defaultFilterMethod: createDefaultFilterRender(), - renderItemContent: createFormItemRender(), -}; + tableAutoFocus: 'input.ant-input', + renderTableDefault: createDefaultRender(), + renderTableEdit: createEditRender(), + renderTableFilter: createFilterRender(), + tableFilterDefaultMethod: createDefaultFilterRender(), + renderFormItemContent: createFormItemRender(), +} as VxeGlobalRendererOptions; diff --git a/src/components/VxeTable/src/components/AButton.tsx b/src/components/VxeTable/src/components/AButton.tsx index 67468d11..de40cff0 100644 --- a/src/components/VxeTable/src/components/AButton.tsx +++ b/src/components/VxeTable/src/components/AButton.tsx @@ -1,8 +1,9 @@ import { h } from 'vue'; import { FormItemContentRenderParams, - FormItemRenderOptions, + VxeFormItemPropTypes, VxeGlobalRendererHandles, + VxeGlobalRendererOptions, } from 'vxe-table'; import XEUtils from 'xe-utils'; import { cellText, createEvents, createProps, getComponent } from './common'; @@ -11,8 +12,8 @@ const COMPONENT_NAME = 'AButton'; export function createEditRender() { return function ( - renderOpts: VxeGlobalRendererHandles.RenderEditOptions, - params: VxeGlobalRendererHandles.RenderEditParams, + renderOpts: VxeGlobalRendererHandles.RenderTableEditOptions, + params: VxeGlobalRendererHandles.RenderTableEditParams, ) { const { attrs } = renderOpts; const Component = getComponent(COMPONENT_NAME); @@ -29,8 +30,8 @@ export function createEditRender() { export function createDefaultRender() { return function ( - renderOpts: VxeGlobalRendererHandles.RenderEditOptions, - params: VxeGlobalRendererHandles.RenderEditParams, + renderOpts: VxeGlobalRendererHandles.RenderTableEditOptions, + params: VxeGlobalRendererHandles.RenderTableEditParams, ) { const { attrs } = renderOpts; const Component = getComponent(COMPONENT_NAME); @@ -50,7 +51,10 @@ export function createDefaultRender() { } export function createFormItemRender() { - return function (renderOpts: FormItemRenderOptions, params: FormItemContentRenderParams) { + return function ( + renderOpts: VxeFormItemPropTypes.ItemRender, + params: FormItemContentRenderParams, + ) { const { attrs, content } = renderOpts; const { property, $form, data } = params; const props = createProps(renderOpts, null); @@ -113,8 +117,8 @@ function createToolbarButtonRender() { } export default { - renderEdit: createEditRender(), - renderDefault: createDefaultRender(), - renderItemContent: createFormItemRender(), + renderTableEdit: createEditRender(), + renderTableDefault: createDefaultRender(), + renderFormItemContent: createFormItemRender(), renderToolbarButton: createToolbarButtonRender(), -}; +} as VxeGlobalRendererOptions; diff --git a/src/components/VxeTable/src/components/AButtonGroup.tsx b/src/components/VxeTable/src/components/AButtonGroup.tsx index ed0fc842..d7239a91 100644 --- a/src/components/VxeTable/src/components/AButtonGroup.tsx +++ b/src/components/VxeTable/src/components/AButtonGroup.tsx @@ -1,20 +1,21 @@ import { FormItemContentRenderParams, - FormItemRenderOptions, + VxeFormItemPropTypes, VxeGlobalRendererHandles, + VxeGlobalRendererOptions, } from 'vxe-table'; import { createDefaultRender, createEditRender, createFormItemRender } from './AButton'; function createEditButtonRender() { return function ( - renderOpts: VxeGlobalRendererHandles.RenderEditOptions, - params: VxeGlobalRendererHandles.RenderEditParams, + renderOpts: VxeGlobalRendererHandles.RenderTableEditOptions, + params: VxeGlobalRendererHandles.RenderTableEditParams, ) { const buttonEditRender = createEditRender(); const { children } = renderOpts; if (children) { return children.map( - (childRenderOpts: VxeGlobalRendererHandles.RenderEditOptions) => + (childRenderOpts: VxeGlobalRendererHandles.RenderTableEditOptions) => buttonEditRender(childRenderOpts, params)[0], ); } @@ -25,7 +26,7 @@ function createEditButtonRender() { function createDefaultButtonRender() { return function ( renderOpts: VxeGlobalRendererHandles.RenderDefaultOptions, - params: VxeGlobalRendererHandles.RenderDefaultParams, + params: VxeGlobalRendererHandles.RenderTableDefaultParams, ) { const buttonDefaultRender = createDefaultRender(); const { children } = renderOpts; @@ -40,12 +41,16 @@ function createDefaultButtonRender() { } function createButtonItemRender() { - return function (renderOpts: FormItemRenderOptions, params: FormItemContentRenderParams) { + return function ( + renderOpts: VxeFormItemPropTypes.ItemRender, + params: FormItemContentRenderParams, + ) { const buttonItemRender = createFormItemRender(); const { children } = renderOpts; if (children) { return children.map( - (childRenderOpts: FormItemRenderOptions) => buttonItemRender(childRenderOpts, params)[0], + (childRenderOpts: VxeFormItemPropTypes.ItemRender) => + buttonItemRender(childRenderOpts, params)[0], ); } return []; @@ -53,7 +58,7 @@ function createButtonItemRender() { } export default { - renderEdit: createEditButtonRender(), - renderDefault: createDefaultButtonRender(), - renderItemContent: createButtonItemRender(), -}; + renderTableEdit: createEditButtonRender(), + renderTableDefault: createDefaultButtonRender(), + renderFormItemContent: createButtonItemRender(), +} as VxeGlobalRendererOptions; diff --git a/src/components/VxeTable/src/components/ACascader.tsx b/src/components/VxeTable/src/components/ACascader.tsx index 650f32fa..3d0455c2 100644 --- a/src/components/VxeTable/src/components/ACascader.tsx +++ b/src/components/VxeTable/src/components/ACascader.tsx @@ -1,4 +1,4 @@ -import { VxeGlobalRendererHandles } from 'vxe-table'; +import { VxeGlobalRendererHandles, VxeGlobalRendererOptions } from 'vxe-table'; import XEUtils from 'xe-utils'; import { createEditRender, @@ -21,7 +21,7 @@ function matchCascaderData(index: number, list: any[], values: any[], labels: an function getCascaderCellValue( renderOpts: VxeGlobalRendererHandles.RenderOptions, - params: VxeGlobalRendererHandles.RenderCellParams, + params: VxeGlobalRendererHandles.RenderTableCellParams, ) { const { props = {} } = renderOpts; const { row, column } = params; @@ -35,8 +35,8 @@ function getCascaderCellValue( } export default { - renderEdit: createEditRender(), - renderCell: createCellRender(getCascaderCellValue), - renderItemContent: createFormItemRender(), - exportMethod: createExportMethod(getCascaderCellValue), -}; + renderTableEdit: createEditRender(), + renderTableCell: createCellRender(getCascaderCellValue), + renderFormItemContent: createFormItemRender(), + tableExportMethod: createExportMethod(getCascaderCellValue), +} as VxeGlobalRendererOptions; diff --git a/src/components/VxeTable/src/components/ACheckboxGroup.tsx b/src/components/VxeTable/src/components/ACheckboxGroup.tsx index d01092a0..62d38971 100644 --- a/src/components/VxeTable/src/components/ACheckboxGroup.tsx +++ b/src/components/VxeTable/src/components/ACheckboxGroup.tsx @@ -1,5 +1,6 @@ +import { VxeGlobalRendererOptions } from 'vxe-table'; import { createFormItemRender } from './common'; export default { - renderItemContent: createFormItemRender(), -}; + renderFormItemContent: createFormItemRender(), +} as VxeGlobalRendererOptions; diff --git a/src/components/VxeTable/src/components/ADatePicker.tsx b/src/components/VxeTable/src/components/ADatePicker.tsx index 3e90638f..590e0408 100644 --- a/src/components/VxeTable/src/components/ADatePicker.tsx +++ b/src/components/VxeTable/src/components/ADatePicker.tsx @@ -1,4 +1,4 @@ -import { VxeGlobalRendererHandles } from 'vxe-table'; +import { VxeGlobalRendererHandles, VxeGlobalRendererOptions } from 'vxe-table'; import XEUtils from 'xe-utils'; import { createCellRender, @@ -9,7 +9,9 @@ import { export function getDatePickerCellValue( renderOpts: VxeGlobalRendererHandles.RenderOptions, - params: VxeGlobalRendererHandles.RenderCellParams | VxeGlobalRendererHandles.ExportMethodParams, + params: + | VxeGlobalRendererHandles.RenderTableCellParams + | VxeGlobalRendererHandles.ExportMethodParams, defaultFormat: string, ) { const { props = {} } = renderOpts; @@ -22,12 +24,12 @@ export function getDatePickerCellValue( } export default { - renderEdit: createEditRender(), - renderCell: createCellRender(getDatePickerCellValue, () => { + renderTableEdit: createEditRender(), + renderTableCell: createCellRender(getDatePickerCellValue, () => { return ['YYYY-MM-DD']; }), - renderItemContent: createFormItemRender(), - exportMethod: createExportMethod(getDatePickerCellValue, () => { + renderFormItemContent: createFormItemRender(), + tableExportMethod: createExportMethod(getDatePickerCellValue, () => { return ['YYYY-MM-DD']; }), -}; +} as VxeGlobalRendererOptions; diff --git a/src/components/VxeTable/src/components/AEmpty.tsx b/src/components/VxeTable/src/components/AEmpty.tsx index aed50077..8fecc98f 100644 --- a/src/components/VxeTable/src/components/AEmpty.tsx +++ b/src/components/VxeTable/src/components/AEmpty.tsx @@ -1,9 +1,9 @@ import { h } from 'vue'; -import { VxeGlobalRendererHandles } from 'vxe-table'; +import { VxeGlobalRendererHandles, VxeGlobalRendererOptions } from 'vxe-table'; import { getComponent } from './common'; function createEmptyRender() { - return function (renderOpts: VxeGlobalRendererHandles.RenderEmptyOptions) { + return function (renderOpts: VxeGlobalRendererHandles.RenderTableEmptyOptions) { const { name, attrs, props } = renderOpts; const Component = getComponent(name); @@ -23,5 +23,5 @@ function createEmptyRender() { } export default { - renderEmpty: createEmptyRender(), -}; + renderTableEmptyView: createEmptyRender(), +} as VxeGlobalRendererOptions; diff --git a/src/components/VxeTable/src/components/AInput.tsx b/src/components/VxeTable/src/components/AInput.tsx index 41ca4a45..85ce40ff 100644 --- a/src/components/VxeTable/src/components/AInput.tsx +++ b/src/components/VxeTable/src/components/AInput.tsx @@ -1,3 +1,4 @@ +import { VxeGlobalRendererOptions } from 'vxe-table'; import { createEditRender, createDefaultRender, @@ -7,10 +8,10 @@ import { } from './common'; export default { - autofocus: 'input.ant-input', - renderDefault: createDefaultRender(), - renderEdit: createEditRender(), - renderFilter: createFilterRender(), - defaultFilterMethod: createDefaultFilterRender(), - renderItemContent: createFormItemRender(), -}; + tableAutoFocus: 'input.ant-input', + renderTableDefault: createDefaultRender(), + renderTableEdit: createEditRender(), + renderTableFilter: createFilterRender(), + tableFilterDefaultMethod: createDefaultFilterRender(), + renderFormItemContent: createFormItemRender(), +} as VxeGlobalRendererOptions; diff --git a/src/components/VxeTable/src/components/AInputNumber.tsx b/src/components/VxeTable/src/components/AInputNumber.tsx index 22f299ea..f7d7007b 100644 --- a/src/components/VxeTable/src/components/AInputNumber.tsx +++ b/src/components/VxeTable/src/components/AInputNumber.tsx @@ -1,3 +1,4 @@ +import { VxeGlobalRendererOptions } from 'vxe-table'; import { createEditRender, createFilterRender, @@ -7,10 +8,10 @@ import { } from './common'; export default { - autofocus: 'input.ant-input-number-input', - renderDefault: createDefaultRender(), - renderEdit: createEditRender(), - renderFilter: createFilterRender(), - defaultFilterMethod: createDefaultFilterRender(), - renderItemContent: createFormItemRender(), -}; + tableAutoFocus: 'input.ant-input-number-input', + renderTableDefault: createDefaultRender(), + renderTableEdit: createEditRender(), + renderTableFilter: createFilterRender(), + tableFilterDefaultMethod: createDefaultFilterRender(), + renderFormItemContent: createFormItemRender(), +} as VxeGlobalRendererOptions; diff --git a/src/components/VxeTable/src/components/AInputSearch.tsx b/src/components/VxeTable/src/components/AInputSearch.tsx index e365ef31..05db10d8 100644 --- a/src/components/VxeTable/src/components/AInputSearch.tsx +++ b/src/components/VxeTable/src/components/AInputSearch.tsx @@ -1,3 +1,4 @@ +import { VxeGlobalRendererOptions } from 'vxe-table'; import { createEditRender, createDefaultRender, @@ -8,10 +9,10 @@ import { } from './common'; export default { - renderDefault: createDefaultRender(), - renderEdit: createEditRender(), - renderFilter: createFilterRender(), - defaultFilterMethod: createDefaultFilterRender(), - renderItemContent: createFormItemRender(), + renderTableDefault: createDefaultRender(), + renderTableEdit: createEditRender(), + renderTableFilter: createFilterRender(), + tableFilterDefaultMethod: createDefaultFilterRender(), + renderFormItemContent: createFormItemRender(), renderToolbarTool: createToolbarToolRender(), -}; +} as VxeGlobalRendererOptions; diff --git a/src/components/VxeTable/src/components/AMonthPicker.tsx b/src/components/VxeTable/src/components/AMonthPicker.tsx index f46bbaef..a1a87fa5 100644 --- a/src/components/VxeTable/src/components/AMonthPicker.tsx +++ b/src/components/VxeTable/src/components/AMonthPicker.tsx @@ -1,3 +1,4 @@ +import { VxeGlobalRendererOptions } from 'vxe-table'; import { getDatePickerCellValue } from './ADatePicker'; import { createCellRender, @@ -7,12 +8,12 @@ import { } from './common'; export default { - renderEdit: createEditRender(), - renderCell: createCellRender(getDatePickerCellValue, () => { + renderTableEdit: createEditRender(), + renderTableCell: createCellRender(getDatePickerCellValue, () => { return ['YYYY-MM']; }), - renderItemContent: createFormItemRender(), - exportMethod: createExportMethod(getDatePickerCellValue, () => { + renderFormItemContent: createFormItemRender(), + tableExportMethod: createExportMethod(getDatePickerCellValue, () => { return ['YYYY-MM']; }), -}; +} as VxeGlobalRendererOptions; diff --git a/src/components/VxeTable/src/components/ARadioGroup.tsx b/src/components/VxeTable/src/components/ARadioGroup.tsx index d01092a0..62d38971 100644 --- a/src/components/VxeTable/src/components/ARadioGroup.tsx +++ b/src/components/VxeTable/src/components/ARadioGroup.tsx @@ -1,5 +1,6 @@ +import { VxeGlobalRendererOptions } from 'vxe-table'; import { createFormItemRender } from './common'; export default { - renderItemContent: createFormItemRender(), -}; + renderFormItemContent: createFormItemRender(), +} as VxeGlobalRendererOptions; diff --git a/src/components/VxeTable/src/components/ARangePicker.tsx b/src/components/VxeTable/src/components/ARangePicker.tsx index ce0da2c3..2a8e5cb8 100644 --- a/src/components/VxeTable/src/components/ARangePicker.tsx +++ b/src/components/VxeTable/src/components/ARangePicker.tsx @@ -1,4 +1,4 @@ -import { VxeColumnPropTypes, VxeGlobalRendererHandles } from 'vxe-table'; +import { VxeColumnPropTypes, VxeGlobalRendererHandles, VxeGlobalRendererOptions } from 'vxe-table'; import XEUtils from 'xe-utils'; import { createCellRender, @@ -9,7 +9,9 @@ import { function getRangePickerCellValue( renderOpts: VxeColumnPropTypes.EditRender, - params: VxeGlobalRendererHandles.RenderCellParams | VxeGlobalRendererHandles.ExportMethodParams, + params: + | VxeGlobalRendererHandles.RenderTableCellParams + | VxeGlobalRendererHandles.ExportMethodParams, ) { const { props = {} } = renderOpts; const { row, column } = params; @@ -23,8 +25,8 @@ function getRangePickerCellValue( } export default { - renderEdit: createEditRender(), - renderCell: createCellRender(getRangePickerCellValue), - renderItemContent: createFormItemRender(), - exportMethod: createExportMethod(getRangePickerCellValue), -}; + renderTableEdit: createEditRender(), + renderTableCell: createCellRender(getRangePickerCellValue), + renderFormItemContent: createFormItemRender(), + tableExportMethod: createExportMethod(getRangePickerCellValue), +} as VxeGlobalRendererOptions; diff --git a/src/components/VxeTable/src/components/ARate.tsx b/src/components/VxeTable/src/components/ARate.tsx index 3ec3f6b4..f3db885f 100644 --- a/src/components/VxeTable/src/components/ARate.tsx +++ b/src/components/VxeTable/src/components/ARate.tsx @@ -1,3 +1,4 @@ +import { VxeGlobalRendererOptions } from 'vxe-table'; import { createEditRender, createDefaultRender, @@ -7,9 +8,9 @@ import { } from './common'; export default { - renderDefault: createDefaultRender(), - renderEdit: createEditRender(), - renderFilter: createFilterRender(), - defaultFilterMethod: createDefaultFilterRender(), - renderItemContent: createFormItemRender(), -}; + renderTableDefault: createDefaultRender(), + renderTableEdit: createEditRender(), + renderTableFilter: createFilterRender(), + tableFilterDefaultMethod: createDefaultFilterRender(), + renderFormItemContent: createFormItemRender(), +} as VxeGlobalRendererOptions; diff --git a/src/components/VxeTable/src/components/ASelect.tsx b/src/components/VxeTable/src/components/ASelect.tsx index 2785fe72..290ac34a 100644 --- a/src/components/VxeTable/src/components/ASelect.tsx +++ b/src/components/VxeTable/src/components/ASelect.tsx @@ -1,5 +1,5 @@ import { ComponentOptions, h, resolveComponent } from 'vue'; -import { VxeColumnPropTypes, VxeGlobalRendererHandles } from 'vxe-table'; +import { VxeColumnPropTypes, VxeGlobalRendererHandles, VxeGlobalRendererOptions } from 'vxe-table'; import XEUtils from 'xe-utils'; import { cellText, @@ -32,7 +32,7 @@ function renderOptions(options: any[], optionProps: VxeGlobalRendererHandles.Ren function createEditRender() { return function ( renderOpts: VxeColumnPropTypes.EditRender, - params: VxeGlobalRendererHandles.RenderEditParams, + params: VxeGlobalRendererHandles.RenderTableEditParams, ) { const { options = [], optionGroups, optionProps = {}, optionGroupProps = {} } = renderOpts; const { row, column, $table } = params; @@ -100,8 +100,8 @@ function createEditRender() { } function getSelectCellValue( - renderOpts: VxeGlobalRendererHandles.RenderCellOptions, - params: VxeGlobalRendererHandles.RenderCellParams, + renderOpts: VxeGlobalRendererHandles.RenderTableCellOptions, + params: VxeGlobalRendererHandles.RenderTableCellParams, ) { const { options = [], @@ -144,7 +144,7 @@ function getSelectCellValue( function createFilterRender() { return function ( renderOpts: VxeColumnPropTypes.FilterRender, - params: VxeGlobalRendererHandles.RenderFilterParams, + params: VxeGlobalRendererHandles.RenderTableFilterParams, ) { const { options = [], optionGroups, optionProps = {}, optionGroupProps = {} } = renderOpts; const groupOptions = optionGroupProps.options || 'options'; @@ -249,10 +249,10 @@ function createFilterRender() { } export default { - renderEdit: createEditRender(), - renderCell: createCellRender(getSelectCellValue), - renderFilter: createFilterRender(), - defaultFilterMethod(params) { + renderTableEdit: createEditRender(), + renderTableCell: createCellRender(getSelectCellValue), + renderTableFilter: createFilterRender(), + tableFilterDefaultMethod(params) { const { option, row, column } = params; const { data } = option; const { field, filterRender: renderOpts } = column; @@ -266,6 +266,6 @@ export default { } return cellValue == data; }, - renderItemContent: createFormItemRender(), - exportMethod: createExportMethod(getSelectCellValue), -}; + renderFormItemContent: createFormItemRender(), + tableExportMethod: createExportMethod(getSelectCellValue), +} as VxeGlobalRendererOptions; diff --git a/src/components/VxeTable/src/components/ASwitch.tsx b/src/components/VxeTable/src/components/ASwitch.tsx index 634ab7f7..facda7e7 100644 --- a/src/components/VxeTable/src/components/ASwitch.tsx +++ b/src/components/VxeTable/src/components/ASwitch.tsx @@ -9,11 +9,12 @@ import { createFormItemRender, getComponent, } from './common'; +import { VxeGlobalRendererOptions } from 'vxe-table'; export default { - renderDefault: createDefaultRender(), - renderEdit: createEditRender(), - renderFilter(renderOpts, params) { + renderTableDefault: createDefaultRender(), + renderTableEdit: createEditRender(), + renderTableFilter(renderOpts, params) { const { column } = params; const { name, attrs } = renderOpts; const Component = getComponent(name); @@ -48,6 +49,6 @@ export default { ), ]; }, - defaultFilterMethod: createDefaultFilterRender(), - renderItemContent: createFormItemRender(), -}; + tableFilterDefaultMethod: createDefaultFilterRender(), + renderFormItemContent: createFormItemRender(), +} as VxeGlobalRendererOptions; diff --git a/src/components/VxeTable/src/components/ATimePicker.tsx b/src/components/VxeTable/src/components/ATimePicker.tsx index 7d2be547..eb8b225e 100644 --- a/src/components/VxeTable/src/components/ATimePicker.tsx +++ b/src/components/VxeTable/src/components/ATimePicker.tsx @@ -1,3 +1,4 @@ +import { VxeGlobalRendererOptions } from 'vxe-table'; import { getDatePickerCellValue } from './ADatePicker'; import { createEditRender, @@ -7,12 +8,12 @@ import { } from './common'; export default { - renderEdit: createEditRender(), - renderCell: createCellRender(getDatePickerCellValue, () => { + renderTableEdit: createEditRender(), + renderTableCell: createCellRender(getDatePickerCellValue, () => { return ['HH:mm:ss']; }), - renderItemContent: createFormItemRender(), - exportMethod: createExportMethod(getDatePickerCellValue, () => { + renderFormItemContent: createFormItemRender(), + tableExportMethod: createExportMethod(getDatePickerCellValue, () => { return ['HH:mm:ss']; }), -}; +} as VxeGlobalRendererOptions; diff --git a/src/components/VxeTable/src/components/ATreeSelect.tsx b/src/components/VxeTable/src/components/ATreeSelect.tsx index 5cb577a4..fea56850 100644 --- a/src/components/VxeTable/src/components/ATreeSelect.tsx +++ b/src/components/VxeTable/src/components/ATreeSelect.tsx @@ -1,4 +1,4 @@ -import { VxeGlobalRendererHandles } from 'vxe-table'; +import { VxeGlobalRendererHandles, VxeGlobalRendererOptions } from 'vxe-table'; import XEUtils from 'xe-utils'; import { createEditRender, @@ -10,7 +10,9 @@ import { function getTreeSelectCellValue( renderOpts: VxeGlobalRendererHandles.RenderOptions, - params: VxeGlobalRendererHandles.RenderCellParams | VxeGlobalRendererHandles.ExportMethodParams, + params: + | VxeGlobalRendererHandles.RenderTableCellParams + | VxeGlobalRendererHandles.ExportMethodParams, ) { const { props = {} } = renderOpts; const { treeData, treeCheckable } = props; @@ -28,8 +30,8 @@ function getTreeSelectCellValue( } export default { - renderEdit: createEditRender(), - renderCell: createCellRender(getTreeSelectCellValue), - renderItemContent: createFormItemRender(), - exportMethod: createExportMethod(getTreeSelectCellValue), -}; + renderTableEdit: createEditRender(), + renderTableCell: createCellRender(getTreeSelectCellValue), + renderFormItemContent: createFormItemRender(), + tableExportMethod: createExportMethod(getTreeSelectCellValue), +} as VxeGlobalRendererOptions; diff --git a/src/components/VxeTable/src/components/AWeekPicker.tsx b/src/components/VxeTable/src/components/AWeekPicker.tsx index 97b34e58..29ac9ed2 100644 --- a/src/components/VxeTable/src/components/AWeekPicker.tsx +++ b/src/components/VxeTable/src/components/AWeekPicker.tsx @@ -1,3 +1,4 @@ +import { VxeGlobalRendererOptions } from 'vxe-table'; import { getDatePickerCellValue } from './ADatePicker'; import { createEditRender, @@ -7,12 +8,12 @@ import { } from './common'; export default { - renderEdit: createEditRender(), - renderCell: createCellRender(getDatePickerCellValue, () => { + renderTableEdit: createEditRender(), + renderTableCell: createCellRender(getDatePickerCellValue, () => { return ['YYYY-WW周']; }), - renderItemContent: createFormItemRender(), - exportMethod: createExportMethod(getDatePickerCellValue, () => { + renderFormItemContent: createFormItemRender(), + tableExportMethod: createExportMethod(getDatePickerCellValue, () => { return ['YYYY-WW周']; }), -}; +} as VxeGlobalRendererOptions; diff --git a/src/components/VxeTable/src/components/AYearPicker.tsx b/src/components/VxeTable/src/components/AYearPicker.tsx index 6e73c19a..eca2ae65 100644 --- a/src/components/VxeTable/src/components/AYearPicker.tsx +++ b/src/components/VxeTable/src/components/AYearPicker.tsx @@ -1,3 +1,4 @@ +import { VxeGlobalRendererOptions } from 'vxe-table'; import { getDatePickerCellValue } from './ADatePicker'; import { createEditRender, @@ -7,12 +8,12 @@ import { } from './common'; export default { - renderEdit: createEditRender(), - renderCell: createCellRender(getDatePickerCellValue, () => { + renderTableEdit: createEditRender(), + renderTableCell: createCellRender(getDatePickerCellValue, () => { return ['YYYY']; }), - renderItemContent: createFormItemRender(), - exportMethod: createExportMethod(getDatePickerCellValue, () => { + renderFormItemContent: createFormItemRender(), + tableExportMethod: createExportMethod(getDatePickerCellValue, () => { return ['YYYY']; }), -}; +} as VxeGlobalRendererOptions; diff --git a/src/components/VxeTable/src/components/common.tsx b/src/components/VxeTable/src/components/common.tsx index 482a1e9f..ebb2a521 100644 --- a/src/components/VxeTable/src/components/common.tsx +++ b/src/components/VxeTable/src/components/common.tsx @@ -1,7 +1,7 @@ import { ComponentOptions, h } from 'vue'; import { FormItemContentRenderParams, - FormItemRenderOptions, + VxeFormItemPropTypes, VxeGlobalRendererHandles, } from 'vxe-table'; import XEUtils from 'xe-utils'; @@ -160,12 +160,12 @@ export function createDefaultRender( defaultProps?: { [key: string]: any }, callBack?: ( renderOpts: VxeGlobalRendererHandles.RenderDefaultOptions, - params: VxeGlobalRendererHandles.RenderDefaultParams, + params: VxeGlobalRendererHandles.RenderTableDefaultParams, ) => Record, ) { return function ( renderOpts: VxeGlobalRendererHandles.RenderDefaultOptions, - params: VxeGlobalRendererHandles.RenderDefaultParams, + params: VxeGlobalRendererHandles.RenderTableDefaultParams, ) { const { row, column, $table } = params; const { name, attrs } = renderOpts; @@ -195,13 +195,13 @@ export function createDefaultRender( export function createEditRender( defaultProps?: { [key: string]: any }, callBack?: ( - renderOpts: VxeGlobalRendererHandles.RenderEditOptions, - params: VxeGlobalRendererHandles.RenderEditParams, + renderOpts: VxeGlobalRendererHandles.RenderTableEditOptions, + params: VxeGlobalRendererHandles.RenderTableEditParams, ) => Record, ) { return function ( - renderOpts: VxeGlobalRendererHandles.RenderEditOptions, - params: VxeGlobalRendererHandles.RenderEditParams, + renderOpts: VxeGlobalRendererHandles.RenderTableEditOptions, + params: VxeGlobalRendererHandles.RenderTableEditParams, ) { const { row, column, $table } = params; const { name, attrs } = renderOpts; @@ -232,12 +232,12 @@ export function createFilterRender( defaultProps?: { [key: string]: any }, callBack?: ( renderOpts: VxeGlobalRendererHandles.RenderFilterOptions, - params: VxeGlobalRendererHandles.RenderFilterParams, + params: VxeGlobalRendererHandles.RenderTableFilterParams, ) => Record, ) { return function ( renderOpts: VxeGlobalRendererHandles.RenderFilterOptions, - params: VxeGlobalRendererHandles.RenderFilterParams, + params: VxeGlobalRendererHandles.RenderTableFilterParams, ) { const { column } = params; const { name, attrs } = renderOpts; @@ -287,7 +287,7 @@ export function createFilterRender( */ export function createDefaultFilterRender() { - return function (params: VxeGlobalRendererHandles.FilterMethodParams) { + return function (params: VxeGlobalRendererHandles.TableFilterMethodParams) { const { option, row, column } = params; const { data } = option; const cellValue = XEUtils.get(row, column.field as string); @@ -301,11 +301,14 @@ export function createDefaultFilterRender() { export function createFormItemRender( defaultProps?: { [key: string]: any }, callBack?: ( - renderOpts: FormItemRenderOptions, + renderOpts: VxeFormItemPropTypes.ItemRender, params: FormItemContentRenderParams, ) => Record, ) { - return function (renderOpts: FormItemRenderOptions, params: FormItemContentRenderParams) { + return function ( + renderOpts: VxeFormItemPropTypes.ItemRender, + params: FormItemContentRenderParams, + ) { const args = (callBack && callBack(renderOpts, params)) ?? {}; const { data, property, $form } = params; const { name } = renderOpts; @@ -344,13 +347,13 @@ export function createFormItemRender( export function createCellRender( getSelectCellValue: Function, callBack?: ( - renderOpts: VxeGlobalRendererHandles.RenderCellOptions, - params: VxeGlobalRendererHandles.RenderCellParams, + renderOpts: VxeGlobalRendererHandles.RenderTableCellOptions, + params: VxeGlobalRendererHandles.RenderTableCellParams, ) => Array, ) { return function ( - renderOpts: VxeGlobalRendererHandles.RenderCellOptions, - params: VxeGlobalRendererHandles.RenderCellParams, + renderOpts: VxeGlobalRendererHandles.RenderTableCellOptions, + params: VxeGlobalRendererHandles.RenderTableCellParams, ) { const args = (callBack && callBack(renderOpts, params)) ?? []; const cellLabel = getSelectCellValue && getSelectCellValue(renderOpts, params, ...args); diff --git a/src/components/VxeTable/src/components/index.tsx b/src/components/VxeTable/src/components/index.tsx index ba8c6d85..3c415fc3 100644 --- a/src/components/VxeTable/src/components/index.tsx +++ b/src/components/VxeTable/src/components/index.tsx @@ -1,4 +1,4 @@ -import { VXETableCore, VxeGlobalInterceptorHandles } from 'vxe-table'; +import { VxeUIExport, VxeGlobalInterceptorHandles } from 'vxe-table'; import AAutoComplete from './AAutoComplete'; import AInput from './AInput'; import AInputNumber from './AInputNumber'; @@ -50,7 +50,7 @@ function getEventTargetNode(evnt: any, container: HTMLElement, className: string function handleClearEvent( params: | VxeGlobalInterceptorHandles.InterceptorClearFilterParams - | VxeGlobalInterceptorHandles.InterceptorClearActivedParams + | VxeGlobalInterceptorHandles.InterceptorClearEditParams | VxeGlobalInterceptorHandles.InterceptorClearAreasParams, ) { const { $event } = params; @@ -73,7 +73,7 @@ function handleClearEvent( * 基于 vxe-table 表格的适配插件,用于兼容 ant-design-vue 组件库 */ export const VXETablePluginAntd = { - install(vxetablecore: VXETableCore) { + install(vxetablecore: VxeUIExport) { const { interceptor, renderer } = vxetablecore; renderer.mixin({ @@ -102,13 +102,13 @@ export const VXETablePluginAntd = { }); interceptor.add('event.clearFilter', handleClearEvent); - interceptor.add('event.clearActived', handleClearEvent); + interceptor.add('event.clearEdit', handleClearEvent); interceptor.add('event.clearAreas', handleClearEvent); }, }; -if (typeof window !== 'undefined' && window.VXETable && window.VXETable.use) { - window.VXETable.use(VXETablePluginAntd); +if (typeof window !== 'undefined' && window.VxeUI && window.VxeUI.use) { + window.VxeUI.use(VXETablePluginAntd); } export default VXETablePluginAntd; diff --git a/src/components/VxeTable/src/css/index.scss b/src/components/VxeTable/src/css/index.scss index 3b38807e..1b74216b 100644 --- a/src/components/VxeTable/src/css/index.scss +++ b/src/components/VxeTable/src/css/index.scss @@ -3,3 +3,4 @@ @import './toolbar'; @import './component'; @import 'vxe-table/styles/all'; +@import 'vxe-pc-ui/styles/all'; diff --git a/src/components/registerGlobComp.ts b/src/components/registerGlobComp.ts index 5a8e591f..7f9e977d 100644 --- a/src/components/registerGlobComp.ts +++ b/src/components/registerGlobComp.ts @@ -2,7 +2,8 @@ import type { App } from 'vue'; import { Button } from './Button'; import { Input, Layout } from 'ant-design-vue'; import VXETable from 'vxe-table'; +import VXEUI from 'vxe-pc-ui'; export function registerGlobComp(app: App) { - app.use(Input).use(Button).use(Layout).use(VXETable); + app.use(Input).use(Button).use(Layout).use(VXETable).use(VXEUI); } From dd1b16acdcf4b02daf48e998e3af44619a8cb403 Mon Sep 17 00:00:00 2001 From: Allure-eve Date: Thu, 4 Jul 2024 08:50:58 +0800 Subject: [PATCH 11/17] fix(BasicTable): ColumnSettings.vue columnOptions typeof lost (#3941) --- .../Table/src/components/settings/ColumnSetting.vue | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/components/Table/src/components/settings/ColumnSetting.vue b/src/components/Table/src/components/settings/ColumnSetting.vue index 1a66513a..63f6acb2 100644 --- a/src/components/Table/src/components/settings/ColumnSetting.vue +++ b/src/components/Table/src/components/settings/ColumnSetting.vue @@ -540,13 +540,13 @@ label: typeof col.title === 'string' ? col.title - : col.customTitle === 'string' + : typeof col.customTitle === 'string' ? col.customTitle : '', value: typeof col.dataIndex === 'string' ? col.dataIndex - : col.title === 'string' + : typeof col.title === 'string' ? col.title : '', column: { From cec5c1128961e59363a9573d7360020a18737b6a Mon Sep 17 00:00:00 2001 From: fourteendp <53899166+fourteendp@users.noreply.github.com> Date: Thu, 4 Jul 2024 14:12:52 +0800 Subject: [PATCH 12/17] =?UTF-8?q?fix(VxeTable):=20=E4=BF=AE=E5=A4=8DVxeTab?= =?UTF-8?q?le=E8=87=AA=E5=AE=9A=E4=B9=89=E7=BB=84=E4=BB=B6=E9=87=8D?= =?UTF-8?q?=E5=A4=8D=E6=B3=A8=E5=86=8C=E5=AF=BC=E8=87=B4=E6=8E=A7=E5=88=B6?= =?UTF-8?q?=E5=8F=B0=E8=AD=A6=E5=91=8A=20(#3944)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/VxeTable/src/components/index.tsx | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/components/VxeTable/src/components/index.tsx b/src/components/VxeTable/src/components/index.tsx index 3c415fc3..0767b855 100644 --- a/src/components/VxeTable/src/components/index.tsx +++ b/src/components/VxeTable/src/components/index.tsx @@ -76,7 +76,7 @@ export const VXETablePluginAntd = { install(vxetablecore: VxeUIExport) { const { interceptor, renderer } = vxetablecore; - renderer.mixin({ + const customRenderComponents = { AAutoComplete, AInput, AInputNumber, @@ -99,6 +99,11 @@ export const VXETablePluginAntd = { AEmpty, AInputSearch, AYearPicker, + }; + + Object.keys(customRenderComponents).forEach((name) => { + if (renderer.get(name)) return; + renderer.add(name, customRenderComponents[name]); }); interceptor.add('event.clearFilter', handleClearEvent); From 1745f480fd6b9bb38090add37c8c53361ca8b265 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=97=E5=A4=A7?= Date: Wed, 17 Jul 2024 13:56:09 +0800 Subject: [PATCH 13/17] fix: typo opend -> opened (#3968) --- .../SimpleMenu/src/components/MenuItem.vue | 6 +-- .../SimpleMenu/src/components/SubMenuItem.vue | 42 +++++++++---------- .../src/components/useSimpleMenuContext.ts | 6 +-- 3 files changed, 27 insertions(+), 27 deletions(-) diff --git a/src/components/SimpleMenu/src/components/MenuItem.vue b/src/components/SimpleMenu/src/components/MenuItem.vue index 27c97f43..c30e4667 100644 --- a/src/components/SimpleMenu/src/components/MenuItem.vue +++ b/src/components/SimpleMenu/src/components/MenuItem.vue @@ -17,11 +17,11 @@