| | |
| | | v-on="$listeners" |
| | | :highlight-current-row="true" |
| | | :row-key="rowKey" |
| | | :tree-props="{children: 'children', hasChildren: 'hasChildren'}" |
| | | @row-dblclick="dbClickRow" |
| | | @row-contextmenu="contextMenu" |
| | | @header-click="headClick" |
| | |
| | | v-if="options.multiSelect && !isEdit" |
| | | style="width: 55px;" |
| | | :selectable="selectHandle" |
| | | |
| | | > |
| | | </el-table-column> |
| | | <!--单选框--> |
| | |
| | | <template v-else> |
| | | <template v-if="!item.render"> |
| | | <template v-if="item.formatter"> |
| | | <span v-if="item.isTag" style="text-align: center;"> |
| | | <span v-if="item.isTag&&scope.row[item.prop]!=null" style="text-align: center;"> |
| | | <el-tag style="width:60px;margin: 3px;" :type="scope.row[item.prop] == 0 ? 'success' : 'info'"> |
| | | <span v-html="item.formatter(scope.row, item, scope.row[item.prop])"></span> |
| | | </el-tag> |
| | |
| | | 只能上传xlsx/xls文件,且不超过10M<el-button |
| | | type="text" |
| | | style="font-size:14px;text-decoration: underline;" |
| | | @click="downDataTemplate(uploadInfo.fileName)" |
| | | @click="downDataTemplate(uploadInfo.fileName)" |
| | | v-if="uploadInfo.download" |
| | | >下载模板</el-button |
| | | > |
| | |
| | | default: ()=>{ |
| | | return 'id' |
| | | } |
| | | }, |
| | | //需要合并的字段集合 |
| | | mergeSpanArr: { |
| | | type: Array, |
| | | default: ()=>{ |
| | | return [] |
| | | } |
| | | }, |
| | | toolbarMaxLength: { |
| | | type: Number, |
| | |
| | | }, |
| | | objectSpanMethod({ row, column, rowIndex, columnIndex }) { |
| | | if (this.options.tableCellMerge) { |
| | | let result = '' |
| | | this.$emit( |
| | | 'objectSpanMethod', |
| | | row, |
| | | column, |
| | | rowIndex, |
| | | columnIndex, |
| | | (val) => { |
| | | if (val) { |
| | | result = val |
| | | const propName = column.property |
| | | if (propName) { |
| | | if(this.mergeSpanArr.includes(propName)){ |
| | | if (rowIndex > 0 && row[propName] === this.tableData[rowIndex - 1][propName]) { |
| | | return { rowspan: 0, colspan: 0 }; |
| | | } else { |
| | | let rowspan = 1; |
| | | for (let i = rowIndex + 1; i < this.tableData.length; i++) { |
| | | if (this.tableData[i][propName] === row[propName]) { |
| | | rowspan++; |
| | | } else { |
| | | break; |
| | | } |
| | | } |
| | | return { rowspan: rowspan, colspan: 1 }; |
| | | } |
| | | } |
| | | } |
| | | ) |
| | | if (result) { |
| | | return result |
| | | } |
| | | // let result = '' |
| | | // this.$emit( |
| | | // 'objectSpanMethod', |
| | | // row, |
| | | // column, |
| | | // rowIndex, |
| | | // columnIndex, |
| | | // (val) => { |
| | | // console.log(val); |
| | | // if (val) { |
| | | // result = val |
| | | // } |
| | | // } |
| | | // ) |
| | | // if (result) { |
| | | // return result |
| | | // } |
| | | } |
| | | }, |
| | | getDataList(selectedId) { |