@luck-design-biz/luckda 1.0.2-20 → 1.0.2-20temp

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,7 @@ import { formatMessage } from '@luck-design-biz/base/utils';
9
9
  import { META_TAG_NAME, LC_RUNTIME_KEY } from "../../lowcode/constants";
10
10
  import { setMetaAttrs } from "../../lowcode/engine/tools/helper";
11
11
  import LdPop from "../LdPop";
12
- import { readModlue, noAuthTransformCode } from "../../services";
12
+ import { readModlue, noAuthTransformCode, readUI } from "../../services";
13
13
  import { doAction as doActionUtils } from "../../helper/action";
14
14
  export var LuckDaContext = /*#__PURE__*/createContext();
15
15
  export var useLDCtx = function useLDCtx(pageProxy) {
@@ -44,21 +44,28 @@ var builder = function builder(WrappedComponent, moduleCode) {
44
44
  var _useRequest = useRequest(readModlue, {
45
45
  defaultParams: [{
46
46
  moduleCode: moduleCode
47
- }],
48
- onSuccess: function onSuccess(res) {
49
- var code = res.code,
50
- data = res.data;
51
- if (code === 1) {
52
- setModuleData({
53
- actions: data.actions || {},
54
- dataSets: data.dataSets || {},
55
- isTree: data.isTree || [],
56
- resources: data.resources || []
57
- });
58
- }
59
- }
47
+ }]
48
+ }),
49
+ loading = _useRequest.loading,
50
+ moduleResult = _useRequest.data;
51
+ var _useRequest2 = useRequest(readUI, {
52
+ defaultParams: [{
53
+ moduleCode: moduleCode
54
+ }]
60
55
  }),
61
- loading = _useRequest.loading;
56
+ loading1 = _useRequest2.loading,
57
+ uiResult = _useRequest2.data;
58
+ useEffect(function () {
59
+ if (!loading && !loading1 && (moduleResult === null || moduleResult === void 0 ? void 0 : moduleResult.code) === 1 && (uiResult === null || uiResult === void 0 ? void 0 : uiResult.code) === 1) {
60
+ setModuleData({
61
+ actions: moduleResult.data.actions || {},
62
+ dataSets: moduleResult.data.dataSets || {},
63
+ isTree: moduleResult.data.isTree || [],
64
+ resources: moduleResult.data.resources || [],
65
+ moduleUiList: uiResult.data.moduleUiList || {}
66
+ });
67
+ }
68
+ }, [loading, loading1, moduleResult, uiResult]);
62
69
  var openPop = useMemoizedFn(function (ldId, params) {
63
70
  setPops(function (prev) {
64
71
  return _objectSpread(_objectSpread({}, prev), {}, _defineProperty({}, ldId, _objectSpread(_objectSpread({}, prev[ldId]), params)));
@@ -108,8 +115,8 @@ var builder = function builder(WrappedComponent, moduleCode) {
108
115
  var _props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
109
116
  fieldProps.current = _objectSpread(_objectSpread({}, fieldProps.current), _props);
110
117
  };
111
- if (loading) return null;
112
- if (!moduleData) return formatMessage({
118
+ if (loading || loading1) return null;
119
+ if (!moduleData) if (!moduleData) return formatMessage({
113
120
  id: 'luckda.module.loadFailed',
114
121
  label: '模块信息加载失败'
115
122
  });
@@ -2,13 +2,13 @@ import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
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", "ldId", "dataSetKey", "filedsRewrite", "mainFormLdId", "mainDataSetKey", "onValueChange", "onQuery", "onAdd", "onUpdate", "moduleCode", "defaultDataSourceFormat", "ticketData", "relationKey", "fields", "setVerifyRules", "pageProxy"];
5
+ var _excluded = ["columns", "resources", "actions", "doAction", "uiSettings", "ldId", "dataSetKey", "filedsRewrite", "mainFormLdId", "mainDataSetKey", "onValueChange", "onQuery", "onAdd", "onUpdate", "moduleCode", "defaultDataSourceFormat", "ticketData", "relationKey", "fields", "setVerifyRules", "pageProxy"];
6
6
  import React, { createRef } from 'react';
7
7
  import { reduce, keyBy, isEmpty, pick, union, omit, forEach, debounce, isNil } from 'lodash';
8
8
  import { BasicDivider } from 'luck-design';
9
9
  import { AutoForm } from '@luck-design-biz/base/FormList';
10
10
  import ldBuilder from "../../helper/ldBuilder";
11
- import { getFormItem, formItemDataFormat, dataFormat, behaviorCall } from "../../utils";
11
+ import { getFormItem, formItemDataFormat, dataFormat, behaviorCall, mergeAndSort } from "../../utils";
12
12
  import { useLDCtx } from "../Builder";
13
13
  var didMount = false;
14
14
  var debounceFunc = debounce(function (fields, changedValues, allValues, props) {
@@ -31,6 +31,8 @@ var buildLdAutoForm = function buildLdAutoForm(_ref) {
31
31
  actions = _ref$actions === void 0 ? {} : _ref$actions,
32
32
  _ref$doAction = _ref.doAction,
33
33
  doAction = _ref$doAction === void 0 ? function () {} : _ref$doAction,
34
+ _ref$uiSettings = _ref.uiSettings,
35
+ uiSettings = _ref$uiSettings === void 0 ? {} : _ref$uiSettings,
34
36
  ldId = _ref.ldId,
35
37
  dataSetKey = _ref.dataSetKey,
36
38
  _ref$filedsRewrite = _ref.filedsRewrite,
@@ -63,9 +65,11 @@ var buildLdAutoForm = function buildLdAutoForm(_ref) {
63
65
  setFieldProps = _ref2.setFieldProps;
64
66
  var defaultValues = /*#__PURE__*/createRef({});
65
67
  var isMain = ldId === mainFormLdId;
68
+ var formPreset = uiSettings && uiSettings.form && uiSettings.form[0] && uiSettings.form[0].preset ? JSON.parse(uiSettings.form[0].preset) : {};
66
69
  var basicItems = function () {
67
70
  var fieldsObj = keyBy(fields, 'field');
68
- var columnsObj = keyBy(columns, 'field');
71
+ var mergedArray = mergeAndSort(columns, formPreset.formFieldPreset || [], 'field');
72
+ var columnsObj = keyBy(mergedArray, 'field');
69
73
  var keys = isEmpty(fields) ? Object.keys(columnsObj) : union(Object.keys(fieldsObj), Object.keys(columnsObj));
70
74
  var _defaultValues = {};
71
75
  var _nodes = reduce(keys, function (result, key) {
@@ -86,6 +90,10 @@ var buildLdAutoForm = function buildLdAutoForm(_ref) {
86
90
  setVerifyRules: setVerifyRules,
87
91
  fieldName: (setting === null || setting === void 0 ? void 0 : setting.fieldAliasName) || col.fieldName
88
92
  }, pick(setting, defaultSet));
93
+ // 该字段配置的表单显示信息
94
+ var colUiData = formPreset.formFieldPreset ? formPreset.formFieldPreset.find(function (c) {
95
+ return c.field === col.field;
96
+ }) : {};
89
97
  result.push(getFormItem(newCol, _objectSpread(_objectSpread({
90
98
  formId: ldId,
91
99
  moduleCode: moduleCode
@@ -94,7 +102,7 @@ var buildLdAutoForm = function buildLdAutoForm(_ref) {
94
102
  return onValueChange(_defineProperty({}, ldId, _defineProperty({}, col.aliaName, value)));
95
103
  },
96
104
  setting: omit(setting, [].concat(defaultSet, ['uid', 'field']))
97
- })));
105
+ }), colUiData));
98
106
  }
99
107
  return result;
100
108
  }, []);
@@ -111,7 +119,8 @@ var buildLdAutoForm = function buildLdAutoForm(_ref) {
111
119
  isMain: isMain,
112
120
  defaultDataSource: _objectSpread(_objectSpread({}, formItemDataFormat(columns.map(function (c) {
113
121
  return _objectSpread(_objectSpread({}, c), keyBy(fields, 'field')[c.field]);
114
- }), defaultValues.current)), defaultDataSourceFormat(defaultValues.current))
122
+ }), defaultValues.current)), defaultDataSourceFormat(defaultValues.current)),
123
+ col: formPreset.formCol
115
124
  };
116
125
  var onOperate = function onOperate() {
117
126
  var _onOperate = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
@@ -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", "loading", "unclosableSet", "onQuery", "doQuery", "pagination", "pageno", "pagesize", "totalCount", "columnsRewrite", "columnsReset", "batchOperations", "formatDataSource", "resultSet", "actionsColumn", "readFilter", "isFlow", "isTreeGrid", "writable"],
5
+ var _excluded = ["columns", "resources", "actions", "doAction", "afterInit", "uiSettings", "namespace", "wrapperRef", "list", "detail", "params", "filters", "_loading", "loading", "unclosableSet", "onQuery", "doQuery", "pagination", "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';
@@ -20,6 +20,8 @@ var LdGrid = function LdGrid(_ref) {
20
20
  actions = _ref.actions,
21
21
  doAction = _ref.doAction,
22
22
  afterInit = _ref.afterInit,
23
+ _ref$uiSettings = _ref.uiSettings,
24
+ uiSettings = _ref$uiSettings === void 0 ? {} : _ref$uiSettings,
23
25
  namespace = _ref.namespace,
24
26
  wrapperRef = _ref.wrapperRef,
25
27
  list = _ref.list,
@@ -94,6 +96,7 @@ var LdGrid = function LdGrid(_ref) {
94
96
  });
95
97
  });
96
98
  }, [batchOperations]);
