Commit 87db52dc by 乔延琦

Merge branch 'develop-fengjiansheng' into 'develop'

feat(@gms/gms-plugin-billexpand): 提交子表校验字段公式

See merge request GFP/RBC/rbc-frontend!70
parents a2ac499e 8d232f13
......@@ -3768,6 +3768,21 @@ export default {
"extends": {
"info": {
"param": [],
"name": "SubTableHasContainField",
"description": "前端公式:判断基础数据中是否加载拓展字段,以支撑校验公式正确应对多种情况下的校验校验公式:判断子表中是否包含某个字段值判断子表中是否包含某个字段值",
"return": 0
}
},
"description": "校验公式:判断子表中是否包含某个字段值",
"title": "校验公式:判断子表中是否包含某个字段值",
"value": "SubTableHasContainField"
},
{
"discard": false,
"path": "通用",
"extends": {
"info": {
"param": [],
"name": "SetFieldValue",
"description": "赋值公式:用于给主子表单个字段赋值,仅支持静态入参",
"title": "赋值公式:用于给主子表单个字段赋值",
......
import _ from "./FormulaConstants";
/**
* 校验公式 子表中是否包含某个字段
* @author fengjiansheng
* @date 2022-03-02
*/
export default {
formulaName: "SubTableHasContainField", execute: function () {
if (arguments && arguments[0] && arguments[0].length === 2) {
let context = arguments[1]
let field = arguments[0][0]
let checkValue = _.getFormulaParamValue(arguments[0][1])
let tempSubTableObject = context.getTableType(field.FieldTableCode)
let allSubData = context.getAllSubData()
if (allSubData) {
let flag = false
let tempAllSubData = allSubData[tempSubTableObject.title]
if (tempAllSubData && tempAllSubData instanceof Array) {
// 同时处理基础数据类型和普通字段类型的比较
let subFieldPath1 = field.FieldCode.split('.')[0]
let subFieldPath2 = field.FieldCode.split('.').length > 1 ? field.FieldCode.split('.')[1] : subFieldPath1
for (let i = 0; i < tempAllSubData.length; i++) {
if (subFieldPath1 === subFieldPath2) {
if (tempAllSubData[i].getValue(subFieldPath1) === checkValue) {
flag = true;
break;
}
} else {
if (tempAllSubData[i].getValue(subFieldPath1)[subFieldPath2] === checkValue) {
flag = true;
break;
}
}
}
}
return flag
}
return true
} else {
return false;
}
}, getResultType: function () {
return _.resultType.boolean;
}
}
......@@ -178,6 +178,7 @@ import SubTableSetBaseData from "@/formula/SubTableSetBaseData"
import UpdateBillReferenceRelationshipFunction from "./formula/UpdateBillReferenceRelationshipFunction";
import AmountComp from "./formula/AmountComp";
import EqualsMasterAndSubField from "./formula/EqualsMasterAndSubField";
import SubTableHasContainField from "./formula/SubTableHasContainField";
export default {
actions: {
updateFieldAction,
......@@ -360,6 +361,7 @@ export default {
CheckReferenceRelation,
AmountComp,
EqualsMasterAndSubField,
SubTableHasContainField,
},
routes : {
showPrint: {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment