刘妍 2024-06-11 11:28:09 +08:00
commit baa6ea9afb
2 changed files with 63 additions and 6 deletions

View File

@ -20,6 +20,12 @@
@click="codeClickFunction('beforeSetData', beforeSetData)"
@change="codeClickFunction('changeDataEvent', changeDataEvent)"
/>
<CardGourp
v-if="cardGroupData.length > 0 && cardGroupData[index]"
:data="cardGroupData[index]"
:formData="cardGourpFormData"
:parentValue="cardGroupData[index].field"
/>
</a-tab-pane>
</a-tabs>
</template>
@ -51,6 +57,14 @@
</a-col>
</a-row>
</template>
<template v-if="tabsColumns.length < 1">
<CardGourp
v-if="cardGroupData.length > 0"
:data="cardGroupData[0]"
:formData="cardGourpFormData"
:parentValue="cardGroupData[0].field"
/>
</template>
<template v-for="(item, index) in buttonLayout" :key="index">
<a-row style="width: 100%">
<a-col :span="item?.colProps?.span || 24" style="padding: 10px">
@ -107,6 +121,10 @@
import { v4 as uuidv4 } from 'uuid';
import FormItem from './ShowFormModal/FormItem/index.vue';
import CallModalFormItem from './CallModalFormItem/index.vue';
import { CardGourp } from '@/components/FormViewer/index.ts'
import { subTableStore } from '@/store/modules/subTable';
const subTableDataStore = subTableStore();
// import FormRender from '@/views/demo/form-design/components/VFormCreate/components/FormRender.vue';
@ -127,6 +145,9 @@
userId: userInfo.id,
title: '',
});
const cardGroupData = ref([]);
const cardGourpFormData = ref({});
const cardGroupValues = ref({})
const subTableId = ref(null);
const subTableColumns: any = ref([]);
const subTableData = ref([]);
@ -153,8 +174,22 @@
}
});
};
const getCardGroupLayoutKey = (dataList) => {
console.log('dataList',dataList)
dataList.children.forEach((item?) => {
if (['CardGroup'].includes(item.component)) {
cardGroupValues.value[item.field] = ""
item.componentProps.options.forEach(childItem => {
getCardGroupLayoutKey(childItem);
})
}else{
cardGroupValues.value[item.field] = "";
}
})
}
const [registerModal, { setModalProps, closeModal }] = useModalInner((data: any) => {
cardLayout.value = [];
subTableDataStore.clearGoupData();
console.log('daaaaa', data);
//
beforeSetData.value = data?.beforeSetData;
@ -181,6 +216,12 @@
if (opt.component === 'Card') {
cardLayout.value.push(opt);
}
if (opt.component === 'CardGroup') {
if(cardGroupData.value.length !== index){
cardGroupData.value.push(null)
}
cardGroupData.value.push(opt);
}
if (opt.component === 'Button') {
buttonLayout.value.push(opt);
}
@ -279,6 +320,13 @@
if (item.component === 'Card') {
cardLayout.value.push(item);
}
if (item.component === 'CardGroup') {
cardGroupValues.value[item.field] = "";
item.componentProps.options.forEach(childItem => {
getCardGroupLayoutKey(childItem)
})
cardGroupData.value.push(item);
}
if (item.component === 'Button') {
buttonLayout.value.push(item);
}
@ -350,6 +398,10 @@
});
});
}
Object.keys(cardGroupValues.value).forEach(item => {
cardGroupValues.value[item] = data.infoUseMainTableData[item]
})
subTableDataStore.setGroupData(cardGroupValues.value)
}
if (!unref(isUpdate) && unref(isDetail)) {
getTitle.value = '详情';
@ -369,6 +421,10 @@
});
});
}
Object.keys(cardGroupValues.value).forEach(item => {
cardGroupValues.value[item] = data.infoUseMainTableData[item]
})
subTableDataStore.setGroupData(cardGroupValues.value)
}
formModalVisible.value = true;
primaryQuery.value = data.query;
@ -504,6 +560,7 @@
}
});
}
query = {...query, ...subTableDataStore.getGroupData}
params.data = JSON.stringify(query);
console.log('query222', query);
console.log('params222', params);

View File

@ -573,7 +573,7 @@
let formObj = JSON.parse(res.formScheme.scheme);
console.log('formObj', formObj);
// card
if (formObj.formInfo.tabList && formObj.formInfo.tabList.length > 1) {
if (formObj.formInfo.tabList && formObj.formInfo.tabList.length > 0) {
formObj.formInfo.tabList = cardNestStructure(formObj.formInfo.tabList);
const arr: any = [];
formObj.formInfo.tabList.forEach((item, index) => {
@ -730,24 +730,24 @@
};
getFormData(params)
.then((res) => {
let childTableName = designData.value.db.find((item) => item.type === 'chlid').name;
let childTableName = designData.value.db.find((item) => item.type === 'chlid')?.name;
let mainTableName = designData.value.db.find((item) => item.type === 'main').name;
let subTableData = res[childTableName].map((item) => {
let subTableData = res[childTableName]? res[childTableName].map((item) => {
return {
...item,
key: uuidv4(),
MapGeom: item.mapgeom,
};
});
}): [];
formData.value = [...subTableData];
infoUseSubTableData.value = res[childTableName].map((item) => {
infoUseSubTableData.value = res[childTableName]? res[childTableName].map((item) => {
return {
...item,
key: uuidv4(),
};
});
}): [];
res[mainTableName].forEach((item) => {
infoUseMainTableData.value = { ...infoUseMainTableData.value, ...item };