@luck-design-biz/luckda 0.0.17 → 0.0.18-2

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.
@@ -8,10 +8,12 @@ import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
8
8
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
9
9
  var _excluded = ["namespace", "formState", "formMode", "formOperates", "loading", "wrapperRef", "readOnly", "mainFormLdId", "renderFormList", "renderAffixLeft", "renderAffixRight", "beforeSubmit", "showSaveBtn", "saveBtnTitle", "affixLayout", "onValueChange", "afterSubmit", "renderFormExtra", "bpmButtonProps"],
10
10
  _excluded2 = ["dataSets", "doAction", "resources"],
11
- _excluded3 = ["id", "header", "title", "readOnly", "extraConfig", "renderTopLeft"],
12
- _excluded4 = ["ldId", "initData", "overModel"];
11
+ _excluded3 = ["formMode"],
12
+ _excluded4 = ["formMode"],
13
+ _excluded5 = ["id", "header", "title", "readOnly", "extraConfig", "renderTopLeft"],
14
+ _excluded6 = ["ldId", "initData", "overModel"];
13
15
  import React, { useContext, useRef, forwardRef, Fragment, useImperativeHandle, useState } from 'react';
14
- import { connect, getDvaApp, useRouteMatch } from 'umi';
16
+ import { connect, getDvaApp, useRouteMatch, useModel } from 'umi';
15
17
  import PropTypes from 'prop-types';
16
18
  import { useCreation, useMemoizedFn, useAsyncEffect } from 'ahooks';
17
19
  import { BasicDivider } from 'luck-design';
@@ -27,6 +29,7 @@ import { onBatchSubmitAction } from '../../helper/action';
27
29
  import { isArray, sortBy, mapValues } from 'lodash';
28
30
  import { BpmButton } from '@luck-design-biz/base/bpm';
29
31
  import { readBehaviorCall } from '../../services';
32
+ import { parse, stringify } from 'querystring';
30
33
 
31
34
  // 组件
32
35
  var LdFormList = function LdFormList(_ref) {
@@ -56,6 +59,15 @@ var LdFormList = function LdFormList(_ref) {
56
59
  _ref$bpmButtonProps = _ref.bpmButtonProps,
57
60
  bpmButtonProps = _ref$bpmButtonProps === void 0 ? {} : _ref$bpmButtonProps,
58
61
  props = _objectWithoutProperties(_ref, _excluded);
62
+ var _useModel = useModel('@@qiankunStateFromMaster', function (qiankunStateFromMaster) {
63
+ return {
64
+ peek: qiankunStateFromMaster === null || qiankunStateFromMaster === void 0 ? void 0 : qiankunStateFromMaster.peekFloatLayer,
65
+ refresh: qiankunStateFromMaster === null || qiankunStateFromMaster === void 0 ? void 0 : qiankunStateFromMaster.refreshFloatLayer
66
+ };
67
+ }),
68
+ peek = _useModel.peek,
69
+ refresh = _useModel.refresh;
70
+ var PRIMARY = window.appConfig.constraintKeys.PRIMARY;
59
71
  var _useState = useState(false),
60
72
  _useState2 = _slicedToArray(_useState, 2),
61
73
  submitLoading = _useState2[0],
@@ -118,16 +130,16 @@ var LdFormList = function LdFormList(_ref) {
118
130
  }, bpmButtonProps)));
119
131
  };
