From 13e5577e73927001411f2e2516c9f4afe2955fe8 Mon Sep 17 00:00:00 2001 From: Zhufu <1176354795@qq.com> Date: Tue, 4 Jun 2024 17:35:52 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90=E8=A1=A8=E5=8D=95=E4=BF=A1=E6=81=AF?= =?UTF-8?q?=E3=80=91=E5=8D=A1=E7=89=87=E5=9B=9E=E6=98=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/FormViewer/index.vue | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) 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 {