el-plus 0.0.74 → 0.0.76

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.
Files changed (42) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/index.full.js +39 -9
  3. package/dist/index.full.min.js +4 -4
  4. package/dist/index.full.min.js.map +1 -1
  5. package/dist/index.full.min.mjs +3 -3
  6. package/dist/index.full.min.mjs.map +1 -1
  7. package/dist/index.full.mjs +39 -9
  8. package/es/components/attachment/index.d.ts +9 -0
  9. package/es/components/attachment/src/attachment.d.ts +3 -0
  10. package/es/components/attachment/src/attachment.mjs +4 -0
  11. package/es/components/attachment/src/attachment.mjs.map +1 -1
  12. package/es/components/attachment/src/attachment.vue.d.ts +6 -0
  13. package/es/components/attachment/src/attachment.vue2.mjs +2 -2
  14. package/es/components/attachment/src/attachment.vue2.mjs.map +1 -1
  15. package/es/components/attachment/src/use-attachment.d.ts +1 -0
  16. package/es/components/attachment/src/use-attachment.mjs +5 -1
  17. package/es/components/attachment/src/use-attachment.mjs.map +1 -1
  18. package/es/components/form/src/hooks/use-form-item.mjs +5 -1
  19. package/es/components/form/src/hooks/use-form-item.mjs.map +1 -1
  20. package/es/components/header/index.d.ts +3 -0
  21. package/es/components/header/src/header.vue.d.ts +1 -0
  22. package/es/components/uni-vue/src/use-uni-vue.mjs +21 -3
  23. package/es/components/uni-vue/src/use-uni-vue.mjs.map +1 -1
  24. package/es/package.json.mjs +1 -1
  25. package/lib/components/attachment/index.d.ts +9 -0
  26. package/lib/components/attachment/src/attachment.d.ts +3 -0
  27. package/lib/components/attachment/src/attachment.js +4 -0
  28. package/lib/components/attachment/src/attachment.js.map +1 -1
  29. package/lib/components/attachment/src/attachment.vue.d.ts +6 -0
  30. package/lib/components/attachment/src/attachment.vue2.js +2 -2
  31. package/lib/components/attachment/src/attachment.vue2.js.map +1 -1
  32. package/lib/components/attachment/src/use-attachment.d.ts +1 -0
  33. package/lib/components/attachment/src/use-attachment.js +5 -1
  34. package/lib/components/attachment/src/use-attachment.js.map +1 -1
  35. package/lib/components/form/src/hooks/use-form-item.js +5 -1
  36. package/lib/components/form/src/hooks/use-form-item.js.map +1 -1
  37. package/lib/components/header/index.d.ts +3 -0
  38. package/lib/components/header/src/header.vue.d.ts +1 -0
  39. package/lib/components/uni-vue/src/use-uni-vue.js +21 -3
  40. package/lib/components/uni-vue/src/use-uni-vue.js.map +1 -1
  41. package/lib/package.json.js +1 -1
  42. package/package.json +1 -1
@@ -28,7 +28,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
28
28
  const bem$1 = bem.createNameSpace("attachment");
29
29
  const props$1 = __props;
30
30
  const modelValue = vue.useModel(__props, "modelValue");