99
+ var gridPresetData = uiSettings && uiSettings.grid && uiSettings.grid[0] && uiSettings.grid[0].preset ? JSON.parse(uiSettings.grid[0].preset) : {};
97
100
 
98
101
  /**
99
102
  * 优先级
@@ -110,7 +113,8 @@ var LdGrid = function LdGrid(_ref) {
110
113
  var _columnsRewrite = isFunction(columnsRewrite) ? columnsRewrite(columns) : columnsRewrite;
111
114
  var defaultColumns = keyBy(columns, 'aliaName');
112
115
  var customColumns = keyBy(_columnsRewrite, 'field');
113
- var mergeFields = union(keys(customColumns), keys(defaultColumns));
116
+ var presetColumns = keyBy(gridPresetData.gridPreset, 'field'); // ui配置的已排序的列
117
+ var mergeFields = union(keys(presetColumns), keys(defaultColumns), keys(customColumns)); // 以UI配置的列排序
114
118
  return transform(mergeFields, function (result, field) {
115
119
  var _customColumns$field;
116
120
  if ((_customColumns$field = customColumns[field]) !== null && _customColumns$field !== void 0 && _customColumns$field.hide) {
@@ -118,9 +122,14 @@ var LdGrid = function LdGrid(_ref) {
118
122
  } else if (!defaultColumns[field]) {
119
123
  // 数据集中不存在的字段以自定义的形式展示
120
124
  result.push(customColumns[field]);
121
- } else if (defaultColumns[field].isShowInGrid)
125
+ } else if (defaultColumns[field].isShowInGrid) {
126
+ // 该字段配置的表单显示信息
127
+ var columnUiData = gridPresetData.gridPreset ? gridPresetData.gridPreset.find(function (c) {
128
+ return c.field === field;
129
+ }) : {};
122
130
  // 数据集中存在的字段和自定义结合展示
123
- result.push(getGridColumn(defaultColumns[field], customColumns[field] || {}, isTreeGrid, writable));
131
+ result.push(getGridColumn(defaultColumns[field], customColumns[field] || {}, isTreeGrid, writable, columnUiData));
132
+ }
124
133
  }, []);
125
134
  }, [columns, columnsRewrite, columnsReset]);
126
135
  var _actionsColumn = useCreation(function () {
@@ -2,13 +2,13 @@ import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
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", "ldId", "dataSetKey", "columnsRewrite", "columnsReset", "onQuery", "onAdd", "onUpdate", "onDelete", "mainFormLdId", "mainDataSetKey", "onValueChange", "type", "afterOperate", "moduleCode", "defaultDataSourceFormat", "ticketData", "className", "formRef", "formMode", "fields", "setVerifyRules", "pageProxy"];
5
+ var _excluded = ["columns", "resources", "actions", "doAction", "uiSettings", "ldId", "dataSetKey", "columnsRewrite", "columnsReset", "onQuery", "onAdd", "onUpdate", "onDelete", "mainFormLdId", "mainDataSetKey", "onValueChange", "type", "afterOperate", "moduleCode", "defaultDataSourceFormat", "ticketData", "className", "formRef", "formMode", "fields", "setVerifyRules", "pageProxy"];
6
6
  import React, { createRef } from 'react';
7
7
  import { reduce, keyBy, isEmpty, pick, omit } from 'lodash';
8
8
  import classNames from 'classnames';
9
9
  import ldBuilder from "../../helper/ldBuilder";
10
10
  import { GridForm } from '@luck-design-biz/base/FormList';
11
- import { getFormColumn, formItemDataFormat, dataFormat, behaviorCall } from "../../utils";
11
+ import { getFormColumn, formItemDataFormat, dataFormat, behaviorCall, mergeAndSort } from "../../utils";
12
12
  import { defaultComName } from "../../helper/form";
13
13
  import { useLDCtx } from "../Builder";
14
14
  import styles from "./index.less";
@@ -21,6 +21,8 @@ var buildLdGridForm = function buildLdGridForm(_ref) {
21
21
  actions = _ref$actions === void 0 ? {} : _ref$actions,
22
22
  _ref$doAction = _ref.doAction,
23
23
  doAction = _ref$doAction === void 0 ? function () {} : _ref$doAction,
24
+ _ref$uiSettings = _ref.uiSettings,
25
+ uiSettings = _ref$uiSettings === void 0 ? {} : _ref$uiSettings,
24
26
  ldId = _ref.ldId,
25
27
  dataSetKey = _ref.dataSetKey,
26
28
  _ref$columnsRewrite = _ref.columnsRewrite,
@@ -65,9 +67,11 @@ var buildLdGridForm = function buildLdGridForm(_ref) {
65
67
  });
66
68
  return col;
67
69
  });
70
+ var gridPresetData = uiSettings && uiSettings.grid && uiSettings.grid[0] && uiSettings.grid[0].preset ? JSON.parse(uiSettings.grid[0].preset) : {};
68
71
  var _columns = function () {
72
+ var mergedArray = mergeAndSort(gridColumns, gridPresetData.gridPreset || [], 'field');
69
73
  var fieldsObj = keyBy(fields, 'field');
70
- var columnsObj = keyBy(gridColumns, 'field');
74
+ var columnsObj = keyBy(mergedArray, 'field');
71
75
  var keys = isEmpty(fields) ? Object.keys(columnsObj) : Object.keys(fieldsObj);
72
76
  var _defaultValues = {};
73
77
  var _nodes = reduce(keys, function (result, key) {
@@ -105,6 +109,10 @@ var buildLdGridForm = function buildLdGridForm(_ref) {
105
109
  fieldName: (setting === null || setting === void 0 ? void 0 : setting.fieldAliasName) || col.fieldName
106
110
  });
107
111
  var defaultSet = ['width', 'align', 'headerAlign', 'pinned', 'tip', 'formMode'];
112
+ // 该字段配置的表单显示信息
113
+ var columnUiData = gridPresetData.gridPreset ? gridPresetData.gridPreset.find(function (c) {
114
+ return c.field === col.field;
115
+ }) : {};
108
116
  result.push(getFormColumn(type, newCol, _objectSpread(_objectSpread(_objectSpread({}, pick(setting, defaultSet)), customColumn), {}, {
109
117
  formItemRewrite: _objectSpread(_objectSpread({}, (_customColumn = customColumn) === null || _customColumn === void 0 ? void 0 : _customColumn.formItemRewrite), {}, {
110
118
  moduleCode: moduleCode,
@@ -113,7 +121,7 @@ var buildLdGridForm = function buildLdGridForm(_ref) {
113
121
  render: setting === null || setting === void 0 ? void 0 : setting.render,
114
122
  setting: omit(setting, [].concat(defaultSet, ['uid', 'field', 'render']))
115
123
  })
116
- })));
124
+ }), columnUiData));
117
125
  return result;
118
126
  }, []);
119
127
  defaultValues.current = _defaultValues;
package/es/helper/form.js CHANGED
@@ -69,9 +69,15 @@ export function translator() {
69
69
  label: allConfig.fieldName,
70
70
  config: {
71
71
  required: !!allConfig.isNotNull,
72
- disabled: !!allConfig.isReadOnly
72
+ disabled: !!allConfig.isReadOnly,
73
+ placeholder: allConfig.placeholder,
74
+ rows: allConfig.rows
73
75
  },
74
76
  layout: 'block',
77
+ align: allConfig.align,
78
+ headerAlign: allConfig.headerAlign,
79
+ width: allConfig.width,
80
+ tip: allConfig.tip,
75
81
  col: allConfig.col || 1,
76
82
  row: allConfig.row || 1
77
83
  };
@@ -20,6 +20,8 @@ var builder = function builder(wrapped) {
20
20
  actions = _ref.actions,
21
21
  _ref$dataSets = _ref.dataSets,
22
22
  dataSets = _ref$dataSets === void 0 ? [] : _ref$dataSets,
23
+ _ref$moduleUiList = _ref.moduleUiList,
24
+ moduleUiList = _ref$moduleUiList === void 0 ? {} : _ref$moduleUiList,
23
25
  _ref$isTree = _ref.isTree,
24
26
  isTree = _ref$isTree === void 0 ? [] : _ref$isTree,
25
27
  doAction = _ref.doAction,
@@ -60,7 +62,8 @@ var builder = function builder(wrapped) {
60
62
  resources: resources,
61
63
  actions: actions,
62
64
  doAction: doAction,
63
- moduleCode: moduleCode
65
+ moduleCode: moduleCode,
66
+ uiSettings: moduleUiList[dataSetKey] // form和grid的页面配置信息
64
67
  });
65
68
  return wrapped(wrappedProps);
66
69
  };
package/es/services.js CHANGED
@@ -21,22 +21,39 @@ function _readModlue() {
21
21
  }));
22
22
  return _readModlue.apply(this, arguments);
23
23
  }
24
- export function noAuthTransformCode(_x2) {
25
- return _noAuthTransformCode.apply(this, arguments);
24
+ export function readUI(_x2) {
25
+ return _readUI.apply(this, arguments);
26
26
  }
27
- function _noAuthTransformCode() {
28
- _noAuthTransformCode = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(params) {
27
+ function _readUI() {
28
+ _readUI = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(get) {
29
29
  return _regeneratorRuntime().wrap(function _callee2$(_context2) {
30
30
  while (1) switch (_context2.prev = _context2.next) {
31
31
  case 0:
32
- return _context2.abrupt("return", request("".concat(api.BASE_HOST, "/page/option/noAuthTransformCode"), {
33
- params: params
34
- }));
32
+ return _context2.abrupt("return", request("".concat(api.LUCKDA_HOST, "/ui/builder/noAuthFetchModuleDataSetUI?").concat(stringify(get))));
35
33
  case 1:
36
34
  case "end":
37
35
  return _context2.stop();
38
36
  }
39
37
  }, _callee2);
40
38
  }));
39
+ return _readUI.apply(this, arguments);
40
+ }
41
+ export function noAuthTransformCode(_x3) {
42
+ return _noAuthTransformCode.apply(this, arguments);
43
+ }
44
+ function _noAuthTransformCode() {
45
+ _noAuthTransformCode = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3(params) {
46
+ return _regeneratorRuntime().wrap(function _callee3$(_context3) {
47
+ while (1) switch (_context3.prev = _context3.next) {
48
+ case 0:
49
+ return _context3.abrupt("return", request("".concat(api.BASE_HOST, "/page/option/noAuthTransformCode"), {
50
+ params: params
51
+ }));
52
+ case 1:
53
+ case "end":
54
+ return _context3.stop();
55
+ }
56
+ }, _callee3);
57
+ }));
41
58
  return _noAuthTransformCode.apply(this, arguments);
42
59
  }
package/es/utils/form.js CHANGED
@@ -1,3 +1,4 @@
1
+ import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
1
2
  import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
2
3
  import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
3
4
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
@@ -22,6 +23,7 @@ import * as formItemUtils from "../helper/FromItems";
22
23
  * 根据动态表单配置项生成formItem
23
24
  * @param {动态表单配置项} props
24
25
  * @param {自定义动态表单配置项} customProps
26
+ * @param {formUi配置项} formUiPreset
25
27
  * @returns <BasicForm name='' ... />
26
28
  */
