From 379ad4226bc5a3ad175635b5c40e6bf5b68e4069 Mon Sep 17 00:00:00 2001
From: spring <2396852758@qq.com>
Date: 星期三, 19 三月 2025 13:30:59 +0800
Subject: [PATCH] 能力范围功能更新70%
---
src/components/Table/lims-table.vue | 39 ++++++++++++++++++++++++++++++---------
1 files changed, 30 insertions(+), 9 deletions(-)
diff --git a/src/components/Table/lims-table.vue b/src/components/Table/lims-table.vue
index abe65a0..dad9288 100644
--- a/src/components/Table/lims-table.vue
+++ b/src/components/Table/lims-table.vue
@@ -13,8 +13,8 @@
:filter-method="item.filterHandler" :filter-multiple="item.filterMultiple" :filtered-value="item.filteredValue"
:filters="item.filters" :fixed="item.fixed" :label="item.label" :min-width="item.minWidth" :prop="item.prop"
:show-overflow-tooltip="item.dataType === 'action' || item.dataType === 'slot' ? false : true"
- :sortable="item.sortable ? true : false" :type="item.type" :width="item.dataType === 'action' ? getWidth(item.operation) : item.width
- " align="center">
+ :sortable="item.sortable ? true : false" :type="item.type"
+ :width="item.dataType == 'action' ? btnWidth : item.width" align="center">
<!-- <div class="123" v-if="item.type == ''"> -->
<template v-if="item.hasOwnProperty('colunmTemplate')" :slot="item.colunmTemplate" slot-scope="scope">
<slot v-if="item.theadSlot" :index="index" :name="item.theadSlot" :row="scope.row" />
@@ -31,7 +31,8 @@
</div>
<!-- 鍥剧墖 -->
<div v-else-if="item.dataType == 'image'">
- <img :src="javaApi + '/img/' + item.prop" alt="" style="width: 40px; height: 40px; margin-top: 10px" />
+ <img :src="javaApi + '/img/' + scope.row[item.prop]" alt=""
+ style="width: 40px; height: 40px; margin-top: 10px" />
</div>
<!-- tag -->
@@ -62,7 +63,7 @@
</div>
<!-- 鎸夐挳 -->
- <div v-else-if="item.dataType == 'action'">
+ <div v-else-if="item.dataType == 'action'" :style="`width:${getWidth(item.operation, scope.row)}`">
<template v-for="(o, key) in item.operation">
<el-button v-show="o.type != 'upload'" size="mini" v-if="o.showHide ? o.showHide(scope.row) : true"
:disabled="o.disabled ? o.disabled(scope.row) : false" :icon="iconFn(o)" :plain="o.plain"
@@ -98,7 +99,7 @@
</template>
</el-table-column>
</el-table>
- <pagination v-show="page.total > 0" :total="page.total" :layout="page.layout" :page.sync="page.current"
+ <pagination v-if="page" v-show="page.total > 0" :total="page.total" :layout="page.layout" :page.sync="page.current"
:limit.sync="page.size" @pagination="pagination" />
</div>
</template>
@@ -230,7 +231,7 @@
},
rowStyle: {
type: Object || Function,
- default: () => { },
+ default: () => null,
},
tableData: {
type: Array,
@@ -257,18 +258,27 @@
data() {
return {
spanList: [],
+ btnWidth: '120px',
};
},
mounted() {
this.calculateSpanInfo();
+ this.$nextTick(() => {
+ this.$refs.multipleTable.doLayout();
+ });
},
methods: {
getWidth(row) {
let count = 0;
row.forEach((a) => {
- count += a.name.length;
+ if (a.showHide !== undefined && a.showHide()) {
+ count += a.name.length;
+ } else if (!a.showHide) {
+ count += a.name.length;
+ }
});
- return count * 15 + 70 + "px";
+ this.btnWidth = count * 15 + 80 + "px";
+ return count * 15 + 80 + "px";
},
iconFn(row) {
if (row.name === "缂栬緫" || row.name === "淇敼") {
@@ -412,6 +422,17 @@
// }
// }
},
+ // 鍥炴樉澶氶�夐�変腑鐘舵��
+ toggleRowSelection(list) {
+ this.$nextTick(() => {
+ this.tableData.forEach(row => {
+ let obj = list.find(m => m == row[this.rowKey])
+ if (obj) {
+ this.$refs.multipleTable.toggleRowSelection(obj, true);
+ }
+ });
+ });
+ }
},
};
</script>
@@ -439,7 +460,7 @@
}
>>>.el-table__body-wrapper::-webkit-scrollbar {
- height: 14px;
+ height: 10px;
/* 璁剧疆婊氬姩鏉″搴� */
}
</style>
--
Gitblit v1.9.3