Browse Source

Merge remote-tracking branch 'origin/master'

master
yyc 2 years ago
parent
commit
e8b675d7c4
  1. 13
      src/api/user/userCustomer.js
  2. 8
      src/main.js
  3. 2
      src/views/monitor/job/index.vue
  4. 2
      src/views/monitor/job/log.vue
  5. 2
      src/views/monitor/logininfor/index.vue
  6. 2
      src/views/monitor/online/index.vue
  7. 2
      src/views/monitor/operlog/index.vue
  8. 2
      src/views/otc/otcAppealConfig/index.vue
  9. 2
      src/views/otc/otcAppealOrder/index.vue
  10. 2
      src/views/otc/otcCoin/index.vue
  11. 2
      src/views/otc/otcOrder/index.vue
  12. 2
      src/views/otc/otcPaymentLegalCurrency/index.vue
  13. 2
      src/views/otc/otcPaymentTemplate/index.vue
  14. 2
      src/views/otc/otcPaymentType/index.vue
  15. 2
      src/views/otc/otcStoreOrder/index.vue
  16. 2
      src/views/otc/otcStorePledge/index.vue
  17. 2
      src/views/otc/otcSysDict/index.vue
  18. 2
      src/views/system/config/index.vue
  19. 2
      src/views/system/dict/data.vue
  20. 2
      src/views/system/dict/index.vue
  21. 2
      src/views/system/notice/index.vue
  22. 2
      src/views/system/post/index.vue
  23. 2
      src/views/system/role/authUser.vue
  24. 2
      src/views/system/role/index.vue
  25. 2
      src/views/system/user/index.vue
  26. 2
      src/views/tool/gen/index.vue
  27. 92
      src/views/user/UserCertification/index.vue
  28. 2
      src/views/user/record/index.vue
  29. 350
      src/views/user/userCustomer/index.vue
  30. 77
      src/views/user/wallet/index.vue

13
src/api/user/userCustomer.js

