| | |
| | | tooltip-effect="dark" border |
| | | @selection-change="selectChange" @select="select" v-loading="loading" @sort-change="sortChange" |
| | | @row-click="rowClick" :show-summary="data.countFleid!=undefined && data.countFleid.length > 0" |
| | | :summary-method="getSummaries" :row-class-name="tableRowClassName"> |
| | | :summary-method="getSummaries" :row-class-name="tableRowClassName" |
| | | :row-key="record=>record.id" :current-row-key="data.currentId" |
| | | highlight-current-row |
| | | :span-method="spanMethod"> |
| | | <el-table-column type="selection" width="65" v-if="data.showSelect" :key="Math.random()"> |
| | | </el-table-column> |
| | | <el-table-column type="index" align="center" label="序号" width="70" v-if="data.isIndex" :key="Math.random()"> |
| | | <el-table-column type="index" align="center" label="序号" width="65" v-if="data.isIndex" :key="Math.random()"> |
| | | </el-table-column> |
| | | <el-table-column :prop="a.label" :label="a.value" :sortable="data.sort==false?false:'custom'" |
| | | v-for="(a, ai) in tableHead" :key="ai" show-overflow-tooltip min-width="160"> |
| | | v-for="(a, ai) in tableHead" :key="ai" show-overflow-tooltip min-width="155"> |
| | | <template slot-scope="scope"> |
| | | <div v-if="showType(a.label, data.tagField) != null"> |
| | | <template v-if="typeof(scope.row[a.label]) == 'object'"> |
| | |
| | | type: 'text' |
| | | }], |
| | | type: [], |
| | | uploadStr: "" |
| | | uploadStr: "", |
| | | currentId:'',//当前高亮的ID |
| | | }, |
| | | tableHead: [], |
| | | tableData: [], |
| | |
| | | uploadDia: false, |
| | | token: null, |
| | | fileList: [], |
| | | init: true |
| | | init: true, |
| | | testArr: [], |
| | | testPosition: 0, |
| | | } |
| | | }, |
| | | watch: { |
| | |
| | | } |
| | | }, |
| | | methods: { |
| | | rowspan(spanArr, position, spanName) { |
| | | this.tableData.forEach((item, index) => { |
| | | if (index === 0) { |
| | | spanArr.push(1); |
| | | position = 0; |
| | | } else { |
| | | if ( |
| | | this.tableData[index][spanName] === |
| | | this.tableData[index - 1][spanName] |
| | | ) { |
| | | spanArr[position] += 1; |
| | | spanArr.push(0); |
| | | } else { |
| | | spanArr.push(1); |
| | | position = index; |
| | | } |
| | | } |
| | | }); |
| | | }, |
| | | spanMethod({ row, column, rowIndex, columnIndex }){ |
| | | if(this.data.spanConfig!=undefined&&this.data.spanConfig.rows){ |
| | | if (columnIndex === this.data.spanConfig.rows.index) { |
| | | const _row = this.testArr[rowIndex]; |
| | | const _col = _row > 0 ? 1 : 0; |
| | | return { |
| | | rowspan: _row, |
| | | colspan: _col, |
| | | }; |
| | | } |
| | | } |
| | | }, |
| | | selectChange(val) { |
| | | if (this.data.select) { |
| | | this.multipleSelection = val; |
| | |
| | | }) |
| | | } |
| | | } |
| | | if(this.data.spanConfig!=undefined&&this.data.spanConfig.rows){ |
| | | this.testArr = [] |
| | | this.testPosition = 0 |
| | | this.rowspan(this.testArr, this.testPosition, this.data.spanConfig.rows.name); |
| | | } |
| | | this.loading = false |
| | | }).catch(e => { |
| | | this.loading = false |