el-plus 0.0.51 → 0.0.52
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 +6 -0
- package/dist/index.full.js +21 -8
- 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 +21 -8
- package/es/components/attachment/src/attachment.d.ts +4 -3
- package/es/components/attachment/src/attachment.mjs +1 -2
- package/es/components/attachment/src/attachment.mjs.map +1 -1
- package/es/components/attachment/src/attachment.vue2.mjs +2 -2
- package/es/components/attachment/src/attachment.vue2.mjs.map +1 -1
- package/es/components/attachment/src/use-attachment.mjs +2 -0
- package/es/components/attachment/src/use-attachment.mjs.map +1 -1
- package/es/components/header/index.d.ts +90 -0
- package/es/components/header/src/header.d.ts +9 -0
- package/es/components/header/src/header.mjs +10 -0
- package/es/components/header/src/header.mjs.map +1 -1
- package/es/components/header/src/header.vue.d.ts +38 -0
- package/es/components/header/src/header.vue2.mjs +4 -3
- package/es/components/header/src/header.vue2.mjs.map +1 -1
- package/es/hooks/dialog/use-form-dialog.mjs +1 -1
- package/es/hooks/dialog/use-form-dialog.mjs.map +1 -1
- package/es/package.json.mjs +1 -1
- package/lib/components/attachment/src/attachment.d.ts +4 -3
- package/lib/components/attachment/src/attachment.js +1 -2
- package/lib/components/attachment/src/attachment.js.map +1 -1
- package/lib/components/attachment/src/attachment.vue2.js +2 -2
- package/lib/components/attachment/src/attachment.vue2.js.map +1 -1
- package/lib/components/attachment/src/use-attachment.js +2 -0
- package/lib/components/attachment/src/use-attachment.js.map +1 -1
- package/lib/components/header/index.d.ts +90 -0
- package/lib/components/header/src/header.d.ts +9 -0
- package/lib/components/header/src/header.js +10 -0
- package/lib/components/header/src/header.js.map +1 -1
- package/lib/components/header/src/header.vue.d.ts +38 -0
- package/lib/components/header/src/header.vue2.js +3 -2
- package/lib/components/header/src/header.vue2.js.map +1 -1
- package/lib/hooks/dialog/use-form-dialog.js +1 -1
- package/lib/hooks/dialog/use-form-dialog.js.map +1 -1
- package/lib/package.json.js +1 -1
- package/package.json +1 -1
package/dist/index.full.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! ElPlus v0.0.
|
|
1
|
+
/*! ElPlus v0.0.52 */
|
|
2
2
|
|
|
3
3
|
import { useAttrs, getCurrentInstance, inject, provide, ref, nextTick, defineComponent, computed, createVNode, Fragment, withDirectives, resolveComponent, mergeProps, resolveDirective, useTemplateRef, createTextVNode, h, mergeModels, useModel, createElementBlock, openBlock, normalizeStyle, normalizeClass, unref, createCommentVNode, withCtx, renderSlot, renderList, createBlock, vShow, toDisplayString, reactive, useSlots, watch, onMounted, createSlots, normalizeProps, guardReactiveProps, markRaw, Transition, shallowReactive, isVNode, render, createElementVNode, toRaw } from 'vue';
|
|
4
4
|
import { buttonProps, useLocale as useLocale$1, ElLoading, ElMessage, ElMessageBox, formProps as formProps$1, formEmits as formEmits$1, ElTooltip, formItemProps as formItemProps$1, ElFormItem, ElForm, ElRow, ElCol, inputProps as inputProps$1, inputEmits as inputEmits$1, configProviderContextKey, ElConfigProvider, ElDialog, ElButton, ElTable, ElIcon, selectProps as selectProps$1, selectEmits as selectEmits$1, ElPageHeader, datePickerProps, linkProps as linkProps$1, ElSkeleton } from 'element-plus';
|
|
@@ -1995,7 +1995,7 @@ const useFormDialog = (options = {}) => {
|
|
|
1995
1995
|
},
|
|
1996
1996
|
onConfirm: async (resolve) => {
|
|
1997
1997
|
await formRef.value.validate();
|
|
1998
|
-
resolve(JSON.parse(JSON.stringify(formData)));
|
|
1998
|
+
resolve(isUseComFormData ? JSON.parse(JSON.stringify(formData)) : formData);
|
|
1999
1999
|
resetForm();
|
|
2000
2000
|
},
|
|
2001
2001
|
onCancel: async (resolve) => {
|
|
@@ -3199,6 +3199,16 @@ const headerProps = {
|
|
|
3199
3199
|
isShowAttachmentButton: {
|
|
3200
3200
|
type: Boolean,
|
|
3201
3201
|
default: false
|
|
3202
|
+
},
|
|
3203
|
+
// 附件列表
|
|
3204
|
+
fileList: {
|
|
3205
|
+
type: Array,
|
|
3206
|
+
default: () => []
|
|
3207
|
+
},
|
|
3208
|
+
attachmentProps: {
|
|
3209
|
+
type: Object,
|
|
3210
|
+
default: () => {
|
|
3211
|
+
}
|
|
3202
3212
|
}
|
|
3203
3213
|
};
|
|
3204
3214
|
const headerEmits = {};
|
|
@@ -3363,7 +3373,7 @@ const attachmentProps = {
|
|
|
3363
3373
|
},
|
|
3364
3374
|
// 页面模式
|
|
3365
3375
|
mode: {
|
|
3366
|
-
|
|
3376
|
+
type: String
|
|
3367
3377
|
},
|
|
3368
3378
|
// 展示模式
|
|
3369
3379
|
openType: {
|
|
@@ -3619,6 +3629,8 @@ const useAttachment = (props, { data }) => {
|
|
|
3619
3629
|
const onConfirm = async (resolve) => {
|
|
3620
3630
|
await tableRef.value?.validate();
|
|
3621
3631
|
resolve(data.value);
|
|
3632
|
+
toBeConfirmData = [];
|
|
3633
|
+
toBeDeleteData = {};
|
|
3622
3634
|
};
|
|
3623
3635
|
const onCancel = (resolve) => {
|
|
3624
3636
|
if (toBeConfirmData.length) {
|
|
@@ -3696,7 +3708,7 @@ var _sfc_main$4 = /* @__PURE__ */ defineComponent({
|
|
|
3696
3708
|
return (_ctx, _cache) => {
|
|
3697
3709
|
const _component_EpButtons = resolveComponent("EpButtons");
|
|
3698
3710
|
return openBlock(), createElementBlock(Fragment, null, [
|
|
3699
|
-
|
|
3711
|
+
props.isShowOpenDialogButton ? (openBlock(), createBlock(unref(ElButton), {
|
|
3700
3712
|
key: 0,
|
|
3701
3713
|
type: "primary",
|
|
3702
3714
|
plain: "",
|
|
@@ -3712,7 +3724,7 @@ var _sfc_main$4 = /* @__PURE__ */ defineComponent({
|
|
|
3712
3724
|
createVNode(unref(AttachmentDialog), null, {
|
|
3713
3725
|
default: withCtx(() => [
|
|
3714
3726
|
createElementVNode("div", { style: { "margin-bottom": "10px", "text-align": "right" } }, [
|
|
3715
|
-
|
|
3727
|
+
props.openType === "dialog" ? (openBlock(), createBlock(_component_EpButtons, {
|
|
3716
3728
|
key: 0,
|
|
3717
3729
|
type: "primary",
|
|
3718
3730
|
list: [
|
|
@@ -3771,10 +3783,11 @@ var _sfc_main$3 = /* @__PURE__ */ defineComponent({
|
|
|
3771
3783
|
_: 1
|
|
3772
3784
|
}, 8, ["onBack"])) : createCommentVNode("", true),
|
|
3773
3785
|
createVNode(unref(EpButtons), { list: unref(buttons) }, null, 8, ["list"]),
|
|
3774
|
-
props.isShowAttachmentButton ? (openBlock(), createBlock(unref(EpAttachment), {
|
|
3786
|
+
props.isShowAttachmentButton ? (openBlock(), createBlock(unref(EpAttachment), mergeProps({
|
|
3775
3787
|
key: 1,
|
|
3788
|
+
"model-value": props.fileList,
|
|
3776
3789
|
"is-show-open-dialog-button": ""
|
|
3777
|
-
})) : createCommentVNode("", true)
|
|
3790
|
+
}, props.attachmentProps), null, 16, ["model-value"])) : createCommentVNode("", true)
|
|
3778
3791
|
], 6);
|
|
3779
3792
|
};
|
|
3780
3793
|
}
|
|
@@ -4159,7 +4172,7 @@ var components = [
|
|
|
4159
4172
|
EpUniVue
|
|
4160
4173
|
];
|
|
4161
4174
|
|
|
4162
|
-
var version = "0.0.
|
|
4175
|
+
var version = "0.0.52";
|
|
4163
4176
|
|
|
4164
4177
|
var globalProperties = {
|
|
4165
4178
|
install(app) {
|
|
@@ -1,11 +1,12 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { ExtractPublicPropTypes, PropType } from 'vue';
|
|
2
|
+
import type { PageMode } from 'el-plus/es/hooks/use-navigation';
|
|
2
3
|
export declare const attachmentProps: {
|
|
3
4
|
readonly formatColumns: {
|
|
4
5
|
readonly type: PropType<import("el-plus/es/components/table").TableColumn[]>;
|
|
5
6
|
readonly default: () => never[];
|
|
6
7
|
};
|
|
7
8
|
readonly mode: {
|
|
8
|
-
readonly type: PropType<
|
|
9
|
+
readonly type: PropType<PageMode>;
|
|
9
10
|
};
|
|
10
11
|
readonly openType: {
|
|
11
12
|
readonly type: PropType<"dialog" | "normal">;
|
|
@@ -24,4 +25,4 @@ export declare const attachmentProps: {
|
|
|
24
25
|
readonly default: false;
|
|
25
26
|
};
|
|
26
27
|
};
|
|
27
|
-
export type AttachmentProps =
|
|
28
|
+
export type AttachmentProps = ExtractPublicPropTypes<typeof attachmentProps>;
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { headerProps } from '../../header/src/header.mjs';
|
|
2
1
|
import { tableProps } from '../../table/src/table.mjs';
|
|
3
2
|
|
|
4
3
|
const attachmentProps = {
|
|
@@ -8,7 +7,7 @@ const attachmentProps = {
|
|
|
8
7
|
},
|
|
9
8
|
// 页面模式
|
|
10
9
|
mode: {
|
|
11
|
-
|
|
10
|
+
type: String
|
|
12
11
|
},
|
|
13
12
|
// 展示模式
|
|
14
13
|
openType: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"attachment.mjs","sources":["../../../../../../packages/components/attachment/src/attachment.ts"],"sourcesContent":["import type {
|
|
1
|
+
{"version":3,"file":"attachment.mjs","sources":["../../../../../../packages/components/attachment/src/attachment.ts"],"sourcesContent":["import type { ExtractPublicPropTypes, PropType } from 'vue'\nimport { tableProps } from '@el-plus/components/table'\nimport type { PageMode } from '@el-plus/hooks/use-navigation'\n\nexport const attachmentProps = {\n // 格式化列\n formatColumns: {\n ...tableProps.formatColumns,\n },\n // 页面模式\n mode: {\n type: String as PropType<PageMode>,\n },\n // 展示模式\n openType: {\n type: String as PropType<'dialog' | 'normal'>,\n default: 'dialog',\n },\n // 是否需要类型\n isType: {\n type: Boolean,\n default: true,\n },\n // 是否需要备注\n isNote: {\n type: Boolean,\n default: false,\n },\n // 是否需要打开弹窗按钮\n isShowOpenDialogButton: {\n type: Boolean,\n default: false,\n },\n} as const\nexport type AttachmentProps = ExtractPublicPropTypes<typeof attachmentProps>\n"],"names":[],"mappings":";;AAIO,MAAM,eAAA,GAAkB;AAAA;AAAA,EAE7B,aAAA,EAAe;AAAA,IACb,GAAG,UAAA,CAAW;AAAA,GAChB;AAAA;AAAA,EAEA,IAAA,EAAM;AAAA,IACJ,IAAA,EAAM;AAAA,GACR;AAAA;AAAA,EAEA,QAAA,EAAU;AAAA,IACR,IAAA,EAAM,MAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA;AAAA,EAEA,MAAA,EAAQ;AAAA,IACN,IAAA,EAAM,OAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA;AAAA,EAEA,MAAA,EAAQ;AAAA,IACN,IAAA,EAAM,OAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA;AAAA,EAEA,sBAAA,EAAwB;AAAA,IACtB,IAAA,EAAM,OAAA;AAAA,IACN,OAAA,EAAS;AAAA;AAEb;;;;"}
|
|
@@ -56,7 +56,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
56
56
|
return (_ctx, _cache) => {
|
|
57
57
|
const _component_EpButtons = resolveComponent("EpButtons");
|
|
58
58
|
return openBlock(), createElementBlock(Fragment, null, [
|
|
59
|
-
|
|
59
|
+
props.isShowOpenDialogButton ? (openBlock(), createBlock(unref(ElButton), {
|
|
60
60
|
key: 0,
|
|
61
61
|
type: "primary",
|
|
62
62
|
plain: "",
|
|
@@ -72,7 +72,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
72
72
|
createVNode(unref(AttachmentDialog), null, {
|
|
73
73
|
default: withCtx(() => [
|
|
74
74
|
createElementVNode("div", { style: { "margin-bottom": "10px", "text-align": "right" } }, [
|
|
75
|
-
|
|
75
|
+
props.openType === "dialog" ? (openBlock(), createBlock(_component_EpButtons, {
|
|
76
76
|
key: 0,
|
|
77
77
|
type: "primary",
|
|
78
78
|
list: [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"attachment.vue2.mjs","sources":["../../../../../../packages/components/attachment/src/attachment.vue"],"sourcesContent":["<template>\n <ElButton\n v-if=\"isShowOpenDialogButton\"\n type=\"primary\"\n plain\n size=\"small\"\n :class=\"bem.e('handler')\"\n @click=\"open\"\n >\n {{ t('ep.attachment.manageAttachment') }}({{ modelValue?.length || 0 }})\n </ElButton>\n <AttachmentDialog>\n <div style=\"margin-bottom: 10px; text-align: right\">\n <EpButtons\n v-if=\"openType === 'dialog'\"\n type=\"primary\"\n :list=\"[\n {\n name: t('ep.attachment.addAttachment'),\n type: 'primary',\n onClick: addAttachment,\n },\n ]\"\n />\n </div>\n\n <EpTable\n ref=\"tableRef\"\n :class=\"`${bem.b()} ${prepareClassNames()}`\"\n :style=\"{\n ...prepareStyles(),\n }\"\n :columns=\"columns\"\n :data=\"modelValue\"\n v-bind=\"props\"\n >\n </EpTable>\n </AttachmentDialog>\n</template>\n<script setup lang=\"ts\">\nimport { createNameSpace } from '@el-plus/utils/bem'\nimport { prepareClassNames, prepareStyles } from '@el-plus/utils/props'\nimport { attachmentProps } from './attachment'\nimport EpTable from '@el-plus/components/table'\nimport { useAttachment } from './use-attachment'\nimport type { TableProps } from '@el-plus/components/table'\nimport { useDialog } from '@el-plus/hooks/dialog/use-dialog'\nimport { useLocale } from '@el-plus/hooks/use-locale'\nimport { ElButton } from 'element-plus'\nconst { t } = useLocale()\ndefineOptions({\n name: 'EpAttachment',\n inheritAttrs: false,\n})\nconst bem = createNameSpace('attachment')\nconst props = defineProps(attachmentProps)\nconst modelValue = defineModel<TableProps['data']>()\nconst { columns, addAttachment, isNormalOpen, onConfirm, onCancel } =\n useAttachment(props, {\n data: modelValue,\n })\nconst AttachmentDialog = useDialog({\n width: 850,\n center: true,\n title: isNormalOpen ? '' : t('ep.attachment.manageAttachment'),\n modal: !isNormalOpen,\n showClose: !isNormalOpen,\n showFooter: !isNormalOpen,\n transition: isNormalOpen ? '' : 'dialog-fade',\n modalClass: bem.em(\n 'dialog',\n props.openType === 'normal' ? props.openType : '',\n ),\n onConfirm: async (resolve) => {\n onConfirm(resolve)\n },\n onCancel: (resolve) => {\n onCancel(resolve)\n },\n})\nconst open = AttachmentDialog.open\nif (isNormalOpen) {\n open()\n}\ndefineExpose({\n open,\n})\n</script>\n"],"names":["_useModel","
|
|
1
|
+
{"version":3,"file":"attachment.vue2.mjs","sources":["../../../../../../packages/components/attachment/src/attachment.vue"],"sourcesContent":["<template>\n <ElButton\n v-if=\"props.isShowOpenDialogButton\"\n type=\"primary\"\n plain\n size=\"small\"\n :class=\"bem.e('handler')\"\n @click=\"open\"\n >\n {{ t('ep.attachment.manageAttachment') }}({{ modelValue?.length || 0 }})\n </ElButton>\n <AttachmentDialog>\n <div style=\"margin-bottom: 10px; text-align: right\">\n <EpButtons\n v-if=\"props.openType === 'dialog'\"\n type=\"primary\"\n :list=\"[\n {\n name: t('ep.attachment.addAttachment'),\n type: 'primary',\n onClick: addAttachment,\n },\n ]\"\n />\n </div>\n\n <EpTable\n ref=\"tableRef\"\n :class=\"`${bem.b()} ${prepareClassNames()}`\"\n :style=\"{\n ...prepareStyles(),\n }\"\n :columns=\"columns\"\n :data=\"modelValue\"\n v-bind=\"props\"\n >\n </EpTable>\n </AttachmentDialog>\n</template>\n<script setup lang=\"ts\">\nimport { createNameSpace } from '@el-plus/utils/bem'\nimport { prepareClassNames, prepareStyles } from '@el-plus/utils/props'\nimport { attachmentProps } from './attachment'\nimport EpTable from '@el-plus/components/table'\nimport { useAttachment } from './use-attachment'\nimport type { TableProps } from '@el-plus/components/table'\nimport { useDialog } from '@el-plus/hooks/dialog/use-dialog'\nimport { useLocale } from '@el-plus/hooks/use-locale'\nimport { ElButton } from 'element-plus'\nconst { t } = useLocale()\ndefineOptions({\n name: 'EpAttachment',\n inheritAttrs: false,\n})\nconst bem = createNameSpace('attachment')\nconst props = defineProps(attachmentProps)\nconst modelValue = defineModel<TableProps['data']>()\nconst { columns, addAttachment, isNormalOpen, onConfirm, onCancel } =\n useAttachment(props, {\n data: modelValue,\n })\nconst AttachmentDialog = useDialog({\n width: 850,\n center: true,\n title: isNormalOpen ? '' : t('ep.attachment.manageAttachment'),\n modal: !isNormalOpen,\n showClose: !isNormalOpen,\n showFooter: !isNormalOpen,\n transition: isNormalOpen ? '' : 'dialog-fade',\n modalClass: bem.em(\n 'dialog',\n props.openType === 'normal' ? props.openType : '',\n ),\n onConfirm: async (resolve) => {\n onConfirm(resolve)\n },\n onCancel: (resolve) => {\n onCancel(resolve)\n },\n})\nconst open = AttachmentDialog.open\nif (isNormalOpen) {\n open()\n}\ndefineExpose({\n open,\n})\n</script>\n"],"names":["_useModel","_createBlock","_unref","_normalizeClass","_createTextVNode","_toDisplayString","_createVNode","_createElementVNode","_mergeProps"],"mappings":"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"}
|
|
@@ -100,6 +100,8 @@ const useAttachment = (props, { data }) => {
|
|
|
100
100
|
const onConfirm = async (resolve) => {
|
|
101
101
|
await tableRef.value?.validate();
|
|
102
102
|
resolve(data.value);
|
|
103
|
+
toBeConfirmData = [];
|
|
104
|
+
toBeDeleteData = {};
|
|
103
105
|
};
|
|
104
106
|
const onCancel = (resolve) => {
|
|
105
107
|
if (toBeConfirmData.length) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-attachment.mjs","sources":["../../../../../../packages/components/attachment/src/use-attachment.ts"],"sourcesContent":["import { ref, computed, useTemplateRef } from 'vue'\nimport { useNavigation } from '@el-plus/hooks/use-navigation'\nimport { useLocale } from '@el-plus/hooks/use-locale'\nimport { downloadFile, previewFile, importFile } from '@el-plus/utils/file'\nimport { Cookies } from '@el-plus/utils/cookie'\nimport type { TableInstance } from '@el-plus/components/table'\n\nexport const useAttachment = (props, { data }) => {\n const { mode: defaultMode } = useNavigation()\n const { t } = useLocale()\n const mode = computed(() => {\n return props.mode || defaultMode.value\n })\n const tableRef = useTemplateRef<TableInstance>('tableRef')\n const isNormalOpen = props.openType === 'normal'\n const isDialogOpen = props.openType === 'dialog'\n\n // 待确认的附件列表\n let toBeConfirmData: Record<string, any>[] = []\n // 待删除的附件列表\n let toBeDeleteData: {\n [key: number]: Record<string, any> // key要存储原来索引以便保留原顺序\n } = {}\n const columns = ref([\n {\n type: 'EpButtons',\n label: t('ep.attachment.operation'),\n width: '120px',\n props: {\n type: 'text',\n list: [\n {\n name: t('ep.attachment.download'),\n onClick({ row }) {\n downloadFile({\n src: row.filePath,\n fileName: row.originalFilename || row.originalFileName,\n })\n },\n },\n {\n name: t('ep.attachment.delete'),\n disabled: () => {\n return mode.value === 'browse'\n },\n onClick: ({ $index, row }) => {\n if (isDialogOpen) {\n // 待删除的附件列表\n toBeDeleteData[$index] = row\n }\n data.value.splice($index, 1)\n },\n },\n ],\n },\n },\n {\n label: t('ep.attachment.attachmentType'),\n prop: 'type',\n type: 'EpSelect',\n required: true,\n show: () => props.isType,\n props: {\n desc: ({ row }) => {\n return row.typeDesc\n },\n },\n },\n {\n label: t('ep.attachment.fileName'),\n prop: 'originalFilename',\n type: 'EpLink',\n onClick({ row }) {\n previewFile(row.filePath)\n },\n },\n {\n label: t('ep.attachment.creator'),\n prop: 'createBy',\n },\n {\n label: t('ep.attachment.createTime'),\n prop: 'createTime',\n },\n {\n label: t('ep.attachment.description'),\n prop: 'note',\n type: 'EpInput',\n show: () => props.isNote,\n },\n ])\n const addAttachment = async () => {\n toBeConfirmData = []\n const fileData = await importFile({\n api: 'api-f/fast/files/save',\n extraData: {\n createBy: Cookies.get('accountName') || '',\n },\n })\n fileData.fileId = fileData.id\n delete fileData.id\n if (isDialogOpen) {\n // 待确认的附件列表\n toBeConfirmData.push(fileData)\n }\n data.value.push(fileData)\n }\n // 确认\n const onConfirm = async (resolve) => {\n await tableRef.value?.validate()\n resolve(data.value)\n }\n // 取消\n const onCancel = (resolve) => {\n if (toBeConfirmData.length) {\n // 找到待确认的附件\n const index = data.value.findIndex((item) => {\n return item.fileId === toBeConfirmData[0].fileId\n })\n if (index !== -1) {\n // 删除待确认的附件\n data.value.splice(index, 1)\n }\n // 清空待确认的附件列表\n toBeConfirmData = []\n }\n if (Object.keys(toBeDeleteData).length) {\n // 找到待删除的附件在原位置插入\n Object.keys(toBeDeleteData).forEach((oldIndex) => {\n data.value.splice(Number(oldIndex), 0, toBeDeleteData[oldIndex])\n })\n // 清空待删除的附件列表\n toBeDeleteData = {}\n }\n resolve()\n }\n return {\n columns,\n addAttachment,\n isNormalOpen,\n isDialogOpen,\n onConfirm,\n onCancel,\n }\n}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"use-attachment.mjs","sources":["../../../../../../packages/components/attachment/src/use-attachment.ts"],"sourcesContent":["import { ref, computed, useTemplateRef } from 'vue'\nimport { useNavigation } from '@el-plus/hooks/use-navigation'\nimport { useLocale } from '@el-plus/hooks/use-locale'\nimport { downloadFile, previewFile, importFile } from '@el-plus/utils/file'\nimport { Cookies } from '@el-plus/utils/cookie'\nimport type { TableInstance } from '@el-plus/components/table'\n\nexport const useAttachment = (props, { data }) => {\n const { mode: defaultMode } = useNavigation()\n const { t } = useLocale()\n const mode = computed(() => {\n return props.mode || defaultMode.value\n })\n const tableRef = useTemplateRef<TableInstance>('tableRef')\n const isNormalOpen = props.openType === 'normal'\n const isDialogOpen = props.openType === 'dialog'\n\n // 待确认的附件列表\n let toBeConfirmData: Record<string, any>[] = []\n // 待删除的附件列表\n let toBeDeleteData: {\n [key: number]: Record<string, any> // key要存储原来索引以便保留原顺序\n } = {}\n const columns = ref([\n {\n type: 'EpButtons',\n label: t('ep.attachment.operation'),\n width: '120px',\n props: {\n type: 'text',\n list: [\n {\n name: t('ep.attachment.download'),\n onClick({ row }) {\n downloadFile({\n src: row.filePath,\n fileName: row.originalFilename || row.originalFileName,\n })\n },\n },\n {\n name: t('ep.attachment.delete'),\n disabled: () => {\n return mode.value === 'browse'\n },\n onClick: ({ $index, row }) => {\n if (isDialogOpen) {\n // 待删除的附件列表\n toBeDeleteData[$index] = row\n }\n data.value.splice($index, 1)\n },\n },\n ],\n },\n },\n {\n label: t('ep.attachment.attachmentType'),\n prop: 'type',\n type: 'EpSelect',\n required: true,\n show: () => props.isType,\n props: {\n desc: ({ row }) => {\n return row.typeDesc\n },\n },\n },\n {\n label: t('ep.attachment.fileName'),\n prop: 'originalFilename',\n type: 'EpLink',\n onClick({ row }) {\n previewFile(row.filePath)\n },\n },\n {\n label: t('ep.attachment.creator'),\n prop: 'createBy',\n },\n {\n label: t('ep.attachment.createTime'),\n prop: 'createTime',\n },\n {\n label: t('ep.attachment.description'),\n prop: 'note',\n type: 'EpInput',\n show: () => props.isNote,\n },\n ])\n const addAttachment = async () => {\n toBeConfirmData = []\n const fileData = await importFile({\n api: 'api-f/fast/files/save',\n extraData: {\n createBy: Cookies.get('accountName') || '',\n },\n })\n fileData.fileId = fileData.id\n delete fileData.id\n if (isDialogOpen) {\n // 待确认的附件列表\n toBeConfirmData.push(fileData)\n }\n data.value.push(fileData)\n }\n // 确认\n const onConfirm = async (resolve) => {\n await tableRef.value?.validate()\n resolve(data.value)\n toBeConfirmData = []\n toBeDeleteData = {}\n }\n // 取消\n const onCancel = (resolve) => {\n if (toBeConfirmData.length) {\n // 找到待确认的附件\n const index = data.value.findIndex((item) => {\n return item.fileId === toBeConfirmData[0].fileId\n })\n if (index !== -1) {\n // 删除待确认的附件\n data.value.splice(index, 1)\n }\n // 清空待确认的附件列表\n toBeConfirmData = []\n }\n if (Object.keys(toBeDeleteData).length) {\n // 找到待删除的附件在原位置插入\n Object.keys(toBeDeleteData).forEach((oldIndex) => {\n data.value.splice(Number(oldIndex), 0, toBeDeleteData[oldIndex])\n })\n // 清空待删除的附件列表\n toBeDeleteData = {}\n }\n resolve()\n }\n return {\n columns,\n addAttachment,\n isNormalOpen,\n isDialogOpen,\n onConfirm,\n onCancel,\n }\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -33,6 +33,14 @@ export declare const EpHeader: {
|
|
|
33
33
|
readonly type: BooleanConstructor;
|
|
34
34
|
readonly default: false;
|
|
35
35
|
};
|
|
36
|
+
readonly fileList: {
|
|
37
|
+
readonly type: import("vue").PropType<Record<string, any>[]>;
|
|
38
|
+
readonly default: () => never[];
|
|
39
|
+
};
|
|
40
|
+
readonly attachmentProps: {
|
|
41
|
+
readonly type: import("vue").PropType<import("el-plus/es/index").AttachmentProps>;
|
|
42
|
+
readonly default: () => void;
|
|
43
|
+
};
|
|
36
44
|
}>> & Readonly<{}>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, import("vue").PublicProps, {
|
|
37
45
|
readonly buttons: Partial<Omit<import("element-plus").ButtonProps, "disabled"> & {
|
|
38
46
|
name: string;
|
|
@@ -50,6 +58,28 @@ export declare const EpHeader: {
|
|
|
50
58
|
readonly allowBack: boolean;
|
|
51
59
|
readonly defaultButtons: import("./src/header").defaultButtonsProps[];
|
|
52
60
|
readonly isShowAttachmentButton: boolean;
|
|
61
|
+
readonly fileList: Record<string, any>[];
|
|
62
|
+
readonly attachmentProps: {
|
|
63
|
+
readonly mode?: import("el-plus/es/hooks/use-navigation").PageMode | undefined;
|
|
64
|
+
readonly formatColumns?: Partial<import("element-plus").TableColumnCtx & {
|
|
65
|
+
[key: string]: any;
|
|
66
|
+
required: boolean | (() => boolean);
|
|
67
|
+
cellRequired: (scope: import("el-plus/es/index").TableScope) => boolean;
|
|
68
|
+
headerRender: import("element-plus").TableColumnCtx["renderHeader"];
|
|
69
|
+
disabled: boolean | ((scope: import("el-plus/es/index").TableScope) => boolean);
|
|
70
|
+
type: string;
|
|
71
|
+
props: Record<string, any>;
|
|
72
|
+
filter: boolean;
|
|
73
|
+
editable: boolean | ((formData: Record<string, any>) => void);
|
|
74
|
+
} & {} & {
|
|
75
|
+
show?: (boolean | ((T: unknown) => boolean)) | undefined;
|
|
76
|
+
hide?: (boolean | ((T: unknown) => boolean)) | undefined;
|
|
77
|
+
}>[] | undefined;
|
|
78
|
+
readonly openType?: "dialog" | "normal" | undefined;
|
|
79
|
+
readonly isType?: boolean | undefined;
|
|
80
|
+
readonly isNote?: boolean | undefined;
|
|
81
|
+
readonly isShowOpenDialogButton?: boolean | undefined;
|
|
82
|
+
};
|
|
53
83
|
}, true, {}, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, {}, any, import("vue").ComponentProvideOptions, {
|
|
54
84
|
P: {};
|
|
55
85
|
B: {};
|
|
@@ -91,6 +121,14 @@ export declare const EpHeader: {
|
|
|
91
121
|
readonly type: BooleanConstructor;
|
|
92
122
|
readonly default: false;
|
|
93
123
|
};
|
|
124
|
+
readonly fileList: {
|
|
125
|
+
readonly type: import("vue").PropType<Record<string, any>[]>;
|
|
126
|
+
readonly default: () => never[];
|
|
127
|
+
};
|
|
128
|
+
readonly attachmentProps: {
|
|
129
|
+
readonly type: import("vue").PropType<import("el-plus/es/index").AttachmentProps>;
|
|
130
|
+
readonly default: () => void;
|
|
131
|
+
};
|
|
94
132
|
}>> & Readonly<{}>, {}, {}, {}, {}, {
|
|
95
133
|
readonly buttons: Partial<Omit<import("element-plus").ButtonProps, "disabled"> & {
|
|
96
134
|
name: string;
|
|
@@ -108,6 +146,28 @@ export declare const EpHeader: {
|
|
|
108
146
|
readonly allowBack: boolean;
|
|
109
147
|
readonly defaultButtons: import("./src/header").defaultButtonsProps[];
|
|
110
148
|
readonly isShowAttachmentButton: boolean;
|
|
149
|
+
readonly fileList: Record<string, any>[];
|
|
150
|
+
readonly attachmentProps: {
|
|
151
|
+
readonly mode?: import("el-plus/es/hooks/use-navigation").PageMode | undefined;
|
|
152
|
+
readonly formatColumns?: Partial<import("element-plus").TableColumnCtx & {
|
|
153
|
+
[key: string]: any;
|
|
154
|
+
required: boolean | (() => boolean);
|
|
155
|
+
cellRequired: (scope: import("el-plus/es/index").TableScope) => boolean;
|
|
156
|
+
headerRender: import("element-plus").TableColumnCtx["renderHeader"];
|
|
157
|
+
disabled: boolean | ((scope: import("el-plus/es/index").TableScope) => boolean);
|
|
158
|
+
type: string;
|
|
159
|
+
props: Record<string, any>;
|
|
160
|
+
filter: boolean;
|
|
161
|
+
editable: boolean | ((formData: Record<string, any>) => void);
|
|
162
|
+
} & {} & {
|
|
163
|
+
show?: (boolean | ((T: unknown) => boolean)) | undefined;
|
|
164
|
+
hide?: (boolean | ((T: unknown) => boolean)) | undefined;
|
|
165
|
+
}>[] | undefined;
|
|
166
|
+
readonly openType?: "dialog" | "normal" | undefined;
|
|
167
|
+
readonly isType?: boolean | undefined;
|
|
168
|
+
readonly isNote?: boolean | undefined;
|
|
169
|
+
readonly isShowOpenDialogButton?: boolean | undefined;
|
|
170
|
+
};
|
|
111
171
|
}>;
|
|
112
172
|
__isFragment?: never;
|
|
113
173
|
__isTeleport?: never;
|
|
@@ -134,6 +194,14 @@ export declare const EpHeader: {
|
|
|
134
194
|
readonly type: BooleanConstructor;
|
|
135
195
|
readonly default: false;
|
|
136
196
|
};
|
|
197
|
+
readonly fileList: {
|
|
198
|
+
readonly type: import("vue").PropType<Record<string, any>[]>;
|
|
199
|
+
readonly default: () => never[];
|
|
200
|
+
};
|
|
201
|
+
readonly attachmentProps: {
|
|
202
|
+
readonly type: import("vue").PropType<import("el-plus/es/index").AttachmentProps>;
|
|
203
|
+
readonly default: () => void;
|
|
204
|
+
};
|
|
137
205
|
}>> & Readonly<{}>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, {
|
|
138
206
|
readonly buttons: Partial<Omit<import("element-plus").ButtonProps, "disabled"> & {
|
|
139
207
|
name: string;
|
|
@@ -151,6 +219,28 @@ export declare const EpHeader: {
|
|
|
151
219
|
readonly allowBack: boolean;
|
|
152
220
|
readonly defaultButtons: import("./src/header").defaultButtonsProps[];
|
|
153
221
|
readonly isShowAttachmentButton: boolean;
|
|
222
|
+
readonly fileList: Record<string, any>[];
|
|
223
|
+
readonly attachmentProps: {
|
|
224
|
+
readonly mode?: import("el-plus/es/hooks/use-navigation").PageMode | undefined;
|
|
225
|
+
readonly formatColumns?: Partial<import("element-plus").TableColumnCtx & {
|
|
226
|
+
[key: string]: any;
|
|
227
|
+
required: boolean | (() => boolean);
|
|
228
|
+
cellRequired: (scope: import("el-plus/es/index").TableScope) => boolean;
|
|
229
|
+
headerRender: import("element-plus").TableColumnCtx["renderHeader"];
|
|
230
|
+
disabled: boolean | ((scope: import("el-plus/es/index").TableScope) => boolean);
|
|
231
|
+
type: string;
|
|
232
|
+
props: Record<string, any>;
|
|
233
|
+
filter: boolean;
|
|
234
|
+
editable: boolean | ((formData: Record<string, any>) => void);
|
|
235
|
+
} & {} & {
|
|
236
|
+
show?: (boolean | ((T: unknown) => boolean)) | undefined;
|
|
237
|
+
hide?: (boolean | ((T: unknown) => boolean)) | undefined;
|
|
238
|
+
}>[] | undefined;
|
|
239
|
+
readonly openType?: "dialog" | "normal" | undefined;
|
|
240
|
+
readonly isType?: boolean | undefined;
|
|
241
|
+
readonly isNote?: boolean | undefined;
|
|
242
|
+
readonly isShowOpenDialogButton?: boolean | undefined;
|
|
243
|
+
};
|
|
154
244
|
}, {}, string, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & import("vue").Plugin;
|
|
155
245
|
export default EpHeader;
|
|
156
246
|
export * from './src/header';
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { ExtractPropTypes, PropType } from 'vue';
|
|
2
|
+
import type { AttachmentProps } from 'el-plus/es/components/attachment';
|
|
2
3
|
import type { PageMode } from 'el-plus/es/hooks/use-navigation';
|
|
3
4
|
export type defaultButtonsProps = 'modify' | 'save' | 'cancel' | 'refresh' | 'auditLog';
|
|
4
5
|
export declare const headerProps: {
|
|
@@ -23,6 +24,14 @@ export declare const headerProps: {
|
|
|
23
24
|
readonly type: BooleanConstructor;
|
|
24
25
|
readonly default: false;
|
|
25
26
|
};
|
|
27
|
+
readonly fileList: {
|
|
28
|
+
readonly type: PropType<Record<string, any>[]>;
|
|
29
|
+
readonly default: () => never[];
|
|
30
|
+
};
|
|
31
|
+
readonly attachmentProps: {
|
|
32
|
+
readonly type: PropType<AttachmentProps>;
|
|
33
|
+
readonly default: () => void;
|
|
34
|
+
};
|
|
26
35
|
};
|
|
27
36
|
export type HeaderProps = ExtractPropTypes<typeof headerProps>;
|
|
28
37
|
export declare const headerEmits: {};
|
|
@@ -25,6 +25,16 @@ const headerProps = {
|
|
|
25
25
|
isShowAttachmentButton: {
|
|
26
26
|
type: Boolean,
|
|
27
27
|
default: false
|
|
28
|
+
},
|
|
29
|
+
// 附件列表
|
|
30
|
+
fileList: {
|
|
31
|
+
type: Array,
|
|
32
|
+
default: () => []
|
|
33
|
+
},
|
|
34
|
+
attachmentProps: {
|
|
35
|
+
type: Object,
|
|
36
|
+
default: () => {
|
|
37
|
+
}
|
|
28
38
|
}
|
|
29
39
|
};
|
|
30
40
|
const headerEmits = {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"header.mjs","sources":["../../../../../../packages/components/header/src/header.ts"],"sourcesContent":["import type { ExtractPropTypes, PropType } from 'vue'\nimport { buttonsProps } from '@el-plus/components/buttons'\nimport type { PageMode } from '@el-plus/hooks/use-navigation'\nexport type defaultButtonsProps =\n | 'modify'\n | 'save'\n | 'cancel'\n | 'refresh'\n | 'auditLog'\n\nexport const headerProps = {\n // 页面模式\n mode: {\n type: String as PropType<PageMode>,\n },\n allowBack: {\n type: Boolean,\n default: true,\n },\n buttons: {\n ...buttonsProps.list,\n },\n name: String, // 权限前缀\n // 要展示的默认按钮\n defaultButtons: {\n type: Array as PropType<defaultButtonsProps[]>,\n default: () => [],\n },\n // 工作流id\n workflowId: String,\n // 是否显示附件按钮\n isShowAttachmentButton: {\n type: Boolean,\n default: false,\n },\n} as const\nexport type HeaderProps = ExtractPropTypes<typeof headerProps>\n\nexport const headerEmits = {}\nexport type HeaderEmits = typeof headerEmits\n"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"header.mjs","sources":["../../../../../../packages/components/header/src/header.ts"],"sourcesContent":["import type { ExtractPropTypes, PropType } from 'vue'\nimport { buttonsProps } from '@el-plus/components/buttons'\nimport type { AttachmentProps } from '@el-plus/components/attachment'\nimport type { PageMode } from '@el-plus/hooks/use-navigation'\nexport type defaultButtonsProps =\n | 'modify'\n | 'save'\n | 'cancel'\n | 'refresh'\n | 'auditLog'\n\nexport const headerProps = {\n // 页面模式\n mode: {\n type: String as PropType<PageMode>,\n },\n allowBack: {\n type: Boolean,\n default: true,\n },\n buttons: {\n ...buttonsProps.list,\n },\n name: String, // 权限前缀\n // 要展示的默认按钮\n defaultButtons: {\n type: Array as PropType<defaultButtonsProps[]>,\n default: () => [],\n },\n // 工作流id\n workflowId: String,\n // 是否显示附件按钮\n isShowAttachmentButton: {\n type: Boolean,\n default: false,\n },\n // 附件列表\n fileList: {\n type: Array as PropType<Record<string, any>[]>,\n default: () => [],\n },\n attachmentProps: {\n type: Object as PropType<AttachmentProps>,\n default: () => {},\n },\n} as const\nexport type HeaderProps = ExtractPropTypes<typeof headerProps>\n\nexport const headerEmits = {}\nexport type HeaderEmits = typeof headerEmits\n"],"names":[],"mappings":";;AAWO,MAAM,WAAA,GAAc;AAAA;AAAA,EAEzB,IAAA,EAAM;AAAA,IACJ,IAAA,EAAM;AAAA,GACR;AAAA,EACA,SAAA,EAAW;AAAA,IACT,IAAA,EAAM,OAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA,EACA,OAAA,EAAS;AAAA,IACP,GAAG,YAAA,CAAa;AAAA,GAClB;AAAA,EACA,IAAA,EAAM,MAAA;AAAA;AAAA;AAAA,EAEN,cAAA,EAAgB;AAAA,IACd,IAAA,EAAM,KAAA;AAAA,IACN,OAAA,EAAS,MAAM;AAAC,GAClB;AAAA;AAAA,EAEA,UAAA,EAAY,MAAA;AAAA;AAAA,EAEZ,sBAAA,EAAwB;AAAA,IACtB,IAAA,EAAM,OAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA;AAAA,EAEA,QAAA,EAAU;AAAA,IACR,IAAA,EAAM,KAAA;AAAA,IACN,OAAA,EAAS,MAAM;AAAC,GAClB;AAAA,EACA,eAAA,EAAiB;AAAA,IACf,IAAA,EAAM,MAAA;AAAA,IACN,SAAS,MAAM;AAAA,IAAC;AAAA;AAEpB;AAGO,MAAM,cAAc;;;;"}
|
|
@@ -20,6 +20,14 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
|
|
|
20
20
|
readonly type: BooleanConstructor;
|
|
21
21
|
readonly default: false;
|
|
22
22
|
};
|
|
23
|
+
readonly fileList: {
|
|
24
|
+
readonly type: import("vue").PropType<Record<string, any>[]>;
|
|
25
|
+
readonly default: () => never[];
|
|
26
|
+
};
|
|
27
|
+
readonly attachmentProps: {
|
|
28
|
+
readonly type: import("vue").PropType<import("el-plus/es/components/attachment").AttachmentProps>;
|
|
29
|
+
readonly default: () => void;
|
|
30
|
+
};
|
|
23
31
|
}>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
24
32
|
readonly mode: {
|
|
25
33
|
readonly type: import("vue").PropType<import("el-plus/es/hooks").PageMode>;
|
|
@@ -42,6 +50,14 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
|
|
|
42
50
|
readonly type: BooleanConstructor;
|
|
43
51
|
readonly default: false;
|
|
44
52
|
};
|
|
53
|
+
readonly fileList: {
|
|
54
|
+
readonly type: import("vue").PropType<Record<string, any>[]>;
|
|
55
|
+
readonly default: () => never[];
|
|
56
|
+
};
|
|
57
|
+
readonly attachmentProps: {
|
|
58
|
+
readonly type: import("vue").PropType<import("el-plus/es/components/attachment").AttachmentProps>;
|
|
59
|
+
readonly default: () => void;
|
|
60
|
+
};
|
|
45
61
|
}>> & Readonly<{}>, {
|
|
46
62
|
readonly buttons: Partial<Omit<import("element-plus").ButtonProps, "disabled"> & {
|
|
47
63
|
name: string;
|
|
@@ -59,6 +75,28 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
|
|
|
59
75
|
readonly allowBack: boolean;
|
|
60
76
|
readonly defaultButtons: import("./header").defaultButtonsProps[];
|
|
61
77
|
readonly isShowAttachmentButton: boolean;
|
|
78
|
+
readonly fileList: Record<string, any>[];
|
|
79
|
+
readonly attachmentProps: {
|
|
80
|
+
readonly mode?: import("el-plus/es/hooks").PageMode | undefined;
|
|
81
|
+
readonly formatColumns?: Partial<import("element-plus").TableColumnCtx & {
|
|
82
|
+
[key: string]: any;
|
|
83
|
+
required: boolean | (() => boolean);
|
|
84
|
+
cellRequired: (scope: import("el-plus/es").TableScope) => boolean;
|
|
85
|
+
headerRender: import("element-plus").TableColumnCtx["renderHeader"];
|
|
86
|
+
disabled: boolean | ((scope: import("el-plus/es").TableScope) => boolean);
|
|
87
|
+
type: string;
|
|
88
|
+
props: Record<string, any>;
|
|
89
|
+
filter: boolean;
|
|
90
|
+
editable: boolean | ((formData: Record<string, any>) => void);
|
|
91
|
+
} & {} & {
|
|
92
|
+
show?: (boolean | ((T: unknown) => boolean)) | undefined;
|
|
93
|
+
hide?: (boolean | ((T: unknown) => boolean)) | undefined;
|
|
94
|
+
}>[] | undefined;
|
|
95
|
+
readonly openType?: "dialog" | "normal" | undefined;
|
|
96
|
+
readonly isType?: boolean | undefined;
|
|
97
|
+
readonly isNote?: boolean | undefined;
|
|
98
|
+
readonly isShowOpenDialogButton?: boolean | undefined;
|
|
99
|
+
};
|
|
62
100
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
63
101
|
declare const _default: typeof __VLS_export;
|
|
64
102
|
export default _default;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { defineComponent, createElementBlock, openBlock, normalizeStyle, normalizeClass, unref, createBlock, createCommentVNode, createVNode, withCtx } from 'vue';
|
|
1
|
+
import { defineComponent, createElementBlock, openBlock, normalizeStyle, normalizeClass, unref, createBlock, createCommentVNode, createVNode, withCtx, mergeProps } from 'vue';
|
|
2
2
|
import { createNameSpace } from '../../../utils/bem.mjs';
|
|
3
3
|
import { headerEmits, headerProps } from './header.mjs';
|
|
4
4
|
import { prepareStyles, prepareClassNames } from '../../../utils/props.mjs';
|
|
@@ -35,10 +35,11 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
35
35
|
_: 1
|
|
36
36
|
}, 8, ["onBack"])) : createCommentVNode("", true),
|
|
37
37
|
createVNode(unref(EpButtons), { list: unref(buttons) }, null, 8, ["list"]),
|
|
38
|
-
props.isShowAttachmentButton ? (openBlock(), createBlock(unref(EpAttachment), {
|
|
38
|
+
props.isShowAttachmentButton ? (openBlock(), createBlock(unref(EpAttachment), mergeProps({
|
|
39
39
|
key: 1,
|
|
40
|
+
"model-value": props.fileList,
|
|
40
41
|
"is-show-open-dialog-button": ""
|
|
41
|
-
})) : createCommentVNode("", true)
|
|
42
|
+
}, props.attachmentProps), null, 16, ["model-value"])) : createCommentVNode("", true)
|
|
42
43
|
], 6);
|
|
43
44
|
};
|
|
44
45
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"header.vue2.mjs","sources":["../../../../../../packages/components/header/src/header.vue"],"sourcesContent":["<template>\n <div\n :class=\"[bem.b(), prepareClassNames()]\"\n :style=\"{\n ...prepareStyles(),\n }\"\n >\n <el-page-header v-if=\"isShowBack\" @back=\"goBack\">\n <template #content> </template>\n </el-page-header>\n <EpButtons :list=\"buttons\" />\n <EpAttachment\n v-if=\"props.isShowAttachmentButton\"\n is-show-open-dialog-button\n />\n </div>\n</template>\n<script setup lang=\"ts\">\nimport { createNameSpace } from '@el-plus/utils/bem'\nimport { headerProps, headerEmits } from './header'\nimport { prepareClassNames, prepareStyles } from '@el-plus/utils/props'\nimport { useHeader, useButtons } from './use-header'\nimport { ElPageHeader } from 'element-plus'\nimport EpButtons from '@el-plus/components/buttons'\nimport EpAttachment from '@el-plus/components/attachment'\ndefineOptions({\n name: 'EpHeader',\n inheritAttrs: false,\n})\nconst bem = createNameSpace('header')\nconst props = defineProps(headerProps)\nconst emit = defineEmits(headerEmits)\nconst { isShowBack, goBack } = useHeader(props, emit)\nconst { buttons } = useButtons(props, emit)\n</script>\n"],"names":["_createElementBlock","_normalizeClass","_unref","_normalizeStyle","_createBlock","_createVNode"],"mappings":";;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"header.vue2.mjs","sources":["../../../../../../packages/components/header/src/header.vue"],"sourcesContent":["<template>\n <div\n :class=\"[bem.b(), prepareClassNames()]\"\n :style=\"{\n ...prepareStyles(),\n }\"\n >\n <el-page-header v-if=\"isShowBack\" @back=\"goBack\">\n <template #content> </template>\n </el-page-header>\n <EpButtons :list=\"buttons\" />\n <EpAttachment\n v-if=\"props.isShowAttachmentButton\"\n :model-value=\"props.fileList\"\n is-show-open-dialog-button\n v-bind=\"props.attachmentProps\"\n />\n </div>\n</template>\n<script setup lang=\"ts\">\nimport { createNameSpace } from '@el-plus/utils/bem'\nimport { headerProps, headerEmits } from './header'\nimport { prepareClassNames, prepareStyles } from '@el-plus/utils/props'\nimport { useHeader, useButtons } from './use-header'\nimport { ElPageHeader } from 'element-plus'\nimport EpButtons from '@el-plus/components/buttons'\nimport EpAttachment from '@el-plus/components/attachment'\ndefineOptions({\n name: 'EpHeader',\n inheritAttrs: false,\n})\nconst bem = createNameSpace('header')\nconst props = defineProps(headerProps)\nconst emit = defineEmits(headerEmits)\nconst { isShowBack, goBack } = useHeader(props, emit)\nconst { buttons } = useButtons(props, emit)\n</script>\n"],"names":["_createElementBlock","_normalizeClass","_unref","_normalizeStyle","_createBlock","_createVNode","_openBlock","_mergeProps"],"mappings":";;;;;;;;;;;;;;;;;;AA+BA,IAAA,MAAM,GAAA,GAAM,gBAAgB,QAAQ,CAAA;AACpC,IAAA,MAAM,KAAA,GAAQ,OAAA;AAEd,IAAA,MAAM,EAAE,UAAA,EAAY,MAAA,EAAO,GAAI,SAAA,CAAU,KAAW,CAAA;AACpD,IAAA,MAAM,EAAE,OAAA,EAAQ,GAAI,UAAA,CAAW,KAAW,CAAA;;0BAlCxCA,kBAAA,CAgBM,KAAA,EAAA;AAAA,QAfH,KAAA,EAAKC,cAAA,CAAA,CAAGC,KAAA,CAAA,GAAA,CAAA,CAAI,CAAA,IAAKA,KAAA,CAAA,iBAAA,CAAA,EAAiB,CAAA,CAAA;AAAA,QAClC,OAAKC,cAAA,CAAA;AAAA,aAAaD,KAAA,CAAA,aAAA,CAAA;AAAa;;QAIVA,KAAA,CAAA,UAAA,CAAA,iBAAtBE,WAAA,CAEiBF,KAAA,CAAA,YAAA,CAAA,EAAA;AAAA;UAFkB,MAAA,EAAMA,MAAA,MAAA;AAAA;UAC5B,OAAA,UAAX,MAA+B,EAAA,CAAA;AAAA;;QAEjCG,WAAA,CAA6BH,KAAA,CAAA,SAAA,CAAA,EAAA,EAAjB,IAAA,EAAMA,KAAA,CAAA,OAAA,CAAA,EAAO,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,MAAA,CAAA,CAAA;AAAA,QAEjB,KAAA,CAAM,0BADdI,SAAA,EAAA,EAAAF,YAKEF,KAAA,gBALFK,UAAA,CAKE;AAAA;UAHC,eAAa,KAAA,CAAM,QAAA;AAAA,UACpB,4BAAA,EAAA;AAAA,SACQ,EAAA,KAAA,CAAM,eAAe,CAAA,EAAA,IAAA,EAAA,EAAA,EAAA,CAAA,aAAA,CAAA,CAAA;;;;;;;;"}
|
|
@@ -36,7 +36,7 @@ const useFormDialog = (options = {}) => {
|
|
|
36
36
|
},
|
|
37
37
|
onConfirm: async (resolve) => {
|
|
38
38
|
await formRef.value.validate();
|
|
39
|
-
resolve(JSON.parse(JSON.stringify(formData)));
|
|
39
|
+
resolve(isUseComFormData ? JSON.parse(JSON.stringify(formData)) : formData);
|
|
40
40
|
resetForm();
|
|
41
41
|
},
|
|
42
42
|
onCancel: async (resolve) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-form-dialog.mjs","sources":["../../../../../packages/hooks/dialog/use-form-dialog.tsx"],"sourcesContent":["import type { DialogOptions } from './use-dialog'\nimport type { FormProps } from '@el-plus/components/form'\nimport EpForm from '@el-plus/components/form'\nimport { createNameSpace } from '@el-plus/utils/bem'\nimport { useDialog } from './use-dialog'\nimport { reactive, ref, toRaw } from 'vue'\nconst bem = createNameSpace('form-dialog')\n\ntype Options = {\n title?: string\n dialogProps?: DialogOptions\n formData?: FormProps['model']\n} & FormProps\nexport const useFormDialog = (options: Options = {}) => {\n const { dialogProps, title, ...formProps } = options\n const formRef = ref()\n const isUseComFormData = !formProps.formData\n let formData = isUseComFormData ? reactive({}) : formProps.formData // eslint-disable-line\n const isDestroy = dialogProps?.destroyOnClose\n const resetForm = async () => {\n if (isDestroy) {\n await formRef.value?.resetFields()\n }\n }\n return useDialog({\n class: bem.b(),\n width: '80%',\n title,\n render: (props) => {\n return (\n <EpForm\n ref={formRef}\n v-model={formData}\n {...{\n col: 1,\n 'label-width': 'auto',\n ...formProps,\n }}\n />\n )\n },\n onConfirm: async (resolve) => {\n await formRef.value.validate()\n resolve(JSON.parse(JSON.stringify(formData)))\n resetForm()\n },\n onCancel: async (resolve) => {\n await resetForm()\n resolve('cancel')\n },\n ...dialogProps,\n })\n}\n"],"names":["bem","createNameSpace","useFormDialog","options","dialogProps","title","formProps","formRef","ref","isUseComFormData","formData","reactive","isDestroy","destroyOnClose","resetForm","value","resetFields","useDialog","class","b","width","render","props","_createVNode","EpForm","_mergeProps","$event","col","onConfirm","resolve","validate","JSON","parse","stringify","onCancel"],"mappings":";;;;;AAMA,MAAMA,GAAAA,GAAMC,gBAAgB,aAAa,CAAA;AAOlC,MAAMC,aAAAA,GAAgBA,CAACC,OAAAA,GAAmB,EAAC,KAAM;AACtD,EAAA,MAAM;AAAA,IAAEC,WAAAA;AAAAA,IAAaC,KAAAA;AAAAA,IAAO,GAAGC;AAAAA,GAAU,GAAIH,OAAAA;AAC7C,EAAA,MAAMI,UAAUC,GAAAA,EAAI;AACpB,EAAA,MAAMC,gBAAAA,GAAmB,CAACH,SAAAA,CAAUI,QAAAA;AACpC,EAAA,IAAIA,WAAWD,gBAAAA,GAAmBE,QAAAA,CAAS,EAAE,IAAIL,SAAAA,CAAUI,QAAAA;AAC3D,EAAA,MAAME,YAAYR,WAAAA,EAAaS,cAAAA;AAC/B,EAAA,MAAMC,YAAY,YAAY;AAC5B,IAAA,IAAIF,SAAAA,EAAW;AACb,MAAA,MAAML,OAAAA,CAAQQ,OAAOC,WAAAA,EAAY;AAAA,IACnC;AAAA,EACF,CAAA;AACA,EAAA,OAAOC,SAAAA,CAAU;AAAA,IACfC,KAAAA,EAAOlB,IAAImB,CAAAA,EAAE;AAAA,IACbC,KAAAA,EAAO,KAAA;AAAA,IACPf,KAAAA;AAAAA,IACAgB,QAASC,CAAAA,KAAAA,KAAU;AACjB,MAAA,OAAAC,WAAAA,CAAAC,QAAAC,UAAAA,CAAA;AAAA,QAAA,KAAA,EAESlB,OAAAA;AAAAA,QAAO,YAAA,EACHG,QAAAA;AAAAA,QAAQ,qBAAA,EAAAgB,YAARhB,QAAAA,GAAQgB;AAAAA,OAAA,EAAA;AAAA,QAEfC,GAAAA,EAAK,CAAA;AAAA,QACL,aAAA,EAAe,MAAA;AAAA,QACf,GAAGrB;AAAAA,OAAS,GAAA,IAAA,CAAA;AAAA,IAIpB,CAAA;AAAA,IACAsB,SAAAA,EAAW,OAAOC,OAAAA,KAAY;AAC5B,MAAA,MAAMtB,OAAAA,CAAQQ,MAAMe,QAAAA,EAAS;AAC7BD,MAAAA,OAAAA,
|
|
1
|
+
{"version":3,"file":"use-form-dialog.mjs","sources":["../../../../../packages/hooks/dialog/use-form-dialog.tsx"],"sourcesContent":["import type { DialogOptions } from './use-dialog'\nimport type { FormProps } from '@el-plus/components/form'\nimport EpForm from '@el-plus/components/form'\nimport { createNameSpace } from '@el-plus/utils/bem'\nimport { useDialog } from './use-dialog'\nimport { reactive, ref, toRaw } from 'vue'\nconst bem = createNameSpace('form-dialog')\n\ntype Options = {\n title?: string\n dialogProps?: DialogOptions\n formData?: FormProps['model']\n} & FormProps\nexport const useFormDialog = (options: Options = {}) => {\n const { dialogProps, title, ...formProps } = options\n const formRef = ref()\n const isUseComFormData = !formProps.formData\n let formData = isUseComFormData ? reactive({}) : formProps.formData // eslint-disable-line\n const isDestroy = dialogProps?.destroyOnClose\n const resetForm = async () => {\n if (isDestroy) {\n await formRef.value?.resetFields()\n }\n }\n return useDialog({\n class: bem.b(),\n width: '80%',\n title,\n render: (props) => {\n return (\n <EpForm\n ref={formRef}\n v-model={formData}\n {...{\n col: 1,\n 'label-width': 'auto',\n ...formProps,\n }}\n />\n )\n },\n onConfirm: async (resolve) => {\n await formRef.value.validate()\n resolve(\n isUseComFormData ? JSON.parse(JSON.stringify(formData)) : formData,\n )\n resetForm()\n },\n onCancel: async (resolve) => {\n await resetForm()\n resolve('cancel')\n },\n ...dialogProps,\n })\n}\n"],"names":["bem","createNameSpace","useFormDialog","options","dialogProps","title","formProps","formRef","ref","isUseComFormData","formData","reactive","isDestroy","destroyOnClose","resetForm","value","resetFields","useDialog","class","b","width","render","props","_createVNode","EpForm","_mergeProps","$event","col","onConfirm","resolve","validate","JSON","parse","stringify","onCancel"],"mappings":";;;;;AAMA,MAAMA,GAAAA,GAAMC,gBAAgB,aAAa,CAAA;AAOlC,MAAMC,aAAAA,GAAgBA,CAACC,OAAAA,GAAmB,EAAC,KAAM;AACtD,EAAA,MAAM;AAAA,IAAEC,WAAAA;AAAAA,IAAaC,KAAAA;AAAAA,IAAO,GAAGC;AAAAA,GAAU,GAAIH,OAAAA;AAC7C,EAAA,MAAMI,UAAUC,GAAAA,EAAI;AACpB,EAAA,MAAMC,gBAAAA,GAAmB,CAACH,SAAAA,CAAUI,QAAAA;AACpC,EAAA,IAAIA,WAAWD,gBAAAA,GAAmBE,QAAAA,CAAS,EAAE,IAAIL,SAAAA,CAAUI,QAAAA;AAC3D,EAAA,MAAME,YAAYR,WAAAA,EAAaS,cAAAA;AAC/B,EAAA,MAAMC,YAAY,YAAY;AAC5B,IAAA,IAAIF,SAAAA,EAAW;AACb,MAAA,MAAML,OAAAA,CAAQQ,OAAOC,WAAAA,EAAY;AAAA,IACnC;AAAA,EACF,CAAA;AACA,EAAA,OAAOC,SAAAA,CAAU;AAAA,IACfC,KAAAA,EAAOlB,IAAImB,CAAAA,EAAE;AAAA,IACbC,KAAAA,EAAO,KAAA;AAAA,IACPf,KAAAA;AAAAA,IACAgB,QAASC,CAAAA,KAAAA,KAAU;AACjB,MAAA,OAAAC,WAAAA,CAAAC,QAAAC,UAAAA,CAAA;AAAA,QAAA,KAAA,EAESlB,OAAAA;AAAAA,QAAO,YAAA,EACHG,QAAAA;AAAAA,QAAQ,qBAAA,EAAAgB,YAARhB,QAAAA,GAAQgB;AAAAA,OAAA,EAAA;AAAA,QAEfC,GAAAA,EAAK,CAAA;AAAA,QACL,aAAA,EAAe,MAAA;AAAA,QACf,GAAGrB;AAAAA,OAAS,GAAA,IAAA,CAAA;AAAA,IAIpB,CAAA;AAAA,IACAsB,SAAAA,EAAW,OAAOC,OAAAA,KAAY;AAC5B,MAAA,MAAMtB,OAAAA,CAAQQ,MAAMe,QAAAA,EAAS;AAC7BD,MAAAA,OAAAA,CACEpB,gBAAAA,GAAmBsB,KAAKC,KAAAA,CAAMD,IAAAA,CAAKE,UAAUvB,QAAQ,CAAC,IAAIA,QAC5D,CAAA;AACAI,MAAAA,SAAAA,EAAU;AAAA,IACZ,CAAA;AAAA,IACAoB,QAAAA,EAAU,OAAOL,OAAAA,KAAY;AAC3B,MAAA,MAAMf,SAAAA,EAAU;AAChBe,MAAAA,OAAAA,CAAQ,QAAQ,CAAA;AAAA,IAClB,CAAA;AAAA,IACA,GAAGzB;AAAAA,GACJ,CAAA;AACH;;;;"}
|
package/es/package.json.mjs
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { ExtractPublicPropTypes, PropType } from 'vue';
|
|
2
|
+
import type { PageMode } from 'el-plus/es/hooks/use-navigation';
|
|
2
3
|
export declare const attachmentProps: {
|
|
3
4
|
readonly formatColumns: {
|
|
4
5
|
readonly type: PropType<import("el-plus/es/components/table").TableColumn[]>;
|
|
5
6
|
readonly default: () => never[];
|
|
6
7
|
};
|
|
7
8
|
readonly mode: {
|
|
8
|
-
readonly type: PropType<
|
|
9
|
+
readonly type: PropType<PageMode>;
|
|
9
10
|
};
|
|
10
11
|
readonly openType: {
|
|
11
12
|
readonly type: PropType<"dialog" | "normal">;
|
|
@@ -24,4 +25,4 @@ export declare const attachmentProps: {
|
|
|
24
25
|
readonly default: false;
|
|
25
26
|
};
|
|
26
27
|
};
|
|
27
|
-
export type AttachmentProps =
|
|
28
|
+
export type AttachmentProps = ExtractPublicPropTypes<typeof attachmentProps>;
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var header = require('../../header/src/header.js');
|
|
4
3
|
var table = require('../../table/src/table.js');
|
|
5
4
|
|
|
6
5
|
const attachmentProps = {
|
|
@@ -10,7 +9,7 @@ const attachmentProps = {
|
|
|
10
9
|
},
|
|
11
10
|
// 页面模式
|
|
12
11
|
mode: {
|
|
13
|
-
|
|
12
|
+
type: String
|
|
14
13
|
},
|
|
15
14
|
// 展示模式
|
|
16
15
|
openType: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"attachment.js","sources":["../../../../../../packages/components/attachment/src/attachment.ts"],"sourcesContent":["import type {
|
|
1
|
+
{"version":3,"file":"attachment.js","sources":["../../../../../../packages/components/attachment/src/attachment.ts"],"sourcesContent":["import type { ExtractPublicPropTypes, PropType } from 'vue'\nimport { tableProps } from '@el-plus/components/table'\nimport type { PageMode } from '@el-plus/hooks/use-navigation'\n\nexport const attachmentProps = {\n // 格式化列\n formatColumns: {\n ...tableProps.formatColumns,\n },\n // 页面模式\n mode: {\n type: String as PropType<PageMode>,\n },\n // 展示模式\n openType: {\n type: String as PropType<'dialog' | 'normal'>,\n default: 'dialog',\n },\n // 是否需要类型\n isType: {\n type: Boolean,\n default: true,\n },\n // 是否需要备注\n isNote: {\n type: Boolean,\n default: false,\n },\n // 是否需要打开弹窗按钮\n isShowOpenDialogButton: {\n type: Boolean,\n default: false,\n },\n} as const\nexport type AttachmentProps = ExtractPublicPropTypes<typeof attachmentProps>\n"],"names":["tableProps"],"mappings":";;;;AAIO,MAAM,eAAA,GAAkB;AAAA;AAAA,EAE7B,aAAA,EAAe;AAAA,IACb,GAAGA,gBAAA,CAAW;AAAA,GAChB;AAAA;AAAA,EAEA,IAAA,EAAM;AAAA,IACJ,IAAA,EAAM;AAAA,GACR;AAAA;AAAA,EAEA,QAAA,EAAU;AAAA,IACR,IAAA,EAAM,MAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA;AAAA,EAEA,MAAA,EAAQ;AAAA,IACN,IAAA,EAAM,OAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA;AAAA,EAEA,MAAA,EAAQ;AAAA,IACN,IAAA,EAAM,OAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA;AAAA,EAEA,sBAAA,EAAwB;AAAA,IACtB,IAAA,EAAM,OAAA;AAAA,IACN,OAAA,EAAS;AAAA;AAEb;;;;"}
|
|
@@ -60,7 +60,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
60
60
|
return (_ctx, _cache) => {
|
|
61
61
|
const _component_EpButtons = vue.resolveComponent("EpButtons");
|
|
62
62
|
return vue.openBlock(), vue.createElementBlock(vue.Fragment, null, [
|
|
63
|
-
|
|
63
|
+
props$1.isShowOpenDialogButton ? (vue.openBlock(), vue.createBlock(vue.unref(elementPlus.ElButton), {
|
|
64
64
|
key: 0,
|
|
65
65
|
type: "primary",
|
|
66
66
|
plain: "",
|
|
@@ -76,7 +76,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
76
76
|
vue.createVNode(vue.unref(AttachmentDialog), null, {
|
|
77
77
|
default: vue.withCtx(() => [
|
|
78
78
|
vue.createElementVNode("div", { style: { "margin-bottom": "10px", "text-align": "right" } }, [
|
|
79
|
-
|
|
79
|
+
props$1.openType === "dialog" ? (vue.openBlock(), vue.createBlock(_component_EpButtons, {
|
|
80
80
|
key: 0,
|
|
81
81
|
type: "primary",
|
|
82
82
|
list: [
|