From abe65dd511c2784a953dc6ec01f762322a361e53 Mon Sep 17 00:00:00 2001 From: wangting <675591594@qq.com> Date: 星期五, 10 五月 2024 16:23:44 +0800 Subject: [PATCH] action处理,表单展示数据 --- Source/ProjectWeb/src/components/dynamic-components/dynamic-button.vue | 2 +- Source/ProjectWeb/src/components/dynamic-components/dynamic-form.vue | 52 +++++++++++++++++++++++++++------------------------- Source/ProjectWeb/src/components/PLT-basic-component/basicForm.vue | 2 +- Source/ProjectWeb/src/components/actions/base/EditAction.js | 2 +- 4 files changed, 30 insertions(+), 28 deletions(-) diff --git a/Source/ProjectWeb/src/components/PLT-basic-component/basicForm.vue b/Source/ProjectWeb/src/components/PLT-basic-component/basicForm.vue index b761268..b6db326 100644 --- a/Source/ProjectWeb/src/components/PLT-basic-component/basicForm.vue +++ b/Source/ProjectWeb/src/components/PLT-basic-component/basicForm.vue @@ -186,7 +186,7 @@ showProp:item.showField, type: type, labelWidth: this.labelWidth || (item.text.length >= 6 ? 115 : 90), - disabled: item.readOnly || this.disabled, + disabled: !this.isEdit || item.readOnly || this.disabled, span: item.span ? item.span : item.type === "textarea" diff --git a/Source/ProjectWeb/src/components/actions/base/EditAction.js b/Source/ProjectWeb/src/components/actions/base/EditAction.js index 563f16b..1551752 100644 --- a/Source/ProjectWeb/src/components/actions/base/EditAction.js +++ b/Source/ProjectWeb/src/components/actions/base/EditAction.js @@ -63,7 +63,7 @@ let instance = new dialogConstructor(); instance.sourceData = options.sourceData; instance.dataStore = options.dataStore; - instance.paramVOS = paramVOS + instance.paramVOS = paramVOS; instance.type = 'edit'; instance.dialogClose = function () { diff --git a/Source/ProjectWeb/src/components/dynamic-components/dynamic-button.vue b/Source/ProjectWeb/src/components/dynamic-components/dynamic-button.vue index 8390cda..ab6646c 100644 --- a/Source/ProjectWeb/src/components/dynamic-components/dynamic-button.vue +++ b/Source/ProjectWeb/src/components/dynamic-components/dynamic-button.vue @@ -164,7 +164,7 @@ //paramVOS.customBtn //寮圭獥榛樿鏈変繚瀛樻寜閽�,customBtn涓簍rue鏃跺唴瀹瑰睍绀鸿嚜瀹氫箟鎸夐挳 doAction(buttonitem, { paramVOS: paramVOS, - dataStore: rowData || this.dataStore || [], + dataStore: rowData?[rowData] :(this.dataStore || []), sourceData: this.sourceData || {} }, function (actionType,data) { that.$emit("afterMethod",actionType,data); diff --git a/Source/ProjectWeb/src/components/dynamic-components/dynamic-form.vue b/Source/ProjectWeb/src/components/dynamic-components/dynamic-form.vue index a529811..e08c6b3 100644 --- a/Source/ProjectWeb/src/components/dynamic-components/dynamic-form.vue +++ b/Source/ProjectWeb/src/components/dynamic-components/dynamic-form.vue @@ -88,18 +88,7 @@ form:{ handler(newval) { if(newval) { - this.$emit("setDataStore", { - area: this.areasName, - type:this.componentVO.uiComponentType, - btmType:this.currentDefineVO.btmType, - dataStore:[newval] - }); - this.$emit("setData", { - area: this.areasName, - type:this.componentVO.uiComponentType, - currentDefineVO:this.currentDefineVO, - data:newval - }); + } }, deep: true, @@ -122,12 +111,13 @@ methods: { sourceDataMap: function () { const sourceDataMap = {}; - if (Object.keys(this.sourceData).length>0) { - if(this.sourceData.oid ) { + 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.sourceBtmName = this.sourceBtmType; + ; sourceDataMap.sourceOid = this.sourceData.oid; } for (let i in this.sourceData) { @@ -138,7 +128,7 @@ } } - if (Object.keys(this.paramVOS).length>0) { + if (Object.keys(this.paramVOS).length > 0) { 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; @@ -150,33 +140,45 @@ getParams: function () { const formParams = { btmname: this.currentDefineVO.btmType, - btmType:this.currentDefineVO.btmType, + btmType: this.currentDefineVO.btmType, formDefineId: this.currentDefineVO.id, - oid:this.currentDefineVO.oid + oid: this.currentDefineVO.oid }; - if(this.dataStore[0] && this.dataStore[0].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); + this.params = Object.assign({}, formParams, sourceDataMapList); }, - onLoad:function () { + onLoad: function () { if (this.paramVOS.initvalue) { - this.form=this.paramVOS.initvalue; + this.form = this.paramVOS.initvalue; } - if (Object.keys(this.sourceData).length>0 && this.isShow && this.actionType!="add") { + if (Object.keys(this.sourceData).length > 0 && this.isShow && this.actionType != "add") { this.loading = true; dataForm(this.params, this.paramVOS.getdataurl, this.paramVOS.getdatamethod).then(res => { - this.form = res.data.obj; + this.form = res.data.obj.data; this.loading = false; + this.$emit("setDataStore", { + area: this.areasName, + type: this.componentVO.uiComponentType, + btmType: this.currentDefineVO.btmType, + dataStore: [this.form] + }); + this.$emit("setData", { + area: this.areasName, + type: this.componentVO.uiComponentType, + currentDefineVO: this.currentDefineVO, + data: this.form + }); }).catch(error => { this.loading = false; }); } }, handleRefresh() { - this.form={} + this.form = {} this.onLoad(); }, getFormData(form) { -- Gitblit v1.9.3