From 2c9fbc6f1a3ccd1418efa9c348ec12faf1ab3258 Mon Sep 17 00:00:00 2001 From: zhang_12370 <z2864490065@outlook.com> Date: 星期三, 23 七月 2025 16:33:06 +0800 Subject: [PATCH] 1、完善表格逻辑 2、完善配煤计算器 3、完善设备管理 4、完善采购管理 --- src/components/Table/ETable.vue | 44 ++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 42 insertions(+), 2 deletions(-) diff --git a/src/components/Table/ETable.vue b/src/components/Table/ETable.vue index 1f8fdfb..3921d6b 100644 --- a/src/components/Table/ETable.vue +++ b/src/components/Table/ETable.vue @@ -35,6 +35,22 @@ <el-table-column v-if="showOperations" :label="operationsLabel" :width="operationsWidth" :show-overflow-tooltip="false" fixed="right" align="center"> <template #default="scope"> <slot name="operations" :row="scope.row"> + <!-- 鑷畾涔夋寜閽� - 鏀惧湪榛樿鎸夐挳涔嬪墠 --> + <el-button + v-for="button in customButtons" + :key="button.name" + v-show="!button.show || button.show(scope.row)" + :link="button.link !== false" + :type="button.type || 'primary'" + :size="button.size || 'small'" + :icon="button.icon" + :disabled="button.disabled && button.disabled(scope.row)" + @click="handleCustomClick(button.name, scope.row)" + > + {{ button.label }} + </el-button> + + <!-- 榛樿鎿嶄綔鎸夐挳 --> <el-button v-if="operations.includes('edit')" link type="primary" size="small" @click="handleEdit(scope.row)">缂栬緫</el-button> <el-button v-if="operations.includes('viewRow')" link type="primary" size="small" @@ -126,7 +142,25 @@ operations: { type: Array, default: () => ['edit', 'delete', 'export'] - }, // 鍒犻櫎纭淇℃伅 + }, + // 鑷畾涔夋寜閽厤缃� + customButtons: { + type: Array, + default: () => [] + // 绀轰緥閰嶇疆锛� + // [ + // { + // name: 'return', // 鎸夐挳鏍囪瘑 + // label: '褰掕繕', // 鎸夐挳鏄剧ず鏂囨湰 + // type: 'success', // 鎸夐挳绫诲瀷 + // size: 'small', // 鎸夐挳澶у皬 + // icon: '', // 鍥炬爣(鍙��) + // show: (row) => true, // 鏄剧ず鏉′欢鍑芥暟(鍙��) + // disabled: (row) => false, // 绂佺敤鏉′欢鍑芥暟(鍙��) + // } + // ] + }, + // 鍒犻櫎纭淇℃伅 deleteConfirmText: { type: String, default: '纭鍒犻櫎璇ヨ褰曪紵' @@ -163,7 +197,7 @@ }; // 澶勭悊閫夋嫨鍙樺寲銆佺紪杈戙�佸垹闄ゅ拰瀵煎嚭鎿嶄綔 -const emit = defineEmits(['selection-change', 'edit', 'delete', 'export', 'viewRow', 'viewFile']) +const emit = defineEmits(['selection-change', 'edit', 'delete', 'export', 'viewRow', 'viewFile', 'custom-click']) const handleSelectionChange = (selection) => { emit('selection-change', selection) } @@ -176,6 +210,12 @@ const handleViewFile = (row) => { emit('viewFile', row) } + +// 澶勭悊鑷畾涔夋寜閽偣鍑� +const handleCustomClick = (buttonName, row) => { + emit('custom-click', { buttonName, row }) +} + const handleDelete = (row) => { ElMessageBox.confirm( props.deleteConfirmText, -- Gitblit v1.9.3