120
132
  useAsyncEffect( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
121
- var _props$ticketData, _params, response, _yield$readBehaviorCa, code, data, _props$ticketData2, _props$ticketData3, bpmInfoObj, tempObj;
133
+ var _props$formData$mainF, _params, response, _yield$readBehaviorCa, code, data, _props$formData$mainF2, _props$formData$mainF3, bpmInfoObj, tempObj;
122
134
  return _regeneratorRuntime().wrap(function _callee$(_context) {
123
135
  while (1) switch (_context.prev = _context.next) {
124
136
  case 0:
125
- if (!(formMode !== 'add')) {
137
+ if (!(formMode !== 'add' && props.formData[mainFormLdId])) {
126
138
  _context.next = 12;
127
139
  break;
128
140
  }
129
141
  _params = {
130
- indocno: (_props$ticketData = props.ticketData) === null || _props$ticketData === void 0 ? void 0 : _props$ticketData.indocno,
142
+ indocno: (_props$formData$mainF = props.formData[mainFormLdId]) === null || _props$formData$mainF === void 0 ? void 0 : _props$formData$mainF[PRIMARY],
131
143
  moduleCode: rest.moduleCode,
132
144
  datasetCode: mainDataSetKey,
133
145
  mainDataSetKey: mainDataSetKey,
@@ -155,10 +167,10 @@ var LdFormList = function LdFormList(_ref) {
155
167
  bizKey: bpmInfoObj.bizKey,
156
168
  sname: bpmInfoObj.name,
157
169
  modelKey: bpmInfoObj.bpmKey,
158
- idocid: (_props$ticketData2 = props.ticketData) === null || _props$ticketData2 === void 0 ? void 0 : _props$ticketData2.indocno,
170
+ idocid: (_props$formData$mainF2 = props.formData[mainFormLdId]) === null || _props$formData$mainF2 === void 0 ? void 0 : _props$formData$mainF2[PRIMARY],
159
171
  moduleCode: rest.moduleCode,
160
172
  datasetCode: mainDataSetKey,
161
- indocno: (_props$ticketData3 = props.ticketData) === null || _props$ticketData3 === void 0 ? void 0 : _props$ticketData3.indocno
173
+ indocno: (_props$formData$mainF3 = props.formData[mainFormLdId]) === null || _props$formData$mainF3 === void 0 ? void 0 : _props$formData$mainF3[PRIMARY]
162
174
  });
163
175
  setBizData(tempObj);
164
176
  setIsCustomRenderAffixRight(true);
@@ -168,7 +180,7 @@ var LdFormList = function LdFormList(_ref) {
168
180
  return _context.stop();
169
181
  }
170
182
  }, _callee);
171
- })), [props.formData]);
183
+ })), [props.formData, formMode]);
172
184
  var handleBatchSubmit = function handleBatchSubmit(values, action) {
173
185
  var _ref7 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},
174
186
  formCode = _ref7.formCode,