@ -35,6 +35,19 @@ export function updateUserCustomer(data) {
}) })
} }
// 用户状态修改
export function changeUserStatus(userId, status) {
const data = {
userId,
status
}
return request({
url: '/user/userCustomer/changeStatus',
method: 'put',
data: data
})
}
// 删除个人用户 // 删除个人用户
export function delUserCustomer(userId) { export function delUserCustomer(userId) {
return request({ return request({

8
src/main.js

@ -48,7 +48,13 @@ Vue.prototype.selectDictLabel = selectDictLabel
Vue.prototype.selectDictLabels = selectDictLabels Vue.prototype.selectDictLabels = selectDictLabels
Vue.prototype.download = download Vue.prototype.download = download
Vue.prototype.handleTree = handleTree Vue.prototype.handleTree = handleTree
Vue.prototype.msgSuccess = function (msg) {
this.$message({
showClose: true,
message: msg,
type: "success"
});
}
// 全局组件挂载 // 全局组件挂载
Vue.component('DictTag', DictTag) Vue.component('DictTag', DictTag)
Vue.component('Pagination', Pagination) Vue.component('Pagination', Pagination)

2
src/views/monitor/job/index.vue

@ -357,7 +357,7 @@ export default {
this.loading = true; this.loading = true;
listJob(this.queryParams).then(response => { listJob(this.queryParams).then(response => {
this.jobList = response.rows; this.jobList = response.rows;
this.total = response.total; this.total = Number(response.total);
this.loading = false; this.loading = false;
}); });
}, },

2
src/views/monitor/job/log.vue

@ -234,7 +234,7 @@ export default {
this.loading = true; this.loading = true;
listJobLog(this.addDateRange(this.queryParams, this.dateRange)).then(response => { listJobLog(this.addDateRange(this.queryParams, this.dateRange)).then(response => {
this.jobLogList = response.rows; this.jobLogList = response.rows;
this.total = response.total; this.total = Number(response.total);
this.loading = false; this.loading = false;
} }
); );

2
src/views/monitor/logininfor/index.vue

@ -176,7 +176,7 @@ export default {
this.loading = true; this.loading = true;
list(this.addDateRange(this.queryParams, this.dateRange)).then(response => { list(this.addDateRange(this.queryParams, this.dateRange)).then(response => {
this.list = response.rows; this.list = response.rows;
this.total = response.total; this.total = Number(response.total);
this.loading = false; this.loading = false;
} }
); );

2
src/views/monitor/online/index.vue

@ -93,7 +93,7 @@ export default {
this.loading = true; this.loading = true;
list(this.queryParams).then(response => { list(this.queryParams).then(response => {
this.list = response.rows; this.list = response.rows;
this.total = response.total; this.total = Number(response.total);
this.loading = false; this.loading = false;
}); });
}, },

2
src/views/monitor/operlog/index.vue

@ -245,7 +245,7 @@ export default {
this.loading = true; this.loading = true;
list(this.addDateRange(this.queryParams, this.dateRange)).then( response => { list(this.addDateRange(this.queryParams, this.dateRange)).then( response => {
this.list = response.rows; this.list = response.rows;
this.total = response.total; this.total = Number(response.total);
this.loading = false; this.loading = false;
} }
); );

2
src/views/otc/otcAppealConfig/index.vue

@ -204,7 +204,7 @@ export default {
this.loading = true; this.loading = true;
listOtcAppealConfig(this.queryParams).then(response => { listOtcAppealConfig(this.queryParams).then(response => {
this.otcAppealConfigList = response.rows; this.otcAppealConfigList = response.rows;
this.total = response.total; this.total = Number(response.total);
this.loading = false; this.loading = false;
}); });
}, },

2
src/views/otc/otcAppealOrder/index.vue

@ -313,7 +313,7 @@ export default {
this.loading = true; this.loading = true;
listOtcAppealOrder(this.queryParams).then(response => { listOtcAppealOrder(this.queryParams).then(response => {
this.otcAppealOrderList = response.rows; this.otcAppealOrderList = response.rows;
this.total = response.total; this.total = Number(response.total);
this.loading = false; this.loading = false;
}); });
}, },

2
src/views/otc/otcCoin/index.vue

@ -260,7 +260,7 @@ export default {
this.loading = true; this.loading = true;
listOtcCoin(this.queryParams).then(response => { listOtcCoin(this.queryParams).then(response => {
this.otcCoinList = response.rows; this.otcCoinList = response.rows;
this.total = response.total; this.total = Number(response.total);
this.loading = false; this.loading = false;
}); });
}, },

2
src/views/otc/otcOrder/index.vue

@ -443,7 +443,7 @@ export default {
this.loading = true; this.loading = true;
listOtcOrder(this.queryParams).then(response => { listOtcOrder(this.queryParams).then(response => {
this.otcOrderList = response.rows; this.otcOrderList = response.rows;
this.total = response.total; this.total = Number(response.total);
this.loading = false; this.loading = false;
}); });
}, },

2
src/views/otc/otcPaymentLegalCurrency/index.vue

@ -180,7 +180,7 @@ export default {
this.loading = true; this.loading = true;
listOtcPaymentLegalCurrency(this.queryParams).then(response => { listOtcPaymentLegalCurrency(this.queryParams).then(response => {
this.otcPaymentLegalCurrencyList = response.rows; this.otcPaymentLegalCurrencyList = response.rows;
this.total = response.total; this.total = Number(response.total);
this.loading = false; this.loading = false;
}); });
}, },

2
src/views/otc/otcPaymentTemplate/index.vue

@ -253,7 +253,7 @@ export default {
this.loading = true; this.loading = true;
listOtcPaymentTemplate(this.queryParams).then(response => { listOtcPaymentTemplate(this.queryParams).then(response => {
this.otcPaymentTemplateList = response.rows; this.otcPaymentTemplateList = response.rows;
this.total = response.total; this.total = Number(response.total);
this.loading = false; this.loading = false;
}); });
}, },

2
src/views/otc/otcPaymentType/index.vue

@ -225,7 +225,7 @@ export default {
this.loading = true; this.loading = true;
listOtcPaymentType(this.queryParams).then(response => { listOtcPaymentType(this.queryParams).then(response => {
this.otcPaymentTypeList = response.rows; this.otcPaymentTypeList = response.rows;
this.total = response.total; this.total = Number(response.total);
this.loading = false; this.loading = false;
}); });
}, },

2
src/views/otc/otcStoreOrder/index.vue

@ -375,7 +375,7 @@ export default {
this.loading = true; this.loading = true;
listOtcStoreOrder(this.queryParams).then(response => { listOtcStoreOrder(this.queryParams).then(response => {
this.otcStoreOrderList = response.rows; this.otcStoreOrderList = response.rows;
this.total = response.total; this.total = Number(response.total);
this.loading = false; this.loading = false;
}); });
}, },

2
src/views/otc/otcStorePledge/index.vue

@ -223,7 +223,7 @@ export default {
this.loading = true; this.loading = true;
listOtcStorePledge(this.queryParams).then(response => { listOtcStorePledge(this.queryParams).then(response => {
this.otcStorePledgeList = response.rows; this.otcStorePledgeList = response.rows;
this.total = response.total; this.total = Number(response.total);
this.loading = false; this.loading = false;
}); });
}, },

2
src/views/otc/otcSysDict/index.vue

@ -214,7 +214,7 @@ export default {
this.loading = true; this.loading = true;
listOtcSysDict(this.queryParams).then(response => { listOtcSysDict(this.queryParams).then(response => {
this.otcSysDictList = response.rows; this.otcSysDictList = response.rows;
this.total = response.total; this.total = Number(response.total);
this.loading = false; this.loading = false;
}); });
}, },

2
src/views/system/config/index.vue

