yuang-framework-ui-pc 1.1.51 → 1.1.53

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 (110) hide show
  1. package/es/core-components.d.ts +4 -2
  2. package/es/core-components.js +9 -5
  3. package/es/ele-admin-layout/components/layout-tabs.d.ts +4 -4
  4. package/es/ele-dropdown/components/pro-dropdown.d.ts +2 -2
  5. package/es/ele-pro-layout/index.d.ts +4 -4
  6. package/es/ele-tab-wrap/components/tab-dropdown.d.ts +4 -4
  7. package/es/ele-upload-list/components/list-item.d.ts +1 -0
  8. package/es/ele-upload-list/components/list-item.js +11 -3
  9. package/es/ele-upload-list/index.d.ts +2 -0
  10. package/es/ele-upload-list/index.js +16 -3
  11. package/es/ele-upload-list/types.d.ts +2 -0
  12. package/es/icons/ApiItem.d.ts +2 -0
  13. package/es/icons/ApiItem.js +32 -0
  14. package/es/icons/ApiTeam.d.ts +2 -0
  15. package/es/icons/ApiTeam.js +42 -0
  16. package/es/icons/OrganizationDept.d.ts +2 -0
  17. package/es/icons/OrganizationDept.js +33 -0
  18. package/es/icons/OrganizationOrg.d.ts +2 -0
  19. package/es/icons/OrganizationOrg.js +32 -0
  20. package/es/icons/OrganizationUnit.d.ts +2 -0
  21. package/es/icons/OrganizationUnit.js +32 -0
  22. package/es/icons/index.d.ts +5 -0
  23. package/es/icons/index.js +10 -0
  24. package/{lib/yu-framework-attachment-image-upload → es/yu-framework-attachment-upload}/index.d.ts +0 -1
  25. package/es/{yu-framework-attachment-image-upload → yu-framework-attachment-upload}/index.js +43 -64
  26. package/es/yu-framework-slider-captcha-dialog/{SliderCaptcha.js → components/SliderCaptcha.js} +1 -1
  27. package/es/yu-framework-slider-captcha-dialog/index.js +1 -1
  28. package/es/yu-uims-organization-dialog/components/organization-dialog.d.ts +20 -0
  29. package/es/yu-uims-organization-dialog/components/organization-dialog.js +327 -0
  30. package/es/yu-uims-organization-dialog/index.d.ts +45 -0
  31. package/es/yu-uims-organization-dialog/index.js +68 -0
  32. package/es/yu-uims-role-dialog/components/role-dialog.d.ts +20 -0
  33. package/es/yu-uims-role-dialog/components/role-dialog.js +224 -0
  34. package/es/yu-uims-role-dialog/components/role-list.d.ts +54 -0
  35. package/es/yu-uims-role-dialog/components/role-list.js +188 -0
  36. package/es/yu-uims-role-dialog/components/role-query.d.ts +28 -0
  37. package/es/yu-uims-role-dialog/components/role-query.js +132 -0
  38. package/es/yu-uims-role-dialog/index.d.ts +23 -0
  39. package/es/yu-uims-role-dialog/index.js +42 -0
  40. package/es/yu-uims-user-dialog/components/user-dialog.d.ts +20 -0
  41. package/es/yu-uims-user-dialog/components/user-dialog.js +247 -0
  42. package/es/yu-uims-user-dialog/components/user-list.d.ts +84 -0
  43. package/es/yu-uims-user-dialog/components/user-list.js +232 -0
  44. package/es/yu-uims-user-dialog/components/user-query.d.ts +30 -0
  45. package/es/yu-uims-user-dialog/components/user-query.js +167 -0
  46. package/es/yu-uims-user-dialog/index.d.ts +23 -0
  47. package/es/yu-uims-user-dialog/index.js +42 -0
  48. package/lib/core-components.cjs +8 -4
  49. package/lib/core-components.d.ts +4 -2
  50. package/lib/ele-admin-layout/components/layout-tabs.d.ts +4 -4
  51. package/lib/ele-dropdown/components/pro-dropdown.d.ts +2 -2
  52. package/lib/ele-pro-layout/index.d.ts +4 -4
  53. package/lib/ele-tab-wrap/components/tab-dropdown.d.ts +4 -4
  54. package/lib/ele-upload-list/components/list-item.cjs +11 -3
  55. package/lib/ele-upload-list/components/list-item.d.ts +1 -0
  56. package/lib/ele-upload-list/index.cjs +16 -3
  57. package/lib/ele-upload-list/index.d.ts +2 -0
  58. package/lib/ele-upload-list/types.d.ts +2 -0
  59. package/lib/icons/ApiItem.cjs +31 -0
  60. package/lib/icons/ApiItem.d.ts +2 -0
  61. package/lib/icons/ApiTeam.cjs +41 -0
  62. package/lib/icons/ApiTeam.d.ts +2 -0
  63. package/lib/icons/OrganizationDept.cjs +32 -0
  64. package/lib/icons/OrganizationDept.d.ts +2 -0
  65. package/lib/icons/OrganizationOrg.cjs +31 -0
  66. package/lib/icons/OrganizationOrg.d.ts +2 -0
  67. package/lib/icons/OrganizationUnit.cjs +31 -0
  68. package/lib/icons/OrganizationUnit.d.ts +2 -0
  69. package/lib/icons/index.cjs +10 -0
  70. package/lib/icons/index.d.ts +5 -0
  71. package/lib/{yu-framework-attachment-image-upload → yu-framework-attachment-upload}/index.cjs +42 -63
  72. package/{es/yu-framework-attachment-image-upload → lib/yu-framework-attachment-upload}/index.d.ts +0 -1
  73. package/lib/yu-framework-slider-captcha-dialog/{SliderCaptcha.cjs → components/SliderCaptcha.cjs} +1 -1
  74. package/lib/yu-framework-slider-captcha-dialog/index.cjs +1 -1
  75. package/lib/yu-uims-organization-dialog/components/organization-dialog.cjs +326 -0
  76. package/lib/yu-uims-organization-dialog/components/organization-dialog.d.ts +20 -0
  77. package/lib/yu-uims-organization-dialog/index.cjs +67 -0
  78. package/lib/yu-uims-organization-dialog/index.d.ts +45 -0
  79. package/lib/yu-uims-role-dialog/components/role-dialog.cjs +223 -0
  80. package/lib/yu-uims-role-dialog/components/role-dialog.d.ts +20 -0
  81. package/lib/yu-uims-role-dialog/components/role-list.cjs +187 -0
  82. package/lib/yu-uims-role-dialog/components/role-list.d.ts +54 -0
  83. package/lib/yu-uims-role-dialog/components/role-query.cjs +131 -0
  84. package/lib/yu-uims-role-dialog/components/role-query.d.ts +28 -0
  85. package/lib/yu-uims-role-dialog/index.cjs +41 -0
  86. package/lib/yu-uims-role-dialog/index.d.ts +23 -0
  87. package/lib/yu-uims-user-dialog/components/user-dialog.cjs +246 -0
  88. package/lib/yu-uims-user-dialog/components/user-dialog.d.ts +20 -0
  89. package/lib/yu-uims-user-dialog/components/user-list.cjs +231 -0
  90. package/lib/yu-uims-user-dialog/components/user-list.d.ts +84 -0
  91. package/lib/yu-uims-user-dialog/components/user-query.cjs +166 -0
  92. package/lib/yu-uims-user-dialog/components/user-query.d.ts +30 -0
  93. package/lib/yu-uims-user-dialog/index.cjs +41 -0
  94. package/lib/yu-uims-user-dialog/index.d.ts +23 -0
  95. package/package.json +2 -2
  96. package/typings/global.d.ts +4 -2
  97. package/es/yu-framework-attachment-file-upload/CommonUpload/index.d.ts +0 -161
  98. package/es/yu-framework-attachment-file-upload/CommonUpload/index.js +0 -173
  99. package/es/yu-framework-attachment-file-upload/FileUpload/index.d.ts +0 -143
  100. package/es/yu-framework-attachment-file-upload/FileUpload/index.js +0 -219
  101. package/es/yu-framework-attachment-file-upload/index.d.ts +0 -16
  102. package/es/yu-framework-attachment-file-upload/index.js +0 -55
  103. package/lib/yu-framework-attachment-file-upload/CommonUpload/index.cjs +0 -172
  104. package/lib/yu-framework-attachment-file-upload/CommonUpload/index.d.ts +0 -161
  105. package/lib/yu-framework-attachment-file-upload/FileUpload/index.cjs +0 -218
  106. package/lib/yu-framework-attachment-file-upload/FileUpload/index.d.ts +0 -143
  107. package/lib/yu-framework-attachment-file-upload/index.cjs +0 -54
  108. package/lib/yu-framework-attachment-file-upload/index.d.ts +0 -16
  109. /package/es/yu-framework-slider-captcha-dialog/{SliderCaptcha.d.ts → components/SliderCaptcha.d.ts} +0 -0
  110. /package/lib/yu-framework-slider-captcha-dialog/{SliderCaptcha.d.ts → components/SliderCaptcha.d.ts} +0 -0