@@ -189,15 +201,45 @@ var LdFormList = function LdFormList(_ref) {
189
201
  mainDataSetKey: mainDataSetKey
190
202
  }, function (success, mainKey, res) {
191
203
  setSubmitLoading(false);
204
+ var mainFormData = res.detail[res.list[0]];
192
205
  if (success) {
193
206
  if (afterSubmit) {
194
207
  afterSubmit(success, mainKey, res);
208
+ // 刷新浮层,解决新增后,操作日志获取不到uid的问题
209
+ if (refresh && peek) {
210
+ var _peek = peek(),
211
+ href = _peek.href;
212
+ var _href$split = href.split('?'),
213
+ _href$split2 = _slicedToArray(_href$split, 2),
214
+ path = _href$split2[0],
215
+ argsStr = _href$split2[1];
216
+ var _parse = parse(argsStr),
217
+ _formMode = _parse.formMode,
218
+ _props2 = _objectWithoutProperties(_parse, _excluded3);
219
+ refresh({
220
+ href: "".concat(path, "?").concat(PRIMARY, "=").concat(mainFormData[PRIMARY], "&").concat(stringify(_objectSpread({}, _props2)))
221
+ });
222
+ }
195
223
  } else {
196
224
  var _formListRef$current;
197
225
  props.parentModelName && ((_formListRef$current = formListRef.current) === null || _formListRef$current === void 0 ? void 0 : _formListRef$current.doParentsQuery());
198
- var mainFormData = res.detail[res.list[0]];
199
226
  formListRef.current.onQuery(null, _defineProperty({}, mainFormLdId, mainFormData), function () {
200
- return formListRef.current.setFormMode('info');
227
+ formListRef.current.setFormMode('info');
228
+ // 刷新浮层,解决新增后,操作日志获取不到uid的问题
229
+ if (refresh && peek) {
230
+ var _peek2 = peek(),
231
+ _href = _peek2.href;
232
+ var _href$split3 = _href.split('?'),
233
+ _href$split4 = _slicedToArray(_href$split3, 2),
234
+ _path = _href$split4[0],
235
+ _argsStr = _href$split4[1];
236
+ var _parse2 = parse(_argsStr),
237
+ _formMode2 = _parse2.formMode,
238
+ _props3 = _objectWithoutProperties(_parse2, _excluded4);
239
+ refresh({
240
+ href: "".concat(_path, "?formMode=info&").concat(PRIMARY, "=").concat(mainFormData[PRIMARY], "&").concat(stringify(_objectSpread({}, _props3)))
241
+ });
242
+ }
201
243
  });
202
244
  }
203
245
  }
@@ -264,7 +306,7 @@ var LdFormList = function LdFormList(_ref) {
264
306
  _renderTopLeft = _ref8$renderTopLeft === void 0 ? function () {
265
307
  return /*#__PURE__*/React.createElement(React.Fragment, null);
266
308
  } : _ref8$renderTopLeft,
267
- _props = _objectWithoutProperties(_ref8, _excluded3);
309
+ _props = _objectWithoutProperties(_ref8, _excluded5);
268
310
  var _props$type = _props.type,
269
311
  type = _props$type === void 0 ? 'auto' : _props$type;
270
312
  var renderForm = type === 'auto' ? buildLdAutoForm : buildLdGridForm;
@@ -341,7 +383,7 @@ var Index = function Index(_ref10) {
341
383
  var namespace = _ref10.ldId,
342
384
  initData = _ref10.initData,
343
385
  overModel = _ref10.overModel,
344
- props = _objectWithoutProperties(_ref10, _excluded4);
386
+ props = _objectWithoutProperties(_ref10, _excluded6);
345
387
  var match = useRouteMatch();
346
388
  var Component = useCreation(function () {
347
389
  var _getDvaApp3, _getDvaApp4, _match$params;
@@ -2,7 +2,7 @@ import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
3
3
  import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
4
4
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
5
- var _excluded = ["columns", "resources", "actions", "doAction", "afterInit", "namespace", "wrapperRef", "list", "detail", "params", "filters", "loading", "unclosableSet", "onQuery", "doQuery", "pageno", "pagesize", "totalCount", "columnsRewrite", "columnsReset", "batchOperations", "formatDataSource", "resultSet", "actionsColumn", "readFilter", "isFlow", "isTreeGrid"],
5
+ var _excluded = ["columns", "resources", "actions", "doAction", "afterInit", "namespace", "wrapperRef", "list", "detail", "params", "filters", "loading", "unclosableSet", "onQuery", "doQuery", "pageno", "pagesize", "totalCount", "columnsRewrite", "columnsReset", "batchOperations", "formatDataSource", "resultSet", "actionsColumn", "readFilter", "isFlow", "isTreeGrid", "writable"],
6
6
  _excluded2 = ["ldId", "moduleCode", "suppressInit", "overModel", "afterQuery", "isTreeGrid"];
7
7
  import React, { forwardRef, useImperativeHandle, useRef, useEffect } from 'react';
8
8
  import { getDvaApp } from 'umi';
@@ -42,6 +42,7 @@ var LdGrid = function LdGrid(_ref) {
42
42
  readFilter = _ref.readFilter,
43
43
  isFlow = _ref.isFlow,
44
44
  isTreeGrid = _ref.isTreeGrid,
45
+ writable = _ref.writable,
45
46
  props = _objectWithoutProperties(_ref, _excluded);
46
47
  var gridRef = useRef(null);
47
48
  var treeConfig = useCreation(function () {
@@ -99,7 +100,7 @@ var LdGrid = function LdGrid(_ref) {
99
100
  result.push(customColumns[field]);
100
101
  } else if (defaultColumns[field].isShowInGrid)
101
102
  // 数据集中存在的字段和自定义结合展示
102
- result.push(getGridColumn(defaultColumns[field], customColumns[field] || {}, isTreeGrid));
103
+ result.push(getGridColumn(defaultColumns[field], customColumns[field] || {}, isTreeGrid, writable));
103
104
  }, []);
104
105
  }, [columns, columnsRewrite, columnsReset]);
105
106
  var _actionsColumn = useCreation(function () {
@@ -90,7 +90,7 @@ var LdTree = function LdTree(_ref) {
90
90
  defaultExpandedKeys: defaultExpanded
91
91
  });
92
92
  }
93
- var treeData = dataToTreeFormat ? dataToTreeFormat(data) : dataToTree(data, null, rowKey, window.appConfig.constraintKeys.PARENT);
93
+ var treeData = dataToTreeFormat ? dataToTreeFormat(data) : dataToTree(data, null, window.appConfig.constraintKeys.PRIMARY, window.appConfig.constraintKeys.PARENT);
94
94
  setDataSource(treeData);
95
95
  afterInit && afterInit(treeData);
96
96
  }
package/es/utils/grid.js CHANGED
@@ -1,3 +1,4 @@
1
+ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
1
2
  import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
2
3
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
3
4
  var _excluded = ["comName", "property"],
@@ -5,13 +6,14 @@ var _excluded = ["comName", "property"],
5
6
  _excluded3 = ["filter", "filterParams"];
6
7
  import React from "react";
7
8
  import { getDvaApp } from 'umi';
8
- import { merge, isNil, isArray, includes } from 'lodash';
9
+ import { merge, isNil, isArray, includes, capitalize } from 'lodash';
9
10
  import { Switch, Tag } from 'antd';
10
11
  import moment from 'moment';
11
12
  import UploadGridCell from '../upload/GridCell';
12
13
  import { formatMessage } from '@luck-design-biz/base/utils';
13
14
  import api from '@/services/ApiConfig';
14
- import { defaultComName, translator, formatCustomProps } from '../helper/form';
15
+ import { defaultComName, translator, formatCustomProps, splitStrToObj } from '../helper/form';
16
+ import * as formItemUtils from '../helper/FromItems';
15
17
 
16
18
  // const { dispatch } = getDvaApp()?._store;
17
19
 
@@ -98,6 +100,7 @@ export var getGridColumn = function getGridColumn() {
98
100
  props = _objectWithoutProperties(_ref, _excluded);
99
101
  var customProps = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
100
102
  var isTreeGrid = arguments.length > 2 ? arguments[2] : undefined;
103
+ var writable = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
101
104
  var _props$isVirtual = props.isVirtual,
102
105
  isVirtual = _props$isVirtual === void 0 ? false : _props$isVirtual;
103
106
  var _translator = translator(props),
@@ -219,5 +222,63 @@ export var getGridColumn = function getGridColumn() {
219
222
  data.filter = 'text';
220
223
  }
221
224
  } else data.filter = false;
225
+ if (writable && props.isShowInForm && !props.isReadOnly) {
226
+ data.editable = props.isNotNull ? {
227
+ required: true
228
+ } : true;
229
+ if (_props.cellWriter) data.cellWriter = _props.cellWriter;else {
230
+ var formItemCom = capitalize(comName || defaultComName[property]) === 'Textarea' ? 'String' : capitalize(comName || defaultComName[property]);
231
+ var getFormItemUtils = formItemUtils["get".concat(formItemCom, "Item")];
232
+ var formItemProps = {};
233
+ switch (formItemCom) {
234
+ case 'date':
235
+ formItemProps = {
236
+ dataFormat: function dataFormat(value) {
237
+ var _ref2;
238
+ return _ref2 = {}, _defineProperty(_ref2, name, value ? moment(value).valueOf() : undefined), _defineProperty(_ref2, "".concat(name, "_virtual"), value ? moment(value).format('YYYY-MM-DD HH:mm:ss') : undefined), _ref2;
239
+ },
240
+ inputFormat: function inputFormat(value, record, params) {
241
+ return moment(record["".concat(name, "_virtual")], 'YYYY-MM-DD HH:mm:ss');
242
+ }
243
+ };
244
+ break;
245
+ case 'user':
246
+ case 'select':
247
+ case 'group':
248
+ if (translateProps.multiple) {
249
+ formItemProps = {
250
+ dataFormat: function dataFormat(value) {
251
+ var _ref3;
252
+ return _ref3 = {}, _defineProperty(_ref3, name, value.map(function (v) {
253
+ return v.value || v.key;
254
+ }).join(',')), _defineProperty(_ref3, "".concat(name, "_virtual"), value.map(function (v) {
255
+ return v.label;
256
+ }).join(',')), _ref3;
257
+ },
258
+ inputFormat: function inputFormat(value, record, params) {
259
+ return _defineProperty({}, name, splitStrToObj(value, record["".concat(name, "_virtual")]));
260
+ }
261
+ };
262
+ } else {
263
+ formItemProps = {
264
+ dataFormat: function dataFormat(value) {
265
+ var _ref5;
266
+ return _ref5 = {}, _defineProperty(_ref5, name, value ? value.value || value.key : undefined), _defineProperty(_ref5, "".concat(name, "_virtual"), value ? value.label : undefined), _ref5;
267
+ },
268
+ inputFormat: function inputFormat(value, record, params) {
269
+ return _defineProperty({}, name, !isNil(value) ? {
270
+ key: value,
271
+ value: value,
272
+ label: record["".concat(name, "_virtual")]
273
+ } : undefined);
274
+ }
275
+ };
276
+ }
277
+ break;
278
+ }
279
+ ;
280
+ data.cellWriter = getFormItemUtils(_objectSpread(_objectSpread({}, _props), formItemProps));
281
+ }
282
+ }
222
283
  return data;
223
284
  };
@@ -31,10 +31,13 @@ var _action = require("../../helper/action");
31
31
  var _lodash = require("lodash");
32
32
  var _bpm = require("@luck-design-biz/base/bpm");
33
33
  var _services = require("../../services");
34
+ var _querystring = require("querystring");
34
35
  var _excluded = ["namespace", "formState", "formMode", "formOperates", "loading", "wrapperRef", "readOnly", "mainFormLdId", "renderFormList", "renderAffixLeft", "renderAffixRight", "beforeSubmit", "showSaveBtn", "saveBtnTitle", "affixLayout", "onValueChange", "afterSubmit", "renderFormExtra", "bpmButtonProps"],
35
36
  _excluded2 = ["dataSets", "doAction", "resources"],
36
- _excluded3 = ["id", "header", "title", "readOnly", "extraConfig", "renderTopLeft"],
37
- _excluded4 = ["ldId", "initData", "overModel"];
37
+ _excluded3 = ["formMode"],
38
+ _excluded4 = ["formMode"],
39
+ _excluded5 = ["id", "header", "title", "readOnly", "extraConfig", "renderTopLeft"],
40
+ _excluded6 = ["ldId", "initData", "overModel"];
38
41
  // 组件
39
42
  var LdFormList = function LdFormList(_ref) {
40
43
  var _formList$find;
@@ -63,6 +66,15 @@ var LdFormList = function LdFormList(_ref) {
63
66
  _ref$bpmButtonProps = _ref.bpmButtonProps,
64
67
  bpmButtonProps = _ref$bpmButtonProps === void 0 ? {} : _ref$bpmButtonProps,
65
68
  props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
69
+ var _useModel = (0, _umi.useModel)('@@qiankunStateFromMaster', function (qiankunStateFromMaster) {
70
+ return {
71
+ peek: qiankunStateFromMaster === null || qiankunStateFromMaster === void 0 ? void 0 : qiankunStateFromMaster.peekFloatLayer,
72
+ refresh: qiankunStateFromMaster === null || qiankunStateFromMaster === void 0 ? void 0 : qiankunStateFromMaster.refreshFloatLayer
73
+ };
74
+ }),
75
+ peek = _useModel.peek,
76
+ refresh = _useModel.refresh;
77
+ var PRIMARY = window.appConfig.constraintKeys.PRIMARY;
66
78
  var _useState = (0, _react.useState)(false),
67
79
  _useState2 = (0, _slicedToArray2.default)(_useState, 2),
68
80
  submitLoading = _useState2[0],
@@ -125,16 +137,16 @@ var LdFormList = function LdFormList(_ref) {
125
137
  }, bpmButtonProps)));
126
138
  };
