pro-design-vue 1.2.23 → 1.2.25
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.full.js +11 -5
- package/dist/index.full.min.js +3 -3
- package/dist/index.full.min.js.map +1 -1
- package/dist/index.full.min.mjs +3 -3
- package/dist/index.full.min.mjs.map +1 -1
- package/dist/index.full.mjs +11 -5
- package/es/packages/components/form/src/fields/FieldUploadButton.mjs +1 -1
- package/es/packages/components/form/src/fields/FieldUploadButton.mjs.map +1 -1
- package/es/packages/components/table/src/components/ToolBar/ToolBar.vue.mjs.map +1 -1
- package/es/packages/components/table/src/components/ToolBar/ToolBar.vue2.mjs +7 -1
- package/es/packages/components/table/src/components/ToolBar/ToolBar.vue2.mjs.map +1 -1
- package/es/packages/components/table/src/hooks/useFetchData.mjs +1 -1
- package/es/packages/components/table/src/hooks/useFetchData.mjs.map +1 -1
- package/es/version.d.ts +1 -1
- package/es/version.mjs +1 -1
- package/es/version.mjs.map +1 -1
- package/lib/packages/components/form/src/fields/FieldUploadButton.js +1 -1
- package/lib/packages/components/form/src/fields/FieldUploadButton.js.map +1 -1
- package/lib/packages/components/table/src/components/ToolBar/ToolBar.vue.js.map +1 -1
- package/lib/packages/components/table/src/components/ToolBar/ToolBar.vue2.js +7 -1
- package/lib/packages/components/table/src/components/ToolBar/ToolBar.vue2.js.map +1 -1
- package/lib/packages/components/table/src/hooks/useFetchData.js +1 -1
- package/lib/packages/components/table/src/hooks/useFetchData.js.map +1 -1
- package/lib/version.d.ts +1 -1
- package/lib/version.js +1 -1
- package/lib/version.js.map +1 -1
- package/package.json +1 -1
package/dist/index.full.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! Pro Design Vue v1.2.
|
|
1
|
+
/*! Pro Design Vue v1.2.25 */
|
|
2
2
|
|
|
3
3
|
import { Modal, theme as theme$1, ConfigProvider, App, Button as Button$1, Tooltip, Popconfirm, Dropdown, Menu, Slider, Drawer, Input, InputNumber, Form as Form$1, Space, Textarea, Select, TreeSelect, Checkbox as Checkbox$1, CheckboxGroup, RadioGroup, Radio as Radio$1, Cascader, Switch, Rate, DatePicker, RangePicker, TimePicker, TimeRangePicker, Upload, FormItemRest, Spin, message, Row as Row$1, Col, FormItem as FormItem$3, Steps, Popover, MenuItem, SubMenu, Empty, Badge, Tag, Pagination, InputSearch, Tree, Card, Tabs, TabPane } from 'ant-design-vue';
|
|
4
4
|
import { inject, ref, getCurrentInstance, nextTick, h, reactive, defineComponent, createVNode, isVNode, Fragment, cloneVNode, provide, watch, computed, renderSlot, createPropsRestProxy, createBlock, openBlock, unref, mergeProps, withCtx, normalizeProps, guardReactiveProps, shallowRef, shallowReadonly, toValue, getCurrentScope, onScopeDispose, onMounted, hasInjectionContext, isRef, toRefs as toRefs$1, customRef, toRef as toRef$1, readonly, watchEffect, toRaw, createElementBlock, createCommentVNode, resolveDynamicComponent, createElementVNode, normalizeStyle, toDisplayString, normalizeClass, createSlots, createTextVNode, useAttrs, useTemplateRef, defineAsyncComponent, Teleport, onUnmounted, Comment as Comment$1, useSlots, useModel, withModifiers, mergeModels, renderList, camelize, isReactive, onActivated, onDeactivated, onBeforeUnmount, triggerRef, resolveDirective, withDirectives, vShow, render as render$1, resolveComponent, vModelText } from 'vue';
|
|
@@ -30,7 +30,7 @@ const SCROLL_FIXED_CLASS = `_scroll__fixed_`;
|
|
|
30
30
|
const DEFAULT_NAMESPACE = "pro";
|
|
31
31
|
const DEFAULT_LOCALE = "zh-CN";
|
|
32
32
|
|
|
33
|
-
const version$1 = "1.2.
|
|
33
|
+
const version$1 = "1.2.25";
|
|
34
34
|
|
|
35
35
|
const makeInstaller = (components = []) => {
|
|
36
36
|
const install = (app) => {
|
|
@@ -16152,7 +16152,7 @@ var FieldUploadButton = /* @__PURE__ */ defineComponent({
|
|
|
16152
16152
|
},
|
|
16153
16153
|
listType: {
|
|
16154
16154
|
type: String,
|
|
16155
|
-
default: "
|
|
16155
|
+
default: "text"
|
|
16156
16156
|
},
|
|
16157
16157
|
listIgnore: {
|
|
16158
16158
|
type: Boolean,
|
|
@@ -22105,7 +22105,7 @@ const useFetchData = (getData, props) => {
|
|
|
22105
22105
|
return false;
|
|
22106
22106
|
}
|
|
22107
22107
|
if (props.pagination && contextPagination.value) {
|
|
22108
|
-
return merge(contextPagination.value, props.pagination);
|
|
22108
|
+
return merge({}, contextPagination.value, props.pagination);
|
|
22109
22109
|
} else {
|
|
22110
22110
|
return (_a2 = props.pagination) != null ? _a2 : contextPagination.value;
|
|
22111
22111
|
}
|
|
@@ -35030,7 +35030,13 @@ var _sfc_main$8 = defineComponent({
|
|
|
35030
35030
|
};
|
|
35031
35031
|
const mergeOptions = computed(() => {
|
|
35032
35032
|
if (props.options === false) {
|
|
35033
|
-
return {
|
|
35033
|
+
return {
|
|
35034
|
+
reload: false,
|
|
35035
|
+
density: true,
|
|
35036
|
+
setting: true,
|
|
35037
|
+
search: false,
|
|
35038
|
+
fullScreen: false
|
|
35039
|
+
};
|
|
35034
35040
|
}
|
|
35035
35041
|
return { ...defaultOptions, ...props.options };
|
|
35036
35042
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FieldUploadButton.mjs","sources":["../../../../../../../../packages/components/form/src/fields/FieldUploadButton.tsx"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2023-08-10 14:34:03\n * @LastEditors: shen\n * @LastEditTime: 2025-10-25 15:00:08\n * @Description:\n */\nimport type { PropType } from 'vue'\n\nimport { computed, defineComponent, ref, watch } from 'vue'\nimport { Form, Button, Upload, type UploadChangeParam, type UploadProps } from 'ant-design-vue'\nimport { UploadOutlined } from '@ant-design/icons-vue'\nimport { useInjectSlots } from '../context/FormSlotsContext'\nimport { commonFieldProps } from '../props'\nimport { useIntl } from '@pro-design-vue/components/config-provider'\nimport { isFunction, RenderVNode } from '@pro-design-vue/utils'\nimport { useInjectForm } from '../context/FormContext'\nimport getSlot from '../utils/getSlot'\n\nconst SLOT_NAMES = ['downloadIcon', 'itemRender', 'previewIcon', 'removeIcon']\n\nexport default defineComponent({\n name: 'FieldUploadButton',\n props: {\n ...commonFieldProps(),\n iconRender: {\n type: String,\n default: '',\n },\n downloadIcon: {\n type: String,\n default: '',\n },\n itemRender: {\n type: String,\n default: '',\n },\n previewIcon: {\n type: String,\n default: '',\n },\n removeIcon: {\n type: String,\n default: '',\n },\n title: {\n type: String,\n },\n name: {\n type: String,\n default: 'file',\n },\n maxCount: {\n type: Number,\n default: undefined,\n },\n disabled: {\n type: Boolean,\n default: undefined,\n },\n buttonProps: {\n type: Object,\n default: undefined,\n },\n fileList: {\n type: Array,\n default: undefined,\n },\n listType: {\n type: String as PropType<'text' | 'picture' | 'picture-card'>,\n default: 'picture-card',\n },\n listIgnore: {\n type: Boolean,\n default: true,\n },\n showUploadList: {\n type: [Boolean, Object] as PropType<UploadProps['showUploadList']>,\n default: true,\n },\n customRequest: Function,\n beforeUpload: Function,\n },\n setup(props, { attrs }) {\n const intl = useIntl()\n const { prefixCls, formData } = useInjectForm()\n const formSlotsContext = useInjectSlots()\n const fileList = ref<any[]>([])\n const formItemContext = Form.useInjectFormItemContext()\n const baseClassName = computed(() => `${prefixCls}-upload`)\n const isPictureCard = computed(() => props.listType === 'picture-card')\n const slotsGetter = computed(() => {\n const temp = {}\n SLOT_NAMES.forEach((name) => {\n const slot = getSlot(props[name], formSlotsContext)\n if (slot) {\n temp[name] = () => <RenderVNode vnode={slot} props={{ formData: formData.value }} />\n }\n })\n return temp\n })\n\n const icon = computed(() => {\n const render = getSlot(props.iconRender, formSlotsContext)\n if (isFunction(render)) {\n return <RenderVNode vnode={render} props={{ formData: formData.value }} />\n }\n return <UploadOutlined />\n })\n\n const title = computed(() => {\n const render = getSlot(props.title, formSlotsContext)\n if (isFunction(render)) {\n return <RenderVNode vnode={render} props={{ formData: formData.value }} />\n }\n return props.title || intl.getMessage('upload.button', '单击上传')\n })\n\n const beforeUpload: UploadProps['beforeUpload'] = async (file, fileList) => {\n const result = await props.beforeUpload?.(file, fileList)\n if (!result && props.listIgnore) {\n return Upload.LIST_IGNORE\n }\n return result\n }\n\n const customRequest: UploadProps['customRequest'] = async (option) => {\n const formData = new FormData()\n formData.append(props.name, option.file)\n const onUploadProgress = (e) => {\n if (e.total > 0) {\n e.percent = (e.loaded / e.total) * 100\n }\n option?.onProgress?.(e)\n }\n const { success, error, data } =\n (await props.customRequest!(formData, onUploadProgress)) ?? {}\n if (success) {\n option.onSuccess?.(data)\n formItemContext.onFieldChange()\n } else {\n option.onError?.(error, data)\n }\n }\n\n const uploadProps = computed(() => {\n const newProps = { ...attrs }\n if (props.customRequest) {\n newProps.customRequest = customRequest\n }\n if (props.beforeUpload) {\n newProps.beforeUpload = beforeUpload\n }\n return newProps\n })\n\n watch(\n () => props.value,\n (newValue) => {\n fileList.value = [...newValue?.map((item) => ({ ...item, name: item.name || item.url }))]\n if (!fileList.value?.length) {\n formItemContext.onFieldChange()\n }\n },\n )\n\n const onUploadChange = (info: UploadChangeParam) => {\n props.onChange?.(\n info.fileList.map((item) => ({\n ...item,\n name: item.name || item.response?.name || item.url || item.response?.url,\n url: item.response?.url || item.url,\n })),\n info.file,\n )\n }\n\n return () => (\n <Upload\n {...uploadProps.value}\n class={{ [`${baseClassName.value}-readonly`]: props.readonly }}\n v-model:fileList={fileList.value}\n name={props.name}\n maxCount={props.maxCount}\n listType={props.listType}\n showUploadList={props.readonly || props.showUploadList}\n disabled={props.readonly || props.disabled}\n style={(attrs as any)?.style}\n v-slots={slotsGetter.value}\n onChange={onUploadChange}\n >\n {isPictureCard.value ? (\n props.maxCount !== undefined &&\n fileList.value?.length < props.maxCount && (\n <div>\n {icon.value}\n <div style=\"margin-top: 8px\"> {title.value}</div>\n </div>\n )\n ) : (\n <Button disabled={props.disabled} {...props.buttonProps}>\n {icon.value}\n {title.value}\n </Button>\n )}\n </Upload>\n )\n },\n})\n"],"names":["SLOT_NAMES","name","props","commonFieldProps","iconRender","type","String","default","downloadIcon","itemRender","previewIcon","removeIcon","title","maxCount","Number","undefined","disabled","Boolean","buttonProps","Object","fileList","Array","listType","listIgnore","showUploadList","customRequest","Function","beforeUpload","setup","attrs","intl","useIntl","prefixCls","formData","useInjectForm","formSlotsContext","useInjectSlots","ref","formItemContext","Form","useInjectFormItemContext","baseClassName","computed","isPictureCard","slotsGetter","temp","forEach","slot","getSlot","_createVNode","RenderVNode","value","icon","render","isFunction","UploadOutlined","getMessage","file","result","Upload","LIST_IGNORE","option","FormData","append","onUploadProgress","e","_a","total","percent","loaded","onProgress","success","error","data","onSuccess","onFieldChange","onError","uploadProps","newProps","watch","newValue","map","item","url","length","onUploadChange","info","onChange","response","_mergeProps","readonly","$event","style","_createTextVNode","Button"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"FieldUploadButton.mjs","sources":["../../../../../../../../packages/components/form/src/fields/FieldUploadButton.tsx"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2023-08-10 14:34:03\n * @LastEditors: shen\n * @LastEditTime: 2025-10-27 15:43:39\n * @Description:\n */\nimport type { PropType } from 'vue'\n\nimport { computed, defineComponent, ref, watch } from 'vue'\nimport { Form, Button, Upload, type UploadChangeParam, type UploadProps } from 'ant-design-vue'\nimport { UploadOutlined } from '@ant-design/icons-vue'\nimport { useInjectSlots } from '../context/FormSlotsContext'\nimport { commonFieldProps } from '../props'\nimport { useIntl } from '@pro-design-vue/components/config-provider'\nimport { isFunction, RenderVNode } from '@pro-design-vue/utils'\nimport { useInjectForm } from '../context/FormContext'\nimport getSlot from '../utils/getSlot'\n\nconst SLOT_NAMES = ['downloadIcon', 'itemRender', 'previewIcon', 'removeIcon']\n\nexport default defineComponent({\n name: 'FieldUploadButton',\n props: {\n ...commonFieldProps(),\n iconRender: {\n type: String,\n default: '',\n },\n downloadIcon: {\n type: String,\n default: '',\n },\n itemRender: {\n type: String,\n default: '',\n },\n previewIcon: {\n type: String,\n default: '',\n },\n removeIcon: {\n type: String,\n default: '',\n },\n title: {\n type: String,\n },\n name: {\n type: String,\n default: 'file',\n },\n maxCount: {\n type: Number,\n default: undefined,\n },\n disabled: {\n type: Boolean,\n default: undefined,\n },\n buttonProps: {\n type: Object,\n default: undefined,\n },\n fileList: {\n type: Array,\n default: undefined,\n },\n listType: {\n type: String as PropType<'text' | 'picture' | 'picture-card'>,\n default: 'text',\n },\n listIgnore: {\n type: Boolean,\n default: true,\n },\n showUploadList: {\n type: [Boolean, Object] as PropType<UploadProps['showUploadList']>,\n default: true,\n },\n customRequest: Function,\n beforeUpload: Function,\n },\n setup(props, { attrs }) {\n const intl = useIntl()\n const { prefixCls, formData } = useInjectForm()\n const formSlotsContext = useInjectSlots()\n const fileList = ref<any[]>([])\n const formItemContext = Form.useInjectFormItemContext()\n const baseClassName = computed(() => `${prefixCls}-upload`)\n const isPictureCard = computed(() => props.listType === 'picture-card')\n const slotsGetter = computed(() => {\n const temp = {}\n SLOT_NAMES.forEach((name) => {\n const slot = getSlot(props[name], formSlotsContext)\n if (slot) {\n temp[name] = () => <RenderVNode vnode={slot} props={{ formData: formData.value }} />\n }\n })\n return temp\n })\n\n const icon = computed(() => {\n const render = getSlot(props.iconRender, formSlotsContext)\n if (isFunction(render)) {\n return <RenderVNode vnode={render} props={{ formData: formData.value }} />\n }\n return <UploadOutlined />\n })\n\n const title = computed(() => {\n const render = getSlot(props.title, formSlotsContext)\n if (isFunction(render)) {\n return <RenderVNode vnode={render} props={{ formData: formData.value }} />\n }\n return props.title || intl.getMessage('upload.button', '单击上传')\n })\n\n const beforeUpload: UploadProps['beforeUpload'] = async (file, fileList) => {\n const result = await props.beforeUpload?.(file, fileList)\n if (!result && props.listIgnore) {\n return Upload.LIST_IGNORE\n }\n return result\n }\n\n const customRequest: UploadProps['customRequest'] = async (option) => {\n const formData = new FormData()\n formData.append(props.name, option.file)\n const onUploadProgress = (e) => {\n if (e.total > 0) {\n e.percent = (e.loaded / e.total) * 100\n }\n option?.onProgress?.(e)\n }\n const { success, error, data } =\n (await props.customRequest!(formData, onUploadProgress)) ?? {}\n if (success) {\n option.onSuccess?.(data)\n formItemContext.onFieldChange()\n } else {\n option.onError?.(error, data)\n }\n }\n\n const uploadProps = computed(() => {\n const newProps = { ...attrs }\n if (props.customRequest) {\n newProps.customRequest = customRequest\n }\n if (props.beforeUpload) {\n newProps.beforeUpload = beforeUpload\n }\n return newProps\n })\n\n watch(\n () => props.value,\n (newValue) => {\n fileList.value = [...newValue?.map((item) => ({ ...item, name: item.name || item.url }))]\n if (!fileList.value?.length) {\n formItemContext.onFieldChange()\n }\n },\n )\n\n const onUploadChange = (info: UploadChangeParam) => {\n props.onChange?.(\n info.fileList.map((item) => ({\n ...item,\n name: item.name || item.response?.name || item.url || item.response?.url,\n url: item.response?.url || item.url,\n })),\n info.file,\n )\n }\n\n return () => (\n <Upload\n {...uploadProps.value}\n class={{ [`${baseClassName.value}-readonly`]: props.readonly }}\n v-model:fileList={fileList.value}\n name={props.name}\n maxCount={props.maxCount}\n listType={props.listType}\n showUploadList={props.readonly || props.showUploadList}\n disabled={props.readonly || props.disabled}\n style={(attrs as any)?.style}\n v-slots={slotsGetter.value}\n onChange={onUploadChange}\n >\n {isPictureCard.value ? (\n props.maxCount !== undefined &&\n fileList.value?.length < props.maxCount && (\n <div>\n {icon.value}\n <div style=\"margin-top: 8px\"> {title.value}</div>\n </div>\n )\n ) : (\n <Button disabled={props.disabled} {...props.buttonProps}>\n {icon.value}\n {title.value}\n </Button>\n )}\n </Upload>\n )\n },\n})\n"],"names":["SLOT_NAMES","name","props","commonFieldProps","iconRender","type","String","default","downloadIcon","itemRender","previewIcon","removeIcon","title","maxCount","Number","undefined","disabled","Boolean","buttonProps","Object","fileList","Array","listType","listIgnore","showUploadList","customRequest","Function","beforeUpload","setup","attrs","intl","useIntl","prefixCls","formData","useInjectForm","formSlotsContext","useInjectSlots","ref","formItemContext","Form","useInjectFormItemContext","baseClassName","computed","isPictureCard","slotsGetter","temp","forEach","slot","getSlot","_createVNode","RenderVNode","value","icon","render","isFunction","UploadOutlined","getMessage","file","result","Upload","LIST_IGNORE","option","FormData","append","onUploadProgress","e","_a","total","percent","loaded","onProgress","success","error","data","onSuccess","onFieldChange","onError","uploadProps","newProps","watch","newValue","map","item","url","length","onUploadChange","info","onChange","response","_mergeProps","readonly","$event","style","_createTextVNode","Button"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ToolBar.vue.mjs","sources":["../../../../../../../../../packages/components/table/src/components/ToolBar/ToolBar.vue"],"sourcesContent":["<!--\n * @Author: shen\n * @Date: 2023-11-06 16:03:18\n * @LastEditors: shen\n * @LastEditTime: 2025-10-23 14:30:45\n * @Description:\n-->\n<script lang=\"ts\">\nimport type { PropType } from 'vue'\nimport type { UseFetchDataAction } from '../../hooks/useFetchData'\nimport type { OptionConfig, Key, OptionSearchProps } from '../interface'\n\nimport { defineComponent, h, computed, onMounted } from 'vue'\nimport { Space, Tooltip } from 'ant-design-vue'\nimport {\n ReloadOutlined,\n FilterOutlined,\n SettingOutlined,\n ColumnHeightOutlined,\n InfoCircleOutlined,\n} from '@ant-design/icons-vue'\nimport { omit, omitUndefined } from '@pro-design-vue/utils'\nimport { useIntl } from '@pro-design-vue/components/config-provider'\nimport Search from './Search.vue'\nimport DensityIcon from './DensityIcon.vue'\nimport FullscreenIcon from './FullscreenIcon.vue'\nimport ColumnSetting from '../ColumnSetting/ColumnSetting.vue'\n\nexport default defineComponent({\n name: 'TableToolBar',\n inheritAttrs: false,\n components: {\n Space,\n ProSearch: Search,\n DensityIcon,\n Tooltip,\n ColumnSetting,\n ReloadOutlined,\n InfoCircleOutlined,\n FullscreenIcon,\n },\n props: {\n prefixCls: String,\n title: String,\n subTitle: String,\n tooltip: String,\n options: { type: [Object, Boolean] as PropType<OptionConfig | false>, default: undefined },\n\n actionsRef: Object as PropType<UseFetchDataAction<any> & { fullScreen: () => void }>,\n selectedRowKeys: {\n type: Array as PropType<Key[]>,\n default: () => [],\n },\n selectedRows: {\n type: Array as PropType<any[]>,\n default: () => [],\n },\n tableColumn: {\n type: Array as PropType<any[]>,\n default: () => [],\n },\n onFormSearchSubmit: {\n type: Function as PropType<(params: any) => void>,\n default: undefined,\n },\n },\n setup(props) {\n const intl = useIntl()\n\n const defaultOptions = {\n reload: () => props.actionsRef?.reload(),\n density: true,\n setting: true,\n filter: false,\n search: false,\n fullScreen: () => props.actionsRef?.fullScreen(),\n }\n\n const mergeOptions = computed<OptionConfig>(() => {\n if (props.options === false) {\n return {}\n }\n return { ...defaultOptions, ...props.options }\n })\n\n const defaultSearchConfig = {\n onChange: (e) => {\n props.actionsRef!.keyword.value = e.target.value!\n },\n }\n\n const searchConfig: any = computed(() => {\n if (props.options === false) {\n return false\n }\n if (!mergeOptions.value!.search) return false\n\n if (mergeOptions.value!.search === true) return defaultSearchConfig\n\n return omit(\n {\n ...(mergeOptions.value!.search ?? {}),\n ...defaultSearchConfig,\n },\n ['name', 'onSearch'],\n )\n })\n\n const onSearch = async (keyword: string) => {\n if (!props.options || !props.options.search) {\n return\n }\n const { name = 'keyword' } = props.options.search === true ? {} : props.options.search\n\n /** 如果传入的 onSearch 返回值为 false,应该直接拦截请求 */\n const success = (props.options.search as OptionSearchProps)?.onSearch?.(keyword)\n\n if (success === false) return\n\n props.onFormSearchSubmit?.(\n omitUndefined({\n [name]: keyword,\n }),\n )\n }\n\n const onReload = (e) => {\n if (mergeOptions.value.reload === true) {\n defaultOptions.reload()\n } else if (typeof mergeOptions.value.reload === 'function') {\n mergeOptions.value.reload?.(e, props.actionsRef)\n }\n }\n\n const onFullScreen = (e) => {\n if (mergeOptions.value.fullScreen === true) {\n defaultOptions.fullScreen()\n } else if (typeof mergeOptions.value.fullScreen === 'function') {\n mergeOptions.value.fullScreen?.(e, props.actionsRef)\n }\n }\n\n onMounted(() => {\n if (searchConfig.value.value || searchConfig.value.defaultValue) {\n props.actionsRef!.keyword.value =\n searchConfig.value.value || searchConfig.value.defaultValue\n }\n })\n\n return {\n h,\n intl,\n mergeOptions,\n searchConfig,\n FilterOutlined,\n SettingOutlined,\n ColumnHeightOutlined,\n onSearch,\n onReload,\n onFullScreen,\n }\n },\n})\n</script>\n\n<template>\n <div :class=\"`${prefixCls}-toolbar`\">\n <div :class=\"`${prefixCls}-toolbar-top`\" v-if=\"!!$slots.top\">\n <slot name=\"top\" />\n </div>\n <div :class=\"`${prefixCls}-toolbar-container`\">\n <slot name=\"toolbar\">\n <div :class=\"`${prefixCls}-toolbar-left`\">\n <div :class=\"`${prefixCls}-toolbar-title`\" v-if=\"!!title || !!$slots.title\">\n <slot name=\"title\">\n {{ title }}\n </slot>\n <div :class=\"`${prefixCls}-toolbar-subtitle`\">{{ subTitle }}</div>\n <Tooltip v-if=\"tooltip\" :title=\"tooltip\">\n <InfoCircleOutlined style=\"margin-inline-start: 3px\" />\n </Tooltip>\n </div>\n <Space :class=\"`${prefixCls}-toolbar-options`\" v-if=\"options !== false\">\n <template v-if=\"mergeOptions.search !== false && !(!!title || !!$slots.title)\">\n <ProSearch v-bind=\"searchConfig\" @search=\"onSearch\" />\n <slot name=\"searchExtra\" :set-params=\"actionsRef!.setParams\" />\n </template>\n </Space>\n </div>\n <div :class=\"`${prefixCls}-toolbar-right`\">\n <Space :class=\"`${prefixCls}-toolbar-actions`\">\n <template v-if=\"mergeOptions.search !== false && (!!title || !!$slots.title)\">\n <ProSearch v-bind=\"searchConfig\" @search=\"onSearch\" />\n <slot name=\"searchExtra\" :set-params=\"actionsRef!.setParams\" />\n </template>\n <slot name=\"actions\" :set-params=\"actionsRef!.setParams\"></slot>\n <template v-if=\"options !== false\">\n <Tooltip\n v-if=\"mergeOptions.reload !== false\"\n :title=\"intl.getMessage('tableToolBar.reload', '刷新')\"\n >\n <div :class=\"`${prefixCls}-toolbar-actions-item`\">\n <ReloadOutlined :spin=\"actionsRef?.pollingLoading.value\" @click=\"onReload\" />\n </div>\n </Tooltip>\n <DensityIcon v-if=\"mergeOptions.density !== false\" :prefixCls=\"prefixCls\" />\n <ColumnSetting\n v-if=\"mergeOptions.setting !== false\"\n :prefix-cls=\"prefixCls\"\n :columns=\"tableColumn\"\n />\n <span v-if=\"mergeOptions.fullScreen !== false\" @click=\"onFullScreen\">\n <FullscreenIcon :prefixCls=\"prefixCls\" />\n </span>\n </template>\n </Space>\n </div>\n </slot>\n </div>\n <div :class=\"`${prefixCls}-toolbar-bottom`\" v-if=\"!!$slots.bottom\">\n <slot name=\"bottom\" />\n </div>\n </div>\n</template>\n"],"names":["_openBlock","_createElementBlock","_normalizeClass","_renderSlot","_createElementVNode","_createTextVNode","_createBlock","_createVNode","_Fragment","_mergeProps","_createCommentVNode"],"mappings":";;;;;;;;;;;;;AAsKE,EAAA,OAAAA,WAAA,EAAAC,kBAAA;AAAA,IAwDM,KAAA;AAAA,IAAA;AAAA,MAxDA,KAAA,EAAKC,cAAA,IAAK,IAAA,CAAA,SAAS,CAAA,QAAA,CAAA;AAAA,KAAA;AAAA;MAC0B,CAAA,CAAA,IAAA,CAAA,MAAA,CAAO,GAAA,IAAAF,WAAA,EAAxDC,kBAAA;AAAA,QAEM,KAAA;AAAA,QAAA;AAAA,UAAA,GAAA,EAAA,CAAA;AAAA,UAFA,KAAA,EAAKC,cAAA,IAAK,IAAA,CAAA,SAAS,CAAA,YAAA,CAAA;AAAA,SAAA;AAAA;UACvBC,UAAA,CAAmB,IAAA,CAAA,MAAA,EAAA,KAAA;AAAA,SAAA;AAAA;;;MAErBC,kBAAA;AAAA,QAgDM,KAAA;AAAA,QAAA;AAAA,UAhDA,KAAA,EAAKF,cAAA,IAAK,IAAA,CAAA,SAAS,CAAA,kBAAA,CAAA;AAAA,SAAA;AAAA;UACvBC,WA8CO,IAAA,wBA9CP,MA8CO;AAAA,YA7CLC,kBAAA;AAAA,cAgBM,KAAA;AAAA,cAAA;AAAA,gBAhBA,KAAA,EAAKF,cAAA,IAAK,IAAA,CAAA,SAAS,CAAA,aAAA,CAAA;AAAA,eAAA;AAAA;kBAC4B,IAAA,CAAA,KAAA,IAAK,CAAA,CAAM,IAAA,QAAO,KAAA,IAAAF,SAAA,EAAA,EAArEC,kBAAA;AAAA,kBAQM,KAAA;AAAA,kBAAA;AAAA,oBAAA,GAAA,EAAA,CAAA;AAAA,oBARA,KAAA,EAAKC,cAAA,IAAK,IAAA,CAAA,SAAS,CAAA,cAAA,CAAA;AAAA,mBAAA;AAAA;oBACvBC,WAEO,IAAA,sBAFP,MAEO;AAAA,sBAAAE,eAAA;AAAA,wCADF,KAAA,KAAK,CAAA;AAAA,wBAAA;AAAA;AAAA;AAAA,qBAAA,CAAA;AAAA,oBAEVD,kBAAA;AAAA,sBAAkE,KAAA;AAAA,sBAAA;AAAA,wBAA5D,KAAA,EAAKF,cAAA,IAAK,IAAA,CAAA,SAAS,CAAA,iBAAA,CAAA;AAAA,uBAAA;AAAA,sCAAwB,KAAA,QAAQ,CAAA;AAAA,sBAAA;AAAA;AAAA,qBAAA;AAAA,oBAC1C,IAAA,yBAAfI,YAEU,kBAAA,EAAA;AAAA,sBAAA,GAAA,EAAA,CAAA;AAAA,sBAFe,OAAO,IAAA,CAAA;AAAA,qBAAA,EAAA;AAAA,uCAC9B,MAAuD;AAAA,wBAAvDC,WAAA,CAAuD,iCAAnC,KAAA,EAAA,EAAA,qBAAA,EAAA,KAAA,IAAgC;AAAA,uBAAA,CAAA;AAAA;;;;;;;gBAGH,KAAA,OAAA,KAAO,KAAA,iBAA5DD,YAKQ,gBAAA,EAAA;AAAA,kBAAA,GAAA,EAAA,CAAA;AAAA,kBALA,KAAA,EAAKJ,cAAA,IAAK,IAAA,CAAA,SAAS,CAAA,gBAAA,CAAA;AAAA,iBAAA,EAAA;AAAA,mCACzB,MAGW;AAAA,oBAHK,IAAA,cAAa,MAAA,KAAM,KAAA,IAAA,EAAA,CAAA,CAAkB,IAAA,CAAA,KAAA,IAAK,CAAA,CAAM,IAAA,QAAO,KAAA,CAAA,IAAAF,WAAA,EAAvEC,kBAAA;AAAA,sBAGWO,QAAA;AAAA,sBAAA,EAAA,KAAA,CAAA,EAAA;AAAA,sBAAA;AAAA,wBAFTD,WAAA,CAAsD,oBAAA,EAAtDE,UAAA,CAAsD,IAAA,CAAnC,cAAY,EAAG,QAAA,EAAQ,IAAA,CAAA,QAAA,EAAQ,CAAA,EAAA,IAAA,EAAA,EAAA,EAAA,CAAA,UAAA,CAAA,CAAA;AAAA,wBAClDN,UAAA,CAA+D,IAAA,CAAA,MAAA,EAAA,aAAA,EAAA;AAAA,0BAArC,SAAA,EAAY,KAAA,UAAA,CAAY;AAAA,yBAAA;AAAA;;;;;;;;;;;;YAIxDC,kBAAA;AAAA,cA2BM,KAAA;AAAA,cAAA;AAAA,gBA3BA,KAAA,EAAKF,cAAA,IAAK,IAAA,CAAA,SAAS,CAAA,cAAA,CAAA;AAAA,eAAA;AAAA;gBACvBK,YAyBQ,gBAAA,EAAA;AAAA,kBAzBA,KAAA,EAAKL,cAAA,IAAK,IAAA,CAAA,SAAS,CAAA,gBAAA,CAAA;AAAA,iBAAA,EAAA;AAAA,mCACzB,MAGW;AAAA,oBAHK,IAAA,cAAa,MAAA,KAAM,KAAA,KAAA,CAAA,CAAiB,IAAA,CAAA,KAAA,IAAK,CAAA,CAAM,IAAA,QAAO,KAAA,CAAA,IAAAF,WAAA,EAAtEC,kBAAA;AAAA,sBAGWO,QAAA;AAAA,sBAAA,EAAA,KAAA,CAAA,EAAA;AAAA,sBAAA;AAAA,wBAFTD,WAAA,CAAsD,oBAAA,EAAtDE,UAAA,CAAsD,IAAA,CAAnC,cAAY,EAAG,QAAA,EAAQ,IAAA,CAAA,QAAA,EAAQ,CAAA,EAAA,IAAA,EAAA,EAAA,EAAA,CAAA,UAAA,CAAA,CAAA;AAAA,wBAClDN,UAAA,CAA+D,IAAA,CAAA,MAAA,EAAA,aAAA,EAAA;AAAA,0BAArC,SAAA,EAAY,KAAA,UAAA,CAAY;AAAA,yBAAA;AAAA;;;;oBAEpDA,UAAA,CAAgE,IAAA,CAAA,MAAA,EAAA,SAAA,EAAA;AAAA,sBAA1C,SAAA,EAAY,KAAA,UAAA,CAAY;AAAA,qBAAA,CAAA;AAAA,oBAC9B,IAAA,CAAA,OAAA,KAAO,KAAA,IAAAH,SAAA,EAAA,EAAvBC,kBAAA;AAAA,sBAkBWO,QAAA;AAAA,sBAAA,EAAA,KAAA,CAAA,EAAA;AAAA,sBAAA;AAAA,wBAhBD,KAAA,YAAA,CAAa,MAAA,KAAM,SAAAR,SAAA,EAAA,EAD3BM,YAOU,kBAAA,EAAA;AAAA,0BAAA,GAAA,EAAA,CAAA;AAAA,0BALP,KAAA,EAAO,IAAA,MAAK,UAAA,CAAU,uBAAA,cAAA;AAAA,yBAAA,EAAA;AAAA,2CAEvB,MAAA;;AAEM,4BAAA,OAAA;AAAA,8BAFNF,kBAAA;AAAA,gCAEM,KAAA;AAAA,gCAAA;AAAA,kCAFA,KAAA,EAAKF,cAAA,IAAK,IAAA,CAAA,SAAS,CAAA,qBAAA,CAAA;AAAA,iCAAA;AAAA;kCACvBK,YAA6E,yBAAA,EAAA;AAAA,oCAA5D,IAAA,EAAA,CAAM,EAAA,GAAA,IAAA,gBAAA,IAAA,GAAA,MAAA,GAAA,EAAA,CAAY,cAAA,CAAe,KAAA;AAAA,oCAAQ,SAAO,IAAA,CAAA;AAAA,qCAAA,IAAA,EAAA,CAAA,EAAA,CAAA,MAAA,EAAA,SAAA,CAAA;AAAA;;;;;;;;;wBAGlD,KAAA,YAAA,CAAa,OAAA,KAAO,sBAAvCD,YAA4E,sBAAA,EAAA;AAAA,0BAAA,GAAA,EAAA,CAAA;AAAA,0BAAxB,WAAW,IAAA,CAAA;AAAA,yBAAA,EAAA,MAAA,CAAA,EAAA,CAAA,WAAA,CAAA,CAAA,IAAAI,kBAAA,CAAA,MAAA,EAAA,IAAA,CAAA;AAAA,wBAEvD,KAAA,YAAA,CAAa,OAAA,KAAO,sBAD5BJ,YAIE,wBAAA,EAAA;AAAA,0BAAA,GAAA,EAAA,CAAA;AAAA,0BAFC,cAAY,IAAA,CAAA,SAAA;AAAA,0BACZ,SAAS,IAAA,CAAA;AAAA,yBAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,YAAA,EAAA,SAAA,CAAA,CAAA,IAAAI,kBAAA,CAAA,MAAA,EAAA,IAAA,CAAA;AAAA,wBAEA,KAAA,YAAA,CAAa,UAAA,KAAU,sBAAnCT,mBAEO,MAAA,EAAA;AAAA,0BAAA,GAAA,EAAA,CAAA;AAAA,0BAFyC,OAAA,EAAK,MAAA,CAAA,CAAA,CAAA,KAAA,OAAA,CAAA,CAAA,GAAA,CAAA,GAAA,IAAA,KAAE,IAAA,CAAA,YAAA,IAAA,IAAA,CAAA,YAAA,CAAA,GAAA,IAAA,CAAA;AAAA,yBAAA,EAAA;AAAA,0BACrDM,WAAA,CAAyC,yBAAA,EAAA,EAAxB,SAAA,EAAW,IAAA,CAAA,SAAA,EAAS,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,WAAA,CAAA;AAAA,yBAAA,CAAA,IAAAG,kBAAA,CAAA,MAAA,EAAA,IAAA;AAAA;;;;;;;;;;;;;;;;;MAOG,CAAA,CAAA,IAAA,CAAA,MAAA,CAAO,MAAA,IAAAV,WAAA,EAA3DC,kBAAA;AAAA,QAEM,KAAA;AAAA,QAAA;AAAA,UAAA,GAAA,EAAA,CAAA;AAAA,UAFA,KAAA,EAAKC,cAAA,IAAK,IAAA,CAAA,SAAS,CAAA,eAAA,CAAA;AAAA,SAAA;AAAA;UACvBC,UAAA,CAAsB,IAAA,CAAA,MAAA,EAAA,QAAA;AAAA,SAAA;AAAA;;;;;;;;;;;;"}
|
|
1
|
+
{"version":3,"file":"ToolBar.vue.mjs","sources":["../../../../../../../../../packages/components/table/src/components/ToolBar/ToolBar.vue"],"sourcesContent":["<!--\n * @Author: shen\n * @Date: 2023-11-06 16:03:18\n * @LastEditors: shen\n * @LastEditTime: 2025-10-29 10:49:38\n * @Description:\n-->\n<script lang=\"ts\">\nimport type { PropType } from 'vue'\nimport type { UseFetchDataAction } from '../../hooks/useFetchData'\nimport type { OptionConfig, Key, OptionSearchProps } from '../interface'\n\nimport { defineComponent, h, computed, onMounted } from 'vue'\nimport { Space, Tooltip } from 'ant-design-vue'\nimport {\n ReloadOutlined,\n FilterOutlined,\n SettingOutlined,\n ColumnHeightOutlined,\n InfoCircleOutlined,\n} from '@ant-design/icons-vue'\nimport { omit, omitUndefined } from '@pro-design-vue/utils'\nimport { useIntl } from '@pro-design-vue/components/config-provider'\nimport Search from './Search.vue'\nimport DensityIcon from './DensityIcon.vue'\nimport FullscreenIcon from './FullscreenIcon.vue'\nimport ColumnSetting from '../ColumnSetting/ColumnSetting.vue'\n\nexport default defineComponent({\n name: 'TableToolBar',\n inheritAttrs: false,\n components: {\n Space,\n ProSearch: Search,\n DensityIcon,\n Tooltip,\n ColumnSetting,\n ReloadOutlined,\n InfoCircleOutlined,\n FullscreenIcon,\n },\n props: {\n prefixCls: String,\n title: String,\n subTitle: String,\n tooltip: String,\n options: { type: [Object, Boolean] as PropType<OptionConfig | false>, default: undefined },\n\n actionsRef: Object as PropType<UseFetchDataAction<any> & { fullScreen: () => void }>,\n selectedRowKeys: {\n type: Array as PropType<Key[]>,\n default: () => [],\n },\n selectedRows: {\n type: Array as PropType<any[]>,\n default: () => [],\n },\n tableColumn: {\n type: Array as PropType<any[]>,\n default: () => [],\n },\n onFormSearchSubmit: {\n type: Function as PropType<(params: any) => void>,\n default: undefined,\n },\n },\n setup(props) {\n const intl = useIntl()\n\n const defaultOptions = {\n reload: () => props.actionsRef?.reload(),\n density: true,\n setting: true,\n filter: false,\n search: false,\n fullScreen: () => props.actionsRef?.fullScreen(),\n }\n\n const mergeOptions = computed<OptionConfig>(() => {\n if (props.options === false) {\n return {\n reload: false,\n density: true,\n setting: true,\n search: false,\n fullScreen: false,\n }\n }\n return { ...defaultOptions, ...props.options }\n })\n\n const defaultSearchConfig = {\n onChange: (e) => {\n props.actionsRef!.keyword.value = e.target.value!\n },\n }\n\n const searchConfig: any = computed(() => {\n if (props.options === false) {\n return false\n }\n if (!mergeOptions.value!.search) return false\n\n if (mergeOptions.value!.search === true) return defaultSearchConfig\n\n return omit(\n {\n ...(mergeOptions.value!.search ?? {}),\n ...defaultSearchConfig,\n },\n ['name', 'onSearch'],\n )\n })\n\n const onSearch = async (keyword: string) => {\n if (!props.options || !props.options.search) {\n return\n }\n const { name = 'keyword' } = props.options.search === true ? {} : props.options.search\n\n /** 如果传入的 onSearch 返回值为 false,应该直接拦截请求 */\n const success = (props.options.search as OptionSearchProps)?.onSearch?.(keyword)\n\n if (success === false) return\n\n props.onFormSearchSubmit?.(\n omitUndefined({\n [name]: keyword,\n }),\n )\n }\n\n const onReload = (e) => {\n if (mergeOptions.value.reload === true) {\n defaultOptions.reload()\n } else if (typeof mergeOptions.value.reload === 'function') {\n mergeOptions.value.reload?.(e, props.actionsRef)\n }\n }\n\n const onFullScreen = (e) => {\n if (mergeOptions.value.fullScreen === true) {\n defaultOptions.fullScreen()\n } else if (typeof mergeOptions.value.fullScreen === 'function') {\n mergeOptions.value.fullScreen?.(e, props.actionsRef)\n }\n }\n\n onMounted(() => {\n if (searchConfig.value.value || searchConfig.value.defaultValue) {\n props.actionsRef!.keyword.value =\n searchConfig.value.value || searchConfig.value.defaultValue\n }\n })\n\n return {\n h,\n intl,\n mergeOptions,\n searchConfig,\n FilterOutlined,\n SettingOutlined,\n ColumnHeightOutlined,\n onSearch,\n onReload,\n onFullScreen,\n }\n },\n})\n</script>\n\n<template>\n <div :class=\"`${prefixCls}-toolbar`\">\n <div :class=\"`${prefixCls}-toolbar-top`\" v-if=\"!!$slots.top\">\n <slot name=\"top\" />\n </div>\n <div :class=\"`${prefixCls}-toolbar-container`\">\n <slot name=\"toolbar\">\n <div :class=\"`${prefixCls}-toolbar-left`\">\n <div :class=\"`${prefixCls}-toolbar-title`\" v-if=\"!!title || !!$slots.title\">\n <slot name=\"title\">\n {{ title }}\n </slot>\n <div :class=\"`${prefixCls}-toolbar-subtitle`\">{{ subTitle }}</div>\n <Tooltip v-if=\"tooltip\" :title=\"tooltip\">\n <InfoCircleOutlined style=\"margin-inline-start: 3px\" />\n </Tooltip>\n </div>\n <Space :class=\"`${prefixCls}-toolbar-options`\" v-if=\"options !== false\">\n <template v-if=\"mergeOptions.search !== false && !(!!title || !!$slots.title)\">\n <ProSearch v-bind=\"searchConfig\" @search=\"onSearch\" />\n <slot name=\"searchExtra\" :set-params=\"actionsRef!.setParams\" />\n </template>\n </Space>\n </div>\n <div :class=\"`${prefixCls}-toolbar-right`\">\n <Space :class=\"`${prefixCls}-toolbar-actions`\">\n <template v-if=\"mergeOptions.search !== false && (!!title || !!$slots.title)\">\n <ProSearch v-bind=\"searchConfig\" @search=\"onSearch\" />\n <slot name=\"searchExtra\" :set-params=\"actionsRef!.setParams\" />\n </template>\n <slot name=\"actions\" :set-params=\"actionsRef!.setParams\"></slot>\n <template v-if=\"options !== false\">\n <Tooltip\n v-if=\"mergeOptions.reload !== false\"\n :title=\"intl.getMessage('tableToolBar.reload', '刷新')\"\n >\n <div :class=\"`${prefixCls}-toolbar-actions-item`\">\n <ReloadOutlined :spin=\"actionsRef?.pollingLoading.value\" @click=\"onReload\" />\n </div>\n </Tooltip>\n <DensityIcon v-if=\"mergeOptions.density !== false\" :prefixCls=\"prefixCls\" />\n <ColumnSetting\n v-if=\"mergeOptions.setting !== false\"\n :prefix-cls=\"prefixCls\"\n :columns=\"tableColumn\"\n />\n <span v-if=\"mergeOptions.fullScreen !== false\" @click=\"onFullScreen\">\n <FullscreenIcon :prefixCls=\"prefixCls\" />\n </span>\n </template>\n </Space>\n </div>\n </slot>\n </div>\n <div :class=\"`${prefixCls}-toolbar-bottom`\" v-if=\"!!$slots.bottom\">\n <slot name=\"bottom\" />\n </div>\n </div>\n</template>\n"],"names":["_openBlock","_createElementBlock","_normalizeClass","_renderSlot","_createElementVNode","_createTextVNode","_createBlock","_createVNode","_Fragment","_mergeProps","_createCommentVNode"],"mappings":"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"}
|
|
@@ -63,7 +63,13 @@ var _sfc_main = defineComponent({
|
|
|
63
63
|
};
|
|
64
64
|
const mergeOptions = computed(() => {
|
|
65
65
|
if (props.options === false) {
|
|
66
|
-
return {
|
|
66
|
+
return {
|
|
67
|
+
reload: false,
|
|
68
|
+
density: true,
|
|
69
|
+
setting: true,
|
|
70
|
+
search: false,
|
|
71
|
+
fullScreen: false
|
|
72
|
+
};
|
|
67
73
|
}
|
|
68
74
|
return { ...defaultOptions, ...props.options };
|
|
69
75
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ToolBar.vue2.mjs","sources":["../../../../../../../../../packages/components/table/src/components/ToolBar/ToolBar.vue"],"sourcesContent":["<!--\n * @Author: shen\n * @Date: 2023-11-06 16:03:18\n * @LastEditors: shen\n * @LastEditTime: 2025-10-23 14:30:45\n * @Description:\n-->\n<script lang=\"ts\">\nimport type { PropType } from 'vue'\nimport type { UseFetchDataAction } from '../../hooks/useFetchData'\nimport type { OptionConfig, Key, OptionSearchProps } from '../interface'\n\nimport { defineComponent, h, computed, onMounted } from 'vue'\nimport { Space, Tooltip } from 'ant-design-vue'\nimport {\n ReloadOutlined,\n FilterOutlined,\n SettingOutlined,\n ColumnHeightOutlined,\n InfoCircleOutlined,\n} from '@ant-design/icons-vue'\nimport { omit, omitUndefined } from '@pro-design-vue/utils'\nimport { useIntl } from '@pro-design-vue/components/config-provider'\nimport Search from './Search.vue'\nimport DensityIcon from './DensityIcon.vue'\nimport FullscreenIcon from './FullscreenIcon.vue'\nimport ColumnSetting from '../ColumnSetting/ColumnSetting.vue'\n\nexport default defineComponent({\n name: 'TableToolBar',\n inheritAttrs: false,\n components: {\n Space,\n ProSearch: Search,\n DensityIcon,\n Tooltip,\n ColumnSetting,\n ReloadOutlined,\n InfoCircleOutlined,\n FullscreenIcon,\n },\n props: {\n prefixCls: String,\n title: String,\n subTitle: String,\n tooltip: String,\n options: { type: [Object, Boolean] as PropType<OptionConfig | false>, default: undefined },\n\n actionsRef: Object as PropType<UseFetchDataAction<any> & { fullScreen: () => void }>,\n selectedRowKeys: {\n type: Array as PropType<Key[]>,\n default: () => [],\n },\n selectedRows: {\n type: Array as PropType<any[]>,\n default: () => [],\n },\n tableColumn: {\n type: Array as PropType<any[]>,\n default: () => [],\n },\n onFormSearchSubmit: {\n type: Function as PropType<(params: any) => void>,\n default: undefined,\n },\n },\n setup(props) {\n const intl = useIntl()\n\n const defaultOptions = {\n reload: () => props.actionsRef?.reload(),\n density: true,\n setting: true,\n filter: false,\n search: false,\n fullScreen: () => props.actionsRef?.fullScreen(),\n }\n\n const mergeOptions = computed<OptionConfig>(() => {\n if (props.options === false) {\n return {}\n }\n return { ...defaultOptions, ...props.options }\n })\n\n const defaultSearchConfig = {\n onChange: (e) => {\n props.actionsRef!.keyword.value = e.target.value!\n },\n }\n\n const searchConfig: any = computed(() => {\n if (props.options === false) {\n return false\n }\n if (!mergeOptions.value!.search) return false\n\n if (mergeOptions.value!.search === true) return defaultSearchConfig\n\n return omit(\n {\n ...(mergeOptions.value!.search ?? {}),\n ...defaultSearchConfig,\n },\n ['name', 'onSearch'],\n )\n })\n\n const onSearch = async (keyword: string) => {\n if (!props.options || !props.options.search) {\n return\n }\n const { name = 'keyword' } = props.options.search === true ? {} : props.options.search\n\n /** 如果传入的 onSearch 返回值为 false,应该直接拦截请求 */\n const success = (props.options.search as OptionSearchProps)?.onSearch?.(keyword)\n\n if (success === false) return\n\n props.onFormSearchSubmit?.(\n omitUndefined({\n [name]: keyword,\n }),\n )\n }\n\n const onReload = (e) => {\n if (mergeOptions.value.reload === true) {\n defaultOptions.reload()\n } else if (typeof mergeOptions.value.reload === 'function') {\n mergeOptions.value.reload?.(e, props.actionsRef)\n }\n }\n\n const onFullScreen = (e) => {\n if (mergeOptions.value.fullScreen === true) {\n defaultOptions.fullScreen()\n } else if (typeof mergeOptions.value.fullScreen === 'function') {\n mergeOptions.value.fullScreen?.(e, props.actionsRef)\n }\n }\n\n onMounted(() => {\n if (searchConfig.value.value || searchConfig.value.defaultValue) {\n props.actionsRef!.keyword.value =\n searchConfig.value.value || searchConfig.value.defaultValue\n }\n })\n\n return {\n h,\n intl,\n mergeOptions,\n searchConfig,\n FilterOutlined,\n SettingOutlined,\n ColumnHeightOutlined,\n onSearch,\n onReload,\n onFullScreen,\n }\n },\n})\n</script>\n\n<template>\n <div :class=\"`${prefixCls}-toolbar`\">\n <div :class=\"`${prefixCls}-toolbar-top`\" v-if=\"!!$slots.top\">\n <slot name=\"top\" />\n </div>\n <div :class=\"`${prefixCls}-toolbar-container`\">\n <slot name=\"toolbar\">\n <div :class=\"`${prefixCls}-toolbar-left`\">\n <div :class=\"`${prefixCls}-toolbar-title`\" v-if=\"!!title || !!$slots.title\">\n <slot name=\"title\">\n {{ title }}\n </slot>\n <div :class=\"`${prefixCls}-toolbar-subtitle`\">{{ subTitle }}</div>\n <Tooltip v-if=\"tooltip\" :title=\"tooltip\">\n <InfoCircleOutlined style=\"margin-inline-start: 3px\" />\n </Tooltip>\n </div>\n <Space :class=\"`${prefixCls}-toolbar-options`\" v-if=\"options !== false\">\n <template v-if=\"mergeOptions.search !== false && !(!!title || !!$slots.title)\">\n <ProSearch v-bind=\"searchConfig\" @search=\"onSearch\" />\n <slot name=\"searchExtra\" :set-params=\"actionsRef!.setParams\" />\n </template>\n </Space>\n </div>\n <div :class=\"`${prefixCls}-toolbar-right`\">\n <Space :class=\"`${prefixCls}-toolbar-actions`\">\n <template v-if=\"mergeOptions.search !== false && (!!title || !!$slots.title)\">\n <ProSearch v-bind=\"searchConfig\" @search=\"onSearch\" />\n <slot name=\"searchExtra\" :set-params=\"actionsRef!.setParams\" />\n </template>\n <slot name=\"actions\" :set-params=\"actionsRef!.setParams\"></slot>\n <template v-if=\"options !== false\">\n <Tooltip\n v-if=\"mergeOptions.reload !== false\"\n :title=\"intl.getMessage('tableToolBar.reload', '刷新')\"\n >\n <div :class=\"`${prefixCls}-toolbar-actions-item`\">\n <ReloadOutlined :spin=\"actionsRef?.pollingLoading.value\" @click=\"onReload\" />\n </div>\n </Tooltip>\n <DensityIcon v-if=\"mergeOptions.density !== false\" :prefixCls=\"prefixCls\" />\n <ColumnSetting\n v-if=\"mergeOptions.setting !== false\"\n :prefix-cls=\"prefixCls\"\n :columns=\"tableColumn\"\n />\n <span v-if=\"mergeOptions.fullScreen !== false\" @click=\"onFullScreen\">\n <FullscreenIcon :prefixCls=\"prefixCls\" />\n </span>\n </template>\n </Space>\n </div>\n </slot>\n </div>\n <div :class=\"`${prefixCls}-toolbar-bottom`\" v-if=\"!!$slots.bottom\">\n <slot name=\"bottom\" />\n </div>\n </div>\n</template>\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ToolBar.vue2.mjs","sources":["../../../../../../../../../packages/components/table/src/components/ToolBar/ToolBar.vue"],"sourcesContent":["<!--\n * @Author: shen\n * @Date: 2023-11-06 16:03:18\n * @LastEditors: shen\n * @LastEditTime: 2025-10-29 10:49:38\n * @Description:\n-->\n<script lang=\"ts\">\nimport type { PropType } from 'vue'\nimport type { UseFetchDataAction } from '../../hooks/useFetchData'\nimport type { OptionConfig, Key, OptionSearchProps } from '../interface'\n\nimport { defineComponent, h, computed, onMounted } from 'vue'\nimport { Space, Tooltip } from 'ant-design-vue'\nimport {\n ReloadOutlined,\n FilterOutlined,\n SettingOutlined,\n ColumnHeightOutlined,\n InfoCircleOutlined,\n} from '@ant-design/icons-vue'\nimport { omit, omitUndefined } from '@pro-design-vue/utils'\nimport { useIntl } from '@pro-design-vue/components/config-provider'\nimport Search from './Search.vue'\nimport DensityIcon from './DensityIcon.vue'\nimport FullscreenIcon from './FullscreenIcon.vue'\nimport ColumnSetting from '../ColumnSetting/ColumnSetting.vue'\n\nexport default defineComponent({\n name: 'TableToolBar',\n inheritAttrs: false,\n components: {\n Space,\n ProSearch: Search,\n DensityIcon,\n Tooltip,\n ColumnSetting,\n ReloadOutlined,\n InfoCircleOutlined,\n FullscreenIcon,\n },\n props: {\n prefixCls: String,\n title: String,\n subTitle: String,\n tooltip: String,\n options: { type: [Object, Boolean] as PropType<OptionConfig | false>, default: undefined },\n\n actionsRef: Object as PropType<UseFetchDataAction<any> & { fullScreen: () => void }>,\n selectedRowKeys: {\n type: Array as PropType<Key[]>,\n default: () => [],\n },\n selectedRows: {\n type: Array as PropType<any[]>,\n default: () => [],\n },\n tableColumn: {\n type: Array as PropType<any[]>,\n default: () => [],\n },\n onFormSearchSubmit: {\n type: Function as PropType<(params: any) => void>,\n default: undefined,\n },\n },\n setup(props) {\n const intl = useIntl()\n\n const defaultOptions = {\n reload: () => props.actionsRef?.reload(),\n density: true,\n setting: true,\n filter: false,\n search: false,\n fullScreen: () => props.actionsRef?.fullScreen(),\n }\n\n const mergeOptions = computed<OptionConfig>(() => {\n if (props.options === false) {\n return {\n reload: false,\n density: true,\n setting: true,\n search: false,\n fullScreen: false,\n }\n }\n return { ...defaultOptions, ...props.options }\n })\n\n const defaultSearchConfig = {\n onChange: (e) => {\n props.actionsRef!.keyword.value = e.target.value!\n },\n }\n\n const searchConfig: any = computed(() => {\n if (props.options === false) {\n return false\n }\n if (!mergeOptions.value!.search) return false\n\n if (mergeOptions.value!.search === true) return defaultSearchConfig\n\n return omit(\n {\n ...(mergeOptions.value!.search ?? {}),\n ...defaultSearchConfig,\n },\n ['name', 'onSearch'],\n )\n })\n\n const onSearch = async (keyword: string) => {\n if (!props.options || !props.options.search) {\n return\n }\n const { name = 'keyword' } = props.options.search === true ? {} : props.options.search\n\n /** 如果传入的 onSearch 返回值为 false,应该直接拦截请求 */\n const success = (props.options.search as OptionSearchProps)?.onSearch?.(keyword)\n\n if (success === false) return\n\n props.onFormSearchSubmit?.(\n omitUndefined({\n [name]: keyword,\n }),\n )\n }\n\n const onReload = (e) => {\n if (mergeOptions.value.reload === true) {\n defaultOptions.reload()\n } else if (typeof mergeOptions.value.reload === 'function') {\n mergeOptions.value.reload?.(e, props.actionsRef)\n }\n }\n\n const onFullScreen = (e) => {\n if (mergeOptions.value.fullScreen === true) {\n defaultOptions.fullScreen()\n } else if (typeof mergeOptions.value.fullScreen === 'function') {\n mergeOptions.value.fullScreen?.(e, props.actionsRef)\n }\n }\n\n onMounted(() => {\n if (searchConfig.value.value || searchConfig.value.defaultValue) {\n props.actionsRef!.keyword.value =\n searchConfig.value.value || searchConfig.value.defaultValue\n }\n })\n\n return {\n h,\n intl,\n mergeOptions,\n searchConfig,\n FilterOutlined,\n SettingOutlined,\n ColumnHeightOutlined,\n onSearch,\n onReload,\n onFullScreen,\n }\n },\n})\n</script>\n\n<template>\n <div :class=\"`${prefixCls}-toolbar`\">\n <div :class=\"`${prefixCls}-toolbar-top`\" v-if=\"!!$slots.top\">\n <slot name=\"top\" />\n </div>\n <div :class=\"`${prefixCls}-toolbar-container`\">\n <slot name=\"toolbar\">\n <div :class=\"`${prefixCls}-toolbar-left`\">\n <div :class=\"`${prefixCls}-toolbar-title`\" v-if=\"!!title || !!$slots.title\">\n <slot name=\"title\">\n {{ title }}\n </slot>\n <div :class=\"`${prefixCls}-toolbar-subtitle`\">{{ subTitle }}</div>\n <Tooltip v-if=\"tooltip\" :title=\"tooltip\">\n <InfoCircleOutlined style=\"margin-inline-start: 3px\" />\n </Tooltip>\n </div>\n <Space :class=\"`${prefixCls}-toolbar-options`\" v-if=\"options !== false\">\n <template v-if=\"mergeOptions.search !== false && !(!!title || !!$slots.title)\">\n <ProSearch v-bind=\"searchConfig\" @search=\"onSearch\" />\n <slot name=\"searchExtra\" :set-params=\"actionsRef!.setParams\" />\n </template>\n </Space>\n </div>\n <div :class=\"`${prefixCls}-toolbar-right`\">\n <Space :class=\"`${prefixCls}-toolbar-actions`\">\n <template v-if=\"mergeOptions.search !== false && (!!title || !!$slots.title)\">\n <ProSearch v-bind=\"searchConfig\" @search=\"onSearch\" />\n <slot name=\"searchExtra\" :set-params=\"actionsRef!.setParams\" />\n </template>\n <slot name=\"actions\" :set-params=\"actionsRef!.setParams\"></slot>\n <template v-if=\"options !== false\">\n <Tooltip\n v-if=\"mergeOptions.reload !== false\"\n :title=\"intl.getMessage('tableToolBar.reload', '刷新')\"\n >\n <div :class=\"`${prefixCls}-toolbar-actions-item`\">\n <ReloadOutlined :spin=\"actionsRef?.pollingLoading.value\" @click=\"onReload\" />\n </div>\n </Tooltip>\n <DensityIcon v-if=\"mergeOptions.density !== false\" :prefixCls=\"prefixCls\" />\n <ColumnSetting\n v-if=\"mergeOptions.setting !== false\"\n :prefix-cls=\"prefixCls\"\n :columns=\"tableColumn\"\n />\n <span v-if=\"mergeOptions.fullScreen !== false\" @click=\"onFullScreen\">\n <FullscreenIcon :prefixCls=\"prefixCls\" />\n </span>\n </template>\n </Space>\n </div>\n </slot>\n </div>\n <div :class=\"`${prefixCls}-toolbar-bottom`\" v-if=\"!!$slots.bottom\">\n <slot name=\"bottom\" />\n </div>\n </div>\n</template>\n"],"names":[],"mappings":"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"}
|
|
@@ -107,7 +107,7 @@ const useFetchData = (getData, props) => {
|
|
|
107
107
|
return false;
|
|
108
108
|
}
|
|
109
109
|
if (props.pagination && contextPagination.value) {
|
|
110
|
-
return merge(contextPagination.value, props.pagination);
|
|
110
|
+
return merge({}, contextPagination.value, props.pagination);
|
|
111
111
|
} else {
|
|
112
112
|
return (_a2 = props.pagination) != null ? _a2 : contextPagination.value;
|
|
113
113
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useFetchData.mjs","sources":["../../../../../../../../packages/components/table/src/hooks/useFetchData.ts"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2023-11-12 12:24:29\n * @LastEditors: shen\n * @LastEditTime: 2025-10-20 15:46:59\n * @Description:\n */\nimport type { SpinProps } from 'ant-design-vue/es/spin'\nimport type { ComputedRef, Ref } from 'vue'\nimport type { RequestData, ProTableProps, SorterResult } from '../components/interface'\nimport type { IntlType } from '@pro-design-vue/components/config-provider'\nimport {\n ref,\n computed,\n watch,\n onUnmounted,\n onMounted,\n isReactive,\n toRaw,\n onDeactivated,\n onActivated,\n} from 'vue'\nimport { useDebounceFn, usePrevious } from '@vueuse/core'\nimport { useMergedState } from '@pro-design-vue/hooks'\nimport { merge, runFunction } from '@pro-design-vue/utils'\nimport { useIntl } from '@pro-design-vue/components/config-provider'\nimport { useProConfigInject } from '@pro-design-vue/components/config-provider'\n\nexport type PageInfo = {\n pageSize: number\n total: number\n current: number\n}\n\nexport type UseFetchDataAction<T = any> = {\n dataSource: Ref<T[]>\n keyword: Ref<string>\n formSearch: Ref<Record<string, any> | undefined>\n loading: ComputedRef<boolean | SpinProps | undefined>\n setParams: (key: string, value: any) => void\n reload: (resetPageIndex?: boolean) => Promise<void>\n reset: () => void\n pollingLoading: Ref<boolean>\n pagination: Ref<PageInfo>\n setFormSearch: (val: Record<string, any> | undefined) => void\n setPagination: (val: PageInfo) => void\n onTableChange: ProTableProps['onChange']\n}\n\n/**\n * 组合用户的配置和默认值\n *\n * @param param0\n */\nconst mergePropsAndPagination = (intl: IntlType, pagination?: ProTableProps['pagination']) => {\n if (pagination) {\n const { current, pageSize, total, showTotal, showSizeChanger, ...rest } = pagination\n return {\n ...rest,\n current: current || 1,\n total: total || 0,\n pageSize: pageSize || 10,\n showSizeChanger: showSizeChanger ?? true,\n showTotal:\n showTotal ||\n ((total: number, range: number[]) =>\n `${intl.getMessage('pagination.total.range', '第')} ${range[0]}-${range[1]} ${intl.getMessage(\n 'pagination.total.total',\n '条/总共',\n )} ${total} ${intl.getMessage('pagination.total.item', '条')}`),\n }\n }\n return {\n current: 1,\n total: 0,\n pageSize: 10,\n showSizeChanger: true,\n showTotal: (total: number, range: number[]) =>\n `${intl.getMessage('pagination.total.range', '第')} ${range[0]}-${range[1]} ${intl.getMessage(\n 'pagination.total.total',\n '条/总共',\n )} ${total} ${intl.getMessage('pagination.total.item', '条')}`,\n }\n}\n\nconst formatSorters = (\n sorter: SorterResult<any> | SorterResult<any>[],\n): SorterResult<any>[] | undefined => {\n if (!sorter) {\n return\n }\n let result: SorterResult<any>[]\n if (!Array.isArray(sorter)) {\n result = [{ ...sorter }]\n } else {\n result = [...sorter]\n }\n result = result.filter((sort) => !!sort.order)\n if (!result.length) {\n return\n }\n if (result.length > 1) {\n result = result.sort(\n (a, b) =>\n ((b.column?.sorter as any)?.multiple || 0) - ((a.column?.sorter as any)?.multiple || 0),\n )\n }\n return result.map((item) => ({\n field: item.field,\n order: item.order,\n })) as SorterResult<any>[]\n}\n\nexport const useFetchData = (\n getData: ComputedRef<\n | ((\n params?: Record<string, any>,\n sorters?: SorterResult<any>[],\n filter?: Record<string, (string | number)[] | null>,\n ) => Promise<RequestData>)\n | undefined\n >,\n props: ProTableProps,\n): UseFetchDataAction => {\n /**\n * 用于保存组件是否被卸载的状态的引用\n */\n const umountRef = ref<boolean>(false)\n /**\n * 用于保存 AbortController 实例的引用,方便需要时进行请求的取消操作\n */\n const abortRef = ref<AbortController | null>(null)\n /** 是否首次加载的指示器 */\n const manualRequestRef = ref<boolean>(!!(props.manual || props.manualRequest))\n /** 轮询的setTime ID 存储 */\n const pollingSetTimeRef = ref<any>()\n const pollingLoading = ref<boolean>(false)\n const keyword = ref<string>('')\n const intl = useIntl()\n const { table } = useProConfigInject()\n const innerParams = ref<Record<string, any>>({})\n const sorters = ref<SorterResult<any>[]>()\n const filter = ref<Record<string, any>>()\n const keywordName = computed(() => {\n if (props.options !== false && props.options!.search !== false) {\n return props.options!.search === true || !props.options!.search!.name\n ? undefined\n : props.options!.search!.name!\n }\n return undefined\n })\n const [tableLoading, setTableLoading] = useMergedState(false, {\n value: computed(() => {\n return typeof props.loading === 'object' ? props.loading.spinning : props.loading\n }),\n onChange: props.onLoadingChange,\n })\n\n const [tableDataList, setTableDataList] = useMergedState<any[] | undefined>(\n props.defaultData ?? [],\n {\n value: computed(() => {\n return props.request ? undefined : props.dataSource\n }),\n // onChange(value) {\n // \tif (!props.request) {\n // \t\tprops['onUpdate:dataSource']?.(value ?? [])\n // \t}\n // }\n },\n )\n\n const contextPagination = computed(() => table?.value?.pagination)\n const contextTablePagination = computed(() => {\n if (props.pagination === false) {\n return false\n }\n if (props.pagination && contextPagination.value) {\n return merge(contextPagination.value, props.pagination)\n } else {\n return props.pagination ?? contextPagination.value\n }\n })\n\n const [pagination, setPagination] = useMergedState<PageInfo>(\n () => mergePropsAndPagination(intl, contextTablePagination.value),\n {\n onChange(value) {\n if (props.pagination !== false) {\n props['onUpdate:pagination']?.(\n isReactive(props.pagination) ? Object.assign(props.pagination || {}, value) : value,\n )\n props.pagination?.onChange?.(value.current, value?.pageSize)\n }\n },\n },\n )\n\n const [formSearch, setFormSearch] = useMergedState<Record<string, any> | undefined>(() => {\n // 如果手动模式,或者 search 不存在的时候设置为 undefined\n // undefined 就不会触发首次加载\n if (manualRequestRef.value || props.search !== false) {\n return undefined\n }\n return {}\n })\n\n const prePage = usePrevious(computed(() => pagination.value?.current))\n const prePageSize = usePrevious(computed(() => pagination.value?.pageSize))\n\n const requestFinally = () => {\n setTableLoading(false)\n pollingLoading.value = false\n }\n\n const fetchList = async (isPolling: boolean) => {\n // 需要手动触发的首次请求\n if (manualRequestRef.value) {\n manualRequestRef.value = false\n return\n }\n\n if (!isPolling) {\n setTableLoading(true)\n } else {\n pollingLoading.value = true\n }\n\n const { current, pageSize } = pagination.value\n const params: Record<string, any> = { ...innerParams.value, ...formSearch.value }\n if (contextTablePagination.value !== false) {\n const { fieldNames } = contextTablePagination.value ?? {}\n params[fieldNames?.current ?? 'current'] = current\n params[fieldNames?.pageSize ?? 'pageSize'] = pageSize\n }\n if (keyword.value) {\n params[keywordName.value ?? 'keyword'] = keyword.value\n }\n try {\n const {\n data = [],\n success,\n total = 0,\n ...rest\n } = (await getData.value?.(params, toRaw(sorters.value), toRaw(filter.value))) || {}\n // 如果失败了,直接返回,不走剩下的逻辑了\n if (success === false) return []\n setTableDataList(data)\n if (pagination.value?.total !== total) {\n pagination.value.total = total || data.length\n // setPagination({\n // \t...pagination.value,\n // \ttotal: total || data.length\n // })\n }\n props.onLoad?.(data, rest)\n return data\n } catch (e) {\n if (props.onRequestError === undefined) throw new Error(e as string)\n if (tableDataList.value === undefined) setTableDataList([])\n props.onRequestError(e as Error)\n } finally {\n requestFinally()\n }\n }\n\n const fetchListDebounce = useDebounceFn(async (isPolling: boolean) => {\n if (pollingSetTimeRef.value) {\n clearTimeout(pollingSetTimeRef.value)\n }\n if (!getData) {\n return\n }\n const abort = new AbortController()\n abortRef.value = abort\n\n try {\n const msg = (await Promise.race([\n fetchList(isPolling),\n new Promise((_, reject) => {\n abortRef.value?.signal.addEventListener('abort', () => {\n reject('aborted')\n requestFinally()\n })\n }),\n ])) as any[]\n\n if (abort.signal.aborted) return\n // 放到请求前面会导致数据是上一次的\n const needPolling = runFunction(props.polling, msg)\n if (needPolling && !umountRef.value) {\n pollingSetTimeRef.value = setTimeout(\n () => {\n fetchListDebounce(needPolling)\n // 这里判断最小要2000ms,不然一直loading\n },\n Math.max(needPolling, 2000),\n )\n }\n } catch (error) {\n if (error === 'aborted') {\n return\n }\n throw error\n }\n }, props.debounceTime || 30)\n\n const abortFetch = () => {\n abortRef.value?.abort()\n requestFinally()\n }\n\n watch(\n () => props.polling,\n (newPolling, prePolling) => {\n if (!newPolling) {\n clearTimeout(pollingSetTimeRef.value)\n }\n if (!prePolling && newPolling) {\n fetchListDebounce(true)\n }\n },\n )\n\n watch([() => props.manual, () => props.manualRequest], () => {\n abortFetch()\n fetchListDebounce(false)\n if (!props.manual || !props.manualRequest) {\n // 如果 manual 标志未设置,则将 manualRequestRef 设置为 false。\n // 用于跟踪当前的请求是否是手动发起的。\n manualRequestRef.value = false\n }\n })\n\n watch(\n () => pagination.value.current,\n () => {\n const { current, pageSize } = pagination.value || {}\n if (\n (!prePage || prePage.value === current) &&\n (!prePageSize || prePageSize.value === pageSize)\n ) {\n return\n }\n\n if (\n (props.pagination && tableDataList.value && tableDataList.value?.length > pageSize) ||\n 0\n ) {\n return\n }\n\n if (current !== undefined && tableDataList.value && tableDataList.value.length <= pageSize) {\n abortFetch()\n fetchListDebounce(false)\n }\n },\n )\n\n watch(\n () => pagination.value.pageSize,\n () => {\n if (!prePageSize.value) {\n return\n }\n abortFetch()\n fetchListDebounce(false)\n },\n )\n\n watch(sorters, () => {\n setPagination({\n ...pagination.value,\n current: 1,\n })\n abortFetch()\n fetchListDebounce(false)\n })\n\n watch(filter, () => {\n setPagination({\n ...pagination.value,\n current: 1,\n })\n abortFetch()\n fetchListDebounce(false)\n })\n\n watch(\n () => props.params,\n () => {\n setPagination({\n ...pagination.value,\n current: 1,\n })\n abortFetch()\n fetchListDebounce(false)\n },\n {\n deep: true,\n },\n )\n\n watch(\n innerParams,\n () => {\n setPagination({\n ...pagination.value,\n current: 1,\n })\n abortFetch()\n fetchListDebounce(false)\n },\n {\n deep: true,\n },\n )\n\n watch(\n formSearch,\n () => {\n setPagination({\n ...pagination.value,\n current: 1,\n })\n abortFetch()\n fetchListDebounce(false)\n },\n {\n immediate: true,\n },\n )\n\n const onTableChange: ProTableProps['onChange'] = (pageInfo, filt, sort, extra) => {\n if (extra.action === 'paginate') {\n setPagination({ ...pagination.value, ...pageInfo })\n }\n if (extra.action === 'sort') {\n sorters.value = formatSorters(sort)\n }\n\n if (extra.action === 'filter') {\n filter.value = filt\n }\n props.onChange?.(pageInfo, filt, sort, extra)\n }\n\n onMounted(() => {\n umountRef.value = false\n if (props.search === false) {\n fetchListDebounce(false)\n }\n })\n\n onActivated(() => {\n if (props.polling) {\n fetchListDebounce(true)\n }\n })\n\n onUnmounted(() => {\n umountRef.value = true\n abortFetch()\n clearTimeout(pollingSetTimeRef.value)\n })\n onDeactivated(() => {\n clearTimeout(pollingSetTimeRef.value)\n })\n\n return {\n keyword,\n formSearch,\n dataSource: tableDataList,\n loading: computed(() =>\n typeof props?.loading === 'object'\n ? { ...props?.loading, spinning: tableLoading.value }\n : tableLoading.value,\n ),\n setParams: (key: string, value: any) => {\n innerParams.value[key] = value\n },\n reload: async (resetPageIndex?: boolean) => {\n if (resetPageIndex) {\n setPagination({\n ...pagination.value,\n current: 1,\n })\n }\n abortFetch()\n return fetchListDebounce(false)\n },\n pollingLoading,\n pagination,\n reset: async () => {\n const { pagination: optionPageInfo } = props || {}\n const { current = 1, pageSize = 10 } = optionPageInfo || {}\n const initialPageInfo = {\n current,\n total: 0,\n pageSize,\n }\n setPagination(initialPageInfo)\n },\n setPagination,\n setFormSearch,\n onTableChange,\n } as UseFetchDataAction\n}\n"],"names":["total","_a"],"mappings":";;;;;;;;AAsDA,MAAM,uBAAA,GAA0B,CAAC,IAAA,EAAgB,UAAA,KAA6C;AAC5F,EAAA,IAAI,UAAA,EAAY;AACd,IAAA,MAAM,EAAE,SAAS,QAAA,EAAU,KAAA,EAAO,WAAW,eAAA,EAAiB,GAAG,MAAK,GAAI,UAAA;AAC1E,IAAA,OAAO;AAAA,MACL,GAAG,IAAA;AAAA,MACH,SAAS,OAAA,IAAW,CAAA;AAAA,MACpB,OAAO,KAAA,IAAS,CAAA;AAAA,MAChB,UAAU,QAAA,IAAY,EAAA;AAAA,MACtB,iBAAiB,eAAA,IAAA,IAAA,GAAA,eAAA,GAAmB,IAAA;AAAA,MACpC,SAAA,EACE,cACC,CAACA,MAAAA,EAAe,UACf,CAAA,EAAG,IAAA,CAAK,WAAW,wBAAA,EAA0B,QAAG,CAAC,CAAA,CAAA,EAAI,KAAA,CAAM,CAAC,CAAC,CAAA,CAAA,EAAI,MAAM,CAAC,CAAC,IAAI,IAAA,CAAK,UAAA;AAAA,QAChF,wBAAA;AAAA,QACA;AAAA,OACD,IAAIA,MAAK,CAAA,CAAA,EAAI,KAAK,UAAA,CAAW,uBAAA,EAAyB,QAAG,CAAC,CAAA,CAAA;AAAA,KACjE;AAAA,EACF;AACA,EAAA,OAAO;AAAA,IACL,OAAA,EAAS,CAAA;AAAA,IACT,KAAA,EAAO,CAAA;AAAA,IACP,QAAA,EAAU,EAAA;AAAA,IACV,eAAA,EAAiB,IAAA;AAAA,IACjB,WAAW,CAAC,KAAA,EAAe,UACzB,CAAA,EAAG,IAAA,CAAK,WAAW,wBAAA,EAA0B,QAAG,CAAC,CAAA,CAAA,EAAI,KAAA,CAAM,CAAC,CAAC,CAAA,CAAA,EAAI,MAAM,CAAC,CAAC,IAAI,IAAA,CAAK,UAAA;AAAA,MAChF,wBAAA;AAAA,MACA;AAAA,KACD,IAAI,KAAK,CAAA,CAAA,EAAI,KAAK,UAAA,CAAW,uBAAA,EAAyB,QAAG,CAAC,CAAA;AAAA,GAC/D;AACF,CAAA;AAEA,MAAM,aAAA,GAAgB,CACpB,MAAA,KACoC;AACpC,EAAA,IAAI,CAAC,MAAA,EAAQ;AACX,IAAA;AAAA,EACF;AACA,EAAA,IAAI,MAAA;AACJ,EAAA,IAAI,CAAC,KAAA,CAAM,OAAA,CAAQ,MAAM,CAAA,EAAG;AAC1B,IAAA,MAAA,GAAS,CAAC,EAAE,GAAG,MAAA,EAAQ,CAAA;AAAA,EACzB,CAAA,MAAO;AACL,IAAA,MAAA,GAAS,CAAC,GAAG,MAAM,CAAA;AAAA,EACrB;AACA,EAAA,MAAA,GAAS,OAAO,MAAA,CAAO,CAAC,SAAS,CAAC,CAAC,KAAK,KAAK,CAAA;AAC7C,EAAA,IAAI,CAAC,OAAO,MAAA,EAAQ;AAClB,IAAA;AAAA,EACF;AACA,EAAA,IAAI,MAAA,CAAO,SAAS,CAAA,EAAG;AACrB,IAAA,MAAA,GAAS,MAAA,CAAO,IAAA;AAAA,MACd,CAAC,GAAG,CAAA,KAAG;AAvGb,QAAA,IAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA;AAwGU,QAAA,OAAA,CAAA,CAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,CAAA,CAAE,MAAA,KAAF,IAAA,GAAA,MAAA,GAAA,EAAA,CAAU,MAAA,KAAV,IAAA,GAAA,MAAA,GAAA,EAAA,CAA0B,QAAA,KAAY,CAAA,KAAA,CAAA,CAAO,EAAA,GAAA,CAAA,EAAA,GAAA,CAAA,CAAE,MAAA,KAAF,IAAA,GAAA,MAAA,GAAA,EAAA,CAAU,MAAA,KAAV,IAAA,GAAA,MAAA,GAAA,EAAA,CAA0B,QAAA,KAAY,CAAA,CAAA;AAAA,MAAA;AAAA,KACzF;AAAA,EACF;AACA,EAAA,OAAO,MAAA,CAAO,GAAA,CAAI,CAAC,IAAA,MAAU;AAAA,IAC3B,OAAO,IAAA,CAAK,KAAA;AAAA,IACZ,OAAO,IAAA,CAAK;AAAA,GACd,CAAE,CAAA;AACJ,CAAA;AAEO,MAAM,YAAA,GAAe,CAC1B,OAAA,EAQA,KAAA,KACuB;AA3HzB,EAAA,IAAA,EAAA;AA+HE,EAAA,MAAM,SAAA,GAAY,IAAa,KAAK,CAAA;AAIpC,EAAA,MAAM,QAAA,GAAW,IAA4B,IAAI,CAAA;AAEjD,EAAA,MAAM,mBAAmB,GAAA,CAAa,CAAC,EAAE,KAAA,CAAM,MAAA,IAAU,MAAM,aAAA,CAAc,CAAA;AAE7E,EAAA,MAAM,oBAAoB,GAAA,EAAS;AACnC,EAAA,MAAM,cAAA,GAAiB,IAAa,KAAK,CAAA;AACzC,EAAA,MAAM,OAAA,GAAU,IAAY,EAAE,CAAA;AAC9B,EAAA,MAAM,OAAO,OAAA,EAAQ;AACrB,EAAA,MAAM,EAAE,KAAA,EAAM,GAAI,kBAAA,EAAmB;AACrC,EAAA,MAAM,WAAA,GAAc,GAAA,CAAyB,EAAE,CAAA;AAC/C,EAAA,MAAM,UAAU,GAAA,EAAyB;AACzC,EAAA,MAAM,SAAS,GAAA,EAAyB;AACxC,EAAA,MAAM,WAAA,GAAc,SAAS,MAAM;AACjC,IAAA,IAAI,MAAM,OAAA,KAAY,KAAA,IAAS,KAAA,CAAM,OAAA,CAAS,WAAW,KAAA,EAAO;AAC9D,MAAA,OAAO,KAAA,CAAM,OAAA,CAAS,MAAA,KAAW,IAAA,IAAQ,CAAC,KAAA,CAAM,OAAA,CAAS,MAAA,CAAQ,IAAA,GAC7D,MAAA,GACA,KAAA,CAAM,OAAA,CAAS,MAAA,CAAQ,IAAA;AAAA,IAC7B;AACA,IAAA,OAAO,MAAA;AAAA,EACT,CAAC,CAAA;AACD,EAAA,MAAM,CAAC,YAAA,EAAc,eAAe,CAAA,GAAI,eAAe,KAAA,EAAO;AAAA,IAC5D,KAAA,EAAO,SAAS,MAAM;AACpB,MAAA,OAAO,OAAO,KAAA,CAAM,OAAA,KAAY,WAAW,KAAA,CAAM,OAAA,CAAQ,WAAW,KAAA,CAAM,OAAA;AAAA,IAC5E,CAAC,CAAA;AAAA,IACD,UAAU,KAAA,CAAM;AAAA,GACjB,CAAA;AAED,EAAA,MAAM,CAAC,aAAA,EAAe,gBAAgB,CAAA,GAAI,cAAA;AAAA,IAAA,CACxC,EAAA,GAAA,KAAA,CAAM,WAAA,KAAN,IAAA,GAAA,EAAA,GAAqB,EAAC;AAAA,IACtB;AAAA,MACE,KAAA,EAAO,SAAS,MAAM;AACpB,QAAA,OAAO,KAAA,CAAM,OAAA,GAAU,MAAA,GAAY,KAAA,CAAM,UAAA;AAAA,MAC3C,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAMH,GACF;AAEA,EAAA,MAAM,iBAAA,GAAoB,SAAS,MAAG;AA5KxC,IAAA,IAAAC,GAAAA;AA4K2C,IAAA,OAAA,CAAAA,GAAAA,GAAA,KAAA,IAAA,IAAA,GAAA,MAAA,GAAA,KAAA,CAAO,KAAA,KAAP,IAAA,GAAA,MAAA,GAAAA,GAAAA,CAAc,UAAA;AAAA,EAAA,CAAU,CAAA;AACjE,EAAA,MAAM,sBAAA,GAAyB,SAAS,MAAM;AA7KhD,IAAA,IAAAA,GAAAA;AA8KI,IAAA,IAAI,KAAA,CAAM,eAAe,KAAA,EAAO;AAC9B,MAAA,OAAO,KAAA;AAAA,IACT;AACA,IAAA,IAAI,KAAA,CAAM,UAAA,IAAc,iBAAA,CAAkB,KAAA,EAAO;AAC/C,MAAA,OAAO,KAAA,CAAM,iBAAA,CAAkB,KAAA,EAAO,KAAA,CAAM,UAAU,CAAA;AAAA,IACxD,CAAA,MAAO;AACL,MAAA,OAAA,CAAOA,GAAAA,GAAA,KAAA,CAAM,UAAA,KAAN,IAAA,GAAAA,MAAoB,iBAAA,CAAkB,KAAA;AAAA,IAC/C;AAAA,EACF,CAAC,CAAA;AAED,EAAA,MAAM,CAAC,UAAA,EAAY,aAAa,CAAA,GAAI,cAAA;AAAA,IAClC,MAAM,uBAAA,CAAwB,IAAA,EAAM,sBAAA,CAAuB,KAAK,CAAA;AAAA,IAChE;AAAA,MACE,SAAS,KAAA,EAAO;AA3LtB,QAAA,IAAAA,GAAAA,EAAA,EAAA,EAAA,EAAA;AA4LQ,QAAA,IAAI,KAAA,CAAM,eAAe,KAAA,EAAO;AAC9B,UAAA,CAAAA,GAAAA,GAAA,KAAA,CAAM,qBAAA,CAAA,KAAN,IAAA,GAAA,MAAA,GAAAA,GAAAA,CAAA,IAAA;AAAA,YAAA,KAAA;AAAA,YACE,UAAA,CAAW,KAAA,CAAM,UAAU,CAAA,GAAI,MAAA,CAAO,MAAA,CAAO,KAAA,CAAM,UAAA,IAAc,EAAC,EAAG,KAAK,CAAA,GAAI;AAAA,WAAA;AAEhF,UAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,KAAA,CAAM,eAAN,IAAA,GAAA,MAAA,GAAA,EAAA,CAAkB,QAAA,KAAlB,IAAA,GAAA,MAAA,GAAA,EAAA,CAAA,IAAA,CAAA,EAAA,EAA6B,KAAA,CAAM,SAAS,KAAA,IAAA,IAAA,GAAA,MAAA,GAAA,KAAA,CAAO,QAAA,CAAA;AAAA,QACrD;AAAA,MACF;AAAA;AACF,GACF;AAEA,EAAA,MAAM,CAAC,UAAA,EAAY,aAAa,CAAA,GAAI,eAAgD,MAAM;AAGxF,IAAA,IAAI,gBAAA,CAAiB,KAAA,IAAS,KAAA,CAAM,MAAA,KAAW,KAAA,EAAO;AACpD,MAAA,OAAO,MAAA;AAAA,IACT;AACA,IAAA,OAAO,EAAC;AAAA,EACV,CAAC,CAAA;AAED,EAAA,MAAM,OAAA,GAAU,WAAA,CAAY,QAAA,CAAS,MAAG;AA/M1C,IAAA,IAAAA,GAAAA;AA+M6C,IAAA,OAAA,CAAAA,GAAAA,GAAA,UAAA,CAAW,KAAA,KAAX,IAAA,GAAA,MAAA,GAAAA,GAAAA,CAAkB,OAAA;AAAA,EAAA,CAAO,CAAC,CAAA;AACrE,EAAA,MAAM,WAAA,GAAc,WAAA,CAAY,QAAA,CAAS,MAAG;AAhN9C,IAAA,IAAAA,GAAAA;AAgNiD,IAAA,OAAA,CAAAA,GAAAA,GAAA,UAAA,CAAW,KAAA,KAAX,IAAA,GAAA,MAAA,GAAAA,GAAAA,CAAkB,QAAA;AAAA,EAAA,CAAQ,CAAC,CAAA;AAE1E,EAAA,MAAM,iBAAiB,MAAM;AAC3B,IAAA,eAAA,CAAgB,KAAK,CAAA;AACrB,IAAA,cAAA,CAAe,KAAA,GAAQ,KAAA;AAAA,EACzB,CAAA;AAEA,EAAA,MAAM,SAAA,GAAY,OAAO,SAAA,KAAuB;AAvNlD,IAAA,IAAAA,GAAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA;AAyNI,IAAA,IAAI,iBAAiB,KAAA,EAAO;AAC1B,MAAA,gBAAA,CAAiB,KAAA,GAAQ,KAAA;AACzB,MAAA;AAAA,IACF;AAEA,IAAA,IAAI,CAAC,SAAA,EAAW;AACd,MAAA,eAAA,CAAgB,IAAI,CAAA;AAAA,IACtB,CAAA,MAAO;AACL,MAAA,cAAA,CAAe,KAAA,GAAQ,IAAA;AAAA,IACzB;AAEA,IAAA,MAAM,EAAE,OAAA,EAAS,QAAA,EAAS,GAAI,UAAA,CAAW,KAAA;AACzC,IAAA,MAAM,SAA8B,EAAE,GAAG,YAAY,KAAA,EAAO,GAAG,WAAW,KAAA,EAAM;AAChF,IAAA,IAAI,sBAAA,CAAuB,UAAU,KAAA,EAAO;AAC1C,MAAA,MAAM,EAAE,YAAW,GAAA,CAAIA,GAAAA,GAAA,uBAAuB,KAAA,KAAvB,IAAA,GAAAA,MAAgC,EAAC;AACxD,MAAA,MAAA,CAAA,CAAO,EAAA,GAAA,UAAA,IAAA,IAAA,GAAA,MAAA,GAAA,UAAA,CAAY,OAAA,KAAZ,IAAA,GAAA,EAAA,GAAuB,SAAS,CAAA,GAAI,OAAA;AAC3C,MAAA,MAAA,CAAA,CAAO,EAAA,GAAA,UAAA,IAAA,IAAA,GAAA,MAAA,GAAA,UAAA,CAAY,QAAA,KAAZ,IAAA,GAAA,EAAA,GAAwB,UAAU,CAAA,GAAI,QAAA;AAAA,IAC/C;AACA,IAAA,IAAI,QAAQ,KAAA,EAAO;AACjB,MAAA,MAAA,CAAA,CAAO,EAAA,GAAA,WAAA,CAAY,KAAA,KAAZ,IAAA,GAAA,EAAA,GAAqB,SAAS,IAAI,OAAA,CAAQ,KAAA;AAAA,IACnD;AACA,IAAA,IAAI;AACF,MAAA,MAAM;AAAA,QACJ,OAAO,EAAC;AAAA,QACR,OAAA;AAAA,QACA,KAAA,GAAQ,CAAA;AAAA,QACR,GAAG;AAAA,OACL,GAAK,OAAA,CAAM,EAAA,GAAA,OAAA,CAAQ,KAAA,KAAR,iCAAgB,MAAA,EAAQ,KAAA,CAAM,OAAA,CAAQ,KAAK,CAAA,EAAG,KAAA,CAAM,MAAA,CAAO,KAAK,OAAO,EAAC;AAEnF,MAAA,IAAI,OAAA,KAAY,KAAA,EAAO,OAAO,EAAC;AAC/B,MAAA,gBAAA,CAAiB,IAAI,CAAA;AACrB,MAAA,IAAA,CAAA,CAAI,EAAA,GAAA,UAAA,CAAW,KAAA,KAAX,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAkB,KAAA,MAAU,KAAA,EAAO;AACrC,QAAA,UAAA,CAAW,KAAA,CAAM,KAAA,GAAQ,KAAA,IAAS,IAAA,CAAK,MAAA;AAAA,MAKzC;AACA,MAAA,CAAA,EAAA,GAAA,KAAA,CAAM,MAAA,KAAN,+BAAe,IAAA,EAAM,IAAA,CAAA;AACrB,MAAA,OAAO,IAAA;AAAA,IACT,SAAS,CAAA,EAAG;AACV,MAAA,IAAI,MAAM,cAAA,KAAmB,MAAA,EAAW,MAAM,IAAI,MAAM,CAAW,CAAA;AACnE,MAAA,IAAI,aAAA,CAAc,KAAA,KAAU,MAAA,EAAW,gBAAA,CAAiB,EAAE,CAAA;AAC1D,MAAA,KAAA,CAAM,eAAe,CAAU,CAAA;AAAA,IACjC,CAAA,SAAE;AACA,MAAA,cAAA,EAAe;AAAA,IACjB;AAAA,EACF,CAAA;AAEA,EAAA,MAAM,iBAAA,GAAoB,aAAA,CAAc,OAAO,SAAA,KAAuB;AACpE,IAAA,IAAI,kBAAkB,KAAA,EAAO;AAC3B,MAAA,YAAA,CAAa,kBAAkB,KAAK,CAAA;AAAA,IACtC;AACA,IAAA,IAAI,CAAC,OAAA,EAAS;AACZ,MAAA;AAAA,IACF;AACA,IAAA,MAAM,KAAA,GAAQ,IAAI,eAAA,EAAgB;AAClC,IAAA,QAAA,CAAS,KAAA,GAAQ,KAAA;AAEjB,IAAA,IAAI;AACF,MAAA,MAAM,GAAA,GAAO,MAAM,OAAA,CAAQ,IAAA,CAAK;AAAA,QAC9B,UAAU,SAAS,CAAA;AAAA,QACnB,IAAI,OAAA,CAAQ,CAAC,CAAA,EAAG,MAAA,KAAW;AAvRnC,UAAA,IAAAA,GAAAA;AAwRU,UAAA,CAAAA,GAAAA,GAAA,SAAS,KAAA,KAAT,IAAA,GAAA,KAAA,CAAA,GAAAA,IAAgB,MAAA,CAAO,gBAAA,CAAiB,SAAS,MAAM;AACrD,YAAA,MAAA,CAAO,SAAS,CAAA;AAChB,YAAA,cAAA,EAAe;AAAA,UACjB,CAAA,CAAA;AAAA,QACF,CAAC;AAAA,OACF,CAAA;AAED,MAAA,IAAI,KAAA,CAAM,OAAO,OAAA,EAAS;AAE1B,MAAA,MAAM,WAAA,GAAc,WAAA,CAAY,KAAA,CAAM,OAAA,EAAS,GAAG,CAAA;AAClD,MAAA,IAAI,WAAA,IAAe,CAAC,SAAA,CAAU,KAAA,EAAO;AACnC,QAAA,iBAAA,CAAkB,KAAA,GAAQ,UAAA;AAAA,UACxB,MAAM;AACJ,YAAA,iBAAA,CAAkB,WAAW,CAAA;AAAA,UAE/B,CAAA;AAAA,UACA,IAAA,CAAK,GAAA,CAAI,WAAA,EAAa,GAAI;AAAA,SAC5B;AAAA,MACF;AAAA,IACF,SAAS,KAAA,EAAO;AACd,MAAA,IAAI,UAAU,SAAA,EAAW;AACvB,QAAA;AAAA,MACF;AACA,MAAA,MAAM,KAAA;AAAA,IACR;AAAA,EACF,CAAA,EAAG,KAAA,CAAM,YAAA,IAAgB,EAAE,CAAA;AAE3B,EAAA,MAAM,aAAa,MAAM;AAnT3B,IAAA,IAAAA,GAAAA;AAoTI,IAAA,CAAAA,GAAAA,GAAA,QAAA,CAAS,KAAA,KAAT,IAAA,GAAA,MAAA,GAAAA,GAAAA,CAAgB,KAAA,EAAA;AAChB,IAAA,cAAA,EAAe;AAAA,EACjB,CAAA;AAEA,EAAA,KAAA;AAAA,IACE,MAAM,KAAA,CAAM,OAAA;AAAA,IACZ,CAAC,YAAY,UAAA,KAAe;AAC1B,MAAA,IAAI,CAAC,UAAA,EAAY;AACf,QAAA,YAAA,CAAa,kBAAkB,KAAK,CAAA;AAAA,MACtC;AACA,MAAA,IAAI,CAAC,cAAc,UAAA,EAAY;AAC7B,QAAA,iBAAA,CAAkB,IAAI,CAAA;AAAA,MACxB;AAAA,IACF;AAAA,GACF;AAEA,EAAA,KAAA,CAAM,CAAC,MAAM,KAAA,CAAM,MAAA,EAAQ,MAAM,KAAA,CAAM,aAAa,GAAG,MAAM;AAC3D,IAAA,UAAA,EAAW;AACX,IAAA,iBAAA,CAAkB,KAAK,CAAA;AACvB,IAAA,IAAI,CAAC,KAAA,CAAM,MAAA,IAAU,CAAC,MAAM,aAAA,EAAe;AAGzC,MAAA,gBAAA,CAAiB,KAAA,GAAQ,KAAA;AAAA,IAC3B;AAAA,EACF,CAAC,CAAA;AAED,EAAA,KAAA;AAAA,IACE,MAAM,WAAW,KAAA,CAAM,OAAA;AAAA,IACvB,MAAM;AAhVV,MAAA,IAAAA,GAAAA;AAiVM,MAAA,MAAM,EAAE,OAAA,EAAS,QAAA,EAAS,GAAI,UAAA,CAAW,SAAS,EAAC;AACnD,MAAA,IAAA,CACG,CAAC,WAAW,OAAA,CAAQ,KAAA,KAAU,aAC9B,CAAC,WAAA,IAAe,WAAA,CAAY,KAAA,KAAU,QAAA,CAAA,EACvC;AACA,QAAA;AAAA,MACF;AAEA,MAAA,IACG,KAAA,CAAM,UAAA,IAAc,aAAA,CAAc,KAAA,IAAA,CAAA,CAASA,GAAAA,GAAA,aAAA,CAAc,KAAA,KAAd,IAAA,GAAA,MAAA,GAAAA,GAAAA,CAAqB,MAAA,IAAS,QAAA,IAC1E,CAAA,EACA;AACA,QAAA;AAAA,MACF;AAEA,MAAA,IAAI,YAAY,MAAA,IAAa,aAAA,CAAc,SAAS,aAAA,CAAc,KAAA,CAAM,UAAU,QAAA,EAAU;AAC1F,QAAA,UAAA,EAAW;AACX,QAAA,iBAAA,CAAkB,KAAK,CAAA;AAAA,MACzB;AAAA,IACF;AAAA,GACF;AAEA,EAAA,KAAA;AAAA,IACE,MAAM,WAAW,KAAA,CAAM,QAAA;AAAA,IACvB,MAAM;AACJ,MAAA,IAAI,CAAC,YAAY,KAAA,EAAO;AACtB,QAAA;AAAA,MACF;AACA,MAAA,UAAA,EAAW;AACX,MAAA,iBAAA,CAAkB,KAAK,CAAA;AAAA,IACzB;AAAA,GACF;AAEA,EAAA,KAAA,CAAM,SAAS,MAAM;AACnB,IAAA,aAAA,CAAc;AAAA,MACZ,GAAG,UAAA,CAAW,KAAA;AAAA,MACd,OAAA,EAAS;AAAA,KACV,CAAA;AACD,IAAA,UAAA,EAAW;AACX,IAAA,iBAAA,CAAkB,KAAK,CAAA;AAAA,EACzB,CAAC,CAAA;AAED,EAAA,KAAA,CAAM,QAAQ,MAAM;AAClB,IAAA,aAAA,CAAc;AAAA,MACZ,GAAG,UAAA,CAAW,KAAA;AAAA,MACd,OAAA,EAAS;AAAA,KACV,CAAA;AACD,IAAA,UAAA,EAAW;AACX,IAAA,iBAAA,CAAkB,KAAK,CAAA;AAAA,EACzB,CAAC,CAAA;AAED,EAAA,KAAA;AAAA,IACE,MAAM,KAAA,CAAM,MAAA;AAAA,IACZ,MAAM;AACJ,MAAA,aAAA,CAAc;AAAA,QACZ,GAAG,UAAA,CAAW,KAAA;AAAA,QACd,OAAA,EAAS;AAAA,OACV,CAAA;AACD,MAAA,UAAA,EAAW;AACX,MAAA,iBAAA,CAAkB,KAAK,CAAA;AAAA,IACzB,CAAA;AAAA,IACA;AAAA,MACE,IAAA,EAAM;AAAA;AACR,GACF;AAEA,EAAA,KAAA;AAAA,IACE,WAAA;AAAA,IACA,MAAM;AACJ,MAAA,aAAA,CAAc;AAAA,QACZ,GAAG,UAAA,CAAW,KAAA;AAAA,QACd,OAAA,EAAS;AAAA,OACV,CAAA;AACD,MAAA,UAAA,EAAW;AACX,MAAA,iBAAA,CAAkB,KAAK,CAAA;AAAA,IACzB,CAAA;AAAA,IACA;AAAA,MACE,IAAA,EAAM;AAAA;AACR,GACF;AAEA,EAAA,KAAA;AAAA,IACE,UAAA;AAAA,IACA,MAAM;AACJ,MAAA,aAAA,CAAc;AAAA,QACZ,GAAG,UAAA,CAAW,KAAA;AAAA,QACd,OAAA,EAAS;AAAA,OACV,CAAA;AACD,MAAA,UAAA,EAAW;AACX,MAAA,iBAAA,CAAkB,KAAK,CAAA;AAAA,IACzB,CAAA;AAAA,IACA;AAAA,MACE,SAAA,EAAW;AAAA;AACb,GACF;AAEA,EAAA,MAAM,aAAA,GAA2C,CAAC,QAAA,EAAU,IAAA,EAAM,MAAM,KAAA,KAAU;AAjbpF,IAAA,IAAAA,GAAAA;AAkbI,IAAA,IAAI,KAAA,CAAM,WAAW,UAAA,EAAY;AAC/B,MAAA,aAAA,CAAc,EAAE,GAAG,UAAA,CAAW,KAAA,EAAO,GAAG,UAAU,CAAA;AAAA,IACpD;AACA,IAAA,IAAI,KAAA,CAAM,WAAW,MAAA,EAAQ;AAC3B,MAAA,OAAA,CAAQ,KAAA,GAAQ,cAAc,IAAI,CAAA;AAAA,IACpC;AAEA,IAAA,IAAI,KAAA,CAAM,WAAW,QAAA,EAAU;AAC7B,MAAA,MAAA,CAAO,KAAA,GAAQ,IAAA;AAAA,IACjB;AACA,IAAA,CAAAA,GAAAA,GAAA,MAAM,QAAA,KAAN,IAAA,GAAA,MAAA,GAAAA,IAAA,IAAA,CAAA,KAAA,EAAiB,QAAA,EAAU,MAAM,IAAA,EAAM,KAAA,CAAA;AAAA,EACzC,CAAA;AAEA,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,SAAA,CAAU,KAAA,GAAQ,KAAA;AAClB,IAAA,IAAI,KAAA,CAAM,WAAW,KAAA,EAAO;AAC1B,MAAA,iBAAA,CAAkB,KAAK,CAAA;AAAA,IACzB;AAAA,EACF,CAAC,CAAA;AAED,EAAA,WAAA,CAAY,MAAM;AAChB,IAAA,IAAI,MAAM,OAAA,EAAS;AACjB,MAAA,iBAAA,CAAkB,IAAI,CAAA;AAAA,IACxB;AAAA,EACF,CAAC,CAAA;AAED,EAAA,WAAA,CAAY,MAAM;AAChB,IAAA,SAAA,CAAU,KAAA,GAAQ,IAAA;AAClB,IAAA,UAAA,EAAW;AACX,IAAA,YAAA,CAAa,kBAAkB,KAAK,CAAA;AAAA,EACtC,CAAC,CAAA;AACD,EAAA,aAAA,CAAc,MAAM;AAClB,IAAA,YAAA,CAAa,kBAAkB,KAAK,CAAA;AAAA,EACtC,CAAC,CAAA;AAED,EAAA,OAAO;AAAA,IACL,OAAA;AAAA,IACA,UAAA;AAAA,IACA,UAAA,EAAY,aAAA;AAAA,IACZ,OAAA,EAAS,QAAA;AAAA,MAAS,MAChB,QAAO,KAAA,IAAA,IAAA,GAAA,MAAA,GAAA,KAAA,CAAO,OAAA,CAAA,KAAY,QAAA,GACtB,EAAE,GAAG,KAAA,IAAA,IAAA,GAAA,MAAA,GAAA,KAAA,CAAO,OAAA,EAAS,QAAA,EAAU,YAAA,CAAa,KAAA,KAC5C,YAAA,CAAa;AAAA,KACnB;AAAA,IACA,SAAA,EAAW,CAAC,GAAA,EAAa,KAAA,KAAe;AACtC,MAAA,WAAA,CAAY,KAAA,CAAM,GAAG,CAAA,GAAI,KAAA;AAAA,IAC3B,CAAA;AAAA,IACA,MAAA,EAAQ,OAAO,cAAA,KAA6B;AAC1C,MAAA,IAAI,cAAA,EAAgB;AAClB,QAAA,aAAA,CAAc;AAAA,UACZ,GAAG,UAAA,CAAW,KAAA;AAAA,UACd,OAAA,EAAS;AAAA,SACV,CAAA;AAAA,MACH;AACA,MAAA,UAAA,EAAW;AACX,MAAA,OAAO,kBAAkB,KAAK,CAAA;AAAA,IAChC,CAAA;AAAA,IACA,cAAA;AAAA,IACA,UAAA;AAAA,IACA,OAAO,YAAY;AACjB,MAAA,MAAM,EAAE,UAAA,EAAY,cAAA,EAAe,GAAI,SAAS,EAAC;AACjD,MAAA,MAAM,EAAE,OAAA,GAAU,CAAA,EAAG,WAAW,EAAA,EAAG,GAAI,kBAAkB,EAAC;AAC1D,MAAA,MAAM,eAAA,GAAkB;AAAA,QACtB,OAAA;AAAA,QACA,KAAA,EAAO,CAAA;AAAA,QACP;AAAA,OACF;AACA,MAAA,aAAA,CAAc,eAAe,CAAA;AAAA,IAC/B,CAAA;AAAA,IACA,aAAA;AAAA,IACA,aAAA;AAAA,IACA;AAAA,GACF;AACF;;;;"}
|
|
1
|
+
{"version":3,"file":"useFetchData.mjs","sources":["../../../../../../../../packages/components/table/src/hooks/useFetchData.ts"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2023-11-12 12:24:29\n * @LastEditors: shen\n * @LastEditTime: 2025-10-29 11:09:31\n * @Description:\n */\nimport type { SpinProps } from 'ant-design-vue/es/spin'\nimport type { ComputedRef, Ref } from 'vue'\nimport type { RequestData, ProTableProps, SorterResult } from '../components/interface'\nimport type { IntlType } from '@pro-design-vue/components/config-provider'\nimport {\n ref,\n computed,\n watch,\n onUnmounted,\n onMounted,\n isReactive,\n toRaw,\n onDeactivated,\n onActivated,\n} from 'vue'\nimport { useDebounceFn, usePrevious } from '@vueuse/core'\nimport { useMergedState } from '@pro-design-vue/hooks'\nimport { merge, runFunction } from '@pro-design-vue/utils'\nimport { useIntl } from '@pro-design-vue/components/config-provider'\nimport { useProConfigInject } from '@pro-design-vue/components/config-provider'\n\nexport type PageInfo = {\n pageSize: number\n total: number\n current: number\n}\n\nexport type UseFetchDataAction<T = any> = {\n dataSource: Ref<T[]>\n keyword: Ref<string>\n formSearch: Ref<Record<string, any> | undefined>\n loading: ComputedRef<boolean | SpinProps | undefined>\n setParams: (key: string, value: any) => void\n reload: (resetPageIndex?: boolean) => Promise<void>\n reset: () => void\n pollingLoading: Ref<boolean>\n pagination: Ref<PageInfo>\n setFormSearch: (val: Record<string, any> | undefined) => void\n setPagination: (val: PageInfo) => void\n onTableChange: ProTableProps['onChange']\n}\n\n/**\n * 组合用户的配置和默认值\n *\n * @param param0\n */\nconst mergePropsAndPagination = (intl: IntlType, pagination?: ProTableProps['pagination']) => {\n if (pagination) {\n const { current, pageSize, total, showTotal, showSizeChanger, ...rest } = pagination\n return {\n ...rest,\n current: current || 1,\n total: total || 0,\n pageSize: pageSize || 10,\n showSizeChanger: showSizeChanger ?? true,\n showTotal:\n showTotal ||\n ((total: number, range: number[]) =>\n `${intl.getMessage('pagination.total.range', '第')} ${range[0]}-${range[1]} ${intl.getMessage(\n 'pagination.total.total',\n '条/总共',\n )} ${total} ${intl.getMessage('pagination.total.item', '条')}`),\n }\n }\n return {\n current: 1,\n total: 0,\n pageSize: 10,\n showSizeChanger: true,\n showTotal: (total: number, range: number[]) =>\n `${intl.getMessage('pagination.total.range', '第')} ${range[0]}-${range[1]} ${intl.getMessage(\n 'pagination.total.total',\n '条/总共',\n )} ${total} ${intl.getMessage('pagination.total.item', '条')}`,\n }\n}\n\nconst formatSorters = (\n sorter: SorterResult<any> | SorterResult<any>[],\n): SorterResult<any>[] | undefined => {\n if (!sorter) {\n return\n }\n let result: SorterResult<any>[]\n if (!Array.isArray(sorter)) {\n result = [{ ...sorter }]\n } else {\n result = [...sorter]\n }\n result = result.filter((sort) => !!sort.order)\n if (!result.length) {\n return\n }\n if (result.length > 1) {\n result = result.sort(\n (a, b) =>\n ((b.column?.sorter as any)?.multiple || 0) - ((a.column?.sorter as any)?.multiple || 0),\n )\n }\n return result.map((item) => ({\n field: item.field,\n order: item.order,\n })) as SorterResult<any>[]\n}\n\nexport const useFetchData = (\n getData: ComputedRef<\n | ((\n params?: Record<string, any>,\n sorters?: SorterResult<any>[],\n filter?: Record<string, (string | number)[] | null>,\n ) => Promise<RequestData>)\n | undefined\n >,\n props: ProTableProps,\n): UseFetchDataAction => {\n /**\n * 用于保存组件是否被卸载的状态的引用\n */\n const umountRef = ref<boolean>(false)\n /**\n * 用于保存 AbortController 实例的引用,方便需要时进行请求的取消操作\n */\n const abortRef = ref<AbortController | null>(null)\n /** 是否首次加载的指示器 */\n const manualRequestRef = ref<boolean>(!!(props.manual || props.manualRequest))\n /** 轮询的setTime ID 存储 */\n const pollingSetTimeRef = ref<any>()\n const pollingLoading = ref<boolean>(false)\n const keyword = ref<string>('')\n const intl = useIntl()\n const { table } = useProConfigInject()\n const innerParams = ref<Record<string, any>>({})\n const sorters = ref<SorterResult<any>[]>()\n const filter = ref<Record<string, any>>()\n const keywordName = computed(() => {\n if (props.options !== false && props.options!.search !== false) {\n return props.options!.search === true || !props.options!.search!.name\n ? undefined\n : props.options!.search!.name!\n }\n return undefined\n })\n const [tableLoading, setTableLoading] = useMergedState(false, {\n value: computed(() => {\n return typeof props.loading === 'object' ? props.loading.spinning : props.loading\n }),\n onChange: props.onLoadingChange,\n })\n\n const [tableDataList, setTableDataList] = useMergedState<any[] | undefined>(\n props.defaultData ?? [],\n {\n value: computed(() => {\n return props.request ? undefined : props.dataSource\n }),\n // onChange(value) {\n // \tif (!props.request) {\n // \t\tprops['onUpdate:dataSource']?.(value ?? [])\n // \t}\n // }\n },\n )\n\n const contextPagination = computed(() => table?.value?.pagination)\n const contextTablePagination = computed(() => {\n if (props.pagination === false) {\n return false\n }\n if (props.pagination && contextPagination.value) {\n return merge({}, contextPagination.value, props.pagination)\n } else {\n return props.pagination ?? contextPagination.value\n }\n })\n\n const [pagination, setPagination] = useMergedState<PageInfo>(\n () => mergePropsAndPagination(intl, contextTablePagination.value),\n {\n onChange(value) {\n if (props.pagination !== false) {\n props['onUpdate:pagination']?.(\n isReactive(props.pagination) ? Object.assign(props.pagination || {}, value) : value,\n )\n props.pagination?.onChange?.(value.current, value?.pageSize)\n }\n },\n },\n )\n\n const [formSearch, setFormSearch] = useMergedState<Record<string, any> | undefined>(() => {\n // 如果手动模式,或者 search 不存在的时候设置为 undefined\n // undefined 就不会触发首次加载\n if (manualRequestRef.value || props.search !== false) {\n return undefined\n }\n return {}\n })\n\n const prePage = usePrevious(computed(() => pagination.value?.current))\n const prePageSize = usePrevious(computed(() => pagination.value?.pageSize))\n\n const requestFinally = () => {\n setTableLoading(false)\n pollingLoading.value = false\n }\n\n const fetchList = async (isPolling: boolean) => {\n // 需要手动触发的首次请求\n if (manualRequestRef.value) {\n manualRequestRef.value = false\n return\n }\n\n if (!isPolling) {\n setTableLoading(true)\n } else {\n pollingLoading.value = true\n }\n\n const { current, pageSize } = pagination.value\n const params: Record<string, any> = { ...innerParams.value, ...formSearch.value }\n if (contextTablePagination.value !== false) {\n const { fieldNames } = contextTablePagination.value ?? {}\n params[fieldNames?.current ?? 'current'] = current\n params[fieldNames?.pageSize ?? 'pageSize'] = pageSize\n }\n if (keyword.value) {\n params[keywordName.value ?? 'keyword'] = keyword.value\n }\n try {\n const {\n data = [],\n success,\n total = 0,\n ...rest\n } = (await getData.value?.(params, toRaw(sorters.value), toRaw(filter.value))) || {}\n // 如果失败了,直接返回,不走剩下的逻辑了\n if (success === false) return []\n setTableDataList(data)\n if (pagination.value?.total !== total) {\n pagination.value.total = total || data.length\n // setPagination({\n // \t...pagination.value,\n // \ttotal: total || data.length\n // })\n }\n props.onLoad?.(data, rest)\n return data\n } catch (e) {\n if (props.onRequestError === undefined) throw new Error(e as string)\n if (tableDataList.value === undefined) setTableDataList([])\n props.onRequestError(e as Error)\n } finally {\n requestFinally()\n }\n }\n\n const fetchListDebounce = useDebounceFn(async (isPolling: boolean) => {\n if (pollingSetTimeRef.value) {\n clearTimeout(pollingSetTimeRef.value)\n }\n if (!getData) {\n return\n }\n const abort = new AbortController()\n abortRef.value = abort\n\n try {\n const msg = (await Promise.race([\n fetchList(isPolling),\n new Promise((_, reject) => {\n abortRef.value?.signal.addEventListener('abort', () => {\n reject('aborted')\n requestFinally()\n })\n }),\n ])) as any[]\n\n if (abort.signal.aborted) return\n // 放到请求前面会导致数据是上一次的\n const needPolling = runFunction(props.polling, msg)\n if (needPolling && !umountRef.value) {\n pollingSetTimeRef.value = setTimeout(\n () => {\n fetchListDebounce(needPolling)\n // 这里判断最小要2000ms,不然一直loading\n },\n Math.max(needPolling, 2000),\n )\n }\n } catch (error) {\n if (error === 'aborted') {\n return\n }\n throw error\n }\n }, props.debounceTime || 30)\n\n const abortFetch = () => {\n abortRef.value?.abort()\n requestFinally()\n }\n\n watch(\n () => props.polling,\n (newPolling, prePolling) => {\n if (!newPolling) {\n clearTimeout(pollingSetTimeRef.value)\n }\n if (!prePolling && newPolling) {\n fetchListDebounce(true)\n }\n },\n )\n\n watch([() => props.manual, () => props.manualRequest], () => {\n abortFetch()\n fetchListDebounce(false)\n if (!props.manual || !props.manualRequest) {\n // 如果 manual 标志未设置,则将 manualRequestRef 设置为 false。\n // 用于跟踪当前的请求是否是手动发起的。\n manualRequestRef.value = false\n }\n })\n\n watch(\n () => pagination.value.current,\n () => {\n const { current, pageSize } = pagination.value || {}\n if (\n (!prePage || prePage.value === current) &&\n (!prePageSize || prePageSize.value === pageSize)\n ) {\n return\n }\n\n if (\n (props.pagination && tableDataList.value && tableDataList.value?.length > pageSize) ||\n 0\n ) {\n return\n }\n\n if (current !== undefined && tableDataList.value && tableDataList.value.length <= pageSize) {\n abortFetch()\n fetchListDebounce(false)\n }\n },\n )\n\n watch(\n () => pagination.value.pageSize,\n () => {\n if (!prePageSize.value) {\n return\n }\n abortFetch()\n fetchListDebounce(false)\n },\n )\n\n watch(sorters, () => {\n setPagination({\n ...pagination.value,\n current: 1,\n })\n abortFetch()\n fetchListDebounce(false)\n })\n\n watch(filter, () => {\n setPagination({\n ...pagination.value,\n current: 1,\n })\n abortFetch()\n fetchListDebounce(false)\n })\n\n watch(\n () => props.params,\n () => {\n setPagination({\n ...pagination.value,\n current: 1,\n })\n abortFetch()\n fetchListDebounce(false)\n },\n {\n deep: true,\n },\n )\n\n watch(\n innerParams,\n () => {\n setPagination({\n ...pagination.value,\n current: 1,\n })\n abortFetch()\n fetchListDebounce(false)\n },\n {\n deep: true,\n },\n )\n\n watch(\n formSearch,\n () => {\n setPagination({\n ...pagination.value,\n current: 1,\n })\n abortFetch()\n fetchListDebounce(false)\n },\n {\n immediate: true,\n },\n )\n\n const onTableChange: ProTableProps['onChange'] = (pageInfo, filt, sort, extra) => {\n if (extra.action === 'paginate') {\n setPagination({ ...pagination.value, ...pageInfo })\n }\n if (extra.action === 'sort') {\n sorters.value = formatSorters(sort)\n }\n\n if (extra.action === 'filter') {\n filter.value = filt\n }\n props.onChange?.(pageInfo, filt, sort, extra)\n }\n\n onMounted(() => {\n umountRef.value = false\n if (props.search === false) {\n fetchListDebounce(false)\n }\n })\n\n onActivated(() => {\n if (props.polling) {\n fetchListDebounce(true)\n }\n })\n\n onUnmounted(() => {\n umountRef.value = true\n abortFetch()\n clearTimeout(pollingSetTimeRef.value)\n })\n onDeactivated(() => {\n clearTimeout(pollingSetTimeRef.value)\n })\n\n return {\n keyword,\n formSearch,\n dataSource: tableDataList,\n loading: computed(() =>\n typeof props?.loading === 'object'\n ? { ...props?.loading, spinning: tableLoading.value }\n : tableLoading.value,\n ),\n setParams: (key: string, value: any) => {\n innerParams.value[key] = value\n },\n reload: async (resetPageIndex?: boolean) => {\n if (resetPageIndex) {\n setPagination({\n ...pagination.value,\n current: 1,\n })\n }\n abortFetch()\n return fetchListDebounce(false)\n },\n pollingLoading,\n pagination,\n reset: async () => {\n const { pagination: optionPageInfo } = props || {}\n const { current = 1, pageSize = 10 } = optionPageInfo || {}\n const initialPageInfo = {\n current,\n total: 0,\n pageSize,\n }\n setPagination(initialPageInfo)\n },\n setPagination,\n setFormSearch,\n onTableChange,\n } as UseFetchDataAction\n}\n"],"names":["total","_a"],"mappings":"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"}
|
package/es/version.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const version = "1.2.
|
|
1
|
+
export declare const version = "1.2.25";
|
package/es/version.mjs
CHANGED
package/es/version.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version.mjs","sources":["../../../packages/pro-design-vue/version.ts"],"sourcesContent":["export const version = '1.2.
|
|
1
|
+
{"version":3,"file":"version.mjs","sources":["../../../packages/pro-design-vue/version.ts"],"sourcesContent":["export const version = '1.2.25'\n"],"names":[],"mappings":"AAAO,MAAM,OAAA,GAAU;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FieldUploadButton.js","sources":["../../../../../../../../packages/components/form/src/fields/FieldUploadButton.tsx"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2023-08-10 14:34:03\n * @LastEditors: shen\n * @LastEditTime: 2025-10-25 15:00:08\n * @Description:\n */\nimport type { PropType } from 'vue'\n\nimport { computed, defineComponent, ref, watch } from 'vue'\nimport { Form, Button, Upload, type UploadChangeParam, type UploadProps } from 'ant-design-vue'\nimport { UploadOutlined } from '@ant-design/icons-vue'\nimport { useInjectSlots } from '../context/FormSlotsContext'\nimport { commonFieldProps } from '../props'\nimport { useIntl } from '@pro-design-vue/components/config-provider'\nimport { isFunction, RenderVNode } from '@pro-design-vue/utils'\nimport { useInjectForm } from '../context/FormContext'\nimport getSlot from '../utils/getSlot'\n\nconst SLOT_NAMES = ['downloadIcon', 'itemRender', 'previewIcon', 'removeIcon']\n\nexport default defineComponent({\n name: 'FieldUploadButton',\n props: {\n ...commonFieldProps(),\n iconRender: {\n type: String,\n default: '',\n },\n downloadIcon: {\n type: String,\n default: '',\n },\n itemRender: {\n type: String,\n default: '',\n },\n previewIcon: {\n type: String,\n default: '',\n },\n removeIcon: {\n type: String,\n default: '',\n },\n title: {\n type: String,\n },\n name: {\n type: String,\n default: 'file',\n },\n maxCount: {\n type: Number,\n default: undefined,\n },\n disabled: {\n type: Boolean,\n default: undefined,\n },\n buttonProps: {\n type: Object,\n default: undefined,\n },\n fileList: {\n type: Array,\n default: undefined,\n },\n listType: {\n type: String as PropType<'text' | 'picture' | 'picture-card'>,\n default: 'picture-card',\n },\n listIgnore: {\n type: Boolean,\n default: true,\n },\n showUploadList: {\n type: [Boolean, Object] as PropType<UploadProps['showUploadList']>,\n default: true,\n },\n customRequest: Function,\n beforeUpload: Function,\n },\n setup(props, { attrs }) {\n const intl = useIntl()\n const { prefixCls, formData } = useInjectForm()\n const formSlotsContext = useInjectSlots()\n const fileList = ref<any[]>([])\n const formItemContext = Form.useInjectFormItemContext()\n const baseClassName = computed(() => `${prefixCls}-upload`)\n const isPictureCard = computed(() => props.listType === 'picture-card')\n const slotsGetter = computed(() => {\n const temp = {}\n SLOT_NAMES.forEach((name) => {\n const slot = getSlot(props[name], formSlotsContext)\n if (slot) {\n temp[name] = () => <RenderVNode vnode={slot} props={{ formData: formData.value }} />\n }\n })\n return temp\n })\n\n const icon = computed(() => {\n const render = getSlot(props.iconRender, formSlotsContext)\n if (isFunction(render)) {\n return <RenderVNode vnode={render} props={{ formData: formData.value }} />\n }\n return <UploadOutlined />\n })\n\n const title = computed(() => {\n const render = getSlot(props.title, formSlotsContext)\n if (isFunction(render)) {\n return <RenderVNode vnode={render} props={{ formData: formData.value }} />\n }\n return props.title || intl.getMessage('upload.button', '单击上传')\n })\n\n const beforeUpload: UploadProps['beforeUpload'] = async (file, fileList) => {\n const result = await props.beforeUpload?.(file, fileList)\n if (!result && props.listIgnore) {\n return Upload.LIST_IGNORE\n }\n return result\n }\n\n const customRequest: UploadProps['customRequest'] = async (option) => {\n const formData = new FormData()\n formData.append(props.name, option.file)\n const onUploadProgress = (e) => {\n if (e.total > 0) {\n e.percent = (e.loaded / e.total) * 100\n }\n option?.onProgress?.(e)\n }\n const { success, error, data } =\n (await props.customRequest!(formData, onUploadProgress)) ?? {}\n if (success) {\n option.onSuccess?.(data)\n formItemContext.onFieldChange()\n } else {\n option.onError?.(error, data)\n }\n }\n\n const uploadProps = computed(() => {\n const newProps = { ...attrs }\n if (props.customRequest) {\n newProps.customRequest = customRequest\n }\n if (props.beforeUpload) {\n newProps.beforeUpload = beforeUpload\n }\n return newProps\n })\n\n watch(\n () => props.value,\n (newValue) => {\n fileList.value = [...newValue?.map((item) => ({ ...item, name: item.name || item.url }))]\n if (!fileList.value?.length) {\n formItemContext.onFieldChange()\n }\n },\n )\n\n const onUploadChange = (info: UploadChangeParam) => {\n props.onChange?.(\n info.fileList.map((item) => ({\n ...item,\n name: item.name || item.response?.name || item.url || item.response?.url,\n url: item.response?.url || item.url,\n })),\n info.file,\n )\n }\n\n return () => (\n <Upload\n {...uploadProps.value}\n class={{ [`${baseClassName.value}-readonly`]: props.readonly }}\n v-model:fileList={fileList.value}\n name={props.name}\n maxCount={props.maxCount}\n listType={props.listType}\n showUploadList={props.readonly || props.showUploadList}\n disabled={props.readonly || props.disabled}\n style={(attrs as any)?.style}\n v-slots={slotsGetter.value}\n onChange={onUploadChange}\n >\n {isPictureCard.value ? (\n props.maxCount !== undefined &&\n fileList.value?.length < props.maxCount && (\n <div>\n {icon.value}\n <div style=\"margin-top: 8px\"> {title.value}</div>\n </div>\n )\n ) : (\n <Button disabled={props.disabled} {...props.buttonProps}>\n {icon.value}\n {title.value}\n </Button>\n )}\n </Upload>\n )\n },\n})\n"],"names":["SLOT_NAMES","name","props","commonFieldProps","iconRender","type","String","default","downloadIcon","itemRender","previewIcon","removeIcon","title","maxCount","Number","undefined","disabled","Boolean","buttonProps","Object","fileList","Array","listType","listIgnore","showUploadList","customRequest","Function","beforeUpload","setup","attrs","intl","useIntl","prefixCls","formData","useInjectForm","formSlotsContext","useInjectSlots","ref","formItemContext","Form","useInjectFormItemContext","baseClassName","computed","isPictureCard","slotsGetter","temp","forEach","slot","getSlot","_createVNode","RenderVNode","value","icon","render","isFunction","UploadOutlined","getMessage","file","result","Upload","LIST_IGNORE","option","FormData","append","onUploadProgress","e","_a","total","percent","loaded","onProgress","success","error","data","onSuccess","onFieldChange","onError","uploadProps","newProps","watch","newValue","map","item","url","length","onUploadChange","info","onChange","response","_mergeProps","readonly","$event","style","_createTextVNode","Button"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"FieldUploadButton.js","sources":["../../../../../../../../packages/components/form/src/fields/FieldUploadButton.tsx"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2023-08-10 14:34:03\n * @LastEditors: shen\n * @LastEditTime: 2025-10-27 15:43:39\n * @Description:\n */\nimport type { PropType } from 'vue'\n\nimport { computed, defineComponent, ref, watch } from 'vue'\nimport { Form, Button, Upload, type UploadChangeParam, type UploadProps } from 'ant-design-vue'\nimport { UploadOutlined } from '@ant-design/icons-vue'\nimport { useInjectSlots } from '../context/FormSlotsContext'\nimport { commonFieldProps } from '../props'\nimport { useIntl } from '@pro-design-vue/components/config-provider'\nimport { isFunction, RenderVNode } from '@pro-design-vue/utils'\nimport { useInjectForm } from '../context/FormContext'\nimport getSlot from '../utils/getSlot'\n\nconst SLOT_NAMES = ['downloadIcon', 'itemRender', 'previewIcon', 'removeIcon']\n\nexport default defineComponent({\n name: 'FieldUploadButton',\n props: {\n ...commonFieldProps(),\n iconRender: {\n type: String,\n default: '',\n },\n downloadIcon: {\n type: String,\n default: '',\n },\n itemRender: {\n type: String,\n default: '',\n },\n previewIcon: {\n type: String,\n default: '',\n },\n removeIcon: {\n type: String,\n default: '',\n },\n title: {\n type: String,\n },\n name: {\n type: String,\n default: 'file',\n },\n maxCount: {\n type: Number,\n default: undefined,\n },\n disabled: {\n type: Boolean,\n default: undefined,\n },\n buttonProps: {\n type: Object,\n default: undefined,\n },\n fileList: {\n type: Array,\n default: undefined,\n },\n listType: {\n type: String as PropType<'text' | 'picture' | 'picture-card'>,\n default: 'text',\n },\n listIgnore: {\n type: Boolean,\n default: true,\n },\n showUploadList: {\n type: [Boolean, Object] as PropType<UploadProps['showUploadList']>,\n default: true,\n },\n customRequest: Function,\n beforeUpload: Function,\n },\n setup(props, { attrs }) {\n const intl = useIntl()\n const { prefixCls, formData } = useInjectForm()\n const formSlotsContext = useInjectSlots()\n const fileList = ref<any[]>([])\n const formItemContext = Form.useInjectFormItemContext()\n const baseClassName = computed(() => `${prefixCls}-upload`)\n const isPictureCard = computed(() => props.listType === 'picture-card')\n const slotsGetter = computed(() => {\n const temp = {}\n SLOT_NAMES.forEach((name) => {\n const slot = getSlot(props[name], formSlotsContext)\n if (slot) {\n temp[name] = () => <RenderVNode vnode={slot} props={{ formData: formData.value }} />\n }\n })\n return temp\n })\n\n const icon = computed(() => {\n const render = getSlot(props.iconRender, formSlotsContext)\n if (isFunction(render)) {\n return <RenderVNode vnode={render} props={{ formData: formData.value }} />\n }\n return <UploadOutlined />\n })\n\n const title = computed(() => {\n const render = getSlot(props.title, formSlotsContext)\n if (isFunction(render)) {\n return <RenderVNode vnode={render} props={{ formData: formData.value }} />\n }\n return props.title || intl.getMessage('upload.button', '单击上传')\n })\n\n const beforeUpload: UploadProps['beforeUpload'] = async (file, fileList) => {\n const result = await props.beforeUpload?.(file, fileList)\n if (!result && props.listIgnore) {\n return Upload.LIST_IGNORE\n }\n return result\n }\n\n const customRequest: UploadProps['customRequest'] = async (option) => {\n const formData = new FormData()\n formData.append(props.name, option.file)\n const onUploadProgress = (e) => {\n if (e.total > 0) {\n e.percent = (e.loaded / e.total) * 100\n }\n option?.onProgress?.(e)\n }\n const { success, error, data } =\n (await props.customRequest!(formData, onUploadProgress)) ?? {}\n if (success) {\n option.onSuccess?.(data)\n formItemContext.onFieldChange()\n } else {\n option.onError?.(error, data)\n }\n }\n\n const uploadProps = computed(() => {\n const newProps = { ...attrs }\n if (props.customRequest) {\n newProps.customRequest = customRequest\n }\n if (props.beforeUpload) {\n newProps.beforeUpload = beforeUpload\n }\n return newProps\n })\n\n watch(\n () => props.value,\n (newValue) => {\n fileList.value = [...newValue?.map((item) => ({ ...item, name: item.name || item.url }))]\n if (!fileList.value?.length) {\n formItemContext.onFieldChange()\n }\n },\n )\n\n const onUploadChange = (info: UploadChangeParam) => {\n props.onChange?.(\n info.fileList.map((item) => ({\n ...item,\n name: item.name || item.response?.name || item.url || item.response?.url,\n url: item.response?.url || item.url,\n })),\n info.file,\n )\n }\n\n return () => (\n <Upload\n {...uploadProps.value}\n class={{ [`${baseClassName.value}-readonly`]: props.readonly }}\n v-model:fileList={fileList.value}\n name={props.name}\n maxCount={props.maxCount}\n listType={props.listType}\n showUploadList={props.readonly || props.showUploadList}\n disabled={props.readonly || props.disabled}\n style={(attrs as any)?.style}\n v-slots={slotsGetter.value}\n onChange={onUploadChange}\n >\n {isPictureCard.value ? (\n props.maxCount !== undefined &&\n fileList.value?.length < props.maxCount && (\n <div>\n {icon.value}\n <div style=\"margin-top: 8px\"> {title.value}</div>\n </div>\n )\n ) : (\n <Button disabled={props.disabled} {...props.buttonProps}>\n {icon.value}\n {title.value}\n </Button>\n )}\n </Upload>\n )\n },\n})\n"],"names":["SLOT_NAMES","name","props","commonFieldProps","iconRender","type","String","default","downloadIcon","itemRender","previewIcon","removeIcon","title","maxCount","Number","undefined","disabled","Boolean","buttonProps","Object","fileList","Array","listType","listIgnore","showUploadList","customRequest","Function","beforeUpload","setup","attrs","intl","useIntl","prefixCls","formData","useInjectForm","formSlotsContext","useInjectSlots","ref","formItemContext","Form","useInjectFormItemContext","baseClassName","computed","isPictureCard","slotsGetter","temp","forEach","slot","getSlot","_createVNode","RenderVNode","value","icon","render","isFunction","UploadOutlined","getMessage","file","result","Upload","LIST_IGNORE","option","FormData","append","onUploadProgress","e","_a","total","percent","loaded","onProgress","success","error","data","onSuccess","onFieldChange","onError","uploadProps","newProps","watch","newValue","map","item","url","length","onUploadChange","info","onChange","response","_mergeProps","readonly","$event","style","_createTextVNode","Button"],"mappings":"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"}
|