级联接口查询组装表结构数据
表1
接口文件--attend.js
1 import request from '@/utils/request' 2 3 export function attendList(query){ 4 return request({ 5 url:'/system/activity/list', 6 method:'get', 7 params:query 8 }) 9 } 10 11 export function getTradeByProjectId(id){ 12 return request({ 13 url:`/system/project/${id}`, 14 method:'get' 15 }) 16 } 17 18 export function getActivityCountByIds(data){ 19 return request({ 20 url:`/system/activity/countByIds`, 21 method:'post', 22 data 23 }) 24 }
方法:new Set去除数组中重复的值,id对应的值以Map的key-value进行存储
页面表元素结构
1 <el-table v-loading="loading" :data="tableData"> 2 <el-table-column label="ID" show-overflow-tooltip align="center" prop="id"></el-table-column> 3 <el-table-column label="名称" show-overflow-tooltip align="center" width="240" prop="name"></el-table-column> 4 <el-table-column label="时间" show-overflow-tooltip align="center" width="180" prop="startTime"></el-table-column> 5 <el-table-column label="行业名称" align="center" prop="group"></el-table-column> 6 <el-table-column label="主办单位" show-overflow-tooltip align="center" prop="master"></el-table-column> 7 <el-table-column label="当地名称" show-overflow-tooltip align="center" width="180" prop="locName"></el-table-column> 8 <el-table-column label="地址" show-overflow-tooltip align="center" width="180" prop="locAddr"></el-table-column> 9 <el-table-column label="观众数量" align="center" prop="aduienceNum"></el-table-column> 10 <el-table-column label="状态" align="center" prop="status"> 11 <template slot-scope="scope"> 12 <el-tag :type="scope.row.status===1 ? 'success' : 'danger'"> 13 {{scope.row.status===1 ? '上架' : '下架'}} 14 </el-tag> 15 </template> 16 </el-table-column> 17 <el-table-column label="操作" align="center" min-width="140" fixed="right"> 18 <template slot-scope="scope"> 19 <div class="btnGroup"> 20 <el-link type="primary" :underline="false" @click="handleEdit(scope.row.id)">编辑</el-link> 21 <el-link type="danger" :underline="false" @click="handleDelete(scope.row.id)">删除</el-link> 22 <el-link :type="scope.row.status===1 ? 'warning' : 'success'" :underline="false" @click="handleStock(scope.row.id)">{{scope.row.status===1 ? '下架' : '上架'}}</el-link> 23 </div> 24 </template> 25 </el-table-column> 26 </el-table>
组装级联接口请求参数

在级联接口回调函数里以key-value形式存储相应的值

通过数组的map方法组装页面的表结构数据

表2
接口文件--user.js
1 export function ticketList(query){ 2 return request({ 3 url:'/system/ticket/list', 4 method:'get', 5 params:query 6 }) 7 } 8 9 export function getActivityListByIds(data){ 10 return request({ 11 url:`/system/activity/ids/get`, 12 method:'post', 13 data 14 }) 15 } 16 17 export function getUserInfoByIds(data){ 18 return request({ 19 url:`/system/wxuser/ids/get`, 20 method:'post', 21 data 22 }) 23 }
注意:提供的为根据ids批量获取的接口,所以在效率上要比表1高,又可以不用考虑循环中不能使用await的问题
页面元素结构
1 <el-table v-loading="loading" :data="tableData"> 2 <el-table-column label="序号" width="100" align="center" type="index"></el-table-column> 3 <el-table-column label="微信昵称" show-overflow-tooltip width="160" align="center" prop="wxNickName"></el-table-column> 4 <el-table-column label="手机号" show-overflow-tooltip width="180" align="center" prop="phone"></el-table-column> 5 <el-table-column label="票号" show-overflow-tooltip width="200" align="center" prop="ticketNo"></el-table-column> 6 <el-table-column label="行业展览名称" show-overflow-tooltip width="200" align="center" prop="tradeShowName"></el-table-column> 7 <el-table-column label="开展时间" show-overflow-tooltip width="180" align="center" prop="tradeShowStartTime"></el-table-column> 8 <el-table-column label="地点" show-overflow-tooltip width="180" align="center" prop="locAddr"></el-table-column> 9 <el-table-column label="当地名称" show-overflow-tooltip width="120" align="center" prop="locName"></el-table-column> 10 <el-table-column label="领取时间" show-overflow-tooltip width="160" align="center" prop="startTime"></el-table-column> 11 <el-table-column label="状态" align="center" prop="status"> 12 <template slot-scope="scope"> 13 <el-tag :type="scope.row.status===1 ? 'success' : 'danger'"> 14 {{scope.row.status===1 ? '生效' : '失效'}} 15 </el-tag> 16 </template> 17 </el-table-column> 18 <el-table-column label="操作" align="center" min-width="100" width="200" fixed="right"> 19 <template slot-scope="scope"> 20 <div class="btnGroup"> 21 <el-link type="primary" :underline="false" @click="handleEdit(scope.row.id)">编辑</el-link> 22 <el-link type="danger" :underline="false" @click="handleDelete(scope.row.id)">删除</el-link> 23 </div> 24 </template> 25 </el-table-column> 26 </el-table>
组装级联接口请求参数

在级联接口回调函数里以key-value形式存储相应的值

通过数组的map方法组装页面的表结构数据

由于大部分数据都是由级联接口中提供的,所以对于根据活动名称、用户手机号进行查询,主接口是不支持的。为解决用户筛选检索的问题,可以考虑使用数组的filter方法。
表数据应用filter方法,实现模糊查询的功能

浙公网安备 33010602011771号