Browse Source

关联表单子表数据填充修复空指针异常

yjf_v3
liwenxuan 1 year ago
parent
commit
6337c929e4
  1. 2
      src/components/DesignForm/formControlPropertiNew.vue
  2. 51
      src/components/DesignForm/public/form/formGroup.vue

2
src/components/DesignForm/formControlPropertiNew.vue

@ -4834,7 +4834,7 @@ const radioChangeSet = (val:any) => {
<!-- 数据填充规则弹窗 -->
<el-dialog v-model="associatedFormsFillRolesDialogFlag" title="数据填充规则" top="150px" :close-on-click-modal="false" :show-close="false" style="margin-top:70px ;min-height: 300px;max-height:900px" width="50%" >
<el-dialog v-model="associatedFormsFillRolesDialogFlag" title="数据填充规则" top="150px" :close-on-click-modal="false" :show-close="false" style="margin-top:70px ;min-height: 300px;max-height:900px" width="80%" >
<template v-if="controlData.type=='associatedForms'">
<el-button style="font-size: large;margin-top: 10px;margin-bottom: 15px;" type="primary" link append-to-body="true" modal="true" @click="addFillRole"> 主表填充规则</el-button>
<div style="max-height:230px;border:1px solid white;overflow-y:auto;">

51
src/components/DesignForm/public/form/formGroup.vue

@ -502,32 +502,35 @@ function asfValueChanged(val:any){
//console.log(fillFieldsChild)
getAsfTableFill(val.asfFormId,val.glbbddbd,val.currentVal,fillFieldsChild).then(({ data }) => {
//console.log(data)
data.forEach((dataElement:any) => {
tables.forEach((tableItem: any) => {
if(dataElement.tableName==tableItem.name){
//console.log(formProps.value.model)
//console.log(tableItem)
//console.log(dataElement)
let tableName = dataElement.tableName
//console.log(tableName)
if(tableItem.list.length>0){
let tableRowArray: { type: any; name: any }[] = []
tableItem.list.forEach((listItem:any) => {
//console.log(listItem)
tableRowArray.push({
type:listItem.type,
name:listItem.name
})
});
//console.log(tableRowArray)
const result = generateXResult(dataElement, tableRowArray);
//console.log(result);
formProps.value.model[tableName] = result
if(data&&data.length>0){
data.forEach((dataElement:any) => {
tables.forEach((tableItem: any) => {
if(dataElement.tableName==tableItem.name){
//console.log(formProps.value.model)
//console.log(tableItem)
//console.log(dataElement)
let tableName = dataElement.tableName
//console.log(tableName)
if(tableItem.list.length>0){
let tableRowArray: { type: any; name: any }[] = []
tableItem.list.forEach((listItem:any) => {
//console.log(listItem)
tableRowArray.push({
type:listItem.type,
name:listItem.name
})
});
//console.log(tableRowArray)
const result = generateXResult(dataElement, tableRowArray);
//console.log(result);
formProps.value.model[tableName] = result
}
}
}
});
});
});
}
});
}

Loading…
Cancel
Save