31
- const { columns, addAttachment, isNormalOpen, onConfirm, onCancel } = useAttachment.useAttachment(props$1, {
31
+ const { columns, addAttachment, isNormalOpen, onConfirm, onCancel, mode } = useAttachment.useAttachment(props$1, {
32
32
  data: modelValue
33
33
  });
34
34
  const AttachmentDialog = useDialog.useDialog({
@@ -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
- props$1.openType === "dialog" ? (vue.openBlock(), vue.createBlock(_component_EpButtons, {
79
+ props$1.openType === "dialog" && vue.unref(mode) !== "browse" ? (vue.openBlock(), vue.createBlock(_component_EpButtons, {
80
80
  key: 0,
81
81
  type: "primary",
82
82
  list: [
@@ -1 +1 @@
1
- {"version":3,"file":"attachment.vue2.js","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":["useLocale","bem","createNameSpace","props","_useModel","useAttachment","useDialog","_createBlock","_unref","ElButton","_normalizeClass","_createTextVNode","_toDisplayString","_createVNode","_createElementVNode","_mergeProps","prepareClassNames","prepareStyles"],"mappings":"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"}
1
+ {"version":3,"file":"attachment.vue2.js","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' && mode !== 'browse'\"\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, mode } =\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":["useLocale","bem","createNameSpace","props","_useModel","useAttachment","useDialog","_createBlock","_unref","ElButton","_normalizeClass","_createTextVNode","_toDisplayString","_createVNode","_createElementVNode","_mergeProps","prepareClassNames","prepareStyles"],"mappings":"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"}
@@ -217,4 +217,5 @@ export declare const useAttachment: (props: any, { data }: {
217
217
  isDialogOpen: boolean;
218
218
  onConfirm: (resolve: any) => Promise<void>;
219
219
  onCancel: (resolve: any) => void;
220
+ mode: import("vue").ComputedRef<any>;
220
221
  };
@@ -97,6 +97,9 @@ const useAttachment = (props, { data }) => {
97
97
  if (isDialogOpen) {
98
98
  toBeConfirmData.push(fileData);
99
99
  }
100
+ if (props.beforeAdd) {
101
+ await props.beforeAdd?.(fileData);
102
+ }
100
103
  data.value.push(fileData);
101
104
  };
102
105
  const onConfirm = async (resolve) => {
@@ -129,7 +132,8 @@ const useAttachment = (props, { data }) => {
129
132
  isNormalOpen,
130
133
  isDialogOpen,
131
134
  onConfirm,
132
- onCancel
135
+ onCancel,
136
+ mode
133
137
  };
134
138
  };
135
139
 
@@ -1 +1 @@
1
- {"version":3,"file":"use-attachment.js","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":["useNavigation","useLocale","computed","useTemplateRef","ref","downloadFile","previewFile","importFile"],"mappings":"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"}
1
+ {"version":3,"file":"use-attachment.js","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 if (props.beforeAdd) {\n await props.beforeAdd?.(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 mode\n }\n}\n"],"names":["useNavigation","useLocale","computed","useTemplateRef","ref","downloadFile","previewFile","importFile"],"mappings":"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"}
@@ -17,7 +17,11 @@ const useFormItemSlots = (props) => {
17
17
  const events = {};
18
18
  for (const key in attrs) {
19
19
  if (key.startsWith("on")) {
20
- events[key] = attrs[key];
20
+ events[key] = (...args) => {
21
+ const tableScope = attrs["table-scope"];
22
+ const eventFn = attrs[key];
23
+ return eventFn(...args, tableScope);
24
+ };
21
25
  }
22
26
  }
23
27
  const formData = attrs["form-data"];
@@ -1 +1 @@
1
- {"version":3,"file":"use-form-item.js","sources":["../../../../../../../packages/components/form/src/hooks/use-form-item.tsx"],"sourcesContent":["import { h, resolveComponent, useAttrs, ref } from 'vue'\nimport type { FormItemProps } from '../form-item'\nimport type { FormItemRule } from 'element-plus'\nimport { ElTooltip } from 'element-plus'\nimport { useLocale } from '@el-plus/hooks/use-locale'\nexport const useFormItem = () => {\n return {}\n}\nexport const useFormItemSlots = (props: FormItemProps) => {\n const attrs = useAttrs()\n const { render, labelRender } = props\n const prop = props.tableProp || props.prop\n const events: Record<string, (...args: any[]) => void> = {}\n for (const key in attrs) {\n if (key.startsWith('on')) {\n events[key] = attrs[key] as (...args: any[]) => void\n }\n }\n const formData = attrs['form-data'] as Record<string, unknown>\n const isTipDisabled = ref(true) // 默认禁用提示\n const checkOverflow = (e: MouseEvent) => {\n const el = e.currentTarget as HTMLElement\n isTipDisabled.value = el.scrollWidth <= el.clientWidth\n }\n const scopedSlots = {\n default: () => {\n const { scopedSlots: renderScopedSlots, ...renderProps } =\n props.props || {}\n let disabled = props.disabled\n if (typeof props.disabled === 'function') {\n disabled = props.disabled(formData)\n }\n return props.type\n ? h(\n resolveComponent(props.type),\n {\n modelValue: formData[prop as string],\n 'onUpdate:modelValue': (value: unknown) => {\n formData[prop as string] = value\n },\n disabled,\n clearable: true,\n ...renderProps,\n ...events,\n },\n renderScopedSlots,\n )\n : formData[prop as string]\n },\n label: () => {\n return (\n <ElTooltip\n placement=\"top\"\n effect=\"dark\"\n content={props.label}\n disabled={!props.isShowLabel || isTipDisabled.value}\n >\n <span\n onMouseenter={checkOverflow}\n style=\"display: block;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;\"\n >\n {!props.hideRequiredAsterisk && props.required ? (\n <span style=\"color: var(--el-color-danger);\">*</span>\n ) : null}\n {props.isShowLabel ? <span>{props.label}</span> : ''}\n </span>\n </ElTooltip>\n )\n },\n }\n\n if (labelRender) {\n scopedSlots.label = () => labelRender({ label: props.label })\n }\n if (render) {\n scopedSlots.default = () => {\n return render(attrs['table-scope'])\n }\n }\n return {\n scopedSlots,\n }\n}\nexport const useFormItemRules = (props: FormItemProps) => {\n const { t } = useLocale()\n const { required, rules, label } = props\n let mergeRules: FormItemRule[] = []\n if (required) {\n const requiredDefault = { required: true }\n mergeRules.push(requiredDefault)\n }\n if (rules) {\n if (Array.isArray(rules)) {\n mergeRules = mergeRules.concat(rules)\n }\n\n if (Object.prototype.toString.call(rules) === '[object Object]') {\n mergeRules.push(rules as FormItemRule)\n }\n }\n\n if (mergeRules) {\n mergeRules.forEach((r) => {\n if (r.required && typeof r.message === 'undefined') {\n r.message = `${label || ''}${t('ep.formItem.required')}`\n }\n })\n }\n return { rules: mergeRules }\n}\n"],"names":["useFormItem","useFormItemSlots","props","attrs","useAttrs","render","labelRender","prop","tableProp","events","key","startsWith","formData","isTipDisabled","ref","checkOverflow","e","el","currentTarget","value","scrollWidth","clientWidth","scopedSlots","default","renderScopedSlots","renderProps","disabled","type","h","resolveComponent","modelValue","clearable","label","_createVNode","ElTooltip","isShowLabel","hideRequiredAsterisk","required","_createTextVNode","useFormItemRules","t","useLocale","rules","mergeRules","requiredDefault","push","Array","isArray","concat","Object","prototype","toString","call","forEach","r","message"],"mappings":"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"}
1
+ {"version":3,"file":"use-form-item.js","sources":["../../../../../../../packages/components/form/src/hooks/use-form-item.tsx"],"sourcesContent":["import { h, resolveComponent, useAttrs, ref } from 'vue'\nimport type { FormItemProps } from '../form-item'\nimport type { FormItemRule } from 'element-plus'\nimport { ElTooltip } from 'element-plus'\nimport { useLocale } from '@el-plus/hooks/use-locale'\nexport const useFormItem = () => {\n return {}\n}\nexport const useFormItemSlots = (props: FormItemProps) => {\n const attrs = useAttrs()\n const { render, labelRender } = props\n const prop = props.tableProp || props.prop\n const events: Record<string, (...args: any[]) => void> = {} \n for (const key in attrs) {\n if (key.startsWith('on')) {\n // 包装事件处理函数,确保在事件触发时使用最新的 scope\n // fix: table筛选后,点击事件触发时,scope.row仍为筛选前的行数据\n events[key] = (...args: any[]) => {\n const tableScope = attrs['table-scope']\n const eventFn = attrs[key] as (...args: any[]) => void\n return eventFn(...args, tableScope)\n }\n }\n }\n const formData = attrs['form-data'] as Record<string, unknown>\n const isTipDisabled = ref(true) // 默认禁用提示\n const checkOverflow = (e: MouseEvent) => {\n const el = e.currentTarget as HTMLElement\n isTipDisabled.value = el.scrollWidth <= el.clientWidth\n }\n const scopedSlots = {\n default: () => {\n const { scopedSlots: renderScopedSlots, ...renderProps } =\n props.props || {}\n let disabled = props.disabled\n if (typeof props.disabled === 'function') {\n disabled = props.disabled(formData)\n }\n return props.type\n ? h(\n resolveComponent(props.type),\n {\n modelValue: formData[prop as string],\n 'onUpdate:modelValue': (value: unknown) => {\n formData[prop as string] = value\n },\n disabled,\n clearable: true,\n ...renderProps,\n ...events,\n },\n renderScopedSlots,\n )\n : formData[prop as string]\n },\n label: () => {\n return (\n <ElTooltip\n placement=\"top\"\n effect=\"dark\"\n content={props.label}\n disabled={!props.isShowLabel || isTipDisabled.value}\n >\n <span\n onMouseenter={checkOverflow}\n style=\"display: block;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;\"\n >\n {!props.hideRequiredAsterisk && props.required ? (\n <span style=\"color: var(--el-color-danger);\">*</span>\n ) : null}\n {props.isShowLabel ? <span>{props.label}</span> : ''}\n </span>\n </ElTooltip>\n )\n },\n }\n\n if (labelRender) {\n scopedSlots.label = () => labelRender({ label: props.label })\n }\n if (render) {\n scopedSlots.default = () => {\n return render(attrs['table-scope'])\n }\n }\n return {\n scopedSlots,\n }\n}\nexport const useFormItemRules = (props: FormItemProps) => {\n const { t } = useLocale()\n const { required, rules, label } = props\n let mergeRules: FormItemRule[] = []\n if (required) {\n const requiredDefault = { required: true }\n mergeRules.push(requiredDefault)\n }\n if (rules) {\n if (Array.isArray(rules)) {\n mergeRules = mergeRules.concat(rules)\n }\n\n if (Object.prototype.toString.call(rules) === '[object Object]') {\n mergeRules.push(rules as FormItemRule)\n }\n }\n\n if (mergeRules) {\n mergeRules.forEach((r) => {\n if (r.required && typeof r.message === 'undefined') {\n r.message = `${label || ''}${t('ep.formItem.required')}`\n }\n })\n }\n return { rules: mergeRules }\n}\n"],"names":["useFormItem","useFormItemSlots","props","attrs","useAttrs","render","labelRender","prop","tableProp","events","key","startsWith","args","tableScope","eventFn","formData","isTipDisabled","ref","checkOverflow","e","el","currentTarget","value","scrollWidth","clientWidth","scopedSlots","default","renderScopedSlots","renderProps","disabled","type","h","resolveComponent","modelValue","clearable","label","_createVNode","ElTooltip","isShowLabel","hideRequiredAsterisk","required","_createTextVNode","useFormItemRules","t","useLocale","rules","mergeRules","requiredDefault","push","Array","isArray","concat","Object","prototype","toString","call","forEach","r","message"],"mappings":";;;;;;AAKO,MAAMA,cAAcA,MAAM;AAC/B,EAAA,OAAO,EAAC;AACV;AACO,MAAMC,mBAAoBC,CAAAA,KAAAA,KAAyB;AACxD,EAAA,MAAMC,QAAQC,YAAAA,EAAS;AACvB,EAAA,MAAM;AAAA,IAAEC,MAAAA;AAAAA,IAAQC;AAAAA,GAAY,GAAIJ,KAAAA;AAChC,EAAA,MAAMK,IAAAA,GAAOL,KAAAA,CAAMM,SAAAA,IAAaN,KAAAA,CAAMK,IAAAA;AACtC,EAAA,MAAME,SAAmD,EAAC;AAC1D,EAAA,KAAA,MAAWC,OAAOP,KAAAA,EAAO;AACvB,IAAA,IAAIO,GAAAA,CAAIC,UAAAA,CAAW,IAAI,CAAA,EAAG;AAGxBF,MAAAA,MAAAA,CAAOC,GAAG,CAAA,GAAI,CAAA,GAAIE,IAAAA,KAAgB;AAChC,QAAA,MAAMC,UAAAA,GAAaV,MAAM,aAAa,CAAA;AACtC,QAAA,MAAMW,OAAAA,GAAUX,MAAMO,GAAG,CAAA;AACzB,QAAA,OAAOI,OAAAA,CAAQ,GAAGF,IAAAA,EAAMC,UAAU,CAAA;AAAA,MACpC,CAAA;AAAA,IACF;AAAA,EACF;AACA,EAAA,MAAME,QAAAA,GAAWZ,MAAM,WAAW,CAAA;AAClC,EAAA,MAAMa,aAAAA,GAAgBC,QAAI,IAAI,CAAA;AAC9B,EAAA,MAAMC,gBAAiBC,CAAAA,CAAAA,KAAkB;AACvC,IAAA,MAAMC,KAAKD,CAAAA,CAAEE,aAAAA;AACbL,IAAAA,aAAAA,CAAcM,KAAAA,GAAQF,EAAAA,CAAGG,WAAAA,IAAeH,EAAAA,CAAGI,WAAAA;AAAAA,EAC7C,CAAA;AACA,EAAA,MAAMC,WAAAA,GAAc;AAAA,IAClBC,SAASA,MAAM;AACb,MAAA,MAAM;AAAA,QAAED,WAAAA,EAAaE,iBAAAA;AAAAA,QAAmB,GAAGC;AAAAA,OAAY,GACrD1B,KAAAA,CAAMA,KAAAA,IAAS,EAAC;AAClB,MAAA,IAAI2B,WAAW3B,KAAAA,CAAM2B,QAAAA;AACrB,MAAA,IAAI,OAAO3B,KAAAA,CAAM2B,QAAAA,KAAa,UAAA,EAAY;AACxCA,QAAAA,QAAAA,GAAW3B,KAAAA,CAAM2B,SAASd,QAAQ,CAAA;AAAA,MACpC;AACA,MAAA,OAAOb,MAAM4B,IAAAA,GACTC,KAAAA,CACEC,oBAAAA,CAAiB9B,KAAAA,CAAM4B,IAAI,CAAA,EAC3B;AAAA,QACEG,UAAAA,EAAYlB,SAASR,IAAI,CAAA;AAAA,QACzB,uBAAwBe,CAAAA,KAAAA,KAAmB;AACzCP,UAAAA,QAAAA,CAASR,IAAI,CAAA,GAAce,KAAAA;AAAAA,QAC7B,CAAA;AAAA,QACAO,QAAAA;AAAAA,QACAK,SAAAA,EAAW,IAAA;AAAA,QACX,GAAGN,WAAAA;AAAAA,QACH,GAAGnB;AAAAA,OACL,EACAkB,iBACF,CAAA,GACAZ,QAAAA,CAASR,IAAI,CAAA;AAAA,IACnB,CAAA;AAAA,IACA4B,OAAOA,MAAM;AACX,MAAA,OAAAC,gBAAAC,qBAAAA,EAAA;AAAA,QAAA,WAAA,EAAA,KAAA;AAAA,QAAA,QAAA,EAAA,MAAA;AAAA,QAAA,WAIanC,KAAAA,CAAMiC,KAAAA;AAAAA,QAAK,UAAA,EACV,CAACjC,KAAAA,CAAMoC,WAAAA,IAAetB,aAAAA,CAAcM;AAAAA,OAAK,EAAA;AAAA,QAAAI,OAAAA,EAAAA,MAAA,CAAAU,eAAAA,CAAA,MAAA,EAAA;AAAA,UAAA,cAAA,EAGnClB,aAAAA;AAAAA,UAAa,OAAA,EAAA;AAAA,SAAA,EAAA,CAG1B,CAAChB,KAAAA,CAAMqC,wBAAwBrC,KAAAA,CAAMsC,QAAAA,GAAQJ,gBAAA,MAAA,EAAA;AAAA,UAAA,OAAA,EAAA;AAAA,SAAA,EAAA,CAAAK,mBAAAA,CAAA,GAAA,CAAA,CAAA,CAAA,GAE1C,MACHvC,KAAAA,CAAMoC,WAAAA,GAAWF,gBAAA,MAAA,EAAA,IAAA,EAAA,CAAUlC,KAAAA,CAAMiC,KAAK,KAAW,EAAE,CAAA,CAAA;AAAA,OAAA,CAAA;AAAA,IAI5D;AAAA,GACF;AAEA,EAAA,IAAI7B,WAAAA,EAAa;AACfmB,IAAAA,WAAAA,CAAYU,KAAAA,GAAQ,MAAM7B,WAAAA,CAAY;AAAA,MAAE6B,OAAOjC,KAAAA,CAAMiC;AAAAA,KAAO,CAAA;AAAA,EAC9D;AACA,EAAA,IAAI9B,MAAAA,EAAQ;AACVoB,IAAAA,WAAAA,CAAYC,UAAU,MAAM;AAC1B,MAAA,OAAOrB,MAAAA,CAAOF,KAAAA,CAAM,aAAa,CAAC,CAAA;AAAA,IACpC,CAAA;AAAA,EACF;AACA,EAAA,OAAO;AAAA,IACLsB;AAAAA,GACF;AACF;AACO,MAAMiB,mBAAoBxC,CAAAA,KAAAA,KAAyB;AACxD,EAAA,MAAM;AAAA,IAAEyC;AAAAA,MAAMC,mBAAAA,EAAU;AACxB,EAAA,MAAM;AAAA,IAAEJ,QAAAA;AAAAA,IAAUK,KAAAA;AAAAA,IAAOV;AAAAA,GAAM,GAAIjC,KAAAA;AACnC,EAAA,IAAI4C,aAA6B,EAAA;AACjC,EAAA,IAAIN,QAAAA,EAAU;AACZ,IAAA,MAAMO,eAAAA,GAAkB;AAAA,MAAEP,QAAAA,EAAU;AAAA,KAAK;AACzCM,IAAAA,UAAAA,CAAWE,KAAKD,eAAe,CAAA;AAAA,EACjC;AACA,EAAA,IAAIF,KAAAA,EAAO;AACT,IAAA,IAAII,KAAAA,CAAMC,OAAAA,CAAQL,KAAK,CAAA,EAAG;AACxBC,MAAAA,UAAAA,GAAaA,UAAAA,CAAWK,OAAON,KAAK,CAAA;AAAA,IACtC;AAEA,IAAA,IAAIO,OAAOC,SAAAA,CAAUC,QAAAA,CAASC,IAAAA,CAAKV,KAAK,MAAM,iBAAA,EAAmB;AAC/DC,MAAAA,UAAAA,CAAWE,KAAKH,KAAqB,CAAA;AAAA,IACvC;AAAA,EACF;AAEA,EAAA,IAAIC,UAAAA,EAAY;AACdA,IAAAA,UAAAA,CAAWU,QAASC,CAAAA,CAAAA,KAAM;AACxB,MAAA,IAAIA,CAAAA,CAAEjB,QAAAA,IAAY,OAAOiB,CAAAA,CAAEC,YAAY,WAAA,EAAa;AAClDD,QAAAA,CAAAA,CAAEC,UAAU,CAAA,EAAGvB,KAAAA,IAAS,EAAE,CAAA,EAAGQ,CAAAA,CAAE,sBAAsB,CAAC,CAAA,CAAA;AAAA,MACxD;AAAA,IACF,CAAC,CAAA;AAAA,EACH;AACA,EAAA,OAAO;AAAA,IAAEE,KAAAA,EAAOC;AAAAA,GAAW;AAC7B;;;;;;"}
@@ -79,6 +79,7 @@ export declare const EpHeader: {
79
79
  readonly isType?: boolean | undefined;
80
80
  readonly isNote?: boolean | undefined;
81
81
  readonly isShowOpenDialogButton?: boolean | undefined;
82
+ readonly beforeAdd?: ((fileItem: Record<string, any>) => boolean) | undefined;
82
83
  };
83
84
  }, true, {}, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, {}, any, import("vue").ComponentProvideOptions, {
84
85
  P: {};
@@ -167,6 +168,7 @@ export declare const EpHeader: {
167
168
  readonly isType?: boolean | undefined;
168
169
  readonly isNote?: boolean | undefined;
169
170
  readonly isShowOpenDialogButton?: boolean | undefined;
171
+ readonly beforeAdd?: ((fileItem: Record<string, any>) => boolean) | undefined;
170
172
  };
171
173
  }>;
172
174
  __isFragment?: never;
@@ -240,6 +242,7 @@ export declare const EpHeader: {
240
242
  readonly isType?: boolean | undefined;
241
243
  readonly isNote?: boolean | undefined;
242
244
  readonly isShowOpenDialogButton?: boolean | undefined;
245
+ readonly beforeAdd?: ((fileItem: Record<string, any>) => boolean) | undefined;
243
246
  };
244
247
  }, {}, string, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & import("vue").Plugin;
245
248
  export default EpHeader;
@@ -96,6 +96,7 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
96
96
  readonly isType?: boolean | undefined;
97
97
  readonly isNote?: boolean | undefined;
98
98
  readonly isShowOpenDialogButton?: boolean | undefined;
99
+ readonly beforeAdd?: ((fileItem: Record<string, any>) => boolean) | undefined;
99
100
  };
100
101
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
101
102
  declare const _default: typeof __VLS_export;
@@ -37,12 +37,14 @@ const useUniVue = (props) => {
37
37
  const prepareVueAttributes = () => {
38
38
  const events = {};
39
39
  const _props = {};
40
- console.log(attrs);
41
40
  Object.keys(attrs).forEach((key) => {
42
41
  if (key.startsWith("on")) {
43
42
  let eventName = key.slice(2);
44
43
  if (eventName.startsWith("Update:")) {
45
44
  eventName = "update:" + eventName.slice(7);
45
+ if (eventName === "update:value") {
46
+ eventName = "input";
47
+ }
46
48
  } else {
47
49
  eventName = eventName.replace(/([A-Z])/g, "-$1").toLowerCase();
48
50
  eventName = eventName.slice(1);
@@ -160,7 +162,23 @@ const useUniVue = (props) => {
160
162
  el: container,
161
163
  // @ts-expect-error 缺少类型定义
162
164
  router: new VueRouter3(),
163
- render: (h) => h(props.name, prepareVueAttributes())
165
+ render: (h) => h(props.name, {
166
+ props: {
167
+ ...prepareVueAttributes().props
168
+ },
169
+ on: {
170
+ ...prepareVueAttributes().on,
171
+ // 'update:dialogFormData': (newVal) => {
172
+ // console.log(newVal, 'update:dialogFormData');
173
+ // },
174
+ // 'update:visible': (newVal) => {
175
+ // console.log(newVal, 'update:visible');
176
+ // },
177
+ "input": (newVal) => {
178
+ console.log(newVal, "input");
179
+ }
180
+ }
181
+ })
164
182
  });
165
183
  };
166
184
  Object.keys(attrs).forEach((key) => {
@@ -169,9 +187,9 @@ const useUniVue = (props) => {
169
187
  vue.watch(
170
188
  () => attrs[propName],
171
189
  (newVal) => {
172
- console.log(newVal, "newVal", propName);
173
190
  if (instance) {
174
191
  try {
192
+ console.log(newVal, "newVal", propName, instance);
175
193
  instance.$children[0][propName] = newVal;
176
194
  } catch (e) {
177
195
  }
@@ -1 +1 @@
1
- {"version":3,"file":"use-uni-vue.js","sources":["../../../../../../packages/components/uni-vue/src/use-uni-vue.ts"],"sourcesContent":["import { onMounted, ref, useAttrs, useTemplateRef, watch } from 'vue'\nimport { http } from '@el-plus/utils/http'\nimport Vue2 from 'vue2'\nimport VueRouter3 from 'vue-router3'\nimport { componentType } from './uni-vue'\nimport axios from 'axios'\nimport { ElMessage, ElLoading } from 'element-plus'\nexport const useUniVue = (props) => {\n const uniVue = useTemplateRef<HTMLElement>('uniVue')\n const { type } = props\n const loading = ref(true)\n const isAddress = type === 'address'\n const isBpm = type === 'bpm'\n // 是否需要加载静态资源\n const isLoadStatic = componentType.indexOf(type) > -1\n const attrs = useAttrs()\n const setupWindow = () => {\n Vue2.use(VueRouter3)\n if (!window.Vue) {\n window.Vue = Vue2\n }\n // 地址\n if (isAddress) {\n if (!window.axios) {\n window.axios = axios\n }\n if (!window.ElementUI) {\n window.ElementUI = {\n Message: ElMessage,\n Loading: ElLoading,\n }\n }\n }\n }\n setupWindow()\n const prepareVueAttributes = () => {\n const events = {}\n const _props = {}\n const modelProps = {}\n console.log(attrs)\n\n Object.keys(attrs).forEach((key) => {\n if (key.startsWith('on')) {\n let eventName = key.slice(2) // 去掉 'on' 前缀\n if (eventName.startsWith('Update:')) {\n // 处理 v-model:xxx 事件,转换为 update:xxx\n // 例如:onUpdate:modelValue -> update:modelValue、onUpdate:dialogFormData -> update:dialogFormData\n eventName = 'update:' + eventName.slice(7)\n } else {\n // 将驼峰命名转换为短横线命名\n // 例如: onInitComplete-> init-complete (因为测试发现用initComplete不生效)\n eventName = eventName.replace(/([A-Z])/g, '-$1').toLowerCase()\n // 删除第一位的-\n eventName = eventName.slice(1)\n }\n events[eventName] = attrs[key]\n } else {\n _props[key] = attrs[key]\n }\n })\n console.log(events, _props, 9999)\n\n return {\n on: events,\n props: _props,\n }\n }\n\n const cdn = '//j01.hongxinshop.com/'\n const getStaticJsUrl = () => {\n switch (type) {\n case 'bpm':\n return `${cdn}bpm-common/common/index.umd.min.js`\n case 'address':\n return `./hx-address.js`\n return `${cdn}address/static/hx-address.js`\n default:\n return ''\n }\n }\n const getStaticCssUrl = () => {\n switch (type) {\n case 'bpm':\n return `/bpm-common/common/index.css`\n case 'address':\n return `/address/static/hx-address.css`\n default:\n return ''\n }\n }\n const loadStaticJsResource = async () => {\n const promises: Promise<void>[] = []\n\n // 检查并加载element-ui.js(非bpm类型)\n if (!isBpm && !window.ElementUIComponents) {\n await new Promise((resolve, reject) => {\n const script = document.createElement('script')\n script.src = '/element-ui.js'\n script.onload = resolve\n script.onerror = reject\n document.body.appendChild(script)\n })\n }\n\n // 检查并加载原有的JS资源\n let globalName\n if (isAddress) {\n globalName = 'hxAddress'\n }\n if (isBpm) {\n globalName = 'index'\n }\n\n if (globalName && !window[globalName]) {\n promises.push(\n new Promise((resolve, reject) => {\n const script = document.createElement('script')\n script.src = getStaticJsUrl()\n script.onload = () => resolve()\n script.onerror = reject\n document.body.appendChild(script)\n }),\n )\n }\n\n return Promise.all(promises)\n }\n const loadStaticCssResource = async () => {\n const cssPromises: Promise<string>[] = []\n\n // 为非bpm类型加载element-ui.css\n if (!isBpm) {\n cssPromises.push(\n http\n .request<string>('/element-ui.css', {\n responseReturn: 'raw',\n baseURL: '',\n })\n .then((res) => res.data),\n )\n }\n\n // 加载原有的CSS资源\n const staticCssUrl = getStaticCssUrl()\n if (staticCssUrl) {\n cssPromises.push(\n http\n .request<string>(staticCssUrl, {\n responseReturn: 'raw',\n })\n .then((res) => res.data),\n )\n }\n\n const cssContents = await Promise.all(cssPromises)\n return cssContents.join('\\n')\n }\n let instance\n const setupInstance = async () => {\n if (instance) {\n return\n }\n // if (import.meta.hot) return // 每次热更新都会执行,在这里阻止,防止每次热更新页面都会重复插入组件\n const el = uniVue.value // 选择一个宿主元素\n const shadowRoot = el!.attachShadow({ mode: 'open' }) // 创建一个开放模式的 shadow root\n const container = document.createElement('div')\n if (isLoadStatic) {\n try {\n loading.value = true\n const [_res1, css] = await Promise.all([\n loadStaticJsResource(),\n loadStaticCssResource(),\n ])\n const style = document.createElement('style')\n style.textContent = css\n shadowRoot.appendChild(style)\n } catch (error) {\n console.log(error)\n } finally {\n loading.value = false\n }\n }\n shadowRoot.appendChild(container)\n // console.log( prepareVueAttributes());\n\n instance = new Vue2({\n el: container,\n // @ts-expect-error 缺少类型定义\n router: new VueRouter3(),\n render: (h) => h(props.name, prepareVueAttributes()),\n })\n }\n\n // 监听 attrs中通过v-model绑定的数据(onUpdate:)变化,更新 Vue 2 组件\n Object.keys(attrs).forEach((key) => {\n if (key.startsWith('onUpdate:')) {\n const propName = key.slice(9)\n watch(\n () => attrs[propName],\n (newVal) => {\n console.log(newVal,'newVal',propName);\n \n if (instance) {\n try {\n instance.$children[0][propName] = newVal\n } catch (e) {\n // 忽略更新异常\n }\n }\n },\n {\n immediate: true,\n deep: true,\n },\n )\n }\n })\n\n onMounted(() => {\n setupInstance()\n })\n\n return {\n loading,\n }\n}\n"],"names":["uniVue","useTemplateRef","ref","componentType","useAttrs","ElMessage","ElLoading","http","watch","onMounted"],"mappings":"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"}
1
+ {"version":3,"file":"use-uni-vue.js","sources":["../../../../../../packages/components/uni-vue/src/use-uni-vue.ts"],"sourcesContent":["import { onMounted, ref, useAttrs, useTemplateRef, watch } from 'vue'\nimport { http } from '@el-plus/utils/http'\nimport Vue2 from 'vue2'\nimport VueRouter3 from 'vue-router3'\nimport { componentType } from './uni-vue'\nimport axios from 'axios'\nimport { ElMessage, ElLoading } from 'element-plus'\nexport const useUniVue = (props) => {\n const uniVue = useTemplateRef<HTMLElement>('uniVue')\n const { type } = props\n const loading = ref(true)\n const isAddress = type === 'address'\n const isBpm = type === 'bpm'\n // 是否需要加载静态资源\n const isLoadStatic = componentType.indexOf(type) > -1\n const attrs = useAttrs()\n const setupWindow = () => {\n Vue2.use(VueRouter3)\n if (!window.Vue) {\n window.Vue = Vue2\n }\n // 地址\n if (isAddress) {\n if (!window.axios) {\n window.axios = axios\n }\n if (!window.ElementUI) {\n window.ElementUI = {\n Message: ElMessage,\n Loading: ElLoading,\n }\n }\n }\n }\n setupWindow()\n const prepareVueAttributes = () => {\n const events = {}\n const _props = {}\n const modelProps = {}\n // console.log(attrs)\n\n Object.keys(attrs).forEach((key) => {\n if (key.startsWith('on')) {\n let eventName = key.slice(2) // 去掉 'on' 前缀\n if (eventName.startsWith('Update:')) {\n // 处理 v-model:xxx 事件,转换为 update:xxx\n // 例如:onUpdate:modelValue -> update:modelValue、onUpdate:dialogFormData -> update:dialogFormData\n eventName = 'update:' + eventName.slice(7)\n \n // 如果是v-model:value, 转换为input\n if (eventName === 'update:value') {\n eventName = 'input'\n }\n } else {\n // 将驼峰命名转换为短横线命名\n // 例如: onInitComplete-> init-complete (因为测试发现用initComplete不生效)\n eventName = eventName.replace(/([A-Z])/g, '-$1').toLowerCase()\n // 删除第一位的-\n eventName = eventName.slice(1)\n }\n events[eventName] = attrs[key]\n } else {\n _props[key] = attrs[key]\n }\n })\n console.log(events, _props, 9999)\n\n return {\n on: events,\n props: _props,\n }\n }\n\n const cdn = '//j01.hongxinshop.com/'\n const getStaticJsUrl = () => {\n switch (type) {\n case 'bpm':\n return `${cdn}bpm-common/common/index.umd.min.js`\n case 'address':\n return `./hx-address.js`\n return `${cdn}address/static/hx-address.js`\n default:\n return ''\n }\n }\n const getStaticCssUrl = () => {\n switch (type) {\n case 'bpm':\n return `/bpm-common/common/index.css`\n case 'address':\n return `/address/static/hx-address.css`\n default:\n return ''\n }\n }\n const loadStaticJsResource = async () => {\n const promises: Promise<void>[] = []\n\n // 检查并加载element-ui.js(非bpm类型)\n if (!isBpm && !window.ElementUIComponents) {\n await new Promise((resolve, reject) => {\n const script = document.createElement('script')\n script.src = '/element-ui.js'\n script.onload = resolve\n script.onerror = reject\n document.body.appendChild(script)\n })\n }\n\n // 检查并加载原有的JS资源\n let globalName\n if (isAddress) {\n globalName = 'hxAddress'\n }\n if (isBpm) {\n globalName = 'index'\n }\n\n if (globalName && !window[globalName]) {\n promises.push(\n new Promise((resolve, reject) => {\n const script = document.createElement('script')\n script.src = getStaticJsUrl()\n script.onload = () => resolve()\n script.onerror = reject\n document.body.appendChild(script)\n }),\n )\n }\n\n return Promise.all(promises)\n }\n const loadStaticCssResource = async () => {\n const cssPromises: Promise<string>[] = []\n\n // 为非bpm类型加载element-ui.css\n if (!isBpm) {\n cssPromises.push(\n http\n .request<string>('/element-ui.css', {\n responseReturn: 'raw',\n baseURL: '',\n })\n .then((res) => res.data),\n )\n }\n\n // 加载原有的CSS资源\n const staticCssUrl = getStaticCssUrl()\n if (staticCssUrl) {\n cssPromises.push(\n http\n .request<string>(staticCssUrl, {\n responseReturn: 'raw',\n })\n .then((res) => res.data),\n )\n }\n\n const cssContents = await Promise.all(cssPromises)\n return cssContents.join('\\n')\n }\n let instance\n const setupInstance = async () => {\n if (instance) {\n return\n }\n // if (import.meta.hot) return // 每次热更新都会执行,在这里阻止,防止每次热更新页面都会重复插入组件\n const el = uniVue.value // 选择一个宿主元素\n const shadowRoot = el!.attachShadow({ mode: 'open' }) // 创建一个开放模式的 shadow root\n const container = document.createElement('div')\n if (isLoadStatic) {\n try {\n loading.value = true\n const [_res1, css] = await Promise.all([\n loadStaticJsResource(),\n loadStaticCssResource(),\n ])\n const style = document.createElement('style')\n style.textContent = css\n shadowRoot.appendChild(style)\n } catch (error) {\n console.log(error)\n } finally {\n loading.value = false\n }\n }\n shadowRoot.appendChild(container)\n // console.log( prepareVueAttributes());\n\n instance = new Vue2({\n el: container,\n // @ts-expect-error 缺少类型定义\n router: new VueRouter3(),\n render: (h) => h(props.name, {\n props: {\n ...prepareVueAttributes().props,\n },\n on: {\n ...prepareVueAttributes().on,\n // 'update:dialogFormData': (newVal) => {\n // console.log(newVal, 'update:dialogFormData');\n // },\n // 'update:visible': (newVal) => {\n // console.log(newVal, 'update:visible');\n // },\n 'input': (newVal) => {\n console.log(newVal, 'input');\n },\n }\n }),\n })\n }\n\n // 监听 attrs中通过v-model绑定的数据(onUpdate:)变化,更新 Vue 2 组件\n Object.keys(attrs).forEach((key) => {\n if (key.startsWith('onUpdate:')) {\n const propName = key.slice(9)\n watch(\n () => attrs[propName],\n (newVal) => {\n \n if (instance) {\n try {\n console.log(newVal, 'newVal', propName, instance);\n instance.$children[0][propName] = newVal\n } catch (e) {\n // 忽略更新异常\n }\n }\n },\n {\n immediate: true,\n deep: true,\n },\n )\n }\n })\n\n onMounted(() => {\n setupInstance()\n })\n\n return {\n loading,\n }\n}\n"],"names":["uniVue","useTemplateRef","ref","componentType","useAttrs","ElMessage","ElLoading","http","watch","onMounted"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var version = "0.0.74";
3
+ var version = "0.0.76";
4
4
 
5
5
  exports.version = version;
6
6
  //# sourceMappingURL=package.json.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "el-plus",
3
- "version": "0.0.74",
3
+ "version": "0.0.76",
4
4
  "description": "pro base on element-plus",
5
5
  "module": "./es/index.mjs",
6
6
  "keywords": [