@luck-design-biz/luckda 0.0.14 → 0.0.15-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.
@@ -9,7 +9,6 @@ import { AutoForm } from '@luck-design-biz/base/FormList';
9
9
  import ldBuilder from '../../helper/ldBuilder';
10
10
  import { getFormItem, formItemDataFormat, dataFormat, behaviorCall } from '../../utils';
11
11
  import { LuckDaContext } from '../Builder';
12
- var defaultOpe = ['read', 'add', 'update', 'delete'];
13
12
  var buildLdAutoForm = function buildLdAutoForm(_ref) {
14
13
  var _ref$columns = _ref.columns,
15
14
  columns = _ref$columns === void 0 ? [] : _ref$columns,
@@ -133,8 +132,7 @@ var buildLdAutoForm = function buildLdAutoForm(_ref) {
133
132
  })
134
133
  // onAdd={onOperate(onAdd, 'add')}
135
134
  ,
136
- onUpdate: onOperate(onUpdate, 'update'),
137
- operates: defaultOpe
135
+ onUpdate: onOperate(onUpdate, 'update')
138
136
  }, formConfig), basicItems);
139
137
  };
140
138
  export default ldBuilder(buildLdAutoForm);
@@ -1,15 +1,18 @@
1
+ import _regeneratorRuntime from "@babel/runtime/helpers/esm/regeneratorRuntime";
2
+ import _asyncToGenerator from "@babel/runtime/helpers/esm/asyncToGenerator";
1
3
  import _extends from "@babel/runtime/helpers/esm/extends";
2
4
  import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
3
5
  import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
4
6
  import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
5
7
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
6
- var _excluded = ["namespace", "formState", "formMode", "loading", "wrapperRef", "readOnly", "mainFormLdId", "renderFormList", "renderAffixLeft", "renderAffixRight", "beforeSubmit", "showSaveBtn", "saveBtnTitle", "affixLayout", "onValueChange", "afterSubmit", "renderFormExtra"],
7
- _excluded2 = ["id", "header", "title", "readOnly", "extraConfig", "renderTopLeft"],
8
- _excluded3 = ["ldId", "initData", "overModel"];
8
+ var _excluded = ["namespace", "formState", "formMode", "formOperates", "loading", "wrapperRef", "readOnly", "mainFormLdId", "renderFormList", "renderAffixLeft", "renderAffixRight", "beforeSubmit", "showSaveBtn", "saveBtnTitle", "affixLayout", "onValueChange", "afterSubmit", "renderFormExtra"],
9
+ _excluded2 = ["dataSets", "doAction", "resources"],
10
+ _excluded3 = ["id", "header", "title", "readOnly", "extraConfig", "renderTopLeft"],
11
+ _excluded4 = ["ldId", "initData", "overModel"];
9
12
  import React, { useContext, useRef, forwardRef, Fragment, useImperativeHandle, useState } from 'react';
10
13
  import { connect, getDvaApp, useRouteMatch } from 'umi';
11
14
  import PropTypes from 'prop-types';
12
- import { useCreation, useMemoizedFn } from 'ahooks';
15
+ import { useCreation, useMemoizedFn, useAsyncEffect } from 'ahooks';
13
16
  import { BasicDivider } from 'luck-design';
14
17
  import { ChildrenUtil } from '@luck-design-biz/base/utils';
15
18
  import { FormList, FormListAffix, FormBtn } from '@luck-design-biz/base/FormList';
@@ -20,6 +23,9 @@ import { LuckDaContext } from '../Builder';
20
23
  import { LuckDaPopContext } from '../LdPop';
21
24
  import createModel from './model';
22
25
  import { onBatchSubmitAction } from '../../helper/action';
26
+ import { isArray, sortBy, mapValues } from 'lodash';
27
+ import { BpmButton } from '@luck-design-biz/base/bpm';
28
+ import { readBehaviorCall } from '../../services';
23
29
 
24
30
  // 组件
