From 33855a1961d581727cfbf59230085e6b95cc549c Mon Sep 17 00:00:00 2001 From: wangting <675591594@qq.com> Date: 星期一, 29 四月 2024 15:56:37 +0800 Subject: [PATCH] action --- Source/ProjectWeb/src/components/dynamic-components/dynamic-form.vue | 87 +++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 82 insertions(+), 5 deletions(-) diff --git a/Source/ProjectWeb/src/components/dynamic-components/dynamic-form.vue b/Source/ProjectWeb/src/components/dynamic-components/dynamic-form.vue index 7c570d8..15fd7f1 100644 --- a/Source/ProjectWeb/src/components/dynamic-components/dynamic-form.vue +++ b/Source/ProjectWeb/src/components/dynamic-components/dynamic-form.vue @@ -1,14 +1,19 @@ <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" 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" + :disabled="!inDialog" + :isEdit="canEdit" :formData="form"> </basic-form> </div> </template> <script> +import {dataForm} from "@/api/base/ui"; export default { name: "dynamic-form", @@ -29,6 +34,11 @@ type: Boolean, default: false }, + canEdit:{ + //鍐呭鏄惁鍙紪杈� + type:Boolean, + default:false + }, areasName: { type: String, default: '' @@ -37,6 +47,10 @@ //鎵�灞炲尯鍩熺殑涓婁竴鍖哄煙閫変腑鏁版嵁 type: Object, default: {} + }, + //涓婁竴鍖哄煙涓氬姟绫诲瀷 + sourceBtmType:{ + type: String }, dataStore: { //寮圭獥鏃舵寜閽墍灞炲尯鍩熼�変腑鏁版嵁 @@ -56,6 +70,9 @@ data() { return { form: {}, + params:{}, + sourceDataMapParams:{}, + currentDefineVO:this.componentVO.formDefineVO, } }, mounted() { @@ -76,15 +93,75 @@ sourceData: { handler(newval) { //婧愭暟鎹湁鍙樺寲鏃跺彉鏇村綋鍓嶅尯鍩熸暟鎹� - console.log(this.areasName); - console.log(newval); + this.sourceDataMapParams=this.sourceDataMap(); + this.getParams(); this.handleRefresh(); } } }, + created() { + this.getParams(); + }, methods: { - handleRefresh(){ + sourceDataMap: function () { + const sourceDataMap = {}; + if (Object.keys(this.sourceData).length>0) { + if(this.sourceData.oid ) { + if (this.sourceData.oid.indexOf('@vcitreesep@') > -1) { + this.sourceData.oid = this.sourceData.oid.split('@vcitreesep@')[1]; + } + sourceDataMap.sourceBtmName = this.sourceBtmType;; + 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; + 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 + } + } + return sourceDataMap; + }, + getParams: function () { + const formParams = { + btmname: this.currentDefineVO.btmType, + btmType:this.currentDefineVO.btmType, + formDefineId: this.currentDefineVO.id, + oid:this.currentDefineVO.oid + }; + if(this.dataStore[0] && this.dataStore[0].oid) { + formParams.oid = this.dataStore[0].oid; + } + const sourceDataMapList = this.sourceDataMapParams; + + this.params = Object.assign({},formParams, sourceDataMapList); + console.log(this.params) + }, + onLoad:function () { + debugger; + if (Object.keys(this.sourceData).length>0 && this.isShow) { + this.loading = true; + dataForm(this.params).then(res => { + this.form = res.data.obj; + this.loading = false; + }).catch(error => { + this.$message.error(error); + this.loading = false; + }); + } + }, + handleRefresh() { + this.form={} + this.onLoad(); } } } -- Gitblit v1.9.3