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