25
31
  var LdFormList = function LdFormList(_ref) {
@@ -27,6 +33,7 @@ var LdFormList = function LdFormList(_ref) {
27
33
  var namespace = _ref.namespace,
28
34
  formState = _ref.formState,
29
35
  formMode = _ref.formMode,
36
+ formOperates = _ref.formOperates,
30
37
  loading = _ref.loading,
31
38
  wrapperRef = _ref.wrapperRef,
32
39
  readOnly = _ref.readOnly,
@@ -50,11 +57,21 @@ var LdFormList = function LdFormList(_ref) {
50
57
  _useState2 = _slicedToArray(_useState, 2),
51
58
  submitLoading = _useState2[0],
52
59
  setSubmitLoading = _useState2[1];
60
+ var _useState3 = useState(false),
61
+ _useState4 = _slicedToArray(_useState3, 2),
62
+ isCustomRenderAffixRight = _useState4[0],
63
+ setIsCustomRenderAffixRight = _useState4[1];
64
+ var _useState5 = useState({}),
65
+ _useState6 = _slicedToArray(_useState5, 2),
66
+ bizData = _useState6[0],
67
+ setBizData = _useState6[1];
53
68
  var _ref2 = useContext(LuckDaPopContext) || {},
54
69
  defaultLayout = _ref2.affixLayout;
55
70
  var _ref3 = useContext(LuckDaContext) || {},
56
71
  dataSets = _ref3.dataSets,
57
- doAction = _ref3.doAction;
72
+ doAction = _ref3.doAction,
73
+ resources = _ref3.resources,
74
+ rest = _objectWithoutProperties(_ref3, _excluded2);
58
75
  var formListRef = useRef(null);
59
76
  useImperativeHandle(wrapperRef, function () {
60
77
  return _objectSpread(_objectSpread({}, formListRef.current), {}, {
@@ -89,11 +106,62 @@ var LdFormList = function LdFormList(_ref) {
89
106
  formId: formId
90
107
  }, extraConfig)));
91
108
  });
109
+
110
+ /**zss添加**/
111
+ var renderAffixRightCustom = function renderAffixRightCustom() {
112
+ return /*#__PURE__*/React.createElement(React.Fragment, null, renderAffixRight && renderAffixRight(), /*#__PURE__*/React.createElement(BpmButton, {
113
+ bizData: bizData,
114
+ suppressDept: false
115
+ }));
116
+ };
117
+ useAsyncEffect( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
118
+ var _props$ticketData, _params, _yield$readBehaviorCa, code, data, _props$ticketData2, _props$ticketData3, bpmInfoObj, tempObj;
119
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
120
+ while (1) switch (_context.prev = _context.next) {
121
+ case 0:
122
+ if (!(formMode !== 'add')) {
123
+ _context.next = 8;
124
+ break;
125
+ }
126
+ _params = {
127
+ 'indocno': (_props$ticketData = props.ticketData) === null || _props$ticketData === void 0 ? void 0 : _props$ticketData.indocno,
128
+ moduleCode: rest.moduleCode,
129
+ datasetCode: mainDataSetKey,
130
+ mainDataSetKey: mainDataSetKey,
131
+ behaviorKey: 'readBpm'
132
+ };
133
+ _context.next = 4;
134
+ return readBehaviorCall(_params);
135
+ case 4:
136
+ _yield$readBehaviorCa = _context.sent;
137
+ code = _yield$readBehaviorCa.code;
138
+ data = _yield$readBehaviorCa.data;
139
+ if (code == 1 && data) {
140
+ bpmInfoObj = data.bpmInfo;
141
+ tempObj = {
142
+ bizKey: bpmInfoObj.bizKey,
143
+ sname: bpmInfoObj.name,
144
+ modelKey: bpmInfoObj.bpmKey,
145
+ // basekey : bpmInfoObj.buskey,
146
+ idocid: (_props$ticketData2 = props.ticketData) === null || _props$ticketData2 === void 0 ? void 0 : _props$ticketData2.indocno,
147
+ moduleCode: rest.moduleCode,
148
+ datasetCode: mainDataSetKey,
149
+ indocno: (_props$ticketData3 = props.ticketData) === null || _props$ticketData3 === void 0 ? void 0 : _props$ticketData3.indocno
150
+ };
151
+ setBizData(tempObj);
152
+ setIsCustomRenderAffixRight(true);
153
+ }
154
+ case 8:
155
+ case "end":
156
+ return _context.stop();
157
+ }
158
+ }, _callee);
159
+ })), []);
92
160
  var handleBatchSubmit = function handleBatchSubmit(values, action) {
93
- var _ref6 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},
94
- formCode = _ref6.formCode,
95
- formKey = _ref6.formKey,
96
- formUid = _ref6.formUid;
161
+ var _ref7 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},
162
+ formCode = _ref7.formCode,
163
+ formKey = _ref7.formKey,
164
+ formUid = _ref7.formUid;
97
165
  setSubmitLoading(true);
