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'"> <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> <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;"> <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) //console.log(fillFieldsChild)
getAsfTableFill(val.asfFormId,val.glbbddbd,val.currentVal,fillFieldsChild).then(({ data }) => { getAsfTableFill(val.asfFormId,val.glbbddbd,val.currentVal,fillFieldsChild).then(({ data }) => {
//console.log(data) //console.log(data)
data.forEach((dataElement:any) => { if(data&&data.length>0){
tables.forEach((tableItem: any) => { data.forEach((dataElement:any) => {
if(dataElement.tableName==tableItem.name){ tables.forEach((tableItem: any) => {
//console.log(formProps.value.model) if(dataElement.tableName==tableItem.name){
//console.log(tableItem) //console.log(formProps.value.model)
//console.log(dataElement) //console.log(tableItem)
let tableName = dataElement.tableName //console.log(dataElement)
//console.log(tableName) let tableName = dataElement.tableName
if(tableItem.list.length>0){ //console.log(tableName)
let tableRowArray: { type: any; name: any }[] = [] if(tableItem.list.length>0){
tableItem.list.forEach((listItem:any) => { let tableRowArray: { type: any; name: any }[] = []
//console.log(listItem) tableItem.list.forEach((listItem:any) => {
tableRowArray.push({ //console.log(listItem)
type:listItem.type, tableRowArray.push({
name:listItem.name type:listItem.type,
}) name:listItem.name
}); })
//console.log(tableRowArray) });
const result = generateXResult(dataElement, tableRowArray); //console.log(tableRowArray)
//console.log(result); const result = generateXResult(dataElement, tableRowArray);
formProps.value.model[tableName] = result //console.log(result);
formProps.value.model[tableName] = result
}
} }
});
}
}); });
}); }
}); });
} }

Loading…
Cancel
Save