diff --git a/src/components/FormViewer/index.vue b/src/components/FormViewer/index.vue index ef51f1f3..3bae3827 100644 --- a/src/components/FormViewer/index.vue +++ b/src/components/FormViewer/index.vue @@ -109,6 +109,8 @@ const createOrModifyList = ref([]); const formModalVisible = ref(false); const tabsColumns: any = ref([]); + const infoUseSubTableData = ref() + const infoUseMainTableData = ref({}) const keyValue = ref(''); const FieldsValue = ref({}); @@ -310,6 +312,33 @@ setFieldsValue({ ...obj, }); + let childTableName = subTableDB.value.find((item) => item.type === 'chlid').name; + let mainTableName = subTableDB.value.find((item) => item.type === 'main').name; + infoUseSubTableData.value = data[childTableName].map((item) => { + return { + ...item, + key: uuidv4(), + }; + }); + data[mainTableName].forEach(item => { + infoUseMainTableData.value = {...infoUseMainTableData.value, ...item} + }) + if(Object.keys(cardValues.value).length > 0){ + Object.keys(cardValues.value).forEach(cardItem => { + let cardItemKeyList = Object.keys(cardValues.value[cardItem]) + Object.keys(infoUseMainTableData.value).forEach(item => { + if(cardItemKeyList.includes(item)){ + cardValues.value[cardItem][item] = infoUseMainTableData.value[item] + } + }) + // todo + cardItemKeyList.forEach(item => { + if(item.indexOf('grid') !== -1){ + cardValues.value[cardItem][item] = infoUseSubTableData.value + } + }) + }) + } } async function getForm() { try {