98
166
  onBatchSubmitAction({
99
167
  values: values,
@@ -150,7 +218,15 @@ var LdFormList = function LdFormList(_ref) {
150
218
  formRef: formListRef,
151
219
  renderExtra: renderExtra
152
220
  });
153
- var formList = renderFormList(formConfig);
221
+ var formList = useCreation(function () {
222
+ var _list = renderFormList(formConfig);
223
+ var extraList = renderFormExtra && isArray(renderFormExtra(formConfig)) ? renderFormExtra(formConfig) : [renderFormExtra(formConfig)];
224
+ var list = _list.concat(extraList);
225
+ return sortBy(list, function (o) {
226
+ var _o$props;
227
+ return o.order || ((_o$props = o.props) === null || _o$props === void 0 ? void 0 : _o$props.order);
228
+ });
229
+ }, [formConfig]);
154
230
  var mainDataSetKey = (_formList$find = formList.find(function (i) {
155
231
  return i.id === mainFormLdId;
156
232
  })) === null || _formList$find === void 0 ? void 0 : _formList$find.dataSetKey;
@@ -158,7 +234,10 @@ var LdFormList = function LdFormList(_ref) {
158
234
  editFlow: true,
159
235
  formState: formState,
160
236
  formMode: formMode,
161
- loading: loading || submitLoading
237
+ loading: loading || submitLoading,
238
+ formOperates: mapValues(formOperates, function () {
239
+ return resources;
240
+ })
162
241
  }, props, {
163
242
  modelName: namespace,
164
243
  ref: formListRef,
@@ -171,68 +250,71 @@ var LdFormList = function LdFormList(_ref) {
171
250
  }), /*#__PURE__*/React.createElement(FormListAffix, {
172
251
  showSaveBtn: !readOnly && showSaveBtn,
173
252
  renderLeft: renderAffixLeft,
174
- renderRight: renderAffixRight,
253
+ renderRight: isCustomRenderAffixRight ? renderAffixRightCustom : renderAffixRight,
175
254
  title: saveBtnTitle,
176
255
  layout: affixLayout || defaultLayout
177
256
  }), formList.map(function (formProps) {
178
- var _ref7 = formProps || {},
179
- ldId = _ref7.id,
180
- _ref7$header = _ref7.header,
181
- header = _ref7$header === void 0 ? 'collapse' : _ref7$header,
182
- title = _ref7.title,
183
- _readOnly = _ref7.readOnly,
184
- _ref7$extraConfig = _ref7.extraConfig,
185
- extraConfig = _ref7$extraConfig === void 0 ? {} : _ref7$extraConfig,
186
- _ref7$renderTopLeft = _ref7.renderTopLeft,
187
- _renderTopLeft = _ref7$renderTopLeft === void 0 ? function () {
188
- return /*#__PURE__*/React.createElement(React.Fragment, null);
189
- } : _ref7$renderTopLeft,
190
- _props = _objectWithoutProperties(_ref7, _excluded2);
191
- var _props$type = _props.type,
192
- type = _props$type === void 0 ? 'auto' : _props$type;
193
- var renderForm = type === 'auto' ? buildLdAutoForm : buildLdGridForm;
194
- if (header === 'collapse' || header === 'collapseFollow') return /*#__PURE__*/React.createElement(Collapse, {
195
- title: title || ldId,
196
- extra: type === 'auto' && renderExtra(ldId, extraConfig, 'graphic'),
197
- id: ldId,
198
- key: ldId,
199
- mode: header === 'collapse' && ldId !== mainFormLdId && 'tab'
200
- }, renderForm(_objectSpread(_objectSpread({}, _props), {}, {
201
- ldId: ldId,
202
- mainFormLdId: mainFormLdId,
203
- mainDataSetKey: mainDataSetKey,
204
- readOnly: readOnly || _readOnly,
205
- onValueChange: handleValueChange,
206
- ticketData: props.ticketData,
207
- renderTopLeft: function renderTopLeft() {
208
- return type === 'auto' ? _renderTopLeft() : [renderExtra(ldId, extraConfig, 'text'), _renderTopLeft()];
209
- }
210
- })));
211
- return /*#__PURE__*/React.createElement(Fragment, {
212
- key: ldId
213
- }, header === 'divider' && /*#__PURE__*/React.createElement(BasicDivider, {
214
- title: title || ldId,
215
- id: ldId
216
- }), type === 'auto' && /*#__PURE__*/React.createElement("div", {
217
- style: {
218
- textAlign: 'right'
219
- }
220
- }, renderExtra(ldId, extraConfig, 'graphic')), renderForm(_objectSpread(_objectSpread({}, _props), {}, {
221
- ldId: ldId,
222
- mainFormLdId: mainFormLdId,
223
- mainDataSetKey: mainDataSetKey,
224
- readOnly: readOnly || _readOnly,
225
- onValueChange: handleValueChange,
226
- ticketData: props.ticketData,
227
- renderTopLeft: function renderTopLeft() {
228
- return type === 'auto' ? _renderTopLeft() : [renderExtra(ldId, extraConfig, 'graphic'), _renderTopLeft()];
229
- }
230
- })));
231
- }), ChildrenUtil.deepMap(renderFormExtra(formConfig), function (child) {
232
- var _child$type;
233
- return /*#__PURE__*/React.cloneElement(child, ((_child$type = child.type) === null || _child$type === void 0 ? void 0 : _child$type.displayName) === 'Collapse' ? {
234
- mode: child.props.mode || 'tab'
235
- } : {});
257
+ if (formProps.dataSetKey) {
258
+ var _ref8 = formProps || {},
259
+ ldId = _ref8.id,
260
+ _ref8$header = _ref8.header,
261
+ header = _ref8$header === void 0 ? 'collapse' : _ref8$header,
262
+ title = _ref8.title,
263
+ _readOnly = _ref8.readOnly,
264
+ _ref8$extraConfig = _ref8.extraConfig,
265
+ extraConfig = _ref8$extraConfig === void 0 ? {} : _ref8$extraConfig,
266
+ _ref8$renderTopLeft = _ref8.renderTopLeft,
267
+ _renderTopLeft = _ref8$renderTopLeft === void 0 ? function () {
268
+ return /*#__PURE__*/React.createElement(React.Fragment, null);
269
+ } : _ref8$renderTopLeft,
270
+ _props = _objectWithoutProperties(_ref8, _excluded3);
271
+ var _props$type = _props.type,
272
+ type = _props$type === void 0 ? 'auto' : _props$type;
273
+ var renderForm = type === 'auto' ? buildLdAutoForm : buildLdGridForm;
274
+ if (header === 'collapse' || header === 'collapseFollow') return /*#__PURE__*/React.createElement(Collapse, {
275
+ title: title || ldId,
276
+ extra: type === 'auto' && renderExtra(ldId, extraConfig, 'graphic'),
277
+ id: ldId,
278
+ key: ldId,
279
+ mode: header === 'collapse' && ldId !== mainFormLdId && 'tab'
280
+ }, renderForm(_objectSpread(_objectSpread({}, _props), {}, {
281
+ ldId: ldId,
282
+ mainFormLdId: mainFormLdId,
283
+ mainDataSetKey: mainDataSetKey,
284
+ readOnly: readOnly || _readOnly,
285
+ onValueChange: handleValueChange,
286
+ ticketData: props.ticketData,
287
+ renderTopLeft: function renderTopLeft() {
288
+ return type === 'auto' ? _renderTopLeft() : [renderExtra(ldId, extraConfig, 'text'), _renderTopLeft()];
289
+ }
290
+ })));
291
+ return /*#__PURE__*/React.createElement(Fragment, {
292
+ key: ldId
293
+ }, header === 'divider' && /*#__PURE__*/React.createElement(BasicDivider, {
294
+ title: title || ldId,
295
+ id: ldId
296
+ }), type === 'auto' && /*#__PURE__*/React.createElement("div", {
297
+ style: {
298
+ textAlign: 'right'
299
+ }
300
+ }, renderExtra(ldId, extraConfig, 'graphic')), renderForm(_objectSpread(_objectSpread({}, _props), {}, {
301
+ ldId: ldId,
302
+ mainFormLdId: mainFormLdId,
303
+ mainDataSetKey: mainDataSetKey,
304
+ readOnly: readOnly || _readOnly,
305
+ onValueChange: handleValueChange,
306
+ ticketData: props.ticketData,
307
+ renderTopLeft: function renderTopLeft() {
308
+ return type === 'auto' ? _renderTopLeft() : [renderExtra(ldId, extraConfig, 'graphic'), _renderTopLeft()];
309
+ }
310
+ })));
311
+ }
312
+ return ChildrenUtil.deepMap(formProps, function (child) {
313
+ var _child$type;
314
+ return /*#__PURE__*/React.cloneElement(child, ((_child$type = child.type) === null || _child$type === void 0 ? void 0 : _child$type.displayName) === 'Collapse' ? _objectSpread(_objectSpread({}, child.props), {}, {
315
+ mode: child.props.mode || 'tab'
316
+ }) : child.props);
317
+ })[0];
236
318
  }));
