szld-libs 0.2.98 → 0.3.1

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 (106) hide show
  1. package/dist/style.css +1 -1
  2. package/dist/szld-components.es.js +32089 -20004
  3. package/dist/szld-components.umd.js +72 -60
  4. package/es/components/DynamicForm/index.d.ts +2 -0
  5. package/es/components/DynamicForm/index.js +3 -2
  6. package/es/components/DynamicForm/selectModel/index.js +1 -1
  7. package/es/components/DynamicForm/selectModelBackfillFormItem/index.d.ts +27 -0
  8. package/es/components/DynamicForm/selectModelBackfillFormItem/index.js +242 -0
  9. package/es/components/DynamicForm/selectModelBackfillFormItem/vite.svg +1 -0
  10. package/es/components/DynamicForm/useDynamicForm.js +22 -1
  11. package/es/components/DynamicFormMobile/func.d.ts +35 -0
  12. package/es/components/DynamicFormMobile/func.js +204 -0
  13. package/es/components/DynamicFormMobile/index.d.ts +116 -0
  14. package/es/components/DynamicFormMobile/index.js +134 -0
  15. package/es/components/DynamicFormMobile/myCascader/index.d.ts +17 -0
  16. package/es/components/DynamicFormMobile/myCascader/index.js +196 -0
  17. package/es/components/DynamicFormMobile/myCascader/vite.svg +1 -0
  18. package/es/components/DynamicFormMobile/myCheckbox/index.d.ts +19 -0
  19. package/es/components/DynamicFormMobile/myCheckbox/index.js +109 -0
  20. package/es/components/DynamicFormMobile/myCheckbox/vite.svg +1 -0
  21. package/es/components/DynamicFormMobile/myRadio/index.d.ts +20 -0
  22. package/es/components/DynamicFormMobile/myRadio/index.js +107 -0
  23. package/es/components/DynamicFormMobile/myRadio/vite.svg +1 -0
  24. package/es/components/DynamicFormMobile/mySelect/index.css +31 -0
  25. package/es/components/DynamicFormMobile/mySelect/index.d.ts +16 -0
  26. package/es/components/DynamicFormMobile/mySelect/index.js +147 -0
  27. package/es/components/DynamicFormMobile/mySelect/vite.svg +1 -0
  28. package/es/components/DynamicFormMobile/myUpload/index.css +3 -0
  29. package/es/components/DynamicFormMobile/myUpload/index.d.ts +16 -0
  30. package/es/components/DynamicFormMobile/myUpload/index.js +103 -0
  31. package/es/components/DynamicFormMobile/myUpload/vite.svg +1 -0
  32. package/es/components/DynamicFormMobile/radioCard/index.d.ts +12 -0
  33. package/es/components/DynamicFormMobile/radioCard/index.js +142 -0
  34. package/es/components/DynamicFormMobile/radioCard/vite.svg +1 -0
  35. package/es/components/DynamicFormMobile/selectModel/index.d.ts +22 -0
  36. package/es/components/DynamicFormMobile/selectModel/index.js +235 -0
  37. package/es/components/DynamicFormMobile/selectModel/vite.svg +1 -0
  38. package/es/components/DynamicFormMobile/selectModelBackfillFormItem/index.d.ts +27 -0
  39. package/es/components/DynamicFormMobile/selectModelBackfillFormItem/index.js +242 -0
  40. package/es/components/DynamicFormMobile/selectModelBackfillFormItem/vite.svg +1 -0
  41. package/es/components/DynamicFormMobile/useDynamicForm.d.ts +43 -0
  42. package/es/components/DynamicFormMobile/useDynamicForm.js +772 -0
  43. package/es/components/DynamicFormMobile/vite.svg +1 -0
  44. package/es/index.css +1 -0
  45. package/es/index.d.ts +1 -1
  46. package/es/index.js +36 -30
  47. package/es/main.d.ts +2 -1
  48. package/es/main.js +22 -20
  49. package/es/mock/index.d.ts +1 -305
  50. package/es/mock/index.js +20 -364
  51. package/es/services/index.js +3 -5
  52. package/es/services/request.js +2 -2
  53. package/es/utils/method.d.ts +4 -1
  54. package/es/utils/method.js +25 -8
  55. package/lib/components/DynamicForm/index.d.ts +2 -0
  56. package/lib/components/DynamicForm/index.js +3 -2
  57. package/lib/components/DynamicForm/selectModel/index.js +1 -1
  58. package/lib/components/DynamicForm/selectModelBackfillFormItem/index.d.ts +27 -0
  59. package/lib/components/DynamicForm/selectModelBackfillFormItem/index.js +242 -0
  60. package/lib/components/DynamicForm/selectModelBackfillFormItem/vite.svg +1 -0
  61. package/lib/components/DynamicForm/useDynamicForm.js +22 -1
  62. package/lib/components/DynamicFormMobile/func.d.ts +35 -0
  63. package/lib/components/DynamicFormMobile/func.js +204 -0
  64. package/lib/components/DynamicFormMobile/index.d.ts +116 -0
  65. package/lib/components/DynamicFormMobile/index.js +133 -0
  66. package/lib/components/DynamicFormMobile/myCascader/index.d.ts +17 -0
  67. package/lib/components/DynamicFormMobile/myCascader/index.js +195 -0
  68. package/lib/components/DynamicFormMobile/myCascader/vite.svg +1 -0
  69. package/lib/components/DynamicFormMobile/myCheckbox/index.d.ts +19 -0
  70. package/lib/components/DynamicFormMobile/myCheckbox/index.js +108 -0
  71. package/lib/components/DynamicFormMobile/myCheckbox/vite.svg +1 -0
  72. package/lib/components/DynamicFormMobile/myRadio/index.d.ts +20 -0
  73. package/lib/components/DynamicFormMobile/myRadio/index.js +106 -0
  74. package/lib/components/DynamicFormMobile/myRadio/vite.svg +1 -0
  75. package/lib/components/DynamicFormMobile/mySelect/index.css +31 -0
  76. package/lib/components/DynamicFormMobile/mySelect/index.d.ts +16 -0
  77. package/lib/components/DynamicFormMobile/mySelect/index.js +146 -0
  78. package/lib/components/DynamicFormMobile/mySelect/vite.svg +1 -0
  79. package/lib/components/DynamicFormMobile/myUpload/index.css +3 -0
  80. package/lib/components/DynamicFormMobile/myUpload/index.d.ts +16 -0
  81. package/lib/components/DynamicFormMobile/myUpload/index.js +102 -0
  82. package/lib/components/DynamicFormMobile/myUpload/vite.svg +1 -0
  83. package/lib/components/DynamicFormMobile/radioCard/index.d.ts +12 -0
  84. package/lib/components/DynamicFormMobile/radioCard/index.js +141 -0
  85. package/lib/components/DynamicFormMobile/radioCard/vite.svg +1 -0
  86. package/lib/components/DynamicFormMobile/selectModel/index.d.ts +22 -0
  87. package/lib/components/DynamicFormMobile/selectModel/index.js +235 -0
  88. package/lib/components/DynamicFormMobile/selectModel/vite.svg +1 -0
  89. package/lib/components/DynamicFormMobile/selectModelBackfillFormItem/index.d.ts +27 -0
  90. package/lib/components/DynamicFormMobile/selectModelBackfillFormItem/index.js +242 -0
  91. package/lib/components/DynamicFormMobile/selectModelBackfillFormItem/vite.svg +1 -0
  92. package/lib/components/DynamicFormMobile/useDynamicForm.d.ts +43 -0
  93. package/lib/components/DynamicFormMobile/useDynamicForm.js +771 -0
  94. package/lib/components/DynamicFormMobile/vite.svg +1 -0
  95. package/lib/index.css +1 -0
  96. package/lib/index.d.ts +1 -1
  97. package/lib/index.js +36 -30
  98. package/lib/main.d.ts +2 -1
  99. package/lib/main.js +2 -0
  100. package/lib/mock/index.d.ts +1 -305
  101. package/lib/mock/index.js +19 -363
  102. package/lib/services/index.js +3 -5
  103. package/lib/services/request.js +2 -2
  104. package/lib/utils/method.d.ts +4 -1
  105. package/lib/utils/method.js +25 -8
  106. package/package.json +1 -1
