diff --git a/frontend/src/components/FieldSelect.vue b/frontend/src/components/FieldSelect.vue index 6b77015..4238926 100644 --- a/frontend/src/components/FieldSelect.vue +++ b/frontend/src/components/FieldSelect.vue @@ -37,6 +37,10 @@ export default { updateSelectFields: { type: Function }, + blackListLabel: { + type:Array, + default:()=>[] + } }, setup(props) { const isLoaded = ref(false); @@ -62,16 +66,25 @@ export default { app: props.appId } }); - let fields = res.data.properties; - Object.keys(fields).forEach((key,index) => { - const fld = fields[key]; - if(props.fieldTypes.length===0 || props.fieldTypes.includes(fld.type)){ - rows.push({id:index, name: fld.label || fld.code, ...fld }); - }else if(props.fieldTypes.includes("lookup") && ("lookup" in fld)){ - rows.push({id:index, name: fld.label || fld.code, ...fld }); + let fields = Object.values(res.data.properties); + for (const index in fields) { + const fld = fields[index] + if(props.blackListLabel.length > 0){ + if(!props.blackListLabel.find(blackListItem => blackListItem === fld.label)){ + if(props.fieldTypes.length===0 || props.fieldTypes.includes(fld.type)){ + rows.push({id:index, name: fld.label || fld.code, ...fld }); + }else if(props.fieldTypes.includes("lookup") && ("lookup" in fld)){ + rows.push({id:index, name: fld.label || fld.code, ...fld }); + } + } + } else { + if(props.fieldTypes.length===0 || props.fieldTypes.includes(fld.type)){ + rows.push({id:index, name: fld.label || fld.code, ...fld }); + }else if(props.fieldTypes.includes("lookup") && ("lookup" in fld)){ + rows.push({id:index, name: fld.label || fld.code, ...fld }); + } } - - }); + } isLoaded.value = true; });