127
139
  (0, _ahooks.useAsyncEffect)( /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee() {
128
- var _props$ticketData, _params, response, _yield$readBehaviorCa, code, data, _props$ticketData2, _props$ticketData3, bpmInfoObj, tempObj;
140
+ var _props$formData$mainF, _params, response, _yield$readBehaviorCa, code, data, _props$formData$mainF2, _props$formData$mainF3, bpmInfoObj, tempObj;
129
141
  return (0, _regeneratorRuntime2.default)().wrap(function _callee$(_context) {
130
142
  while (1) switch (_context.prev = _context.next) {
131
143
  case 0:
132
- if (!(formMode !== 'add')) {
144
+ if (!(formMode !== 'add' && props.formData[mainFormLdId])) {
133
145
  _context.next = 12;
134
146
  break;
135
147
  }
136
148
  _params = {
137
- indocno: (_props$ticketData = props.ticketData) === null || _props$ticketData === void 0 ? void 0 : _props$ticketData.indocno,
149
+ indocno: (_props$formData$mainF = props.formData[mainFormLdId]) === null || _props$formData$mainF === void 0 ? void 0 : _props$formData$mainF[PRIMARY],
138
150
  moduleCode: rest.moduleCode,
139
151
  datasetCode: mainDataSetKey,
140
152
  mainDataSetKey: mainDataSetKey,
@@ -162,10 +174,10 @@ var LdFormList = function LdFormList(_ref) {
162
174
  bizKey: bpmInfoObj.bizKey,
163
175
  sname: bpmInfoObj.name,
164
176
  modelKey: bpmInfoObj.bpmKey,
165
- idocid: (_props$ticketData2 = props.ticketData) === null || _props$ticketData2 === void 0 ? void 0 : _props$ticketData2.indocno,
177
+ idocid: (_props$formData$mainF2 = props.formData[mainFormLdId]) === null || _props$formData$mainF2 === void 0 ? void 0 : _props$formData$mainF2[PRIMARY],
166
178
  moduleCode: rest.moduleCode,
167
179
  datasetCode: mainDataSetKey,
168
- indocno: (_props$ticketData3 = props.ticketData) === null || _props$ticketData3 === void 0 ? void 0 : _props$ticketData3.indocno
180
+ indocno: (_props$formData$mainF3 = props.formData[mainFormLdId]) === null || _props$formData$mainF3 === void 0 ? void 0 : _props$formData$mainF3[PRIMARY]
169
181
  });
170
182
  setBizData(tempObj);
171
183
  setIsCustomRenderAffixRight(true);
@@ -175,7 +187,7 @@ var LdFormList = function LdFormList(_ref) {
175
187
  return _context.stop();
176
188
  }
177
189
  }, _callee);
178
- })), [props.formData]);
190
+ })), [props.formData, formMode]);
179
191
  var handleBatchSubmit = function handleBatchSubmit(values, action) {
180
192
  var _ref7 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},