@@ -0,0 +1,235 @@
1
+ import { jsxs, Fragment, jsx } from "react/jsx-runtime";
2
+ import { App, Select, Table, Modal } from "antd";
3
+ import { useState, useEffect } from "react";
4
+ function SelectModel(props) {
5
+ const { item, disabled, style, commonRequestWidthParams, CustomModalComponent } = props;
6
+ const { message } = App.useApp();
7
+ const mode = item.input;
8
+ const [value, setValue] = useState(props.value);
9
+ const [modalVisible, setModalVisible] = useState(false);
10
+ const [selectedRowKeys, setSelectedRowKeys] = useState([]);
11
+ const [selectedRecords, setSelectedRecords] = useState([]);
12
+ const [loading, setLoading] = useState(false);
13
+ const [params, setParams] = useState({
14
+ PageNum: 1,
15
+ PageSize: 6
16
+ });
17
+ const [dataSource, setDataSource] = useState([]);
18
+ const [total, setTotal] = useState(0);
19
+ const columns = buildColumns();
20
+ useEffect(() => {
21
+ if (!modalVisible) {
22
+ return;
23
+ }
24
+ getData();
25
+ }, [modalVisible, params]);
26
+ const onSelectChange = (keys, selectedRows) => {
27
+ setSelectedRowKeys(keys);
28
+ setSelectedRecords(selectedRows);
29
+ };
30
+ const getData = async () => {
31
+ var _a;
32
+ if (item.inputType === "url" && (item == null ? void 0 : item["action-url"])) {
33
+ setLoading(true);
34
+ try {
35
+ const response = await commonRequestWidthParams(
36
+ {
37
+ PageName: "dns_relay",
38
+ Controlname: "CallActionUrl",
39
+ InterfaceType: ""
40
+ },
41
+ {
42
+ "action-url": item == null ? void 0 : item["action-url"],
43
+ ...params
44
+ }
45
+ );
46
+ if ((response == null ? void 0 : response.ReturnValue) === 0) {
47
+ message.error(response.msg);
48
+ setLoading(false);
49
+ return;
50
+ }
51
+ const data = response == null ? void 0 : response.data;
52
+ const tempData = (_a = data == null ? void 0 : data.list) == null ? void 0 : _a.map((item2, index) => {
53
+ const _rowKey = (params.PageNum - 1) * params.PageSize + index;
54
+ return {
55
+ ...item2,
56
+ _rowKey
57
+ };
58
+ });
59
+ const tempSelectedRecords = (tempData == null ? void 0 : tempData.filter((item2) => selectedRowKeys.includes(item2._rowKey))) || [];
60
+ setSelectedRecords(tempSelectedRecords);
61
+ setDataSource([...tempData || []]);
62
+ setTotal((data == null ? void 0 : data.number) || 0);
63
+ setLoading(false);
64
+ } catch (error) {
65
+ setLoading(false);
66
+ message.error(error.msg || "参数错误");
67
+ }
68
+ return;
69
+ }
70
+ message.error("请配置action-url");
71
+ };
72
+ const openModal = () => {
73
+ var _a, _b;
74
+ if (disabled) {
75
+ return;
76
+ }
77
+ if (value) {
78
+ const keyFieldList = ((_a = item == null ? void 0 : item["key-field"]) == null ? void 0 : _a.list) ?? [];
79
+ const delimiter = ((_b = item == null ? void 0 : item["key-field"]) == null ? void 0 : _b.delimiter) ?? "-";
80
+ if (!keyFieldList.length) {
81
+ message.error("请配置key-field");
82
+ return;
83
+ }
84
+ switch (mode) {
85
+ case "modal-select":
86
+ const id = value == null ? void 0 : value.split("-");
87
+ const index = dataSource == null ? void 0 : dataSource.findIndex((item2) => id.includes((item2 == null ? void 0 : item2.typeid) || (item2 == null ? void 0 : item2.instanceid)));
88
+ setSelectedRowKeys([index]);
89
+ break;
90
+ case "modal-mult-select":
91
+ const values = value == null ? void 0 : value.split(",");
92
+ const tempKeys = values == null ? void 0 : values.map((item2) => {
93
+ var _a2;
94
+ const id2 = (_a2 = item2.split(delimiter)) == null ? void 0 : _a2[0];
95
+ return dataSource == null ? void 0 : dataSource.findIndex((item3) => id2.includes((item3 == null ? void 0 : item3.typeid) || (item3 == null ? void 0 : item3.instanceid)));
96
+ });
97
+ setSelectedRowKeys(tempKeys);
98
+ break;
99
+ }
100
+ }
101
+ setModalVisible(true);
102
+ };
103
+ const handleOk = async () => {
104
+ try {
105
+ const value2 = await buildValueFromSelectedRows(selectedRecords, item);
106
+ setValue(value2);
107
+ props.onSure(value2);
108
+ setModalVisible(false);
109
+ } catch (error) {
110
+ message.error(error.msg || "参数错误");
111
+ }
112
+ };
113
+ const handleCancel = () => {
114
+ setParams({
115
+ ...params,
116
+ PageNum: 1
117
+ });
118
+ setModalVisible(false);
119
+ };
120
+ function buildColumns() {
121
+ const modalFieldList = item["modal-field-list"];
122
+ let columns2 = [];
123
+ for (let fieldName in modalFieldList) {
124
+ let title = modalFieldList[fieldName];
125
+ const column = { dataIndex: fieldName, title };
126
+ columns2 = [...columns2, column];
127
+ }
128
+ return columns2;
129
+ }
130
+ const onPageChange = (pageNum) => {
131
+ setParams({
132
+ ...params,
133
+ PageNum: pageNum
134
+ });
135
+ };
136
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
137
+ /* @__PURE__ */ jsx(
138
+ Select,
139
+ {
140
+ placeholder: (item == null ? void 0 : item["default-prompt"]) || "请选择",
141
+ onClick: openModal,
142
+ value,
143
+ open: false,
144
+ disabled,
145
+ style
146
+ }
147
+ ),
148
+ CustomModalComponent && /* @__PURE__ */ jsx(
149
+ CustomModalComponent,
150
+ {
151
+ title: item["modal-caption"] || "",
152
+ open: modalVisible,
153
+ onOk: handleOk,
154
+ onCancel: handleCancel,
155
+ modalStyle: { width: item["modal-width"] ?? 600, minHeight: item["modal-height"] ?? 400 },
156
+ children: /* @__PURE__ */ jsx(
157
+ Table,
158
+ {
159
+ columns,
160
+ loading,
161
+ dataSource,
162
+ rowKey: (record) => record._rowKey,
163
+ scroll: { y: "calc(80vh - 300px)" },
164
+ rowSelection: {
165
+ type: mode === "modal-select" ? "radio" : "checkbox",
166
+ selectedRowKeys,
167
+ onChange: onSelectChange
168
+ },
169
+ pagination: {
170
+ total,
171
+ current: params.PageNum,
172
+ pageSize: params.PageSize,
173
+ onChange: onPageChange
174
+ }
175
+ }
176
+ )
177
+ }
178
+ ) || /* @__PURE__ */ jsx(
179
+ Modal,
180
+ {
181
+ title: item["modal-caption"],
182
+ open: modalVisible,
183
+ onOk: handleOk,
184
+ onCancel: handleCancel,
185
+ width: item["modal-width"] ?? 600,
186
+ okButtonProps: { disabled: selectedRowKeys.length === 0 },
187
+ children: /* @__PURE__ */ jsx(
188
+ Table,
189
+ {
190
+ columns,
191
+ loading,
192
+ dataSource,
193
+ rowKey: (record) => record._rowKey,
194
+ rowSelection: {
195
+ type: mode === "modal-select" ? "radio" : "checkbox",
196
+ selectedRowKeys,
197
+ onChange: onSelectChange
198
+ },
199
+ pagination: {
200
+ total,
201
+ current: params.PageNum,
202
+ pageSize: params.PageSize,
203
+ onChange: onPageChange
204
+ }
205
+ }
206
+ )
207
+ }
208
+ )
209
+ ] });
210
+ }
211
+ function buildValueFromSelectedRows(selectedRows, attributeEnrollFormat) {
212
+ return new Promise((resolve, reject) => {
213
+ try {
214
+ var keyfields = attributeEnrollFormat["key-field"];
215
+ if (!keyfields) {
216
+ reject({ msg: "请配置key-field" });
217
+ return;
218
+ }
219
+ var fields = (keyfields == null ? void 0 : keyfields.list) ?? [];
220
+ let result = selectedRows.map((item) => {
221
+ let itemResult = fields.map((field) => {
222
+ return item[field];
223
+ }).join((keyfields == null ? void 0 : keyfields.delimiter) || "-");
224
+ return itemResult;
225
+ }).join(",");
226
+ resolve(result);
227
+ } catch (error) {
228
+ reject({ msg: "key-field参数配置错误" });
229
+ }
230
+ });
231
+ }
232
+ export {
233
+ buildValueFromSelectedRows,
234
+ SelectModel as default
235
+ };
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" class="iconify iconify--logos" width="31.88" height="32" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 257"><defs><linearGradient id="IconifyId1813088fe1fbc01fb466" x1="-.828%" x2="57.636%" y1="7.652%" y2="78.411%"><stop offset="0%" stop-color="#41D1FF"></stop><stop offset="100%" stop-color="#BD34FE"></stop></linearGradient><linearGradient id="IconifyId1813088fe1fbc01fb467" x1="43.376%" x2="50.316%" y1="2.242%" y2="89.03%"><stop offset="0%" stop-color="#FFEA83"></stop><stop offset="8.333%" stop-color="#FFDD35"></stop><stop offset="100%" stop-color="#FFA800"></stop></linearGradient></defs><path fill="url(#IconifyId1813088fe1fbc01fb466)" d="M255.153 37.938L134.897 252.976c-2.483 4.44-8.862 4.466-11.382.048L.875 37.958c-2.746-4.814 1.371-10.646 6.827-9.67l120.385 21.517a6.537 6.537 0 0 0 2.322-.004l117.867-21.483c5.438-.991 9.574 4.796 6.877 9.62Z"></path><path fill="url(#IconifyId1813088fe1fbc01fb467)" d="M185.432.063L96.44 17.501a3.268 3.268 0 0 0-2.634 3.014l-5.474 92.456a3.268 3.268 0 0 0 3.997 3.378l24.777-5.718c2.318-.535 4.413 1.507 3.936 3.838l-7.361 36.047c-.495 2.426 1.782 4.5 4.151 3.78l15.304-4.649c2.372-.72 4.652 1.36 4.15 3.788l-11.698 56.621c-.732 3.542 3.979 5.473 5.943 2.437l1.313-2.028l72.516-144.72c1.215-2.423-.88-5.186-3.54-4.672l-25.505 4.922c-2.396.462-4.435-1.77-3.759-4.114l16.646-57.705c.677-2.35-1.37-4.583-3.769-4.113Z"></path></svg>
@@ -0,0 +1,27 @@
1
+ import React from 'react';
2
+ import { AxiosResponse } from 'axios';
3
+ import { Ijson } from '../index.d';
4
+ import { FormInstance } from 'react-vant';
5
+ interface SelectModelProps {
6
+ item: Ijson;
7
+ onSure: (value: {
8
+ [key: string]: any;
9
+ }) => void;
10
+ value: string;
11
+ disabled: boolean;
12
+ style?: React.CSSProperties;
13
+ commonRequestWidthParams: (params: object, data?: any) => Promise<AxiosResponse<any, any>>;
14
+ commonRequest: (InterfaceType: string, data?: any) => Promise<AxiosResponse<any, any>>;
15
+ CustomModalComponent?: React.FC<ICustomModal>;
16
+ attrid: string;
17
+ form: FormInstance;
18
+ }
19
+ declare function SelectModel(props: SelectModelProps): import("react/jsx-runtime").JSX.Element;
20
+ /**
21
+ *
22
+ * @param selectedRows 选中的行数据
23
+ * @param attributeEnrollFormat 配置信息
24
+ * @returns 构建后的字符串
25
+ */
26
+ export declare function buildValueFromSelectedRows(selectedRows: any[], attributeEnrollFormat: Ijson): Promise<any>;
27
+ export default SelectModel;
@@ -0,0 +1,242 @@
1
+ import { jsxs, Fragment, jsx } from "react/jsx-runtime";
2
+ import { Form, App, Select, Table, Modal } from "antd";
3
+ import { useState, useEffect } from "react";
4
+ function SelectModel(props) {
5
+ const { item, disabled, style, commonRequestWidthParams, CustomModalComponent, attrid, form } = props;
6
+ const attrValue = Form.useWatch(attrid, form);
7
+ const { message } = App.useApp();
8
+ const mode = item.input;
9
+ const [value, setValue] = useState(props.value);
10
+ const [modalVisible, setModalVisible] = useState(false);
11
+ const [selectedRowKeys, setSelectedRowKeys] = useState([]);
12
+ const [selectedRecords, setSelectedRecords] = useState([]);
13
+ const [loading, setLoading] = useState(false);
14
+ const [params, setParams] = useState({
15
+ PageNum: 1,
16
+ PageSize: 6
17
+ });
18
+ const [dataSource, setDataSource] = useState([]);
19
+ const [total, setTotal] = useState(0);
20
+ const columns = buildColumns();
21
+ useEffect(() => {
22
+ if (!modalVisible) {
23
+ return;
24
+ }
25
+ getData();
26
+ }, [modalVisible, params]);
27
+ const onSelectChange = (keys, selectedRows) => {
28
+ setSelectedRowKeys(keys);
29
+ setSelectedRecords(selectedRows);
30
+ };
31
+ const getData = async () => {
32
+ var _a;
33
+ if (item.inputType === "url" && (item == null ? void 0 : item["action-url"])) {
34
+ setLoading(true);
35
+ try {
36
+ const response = await commonRequestWidthParams(
37
+ {
38
+ PageName: "dns_relay",
39
+ Controlname: "CallActionUrl",
40
+ InterfaceType: ""
41
+ },
42
+ {
43
+ "action-url": item == null ? void 0 : item["action-url"],
44
+ ...params,
45
+ ...(item == null ? void 0 : item["action-url-extra-params"]) || {}
46
+ }
47
+ );
48
+ if ((response == null ? void 0 : response.ReturnValue) === 0) {
49
+ message.error(response.msg);
50
+ setLoading(false);
51
+ return;
52
+ }
53
+ const data = response == null ? void 0 : response.data;
54
+ const tempData = (_a = data == null ? void 0 : data.list) == null ? void 0 : _a.map((item2, index) => {
55
+ const _rowKey = (params.PageNum - 1) * params.PageSize + index;
56
+ return {
57
+ ...item2,
58
+ _rowKey
59
+ };
60
+ });
61
+ const tempSelectedRecords = (tempData == null ? void 0 : tempData.filter((item2) => selectedRowKeys.includes(item2._rowKey))) || [];
62
+ setSelectedRecords(tempSelectedRecords);
63
+ setDataSource([...tempData || []]);
64
+ setTotal((data == null ? void 0 : data.number) || 0);
65
+ setLoading(false);
66
+ } catch (error) {
67
+ setLoading(false);
68
+ message.error(error.msg || "参数错误");
69
+ }
70
+ return;
71
+ }
72
+ message.error("请配置action-url");
73
+ };
74
+ const openModal = () => {
75
+ var _a;
76
+ if (disabled) {
77
+ return;
78
+ }
79
+ if (value) {
80
+ const keyField = item == null ? void 0 : item["key-field"];
81
+ const el = keyField == null ? void 0 : keyField[attrid];
82
+ const { delimiter = "-", list = [] } = el || {};
83
+ if (!keyField) {
84
+ message.error("请配置key-field");
85
+ return;
86
+ }
87
+ switch (mode) {
88
+ case "mul-field-modal-select":
89
+ const id = (_a = value == null ? void 0 : value.split(delimiter)) == null ? void 0 : _a[0];
90
+ const index = dataSource == null ? void 0 : dataSource.findIndex((item2) => Object.values(item2).includes(id));
91
+ setSelectedRowKeys([index]);
92
+ break;
93
+ case "modal-mult-select":
94
+ const values = value == null ? void 0 : value.split(",");
95
+ const tempKeys = values == null ? void 0 : values.map((item2) => {
96
+ var _a2;
97
+ const id2 = (_a2 = item2.split(delimiter)) == null ? void 0 : _a2[0];
98
+ return dataSource == null ? void 0 : dataSource.findIndex((item3) => id2.includes((item3 == null ? void 0 : item3.typeid) || (item3 == null ? void 0 : item3.instanceid)));
99
+ });
100
+ setSelectedRowKeys(tempKeys);
101
+ break;
102
+ }
103
+ }
104
+ setModalVisible(true);
105
+ };
106
+ const handleOk = async () => {
107
+ try {
108
+ const value2 = await buildValueFromSelectedRows(selectedRecords, item);
109
+ setValue((value2 == null ? void 0 : value2[attrid]) || "");
110
+ props.onSure(value2);
111
+ setModalVisible(false);
112
+ } catch (error) {
113
+ message.error(error.msg || "参数错误");
114
+ }
115
+ };
116
+ const handleCancel = () => {
117
+ setParams({
118
+ ...params,
119
+ PageNum: 1
120
+ });
121
+ setModalVisible(false);
122
+ };
123
+ function buildColumns() {
124
+ const modalFieldList = item["modal-field-list"];
125
+ let columns2 = [];
126
+ for (let fieldName in modalFieldList) {
127
+ let title = modalFieldList[fieldName];
128
+ const column = { dataIndex: fieldName, title };
129
+ columns2 = [...columns2, column];
130
+ }
131
+ return columns2;
132
+ }
133
+ const onPageChange = (pageNum) => {
134
+ setParams({
135
+ ...params,
136
+ PageNum: pageNum
137
+ });
138
+ };
139
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
140
+ /* @__PURE__ */ jsx(
141
+ Select,
142
+ {
143
+ placeholder: (item == null ? void 0 : item["default-prompt"]) || "请选择",
144
+ onClick: openModal,
145
+ open: false,
146
+ value: attrValue,
147
+ disabled,
148
+ style
149
+ }
150
+ ),
151
+ CustomModalComponent && /* @__PURE__ */ jsx(
152
+ CustomModalComponent,
153
+ {
154
+ title: item["modal-caption"] || "",
155
+ open: modalVisible,
156
+ onOk: handleOk,
157
+ onCancel: handleCancel,
158
+ modalStyle: { width: item["modal-width"] ?? 600, minHeight: item["modal-height"] ?? 400 },
159
+ children: /* @__PURE__ */ jsx(
160
+ Table,
161
+ {
162
+ columns,
163
+ loading,
164
+ dataSource,
165
+ rowKey: (record) => record._rowKey,
166
+ scroll: { y: "calc(80vh - 300px)" },
167
+ rowSelection: {
168
+ type: mode === "mul-field-modal-select" ? "radio" : "checkbox",
169
+ selectedRowKeys,
170
+ onChange: onSelectChange
171
+ },
172
+ pagination: {
173
+ total,
174
+ current: params.PageNum,
175
+ pageSize: params.PageSize,
176
+ onChange: onPageChange
177
+ }
178
+ }
179
+ )
180
+ }
181
+ ) || /* @__PURE__ */ jsx(
182
+ Modal,
183
+ {
184
+ title: item["modal-caption"],
185
+ open: modalVisible,
186
+ onOk: handleOk,
187
+ onCancel: handleCancel,
188
+ width: item["modal-width"] ?? 600,
189
+ okButtonProps: { disabled: selectedRowKeys.length === 0 },
190
+ children: /* @__PURE__ */ jsx(
191
+ Table,
192
+ {
193
+ columns,
194
+ loading,
195
+ dataSource,
196
+ rowKey: (record) => record._rowKey,
197
+ rowSelection: {
198
+ type: mode === "mul-field-modal-select" ? "radio" : "checkbox",
199
+ selectedRowKeys,
200
+ onChange: onSelectChange
201
+ },
202
+ pagination: {
203
+ total,
204
+ current: params.PageNum,
205
+ pageSize: params.PageSize,
206
+ onChange: onPageChange
207
+ }
208
+ }
209
+ )
210
+ }
211
+ )
212
+ ] });
213
+ }
214
+ function buildValueFromSelectedRows(selectedRows, attributeEnrollFormat) {
215
+ return new Promise((resolve, reject) => {
216
+ try {
217
+ var keyfields = attributeEnrollFormat["key-field"];
218
+ if (!keyfields) {
219
+ reject({ msg: "请配置key-field" });
220
+ return;
221
+ }
222
+ let res = {};
223
+ selectedRows.forEach((item) => {
224
+ for (let [key, value] of Object.entries(keyfields)) {
225
+ const list = (value == null ? void 0 : value.list) ?? [];
226
+ const delimiter = (value == null ? void 0 : value.delimiter) ?? "-";
227
+ const arr = list.map((v) => {
228
+ return item == null ? void 0 : item[v];
229
+ });
230
+ res[key] = arr.join(delimiter);
231
+ }
232
+ });
233
+ resolve(res);
234
+ } catch (error) {
235
+ reject({ msg: "key-field参数配置错误" });
236
+ }
237
+ });
238
+ }
239
+ export {
240
+ buildValueFromSelectedRows,
241
+ SelectModel as default
242
+ };
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" class="iconify iconify--logos" width="31.88" height="32" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 257"><defs><linearGradient id="IconifyId1813088fe1fbc01fb466" x1="-.828%" x2="57.636%" y1="7.652%" y2="78.411%"><stop offset="0%" stop-color="#41D1FF"></stop><stop offset="100%" stop-color="#BD34FE"></stop></linearGradient><linearGradient id="IconifyId1813088fe1fbc01fb467" x1="43.376%" x2="50.316%" y1="2.242%" y2="89.03%"><stop offset="0%" stop-color="#FFEA83"></stop><stop offset="8.333%" stop-color="#FFDD35"></stop><stop offset="100%" stop-color="#FFA800"></stop></linearGradient></defs><path fill="url(#IconifyId1813088fe1fbc01fb466)" d="M255.153 37.938L134.897 252.976c-2.483 4.44-8.862 4.466-11.382.048L.875 37.958c-2.746-4.814 1.371-10.646 6.827-9.67l120.385 21.517a6.537 6.537 0 0 0 2.322-.004l117.867-21.483c5.438-.991 9.574 4.796 6.877 9.62Z"></path><path fill="url(#IconifyId1813088fe1fbc01fb467)" d="M185.432.063L96.44 17.501a3.268 3.268 0 0 0-2.634 3.014l-5.474 92.456a3.268 3.268 0 0 0 3.997 3.378l24.777-5.718c2.318-.535 4.413 1.507 3.936 3.838l-7.361 36.047c-.495 2.426 1.782 4.5 4.151 3.78l15.304-4.649c2.372-.72 4.652 1.36 4.15 3.788l-11.698 56.621c-.732 3.542 3.979 5.473 5.943 2.437l1.313-2.028l72.516-144.72c1.215-2.423-.88-5.186-3.54-4.672l-25.505 4.922c-2.396.462-4.435-1.77-3.759-4.114l16.646-57.705c.677-2.35-1.37-4.583-3.769-4.113Z"></path></svg>
@@ -0,0 +1,43 @@
1
+ /// <reference types="react" />
2
+ import { IformConfigItem, IformItemStyle } from './index.d';
3
+ import { AxiosResponse } from 'axios';
4
+ import { FormListFieldData, UploadFile } from 'antd';
5
+ import { FormInstance } from 'react-vant';
6
+ interface IDynamicFormProps {
7
+ commonRequestWidthParams: (params: object, data?: any) => Promise<AxiosResponse<any, any>>;
8
+ commonRequest: (InterfaceType: string, data?: any) => Promise<AxiosResponse<any, any>>;
9
+ uploadAction: (PageName?: string | undefined) => string;
10
+ formConfig?: IformConfigItem[];
11
+ setFormConfig?: (config: IformConfigItem[]) => void;
12
+ updateDelFileList: (file: UploadFile) => void;
13
+ interfaceTypeChildren?: string;
14
+ interfaceTypeDict: string;
15
+ interfaceTypeSysDict: string;
16
+ relatedidKey: string;
17
+ actionUrlKey: string;
18
+ actionUrlExtraParams: object;
19
+ CustomModalComponent?: React.FC<ICustomModal>;
20
+ setAttrList?: (config: IformConfigItem[]) => void;
21
+ hideAttrList?: string[];
22
+ }
23
+ type NestedFormListFieldData = FormListFieldData & {
24
+ parentName?: (string | number)[];
25
+ };
26
+ declare function useDynamicForm(props: IDynamicFormProps): {
27
+ handleRenderItem: ({ item, readonly, colNum, instructionShowMode, relatedid, form, defaultWidth, formItemStyle, radioAlign, isFormListItem, formListField, isShowLabel, }: {
28
+ item: IformConfigItem;
29
+ readonly: boolean;
30
+ colNum: number;
31
+ instructionShowMode?: "icon" | "flex" | undefined;
32
+ relatedid?: string | undefined;
33
+ form: FormInstance;
34
+ defaultWidth?: string | number | undefined;
35
+ formItemStyle: IformItemStyle[] | undefined;
36
+ radioAlign?: "horizontal" | "vertical" | undefined;
37
+ isFormListItem?: boolean | undefined;
38
+ formListField?: NestedFormListFieldData | undefined;
39
+ isShowLabel?: boolean | undefined;
40
+ }) => import("react/jsx-runtime").JSX.Element | null;
41
+ handleSetFormItemInitialValue: (itemWithJson: IformConfigItem) => any;
42
+ };
43
+ export default useDynamicForm;