szld-libs 0.3.66 → 0.3.67
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/szld-components.es.js +7378 -7369
- package/dist/szld-components.umd.js +44 -44
- package/es/components/DynamicForm/useDynamicForm.js +7 -3
- package/es/hooks/useUniversalTable.d.ts +2 -1
- package/es/hooks/useUniversalTable.js +180 -164
- package/lib/components/DynamicForm/useDynamicForm.js +7 -3
- package/lib/hooks/useUniversalTable.d.ts +2 -1
- package/lib/hooks/useUniversalTable.js +180 -164
- package/package.json +1 -1
|
@@ -6,6 +6,7 @@ const antd = require("antd");
|
|
|
6
6
|
const download = require("../utils/download");
|
|
7
7
|
function useUniversalTable() {
|
|
8
8
|
const { message, modal } = antd.App.useApp();
|
|
9
|
+
const attrListCache = {};
|
|
9
10
|
const handleSelListToFormItems = async ({
|
|
10
11
|
selListData,
|
|
11
12
|
handleSearch,
|
|
@@ -17,181 +18,196 @@ function useUniversalTable() {
|
|
|
17
18
|
commonRequestWidthParams,
|
|
18
19
|
getTitle,
|
|
19
20
|
searchText = "搜索",
|
|
20
|
-
resetText = "重置"
|
|
21
|
+
resetText = "重置",
|
|
22
|
+
langConfig = []
|
|
21
23
|
}) => {
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
var _a;
|
|
33
|
-
return ((_a = item.renderdata) == null ? void 0 : _a.input) !== "tab";
|
|
34
|
-
});
|
|
35
|
-
const selectItems = searchItems.filter(
|
|
36
|
-
(item) => {
|
|
37
|
-
var _a;
|
|
38
|
-
return ["select", "checkbox", "radio", "mult-select", "cascader"].includes((_a = item.renderdata) == null ? void 0 : _a.input);
|
|
24
|
+
var _a;
|
|
25
|
+
try {
|
|
26
|
+
if ((selListData == null ? void 0 : selListData.length) && detail) {
|
|
27
|
+
selListData.forEach((item) => {
|
|
28
|
+
var _a2;
|
|
29
|
+
const key = ((_a2 = item["default-render-data"]) == null ? void 0 : _a2.key) || "";
|
|
30
|
+
if (key) {
|
|
31
|
+
item.attrvalue = (detail == null ? void 0 : detail[key]) || "";
|
|
32
|
+
}
|
|
33
|
+
});
|
|
39
34
|
}
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
asid: attributeSetId
|
|
46
|
-
},
|
|
47
|
-
commonRequest
|
|
35
|
+
const searchItems = selListData.filter(
|
|
36
|
+
(item) => {
|
|
37
|
+
var _a2;
|
|
38
|
+
return ((_a2 = item.renderdata) == null ? void 0 : _a2.input) !== "tab" && !(item == null ? void 0 : item["default-render-data"]);
|
|
39
|
+
}
|
|
48
40
|
);
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
var _a;
|
|
54
|
-
const renderdata = item.renderdata || {};
|
|
55
|
-
const { input, width } = renderdata || {};
|
|
56
|
-
const labelCol = (renderdata == null ? void 0 : renderdata["label-col"]) || 6;
|
|
57
|
-
const renderPlaceholder = () => {
|
|
58
|
-
const value = renderdata["default-prompt"];
|
|
59
|
-
if (getTitle) {
|
|
60
|
-
if (typeof value === "string") {
|
|
61
|
-
return getTitle(attributeSetId, item.attrid, value);
|
|
62
|
-
} else if (Array.isArray(value)) {
|
|
63
|
-
return [
|
|
64
|
-
getTitle(attributeSetId, `${item.attrid}_1`, value[0]),
|
|
65
|
-
getTitle(attributeSetId, `${item.attrid}_2`, value[1])
|
|
66
|
-
];
|
|
67
|
-
}
|
|
68
|
-
} else {
|
|
69
|
-
return value || "";
|
|
70
|
-
}
|
|
71
|
-
};
|
|
72
|
-
let valueType = "input";
|
|
73
|
-
switch (input) {
|
|
74
|
-
case "range-picker":
|
|
75
|
-
valueType = "rangePicker";
|
|
76
|
-
break;
|
|
77
|
-
case "number":
|
|
78
|
-
valueType = "inputNumber";
|
|
79
|
-
break;
|
|
80
|
-
case "select":
|
|
81
|
-
case "checkbox":
|
|
82
|
-
case "radio":
|
|
83
|
-
case "textarea":
|
|
84
|
-
valueType = input;
|
|
85
|
-
break;
|
|
86
|
-
case "mult-select":
|
|
87
|
-
valueType = "select";
|
|
88
|
-
break;
|
|
89
|
-
case "time-picker":
|
|
90
|
-
valueType = "timePicker";
|
|
91
|
-
break;
|
|
92
|
-
case "date-picker":
|
|
93
|
-
valueType = "datePicker";
|
|
94
|
-
break;
|
|
95
|
-
case "cascader":
|
|
96
|
-
valueType = "cascader";
|
|
97
|
-
break;
|
|
98
|
-
default:
|
|
99
|
-
valueType = "input";
|
|
100
|
-
break;
|
|
41
|
+
const selectItems = searchItems.filter(
|
|
42
|
+
(item) => {
|
|
43
|
+
var _a2;
|
|
44
|
+
return ["select", "checkbox", "radio", "mult-select", "cascader"].includes((_a2 = item.renderdata) == null ? void 0 : _a2.input);
|
|
101
45
|
}
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
46
|
+
);
|
|
47
|
+
let attrList = [];
|
|
48
|
+
if (selectItems == null ? void 0 : selectItems.length) {
|
|
49
|
+
if ((_a = attrListCache[attributeSetId]) == null ? void 0 : _a.length) {
|
|
50
|
+
attrList = attrListCache[attributeSetId];
|
|
51
|
+
} else {
|
|
52
|
+
const list = await szxkFunc.handleGetAttrList(
|
|
53
|
+
{
|
|
54
|
+
asid: attributeSetId
|
|
55
|
+
},
|
|
56
|
+
commonRequest
|
|
57
|
+
);
|
|
58
|
+
attrList = method.handleBaseAttrList(list) || [];
|
|
59
|
+
attrListCache[attributeSetId] = attrList || [];
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
const formItems = await Promise.all(
|
|
63
|
+
searchItems.map(async (item) => {
|
|
64
|
+
var _a2;
|
|
65
|
+
const renderdata = item.renderdata || {};
|
|
66
|
+
const { input, width } = renderdata || {};
|
|
67
|
+
const labelCol = (renderdata == null ? void 0 : renderdata["label-col"]) || 6;
|
|
68
|
+
const renderPlaceholder = () => {
|
|
69
|
+
const value = renderdata["default-prompt"];
|
|
70
|
+
if (getTitle) {
|
|
71
|
+
if (typeof value === "string") {
|
|
72
|
+
const getTitleResult = getTitle(attributeSetId || "", value);
|
|
73
|
+
const isGetTitleArrayStr = isArrayString(getTitleResult);
|
|
74
|
+
if (input === "range-picker" && value && isGetTitleArrayStr) {
|
|
75
|
+
return JSON.parse(getTitleResult);
|
|
76
|
+
} else {
|
|
77
|
+
return getTitleResult;
|
|
78
|
+
}
|
|
127
79
|
}
|
|
128
|
-
}
|
|
80
|
+
} else {
|
|
81
|
+
return value || "";
|
|
82
|
+
}
|
|
83
|
+
};
|
|
84
|
+
let valueType = "input";
|
|
85
|
+
switch (input) {
|
|
86
|
+
case "range-picker":
|
|
87
|
+
valueType = "rangePicker";
|
|
88
|
+
break;
|
|
89
|
+
case "number":
|
|
90
|
+
valueType = "inputNumber";
|
|
91
|
+
break;
|
|
92
|
+
case "select":
|
|
93
|
+
case "checkbox":
|
|
94
|
+
case "radio":
|
|
95
|
+
case "textarea":
|
|
96
|
+
valueType = input;
|
|
97
|
+
break;
|
|
98
|
+
case "mult-select":
|
|
99
|
+
valueType = "select";
|
|
100
|
+
break;
|
|
101
|
+
case "time-picker":
|
|
102
|
+
valueType = "timePicker";
|
|
103
|
+
break;
|
|
104
|
+
case "date-picker":
|
|
105
|
+
valueType = "datePicker";
|
|
106
|
+
break;
|
|
107
|
+
case "cascader":
|
|
108
|
+
valueType = "cascader";
|
|
109
|
+
break;
|
|
110
|
+
default:
|
|
111
|
+
valueType = "input";
|
|
112
|
+
break;
|
|
129
113
|
}
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
114
|
+
const formItem = {
|
|
115
|
+
dataIndex: item.attrid,
|
|
116
|
+
title: item.attrname || "",
|
|
117
|
+
valueType,
|
|
118
|
+
valueProps: {
|
|
119
|
+
placeholder: renderPlaceholder()
|
|
120
|
+
},
|
|
121
|
+
colProps: {},
|
|
122
|
+
formItemProps: {
|
|
123
|
+
style: { marginBottom: 10, width: typeof width === "string" ? `${width}px` : width || 240 },
|
|
124
|
+
labelCol: { span: labelCol }
|
|
125
|
+
}
|
|
126
|
+
};
|
|
127
|
+
if (["select", "checkbox", "radio", "mult-select", "cascader"].includes(input)) {
|
|
128
|
+
const attrid = item.attrid || "";
|
|
129
|
+
const attrItem = attrList.find((attrItem2) => attrItem2.attrid === attrid);
|
|
130
|
+
let json = (attrItem == null ? void 0 : attrItem.json) || {};
|
|
131
|
+
if (!(json == null ? void 0 : json.inputType) && (renderdata == null ? void 0 : renderdata["input-type"])) {
|
|
132
|
+
json = {
|
|
133
|
+
...json,
|
|
134
|
+
inputType: renderdata == null ? void 0 : renderdata["input-type"],
|
|
135
|
+
"action-url": renderdata == null ? void 0 : renderdata["action-url"],
|
|
136
|
+
"field-names": renderdata == null ? void 0 : renderdata["field-names"],
|
|
137
|
+
"key-field": {
|
|
138
|
+
...renderdata == null ? void 0 : renderdata["key-field"]
|
|
139
|
+
}
|
|
140
|
+
};
|
|
142
141
|
}
|
|
143
|
-
|
|
144
|
-
|
|
142
|
+
let options = await method.handleSelectOptions({
|
|
143
|
+
item: json || {},
|
|
144
|
+
commonRequest,
|
|
145
|
+
commonRequestWidthParams,
|
|
146
|
+
langConfig: langConfig || []
|
|
147
|
+
});
|
|
148
|
+
if (!(options == null ? void 0 : options.length)) {
|
|
149
|
+
const { data = [] } = renderdata || {};
|
|
150
|
+
if (data == null ? void 0 : data.length) {
|
|
151
|
+
options = data == null ? void 0 : data.map((v) => ({
|
|
152
|
+
label: v || "",
|
|
153
|
+
value: v || ""
|
|
154
|
+
}));
|
|
155
|
+
}
|
|
156
|
+
if ((_a2 = renderdata == null ? void 0 : renderdata.options) == null ? void 0 : _a2.length) {
|
|
157
|
+
options = (renderdata == null ? void 0 : renderdata.options) || [];
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
if (input === "cascader") {
|
|
161
|
+
const _options = handleCascaderOptions(options, renderdata == null ? void 0 : renderdata["field-names"]);
|
|
162
|
+
formItem.valueProps.options = _options || [];
|
|
163
|
+
} else {
|
|
164
|
+
formItem.valueProps.options = options || [];
|
|
145
165
|
}
|
|
146
166
|
}
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
167
|
+
return formItem;
|
|
168
|
+
})
|
|
169
|
+
);
|
|
170
|
+
let defaultSearchStyle = {
|
|
171
|
+
color: "#ffffff",
|
|
172
|
+
borderRadius: 4,
|
|
173
|
+
fontSize: 14,
|
|
174
|
+
height: 32
|
|
175
|
+
};
|
|
176
|
+
let defaultResetStyle = {
|
|
177
|
+
color: "#333333",
|
|
178
|
+
borderRadius: 4,
|
|
179
|
+
fontSize: 14,
|
|
180
|
+
height: 32,
|
|
181
|
+
borderColor: "#D9D9D9"
|
|
182
|
+
};
|
|
183
|
+
formItems.push({
|
|
184
|
+
dataIndex: "btns",
|
|
185
|
+
valueType: "btns",
|
|
186
|
+
valueProps: [
|
|
187
|
+
{
|
|
188
|
+
btnType: "submit",
|
|
189
|
+
title: searchText,
|
|
190
|
+
type: "primary",
|
|
191
|
+
shape: "default",
|
|
192
|
+
style: { ...defaultSearchStyle, ...styles == null ? void 0 : styles.searchStyle },
|
|
193
|
+
onClick: (values) => handleSearch(values, selListData)
|
|
194
|
+
},
|
|
195
|
+
{
|
|
196
|
+
btnType: "reset",
|
|
197
|
+
title: resetText,
|
|
198
|
+
style: { ...defaultResetStyle, ...styles == null ? void 0 : styles.resetStyle },
|
|
199
|
+
onClick: () => handleReset(selListData)
|
|
152
200
|
}
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
);
|
|
157
|
-
let defaultSearchStyle = {
|
|
158
|
-
color: "#ffffff",
|
|
159
|
-
borderRadius: 4,
|
|
160
|
-
fontSize: 14,
|
|
161
|
-
height: 32
|
|
162
|
-
};
|
|
163
|
-
let defaultResetStyle = {
|
|
164
|
-
color: "#333333",
|
|
165
|
-
borderRadius: 4,
|
|
166
|
-
fontSize: 14,
|
|
167
|
-
height: 32,
|
|
168
|
-
borderColor: "#D9D9D9"
|
|
169
|
-
};
|
|
170
|
-
formItems.push({
|
|
171
|
-
dataIndex: "btns",
|
|
172
|
-
valueType: "btns",
|
|
173
|
-
valueProps: [
|
|
174
|
-
{
|
|
175
|
-
btnType: "submit",
|
|
176
|
-
title: searchText,
|
|
177
|
-
type: "primary",
|
|
178
|
-
shape: "default",
|
|
179
|
-
style: { ...defaultSearchStyle, ...styles == null ? void 0 : styles.searchStyle },
|
|
180
|
-
onClick: (values) => handleSearch(values, selListData)
|
|
201
|
+
],
|
|
202
|
+
colProps: {
|
|
203
|
+
flex: "none"
|
|
181
204
|
},
|
|
182
|
-
{
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
],
|
|
189
|
-
colProps: {
|
|
190
|
-
flex: "none"
|
|
191
|
-
},
|
|
192
|
-
formItemProps: { style: { marginBottom: 10, minWidth: 127 } }
|
|
193
|
-
});
|
|
194
|
-
return { formItems, selList: selListData };
|
|
205
|
+
formItemProps: { style: { marginBottom: 10, minWidth: 127 } }
|
|
206
|
+
});
|
|
207
|
+
return { formItems, selList: selListData };
|
|
208
|
+
} catch (error) {
|
|
209
|
+
return { formItems: [], selList: [] };
|
|
210
|
+
}
|
|
195
211
|
};
|
|
196
212
|
const handleUniversalHeaderToColumns = ({
|
|
197
213
|
universalHeader,
|