From eefe8f5410c38d803edf2821bcb0c600baecc41c Mon Sep 17 00:00:00 2001 From: Zhufu <1176354795@qq.com> Date: Wed, 12 Jun 2024 09:44:30 +0800 Subject: [PATCH 1/6] =?UTF-8?q?[=E8=A1=A8=E5=8D=95=E8=AE=BE=E8=AE=A1]?= =?UTF-8?q?=E5=8D=A1=E7=89=87=E7=BB=84=E5=86=85=E9=83=A8=E7=BB=84=E4=BB=B6?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0csType?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/demo/onlineform/formdesign/FormModal.vue | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/views/demo/onlineform/formdesign/FormModal.vue b/src/views/demo/onlineform/formdesign/FormModal.vue index 340b3b4a..4fe0d16e 100644 --- a/src/views/demo/onlineform/formdesign/FormModal.vue +++ b/src/views/demo/onlineform/formdesign/FormModal.vue @@ -216,6 +216,9 @@ if (item.columns) { item.columns = changeCloums(item.columns, tableData); } + if(item.component === 'CardGroup'){ + item.componentProps.options = changeCloums(item.componentProps.options,tableData) + } if ( item.component != 'CardGroup' && item.component != 'Grid' && @@ -253,6 +256,9 @@ if (list.columns) { list.columns = changeCloums(list.columns, tableData); } + if(list.component === 'CardGroup'){ + list.componentProps.options = changeCloums(list.componentProps.options,tableData) + } if ( list.component != 'CardGroup' && list.component != 'Grid' && @@ -310,6 +316,11 @@ childItem.csType = element.data[currentIndex].csType; } }); + if(childItem.component === 'CardGroup'){ + childItem.componentProps.options = changeCloums(childItem.componentProps.options,tableData) + }else if(childItem.columns){ + childItem.columns = changeCloums(childItem.columns, tableData); + } }); } }); From b8bb1d377e6d44645b1e18aa9249c2f02fe8cd6b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=88=98=E5=A6=8D?= <1455167345@qq.com> Date: Wed, 12 Jun 2024 09:56:39 +0800 Subject: [PATCH 2/6] =?UTF-8?q?=E8=A1=A8=E5=8D=95=E8=AE=BE=E8=AE=A1?= =?UTF-8?q?=E5=8D=95=E9=80=89=E6=8C=89=E9=92=AEvalue=E7=B1=BB=E5=9E=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/demo/onlineform/formdesign/FormModal.vue | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/views/demo/onlineform/formdesign/FormModal.vue b/src/views/demo/onlineform/formdesign/FormModal.vue index 340b3b4a..6ed171cc 100644 --- a/src/views/demo/onlineform/formdesign/FormModal.vue +++ b/src/views/demo/onlineform/formdesign/FormModal.vue @@ -203,7 +203,9 @@ item.csType = element.data[currentIndex].csType; } }); + console.log(item.label, item.csType); if (item.csType == 'int') { + console.log(item); item.componentProps.options.forEach((optionChild) => { optionChild.value = Number(optionChild.value); }); @@ -245,6 +247,11 @@ list.csType = element.data[currentIndex].csType; } }); + if (list.csType == 'int') { + list.componentProps.options.forEach((optionChild) => { + optionChild.value = Number(optionChild.value); + }); + } } // 设计子表给里面的控件增加csType字段 if (list.type == 'subTable') { @@ -358,7 +365,8 @@ console.log('正常提交'); // saveFormDatas.value.scheme.scheme = JSON.stringify(schems); setTimeout(() => { - submitSaveClick(schems); + console.log(schems); + // submitSaveClick(schems); }, 500); } } From 80f834839b66b37a07b39bdd01eb709f240030d5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=88=98=E5=A6=8D?= <1455167345@qq.com> Date: Wed, 12 Jun 2024 09:57:18 +0800 Subject: [PATCH 3/6] 1 --- src/views/demo/onlineform/formdesign/FormModal.vue | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/views/demo/onlineform/formdesign/FormModal.vue b/src/views/demo/onlineform/formdesign/FormModal.vue index 6ed171cc..c91d97c3 100644 --- a/src/views/demo/onlineform/formdesign/FormModal.vue +++ b/src/views/demo/onlineform/formdesign/FormModal.vue @@ -365,8 +365,8 @@ console.log('正常提交'); // saveFormDatas.value.scheme.scheme = JSON.stringify(schems); setTimeout(() => { - console.log(schems); - // submitSaveClick(schems); + // console.log(schems); + submitSaveClick(schems); }, 500); } } From 920231a158a81bcee5240aacf9515f8440f6d7b3 Mon Sep 17 00:00:00 2001 From: Zhufu <1176354795@qq.com> Date: Wed, 12 Jun 2024 10:11:50 +0800 Subject: [PATCH 4/6] =?UTF-8?q?=E3=80=90=E8=A1=A8=E5=8D=95=E5=8F=91?= =?UTF-8?q?=E5=B8=83=E5=90=8E=E3=80=91=E8=A1=A8=E5=8D=95=E5=8F=91=E5=B8=83?= =?UTF-8?q?=E5=90=8E=E7=9A=84=E8=AF=A6=E6=83=85=E4=B8=8D=E5=8F=AF=E7=BC=96?= =?UTF-8?q?=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../demo/onlineform/formCall/CallModal.vue | 8 +++ src/views/demo/onlineform/util.ts | 62 ++++++++++++++++++- 2 files changed, 69 insertions(+), 1 deletion(-) diff --git a/src/views/demo/onlineform/formCall/CallModal.vue b/src/views/demo/onlineform/formCall/CallModal.vue index 944d3291..a80f393e 100644 --- a/src/views/demo/onlineform/formCall/CallModal.vue +++ b/src/views/demo/onlineform/formCall/CallModal.vue @@ -125,6 +125,7 @@ import CallModalFormItem from './CallModalFormItem/index.vue'; import { CardGourp } from '@/components/FormViewer/index.ts' import { subTableStore } from '@/store/modules/subTable'; + import { changeCardStructure, cardNestStructure } from '@/views/demo/onlineform/util.ts'; const subTableDataStore = subTableStore(); @@ -407,6 +408,13 @@ } if (!unref(isUpdate) && unref(isDetail)) { getTitle.value = '详情'; + data.tab = changeCardStructure(data.tab) + data.tab.forEach(itemComponent => { + if(itemComponent.component){ + itemComponent.componentProps.disabled = true + } + }) + data.tab = cardNestStructure(data.tab) if (Object.keys(cardValues.value).length > 0) { Object.keys(cardValues.value).forEach((cardItem) => { let cardItemKeyList = Object.keys(cardValues.value[cardItem]); diff --git a/src/views/demo/onlineform/util.ts b/src/views/demo/onlineform/util.ts index dfb1fb69..79549b63 100644 --- a/src/views/demo/onlineform/util.ts +++ b/src/views/demo/onlineform/util.ts @@ -38,4 +38,64 @@ export const cardNestStructure = (data) => { } }) return result -} \ No newline at end of file +} +export const changeCardStructure = (data) => { + let result = []; + if (data && data.length > 0) { + data.forEach((item) => { + if (item.component === 'Tabs') { + item.componentProps.options = changeCardStructure(item.componentProps.options); + } else if (item.component === 'CardGroup') { + item.componentProps.options = changeCardStructure(item.componentProps.options); + item.componentProps.options.forEach((childItem) => { + if (childItem.pfield) { + result.push(childItem); + } else { + result.push({ ...childItem, ptype: 'card', pfield: item.field }); + } + }); + item.componentProps.options = []; + } else if (item.component === 'Grid' && item.label === '栅格布局') { + item.columns = changeCardStructure(item.columns); + item.columns.forEach((childItem) => { + childItem.children.forEach((col) => { + result.push({ ...col, ptype: 'gridlayout', pfield: item.field }); + }); + }); + } else if (item.children && !item.field) { + item.children = changeCardStructure(item.children); + } else if (item.children && item.field.indexOf('use_card') === -1) { + item.children = changeCardStructure(item.children); + item.children = []; + } else { + if (['Card'].includes(item.component)) { + item.columns[0].children = changeCardStructure(item.columns[0].children); + if (item.component === 'Card' && item.columns[0].children) { + item.columns[0].children.forEach((childItem) => { + if (childItem.pfield) { + result.push(childItem); + } else { + result.push({ ...childItem, ptype: 'card', pfield: item.field }); + } + }); + item.columns[0].children = []; + } + } else if (item.field && item.field.indexOf('use_card') !== -1) { + item.children = changeCardStructure(item.children); + item.children.forEach((childItem) => { + if (childItem.pfield) { + result.push(childItem); + } else { + result.push({ ...childItem, ptype: 'card', pfield: item.field }); + } + }); + item.children = []; + } + } + result.push(item); + }); + return result; + } else { + return data; + } +}; \ No newline at end of file From 00115fef7459ef2649cbd0fda9aa509d3fd94f37 Mon Sep 17 00:00:00 2001 From: zzq <15064940501@163.com> Date: Wed, 12 Jun 2024 10:13:00 +0800 Subject: [PATCH 5/6] =?UTF-8?q?=E6=95=B0=E6=8D=AE=E6=9D=83=E9=99=90?= =?UTF-8?q?=E5=AE=8C=E5=96=84=E3=80=81=E7=94=A8=E6=88=B7=E5=88=86=E9=85=8D?= =?UTF-8?q?=E9=83=A8=E9=97=A8=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/permission/data.ts | 7 ++++ src/api/permission/model/index.ts | 1 + .../demo/system/account/OrgPositonModal.vue | 1 + .../permissionmanagement/data/MenuDrawer.vue | 33 ++++++++++++++++--- 4 files changed, 37 insertions(+), 5 deletions(-) diff --git a/src/api/permission/data.ts b/src/api/permission/data.ts index 2c3def3f..10222437 100644 --- a/src/api/permission/data.ts +++ b/src/api/permission/data.ts @@ -6,6 +6,7 @@ enum Api { addData = '/api/BaseDataAuthAddForm/permission/data', editData = '/api/BaseDataAuthUpdateForm/permission/data/', delData = '/api/BaseDataAuthDeleteForm/permission/data/', + fieldOptions = '/api/BaseDataAuthGetEntityByCode', } export const getTablesListData = (params?: AccountParams) => { return defHttp.get({ @@ -19,6 +20,12 @@ export const getDetailsData = (params?: AccountParams) => { params, }); }; +export const getFieldListData = (params?: AccountParams) => { + return defHttp.get({ + url: Api.fieldOptions, + params, + }); +}; export const addTableData = (params?: AccountParams) => { return defHttp.post({ url: Api.addData, diff --git a/src/api/permission/model/index.ts b/src/api/permission/model/index.ts index 0fc92062..f263e43c 100644 --- a/src/api/permission/model/index.ts +++ b/src/api/permission/model/index.ts @@ -17,6 +17,7 @@ export interface AccountParams { key: string; page: any; limit: any; + code: any; } export type AccountListGetResultModel = BasicFetchResult; diff --git a/src/views/demo/system/account/OrgPositonModal.vue b/src/views/demo/system/account/OrgPositonModal.vue index ebbf11ba..00d18738 100644 --- a/src/views/demo/system/account/OrgPositonModal.vue +++ b/src/views/demo/system/account/OrgPositonModal.vue @@ -205,6 +205,7 @@ arr.push({ orgId: element.id, posId: 0, + level: element.level, }); }); var query = { diff --git a/src/views/demo/system/permissionmanagement/data/MenuDrawer.vue b/src/views/demo/system/permissionmanagement/data/MenuDrawer.vue index c35ce6ac..26d0584d 100644 --- a/src/views/demo/system/permissionmanagement/data/MenuDrawer.vue +++ b/src/views/demo/system/permissionmanagement/data/MenuDrawer.vue @@ -68,7 +68,6 @@ v-model:value="item.f_FieldId" placeholder="请选择" :options="fieldOptions" - :field-names="{ label: 'label', value: 'key' }" />
@@ -138,7 +137,7 @@ import { getRoleListByPage } from '@/api/demo/system'; import { getAccountList } from '@/api/demo/system'; import { fun_GetPageList } from '@/api/demo/formModule'; - import { addTableData, editTableData } from '@/api/permission/data'; + import { addTableData, editTableData, getFieldListData } from '@/api/permission/data'; import { useMessage } from '@/hooks/web/useMessage'; const { createMessage } = useMessage(); @@ -236,13 +235,14 @@ formData.value.objectId = ''; } function codeChange(e) { + console.log('eeeee', e); codeOptions.value.forEach((item) => { if (item.value == e) { - fieldOptions.value = item.column; + // fieldOptions.value = item.column; + getFieldOptionsList(e); formData.value.formula.conditions = []; } }); - console.log('fieldOptions', fieldOptions) } function getCodeListData() { fun_GetPageList().then((res: Recordable) => { @@ -255,13 +255,36 @@ column: JSON.parse(item.scheme).table.columns, }); if (formData.value.code == item.id) { - fieldOptions.value = JSON.parse(item.scheme).table.columns; + getFieldOptionsList(item.id); + // fieldOptions.value = JSON.parse(item.scheme).table.columns; } }); } codeOptions.value = arr; }); } + function getFieldOptionsList(code: any) { + const param = { + code: code, + }; + getFieldListData(param).then((res: Recordable) => { + const arr = JSON.parse(res.scheme).formInfo.tabList; + console.log('arr', arr); + const newArr: any = []; + arr.forEach((ele) => { + ele.schemas.forEach((item) => { + if (item.componentProps && item.componentProps.fieldName) { + newArr.push({ + label: item.label, + value: item.componentProps.fieldName, + }); + } + }); + }); + console.log('newArr', newArr); + fieldOptions.value = newArr; + }); + } function getRoleListData() { getRoleListByPage().then((res: Recordable) => { const arr: any = []; From 022369b7dbdc2a7ffdbb64e807cee5a27cb94396 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=88=98=E5=A6=8D?= <1455167345@qq.com> Date: Wed, 12 Jun 2024 10:23:25 +0800 Subject: [PATCH 6/6] =?UTF-8?q?=E4=BC=98=E5=8C=96=E5=9B=BE=E7=89=87?= =?UTF-8?q?=E3=80=81=E8=A7=86=E9=A2=91=E8=B7=AF=E5=BE=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/FormViewer/index.vue | 14 +++++++------- .../Upload/src/components/ImageUpload.vue | 2 +- .../Upload/src/components/VideoUpload.vue | 2 +- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/components/FormViewer/index.vue b/src/components/FormViewer/index.vue index 13b2061d..a94949e7 100644 --- a/src/components/FormViewer/index.vue +++ b/src/components/FormViewer/index.vue @@ -292,9 +292,9 @@ element.show = true; } }); - console.log(formColumns); // 切换时保存值 - const values = await validate(); + // const values = await validate(); + const values = getFieldsValue(); if (Object.keys(FieldsValue.value).length == 0) { FieldsValue.value = values; } @@ -307,9 +307,9 @@ } } } - setFieldsValue({ - ...FieldsValue.value, - }); + setTimeout(() => { + setFieldsValue(FieldsValue.value); + }, 10); } async function getFormDetail() { @@ -427,7 +427,7 @@ } } async function getIssueInfo() { - console.log("111",props.issueId); + console.log('111', props.issueId); } defineExpose({ getForm, @@ -451,6 +451,6 @@ } .my-form-viewer { overflow: auto; - height: calc( 100vh - 350px); + height: calc(100vh - 350px); } diff --git a/src/components/Upload/src/components/ImageUpload.vue b/src/components/Upload/src/components/ImageUpload.vue index d9c13e16..8ef23d0f 100644 --- a/src/components/Upload/src/components/ImageUpload.vue +++ b/src/components/Upload/src/components/ImageUpload.vue @@ -121,7 +121,7 @@ uid: '-1', name: item, status: 'done', - url: server+item + url: server+'/'+item }) console.log("fileListItem",fileList.value) } diff --git a/src/components/Upload/src/components/VideoUpload.vue b/src/components/Upload/src/components/VideoUpload.vue index eef7e7aa..e279ce75 100644 --- a/src/components/Upload/src/components/VideoUpload.vue +++ b/src/components/Upload/src/components/VideoUpload.vue @@ -118,7 +118,7 @@ import { fileUploadApi } from '@/api/sys/upload'; uid: '-1', name: item, status: 'done', - url: server+item + url: server+'/'+item }) console.log("fileListItem",fileList.value) }