@ -241,7 +241,7 @@ export default {
this.loading = true; this.loading = true;
listConfig(this.addDateRange(this.queryParams, this.dateRange)).then(response => { listConfig(this.addDateRange(this.queryParams, this.dateRange)).then(response => {
this.configList = response.rows; this.configList = response.rows;
this.total = response.total; this.total = Number(response.total);
this.loading = false; this.loading = false;
} }
); );

2
src/views/system/dict/data.vue

@ -296,7 +296,7 @@ export default {
this.loading = true; this.loading = true;
listData(this.queryParams).then(response => { listData(this.queryParams).then(response => {
this.dataList = response.rows; this.dataList = response.rows;
this.total = response.total; this.total = Number(response.total);
this.loading = false; this.loading = false;
}); });
}, },

2
src/views/system/dict/index.vue

@ -245,7 +245,7 @@ export default {
this.loading = true; this.loading = true;
listType(this.addDateRange(this.queryParams, this.dateRange)).then(response => { listType(this.addDateRange(this.queryParams, this.dateRange)).then(response => {
this.typeList = response.rows; this.typeList = response.rows;
this.total = response.total; this.total = Number(response.total);
this.loading = false; this.loading = false;
} }
); );

2
src/views/system/notice/index.vue

@ -225,7 +225,7 @@ export default {
this.loading = true; this.loading = true;
listNotice(this.queryParams).then(response => { listNotice(this.queryParams).then(response => {
this.noticeList = response.rows; this.noticeList = response.rows;
this.total = response.total; this.total = Number(response.total);
this.loading = false; this.loading = false;
}); });
}, },

2
src/views/system/post/index.vue

@ -215,7 +215,7 @@ export default {
this.loading = true; this.loading = true;
listPost(this.queryParams).then(response => { listPost(this.queryParams).then(response => {
this.postList = response.rows; this.postList = response.rows;
this.total = response.total; this.total = Number(response.total);
this.loading = false; this.loading = false;
}); });
}, },

2
src/views/system/role/authUser.vue

