From 8feea28b1d7ca211f6dbbae1f0bf8474cfe1c077 Mon Sep 17 00:00:00 2001 From: haoxuan <haoxuan> Date: 星期五, 26 四月 2024 15:16:36 +0800 Subject: [PATCH] 增薪资方案增加清除的操作+清除操作的逻辑处理点击一次清除上次点击的内容,并且重新组合数据渲染对应样式 --- src/components/makepager/TableCommonView.vue | 48 ++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 42 insertions(+), 6 deletions(-) diff --git a/src/components/makepager/TableCommonView.vue b/src/components/makepager/TableCommonView.vue index 50ac390..cf7f976 100644 --- a/src/components/makepager/TableCommonView.vue +++ b/src/components/makepager/TableCommonView.vue @@ -20,7 +20,13 @@ :row-class-name="tableRowClassName" > <el-table-column v-if="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-if="tableList.selectIndex" + type="index" + label="搴忓彿" + width="50" + :fixed="tableList.isFixed" + ></el-table-column> <el-table-column v-for="(item, i) in tableList.tableColumn" :key="i" @@ -30,8 +36,21 @@ :min-width="item.min" show-overflow-tooltip :sortable="item.sortable" + :fixed="item.fixed" v-if="item.isShowColumn" > + + <template slot="header"> + {{ item.label }} + <span v-if="item.weekDay"> - {{item.weekDay}}</span> + <span v-if="item.iconRight"> + <i + :class="item.iconRight" + style="font-size: 16px; margin-left: 5px; cursor: pointer" + @click="handleShow(item)" + ></i> + </span> + </template> <template slot-scope="scope"> <span v-if="item.price">{{ "锟�" + number_format(scope.row[item.prop], 2, ".", ",") }}</span> <div v-else-if="item.status" :class="scope.row.status">{{ scope.row[item.prop] }}</div> @@ -77,8 +96,17 @@ <span v-else-if="item.isCommonClick && scope.row[item.prop]" class="sel-name" - @click="selCommonClick(scope.row)" - >{{ scope.row[item.prop] }}</span + @click="selCommonClick(scope.row,item.prop,item)" + > + <div v-if="item.isCallMethod"> + <span :class="item.isClass ? item.getClassName(scope.row[item.prop], scope.row) : ''"> + + <span v-if="item.isIcon" v-html="item.getCallMethod(scope.row[item.prop], scope.row)"></span> + <span v-else>{{ item.getCallMethod(scope.row[item.prop], scope.row) }}</span> + </span> + </div> + <span v-else>{{ scope.row[item.prop] }}</span> + </span > <div v-else-if="item.isProductName" class="product-view"> <ul v-if="scope.row.products && scope.row.products.length > 0"> @@ -158,6 +186,7 @@ default: () => { return { selectIndex: true, + isFixed: false, tableInfomation: [], // 鎺ュ彛杩斿洖鏁版嵁 showcol: [], allcol: [], @@ -381,8 +410,8 @@ this.$emit("selServiceOrderClick", row) }, // 鍏叡锛堥攢鍞満浼氥�佹姤浠峰崟銆侀攢鍞�诲崟銆侀攢鍞瓙鍗曘�傘�傘�傦級 - selCommonClick(row) { - this.$emit("selCommonClick", row) + selCommonClick(row,prop,item) { + this.$emit("selCommonClick", row,prop,item) }, // 琛岀偣鍑� tableRowClick(row, column, event) { @@ -404,7 +433,11 @@ } else { return false } - } + }, + // 鑷畾涔夎〃澶寸偣鍑讳簨浠� + handleShow(item) { + this.$emit("handleShow", item); + }, } } </script> @@ -456,6 +489,9 @@ font-weight: bold; } } + .el-table__fixed-body-wrapper{ + top:37px!important; + } } ::v-deep .el-table .cell { -- Gitblit v1.8.0