1
jhzh
2025-07-06 c24f01e317c68e8d490af53210cee83d46297e20
src/views/userlist/index.vue
@@ -5,34 +5,6 @@
        <a-form layout="inline">
          <a-row :gutter="48">
            <a-col :md="12" :lg="6" :sm="24">
              <a-form-item label="交易状态">
                <a-select v-model="queryParam.isLock" placeholder="请选择交易状态" :default-value="{ key: '0' }">
                  <a-select-option :value="0">可交易</a-select-option>
                  <a-select-option :value="1">不可交易</a-select-option>
                </a-select>
              </a-form-item>
            </a-col>
            <a-col :md="12" :lg="6" :sm="24">
              <a-form-item label="登录状态">
                <a-select v-model="queryParam.isLogin" placeholder="请选择登录状态" :default-value="{ key: '0' }">
                  <a-select-option :value="0">可登录</a-select-option>
                  <a-select-option :value="1">不可登录</a-select-option>
                </a-select>
              </a-form-item>
            </a-col>
            <a-col :md="12" :lg="6" :sm="24">
              <a-form-item label="注册时间">
                 <a-date-picker
                   show-time
                   style="width: 50%"
                   @change="getregTime"
                   v-model="regTime"
                   format="YYYY-MM-DD HH:mm:ss"
                 >
                 </a-date-picker>
              </a-form-item>
            </a-col>
            <a-col :md="12" :lg="6" :sm="24">
              <a-form-item label="用户筛选">
                <a-select v-model="queryParam.accountType" placeholder="请选择用户类型" :default-value="{ key: '0' }">
                  <a-select-option :value="0">真实用户</a-select-option>
@@ -40,21 +12,15 @@
                </a-select>
              </a-form-item>
            </a-col>
            <a-col :md="12" :lg="6" :sm="24">
              <a-form-item label="实名状态">
                <a-select v-model="queryParam.isActive" placeholder="请选择实名状态" :default-value="{ key: '0' }">
                  <a-select-option :value="0">未实名</a-select-option>
                  <a-select-option :value="2">已实名</a-select-option>
                  <a-select-option :value="3">被驳回</a-select-option>
                </a-select>
              </a-form-item>
            </a-col>
            <a-col :md="12" :lg="6" :sm="24">
              <a-form-item label="下级代理">
                <a-select v-model="queryParam.agentId" placeholder="请选择下级代理">
                  <a-select-option v-for="(item, index) in agentlist" :key="index" :value="item.id"
                    >{{ item.agentName }}
                  <a-select-option
                    v-for="(item, index) in agentlist"
                    :key="index"
                    :value="item.id"
                  >{{ item.agentName }}
                  </a-select-option>
                </a-select>
              </a-form-item>
@@ -81,15 +47,15 @@
                    type="primary"
                    icon="search"
                    style="margin-left: 8px"
                    @click=";(queryParam.pageNum = 1), (pagination.current = 1), getuserList()"
                    >查询</a-button
                    @click=";(queryParam.pageNum = 1), getuserList()"
                  >查询</a-button
                  >
                  <a-button
                    type="primary"
                    icon="plus"
                    style="margin-left: 8px"
                    @click="$refs.adduserdialog.addUserdialog = true"
                    >添加账户</a-button
                  >添加账户</a-button
                  >
                </span>
              </a-form-item>
@@ -107,7 +73,6 @@
        :columns="columns"
        :data-source="dataList"
        rowKey="phone"
        :scroll="{ x: 2800 }"
      >
        <span slot="agentName" slot-scope="text, record">
          <template>
@@ -135,21 +100,12 @@
          </template>
        </span>
        <template slot="action" slot-scope="text, record">
          <a
            slot="action"
            href="javascript:;"
            @click="
              currentDetails = record
              $refs.detailuserdialog.userDialog = true
            "
            >用户详情</a
          >
          <!-- currentDetails = record; $refs.detailuserdialog.userDialog = true -->
          <a slot="action" href="javascript:;" @click="userInfo(record)">用户详情</a>
          <a-divider type="vertical" />
          <a slot="action" href="javascript:;" @click="$refs.EditUserinfodialog.getEditorder(record)">编辑</a>
          <a-divider type="vertical" />
<!--          <a slot="action" href="javascript:;" @click="$refs.editUserbankdialog.getbankinfo(record)">银行卡</a>
          <a-divider type="vertical" /> -->
          <a slot="action" href="javascript:;" @click="getMoneyzj(record)">资金</a>
          <a slot="action" href="javascript:;" @click="$refs.editUserbankdialog.getbankinfo(record)">银行卡</a>
          <a-divider type="vertical" />
          <a
            slot="action"