@ -144,7 +144,7 @@ export default {
this.loading = true; this.loading = true;
allocatedUserList(this.queryParams).then(response => { allocatedUserList(this.queryParams).then(response => {
this.userList = response.rows; this.userList = response.rows;
this.total = response.total; this.total = Number(response.total);
this.loading = false; this.loading = false;
} }
); );

2
src/views/system/role/index.vue

@ -350,7 +350,7 @@ export default {
this.loading = true; this.loading = true;
listRole(this.addDateRange(this.queryParams, this.dateRange)).then(response => { listRole(this.addDateRange(this.queryParams, this.dateRange)).then(response => {
this.roleList = response.rows; this.roleList = response.rows;
this.total = response.total; this.total = Number(response.total);
this.loading = false; this.loading = false;
} }
); );

2
src/views/system/user/index.vue

@ -471,7 +471,7 @@ export default {
this.loading = true; this.loading = true;
listUser(this.addDateRange(this.queryParams, this.dateRange)).then(response => { listUser(this.addDateRange(this.queryParams, this.dateRange)).then(response => {
this.userList = response.rows; this.userList = response.rows;
this.total = response.total; this.total = Number(response.total);
this.loading = false; this.loading = false;
} }
); );

2
src/views/tool/gen/index.vue

@ -245,7 +245,7 @@ export default {
this.loading = true; this.loading = true;
listTable(this.addDateRange(this.queryParams, this.dateRange)).then(response => { listTable(this.addDateRange(this.queryParams, this.dateRange)).then(response => {
this.tableList = response.rows; this.tableList = response.rows;
this.total = response.total; this.total = Number(response.total);
this.loading = false; this.loading = false;
} }
); );

92
src/views/user/UserCertification/index.vue

@ -193,20 +193,13 @@
<el-table-column label="认证类型:基础basic 高级advanced" align="center" prop="authType" :formatter="authTypeFormat" /> <el-table-column label="认证类型:基础basic 高级advanced" align="center" prop="authType" :formatter="authTypeFormat" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width"> <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button <el-button v-if="scope.row.auditStatus=='apply'"
size="mini" size="mini"
type="text" type="text"
icon="el-icon-edit" icon="el-icon-edit"
@click="handleUpdate(scope.row)" @click="handleUpdate(scope.row)"
v-hasPermi="['user:UserCertification:edit']" v-hasPermi="['user:certification:edit']"
>修改</el-button> >审核</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['user:UserCertification:remove']"
>删除</el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
@ -222,65 +215,18 @@
<!-- 添加或修改实名认证信息对话框 --> <!-- 添加或修改实名认证信息对话框 -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body> <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px"> <el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="业务单号" prop="witNo"> <el-form-item label="审核状态">
<el-input v-model="form.witNo" placeholder="请输入业务单号" /> <el-radio-group v-model="form.auditStatus">
</el-form-item> <el-radio label="agree">审核通过</el-radio>
<el-form-item label="用户ID" prop="userId"> <el-radio label="reject" >驳回</el-radio>
<el-input v-model="form.userId" placeholder="请输入用户ID" /> </el-radio-group>
</el-form-item> </el-form-item>
<el-form-item label="姓名" prop="name">
<el-input v-model="form.name" placeholder="请输入姓名" />
</el-form-item>
<el-form-item label="身份证号" prop="certId">
<el-input v-model="form.certId" placeholder="请输入身份证号" />
</el-form-item>
<el-form-item label="手机号码" prop="phone">
<el-input v-model="form.phone" placeholder="请输入手机号码" />
</el-form-item>
<el-form-item label="护照正面照" prop="certFrontImg">
<el-input v-model="form.certFrontImg" placeholder="请输入护照正面照" />
</el-form-item>
<el-form-item label="护照反面照" prop="certReverseImg">
<el-input v-model="form.certReverseImg" placeholder="请输入护照反面照" />
</el-form-item>
<el-form-item label="手持护照" prop="certHandImg">
<el-input v-model="form.certHandImg" placeholder="请输入手持护照" />
</el-form-item>
<el-form-item label="手持idA拍照" prop="idaHandImg">
<el-input v-model="form.idaHandImg" placeholder="请输入手持idA拍照" />
</el-form-item>
<el-form-item label="公司执照" prop="corporateLicense">
<el-input v-model="form.corporateLicense" placeholder="请输入公司执照" />
</el-form-item>
<el-form-item label="审核状态 默认待审核 apply:待审核 agree:审核通过 reject:审核驳回">
<el-radio-group v-model="form.auditStatus">
<el-radio label="1">请选择字典生成</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="审核时间" prop="auditTime">
<el-date-picker clearable size="small"
v-model="form.auditTime"
type="date"
value-format="yyyy-MM-dd"
placeholder="选择审核时间">
</el-date-picker>
</el-form-item>
<el-form-item label="审核原因" prop="auditReason"> <el-form-item label="审核原因" prop="auditReason">
<el-input v-model="form.auditReason" placeholder="请输入审核原因" /> <el-input v-model="form.auditReason" placeholder="请输入审核原因" />
</el-form-item> </el-form-item>
<el-form-item label="添加时间" prop="addTime">
<el-date-picker clearable size="small"
v-model="form.addTime"
type="date"
value-format="yyyy-MM-dd"
placeholder="选择添加时间">
</el-date-picker>
</el-form-item>
<el-form-item label="认证类型:基础basic 高级advanced" prop="authType">
<el-select v-model="form.authType" placeholder="请选择认证类型:基础basic 高级advanced">
<el-option label="请选择字典生成" value="" />
</el-select>
</el-form-item>
</el-form> </el-form>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button> <el-button type="primary" @click="submitForm"> </el-button>
@ -365,7 +311,7 @@ export default {
this.loading = true; this.loading = true;
listUserCertification(this.queryParams).then(response => { listUserCertification(this.queryParams).then(response => {
this.UserCertificationList = response.rows; this.UserCertificationList = response.rows;
this.total = response.total; this.total = Number(response.total);
this.loading = false; this.loading = false;
}); });
}, },
@ -430,14 +376,14 @@ export default {
this.open = true; this.open = true;
this.title = "添加实名认证信息"; this.title = "添加实名认证信息";
}, },
/** 修改按钮操作 */ /** 审核按钮操作 */
handleUpdate(row) { handleUpdate(row) {
this.reset(); this.reset();
const id = row.id || this.ids const id = row.id || this.ids
getUserCertification(id).then(response => { getUserCertification(id).then(response => {
this.form = response.data; this.form = response.data;
this.open = true; this.open = true;
this.title = "修改实名认证信息"; this.title = "审核";
}); });
}, },
/** 提交按钮 */ /** 提交按钮 */

2
src/views/user/record/index.vue

@ -263,7 +263,7 @@ export default {
this.loading = true; this.loading = true;
listRecord(this.queryParams).then(response => { listRecord(this.queryParams).then(response => {
this.recordList = response.rows; this.recordList = response.rows;
this.total = response.total; this.total = Number(response.total);
this.loading = false; this.loading = false;
}); });
}, },

350
src/views/user/userCustomer/index.vue

@ -2,43 +2,29 @@
<div class="app-container"> <div class="app-container">
<el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px"> <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="姓名" prop="name"> <el-form-item label="姓名" prop="name">
<el-input <el-input v-model="queryParams.name" placeholder="请输入姓名" clearable size="small"
v-model="queryParams.name" @keyup.enter.native="handleQuery" />
placeholder="请输入姓名"
clearable
size="small"
@keyup.enter.native="handleQuery"
/>
</el-form-item> </el-form-item>
<el-form-item label="邮箱" prop="email"> <el-form-item label="邮箱" prop="email">
<el-input <el-input v-model="queryParams.email" placeholder="请输入邮箱" clearable size="small"
v-model="queryParams.email" @keyup.enter.native="handleQuery" />
placeholder="请输入邮箱"
clearable
size="small"
@keyup.enter.native="handleQuery"
/>
</el-form-item> </el-form-item>
<el-form-item label="状态" prop="status"> <el-form-item label="状态" prop="status">
<el-select v-model="queryParams.status" placeholder="请选择状态" clearable size="small"> <el-select v-model="queryParams.status" placeholder="请选择状态" clearable size="small">
<el-option <el-option v-for="dict in statusOptions" :key="dict.dictValue" :label="dict.dictLabel"
v-for="dict in statusOptions" :value="dict.dictValue" />
:key="dict.dictValue" </el-select>
:label="dict.dictLabel" </el-form-item>
:value="dict.dictValue"
/>
</el-select>
</el-form-item>
<!-- <el-form-item label="来源" prop="source"> <!-- <el-form-item label="来源" prop="source">
<el-select v-model="queryParams.source" placeholder="请选择来源" clearable size="small"> <el-select v-model="queryParams.source" placeholder="请选择来源" clearable size="small">
<el-option <el-option
v-for="dict in sourceOptions" v-for="dict in sourceOptions"
@ -48,26 +34,18 @@
/> />
</el-select> </el-select>
</el-form-item> --> </el-form-item> -->
<el-form-item label="会员角色" prop="userRole"> <el-form-item label="会员角色" prop="userRole">
<el-select v-model="queryParams.userRole" placeholder="请选择会员角色" clearable size="small"> <el-select v-model="queryParams.userRole" placeholder="请选择会员角色" clearable size="small">
<el-option <el-option v-for="dict in userRoleOptions" :key="dict.dictValue" :label="dict.dictLabel"
v-for="dict in userRoleOptions" :value="dict.dictValue" />
:key="dict.dictValue" </el-select>
:label="dict.dictLabel" </el-form-item>
:value="dict.dictValue"
/>
</el-select>
</el-form-item>
<el-form-item label="认证级别" prop="authLevel"> <el-form-item label="认证级别" prop="authLevel">
<el-select v-model="queryParams.authLevel" placeholder="请选择用户认证级别" clearable size="small"> <el-select v-model="queryParams.authLevel" placeholder="请选择用户认证级别" clearable size="small">
<el-option <el-option v-for="dict in authLevelOptions" :key="dict.dictValue" :label="dict.dictLabel"
v-for="dict in authLevelOptions" :value="dict.dictValue" />
:key="dict.dictValue" </el-select>
:label="dict.dictLabel" </el-form-item>
:value="dict.dictValue"
/>
</el-select>
</el-form-item>
<el-form-item> <el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button> <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button> <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
@ -75,7 +53,7 @@
</el-form> </el-form>
<el-row :gutter="10" class="mb8"> <el-row :gutter="10" class="mb8">
<el-col :span="1.5"> <!-- <el-col :span="1.5">
<el-button <el-button
type="primary" type="primary"
plain plain
@ -106,16 +84,10 @@
@click="handleDelete" @click="handleDelete"
v-hasPermi="['user:userCustomer:remove']" v-hasPermi="['user:userCustomer:remove']"
>删除</el-button> >删除</el-button>
</el-col> </el-col> -->
<el-col :span="1.5"> <el-col :span="1.5">
<el-button <el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport"
type="warning" v-hasPermi="['user:userCustomer:export']">导出</el-button>
plain
icon="el-icon-download"
size="mini"
@click="handleExport"
v-hasPermi="['user:userCustomer:export']"
>导出</el-button>
</el-col> </el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row> </el-row>
@ -124,136 +96,56 @@
<el-table-column type="selection" width="55" align="center" /> <el-table-column type="selection" width="55" align="center" />
<el-table-column label="用户id" align="center" prop="userId" /> <el-table-column label="用户id" align="center" prop="userId" />
<el-table-column label="姓名" align="center" prop="name" /> <el-table-column label="姓名" align="center" prop="name" />
<el-table-column label="头像路径" align="center" prop="headImgPath" > <el-table-column label="头像路径" align="center" prop="headImgPath">
<template width="90" slot-scope="scope"> <template width="90" slot-scope="scope">
<el-image <el-image style="width: 80px; height: 80px" :src="scope.row.headImgPath"
style="width: 80px; height: 80px" @click="previewImage(scope.row.headImgPath)" :preview-src-list="srcList"></el-image>
:src="scope.row.headImgPath"
@click="previewImage(scope.row.headImgPath)" <!-- <img style="width:80px;height:80px;border:none;" :src="scope.row.chainIconUrl"> -->
:preview-src-list="srcList" </template>
></el-image> </el-table-column>
<el-table-column label="邮箱" align="center" prop="email" />
<!-- <img style="width:80px;height:80px;border:none;" :src="scope.row.chainIconUrl"> --> <!-- <el-table-column label="父级编号" align="center" prop="parentId" /> -->
</template>
</el-table-column> <el-table-column label="创建时间" align="center" prop="addTime" width="180">
<el-table-column label="邮箱" align="center" prop="email" />
<el-table-column label="父级编号" align="center" prop="parentId" />
<el-table-column label="状态" align="center" prop="status" :formatter="statusFormat"/ >
<el-table-column label="创建时间" align="center" prop="addTime" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.addTime, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="会员角色" align="center" prop="userRole" :formatter="userRoleFormat"/>
<el-table-column label="用户认证级别" align="center" prop="authLevel" :formatter="authLevelFormat" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button <span>{{ parseTime(scope.row.addTime, '{y}-{m}-{d}') }}</span>
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['user:userCustomer:edit']"
>修改</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['user:userCustomer:remove']"
>删除</el-button>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="会员角色" align="center" prop="userRole" :formatter="userRoleFormat" />
<el-table-column label="用户认证级别" align="center" prop="authLevel" :formatter="authLevelFormat" />
<el-table-column label="状态" align="center" key="status">
<template slot-scope="scope">
<el-switch v-model="scope.row.status" active-value="normal" inactive-value="frozen"
@change="handleStatusChange(scope.row)"></el-switch>
</template>
</el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button v-if="scope.row.authLevel == '1' || scope.row.authLevel == '2'" size="mini" type="text"
@click="handleUpdate(scope.row)" v-hasPermi="['user:userCustomer:edit']">修改认证级别
</el-button>
</template>
</el-table-column> -->
</el-table> </el-table>
<pagination <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize"
v-show="total>0" @pagination="getList" />
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
<!-- 添加或修改个人用户对话框 --> <!-- 添加或修改个人用户对话框 -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body> <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px"> <el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="姓名" prop="name">
<el-input v-model="form.name" placeholder="请输入姓名" /> <el-form-item label="认证级别">
</el-form-item> <el-radio-group v-model="form.authLevel">
<el-form-item label="昵称" prop="nickname"> <el-radio :label="2">初级认证</el-radio>
<el-input v-model="form.nickname" placeholder="请输入昵称" /> <el-radio :label="3">高级认证</el-radio>
</el-form-item>
<el-form-item label="性别 1:男, 2:女 保密 -1" prop="sex">
<el-select v-model="form.sex" placeholder="请选择性别 1:男, 2:女 保密 -1">
<el-option label="请选择字典生成" value="" />
</el-select>
</el-form-item>
<el-form-item label="出生日期" prop="birthdate">
<el-date-picker clearable size="small"
v-model="form.birthdate"
type="date"
value-format="yyyy-MM-dd"
placeholder="选择出生日期">
</el-date-picker>
</el-form-item>
<el-form-item label="头像路径" prop="headImgPath">
<el-input v-model="form.headImgPath" placeholder="请输入头像路径" />
</el-form-item>
<el-form-item label="邮箱" prop="email">
<el-input v-model="form.email" placeholder="请输入邮箱" />
</el-form-item>
<el-form-item label="手机" prop="mobile">
<el-input v-model="form.mobile" placeholder="请输入手机" />
</el-form-item>
<el-form-item label="手机号" prop="telephone">
<el-input v-model="form.telephone" placeholder="请输入手机号" />
</el-form-item>
<el-form-item label="父级手机号码" prop="parent">
<el-input v-model="form.parent" placeholder="请输入父级手机号码" />
</el-form-item>
<el-form-item label="父级编号" prop="parentId">
<el-input v-model="form.parentId" placeholder="请输入父级编号" />
</el-form-item>
<el-form-item label="状态 normal:正常frozen:冻结">
<el-radio-group v-model="form.status">
<el-radio label="1">请选择字典生成</el-radio>
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
<el-form-item label="创建时间" prop="addTime">
<el-date-picker clearable size="small"
v-model="form.addTime"
type="date"
value-format="yyyy-MM-dd"
placeholder="选择创建时间">
</el-date-picker>
</el-form-item>
<el-form-item label="邀请码" prop="inviteCode">
<el-input v-model="form.inviteCode" placeholder="请输入邀请码" />
</el-form-item>
<el-form-item label="级别" prop="userLevel">
<el-input v-model="form.userLevel" placeholder="请输入级别" />
</el-form-item>
<el-form-item label="会员级别" prop="membership">
<el-input v-model="form.membership" placeholder="请输入会员级别" />
</el-form-item>
<el-form-item label="上级树形" prop="treeLevel">
<el-input v-model="form.treeLevel" type="textarea" placeholder="请输入内容" />
</el-form-item>
<el-form-item label="用户密码" prop="password">
<el-input v-model="form.password" placeholder="请输入用户密码" />
</el-form-item>
<el-form-item label="支付密码" prop="payPassword">
<el-input v-model="form.payPassword" placeholder="请输入支付密码" />
</el-form-item>
<el-form-item label="来源:real:真实注册 system:系统注册'," prop="source">
<el-input v-model="form.source" placeholder="请输入来源:real:真实注册 system:系统注册'," />
</el-form-item>
<el-form-item label="会员角色 用户user 商家store" prop="userRole">
<el-input v-model="form.userRole" placeholder="请输入会员角色 用户user 商家store" />
</el-form-item>
<el-form-item label="用户认证级别 1未认证 2.初级认证成功 3.高级认证成功" prop="authLevel">
<el-input v-model="form.authLevel" placeholder="请输入用户认证级别 1未认证 2.初级认证成功 3.高级认证成功" />
</el-form-item>
</el-form> </el-form>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button> <el-button type="primary" @click="submitForm"> </el-button>
@ -264,7 +156,7 @@
</template> </template>
<script> <script>
import { listUserCustomer, getUserCustomer, delUserCustomer, addUserCustomer, updateUserCustomer, exportUserCustomer } from "@/api/user/userCustomer"; import { listUserCustomer, getUserCustomer, delUserCustomer, addUserCustomer, updateUserCustomer, exportUserCustomer, changeUserStatus } from "@/api/user/userCustomer";
export default { export default {
name: "UserCustomer", name: "UserCustomer",
@ -291,11 +183,11 @@ export default {
statusOptions: [], statusOptions: [],
// //
sourceOptions: [], sourceOptions: [],
userRoleOptions: [], userRoleOptions: [],
authLevelOptions: [], authLevelOptions: [],
// //
title: "", title: "",
// //
@ -345,18 +237,18 @@ export default {
created() { created() {
this.getList(); this.getList();
this.getDicts("user_status").then(response => { this.getDicts("user_status").then(response => {
this.statusOptions = response.data; this.statusOptions = response.data;
}); });
this.getDicts("source").then(response => { this.getDicts("source").then(response => {
this.sourceOptions = response.data; this.sourceOptions = response.data;
}); });
this.getDicts("user_role").then(response => { this.getDicts("user_role").then(response => {
this.userRoleOptions = response.data; this.userRoleOptions = response.data;
}); });
this.getDicts("auth_level").then(response => { this.getDicts("auth_level").then(response => {
this.authLevelOptions = response.data; this.authLevelOptions = response.data;
}); });
}, },
methods: { methods: {
/** 查询个人用户列表 */ /** 查询个人用户列表 */
@ -364,29 +256,42 @@ export default {
this.loading = true; this.loading = true;
listUserCustomer(this.queryParams).then(response => { listUserCustomer(this.queryParams).then(response => {
this.userCustomerList = response.rows; this.userCustomerList = response.rows;
this.total = response.total; this.total = Number(response.total);
this.loading = false; this.loading = false;
}); });
}, },
// //
statusFormat(row, column) { statusFormat(row, column) {
return this.selectDictLabel(this.statusOptions, row.status); return this.selectDictLabel(this.statusOptions, row.status);
}, },
// //
sourceFormat(row, column) { sourceFormat(row, column) {
return this.selectDictLabel(this.sourceOptions, row.source); return this.selectDictLabel(this.sourceOptions, row.source);
}, },
// //
userRoleFormat(row, column) { userRoleFormat(row, column) {
return this.selectDictLabel(this.userRoleOptions, row.userRole); return this.selectDictLabel(this.userRoleOptions, row.userRole);
}, },
// //
authLevelFormat(row, column) { authLevelFormat(row, column) {
return this.selectDictLabel(this.authLevelOptions, row.authLevel); return this.selectDictLabel(this.authLevelOptions, row.authLevel);
}, },
//
handleStatusChange(row) {
let text = row.status === "0" ? "启用" : "停用";
this.$modal.confirm('确认要"' + text + '""' + row.name + '"用户吗?').then(function () {
return changeUserStatus(row.userId, row.status);
}).then(() => {
this.$modal.msgSuccess(text + "成功");
}).catch(function () {
row.status = row.status === "0" ? "1" : "0";
});
},
// //
cancel() { cancel() {
this.open = false; this.open = false;
@ -434,7 +339,7 @@ export default {
// //
handleSelectionChange(selection) { handleSelectionChange(selection) {
this.ids = selection.map(item => item.userId) this.ids = selection.map(item => item.userId)
this.single = selection.length!==1 this.single = selection.length !== 1
this.multiple = !selection.length this.multiple = !selection.length
}, },
/** 新增按钮操作 */ /** 新增按钮操作 */
@ -450,7 +355,7 @@ export default {
getUserCustomer(userId).then(response => { getUserCustomer(userId).then(response => {
this.form = response.data; this.form = response.data;
this.open = true; this.open = true;
this.title = "修改个人用户"; this.title = "升级用户认证";
}); });
}, },
/** 提交按钮 */ /** 提交按钮 */
@ -470,6 +375,7 @@ export default {
this.getList(); this.getList();
}); });
} }
console.log(this.open)
} }
}); });
}, },
@ -477,28 +383,28 @@ export default {
handleDelete(row) { handleDelete(row) {
const userIds = row.userId || this.ids; const userIds = row.userId || this.ids;
this.$confirm('是否确认删除个人用户编号为"' + userIds + '"的数据项?', "警告", { this.$confirm('是否确认删除个人用户编号为"' + userIds + '"的数据项?', "警告", {
confirmButtonText: "确定", confirmButtonText: "确定",
cancelButtonText: "取消", cancelButtonText: "取消",
type: "warning" type: "warning"
}).then(function() { }).then(function () {
return delUserCustomer(userIds); return delUserCustomer(userIds);
}).then(() => { }).then(() => {
this.getList(); this.getList();
this.msgSuccess("删除成功"); this.msgSuccess("删除成功");
}) })
}, },
/** 导出按钮操作 */ /** 导出按钮操作 */
handleExport() { handleExport() {
const queryParams = this.queryParams; const queryParams = this.queryParams;
this.$confirm('是否确认导出所有个人用户数据项?', "警告", { this.$confirm('是否确认导出所有个人用户数据项?', "警告", {
confirmButtonText: "确定", confirmButtonText: "确定",
cancelButtonText: "取消", cancelButtonText: "取消",
type: "warning" type: "warning"
}).then(function() { }).then(function () {
return exportUserCustomer(queryParams); return exportUserCustomer(queryParams);
}).then(response => { }).then(response => {
this.download(response.msg); this.download(response.msg);
}) })
} }
} }
}; };

