From 2caf6c0b519300a24788b7cd8d57fb0c1f0b1a0e Mon Sep 17 00:00:00 2001 From: licp <lichunping@guanfang.com.cn> Date: 星期二, 14 五月 2024 18:03:18 +0800 Subject: [PATCH] 优化 --- src/components/view/b2-standard.vue | 115 ++++++++++++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 96 insertions(+), 19 deletions(-) diff --git a/src/components/view/b2-standard.vue b/src/components/view/b2-standard.vue index 46dba57..87e822c 100644 --- a/src/components/view/b2-standard.vue +++ b/src/components/view/b2-standard.vue @@ -6,7 +6,7 @@ .left { width: 270px; - height: calc(100% - 40px - 30px); + height: calc(100% - 40px - 10px); background-color: white; padding: 15px; } @@ -38,8 +38,8 @@ } .right .title { - height: 50px; - line-height: 50px; + height: 30px; + line-height: 30px; padding: 0 10px; background-color: white; } @@ -51,19 +51,33 @@ .product_table { border-top: 1px solid #ebeef5; - height: calc(100% - 275px); + height: calc(100% - 235px); margin-top: 5px; background-color: white; user-select: none; } .product_table .el-table { - height: 100%; + height: calc(100% - 35px) !important; } .sort { width: 80% !important; overflow: hidden; + } + >>>.el-table__body-wrapper{ + height: calc(100% - 46px) !important; + } + >>>.header-class{ + height: 40px !important; + } + >>>.header-class th.el-table__cell>.cell{ + line-height: 14px !important; + padding-top: 0 !important; + padding-bottom: 0 !important; + } + >>>.el-table__row{ + height: 30px !important; } </style> <style> @@ -142,8 +156,8 @@ <!-- </el-col> --> </el-row> <el-row class="standard_table" v-loading="tableLoad"> - <el-table class="el-table" :data="standardList" style="width: 100%;" height="220" tooltip-effect="dark" - highlight-current-row @row-click="rowClick" ref="standard"> + <el-table class="el-table" :data="standardList" style="width: 100%;height: 220px !important;" height="220" tooltip-effect="dark" + highlight-current-row @row-click="rowClick" ref="standard" header-row-class-name="header-class"> <el-table-column prop="code" label="鏍囧噯缂栧彿" show-overflow-tooltip width="200"> <template slot-scope="scope"> <span style="color: red;font-size: 14px;">{{scope.row['code']}}</span> @@ -161,10 +175,15 @@ </el-table> </el-row> <el-row class="product_table" v-loading="tableLoad2"> - <el-table :data="productList" ref="productTable" style="width: 100%;" height="100%" tooltip-effect="dark" stripe - :fit="true" border @selection-change="handleSelectionChange" :row-class-name="tableRowClassName" - @select="upProductSelect" @select-all="handleAll"> - <el-table-column type="selection" width="65"> + <el-table :data="pagedData" ref="productTable" style="width: 100%;" height="100%" tooltip-effect="dark" stripe + :fit="true" border + @selection-change="handleSelectionChange" :row-class-name="tableRowClassName" + @select="upProductSelect" + @select-all="handleAll" + class="productTable" + @filter-change="filterChange" + header-row-class-name="header-class"> + <el-table-column type="selection" width="65" > </el-table-column> <el-table-column prop="model" label="鍨嬪彿" min-width="120" show-overflow-tooltip></el-table-column> <el-table-column prop="inspectionItem" label="妫�楠岄」" min-width="140" show-overflow-tooltip></el-table-column> @@ -231,6 +250,14 @@ </template> </el-table-column> </el-table> + <el-pagination + style="position: absolute;right: 16px;bottom: 1px;" + @current-change="handleCurrentChange" + :current-page="currentPage" + :page-size="pageSize" + layout="total, prev, pager, next, jumper" + :total="total"> + </el-pagination> </el-row> </div> <el-dialog title="鍒嗙被娣诲姞" :visible.sync="addDia" width="400px"> @@ -428,7 +455,31 @@ sectionLoad: false, sectionRow: null, sectionList: [], - templateList: [] + templateList: [], + total:0, + pageSize:100, + currentPage:1, + productLists:[], + } + }, + computed: { + pagedData() { + const start = (this.currentPage - 1) * this.pageSize; + const end = start + this.pageSize; + this.total = this.productList.length; + return this.productList.slice(start, end); + }, + }, + watch:{ + pagedData:{ + deep:true, + handler(val){ + setTimeout(() => { + val.forEach(a => { + if (a.state == 1) this.toggleSelection(a) + }) + }, 300) + } } }, mounted() { @@ -911,12 +962,13 @@ id: row.id, tree: this.selectTree }).then(res => { + this.productLists = this.HaveJson(res.data) this.productList = res.data - setTimeout(() => { - this.productList.forEach(a => { - if (a.state == 1) this.toggleSelection(a) - }) - }, 300) + // setTimeout(() => { + // this.productList.forEach(a => { + // if (a.state == 1) this.toggleSelection(a) + // }) + // }, 300) this.tableLoad2 = false }) }, @@ -948,20 +1000,27 @@ } // this.$message.success('宸蹭繚瀛�') }) + this.productLists.map(item => { + if(row.id == item.id){ + item.state = row.state; + } + return item + }) }, filterHandler(value, row, column) { const property = column['property']; + // console.log(222222222222,row[property],value) return row[property] === value; }, handleAll(e) { if (e.length > 0) { - this.productList.map(m => { + this.productList = this.productList.map(m => { m.state = 0 this.upProductSelect(null, m) return m }) } else { - this.productList.map(m => { + this.productList = this.productList.map(m => { m.state = 1 this.upProductSelect(null, m) return m @@ -1039,6 +1098,24 @@ this.templateList = res.data }) }, + handleCurrentChange(val) { + this.currentPage = val; + }, + filterChange(e){ + let arr =[]; + for (let key in e){ + arr = e[key] + } + if(arr.length>0){ + let arr0 = this.HaveJson(this.productLists).filter(item=>{ + return arr.find(value=>item.sonLaboratory==value)!==undefined + }) + this.productList = this.HaveJson(arr0) + }else{ + this.productList = this.HaveJson(this.productLists) + } + // productLists + } } } </script> -- Gitblit v1.9.3