Commit 8f741685 by Joey

feat(@gms/gms-plugin-billexpand): 校验子表重复公式

parent a43a0d07
......@@ -3196,6 +3196,41 @@ export default {
{
"isOmitable": true,
"dataType": 0,
"name": "field",
"title": "要判断的字段"
},
{
"isOmitable": true,
"dataType": 0,
"name": "field",
"title": "是否执行该公式的判断依据[是否需要]"
},
{
"isOmitable": true,
"dataType": 0,
"name": "string",
"title": "需要判断的判断条件[是否需要]"
}
],
"name": "CheckUnDuplicateSubField",
"description": "判段子表字段值是否重复",
"title": "判段子表字段值是否重复",
"return": 0
}
},
"description": "判段子表字段值是否重复",
"title": "判段子表字段值是否重复",
"value": "CheckUnDuplicateSubField"
},
{
"discard": false,
"path": "通用",
"extends": {
"info": {
"param": [
{
"isOmitable": true,
"dataType": 0,
"name": "_name",
"title": "子表在主表列表中的表名"
}
......
// 判断子表某个字段值相同则提示不然保存前端公式
export default {
execute: function () {
let subTable = arguments[0][0].FieldTableCode
// 字段名
let subFieldCode = arguments[0][0].FieldCode
// bill
let context = arguments[1]
// 表所有字段
let tableObj = context.getTableType(subTable)
let dataFun = context.getSubData(tableObj.title)
if (dataFun.length > 1) {
for (let i = 0; i < dataFun.length; i++) {
let _data1 = dataFun[i].getData()
for (let j = i + 1; j < dataFun.length; j++) {
let _data2 = dataFun[j].getData()
if (_data1[subFieldCode].value !== _data2[subFieldCode].value) {
return false;
}
}
}
return true;
} else if (dataFun.length <= 1) {
return true
}else{
return true;
}
},
getResultType:function(){
return FMR.ConstDataTypes.Bool;
}
}
\ No newline at end of file
......@@ -112,6 +112,7 @@ import PhoneCheck from './formula/PhoneCheck'
import IDCardCheck from './formula/IDCardCheck'
import LenFunction from './formula/LenFunction'
import CheckDuplicateSubField from './formula/CheckDuplicateSubField'
import CheckUnDuplicateSubField from './formula/CheckUnDuplicateSubField'
import ClearSubData from './formula/ClearSubData'
import DateOpera from './formula/DateOpera'
import GetSubStandard from './formula/GetSubStandard'
......@@ -287,6 +288,7 @@ export default {
IDCardCheck,
LenFunction,
CheckDuplicateSubField,
CheckUnDuplicateSubField,
DateOpera,
ClearSubData,
GetSubStandard,
......
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