@@ -0,0 +1,166 @@
1
+ "use strict";
2
+ const vue = require("vue");
3
+ const iconsVue = require("@element-plus/icons-vue");
4
+ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
5
+ __name: "user-query",
6
+ emits: ["query"],
7
+ setup(__props, { expose: __expose, emit: __emit }) {
8
+ const emit = __emit;
9
+ const getInitQueryForm = () => {
10
+ return {
11
+ account: "",
12
+ name: "",
13
+ isRecursiveOrganization: false
14
+ };
15
+ };
16
+ const queryForm = vue.ref(getInitQueryForm());
17
+ const queryPage = () => {
18
+ emit("query");
19
+ };
20
+ const reset = () => {
21
+ queryForm.value = getInitQueryForm();
22
+ queryPage();
23
+ };
24
+ __expose({ queryForm });
25
+ return (_ctx, _cache) => {
26
+ const _component_el_input = vue.resolveComponent("el-input");
27
+ const _component_el_form_item = vue.resolveComponent("el-form-item");
28
+ const _component_el_col = vue.resolveComponent("el-col");
29
+ const _component_el_radio = vue.resolveComponent("el-radio");
30
+ const _component_el_radio_group = vue.resolveComponent("el-radio-group");
31
+ const _component_el_button = vue.resolveComponent("el-button");
32
+ const _component_el_row = vue.resolveComponent("el-row");
33
+ const _component_el_form = vue.resolveComponent("el-form");
34
+ return vue.openBlock(), vue.createBlock(_component_el_form, {
35
+ "label-width": "72px",
36
+ onKeyup: vue.withKeys(vue.withModifiers(queryPage, ["prevent"]), ["enter"]),
37
+ onSubmit: _cache[3] || (_cache[3] = vue.withModifiers(() => {
38
+ }, ["prevent"]))
39
+ }, {
40
+ default: vue.withCtx(() => [
41
+ vue.createVNode(_component_el_row, { gutter: 8 }, {
42
+ default: vue.withCtx(() => [
43
+ vue.createVNode(_component_el_col, {
44
+ lg: 6,
45
+ md: 8,
46
+ sm: 12,
47
+ xs: 24
48
+ }, {
49
+ default: vue.withCtx(() => [
50
+ vue.createVNode(_component_el_form_item, { label: "用户账号" }, {
51
+ default: vue.withCtx(() => [
52
+ vue.createVNode(_component_el_input, {
53
+ clearable: "",
54
+ modelValue: queryForm.value.account,
55
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => queryForm.value.account = $event),
56
+ modelModifiers: { trim: true },
57
+ placeholder: "请输入用户账号"
58
+ }, null, 8, ["modelValue"])
59
+ ]),
60
+ _: 1
61
+ })
62
+ ]),
63
+ _: 1
64
+ }),
65
+ vue.createVNode(_component_el_col, {
66
+ lg: 6,
67
+ md: 8,
68
+ sm: 12,
69
+ xs: 24
70
+ }, {
71
+ default: vue.withCtx(() => [
72
+ vue.createVNode(_component_el_form_item, { label: "用户名称" }, {
73
+ default: vue.withCtx(() => [
74
+ vue.createVNode(_component_el_input, {
75
+ clearable: "",
76
+ modelValue: queryForm.value.name,
77
+ "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => queryForm.value.name = $event),
78
+ modelModifiers: { trim: true },
79
+ placeholder: "请输入用户名称"
80
+ }, null, 8, ["modelValue"])
81
+ ]),
82
+ _: 1
83
+ })
84
+ ]),
85
+ _: 1
86
+ }),
87
+ vue.createVNode(_component_el_col, {
88
+ lg: 6,
89
+ md: 8,
90
+ sm: 12,
91
+ xs: 24
92
+ }, {
93
+ default: vue.withCtx(() => [
94
+ vue.createVNode(_component_el_form_item, { label: "递归机构" }, {
95
+ default: vue.withCtx(() => [
96
+ vue.createVNode(_component_el_radio_group, {
97
+ modelValue: queryForm.value.isRecursiveOrganization,
98
+ "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => queryForm.value.isRecursiveOrganization = $event),
99
+ class: "yu-radio-group"
100
+ }, {
101
+ default: vue.withCtx(() => [
102
+ vue.createVNode(_component_el_radio, {
103
+ value: true,
104
+ label: "是"
105
+ }),
106
+ vue.createVNode(_component_el_radio, {
107
+ value: false,
108
+ label: "否"
109
+ })
110
+ ]),
111
+ _: 1
112
+ }, 8, ["modelValue"])
113
+ ]),
114
+ _: 1
115
+ })
116
+ ]),
117
+ _: 1
118
+ }),
119
+ vue.createVNode(_component_el_col, {
120
+ lg: 6,
121
+ md: 8,
122
+ sm: 24,
123
+ xs: 24
124
+ }, {
125
+ default: vue.withCtx(() => [
126
+ vue.createVNode(_component_el_form_item, { "label-width": "16px" }, {
127
+ default: vue.withCtx(() => [
128
+ vue.createVNode(_component_el_button, {
129
+ type: "primary",
130
+ icon: vue.unref(iconsVue.Search),
131
+ class: "ele-btn-icon",
132
+ onClick: queryPage
133
+ }, {
134
+ default: vue.withCtx(() => _cache[4] || (_cache[4] = [
135
+ vue.createTextVNode("查询")
136
+ ])),
137
+ _: 1,
138
+ __: [4]
139
+ }, 8, ["icon"]),
140
+ vue.createVNode(_component_el_button, {
141
+ icon: vue.unref(iconsVue.RefreshRight),
142
+ class: "ele-btn-icon",
143
+ onClick: reset
144
+ }, {
145
+ default: vue.withCtx(() => _cache[5] || (_cache[5] = [
146
+ vue.createTextVNode("重置")
147
+ ])),
148
+ _: 1,
149
+ __: [5]
150
+ }, 8, ["icon"])
151
+ ]),
152
+ _: 1
153
+ })
154
+ ]),
155
+ _: 1
156
+ })
157
+ ]),
158
+ _: 1
159
+ })
160
+ ]),
161
+ _: 1
162
+ }, 8, ["onKeyup"]);
163
+ };
164
+ }
165
+ });
166
+ module.exports = _sfc_main;
@@ -0,0 +1,30 @@
1
+ import { UimsUserQueryParam } from 'yuang-framework-ui-common/lib/interface/uims/uimsUser';
2
+
3
+ declare const _default: import('vue').DefineComponent<{}, {
4
+ queryForm: import('vue').Ref<{
5
+ nameForLike?: string | undefined;
6
+ accountForLike?: string | undefined;
7
+ isRecursiveOrganization?: boolean | undefined;
8
+ currentPage?: number | undefined;
9
+ pageSize?: number | undefined;
10
+ queryFor?: string | undefined;
11
+ levelNum?: number | undefined;
12
+ uimsApplicationId?: string | undefined;
13
+ parentId?: string | undefined;
14
+ }, UimsUserQueryParam | {
15
+ nameForLike?: string | undefined;
16
+ accountForLike?: string | undefined;
17
+ isRecursiveOrganization?: boolean | undefined;
18
+ currentPage?: number | undefined;
19
+ pageSize?: number | undefined;
20
+ queryFor?: string | undefined;
21
+ levelNum?: number | undefined;
22
+ uimsApplicationId?: string | undefined;
23
+ parentId?: string | undefined;
24
+ }>;
25
+ }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
26
+ query: () => void;
27
+ }, string, import('vue').PublicProps, Readonly<{}> & Readonly<{
28
+ onQuery?: (() => any) | undefined;
29
+ }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
30
+ export default _default;
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ const vue = require("vue");
3
+ const UserDialog = require("./components/user-dialog");
4
+ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
5
+ ...{ name: "YuUimsUserDialog" },
6
+ __name: "index",
7
+ props: {
8
+ param: {}
9
+ },
10
+ emits: ["change"],
11
+ setup(__props, { expose: __expose, emit: __emit }) {
12
+ const props = __props;
13
+ const emit = __emit;
14
+ const isShowDialog = vue.ref(false);
15
+ const showDialog = () => {
16
+ isShowDialog.value = true;
17
+ };
18
+ const handleChange = (selections) => {
19
+ emit("change", selections);
20
+ };
21
+ __expose({
22
+ showDialog
23
+ });
24
+ return (_ctx, _cache) => {
25
+ const _component_el_input = vue.resolveComponent("el-input");
26
+ return vue.openBlock(), vue.createElementBlock(vue.Fragment, null, [
27
+ vue.withDirectives(vue.createVNode(_component_el_input, { onClick: showDialog }, null, 512), [
28
+ [vue.vShow, false]
29
+ ]),
30
+ isShowDialog.value ? (vue.openBlock(), vue.createBlock(UserDialog, {
31
+ key: 0,
32
+ modelValue: isShowDialog.value,
33
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => isShowDialog.value = $event),
34
+ param: props.param,
35
+ onChange: handleChange
36
+ }, null, 8, ["modelValue", "param"])) : vue.createCommentVNode("", true)
37
+ ], 64);
38
+ };
39
+ }
40
+ });
41
+ module.exports = _sfc_main;
@@ -0,0 +1,23 @@
1
+ import { UimsUser } from 'yuang-framework-ui-common/lib/interface/uims/uimsUser';
2
+
3
+ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<__VLS_TypePropsToRuntimeProps<{
4
+ param: any;
5
+ }>>, {
6
+ showDialog: () => void;
7
+ }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
8
+ change: (uimsUserList: UimsUser[]) => void;
9
+ }, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<__VLS_TypePropsToRuntimeProps<{
10
+ param: any;
11
+ }>>> & Readonly<{
12
+ onChange?: ((uimsUserList: UimsUser[]) => any) | undefined;
13
+ }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
14
+ export default _default;
15
+ type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
16
+ type __VLS_TypePropsToRuntimeProps<T> = {
17
+ [K in keyof T]-?: {} extends Pick<T, K> ? {
18
+ type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
19
+ } : {
20
+ type: import('vue').PropType<T[K]>;
21
+ required: true;
22
+ };
23
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "yuang-framework-ui-pc",
3
- "version": "1.1.51",
3
+ "version": "1.1.53",
4
4
  "type": "module",
5
5
  "scripts": {
6
6
  "dev": "vite --host --config vite.global.ts --mode dev",
@@ -188,6 +188,6 @@
188
188
  "repository": "",
189
189
  "license": "",
190
190
  "dependencies": {
191
- "yuang-framework-ui-common": "^1.0.61"
191
+ "yuang-framework-ui-common": "^1.0.65"
192
192
  }
193
193
  }
@@ -60,10 +60,12 @@ declare module '@vue/runtime-core' {
60
60
  EleVirtualTable: (typeof import('yuang-framework-ui-pc'))['EleVirtualTable'];
61
61
  EleWatermark: (typeof import('yuang-framework-ui-pc'))['EleWatermark'];
62
62
  EleXgPlayer: (typeof import('yuang-framework-ui-pc'))['EleXgPlayer'];
63
- YuFrameworkAttachmentFileUpload: (typeof import('yuang-framework-ui-pc'))['YuFrameworkAttachmentFileUpload'];
64
- YuFrameworkAttachmentImageUpload: (typeof import('yuang-framework-ui-pc'))['YuFrameworkAttachmentImageUpload'];
63
+ YuFrameworkAttachmentUpload: (typeof import('yuang-framework-ui-pc'))['YuFrameworkAttachmentUpload'];
65
64
  YuFrameworkSliderCaptchaDialog: (typeof import('yuang-framework-ui-pc'))['YuFrameworkSliderCaptchaDialog'];
66
65
  YuTest: (typeof import('yuang-framework-ui-pc'))['YuTest'];
66
+ YuUimsOrganizationDialog: (typeof import('yuang-framework-ui-pc'))['YuUimsOrganizationDialog'];
67
+ YuUimsRoleDialog: (typeof import('yuang-framework-ui-pc'))['YuUimsRoleDialog'];
68
+ YuUimsUserDialog: (typeof import('yuang-framework-ui-pc'))['YuUimsUserDialog'];
67
69
  }
68
70
  }
