| | |
| | | <template> |
| | | <div class="UI-dynamic" :id="'UI-dynamic-'+areasName+componentVO.oid"> |
| | | <dynamic-button v-if="componentVO.buttons && componentVO.buttons.length>0" :componentVO="componentVO" |
| | | :key="areasName+'buttons-'+componentVO.oid" |
| | | :butttonList="componentVO.buttons" :dataStore="checkDatas" |
| | | @afterMethod="handleRefresh" |
| | | :sourceData="sourceData" type="tree" style="margin-bottom: 5px;"></dynamic-button> |
| | | <el-input |
| | | placeholder="输入关键字进行过滤" |
| | |
| | | inDialog: { |
| | | type: Boolean, |
| | | default: false |
| | | }, |
| | | canEdit:{ |
| | | //内容是否可编辑 |
| | | type:Boolean, |
| | | default:false |
| | | }, |
| | | actionType:{ |
| | | //按钮操作类型 |
| | | default:"" |
| | | }, |
| | | areasName:{ |
| | | type:String, |
| | |
| | | dataStore:newval |
| | | }); |
| | | } |
| | | } |
| | | }, |
| | | deep: true, |
| | | immediate: true |
| | | }, |
| | | data:{ |
| | | handler(newval) { |
| | | if(newval) { |
| | | this.$emit("setData", { |
| | | area: this.areasName, |
| | | type:this.componentVO.uiComponentType, |
| | | currentDefineVO:this.componentVO.treeDefineVO, |
| | | data:newval |
| | | }); |
| | | } |
| | | }, |
| | | deep: true, |
| | | immediate: true |
| | | }, |
| | | sourceData:{ |
| | | handler(newval) { |
| | |
| | | this.sourceDataMapParams=this.sourceDataMap(); |
| | | this.getParams(); |
| | | this.handleRefresh(); |
| | | } |
| | | }, |
| | | deep: true, |
| | | immediate: true |
| | | } |
| | | }, |
| | | data() { |
| | |
| | | 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; |
| | | 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; |
| | |
| | | parentOid = parentOid.split('@vcitreesep@')[1]; |
| | | } |
| | | const parentBtmName = (node.level === 0) ? '' : node.data.attributes.btmname; |
| | | const params=this.params; |
| | | if(node.level === 0){ |
| | | params.queryRoot= true; |
| | | }else { |
| | | const params = this.params; |
| | | if (node.level === 0) { |
| | | params.queryRoot = true; |
| | | } else { |
| | | delete params.queryRoot; |
| | | } |
| | | getTree(parentOid, parentBtmName, params).then(res => { |
| | | resolve(res.data.treeData) |
| | | this.$nextTick(()=>{ |
| | | if (this.isRefresh) { |
| | | this.$refs.tree.setCurrentKey(this.currentClickNode.data.oid); |
| | | this.isRefresh=false; |
| | | } |
| | | }) |
| | | |
| | | }).catch(error => { |
| | | this.$message.error(error); |
| | | }) |
| | | }, |
| | | checkNode(checkedNode, checkedData) { |
| | | if (this.isMuti) { |
| | | this.checkDatas = checkedData.checkedNodes; |
| | | let checkDatas = []; |
| | | checkedData.checkedNodes.forEach(item=>{ |
| | | checkDatas.push(item.attributes) |
| | | }) |
| | | this.checkDatas=checkDatas; |
| | | } |
| | | }, |
| | | changeNode(data, node) { |
| | | if (!this.isMuti) { |
| | | this.checkDatas = [data]; |
| | | this.checkDatas = [data.attributes]; |
| | | } |
| | | }, |
| | | clickNode(data, node) { |
| | | this.currentClickNode = node; |
| | | }, |
| | | handleRefresh() { |
| | | if (!this.lazy) { |
| | | this.initData(); |
| | | } else { |
| | | if (this.currentClickNode) { |
| | | let node = this.currentClickNode.parent; |
| | | node.loaded = false; |
| | | node.expand(); |
| | | handleRefresh(type,data) { |
| | | //type:add\edit\delete |
| | | if(type=="delete" || type=="del"){ |
| | | this.$refs.tree.remove(this.currentClickNode); |
| | | this.currentClickNode=null; |
| | | }else{ |
| | | if (!this.lazy) { |
| | | this.initData(); |
| | | } else { |
| | | if (this.currentClickNode) { |
| | | let node = this.currentClickNode.parent; |
| | | node.loaded = false; |
| | | node.expand(); |
| | | this.isRefresh=true; |
| | | } |
| | | } |
| | | } |
| | | this.checkDatas = []; |