diff --git a/src/api/database/index.ts b/src/api/database/index.ts index 7954cae4..722612b6 100644 --- a/src/api/database/index.ts +++ b/src/api/database/index.ts @@ -9,6 +9,8 @@ enum Api { GETDATABASEDETAIL = '/api/SysDatabaseLink/GetDataBaseForm', //编辑时获取详情数据 TEStCONNECTTION = '/api/SysDatabaseLink/TestConnection', //测试连接串是否正确 createPicTable = '/api/createTable/createTable', //图形化建表 + updateTable = '/api/CreateTable/UpdateTable', //图形化建表-修改 + loadTableRecordInfo = '/api/CreateTable/LoadTableRecordInfo', //图形化建表记录 } /** @@ -38,3 +40,9 @@ export const delDataBaseInfo = (params: AccountListItem) => export const createPicTable = (params: AccountListItem) => defHttp.post({ url: Api.createPicTable, params }); + +export const updateTable = (params: AccountParams) => + defHttp.post({ url: Api.updateTable, params }); + +export const loadTableRecordInfo = (params: AccountParams) => + defHttp.get({ url: Api.loadTableRecordInfo, params }); diff --git a/src/components/FormViewer/cardGourp.vue b/src/components/FormViewer/cardGourp.vue new file mode 100644 index 00000000..0af5986a --- /dev/null +++ b/src/components/FormViewer/cardGourp.vue @@ -0,0 +1,144 @@ + + diff --git a/src/components/FormViewer/index.ts b/src/components/FormViewer/index.ts index 2ae3ee6f..497681a4 100644 --- a/src/components/FormViewer/index.ts +++ b/src/components/FormViewer/index.ts @@ -1,2 +1,3 @@ export { default as FormViewer } from './index.vue'; export { default as SubTable } from './subTable.vue'; +export { default as CardGourp } from './cardGourp.vue'; diff --git a/src/components/FormViewer/index.vue b/src/components/FormViewer/index.vue index 244ea990..165ee9ba 100644 --- a/src/components/FormViewer/index.vue +++ b/src/components/FormViewer/index.vue @@ -5,6 +5,12 @@ + @@ -13,7 +19,9 @@ @register="registerForm" v-if="formModalVisible && tabsColumns.length < 1" /> + + + + diff --git a/src/components/ProcessDesigner/package/designer/ProcessDesigner.vue b/src/components/ProcessDesigner/package/designer/ProcessDesigner.vue index 573be10e..460ca58c 100644 --- a/src/components/ProcessDesigner/package/designer/ProcessDesigner.vue +++ b/src/components/ProcessDesigner/package/designer/ProcessDesigner.vue @@ -228,7 +228,7 @@ await process.bpmnModeler.saveXML({ format: true }).then(({ xml }) => { const json = JSON.parse(convert.xml2json(xml, { spaces: 2 })); const flowElements = json.elements[0].elements[0].elements; - console.log(flowElements) + console.log(flowElements); for (var j = 0; j < flowElements.length; j++) { if (flowElements[j].attributes.name) { flowWfDataStore.setWfDataName( @@ -236,6 +236,21 @@ flowElements[j].attributes.name, ); } + if (flowElements[j].name == 'bpmn2:sequenceFlow') { + const currentNode = flowWfDataStore.getWfDataNode(flowElements[j].attributes.id); + if (currentNode) { + flowWfDataStore.updataWfDataNode( + flowElements[j].attributes.id, + 'from', + flowElements[j].attributes.sourceRef, + ); + flowWfDataStore.updataWfDataNode( + flowElements[j].attributes.id, + 'to', + flowElements[j].attributes.targetRef, + ); + } + } } }); // try { diff --git a/src/components/ProcessDesigner/package/penal/myline/index.vue b/src/components/ProcessDesigner/package/penal/myline/index.vue index c3cb7378..da5f6a86 100644 --- a/src/components/ProcessDesigner/package/penal/myline/index.vue +++ b/src/components/ProcessDesigner/package/penal/myline/index.vue @@ -55,6 +55,8 @@ const currentNode = flowWfDataStore.getWfDataNode(newVal.id); if (currentNode) { node.value = currentNode; + node.value.from = newVal.from; + node.value.to = newVal.to; } else { node.value = newVal; } diff --git a/src/components/ProcessDesigner/package/penal/startEvent/index.vue b/src/components/ProcessDesigner/package/penal/startEvent/index.vue index 3649f424..34ece914 100644 --- a/src/components/ProcessDesigner/package/penal/startEvent/index.vue +++ b/src/components/ProcessDesigner/package/penal/startEvent/index.vue @@ -163,6 +163,7 @@ import { flowStore } from '@/store/modules/flow'; import { SelectForm } from '@/components/SelectForm/index'; import { functionGetSchemePageList, functionLoadFormPage } from '@/api/demo/formScheme'; + import { cardNestStructure } from '@/views/demo/onlineform/util.ts'; const flowWfDataStore = flowStore(); const labelCol = { span: 7 }; @@ -339,6 +340,7 @@ label?: string; value?: string; }[] = []; + scheme.formInfo.tabList = cardNestStructure(scheme.formInfo.tabList); scheme.formInfo.tabList.forEach((tabElement) => { tabElement.schemas.forEach( (element: { label?: string; field?: string; component: any; itemProps: any }) => { @@ -360,6 +362,7 @@ 'CreateTime', 'ModifyUser', 'ModifyTime', + 'CardGroup', ].includes(element.component) && !element.itemProps.hidden ) { @@ -436,6 +439,18 @@ obj.ifShow = true; obj.fieldName = element.componentProps.fieldName; fields.push(obj); + } else if (['CardGroup'].includes(element.component)) { + element.componentProps.options.forEach((optionsElement) => { + optionsElement.children.forEach((childrenElement) => { + let obj: any = childrenElement; + obj.required = childrenElement.itemProps.required; + // obj.componentProps.disabled = false; + obj.disabled = true; + obj.ifShow = true; + obj.fieldName = childrenElement.componentProps.fieldName; + fields.push(obj); + }); + }); } }, ); diff --git a/src/components/ProcessDesigner/package/penal/userTask/index.vue b/src/components/ProcessDesigner/package/penal/userTask/index.vue index 7301b74a..46558600 100644 --- a/src/components/ProcessDesigner/package/penal/userTask/index.vue +++ b/src/components/ProcessDesigner/package/penal/userTask/index.vue @@ -512,6 +512,7 @@ import { flowStore } from '@/store/modules/flow'; import { SelectForm } from '@/components/SelectForm/index'; import { functionGetSchemePageList, functionLoadFormPage } from '@/api/demo/formScheme'; + import { cardNestStructure } from '@/views/demo/onlineform/util.ts'; const flowWfDataStore = flowStore(); const labelCol = { span: 7 }; @@ -894,6 +895,7 @@ label?: string; value?: string; }[] = []; + scheme.formInfo.tabList = cardNestStructure(scheme.formInfo.tabList); scheme.formInfo.tabList.forEach((tabElement) => { tabElement.schemas.forEach( (element: { label?: string; field?: string; component: any; itemProps: any }) => { @@ -914,6 +916,7 @@ 'CreateTime', 'ModifyUser', 'ModifyTime', + 'CardGroup', ].includes(element.component) && !element.itemProps.hidden ) { @@ -990,6 +993,18 @@ obj.ifShow = true; obj.fieldName = element.componentProps.fieldName; fields.push(obj); + } else if (['CardGroup'].includes(element.component)) { + element.componentProps.options.forEach((optionsElement) => { + optionsElement.children.forEach((childrenElement) => { + let obj: any = childrenElement; + obj.required = childrenElement.itemProps.required; + // obj.componentProps.disabled = false; + obj.disabled = true; + obj.ifShow = true; + obj.fieldName = childrenElement.componentProps.fieldName; + fields.push(obj); + }); + }); } }, ); diff --git a/src/store/modules/subTable.ts b/src/store/modules/subTable.ts index e6e45fa5..afbf909f 100644 --- a/src/store/modules/subTable.ts +++ b/src/store/modules/subTable.ts @@ -4,24 +4,36 @@ export const subTableStore = defineStore({ id: 'subTable', state: () => ({ tableDta: [], + groupData: {}, }), getters: { getTableData(state) { return state.tableDta; }, + getGroupData(state) { + return state.groupData; + }, }, actions: { setTableData(data) { this.tableDta = data; }, setSingleData(parentFileId, data) { - console.log(parentFileId); - console.log(data); this.tableDta.forEach((item, i) => { if (item.parentFileId == parentFileId) { item.child = data; } }); }, + setGroupData(data) { + for (const key2 in data) { + if (data[key2] != undefined) { + this.groupData[key2] = data[key2]; + } + } + }, + clearGoupData() { + this.groupData = {}; + }, }, }); diff --git a/src/views/demo/form-design/components/VFormDesign/components/ComponentProps.vue b/src/views/demo/form-design/components/VFormDesign/components/ComponentProps.vue index b282b91c..7aff20cc 100644 --- a/src/views/demo/form-design/components/VFormDesign/components/ComponentProps.vue +++ b/src/views/demo/form-design/components/VFormDesign/components/ComponentProps.vue @@ -108,6 +108,7 @@ 'Cascader', 'AutoComplete', 'Tabs', + 'CardGroup' ].includes(formConfig.currentItem.component) " > @@ -246,7 +247,7 @@ if (data && data[0]) { data[0].db_codecolumnsList.forEach((item) => { arr.push({ - label: item.dbColumnName, + label: item.dbColumnName + '(' + item.description + ')', value: item.dbColumnName, csType: item.csType, }); diff --git a/src/views/demo/form-design/components/VFormDesign/components/FormItemProps.vue b/src/views/demo/form-design/components/VFormDesign/components/FormItemProps.vue index f9604d3b..0ff3ccd7 100644 --- a/src/views/demo/form-design/components/VFormDesign/components/FormItemProps.vue +++ b/src/views/demo/form-design/components/VFormDesign/components/FormItemProps.vue @@ -137,7 +137,6 @@ v-bind="item.componentProps" :is="item.component" v-model:value="formConfig.currentItem[item.name]" - :key="formConfig.currentItem.component + '===' + formConfig.currentItem.label" /> diff --git a/src/views/demo/form-design/components/VFormDesign/components/FormNode.vue b/src/views/demo/form-design/components/VFormDesign/components/FormNode.vue index 867cca6a..7f30d187 100644 --- a/src/views/demo/form-design/components/VFormDesign/components/FormNode.vue +++ b/src/views/demo/form-design/components/VFormDesign/components/FormNode.vue @@ -3,7 +3,7 @@ -->