27
29
  export function getFormItem() {
@@ -30,10 +32,11 @@ export function getFormItem() {
30
32
  property = _ref.property,
31
33
  props = _objectWithoutProperties(_ref, _excluded);
32
34
  var customProps = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
35
+ var formUiPreset = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
33
36
  if (!property) return /*#__PURE__*/React.createElement(React.Fragment, null);
34
37
  if (property === 'sint' || property === 'number' || property === 'long') props.opt_decimal = 0;
35
38
  var comType = comName || defaultComName[property];
36
- var _translator = translator(props),
39
+ var _translator = translator(_objectSpread(_objectSpread({}, props), formUiPreset)),
37
40
  name = _translator.name,
38
41
  translateProps = _objectWithoutProperties(_translator, _excluded2);
39
42
  var _merge = merge(
@@ -202,8 +205,12 @@ export var dataFormat = function dataFormat() {
202
205
  /**
203
206
  *
204
207
  * @param formType
208
+ * @param comName
209
+ * @param property
205
210
  * @param props
211
+ * @param formItemRewrite
206
212
  * @param customProps
213
+ * @param gridUiPreset
207
214
  * @returns {*&{field: *, editable: (false|{required: *}), renderBasicFormItem: ((function(): (*))|*), title, render: *}}
208
215
  */
209
216
  export var getFormColumn = function getFormColumn() {
@@ -216,9 +223,10 @@ export var getFormColumn = function getFormColumn() {
216
223
  var _ref5 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},
217
224
  formItemRewrite = _ref5.formItemRewrite,
218
225
  customProps = _objectWithoutProperties(_ref5, _excluded7);
226
+ var gridUiPreset = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};
219
227
  var formItemType = comName || defaultComName[property];
220
228
  if (formItemType === 'radio') formItemType = 'select';
221
- var _translator2 = translator(props),
229
+ var _translator2 = translator(_objectSpread(_objectSpread({}, props), gridUiPreset)),
222
230
  name = _translator2.name,
223
231
  translateProps = _objectWithoutProperties(_translator2, _excluded8);
224
232
  var _merge2 = merge(
@@ -229,7 +237,7 @@ export var getFormColumn = function getFormColumn() {
229
237
  _props = _objectWithoutProperties(_merge2, _excluded9);
230
238
  var columnRender = getColumnRender(name, formItemType, _props);
231
239
  if (formType !== 'writer') _props.name = name;
232
- return _objectSpread(_objectSpread({
240
+ return _objectSpread(_objectSpread(_objectSpread({}, _props), {}, {
233
241
  title: translateProps.label,
234
242
  editable: formType === 'writer' && {
235
243
  required: _props.required || ((_props$config = _props.config) === null || _props$config === void 0 ? void 0 : _props$config.required)
@@ -259,4 +267,29 @@ export var getFormColumn = function getFormColumn() {
259
267
  field: name,
260
268
  exportField: getExportField(name, formItemType, _props)
261
269
  });
270
+ };
271
+
272
+ /**
273
+ * 合并两个数组,并且数据顺序以arr2为准
274
+ * @param arr1
275
+ * @param arr2
276
+ * @param rowKey
277
+ */
278
+ export var mergeAndSort = function mergeAndSort(arr1, arr2, rowKey) {
279
+ // 将a2转换为一个Map,便于快速查找
280
+ var a2Map = new Map(arr2.map(function (item) {
281
+ return [item[rowKey], item];
282
+ }));
283
+ // 创建一个新的数组,按a2的顺序填充元素,同时包含a1中不在a2中的元素
284
+ var mergedArray = arr2.map(function (item) {
285
+ var a1Item = arr1.find(function (a1) {
286
+ return a1[rowKey] === item[rowKey];
287
+ });
288
+ return a1Item ? _objectSpread(_objectSpread({}, item), a1Item) : item;
289
+ });
290
+ // 将a1中未出现在a2中的元素追加到合并后的数组末尾
291
+ mergedArray.push.apply(mergedArray, _toConsumableArray(arr1.filter(function (a1Item) {
292
+ return !a2Map.has(a1Item[rowKey]);
293
+ })));
294
+ return mergedArray;
262
295
  };
package/es/utils/grid.js CHANGED
@@ -122,12 +122,13 @@ export var getGridColumn = function getGridColumn() {
122
122
  var customProps = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
123
123
  var isTreeGrid = arguments.length > 2 ? arguments[2] : undefined;
124
124
  var writable = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
125
+ var gridUiPreset = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {};
125
126
  var comType = comName || defaultComName[property];
126
127
  var _props$isVirtual = props.isVirtual,
127
128
  isVirtual = _props$isVirtual === void 0 ? false : _props$isVirtual,
128
129
  _props$extra = props.extra,
129
130
  extra = _props$extra === void 0 ? '{}' : _props$extra;
130
- var _translator = translator(props),
131
+ var _translator = translator(_objectSpread(_objectSpread({}, props), gridUiPreset)),
131
132
  name = _translator.name,
132
133
  translateProps = _objectWithoutProperties(_translator, _excluded2);
133
134
  var _merge = merge(translateProps, formatCustomProps(comType, customProps)),
@@ -52,21 +52,28 @@ var builder = function builder(WrappedComponent, moduleCode) {
52
52
  var _useRequest = (0, _ahooks.useRequest)(_services.readModlue, {
53
53
  defaultParams: [{
54
54
  moduleCode: moduleCode
55
- }],
56
- onSuccess: function onSuccess(res) {
57
- var code = res.code,
58
- data = res.data;
59
- if (code === 1) {
60
- setModuleData({
61
- actions: data.actions || {},
62
- dataSets: data.dataSets || {},
63
- isTree: data.isTree || [],
64
- resources: data.resources || []
65
- });
66
- }
67
- }
55
+ }]
56
+ }),
57
+ loading = _useRequest.loading,
58
+ moduleResult = _useRequest.data;
59
+ var _useRequest2 = (0, _ahooks.useRequest)(_services.readUI, {
60
+ defaultParams: [{
61
+ moduleCode: moduleCode
62
+ }]
68
63
  }),
69
- loading = _useRequest.loading;
64
+ loading1 = _useRequest2.loading,
65
+ uiResult = _useRequest2.data;
66
+ (0, _react.useEffect)(function () {
67
+ if (!loading && !loading1 && (moduleResult === null || moduleResult === void 0 ? void 0 : moduleResult.code) === 1 && (uiResult === null || uiResult === void 0 ? void 0 : uiResult.code) === 1) {
68
+ setModuleData({
69
+ actions: moduleResult.data.actions || {},
70
+ dataSets: moduleResult.data.dataSets || {},
71
+ isTree: moduleResult.data.isTree || [],
72
+ resources: moduleResult.data.resources || [],
73
+ moduleUiList: uiResult.data.moduleUiList || {}
74
+ });
75
+ }
76
+ }, [loading, loading1, moduleResult, uiResult]);
70
77
  var openPop = (0, _ahooks.useMemoizedFn)(function (ldId, params) {
71
78
  setPops(function (prev) {
72
79
  return (0, _objectSpread4.default)((0, _objectSpread4.default)({}, prev), {}, (0, _defineProperty2.default)({}, ldId, (0, _objectSpread4.default)((0, _objectSpread4.default)({}, prev[ldId]), params)));
@@ -116,8 +123,8 @@ var builder = function builder(WrappedComponent, moduleCode) {
116
123
  var _props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
117
124
  fieldProps.current = (0, _objectSpread4.default)((0, _objectSpread4.default)({}, fieldProps.current), _props);
118
125
  };
119
- if (loading) return null;
120
- if (!moduleData) return (0, _utils.formatMessage)({
126
+ if (loading || loading1) return null;
127
+ if (!moduleData) if (!moduleData) return (0, _utils.formatMessage)({
121
128
  id: 'luckda.module.loadFailed',
122
129
  label: '模块信息加载失败'
123
130
  });
@@ -17,7 +17,7 @@ var _FormList = require("@luck-design-biz/base/FormList");
17
17
  var _ldBuilder = _interopRequireDefault(require("../../helper/ldBuilder"));
18
18
  var _utils = require("../../utils");
19
19
  var _Builder = require("../Builder");
20
- var _excluded = ["columns", "resources", "actions", "doAction", "ldId", "dataSetKey", "filedsRewrite", "mainFormLdId", "mainDataSetKey", "onValueChange", "onQuery", "onAdd", "onUpdate", "moduleCode", "defaultDataSourceFormat", "ticketData", "relationKey", "fields", "setVerifyRules", "pageProxy"];
20
+ var _excluded = ["columns", "resources", "actions", "doAction", "uiSettings", "ldId", "dataSetKey", "filedsRewrite", "mainFormLdId", "mainDataSetKey", "onValueChange", "onQuery", "onAdd", "onUpdate", "moduleCode", "defaultDataSourceFormat", "ticketData", "relationKey", "fields", "setVerifyRules", "pageProxy"];
21
21
  var didMount = false;
22
22
  var debounceFunc = (0, _lodash.debounce)(function (fields, changedValues, allValues, props) {
23
23
  (0, _lodash.forEach)(changedValues, function (val, key) {
@@ -39,6 +39,8 @@ var buildLdAutoForm = function buildLdAutoForm(_ref) {
39
39
  actions = _ref$actions === void 0 ? {} : _ref$actions,
40
40
  _ref$doAction = _ref.doAction,
41
41
  doAction = _ref$doAction === void 0 ? function () {} : _ref$doAction,
42
+ _ref$uiSettings = _ref.uiSettings,
43
+ uiSettings = _ref$uiSettings === void 0 ? {} : _ref$uiSettings,
42
44
  ldId = _ref.ldId,
43
45
  dataSetKey = _ref.dataSetKey,
44
46
  _ref$filedsRewrite = _ref.filedsRewrite,
@@ -71,9 +73,11 @@ var buildLdAutoForm = function buildLdAutoForm(_ref) {
71
73
  setFieldProps = _ref2.setFieldProps;
72
74
  var defaultValues = /*#__PURE__*/(0, _react.createRef)({});
73
75
  var isMain = ldId === mainFormLdId;
76
+ var formPreset = uiSettings && uiSettings.form && uiSettings.form[0] && uiSettings.form[0].preset ? JSON.parse(uiSettings.form[0].preset) : {};
74
77
  var basicItems = function () {
75
78
  var fieldsObj = (0, _lodash.keyBy)(fields, 'field');
76
- var columnsObj = (0, _lodash.keyBy)(columns, 'field');
79
+ var mergedArray = (0, _utils.mergeAndSort)(columns, formPreset.formFieldPreset || [], 'field');
80
+ var columnsObj = (0, _lodash.keyBy)(mergedArray, 'field');
77
81
  var keys = (0, _lodash.isEmpty)(fields) ? Object.keys(columnsObj) : (0, _lodash.union)(Object.keys(fieldsObj), Object.keys(columnsObj));
78
82
  var _defaultValues = {};
79
83
  var _nodes = (0, _lodash.reduce)(keys, function (result, key) {
@@ -94,6 +98,10 @@ var buildLdAutoForm = function buildLdAutoForm(_ref) {
94
98
  setVerifyRules: setVerifyRules,
95
99
  fieldName: (setting === null || setting === void 0 ? void 0 : setting.fieldAliasName) || col.fieldName
96
100
  }, (0, _lodash.pick)(setting, defaultSet));
101
+ // 该字段配置的表单显示信息
102
+ var colUiData = formPreset.formFieldPreset ? formPreset.formFieldPreset.find(function (c) {
103
+ return c.field === col.field;
104
+ }) : {};
97
105
  result.push((0, _utils.getFormItem)(newCol, (0, _objectSpread3.default)((0, _objectSpread3.default)({
98
106
  formId: ldId,
99
107
  moduleCode: moduleCode
@@ -102,7 +110,7 @@ var buildLdAutoForm = function buildLdAutoForm(_ref) {
102
110
  return onValueChange((0, _defineProperty2.default)({}, ldId, (0, _defineProperty2.default)({}, col.aliaName, value)));
103
111
  },
104
112
  setting: (0, _lodash.omit)(setting, [].concat(defaultSet, ['uid', 'field']))
105
- })));
113
+ }), colUiData));
106
114
  }
107
115
  return result;
108
116
  }, []);
@@ -119,7 +127,8 @@ var buildLdAutoForm = function buildLdAutoForm(_ref) {
119
127
  isMain: isMain,
120
128
  defaultDataSource: (0, _objectSpread3.default)((0, _objectSpread3.default)({}, (0, _utils.formItemDataFormat)(columns.map(function (c) {
121
129
  return (0, _objectSpread3.default)((0, _objectSpread3.default)({}, c), (0, _lodash.keyBy)(fields, 'field')[c.field]);
122
- }), defaultValues.current)), defaultDataSourceFormat(defaultValues.current))
130
+ }), defaultValues.current)), defaultDataSourceFormat(defaultValues.current)),
131
+ col: formPreset.formCol
123
132
  };
124
133
  var onOperate = function onOperate() {
125
134
  var _onOperate = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
@@ -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", "loading", "unclosableSet", "onQuery", "doQuery", "pagination", "pageno", "pagesize", "totalCount", "columnsRewrite", "columnsReset", "batchOperations", "formatDataSource", "resultSet", "actionsColumn", "readFilter", "isFlow", "isTreeGrid", "writable"],
23
+ var _excluded = ["columns", "resources", "actions", "doAction", "afterInit", "uiSettings", "namespace", "wrapperRef", "list", "detail", "params", "filters", "_loading", "loading", "unclosableSet", "onQuery", "doQuery", "pagination", "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,
@@ -28,6 +28,8 @@ var LdGrid = function LdGrid(_ref) {
28
28
  actions = _ref.actions,
29
29
  doAction = _ref.doAction,
30
30
  afterInit = _ref.afterInit,
31
+ _ref$uiSettings = _ref.uiSettings,
32
+ uiSettings = _ref$uiSettings === void 0 ? {} : _ref$uiSettings,
31
33
  namespace = _ref.namespace,
32
34
  wrapperRef = _ref.wrapperRef,
33
35
  list = _ref.list,
@@ -102,6 +104,7 @@ var LdGrid = function LdGrid(_ref) {
102
104
  });
103
105
  });
104
106
  }, [batchOperations]);
107
+ var gridPresetData = uiSettings && uiSettings.grid && uiSettings.grid[0] && uiSettings.grid[0].preset ? JSON.parse(uiSettings.grid[0].preset) : {};
105
108
 
106
109
  /**
107
110
  * 优先级
@@ -118,7 +121,8 @@ var LdGrid = function LdGrid(_ref) {
118
121
  var _columnsRewrite = (0, _lodash.isFunction)(columnsRewrite) ? columnsRewrite(columns) : columnsRewrite;
119
122
  var defaultColumns = (0, _lodash.keyBy)(columns, 'aliaName');
120
123
  var customColumns = (0, _lodash.keyBy)(_columnsRewrite, 'field');
121
- var mergeFields = (0, _lodash.union)((0, _lodash.keys)(customColumns), (0, _lodash.keys)(defaultColumns));
124
+ var presetColumns = (0, _lodash.keyBy)(gridPresetData.gridPreset, 'field'); // ui配置的已排序的列
125
+ var mergeFields = (0, _lodash.union)((0, _lodash.keys)(presetColumns), (0, _lodash.keys)(defaultColumns), (0, _lodash.keys)(customColumns)); // 以UI配置的列排序
122
126
  return (0, _lodash.transform)(mergeFields, function (result, field) {
123
127
  var _customColumns$field;
124
128
  if ((_customColumns$field = customColumns[field]) !== null && _customColumns$field !== void 0 && _customColumns$field.hide) {
@@ -126,9 +130,14 @@ var LdGrid = function LdGrid(_ref) {
126
130
  } else if (!defaultColumns[field]) {
127
131
  // 数据集中不存在的字段以自定义的形式展示
128
132
  result.push(customColumns[field]);
129
- } else if (defaultColumns[field].isShowInGrid)
133
+ } else if (defaultColumns[field].isShowInGrid) {
134
+ // 该字段配置的表单显示信息
135
+ var columnUiData = gridPresetData.gridPreset ? gridPresetData.gridPreset.find(function (c) {
136
+ return c.field === field;
137
+ }) : {};
130
138
  // 数据集中存在的字段和自定义结合展示
131
- result.push((0, _utils.getGridColumn)(defaultColumns[field], customColumns[field] || {}, isTreeGrid, writable));
139
+ result.push((0, _utils.getGridColumn)(defaultColumns[field], customColumns[field] || {}, isTreeGrid, writable, columnUiData));
140
+ }
132
141
  }, []);
133
142
  }, [columns, columnsRewrite, columnsReset]);
134
143
  var _actionsColumn = (0, _ahooks.useCreation)(function () {
@@ -19,7 +19,7 @@ var _utils = require("../../utils");
19
19
  var _form = require("../../helper/form");
20
20
  var _Builder = require("../Builder");
21
21
  var _index = _interopRequireDefault(require("./index.less"));
22
- var _excluded = ["columns", "resources", "actions", "doAction", "ldId", "dataSetKey", "columnsRewrite", "columnsReset", "onQuery", "onAdd", "onUpdate", "onDelete", "mainFormLdId", "mainDataSetKey", "onValueChange", "type", "afterOperate", "moduleCode", "defaultDataSourceFormat", "ticketData", "className", "formRef", "formMode", "fields", "setVerifyRules", "pageProxy"];
22
+ var _excluded = ["columns", "resources", "actions", "doAction", "uiSettings", "ldId", "dataSetKey", "columnsRewrite", "columnsReset", "onQuery", "onAdd", "onUpdate", "onDelete", "mainFormLdId", "mainDataSetKey", "onValueChange", "type", "afterOperate", "moduleCode", "defaultDataSourceFormat", "ticketData", "className", "formRef", "formMode", "fields", "setVerifyRules", "pageProxy"];
23
23
  var buildLdGridForm = function buildLdGridForm(_ref) {
24
24
  var _ref$columns = _ref.columns,
25
25
  columns = _ref$columns === void 0 ? [] : _ref$columns,
@@ -29,6 +29,8 @@ var buildLdGridForm = function buildLdGridForm(_ref) {
29
29
  actions = _ref$actions === void 0 ? {} : _ref$actions,
30
30
  _ref$doAction = _ref.doAction,
31
31
  doAction = _ref$doAction === void 0 ? function () {} : _ref$doAction,
32
+ _ref$uiSettings = _ref.uiSettings,
33
+ uiSettings = _ref$uiSettings === void 0 ? {} : _ref$uiSettings,
32
34
  ldId = _ref.ldId,
33
35
  dataSetKey = _ref.dataSetKey,
34
36
  _ref$columnsRewrite = _ref.columnsRewrite,
@@ -73,9 +75,11 @@ var buildLdGridForm = function buildLdGridForm(_ref) {
73
75
  });
74
76
  return col;
75
77
  });
78
+ var gridPresetData = uiSettings && uiSettings.grid && uiSettings.grid[0] && uiSettings.grid[0].preset ? JSON.parse(uiSettings.grid[0].preset) : {};
76
79
  var _columns = function () {
80
+ var mergedArray = (0, _utils.mergeAndSort)(gridColumns, gridPresetData.gridPreset || [], 'field');
77
81
  var fieldsObj = (0, _lodash.keyBy)(fields, 'field');
78
- var columnsObj = (0, _lodash.keyBy)(gridColumns, 'field');
82
+ var columnsObj = (0, _lodash.keyBy)(mergedArray, 'field');
79
83
  var keys = (0, _lodash.isEmpty)(fields) ? Object.keys(columnsObj) : Object.keys(fieldsObj);
80
84
  var _defaultValues = {};
81
85
  var _nodes = (0, _lodash.reduce)(keys, function (result, key) {
@@ -113,6 +117,10 @@ var buildLdGridForm = function buildLdGridForm(_ref) {
113
117
  fieldName: (setting === null || setting === void 0 ? void 0 : setting.fieldAliasName) || col.fieldName
114
118
  });
115
119
  var defaultSet = ['width', 'align', 'headerAlign', 'pinned', 'tip', 'formMode'];
120
+ // 该字段配置的表单显示信息
121
+ var columnUiData = gridPresetData.gridPreset ? gridPresetData.gridPreset.find(function (c) {
122
+ return c.field === col.field;
123
+ }) : {};
116
124
  result.push((0, _utils.getFormColumn)(type, newCol, (0, _objectSpread4.default)((0, _objectSpread4.default)((0, _objectSpread4.default)({}, (0, _lodash.pick)(setting, defaultSet)), customColumn), {}, {
117
125
  formItemRewrite: (0, _objectSpread4.default)((0, _objectSpread4.default)({}, (_customColumn = customColumn) === null || _customColumn === void 0 ? void 0 : _customColumn.formItemRewrite), {}, {
118
126
  moduleCode: moduleCode,
@@ -121,7 +129,7 @@ var buildLdGridForm = function buildLdGridForm(_ref) {
121
129
  render: setting === null || setting === void 0 ? void 0 : setting.render,
122
130
  setting: (0, _lodash.omit)(setting, [].concat(defaultSet, ['uid', 'field', 'render']))
123
131
  })
124
- })));
132
+ }), columnUiData));
125
133
  return result;
126
134
  }, []);
127
135
  defaultValues.current = _defaultValues;
@@ -77,9 +77,15 @@ function translator() {
77
77
  label: allConfig.fieldName,
78
78
  config: {
79
79
  required: !!allConfig.isNotNull,
80
- disabled: !!allConfig.isReadOnly
80
+ disabled: !!allConfig.isReadOnly,
81
+ placeholder: allConfig.placeholder,
82
+ rows: allConfig.rows
81
83
  },
82
84
  layout: 'block',
85
+ align: allConfig.align,
86
+ headerAlign: allConfig.headerAlign,
87
+ width: allConfig.width,
88
+ tip: allConfig.tip,
83
89
  col: allConfig.col || 1,
84
90
  row: allConfig.row || 1
85
91
  };
@@ -27,6 +27,8 @@ var builder = function builder(wrapped) {
27
27
  actions = _ref.actions,
28
28
  _ref$dataSets = _ref.dataSets,
29
29
  dataSets = _ref$dataSets === void 0 ? [] : _ref$dataSets,
30
+ _ref$moduleUiList = _ref.moduleUiList,
31
+ moduleUiList = _ref$moduleUiList === void 0 ? {} : _ref$moduleUiList,
30
32
  _ref$isTree = _ref.isTree,
31
33
  isTree = _ref$isTree === void 0 ? [] : _ref$isTree,
32
34
  doAction = _ref.doAction,
@@ -67,7 +69,8 @@ var builder = function builder(wrapped) {
67
69
  resources: resources,
68
70
  actions: actions,
69
71
  doAction: doAction,
70
- moduleCode: moduleCode
72
+ moduleCode: moduleCode,
73
+ uiSettings: moduleUiList[dataSetKey] // form和grid的页面配置信息
71
74
  });
72
75
  return wrapped(wrappedProps);
73
76
  };
package/lib/services.js CHANGED
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  });
7
7
  exports.noAuthTransformCode = noAuthTransformCode;
8
8
  exports.readModlue = readModlue;
9
+ exports.readUI = readUI;
9
10
  var _regeneratorRuntime2 = _interopRequireDefault(require("@babel/runtime/helpers/regeneratorRuntime"));
10
11
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
11
12
  var _utils = require("@luck-design-biz/base/utils");
@@ -29,22 +30,39 @@ function _readModlue() {
29
30
  }));
30
31
  return _readModlue.apply(this, arguments);
31
32
  }
32
- function noAuthTransformCode(_x2) {
33
- return _noAuthTransformCode.apply(this, arguments);
33
+ function readUI(_x2) {
34
+ return _readUI.apply(this, arguments);
34
35
  }
35
- function _noAuthTransformCode() {
36
- _noAuthTransformCode = (0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee2(params) {
36
+ function _readUI() {
37
+ _readUI = (0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee2(get) {
37
38
  return (0, _regeneratorRuntime2.default)().wrap(function _callee2$(_context2) {
38
39
  while (1) switch (_context2.prev = _context2.next) {
39
40
  case 0:
40
- return _context2.abrupt("return", (0, _utils.request)("".concat(_ApiConfig.default.BASE_HOST, "/page/option/noAuthTransformCode"), {
41
- params: params
42
- }));
41
+ return _context2.abrupt("return", (0, _utils.request)("".concat(_ApiConfig.default.LUCKDA_HOST, "/ui/builder/noAuthFetchModuleDataSetUI?").concat(stringify(get))));
43
42
  case 1:
44
43
  case "end":
45
44
  return _context2.stop();
46
45
  }
47
46
  }, _callee2);
48
47
  }));
48
+ return _readUI.apply(this, arguments);
49
+ }
50
+ function noAuthTransformCode(_x3) {
51
+ return _noAuthTransformCode.apply(this, arguments);
52
+ }
53
+ function _noAuthTransformCode() {
54
+ _noAuthTransformCode = (0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee3(params) {
55
+ return (0, _regeneratorRuntime2.default)().wrap(function _callee3$(_context3) {
56
+ while (1) switch (_context3.prev = _context3.next) {
57
+ case 0:
58
+ return _context3.abrupt("return", (0, _utils.request)("".concat(_ApiConfig.default.BASE_HOST, "/page/option/noAuthTransformCode"), {
59
+ params: params
60
+ }));
61
+ case 1:
62
+ case "end":
63
+ return _context3.stop();
64
+ }
65
+ }, _callee3);
66
+ }));
49
67
  return _noAuthTransformCode.apply(this, arguments);
50
68
  }
package/lib/utils/form.js CHANGED
@@ -7,6 +7,8 @@ Object.defineProperty(exports, "__esModule", {
7
7
  });
8
8
  exports.getFormColumn = exports.formItemDataFormat = exports.dataFormat = void 0;
9
9
  exports.getFormItem = getFormItem;
10
+ exports.mergeAndSort = void 0;
11
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
10
12
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
13
  var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
12
14
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
@@ -30,6 +32,7 @@ var _excluded = ["comName", "property"],
30
32
  * 根据动态表单配置项生成formItem
31
33
  * @param {动态表单配置项} props
32
34
  * @param {自定义动态表单配置项} customProps
35
+ * @param {formUi配置项} formUiPreset
33
36
  * @returns <BasicForm name='' ... />
34
37
  */
35
38
  function getFormItem() {
@@ -38,10 +41,11 @@ function getFormItem() {
38
41
  property = _ref.property,
39
42
  props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
40
43
  var customProps = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
44
+ var formUiPreset = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
41
45
  if (!property) return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null);
42
46
  if (property === 'sint' || property === 'number' || property === 'long') props.opt_decimal = 0;
43
47
  var comType = comName || _form.defaultComName[property];
44
- var _translator = (0, _form.translator)(props),
48
+ var _translator = (0, _form.translator)((0, _objectSpread2.default)((0, _objectSpread2.default)({}, props), formUiPreset)),
45
49
  name = _translator.name,
46
50
  translateProps = (0, _objectWithoutProperties2.default)(_translator, _excluded2);
47
51
  var _merge = (0, _lodash.merge)(
@@ -210,8 +214,12 @@ var dataFormat = exports.dataFormat = function dataFormat() {
210
214
  /**
211
215
  *
212
216
  * @param formType
217
+ * @param comName
218
+ * @param property
213
219
  * @param props
220
+ * @param formItemRewrite
214
221
  * @param customProps
222
+ * @param gridUiPreset
215
223
  * @returns {*&{field: *, editable: (false|{required: *}), renderBasicFormItem: ((function(): (*))|*), title, render: *}}
216
224
  */
217
225
  var getFormColumn = exports.getFormColumn = function getFormColumn() {
@@ -224,9 +232,10 @@ var getFormColumn = exports.getFormColumn = function getFormColumn() {
224
232
  var _ref5 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},
225
233
  formItemRewrite = _ref5.formItemRewrite,
226
234
  customProps = (0, _objectWithoutProperties2.default)(_ref5, _excluded7);
235
+ var gridUiPreset = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};
227
236
  var formItemType = comName || _form.defaultComName[property];
228
237
  if (formItemType === 'radio') formItemType = 'select';
229
- var _translator2 = (0, _form.translator)(props),
238
+ var _translator2 = (0, _form.translator)((0, _objectSpread2.default)((0, _objectSpread2.default)({}, props), gridUiPreset)),
230
239
  name = _translator2.name,
231
240
  translateProps = (0, _objectWithoutProperties2.default)(_translator2, _excluded8);
232
241
  var _merge2 = (0, _lodash.merge)(
@@ -237,7 +246,7 @@ var getFormColumn = exports.getFormColumn = function getFormColumn() {
237
246
  _props = (0, _objectWithoutProperties2.default)(_merge2, _excluded9);
238
247
  var columnRender = (0, _grid.getColumnRender)(name, formItemType, _props);
239
248
  if (formType !== 'writer') _props.name = name;
240
- return (0, _objectSpread2.default)((0, _objectSpread2.default)({
249
+ return (0, _objectSpread2.default)((0, _objectSpread2.default)((0, _objectSpread2.default)({}, _props), {}, {
241
250
  title: translateProps.label,
242
251
  editable: formType === 'writer' && {
243
252
  required: _props.required || ((_props$config = _props.config) === null || _props$config === void 0 ? void 0 : _props$config.required)
@@ -267,4 +276,29 @@ var getFormColumn = exports.getFormColumn = function getFormColumn() {
267
276
  field: name,
268
277
  exportField: (0, _grid.getExportField)(name, formItemType, _props)
269
278
  });
279
+ };
280
+
281
+ /**
282
+ * 合并两个数组,并且数据顺序以arr2为准
283
+ * @param arr1
284
+ * @param arr2
285
+ * @param rowKey
286
+ */
287
+ var mergeAndSort = exports.mergeAndSort = function mergeAndSort(arr1, arr2, rowKey) {
288
+ // 将a2转换为一个Map,便于快速查找
289
+ var a2Map = new Map(arr2.map(function (item) {
290
+ return [item[rowKey], item];
291
+ }));
292
+ // 创建一个新的数组,按a2的顺序填充元素,同时包含a1中不在a2中的元素
293
+ var mergedArray = arr2.map(function (item) {
294
+ var a1Item = arr1.find(function (a1) {
295
+ return a1[rowKey] === item[rowKey];
296
+ });
297
+ return a1Item ? (0, _objectSpread2.default)((0, _objectSpread2.default)({}, item), a1Item) : item;
298
+ });
299
+ // 将a1中未出现在a2中的元素追加到合并后的数组末尾
300
+ mergedArray.push.apply(mergedArray, (0, _toConsumableArray2.default)(arr1.filter(function (a1Item) {
301
+ return !a2Map.has(a1Item[rowKey]);
302
+ })));
303
+ return mergedArray;
270
304
  };
package/lib/utils/grid.js CHANGED
@@ -130,12 +130,13 @@ var getGridColumn = exports.getGridColumn = function getGridColumn() {
130
130
  var customProps = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
131
131
  var isTreeGrid = arguments.length > 2 ? arguments[2] : undefined;
132
132
  var writable = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
133
+ var gridUiPreset = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {};
133
134
  var comType = comName || _form.defaultComName[property];
134
135
  var _props$isVirtual = props.isVirtual,
135
136
  isVirtual = _props$isVirtual === void 0 ? false : _props$isVirtual,
136
137
  _props$extra = props.extra,
137
138
  extra = _props$extra === void 0 ? '{}' : _props$extra;
138
- var _translator = (0, _form.translator)(props),
139
+ var _translator = (0, _form.translator)((0, _objectSpread2.default)((0, _objectSpread2.default)({}, props), gridUiPreset)),
139
140
  name = _translator.name,
140
141
  translateProps = (0, _objectWithoutProperties2.default)(_translator, _excluded2);
141
142
  var _merge = (0, _lodash.merge)(translateProps, (0, _form.formatCustomProps)(comType, customProps)),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@luck-design-biz/luckda",
3
- "version": "1.0.2-20",
3
+ "version": "1.0.2-20temp",
4
4
  "description": "前端配置管理中心业务组件库",
5
5
  "scripts": {
6
6
  "start": "cross-env NODE_OPTIONS=--max-old-space-size=10240 USER_RUNTIME=SITE RUNTIME=dev umi dev",