| | |
| | | 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" |
| | |
| | | :span-method="objectSpanMethod" |
| | | :header-cell-style="tableHeaderStyle" |
| | | v-adaptive="{ bottomOffset: bottomOffset, fixedHeight: fixedHeight }" |
| | | height="100px" |
| | | height="300px" |
| | | :class="[ |
| | | 'commonTable', |
| | | isGeneralSearch && !isEdit |
| | |
| | | v-loading="dataListLoading" |
| | | element-loading-text="加载中..." |
| | | element-loading-spinner="el-icon-loading" |
| | | @expand-change="expandChange" |
| | | > |
| | | <!--多选择框--> |
| | | <el-table-column |
| | |
| | | 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> |
| | | </span> |
| | | <span v-if="item.isTags&&scope.row[item.prop]!=null" style="text-align: center;"> |
| | | <el-tag style="width:60px;margin: 3px;" :type="scope.row[item.prop] == '正常' ? 'success' : (scope.row[item.prop] == '异常'?'warning':(scope.row[item.prop] == '返修'?'danger':'info'))"> |
| | | <span v-html="item.formatter(scope.row, item, scope.row[item.prop])"></span> |
| | | </el-tag> |
| | | </span> |
| | |
| | | <div class="el-upload__tip" slot="tip" > |
| | | 只能上传xlsx/xls文件,且不超过10M<el-button |
| | | type="text" |
| | | style="font-size:12px;" |
| | | @click="downDataTemplate" v-if="uploadInfo.Download" |
| | | style="font-size:14px;text-decoration: underline;" |
| | | @click="downDataTemplate(uploadInfo.fileName)" |
| | | v-if="uploadInfo.download" |
| | | >下载模板</el-button |
| | | > |
| | | </div> |
| | |
| | | column: { |
| | | type: Object, |
| | | default: null |
| | | } |
| | | }, |
| | | }, |
| | | render: (h, data) => { |
| | | const params = { |
| | |
| | | default: ()=>{ |
| | | return 'id' |
| | | } |
| | | }, |
| | | //需要合并的字段集合 |
| | | mergeSpanArr: { |
| | | type: Array, |
| | | default: ()=>{ |
| | | return [] |
| | | } |
| | | }, |
| | | toolbarMaxLength: { |
| | | type: Number, |
| | | default: 5, |
| | | }, |
| | | // 表格型号:mini,medium,small |
| | | tableSize: { type: String, default: 'small' }, |
| | |
| | | }, |
| | | data() { |
| | | return { |
| | | currentExpand:null, |
| | | dataListLoading: false, |
| | | tableKey: 0, |
| | | // jipf 导出所用变量 |
| | |
| | | return colList |
| | | }, |
| | | getToolBarBtn() { |
| | | return this.table.toolbar ? this.table.toolbar.slice(0, 5) : [] |
| | | return this.table.toolbar ? this.table.toolbar.slice(0, this.toolbarMaxLength) : [] |
| | | }, |
| | | getToolbarDown() { |
| | | return this.getToolBarBtn.length === 5 |
| | | ? this.table.toolbar.slice(5, this.table.toolbar.length) |
| | | return this.getToolBarBtn.length == this.toolbarMaxLength |
| | | ? this.table.toolbar.slice(this.toolbarMaxLength, this.table.toolbar.length) |
| | | : [] |
| | | }, |
| | | isRefreshBtn() { |
| | |
| | | }, |
| | | 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) { |
| | |
| | | this.multipleSelection = selection |
| | | this.$emit('handleSelectionChange', selection) |
| | | } */ |
| | | this.$emit('shoudonggouxuan',row) |
| | | }, |
| | | handleSelectionChange(val) { |
| | | this.multipleSelection = val |
| | |
| | | if(response.data!=""&&response.data!=[]&&response.data!=null){ |
| | | this.$message({ |
| | | message: response.data, |
| | | type: 'success' |
| | | type: 'success', |
| | | dangerouslyUseHTMLString: true, |
| | | }) |
| | | }else{ |
| | | this.$message({ |
| | |
| | | const blob = new Blob([response.data], { |
| | | type: 'application/force-download' |
| | | }) |
| | | const filename = decodeURI('模板文件.xlsx') |
| | | let fileName="模板文件"; |
| | | if(this.uploadInfo.fileName!=undefined&&this.uploadInfo.fileName!=''&&this.uploadInfo.fileName!=null){ |
| | | fileName=this.uploadInfo.fileName |
| | | } |
| | | const filename = decodeURI(fileName+'.xlsx') |
| | | // 创建一个超链接,将文件流赋进去,然后实现这个超链接的单击事件 |
| | | const elink = document.createElement('a') |
| | | elink.download = filename |
| | |
| | | // 设置高级搜索查询条件 |
| | | setMultiSearchFilter(filters) { |
| | | this.multiSearchFilter = filters |
| | | }, |
| | | expandChange(e){ |
| | | this.currentExpand = e; |
| | | }, |
| | | toggleRowExpansion(){ |
| | | this.tableData.forEach((ele) => { |
| | | this.$refs.lmesTable.toggleRowExpansion(ele,false) |
| | | }) |
| | | this.$refs.lmesTable.toggleRowExpansion(this.currentExpand,true) |
| | | } |
| | | } |
| | | } |