| | |
| | | <template> |
| | | <div class="UI-dynamic" :id="'UI-dynamic-'+areasName+componentVO.oid"> |
| | | <avue-crud v-model="form" |
| | | ref="dataTable" |
| | | :data="tableList" |
| | | :option="option" |
| | | :page.sync="page" |
| | |
| | | paramVOS: { |
| | | type: Object, |
| | | default: {} |
| | | } |
| | | }, |
| | | isShow: { |
| | | //所在区域是否已显示,针对tab和collapse |
| | | type: Boolean, |
| | | default: true |
| | | }, |
| | | }, |
| | | data() { |
| | | return { |
| | | clientHeight:0, |
| | | parentHeight:'100%',//当前组件根节点元素高度 |
| | | form: {}, |
| | | formName: '', |
| | |
| | | verify: "" |
| | | }, |
| | | ], |
| | | } |
| | | }, |
| | | computed: { |
| | | option() { |
| | | return { |
| | | option: { |
| | | index: true, |
| | | addBtn: false, |
| | | editBtn: false, |
| | | delBtn: false, |
| | | height: this.parentHeight, |
| | | height: '100%', |
| | | calcHeight: 15, |
| | | indexFixed: false, |
| | | menuFixed: false, |
| | | column: this.updatedColumns, |
| | | }; |
| | | }, |
| | | column: [], |
| | | }, |
| | | } |
| | | }, |
| | | computed: { |
| | | updatedColumns() { |
| | | return this.componentVO.tableDefineVO.cols[0].map(item => { |
| | | const typeValue = item.fieldType === 'text' || item.fieldType === 'combox' ? 'input' : item.fieldType; // 表单Type类型 |
| | |
| | | }, |
| | | }, |
| | | watch:{ |
| | | clientHeight: { |
| | | parentHeight:{ |
| | | handler(newval) { |
| | | if(newval>50){ |
| | | //父元素高度-按钮高度-分页高度 |
| | | this.parentHeight=this.$el.clientHeight-this.$children[0].$children[1].$children[0].$el.clientHeight-this.$children[0].$children[2].$el.clientHeight-5; |
| | | console.log(this.parentHeight) |
| | | if(newval >50){ |
| | | this.option.height=newval; |
| | | //doLayout不生效,手动设置表格高度 |
| | | this.$children[0].$children[1].$children[1].$children[0].$el.style.height=newval+'px'; |
| | | /*this.$nextTick(() => { |
| | | if (this.$refs.dataTable && this.$refs.dataTable.doLayout) { |
| | | this.$refs.dataTable.doLayout(); |
| | | } |
| | | })*/ |
| | | } |
| | | } |
| | | }, |
| | | isShow:{ |
| | | handler(newval) { |
| | | if(newval && this.$el.clientHeight>50) { |
| | | this.parentHeight = this.$el.clientHeight - this.$children[0].$children[1].$children[0].$el.clientHeight - this.$children[0].$children[2].$el.clientHeight - 5; |
| | | } |
| | | } |
| | | } |
| | | }, |
| | | created() { |
| | | this.option.column=this.updatedColumns; |
| | | }, |
| | | mounted() { |
| | | this.clientHeight=this.$el.clientHeight; |
| | | if(this.$el.clientHeight>50) { |
| | | //父元素高度-按钮高度-分页高度 |
| | | this.parentHeight = this.$el.clientHeight - this.$children[0].$children[1].$children[0].$el.clientHeight - this.$children[0].$children[2].$el.clientHeight - 5; |
| | | } |
| | | }, |
| | | methods: { |
| | | buttonClick(scope, item) { |