From b51d6a44e11b8872ac011aa4fc16a5284c03b134 Mon Sep 17 00:00:00 2001 From: liwenxuan <1298531568@qq.com> Date: Mon, 27 May 2024 13:24:36 +0800 Subject: [PATCH 01/13] =?UTF-8?q?=E8=A7=A3=E5=86=B3=E5=86=B2=E7=AA=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/types/components.d.ts | 28 ------------------- .../sysworkflow/lowcodepage/pageDesignes.vue | 6 ++-- 2 files changed, 3 insertions(+), 31 deletions(-) diff --git a/src/types/components.d.ts b/src/types/components.d.ts index 30718c4bd..d33f62fbb 100644 --- a/src/types/components.d.ts +++ b/src/types/components.d.ts @@ -25,7 +25,6 @@ declare module '@vue/runtime-core' { DragControlApp: typeof import('./../components/DesignForm/dragControlApp.vue')['default'] DragControlNew: typeof import('./../components/DesignForm/dragControlNew.vue')['default'] ElAffix: typeof import('element-plus/es')['ElAffix'] - ElAlert: typeof import('element-plus/es')['ElAlert'] ElAside: typeof import('element-plus/es')['ElAside'] ElAvatar: typeof import('element-plus/es')['ElAvatar'] ElBreadcrumb: typeof import('element-plus/es')['ElBreadcrumb'] @@ -35,7 +34,6 @@ declare module '@vue/runtime-core' { ElCard: typeof import('element-plus/es')['ElCard'] ElCarousel: typeof import('element-plus/es')['ElCarousel'] ElCarouselItem: typeof import('element-plus/es')['ElCarouselItem'] - ElCascader: typeof import('element-plus/es')['ElCascader'] ElCheckbox: typeof import('element-plus/es')['ElCheckbox'] ElCheckboxGroup: typeof import('element-plus/es')['ElCheckboxGroup'] ElCol: typeof import('element-plus/es')['ElCol'] @@ -60,7 +58,6 @@ declare module '@vue/runtime-core' { ElImageViewer: typeof import('element-plus/es')['ElImageViewer'] ElInput: typeof import('element-plus/es')['ElInput'] ElInputNumber: typeof import('element-plus/es')['ElInputNumber'] - ElLink: typeof import('element-plus/es')['ElLink'] ElMain: typeof import('element-plus/es')['ElMain'] ElMenu: typeof import('element-plus/es')['ElMenu'] ElMenuItem: typeof import('element-plus/es')['ElMenuItem'] @@ -68,7 +65,6 @@ declare module '@vue/runtime-core' { ElPagination: typeof import('element-plus/es')['ElPagination'] ElPopconfirm: typeof import('element-plus/es')['ElPopconfirm'] ElPopover: typeof import('element-plus/es')['ElPopover'] - ElProgress: typeof import('element-plus/es')['ElProgress'] ElRadio: typeof import('element-plus/es')['ElRadio'] ElRadioButton: typeof import('element-plus/es')['ElRadioButton'] ElRadioGroup: typeof import('element-plus/es')['ElRadioGroup'] @@ -76,7 +72,6 @@ declare module '@vue/runtime-core' { ElRow: typeof import('element-plus/es')['ElRow'] ElScrollbar: typeof import('element-plus/es')['ElScrollbar'] ElSelect: typeof import('element-plus/es')['ElSelect'] - ElSelectV2: typeof import('element-plus/es')['ElSelectV2'] ElSlider: typeof import('element-plus/es')['ElSlider'] ElSpace: typeof import('element-plus/es')['ElSpace'] ElStep: typeof import('element-plus/es')['ElStep'] @@ -93,7 +88,6 @@ declare module '@vue/runtime-core' { ElTimelineItem: typeof import('element-plus/es')['ElTimelineItem'] ElTimePicker: typeof import('element-plus/es')['ElTimePicker'] ElTooltip: typeof import('element-plus/es')['ElTooltip'] - ElTransfer: typeof import('element-plus/es')['ElTransfer'] ElTree: typeof import('element-plus/es')['ElTree'] ElTreeSelect: typeof import('element-plus/es')['ElTreeSelect'] ElUpload: typeof import('element-plus/es')['ElUpload'] @@ -121,30 +115,8 @@ declare module '@vue/runtime-core' { HeadToolsNew: typeof import('./../components/DesignForm/public/headToolsNew.vue')['default'] IconSelect: typeof import('./../components/IconSelect/index.vue')['default'] IEpCaretBottom: typeof import('~icons/ep/caret-bottom')['default'] - IEpCaretTop: typeof import('~icons/ep/caret-top')['default'] IEpClose: typeof import('~icons/ep/close')['default'] - IEpCollection: typeof import('~icons/ep/collection')['default'] - IEpDelete: typeof import('~icons/ep/delete')['default'] - IEpDownload: typeof import('~icons/ep/download')['default'] - IEpEdit: typeof import('~icons/ep/edit')['default'] - IEpMessageBox: typeof import('~icons/ep/message-box')['default'] - IEpMinus: typeof import('~icons/ep/minus')['default'] - IEpOperation: typeof import('~icons/ep/operation')['default'] - IEpPicture: typeof import('~icons/ep/picture')['default'] - IEpPlus: typeof import('~icons/ep/plus')['default'] - IEpPosition: typeof import('~icons/ep/position')['default'] - IEpRefresh: typeof import('~icons/ep/refresh')['default'] - IEpRefreshLeft: typeof import('~icons/ep/refresh-left')['default'] - IEpSearch: typeof import('~icons/ep/search')['default'] IEpSetting: typeof import('~icons/ep/setting')['default'] -<<<<<<< HEAD - IEpTop: typeof import('~icons/ep/top')['default'] - IEpUploadFilled: typeof import('~icons/ep/upload-filled')['default'] - IEpUser: typeof import('~icons/ep/user')['default'] - IEpView: typeof import('~icons/ep/view')['default'] -======= - IEpUser: typeof import('~icons/ep/user')['default'] ->>>>>>> lwx_v8 LangSelect: typeof import('./../components/LangSelect/index.vue')['default'] LayoutPage: typeof import('./../components/DesignForm/layoutPage/index.vue')['default'] List: typeof import('./../components/DesignForm/public/form/components/list.vue')['default'] diff --git a/src/views/sysworkflow/lowcodepage/pageDesignes.vue b/src/views/sysworkflow/lowcodepage/pageDesignes.vue index 8c9c6582a..377469699 100644 --- a/src/views/sysworkflow/lowcodepage/pageDesignes.vue +++ b/src/views/sysworkflow/lowcodepage/pageDesignes.vue @@ -571,7 +571,7 @@ onMounted(() => { //监听版本变化 // watch(() =>versionId.value ,(val:string)=>{ // emits('update:formVersion', val) -<<<<<<< HEAD + // }) /** @ 作者: 秦东 @@ -584,7 +584,7 @@ const versionUpdateForm = (val:string) => { getInitData() } -======= + // }) //liwenxuan 关联选项设置 修复bug:当字段标识改变时,关联选项设置的字段标识未同步更改 start @@ -617,7 +617,7 @@ function refreshFunc(){ index.value = index.value+1 } ->>>>>>> lwx_v8 + + + + + + + + + + + + + diff --git a/src/components/DesignForm/public/form/form.vue b/src/components/DesignForm/public/form/form.vue index 8774d306e..a91fd0381 100644 --- a/src/components/DesignForm/public/form/form.vue +++ b/src/components/DesignForm/public/form/form.vue @@ -164,7 +164,9 @@ const forEachGetFormModel = (list: FormList[], obj: any) => { }) } else if (['card', 'div'].includes(item.type)) { forEachGetFormModel(item.list, obj) - } else { + } /* else if(['switch'].includes(item.type)){ + console.log(item) + } */else { const excludeType = ['title', 'divider', 'txt', 'button'] if (excludeType.indexOf(item.type) === -1) { obj[item.name] = jsonParseStringify(item.control.modelValue) @@ -219,6 +221,9 @@ const recursionToGetFinallyHideFields = (hideFieldArr: any[],radioSelectArr3: st /* console.log("所有字段modelKeyArr^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^") console.log(modelKeyArr) */ + //console.log("当前表单的值-------------------") + //console.log(model.value) + //当前处于显示状态的默认隐藏的字段 @@ -295,7 +300,7 @@ const recursionToGetFinallyHideFields = (hideFieldArr: any[],radioSelectArr3: st console.log(conditionFieldValue) */ for(let n = 0; n< modelKeyArr.length;n++){ if(modelKeyArr[n]==conditionField){ - let count_1 = 0; + //let count_1 = 0; let trueValue = model.value[modelKeyArr[n]] if(trueValue.length>0&&arrayEqual(trueValue,conditionFieldValueArr)){ //此时满足了条件,但是必须看一下conditionField有没有被隐藏.如果被隐藏了,则x不能增加. @@ -304,7 +309,7 @@ const recursionToGetFinallyHideFields = (hideFieldArr: any[],radioSelectArr3: st console.log(toshow) */ let flag = false//其依赖的选项的父字段是否被隐藏.默认没被隐藏, //如果此时的conditionField有可能被隐藏且已被隐藏,x不能++ - for(let a = 0;a1说明时多选,=1说明是单选. for(let b = 0;b0){ for(let i = 0;i0){ + for(let i = 0;i0){ + for(let j = 0; j0){ + for(let n = 0; n0){ + for(let i = 0;i0){ + for(let j = 0;j0){ + const optionValueJArr = typeof(jArr.openValue)=="undefined"?jArr.offValue:jArr.openValue + let arr1 = [] + for(let n = 0;n Date: Thu, 30 May 2024 08:54:12 +0800 Subject: [PATCH 03/13] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=BA=86=E7=AD=BE?= =?UTF-8?q?=E5=90=8D=E6=9D=BF=E5=92=8C=E5=85=B3=E8=81=94=E9=80=89=E9=A1=B9?= =?UTF-8?q?=E8=AE=BE=E7=BD=AE=E4=B8=8D=E5=85=BC=E5=AE=B9=E7=9A=84bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/widget/writingboard/vueSignature.vue | 39 +++++++++++++++--------- 1 file changed, 25 insertions(+), 14 deletions(-) diff --git a/src/widget/writingboard/vueSignature.vue b/src/widget/writingboard/vueSignature.vue index 2f5752984..23312002d 100644 --- a/src/widget/writingboard/vueSignature.vue +++ b/src/widget/writingboard/vueSignature.vue @@ -102,20 +102,24 @@ const getSizeRatio = () => { return !props.fullScreen && props.backIsCenter } - const setCanvasImageBack = (status: any) => { - const canvas = canvasRef.value as HTMLCanvasElement - let pat = canvasTxt.value?.createPattern(canvasBackDom.value, (props.isRepeat || "no-repeat")); - canvasTxt.value?.rect(0,0,canvas.width ,canvas.height) - canvasTxt!.value!.fillStyle = (pat as any); - canvasTxt.value?.fill(); - if (status) { - autoDraw(null, null) + const setCanvasImageBack = (status: any,canvas:any) => { + //const canvas = canvasRef.value as HTMLCanvasElement + //console.log(canvas) + if(typeof(canvas)!="undefined"&&typeof(canvas.width)!="undefined"){ + let pat = canvasTxt.value?.createPattern(canvasBackDom.value, (props.isRepeat || "no-repeat")); + canvasTxt.value?.rect(0,0,canvas.width ,canvas.height) + canvasTxt!.value!.fillStyle = (pat as any); + canvasTxt.value?.fill(); + if (status) { + autoDraw(null, null) + } } + } - const setCanvasBack = (status: any) => { - const canvas = canvasRef.value as HTMLCanvasElement + const setCanvasBack = (status: any,canvas:any) => { + //const canvas = canvasRef.value as HTMLCanvasElement if (props.canvasBack && canvasBackDom.value && isImgaes(props.canvasBack)) { - setCanvasImageBack(status) + setCanvasImageBack(status,canvas)//liwenxuan } else { canvas.style.background = canvasBackground.value } @@ -145,12 +149,19 @@ canvasTxt.value?.scale(1 * sratio.value, 1 * sratio.value) sratio.value = realw / (domPatams.width ? domPatams.width : props.fullScreen ? screenPatams.width : props.width) canvasTxt.value?.scale(1 / sratio.value, 1 / sratio.value) + if (props.canvasBack) { let IntervaId = setInterval(() => { - if ((canvasBackDom.value && isLoad.value) || !isImgaes(props.canvasBack)) { - setCanvasBack(status) - clearInterval(IntervaId) + //console.log("111111111111111111111111111111111111111111111111111111") + //console.log(canvas) + if(typeof(canvas)!="undefined"){ + console.log(canvas) + if ((canvasBackDom.value && isLoad.value) || !isImgaes(props.canvasBack)) { + setCanvasBack(status,canvas)//liwenxuan + clearInterval(IntervaId) + } } + }, 100) } else { if (status) { From 3d2ddd8c41ed1ea1ff05d48f856737b8ba127d2d Mon Sep 17 00:00:00 2001 From: liwenxuan <1298531568@qq.com> Date: Thu, 30 May 2024 08:59:25 +0800 Subject: [PATCH 04/13] =?UTF-8?q?=E7=AD=BE=E5=90=8D=E6=9D=BF=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/assets/paintboard.png | Bin 10670 -> 13484 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/src/assets/paintboard.png b/src/assets/paintboard.png index 252b4631e33f4b45244486608fafd99ee847f792..f2c79e0bb8c4c1d58795e4fbccff2e67bbac4b45 100644 GIT binary patch literal 13484 zcmeI2Jxjw-6o%hmwI8;cMJm!_D=3Z?9NcV5rHx>b;^N{*mx720Rd5hmtV0B$PJ)a6 zgF?kwi>RYGif%d-!Ntv?RPRv|^AjB23nAy^=90_hJ?A`ub1@2-M86m{!aV9NFA0PTQ9V`Y^S2X z4%;^N2frLUcJt|VocP_eWBVrf2_6(cMFETpFo6Kfv;gY`z`_a;4?vDmut+>09w-?Q z4~Pfy>qtBx9*7Qz2gC!>0r7x%pkzQiARb6MARZ78Lz+F%}28J29*~C-V}>VM%xN zb!1@J*w6hZkrl}2EbxddW?zuZTe zS??z(8SnOWNx8e39jFlq8aBNbg|c*Bi$hon=YN5W1%eZs>lh)dPix{Kj0T%gWuTB4 z4G?g87)>GIU>MCZ;9wXn9KgXaS~x(0VYF}jj3zopr0HWJ9hyVZp From a3337c98e0d090f87473bec5d597ed5a1cf38bce Mon Sep 17 00:00:00 2001 From: liwenxuan <1298531568@qq.com> Date: Thu, 30 May 2024 13:34:31 +0800 Subject: [PATCH 05/13] =?UTF-8?q?=E5=AE=9E=E7=8E=B0=E5=85=B3=E8=81=94?= =?UTF-8?q?=E8=A1=A8=E5=8D=95=E8=AE=BE=E7=BD=AE=E5=8F=AF=E9=80=89=E5=AD=97?= =?UTF-8?q?=E6=AE=B5=E4=B8=AD=E6=B2=A1=E6=9C=89=E5=BD=93=E5=89=8D=E5=AD=97?= =?UTF-8?q?=E6=AE=B5=E6=95=88=E6=9E=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/DesignForm/formControlAttr.vue | 64 ++++++++++++++++--- src/widget/writingboard/vueSignature.vue | 2 +- 2 files changed, 57 insertions(+), 9 deletions(-) diff --git a/src/components/DesignForm/formControlAttr.vue b/src/components/DesignForm/formControlAttr.vue index 63faee8de..454b4e8c2 100644 --- a/src/components/DesignForm/formControlAttr.vue +++ b/src/components/DesignForm/formControlAttr.vue @@ -1609,7 +1609,8 @@ let currentUploadImgid = ""; //刚拖拽视频组件时,初始化imgid监听designForm.activeKey,变化时,如果controlData.value.type=='lowcodeCarsusel',就遍历轮播图数组把imgid=''的都生成uuid - watch(()=>store.activeKey, () => { + watch(()=>store.activeKey, (newVal) => { + //啊啊啊啊 if(controlData.value.type==='lowcodeCarsusel'){ const carsuselConfigData:CarsuselConfig[] = controlData.value.control.carsuselConfigArr carsuselConfigData.forEach(element => { @@ -1623,6 +1624,32 @@ }else if(controlData.value.type==='associatedForms'){ controlData.value.control.fillRoles[0].id = uuidv4().replaceAll('-','').toString(); } + //实现关联表单设置可选字段中没有当前字段效果 start + //console.log(controlData.value.name) + resDataForGlxxszExceptself1 = JSON.parse(JSON.stringify(resDataForGlxxszExceptself)); + //console.log(resDataForGlxxszExceptself1) + + for(let i = 0;i() const associatedFormsCurrentFormFieldTreeForGlxxsz = ref() +let associatedFormsCurrentFormFieldTreeForGlxxszExceptSelf = ref() +let resDataForGlxxszExceptself: any[] = [] +let resDataForGlxxszExceptself1: any[] = [] +let getAssociatedFormsCurrentFieldTreeData:any getAssociatedFormsCurrentFieldTree().then(({ data }) => { - + //console.log(data) + getAssociatedFormsCurrentFieldTreeData = JSON.parse(JSON.stringify(data)) + //console.log(getAssociatedFormsCurrentFieldTreeData) if(data.id==="cfid为空"){ //alert("cfid为空") }else{ @@ -1921,6 +1954,11 @@ getAssociatedFormsCurrentFieldTree().then(({ data }) => { let resDataForGlxxsz = ref(data.children.slice(8)) + resDataForGlxxszExceptself = JSON.parse(JSON.stringify(resDataForGlxxsz.value)); + + //console.log(resDataForGlxxszExceptself) + + associatedFormsCurrentFormFieldTreeForGlxxsz.value = [{ id: 'rootid_'+data.label, @@ -1929,6 +1967,15 @@ getAssociatedFormsCurrentFieldTree().then(({ data }) => { children: [...resDataForGlxxsz.value], treeAttrs: data.treeAttrs, }] + associatedFormsCurrentFormFieldTreeForGlxxszExceptSelf.value = [{ + id: 'rootid_'+data.label, + //label: '当前表单', + label: '当前表单-'+data.treeAttrs.show, + children: [...resDataForGlxxsz.value], + treeAttrs: data.treeAttrs,//getAssociatedFormsCurrentFieldTreeData + }] + + } }); @@ -2324,6 +2371,7 @@ function deleteRowForGlxxsz(row: { id: any }){ /* */ + //liwenxuan20240426 单选多选下拉 关联选项设置 end @@ -3799,7 +3847,7 @@ const loadNextPage = () => { @@ -3832,7 +3880,7 @@ const loadNextPage = () => { @@ -3869,11 +3917,11 @@ const loadNextPage = () => { - + @@ -3912,7 +3912,7 @@ const loadNextPage = () => { - + @@ -3924,24 +3924,6 @@ const loadNextPage = () => { - - + @@ -3912,7 +3912,7 @@ const loadNextPage = () => { - + From 665f4b093e091383fcf8fb819a215ae1ab1268a8 Mon Sep 17 00:00:00 2001 From: liwenxuan <1298531568@qq.com> Date: Thu, 30 May 2024 16:03:22 +0800 Subject: [PATCH 08/13] =?UTF-8?q?=E5=AD=97=E6=AE=B5=E5=92=8C=E7=BB=84?= =?UTF-8?q?=E4=BB=B6=E5=88=86=E7=BB=84=E6=8E=92=E5=BA=8F=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/DesignForm/assembly/index.ts | 739 ++++++++++---------- 1 file changed, 378 insertions(+), 361 deletions(-) diff --git a/src/components/DesignForm/assembly/index.ts b/src/components/DesignForm/assembly/index.ts index 30f0412d7..0d6cd008a 100644 --- a/src/components/DesignForm/assembly/index.ts +++ b/src/components/DesignForm/assembly/index.ts @@ -21,15 +21,14 @@ const selectOption: any = [ title: '基础字段', children: [ { - type: 'input', - label: '单行文本', - icon: 'input', - iconFont: 'fa-text-width', + type: 'title', + label: '标题', + icon: 'title', + iconFont: 'fa-header', control: { - // 组件所有属性 - modelValue: '' + modelValue: '标题' }, - config: {}, // 其他配置信息 + config: {}, styles:{ divStyle:{}, labelStyle:{}, @@ -60,6 +59,23 @@ const selectOption: any = [ inputStyle:{} } }, + { + type: 'input', + label: '单行文本', + icon: 'input', + iconFont: 'fa-text-width', + control: { + // 组件所有属性 + modelValue: '' + }, + config: {}, // 其他配置信息 + styles:{ + divStyle:{}, + labelStyle:{}, + inputStyle:{} + } + }, + { type: 'textarea', label: '多行文本', @@ -127,79 +143,6 @@ const selectOption: any = [ inputStyle:{} } }, - { - type: 'datePicker', - label: '日期选择器', - icon: 'todo', - iconFont: 'fa-calendar', - control: { - modelValue: '', - type: 'date' - }, - config: {}, - styles:{ - divStyle:{}, - labelStyle:{}, - inputStyle:{} - } - }, - { - type: 'timePicker', - label: '时间选择器', - icon: 'time', - iconFont: 'fa-clock-o', - control: { - modelValue: '' - }, - config: {}, - styles:{ - divStyle:{}, - labelStyle:{}, - inputStyle:{} - } - }, - { - type: 'switch', - label: '开关', - icon: 'switch', - iconFont: 'fa-toggle-on', - control: { - modelValue: "", - glxxszSwitch:[ - { - conditionField:'', - openValue:"", - showFields:[] - }, - { - conditionField:'', - offValue:"", - showFields:[] - }, - ] - }, - config: {}, - styles:{ - divStyle:{}, - labelStyle:{}, - inputStyle:{} - } - }, - { - type: 'inputNumber', - label: '计数器', - icon: 'number', - iconFont: 'fa-sort-numeric-asc', - control: { - modelValue: 0 - }, - config: {}, - styles:{ - divStyle:{}, - labelStyle:{}, - inputStyle:{} - } - }, { type: 'cascader', label: '级联选择器', @@ -217,12 +160,13 @@ const selectOption: any = [ } }, { - type: 'rate', - label: '评分', - icon: 'rate', - iconFont: 'fa-star-o', + type: 'datePicker', + label: '日期选择器', + icon: 'todo', + iconFont: 'fa-calendar', control: { - modelValue: 0 + modelValue: '', + type: 'date' }, config: {}, styles:{ @@ -232,12 +176,12 @@ const selectOption: any = [ } }, { - type: 'slider', - label: '滑块', - icon: 'slider', - iconFont: 'fa-sliders', + type: 'timePicker', + label: '时间选择器', + icon: 'time', + iconFont: 'fa-clock-o', control: { - modelValue: 0 + modelValue: '' }, config: {}, styles:{ @@ -247,31 +191,26 @@ const selectOption: any = [ } }, { - type: 'treeSelect', - label: '树形控件', - icon: 'tree2', - iconFont: '', + type: 'txt', + label: '文字描述', + icon: 'text', + iconFont: 'fa-file-word-o', control: { - modelValue: '', - data: [], - renderAfterExpand: false - }, - config: { - optionsType: 0 + modelValue: '' }, - styles:{ + config: {}, + styles:{ divStyle:{}, labelStyle:{}, inputStyle:{} } }, { - type: 'txt', - label: '文字', - icon: 'text', - iconFont: 'fa-file-word-o', + type: 'organization', + label: '联系地址', + icon: 'marker', + iconFont: 'fa-map-marker', control: { - modelValue: '' }, config: {}, styles:{ @@ -281,12 +220,24 @@ const selectOption: any = [ } }, { - type: 'title', - label: '标题', - icon: 'title', - iconFont: 'fa-header', + type: 'switch', + label: '开关', + icon: 'switch', + iconFont: 'fa-toggle-on', control: { - modelValue: '标题' + modelValue: "", + glxxszSwitch:[ + { + conditionField:'', + openValue:"", + showFields:[] + }, + { + conditionField:'', + offValue:"", + showFields:[] + }, + ] }, config: {}, styles:{ @@ -311,27 +262,12 @@ const selectOption: any = [ } }, { - type: 'serialNumber', - label: '编码', + type: 'inputNumber', + label: '计数器', icon: 'number', - iconFont: 'fa-list-ol', - control: { - }, - config: { - automatic:false - }, - styles:{ - divStyle:{}, - labelStyle:{}, - inputStyle:{} - } - }, - { - type: 'urllink', - label: '链接', - icon: 'link', - iconFont: 'fa-link', + iconFont: 'fa-sort-numeric-asc', control: { + modelValue: 0 }, config: {}, styles:{ @@ -340,26 +276,195 @@ const selectOption: any = [ inputStyle:{} } }, + + + + + + + + + + + + + + + ] + }, + { + title: '布局字段', + children: [ + { + type: 'grid', + label: '格栅布局', + icon: 'grid', + iconFont: 'fa-th-large', + columns: [ + // 格栅列数据 + { + attr: { span: 12 }, + list: [] + }, + { + attr: { span: 12 }, + list: [] + } + ], + control: {}, + config: {}, + styles:{ + divStyle:{}, + labelStyle:{}, + inputStyle:{} + } + }, + { + type: 'card', + label: '卡片布局', + icon: 'card', + iconFont: 'fa-credit-card', + list: [], + control: {}, + config: {}, + item: {}, // label标题相关 + styles:{ + divStyle:{}, + labelStyle:{}, + inputStyle:{} + } + }, + { + type: 'flex', + label: '弹性布局', + icon: 'flex', + iconFont: 'fa-file-text-o', + list: [], + tableData: [], // 值集合 + control: {}, + config: { + addBtnText: '添加一行' + }, + styles:{ + divStyle:{}, + labelStyle:{}, + inputStyle:{} + } + }, + { + type: 'div', + label: '容器', + icon: 'div', + iconFont: '', + control: {}, + config: {}, + list: [], + styles:{ + divStyle:{}, + labelStyle:{}, + inputStyle:{} + } + }, + { + type: 'tabs', + label: '标签页', + icon: 'tabs', + iconFont: 'fa-folder-o', + columns: [ + { + label: 'Tab1', + list: [] + } + ], + control: {}, + config: {}, + styles:{ + divStyle:{}, + labelStyle:{}, + inputStyle:{} + } + }, + + { + type: 'divider', + label: '分割线', + icon: 'divider', + iconFont: '', + control: {}, + config: {}, + styles:{ + divStyle:{}, + labelStyle:{}, + inputStyle:{} + } + }, + + ] + }, + + { + title: '高级控件', + children: [ { - type: 'organization', - label: '联系地址', - icon: 'marker', - iconFont: 'fa-map-marker', + type: 'lowcodeImage', + label: '图片', + icon: '', + iconFont: 'fa-photo', control: { + modelValue: '', + uploadFlag:false, + imgId:'', + imgUrl: '', + link: '', + fit:1, + radius:false, + radiusNum:5, + boderAndShadow:false, + showMode:'自定义像素值', + pxWidth:448, + pxHeight:252, + widthPercent:90, + heightPercent:90, + mt:0, + mb:0, + ml:0, + mr:0, + pt:0, + pb:0, + pl:0, + pr:0, + floatFlag:false, + floatValue:'left', }, - config: {}, - styles:{ - divStyle:{}, - labelStyle:{}, - inputStyle:{} - } + config: {} }, { - type: 'baidumap', - label: '地图', - icon: 'map', - iconFont: 'fa-map-o', + type: 'videoUpAndPlay', + label: '视频', + icon: '', + iconFont: 'fa-play-circle', control: { + modelValue: '', + videoMsg:[{ + CreatedAt: '', + UpdatedAt: '', + fileSize: "0n", + id: "0n", + key: '', + name: '', + physicspath: '', + size: '', + tag: '', + type: 0, + url: '', + videoReady: false, + videoHeight:400, + videoWidth:700, + videoAutoPlay: false, + attrId: '', + poster:'', + loop: false + }] }, config: {}, styles:{ @@ -370,12 +475,12 @@ const selectOption: any = [ }, { - type: 'colorPicker', - label: '取色器', - icon: 'color', - iconFont: '', + type: 'upload', + label: '文件', + icon: 'image', + iconFont: 'fa-file-image-o', control: { - modelValue: '' + modelValue: '' // 也可以是[{name:'',url:''}]形式 }, config: {}, styles:{ @@ -383,12 +488,13 @@ const selectOption: any = [ labelStyle:{}, inputStyle:{} } + }, { - type: 'orgCentent', - label: '行政组织', - icon: 'sliders', - iconFont: 'fa-sliders', + type: 'urllink', + label: '链接', + icon: 'link', + iconFont: 'fa-link', control: { }, config: {}, @@ -398,25 +504,6 @@ const selectOption: any = [ inputStyle:{} } }, - { - type: 'signaturemap', - label: '签名板', - icon: 'faedit', - iconFont: 'fa-edit', - control: { - }, - config: {}, - styles:{ - divStyle:{}, - labelStyle:{}, - inputStyle:{} - } - } - ] - }, - { - title: '高级字段', - children: [ { type: 'table', label: '子表', @@ -437,12 +524,11 @@ const selectOption: any = [ } }, { - type: 'component', - label: '自定义组件', - icon: 'component', - iconFont: 'fa-cubes', + type: 'baidumap', + label: '地图', + icon: 'map', + iconFont: 'fa-map-o', control: { - modelValue: '' }, config: {}, styles:{ @@ -450,17 +536,14 @@ const selectOption: any = [ labelStyle:{}, inputStyle:{} } - /*template: '', // 组件模板名称 - component: '' // 根据template注入的组件*/ }, { - - type: 'upload', - label: '图片/文件', - icon: 'image', - iconFont: 'fa-file-image-o', + type: 'slider', + label: '滑块', + icon: 'slider', + iconFont: 'fa-sliders', control: { - modelValue: '' // 也可以是[{name:'',url:''}]形式 + modelValue: 0 }, config: {}, styles:{ @@ -468,15 +551,14 @@ const selectOption: any = [ labelStyle:{}, inputStyle:{} } - }, { - type: 'tinymce', - label: '富文本', - icon: 'tinymce', - iconFont: '', + type: 'rate', + label: '评分', + icon: 'rate', + iconFont: 'fa-star-o', control: { - modelValue: '' + modelValue: 0 }, config: {}, styles:{ @@ -486,32 +568,12 @@ const selectOption: any = [ } }, { - type: 'videoUpAndPlay', - label: '视频', - icon: '', - iconFont: 'fa-play-circle', + type: 'tinymce', + label: '富文本', + icon: 'tinymce',// + iconFont: 'fa-list-alt', control: { - modelValue: '', - videoMsg:[{ - CreatedAt: '', - UpdatedAt: '', - fileSize: "0n", - id: "0n", - key: '', - name: '', - physicspath: '', - size: '', - tag: '', - type: 0, - url: '', - videoReady: false, - videoHeight:400, - videoWidth:700, - videoAutoPlay: false, - attrId: '', - poster:'', - loop: false - }] + modelValue: '' }, config: {}, styles:{ @@ -548,6 +610,21 @@ const selectOption: any = [ inputStyle:{} } }, + + { + type: 'signaturemap', + label: '签名板', + icon: 'faedit', + iconFont: 'fa-edit', + control: { + }, + config: {}, + styles:{ + divStyle:{}, + labelStyle:{}, + inputStyle:{} + } + }, { type: 'lowcodeTransfer', label: '穿梭框', @@ -576,135 +653,103 @@ const selectOption: any = [ } }, { - type: 'lowcodeImage', - label: '图片', - icon: '', - iconFont: 'fa-photo', - control: { - modelValue: '', - uploadFlag:false, - imgId:'', - imgUrl: '', - link: '', - fit:1, - radius:false, - radiusNum:5, - boderAndShadow:false, - showMode:'自定义像素值', - pxWidth:448, - pxHeight:252, - widthPercent:90, - heightPercent:90, - mt:0, - mb:0, - ml:0, - mr:0, - pt:0, - pb:0, - pl:0, - pr:0, - floatFlag:false, - floatValue:'left', - }, - config: {} - }, - { - type: 'associatedForms', - label: '关联表单', - icon: '', - iconFont: 'fa-wpforms', - control: { - modelValue: '', - hideConditionHtml:'', - hideConditionHtmlCopy:'', - formid: '', - dataRangeConditionHtml:'', - dataRangeConditionHtmlCopy:'', - saveFlag: false, - fillRoles: [ - { - leftValue:'', - rightValue:'', - id:'', - } - ], - }, - config: {} + + type: 'colorPicker', + label: '取色器', + icon: 'color', + iconFont: '', + control: { + modelValue: '' + }, + config: {}, + styles:{ + divStyle:{}, + labelStyle:{}, + inputStyle:{} + } + }, + { + type: 'treeSelect', + label: '树形控件', + icon: 'tree2', + iconFont: '', + control: { + modelValue: '', + data: [], + renderAfterExpand: false + }, + config: { + optionsType: 0 + }, + styles:{ + divStyle:{}, + labelStyle:{}, + inputStyle:{} } - - ] }, { - title: '布局字段', - children: [ - { - type: 'grid', - label: '格栅布局', - icon: 'grid', - iconFont: 'fa-th-large', - columns: [ - // 格栅列数据 - { - attr: { span: 12 }, - list: [] - }, - { - attr: { span: 12 }, - list: [] - } - ], - control: {}, - config: {}, - styles:{ - divStyle:{}, - labelStyle:{}, - inputStyle:{} - } - }, - { - type: 'tabs', - label: '标签页', - icon: 'tabs', - iconFont: 'fa-folder-o', - columns: [ + type: 'associatedForms', + label: '关联表单', + icon: '', + iconFont: 'fa-wpforms', + control: { + modelValue: '', + hideConditionHtml:'', + hideConditionHtmlCopy:'', + formid: '', + dataRangeConditionHtml:'', + dataRangeConditionHtmlCopy:'', + saveFlag: false, + fillRoles: [ { - label: 'Tab1', - list: [] + leftValue:'', + rightValue:'', + id:'', } ], - control: {}, - config: {}, - styles:{ - divStyle:{}, - labelStyle:{}, - inputStyle:{} - } }, + config: {} + }, { - type: 'card', - label: '卡片布局', - icon: 'card', - iconFont: 'fa-credit-card', - list: [], - control: {}, + type: 'component', + label: '自定义组件', + icon: 'component', + iconFont: 'fa-cubes', + control: { + modelValue: '' + }, config: {}, - item: {}, // label标题相关 styles:{ divStyle:{}, labelStyle:{}, inputStyle:{} } + /*template: '', // 组件模板名称 + component: '' // 根据template注入的组件*/ }, + + + + + + + + + ] + }, + + { + title: '系统控件',//扩展组件 + children: [ { - type: 'flex', - label: '弹性布局', - icon: 'flex', - iconFont: 'fa-file-text-o', - list: [], - tableData: [], // 值集合 - control: {}, + type: 'serialNumber', + label: '编码', + icon: 'number', + iconFont: 'fa-list-ol', + control: { + }, config: { - addBtnText: '添加一行' + automatic:false }, styles:{ divStyle:{}, @@ -712,38 +757,6 @@ const selectOption: any = [ inputStyle:{} } }, - { - type: 'divider', - label: '分割线', - icon: 'divider', - iconFont: '', - control: {}, - config: {}, - styles:{ - divStyle:{}, - labelStyle:{}, - inputStyle:{} - } - }, - { - type: 'div', - label: '容器', - icon: 'div', - iconFont: '', - control: {}, - config: {}, - list: [], - styles:{ - divStyle:{}, - labelStyle:{}, - inputStyle:{} - } - } - ] - }, - { - title: '扩展组件', - children: [ { type: 'expand-user', label: '选择用户', @@ -762,7 +775,7 @@ const selectOption: any = [ }, { type: 'orgCentent', - label: '行政组织', + label: '选择组织', icon: 'sliders', iconFont: 'fa-sliders', control: { @@ -775,6 +788,10 @@ const selectOption: any = [ } } ] + }, + { + title: '扩展组件',// + chileren:[] } ] \ No newline at end of file From 3cdaa4c5935f8aaab533115528be90c033e5983d Mon Sep 17 00:00:00 2001 From: liwenxuan <1298531568@qq.com> Date: Thu, 30 May 2024 16:06:47 +0800 Subject: [PATCH 09/13] =?UTF-8?q?=E5=AD=97=E6=AE=B5=E5=92=8C=E7=BB=84?= =?UTF-8?q?=E4=BB=B6=E5=88=86=E7=BB=84=E6=8E=92=E5=BA=8F=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/DesignForm/assembly/index.ts | 1521 +++++++++---------- 1 file changed, 760 insertions(+), 761 deletions(-) diff --git a/src/components/DesignForm/assembly/index.ts b/src/components/DesignForm/assembly/index.ts index 0d6cd008a..1ed7649c8 100644 --- a/src/components/DesignForm/assembly/index.ts +++ b/src/components/DesignForm/assembly/index.ts @@ -12,786 +12,785 @@ const selectOption: any = [ label: '标签3', value: 'value3' }*/ - ] - const config: { optionsType: number } = { +] +const config: { optionsType: number } = { optionsType: 0 // 0固定 1数据源 2 接口字典 - } - export default [ +} +export default [ { - title: '基础字段', - children: [ - { - type: 'title', - label: '标题', - icon: 'title', - iconFont: 'fa-header', - control: { - modelValue: '标题' - }, - config: {}, - styles:{ - divStyle:{}, - labelStyle:{}, - inputStyle:{} - } - }, - { - type: 'digitpage', - label: '数值', - icon: 'money', - iconFont: 'fa-money', - control: { - // 组件所有属性 - modelValue: '', - mathFormula:{ - formulaHtml:'', - mathsString:'', - mathsFormula:'', - takingMethod:1, - digit:2 - } - }, - config: {}, // 其他配置信息 - selectvalue: "default", - styles:{ - divStyle:{}, - labelStyle:{}, - inputStyle:{} - } - }, - { - type: 'input', - label: '单行文本', - icon: 'input', - iconFont: 'fa-text-width', - control: { - // 组件所有属性 - modelValue: '' - }, - config: {}, // 其他配置信息 - styles:{ - divStyle:{}, - labelStyle:{}, - inputStyle:{} - } - }, - - { - type: 'textarea', - label: '多行文本', - icon: 'textarea', - iconFont: 'fa-text-height', - control: { - modelValue: '' - }, - config: {}, - styles:{ - divStyle:{}, - labelStyle:{}, - inputStyle:{} - } - }, - { - type: 'radio', - label: '单选框组', - icon: 'radio', - iconFont: 'fa-dot-circle-o', - control: { - modelValue: '', - glxxsz:[], - }, - options: selectOption, // 下拉选项数据集合 - config: config, - styles:{ - divStyle:{}, - labelStyle:{}, - inputStyle:{} - } - }, - { - type: 'checkbox', - label: '多选框组', - icon: 'checkbox', - iconFont: 'fa-check-square-o', - control: { - modelValue: [], - glxxszForCheckBox:[], - }, - options: selectOption, - config: config, - styles:{ - divStyle:{}, - labelStyle:{}, - inputStyle:{} - } - }, - { - type: 'select', - label: '下拉选择框', - icon: 'select', - iconFont: 'fa-toggle-down', - control: { - modelValue: '', - appendToBody: true, - glxxsz:[], - }, - options: selectOption, - config: config, - styles:{ - divStyle:{}, - labelStyle:{}, - inputStyle:{} - } - }, - { - type: 'cascader', - label: '级联选择器', - icon: 'cascader', - iconFont: 'fa-sitemap', - control: { - modelValue: [] - }, - options: [], - config: config, - styles:{ - divStyle:{}, - labelStyle:{}, - inputStyle:{} - } - }, - { - type: 'datePicker', - label: '日期选择器', - icon: 'todo', - iconFont: 'fa-calendar', - control: { - modelValue: '', - type: 'date' - }, - config: {}, - styles:{ - divStyle:{}, - labelStyle:{}, - inputStyle:{} - } - }, - { - type: 'timePicker', - label: '时间选择器', - icon: 'time', - iconFont: 'fa-clock-o', - control: { - modelValue: '' - }, - config: {}, - styles:{ - divStyle:{}, - labelStyle:{}, - inputStyle:{} - } - }, - { - type: 'txt', - label: '文字描述', - icon: 'text', - iconFont: 'fa-file-word-o', - control: { - modelValue: '' - }, - config: {}, - styles:{ - divStyle:{}, - labelStyle:{}, - inputStyle:{} - } - }, - { - type: 'organization', - label: '联系地址', - icon: 'marker', - iconFont: 'fa-map-marker', - control: { - }, - config: {}, - styles:{ - divStyle:{}, - labelStyle:{}, - inputStyle:{} - } - }, - { - type: 'switch', - label: '开关', - icon: 'switch', - iconFont: 'fa-toggle-on', - control: { - modelValue: "", - glxxszSwitch:[ - { - conditionField:'', - openValue:"", - showFields:[] - }, - { - conditionField:'', - offValue:"", - showFields:[] - }, - ] + title: '基础字段', + children: [ + { + type: 'title', + label: '标题', + icon: 'title', + iconFont: 'fa-header', + control: { + modelValue: '标题' + }, + config: {}, + styles: { + divStyle: {}, + labelStyle: {}, + inputStyle: {} + } }, - config: {}, - styles:{ - divStyle:{}, - labelStyle:{}, - inputStyle:{} - } - }, - { - type: 'button', - label: '按钮', - icon: 'button', - iconFont: 'fa-square-o', - control: { - label: '保存' - }, - config: {}, - styles:{ - divStyle:{}, - labelStyle:{}, - inputStyle:{} - } - }, - { - type: 'inputNumber', - label: '计数器', - icon: 'number', - iconFont: 'fa-sort-numeric-asc', - control: { - modelValue: 0 - }, - config: {}, - styles:{ - divStyle:{}, - labelStyle:{}, - inputStyle:{} - } - }, - - - - - - - - - - - - - - - ] + { + type: 'digitpage', + label: '数值', + icon: 'money', + iconFont: 'fa-money', + control: { + // 组件所有属性 + modelValue: '', + mathFormula: { + formulaHtml: '', + mathsString: '', + mathsFormula: '', + takingMethod: 1, + digit: 2 + } + }, + config: {}, // 其他配置信息 + selectvalue: "default", + styles: { + divStyle: {}, + labelStyle: {}, + inputStyle: {} + } + }, + { + type: 'input', + label: '单行文本', + icon: 'input', + iconFont: 'fa-text-width', + control: { + // 组件所有属性 + modelValue: '' + }, + config: {}, // 其他配置信息 + styles: { + divStyle: {}, + labelStyle: {}, + inputStyle: {} + } + }, + + { + type: 'textarea', + label: '多行文本', + icon: 'textarea', + iconFont: 'fa-text-height', + control: { + modelValue: '' + }, + config: {}, + styles: { + divStyle: {}, + labelStyle: {}, + inputStyle: {} + } + }, + { + type: 'radio', + label: '单选框组', + icon: 'radio', + iconFont: 'fa-dot-circle-o', + control: { + modelValue: '', + glxxsz: [], + }, + options: selectOption, // 下拉选项数据集合 + config: config, + styles: { + divStyle: {}, + labelStyle: {}, + inputStyle: {} + } + }, + { + type: 'checkbox', + label: '多选框组', + icon: 'checkbox', + iconFont: 'fa-check-square-o', + control: { + modelValue: [], + glxxszForCheckBox: [], + }, + options: selectOption, + config: config, + styles: { + divStyle: {}, + labelStyle: {}, + inputStyle: {} + } + }, + { + type: 'select', + label: '下拉选择框', + icon: 'select', + iconFont: 'fa-toggle-down', + control: { + modelValue: '', + appendToBody: true, + glxxsz: [], + }, + options: selectOption, + config: config, + styles: { + divStyle: {}, + labelStyle: {}, + inputStyle: {} + } + }, + { + type: 'cascader', + label: '级联选择器', + icon: 'cascader', + iconFont: 'fa-sitemap', + control: { + modelValue: [] + }, + options: [], + config: config, + styles: { + divStyle: {}, + labelStyle: {}, + inputStyle: {} + } + }, + { + type: 'datePicker', + label: '日期选择器', + icon: 'todo', + iconFont: 'fa-calendar', + control: { + modelValue: '', + type: 'date' + }, + config: {}, + styles: { + divStyle: {}, + labelStyle: {}, + inputStyle: {} + } + }, + { + type: 'timePicker', + label: '时间选择器', + icon: 'time', + iconFont: 'fa-clock-o', + control: { + modelValue: '' + }, + config: {}, + styles: { + divStyle: {}, + labelStyle: {}, + inputStyle: {} + } + }, + { + type: 'txt', + label: '文字描述', + icon: 'text', + iconFont: 'fa-file-word-o', + control: { + modelValue: '' + }, + config: {}, + styles: { + divStyle: {}, + labelStyle: {}, + inputStyle: {} + } + }, + { + type: 'organization', + label: '联系地址', + icon: 'marker', + iconFont: 'fa-map-marker', + control: { + }, + config: {}, + styles: { + divStyle: {}, + labelStyle: {}, + inputStyle: {} + } + }, + { + type: 'switch', + label: '开关', + icon: 'switch', + iconFont: 'fa-toggle-on', + control: { + modelValue: "", + glxxszSwitch: [ + { + conditionField: '', + openValue: "", + showFields: [] + }, + { + conditionField: '', + offValue: "", + showFields: [] + }, + ] + }, + config: {}, + styles: { + divStyle: {}, + labelStyle: {}, + inputStyle: {} + } + }, + { + type: 'button', + label: '按钮', + icon: 'button', + iconFont: 'fa-square-o', + control: { + label: '保存' + }, + config: {}, + styles: { + divStyle: {}, + labelStyle: {}, + inputStyle: {} + } + }, + { + type: 'inputNumber', + label: '计数器', + icon: 'number', + iconFont: 'fa-sort-numeric-asc', + control: { + modelValue: 0 + }, + config: {}, + styles: { + divStyle: {}, + labelStyle: {}, + inputStyle: {} + } + }, + + + + + + + + + + + + + + + ] }, { title: '布局字段', children: [ - { - type: 'grid', - label: '格栅布局', - icon: 'grid', - iconFont: 'fa-th-large', - columns: [ - // 格栅列数据 - { - attr: { span: 12 }, - list: [] - }, - { - attr: { span: 12 }, - list: [] - } - ], - control: {}, - config: {}, - styles:{ - divStyle:{}, - labelStyle:{}, - inputStyle:{} - } - }, - { - type: 'card', - label: '卡片布局', - icon: 'card', - iconFont: 'fa-credit-card', - list: [], - control: {}, - config: {}, - item: {}, // label标题相关 - styles:{ - divStyle:{}, - labelStyle:{}, - inputStyle:{} - } - }, - { - type: 'flex', - label: '弹性布局', - icon: 'flex', - iconFont: 'fa-file-text-o', - list: [], - tableData: [], // 值集合 - control: {}, - config: { - addBtnText: '添加一行' - }, - styles:{ - divStyle:{}, - labelStyle:{}, - inputStyle:{} - } - }, - { - type: 'div', - label: '容器', - icon: 'div', - iconFont: '', - control: {}, - config: {}, - list: [], - styles:{ - divStyle:{}, - labelStyle:{}, - inputStyle:{} - } - }, - { - type: 'tabs', - label: '标签页', - icon: 'tabs', - iconFont: 'fa-folder-o', - columns: [ - { - label: 'Tab1', - list: [] - } - ], - control: {}, - config: {}, - styles:{ - divStyle:{}, - labelStyle:{}, - inputStyle:{} - } - }, - - { - type: 'divider', - label: '分割线', - icon: 'divider', - iconFont: '', - control: {}, - config: {}, - styles:{ - divStyle:{}, - labelStyle:{}, - inputStyle:{} - } - }, - + { + type: 'grid', + label: '格栅布局', + icon: 'grid', + iconFont: 'fa-th-large', + columns: [ + // 格栅列数据 + { + attr: { span: 12 }, + list: [] + }, + { + attr: { span: 12 }, + list: [] + } + ], + control: {}, + config: {}, + styles: { + divStyle: {}, + labelStyle: {}, + inputStyle: {} + } + }, + { + type: 'card', + label: '卡片布局', + icon: 'card', + iconFont: 'fa-credit-card', + list: [], + control: {}, + config: {}, + item: {}, // label标题相关 + styles: { + divStyle: {}, + labelStyle: {}, + inputStyle: {} + } + }, + { + type: 'flex', + label: '弹性布局', + icon: 'flex', + iconFont: 'fa-file-text-o', + list: [], + tableData: [], // 值集合 + control: {}, + config: { + addBtnText: '添加一行' + }, + styles: { + divStyle: {}, + labelStyle: {}, + inputStyle: {} + } + }, + { + type: 'div', + label: '容器', + icon: 'div', + iconFont: '', + control: {}, + config: {}, + list: [], + styles: { + divStyle: {}, + labelStyle: {}, + inputStyle: {} + } + }, + { + type: 'tabs', + label: '标签页', + icon: 'tabs', + iconFont: 'fa-folder-o', + columns: [ + { + label: 'Tab1', + list: [] + } + ], + control: {}, + config: {}, + styles: { + divStyle: {}, + labelStyle: {}, + inputStyle: {} + } + }, + + { + type: 'divider', + label: '分割线', + icon: 'divider', + iconFont: '', + control: {}, + config: {}, + styles: { + divStyle: {}, + labelStyle: {}, + inputStyle: {} + } + }, + ] - }, + }, { - title: '高级控件', - children: [ - { - type: 'lowcodeImage', - label: '图片', - icon: '', - iconFont: 'fa-photo', - control: { - modelValue: '', - uploadFlag:false, - imgId:'', - imgUrl: '', - link: '', - fit:1, - radius:false, - radiusNum:5, - boderAndShadow:false, - showMode:'自定义像素值', - pxWidth:448, - pxHeight:252, - widthPercent:90, - heightPercent:90, - mt:0, - mb:0, - ml:0, - mr:0, - pt:0, - pb:0, - pl:0, - pr:0, - floatFlag:false, - floatValue:'left', - }, - config: {} - }, - { - type: 'videoUpAndPlay', - label: '视频', - icon: '', - iconFont: 'fa-play-circle', - control: { - modelValue: '', - videoMsg:[{ - CreatedAt: '', - UpdatedAt: '', - fileSize: "0n", - id: "0n", - key: '', - name: '', - physicspath: '', - size: '', - tag: '', - type: 0, - url: '', - videoReady: false, - videoHeight:400, - videoWidth:700, - videoAutoPlay: false, - attrId: '', - poster:'', - loop: false - }] - }, - config: {}, - styles:{ - divStyle:{}, - labelStyle:{}, - inputStyle:{} - } - }, - { - - type: 'upload', - label: '文件', - icon: 'image', - iconFont: 'fa-file-image-o', - control: { - modelValue: '' // 也可以是[{name:'',url:''}]形式 - }, - config: {}, - styles:{ - divStyle:{}, - labelStyle:{}, - inputStyle:{} - } + title: '高级控件', + children: [ + { + type: 'lowcodeImage', + label: '图片', + icon: '', + iconFont: 'fa-photo', + control: { + modelValue: '', + uploadFlag: false, + imgId: '', + imgUrl: '', + link: '', + fit: 1, + radius: false, + radiusNum: 5, + boderAndShadow: false, + showMode: '自定义像素值', + pxWidth: 448, + pxHeight: 252, + widthPercent: 90, + heightPercent: 90, + mt: 0, + mb: 0, + ml: 0, + mr: 0, + pt: 0, + pb: 0, + pl: 0, + pr: 0, + floatFlag: false, + floatValue: 'left', + }, + config: {} + }, + { + type: 'videoUpAndPlay', + label: '视频', + icon: '', + iconFont: 'fa-play-circle', + control: { + modelValue: '', + videoMsg: [{ + CreatedAt: '', + UpdatedAt: '', + fileSize: "0n", + id: "0n", + key: '', + name: '', + physicspath: '', + size: '', + tag: '', + type: 0, + url: '', + videoReady: false, + videoHeight: 400, + videoWidth: 700, + videoAutoPlay: false, + attrId: '', + poster: '', + loop: false + }] + }, + config: {}, + styles: { + divStyle: {}, + labelStyle: {}, + inputStyle: {} + } + }, + { - }, - { - type: 'urllink', - label: '链接', - icon: 'link', - iconFont: 'fa-link', - control: { - }, - config: {}, - styles:{ - divStyle:{}, - labelStyle:{}, - inputStyle:{} - } - }, - { - type: 'table', - label: '子表', - icon: 'table', - iconFont: 'fa-table', - list: [], - tableData: [], // 子表表格列表数据集合 - control: { - border: true - }, - config: { - addBtnText: '添加一行' - }, - styles:{ - divStyle:{}, - labelStyle:{}, - inputStyle:{} - } - }, - { - type: 'baidumap', - label: '地图', - icon: 'map', - iconFont: 'fa-map-o', - control: { - }, - config: {}, - styles:{ - divStyle:{}, - labelStyle:{}, - inputStyle:{} - } - }, - { - type: 'slider', - label: '滑块', - icon: 'slider', - iconFont: 'fa-sliders', - control: { - modelValue: 0 - }, - config: {}, - styles:{ - divStyle:{}, - labelStyle:{}, - inputStyle:{} - } - }, - { - type: 'rate', - label: '评分', - icon: 'rate', - iconFont: 'fa-star-o', - control: { - modelValue: 0 - }, - config: {}, - styles:{ - divStyle:{}, - labelStyle:{}, - inputStyle:{} - } - }, - { - type: 'tinymce', - label: '富文本', - icon: 'tinymce',// - iconFont: 'fa-list-alt', - control: { - modelValue: '' - }, - config: {}, - styles:{ - divStyle:{}, - labelStyle:{}, - inputStyle:{} - } - }, - { - type: 'lowcodeCarsusel', - label: '轮播图', - icon: '', - iconFont: 'fa-window-restore', - control: { - modelValue: '', - carsuselConfigArr:[{ - uploadFlag:false, - imgId:'', - imgSort:1, - imgUrl: '', - link: '' - }], + type: 'upload', + label: '文件', + icon: 'image', + iconFont: 'fa-file-image-o', + control: { + modelValue: '' // 也可以是[{name:'',url:''}]形式 + }, + config: {}, + styles: { + divStyle: {}, + labelStyle: {}, + inputStyle: {} + } + + }, + { + type: 'urllink', + label: '链接', + icon: 'link', + iconFont: 'fa-link', + control: { + }, + config: {}, + styles: { + divStyle: {}, + labelStyle: {}, + inputStyle: {} + } + }, + { + type: 'table', + label: '子表', + icon: 'table', + iconFont: 'fa-table', + list: [], + tableData: [], // 子表表格列表数据集合 + control: { + border: true + }, config: { - carsuselWidth:448, - carsuselHeight:252, - interval:2000, + addBtnText: '添加一行' + }, + styles: { + divStyle: {}, + labelStyle: {}, + inputStyle: {} + } + }, + { + type: 'baidumap', + label: '地图', + icon: 'map', + iconFont: 'fa-map-o', + control: { + }, + config: {}, + styles: { + divStyle: {}, + labelStyle: {}, + inputStyle: {} + } + }, + { + type: 'slider', + label: '滑块', + icon: 'slider', + iconFont: 'fa-sliders', + control: { + modelValue: 0 + }, + config: {}, + styles: { + divStyle: {}, + labelStyle: {}, + inputStyle: {} + } + }, + { + type: 'rate', + label: '评分', + icon: 'rate', + iconFont: 'fa-star-o', + control: { + modelValue: 0 + }, + config: {}, + styles: { + divStyle: {}, + labelStyle: {}, + inputStyle: {} } }, + { + type: 'tinymce', + label: '富文本', + icon: 'tinymce',// + iconFont: 'fa-list-alt', + control: { + modelValue: '' + }, + config: {}, + styles: { + divStyle: {}, + labelStyle: {}, + inputStyle: {} + } + }, + { + type: 'lowcodeCarsusel', + label: '轮播图', + icon: '', + iconFont: 'fa-window-restore', + control: { + modelValue: '', + carsuselConfigArr: [{ + uploadFlag: false, + imgId: '', + imgSort: 1, + imgUrl: '', + link: '' + }], + config: { + carsuselWidth: 448, + carsuselHeight: 252, + interval: 2000, + } + }, - config: {}, - styles:{ - divStyle:{}, - labelStyle:{}, - inputStyle:{} - } - }, - - { - type: 'signaturemap', - label: '签名板', - icon: 'faedit', - iconFont: 'fa-edit', - control: { - }, - config: {}, - styles:{ - divStyle:{}, - labelStyle:{}, - inputStyle:{} - } - }, - { - type: 'lowcodeTransfer', - label: '穿梭框', - icon: '', - iconFont: 'fa-arrows-h', - control: { - modelValue: '', - fixedOptions: [{ - id: 'thefirstrootnode', - label: '根节点1', - disabled: false, - children: [] - }, - { - id: 'thesecondrootnode', - label: '根节点2', - disabled: false, - children: [] - }] - }, - config: { - transferName:'穿梭框', - transferDataSource:'固定选项', - apiUrl:'/javasys/lowCode/transfer/getOrgAndManTree', - method:'post', - } - }, - { - - type: 'colorPicker', - label: '取色器', - icon: 'color', - iconFont: '', - control: { - modelValue: '' - }, - config: {}, - styles:{ - divStyle:{}, - labelStyle:{}, - inputStyle:{} - } - }, - { - type: 'treeSelect', - label: '树形控件', - icon: 'tree2', - iconFont: '', - control: { - modelValue: '', - data: [], - renderAfterExpand: false - }, - config: { - optionsType: 0 - }, - styles:{ - divStyle:{}, - labelStyle:{}, - inputStyle:{} - } - }, - { - type: 'associatedForms', - label: '关联表单', - icon: '', - iconFont: 'fa-wpforms', - control: { - modelValue: '', - hideConditionHtml:'', - hideConditionHtmlCopy:'', - formid: '', - dataRangeConditionHtml:'', - dataRangeConditionHtmlCopy:'', - saveFlag: false, - fillRoles: [ - { - leftValue:'', - rightValue:'', - id:'', - } - ], - }, - config: {} - }, - { - type: 'component', - label: '自定义组件', - icon: 'component', - iconFont: 'fa-cubes', - control: { - modelValue: '' - }, - config: {}, - styles:{ - divStyle:{}, - labelStyle:{}, - inputStyle:{} - } - /*template: '', // 组件模板名称 - component: '' // 根据template注入的组件*/ - }, - - - - - - - - - ] + config: {}, + styles: { + divStyle: {}, + labelStyle: {}, + inputStyle: {} + } + }, + + { + type: 'signaturemap', + label: '签名板', + icon: 'faedit', + iconFont: 'fa-edit', + control: { + }, + config: {}, + styles: { + divStyle: {}, + labelStyle: {}, + inputStyle: {} + } + }, + { + type: 'lowcodeTransfer', + label: '穿梭框', + icon: '', + iconFont: 'fa-arrows-h', + control: { + modelValue: '', + fixedOptions: [{ + id: 'thefirstrootnode', + label: '根节点1', + disabled: false, + children: [] + }, + { + id: 'thesecondrootnode', + label: '根节点2', + disabled: false, + children: [] + }] + }, + config: { + transferName: '穿梭框', + transferDataSource: '固定选项', + apiUrl: '/javasys/lowCode/transfer/getOrgAndManTree', + method: 'post', + } + }, + { + + type: 'colorPicker', + label: '取色器', + icon: 'color', + iconFont: '', + control: { + modelValue: '' + }, + config: {}, + styles: { + divStyle: {}, + labelStyle: {}, + inputStyle: {} + } + }, + { + type: 'treeSelect', + label: '树形控件', + icon: 'tree2', + iconFont: '', + control: { + modelValue: '', + data: [], + renderAfterExpand: false + }, + config: { + optionsType: 0 + }, + styles: { + divStyle: {}, + labelStyle: {}, + inputStyle: {} + } + }, + { + type: 'associatedForms', + label: '关联表单', + icon: '', + iconFont: 'fa-wpforms', + control: { + modelValue: '', + hideConditionHtml: '', + hideConditionHtmlCopy: '', + formid: '', + dataRangeConditionHtml: '', + dataRangeConditionHtmlCopy: '', + saveFlag: false, + fillRoles: [ + { + leftValue: '', + rightValue: '', + id: '', + } + ], + }, + config: {} + }, + { + type: 'component', + label: '自定义组件', + icon: 'component', + iconFont: 'fa-cubes', + control: { + modelValue: '' + }, + config: {}, + styles: { + divStyle: {}, + labelStyle: {}, + inputStyle: {} + } + /*template: '', // 组件模板名称 + component: '' // 根据template注入的组件*/ + }, + + + + + + + + + ] }, - + { - title: '系统控件',//扩展组件 - children: [ - { - type: 'serialNumber', - label: '编码', - icon: 'number', - iconFont: 'fa-list-ol', - control: { - }, - config: { - automatic:false - }, - styles:{ - divStyle:{}, - labelStyle:{}, - inputStyle:{} - } - }, - { - type: 'expand-user', - label: '选择用户', - icon: 'user', - iconFont: 'fa-user-o', - control: { - // 组件所有属性 - modelValue: '' - }, - config: {}, // 其他配置信息 - styles:{ - divStyle:{}, - labelStyle:{}, - inputStyle:{} - } - }, - { - type: 'orgCentent', - label: '选择组织', - icon: 'sliders', - iconFont: 'fa-sliders', - control: { - }, - config: {}, - styles:{ - divStyle:{}, - labelStyle:{}, - inputStyle:{} + title: '系统控件',//扩展组件 + children: [ + { + type: 'serialNumber', + label: '编码', + icon: 'number', + iconFont: 'fa-list-ol', + control: { + }, + config: { + automatic: false + }, + styles: { + divStyle: {}, + labelStyle: {}, + inputStyle: {} + } + }, + { + type: 'expand-user', + label: '选择用户', + icon: 'user', + iconFont: 'fa-user-o', + control: { + // 组件所有属性 + modelValue: '' + }, + config: {}, // 其他配置信息 + styles: { + divStyle: {}, + labelStyle: {}, + inputStyle: {} + } + }, + { + type: 'orgCentent', + label: '选择组织', + icon: 'sliders', + iconFont: 'fa-sliders', + control: { + }, + config: {}, + styles: { + divStyle: {}, + labelStyle: {}, + inputStyle: {} + } } - } - ] + ] }, { title: '扩展组件',// - chileren:[] + chileren: [] } - ] - \ No newline at end of file +] From b22a189665d507ad93532cd3be746281eec7f5e2 Mon Sep 17 00:00:00 2001 From: liwenxuan <1298531568@qq.com> Date: Fri, 31 May 2024 16:22:20 +0800 Subject: [PATCH 10/13] =?UTF-8?q?=E5=AE=9E=E7=8E=B0=E5=85=B3=E8=81=94?= =?UTF-8?q?=E8=A1=A8=E5=8D=95=E8=AE=BE=E7=BD=AE=E5=8F=AF=E9=80=89=E5=AD=97?= =?UTF-8?q?=E6=AE=B5=E4=B8=AD=E6=B2=A1=E6=9C=89=E5=BD=93=E5=89=8D=E5=AD=97?= =?UTF-8?q?=E6=AE=B5=E6=95=88=E6=9E=9C2.0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/DesignForm/formControlAttr.vue | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/src/components/DesignForm/formControlAttr.vue b/src/components/DesignForm/formControlAttr.vue index 348555d31..839490c07 100644 --- a/src/components/DesignForm/formControlAttr.vue +++ b/src/components/DesignForm/formControlAttr.vue @@ -1640,13 +1640,16 @@ } } //console.log(resDataForGlxxszExceptself1) - associatedFormsCurrentFormFieldTreeForGlxxszExceptSelf.value = [{ - id: 'rootid_'+getAssociatedFormsCurrentFieldTreeData.label, - //label: '当前表单', - label: '当前表单-'+getAssociatedFormsCurrentFieldTreeData.treeAttrs.show, - children: resDataForGlxxszExceptself1, - treeAttrs: getAssociatedFormsCurrentFieldTreeData.treeAttrs,// - }] + if(getAssociatedFormsCurrentFieldTreeData.treeAttrs!=undefined){ + associatedFormsCurrentFormFieldTreeForGlxxszExceptSelf.value = [{ + id: 'rootid_'+getAssociatedFormsCurrentFieldTreeData.label, + //label: '当前表单', + label: '当前表单-'+getAssociatedFormsCurrentFieldTreeData.treeAttrs.show, + children: resDataForGlxxszExceptself1, + treeAttrs: getAssociatedFormsCurrentFieldTreeData.treeAttrs,// + }] + } + //associatedFormsCurrentFormFieldTreeForGlxxszExceptSelf.value.children = [...resDataForGlxxszExceptself1] //实现关联表单设置可选字段中没有当前字段效果 end From c18afd50bfe43b834e723eeaa4de70f861d06a70 Mon Sep 17 00:00:00 2001 From: liwenxuan <1298531568@qq.com> Date: Wed, 5 Jun 2024 13:55:38 +0800 Subject: [PATCH 11/13] =?UTF-8?q?=E5=85=B3=E8=81=94=E8=A1=A8=E5=8D=95?= =?UTF-8?q?=E4=BC=98=E5=8C=96-app?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/DesignForm/assembly/index.ts | 4 + src/components/DesignForm/formControlAttr.vue | 140 +++++++++++++++--- 2 files changed, 126 insertions(+), 18 deletions(-) diff --git a/src/components/DesignForm/assembly/index.ts b/src/components/DesignForm/assembly/index.ts index 1ed7649c8..7e025d1bf 100644 --- a/src/components/DesignForm/assembly/index.ts +++ b/src/components/DesignForm/assembly/index.ts @@ -99,6 +99,7 @@ export default [ control: { modelValue: '', glxxsz: [], + optionsValue3Formid:'', }, options: selectOption, // 下拉选项数据集合 config: config, @@ -116,6 +117,7 @@ export default [ control: { modelValue: [], glxxszForCheckBox: [], + optionsValue3Formid:'', }, options: selectOption, config: config, @@ -134,6 +136,7 @@ export default [ modelValue: '', appendToBody: true, glxxsz: [], + optionsValue3Formid:'', }, options: selectOption, config: config, @@ -700,6 +703,7 @@ export default [ dataRangeConditionHtml: '', dataRangeConditionHtmlCopy: '', saveFlag: false, + asfasfLabel:'', fillRoles: [ { leftValue: '', diff --git a/src/components/DesignForm/formControlAttr.vue b/src/components/DesignForm/formControlAttr.vue index 839490c07..cc9bf275f 100644 --- a/src/components/DesignForm/formControlAttr.vue +++ b/src/components/DesignForm/formControlAttr.vue @@ -619,19 +619,19 @@ path: 'config.componentName', vShow: ['component'] }, - { - label: '隐藏条件', + { + label: '关联表单', value: config.associatedForms, path: 'config.associatedForms', - type: 'associatedForms_hide', + type: 'associatedForms_form', vIf: state.isSearch, vShow: ['associatedForms'] }, - { - label: '关联表单', + { + label: '隐藏条件', value: config.associatedForms, path: 'config.associatedForms', - type: 'associatedForms_form', + type: 'associatedForms_hide', vIf: state.isSearch, vShow: ['associatedForms'] }, @@ -1906,9 +1906,22 @@ function getAsfasfFieldTree() { }); } +function getAsfasfFieldTreeOptionsValue3() { + return request({ + url: '/javasys/lowCode/AssociatedForms/getFieldTree', + method: 'post', + data: { + //cfid:'13' + cfid:controlData.value.control.optionsValue3Formid + }, + }); +} + const asfasfFieldTree = ref() +const asfasfFieldTreeOptionsValue3 = ref() + function formidChanged(){ if(controlData.value.control.formid===''){ @@ -1928,6 +1941,31 @@ function formidChanged(){ treeAttrs: data.treeAttrs, }] } + controlData.value.control.asfasfLabel = data.label + }); + } + +} + +function formidChangedOptionsValue3(){ + if(controlData.value.control.optionsValue3Formid===''){ + + }else{ + getAsfasfFieldTreeOptionsValue3().then(({ data }) => { + + if(data.id==="cfid为空"){ + //alert("cfid为空") + }else{ + let resData = ref(data.children) + //let rootid_ = data.value.label + asfasfFieldTreeOptionsValue3.value = [{ + id: 'rootid_'+data.label, + label: '关联的表单-'+data.label, + children: [...resData.value], + treeAttrs: data.treeAttrs, + }] + } + }); } } @@ -2263,6 +2301,14 @@ function delRole(id:String){ } } } +const associatedFormsChooseDialogFlag = ref(false) +function chooseAssociatedForm(){ + associatedFormsChooseDialogFlag.value = true +} +function handleDetermineAssociatedFormsChooseDialog(){ + associatedFormsChooseDialogFlag.value = false +} + //liwenxuan20240403 associatedForms end @@ -2373,6 +2419,14 @@ function deleteRowForGlxxsz(row: { id: any }){ } /* */ +const optionsValue3SettingDialogOpenFlag = ref(false) +function optionsValue3Setting(){ + optionsValue3SettingDialogOpenFlag.value = true +} +function handleDetermineoptionsValue3(){ + optionsValue3SettingDialogOpenFlag.value = false +} + //liwenxuan20240426 单选多选下拉 关联选项设置 end @@ -2842,18 +2896,8 @@ const loadNextPage = () => { -
- -
- + {{ controlData.control.asfasfLabel==''?'选择关联表单':controlData.control.asfasfLabel }} +
@@ -3035,6 +3079,7 @@ const loadNextPage = () => { @change="controlData.config.optionsFun = ''" > + @@ -3064,6 +3109,9 @@ const loadNextPage = () => { {{ controlData.type === 'cascader' ? '编辑' : '新增' }} +
+ + + + + + + + +