181
193
  formCode = _ref7.formCode,
@@ -196,15 +208,45 @@ var LdFormList = function LdFormList(_ref) {
196
208
  mainDataSetKey: mainDataSetKey
197
209
  }, function (success, mainKey, res) {
198
210
  setSubmitLoading(false);
211
+ var mainFormData = res.detail[res.list[0]];
199
212
  if (success) {
200
213
  if (afterSubmit) {
201
214
  afterSubmit(success, mainKey, res);
215
+ // 刷新浮层,解决新增后,操作日志获取不到uid的问题
216
+ if (refresh && peek) {
217
+ var _peek = peek(),
218
+ href = _peek.href;
219
+ var _href$split = href.split('?'),
220
+ _href$split2 = (0, _slicedToArray2.default)(_href$split, 2),
221
+ path = _href$split2[0],
222
+ argsStr = _href$split2[1];
223
+ var _parse = (0, _querystring.parse)(argsStr),
224
+ _formMode = _parse.formMode,
225
+ _props2 = (0, _objectWithoutProperties2.default)(_parse, _excluded3);
226
+ refresh({
227
+ href: "".concat(path, "?").concat(PRIMARY, "=").concat(mainFormData[PRIMARY], "&").concat((0, _querystring.stringify)((0, _objectSpread2.default)({}, _props2)))
228
+ });
229
+ }
202
230
  } else {
203
231
  var _formListRef$current;
204
232
  props.parentModelName && ((_formListRef$current = formListRef.current) === null || _formListRef$current === void 0 ? void 0 : _formListRef$current.doParentsQuery());
205
- var mainFormData = res.detail[res.list[0]];
206
233
  formListRef.current.onQuery(null, (0, _defineProperty2.default)({}, mainFormLdId, mainFormData), function () {
207
- return formListRef.current.setFormMode('info');
234
+ formListRef.current.setFormMode('info');
235
+ // 刷新浮层,解决新增后,操作日志获取不到uid的问题
236
+ if (refresh && peek) {
237
+ var _peek2 = peek(),
238
+ _href = _peek2.href;
239
+ var _href$split3 = _href.split('?'),
240
+ _href$split4 = (0, _slicedToArray2.default)(_href$split3, 2),
241
+ _path = _href$split4[0],
242
+ _argsStr = _href$split4[1];
243
+ var _parse2 = (0, _querystring.parse)(_argsStr),
244
+ _formMode2 = _parse2.formMode,
245
+ _props3 = (0, _objectWithoutProperties2.default)(_parse2, _excluded4);
246
+ refresh({
247
+ href: "".concat(_path, "?formMode=info&").concat(PRIMARY, "=").concat(mainFormData[PRIMARY], "&").concat((0, _querystring.stringify)((0, _objectSpread2.default)({}, _props3)))
248
+ });
249
+ }
208
250
  });
209
251
  }
210
252
  }
@@ -271,7 +313,7 @@ var LdFormList = function LdFormList(_ref) {
271
313
  _renderTopLeft = _ref8$renderTopLeft === void 0 ? function () {
272
314
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null);
273
315
  } : _ref8$renderTopLeft,
274
- _props = (0, _objectWithoutProperties2.default)(_ref8, _excluded3);
316
+ _props = (0, _objectWithoutProperties2.default)(_ref8, _excluded5);
275
317
  var _props$type = _props.type,
276
318
  type = _props$type === void 0 ? 'auto' : _props$type;
277
319
  var renderForm = type === 'auto' ? _LdAutoForm.default : _LdGridForm.default;
@@ -348,7 +390,7 @@ var Index = function Index(_ref10) {
348
390
  var namespace = _ref10.ldId,
349
391
  initData = _ref10.initData,
350
392
  overModel = _ref10.overModel,
351
- props = (0, _objectWithoutProperties2.default)(_ref10, _excluded4);
393
+ props = (0, _objectWithoutProperties2.default)(_ref10, _excluded6);
352
394
  var match = (0, _umi.useRouteMatch)();
353
395
  var Component = (0, _ahooks.useCreation)(function () {
354
396
  var _getDvaApp3, _getDvaApp4, _match$params;
@@ -20,7 +20,7 @@ var _List = require("@luck-design-biz/base/List");
20
20
  var _ldBuilder = _interopRequireDefault(require("../../helper/ldBuilder"));
21
21
  var _utils = require("../../utils");
22
22
  var _model = _interopRequireDefault(require("./model"));
23
- var _excluded = ["columns", "resources", "actions", "doAction", "afterInit", "namespace", "wrapperRef", "list", "detail", "params", "filters", "loading", "unclosableSet", "onQuery", "doQuery", "pageno", "pagesize", "totalCount", "columnsRewrite", "columnsReset", "batchOperations", "formatDataSource", "resultSet", "actionsColumn", "readFilter", "isFlow", "isTreeGrid"],
23
+ var _excluded = ["columns", "resources", "actions", "doAction", "afterInit", "namespace", "wrapperRef", "list", "detail", "params", "filters", "loading", "unclosableSet", "onQuery", "doQuery", "pageno", "pagesize", "totalCount", "columnsRewrite", "columnsReset", "batchOperations", "formatDataSource", "resultSet", "actionsColumn", "readFilter", "isFlow", "isTreeGrid", "writable"],
24
24
  _excluded2 = ["ldId", "moduleCode", "suppressInit", "overModel", "afterQuery", "isTreeGrid"];
25
25
  var LdGrid = function LdGrid(_ref) {
26
26
  var columns = _ref.columns,
@@ -50,6 +50,7 @@ var LdGrid = function LdGrid(_ref) {
50
50
  readFilter = _ref.readFilter,
51
51
  isFlow = _ref.isFlow,
52
52
  isTreeGrid = _ref.isTreeGrid,
53
+ writable = _ref.writable,
53
54
  props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
54
55
  var gridRef = (0, _react.useRef)(null);
55
56
  var treeConfig = (0, _ahooks.useCreation)(function () {
@@ -107,7 +108,7 @@ var LdGrid = function LdGrid(_ref) {
107
108
  result.push(customColumns[field]);
108
109
  } else if (defaultColumns[field].isShowInGrid)
109
110
  // 数据集中存在的字段和自定义结合展示
110
- result.push((0, _utils.getGridColumn)(defaultColumns[field], customColumns[field] || {}, isTreeGrid));
111
+ result.push((0, _utils.getGridColumn)(defaultColumns[field], customColumns[field] || {}, isTreeGrid, writable));
111
112
  }, []);
112
113
  }, [columns, columnsRewrite, columnsReset]);
113
114
  var _actionsColumn = (0, _ahooks.useCreation)(function () {
@@ -98,7 +98,7 @@ var LdTree = function LdTree(_ref) {
98
98
  defaultExpandedKeys: defaultExpanded
99
99
  });
100
100
  }
101
- var treeData = dataToTreeFormat ? dataToTreeFormat(data) : (0, _utils.dataToTree)(data, null, rowKey, window.appConfig.constraintKeys.PARENT);
101
+ var treeData = dataToTreeFormat ? dataToTreeFormat(data) : (0, _utils.dataToTree)(data, null, window.appConfig.constraintKeys.PRIMARY, window.appConfig.constraintKeys.PARENT);
102
102
  setDataSource(treeData);
103
103
  afterInit && afterInit(treeData);
104
104
  }
package/lib/utils/grid.js CHANGED
@@ -1,11 +1,13 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
5
  Object.defineProperty(exports, "__esModule", {
5
6
  value: true
6
7
  });
7
8
  exports.getColumnRender = getColumnRender;
8
9
  exports.getGridColumn = void 0;
10
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
11
  var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
10
12
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
11
13
  var _react = _interopRequireDefault(require("react"));
@@ -17,6 +19,7 @@ var _GridCell = _interopRequireDefault(require("../upload/GridCell"));
17
19
  var _utils = require("@luck-design-biz/base/utils");
18
20
  var _ApiConfig = _interopRequireDefault(require("@/services/ApiConfig"));
19
21
  var _form = require("../helper/form");
22
+ var formItemUtils = _interopRequireWildcard(require("../helper/FromItems"));
20
23
  var _excluded = ["comName", "property"],
21
24
  _excluded2 = ["name"],
22
25
  _excluded3 = ["filter", "filterParams"];
@@ -105,6 +108,7 @@ var getGridColumn = function getGridColumn() {
105
108
  props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
106
109
  var customProps = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
107
110
  var isTreeGrid = arguments.length > 2 ? arguments[2] : undefined;
111
+ var writable = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
108
112
  var _props$isVirtual = props.isVirtual,
109
113
  isVirtual = _props$isVirtual === void 0 ? false : _props$isVirtual;
110
114
  var _translator = (0, _form.translator)(props),
@@ -226,6 +230,64 @@ var getGridColumn = function getGridColumn() {
226
230
  data.filter = 'text';
227
231
  }
228
232
  } else data.filter = false;
233
+ if (writable && props.isShowInForm && !props.isReadOnly) {
234
+ data.editable = props.isNotNull ? {
235
+ required: true
236
+ } : true;
237
+ if (_props.cellWriter) data.cellWriter = _props.cellWriter;else {
238
+ var formItemCom = (0, _lodash.capitalize)(comName || _form.defaultComName[property]) === 'Textarea' ? 'String' : (0, _lodash.capitalize)(comName || _form.defaultComName[property]);
239
+ var getFormItemUtils = formItemUtils["get".concat(formItemCom, "Item")];
240
+ var formItemProps = {};
241
+ switch (formItemCom) {
242
+ case 'date':
243
+ formItemProps = {
244
+ dataFormat: function dataFormat(value) {
245
+ var _ref2;
246
+ return _ref2 = {}, (0, _defineProperty2.default)(_ref2, name, value ? (0, _moment.default)(value).valueOf() : undefined), (0, _defineProperty2.default)(_ref2, "".concat(name, "_virtual"), value ? (0, _moment.default)(value).format('YYYY-MM-DD HH:mm:ss') : undefined), _ref2;
247
+ },
248
+ inputFormat: function inputFormat(value, record, params) {
249
+ return (0, _moment.default)(record["".concat(name, "_virtual")], 'YYYY-MM-DD HH:mm:ss');
250
+ }
251
+ };
252
+ break;
253
+ case 'user':
254
+ case 'select':
255
+ case 'group':
256
+ if (translateProps.multiple) {
257
+ formItemProps = {
258
+ dataFormat: function dataFormat(value) {
259
+ var _ref3;
260
+ return _ref3 = {}, (0, _defineProperty2.default)(_ref3, name, value.map(function (v) {
261
+ return v.value || v.key;
262
+ }).join(',')), (0, _defineProperty2.default)(_ref3, "".concat(name, "_virtual"), value.map(function (v) {
263
+ return v.label;
264
+ }).join(',')), _ref3;
265
+ },
266
+ inputFormat: function inputFormat(value, record, params) {
267
+ return (0, _defineProperty2.default)({}, name, (0, _form.splitStrToObj)(value, record["".concat(name, "_virtual")]));
268
+ }
269
+ };
270
+ } else {
271
+ formItemProps = {
272
+ dataFormat: function dataFormat(value) {
273
+ var _ref5;
274
+ return _ref5 = {}, (0, _defineProperty2.default)(_ref5, name, value ? value.value || value.key : undefined), (0, _defineProperty2.default)(_ref5, "".concat(name, "_virtual"), value ? value.label : undefined), _ref5;
275
+ },
276
+ inputFormat: function inputFormat(value, record, params) {
277
+ return (0, _defineProperty2.default)({}, name, !(0, _lodash.isNil)(value) ? {
278
+ key: value,
279
+ value: value,
280
+ label: record["".concat(name, "_virtual")]
281
+ } : undefined);
282
+ }
283
+ };
284
+ }
285
+ break;
286
+ }
287
+ ;
288
+ data.cellWriter = getFormItemUtils((0, _objectSpread2.default)((0, _objectSpread2.default)({}, _props), formItemProps));
289
+ }
290
+ }
229
291
  return data;
230
292
  };
231
293
  exports.getGridColumn = getGridColumn;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@luck-design-biz/luckda",
3
- "version": "0.0.17",
3
+ "version": "0.0.18-2",
4
4
  "scripts": {
5
5
  "start": "dumi dev",
6
6
  "docs:build": "dumi build",