69
71
  export {};
@@ -1,161 +0,0 @@
1
- import { CSSProperties } from 'vue';
2
- import { ElProgressProps, ElImageProps } from '../../ele-app/el';
3
- import { EleImageViewerProps } from '../../ele-app/plus';
4
- import { UploadItem, ListType, BeforeUploadClick, BeforeItemEdit, UploadLocale } from '../../ele-upload-list/types';
5
-
6
- declare function __VLS_template(): Partial<Record<string, (_: any) => any>>;
7
- declare const __VLS_component: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
8
- modelValue: import('vue').PropType<UploadItem[]>;
9
- drag: {
10
- type: import('vue').PropType<boolean>;
11
- default: boolean;
12
- };
13
- disabled: {
14
- type: import('vue').PropType<boolean>;
15
- };
16
- readonly: {
17
- type: import('vue').PropType<boolean>;
18
- };
19
- sortable: {
20
- type: import('vue').PropType<boolean | Record<string | number | symbol, any>>;
21
- default: () => {
22
- forceFallback: boolean;
23
- };
24
- };
25
- multiple: {
26
- type: import('vue').PropType<boolean>;
27
- };
28
- preview: {
29
- type: import('vue').PropType<boolean>;
30
- default: boolean;
31
- };
32
- accept: {
33
- type: import('vue').PropType<string>;
34
- default: string;
35
- };
36
- tools: {
37
- type: import('vue').PropType<boolean>;
38
- default: boolean;
39
- };
40
- beforeUploadClick: {
41
- type: import('vue').PropType<BeforeUploadClick>;
42
- };
43
- locale: {
44
- type: import('vue').PropType<Partial<UploadLocale>>;
45
- };
46
- imageProps: {
47
- type: import('vue').PropType<ElImageProps>;
48
- };
49
- progressProps: {
50
- type: import('vue').PropType<ElProgressProps>;
51
- };
52
- listType: {
53
- type: import('vue').PropType<ListType>;
54
- };
55
- limit: {
56
- type: import('vue').PropType<number>;
57
- };
58
- itemStyle: {
59
- type: import('vue').PropType<CSSProperties>;
60
- };
61
- buttonStyle: {
62
- type: import('vue').PropType<CSSProperties>;
63
- };
64
- previewProps: {
65
- type: import('vue').PropType<EleImageViewerProps>;
66
- };
67
- beforeItemEdit: {
68
- type: import('vue').PropType<BeforeItemEdit>;
69
- };
70
- fileLimit: {
71
- type: import('vue').PropType<number>;
72
- default: number;
73
- };
74
- }>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
75
- itemClick: (item: UploadItem) => void;
76
- preview: (item: UploadItem) => void;
77
- }, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
78
- modelValue: import('vue').PropType<UploadItem[]>;
79
- drag: {
80
- type: import('vue').PropType<boolean>;
81
- default: boolean;
82
- };
83
- disabled: {
84
- type: import('vue').PropType<boolean>;
85
- };
86
- readonly: {
87
- type: import('vue').PropType<boolean>;
88
- };
89
- sortable: {
90
- type: import('vue').PropType<boolean | Record<string | number | symbol, any>>;
91
- default: () => {
92
- forceFallback: boolean;
93
- };
94
- };
95
- multiple: {
96
- type: import('vue').PropType<boolean>;
97
- };
98
- preview: {
99
- type: import('vue').PropType<boolean>;
100
- default: boolean;
101
- };
102
- accept: {
103
- type: import('vue').PropType<string>;
104
- default: string;
105
- };
106
- tools: {
107
- type: import('vue').PropType<boolean>;
108
- default: boolean;
109
- };
110
- beforeUploadClick: {
111
- type: import('vue').PropType<BeforeUploadClick>;
112
- };
113
- locale: {
114
- type: import('vue').PropType<Partial<UploadLocale>>;
115
- };
116
- imageProps: {
117
- type: import('vue').PropType<ElImageProps>;
118
- };
119
- progressProps: {
120
- type: import('vue').PropType<ElProgressProps>;
121
- };
122
- listType: {
123
- type: import('vue').PropType<ListType>;
124
- };
125
- limit: {
126
- type: import('vue').PropType<number>;
127
- };
128
- itemStyle: {
129
- type: import('vue').PropType<CSSProperties>;
130
- };
131
- buttonStyle: {
132
- type: import('vue').PropType<CSSProperties>;
133
- };
134
- previewProps: {
135
- type: import('vue').PropType<EleImageViewerProps>;
136
- };
137
- beforeItemEdit: {
138
- type: import('vue').PropType<BeforeItemEdit>;
139
- };
140
- fileLimit: {
141
- type: import('vue').PropType<number>;
142
- default: number;
143
- };
144
- }>> & Readonly<{
145
- onItemClick?: ((item: UploadItem) => any) | undefined;
146
- onPreview?: ((item: UploadItem) => any) | undefined;
147
- }>, {
148
- drag: boolean;
149
- sortable: boolean | Record<keyof any, any>;
150
- preview: boolean;
151
- accept: string;
152
- tools: boolean;
153
- fileLimit: number;
154
- }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
155
- declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, ReturnType<typeof __VLS_template>>;
156
- export default _default;
157
- type __VLS_WithTemplateSlots<T, S> = T & {
158
- new (): {
159
- $slots: S;
160
- };
161
- };
@@ -1,173 +0,0 @@
1
- import { defineComponent, mergeModels, useModel, resolveComponent, createBlock, openBlock, createSlots, renderList, withCtx, renderSlot, normalizeProps, guardReactiveProps } from "vue";
2
- import { EleMessage } from "../../utils/message";
3
- import { ElMessageBox } from "element-plus/es";
4
- import { http } from "yuang-framework-ui-common/lib/config/httpConfig";
5
- import { getShortUuid } from "yuang-framework-ui-common/lib/utils/uuidUtils";
6
- import { application } from "yuang-framework-ui-common/lib/config/applicationConfig";
7
- const _sfc_main = /* @__PURE__ */ defineComponent({
8
- ...{ name: "CommonUpload" },
9
- __name: "index",
10
- props: /* @__PURE__ */ mergeModels({
11
- fileLimit: { default: 100 },
12
- readonly: { type: Boolean },
13
- disabled: { type: Boolean },
14
- preview: { type: Boolean, default: true },
15
- limit: {},
16
- multiple: { type: Boolean },
17
- drag: { type: Boolean, default: true },
18
- accept: { default: "" },
19
- itemStyle: {},
20
- buttonStyle: {},
21
- sortable: { type: [Boolean, Object], default: () => ({ forceFallback: true }) },
22
- imageProps: {},
23
- progressProps: {},
24
- previewProps: {},
25
- tools: { type: Boolean, default: true },
26
- listType: {},
27
- beforeUploadClick: {},
28
- beforeItemEdit: {},
29
- locale: {}
30
- }, {
31
- "modelValue": {
32
- type: Array,
33
- default: () => []
34
- },
35
- "modelModifiers": {}
36
- }),
37
- emits: /* @__PURE__ */ mergeModels(["itemClick", "preview"], ["update:modelValue"]),
38
- setup(__props, { emit: __emit }) {
39
- const props = __props;
40
- const emit = __emit;
41
- const images = useModel(__props, "modelValue");
42
- const checkFile = (file) => {
43
- if (!file) {
44
- return;
45
- }
46
- if (props.accept === "image/*") {
47
- if (!file.type.startsWith("image")) {
48
- EleMessage.error("只能选择图片");
49
- return;
50
- }
51
- } else if (props.accept === ".xls,.xlsx") {
52
- if (![
53
- "application/vnd.ms-excel",
54
- "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
55
- ].includes(file.type)) {
56
- EleMessage.error("只能选择 excel 文件");
57
- return;
58
- }
59
- }
60
- if (props.fileLimit && file.size / 1024 / 1024 > props.fileLimit) {
61
- EleMessage.error(`大小不能超过 ${props.fileLimit}MB`);
62
- return;
63
- }
64
- return true;
65
- };
66
- const handleItemUpload = (uploadItem, retry) => {
67
- if (!uploadItem.file || !checkFile(uploadItem.file)) {
68
- return;
69
- }
70
- if (!retry) {
71
- images.value.push({ ...uploadItem });
72
- }
73
- const item = images.value.find((t) => t.key === uploadItem.key);
74
- if (!item) {
75
- return;
76
- }
77
- item.status = "uploading";
78
- item.progress = 0;
79
- debugger;
80
- let formData = new FormData();
81
- formData.append("code", getShortUuid());
82
- formData.append("multipartFile", uploadItem.file, uploadItem.file.name);
83
- http({
84
- url: `/framework-api/core/framework-attachment/uploadAttachment`,
85
- method: "post",
86
- headers: {
87
- "Content-Type": "multipart/form-data"
88
- },
89
- data: formData
90
- }).then((res) => {
91
- EleMessage.success(res.data.message);
92
- item.progress = 100;
93
- item.status = "done";
94
- item.url = res.data.data.fullUrl;
95
- }).catch((e) => {
96
- item.status = "exception";
97
- EleMessage.error(e.message);
98
- });
99
- };
100
- const handleItemEditUpload = ({ item, newItem }) => {
101
- if (!checkFile(newItem.file)) {
102
- return;
103
- }
104
- const oldItem = images.value.find((t) => t.key === item.key);
105
- if (oldItem) {
106
- oldItem.url = void 0;
107
- oldItem.name = newItem.name;
108
- oldItem.file = newItem.file;
109
- oldItem.progress = 0;
110
- oldItem.status = void 0;
111
- handleItemUpload(oldItem, true);
112
- }
113
- };
114
- const handleItemRemove = (uploadItem) => {
115
- let id = uploadItem.id;
116
- ElMessageBox.confirm("确定要删除吗?", "系统提示", { type: "warning", draggable: true }).then(() => {
117
- http.get(`${application.gatewayServerBaseUrl}/framework-api/core/framework-attachment/deleteInfo`, { params: { id } }).then((res) => {
118
- EleMessage.success(res.data.message);
119
- images.value.splice(images.value.indexOf(uploadItem), 1);
120
- });
121
- });
122
- };
123
- const handleItemClick = (item) => {
124
- emit("itemClick", item);
125
- };
126
- const handleItemPreview = (item) => {
127
- emit("preview", item);
128
- };
129
- return (_ctx, _cache) => {
130
- const _component_EleUploadList = resolveComponent("EleUploadList");
131
- return openBlock(), createBlock(_component_EleUploadList, {
132
- modelValue: images.value,
133
- "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => images.value = $event),
134
- readonly: _ctx.readonly,
135
- disabled: _ctx.disabled,
136
- preview: _ctx.preview,
137
- limit: _ctx.limit,
138
- multiple: _ctx.multiple,
139
- drag: _ctx.drag,
140
- accept: _ctx.accept,
141
- itemStyle: _ctx.itemStyle,
142
- buttonStyle: _ctx.buttonStyle,
143
- sortable: _ctx.sortable,
144
- imageProps: _ctx.imageProps,
145
- progressProps: _ctx.progressProps,
146
- previewProps: _ctx.previewProps,
147
- tools: _ctx.tools,
148
- listType: _ctx.listType,
149
- beforeUploadClick: _ctx.beforeUploadClick,
150
- beforeItemEdit: _ctx.beforeItemEdit,
151
- locale: _ctx.locale,
152
- onUpload: handleItemUpload,
153
- onRetry: _cache[1] || (_cache[1] = (item) => handleItemUpload(item, true)),
154
- onRemove: handleItemRemove,
155
- onEditUpload: handleItemEditUpload,
156
- onItemClick: handleItemClick,
157
- onPreview: handleItemPreview
158
- }, createSlots({ _: 2 }, [
159
- renderList(Object.keys(_ctx.$slots), (name) => {
160
- return {
161
- name,
162
- fn: withCtx((slotProps) => [
163
- renderSlot(_ctx.$slots, name, normalizeProps(guardReactiveProps(slotProps || {})))
164
- ])
165
- };
166
- })
167
- ]), 1032, ["modelValue", "readonly", "disabled", "preview", "limit", "multiple", "drag", "accept", "itemStyle", "buttonStyle", "sortable", "imageProps", "progressProps", "previewProps", "tools", "listType", "beforeUploadClick", "beforeItemEdit", "locale"]);
168
- };
169
- }
170
- });
171
- export {
172
- _sfc_main as default
173
- };