From 2ee312d3c399ddc62a06189367fa3879fca7daef Mon Sep 17 00:00:00 2001 From: wangting <675591594@qq.com> Date: 星期五, 10 五月 2024 15:35:24 +0800 Subject: [PATCH] UI展示 --- Source/ProjectWeb/src/components/dynamic-components/dynamic-form.vue | 71 +++++++++++++++++++++++++---------- 1 files changed, 50 insertions(+), 21 deletions(-) diff --git a/Source/ProjectWeb/src/components/dynamic-components/dynamic-form.vue b/Source/ProjectWeb/src/components/dynamic-components/dynamic-form.vue index def378e..a529811 100644 --- a/Source/ProjectWeb/src/components/dynamic-components/dynamic-form.vue +++ b/Source/ProjectWeb/src/components/dynamic-components/dynamic-form.vue @@ -1,15 +1,21 @@ <template> <div :id="'UI-dynamic-'+areasName+componentVO.oid" class="UI-dynamic"> - <dynamic-button v-if="componentVO && componentVO.buttons" :componentVO="componentVO" :butttonList="componentVO.buttons" :dataStore="[form]" :sourceData="sourceData" type="form"></dynamic-button> - <basic-form :span="this.componentVO.formDefineVO.columnOneRow?(24/this.componentVO.formDefineVO.columnOneRow) : 12" + <dynamic-button v-if="componentVO && componentVO.buttons" :key="areasName+'buttons-'+componentVO.oid" + :componentVO="componentVO" :butttonList="componentVO.buttons" :dataStore="[form]" :sourceData="sourceData" + @afterMethod="handleRefresh" type="form"></dynamic-button> + <basic-form :key="areasName+'basicForm-'+componentVO.oid" + :span="this.componentVO.formDefineVO.columnOneRow?(24/this.componentVO.formDefineVO.columnOneRow) : 12" :formItems="this.componentVO.formDefineVO && this.componentVO.formDefineVO.items" - :formData="form"> + :disabled="!inDialog" + :isEdit="canEdit" + :formData="form" + :initValue="paramVOS.initvalue" + @getFormData="getFormData"> </basic-form> </div> </template> <script> - import {dataForm} from "@/api/base/ui"; export default { @@ -30,6 +36,15 @@ inDialog: { type: Boolean, default: false + }, + canEdit:{ + //鍐呭鏄惁鍙紪杈� + type:Boolean, + default:false + }, + actionType:{ + //鎸夐挳鎿嶄綔绫诲瀷 + default:"" }, areasName: { type: String, @@ -76,11 +91,19 @@ this.$emit("setDataStore", { area: this.areasName, type:this.componentVO.uiComponentType, - btmType:this.componentVO.treeDefineVO.btmType, + btmType:this.currentDefineVO.btmType, dataStore:[newval] }); + this.$emit("setData", { + area: this.areasName, + type:this.componentVO.uiComponentType, + currentDefineVO:this.currentDefineVO, + data:newval + }); } - } + }, + deep: true, + immediate: true }, sourceData: { handler(newval) { @@ -88,7 +111,9 @@ this.sourceDataMapParams=this.sourceDataMap(); this.getParams(); this.handleRefresh(); - } + }, + deep: true, + immediate: true } }, created() { @@ -106,19 +131,18 @@ sourceDataMap.sourceOid = this.sourceData.oid; } for (let i in this.sourceData) { - let item = this.sourceData[i] - if (item && item.constructor === Object) return; - if (i == 'type' || i == 'context' || i == 'content') return; + const item = this.sourceData[i] + if (item && item.constructor === Object) continue; + if (i == 'type' || i == 'context' || i == 'content') continue; sourceDataMap['sourceData["' + i + '"]'] = item } } if (Object.keys(this.paramVOS).length>0) { - for (let i in this.paramVOS) { - let item = this.paramVOS[i] - if (item && item.constructor === Object) return; - if (i == 'type' || i == 'context' || i == 'content') return; - sourceDataMap['sourceData["' + i + '"]'] = item + for (let j in this.paramVOS) { + if (this.paramVOS[j] && this.paramVOS[j].constructor === Object) continue; + if (j == 'type' || j == 'context' || j == 'content' || j == "getdataurl" || j == "getdatamethod" || j == "url" || j == "method" || j == "uploadfileurl" || j == "title") continue; + sourceDataMap['sourceData["' + j + '"]'] = this.paramVOS[j] } } return sourceDataMap; @@ -136,22 +160,27 @@ const sourceDataMapList = this.sourceDataMapParams; this.params = Object.assign({},formParams, sourceDataMapList); - console.log(this.params) }, onLoad:function () { - if (Object.keys(this.sourceData).length>0 && this.isShow) { + if (this.paramVOS.initvalue) { + this.form=this.paramVOS.initvalue; + } + if (Object.keys(this.sourceData).length>0 && this.isShow && this.actionType!="add") { this.loading = true; - dataForm(this.params).then(res => { + dataForm(this.params, this.paramVOS.getdataurl, this.paramVOS.getdatamethod).then(res => { this.form = res.data.obj; this.loading = false; }).catch(error => { - this.$message.error(error); this.loading = false; }); } }, - handleRefresh(){ - + handleRefresh() { + this.form={} + this.onLoad(); + }, + getFormData(form) { + this.form = form; } } } -- Gitblit v1.9.3