|
|
@@ -28,10 +28,12 @@
|
|
|
</template>
|
|
|
|
|
|
<el-table :data="tableData" stripe border style="width:100%">
|
|
|
- <el-table-column label="操作" width="140" fixed="left">
|
|
|
+ <el-table-column label="操作" width="120" fixed="left" align="center">
|
|
|
<template #default="scope">
|
|
|
- <el-button type="text" size="small" @click="handleEdit(scope.row)">编辑</el-button>
|
|
|
- <el-button type="text" size="small" @click="showLinkDialog(scope.row.id)">链接</el-button>
|
|
|
+ <div class="list-actions">
|
|
|
+ <el-button type="text" size="small" @click="handleEdit(scope.row)">编辑</el-button>
|
|
|
+ <el-button type="text" size="small" @click="showLinkDialog(scope.row.id)">链接</el-button>
|
|
|
+ </div>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
<el-table-column prop="id" label="页面ID" width="120" align="center" />
|
|
|
@@ -513,7 +515,7 @@ export default {
|
|
|
},
|
|
|
async fetchList() {
|
|
|
const res = await request.get('/api/assembly/list', { params: this.searchForm })
|
|
|
- this.tableData = res.data
|
|
|
+ this.tableData = res.data.sort((a, b) => b.id.localeCompare(a.id))
|
|
|
},
|
|
|
async loadLinkOptions() {
|
|
|
const { campaignOptions, channelOptions } = await fetchLinkOptions()
|
|
|
@@ -912,6 +914,19 @@ export default {
|
|
|
border: 1px dashed #dcdfe6; border-radius: 4px;
|
|
|
}
|
|
|
|
|
|
+.list-actions {
|
|
|
+ display: inline-flex;
|
|
|
+ align-items: center;
|
|
|
+ justify-content: center;
|
|
|
+ gap: 10px;
|
|
|
+ width: 100%;
|
|
|
+ white-space: nowrap;
|
|
|
+}
|
|
|
+.list-actions :deep(.el-button) {
|
|
|
+ margin-left: 0;
|
|
|
+ padding: 0;
|
|
|
+}
|
|
|
+
|
|
|
.link-section { margin-top: 16px; padding: 12px; background: #fafafa; border-radius: 6px; border: 1px solid #ebeef5; }
|
|
|
.link-section + .link-section { margin-top: 12px; }
|
|
|
.link-label { font-weight: 600; margin-bottom: 8px; display: flex; align-items: center; gap: 6px; }
|