el-plus 0.0.50 → 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.
Files changed (80) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/index.full.js +63 -16
  3. package/dist/index.full.min.js +1 -1
  4. package/dist/index.full.min.js.map +1 -1
  5. package/dist/index.full.min.mjs +1 -1
  6. package/dist/index.full.min.mjs.map +1 -1
  7. package/dist/index.full.mjs +63 -16
  8. package/es/components/attachment/src/attachment.d.ts +4 -3
  9. package/es/components/attachment/src/attachment.mjs +1 -2
  10. package/es/components/attachment/src/attachment.mjs.map +1 -1
  11. package/es/components/attachment/src/attachment.vue2.mjs +2 -2
  12. package/es/components/attachment/src/attachment.vue2.mjs.map +1 -1
  13. package/es/components/attachment/src/use-attachment.mjs +2 -0
  14. package/es/components/attachment/src/use-attachment.mjs.map +1 -1
  15. package/es/components/custom-column/src/custom-column.vue2.mjs +1 -1
  16. package/es/components/custom-column/src/custom-column.vue2.mjs.map +1 -1
  17. package/es/components/header/index.d.ts +90 -0
  18. package/es/components/header/src/header.d.ts +9 -0
  19. package/es/components/header/src/header.mjs +10 -0
  20. package/es/components/header/src/header.mjs.map +1 -1
  21. package/es/components/header/src/header.vue.d.ts +38 -0
  22. package/es/components/header/src/header.vue2.mjs +4 -3
  23. package/es/components/header/src/header.vue2.mjs.map +1 -1
  24. package/es/components/search-list-page/index.d.ts +11 -3
  25. package/es/components/search-list-page/index.mjs.map +1 -1
  26. package/es/components/search-list-page/src/search-list-page.vue.d.ts +3 -1
  27. package/es/components/search-list-page/src/use-search-list-page.d.ts +3 -1
  28. package/es/components/search-list-page/src/use-search-list-page.mjs +1 -1
  29. package/es/components/search-list-page/src/use-search-list-page.mjs.map +1 -1
  30. package/es/components/table/index.d.ts +3 -0
  31. package/es/components/table/src/table.vue.d.ts +1 -0
  32. package/es/components/table/src/table.vue2.mjs +2 -0
  33. package/es/components/table/src/table.vue2.mjs.map +1 -1
  34. package/es/components/table/src/use-table.d.ts +1 -0
  35. package/es/components/table/src/use-table.mjs +4 -0
  36. package/es/components/table/src/use-table.mjs.map +1 -1
  37. package/es/hooks/dialog/use-choose-dialog.mjs +18 -3
  38. package/es/hooks/dialog/use-choose-dialog.mjs.map +1 -1
  39. package/es/hooks/dialog/use-form-dialog.mjs +14 -2
  40. package/es/hooks/dialog/use-form-dialog.mjs.map +1 -1
  41. package/es/hooks/use-request.mjs +4 -3
  42. package/es/hooks/use-request.mjs.map +1 -1
  43. package/es/package.json.mjs +1 -1
  44. package/lib/components/attachment/src/attachment.d.ts +4 -3
  45. package/lib/components/attachment/src/attachment.js +1 -2
  46. package/lib/components/attachment/src/attachment.js.map +1 -1
  47. package/lib/components/attachment/src/attachment.vue2.js +2 -2
  48. package/lib/components/attachment/src/attachment.vue2.js.map +1 -1
  49. package/lib/components/attachment/src/use-attachment.js +2 -0
  50. package/lib/components/attachment/src/use-attachment.js.map +1 -1
  51. package/lib/components/custom-column/src/custom-column.vue2.js +1 -1
  52. package/lib/components/custom-column/src/custom-column.vue2.js.map +1 -1
  53. package/lib/components/header/index.d.ts +90 -0
  54. package/lib/components/header/src/header.d.ts +9 -0
  55. package/lib/components/header/src/header.js +10 -0
  56. package/lib/components/header/src/header.js.map +1 -1
  57. package/lib/components/header/src/header.vue.d.ts +38 -0
  58. package/lib/components/header/src/header.vue2.js +3 -2
  59. package/lib/components/header/src/header.vue2.js.map +1 -1
  60. package/lib/components/search-list-page/index.d.ts +11 -3
  61. package/lib/components/search-list-page/index.js.map +1 -1
  62. package/lib/components/search-list-page/src/search-list-page.vue.d.ts +3 -1
  63. package/lib/components/search-list-page/src/use-search-list-page.d.ts +3 -1
  64. package/lib/components/search-list-page/src/use-search-list-page.js +1 -1
  65. package/lib/components/search-list-page/src/use-search-list-page.js.map +1 -1
  66. package/lib/components/table/index.d.ts +3 -0
  67. package/lib/components/table/src/table.vue.d.ts +1 -0
  68. package/lib/components/table/src/table.vue2.js +2 -0
  69. package/lib/components/table/src/table.vue2.js.map +1 -1
  70. package/lib/components/table/src/use-table.d.ts +1 -0
  71. package/lib/components/table/src/use-table.js +4 -0
  72. package/lib/components/table/src/use-table.js.map +1 -1
  73. package/lib/hooks/dialog/use-choose-dialog.js +17 -2
  74. package/lib/hooks/dialog/use-choose-dialog.js.map +1 -1
  75. package/lib/hooks/dialog/use-form-dialog.js +14 -2
  76. package/lib/hooks/dialog/use-form-dialog.js.map +1 -1
  77. package/lib/hooks/use-request.js +4 -3
  78. package/lib/hooks/use-request.js.map +1 -1
  79. package/lib/package.json.js +1 -1
  80. package/package.json +1 -1
@@ -1,4 +1,4 @@
1
- import { ref, reactive, createVNode, toRaw } from 'vue';
1
+ import { ref, useTemplateRef, reactive, createVNode, mergeProps, toRaw } from 'vue';
2
2
  import { useDialog } from './use-dialog.mjs';
3
3
  import { createNameSpace } from '../../utils/bem.mjs';
4
4
  import { EpSearchListPage } from '../../components/search-list-page/index.mjs';
@@ -25,6 +25,11 @@ const useChooseDialog = (options = {}) => {
25
25
  }, [t("ep.chooseDialog.selected"), selections.value.length, t("ep.chooseDialog.unit")]);
26
26
  };
27
27
  }
28
+ const clearSelections = async () => {
29
+ selections.value = [];
30
+ searchListPageRef.value?.tableRef?.clearSelection();
31
+ };
32
+ let searchListPageRef;
28
33
  return useDialog({
29
34
  class: bem.b(),
30
35
  width: "80%",
@@ -33,12 +38,22 @@ const useChooseDialog = (options = {}) => {
33
38
  title,
34
39
  onConfirm: (resolve) => {
35
40
  resolve(JSON.parse(JSON.stringify(selections.value)));
41
+ clearSelections();
42
+ },
43
+ onCancel: async (resolve) => {
44
+ clearSelections();
45
+ resolve();
36
46
  },
37
47
  render: ({
38
48
  resolve
39
49
  }) => {
50
+ if (!searchListPageRef) {
51
+ searchListPageRef = useTemplateRef("searchListPage");
52
+ }
40
53
  const formData = rest.formData || reactive({});
41
- return createVNode(EpSearchListPage, {
54
+ return createVNode(EpSearchListPage, mergeProps({
55
+ "ref": "searchListPage"
56
+ }, {
42
57
  showSelectionCol: multiple,
43
58
  showSingleSelectionCol,
44
59
  formData,
@@ -57,7 +72,7 @@ const useChooseDialog = (options = {}) => {
57
72
  resolve(toRaw(selections));
58
73
  }
59
74
  }
60
- }, null);
75
+ }), null);
61
76
  },
62
77
  ...dialogProps
63
78
  });
@@ -1 +1 @@
1
- {"version":3,"file":"use-choose-dialog.mjs","sources":["../../../../../packages/hooks/dialog/use-choose-dialog.tsx"],"sourcesContent":["import { useDialog } from './use-dialog'\nimport { createNameSpace } from '@el-plus/utils/bem'\nimport { EpSearchListPage } from '@el-plus/components/search-list-page'\nimport type { DialogOptions } from './use-dialog'\nimport type { SearchListPageProps } from '@el-plus/components/search-list-page'\nimport { reactive, ref, toRaw } from 'vue'\nconst bem = createNameSpace('choose-dialog')\nimport { useLocale } from '@el-plus/hooks/use-locale'\n\ntype Options = {\n title?: string\n dialogProps?: DialogOptions\n multiple?: boolean\n} & SearchListPageProps\nexport const useChooseDialog = (options: Options = {}) => {\n const { t } = useLocale()\n const { dialogProps, title, multiple, ...rest } = options\n const selections = ref([])\n const showSingleSelectionCol = !multiple\n const scopedSlots: DialogOptions['scopedSlots'] = {}\n if (!showSingleSelectionCol) {\n scopedSlots.footerPrepend = () => {\n return (\n <span class={bem.e('selected-count')}>\n {t('ep.chooseDialog.selected')}\n {selections.value.length}\n {t('ep.chooseDialog.unit')}\n </span>\n )\n }\n }\n return useDialog({\n class: bem.b(),\n width: '80%',\n showFooter: !showSingleSelectionCol,\n scopedSlots,\n title,\n onConfirm: (resolve) => {\n resolve(JSON.parse(JSON.stringify(selections.value)))\n },\n render: ({ resolve }) => {\n const formData = rest.formData || reactive({})\n return (\n <EpSearchListPage\n {...{\n showSelectionCol: multiple,\n showSingleSelectionCol,\n formData,\n ...rest,\n formProps: {\n col: 3,\n ...rest.formProps,\n },\n tableProps: {\n height: 300,\n onSelectionChange: (newSel) => {\n selections.value = newSel\n },\n onSingleSelectionChange: (newSel) => {\n selections.value = newSel\n resolve(toRaw(selections))\n },\n },\n }}\n />\n )\n },\n ...dialogProps,\n })\n}\n"],"names":["bem","createNameSpace","useChooseDialog","options","t","useLocale","dialogProps","title","multiple","rest","selections","ref","showSingleSelectionCol","scopedSlots","footerPrepend","_createVNode","e","value","length","useDialog","class","b","width","showFooter","onConfirm","resolve","JSON","parse","stringify","render","formData","reactive","EpSearchListPage","showSelectionCol","formProps","col","tableProps","height","onSelectionChange","newSel","onSingleSelectionChange","toRaw"],"mappings":";;;;;;AAMA,MAAMA,GAAAA,GAAMC,gBAAgB,eAAe,CAAA;AAQpC,MAAMC,eAAAA,GAAkBA,CAACC,OAAAA,GAAmB,EAAC,KAAM;AACxD,EAAA,MAAM;AAAA,IAAEC;AAAAA,MAAMC,SAAAA,EAAU;AACxB,EAAA,MAAM;AAAA,IAAEC,WAAAA;AAAAA,IAAaC,KAAAA;AAAAA,IAAOC,QAAAA;AAAAA,IAAU,GAAGC;AAAAA,GAAK,GAAIN,OAAAA;AAClD,EAAA,MAAMO,UAAAA,GAAaC,GAAAA,CAAI,EAAE,CAAA;AACzB,EAAA,MAAMC,yBAAyB,CAACJ,QAAAA;AAChC,EAAA,MAAMK,cAA4C,EAAC;AACnD,EAAA,IAAI,CAACD,sBAAAA,EAAwB;AAC3BC,IAAAA,WAAAA,CAAYC,gBAAgB,MAAM;AAChC,MAAA,OAAAC,YAAA,MAAA,EAAA;AAAA,QAAA,OAAA,EACef,GAAAA,CAAIgB,CAAAA,CAAE,gBAAgB;AAAA,OAAC,EAAA,CACjCZ,CAAAA,CAAE,0BAA0B,CAAA,EAC5BM,UAAAA,CAAWO,KAAAA,CAAMC,MAAAA,EACjBd,CAAAA,CAAE,sBAAsB,CAAC,CAAA,CAAA;AAAA,IAGhC,CAAA;AAAA,EACF;AACA,EAAA,OAAOe,SAAAA,CAAU;AAAA,IACfC,KAAAA,EAAOpB,IAAIqB,CAAAA,EAAE;AAAA,IACbC,KAAAA,EAAO,KAAA;AAAA,IACPC,YAAY,CAACX,sBAAAA;AAAAA,IACbC,WAAAA;AAAAA,IACAN,KAAAA;AAAAA,IACAiB,WAAYC,CAAAA,OAAAA,KAAY;AACtBA,MAAAA,OAAAA,CAAQC,KAAKC,KAAAA,CAAMD,IAAAA,CAAKE,UAAUlB,UAAAA,CAAWO,KAAK,CAAC,CAAC,CAAA;AAAA,IACtD,CAAA;AAAA,IACAY,QAAQA,CAAC;AAAA,MAAEJ;AAAAA,KAAQ,KAAM;AACvB,MAAA,MAAMK,QAAAA,GAAWrB,IAAAA,CAAKqB,QAAAA,IAAYC,QAAAA,CAAS,EAAE,CAAA;AAC7C,MAAA,OAAAhB,YAAAiB,gBAAAA,EAAA;AAAA,QAGMC,gBAAAA,EAAkBzB,QAAAA;AAAAA,QAClBI,sBAAAA;AAAAA,QACAkB,QAAAA;AAAAA,QACA,GAAGrB,IAAAA;AAAAA,QACHyB,SAAAA,EAAW;AAAA,UACTC,GAAAA,EAAK,CAAA;AAAA,UACL,GAAG1B,IAAAA,CAAKyB;AAAAA,SACV;AAAA,QACAE,UAAAA,EAAY;AAAA,UACVC,MAAAA,EAAQ,GAAA;AAAA,UACRC,mBAAoBC,CAAAA,MAAAA,KAAW;AAC7B7B,YAAAA,UAAAA,CAAWO,KAAAA,GAAQsB,MAAAA;AAAAA,UACrB,CAAA;AAAA,UACAC,yBAA0BD,CAAAA,MAAAA,KAAW;AACnC7B,YAAAA,UAAAA,CAAWO,KAAAA,GAAQsB,MAAAA;AACnBd,YAAAA,OAAAA,CAAQgB,KAAAA,CAAM/B,UAAU,CAAC,CAAA;AAAA,UAC3B;AAAA;AACF,SAAC,IAAA,CAAA;AAAA,IAIT,CAAA;AAAA,IACA,GAAGJ;AAAAA,GACJ,CAAA;AACH;;;;"}
1
+ {"version":3,"file":"use-choose-dialog.mjs","sources":["../../../../../packages/hooks/dialog/use-choose-dialog.tsx"],"sourcesContent":["import { useDialog } from './use-dialog'\nimport { createNameSpace } from '@el-plus/utils/bem'\nimport {\n EpSearchListPage,\n type SearchListPageInstance,\n} from '@el-plus/components/search-list-page'\nimport type { DialogOptions } from './use-dialog'\nimport type { SearchListPageProps } from '@el-plus/components/search-list-page'\nimport { reactive, ref, toRaw, useTemplateRef, nextTick } from 'vue'\nconst bem = createNameSpace('choose-dialog')\nimport { useLocale } from '@el-plus/hooks/use-locale'\n\ntype Options = {\n title?: string\n dialogProps?: DialogOptions\n multiple?: boolean\n} & SearchListPageProps\nexport const useChooseDialog = (options: Options = {}) => {\n const { t } = useLocale()\n const { dialogProps, title, multiple, ...rest } = options\n const selections = ref([])\n const showSingleSelectionCol = !multiple\n const scopedSlots: DialogOptions['scopedSlots'] = {}\n if (!showSingleSelectionCol) {\n scopedSlots.footerPrepend = () => {\n return (\n <span class={bem.e('selected-count')}>\n {t('ep.chooseDialog.selected')}\n {selections.value.length}\n {t('ep.chooseDialog.unit')}\n </span>\n )\n }\n }\n const clearSelections = async () => {\n selections.value = []\n searchListPageRef.value?.tableRef?.clearSelection() // 清理表格选中\n }\n let searchListPageRef\n return useDialog({\n class: bem.b(),\n width: '80%',\n showFooter: !showSingleSelectionCol,\n scopedSlots,\n title,\n onConfirm: (resolve) => {\n resolve(JSON.parse(JSON.stringify(selections.value)))\n clearSelections()\n },\n onCancel: async (resolve) => {\n clearSelections()\n resolve()\n },\n render: ({ resolve }) => {\n if (!searchListPageRef) {\n searchListPageRef =\n useTemplateRef<SearchListPageInstance>('searchListPage')\n }\n\n const formData = rest.formData || reactive({})\n return (\n <EpSearchListPage\n ref=\"searchListPage\"\n {...{\n showSelectionCol: multiple,\n showSingleSelectionCol,\n formData,\n ...rest,\n formProps: {\n col: 3,\n ...rest.formProps,\n },\n tableProps: {\n height: 300,\n onSelectionChange: (newSel) => {\n selections.value = newSel\n },\n onSingleSelectionChange: (newSel) => {\n selections.value = newSel\n resolve(toRaw(selections))\n },\n },\n }}\n />\n )\n },\n ...dialogProps,\n })\n}\n"],"names":["bem","createNameSpace","useChooseDialog","options","t","useLocale","dialogProps","title","multiple","rest","selections","ref","showSingleSelectionCol","scopedSlots","footerPrepend","_createVNode","e","value","length","clearSelections","searchListPageRef","tableRef","clearSelection","useDialog","class","b","width","showFooter","onConfirm","resolve","JSON","parse","stringify","onCancel","render","useTemplateRef","formData","reactive","EpSearchListPage","_mergeProps","showSelectionCol","formProps","col","tableProps","height","onSelectionChange","newSel","onSingleSelectionChange","toRaw"],"mappings":"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"}
@@ -11,7 +11,14 @@ const useFormDialog = (options = {}) => {
11
11
  ...formProps
12
12
  } = options;
