maycur-business
Version:
maycur business react components of web
84 lines (68 loc) • 2.33 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = void 0;
var _slimLodash = _interopRequireDefault(require("../utils/slimLodash"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
/*
* @Description: file content
* @Author: RongWei
* @Date: 2019-08-20 15:17:46
* @LastEditors: RongWei
* @LastEditTime: 2019-09-18 19:50:11
*/
/**
* 用于生成数据互联的规则
*/
/* 数据互联字段映射 */
function genAssociatedFormula(field, formFields) {
var result = [];
if (field && field.property && !field.property.isMulti) {
_slimLodash["default"].forEach(field.associationDataRelations, function (item) {
var targetField = _slimLodash["default"].find(formFields, function (o) {
return o.identifier === item.identifier;
});
var formula = '';
if (targetField && targetField.type === 'DateTimeInput' && targetField.property.selectionModule === 'SINGLE') {
formula = "mkDate(".concat(item.businessCode, ")");
} else {
formula = item.businessCode;
}
result.push({
targetField: item.identifier,
referField: field.identifier,
formula: formula,
setFunctionList: {
mkDate: function mkDate(value) {
// 数据互联无默认值时,value值不合法,需要转换判断一下
return value && !Number.isNaN(new Date(value).valueOf()) ? {
currentTime: value
} : {
currentTime: undefined
};
}
},
privateParser: true,
canSetUndefined: true,
updatePool: function updatePool(fieldValue) {
// fieldValue值为undefined时,无法覆盖联动的值。
var value = fieldValue && fieldValue.value && fieldValue.value[0];
if (value) {
return value;
}
value = {};
if (fieldValue && fieldValue.definedList) {
_slimLodash["default"].forEach(fieldValue.definedList, function (item) {
value[item.businessCode] = null;
});
}
return value || null;
}
});
});
}
return result;
}
var _default = genAssociatedFormula;
exports["default"] = _default;