Преглед на файлове

更新页面组装列表展示

csk преди 1 месец
родител
ревизия
b5966e594c

+ 1 - 1
工作空间/产研/权益/汇丰全行/产品原型/pc-demo/src/components/ShowPagesDialog.vue

@@ -6,7 +6,7 @@
     @open="onOpen"
   >
     <el-form :model="form" label-width="140px" label-position="left">
-      <el-form-item label="权益首页">
+      <el-form-item label="权益首页/列表页">
         <el-radio-group v-model="form.showOnHome">
           <el-radio label="显示">显示</el-radio>
           <el-radio label="不显示">不显示</el-radio>

+ 4 - 1
工作空间/产研/权益/汇丰全行/产品原型/pc-demo/src/mock/index.js

@@ -1,5 +1,8 @@
 import Mock from 'mockjs'
 
+const getIdNumber = (id) => Number(String(id || '').replace(/\D/g, '')) || 0
+const sortByIdDesc = (list) => [...list].sort((a, b) => getIdNumber(b.id) - getIdNumber(a.id))
+
 // =============================================
 // 登录
 // =============================================
@@ -188,7 +191,7 @@ Mock.mock(/\/api\/assembly\/list/, 'get', (options) => {
   let filtered = assemblyList
   if (id) filtered = filtered.filter(a => a.id.includes(id))
   if (name) filtered = filtered.filter(a => a.name.includes(name))
-  return { code: 200, data: filtered, msg: 'ok' }
+  return { code: 200, data: sortByIdDesc(filtered), msg: 'ok' }
 })
 
 Mock.mock(/\/api\/assembly\/detail/, 'get', (options) => {

+ 19 - 4
工作空间/产研/权益/汇丰全行/产品原型/pc-demo/src/views/PageAssembly.vue

@@ -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; }