| | |
| | | <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" |
| | | :uploadattachment="paramVOS.uploadattachment || false" |
| | | @getFormData="getFormData"> |
| | | </basic-form> |
| | | </div> |
| | | </template> |
| | |
| | | inDialog: { |
| | | type: Boolean, |
| | | default: false |
| | | }, |
| | | canEdit:{ |
| | | //内容是否可编辑 |
| | | type:Boolean, |
| | | default:false |
| | | }, |
| | | actionType:{ |
| | | //按钮操作类型 |
| | | default:"" |
| | | }, |
| | | areasName: { |
| | | type: String, |
| | |
| | | form:{ |
| | | handler(newval) { |
| | | if(newval) { |
| | | this.$emit("setDataStore", { |
| | | area: this.areasName, |
| | | type:this.componentVO.uiComponentType, |
| | | btmType:this.componentVO.treeDefineVO.btmType, |
| | | dataStore:[newval] |
| | | }); |
| | | |
| | | } |
| | | } |
| | | }, |
| | | deep: true, |
| | | immediate: true |
| | | }, |
| | | sourceData: { |
| | | handler(newval) { |
| | |
| | | this.sourceDataMapParams=this.sourceDataMap(); |
| | | this.getParams(); |
| | | this.handleRefresh(); |
| | | } |
| | | }, |
| | | deep: true, |
| | | immediate: true |
| | | } |
| | | }, |
| | | created() { |
| | |
| | | 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) { |
| | | 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 |
| | | 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; |
| | | sourceDataMap['sourceData["' + j + '"]'] = this.paramVOS[j] |
| | | } |
| | | } |
| | | return sourceDataMap; |
| | |
| | | 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); |
| | | console.log(this.params) |
| | | this.params = Object.assign({}, formParams, sourceDataMapList); |
| | | }, |
| | | onLoad:function () { |
| | | if (Object.keys(this.sourceData).length>0 && this.isShow) { |
| | | onLoad: function () { |
| | | 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 => { |
| | | this.form = res.data.obj; |
| | | dataForm(this.params, this.paramVOS.getdataurl, this.paramVOS.getdatamethod).then(res => { |
| | | this.form = res.data.obj.data; |
| | | this.loading = false; |
| | | }).catch(error => { |
| | | this.$message.error(error); |
| | | this.loading = false; |
| | | }); |
| | | } |
| | | }, |
| | | handleRefresh(){ |
| | | |
| | | handleRefresh() { |
| | | this.form = {} |
| | | this.onLoad(); |
| | | }, |
| | | getFormData(form) { |
| | | this.form = form; |
| | | 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 |
| | | }); |
| | | } |
| | | } |
| | | } |