@@ -158,34 +114,26 @@
              currentDetails = record
              $refs.audituserdialog.userDialog = true
            "
            >实名审核</a
          >实名审核</a
          >
          <a-divider type="vertical" />
          <a slot="action" href="javascript:;" @click="getDeluser(record)">删除</a>
        </template>
      </a-table>
    </a-card>
    <adduserdialog ref="adduserdialog" :getinit="getinit" :agentlist="agentlist"></adduserdialog>
    <adduserdialog ref="adduserdialog" :getinit="getinit"></adduserdialog>
    <detailuserdialog ref="detailuserdialog" :currentDetails="currentDetails"></detailuserdialog>
    <EditUserinfodialog ref="EditUserinfodialog" :getinit="geteditinit" :agentlist="agentlist"></EditUserinfodialog>
    <editUserbankdialog ref="editUserbankdialog" :getinit="geteditinit"></editUserbankdialog>
    <editCapitaluserdialog
      :activeArr="activeArr"
      ref="editCapitaluserdialog"
      :getinit="geteditinit"
    ></editCapitaluserdialog>
    <audituserdialog ref="audituserdialog" :currentDetails="currentDetails" :getinit="geteditinit"></audituserdialog>
  </page-header-wrapper>
</template>
<script>
import { usermanag, nextagent, userdelete, getMoney, updateMoney } from '@/api/home'
import { agentuserlist, agentgetSecondAgent, agentgetAgentInfo, getMoney } from '@/api/home'
import adduserdialog from './components/adduserdialog'
import detailuserdialog from './components/detailuserdialog'
import EditUserinfodialog from './components/EditUserinfodialog'
import editUserbankdialog from './components/editUserbankdialog'
import editCapitaluserdialog from './components/editCapitaluserdialog'
import audituserdialog from './components/audituserdialog'
import moment from 'moment'
import { async } from 'regenerator-runtime'
export default {
  name: 'Agentlist',
  components: {
@@ -193,215 +141,153 @@
    detailuserdialog,
    EditUserinfodialog,
    editUserbankdialog,
    editCapitaluserdialog,
    audituserdialog,
    audituserdialog
  },
  data() {
  data () {
    return {
      regTime:'',
      queryParam: {
        agentId: undefined,
        realName: '',
        isLock:'',
        isLogin:'',
        isActive:'',
        phone: '',
        regTime:'',
        pageNum: 1,
        pageSize: 10,
        accountType: 0,
        accountType: 0
      },
      labelCol: {
        xs: { span: 24 },
        sm: { span: 7 },
        sm: { span: 7 }
      },
      wrapperCol: {
        xs: { span: 24 },
        sm: { span: 13 },
        sm: { span: 13 }
      },
      columns: [
        {
          title: '用户ID',
          dataIndex: 'id',
          align: 'center',
          align: 'center'
        },
        {
          title: '所属代理(Id)',
          scopedSlots: { customRender: 'agentName' },
          align: 'center',
          align: 'center'
        },
        {
          title: '账号',
          title: '手机号',
          dataIndex: 'phone',
          align: 'center',
          align: 'center'
        },
        {
          title: '待补资金',
          dataIndex: 'amountToBeCovered',
          align: 'center',
          title: '真实姓名',
          dataIndex: 'realName',
          align: 'center'
        },
        {
          title: '总资产',
          dataIndex: 'totalMoney',
          title: '总资金',
          dataIndex: 'userAmt',
          align: 'center',
          customRender: (text, row, index) => {
            return text.toFixed(2)
          }
        },
        {
          title: '可用余额',
          dataIndex: 'availableBalance',
          align: 'center',
          // customRender: (text, row, index) => {
          //   return text.toFixed(2)
          // }
        },
        {
          title: '冻结金额',
          dataIndex: 'freezeMoney',
          align: 'center',
          // customRender: (text, row, index) => {
          //   return text.toFixed(2)
          // }
        },
        {
          title: '真实姓名',
          dataIndex: 'realName',
          align: 'center',
        },
        {
          title: '资金使用百分比',
          dataIndex: 'fundRatio',
          align: 'center',
        },
        // {
        //   title: '杠杠',
        //   dataIndex: 'lever',
        //   align: 'center',
        // },
        {
          title: '认证信息',
          dataIndex: 'isActive',
          align: 'center',
          customRender: (text, row, index) => {
            return text == 0 ? '待认证' : text == 1 ? '待审核' : text == 2 ? '认证成功' : text == 3 ? '驳回' : ''
          },
          }
        },
        {
          title: '交易状态',
          dataIndex: 'isLock',
          align: 'center',
          scopedSlots: { customRender: 'isLock' },
          scopedSlots: { customRender: 'isLock' }
        },
        {
          title: '登录状态',
          dataIndex: 'isLogin',
          align: 'center',
          scopedSlots: { customRender: 'isLogin' },
          scopedSlots: { customRender: 'isLogin' }
        },
        {
          title: '注册时间',
          dataIndex: 'regTime',
          align: 'center',
          customRender: (text, row, index) => {
            return moment(text).format('YYYY-MM-DD HH:mm:ss')
          },
        },
        // {
        //   title: '操作',
        //   key: 'action',
        //   align: 'center',
        //   scopedSlots: { customRender: 'action' },
        // },
        {
          title: '操作',
          key: 'action',
          align: 'center',
          fixed: 'right',
          width: 400,
          scopedSlots: { customRender: 'action' },
        },
          scopedSlots: { customRender: 'action' }
        }
      ], // 表头
      dataList: [],
      pagination: {
        total: 0,
        pageSize: 10, // 每页中显示10条数据
        current: 1,
        showSizeChanger: true,
        pageSizeOptions: ['10', '20', '50', '100'], // 每页中显示的数据
        onShowSizeChange: (current, pageSize) => this.onSizeChange(current, pageSize), // 改变每页数量时更新显示
        onChange: (page, pageSize) => this.onPageChange(page, pageSize), // 点击页码事件
        showTotal: (total) => `共有 ${total} 条数据`, // 分页中显示总的数据
        showTotal: (total) => `共有 ${total} 条数据` // 分页中显示总的数据
      },
      loading: false,
      agentqueryParam: {
        pageNum: 1,
        pageSize: 100,
        pageSize: 100
      },
      agentlist: [],
      currentDetails: {},
      activeArr: [],
      userid: '',
      currentDetails: {}
    }
  },
  created() {
  created () {
    this.getuserList()
    this.getagentlist()
    this.getagentuserinfo()
  },
  methods: {
    getregTime(date, dateString) {
      this.regTime = dateString
    async userInfo (val) {
      const res = await getMoney({ userId: val.id })
      if (res.success) {
        res.data.map((item) => {
          val[item.accectType] = item.totalMoney
          val[item.accectType + 'sybol'] = item.symbolCode
        })
      }
      this.currentDetails = val
      this.$refs.detailuserdialog.userDialog = true
    },
    getMoneyzj(record) {
      console.log(record.id)
      getMoney({ userId: record.id }).then((res) => {
        if (res.status === 0) {
          const arr = res.data.filter((item) => item.accectType !== 'ALL')
          this.activeArr = arr
          this.$refs.editCapitaluserdialog.getEditorder(record)
        }
      })
    geteditinit () {
      this.getuserList()
    },
    getDeluser(val) {
      var that = this
      this.$confirm({
        title: '提示',
        content: '确认删除该用户吗?此操作不可恢复,将删除该用户所有的充值、提现与持仓记录!',
        onOk() {
          var data = {
            userId: val.id,
          }
          userdelete(data).then((res) => {
            if (res.status == 0) {
              that.$message.success(res.msg)
              that.getinit()
            } else {
              that.$message.error(res.msg)
            }
          })
        },
        onCancel() {
          console.log('Cancel')
        },
      })
    },
    getinit() {
    getinit () {
      this.queryParam = {
        agentId: undefined,
        realName: '',
        isLock:'',
        isLogin:'',
        isActive:'',
        phone: '',
        regTime:'',
        pageNum: 1,
        pageSize: 10,
        accountType: 0,
        accountType: 0
      }
      this.pagination.current = 1
      this.regTime = ''
      this.getuserList()
    },
    geteditinit() {
      this.getuserList()
    },
    getuserList() {
    getuserList () {
      var that = this
      this.loading = true
      this.queryParam.regTime = this.regTime
      usermanag(this.queryParam).then((res) => {
      agentuserlist(this.queryParam).then((res) => {
        this.dataList = res.data.list
        this.pagination.total = res.data.total
        setTimeout(() => {
@@ -409,24 +295,27 @@
        }, 500)
      })
    },
    getagentlist() {
      nextagent(this.agentqueryParam).then((res) => {
    getagentuserinfo () {
      agentgetAgentInfo(this.agentqueryParam).then((res) => {
        console.log(res)
        this.userid = res.data.id
      })
    },
    getagentlist () {
      agentgetSecondAgent(this.agentqueryParam).then((res) => {
        this.agentlist = res.data.list
      })
    },
    onPageChange(page, pageSize) {
    onPageChange (page, pageSize) {
      this.queryParam.pageNum = page
      this.pagination.current = page
      this.getuserList()
    },
    onSizeChange(current, pageSize) {
      // console.log(current, pageSize)
    onSizeChange (current, pageSize) {
      this.queryParam.pageNum = current
      // this.pagination.current = page
      this.queryParam.pageSize = pageSize
      this.getuserList()
    },
    handleTableChange() {},
  },
    handleTableChange () {}
  }
}
</script>