pxb před 2 týdny
rodič
revize
a701c5f21a

+ 1 - 1
src/router/index.js

@@ -85,7 +85,7 @@ export const constantRoutes = [
         path: "demoList",
         path: "demoList",
         component: () => import("@/views/user/demoList/index"),
         component: () => import("@/views/user/demoList/index"),
         name: "demoList",
         name: "demoList",
-        meta: { title: "试玩列表" },
+        meta: { title: "虚拟会员列表" },
       },
       },
       {
       {
         path: "userLevel",
         path: "userLevel",

+ 9 - 14
src/views/balance/log/index.vue

@@ -5,10 +5,10 @@
       :edit-form="editForm" :edit-config="editConfig" :columns="columns" :rows-actions="rowsActions"
       :edit-form="editForm" :edit-config="editConfig" :columns="columns" :rows-actions="rowsActions"
       :show-summary="false" :apis="apis" :alertTip="alertTip" :custom-style="{ height: 'calc(100vh - 150px)' }"
       :show-summary="false" :apis="apis" :alertTip="alertTip" :custom-style="{ height: 'calc(100vh - 150px)' }"
       :actions-width="120" @onResponse="onResponse">
       :actions-width="120" @onResponse="onResponse">
-      <!-- 变动后余额(实际列名是 before_balance,但模板中插槽名为 before_balance,对应 prop: before_balance) -->
-      <template #before_balance="{ row }">
+      <!-- 变动后余额 -->
+      <template #after_balance="{ row }">
         <span style="color: #18C80A;">
         <span style="color: #18C80A;">
-          {{ row.before_balance != null ? Number(row.before_balance).toFixed(2) : '--' }}
+          {{ row.after_balance != null ? Number(row.after_balance).toFixed(2) : '--' }}
         </span>
         </span>
       </template>
       </template>
 
 
@@ -29,11 +29,6 @@
       </template>
       </template>
     </YMTable>
     </YMTable>
 
 
-    <!-- 原有的空弹窗(保留) -->
-    <Dialog ref="dialog">
-      <template slot="content" />
-    </Dialog>
-
     <!-- ========== 新增:查看详情弹窗 ========== -->
     <!-- ========== 新增:查看详情弹窗 ========== -->
     <Dialog ref="viewDialog" :dialog-actions="{
     <Dialog ref="viewDialog" :dialog-actions="{
       width: '800px',
       width: '800px',
@@ -150,8 +145,8 @@ export default {
         },
         },
         {
         {
           label: '变动前余额',
           label: '变动前余额',
-          prop: 'after_balance',
-          method: (row) => Number(row.after_balance)?.toFixed(2)
+          prop: 'before_balance',
+          method: (row) => Number(row.before_balance)?.toFixed(2)
         },
         },
         {
         {
           label: '变动金额',
           label: '变动金额',
@@ -161,8 +156,8 @@ export default {
 
 
         {
         {
           label: '变动后余额',
           label: '变动后余额',
-          prop: 'before_balance',
-          method: (row) => Number(row.before_balance)?.toFixed(2)
+          prop: 'after_balance',
+          method: (row) => Number(row.after_balance)?.toFixed(2)
         },
         },
         {
         {
           label: '时间',
           label: '时间',
@@ -223,9 +218,9 @@ export default {
       return [
       return [
         { label: '会员ID', prop: 'member_id', value: row.member_id },
         { label: '会员ID', prop: 'member_id', value: row.member_id },
         { label: '会员昵称', prop: 'first_name', value: row.first_name || '--' },
         { label: '会员昵称', prop: 'first_name', value: row.first_name || '--' },
-        { label: '变动前余额', prop: 'after_balance', value: row.after_balance != null ? Number(row.after_balance).toFixed(2) : '--', type: 'balance' },
+        { label: '变动前余额', prop: 'before_balance', value: row.before_balance != null ? Number(row.before_balance).toFixed(2) : '--'},
         { label: '变动金额', prop: 'amount', value: row.amount != null ? Number(row.amount).toFixed(2) : '--', type: 'amount', rawValue: Number(row.amount) },
         { label: '变动金额', prop: 'amount', value: row.amount != null ? Number(row.amount).toFixed(2) : '--', type: 'amount', rawValue: Number(row.amount) },
-        { label: '变动后余额', prop: 'before_balance', value: row.before_balance != null ? Number(row.before_balance).toFixed(2) : '--', type: 'balance' },
+        { label: '变动后余额', prop: 'after_balance', value: row.after_balance != null ? Number(row.after_balance).toFixed(2) : '--', type: 'balance' },
         { label: '时间', prop: 'created_at', value: row.created_at || '--' },
         { label: '时间', prop: 'created_at', value: row.created_at || '--' },
         { label: '资金类型', prop: 'type', value: fundTypeMap[row.type] || '--', type: 'fund_type' },
         { label: '资金类型', prop: 'type', value: fundTypeMap[row.type] || '--', type: 'fund_type' },
         { label: '类型', prop: 'change_type', value: row.change_type || '--', type: 'change_type' },
         { label: '类型', prop: 'change_type', value: row.change_type || '--', type: 'change_type' },

+ 0 - 171
src/views/user/demoList/index.vue

@@ -11,11 +11,6 @@
       </template>
       </template>
     </YMTableSearch>
     </YMTableSearch>
 
 
-    <div style="margin-bottom: 12px; padding-left: 16px">
-      <el-button type="primary" :disabled="selectedMemberIds.length === 0"
-        @click="handleBatchSetChannel">批量设置通道</el-button>
-    </div>
-
     <YMTable ref="table" :table-key="1" :index="true" :selection="true" @selection-change="handleSelectionChange"
     <YMTable ref="table" :table-key="1" :index="true" :selection="true" @selection-change="handleSelectionChange"
       :table-options="tableOptions" :edit-form="editForm" :edit-config="editConfig" :columns="columns"
       :table-options="tableOptions" :edit-form="editForm" :edit-config="editConfig" :columns="columns"
       :rows-actions="rowsActions" :show-summary="false" :apis="apis" :actionsWidth="100" @headerClick="headerClick"
       :rows-actions="rowsActions" :show-summary="false" :apis="apis" :actionsWidth="100" @headerClick="headerClick"
@@ -28,9 +23,6 @@
           <div>
           <div>
             ID: {{ scoped.row.agent.member_id }}
             ID: {{ scoped.row.agent.member_id }}
           </div>
           </div>
-          <div>
-            邀请码: {{ scoped.row.agent.user_code }}
-          </div>
         </div>
         </div>
         <span v-else style="color: #c0c4cc">--</span>
         <span v-else style="color: #c0c4cc">--</span>
       </template>
       </template>
@@ -137,21 +129,11 @@
           <el-button type="info" size="small" @click="rowsActions.find(a => a.key === 'address').method(detailData)">
           <el-button type="info" size="small" @click="rowsActions.find(a => a.key === 'address').method(detailData)">
             提现地址
             提现地址
           </el-button>
           </el-button>
-          <!-- 设置通道 -->
-          <el-button type="warning" size="small"
-            @click="rowsActions.find(a => a.key === 'setChannel').method(detailData)">
-            设置通道
-          </el-button>
           <!-- 修改密码 -->
           <!-- 修改密码 -->
           <el-button type="primary" size="small"
           <el-button type="primary" size="small"
             @click="rowsActions.find(a => a.key === 'modifyPassword').method(detailData)">
             @click="rowsActions.find(a => a.key === 'modifyPassword').method(detailData)">
             修改密码
             修改密码
           </el-button>
           </el-button>
-          <!-- 合并用户 -->
-          <el-button type="danger" size="small"
-            @click="rowsActions.find(a => a.key === 'secret_key').method(detailData)">
-            合并用户
-          </el-button>
           <!-- 备注 -->
           <!-- 备注 -->
           <el-button type="info" size="small" @click="rowsActions.find(a => a.key === 'note').method(detailData)">
           <el-button type="info" size="small" @click="rowsActions.find(a => a.key === 'note').method(detailData)">
             备注
             备注
@@ -279,20 +261,6 @@
       </template>
       </template>
     </Dialog>
     </Dialog>
 
 
-    <Dialog ref="dialogChannel" :dialog-actions="{ width: '480px', title: '设置通道组合' }" :loading="loading"
-      @confirm="confirmChannel">
-      <template slot="content">
-        <el-form ref="channelFormRef" :rules="channelRules" :model="channelFormData" label-width="120px">
-          <el-form-item label="通道组合" prop="recharge_channel_group_id">
-            <el-select v-model="channelFormData.recharge_channel_group_id" placeholder="请选择通道组合" style="width: 280px">
-              <el-option v-for="item in channelGroupList" :key="item.id" :label="item.name"
-                :value="item.id"></el-option>
-            </el-select>
-          </el-form-item>
-        </el-form>
-      </template>
-    </Dialog>
-
     <Dialog ref="dialogPassword" :dialog-actions="{ width: '480px', title: '修改密码' }" :loading="loading"
     <Dialog ref="dialogPassword" :dialog-actions="{ width: '480px', title: '修改密码' }" :loading="loading"
       @confirm="confirmPassword">
       @confirm="confirmPassword">
       <template slot="content">
       <template slot="content">
@@ -340,12 +308,6 @@ export default {
   computed: {
   computed: {
     searchForm() {
     searchForm() {
       return [
       return [
-        {
-          label: "用户名称",
-          type: "input",
-          prop: "username",
-          clearable: false,
-        },
         {
         {
           label: "用户昵称",
           label: "用户昵称",
           type: "input",
           type: "input",
@@ -358,35 +320,6 @@ export default {
           prop: "member_id",
           prop: "member_id",
           clearable: false,
           clearable: false,
         },
         },
-        {
-          label: "用户等级",
-          type: "input",
-          prop: "level",
-          clearable: false,
-        },
-        {
-          label: "用户邀请码",
-          labelWidth: "110px",
-          type: "input",
-          prop: "user_code",
-          clearable: false,
-        },
-        {
-          label: "邀请人邀请码",
-          labelWidth: "110px",
-          type: "input",
-          prop: "agent_user_code",
-          clearable: false,
-        },
-        {
-          label: "充值通道",
-          type: "select",
-          prop: "recharge_channel_group_id",
-          options: this.channelGroupList.map((group) => ({
-            label: group.name,
-            value: group.id,
-          })),
-        },
         {
         {
           label: "注册来源",
           label: "注册来源",
           type: "select",
           type: "select",
@@ -429,19 +362,12 @@ export default {
       const row = this.detailData;
       const row = this.detailData;
       return [
       return [
         { label: '会员ID', value: row.member_id },
         { label: '会员ID', value: row.member_id },
-        { label: '邀请码', value: row.user_code },
         { label: '会员昵称', value: row.first_name || '--' },
         { label: '会员昵称', value: row.first_name || '--' },
         {
         {
           label: '注册来源',
           label: '注册来源',
           value: this.getFromText(row.from),
           value: this.getFromText(row.from),
           color: Number(row.from) === 1 ? '#05A58F' : Number(row.from) === 2 ? '#F3061F' : '#606266'
           color: Number(row.from) === 1 ? '#05A58F' : Number(row.from) === 2 ? '#F3061F' : '#606266'
         },
         },
-        { label: '飞机账号', value: row.username || '--' },
-        {
-          label: '上级邀请人',
-          value: row.agent ? `${row.agent.first_name} (ID:${row.agent.member_id}, 邀请码:${row.agent.user_code})` : '--'
-        },
-        { label: '会员等级', value: row.level?.level_name || '--' },
         {
         {
           label: '钱包余额',
           label: '钱包余额',
           value: row.wallet ? Number(row.wallet.available_balance).toFixed(2) : '--',
           value: row.wallet ? Number(row.wallet.available_balance).toFixed(2) : '--',
@@ -467,7 +393,6 @@ export default {
           value: row.total_consume != null ? Number(row.total_consume) : '--',
           value: row.total_consume != null ? Number(row.total_consume) : '--',
           color: Number(row.total_consume) > 0 ? '#18C80A' : '#606266'
           color: Number(row.total_consume) > 0 ? '#18C80A' : '#606266'
         },
         },
-        { label: '充值通道', value: this.getChannelName(row.recharge_channel_group_id) },
         { label: '注册时间', value: row.created_at || '--' },
         { label: '注册时间', value: row.created_at || '--' },
         { label: '新增用户', value: this.getNewUserType(row.created_at) },
         { label: '新增用户', value: this.getNewUserType(row.created_at) },
         { label: '活跃时间', value: row.last_active_time || '--' },
         { label: '活跃时间', value: row.last_active_time || '--' },
@@ -476,8 +401,6 @@ export default {
           value: row.is_banned === 0 ? '正常' : '封号',
           value: row.is_banned === 0 ? '正常' : '封号',
           color: Number(row.is_banned) === 0 ? '#18C80A' : '#F3061F'
           color: Number(row.is_banned) === 0 ? '#18C80A' : '#F3061F'
         },
         },
-        { label: '秘钥', value: row.secret_key || '--' },
-        { label: '访客ID', value: row.visitor_id || '--' },
         { label: '备注', value: row.admin_note || '--' },
         { label: '备注', value: row.admin_note || '--' },
         { label: '手机号', value: row.phone || '--' },
         { label: '手机号', value: row.phone || '--' },
         { label: 'IP', value: row.register_ip || '--' },
         { label: 'IP', value: row.register_ip || '--' },
@@ -596,17 +519,6 @@ export default {
           vIF: () => false,
           vIF: () => false,
           method: (row) => this.showWithdrawalAddress(row),
           method: (row) => this.showWithdrawalAddress(row),
         },
         },
-        {
-          key: "setChannel",
-          label: "设置通道",
-          // 隐藏该按钮(列表不显示,保留数组项供详情弹窗调用)
-          vIF: () => false,
-          method: (row) =>
-            this.openChannelDialog(
-              [row.member_id],
-              row.recharge_channel_group_id
-            ),
-        },
         {
         {
           key: "modifyPassword",
           key: "modifyPassword",
           label: "修改密码",
           label: "修改密码",
@@ -622,31 +534,6 @@ export default {
             });
             });
           },
           },
         },
         },
-        {
-          key: "secret_key",
-          label: "合并用户",
-          // 隐藏该按钮(列表不显示,保留数组项供详情弹窗调用)
-          vIF: () => false,
-          method: (row) => {
-            this.$prompt("请输入被合并的用户的秘钥", "提示", {
-              confirmButtonText: "确定",
-              cancelButtonText: "取消",
-              inputPattern: /^\S+$/,
-              inputErrorMessage: "请输入被合并的用户的秘钥",
-            }).then(({ value }) => {
-              usermerge({
-                secret_key: value,
-                member_id: row.member_id,
-              }).then((res) => {
-                this.$message({
-                  type: "success",
-                  message: "合并成功!",
-                });
-                this.onSubmit(this.queryData);
-              });
-            });
-          },
-        },
         {
         {
           key: "note",
           key: "note",
           label: "备注",
           label: "备注",
@@ -787,10 +674,6 @@ export default {
           label: "会员ID",
           label: "会员ID",
           prop: "member_id",
           prop: "member_id",
         },
         },
-        {
-          label: "邀请码",
-          prop: "user_code",
-        },
         {
         {
           label: "会员昵称",
           label: "会员昵称",
           popover: true,
           popover: true,
@@ -802,10 +685,6 @@ export default {
               label: "会员ID",
               label: "会员ID",
               value: ["member_id"],
               value: ["member_id"],
             },
             },
-            {
-              label: "用户名称",
-              value: ["username"],
-            },
             {
             {
               label: "备注",
               label: "备注",
               vShow: (row) => (row?.admin_note ? true : false),
               vShow: (row) => (row?.admin_note ? true : false),
@@ -826,20 +705,6 @@ export default {
             return map[row.from] || "--";
             return map[row.from] || "--";
           },
           },
         },
         },
-        {
-          label: "飞机账号",
-          prop: "username",
-        },
-        {
-          label: "上级邀请人",
-          prop: "agent",
-          width: 240,
-        },
-        {
-          label: "会员等级",
-          prop: "level",
-          method: (row) => row.level?.level_name || "--",
-        },
         {
         {
           label: "钱包余额",
           label: "钱包余额",
           link: true,
           link: true,
@@ -885,17 +750,6 @@ export default {
           label: "打码量",
           label: "打码量",
           prop: "total_consume",
           prop: "total_consume",
         },
         },
-        {
-          label: "充值通道",
-          prop: "recharge_channel",
-          method: (row) => {
-            return (
-              this.channelGroupList.find(
-                (group) => group.id === row.recharge_channel_group_id
-              )?.name || "--"
-            );
-          },
-        },
         {
         {
           label: "注册时间",
           label: "注册时间",
           prop: "created_at",
           prop: "created_at",
@@ -945,31 +799,6 @@ export default {
           prop: "is_banned",
           prop: "is_banned",
           method: (row) => (row.is_banned === 0 ? "正常" : "封号"),
           method: (row) => (row.is_banned === 0 ? "正常" : "封号"),
         },
         },
-
-        {
-          label: "秘钥",
-          popover: true,
-          default: "秘钥",
-          width: 70,
-          options: [
-            {
-              label: "找回账号的秘钥",
-              value: ["secret_key"],
-            },
-          ],
-        },
-        {
-          label: "访客ID",
-          default: "访客ID",
-          width: 80,
-          popover: true,
-          options: [
-            {
-              label: "访客ID",
-              value: ["visitor_id"],
-            },
-          ],
-        },
         {
         {
           label: "备注",
           label: "备注",
           prop: "admin_note",
           prop: "admin_note",