@bchr/bchr-front-lib 0.3.106 → 0.3.107

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.
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.customDefIcon = customDefIcon;
7
7
  exports.rebuildDate = rebuildDate;
8
- exports.jsonToMap = exports.mapToJson = exports.parentsInsertchildrenOfCustomizeAsParentColumn = exports.listToTreeDataOfCustomizeAsParentColumn = exports.praseStrEmpty = exports.listToTreeDataByTopParentPk = exports.listToTreeData = exports.getFunctionLetHelpFilePath = exports.buildPathNameWithPropsMatch = exports.FunctionLetHelper = exports.genGetterAndReadonlySetter = void 0;
8
+ exports.treeDataToListByChildFieldName = exports.jsonToMap = exports.mapToJson = exports.parentsInsertchildrenOfCustomizeAsParentColumn = exports.listToTreeDataOfCustomizeAsParentColumn = exports.praseStrEmpty = exports.listToTreeDataByTopParentPk = exports.listToTreeData = exports.getFunctionLetHelpFilePath = exports.buildPathNameWithPropsMatch = exports.FunctionLetHelper = exports.genGetterAndReadonlySetter = void 0;
9
9
 
10
10
  var _react = _interopRequireDefault(require("react"));
11
11
 
@@ -195,6 +195,31 @@ var listToTreeData = function listToTreeData(data) {
195
195
 
196
196
  exports.listToTreeData = listToTreeData;
197
197
 
198
+ function getChildNodesToListData(parent_nodes, listData, childFieldName) {
199
+ for (var i = 0, len = parent_nodes.length; i < len; i++) {
200
+ var parent_node_item = parent_nodes[i];
201
+ listData.push(parent_node_item);
202
+ var childrenData = parent_node_item[childFieldName];
203
+
204
+ if (childrenData && childrenData.length > 0) {
205
+ getChildNodesToListData(childrenData, listData, childFieldName);
206
+ }
207
+ }
208
+ }
209
+
210
+ var treeDataToListByChildFieldName = function treeDataToListByChildFieldName(treeData, childFieldName) {
211
+ var listData = [];
212
+
213
+ if (!treeData || treeData.length == 0) {
214
+ return listData;
215
+ }
216
+
217
+ getChildNodesToListData(treeData, listData, childFieldName);
218
+ return listData;
219
+ };
220
+
221
+ exports.treeDataToListByChildFieldName = treeDataToListByChildFieldName;
222
+
198
223
  var listToTreeDataByTopParentPk = function listToTreeDataByTopParentPk(data, topParentPk, children_data_container_column_name) {
199
224
  if (topParentPk != 0 && !topParentPk) {
200
225
  return [];
@@ -23,6 +23,8 @@ var _InputPassword = _interopRequireDefault(require("../InputPassword"));
23
23
 
24
24
  require("../../../AppFormulaFunctions");
25
25
 
26
+ var _BaseAppUtils = require("../../../BaseAppUtils");
27
+
26
28
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
27
29
 
28
30
  function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }
@@ -779,36 +781,73 @@ var FormForModify = /*#__PURE__*/function (_React$Component) {
779
781
  return "continue";
780
782
  }
781
783
 
782
- data[code] = formulaFunctionValue;
783
- var otherFormItemValue;
784
+ var convertedStateValue = _this2.convertStringValueForFormula(ui_render_type, formulaFunctionValue, "dataForState");
784
785
 
785
- if (_consts.UI_RENDER_TYPE.DATE == ui_render_type) {
786
- otherFormItemValue = (0, _moment["default"])(formulaFunctionValue, "YYYY-MM-DD");
787
- } else {
788
- otherFormItemValue = formulaFunctionValue;
786
+ var convertedFormItemValue = _this2.convertStringValueForFormula(ui_render_type, formulaFunctionValue, "dataForForm");
787
+
788
+ data[code] = convertedStateValue;
789
+ setFieldsValue(_defineProperty({}, code, convertedFormItemValue));
790
+
791
+ if (!display_code || display_code.trim().length == 0) {
792
+ return "continue";
789
793
  }
790
794
 
791
- setFieldsValue(_defineProperty({}, code, otherFormItemValue));
792
- } else {
793
- data[code] = formItemValue;
794
- setFieldsValue(_defineProperty({}, code, formItemValue));
795
+ var defList = def_docs["def_" + ref_pk];
796
+
797
+ if (defList && defList.length > 0) {
798
+ var dictList;
799
+
800
+ if (_consts.UI_RENDER_TYPE.SELECT == ui_render_type) {
801
+ dictList = defList;
802
+ } else if (_consts.UI_RENDER_TYPE.TREE_SELECT == ui_render_type) {
803
+ dictList = (0, _BaseAppUtils.treeDataToListByChildFieldName)(defList, "children");
804
+ }
805
+
806
+ var filteredDict = dictList.find(function (item) {
807
+ return item.value == formulaFunctionValue;
808
+ });
809
+
810
+ if (filteredDict) {
811
+ var ref_title = filteredDict.title;
812
+ data[display_code] = ref_title;
813
+ setFieldsValue(_defineProperty({}, display_code, ref_title));
814
+ }
815
+ }
816
+ } // last: set value for other form item
817
+ else {
818
+ var _convertedStateValue = _this2.convertStringValueForFormula(ui_render_type, formItemValue, "dataForState");
795
819
 
796
- if (display_code && display_code.trim().length > 0) {
797
- var dictList = def_docs["def_" + ref_pk];
820
+ var _convertedFormItemValue = _this2.convertStringValueForFormula(ui_render_type, formItemValue, "dataForForm");
798
821
 
799
- if (dictList && dictList.length > 0) {
800
- var filteredDict = dictList.find(function (item) {
801
- return item.pk.toString() == formItemValue;
822
+ data[code] = _convertedStateValue;
823
+ setFieldsValue(_defineProperty({}, code, _convertedFormItemValue));
824
+
825
+ if (!display_code || display_code.trim().length == 0) {
826
+ return "continue";
827
+ }
828
+
829
+ var _defList = def_docs["def_" + ref_pk];
830
+
831
+ if (_defList && _defList.length > 0) {
832
+ var _dictList;
833
+
834
+ if (_consts.UI_RENDER_TYPE.SELECT == ui_render_type) {
835
+ _dictList = _defList;
836
+ } else if (_consts.UI_RENDER_TYPE.TREE_SELECT == ui_render_type) {
837
+ _dictList = (0, _BaseAppUtils.treeDataToListByChildFieldName)(_defList, "children");
838
+ }
839
+
840
+ var _filteredDict = _dictList.find(function (item) {
841
+ return item.value == formItemValue;
802
842
  });
803
843
 
804
- if (filteredDict) {
805
- var ref_title = filteredDict.title;
806
- data[display_code] = ref_title;
807
- setFieldsValue(_defineProperty({}, display_code, ref_title));
844
+ if (_filteredDict) {
845
+ var _ref_title = _filteredDict.title;
846
+ data[display_code] = _ref_title;
847
+ setFieldsValue(_defineProperty({}, display_code, _ref_title));
808
848
  }
809
849
  }
810
850
  }
811
- }
812
851
  };
813
852
 
814
853
  for (var i = 0, len = otherFormItemResponses.length; i < len; i++) {
@@ -856,7 +895,13 @@ var FormForModify = /*#__PURE__*/function (_React$Component) {
856
895
  for (var _i2 = 0; _i2 < fieldsLength; _i2++) {
857
896
  var _formItem = info_set_fields[_i2];
858
897
  var code = _formItem.code,
859
- ui_render_type = _formItem.ui_render_type;
898
+ ui_render_type = _formItem.ui_render_type,
899
+ editFormulaConfigs = _formItem.editFormulaConfigs;
900
+
901
+ if (!editFormulaConfigs || editFormulaConfigs.length == 0) {
902
+ continue;
903
+ }
904
+
860
905
  var fieldCodeValue = data[code];
861
906
 
862
907
  if (_consts.UI_RENDER_TYPE.SWITCH == ui_render_type) {
@@ -1165,6 +1210,83 @@ var FormForModify = /*#__PURE__*/function (_React$Component) {
1165
1210
  callback(props);
1166
1211
  }
1167
1212
  }
1213
+ }, {
1214
+ key: "convertStringValueForFormula",
1215
+ // 日期类型的值在表单中和state中的值对象不同(for_data_type: dataForForm || dataForState)
1216
+ value: function convertStringValueForFormula(ui_render_type, formItemValue, for_data_type) {
1217
+ var value;
1218
+
1219
+ switch (ui_render_type) {
1220
+ case _consts.UI_RENDER_TYPE.INPUT:
1221
+ case _consts.UI_RENDER_TYPE.INPUT_NUMBER:
1222
+ case _consts.UI_RENDER_TYPE.INPUT_PASSWORD:
1223
+ case _consts.UI_RENDER_TYPE.TEXT_AREA:
1224
+ case _consts.UI_RENDER_TYPE.TREE_SELECT:
1225
+ value = formItemValue;
1226
+ break;
1227
+
1228
+ case _consts.UI_RENDER_TYPE.SELECT:
1229
+ if (typeof formItemValue === 'number') {
1230
+ value = formItemValue && formItemValue > 0 ? formItemValue : null;
1231
+ } else {
1232
+ value = Number(formItemValue);
1233
+ value = formItemValue && formItemValue > 0 ? formItemValue : null;
1234
+ }
1235
+
1236
+ break;
1237
+
1238
+ case _consts.UI_RENDER_TYPE.DATE:
1239
+ if (for_data_type == "dataForForm") {
1240
+ value = formItemValue ? (0, _moment["default"])(formItemValue) : "";
1241
+ } else {
1242
+ value = formItemValue;
1243
+ }
1244
+
1245
+ break;
1246
+
1247
+ case _consts.UI_RENDER_TYPE.DATE_YEAR:
1248
+ if (for_data_type == "dataForForm") {
1249
+ value = formItemValue ? (0, _moment["default"])(formItemValue, 'YYYY') : "";
1250
+ } else {
1251
+ value = formItemValue;
1252
+ }
1253
+
1254
+ break;
1255
+
1256
+ case _consts.UI_RENDER_TYPE.DATE_MONTH:
1257
+ if (for_data_type == "dataForForm") {
1258
+ value = formItemValue ? (0, _moment["default"])(formItemValue, 'YYYYMM') : "";
1259
+ } else {
1260
+ value = formItemValue;
1261
+ }
1262
+
1263
+ break;
1264
+
1265
+ case _consts.UI_RENDER_TYPE.DATE_TIME:
1266
+ if (for_data_type == "dataForForm") {
1267
+ value = formItemValue ? (0, _moment["default"])(formItemValue).format("YYYY-MM-DD hh:mm:ss") : "";
1268
+ } else {
1269
+ value = formItemValue;
1270
+ }
1271
+
1272
+ break;
1273
+
1274
+ case _consts.UI_RENDER_TYPE.SWITCH:
1275
+ if (typeof formItemValue === 'boolean') {
1276
+ value = formItemValue;
1277
+ } else {
1278
+ value = (formItemValue + '' || '').toLowerCase() === 'true' || (formItemValue + '' || '').toLowerCase() === '1' ? true : false;
1279
+ }
1280
+
1281
+ break;
1282
+
1283
+ default:
1284
+ value = formItemValue;
1285
+ break;
1286
+ }
1287
+
1288
+ return value;
1289
+ }
1168
1290
  }, {
1169
1291
  key: "switchOnChange",
1170
1292
  value: function switchOnChange(config, callback, checked, event) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bchr/bchr-front-lib",
3
- "version": "0.3.106",
3
+ "version": "0.3.107",
4
4
  "description": "bchr front lib",
5
5
  "main": "lib/index.js",
6
6
  "scripts": {
@@ -146,6 +146,31 @@ const listToTreeData = function(data) {
146
146
  return treeData;
147
147
  };
148
148
 
149
+
150
+ function getChildNodesToListData(parent_nodes, listData, childFieldName) {
151
+ for (let i = 0, len = parent_nodes.length; i < len; i++) {
152
+ let parent_node_item = parent_nodes[i];
153
+ listData.push(parent_node_item);
154
+
155
+ let childrenData = parent_node_item[childFieldName];
156
+ if (childrenData && childrenData.length > 0) {
157
+ getChildNodesToListData(childrenData, listData, childFieldName);
158
+ }
159
+ }
160
+ }
161
+
162
+ const treeDataToListByChildFieldName = function(treeData, childFieldName) {
163
+ let listData = [];
164
+
165
+ if (!treeData || treeData.length == 0) {
166
+ return listData;
167
+ }
168
+
169
+ getChildNodesToListData(treeData, listData, childFieldName);
170
+
171
+ return listData;
172
+ };
173
+
149
174
  const listToTreeDataByTopParentPk = function(data, topParentPk, children_data_container_column_name) {
150
175
  if (topParentPk != 0 && !topParentPk) {
151
176
  return [];
@@ -261,5 +286,6 @@ export {
261
286
  listToTreeDataOfCustomizeAsParentColumn,
262
287
  parentsInsertchildrenOfCustomizeAsParentColumn,
263
288
  mapToJson,
264
- jsonToMap
289
+ jsonToMap,
290
+ treeDataToListByChildFieldName
265
291
  }
@@ -23,6 +23,7 @@ import zhCN from "antd/es/locale/zh_CN";
23
23
  import HttpService from "../../../../services/HttpService";
24
24
  import InputPassword from "../InputPassword";
25
25
  import '../../../AppFormulaFunctions'
26
+ import {treeDataToListByChildFieldName} from "../../../BaseAppUtils";
26
27
 
27
28
  const FormulasValueType = {
28
29
  Disabled : "disabled",
@@ -65,7 +66,12 @@ class FormForModify extends React.Component{
65
66
  for (let i = 0; i < fieldsLength; i++) {
66
67
  let formItem = info_set_fields[i];
67
68
 
68
- let {code, ui_render_type} = formItem;
69
+ let {code, ui_render_type, editFormulaConfigs} = formItem;
70
+
71
+ if (!editFormulaConfigs || editFormulaConfigs.length == 0) {
72
+ continue;
73
+ }
74
+
69
75
  let fieldCodeValue = data[code];
70
76
 
71
77
  if (UI_RENDER_TYPE.SWITCH == ui_render_type) {
@@ -1122,29 +1128,61 @@ class FormForModify extends React.Component{
1122
1128
  continue;
1123
1129
  }
1124
1130
 
1125
- data[code] = formulaFunctionValue;
1131
+ let convertedStateValue = this.convertStringValueForFormula(ui_render_type, formulaFunctionValue, "dataForState");
1132
+ let convertedFormItemValue = this.convertStringValueForFormula(ui_render_type, formulaFunctionValue, "dataForForm");
1126
1133
 
1127
- let otherFormItemValue;
1128
- if (UI_RENDER_TYPE.DATE == ui_render_type) {
1129
- otherFormItemValue = moment(formulaFunctionValue, "YYYY-MM-DD");
1130
- } else {
1131
- otherFormItemValue = formulaFunctionValue;
1134
+ data[code] = convertedStateValue;
1135
+ setFieldsValue({[code]: convertedFormItemValue});
1136
+
1137
+ if (!display_code || display_code.trim().length == 0) {
1138
+ continue;
1132
1139
  }
1133
- setFieldsValue({[code]: otherFormItemValue});
1134
- } else {
1135
- data[code] = formItemValue;
1136
- setFieldsValue({[code]: formItemValue});
1137
-
1138
- if (display_code && display_code.trim().length > 0) {
1139
- let dictList = def_docs["def_" + ref_pk];
1140
- if (dictList && dictList.length > 0) {
1141
- let filteredDict = dictList.find(item => item.pk.toString() == formItemValue);
1142
- if (filteredDict) {
1143
- let ref_title = filteredDict.title;
1144
-
1145
- data[display_code] = ref_title;
1146
- setFieldsValue({[display_code]: ref_title});
1147
- }
1140
+
1141
+ let defList = def_docs["def_" + ref_pk];
1142
+ if (defList && defList.length > 0) {
1143
+ let dictList;
1144
+ if (UI_RENDER_TYPE.SELECT == ui_render_type) {
1145
+ dictList = defList;
1146
+ } else if (UI_RENDER_TYPE.TREE_SELECT == ui_render_type) {
1147
+ dictList = treeDataToListByChildFieldName(defList, "children");
1148
+ }
1149
+
1150
+ let filteredDict = dictList.find(item => item.value == formulaFunctionValue);
1151
+ if (filteredDict) {
1152
+ let ref_title = filteredDict.title;
1153
+
1154
+ data[display_code] = ref_title;
1155
+ setFieldsValue({[display_code]: ref_title});
1156
+ }
1157
+ }
1158
+ }
1159
+ // last: set value for other form item
1160
+ else {
1161
+ let convertedStateValue = this.convertStringValueForFormula(ui_render_type, formItemValue, "dataForState");
1162
+ let convertedFormItemValue = this.convertStringValueForFormula(ui_render_type, formItemValue, "dataForForm");
1163
+
1164
+ data[code] = convertedStateValue;
1165
+ setFieldsValue({[code]: convertedFormItemValue});
1166
+
1167
+ if (!display_code || display_code.trim().length == 0) {
1168
+ continue;
1169
+ }
1170
+
1171
+ let defList = def_docs["def_" + ref_pk];
1172
+ if (defList && defList.length > 0) {
1173
+ let dictList;
1174
+ if (UI_RENDER_TYPE.SELECT == ui_render_type) {
1175
+ dictList = defList;
1176
+ } else if (UI_RENDER_TYPE.TREE_SELECT == ui_render_type) {
1177
+ dictList = treeDataToListByChildFieldName(defList, "children");
1178
+ }
1179
+
1180
+ let filteredDict = dictList.find(item => item.value == formItemValue);
1181
+ if (filteredDict) {
1182
+ let ref_title = filteredDict.title;
1183
+
1184
+ data[display_code] = ref_title;
1185
+ setFieldsValue({[display_code]: ref_title});
1148
1186
  }
1149
1187
  }
1150
1188
  }
@@ -1155,6 +1193,68 @@ class FormForModify extends React.Component{
1155
1193
  }
1156
1194
  }
1157
1195
 
1196
+ // 日期类型的值在表单中和state中的值对象不同(for_data_type: dataForForm || dataForState)
1197
+ convertStringValueForFormula(ui_render_type, formItemValue, for_data_type) {
1198
+ let value;
1199
+ switch (ui_render_type) {
1200
+ case UI_RENDER_TYPE.INPUT:
1201
+ case UI_RENDER_TYPE.INPUT_NUMBER:
1202
+ case UI_RENDER_TYPE.INPUT_PASSWORD:
1203
+ case UI_RENDER_TYPE.TEXT_AREA:
1204
+ case UI_RENDER_TYPE.TREE_SELECT:
1205
+ value = formItemValue;
1206
+ break;
1207
+ case UI_RENDER_TYPE.SELECT:
1208
+ if (typeof formItemValue === 'number') {
1209
+ value = formItemValue && formItemValue > 0 ? formItemValue : null;
1210
+ } else {
1211
+ value = Number(formItemValue);
1212
+ value = formItemValue && formItemValue > 0 ? formItemValue : null;
1213
+ }
1214
+ break;
1215
+ case UI_RENDER_TYPE.DATE:
1216
+ if (for_data_type == "dataForForm") {
1217
+ value = (formItemValue ? moment(formItemValue) : "");
1218
+ } else {
1219
+ value = formItemValue;
1220
+ }
1221
+ break;
1222
+ case UI_RENDER_TYPE.DATE_YEAR:
1223
+ if (for_data_type == "dataForForm") {
1224
+ value = (formItemValue ? moment(formItemValue, 'YYYY') : "");
1225
+ } else {
1226
+ value = formItemValue;
1227
+ }
1228
+ break;
1229
+ case UI_RENDER_TYPE.DATE_MONTH:
1230
+ if (for_data_type == "dataForForm") {
1231
+ value = (formItemValue ? moment(formItemValue, 'YYYYMM') : "");
1232
+ } else {
1233
+ value = formItemValue;
1234
+ }
1235
+ break;
1236
+ case UI_RENDER_TYPE.DATE_TIME:
1237
+ if (for_data_type == "dataForForm") {
1238
+ value = (formItemValue ? moment(formItemValue).format("YYYY-MM-DD hh:mm:ss") : "");
1239
+ } else {
1240
+ value = formItemValue;
1241
+ }
1242
+ break;
1243
+ case UI_RENDER_TYPE.SWITCH:
1244
+ if (typeof formItemValue === 'boolean') {
1245
+ value = formItemValue;
1246
+ } else {
1247
+ value = (((formItemValue + '' || '').toLowerCase() === 'true' || (formItemValue + '' || '').toLowerCase() === '1') ? true : false);
1248
+ }
1249
+ break;
1250
+ default:
1251
+ value = formItemValue;
1252
+ break;
1253
+ }
1254
+
1255
+ return value;
1256
+ }
1257
+
1158
1258
  switchOnChange(config, callback, checked, event) {
1159
1259
  this.formItemOnChangeForFormula(config, checked);
1160
1260