77
src/views/user/wallet/index.vue

@ -20,15 +20,6 @@
/> />
</el-form-item> </el-form-item>
<el-form-item label="是否启用" prop="isEnable">
<el-input
v-model="queryParams.isEnable"
placeholder="请输入是否启用"
clearable
size="small"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item> <el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button> <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button> <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
@ -98,14 +89,14 @@
icon="el-icon-edit" icon="el-icon-edit"
@click="handleUpdate(scope.row)" @click="handleUpdate(scope.row)"
v-hasPermi="['user:wallet:edit']" v-hasPermi="['user:wallet:edit']"
>修改</el-button> >变改余额</el-button>
<el-button <!-- <el-button
size="mini" size="mini"
type="text" type="text"
icon="el-icon-delete" icon="el-icon-delete"
@click="handleDelete(scope.row)" @click="handleDelete(scope.row)"
v-hasPermi="['user:wallet:remove']" v-hasPermi="['user:wallet:remove']"
>删除</el-button> >删除</el-button> -->
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
@ -121,29 +112,21 @@
<!-- 添加或修改otc钱包信息对话框 --> <!-- 添加或修改otc钱包信息对话框 -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body> <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px"> <el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="币种" prop="coinId">
<el-input v-model="form.coinId" placeholder="请输入币种" /> <el-form-item label="类型" prop="alterationType">
</el-form-item> <el-select v-model="form.alterationType" placeholder="请选择类型">
<el-form-item label="链名称" prop="chainName"> <el-option label="增加" value="add"></el-option>
<el-input v-model="form.chainName" placeholder="请输入链名称" /> <el-option label="减少" value="alterationType"></el-option>
</el-form-item> </el-select>
<el-form-item label="可用余额" prop="balance"> </el-form-item>
<el-input v-model="form.balance" placeholder="请输入可用余额" /> <el-form-item label="修改金额" prop="updateAmount">
</el-form-item> <el-input v-model="form.updateAmount" placeholder="请输入修改金额" />
<el-form-item label="冻结余额" prop="frozenBalance">
<el-input v-model="form.frozenBalance" placeholder="请输入冻结余额" />
</el-form-item>
<el-form-item label="是否启用" prop="isEnable">
<el-input v-model="form.isEnable" placeholder="请输入是否启用" />
</el-form-item> </el-form-item>
<el-form-item label="添加时间" prop="createTime"> <el-form-item label="备注" prop="remark">
<el-date-picker clearable size="small" <el-input v-model="form.remark" placeholder="请输入备注" />
v-model="form.createTime"
type="date"
value-format="yyyy-MM-dd"
placeholder="选择添加时间">
</el-date-picker>
</el-form-item> </el-form-item>
</el-form> </el-form>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button> <el-button type="primary" @click="submitForm"> </el-button>
@ -192,21 +175,7 @@ export default {
}, },
// //
form: {}, form: {},
//
rules: {
coinId: [
{ required: true, message: "币种不能为空", trigger: "blur" }
],
balance: [
{ required: true, message: "可用余额不能为空", trigger: "blur" }
],
frozenBalance: [
{ required: true, message: "冻结余额不能为空", trigger: "blur" }
],
isEnable: [
{ required: true, message: "是否启用不能为空", trigger: "blur" }
],
}
}; };
}, },
created() { created() {
@ -218,7 +187,7 @@ export default {
this.loading = true; this.loading = true;
listWallet(this.queryParams).then(response => { listWallet(this.queryParams).then(response => {
this.walletList = response.rows; this.walletList = response.rows;
this.total = response.total; this.total = Number(response.total);
this.loading = false; this.loading = false;
}); });
}, },
@ -271,26 +240,18 @@ export default {
getWallet(id).then(response => { getWallet(id).then(response => {
this.form = response.data; this.form = response.data;
this.open = true; this.open = true;
this.title = "修改otc钱包信息"; this.title = "变改余额";
}); });
}, },
/** 提交按钮 */ /** 提交按钮 */
submitForm() { submitForm() {
this.$refs["form"].validate(valid => { this.$refs["form"].validate(valid => {
if (valid) { if (valid) {
if (this.form.id != null) {
updateWallet(this.form).then(response => { updateWallet(this.form).then(response => {
this.msgSuccess("修改成功"); this.msgSuccess("修改成功");
this.open = false; this.open = false;
this.getList(); this.getList();
}); });
} else {
addWallet(this.form).then(response => {
this.msgSuccess("新增成功");
this.open = false;
this.getList();
});
}
} }
}); });
}, },

Loading…
Cancel
Save