feat(sxsy80): 外部用户 UID 筛选与积分明细展示

User list API accepts uid; admin external pages tighten filters and
integral log maps self-bonus rows via wa_selfbonus_log for display.

Made-with: Cursor
This commit is contained in:
apple
2026-04-27 13:30:05 +08:00
parent 5c4450c417
commit 708bf9af48
7 changed files with 73 additions and 14 deletions

View File

@@ -45,7 +45,7 @@
<div class="container mb10">
<el-form inline size="small" :model="searchForm" label-width="96px">
<el-row>
<el-col :xs="24" :sm="12" :md="8" :lg="6" :xl="6">
<el-col :xs="24" :sm="12" :md="8" :lg="5" :xl="5">
<el-form-item label="用户ID">
<el-input
v-model="searchForm.uidStr"
@@ -56,7 +56,7 @@
/>
</el-form-item>
</el-col>
<el-col :xs="24" :sm="12" :md="8" :lg="6" :xl="6">
<el-col :xs="24" :sm="12" :md="8" :lg="5" :xl="5">
<el-form-item label="用户名称:">
<el-input
v-model="searchForm.nickName"
@@ -67,7 +67,7 @@
/>
</el-form-item>
</el-col>
<el-col :xs="24" :sm="12" :md="8" :lg="6" :xl="6">
<el-col :xs="24" :sm="12" :md="8" :lg="5" :xl="5">
<el-form-item label="手机号:">
<el-input
v-model="searchForm.phone"
@@ -78,7 +78,7 @@
/>
</el-form-item>
</el-col>
<el-col :xs="24" :sm="12" :md="8" :lg="6" :xl="6">
<el-col :xs="24" :sm="12" :md="10" :lg="8" :xl="8">
<el-form-item label="时间选择:">
<el-date-picker
v-model="timeVal"
@@ -90,11 +90,12 @@
range-separator=""
start-placeholder="开始日期"
end-placeholder="结束日期"
class="date-range-width"
@change="onchangeTime"
/>
</el-form-item>
</el-col>
<el-col :xs="24" :sm="12" :md="8" :lg="6" :xl="6">
<el-col :xs="24" :sm="12" :md="6" :lg="4" :xl="4">
<el-form-item>
<el-button type="primary" icon="el-icon-search" @click="handleSearch">搜索</el-button>
<el-button @click="handleReset">重置</el-button>
@@ -119,7 +120,6 @@
<span>{{ scope.row.nickName || '-' }}</span>
</template>
</el-table-column>
<el-table-column prop="title" label="标题" min-width="150" show-overflow-tooltip />
<el-table-column label="积分变动" min-width="100">
<template slot-scope="scope">
<el-tag :type="scope.row.type === 1 ? 'success' : 'danger'" size="small">
@@ -356,7 +356,10 @@ export default {
text-align: right;
}
.filter-input {
width: 180px;
width: 150px;
}
.date-range-width {
width: 350px;
}
.overview-card--all .hint-text {
display: block;

View File

@@ -5,7 +5,7 @@
<div class="container">
<el-form inline size="small" :model="userFrom" label-width="90px">
<el-row>
<el-col :xs="24" :sm="12" :md="8" :lg="6" :xl="6">
<el-col :xs="24" :sm="12" :md="6" :lg="5" :xl="5">
<el-form-item label="用户搜索:">
<el-input
v-model="userFrom.keywords"
@@ -16,7 +16,19 @@
/>
</el-form-item>
</el-col>
<el-col :xs="24" :sm="12" :md="8" :lg="6" :xl="6">
<el-col :xs="24" :sm="12" :md="6" :lg="5" :xl="5">
<el-form-item label="用户ID">
<el-input-number
v-model="userFrom.uid"
:min="1"
:controls="false"
placeholder="请输入用户ID"
class="selWidth"
@keyup.enter.native="seachList"
/>
</el-form-item>
</el-col>
<el-col :xs="24" :sm="12" :md="10" :lg="8" :xl="8">
<el-form-item label="时间选择:">
<el-date-picker
v-model="timeVal"
@@ -27,11 +39,12 @@
range-separator=""
start-placeholder="开始日期"
end-placeholder="结束日期"
class="date-range-width"
@change="onchangeTime"
/>
</el-form-item>
</el-col>
<el-col :xs="24" :sm="12" :md="8" :lg="6" :xl="6">
<el-col :xs="24" :sm="12" :md="6" :lg="5" :xl="5">
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="small" @click="seachList">搜索</el-button>
<el-button size="small" @click="handleReset">重置</el-button>
@@ -114,6 +127,7 @@ export default {
},
userFrom: {
keywords: '',
uid: null,
dateLimit: '',
page: 1,
limit: 15,
@@ -129,6 +143,7 @@ export default {
this.listLoading = true;
const params = { ...this.userFrom };
if (!params.keywords) delete params.keywords;
if (!params.uid) delete params.uid;
if (!params.dateLimit) delete params.dateLimit;
getExternalUserList(params)
@@ -146,7 +161,7 @@ export default {
this.getList();
},
handleReset() {
this.userFrom = { keywords: '', dateLimit: '', page: 1, limit: 15 };
this.userFrom = { keywords: '', uid: null, dateLimit: '', page: 1, limit: 15 };
this.timeVal = [];
this.getList();
},
@@ -201,6 +216,9 @@ export default {
text-align: right;
}
.selWidth {
width: 200px;
width: 160px;
}
.date-range-width {
width: 350px;
}
</style>