@nokecy/qc-ui 1.1.28 → 1.1.29

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
- var _useState3 = (0, _react.useState)(loadingProps ? loadingProps : false),
177
+ // 【修复】追踪搜索表单是否已完成初始化(包含默认值)
178
+ // 只有当 search !== false 时才需要等待表单初始化
179
+ var _useState3 = (0, _react.useState)(search === false),
178
180
  _useState4 = _slicedToArray(_useState3, 2),
179
- loading = _useState4[0],
180
- setLoading = _useState4[1];
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
- columnState = _useState6[0],
184
- setColumnState = _useState6[1];
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
- columnCellClass = _useState8[0],
188
- setColumnCellClass = _useState8[1];
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
- rowData = _useState10[0],
192
- setRowData = _useState10[1];
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
- queryFilter = _useState12[0],
196
- setQueryFilter = _useState12[1];
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
- sortColumn = _useState14[0],
200
- setSortColumn = _useState14[1];
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 _useState15 = (0, _react.useState)({
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
- _useState16 = _slicedToArray(_useState15, 2),
208
- pagination = _useState16[0],
209
- setPagination = _useState16[1];
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 _useState17 = (0, _react.useState)([]),
229
- _useState18 = _slicedToArray(_useState17, 2),
230
- queryItemsOrder = _useState18[0],
231
- setQueryItemsOrder = _useState18[1];
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 _useState19 = (0, _react.useState)(false),
235
- _useState20 = _slicedToArray(_useState19, 2),
236
- advancedPopoverOpen = _useState20[0],
237
- setAdvancedPopoverOpen = _useState20[1];
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 _useState21 = (0, _react.useState)(createEmptyRuleGroup),
246
- _useState22 = _slicedToArray(_useState21, 2),
247
- advancedQueryRules = _useState22[0],
248
- setAdvancedQueryRules = _useState22[1];
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 架构优化】使用单向数据流架构
@@ -819,9 +825,10 @@ function AgGridPlus(props) {
819
825
  paginationPageSize: pagination.pageSize,
820
826
  stableSortColumn: stableSortColumn
821
827
  };
822
- if (ready && requestRef.current) {
828
+ if (ready && formInitialized && requestRef.current) {
823
829
  _logger.logger.debug('useEffect 触发数据请求', {
824
830
  ready: ready,
831
+ formInitialized: formInitialized,
825
832
  hasRequest: !!requestRef.current,
826
833
  queryFilter: stableQueryFilter,
827
834
  stableGridParams: stableGridParams,
@@ -832,7 +839,7 @@ function AgGridPlus(props) {
832
839
  });
833
840
  onRequest(stableQueryFilter);
834
841
  }
835
- }, [ready, stableQueryFilter, stableGridParams, pagination.current, pagination.pageSize, stableSortColumn]);
842
+ }, [ready, formInitialized, stableQueryFilter, stableGridParams, pagination.current, pagination.pageSize, stableSortColumn]);
836
843
  var handelgridPlusColumnState = function handelgridPlusColumnState(columnState) {
837
844
  var cellMap = {};
838
845
  if ((0, _isArray2.default)(columnState)) {
@@ -1257,7 +1264,10 @@ function AgGridPlus(props) {
1257
1264
  onRequest && onRequest(formValues);
1258
1265
  },
1259
1266
  onInit: function onInit(defaultValues) {
1267
+ // 【修复】先设置 queryFilter,再标记表单已初始化
1268
+ // 这样确保首次请求时 queryFilter 已包含默认值
1260
1269
  setQueryFilter(defaultValues);
1270
+ setFormInitialized(true);
1261
1271
  }
1262
1272
  }), /*#__PURE__*/_react.default.createElement(_antd.Card, {
1263
1273
  bordered: false,
@@ -57,9 +57,11 @@ var FormRender = function FormRender(props) {
57
57
  }
58
58
  });
59
59
  }, []);
60
- (0, _react2.useEffect)(function () {
61
- props.onInit && props.onInit(form.values);
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
- var _useState3 = useState(loadingProps ? loadingProps : false),
169
+ // 【修复】追踪搜索表单是否已完成初始化(包含默认值)
170
+ // 只有当 search !== false 时才需要等待表单初始化
171
+ var _useState3 = useState(search === false),
170
172
  _useState4 = _slicedToArray(_useState3, 2),
171
- loading = _useState4[0],
172
- setLoading = _useState4[1];
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
- columnState = _useState6[0],
176
- setColumnState = _useState6[1];
177
- var _useState7 = useState({}),
177
+ loading = _useState6[0],
178
+ setLoading = _useState6[1];
179
+ var _useState7 = useState(),
178
180
  _useState8 = _slicedToArray(_useState7, 2),
179
- columnCellClass = _useState8[0],
180
- setColumnCellClass = _useState8[1];
181
- var _useState9 = useState([]),
181
+ columnState = _useState8[0],
182
+ setColumnState = _useState8[1];
183
+ var _useState9 = useState({}),
182
184
  _useState10 = _slicedToArray(_useState9, 2),
183
- rowData = _useState10[0],
184
- setRowData = _useState10[1];
185
- var _useState11 = useState({}),
185
+ columnCellClass = _useState10[0],
186
+ setColumnCellClass = _useState10[1];
187
+ var _useState11 = useState([]),
186
188
  _useState12 = _slicedToArray(_useState11, 2),
187
- queryFilter = _useState12[0],
188
- setQueryFilter = _useState12[1];
189
- var _useState13 = useState(),
189
+ rowData = _useState12[0],
190
+ setRowData = _useState12[1];
191
+ var _useState13 = useState({}),
190
192
  _useState14 = _slicedToArray(_useState13, 2),
191
- sortColumn = _useState14[0],
192
- setSortColumn = _useState14[1];
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 _useState15 = useState({
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
- _useState16 = _slicedToArray(_useState15, 2),
200
- pagination = _useState16[0],
201
- setPagination = _useState16[1];
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 _useState17 = useState([]),
221
- _useState18 = _slicedToArray(_useState17, 2),
222
- queryItemsOrder = _useState18[0],
223
- setQueryItemsOrder = _useState18[1];
226
+ var _useState19 = useState([]),
227
+ _useState20 = _slicedToArray(_useState19, 2),
228
+ queryItemsOrder = _useState20[0],
229
+ setQueryItemsOrder = _useState20[1];
224
230
 
225
231
  // 高级查询状态
226
- var _useState19 = useState(false),
227
- _useState20 = _slicedToArray(_useState19, 2),
228
- advancedPopoverOpen = _useState20[0],
229
- setAdvancedPopoverOpen = _useState20[1];
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 _useState21 = useState(createEmptyRuleGroup),
238
- _useState22 = _slicedToArray(_useState21, 2),
239
- advancedQueryRules = _useState22[0],
240
- setAdvancedQueryRules = _useState22[1];
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 架构优化】使用单向数据流架构
@@ -811,9 +817,10 @@ function AgGridPlus(props) {
811
817
  paginationPageSize: pagination.pageSize,
812
818
  stableSortColumn: stableSortColumn
813
819
  };
814
- if (ready && requestRef.current) {
820
+ if (ready && formInitialized && requestRef.current) {
815
821
  logger.debug('useEffect 触发数据请求', {
816
822
  ready: ready,
823
+ formInitialized: formInitialized,
817
824
  hasRequest: !!requestRef.current,
818
825
  queryFilter: stableQueryFilter,
819
826
  stableGridParams: stableGridParams,
@@ -824,7 +831,7 @@ function AgGridPlus(props) {
824
831
  });
825
832
  onRequest(stableQueryFilter);
826
833
  }
827
- }, [ready, stableQueryFilter, stableGridParams, pagination.current, pagination.pageSize, stableSortColumn]);
834
+ }, [ready, formInitialized, stableQueryFilter, stableGridParams, pagination.current, pagination.pageSize, stableSortColumn]);
828
835
  var handelgridPlusColumnState = function handelgridPlusColumnState(columnState) {
829
836
  var cellMap = {};
830
837
  if (_isArray(columnState)) {
@@ -1249,7 +1256,10 @@ function AgGridPlus(props) {
1249
1256
  onRequest && onRequest(formValues);
1250
1257
  },
1251
1258
  onInit: function onInit(defaultValues) {
1259
+ // 【修复】先设置 queryFilter,再标记表单已初始化
1260
+ // 这样确保首次请求时 queryFilter 已包含默认值
1252
1261
  setQueryFilter(defaultValues);
1262
+ setFormInitialized(true);
1253
1263
  }
1254
1264
  }), /*#__PURE__*/React.createElement(Card, {
1255
1265
  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
- useEffect(function () {
53
- props.onInit && props.onInit(form.values);
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) {