13
13
  const formRef = ref();
14
- let formData = formProps.formData || reactive({});
14
+ const isUseComFormData = !formProps.formData;
15
+ let formData = isUseComFormData ? reactive({}) : formProps.formData;
16
+ const isDestroy = dialogProps?.destroyOnClose;
17
+ const resetForm = async () => {
18
+ if (isDestroy) {
19
+ await formRef.value?.resetFields();
20
+ }
21
+ };
15
22
  return useDialog({
16
23
  class: bem.b(),
17
24
  width: "80%",
@@ -29,7 +36,12 @@ const useFormDialog = (options = {}) => {
29
36
  },
30
37
  onConfirm: async (resolve) => {
31
38
  await formRef.value.validate();
32
- resolve(formData);
39
+ resolve(isUseComFormData ? JSON.parse(JSON.stringify(formData)) : formData);
40
+ resetForm();
41
+ },
42
+ onCancel: async (resolve) => {
43
+ await resetForm();
44
+ resolve("cancel");
33
45
  },
34
46
  ...dialogProps
35
47
  });
@@ -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 } 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 let formData = formProps.formData || reactive({}) // eslint-disable-line\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(formData)\n },\n ...dialogProps,\n })\n}\n"],"names":["bem","createNameSpace","useFormDialog","options","dialogProps","title","formProps","formRef","ref","formData","reactive","useDialog","class","b","width","render","props","_createVNode","EpForm","_mergeProps","$event","col","onConfirm","resolve","value","validate"],"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,IAAIC,QAAAA,GAAWH,SAAAA,CAAUG,QAAAA,IAAYC,QAAAA,CAAS,EAAE,CAAA;AAChD,EAAA,OAAOC,SAAAA,CAAU;AAAA,IACfC,KAAAA,EAAOZ,IAAIa,CAAAA,EAAE;AAAA,IACbC,KAAAA,EAAO,KAAA;AAAA,IACPT,KAAAA;AAAAA,IACAU,QAASC,CAAAA,KAAAA,KAAU;AACjB,MAAA,OAAAC,WAAAA,CAAAC,QAAAC,UAAAA,CAAA;AAAA,QAAA,KAAA,EAESZ,OAAAA;AAAAA,QAAO,YAAA,EACHE,QAAAA;AAAAA,QAAQ,qBAAA,EAAAW,YAARX,QAAAA,GAAQW;AAAAA,OAAA,EAAA;AAAA,QAEfC,GAAAA,EAAK,CAAA;AAAA,QACL,aAAA,EAAe,MAAA;AAAA,QACf,GAAGf;AAAAA,OAAS,GAAA,IAAA,CAAA;AAAA,IAIpB,CAAA;AAAA,IACAgB,SAAAA,EAAW,OAAOC,OAAAA,KAAY;AAC5B,MAAA,MAAMhB,OAAAA,CAAQiB,MAAMC,QAAAA,EAAS;AAC7BF,MAAAA,OAAAA,CAAQd,QAAQ,CAAA;AAAA,IAClB,CAAA;AAAA,IACA,GAAGL;AAAAA,GACJ,CAAA;AACH;;;;"}
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;;;;"}
@@ -39,9 +39,10 @@ const useRequest = ({
39
39
  ...reqParams,
40
40
  ...config.params
41
41
  };
42
- if (data.$query) {
43
- config.data[data.$query] = data.$searchValue;
44
- delete data.$searchValue;
42
+ if (config.data.$query) {
43
+ config.data[config.data.$query] = data.$searchValue;
44
+ delete config.data.$searchValue;
45
+ delete config.data.$query;
45
46
  }
46
47
  if (reqBefore) {
47
48
  reqBefore(config);
@@ -1 +1 @@
1
- {"version":3,"file":"use-request.mjs","sources":["../../../../packages/hooks/use-request.ts"],"sourcesContent":["import { ref } from 'vue'\nimport { type Ref } from 'vue'\nimport type { Api, ReqAfter, ReqBefore, Method } from '@el-plus/types'\nimport type { Canceler } from 'axios'\nimport { http } from '@el-plus/utils/http'\ntype UseRequest = (config: {\n api?: Api\n method?: Method\n reqData?: Record<string, unknown>\n reqParams?: Record<string, unknown>\n reqBefore?: ReqBefore\n reqAfter?: ReqAfter\n cancelToken?: boolean\n hooks?: {\n success?: (data: unknown) => void\n fail?: (error: unknown) => void\n }\n}) => {\n loading?: Ref<boolean>\n requestFn?: (data?: Record<string, unknown>) => Promise<void>\n}\n\nexport const useRequest: UseRequest = ({\n api,\n method = 'post',\n reqData,\n reqParams,\n reqBefore,\n reqAfter,\n cancelToken,\n hooks,\n}) => {\n if (!api) return {}\n const loading = ref(false)\n let cancelRequest: Canceler\n let apiFn\n if (typeof api === 'string') {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const config: Record<string, any> = {\n method,\n }\n if (cancelToken) {\n config.cancelRequest = (cancel: Canceler) => {\n cancelRequest = cancel\n }\n }\n\n apiFn = (data: Record<string, any> = {}, params?: Record<string, any>) => {\n if (config.method === 'get') {\n config.params = data\n } else {\n config.data = data\n config.params = params\n }\n config.data = {\n ...reqData,\n ...config.data,\n }\n config.params = {\n ...reqParams,\n ...config.params,\n }\n // 替换$query为$searchValue\n if (data.$query) {\n config.data[data.$query] = data.$searchValue\n delete data.$searchValue\n }\n\n if (reqBefore) {\n reqBefore(config)\n }\n return http.request(api, config)\n }\n } else {\n apiFn = api\n }\n const requestFn = async (data: Record<string, unknown> = {}) => {\n if (loading.value && !cancelToken) return\n loading.value = true\n try {\n cancelRequest && cancelRequest()\n const res = await apiFn(data)\n if (reqAfter) {\n reqAfter(res)\n }\n if (hooks?.success) {\n hooks.success(res.data)\n }\n } catch (error) {\n if (hooks?.fail) {\n hooks.fail(error)\n }\n } finally {\n loading.value = false\n }\n }\n return {\n loading,\n requestFn,\n }\n}\n"],"names":[],"mappings":";;;AAsBO,MAAM,aAAyB,CAAC;AAAA,EACrC,GAAA;AAAA,EACA,MAAA,GAAS,MAAA;AAAA,EACT,OAAA;AAAA,EACA,SAAA;AAAA,EACA,SAAA;AAAA,EACA,QAAA;AAAA,EACA,WAAA;AAAA,EACA;AACF,CAAA,KAAM;AACJ,EAAA,IAAI,CAAC,GAAA,EAAK,OAAO,EAAC;AAClB,EAAA,MAAM,OAAA,GAAU,IAAI,KAAK,CAAA;AACzB,EAAA,IAAI,aAAA;AACJ,EAAA,IAAI,KAAA;AACJ,EAAA,IAAI,OAAO,QAAQ,QAAA,EAAU;AAE3B,IAAA,MAAM,MAAA,GAA8B;AAAA,MAClC;AAAA,KACF;AACA,IAAA,IAAI,WAAA,EAAa;AACf,MAAA,MAAA,CAAO,aAAA,GAAgB,CAAC,MAAA,KAAqB;AAC3C,QAAA,aAAA,GAAgB,MAAA;AAAA,MAClB,CAAA;AAAA,IACF;AAEA,IAAA,KAAA,GAAQ,CAAC,IAAA,GAA4B,EAAC,EAAG,MAAA,KAAiC;AACxE,MAAA,IAAI,MAAA,CAAO,WAAW,KAAA,EAAO;AAC3B,QAAA,MAAA,CAAO,MAAA,GAAS,IAAA;AAAA,MAClB,CAAA,MAAO;AACL,QAAA,MAAA,CAAO,IAAA,GAAO,IAAA;AACd,QAAA,MAAA,CAAO,MAAA,GAAS,MAAA;AAAA,MAClB;AACA,MAAA,MAAA,CAAO,IAAA,GAAO;AAAA,QACZ,GAAG,OAAA;AAAA,QACH,GAAG,MAAA,CAAO;AAAA,OACZ;AACA,MAAA,MAAA,CAAO,MAAA,GAAS;AAAA,QACd,GAAG,SAAA;AAAA,QACH,GAAG,MAAA,CAAO;AAAA,OACZ;AAEA,MAAA,IAAI,KAAK,MAAA,EAAQ;AACf,QAAA,MAAA,CAAO,IAAA,CAAK,IAAA,CAAK,MAAM,CAAA,GAAI,IAAA,CAAK,YAAA;AAChC,QAAA,OAAO,IAAA,CAAK,YAAA;AAAA,MACd;AAEA,MAAA,IAAI,SAAA,EAAW;AACb,QAAA,SAAA,CAAU,MAAM,CAAA;AAAA,MAClB;AACA,MAAA,OAAO,IAAA,CAAK,OAAA,CAAQ,GAAA,EAAK,MAAM,CAAA;AAAA,IACjC,CAAA;AAAA,EACF,CAAA,MAAO;AACL,IAAA,KAAA,GAAQ,GAAA;AAAA,EACV;AACA,EAAA,MAAM,SAAA,GAAY,OAAO,IAAA,GAAgC,EAAC,KAAM;AAC9D,IAAA,IAAI,OAAA,CAAQ,KAAA,IAAS,CAAC,WAAA,EAAa;AACnC,IAAA,OAAA,CAAQ,KAAA,GAAQ,IAAA;AAChB,IAAA,IAAI;AACF,MAAA,aAAA,IAAiB,aAAA,EAAc;AAC/B,MAAA,MAAM,GAAA,GAAM,MAAM,KAAA,CAAM,IAAI,CAAA;AAC5B,MAAA,IAAI,QAAA,EAAU;AACZ,QAAA,QAAA,CAAS,GAAG,CAAA;AAAA,MACd;AACA,MAAA,IAAI,OAAO,OAAA,EAAS;AAClB,QAAA,KAAA,CAAM,OAAA,CAAQ,IAAI,IAAI,CAAA;AAAA,MACxB;AAAA,IACF,SAAS,KAAA,EAAO;AACd,MAAA,IAAI,OAAO,IAAA,EAAM;AACf,QAAA,KAAA,CAAM,KAAK,KAAK,CAAA;AAAA,MAClB;AAAA,IACF,CAAA,SAAE;AACA,MAAA,OAAA,CAAQ,KAAA,GAAQ,KAAA;AAAA,IAClB;AAAA,EACF,CAAA;AACA,EAAA,OAAO;AAAA,IACL,OAAA;AAAA,IACA;AAAA,GACF;AACF;;;;"}
1
+ {"version":3,"file":"use-request.mjs","sources":["../../../../packages/hooks/use-request.ts"],"sourcesContent":["import { ref } from 'vue'\nimport { type Ref } from 'vue'\nimport type { Api, ReqAfter, ReqBefore, Method } from '@el-plus/types'\nimport type { Canceler } from 'axios'\nimport { http } from '@el-plus/utils/http'\ntype UseRequest = (config: {\n api?: Api\n method?: Method\n reqData?: Record<string, unknown>\n reqParams?: Record<string, unknown>\n reqBefore?: ReqBefore\n reqAfter?: ReqAfter\n cancelToken?: boolean\n hooks?: {\n success?: (data: unknown) => void\n fail?: (error: unknown) => void\n }\n}) => {\n loading?: Ref<boolean>\n requestFn?: (data?: Record<string, unknown>) => Promise<void>\n}\n\nexport const useRequest: UseRequest = ({\n api,\n method = 'post',\n reqData,\n reqParams,\n reqBefore,\n reqAfter,\n cancelToken,\n hooks,\n}) => {\n if (!api) return {}\n const loading = ref(false)\n let cancelRequest: Canceler\n let apiFn\n if (typeof api === 'string') {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const config: Record<string, any> = {\n method,\n }\n if (cancelToken) {\n config.cancelRequest = (cancel: Canceler) => {\n cancelRequest = cancel\n }\n }\n\n apiFn = (data: Record<string, any> = {}, params?: Record<string, any>) => {\n if (config.method === 'get') {\n config.params = data\n } else {\n config.data = data\n config.params = params\n }\n config.data = {\n ...reqData,\n ...config.data,\n }\n config.params = {\n ...reqParams,\n ...config.params,\n }\n // 替换$query为$searchValue\n if (config.data.$query) {\n config.data[config.data.$query] = data.$searchValue\n delete config.data.$searchValue\n delete config.data.$query\n }\n\n if (reqBefore) {\n reqBefore(config)\n }\n return http.request(api, config)\n }\n } else {\n apiFn = api\n }\n const requestFn = async (data: Record<string, unknown> = {}) => {\n if (loading.value && !cancelToken) return\n loading.value = true\n try {\n cancelRequest && cancelRequest()\n const res = await apiFn(data)\n if (reqAfter) {\n reqAfter(res)\n }\n if (hooks?.success) {\n hooks.success(res.data)\n }\n } catch (error) {\n if (hooks?.fail) {\n hooks.fail(error)\n }\n } finally {\n loading.value = false\n }\n }\n return {\n loading,\n requestFn,\n }\n}\n"],"names":[],"mappings":";;;AAsBO,MAAM,aAAyB,CAAC;AAAA,EACrC,GAAA;AAAA,EACA,MAAA,GAAS,MAAA;AAAA,EACT,OAAA;AAAA,EACA,SAAA;AAAA,EACA,SAAA;AAAA,EACA,QAAA;AAAA,EACA,WAAA;AAAA,EACA;AACF,CAAA,KAAM;AACJ,EAAA,IAAI,CAAC,GAAA,EAAK,OAAO,EAAC;AAClB,EAAA,MAAM,OAAA,GAAU,IAAI,KAAK,CAAA;AACzB,EAAA,IAAI,aAAA;AACJ,EAAA,IAAI,KAAA;AACJ,EAAA,IAAI,OAAO,QAAQ,QAAA,EAAU;AAE3B,IAAA,MAAM,MAAA,GAA8B;AAAA,MAClC;AAAA,KACF;AACA,IAAA,IAAI,WAAA,EAAa;AACf,MAAA,MAAA,CAAO,aAAA,GAAgB,CAAC,MAAA,KAAqB;AAC3C,QAAA,aAAA,GAAgB,MAAA;AAAA,MAClB,CAAA;AAAA,IACF;AAEA,IAAA,KAAA,GAAQ,CAAC,IAAA,GAA4B,EAAC,EAAG,MAAA,KAAiC;AACxE,MAAA,IAAI,MAAA,CAAO,WAAW,KAAA,EAAO;AAC3B,QAAA,MAAA,CAAO,MAAA,GAAS,IAAA;AAAA,MAClB,CAAA,MAAO;AACL,QAAA,MAAA,CAAO,IAAA,GAAO,IAAA;AACd,QAAA,MAAA,CAAO,MAAA,GAAS,MAAA;AAAA,MAClB;AACA,MAAA,MAAA,CAAO,IAAA,GAAO;AAAA,QACZ,GAAG,OAAA;AAAA,QACH,GAAG,MAAA,CAAO;AAAA,OACZ;AACA,MAAA,MAAA,CAAO,MAAA,GAAS;AAAA,QACd,GAAG,SAAA;AAAA,QACH,GAAG,MAAA,CAAO;AAAA,OACZ;AAEA,MAAA,IAAI,MAAA,CAAO,KAAK,MAAA,EAAQ;AACtB,QAAA,MAAA,CAAO,IAAA,CAAK,MAAA,CAAO,IAAA,CAAK,MAAM,IAAI,IAAA,CAAK,YAAA;AACvC,QAAA,OAAO,OAAO,IAAA,CAAK,YAAA;AACnB,QAAA,OAAO,OAAO,IAAA,CAAK,MAAA;AAAA,MACrB;AAEA,MAAA,IAAI,SAAA,EAAW;AACb,QAAA,SAAA,CAAU,MAAM,CAAA;AAAA,MAClB;AACA,MAAA,OAAO,IAAA,CAAK,OAAA,CAAQ,GAAA,EAAK,MAAM,CAAA;AAAA,IACjC,CAAA;AAAA,EACF,CAAA,MAAO;AACL,IAAA,KAAA,GAAQ,GAAA;AAAA,EACV;AACA,EAAA,MAAM,SAAA,GAAY,OAAO,IAAA,GAAgC,EAAC,KAAM;AAC9D,IAAA,IAAI,OAAA,CAAQ,KAAA,IAAS,CAAC,WAAA,EAAa;AACnC,IAAA,OAAA,CAAQ,KAAA,GAAQ,IAAA;AAChB,IAAA,IAAI;AACF,MAAA,aAAA,IAAiB,aAAA,EAAc;AAC/B,MAAA,MAAM,GAAA,GAAM,MAAM,KAAA,CAAM,IAAI,CAAA;AAC5B,MAAA,IAAI,QAAA,EAAU;AACZ,QAAA,QAAA,CAAS,GAAG,CAAA;AAAA,MACd;AACA,MAAA,IAAI,OAAO,OAAA,EAAS;AAClB,QAAA,KAAA,CAAM,OAAA,CAAQ,IAAI,IAAI,CAAA;AAAA,MACxB;AAAA,IACF,SAAS,KAAA,EAAO;AACd,MAAA,IAAI,OAAO,IAAA,EAAM;AACf,QAAA,KAAA,CAAM,KAAK,KAAK,CAAA;AAAA,MAClB;AAAA,IACF,CAAA,SAAE;AACA,MAAA,OAAA,CAAQ,KAAA,GAAQ,KAAA;AAAA,IAClB;AAAA,EACF,CAAA;AACA,EAAA,OAAO;AAAA,IACL,OAAA;AAAA,IACA;AAAA,GACF;AACF;;;;"}
@@ -1,4 +1,4 @@
1
- var version = "0.0.50";
1
+ var version = "0.0.52";
2
2
 
3
3
  export { version };
4
4
  //# sourceMappingURL=package.json.mjs.map
@@ -1,11 +1,12 @@
1
- import type { ExtractPropTypes, PropType } from 'vue';
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<import("el-plus/es/hooks").PageMode>;
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 = ExtractPropTypes<typeof 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
- ...header.headerProps.mode
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 { ExtractPropTypes, PropType } from 'vue'\nimport { tableProps } from '@el-plus/components/table'\nimport { headerProps } from '@el-plus/components/header'\nexport const attachmentProps = {\n // 格式化列\n formatColumns: {\n ...tableProps.formatColumns,\n },\n // 页面模式\n mode: {\n ...headerProps.mode,\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 = ExtractPropTypes<typeof attachmentProps>\n"],"names":["tableProps","headerProps"],"mappings":";;;;;AAGO,MAAM,eAAA,GAAkB;AAAA;AAAA,EAE7B,aAAA,EAAe;AAAA,IACb,GAAGA,gBAAA,CAAW;AAAA,GAChB;AAAA;AAAA,EAEA,IAAA,EAAM;AAAA,IACJ,GAAGC,kBAAA,CAAY;AAAA,GACjB;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;;;;"}
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
- _ctx.isShowOpenDialogButton ? (vue.openBlock(), vue.createBlock(vue.unref(elementPlus.ElButton), {
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
- _ctx.openType === "dialog" ? (vue.openBlock(), vue.createBlock(_component_EpButtons, {
79
+ props$1.openType === "dialog" ? (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=\"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":["useLocale","bem","createNameSpace","props","_useModel","useAttachment","useDialog","isShowOpenDialogButton","_createBlock","_unref","ElButton","_normalizeClass","_createTextVNode","_toDisplayString","_createVNode","_createElementVNode","openType","_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'\"\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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"}
@@ -102,6 +102,8 @@ const useAttachment = (props, { data }) => {
102
102
  const onConfirm = async (resolve) => {
103
103
  await tableRef.value?.validate();
104
104
  resolve(data.value);
105
+ toBeConfirmData = [];
106
+ toBeDeleteData = {};
105
107
  };
106
108
  const onCancel = (resolve) => {
107
109
  if (toBeConfirmData.length) {
@@ -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 }\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 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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"}
@@ -169,7 +169,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
169
169
  size: "small",
170
170
  onClick: open
171
171
  }, {
172
- default: vue.withCtx(() => [vue.createTextVNode(vue.toDisplayString(vue.unref(t)("ep.customColumn.defineColumn")), 1)]),
172
+ default: vue.withCtx(() => [vue.createTextVNode(vue.toDisplayString(vue.unref(t)("ep.customColumn.columnSettings")), 1)]),
173
173
  _: 1
174
174
  }, 8, ["class"])) : vue.createCommentVNode("", true), vue.createVNode(vue.unref(CustomColumnDialog), null, {
175
175
  default: vue.withCtx(() => [vue.createVNode(_component_el_transfer, {
@@ -1 +1 @@
1
- {"version":3,"file":"custom-column.vue2.js","sources":["../../../../../../packages/components/custom-column/src/custom-column.vue"],"sourcesContent":["<template>\n <el-button\n v-if=\"showHandler\"\n type=\"primary\"\n :class=\"[bem.b(), 'ep-button']\"\n size=\"small\"\n @click=\"open\"\n >{{ t('ep.customColumn.defineColumn') }}</el-button\n >\n <CustomColumnDialog>\n <el-transfer\n v-model=\"showData\"\n :class=\"bem.e('transfer')\"\n filterable\n :titles=\"[\n t('ep.customColumn.hiddenField'),\n t('ep.customColumn.visibleField'),\n ]\"\n :button-texts=\"[\n t('ep.customColumn.moveLeft'),\n t('ep.customColumn.moveRight'),\n ]\"\n :data=\"allData\"\n target-order=\"push\"\n @right-check-change=\"rightCheckChange\"\n @change=\"change\"\n >\n <template #left-footer>\n <div :class=\"bem.e('operate')\">\n <el-button\n type=\"primary\"\n class=\"up\"\n :disabled=\"isDiabledMoveUpDown\"\n @click=\"moveUp\"\n >\n <el-icon><arrow-up /></el-icon>\n {{ t('ep.customColumn.moveUp') }}\n </el-button>\n <el-button\n type=\"primary\"\n class=\"down\"\n :disabled=\"isDiabledMoveUpDown\"\n @click=\"moveDown\"\n >\n {{ t('ep.customColumn.moveDown') }}\n <el-icon><arrow-down /></el-icon>\n </el-button>\n </div>\n </template>\n </el-transfer>\n </CustomColumnDialog>\n</template>\n\n<script setup lang=\"tsx\">\nimport { ref, computed, watch, provide } from 'vue'\nimport { useDialog } from '@el-plus/hooks/dialog/use-dialog'\nimport { createNameSpace } from '@el-plus/utils/bem'\nimport { useLocale } from '@el-plus/hooks/use-locale'\nimport { ArrowUp, ArrowDown } from '@element-plus/icons-vue'\nimport { customColumnEmits, customColumnProps } from './custom-column'\nimport { useRequest } from '@el-plus/hooks/use-request'\nimport type { TransferDataItem } from 'element-plus'\nimport { bus } from '@el-plus/utils'\n\nconst { t } = useLocale()\nconst bem = createNameSpace('custom-column')\ndefineOptions({ name: 'EpCustomColumn', inheritAttrs: false })\nconst props = defineProps(customColumnProps)\nconst emit = defineEmits(customColumnEmits)\nconst CustomColumnDialog = useDialog({\n class: bem.e('dialog'),\n width: 850,\n center: true,\n title: t('ep.customColumn.columnSettings'),\n onConfirm: async (resolve) => {\n resolve(\n saveColumnsFn!({\n module: props.module,\n userModuleColumnsReqs: showData.value.map((item, index) => {\n return {\n columnId: item,\n seq: index,\n }\n }),\n }).then(() => {\n const columns = showTableColumns()\n emit('confirm', columns)\n bus.emit('loadedCustomColumn', columns)\n }),\n )\n },\n})\nconst allData = ref<TransferDataItem[]>([])\nconst showData = ref<TransferDataItem[]>([])\nconst { requestFn: getColumnsFn } = useRequest({\n api: props.api,\n method: 'post',\n hooks: {\n success(data) {\n const { hiddenColumns, showColumns } = data as {\n hiddenColumns: TransferDataItem[]\n showColumns: TransferDataItem[]\n }\n allData.value = [...hiddenColumns, ...showColumns].map((item) => ({\n label: item.showName,\n key: item.id,\n prop: item.showField,\n }))\n showData.value = showColumns.map((item) => item.id)\n const columns = showTableColumns()\n emit('loaded', columns)\n bus.emit('loadedCustomColumn', columns)\n },\n },\n})\nconst { requestFn: saveColumnsFn } = useRequest({\n api: props.saveApi,\n method: 'post',\n hooks: {\n success() {\n emit('confirm', showTableColumns())\n },\n },\n})\nconst showTableColumns = () => {\n return showData.value.map((id) => {\n const item = allData.value.find((item) => item.key === id)\n return {\n prop: item!.prop,\n label: item!.label,\n key: item!.key,\n }\n })\n}\nif (props.module) {\n getColumnsFn!({\n module: props.module,\n })\n}\nconst rightChecked = ref([])\n\nconst moveUp = () => {\n const index = showData.value.indexOf(rightChecked.value[0])\n const temp = showData.value[index]\n if (index === 0) {\n showData.value[index] = showData.value[showData.value.length - 1]\n showData.value[showData.value.length - 1] = temp\n } else {\n showData.value[index] = showData.value[index - 1]\n showData.value[index - 1] = temp\n }\n scrollIntoView()\n}\nconst moveDown = () => {\n const index = showData.value.indexOf(rightChecked.value[0])\n const temp = showData.value[index]\n if (index === showData.value.length - 1) {\n showData.value[index] = showData.value[0]\n showData.value[0] = temp\n } else {\n showData.value[index] = showData.value[index + 1]\n showData.value[index + 1] = temp\n }\n scrollIntoView()\n}\nconst scrollIntoView = () => {\n // 选中项要在可视范围\n const checkedEl = document.querySelectorAll(\n '.ep-custom-column__transfer .el-transfer-panel',\n )\n const rightEl = checkedEl[1].querySelector(\n '.el-transfer-panel__item.is-checked',\n )\n if (rightEl) {\n requestAnimationFrame(() => {\n rightEl.scrollIntoView({\n behavior: 'smooth',\n block: 'center',\n })\n })\n }\n}\n\nconst rightCheckChange = (val) => {\n rightChecked.value = val\n}\nconst change = () => {\n if (!showData.value.some((item) => item === rightChecked.value[0])) {\n rightChecked.value = []\n }\n}\n\nconst isDiabledMoveUpDown = computed(() => {\n return rightChecked.value.length !== 1\n})\n\nconst open = async () => {\n try {\n await CustomColumnDialog.open()\n } catch (error) {}\n}\ndefineExpose({ open })\n</script>\n"],"names":["t","useLocale","bem","createNameSpace","props","__props","emit","__emit","CustomColumnDialog","useDialog","class","e","width","center","title","onConfirm","resolve","saveColumnsFn","module","userModuleColumnsReqs","showData","value","map","item","index","columnId","seq","then","columns","showTableColumns","bus","allData","ref","requestFn","getColumnsFn","useRequest","api","method","hooks","success","data","hiddenColumns","showColumns","label","showName","key","id","prop","showField","saveApi","find","rightChecked","moveUp","indexOf","temp","length","scrollIntoView","moveDown","checkedEl","document","querySelectorAll","rightEl","querySelector","requestAnimationFrame","behavior","block","rightCheckChange","val","change","some","isDiabledMoveUpDown","computed","open","error","__expose","showHandler","_createBlock","_component_el_button","type","_normalizeClass","_unref","b","size","onClick","_createVNode","_component_el_transfer","$event","filterable","titles","onRightCheckChange","onChange","_createElementVNode","disabled","_component_el_icon","ArrowUp","_createTextVNode","_toDisplayString","ArrowDown"],"mappings":"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"}
1
+ {"version":3,"file":"custom-column.vue2.js","sources":["../../../../../../packages/components/custom-column/src/custom-column.vue"],"sourcesContent":["<template>\n <el-button\n v-if=\"showHandler\"\n type=\"primary\"\n :class=\"[bem.b(), 'ep-button']\"\n size=\"small\"\n @click=\"open\"\n >{{ t('ep.customColumn.columnSettings') }}</el-button\n >\n <CustomColumnDialog>\n <el-transfer\n v-model=\"showData\"\n :class=\"bem.e('transfer')\"\n filterable\n :titles=\"[\n t('ep.customColumn.hiddenField'),\n t('ep.customColumn.visibleField'),\n ]\"\n :button-texts=\"[\n t('ep.customColumn.moveLeft'),\n t('ep.customColumn.moveRight'),\n ]\"\n :data=\"allData\"\n target-order=\"push\"\n @right-check-change=\"rightCheckChange\"\n @change=\"change\"\n >\n <template #left-footer>\n <div :class=\"bem.e('operate')\">\n <el-button\n type=\"primary\"\n class=\"up\"\n :disabled=\"isDiabledMoveUpDown\"\n @click=\"moveUp\"\n >\n <el-icon><arrow-up /></el-icon>\n {{ t('ep.customColumn.moveUp') }}\n </el-button>\n <el-button\n type=\"primary\"\n class=\"down\"\n :disabled=\"isDiabledMoveUpDown\"\n @click=\"moveDown\"\n >\n {{ t('ep.customColumn.moveDown') }}\n <el-icon><arrow-down /></el-icon>\n </el-button>\n </div>\n </template>\n </el-transfer>\n </CustomColumnDialog>\n</template>\n\n<script setup lang=\"tsx\">\nimport { ref, computed, watch, provide } from 'vue'\nimport { useDialog } from '@el-plus/hooks/dialog/use-dialog'\nimport { createNameSpace } from '@el-plus/utils/bem'\nimport { useLocale } from '@el-plus/hooks/use-locale'\nimport { ArrowUp, ArrowDown } from '@element-plus/icons-vue'\nimport { customColumnEmits, customColumnProps } from './custom-column'\nimport { useRequest } from '@el-plus/hooks/use-request'\nimport type { TransferDataItem } from 'element-plus'\nimport { bus } from '@el-plus/utils'\n\nconst { t } = useLocale()\nconst bem = createNameSpace('custom-column')\ndefineOptions({ name: 'EpCustomColumn', inheritAttrs: false })\nconst props = defineProps(customColumnProps)\nconst emit = defineEmits(customColumnEmits)\nconst CustomColumnDialog = useDialog({\n class: bem.e('dialog'),\n width: 850,\n center: true,\n title: t('ep.customColumn.columnSettings'),\n onConfirm: async (resolve) => {\n resolve(\n saveColumnsFn!({\n module: props.module,\n userModuleColumnsReqs: showData.value.map((item, index) => {\n return {\n columnId: item,\n seq: index,\n }\n }),\n }).then(() => {\n const columns = showTableColumns()\n emit('confirm', columns)\n bus.emit('loadedCustomColumn', columns)\n }),\n )\n },\n})\nconst allData = ref<TransferDataItem[]>([])\nconst showData = ref<TransferDataItem[]>([])\nconst { requestFn: getColumnsFn } = useRequest({\n api: props.api,\n method: 'post',\n hooks: {\n success(data) {\n const { hiddenColumns, showColumns } = data as {\n hiddenColumns: TransferDataItem[]\n showColumns: TransferDataItem[]\n }\n allData.value = [...hiddenColumns, ...showColumns].map((item) => ({\n label: item.showName,\n key: item.id,\n prop: item.showField,\n }))\n showData.value = showColumns.map((item) => item.id)\n const columns = showTableColumns()\n emit('loaded', columns)\n bus.emit('loadedCustomColumn', columns)\n },\n },\n})\nconst { requestFn: saveColumnsFn } = useRequest({\n api: props.saveApi,\n method: 'post',\n hooks: {\n success() {\n emit('confirm', showTableColumns())\n },\n },\n})\nconst showTableColumns = () => {\n return showData.value.map((id) => {\n const item = allData.value.find((item) => item.key === id)\n return {\n prop: item!.prop,\n label: item!.label,\n key: item!.key,\n }\n })\n}\nif (props.module) {\n getColumnsFn!({\n module: props.module,\n })\n}\nconst rightChecked = ref([])\n\nconst moveUp = () => {\n const index = showData.value.indexOf(rightChecked.value[0])\n const temp = showData.value[index]\n if (index === 0) {\n showData.value[index] = showData.value[showData.value.length - 1]\n showData.value[showData.value.length - 1] = temp\n } else {\n showData.value[index] = showData.value[index - 1]\n showData.value[index - 1] = temp\n }\n scrollIntoView()\n}\nconst moveDown = () => {\n const index = showData.value.indexOf(rightChecked.value[0])\n const temp = showData.value[index]\n if (index === showData.value.length - 1) {\n showData.value[index] = showData.value[0]\n showData.value[0] = temp\n } else {\n showData.value[index] = showData.value[index + 1]\n showData.value[index + 1] = temp\n }\n scrollIntoView()\n}\nconst scrollIntoView = () => {\n // 选中项要在可视范围\n const checkedEl = document.querySelectorAll(\n '.ep-custom-column__transfer .el-transfer-panel',\n )\n const rightEl = checkedEl[1].querySelector(\n '.el-transfer-panel__item.is-checked',\n )\n if (rightEl) {\n requestAnimationFrame(() => {\n rightEl.scrollIntoView({\n behavior: 'smooth',\n block: 'center',\n })\n })\n }\n}\n\nconst rightCheckChange = (val) => {\n rightChecked.value = val\n}\nconst change = () => {\n if (!showData.value.some((item) => item === rightChecked.value[0])) {\n rightChecked.value = []\n }\n}\n\nconst isDiabledMoveUpDown = computed(() => {\n return rightChecked.value.length !== 1\n})\n\nconst open = async () => {\n try {\n await CustomColumnDialog.open()\n } catch (error) {}\n}\ndefineExpose({ open })\n</script>\n"],"names":["t","useLocale","bem","createNameSpace","props","__props","emit","__emit","CustomColumnDialog","useDialog","class","e","width","center","title","onConfirm","resolve","saveColumnsFn","module","userModuleColumnsReqs","showData","value","map","item","index","columnId","seq","then","columns","showTableColumns","bus","allData","ref","requestFn","getColumnsFn","useRequest","api","method","hooks","success","data","hiddenColumns","showColumns","label","showName","key","id","prop","showField","saveApi","find","rightChecked","moveUp","indexOf","temp","length","scrollIntoView","moveDown","checkedEl","document","querySelectorAll","rightEl","querySelector","requestAnimationFrame","behavior","block","rightCheckChange","val","change","some","isDiabledMoveUpDown","computed","open","error","__expose","showHandler","_createBlock","_component_el_button","type","_normalizeClass","_unref","b","size","onClick","_createVNode","_component_el_transfer","$event","filterable","titles","onRightCheckChange","onChange","_createElementVNode","disabled","_component_el_icon","ArrowUp","_createTextVNode","_toDisplayString","ArrowDown"],"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: {};
@@ -27,6 +27,16 @@ const headerProps = {
27
27
  isShowAttachmentButton: {
28
28
  type: Boolean,
29
29
  default: false
30
+ },
31
+ // 附件列表
32
+ fileList: {
33
+ type: Array,
34
+ default: () => []
35
+ },
36
+ attachmentProps: {
37
+ type: Object,
38
+ default: () => {
39
+ }
30
40
  }
31
41
  };
32
42
  const headerEmits = {};
@@ -1 +1 @@
1
- {"version":3,"file":"header.js","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":["buttonsProps"],"mappings":";;;;AAUO,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,GAAGA,oBAAA,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;AAEb;AAGO,MAAM,cAAc;;;;;"}
1
+ {"version":3,"file":"header.js","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":["buttonsProps"],"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,GAAGA,oBAAA,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;;;;;"}