@nokecy/qc-ui 1.1.28 → 1.1.30
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.
|
@@ -174,39 +174,45 @@ function AgGridPlus(props) {
|
|
|
174
174
|
_useState2 = _slicedToArray(_useState, 2),
|
|
175
175
|
ready = _useState2[0],
|
|
176
176
|
setReady = _useState2[1];
|
|
177
|
-
|
|
177
|
+
// 【修复】追踪搜索表单是否已完成初始化(包含默认值)
|
|
178
|
+
// 只有当 search !== false 时才需要等待表单初始化
|
|
179
|
+
var _useState3 = (0, _react.useState)(search === false),
|
|
178
180
|
_useState4 = _slicedToArray(_useState3, 2),
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
var _useState5 = (0, _react.useState)(),
|
|
181
|
+
formInitialized = _useState4[0],
|
|
182
|
+
setFormInitialized = _useState4[1];
|
|
183
|
+
var _useState5 = (0, _react.useState)(loadingProps ? loadingProps : false),
|
|
182
184
|
_useState6 = _slicedToArray(_useState5, 2),
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
var _useState7 = (0, _react.useState)(
|
|
185
|
+
loading = _useState6[0],
|
|
186
|
+
setLoading = _useState6[1];
|
|
187
|
+
var _useState7 = (0, _react.useState)(),
|
|
186
188
|
_useState8 = _slicedToArray(_useState7, 2),
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
var _useState9 = (0, _react.useState)(
|
|
189
|
+
columnState = _useState8[0],
|
|
190
|
+
setColumnState = _useState8[1];
|
|
191
|
+
var _useState9 = (0, _react.useState)({}),
|
|
190
192
|
_useState10 = _slicedToArray(_useState9, 2),
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
var _useState11 = (0, _react.useState)(
|
|
193
|
+
columnCellClass = _useState10[0],
|
|
194
|
+
setColumnCellClass = _useState10[1];
|
|
195
|
+
var _useState11 = (0, _react.useState)([]),
|
|
194
196
|
_useState12 = _slicedToArray(_useState11, 2),
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
var _useState13 = (0, _react.useState)(),
|
|
197
|
+
rowData = _useState12[0],
|
|
198
|
+
setRowData = _useState12[1];
|
|
199
|
+
var _useState13 = (0, _react.useState)({}),
|
|
198
200
|
_useState14 = _slicedToArray(_useState13, 2),
|
|
199
|
-
|
|
200
|
-
|
|
201
|
+
queryFilter = _useState14[0],
|
|
202
|
+
setQueryFilter = _useState14[1];
|
|
203
|
+
var _useState15 = (0, _react.useState)(),
|
|
204
|
+
_useState16 = _slicedToArray(_useState15, 2),
|
|
205
|
+
sortColumn = _useState16[0],
|
|
206
|
+
setSortColumn = _useState16[1];
|
|
201
207
|
// 初始化分页参数,支持外部传入的pageSize
|
|
202
|
-
var
|
|
208
|
+
var _useState17 = (0, _react.useState)({
|
|
203
209
|
pageSize: props.pageSize !== undefined ? props.pageSize : props.hidePagination ? 10000 : 200,
|
|
204
210
|
current: 1,
|
|
205
211
|
total: dataSource ? dataSource.length : 0
|
|
206
212
|
}),
|
|
207
|
-
|
|
208
|
-
pagination =
|
|
209
|
-
setPagination =
|
|
213
|
+
_useState18 = _slicedToArray(_useState17, 2),
|
|
214
|
+
pagination = _useState18[0],
|
|
215
|
+
setPagination = _useState18[1];
|
|
210
216
|
|
|
211
217
|
// ============ 方案管理 - 使用集中式 Context ============
|
|
212
218
|
var _useGridSchemes = (0, _useSchemeManager.useGridSchemes)(),
|
|
@@ -225,16 +231,16 @@ function AgGridPlus(props) {
|
|
|
225
231
|
getColumnSchemes = _useGridSchemes.getColumnSchemes,
|
|
226
232
|
getQuerySchemes = _useGridSchemes.getQuerySchemes,
|
|
227
233
|
getCurrentScheme = _useGridSchemes.getCurrentScheme;
|
|
228
|
-
var
|
|
229
|
-
|
|
230
|
-
queryItemsOrder =
|
|
231
|
-
setQueryItemsOrder =
|
|
234
|
+
var _useState19 = (0, _react.useState)([]),
|
|
235
|
+
_useState20 = _slicedToArray(_useState19, 2),
|
|
236
|
+
queryItemsOrder = _useState20[0],
|
|
237
|
+
setQueryItemsOrder = _useState20[1];
|
|
232
238
|
|
|
233
239
|
// 高级查询状态
|
|
234
|
-
var
|
|
235
|
-
|
|
236
|
-
advancedPopoverOpen =
|
|
237
|
-
setAdvancedPopoverOpen =
|
|
240
|
+
var _useState21 = (0, _react.useState)(false),
|
|
241
|
+
_useState22 = _slicedToArray(_useState21, 2),
|
|
242
|
+
advancedPopoverOpen = _useState22[0],
|
|
243
|
+
setAdvancedPopoverOpen = _useState22[1];
|
|
238
244
|
var createEmptyRuleGroup = function createEmptyRuleGroup() {
|
|
239
245
|
return {
|
|
240
246
|
id: (0, _uuid.v4)(),
|
|
@@ -242,10 +248,10 @@ function AgGridPlus(props) {
|
|
|
242
248
|
children: []
|
|
243
249
|
};
|
|
244
250
|
};
|
|
245
|
-
var
|
|
246
|
-
|
|
247
|
-
advancedQueryRules =
|
|
248
|
-
setAdvancedQueryRules =
|
|
251
|
+
var _useState23 = (0, _react.useState)(createEmptyRuleGroup),
|
|
252
|
+
_useState24 = _slicedToArray(_useState23, 2),
|
|
253
|
+
advancedQueryRules = _useState24[0],
|
|
254
|
+
setAdvancedQueryRules = _useState24[1];
|
|
249
255
|
|
|
250
256
|
/**
|
|
251
257
|
* 【P1 架构优化】使用单向数据流架构
|
|
@@ -742,10 +748,9 @@ function AgGridPlus(props) {
|
|
|
742
748
|
var rowData = response.data;
|
|
743
749
|
var rowCount = response.total;
|
|
744
750
|
setRowData(rowData);
|
|
745
|
-
//
|
|
746
|
-
|
|
747
|
-
|
|
748
|
-
});
|
|
751
|
+
// 【修复】强制重绘所有行,确保 React cellRenderer 重新渲染
|
|
752
|
+
// refreshCells 对 React 渲染的 cellRenderer 无效,需要使用 redrawRows
|
|
753
|
+
(_apiRef$current2 = apiRef.current) === null || _apiRef$current2 === void 0 || _apiRef$current2.redrawRows();
|
|
749
754
|
setPagination(function (prev) {
|
|
750
755
|
return _objectSpread(_objectSpread({}, prev), {}, {
|
|
751
756
|
total: rowCount
|
|
@@ -819,9 +824,10 @@ function AgGridPlus(props) {
|
|
|
819
824
|
paginationPageSize: pagination.pageSize,
|
|
820
825
|
stableSortColumn: stableSortColumn
|
|
821
826
|
};
|
|
822
|
-
if (ready && requestRef.current) {
|
|
827
|
+
if (ready && formInitialized && requestRef.current) {
|
|
823
828
|
_logger.logger.debug('useEffect 触发数据请求', {
|
|
824
829
|
ready: ready,
|
|
830
|
+
formInitialized: formInitialized,
|
|
825
831
|
hasRequest: !!requestRef.current,
|
|
826
832
|
queryFilter: stableQueryFilter,
|
|
827
833
|
stableGridParams: stableGridParams,
|
|
@@ -832,7 +838,7 @@ function AgGridPlus(props) {
|
|
|
832
838
|
});
|
|
833
839
|
onRequest(stableQueryFilter);
|
|
834
840
|
}
|
|
835
|
-
}, [ready, stableQueryFilter, stableGridParams, pagination.current, pagination.pageSize, stableSortColumn]);
|
|
841
|
+
}, [ready, formInitialized, stableQueryFilter, stableGridParams, pagination.current, pagination.pageSize, stableSortColumn]);
|
|
836
842
|
var handelgridPlusColumnState = function handelgridPlusColumnState(columnState) {
|
|
837
843
|
var cellMap = {};
|
|
838
844
|
if ((0, _isArray2.default)(columnState)) {
|
|
@@ -1257,7 +1263,10 @@ function AgGridPlus(props) {
|
|
|
1257
1263
|
onRequest && onRequest(formValues);
|
|
1258
1264
|
},
|
|
1259
1265
|
onInit: function onInit(defaultValues) {
|
|
1266
|
+
// 【修复】先设置 queryFilter,再标记表单已初始化
|
|
1267
|
+
// 这样确保首次请求时 queryFilter 已包含默认值
|
|
1260
1268
|
setQueryFilter(defaultValues);
|
|
1269
|
+
setFormInitialized(true);
|
|
1261
1270
|
}
|
|
1262
1271
|
}), /*#__PURE__*/_react.default.createElement(_antd.Card, {
|
|
1263
1272
|
bordered: false,
|
|
@@ -57,9 +57,11 @@ var FormRender = function FormRender(props) {
|
|
|
57
57
|
}
|
|
58
58
|
});
|
|
59
59
|
}, []);
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
60
|
+
|
|
61
|
+
// 【修复】移除此处的 onInit 调用
|
|
62
|
+
// 原因:此时 schema 尚未设置,form.values 为空,默认值还未应用
|
|
63
|
+
// 改为在下方 schema 设置完成后调用 onInit
|
|
64
|
+
|
|
63
65
|
var SchemaField = (0, _react2.useMemo)(function () {
|
|
64
66
|
return (0, _react.createSchemaField)({
|
|
65
67
|
components: {
|
|
@@ -193,9 +195,24 @@ var FormRender = function FormRender(props) {
|
|
|
193
195
|
}
|
|
194
196
|
return rootSchema;
|
|
195
197
|
};
|
|
198
|
+
|
|
199
|
+
// 【新增】用于追踪是否已完成首次初始化
|
|
200
|
+
var initializedRef = (0, _react2.useRef)(false);
|
|
196
201
|
(0, _react2.useEffect)(function () {
|
|
197
202
|
var new_schema = getSchema(onReset);
|
|
198
203
|
setSchema(new_schema);
|
|
204
|
+
|
|
205
|
+
// 【修复】在 schema 设置完成后调用 onInit
|
|
206
|
+
// 使用 setTimeout 确保 Formily 有时间处理 schema 并应用默认值
|
|
207
|
+
if (!initializedRef.current) {
|
|
208
|
+
initializedRef.current = true;
|
|
209
|
+
// 使用 requestAnimationFrame + setTimeout 确保默认值已应用
|
|
210
|
+
requestAnimationFrame(function () {
|
|
211
|
+
setTimeout(function () {
|
|
212
|
+
props.onInit && props.onInit(form.values);
|
|
213
|
+
}, 0);
|
|
214
|
+
});
|
|
215
|
+
}
|
|
199
216
|
}, [columnStates === null || columnStates === void 0 ? void 0 : columnStates.map(function (c) {
|
|
200
217
|
return c.colId;
|
|
201
218
|
}).join('|'), colDefs === null || colDefs === void 0 ? void 0 : colDefs.map(function (c) {
|
|
@@ -166,39 +166,45 @@ function AgGridPlus(props) {
|
|
|
166
166
|
_useState2 = _slicedToArray(_useState, 2),
|
|
167
167
|
ready = _useState2[0],
|
|
168
168
|
setReady = _useState2[1];
|
|
169
|
-
|
|
169
|
+
// 【修复】追踪搜索表单是否已完成初始化(包含默认值)
|
|
170
|
+
// 只有当 search !== false 时才需要等待表单初始化
|
|
171
|
+
var _useState3 = useState(search === false),
|
|
170
172
|
_useState4 = _slicedToArray(_useState3, 2),
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
var _useState5 = useState(),
|
|
173
|
+
formInitialized = _useState4[0],
|
|
174
|
+
setFormInitialized = _useState4[1];
|
|
175
|
+
var _useState5 = useState(loadingProps ? loadingProps : false),
|
|
174
176
|
_useState6 = _slicedToArray(_useState5, 2),
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
var _useState7 = useState(
|
|
177
|
+
loading = _useState6[0],
|
|
178
|
+
setLoading = _useState6[1];
|
|
179
|
+
var _useState7 = useState(),
|
|
178
180
|
_useState8 = _slicedToArray(_useState7, 2),
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
var _useState9 = useState(
|
|
181
|
+
columnState = _useState8[0],
|
|
182
|
+
setColumnState = _useState8[1];
|
|
183
|
+
var _useState9 = useState({}),
|
|
182
184
|
_useState10 = _slicedToArray(_useState9, 2),
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
var _useState11 = useState(
|
|
185
|
+
columnCellClass = _useState10[0],
|
|
186
|
+
setColumnCellClass = _useState10[1];
|
|
187
|
+
var _useState11 = useState([]),
|
|
186
188
|
_useState12 = _slicedToArray(_useState11, 2),
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
var _useState13 = useState(),
|
|
189
|
+
rowData = _useState12[0],
|
|
190
|
+
setRowData = _useState12[1];
|
|
191
|
+
var _useState13 = useState({}),
|
|
190
192
|
_useState14 = _slicedToArray(_useState13, 2),
|
|
191
|
-
|
|
192
|
-
|
|
193
|
+
queryFilter = _useState14[0],
|
|
194
|
+
setQueryFilter = _useState14[1];
|
|
195
|
+
var _useState15 = useState(),
|
|
196
|
+
_useState16 = _slicedToArray(_useState15, 2),
|
|
197
|
+
sortColumn = _useState16[0],
|
|
198
|
+
setSortColumn = _useState16[1];
|
|
193
199
|
// 初始化分页参数,支持外部传入的pageSize
|
|
194
|
-
var
|
|
200
|
+
var _useState17 = useState({
|
|
195
201
|
pageSize: props.pageSize !== undefined ? props.pageSize : props.hidePagination ? 10000 : 200,
|
|
196
202
|
current: 1,
|
|
197
203
|
total: dataSource ? dataSource.length : 0
|
|
198
204
|
}),
|
|
199
|
-
|
|
200
|
-
pagination =
|
|
201
|
-
setPagination =
|
|
205
|
+
_useState18 = _slicedToArray(_useState17, 2),
|
|
206
|
+
pagination = _useState18[0],
|
|
207
|
+
setPagination = _useState18[1];
|
|
202
208
|
|
|
203
209
|
// ============ 方案管理 - 使用集中式 Context ============
|
|
204
210
|
var _useGridSchemes = useGridSchemes(),
|
|
@@ -217,16 +223,16 @@ function AgGridPlus(props) {
|
|
|
217
223
|
getColumnSchemes = _useGridSchemes.getColumnSchemes,
|
|
218
224
|
getQuerySchemes = _useGridSchemes.getQuerySchemes,
|
|
219
225
|
getCurrentScheme = _useGridSchemes.getCurrentScheme;
|
|
220
|
-
var
|
|
221
|
-
|
|
222
|
-
queryItemsOrder =
|
|
223
|
-
setQueryItemsOrder =
|
|
226
|
+
var _useState19 = useState([]),
|
|
227
|
+
_useState20 = _slicedToArray(_useState19, 2),
|
|
228
|
+
queryItemsOrder = _useState20[0],
|
|
229
|
+
setQueryItemsOrder = _useState20[1];
|
|
224
230
|
|
|
225
231
|
// 高级查询状态
|
|
226
|
-
var
|
|
227
|
-
|
|
228
|
-
advancedPopoverOpen =
|
|
229
|
-
setAdvancedPopoverOpen =
|
|
232
|
+
var _useState21 = useState(false),
|
|
233
|
+
_useState22 = _slicedToArray(_useState21, 2),
|
|
234
|
+
advancedPopoverOpen = _useState22[0],
|
|
235
|
+
setAdvancedPopoverOpen = _useState22[1];
|
|
230
236
|
var createEmptyRuleGroup = function createEmptyRuleGroup() {
|
|
231
237
|
return {
|
|
232
238
|
id: uuidv4(),
|
|
@@ -234,10 +240,10 @@ function AgGridPlus(props) {
|
|
|
234
240
|
children: []
|
|
235
241
|
};
|
|
236
242
|
};
|
|
237
|
-
var
|
|
238
|
-
|
|
239
|
-
advancedQueryRules =
|
|
240
|
-
setAdvancedQueryRules =
|
|
243
|
+
var _useState23 = useState(createEmptyRuleGroup),
|
|
244
|
+
_useState24 = _slicedToArray(_useState23, 2),
|
|
245
|
+
advancedQueryRules = _useState24[0],
|
|
246
|
+
setAdvancedQueryRules = _useState24[1];
|
|
241
247
|
|
|
242
248
|
/**
|
|
243
249
|
* 【P1 架构优化】使用单向数据流架构
|
|
@@ -734,10 +740,9 @@ function AgGridPlus(props) {
|
|
|
734
740
|
var rowData = response.data;
|
|
735
741
|
var rowCount = response.total;
|
|
736
742
|
setRowData(rowData);
|
|
737
|
-
//
|
|
738
|
-
|
|
739
|
-
|
|
740
|
-
});
|
|
743
|
+
// 【修复】强制重绘所有行,确保 React cellRenderer 重新渲染
|
|
744
|
+
// refreshCells 对 React 渲染的 cellRenderer 无效,需要使用 redrawRows
|
|
745
|
+
(_apiRef$current2 = apiRef.current) === null || _apiRef$current2 === void 0 || _apiRef$current2.redrawRows();
|
|
741
746
|
setPagination(function (prev) {
|
|
742
747
|
return _objectSpread(_objectSpread({}, prev), {}, {
|
|
743
748
|
total: rowCount
|
|
@@ -811,9 +816,10 @@ function AgGridPlus(props) {
|
|
|
811
816
|
paginationPageSize: pagination.pageSize,
|
|
812
817
|
stableSortColumn: stableSortColumn
|
|
813
818
|
};
|
|
814
|
-
if (ready && requestRef.current) {
|
|
819
|
+
if (ready && formInitialized && requestRef.current) {
|
|
815
820
|
logger.debug('useEffect 触发数据请求', {
|
|
816
821
|
ready: ready,
|
|
822
|
+
formInitialized: formInitialized,
|
|
817
823
|
hasRequest: !!requestRef.current,
|
|
818
824
|
queryFilter: stableQueryFilter,
|
|
819
825
|
stableGridParams: stableGridParams,
|
|
@@ -824,7 +830,7 @@ function AgGridPlus(props) {
|
|
|
824
830
|
});
|
|
825
831
|
onRequest(stableQueryFilter);
|
|
826
832
|
}
|
|
827
|
-
}, [ready, stableQueryFilter, stableGridParams, pagination.current, pagination.pageSize, stableSortColumn]);
|
|
833
|
+
}, [ready, formInitialized, stableQueryFilter, stableGridParams, pagination.current, pagination.pageSize, stableSortColumn]);
|
|
828
834
|
var handelgridPlusColumnState = function handelgridPlusColumnState(columnState) {
|
|
829
835
|
var cellMap = {};
|
|
830
836
|
if (_isArray(columnState)) {
|
|
@@ -1249,7 +1255,10 @@ function AgGridPlus(props) {
|
|
|
1249
1255
|
onRequest && onRequest(formValues);
|
|
1250
1256
|
},
|
|
1251
1257
|
onInit: function onInit(defaultValues) {
|
|
1258
|
+
// 【修复】先设置 queryFilter,再标记表单已初始化
|
|
1259
|
+
// 这样确保首次请求时 queryFilter 已包含默认值
|
|
1252
1260
|
setQueryFilter(defaultValues);
|
|
1261
|
+
setFormInitialized(true);
|
|
1253
1262
|
}
|
|
1254
1263
|
}), /*#__PURE__*/React.createElement(Card, {
|
|
1255
1264
|
bordered: false,
|
|
@@ -16,7 +16,7 @@ import { onFieldInit } from '@formily/core';
|
|
|
16
16
|
import { createSchemaField } from '@formily/react';
|
|
17
17
|
import { Button } from 'antd';
|
|
18
18
|
import classNames from 'classnames';
|
|
19
|
-
import React, { useEffect, useMemo, useState } from 'react';
|
|
19
|
+
import React, { useEffect, useMemo, useRef, useState } from 'react';
|
|
20
20
|
import QueryForm from "./queryForm";
|
|
21
21
|
import BoolSelect from "../_utils/boolSelect";
|
|
22
22
|
import "./index.less";
|
|
@@ -49,9 +49,11 @@ var FormRender = function FormRender(props) {
|
|
|
49
49
|
}
|
|
50
50
|
});
|
|
51
51
|
}, []);
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
52
|
+
|
|
53
|
+
// 【修复】移除此处的 onInit 调用
|
|
54
|
+
// 原因:此时 schema 尚未设置,form.values 为空,默认值还未应用
|
|
55
|
+
// 改为在下方 schema 设置完成后调用 onInit
|
|
56
|
+
|
|
55
57
|
var SchemaField = useMemo(function () {
|
|
56
58
|
return createSchemaField({
|
|
57
59
|
components: {
|
|
@@ -185,9 +187,24 @@ var FormRender = function FormRender(props) {
|
|
|
185
187
|
}
|
|
186
188
|
return rootSchema;
|
|
187
189
|
};
|
|
190
|
+
|
|
191
|
+
// 【新增】用于追踪是否已完成首次初始化
|
|
192
|
+
var initializedRef = useRef(false);
|
|
188
193
|
useEffect(function () {
|
|
189
194
|
var new_schema = getSchema(onReset);
|
|
190
195
|
setSchema(new_schema);
|
|
196
|
+
|
|
197
|
+
// 【修复】在 schema 设置完成后调用 onInit
|
|
198
|
+
// 使用 setTimeout 确保 Formily 有时间处理 schema 并应用默认值
|
|
199
|
+
if (!initializedRef.current) {
|
|
200
|
+
initializedRef.current = true;
|
|
201
|
+
// 使用 requestAnimationFrame + setTimeout 确保默认值已应用
|
|
202
|
+
requestAnimationFrame(function () {
|
|
203
|
+
setTimeout(function () {
|
|
204
|
+
props.onInit && props.onInit(form.values);
|
|
205
|
+
}, 0);
|
|
206
|
+
});
|
|
207
|
+
}
|
|
191
208
|
}, [columnStates === null || columnStates === void 0 ? void 0 : columnStates.map(function (c) {
|
|
192
209
|
return c.colId;
|
|
193
210
|
}).join('|'), colDefs === null || colDefs === void 0 ? void 0 : colDefs.map(function (c) {
|