table 操作按钮.

This commit is contained in:
小陌 2024-01-09 12:42:47 +08:00
parent 9f35f6c634
commit 1495679b89
3 changed files with 12 additions and 7 deletions

View File

@ -81,12 +81,13 @@ export default {
return;
} else if (item.http && item.http.url && item.http.key && String(row[item.http.key])?.trim()) {
this.$confirm(item.http.title || '确定要执行?', '提示', { type: item.http.type || 'warning' }).then(() => {
const loading = this.$loading();
this.$http.post(item.http.url, { [item.http.key]: row[item.http.key] }).then((res) => {
loading.close();
this.$confirm(item.http.tips || '确定要执行?', item.http.title || '提示', { type: item.http.type || 'warning' }).then(() => {
var param = Object.assign({}, { [item.http.key]: row[item.http.key] }, item.http.param || {});
this.$http.post(item.http.url, param).then((res) => {
if (res.code == 200) {
this.$message.success(res.message || '操作成功')
//
this.$emit('xtablerefresh');
return;
}
this.$alert(res.message || '操作失败', "提示", { type: 'error' });

View File

@ -8,13 +8,13 @@
<el-table-column :align="item.align || 'left'" :label="item.label" v-if="item.column && item.column.length > 0">
<el-table-column v-for="(items, indexs) in item.column" :key="indexs" :align="items.align || 'left'" :column-key="items.prop || items.name" :label="items.label" :prop="items.prop || items.name" :width="items.width || 'auto'" :min-width="items.minWidth || 'auto'" :sortable="items.sortable" :fixed="items.fixed" :filters="items.filters" :filter-method="remoteFilter || !items.filters ? null : filterHandler" :show-overflow-tooltip="items.showOverflowTooltip">
<template #default="{ row }">
<columnItem :row="row" :item="items" @xtablehandleClick="xtablehandleClick"> </columnItem>
<columnItem :row="row" :item="items" @xtablehandleClick="xtablehandleClick" @xtablerefresh="refresh"> </columnItem>
</template>
</el-table-column>
</el-table-column>
<el-table-column v-else-if="!item.hide && (item.name || item.prop)" :align="item.align || 'left'" :column-key="item.prop || item.name" :label="item.label" :prop="item.prop || item.name" :width="item.width || 'auto'" :min-width="item.minWidth || 'auto'" :sortable="item.sortable" :fixed="item.fixed" :filters="item.filters" :filter-method="remoteFilter || !item.filters ? null : filterHandler" :show-overflow-tooltip="item.showOverflowTooltip">
<template #default="{ row }">
<columnItem :row="row" :item="item" @xtablehandleClick="xtablehandleClick"> </columnItem>
<columnItem :row="row" :item="item" @xtablehandleClick="xtablehandleClick" @xtablerefresh="refresh"> </columnItem>
</template>
</el-table-column>
</template>

View File

@ -3,7 +3,7 @@
<el-container class="container">
<el-header v-if="tabs && tabs.length > 0">
<el-tabs v-model="search[tabskey]" @tab-change="tabChange" style="--el-tabs-header-height: 58px; line-height: 58px;">
<el-tab-pane v-for="item in tabs" :key="item.value" :label="item.label + (item.num ? '(' + item.num + ')' : '')" :name="item.value" />
<el-tab-pane v-for="item in tabs" :key="item.value" :label="item.label + ((item.num || (search[tabskey] == item.value && !$refs.table.loading)) ? '(' + (search[tabskey] == item.value ? $refs.table.total : (item.num || 0)) + ')' : '')" :name="item.value" />
</el-tabs>
</el-header>
<el-header v-if="operation.plus || operation.batchdeletion || filter.length > 0">
@ -231,6 +231,10 @@ export default {
margin: 0;
}
.container:deep(.el-tabs__nav-wrap::after) {
background: none
}
@media (max-width: 992px) {
.container:deep(.el-header) .right-panel {
display: block;