237
319
  };
238
320
 
@@ -245,9 +327,9 @@ var builder = function builder(WrappedComponent, namespace, initData) {
245
327
  formMode: 'add'
246
328
  }, initData)
247
329
  });
248
- return connect(function (_ref8) {
249
- var modelName = _ref8[namespace],
250
- loading = _ref8.loading;
330
+ return connect(function (_ref9) {
331
+ var modelName = _ref9[namespace],
332
+ loading = _ref9.loading;
251
333
  return {
252
334
  formData: modelName.formData,
253
335
  formOperates: modelName.formOperates,
@@ -258,11 +340,11 @@ var builder = function builder(WrappedComponent, namespace, initData) {
258
340
  };
259
341
  })(WrappedComponent);
260
342
  };
261
- var Index = function Index(_ref9) {
262
- var namespace = _ref9.ldId,
263
- initData = _ref9.initData,
264
- overModel = _ref9.overModel,
265
- props = _objectWithoutProperties(_ref9, _excluded3);
343
+ var Index = function Index(_ref10) {
344
+ var namespace = _ref10.ldId,
345
+ initData = _ref10.initData,
346
+ overModel = _ref10.overModel,
347
+ props = _objectWithoutProperties(_ref10, _excluded4);
266
348
  var match = useRouteMatch();
267
349
  var Component = useCreation(function () {
268
350
  var _getDvaApp3, _getDvaApp4, _match$params;
@@ -12,7 +12,6 @@ import { getFormColumn, formItemDataFormat, dataFormat, behaviorCall } from '../
12
12
  import { defaultComName } from '../../helper/form';
13
13
  import { LuckDaContext } from '../Builder';
14
14
  import styles from './index.less';
15
- var defaultOpe = ['read', 'add', 'update', 'delete'];
16
15
  var buildLdGridForm = function buildLdGridForm(_ref) {
17
16
  var _ref$columns = _ref.columns,
18
17
  columns = _ref$columns === void 0 ? [] : _ref$columns,
@@ -133,7 +132,6 @@ var buildLdGridForm = function buildLdGridForm(_ref) {
133
132
  };
134
133
  return /*#__PURE__*/React.createElement(GridForm, _extends({
135
134
  noAddon: true,
136
- operates: defaultOpe,
137
135
  orderByAdd: "asc",
138
136
  rowSelection: true,
139
137
  type: type,
package/es/utils/grid.js CHANGED
@@ -1,3 +1,4 @@
1
+ import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
1
2
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
2
3
  var _excluded = ["comName", "property"],
3
4
  _excluded2 = ["name"],
@@ -33,7 +34,7 @@ export function getColumnRender(name, type) {
33
34
  break;
34
35
  case 'year':
35
36
  render = function render(text, record) {
36
- return record["".concat(name, "_virtual")] || (text ? moment(value).format('YYYY-MM-DD') : undefined);
37
+ return record["".concat(name, "_virtual")] || (text ? moment(text).format('YYYY-MM-DD') : undefined);
37
38
  };
38
39
  break;
39
40
  case 'user':
@@ -95,11 +96,11 @@ export var getGridColumn = function getGridColumn() {
95
96
  filter = _merge.filter,
96
97
  filterParams = _merge.filterParams,
97
98
  _props = _objectWithoutProperties(_merge, _excluded3);
98
- var data = {
99
+ var data = _objectSpread(_objectSpread({}, _props), {}, {
99
100
  field: name,
100
101
  title: _props.label,
101
102
  render: _props.render || getColumnRender(name, comName || defaultComName[property], _props)
102
- };
103
+ });
103
104
  if (isTreeGrid || isVirtual || includes(['user', 'select', 'group', 'switch', 'color', 'region'], comName || defaultComName[property])) data.sortable = false;
104
105
  // data.filter = false;
105
106
  if (!isNil(filter)) {
@@ -109,6 +110,7 @@ export var getGridColumn = function getGridColumn() {
109
110
  } else if (!isTreeGrid && !isVirtual) {
110
111
  var _props$config2;
111
112
  if ((_props.mode || ((_props$config2 = _props.config) === null || _props$config2 === void 0 ? void 0 : _props$config2.mode)) === 'multiple') {
113
+ data.field = "".concat(name, "_virtual");
112
114
  data.filter = 'text';
113
115
  return data;
114
116
  }
@@ -17,7 +17,6 @@ var _ldBuilder = _interopRequireDefault(require("../../helper/ldBuilder"));
17
17
  var _utils = require("../../utils");
18
18
  var _Builder = require("../Builder");
19
19
  var _excluded = ["columns", "resources", "actions", "doAction", "ldId", "dataSetKey", "filedsRewrite", "mainFormLdId", "mainDataSetKey", "onValueChange", "onQuery", "onAdd", "onUpdate", "moduleCode", "defaultDataSourceFormat", "ticketData", "relationKey"];
20
- var defaultOpe = ['read', 'add', 'update', 'delete'];
21
20
  var buildLdAutoForm = function buildLdAutoForm(_ref) {
22
21
  var _ref$columns = _ref.columns,
23
22
  columns = _ref$columns === void 0 ? [] : _ref$columns,
@@ -141,8 +140,7 @@ var buildLdAutoForm = function buildLdAutoForm(_ref) {
141
140
  })
142
141
  // onAdd={onOperate(onAdd, 'add')}
143
142
  ,
144
- onUpdate: onOperate(onUpdate, 'update'),
145
- operates: defaultOpe
143
+ onUpdate: onOperate(onUpdate, 'update')
146
144
  }, formConfig), basicItems);
147
145
  };
148
146
  var _default = (0, _ldBuilder.default)(buildLdAutoForm);
@@ -6,6 +6,8 @@ Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
8
  exports.default = void 0;
9
+ var _regeneratorRuntime2 = _interopRequireDefault(require("@babel/runtime/helpers/regeneratorRuntime"));
10
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
9
11
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
12
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
13
  var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
@@ -25,15 +27,20 @@ var _Builder = require("../Builder");
25
27
  var _LdPop = require("../LdPop");
26
28
  var _model = _interopRequireDefault(require("./model"));
27
29
  var _action = require("../../helper/action");
28
- var _excluded = ["namespace", "formState", "formMode", "loading", "wrapperRef", "readOnly", "mainFormLdId", "renderFormList", "renderAffixLeft", "renderAffixRight", "beforeSubmit", "showSaveBtn", "saveBtnTitle", "affixLayout", "onValueChange", "afterSubmit", "renderFormExtra"],
29
- _excluded2 = ["id", "header", "title", "readOnly", "extraConfig", "renderTopLeft"],
30
- _excluded3 = ["ldId", "initData", "overModel"];
30
+ var _lodash = require("lodash");
31
+ var _bpm = require("@luck-design-biz/base/bpm");
32
+ var _services = require("../../services");
33
+ var _excluded = ["namespace", "formState", "formMode", "formOperates", "loading", "wrapperRef", "readOnly", "mainFormLdId", "renderFormList", "renderAffixLeft", "renderAffixRight", "beforeSubmit", "showSaveBtn", "saveBtnTitle", "affixLayout", "onValueChange", "afterSubmit", "renderFormExtra"],
34
+ _excluded2 = ["dataSets", "doAction", "resources"],
35
+ _excluded3 = ["id", "header", "title", "readOnly", "extraConfig", "renderTopLeft"],
36
+ _excluded4 = ["ldId", "initData", "overModel"];
31
37
  // 组件
32
38
  var LdFormList = function LdFormList(_ref) {
33
39
  var _formList$find;
34
40
  var namespace = _ref.namespace,
35
41
  formState = _ref.formState,
36
42
  formMode = _ref.formMode,
43
+ formOperates = _ref.formOperates,
37
44
  loading = _ref.loading,
38
45
  wrapperRef = _ref.wrapperRef,
39
46
  readOnly = _ref.readOnly,
@@ -57,11 +64,21 @@ var LdFormList = function LdFormList(_ref) {
57
64
  _useState2 = (0, _slicedToArray2.default)(_useState, 2),
58
65
  submitLoading = _useState2[0],
59
66
  setSubmitLoading = _useState2[1];
67
+ var _useState3 = (0, _react.useState)(false),
68
+ _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
69
+ isCustomRenderAffixRight = _useState4[0],
70
+ setIsCustomRenderAffixRight = _useState4[1];
71
+ var _useState5 = (0, _react.useState)({}),
72
+ _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
73
+ bizData = _useState6[0],
74
+ setBizData = _useState6[1];
60
75
  var _ref2 = (0, _react.useContext)(_LdPop.LuckDaPopContext) || {},
61
76
  defaultLayout = _ref2.affixLayout;
62
77
  var _ref3 = (0, _react.useContext)(_Builder.LuckDaContext) || {},
63
78
  dataSets = _ref3.dataSets,
64
- doAction = _ref3.doAction;
79
+ doAction = _ref3.doAction,
80
+ resources = _ref3.resources,
81
+ rest = (0, _objectWithoutProperties2.default)(_ref3, _excluded2);
65
82
  var formListRef = (0, _react.useRef)(null);
66
83
  (0, _react.useImperativeHandle)(wrapperRef, function () {
67
84
  return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, formListRef.current), {}, {
@@ -96,11 +113,62 @@ var LdFormList = function LdFormList(_ref) {
96
113
  formId: formId
97
114
  }, extraConfig)));
98
115
  });
116
+
117
+ /**zss添加**/
118
+ var renderAffixRightCustom = function renderAffixRightCustom() {
119
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, renderAffixRight && renderAffixRight(), /*#__PURE__*/_react.default.createElement(_bpm.BpmButton, {
120
+ bizData: bizData,
121
+ suppressDept: false
122
+ }));
123
+ };
124
+ (0, _ahooks.useAsyncEffect)( /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee() {
125
+ var _props$ticketData, _params, _yield$readBehaviorCa, code, data, _props$ticketData2, _props$ticketData3, bpmInfoObj, tempObj;
126
+ return (0, _regeneratorRuntime2.default)().wrap(function _callee$(_context) {
127
+ while (1) switch (_context.prev = _context.next) {
128
+ case 0:
129
+ if (!(formMode !== 'add')) {
130
+ _context.next = 8;
131
+ break;
132
+ }
133
+ _params = {
134
+ 'indocno': (_props$ticketData = props.ticketData) === null || _props$ticketData === void 0 ? void 0 : _props$ticketData.indocno,
135
+ moduleCode: rest.moduleCode,
136
+ datasetCode: mainDataSetKey,
137
+ mainDataSetKey: mainDataSetKey,
138
+ behaviorKey: 'readBpm'
139
+ };
140
+ _context.next = 4;
141
+ return (0, _services.readBehaviorCall)(_params);
142
+ case 4:
143
+ _yield$readBehaviorCa = _context.sent;
144
+ code = _yield$readBehaviorCa.code;
145
+ data = _yield$readBehaviorCa.data;
146
+ if (code == 1 && data) {
147
+ bpmInfoObj = data.bpmInfo;
148
+ tempObj = {
149
+ bizKey: bpmInfoObj.bizKey,
150
+ sname: bpmInfoObj.name,
151
+ modelKey: bpmInfoObj.bpmKey,
152
+ // basekey : bpmInfoObj.buskey,
153
+ idocid: (_props$ticketData2 = props.ticketData) === null || _props$ticketData2 === void 0 ? void 0 : _props$ticketData2.indocno,
154
+ moduleCode: rest.moduleCode,
155
+ datasetCode: mainDataSetKey,
156
+ indocno: (_props$ticketData3 = props.ticketData) === null || _props$ticketData3 === void 0 ? void 0 : _props$ticketData3.indocno
157
+ };
158
+ setBizData(tempObj);
159
+ setIsCustomRenderAffixRight(true);
160
+ }
161
+ case 8:
162
+ case "end":
163
+ return _context.stop();
164
+ }
165
+ }, _callee);
166
+ })), []);
99
167
  var handleBatchSubmit = function handleBatchSubmit(values, action) {
100
- var _ref6 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},
101
- formCode = _ref6.formCode,
102
- formKey = _ref6.formKey,
103
- formUid = _ref6.formUid;
168
+ var _ref7 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},
169
+ formCode = _ref7.formCode,
170
+ formKey = _ref7.formKey,
171
+ formUid = _ref7.formUid;
104
172
  setSubmitLoading(true);
105
173
  (0, _action.onBatchSubmitAction)({
106
174
  values: values,
@@ -157,7 +225,15 @@ var LdFormList = function LdFormList(_ref) {
157
225
  formRef: formListRef,
158
226
  renderExtra: renderExtra
159
227
  });
160
- var formList = renderFormList(formConfig);
228
+ var formList = (0, _ahooks.useCreation)(function () {
229
+ var _list = renderFormList(formConfig);
230
+ var extraList = renderFormExtra && (0, _lodash.isArray)(renderFormExtra(formConfig)) ? renderFormExtra(formConfig) : [renderFormExtra(formConfig)];
231
+ var list = _list.concat(extraList);
232
+ return (0, _lodash.sortBy)(list, function (o) {
233
+ var _o$props;
234
+ return o.order || ((_o$props = o.props) === null || _o$props === void 0 ? void 0 : _o$props.order);
235
+ });
236
+ }, [formConfig]);
161
237
  var mainDataSetKey = (_formList$find = formList.find(function (i) {
162
238
  return i.id === mainFormLdId;
163
239
  })) === null || _formList$find === void 0 ? void 0 : _formList$find.dataSetKey;
@@ -165,7 +241,10 @@ var LdFormList = function LdFormList(_ref) {
165
241
  editFlow: true,
166
242
  formState: formState,
167
243
  formMode: formMode,
168
- loading: loading || submitLoading
244
+ loading: loading || submitLoading,
245
+ formOperates: (0, _lodash.mapValues)(formOperates, function () {
246
+ return resources;
247
+ })
169
248
  }, props, {
170
249
  modelName: namespace,
171
250
  ref: formListRef,
@@ -178,68 +257,71 @@ var LdFormList = function LdFormList(_ref) {
178
257
  }), /*#__PURE__*/_react.default.createElement(_FormList.FormListAffix, {
179
258
  showSaveBtn: !readOnly && showSaveBtn,
180
259
  renderLeft: renderAffixLeft,
181
- renderRight: renderAffixRight,
260
+ renderRight: isCustomRenderAffixRight ? renderAffixRightCustom : renderAffixRight,
182
261
  title: saveBtnTitle,
183
262
  layout: affixLayout || defaultLayout
184
263
  }), formList.map(function (formProps) {
185
- var _ref7 = formProps || {},
186
- ldId = _ref7.id,
187
- _ref7$header = _ref7.header,
188
- header = _ref7$header === void 0 ? 'collapse' : _ref7$header,
189
- title = _ref7.title,
190
- _readOnly = _ref7.readOnly,
191
- _ref7$extraConfig = _ref7.extraConfig,
192
- extraConfig = _ref7$extraConfig === void 0 ? {} : _ref7$extraConfig,
193
- _ref7$renderTopLeft = _ref7.renderTopLeft,
194
- _renderTopLeft = _ref7$renderTopLeft === void 0 ? function () {
195
- return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null);
196
- } : _ref7$renderTopLeft,
197
- _props = (0, _objectWithoutProperties2.default)(_ref7, _excluded2);
198
- var _props$type = _props.type,
199
- type = _props$type === void 0 ? 'auto' : _props$type;
200
- var renderForm = type === 'auto' ? _LdAutoForm.default : _LdGridForm.default;
201
- if (header === 'collapse' || header === 'collapseFollow') return /*#__PURE__*/_react.default.createElement(_base.Collapse, {
202
- title: title || ldId,
203
- extra: type === 'auto' && renderExtra(ldId, extraConfig, 'graphic'),
204
- id: ldId,
205
- key: ldId,
206
- mode: header === 'collapse' && ldId !== mainFormLdId && 'tab'
207
- }, renderForm((0, _objectSpread2.default)((0, _objectSpread2.default)({}, _props), {}, {
208
- ldId: ldId,
209
- mainFormLdId: mainFormLdId,
210
- mainDataSetKey: mainDataSetKey,
211
- readOnly: readOnly || _readOnly,
212
- onValueChange: handleValueChange,
213
- ticketData: props.ticketData,
214
- renderTopLeft: function renderTopLeft() {
215
- return type === 'auto' ? _renderTopLeft() : [renderExtra(ldId, extraConfig, 'text'), _renderTopLeft()];
216
- }
217
- })));
218
- return /*#__PURE__*/_react.default.createElement(_react.Fragment, {
219
- key: ldId
220
- }, header === 'divider' && /*#__PURE__*/_react.default.createElement(_luckDesign.BasicDivider, {
221
- title: title || ldId,
222
- id: ldId
223
- }), type === 'auto' && /*#__PURE__*/_react.default.createElement("div", {
224
- style: {
225
- textAlign: 'right'
226
- }
227
- }, renderExtra(ldId, extraConfig, 'graphic')), renderForm((0, _objectSpread2.default)((0, _objectSpread2.default)({}, _props), {}, {
228
- ldId: ldId,
229
- mainFormLdId: mainFormLdId,
230
- mainDataSetKey: mainDataSetKey,
231
- readOnly: readOnly || _readOnly,
232
- onValueChange: handleValueChange,
233
- ticketData: props.ticketData,
234
- renderTopLeft: function renderTopLeft() {
235
- return type === 'auto' ? _renderTopLeft() : [renderExtra(ldId, extraConfig, 'graphic'), _renderTopLeft()];
236
- }
237
- })));
238
- }), _utils.ChildrenUtil.deepMap(renderFormExtra(formConfig), function (child) {
239
- var _child$type;
240
- return /*#__PURE__*/_react.default.cloneElement(child, ((_child$type = child.type) === null || _child$type === void 0 ? void 0 : _child$type.displayName) === 'Collapse' ? {
241
- mode: child.props.mode || 'tab'
242
- } : {});
264
+ if (formProps.dataSetKey) {
265
+ var _ref8 = formProps || {},
266
+ ldId = _ref8.id,
267
+ _ref8$header = _ref8.header,
268
+ header = _ref8$header === void 0 ? 'collapse' : _ref8$header,
269
+ title = _ref8.title,
270
+ _readOnly = _ref8.readOnly,
271
+ _ref8$extraConfig = _ref8.extraConfig,
272
+ extraConfig = _ref8$extraConfig === void 0 ? {} : _ref8$extraConfig,
273
+ _ref8$renderTopLeft = _ref8.renderTopLeft,
274
+ _renderTopLeft = _ref8$renderTopLeft === void 0 ? function () {
275
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null);
276
+ } : _ref8$renderTopLeft,
277
+ _props = (0, _objectWithoutProperties2.default)(_ref8, _excluded3);
278
+ var _props$type = _props.type,
279
+ type = _props$type === void 0 ? 'auto' : _props$type;
280
+ var renderForm = type === 'auto' ? _LdAutoForm.default : _LdGridForm.default;
281
+ if (header === 'collapse' || header === 'collapseFollow') return /*#__PURE__*/_react.default.createElement(_base.Collapse, {
282
+ title: title || ldId,
283
+ extra: type === 'auto' && renderExtra(ldId, extraConfig, 'graphic'),
284
+ id: ldId,
285
+ key: ldId,
286
+ mode: header === 'collapse' && ldId !== mainFormLdId && 'tab'
287
+ }, renderForm((0, _objectSpread2.default)((0, _objectSpread2.default)({}, _props), {}, {
288
+ ldId: ldId,
289
+ mainFormLdId: mainFormLdId,
290
+ mainDataSetKey: mainDataSetKey,
291
+ readOnly: readOnly || _readOnly,
292
+ onValueChange: handleValueChange,
293
+ ticketData: props.ticketData,
294
+ renderTopLeft: function renderTopLeft() {
295
+ return type === 'auto' ? _renderTopLeft() : [renderExtra(ldId, extraConfig, 'text'), _renderTopLeft()];
296
+ }
297
+ })));
298
+ return /*#__PURE__*/_react.default.createElement(_react.Fragment, {
299
+ key: ldId
300
+ }, header === 'divider' && /*#__PURE__*/_react.default.createElement(_luckDesign.BasicDivider, {
301
+ title: title || ldId,
302
+ id: ldId
303
+ }), type === 'auto' && /*#__PURE__*/_react.default.createElement("div", {
304
+ style: {
305
+ textAlign: 'right'
306
+ }
307
+ }, renderExtra(ldId, extraConfig, 'graphic')), renderForm((0, _objectSpread2.default)((0, _objectSpread2.default)({}, _props), {}, {
308
+ ldId: ldId,
309
+ mainFormLdId: mainFormLdId,
310
+ mainDataSetKey: mainDataSetKey,
311
+ readOnly: readOnly || _readOnly,
312
+ onValueChange: handleValueChange,
313
+ ticketData: props.ticketData,
314
+ renderTopLeft: function renderTopLeft() {
315
+ return type === 'auto' ? _renderTopLeft() : [renderExtra(ldId, extraConfig, 'graphic'), _renderTopLeft()];
316
+ }
317
+ })));
318
+ }
319
+ return _utils.ChildrenUtil.deepMap(formProps, function (child) {
320
+ var _child$type;
321
+ return /*#__PURE__*/_react.default.cloneElement(child, ((_child$type = child.type) === null || _child$type === void 0 ? void 0 : _child$type.displayName) === 'Collapse' ? (0, _objectSpread2.default)((0, _objectSpread2.default)({}, child.props), {}, {
322
+ mode: child.props.mode || 'tab'
323
+ }) : child.props);
324
+ })[0];
243
325
  }));
244
326
  };
245
327
 
@@ -252,9 +334,9 @@ var builder = function builder(WrappedComponent, namespace, initData) {
252
334
  formMode: 'add'
253
335
  }, initData)
254
336
  });
