lhl 2 gadi atpakaļ
vecāks
revīzija
ebcad233ab

+ 8 - 0
src/request/agent.js

@@ -154,6 +154,14 @@ export function auth_tlement(data) {
   return request({
   	url: '/api/agent/auth_tlement',
   	method: 'post',
+  	data
+  });
+}
+
+export function user(data) {
+  return request({
+  	url: '/api/agent/user',
+  	method: 'get',
   	params:data
   });
 }

+ 9 - 0
src/router.js

@@ -196,6 +196,15 @@ let router = new Router({
 						keepAlive: true
 					}
 				},
+				{
+					path: 'userAdmin',
+					name: 'userAdmin',
+					component: () => import('./views/user/userAdmin.vue'),
+					meta: {
+						title: '用户管理',
+						keepAlive: true
+					}
+				},
         {
         	path: 'jssq',
         	name: 'jssq',

+ 4 - 0
src/views/User.vue

@@ -64,6 +64,10 @@
           tit: '注册码',
           path: '/user/regList'
         }, );
+		this.navList.splice(1, 0, {
+		  tit: '用户管理',
+		  path: '/user/userAdmin'
+		}, );
       } else {
         this.navList.splice(1, 0, {
           tit: 'Token',

+ 6 - 1
src/views/user/setUserinfo.vue

@@ -253,6 +253,10 @@
 				<el-form-item label="转账金额" :label-width="formLabelWidth">
 					<el-input v-model="zzForm.transfer_num" type="number"></el-input>
 				</el-form-item>
+				<el-form-item label="交易密码" :label-width="formLabelWidth" v-if="userInfo.transaction">
+					<el-input v-model="zzForm.transaction" type="password"></el-input>
+				</el-form-item>
+				<!-- //transaction -->
 				<el-form-item label="动态口令" :label-width="formLabelWidth" v-if="userInfo.is_binding == 1">
 					<el-input v-model="zzForm.code" type="number"></el-input>
 				</el-form-item>
@@ -382,7 +386,8 @@
 				zzForm: {
 					to_user_id: '',
 					transfer_num: '',
-					code: ''
+					code: '',
+					transaction: '',
 				},
 				jyVisible: false,
 				jyForm: {

+ 5 - 1
src/views/user/transferList.vue

@@ -49,6 +49,9 @@
 				<el-form-item label="转账金额" :label-width="formLabelWidth">
 					<el-input v-model="form.transfer_num" type="number"></el-input>
 				</el-form-item>
+				<el-form-item label="交易密码" :label-width="formLabelWidth" v-if="userInfo.transaction">
+					<el-input v-model="form.transaction" type="password"></el-input>
+				</el-form-item>
 				<el-form-item label="动态口令" :label-width="formLabelWidth" v-if="userInfo.is_binding == 1">
 					<el-input v-model="form.code" type="number"></el-input>
 				</el-form-item>
@@ -94,7 +97,8 @@
 				form: {
 					to_user_id: '',
 					transfer_num: '',
-					code: ''
+					code: '',
+					transaction: '',
 				},
 				dialogTableVisible: false,
 				queryInfo: {

+ 239 - 0
src/views/user/userAdmin.vue

@@ -0,0 +1,239 @@
+<template>
+	<div class="order-wrapper">
+		<!-- <breadcrumb :item-name="['订单管理', '订单列表']"></breadcrumb> -->
+		<el-card>
+			<!-- 搜索区域 -->
+			<el-col>
+				<div class="flex" style="justify-content: space-between;padding-bottom: 20px;">
+					<!-- <el-button type="primary" @click="openBuy">转账</el-button> -->
+					<el-button type="primary" icon="el-icon-refresh-right" @click="reload">刷新</el-button>
+				</div>
+			</el-col>
+			<!-- 订单表格区域 -->
+			<el-table :data="list" border style="width: 100%" max-height="620">
+				<el-table-column prop="id" label="用户ID" width="180">
+				</el-table-column>
+				<el-table-column prop="nickname" label="用户昵称" ></el-table-column>
+				<!-- order_count -->
+				<el-table-column prop="order_count" label="下单数量" ></el-table-column>
+				<el-table-column prop="order_sum" label="下单金额" ></el-table-column>
+				<!-- <el-table-column prop="status" label="创建时间">
+					<template slot-scope="scope">
+						{{showTime(scope.row.createtime)}}
+					</template>
+				</el-table-column>
+				<el-table-column prop="balance" label="转账后用户余额">
+					<template slot-scope="scope">
+						{{userInfo.id == scope.row.user_id ? scope.row.balance: ''}}
+					</template>
+				</el-table-column> -->
+			</el-table>
+			<div style="height: 20px;"></div>
+			<!-- 分页区域 -->
+			<el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange"
+				:current-page="queryInfo.page" :page-sizes="[10, 20, 50, 100]" :page-size="queryInfo.pagesize"
+				layout="total, prev, pager, next, jumper" :total="total">
+			</el-pagination>
+		</el-card>
+		<!-- 修改地址对话框 -->
+		<el-dialog title="转账" :visible.sync="dialogTableVisible">
+			<el-form :model="form">
+				<el-form-item label="收款用户ID" :label-width="formLabelWidth">
+					<el-input v-model="form.to_user_id" type="number"></el-input>
+				</el-form-item>
+				<el-form-item label="转账金额" :label-width="formLabelWidth">
+					<el-input v-model="form.transfer_num" type="number"></el-input>
+				</el-form-item>
+				<el-form-item label="交易密码" :label-width="formLabelWidth" v-if="userInfo.transaction">
+					<el-input v-model="form.transaction" type="password"></el-input>
+				</el-form-item>
+				<el-form-item label="动态口令" :label-width="formLabelWidth" v-if="userInfo.is_binding == 1">
+					<el-input v-model="form.code" type="number"></el-input>
+				</el-form-item>
+			</el-form>
+			<div class="t-r">
+				当前余额: {{userInfo.money*1}}元
+			</div>
+			<div slot="footer" class="dialog-footer">
+				<el-button @click="dialogTableVisible = false">取 消</el-button>
+				<el-button type="primary" @click="goBuy">确 定</el-button>
+			</div>
+		</el-dialog>
+	</div>
+</template>
+
+<script>
+	import {
+			mapState,
+			mapMutations
+		} from 'vuex';
+	import {
+		createCode,
+		getCodeList,
+		getUserList,
+		user
+	} from '@/request/agent.js'
+	import {
+		getRechangeList,
+		rechange,
+		getTransferList,
+		transfer,
+		getUserInfo
+	} from '@/request/user.js'
+	import {
+		showTime
+	} from '@/assets/js/tools.js'
+
+	export default {
+		name: 'Order',
+		data() {
+			return {
+				loading: false,
+				formLabelWidth: '100px',
+				form: {
+					to_user_id: '',
+					transfer_num: '',
+					code: '',
+					transaction: '',
+				},
+				dialogTableVisible: false,
+				queryInfo: {
+					type: -1, //-1->全部 0->银行卡 1->微信 2->支付宝 
+					page: 1,
+					limit: 10
+				},
+				list: [],
+				total: 0,
+				dataloading: false,
+				headers: {},
+			}
+		},
+		computed: {
+			...mapState(['userInfo'])
+		},
+		created() {
+			this.getList()
+			this.headers['token'] = window.sessionStorage.getItem('token')
+		},
+		methods: {
+			...mapMutations(['setUserInfo']),
+			showTime,
+			reload() {
+				this.getList('reload')
+				this.getUserInfo()
+			},
+			getUserInfo() {
+				getUserInfo().then(res => {
+					this.setUserInfo(res.data)
+				})
+			},
+			handleAvatarSuccess(res, file) {
+				this.form.image = res.data.fullurl;
+				console.log(this.form.image, 'this.form.avatar');
+			},
+			beforeAvatarUpload(file) {
+				// const isJPG = file.type === 'image/jpeg/png';
+				// const isLt2M = file.size / 1024 / 1024 < 2;
+
+				// if (!isJPG) {
+				// 	this.$message.error('上传头像图片只能是 JPG 格式!');
+				// }
+				// if (!isLt2M) {
+				// 	this.$message.error('上传头像图片大小不能超过 2MB!');
+				// }
+				// return isJPG && isLt2M;
+				return true
+			},
+			handleAvatarError() {
+
+			},
+			openBuy() {
+				this.dialogTableVisible = true
+			},
+			goBuy() {
+				let that = this
+				if (that.loading) {
+					return
+				}
+				if (!that.form.to_user_id) {
+					return that.$msg.error('请输入收款人ID')
+				}
+				if (!that.form.transfer_num) {
+					return that.$msg.error('请输入转账金额')
+				}
+				if(that.userInfo.money < that.form.transfer_num*1) {
+					return that.$msg.error('您的余额不足本次转账')
+				}
+				that.loading = true
+				transfer(that.form).then(res => {
+					console.log(res);
+					that.$msg.success('转账成功')
+					that.dialogTableVisible = false
+					that.loading = false
+					that.getList('reload')
+					that.getUserInfo()
+				}).catch(err => {
+					that.loading = false
+				})
+			},
+			getList(type) {
+				let that = this
+				if (type == 'reload') {
+					that.dataloading = false
+					that.queryInfo.page = 1
+					that.dataloading = false
+				}
+				if (that.dataloading) {
+					return
+				}
+				
+				that.dataloading = true
+				user(that.queryInfo).then(res => {
+					that.total = res.data.count
+					that.list = res.data.data
+					that.dataloading = false
+				}).catch(err => {
+					that.dataloading = false
+				})
+			},
+			handleSizeChange(newPageSize) {
+				this.queryInfo.limit = newPageSize
+				this.getList()
+			},
+			handleCurrentChange(newPageNum) {
+				this.queryInfo.page = newPageNum
+				this.getList()
+			},
+		},
+
+	}
+</script>
+
+<style scoped lang="scss">
+	.avatar-uploader .el-upload {
+		border: 1px dashed #d9d9d9;
+		border-radius: 6px;
+		cursor: pointer;
+		position: relative;
+		overflow: hidden;
+	}
+
+	.avatar-uploader .el-upload:hover {
+		border-color: #409EFF;
+	}
+
+	.avatar-uploader-icon {
+		font-size: 28px;
+		color: #8c939d;
+		width: 178px;
+		height: 178px;
+		line-height: 178px;
+		text-align: center;
+		border: 1px dashed #d9d9d9;
+		border-radius: 10px;
+	}
+	.t-r {
+		text-align: right;
+		padding-top: 10px;
+	}
+</style>