From 5ecb7958c96d3f0b6d47b79aff7eb306c2cf690f Mon Sep 17 00:00:00 2001 From: charles <981744753@qq.com> Date: 星期二, 06 八月 2024 11:16:58 +0800 Subject: [PATCH] gitlab上面的wms转移到公司git --- src/components/makepager/TableCommonView.vue | 94 ++++++++++++++++++++++++++++++++++++----------- 1 files changed, 72 insertions(+), 22 deletions(-) diff --git a/src/components/makepager/TableCommonView.vue b/src/components/makepager/TableCommonView.vue index 34f0287..d4bc001 100644 --- a/src/components/makepager/TableCommonView.vue +++ b/src/components/makepager/TableCommonView.vue @@ -1,6 +1,6 @@ <!-- eslint-disable vue/no-use-v-if-with-v-for --> <template> - <div :class="{ 'table-view': true, table_height: !showSummary }" v-loading="loading"> + <div class="table-view" v-loading="loading"> <el-table ref="table" border @@ -22,7 +22,7 @@ :summary-method="getSummaries" :show-summary="showSummary" > - <el-table-column v-if="tableList.selectBox" type="selection" width="40"> </el-table-column> + <el-table-column v-if="tableList.selectBox" type="selection" width="40" :selectable="selectable"> </el-table-column> <el-table-column v-if="tableList.selectIndex" type="index" label="搴忓彿" width="50"> </el-table-column> <el-table-column v-for="(item, i) in tableList.tableColumn" @@ -43,10 +43,10 @@ <span class="Badge" :class="{ - greenSlot: scope.row.status == '4'||scope.row.status == '瀹屾垚', + greenSlot: scope.row.status == '4' || scope.row.status == '瀹屾垚', redSlot: scope.row.status == '5', - blueSlot: scope.row.status == '3'||scope.row.status == '灏辩华', - graySlot: scope.row.status == '1', + blueSlot: scope.row.status == '3' || scope.row.status == '灏辩华', + graySlot: scope.row.status == '1' }" >{{ item.isCallMethod ? item.getCallMethod(scope.row[item.prop], scope.row) : scope.row[item.prop] @@ -63,10 +63,10 @@ :style="{ color: new Date().getTime() > new Date(scope.row[item.prop]).getTime() ? '#D23F3A' : '#606266' }" - >{{ timeAgo(scope.row[item.prop]) }}</span + >{{ scope.row[item.prop] }}</span > <div v-else-if="item.conversion"> - <span>{{ item.getStatus(scope.row[item.prop]) }}</span> + <p class="exceed_width">{{ item.getStatus(scope.row[item.prop]) }}</p> </div> <span v-else-if="item.isClick && scope.row[item.prop]" @@ -102,6 +102,10 @@ export default { name: "TableCommonView", props: { + warehouseId:{ + type:Number, + default:0 + }, tableList: { type: Object, default: () => { @@ -116,7 +120,7 @@ highlight: false, tableColumn: [ // table琛ㄥ崟 - { label: "", prop: "", min: 200, tooltip: true,textAlign:"center"} + { label: "", prop: "", min: 200, tooltip: true, textAlign: "center" } ] } }, @@ -151,6 +155,15 @@ showSummary: { type: Boolean, default: false + }, + // 鍒楄〃涓嶅彲閫夌殑鏁版嵁 + selectBoxList: { + type: Array, + default: () => [] + }, + name:{ + type:String, + default:'' } }, data() { @@ -210,12 +223,20 @@ }, // 鍗曢�夎鐩稿叧 tableRowClassName({ row }) { - if (Object.keys(this.selectClassRow).length > 0) { - if (row.id == this.selectClassRow.id) { - return "onSelect" + if(this.$route.query.workType!=1){ + if(Object.keys(this.selectClassRow).length>0&&this.selectClassRow.location){ + if(this.selectClassRow.id==row.id&&this.selectClassRow.location.warehouseId==row.location.warehouseId&&row.location.name==this.selectClassRow.location.name){ + return "onSelect"; + } + } + } else{ + if (Object.keys(this.selectClassRow).length > 0) { + if (row.id == this.selectClassRow.id) { + return "onSelect" + } + } } - } - this.$emit("tableRowClassName", row) + this.$emit("tableRowClassName", row); }, timeAgo(val) { return timeago(val) @@ -232,18 +253,18 @@ } this.tableList.countcol.forEach((countcols) => { if (column.label === countcols) { - const values = data.map((item) => Number(item[column.property])) + const values = (data||[]).map((item) => Number(item[column.property])) if (!values.every((value) => isNaN(value))) { sums[index] = values.reduce((prev, curr) => { const value = Number(curr) if (!isNaN(value)) { return prev + curr } else { - return prev + return prev } }, 0) - let unitIndex = this.tableList.tableColumn.findIndex(obj => obj.label === column.label); - sums[index]=this.tableList.tableColumn[unitIndex].unit+sums[index] + let unitIndex = this.tableList.tableColumn.findIndex((obj) => obj.label === column.label) + sums[index] = this.tableList.tableColumn[unitIndex].unit + sums[index] } else { sums[index] = "" } @@ -253,6 +274,28 @@ }) }) return sums + } + }, + selectable(row) { + let prop='id' + if(this.name=='product'){ + prop='productId' + } + if(this.$route.query.workType!=1){ + const flag= this.selectBoxList.some(item=>{ + if(item.location){ + return item[prop]==row.id&&item.location.warehouseId==row.location.warehouseId&&item.location.name==row.location.name; + } + return false; + }) + return !flag; + }else{ + let list = (this.selectBoxList||[]).map((item) => item[prop]) + if (list.findIndex((v) => v == row.id) == -1) { + return true + } else { + return false + } } } } @@ -308,7 +351,7 @@ right: 2px; display: flex; align-items: center; - // z-index: 9999; + z-index: 9999; .label { position: absolute; top: 6px; @@ -348,6 +391,12 @@ border-top-left-radius: 12px; border-top-right-radius: 12px; overflow: auto; + .exceed_width { + width: 100%; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + } } } @@ -377,15 +426,16 @@ height: 35px; text-align: center; } - .el-table__body-wrapper{ + .el-table__body-wrapper { height: unset !important; } - .el-table__cell.is-left{ + .el-table__cell.is-left { text-align: left !important; } - .el-table__cell.is-right{ + .el-table__cell.is-right { text-align: right !important; } + .el-table::before{ width: 0px; } } .overSpread1 { width: 100%; @@ -396,7 +446,7 @@ background: rgba(0, 0, 0, 0); z-index: 10; } -.el-table__cell{ +.el-table__cell { text-align: unset !important; } </style> -- Gitblit v1.8.0