255
- return (0, _umi.connect)(function (_ref8) {
256
- var modelName = _ref8[namespace],
257
- loading = _ref8.loading;
337
+ return (0, _umi.connect)(function (_ref9) {
338
+ var modelName = _ref9[namespace],
339
+ loading = _ref9.loading;
258
340
  return {
259
341
  formData: modelName.formData,
260
342
  formOperates: modelName.formOperates,
@@ -265,11 +347,11 @@ var builder = function builder(WrappedComponent, namespace, initData) {
265
347
  };
266
348
  })(WrappedComponent);
267
349
  };
268
- var Index = function Index(_ref9) {
269
- var namespace = _ref9.ldId,
270
- initData = _ref9.initData,
271
- overModel = _ref9.overModel,
272
- props = (0, _objectWithoutProperties2.default)(_ref9, _excluded3);
350
+ var Index = function Index(_ref10) {
351
+ var namespace = _ref10.ldId,
352
+ initData = _ref10.initData,
353
+ overModel = _ref10.overModel,
354
+ props = (0, _objectWithoutProperties2.default)(_ref10, _excluded4);
273
355
  var match = (0, _umi.useRouteMatch)();
274
356
  var Component = (0, _ahooks.useCreation)(function () {
275
357
  var _getDvaApp3, _getDvaApp4, _match$params;
@@ -20,7 +20,6 @@ var _form = require("../../helper/form");
20
20
  var _Builder = require("../Builder");
21
21
  var _index = _interopRequireDefault(require("./index.less"));
22
22
  var _excluded = ["columns", "resources", "actions", "doAction", "ldId", "dataSetKey", "columnsRewrite", "onQuery", "onAdd", "onUpdate", "onDelete", "mainFormLdId", "mainDataSetKey", "onValueChange", "type", "afterOperate", "moduleCode", "defaultDataSourceFormat", "ticketData", "className", "formRef", "formMode"];
23
- var defaultOpe = ['read', 'add', 'update', 'delete'];
24
23
  var buildLdGridForm = function buildLdGridForm(_ref) {
25
24
  var _ref$columns = _ref.columns,
26
25
  columns = _ref$columns === void 0 ? [] : _ref$columns,
@@ -141,7 +140,6 @@ var buildLdGridForm = function buildLdGridForm(_ref) {
141
140
  };
142
141
  return /*#__PURE__*/_react.default.createElement(_FormList.GridForm, (0, _extends2.default)({
143
142
  noAddon: true,
144
- operates: defaultOpe,
145
143
  orderByAdd: "asc",
146
144
  rowSelection: true,
147
145
  type: type,
package/lib/utils/grid.js CHANGED
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  });
7
7
  exports.getColumnRender = getColumnRender;
8
8
  exports.getGridColumn = void 0;
9
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
9
10
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
10
11
  var _react = _interopRequireDefault(require("react"));
11
12
  var _umi = require("umi");
@@ -40,7 +41,7 @@ function getColumnRender(name, type) {
40
41
  break;
41
42
  case 'year':
42
43
  render = function render(text, record) {
43
- return record["".concat(name, "_virtual")] || (text ? (0, _moment.default)(value).format('YYYY-MM-DD') : undefined);
44
+ return record["".concat(name, "_virtual")] || (text ? (0, _moment.default)(text).format('YYYY-MM-DD') : undefined);
44
45
  };
45
46
  break;
46
47
  case 'user':
@@ -102,11 +103,11 @@ var getGridColumn = function getGridColumn() {
102
103
  filter = _merge.filter,
103
104
  filterParams = _merge.filterParams,
104
105
  _props = (0, _objectWithoutProperties2.default)(_merge, _excluded3);
105
- var data = {
106
+ var data = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, _props), {}, {
106
107
  field: name,
107
108
  title: _props.label,
108
109
  render: _props.render || getColumnRender(name, comName || _form.defaultComName[property], _props)
109
- };
110
+ });
110
111
  if (isTreeGrid || isVirtual || (0, _lodash.includes)(['user', 'select', 'group', 'switch', 'color', 'region'], comName || _form.defaultComName[property])) data.sortable = false;
111
112
  // data.filter = false;
112
113
  if (!(0, _lodash.isNil)(filter)) {
@@ -116,6 +117,7 @@ var getGridColumn = function getGridColumn() {
116
117
  } else if (!isTreeGrid && !isVirtual) {
117
118
  var _props$config2;
118
119
  if ((_props.mode || ((_props$config2 = _props.config) === null || _props$config2 === void 0 ? void 0 : _props$config2.mode)) === 'multiple') {
120
+ data.field = "".concat(name, "_virtual");
119
121
  data.filter = 'text';
120
122
  return data;
121
123
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@luck-design-biz/luckda",
3
- "version": "0.0.14",
3
+ "version": "0.0.15-2",
4
4
  "scripts": {
5
5
  "start": "dumi dev",
6
6
  "docs:build": "dumi build",