el-plus 0.0.30 → 0.0.33
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/CHANGELOG.md +18 -0
- package/dist/index.full.js +283 -49
- package/dist/index.full.min.js +1 -1
- package/dist/index.full.min.js.map +1 -1
- package/dist/index.full.min.mjs +1 -1
- package/dist/index.full.min.mjs.map +1 -1
- package/dist/index.full.mjs +280 -47
- package/es/components/attachment/index.d.ts +174 -0
- package/es/components/attachment/index.mjs +8 -0
- package/es/components/attachment/index.mjs.map +1 -0
- package/es/components/attachment/src/attachment.d.ts +23 -0
- package/es/components/attachment/src/attachment.mjs +31 -0
- package/es/components/attachment/src/attachment.mjs.map +1 -0
- package/es/components/attachment/src/attachment.vue.d.ts +71 -0
- package/es/components/attachment/src/attachment.vue.mjs +6 -0
- package/es/components/attachment/src/attachment.vue.mjs.map +1 -0
- package/es/components/attachment/src/attachment.vue2.mjs +65 -0
- package/es/components/attachment/src/attachment.vue2.mjs.map +1 -0
- package/es/components/attachment/src/use-attachment.d.ts +212 -0
- package/es/components/attachment/src/use-attachment.mjs +80 -0
- package/es/components/attachment/src/use-attachment.mjs.map +1 -0
- package/es/components/attachment/style/css.d.ts +2 -0
- package/es/components/attachment/style/css.mjs +5 -0
- package/es/components/attachment/style/css.mjs.map +1 -0
- package/es/components/attachment/style/index.d.ts +2 -0
- package/es/components/attachment/style/index.mjs +5 -0
- package/es/components/attachment/style/index.mjs.map +1 -0
- package/es/components/form/src/hooks/use-form-item.mjs +9 -12
- package/es/components/form/src/hooks/use-form-item.mjs.map +1 -1
- package/es/components/index.d.ts +1 -0
- package/es/components/index.mjs +2 -0
- package/es/components/index.mjs.map +1 -1
- package/es/components/search-list-page/index.d.ts +213 -192
- package/es/components/search-list-page/src/search-list-page.d.ts +1 -1
- package/es/components/search-list-page/src/search-list-page.vue.d.ts +54 -49
- package/es/components/search-list-page/src/use-search-list-page.d.ts +52 -47
- package/es/components/table/index.d.ts +51 -46
- package/es/components/table/src/table.d.ts +1 -1
- package/es/components/table/src/table.mjs.map +1 -1
- package/es/components/table/src/table.vue.d.ts +12 -11
- package/es/components/table/src/table.vue2.mjs +1 -2
- package/es/components/table/src/table.vue2.mjs.map +1 -1
- package/es/components/table/src/use-table.d.ts +1 -71
- package/es/components/table/src/use-table.mjs +7 -9
- package/es/components/table/src/use-table.mjs.map +1 -1
- package/es/components.mjs +3 -1
- package/es/components.mjs.map +1 -1
- package/es/index.mjs +2 -0
- package/es/index.mjs.map +1 -1
- package/es/package.json.mjs +1 -1
- package/es/utils/env.d.ts +2 -1
- package/es/utils/env.mjs +9 -1
- package/es/utils/env.mjs.map +1 -1
- package/es/utils/file.d.ts +2 -0
- package/es/utils/file.mjs +13 -3
- package/es/utils/file.mjs.map +1 -1
- package/es/utils/index.mjs +1 -1
- package/lib/components/attachment/index.d.ts +174 -0
- package/lib/components/attachment/index.js +14 -0
- package/lib/components/attachment/index.js.map +1 -0
- package/lib/components/attachment/src/attachment.d.ts +23 -0
- package/lib/components/attachment/src/attachment.js +33 -0
- package/lib/components/attachment/src/attachment.js.map +1 -0
- package/lib/components/attachment/src/attachment.vue.d.ts +71 -0
- package/lib/components/attachment/src/attachment.vue.js +10 -0
- package/lib/components/attachment/src/attachment.vue.js.map +1 -0
- package/lib/components/attachment/src/attachment.vue2.js +69 -0
- package/lib/components/attachment/src/attachment.vue2.js.map +1 -0
- package/lib/components/attachment/src/use-attachment.d.ts +212 -0
- package/lib/components/attachment/src/use-attachment.js +82 -0
- package/lib/components/attachment/src/use-attachment.js.map +1 -0
- package/lib/components/attachment/style/css.d.ts +2 -0
- package/lib/components/attachment/style/css.js +7 -0
- package/lib/components/attachment/style/css.js.map +1 -0
- package/lib/components/attachment/style/index.d.ts +2 -0
- package/lib/components/attachment/style/index.js +7 -0
- package/lib/components/attachment/style/index.js.map +1 -0
- package/lib/components/form/src/hooks/use-form-item.js +9 -12
- package/lib/components/form/src/hooks/use-form-item.js.map +1 -1
- package/lib/components/index.d.ts +1 -0
- package/lib/components/index.js +4 -0
- package/lib/components/index.js.map +1 -1
- package/lib/components/search-list-page/index.d.ts +213 -192
- package/lib/components/search-list-page/src/search-list-page.d.ts +1 -1
- package/lib/components/search-list-page/src/search-list-page.vue.d.ts +54 -49
- package/lib/components/search-list-page/src/use-search-list-page.d.ts +52 -47
- package/lib/components/table/index.d.ts +51 -46
- package/lib/components/table/src/table.d.ts +1 -1
- package/lib/components/table/src/table.js.map +1 -1
- package/lib/components/table/src/table.vue.d.ts +12 -11
- package/lib/components/table/src/table.vue2.js +1 -2
- package/lib/components/table/src/table.vue2.js.map +1 -1
- package/lib/components/table/src/use-table.d.ts +1 -71
- package/lib/components/table/src/use-table.js +7 -9
- package/lib/components/table/src/use-table.js.map +1 -1
- package/lib/components.js +3 -1
- package/lib/components.js.map +1 -1
- package/lib/index.js +10 -6
- package/lib/index.js.map +1 -1
- package/lib/package.json.js +1 -1
- package/lib/utils/env.d.ts +2 -1
- package/lib/utils/env.js +9 -0
- package/lib/utils/env.js.map +1 -1
- package/lib/utils/file.d.ts +2 -0
- package/lib/utils/file.js +13 -1
- package/lib/utils/file.js.map +1 -1
- package/lib/utils/index.js +1 -0
- package/lib/utils/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table.vue2.js","sources":["../../../../../../packages/components/table/src/table.vue"],"sourcesContent":["<template>\n <div\n :class=\"`${bem.b()} ${prepareClassNames()}`\"\n :style=\"{\n ...prepareStyles(),\n }\"\n >\n <el-form\n ref=\"elFormRef\"\n :model=\"{ table: data }\"\n size=\"small\"\n hide-required-asterisk\n scroll-to-error\n :scroll-into-view-options=\"{ inline: 'center' }\"\n class=\"ep-form\"\n >\n <el-table ref=\"elTableRef\" v-loading=\"loading\" v-bind=\"customAttrs\">\n <el-table-column\n v-if=\"showSelectionCol\"\n type=\"selection\"\n width=\"55\"\n :align\n :selectable\n fixed\n />\n <el-table-column\n v-if=\"showSingleSelectionCol\"\n width=\"55\"\n :align\n :selectable\n fixed\n >\n <template #default=\"scope\">\n <el-link\n type=\"primary\"\n underline=\"never\"\n style=\"font-size: 12px\"\n @click=\"emit('single-selection-change', scope.row)\"\n >{{ t('ep.table.select') }}</el-link\n >\n </template>\n </el-table-column>\n <el-table-column\n v-if=\"showIndexCol\"\n type=\"index\"\n width=\"56\"\n :align\n :label=\"t('ep.table.serialNumber')\"\n fixed\n :index=\"indexFormatter\"\n />\n\n <el-table-column\n v-if=\"actionButtons.length\"\n :label=\"t('ep.table.operation')\"\n :align\n fixed\n :width=\"actionColWidth\"\n >\n <template #default=\"scope\">\n <span :class=\"bem.e('action-buttons')\">\n <EpButtons\n :list=\"formatActionButtons(actionButtons, scope)\"\n type=\"text\"\n />\n </span>\n </template>\n </el-table-column>\n <el-table-column\n v-for=\"(item, index) in columnList\"\n :key=\"index\"\n v-bind=\"columnProps(item)\"\n >\n <template #default=\"scope\">\n <EpFormItem\n v-if=\"item.type || item.render\"\n :form-data=\"scope.row\"\n :table-scope=\"scope\"\n v-bind=\"formItemProps(scope, item)\"\n />\n <template v-else>\n {{ scope.row[item.prop] }}\n </template>\n </template>\n </el-table-column>\n <template v-for=\"name in slots\" #[name]=\"scope\">\n <slot :name=\"name\" v-bind=\"scope\" />\n </template>\n </el-table>\n </el-form>\n <el-pagination\n v-if=\"showPagination\"\n v-model:current-page=\"pagination.pageNo\"\n v-model:page-size=\"pagination.pageSize\"\n :total=\"pagination.total\"\n v-bind=\"paginationProps\"\n />\n <EpCustomColumn\n v-if=\"customColumnModule\"\n ref=\"customColumnRef\"\n :module=\"customColumnModule\"\n :show-handler=\"false\"\n />\n </div>\n</template>\n<script setup lang=\"tsx\">\nimport { computed, useSlots, useTemplateRef } from 'vue'\nimport { createNameSpace } from '@el-plus/utils/bem'\nimport {\n tableProps,\n tableEmits,\n expandTablePropsKeys,\n tableEmitsKeys,\n} from './table'\nimport type { TableEmits } from './table'\nimport {\n prepareProps,\n prepareEvents,\n prepareClassNames,\n prepareStyles,\n} from '@el-plus/utils/props'\nimport { EpFormItem } from '@el-plus/components/form'\nimport EpCustomColumn from '@el-plus/components/custom-column'\nimport type { CustomColumnInstance } from '@el-plus/components/custom-column'\nimport { useTable, useTableColumn, useTableFormItem } from './use-table'\nimport { useLocale } from '@el-plus/hooks/use-locale'\nconst { t } = useLocale()\ndefineOptions({\n name: 'EpTable',\n inheritAttrs: false,\n})\nconst bem = createNameSpace('table')\nconst props = defineProps(tableProps)\nconst emit = defineEmits(tableEmits!)\n\nconst slots = computed(() => {\n return Object.keys(useSlots())\n // .filter((item) => item !== 'default')\n})\nconst customAttrs = computed(() => {\n return {\n ...prepareProps(props, ['modelValue', ...expandTablePropsKeys]),\n // 'tooltip-effect': 'light',\n size: 'small',\n data: data.value,\n ...prepareEvents<NonNullable<TableEmits>>(emit, tableEmitsKeys!),\n }\n})\nconst {\n pagination,\n paginationProps,\n data,\n validate,\n resetFields,\n clearValidate,\n loading,\n search,\n elFormRef,\n elTableRef,\n formatActionButtons,\n customColumns,\n} = useTable(props)\nconst { columnProps, columnList } = useTableColumn(props, data, customColumns)\nconst { formItemProps } = useTableFormItem(props)\nconst customColumnRef = useTemplateRef<CustomColumnInstance>('customColumnRef')\n\ndefineExpose({\n elFormRef,\n elTableRef,\n validate,\n resetFields,\n clearValidate,\n search,\n openCustomColumnDialog: () => {\n customColumnRef.value?.open()\n },\n})\n</script>\n"],"names":["t","useLocale","bem","createNameSpace","props","__props","emit","__emit","slots","computed","Object","keys","useSlots","customAttrs","prepareProps","expandTablePropsKeys","size","data","value","prepareEvents","tableEmitsKeys","pagination","paginationProps","validate","resetFields","clearValidate","loading","search","elFormRef","elTableRef","formatActionButtons","customColumns","useTable","columnProps","columnList","useTableColumn","formItemProps","useTableFormItem","customColumnRef","useTemplateRef","__expose","openCustomColumnDialog","open","_createElementBlock","class","_normalizeClass","_unref","b","prepareClassNames","style","_normalizeStyle","prepareStyles","_createVNode","_component_el_form","ref","model","inline","_withDirectives","_openBlock","_createBlock","_component_el_table","_mergeProps","_createSlots","showSelectionCol","_component_el_table_column","type","width","align","selectable","fixed","showSingleSelectionCol","default","_withCtx","scope","_component_el_link","underline","onClick","$event","row","showIndexCol","label","index","indexFormatter","actionButtons","length","actionColWidth","_createElementVNode","e","_component_EpButtons","list","_Fragment","_renderList","item","key","ref_for","render","_createTextVNode","_toDisplayString","prop","name","fn","_renderSlot","_ctx","$slots","_normalizeProps","_guardReactiveProps","showPagination","_component_el_pagination","pageNo","pageSize","total","customColumnModule","EpCustomColumn","module"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"table.vue2.js","sources":["../../../../../../packages/components/table/src/table.vue"],"sourcesContent":["<template>\n <div\n :class=\"`${bem.b()} ${prepareClassNames()}`\"\n :style=\"{\n ...prepareStyles(),\n }\"\n >\n <el-form\n ref=\"elFormRef\"\n :model=\"{ table: data }\"\n size=\"small\"\n hide-required-asterisk\n scroll-to-error\n :scroll-into-view-options=\"{ inline: 'center' }\"\n class=\"ep-form\"\n >\n <el-table ref=\"elTableRef\" v-loading=\"loading\" v-bind=\"customAttrs\">\n <el-table-column\n v-if=\"showSelectionCol\"\n type=\"selection\"\n width=\"55\"\n :align\n :selectable\n fixed\n />\n <el-table-column\n v-if=\"showSingleSelectionCol\"\n width=\"55\"\n :align\n :selectable\n fixed\n >\n <template #default=\"scope\">\n <el-link\n type=\"primary\"\n underline=\"never\"\n style=\"font-size: 12px\"\n @click=\"emit('single-selection-change', scope.row)\"\n >{{ t('ep.table.select') }}</el-link\n >\n </template>\n </el-table-column>\n <el-table-column\n v-if=\"showIndexCol\"\n type=\"index\"\n width=\"56\"\n :align\n :label=\"t('ep.table.serialNumber')\"\n fixed\n :index=\"indexFormatter\"\n />\n\n <el-table-column\n v-if=\"actionButtons.length\"\n :label=\"t('ep.table.operation')\"\n :align\n fixed\n :width=\"actionColWidth\"\n >\n <template #default=\"scope\">\n <span :class=\"bem.e('action-buttons')\">\n <EpButtons\n :list=\"formatActionButtons(actionButtons, scope)\"\n type=\"text\"\n />\n </span>\n </template>\n </el-table-column>\n <el-table-column\n v-for=\"(item, index) in columnList\"\n :key=\"index\"\n v-bind=\"item\"\n >\n <template #default=\"scope\">\n <EpFormItem\n v-if=\"item.type || item.render\"\n :form-data=\"scope.row\"\n :table-scope=\"scope\"\n v-bind=\"formItemProps(scope, item)\"\n />\n <template v-else>\n {{ scope.row[item.prop] }}\n </template>\n </template>\n </el-table-column>\n <template v-for=\"name in slots\" #[name]=\"scope\">\n <slot :name=\"name\" v-bind=\"scope\" />\n </template>\n </el-table>\n </el-form>\n <el-pagination\n v-if=\"showPagination\"\n v-model:current-page=\"pagination.pageNo\"\n v-model:page-size=\"pagination.pageSize\"\n :total=\"pagination.total\"\n v-bind=\"paginationProps\"\n />\n <EpCustomColumn\n v-if=\"customColumnModule\"\n ref=\"customColumnRef\"\n :module=\"customColumnModule\"\n :show-handler=\"false\"\n />\n </div>\n</template>\n<script setup lang=\"tsx\">\nimport { computed, useSlots, useTemplateRef } from 'vue'\nimport { createNameSpace } from '@el-plus/utils/bem'\nimport {\n tableProps,\n tableEmits,\n expandTablePropsKeys,\n tableEmitsKeys,\n} from './table'\nimport type { TableEmits } from './table'\nimport {\n prepareProps,\n prepareEvents,\n prepareClassNames,\n prepareStyles,\n} from '@el-plus/utils/props'\nimport { EpFormItem } from '@el-plus/components/form'\nimport EpCustomColumn from '@el-plus/components/custom-column'\nimport type { CustomColumnInstance } from '@el-plus/components/custom-column'\nimport { useTable, useTableColumn, useTableFormItem } from './use-table'\nimport { useLocale } from '@el-plus/hooks/use-locale'\nconst { t } = useLocale()\ndefineOptions({\n name: 'EpTable',\n inheritAttrs: false,\n})\nconst bem = createNameSpace('table')\nconst props = defineProps(tableProps)\nconst emit = defineEmits(tableEmits!)\n\nconst slots = computed(() => {\n return Object.keys(useSlots())\n // .filter((item) => item !== 'default')\n})\nconst customAttrs = computed(() => {\n return {\n ...prepareProps(props, ['modelValue', ...expandTablePropsKeys]),\n // 'tooltip-effect': 'light',\n size: 'small',\n data: data.value,\n ...prepareEvents<NonNullable<TableEmits>>(emit, tableEmitsKeys!),\n }\n})\nconst {\n pagination,\n paginationProps,\n data,\n validate,\n resetFields,\n clearValidate,\n loading,\n search,\n elFormRef,\n elTableRef,\n formatActionButtons,\n customColumns,\n} = useTable(props)\nconst { columnList } = useTableColumn(props, data, customColumns)\nconst { formItemProps } = useTableFormItem(props)\nconst customColumnRef = useTemplateRef<CustomColumnInstance>('customColumnRef')\n\ndefineExpose({\n elFormRef,\n elTableRef,\n validate,\n resetFields,\n clearValidate,\n search,\n openCustomColumnDialog: () => {\n customColumnRef.value?.open()\n },\n})\n</script>\n"],"names":["t","useLocale","bem","createNameSpace","props","__props","emit","__emit","slots","computed","Object","keys","useSlots","customAttrs","prepareProps","expandTablePropsKeys","size","data","value","prepareEvents","tableEmitsKeys","pagination","paginationProps","validate","resetFields","clearValidate","loading","search","elFormRef","elTableRef","formatActionButtons","customColumns","useTable","columnList","useTableColumn","formItemProps","useTableFormItem","customColumnRef","useTemplateRef","__expose","openCustomColumnDialog","open","_createElementBlock","class","_normalizeClass","_unref","b","prepareClassNames","style","_normalizeStyle","prepareStyles","_createVNode","_component_el_form","ref","model","inline","_withDirectives","_openBlock","_createBlock","_component_el_table","_mergeProps","_createSlots","showSelectionCol","_component_el_table_column","type","width","align","selectable","fixed","showSingleSelectionCol","default","_withCtx","scope","_component_el_link","underline","onClick","$event","row","showIndexCol","label","index","indexFormatter","actionButtons","length","actionColWidth","_createElementVNode","e","_component_EpButtons","list","_Fragment","_renderList","item","key","render","_createTextVNode","_toDisplayString","prop","name","fn","_renderSlot","_ctx","$slots","_normalizeProps","_guardReactiveProps","showPagination","_component_el_pagination","pageNo","pageSize","total","customColumnModule","EpCustomColumn","module"],"mappings":"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"}
|
|
@@ -64,7 +64,7 @@ export declare const useTable: (props: TableProps) => {
|
|
|
64
64
|
customColumns: Ref<TableColumn[]>;
|
|
65
65
|
};
|
|
66
66
|
export declare const useTableColumn: (props: TableProps, tableData: Ref<TableProps["data"]>, customColumns: Ref<TableColumn[]>) => {
|
|
67
|
-
|
|
67
|
+
columnList: import("vue").ComputedRef<{
|
|
68
68
|
[x: string]: any;
|
|
69
69
|
id?: string | undefined;
|
|
70
70
|
realWidth?: number | null | undefined;
|
|
@@ -133,76 +133,6 @@ export declare const useTableColumn: (props: TableProps, tableData: Ref<TablePro
|
|
|
133
133
|
editable?: boolean | ((formData: Record<string, any>) => void) | undefined;
|
|
134
134
|
show?: (boolean | ((T: unknown) => boolean)) | undefined;
|
|
135
135
|
hide?: (boolean | ((T: unknown) => boolean)) | undefined;
|
|
136
|
-
};
|
|
137
|
-
columnList: import("vue").ComputedRef<{
|
|
138
|
-
[x: string]: any;
|
|
139
|
-
id?: string | undefined;
|
|
140
|
-
realWidth?: number | null | undefined;
|
|
141
|
-
type?: string | undefined;
|
|
142
|
-
label?: string | undefined;
|
|
143
|
-
className?: string | undefined;
|
|
144
|
-
labelClassName?: string | undefined;
|
|
145
|
-
property?: string | undefined;
|
|
146
|
-
prop?: string | undefined;
|
|
147
|
-
width?: string | number | undefined;
|
|
148
|
-
minWidth?: string | number | undefined;
|
|
149
|
-
renderHeader?: ((data: {
|
|
150
|
-
column: import("element-plus").TableColumnCtx<import("element-plus/es/components/table/src/table/defaults").DefaultRow>;
|
|
151
|
-
$index: number;
|
|
152
|
-
store: import("element-plus/es/components/table/src/store").Store<import("element-plus/es/components/table/src/table/defaults").DefaultRow>;
|
|
153
|
-
_self: any;
|
|
154
|
-
}) => import("vue").VNode) | undefined;
|
|
155
|
-
sortable?: string | boolean | undefined;
|
|
156
|
-
sortMethod?: ((a: import("element-plus/es/components/table/src/table/defaults").DefaultRow, b: import("element-plus/es/components/table/src/table/defaults").DefaultRow) => number) | undefined;
|
|
157
|
-
sortBy?: string | string[] | ((row: import("element-plus/es/components/table/src/table/defaults").DefaultRow, index: number, array?: import("element-plus/es/components/table/src/table/defaults").DefaultRow[] | undefined) => string) | undefined;
|
|
158
|
-
resizable?: boolean | undefined;
|
|
159
|
-
columnKey?: string | undefined;
|
|
160
|
-
rawColumnKey?: string | undefined;
|
|
161
|
-
align?: string | undefined;
|
|
162
|
-
headerAlign?: string | undefined;
|
|
163
|
-
showOverflowTooltip?: (boolean | import("element-plus/es/components/table/src/util").TableOverflowTooltipOptions) | undefined;
|
|
164
|
-
tooltipFormatter?: import("element-plus/es/components/table/src/util").TableOverflowTooltipFormatter<import("element-plus/es/components/table/src/table/defaults").DefaultRow> | undefined;
|
|
165
|
-
fixed?: string | boolean | undefined;
|
|
166
|
-
formatter?: ((row: import("element-plus/es/components/table/src/table/defaults").DefaultRow, column: import("element-plus").TableColumnCtx<import("element-plus/es/components/table/src/table/defaults").DefaultRow>, cellValue: any, index: number) => import("vue").VNode | string) | undefined;
|
|
167
|
-
selectable?: ((row: import("element-plus/es/components/table/src/table/defaults").DefaultRow, index: number) => boolean) | undefined;
|
|
168
|
-
reserveSelection?: boolean | undefined;
|
|
169
|
-
filterMethod?: import("element-plus/es/components/table/src/table-column/defaults").FilterMethods<import("element-plus/es/components/table/src/table/defaults").DefaultRow> | undefined;
|
|
170
|
-
filteredValue?: string[] | undefined;
|
|
171
|
-
filters?: import("element-plus/es/components/table/src/table-column/defaults").Filters | undefined;
|
|
172
|
-
filterPlacement?: string | undefined;
|
|
173
|
-
filterMultiple?: boolean | undefined;
|
|
174
|
-
filterClassName?: string | undefined;
|
|
175
|
-
index?: number | ((index: number) => number) | undefined;
|
|
176
|
-
sortOrders?: (import("element-plus/es/components/table/src/table/defaults").TableSortOrder | null)[] | undefined;
|
|
177
|
-
renderCell?: ((data: any) => import("vue").VNode | import("vue").VNode[]) | undefined;
|
|
178
|
-
colSpan?: number | undefined;
|
|
179
|
-
rowSpan?: number | undefined;
|
|
180
|
-
children?: import("element-plus").TableColumnCtx<import("element-plus/es/components/table/src/table/defaults").DefaultRow>[] | undefined;
|
|
181
|
-
level?: number | undefined;
|
|
182
|
-
filterable?: boolean | import("element-plus/es/components/table/src/table-column/defaults").FilterMethods<import("element-plus/es/components/table/src/table/defaults").DefaultRow> | import("element-plus/es/components/table/src/table-column/defaults").Filters | undefined;
|
|
183
|
-
order?: import("element-plus/es/components/table/src/table/defaults").TableSortOrder | null | undefined;
|
|
184
|
-
isColumnGroup?: boolean | undefined;
|
|
185
|
-
isSubColumn?: boolean | undefined;
|
|
186
|
-
columns?: import("element-plus").TableColumnCtx<import("element-plus/es/components/table/src/table/defaults").DefaultRow>[] | undefined;
|
|
187
|
-
getColumnIndex?: (() => number) | undefined;
|
|
188
|
-
no?: number | undefined;
|
|
189
|
-
filterOpened?: boolean | undefined;
|
|
190
|
-
renderFilterIcon?: ((scope: any) => import("vue").VNode) | undefined;
|
|
191
|
-
renderExpand?: ((scope: any) => import("vue").VNode) | undefined;
|
|
192
|
-
required?: boolean | (() => boolean) | undefined;
|
|
193
|
-
cellRequired?: ((scope: TableScope) => boolean) | undefined;
|
|
194
|
-
headerRender?: ((data: {
|
|
195
|
-
column: import("element-plus").TableColumnCtx<import("element-plus/es/components/table/src/table/defaults").DefaultRow>;
|
|
196
|
-
$index: number;
|
|
197
|
-
store: import("element-plus/es/components/table/src/store").Store<import("element-plus/es/components/table/src/table/defaults").DefaultRow>;
|
|
198
|
-
_self: any;
|
|
199
|
-
}) => import("vue").VNode) | undefined;
|
|
200
|
-
disabled?: boolean | ((scope: TableScope) => boolean) | undefined;
|
|
201
|
-
props?: Record<string, any> | undefined;
|
|
202
|
-
filter?: boolean | undefined;
|
|
203
|
-
editable?: boolean | ((formData: Record<string, any>) => void) | undefined;
|
|
204
|
-
show?: (boolean | ((T: unknown) => boolean)) | undefined;
|
|
205
|
-
hide?: (boolean | ((T: unknown) => boolean)) | undefined;
|
|
206
136
|
}[]>;
|
|
207
137
|
};
|
|
208
138
|
export declare const useTableFormItem: (props: TableProps) => {
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
var vue = require('vue');
|
|
4
4
|
var useRequest = require('../../../hooks/use-request.js');
|
|
5
|
-
var props = require('../../../utils/props.js');
|
|
6
5
|
var lodashUnified = require('lodash-unified');
|
|
6
|
+
var props = require('../../../utils/props.js');
|
|
7
7
|
var iconsVue = require('@element-plus/icons-vue');
|
|
8
8
|
var elementPlus = require('element-plus');
|
|
9
9
|
var useFormDialog = require('../../../hooks/dialog/use-form-dialog.js');
|
|
@@ -165,6 +165,7 @@ const usePagination = function(props, search) {
|
|
|
165
165
|
const useTableColumn = (props$1, tableData, customColumns) => {
|
|
166
166
|
const instance = vue.getCurrentInstance();
|
|
167
167
|
const columnProps = (column) => {
|
|
168
|
+
column.props = column.props || {};
|
|
168
169
|
const attrs = {
|
|
169
170
|
"show-overflow-tooltip": true,
|
|
170
171
|
align: column.align || props$1.align,
|
|
@@ -244,16 +245,11 @@ const useTableColumn = (props$1, tableData, customColumns) => {
|
|
|
244
245
|
const columnList = vue.computed(() => {
|
|
245
246
|
const columns = props$1.customColumnModule ? customColumns.value : props$1.columns;
|
|
246
247
|
return columns.map((column) => {
|
|
247
|
-
|
|
248
|
-
...column
|
|
249
|
-
};
|
|
248
|
+
const newColumn = columnProps(column);
|
|
250
249
|
if (props$1.formatColumns.length) {
|
|
251
250
|
const formatColumn = props$1.formatColumns.find((item) => item.prop === column.prop);
|
|
252
251
|
if (formatColumn) {
|
|
253
|
-
newColumn
|
|
254
|
-
...newColumn,
|
|
255
|
-
...formatColumn
|
|
256
|
-
};
|
|
252
|
+
lodashUnified.merge(newColumn, formatColumn);
|
|
257
253
|
}
|
|
258
254
|
}
|
|
259
255
|
return newColumn;
|
|
@@ -267,7 +263,6 @@ const useTableColumn = (props$1, tableData, customColumns) => {
|
|
|
267
263
|
});
|
|
268
264
|
});
|
|
269
265
|
return {
|
|
270
|
-
columnProps,
|
|
271
266
|
columnList
|
|
272
267
|
};
|
|
273
268
|
};
|
|
@@ -297,6 +292,9 @@ const useTableFormItem = (props$1) => {
|
|
|
297
292
|
const disabledOption = item.props.disabledOption;
|
|
298
293
|
item.props.disabledOption = (...args) => disabledOption(...args, scope);
|
|
299
294
|
}
|
|
295
|
+
if ("desc" in item.props && typeof item.props.desc === "function") {
|
|
296
|
+
item.props.desc = item.props.desc(scope);
|
|
297
|
+
}
|
|
300
298
|
}
|
|
301
299
|
if (item.type === "EpButtons" && item.props) {
|
|
302
300
|
item.props.list.forEach((btnItem) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-table.js","sources":["../../../../../../packages/components/table/src/use-table.tsx"],"sourcesContent":["import type { FormInstance, TableInstance, FormItemProp } from 'element-plus'\nimport {\n ref,\n computed,\n type Ref,\n reactive,\n useTemplateRef,\n getCurrentInstance,\n toRaw,\n useAttrs,\n nextTick,\n watch,\n} from 'vue'\nimport { useRequest } from '@el-plus/hooks/use-request'\nimport type { TableColumn, TableProps, TableScope } from './table'\nimport type { ButtonProps } from '@el-plus/components/buttons'\nimport type { FormProps } from '@el-plus/components/form'\nimport { bus } from '@el-plus/utils'\nimport {\n prepareProps,\n prepareEvents,\n prepareClassNames,\n prepareStyles,\n} from '@el-plus/utils/props'\nimport { cloneDeep } from 'lodash-unified'\nimport { EditPen } from '@element-plus/icons-vue'\nimport { ElIcon } from 'element-plus'\nimport { useFormDialog } from '@el-plus/hooks/dialog/use-form-dialog'\n\nexport type ISearch = (init: boolean, isPagination?: boolean) => void\nexport const useTable = (props: TableProps) => {\n const elFormRef = useTemplateRef<FormInstance>('elFormRef')\n const elTableRef = useTemplateRef<TableInstance>('elTableRef')\n const customData = ref<Record<string, unknown>[]>([])\n const { loading, requestFn } = useRequest({\n api: props.api,\n method: props.method,\n reqData: props.reqData,\n reqParams: props.reqParams,\n reqBefore: props.reqBefore,\n reqAfter: props.reqAfter,\n cancelToken: true,\n hooks: {\n success(data) {\n if (Array.isArray(data)) {\n customData.value = data\n } else if (data && typeof data === 'object') {\n const rawData = data as Record<string, any>\n customData.value = rawData?.list || rawData?.data || []\n } else {\n customData.value = []\n }\n if (props.showPagination) {\n pagination.total =\n (props.isFrontPage\n ? customData.value.length\n : (data as { total: number }).total) || 0\n }\n },\n fail(error) {\n console.error(error)\n },\n },\n })\n // 自定义列\n const customColumns = ref<TableColumn[]>([])\n // 加载列表\n const attrs = useAttrs()\n const search: ISearch = async (init = false, isPagination = false) => {\n const beforeSearch = attrs['before-search']\n if (typeof beforeSearch === 'function') {\n await nextTick()\n await beforeSearch?.()\n }\n if (init) {\n pagination.pageNo = 1\n }\n // 前端分页\n if (isPagination && props.isFrontPage) {\n const { pageNo, pageSize } = pagination\n const data = customData.value.filter((item, index) => {\n return index < pageNo * pageSize && index >= (pageNo - 1) * pageSize\n })\n customData.value = data\n } else {\n if (props.api) {\n requestFn!({\n pageNo: pagination.pageNo,\n pageSize: pagination.pageSize,\n pageNum: pagination.pageNo,\n })\n } else if (props.data?.length) {\n customData.value = props.data\n }\n }\n }\n if (!props.api) {\n watch(\n () => props.data,\n (newValue) => {\n customData.value = newValue as Record<string, any>[]\n },\n {\n deep: true,\n },\n )\n }\n\n const { pagination, paginationProps } = usePagination(props, search)\n\n // 初始化加载\n ;(async () => {\n if (props.isInitSearch) {\n if (props.customColumnModule) {\n loading!.value = true\n const columns = await bus.once('loadedCustomColumn')\n loading!.value = false\n customColumns.value = columns\n bus.on('loadedCustomColumn', (columns: TableColumn[]) => {\n customColumns.value = columns\n })\n }\n search(true)\n }\n })()\n\n // 校验\n const validate = () => {\n return elFormRef.value!.validate()\n }\n // 重置校验\n const resetFields = (props: FormItemProp) => {\n return elFormRef.value!.resetFields(props)\n }\n // 清理某个字段的表单验证信息\n const clearValidate = (props: FormItemProp) => {\n return elFormRef.value!.clearValidate(props)\n }\n // 格式化操作按钮\n const formatActionButtons = (list: ButtonProps[], scope: TableScope) => {\n return list.map((item) => {\n if (item.onClick) {\n item.onClick = item.onClick.bind(null, scope)\n }\n return item\n })\n }\n\n return {\n loading,\n data: customData,\n search,\n pagination,\n paginationProps,\n validate,\n resetFields,\n clearValidate,\n elFormRef,\n elTableRef,\n formatActionButtons,\n customColumns: customColumns as unknown as Ref<TableColumn[]>,\n }\n}\nconst usePagination = function (props: TableProps, search: ISearch) {\n const pageSizes = [20, 50, 100, 200]\n const pagination = reactive({\n total: 0,\n pageNo: 1,\n pageSize: pageSizes[0],\n })\n const paginationProps = computed(() => {\n const defaultPaginationProps = props.paginationProps || {}\n const onSizeChange = defaultPaginationProps.onSizeChange\n const onCurrentChange = defaultPaginationProps.onCurrentChange\n return {\n ...defaultPaginationProps,\n pageSizes,\n layout: 'total, sizes, prev, pager, next, jumper',\n onSizeChange: (value: number) => {\n onSizeChange && onSizeChange(value)\n search(true, true)\n },\n onCurrentChange: (value: number) => {\n onCurrentChange && onCurrentChange(value)\n search(false, true)\n },\n }\n })\n return {\n pagination,\n paginationProps,\n }\n}\n\nexport const useTableColumn = (\n props: TableProps,\n tableData: Ref<TableProps['data']>,\n customColumns: Ref<TableColumn[]>,\n) => {\n const instance = getCurrentInstance()\n const columnProps = (column: TableColumn) => {\n const attrs = {\n 'show-overflow-tooltip': true,\n align: column.align || props.align,\n minWidth: column.minWidth || props.minWidth,\n // ...prepareEvents<TableEmits>(emit, tableEmits),\n } as TableColumn\n if (!column.renderHeader) {\n // 必填\n let required = column.required\n if (typeof column.required === 'function') {\n required = column.required()\n }\n // 批量编辑\n const editable = column.editable\n attrs['renderHeader'] = () => {\n return (\n <span>\n {required ? (\n <span style=\"color:var(--el-color-danger)\"> * </span>\n ) : (\n ''\n )}\n <span\n class={{ 'is-edit': editable }}\n onClick={\n editable\n ? async () => {\n const cloneColumn = { ...column }\n delete cloneColumn.editable\n const rawRender = cloneColumn.render\n const formData = reactive({})\n if (rawRender) {\n cloneColumn.render = () => {\n return rawRender({\n row: formData,\n })\n }\n }\n const formDialog = useFormDialog({\n title: cloneColumn.label,\n dialogProps: {\n destroyOnClose: true,\n instance,\n },\n formItemList: [\n cloneColumn,\n ] as FormProps['formItemList'],\n formData,\n // formData: reactive({}),\n })\n const data = (await formDialog.open()) as Record<\n string,\n any\n >\n ;(tableData.value || []).forEach((item) => {\n item[column.prop!] = data![column.prop!]\n })\n if (typeof editable === 'function') {\n editable(toRaw(data))\n }\n }\n : void 0\n }\n >\n {column.label}\n {editable ? (\n <ElIcon>\n <EditPen />\n </ElIcon>\n ) : (\n ''\n )}\n </span>\n </span>\n )\n }\n }\n if (column.filter) {\n const arr = tableData.value!.map((item) => item[column.prop!])\n attrs.filters = [...new Set(arr)].map((item) => {\n return {\n text: item,\n value: item,\n }\n })\n attrs.filterMethod = (value, row) => {\n return row[column.prop!] === value\n }\n }\n if (column.type === 'EpLink') {\n attrs.className = 'table-column-link'\n }\n\n return {\n ...attrs,\n ...prepareProps(column),\n }\n }\n const columnList = computed(() => {\n const columns = props.customColumnModule\n ? customColumns.value\n : props.columns\n return columns!\n .map((column: TableColumn) => {\n let newColumn = { ...column }\n if (props.formatColumns!.length) {\n const formatColumn = props.formatColumns!.find(\n (item) => item.prop === column.prop,\n )\n if (formatColumn) {\n newColumn = { ...newColumn, ...formatColumn }\n }\n }\n return newColumn\n })\n .filter((column) => {\n if ('show' in column) {\n return typeof column.show === 'function'\n ? column.show(column)\n : column.show\n } else if ('hide' in column) {\n return typeof column.hide === 'function'\n ? !column.hide(column)\n : !column.hide\n }\n return true\n })\n })\n return {\n columnProps,\n columnList,\n }\n}\n\nexport const useTableFormItem = (props: TableProps) => {\n const formItemProps = (scope: TableScope, rawItem: TableColumn) => {\n const item = cloneDeep(rawItem)\n let required = item.required\n if (typeof required === 'function') {\n required = required()\n }\n if (item.cellRequired) {\n required = item.cellRequired(scope)\n }\n let disabled = props.disabled\n if ('disabled' in item) {\n if (typeof item.disabled === 'function') {\n disabled = item.disabled(scope)\n } else {\n disabled = item.disabled || false\n }\n }\n if (item.type === 'EpSelect' && item.props) {\n if ('options' in item.props && typeof item.props.options === 'function') {\n item.props.options = item.props.options(scope)\n }\n if (\n 'disabledOption' in item.props &&\n typeof item.props.disabledOption === 'function'\n ) {\n const disabledOption = item.props.disabledOption\n item.props.disabledOption = (...args: unknown[]) =>\n disabledOption(...args, scope)\n }\n }\n\n if (item.type === 'EpButtons' && item.props) {\n item.props.list.forEach((btnItem: ButtonProps) => {\n if (btnItem.prop) {\n btnItem.name = scope.row[btnItem.prop] as string\n }\n if (btnItem.onClick) {\n btnItem.onClick = btnItem.onClick.bind(null, scope)\n }\n })\n }\n if (item.type === 'EpLink') {\n ;(item.props ? item.props : (item.props = {})).content =\n item.props.content || scope.row[item.prop!]\n }\n for (const key in item) {\n if (key.startsWith('on') && typeof item[key] === 'function') {\n const fn = item[key]\n item[key] = (...args: unknown[]) => {\n let event: Event | unknown\n if (args[0] instanceof Event) {\n // 删除 event\n event = args.shift()\n }\n return fn(...args, scope, event)\n }\n }\n }\n return {\n ...prepareProps(item),\n isShowLabel: false,\n required,\n hideRequiredAsterisk: 'cellRequired' in item ? false : required,\n prop: `table.${scope.$index}.${item.prop}`,\n tableProp: item.prop, // table里的表单需要绑定的prop\n props: {\n ...item.props,\n disabled,\n },\n }\n }\n return {\n formItemProps,\n }\n}\n"],"names":["useTable","props","elFormRef","useTemplateRef","elTableRef","customData","ref","loading","requestFn","useRequest","api","method","reqData","reqParams","reqBefore","reqAfter","cancelToken","hooks","success","data","Array","isArray","value","rawData","list","showPagination","pagination","total","isFrontPage","length","fail","error","console","customColumns","attrs","useAttrs","search","init","isPagination","beforeSearch","nextTick","pageNo","pageSize","filter","item","index","pageNum","watch","newValue","deep","paginationProps","usePagination","isInitSearch","customColumnModule","columns","bus","once","on","validate","resetFields","clearValidate","formatActionButtons","scope","map","onClick","bind","pageSizes","reactive","computed","defaultPaginationProps","onSizeChange","onCurrentChange","layout","useTableColumn","tableData","instance","getCurrentInstance","columnProps","column","align","minWidth","renderHeader","required","editable","_createVNode","_createTextVNode","cloneColumn","rawRender","render","formData","row","formDialog","useFormDialog","title","label","dialogProps","destroyOnClose","formItemList","open","forEach","prop","toRaw","ElIcon","default","EditPen","arr","filters","Set","text","filterMethod","type","className","prepareProps","columnList","newColumn","formatColumns","formatColumn","find","show","hide","useTableFormItem","formItemProps","rawItem","cloneDeep","cellRequired","disabled","options","disabledOption","args","btnItem","name","content","key","startsWith","fn","event","Event","shift","isShowLabel","hideRequiredAsterisk","$index","tableProp"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"use-table.js","sources":["../../../../../../packages/components/table/src/use-table.tsx"],"sourcesContent":["import type { FormInstance, TableInstance, FormItemProp } from 'element-plus'\nimport {\n ref,\n computed,\n type Ref,\n reactive,\n useTemplateRef,\n getCurrentInstance,\n toRaw,\n useAttrs,\n nextTick,\n watch,\n} from 'vue'\nimport { useRequest } from '@el-plus/hooks/use-request'\nimport type { TableColumn, TableProps, TableScope } from './table'\nimport type { ButtonProps } from '@el-plus/components/buttons'\nimport type { FormProps } from '@el-plus/components/form'\nimport { bus } from '@el-plus/utils'\nimport { merge } from 'lodash-unified'\nimport {\n prepareProps,\n prepareEvents,\n prepareClassNames,\n prepareStyles,\n} from '@el-plus/utils/props'\nimport { cloneDeep } from 'lodash-unified'\nimport { EditPen } from '@element-plus/icons-vue'\nimport { ElIcon } from 'element-plus'\nimport { useFormDialog } from '@el-plus/hooks/dialog/use-form-dialog'\n\nexport type ISearch = (init: boolean, isPagination?: boolean) => void\nexport const useTable = (props: TableProps) => {\n const elFormRef = useTemplateRef<FormInstance>('elFormRef')\n const elTableRef = useTemplateRef<TableInstance>('elTableRef')\n const customData = ref<Record<string, unknown>[]>([])\n const { loading, requestFn } = useRequest({\n api: props.api,\n method: props.method,\n reqData: props.reqData,\n reqParams: props.reqParams,\n reqBefore: props.reqBefore,\n reqAfter: props.reqAfter,\n cancelToken: true,\n hooks: {\n success(data) {\n if (Array.isArray(data)) {\n customData.value = data\n } else if (data && typeof data === 'object') {\n const rawData = data as Record<string, any>\n customData.value = rawData?.list || rawData?.data || []\n } else {\n customData.value = []\n }\n if (props.showPagination) {\n pagination.total =\n (props.isFrontPage\n ? customData.value.length\n : (data as { total: number }).total) || 0\n }\n },\n fail(error) {\n console.error(error)\n },\n },\n })\n // 自定义列\n const customColumns = ref<TableColumn[]>([])\n // 加载列表\n const attrs = useAttrs()\n const search: ISearch = async (init = false, isPagination = false) => {\n const beforeSearch = attrs['before-search']\n if (typeof beforeSearch === 'function') {\n await nextTick()\n await beforeSearch?.()\n }\n if (init) {\n pagination.pageNo = 1\n }\n // 前端分页\n if (isPagination && props.isFrontPage) {\n const { pageNo, pageSize } = pagination\n const data = customData.value.filter((item, index) => {\n return index < pageNo * pageSize && index >= (pageNo - 1) * pageSize\n })\n customData.value = data\n } else {\n if (props.api) {\n requestFn!({\n pageNo: pagination.pageNo,\n pageSize: pagination.pageSize,\n pageNum: pagination.pageNo,\n })\n } else if (props.data?.length) {\n customData.value = props.data\n }\n }\n }\n if (!props.api) {\n watch(\n () => props.data,\n (newValue) => {\n customData.value = newValue as Record<string, any>[]\n },\n {\n deep: true,\n },\n )\n }\n\n const { pagination, paginationProps } = usePagination(props, search)\n\n // 初始化加载\n ;(async () => {\n if (props.isInitSearch) {\n if (props.customColumnModule) {\n loading!.value = true\n const columns = await bus.once('loadedCustomColumn')\n loading!.value = false\n customColumns.value = columns\n bus.on('loadedCustomColumn', (columns: TableColumn[]) => {\n customColumns.value = columns\n })\n }\n search(true)\n }\n })()\n\n // 校验\n const validate = () => {\n return elFormRef.value!.validate()\n }\n // 重置校验\n const resetFields = (props: FormItemProp) => {\n return elFormRef.value!.resetFields(props)\n }\n // 清理某个字段的表单验证信息\n const clearValidate = (props: FormItemProp) => {\n return elFormRef.value!.clearValidate(props)\n }\n // 格式化操作按钮\n const formatActionButtons = (list: ButtonProps[], scope: TableScope) => {\n return list.map((item) => {\n if (item.onClick) {\n item.onClick = item.onClick.bind(null, scope)\n }\n return item\n })\n }\n\n return {\n loading,\n data: customData,\n search,\n pagination,\n paginationProps,\n validate,\n resetFields,\n clearValidate,\n elFormRef,\n elTableRef,\n formatActionButtons,\n customColumns: customColumns as unknown as Ref<TableColumn[]>,\n }\n}\nconst usePagination = function (props: TableProps, search: ISearch) {\n const pageSizes = [20, 50, 100, 200]\n const pagination = reactive({\n total: 0,\n pageNo: 1,\n pageSize: pageSizes[0],\n })\n const paginationProps = computed(() => {\n const defaultPaginationProps = props.paginationProps || {}\n const onSizeChange = defaultPaginationProps.onSizeChange\n const onCurrentChange = defaultPaginationProps.onCurrentChange\n return {\n ...defaultPaginationProps,\n pageSizes,\n layout: 'total, sizes, prev, pager, next, jumper',\n onSizeChange: (value: number) => {\n onSizeChange && onSizeChange(value)\n search(true, true)\n },\n onCurrentChange: (value: number) => {\n onCurrentChange && onCurrentChange(value)\n search(false, true)\n },\n }\n })\n return {\n pagination,\n paginationProps,\n }\n}\n\nexport const useTableColumn = (\n props: TableProps,\n tableData: Ref<TableProps['data']>,\n customColumns: Ref<TableColumn[]>,\n) => {\n const instance = getCurrentInstance()\n const columnProps = (column: TableColumn) => {\n column.props = column.props || {}\n const attrs = {\n 'show-overflow-tooltip': true,\n align: column.align || props.align,\n minWidth: column.minWidth || props.minWidth,\n // ...prepareEvents<TableEmits>(emit, tableEmits),\n } as TableColumn\n if (!column.renderHeader) {\n // 必填\n let required = column.required\n if (typeof column.required === 'function') {\n required = column.required()\n }\n // 批量编辑\n const editable = column.editable\n attrs['renderHeader'] = () => {\n return (\n <span>\n {required ? (\n <span style=\"color:var(--el-color-danger)\"> * </span>\n ) : (\n ''\n )}\n <span\n class={{ 'is-edit': editable }}\n onClick={\n editable\n ? async () => {\n const cloneColumn = { ...column }\n delete cloneColumn.editable\n const rawRender = cloneColumn.render\n const formData = reactive({})\n if (rawRender) {\n cloneColumn.render = () => {\n return rawRender({\n row: formData,\n })\n }\n }\n const formDialog = useFormDialog({\n title: cloneColumn.label,\n dialogProps: {\n destroyOnClose: true,\n instance,\n },\n formItemList: [\n cloneColumn,\n ] as FormProps['formItemList'],\n formData,\n // formData: reactive({}),\n })\n const data = (await formDialog.open()) as Record<\n string,\n any\n >\n ;(tableData.value || []).forEach((item) => {\n item[column.prop!] = data![column.prop!]\n })\n if (typeof editable === 'function') {\n editable(toRaw(data))\n }\n }\n : void 0\n }\n >\n {column.label}\n {editable ? (\n <ElIcon>\n <EditPen />\n </ElIcon>\n ) : (\n ''\n )}\n </span>\n </span>\n )\n }\n }\n if (column.filter) {\n const arr = tableData.value!.map((item) => item[column.prop!])\n attrs.filters = [...new Set(arr)].map((item) => {\n return {\n text: item,\n value: item,\n }\n })\n attrs.filterMethod = (value, row) => {\n return row[column.prop!] === value\n }\n }\n if (column.type === 'EpLink') {\n attrs.className = 'table-column-link'\n }\n\n return {\n ...attrs,\n ...prepareProps(column),\n }\n }\n const columnList = computed(() => {\n const columns = props.customColumnModule\n ? customColumns.value\n : props.columns\n return columns!\n .map((column: TableColumn) => {\n const newColumn = columnProps(column)\n if (props.formatColumns!.length) {\n const formatColumn = props.formatColumns!.find(\n (item) => item.prop === column.prop,\n )\n if (formatColumn) {\n // newColumn = { ...newColumn, ...formatColumn }\n merge(newColumn, formatColumn)\n }\n }\n return newColumn\n })\n .filter((column) => {\n if ('show' in column) {\n return typeof column.show === 'function'\n ? column.show(column)\n : column.show\n } else if ('hide' in column) {\n return typeof column.hide === 'function'\n ? !column.hide(column)\n : !column.hide\n }\n return true\n })\n })\n return {\n columnList,\n }\n}\n\nexport const useTableFormItem = (props: TableProps) => {\n const formItemProps = (scope: TableScope, rawItem: TableColumn) => {\n const item = cloneDeep(rawItem)\n let required = item.required\n if (typeof required === 'function') {\n required = required()\n }\n if (item.cellRequired) {\n required = item.cellRequired(scope)\n }\n let disabled = props.disabled\n if ('disabled' in item) {\n if (typeof item.disabled === 'function') {\n disabled = item.disabled(scope)\n } else {\n disabled = item.disabled || false\n }\n }\n if (item.type === 'EpSelect' && item.props) {\n if ('options' in item.props && typeof item.props.options === 'function') {\n item.props.options = item.props.options(scope)\n }\n if (\n 'disabledOption' in item.props &&\n typeof item.props.disabledOption === 'function'\n ) {\n const disabledOption = item.props.disabledOption\n item.props.disabledOption = (...args: unknown[]) =>\n disabledOption(...args, scope)\n }\n if ('desc' in item.props && typeof item.props.desc === 'function') {\n item.props.desc = item.props.desc(scope)\n }\n }\n\n if (item.type === 'EpButtons' && item.props) {\n item.props.list.forEach((btnItem: ButtonProps) => {\n if (btnItem.prop) {\n btnItem.name = scope.row[btnItem.prop] as string\n }\n if (btnItem.onClick) {\n btnItem.onClick = btnItem.onClick.bind(null, scope)\n }\n })\n }\n if (item.type === 'EpLink') {\n ;(item.props ? item.props : (item.props = {})).content =\n item.props.content || scope.row[item.prop!]\n }\n for (const key in item) {\n if (key.startsWith('on') && typeof item[key] === 'function') {\n const fn = item[key]\n item[key] = (...args: unknown[]) => {\n let event: Event | unknown\n if (args[0] instanceof Event) {\n // 删除 event\n event = args.shift()\n }\n return fn(...args, scope, event)\n }\n }\n }\n return {\n ...prepareProps(item),\n isShowLabel: false,\n required,\n hideRequiredAsterisk: 'cellRequired' in item ? false : required,\n prop: `table.${scope.$index}.${item.prop}`,\n tableProp: item.prop, // table里的表单需要绑定的prop\n props: {\n ...item.props,\n disabled,\n },\n }\n }\n return {\n formItemProps,\n }\n}\n"],"names":["useTable","props","elFormRef","useTemplateRef","elTableRef","customData","ref","loading","requestFn","useRequest","api","method","reqData","reqParams","reqBefore","reqAfter","cancelToken","hooks","success","data","Array","isArray","value","rawData","list","showPagination","pagination","total","isFrontPage","length","fail","error","console","customColumns","attrs","useAttrs","search","init","isPagination","beforeSearch","nextTick","pageNo","pageSize","filter","item","index","pageNum","watch","newValue","deep","paginationProps","usePagination","isInitSearch","customColumnModule","columns","bus","once","on","validate","resetFields","clearValidate","formatActionButtons","scope","map","onClick","bind","pageSizes","reactive","computed","defaultPaginationProps","onSizeChange","onCurrentChange","layout","useTableColumn","tableData","instance","getCurrentInstance","columnProps","column","align","minWidth","renderHeader","required","editable","_createVNode","_createTextVNode","cloneColumn","rawRender","render","formData","row","formDialog","useFormDialog","title","label","dialogProps","destroyOnClose","formItemList","open","forEach","prop","toRaw","ElIcon","default","EditPen","arr","filters","Set","text","filterMethod","type","className","prepareProps","columnList","newColumn","formatColumns","formatColumn","find","merge","show","hide","useTableFormItem","formItemProps","rawItem","cloneDeep","cellRequired","disabled","options","disabledOption","args","desc","btnItem","name","content","key","startsWith","fn","event","Event","shift","isShowLabel","hideRequiredAsterisk","$index","tableProp"],"mappings":"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"}
|
package/lib/components.js
CHANGED
|
@@ -13,6 +13,7 @@ var index$7 = require('./components/header/index.js');
|
|
|
13
13
|
var index$8 = require('./components/date-picker-range/index.js');
|
|
14
14
|
var index$9 = require('./components/custom-column/index.js');
|
|
15
15
|
var index$a = require('./components/link/index.js');
|
|
16
|
+
var index$b = require('./components/attachment/index.js');
|
|
16
17
|
|
|
17
18
|
var components = [
|
|
18
19
|
index.EpButtons,
|
|
@@ -25,7 +26,8 @@ var components = [
|
|
|
25
26
|
index$7.EpHeader,
|
|
26
27
|
index$8.EpDatePickerRange,
|
|
27
28
|
index$9.EpCustomColumn,
|
|
28
|
-
index$a.EpLink
|
|
29
|
+
index$a.EpLink,
|
|
30
|
+
index$b.EpAttachment
|
|
29
31
|
];
|
|
30
32
|
|
|
31
33
|
exports.default = components;
|
package/lib/components.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"components.js","sources":["../../../packages/el-plus/components.ts"],"sourcesContent":["import type { Plugin } from 'vue'\nimport Buttons from '@el-plus/components/buttons'\nimport Form from '@el-plus/components/form'\nimport Input from '@el-plus/components/input'\nimport SearchListPage from '@el-plus/components/search-list-page'\nimport Select from '@el-plus/components/select'\nimport Table from '@el-plus/components/table'\nimport Title from '@el-plus/components/title'\nimport Header from '@el-plus/components/header'\nimport DatePickerRange from '@el-plus/components/date-picker-range'\nimport CustomColumn from '@el-plus/components/custom-column'\nimport Link from '@el-plus/components/link'\n\nexport default [\n Buttons,\n Form,\n Input,\n SearchListPage,\n Select,\n Table,\n Title,\n Header,\n DatePickerRange,\n CustomColumn,\n Link,\n] as Plugin[]\n"],"names":["Buttons","Form","Input","SearchListPage","Select","Table","Title","Header","DatePickerRange","CustomColumn","Link"],"mappings":"
|
|
1
|
+
{"version":3,"file":"components.js","sources":["../../../packages/el-plus/components.ts"],"sourcesContent":["import type { Plugin } from 'vue'\nimport Buttons from '@el-plus/components/buttons'\nimport Form from '@el-plus/components/form'\nimport Input from '@el-plus/components/input'\nimport SearchListPage from '@el-plus/components/search-list-page'\nimport Select from '@el-plus/components/select'\nimport Table from '@el-plus/components/table'\nimport Title from '@el-plus/components/title'\nimport Header from '@el-plus/components/header'\nimport DatePickerRange from '@el-plus/components/date-picker-range'\nimport CustomColumn from '@el-plus/components/custom-column'\nimport Link from '@el-plus/components/link'\nimport Attachment from '@el-plus/components/attachment'\n\nexport default [\n Buttons,\n Form,\n Input,\n SearchListPage,\n Select,\n Table,\n Title,\n Header,\n DatePickerRange,\n CustomColumn,\n Link,\n Attachment,\n] as Plugin[]\n"],"names":["Buttons","Form","Input","SearchListPage","Select","Table","Title","Header","DatePickerRange","CustomColumn","Link","Attachment"],"mappings":";;;;;;;;;;;;;;;;;AAcA,iBAAe;AAAA,EACbA,eAAA;AAAA,EACAC,cAAA;AAAA,EACAC,eAAA;AAAA,EACAC,wBAAA;AAAA,EACAC,gBAAA;AAAA,EACAC,eAAA;AAAA,EACAC,eAAA;AAAA,EACAC,gBAAA;AAAA,EACAC,yBAAA;AAAA,EACAC,sBAAA;AAAA,EACAC,cAAA;AAAA,EACAC;AACF,CAAA;;;;"}
|
package/lib/index.js
CHANGED
|
@@ -4,9 +4,9 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
4
4
|
|
|
5
5
|
var components = require('./components.js');
|
|
6
6
|
var _package = require('./package.json.js');
|
|
7
|
-
var index$
|
|
8
|
-
var index$
|
|
9
|
-
var index$
|
|
7
|
+
var index$e = require('./plugins/index.js');
|
|
8
|
+
var index$c = require('./directives/repeat-click/index.js');
|
|
9
|
+
var index$d = require('./directives/permission/index.js');
|
|
10
10
|
var buttons = require('./components/buttons/src/buttons.js');
|
|
11
11
|
var index = require('./components/buttons/index.js');
|
|
12
12
|
var form = require('./components/form/src/form.js');
|
|
@@ -31,6 +31,8 @@ var customColumn = require('./components/custom-column/src/custom-column.js');
|
|
|
31
31
|
var index$9 = require('./components/custom-column/index.js');
|
|
32
32
|
var link = require('./components/link/src/link.js');
|
|
33
33
|
var index$a = require('./components/link/index.js');
|
|
34
|
+
var attachment = require('./components/attachment/src/attachment.js');
|
|
35
|
+
var index$b = require('./components/attachment/index.js');
|
|
34
36
|
var useRequest = require('./hooks/use-request.js');
|
|
35
37
|
var useTemplatePromise = require('./hooks/use-template-promise.js');
|
|
36
38
|
var useDialog = require('./hooks/dialog/use-dialog.js');
|
|
@@ -44,15 +46,15 @@ const install = (app, options) => {
|
|
|
44
46
|
if (app[INSTALLED_KEY]) return;
|
|
45
47
|
app[INSTALLED_KEY] = true;
|
|
46
48
|
components.default.forEach((c) => app.use(c));
|
|
47
|
-
Object.values(index$
|
|
49
|
+
Object.values(index$e).forEach((p) => app.use(p));
|
|
48
50
|
};
|
|
49
51
|
const plugin = {
|
|
50
52
|
install,
|
|
51
53
|
version: _package.version
|
|
52
54
|
};
|
|
53
55
|
|
|
54
|
-
exports.vRepeatClick = index$
|
|
55
|
-
exports.vPermission = index$
|
|
56
|
+
exports.vRepeatClick = index$c.default;
|
|
57
|
+
exports.vPermission = index$d.default;
|
|
56
58
|
exports.buttonsProps = buttons.buttonsProps;
|
|
57
59
|
exports.EpButtons = index.EpButtons;
|
|
58
60
|
exports.expandFormPropsKeys = form.expandFormPropsKeys;
|
|
@@ -94,6 +96,8 @@ exports.customColumnProps = customColumn.customColumnProps;
|
|
|
94
96
|
exports.EpCustomColumn = index$9.EpCustomColumn;
|
|
95
97
|
exports.linkProps = link.linkProps;
|
|
96
98
|
exports.EpLink = index$a.EpLink;
|
|
99
|
+
exports.attachmentProps = attachment.attachmentProps;
|
|
100
|
+
exports.EpAttachment = index$b.EpAttachment;
|
|
97
101
|
exports.useRequest = useRequest.useRequest;
|
|
98
102
|
exports.useTemplatePromise = useTemplatePromise.useTemplatePromise;
|
|
99
103
|
exports.useDialog = useDialog.useDialog;
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../packages/el-plus/index.ts"],"sourcesContent":["import type { App, Plugin } from 'vue'\nimport components from './components'\nimport { version } from './package.json'\nimport * as plugins from './plugins'\n// import type { RouteRecordRaw } from 'vue-router'\n\nconst INSTALLED_KEY = Symbol('INSTALLED_KEY')\nconst provideGlobalConfig = (config, app) => {}\nexport type EpOptions = {\n // routes?: RouteRecordRaw\n}\nexport const install = (app: App, options?: EpOptions) => {\n if (app[INSTALLED_KEY]) return // 防止多次use导致重复安装注册,控制台警告\n app[INSTALLED_KEY] = true\n components.forEach((c) => app.use(c))\n Object.values(plugins).forEach((p) => app.use(p))\n if (options) {\n provideGlobalConfig(options, app)\n }\n}\n\nconst plugin: Plugin & { version: string } = {\n install,\n version,\n}\nexport default plugin\nexport * from '@el-plus/components/index'\nexport * from '@el-plus/hooks'\nexport * from '@el-plus/directives'\n"],"names":["components","plugins","version"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../packages/el-plus/index.ts"],"sourcesContent":["import type { App, Plugin } from 'vue'\nimport components from './components'\nimport { version } from './package.json'\nimport * as plugins from './plugins'\n// import type { RouteRecordRaw } from 'vue-router'\n\nconst INSTALLED_KEY = Symbol('INSTALLED_KEY')\nconst provideGlobalConfig = (config, app) => {}\nexport type EpOptions = {\n // routes?: RouteRecordRaw\n}\nexport const install = (app: App, options?: EpOptions) => {\n if (app[INSTALLED_KEY]) return // 防止多次use导致重复安装注册,控制台警告\n app[INSTALLED_KEY] = true\n components.forEach((c) => app.use(c))\n Object.values(plugins).forEach((p) => app.use(p))\n if (options) {\n provideGlobalConfig(options, app)\n }\n}\n\nconst plugin: Plugin & { version: string } = {\n install,\n version,\n}\nexport default plugin\nexport * from '@el-plus/components/index'\nexport * from '@el-plus/hooks'\nexport * from '@el-plus/directives'\n"],"names":["components","plugins","version"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA,MAAM,aAAA,0BAAuB,eAAe,CAAA;AAKrC,MAAM,OAAA,GAAU,CAAC,GAAA,EAAU,OAAA,KAAwB;AACxD,EAAA,IAAI,GAAA,CAAI,aAAa,CAAA,EAAG;AACxB,EAAA,GAAA,CAAI,aAAa,CAAA,GAAI,IAAA;AACrB,EAAAA,kBAAA,CAAW,QAAQ,CAAC,CAAA,KAAM,GAAA,CAAI,GAAA,CAAI,CAAC,CAAC,CAAA;AACpC,EAAA,MAAA,CAAO,MAAA,CAAOC,OAAO,CAAA,CAAE,OAAA,CAAQ,CAAC,CAAA,KAAM,GAAA,CAAI,GAAA,CAAI,CAAC,CAAC,CAAA;AAIlD;AAEA,MAAM,MAAA,GAAuC;AAAA,EAC3C,OAAA;AAAA,WACAC;AACF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
package/lib/package.json.js
CHANGED
package/lib/utils/env.d.ts
CHANGED
package/lib/utils/env.js
CHANGED
|
@@ -21,7 +21,16 @@ const getBaseUrl = (env = "sit", isOpenApi) => {
|
|
|
21
21
|
}
|
|
22
22
|
return url;
|
|
23
23
|
};
|
|
24
|
+
const getLocationEnv = () => {
|
|
25
|
+
const urlParams = new URLSearchParams(window.location.search);
|
|
26
|
+
const devProxy = urlParams.get("devProxy");
|
|
27
|
+
if (devProxy) {
|
|
28
|
+
return devProxy.split("-")[0].replace("/", "");
|
|
29
|
+
}
|
|
30
|
+
return "";
|
|
31
|
+
};
|
|
24
32
|
|
|
25
33
|
exports.getBaseUrl = getBaseUrl;
|
|
26
34
|
exports.getEnv = getEnv;
|
|
35
|
+
exports.getLocationEnv = getLocationEnv;
|
|
27
36
|
//# sourceMappingURL=env.js.map
|
package/lib/utils/env.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"env.js","sources":["../../../../packages/utils/env.ts"],"sourcesContent":["const getEnv = (mark = 'hxjf', hostname = window.location.hostname) => {\n const tag = hostname.match(new RegExp(`.*(?=${mark})`))\n if (!tag) {\n return 'local'\n }\n return tag[0] ? tag[0].replace('-', '') : 'production'\n}\n\nconst getBaseUrl = (env = 'sit', isOpenApi?: boolean) => {\n let url = ''\n if (getEnv() === 'local') {\n const query: {\n devProxy?: string\n [propName: string]: string | undefined\n } = {}\n // for (const key in new URLSearchParams(location.search.slice(1))) {\n // query[key] = location.search.slice(1)[key]\n // }\n query.devProxy =\n location.search.slice(1).split('=')[1] ||\n location.hash.slice(1).split('=')[1]\n // const query = querystring.parse(location.search.slice(1));\n const devProxy = query.devProxy || `${env}-api`\n url = `${devProxy}${isOpenApi ? '/vue-openapi' : ''}`\n } else if (isOpenApi) {\n url = '/vue-openapi'\n } else {\n url = '/vue-api'\n }\n return url\n}\n\nexport { getEnv, getBaseUrl }\n"],"names":[],"mappings":";;AAAA,MAAM,SAAS,CAAC,IAAA,GAAO,QAAQ,QAAA,GAAW,MAAA,CAAO,SAAS,QAAA,KAAa;AACrE,EAAA,MAAM,GAAA,GAAM,SAAS,KAAA,CAAM,IAAI,OAAO,CAAA,KAAA,EAAQ,IAAI,GAAG,CAAC,CAAA;AACtD,EAAA,IAAI,CAAC,GAAA,EAAK;AACR,IAAA,OAAO,OAAA;AAAA,EACT;AACA,EAAA,OAAO,GAAA,CAAI,CAAC,CAAA,GAAI,GAAA,CAAI,CAAC,CAAA,CAAE,OAAA,CAAQ,GAAA,EAAK,EAAE,CAAA,GAAI,YAAA;AAC5C;AAEA,MAAM,UAAA,GAAa,CAAC,GAAA,GAAM,KAAA,EAAO,SAAA,KAAwB;AACvD,EAAA,IAAI,GAAA,GAAM,EAAA;AACV,EAAA,IAAI,MAAA,OAAa,OAAA,EAAS;AACxB,IAAA,MAAM,QAGF,EAAC;AAIL,IAAA,KAAA,CAAM,WACJ,QAAA,CAAS,MAAA,CAAO,MAAM,CAAC,CAAA,CAAE,MAAM,GAAG,CAAA,CAAE,CAAC,CAAA,IACrC,QAAA,CAAS,KAAK,KAAA,CAAM,CAAC,EAAE,KAAA,CAAM,GAAG,EAAE,CAAC,CAAA;AAErC,IAAA,MAAM,QAAA,GAAW,KAAA,CAAM,QAAA,IAAY,CAAA,EAAG,GAAG,CAAA,IAAA,CAAA;AACzC,IAAA,GAAA,GAAM,CAAA,EAAG,QAAQ,CAAA,EAAG,SAAA,GAAY,iBAAiB,EAAE,CAAA,CAAA;AAAA,EACrD,WAAW,SAAA,EAAW;AACpB,IAAA,GAAA,GAAM,cAAA;AAAA,EACR,CAAA,MAAO;AACL,IAAA,GAAA,GAAM,UAAA;AAAA,EACR;AACA,EAAA,OAAO,GAAA;AACT
|
|
1
|
+
{"version":3,"file":"env.js","sources":["../../../../packages/utils/env.ts"],"sourcesContent":["const getEnv = (mark = 'hxjf', hostname = window.location.hostname) => {\n const tag = hostname.match(new RegExp(`.*(?=${mark})`))\n if (!tag) {\n return 'local'\n }\n return tag[0] ? tag[0].replace('-', '') : 'production'\n}\n\nconst getBaseUrl = (env = 'sit', isOpenApi?: boolean) => {\n let url = ''\n if (getEnv() === 'local') {\n const query: {\n devProxy?: string\n [propName: string]: string | undefined\n } = {}\n // for (const key in new URLSearchParams(location.search.slice(1))) {\n // query[key] = location.search.slice(1)[key]\n // }\n query.devProxy =\n location.search.slice(1).split('=')[1] ||\n location.hash.slice(1).split('=')[1]\n // const query = querystring.parse(location.search.slice(1));\n const devProxy = query.devProxy || `${env}-api`\n url = `${devProxy}${isOpenApi ? '/vue-openapi' : ''}`\n } else if (isOpenApi) {\n url = '/vue-openapi'\n } else {\n url = '/vue-api'\n }\n return url\n}\nconst getLocationEnv = () => {\n const urlParams = new URLSearchParams(window.location.search)\n const devProxy = urlParams.get('devProxy')\n if (devProxy) {\n return devProxy.split('-')[0].replace('/', '')\n }\n return ''\n}\n\nexport { getEnv, getBaseUrl, getLocationEnv }\n"],"names":[],"mappings":";;AAAA,MAAM,SAAS,CAAC,IAAA,GAAO,QAAQ,QAAA,GAAW,MAAA,CAAO,SAAS,QAAA,KAAa;AACrE,EAAA,MAAM,GAAA,GAAM,SAAS,KAAA,CAAM,IAAI,OAAO,CAAA,KAAA,EAAQ,IAAI,GAAG,CAAC,CAAA;AACtD,EAAA,IAAI,CAAC,GAAA,EAAK;AACR,IAAA,OAAO,OAAA;AAAA,EACT;AACA,EAAA,OAAO,GAAA,CAAI,CAAC,CAAA,GAAI,GAAA,CAAI,CAAC,CAAA,CAAE,OAAA,CAAQ,GAAA,EAAK,EAAE,CAAA,GAAI,YAAA;AAC5C;AAEA,MAAM,UAAA,GAAa,CAAC,GAAA,GAAM,KAAA,EAAO,SAAA,KAAwB;AACvD,EAAA,IAAI,GAAA,GAAM,EAAA;AACV,EAAA,IAAI,MAAA,OAAa,OAAA,EAAS;AACxB,IAAA,MAAM,QAGF,EAAC;AAIL,IAAA,KAAA,CAAM,WACJ,QAAA,CAAS,MAAA,CAAO,MAAM,CAAC,CAAA,CAAE,MAAM,GAAG,CAAA,CAAE,CAAC,CAAA,IACrC,QAAA,CAAS,KAAK,KAAA,CAAM,CAAC,EAAE,KAAA,CAAM,GAAG,EAAE,CAAC,CAAA;AAErC,IAAA,MAAM,QAAA,GAAW,KAAA,CAAM,QAAA,IAAY,CAAA,EAAG,GAAG,CAAA,IAAA,CAAA;AACzC,IAAA,GAAA,GAAM,CAAA,EAAG,QAAQ,CAAA,EAAG,SAAA,GAAY,iBAAiB,EAAE,CAAA,CAAA;AAAA,EACrD,WAAW,SAAA,EAAW;AACpB,IAAA,GAAA,GAAM,cAAA;AAAA,EACR,CAAA,MAAO;AACL,IAAA,GAAA,GAAM,UAAA;AAAA,EACR;AACA,EAAA,OAAO,GAAA;AACT;AACA,MAAM,iBAAiB,MAAM;AAC3B,EAAA,MAAM,SAAA,GAAY,IAAI,eAAA,CAAgB,MAAA,CAAO,SAAS,MAAM,CAAA;AAC5D,EAAA,MAAM,QAAA,GAAW,SAAA,CAAU,GAAA,CAAI,UAAU,CAAA;AACzC,EAAA,IAAI,QAAA,EAAU;AACZ,IAAA,OAAO,QAAA,CAAS,MAAM,GAAG,CAAA,CAAE,CAAC,CAAA,CAAE,OAAA,CAAQ,KAAK,EAAE,CAAA;AAAA,EAC/C;AACA,EAAA,OAAO,EAAA;AACT;;;;;;"}
|
package/lib/utils/file.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
export declare const getFullUrl: (filePath: string) => string;
|
|
1
2
|
export declare function downloadFile({ api, blob, data, src, fileName, config, }: {
|
|
2
3
|
api?: string;
|
|
3
4
|
blob?: boolean;
|
|
@@ -15,4 +16,5 @@ interface ImportFileOptions {
|
|
|
15
16
|
extraData?: Record<string, any>;
|
|
16
17
|
}
|
|
17
18
|
export declare const importFile: ({ accept, multiple, fieldName, failedFileName, extraData, api, }: ImportFileOptions) => Promise<unknown>;
|
|
19
|
+
export declare const previewFile: (url: string) => void;
|
|
18
20
|
export {};
|
package/lib/utils/file.js
CHANGED
|
@@ -3,7 +3,11 @@
|
|
|
3
3
|
var index = require('./http/index.js');
|
|
4
4
|
var elementPlus = require('element-plus');
|
|
5
5
|
var env = require('./env.js');
|
|
6
|
+
var jsBase64 = require('js-base64');
|
|
6
7
|
|
|
8
|
+
const getFullUrl = (filePath) => {
|
|
9
|
+
return filePath.indexOf("hongxinshop.com") > -1 ? filePath : `${window.location.protocol}${env.getEnv() === "local" ? `//${env.getLocationEnv()}-hxjf.hongxinshop.com` : ""}/image/${filePath}`;
|
|
10
|
+
};
|
|
7
11
|
const downloadSrc = ({
|
|
8
12
|
src,
|
|
9
13
|
fileName,
|
|
@@ -16,7 +20,7 @@ const downloadSrc = ({
|
|
|
16
20
|
document.body.appendChild(a);
|
|
17
21
|
const event = new MouseEvent("click");
|
|
18
22
|
a.download = fileName;
|
|
19
|
-
a.href = blob ? src :
|
|
23
|
+
a.href = blob ? src : getFullUrl(src);
|
|
20
24
|
a.target = "_blank";
|
|
21
25
|
a.dispatchEvent(event);
|
|
22
26
|
document.body.removeChild(a);
|
|
@@ -130,7 +134,15 @@ const importFile = async ({
|
|
|
130
134
|
input.click();
|
|
131
135
|
});
|
|
132
136
|
};
|
|
137
|
+
const previewFile = (url) => {
|
|
138
|
+
url = getFullUrl(url);
|
|
139
|
+
const origin = getFullUrl("").replace("/image/", "");
|
|
140
|
+
const previewUrl = `${origin}/kfv/onlinePreview?url=${jsBase64.encode(url)}`;
|
|
141
|
+
window.open(previewUrl, "_blank");
|
|
142
|
+
};
|
|
133
143
|
|
|
134
144
|
exports.downloadFile = downloadFile;
|
|
145
|
+
exports.getFullUrl = getFullUrl;
|
|
135
146
|
exports.importFile = importFile;
|
|
147
|
+
exports.previewFile = previewFile;
|
|
136
148
|
//# sourceMappingURL=file.js.map
|
package/lib/utils/file.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file.js","sources":["../../../../packages/utils/file.ts"],"sourcesContent":["import { http, type AxiosResponse } from './http'\nimport { ElMessage, ElMessageBox } from 'element-plus'\nimport { getEnv } from './env'\nconst downloadSrc = ({\n src,\n fileName,\n blob,\n}: {\n src: string\n fileName: string\n blob?: boolean\n}) => {\n if (src) {\n fileName = fileName || src.split('/')[src.split('/').length - 1]\n const a = document.createElement('a')\n a.style.display = 'none'\n document.body.appendChild(a)\n const event = new MouseEvent('click')\n a.download = fileName\n a.href = blob\n ? src\n : src.indexOf('hongxinshop.com') > -1\n ? src\n : `${getEnv() === 'local' ? '//sit-hxjf.hongxinshop.com' : ''}/image/${src}`\n\n a.target = '_blank'\n a.dispatchEvent(event)\n document.body.removeChild(a)\n }\n}\n\n// 下载文件\nexport async function downloadFile({\n api = '',\n blob,\n data = {},\n src,\n fileName = '',\n config = {},\n}: {\n api?: string\n blob?: boolean\n data?: Record<string, any>\n src?: string\n fileName?: string\n config?: Record<string, any>\n}) {\n if (src) {\n downloadSrc({ src, fileName })\n return\n }\n http\n .request<any, AxiosResponse>(api, {\n method: config.method || 'post',\n data,\n loading: true,\n responseType: blob ? 'blob' : undefined,\n responseReturn: 'raw',\n ...config,\n })\n .then((res) => {\n const { headers } = res\n if (!res.data.success) {\n return ElMessage.error(res.data.msg)\n }\n const data = res.data?.data || res.data?.data?.url || ''\n const lowerHeaders = {}\n for (const key in headers) {\n lowerHeaders[key.toLowerCase()] = headers[key]\n }\n let src = ''\n if (blob) {\n const contentDisposition = lowerHeaders['content-disposition'] || ''\n fileName =\n fileName ||\n decodeURIComponent(contentDisposition.split('filename=')[1])\n const blob = new Blob([data], {\n type: headers['content-type'],\n })\n src = window.URL.createObjectURL(blob)\n setTimeout(() => window.URL.revokeObjectURL(src), 100) // 释放内存\n } else {\n src = data\n }\n downloadSrc({ src, fileName, blob })\n })\n}\n\n// 导入文件\ninterface ImportFileOptions {\n accept?: string\n multiple?: boolean\n fieldName?: string\n api?: string\n failedFileName?: string // 导入失败时提示的文件名\n extraData?: Record<string, any> // 随文件一同发送的其他表单数据\n}\nexport const importFile = async ({\n accept = '*',\n multiple = false,\n fieldName = 'file',\n failedFileName = '',\n extraData = {},\n api = '',\n}: ImportFileOptions) => {\n return new Promise((resolve, reject) => {\n const input = document.createElement('input')\n input.type = 'file'\n input.accept = accept\n input.multiple = multiple\n const formData = new FormData()\n Object.keys(extraData).forEach((key) => {\n formData.append(key, extraData[key])\n })\n input.onchange = async (event: Event) => {\n const target = event.target as HTMLInputElement\n const files = target.files\n if (files && files.length > 0) {\n if (!multiple) {\n formData.append(fieldName, files[0])\n } else {\n Array.from(files).forEach((file, index) => {\n formData.append(`${fieldName}${index}`, file)\n })\n }\n try {\n const { data } = await http.request<any, AxiosResponse>(api, {\n method: 'post',\n data: formData,\n loading: true,\n responseReturn: 'raw',\n transformRequest: [\n function (data) {\n return data\n },\n ],\n })\n if (data.success) {\n return resolve(data.data)\n }\n if (data.code === -2) {\n const fileName =\n failedFileName ||\n data.data.split('/')[data.data.split('/').length - 1]\n const url = `${window.location.origin}/image/${data.data}`\n const failedHtml = `<div style=\"word-break: break-all;\">失败详情:<a style=\"color:#409EFF;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap\" title=\"${url}\" href=\"${url}\" download=\"${fileName}\">${url}</a></div>`\n ElMessageBox.alert(failedHtml, '提示', {\n confirmButtonText: '确定',\n type: 'error',\n dangerouslyUseHTMLString: true,\n })\n return\n }\n return ElMessage.error(data.msg)\n } catch (error) {\n console.error(error)\n }\n input.onchange = null\n }\n }\n input.click()\n })\n}\n"],"names":["getEnv","http","ElMessage","data","src","blob","ElMessageBox"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"file.js","sources":["../../../../packages/utils/file.ts"],"sourcesContent":["import { http, type AxiosResponse } from './http'\nimport { ElMessage, ElMessageBox } from 'element-plus'\nimport { getEnv, getLocationEnv } from './env'\nimport { encode } from 'js-base64'\n/**\n * 获取全路径\n * @param filePath 附件地址\n * @returns 全路径\n */\n\nexport const getFullUrl = (filePath: string) => {\n return filePath.indexOf('hongxinshop.com') > -1\n ? filePath\n : `${window.location.protocol}${getEnv() === 'local' ? `//${getLocationEnv()}-hxjf.hongxinshop.com` : ''}/image/${filePath}`\n}\nconst downloadSrc = ({\n src,\n fileName,\n blob,\n}: {\n src: string\n fileName: string\n blob?: boolean\n}) => {\n if (src) {\n fileName = fileName || src.split('/')[src.split('/').length - 1]\n const a = document.createElement('a')\n a.style.display = 'none'\n document.body.appendChild(a)\n const event = new MouseEvent('click')\n a.download = fileName\n a.href = blob ? src : getFullUrl(src)\n\n a.target = '_blank'\n a.dispatchEvent(event)\n document.body.removeChild(a)\n }\n}\n\n// 下载文件\nexport async function downloadFile({\n api = '',\n blob,\n data = {},\n src,\n fileName = '',\n config = {},\n}: {\n api?: string\n blob?: boolean\n data?: Record<string, any>\n src?: string\n fileName?: string\n config?: Record<string, any>\n}) {\n if (src) {\n downloadSrc({ src, fileName })\n return\n }\n http\n .request<any, AxiosResponse>(api, {\n method: config.method || 'post',\n data,\n loading: true,\n responseType: blob ? 'blob' : undefined,\n responseReturn: 'raw',\n ...config,\n })\n .then((res) => {\n const { headers } = res\n if (!res.data.success) {\n return ElMessage.error(res.data.msg)\n }\n const data = res.data?.data || res.data?.data?.url || ''\n const lowerHeaders = {}\n for (const key in headers) {\n lowerHeaders[key.toLowerCase()] = headers[key]\n }\n let src = ''\n if (blob) {\n const contentDisposition = lowerHeaders['content-disposition'] || ''\n fileName =\n fileName ||\n decodeURIComponent(contentDisposition.split('filename=')[1])\n const blob = new Blob([data], {\n type: headers['content-type'],\n })\n src = window.URL.createObjectURL(blob)\n setTimeout(() => window.URL.revokeObjectURL(src), 100) // 释放内存\n } else {\n src = data\n }\n downloadSrc({ src, fileName, blob })\n })\n}\n\n// 导入文件\ninterface ImportFileOptions {\n accept?: string\n multiple?: boolean\n fieldName?: string\n api?: string\n failedFileName?: string // 导入失败时提示的文件名\n extraData?: Record<string, any> // 随文件一同发送的其他表单数据\n}\nexport const importFile = async ({\n accept = '*',\n multiple = false,\n fieldName = 'file',\n failedFileName = '',\n extraData = {},\n api = '',\n}: ImportFileOptions) => {\n return new Promise((resolve, reject) => {\n const input = document.createElement('input')\n input.type = 'file'\n input.accept = accept\n input.multiple = multiple\n const formData = new FormData()\n Object.keys(extraData).forEach((key) => {\n formData.append(key, extraData[key])\n })\n input.onchange = async (event: Event) => {\n const target = event.target as HTMLInputElement\n const files = target.files\n if (files && files.length > 0) {\n if (!multiple) {\n formData.append(fieldName, files[0])\n } else {\n Array.from(files).forEach((file, index) => {\n formData.append(`${fieldName}${index}`, file)\n })\n }\n try {\n const { data } = await http.request<any, AxiosResponse>(api, {\n method: 'post',\n data: formData,\n loading: true,\n responseReturn: 'raw',\n transformRequest: [\n function (data) {\n return data\n },\n ],\n })\n if (data.success) {\n return resolve(data.data)\n }\n if (data.code === -2) {\n const fileName =\n failedFileName ||\n data.data.split('/')[data.data.split('/').length - 1]\n const url = `${window.location.origin}/image/${data.data}`\n const failedHtml = `<div style=\"word-break: break-all;\">失败详情:<a style=\"color:#409EFF;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap\" title=\"${url}\" href=\"${url}\" download=\"${fileName}\">${url}</a></div>`\n ElMessageBox.alert(failedHtml, '提示', {\n confirmButtonText: '确定',\n type: 'error',\n dangerouslyUseHTMLString: true,\n })\n return\n }\n return ElMessage.error(data.msg)\n } catch (error) {\n console.error(error)\n }\n input.onchange = null\n }\n }\n input.click()\n })\n}\n\n// 预览文件\nexport const previewFile = (url: string) => {\n url = getFullUrl(url)\n const origin = getFullUrl('').replace('/image/', '')\n const previewUrl = `${origin}/kfv/onlinePreview?url=${encode(url)}`\n window.open(previewUrl, '_blank')\n}\n"],"names":["getEnv","getLocationEnv","http","ElMessage","data","src","blob","ElMessageBox","encode"],"mappings":"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"}
|
package/lib/utils/index.js
CHANGED
|
@@ -32,6 +32,7 @@ exports.http = index.http;
|
|
|
32
32
|
exports.bus = mitt.bus;
|
|
33
33
|
exports.getBaseUrl = env.getBaseUrl;
|
|
34
34
|
exports.getEnv = env.getEnv;
|
|
35
|
+
exports.getLocationEnv = env.getLocationEnv;
|
|
35
36
|
exports.gotoTaskTrace = navigation.gotoTaskTrace;
|
|
36
37
|
exports.Cookies = Cookies;
|
|
37
38
|
//# sourceMappingURL=index.js.map
|
package/lib/utils/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|