lhl 2 年之前
父節點
當前提交
20faaf022d
共有 9 個文件被更改,包括 764 次插入40 次删除
  1. 137 3
      src/assets/js/admun.js
  2. 27 2
      src/request/agent.js
  3. 5 5
      src/router.js
  4. 1 1
      src/store.js
  5. 10 3
      src/views/Home.vue
  6. 150 22
      src/views/Login.vue
  7. 18 2
      src/views/home/dlOrderList.vue
  8. 1 1
      src/views/home/rechangeList.vue
  9. 415 1
      src/views/home/statistics.vue

+ 137 - 3
src/assets/js/admun.js

@@ -1,4 +1,20 @@
-let munList = [{
+let dlMunList = [
+	{id: 33,
+		authName: '首页',
+		icon: 'el-icon-s-order',
+		children: [{
+				id: 2,
+				authName: '统计',
+				path: 'home/statistics'
+			},
+			// {
+			// 	id: 3,
+			// 	authName: '注册码购买',
+			// 	path: 'home/buyReg'
+			// }
+		]
+		
+	},{
 		id: 1,
 		authName: '注册码管理',
 		icon: 'el-icon-s-order',
@@ -31,7 +47,7 @@ let munList = [{
 		children: [{
 			id: 7,
 			authName: '订单',
-			path: 'home/orderList'
+			path: 'home/dlOrderList'
 		}, ]
 	},
 	{
@@ -110,7 +126,125 @@ let munList = [{
 		}]
 	},
 ]
-
+let munList = [
+	{
+		id: 20,
+		authName: '首页',
+		children: [{
+			id: 21,
+			authName: '统计',
+			path: 'home/statistics'
+		}, ]
+	}, 
+	{
+		id: 1,
+		authName: 'Token管理',
+		children: [{
+				id: 2,
+				authName: 'Token列表',
+				path: 'home/regList'
+			},
+			// {
+			// 	id: 3,
+			// 	authName: '注册码购买',
+			// 	path: 'home/buyReg'
+			// }
+		]
+	},
+	// {
+	// 	id: 4,
+	// 	authName: '用户管理',
+	// 	children: [{
+	// 		id: 5,
+	// 		authName: '用户列表',
+	// 		path: 'home/abonementList'
+	// 	}, ]
+	// },
+	{
+		id: 6,
+		authName: '订单管理',
+		children: [{
+			id: 7,
+			authName: '添加订单',
+			path: 'home/addOrder'
+		},{
+			id: 32,
+			authName: '订单列表',
+			path: 'home/orderList'
+		} ]
+	},
+	// {
+	// 	id: 8,
+	// 	authName: '地址管理',
+	// 	children: [{
+	// 		authName: '地址列表',
+	// 		path: 'home/addressList'
+	// 	}, ]
+	// },
+	{
+		id: 9,
+		authName: '充值管理',
+		children: [{
+			authName: '充值记录',
+			path: 'home/rechangeList'
+		},
+		// {
+		// 	authName: '充值',
+		// 	path: 'home/rechange'
+		// },
+		]
+	},
+	{
+		id: 10,
+		authName: '提现管理',
+		children: [{
+			id: 11,
+			authName: '提现记录',
+			path: 'home/takingList'
+		}, 
+		// {
+		// 	id: 12,
+		// 	authName: '提现',
+		// 	path: 'home/taking'
+		// },
+		]
+	},
+	{
+		id: 13,
+		authName: '转账管理',
+		children: [{
+			id: 14,
+			authName: '转账记录',
+			path: 'home/transferList'
+		},
+		// {
+		// 	id: 15,
+		// 	authName: '转账',
+		// 	path: 'home/transfer'
+		// },
+		]
+	},
+	{
+		id: 16,
+		authName: '个人中心',
+		children: [{
+			id: 14,
+			authName: '交易密码',
+			path: 'home/setPas'
+		},
+		{
+			id: 18,
+			authName: '修改信息',
+			path: 'home/setUserinfo'
+		},
+		{
+			id:23,
+			authName: '资金流水',
+			path: 'home/money'
+		}]
+	},
+]
 module.exports = {
+	dlMunList,
 	munList
 }

+ 27 - 2
src/request/agent.js

@@ -5,7 +5,17 @@ export function getIndex(data) {
 	return request({
 		url: '/api/index/index',
 		method: 'get',
-		data
+		params:data
+	});
+}
+
+//获取快递信息、
+export function getExpressDelivery(data) {
+	//index/getExpressDelivery
+	return request({
+		url: '/api/index/getExpressDelivery',
+		method: 'get',
+		params:data
 	});
 }
 
@@ -14,7 +24,7 @@ export function getRegList(data) {
 	return request({
 		url: '/api/index',
 		method: 'get',
-		data
+		params:data
 	});
 }
 
@@ -84,5 +94,20 @@ export function getOrderList(data) {
 	});
 }
 
+export function dataCount(data) {
+	return request({
+		url: '/api/agent/data_count',
+		method: 'get',
+		params: data
+	})
+}
 
 
+//注册
+export function reg(data) {
+	return request({
+		url: '/api/user/register',
+		method: 'post',
+		data
+	});
+}

+ 5 - 5
src/router.js

@@ -21,7 +21,7 @@ let router = new Router({
 	base: process.env.BASE_URL,
 	routes: [{
 			path: '/',
-			redirect: '/login'
+			redirect: '/home'
 		},
 		{
 			path: '/login',
@@ -35,7 +35,7 @@ let router = new Router({
 			path: '/home',
 			name: 'home',
 			component: () => import('./views/Home.vue'),
-			redirect: '/home/regList',
+			redirect: '/home/statistics',
 			meta: {
 				title: ''
 			},
@@ -64,9 +64,9 @@ let router = new Router({
 					}
 				},
 				{
-					path: 'orderList',
-					name: 'orderList',
-					component: () => import('./views/home/orderList.vue'),
+					path: 'dlOrderList',
+					name: 'dlOrderList',
+					component: () => import('./views/home/dlOrderList.vue'),
 					meta: {
 						title: '订单'
 					}

+ 1 - 1
src/store.js

@@ -5,7 +5,7 @@ Vue.use(Vuex)
 
 export default new Vuex.Store({
   state: {
-	www: "http://fh.frp.liuniu946.com",
+	www: window.location.protocol + '//' + window.location.host,
 	hasLogin:false,
 	userInfo: {},
 	baseInfo: {}

+ 10 - 3
src/views/Home.vue

@@ -79,6 +79,7 @@
 		mapMutations
 	} from 'vuex';
 	import {
+		dlMunList,
 		munList
 	} from '@/assets/js/admun.js'
 	export default {
@@ -86,7 +87,7 @@
 		data() {
 
 			return {
-				menulist: munList,
+				menulist: dlMunList,
 				menulogonj: {
 					1: 'el-icon-s-order',
 					4: 'el-icon-s-custom',
@@ -107,7 +108,9 @@
 		},
 		methods: {
 			kf() {
-				window.open(this.baseInfo.service_kf)
+				if(this.baseInfo.service_kf) {
+					window.open(this.baseInfo.service_kf)
+				}
 			},
 			logout() {
 				window.sessionStorage.clear()
@@ -124,7 +127,11 @@
 				this.isopen = !this.isopen
 			},
 		},
-		created() {},
+		created() {
+			if(!this.userInfo.agent_id) {
+				this.menulist = munList
+			}
+		},
 	}
 </script>
 

+ 150 - 22
src/views/Login.vue

@@ -5,9 +5,12 @@
 
 			<!-- 表单容器 -->
 			<div class="login-form-box">
-				<el-form label-width="0px" ref="loginFormRef" class="login-form" :model="loginForm">
+				<div class="flex nav">
+					<div v-for="(item,index) in navList" :class="{'action': index == currentIndex}" class="nav-item hand" @click="currentIndex = index">{{item.tit}}</div>
+				</div>
+				<el-form label-width="0px" ref="loginFormRef" class="login-form" :model="loginForm" v-if="currentIndex == 0">
 					<!--用户名-->
-					<el-form-item prop="username">
+					<el-form-item prop="account">
 						<el-input placeholder="请输入用户名" prefix-icon="el-icon-s-custom"
 							v-model="loginForm.username"></el-input>
 					</el-form-item>
@@ -18,7 +21,38 @@
 					</el-form-item>
 					<!--按钮-->
 					<el-form-item class="btns">
-						<el-button type="primary" @click="logins">登录</el-button>
+						<span class="go-new hand" @click="currentIndex = 1">没有账号?立即注册</span>
+						<el-button type="primary" @click="login">登录</el-button>
+						<!-- <el-button type="info" @click="resetLoginForm">重置</el-button> -->
+					</el-form-item>
+				</el-form>
+				<el-form label-width="0px" ref="loginFormReg" class="login-form" :model="loginForm" v-if="currentIndex == 1">
+					<!--用户名-->
+					<el-form-item prop="account">
+						<el-input placeholder="请输入用户名" prefix-icon="el-icon-s-custom"
+							v-model="loginForm.username" type="text"></el-input>
+					</el-form-item>
+					<el-form-item prop="email">
+						<el-input placeholder="请输入邮箱" prefix-icon="el-icon-message"
+							v-model="loginForm.email" type="email"></el-input>
+					</el-form-item>
+					<!-- 邀请码 -->
+					<el-form-item prop="email">
+						<el-input placeholder="请输入邀请码" prefix-icon="el-icon-user"
+							v-model="loginForm.code" type="text"></el-input>
+					</el-form-item>
+					<!--密码-->
+					<el-form-item prop="password">
+						<el-input placeholder="请输入密码" prefix-icon='el-icon-s-goods' v-model="loginForm.password"
+							type="password"></el-input>
+					</el-form-item>
+					<el-form-item prop="repassword">
+						<el-input placeholder="请重新输入密码" prefix-icon='el-icon-s-goods' v-model="loginForm.repassword"
+							type="password"></el-input>
+					</el-form-item>
+					<!--按钮-->
+					<el-form-item class="btns">
+						<el-button type="primary" @click="reg">注册</el-button>
 						<!-- <el-button type="info" @click="resetLoginForm">重置</el-button> -->
 					</el-form-item>
 				</el-form>
@@ -31,63 +65,113 @@
 		mapState,
 		mapMutations
 	} from 'vuex';
+	import { validateEmail} from '@/assets/js/tools.js'
 	import {
-		login
+		login,
+		reg
 	} from '@/request/agent.js'
-	import {
-		splist
-	} from '@/request/api.js'
 	export default {
 		name: "Login",
 		data() {
 			return {
+				currentIndex: 0,
+				navList: [{
+					tit: '登录',
+					state: 0,
+				}],
 				loginForm: {
-					username: 'admin',
-					password: '123456'
+					email: '',
+					code: '',
+					username: '',
+					repassword: '',
+					password: ''
 				}
 			}
 		},
 		methods: {
-			...mapMutations(['setUserInfo','login']),
+			...mapMutations(['setUserInfo']),
 			resetLoginForm() {
 				this.$refs.loginFormRef.resetFields()
 			},
-			logins() {
+			reg() {
 				let that = this
-				if (that.username == '') {
+				if (that.loginForm.username == '') {
 					return that.$msg.error('请输入用户名')
 				}
-				if (that.password == '') {
+				if(that.loginForm.email == '') {
+					return that.$msg.error('请输入邮箱')
+				}
+				if(!validateEmail(that.loginForm.email)) {
+					return that.$msg.error('请输入正确的邮箱')
+				}
+				if (that.loginForm.code == '') {
+					return that.$msg.error('请输入邀请码')
+				}
+				if (that.loginForm.password == '') {
+					return that.$msg.error('请输入密码')
+				}
+				if (that.loginForm.repassword == '') {
+					return that.$msg.error('请再次输入密码')
+				}
+				if(that.loginForm.password != that.loginForm.repassword) {
+					return  that.$msg.error('两次密码不一致')
+				}
+				reg(that.loginForm).then(res => {
+					that.$msg.success('注册成功')
+					that.currentIndex = 0
+					that.setUserInfo(res.data.userinfo)
+					window.sessionStorage.setItem('token', res.data.userinfo.token)
+					window.sessionStorage.setItem('user', res.data.userinfo)
+					that.$router.push("/home")
+				}).catch(err => {
+					console.log();
+				})
+			},
+			login() {
+				let that = this
+				if (that.loginForm.account == '') {
+					return that.$msg.error('请输入用户名')
+				}
+				if (that.loginForm.password == '') {
 					return that.$msg.error('请输入密码')
 				}
 				login({
 					account: that.loginForm.username,
 					password: that.loginForm.password
 				}).then(res => {
+					that.$msg.success('登录成功')
 					console.log(res);
-					that.login()
 					that.setUserInfo(res.data.userinfo)
 					window.sessionStorage.setItem('token', res.data.userinfo.token)
+					
 					that.$router.push("/home")
 				})
+				// splist({
+				// 	page: 1
+				// })
+				// console.log(login);
+
+				// this.$router.push("/home")
+
 			}
 		}
 	};
 </script>
 
-<style Lang='scss' scoped>
+<style lang='scss' scoped>
+/* 	body {
+	} */
 	.login-wrapper {
+		/* background-color: ; */
 		position: absolute;
 		width: 100%;
 		height: 100%;
-		background-image: url(../assets/img/basebg.png);
+		background-image: url(../assets/img/basebg.png) ;
+		background-size:100% 100%;
 	}
 
 	.login-box {
 		width: 450px;
-		height: 250px;
-		background-color: #fff;
-		padding-top: 50px;
 		border-radius: 3px;
 		display: flex;
 		flex-direction: column;
@@ -96,6 +180,8 @@
 		top: 0;
 		bottom: 0;
 		margin: auto;
+		align-items: center;
+		justify-content: center;
 	}
 
 	.avatar-box {
@@ -117,15 +203,57 @@
 	}
 
 	.login-form-box {
-		width: 410px;
-		height: 200px;
-		padding: 60px 20px 0;
+		width: 450px;
+		/* height: 200px; */
 		justify-self: end;
 		transform: translate(0, -10%);
+		background-color: #fff;
+		border-radius: 20px;
+		.login-form {
+			padding: 20px ;
+		}
 	}
 
 	.btns {
 		display: flex;
 		justify-content: flex-end;
 	}
+	.nav {
+		justify-content: center;
+		font-size: 16px;
+		color: #444;
+		
+		border-radius: 20px 20px 0 0;
+		overflow: hidden;
+		
+	}
+	.nav-item {
+		width: 100%;
+		position: relative;
+		text-align: center;
+		line-height: 50px;
+		/* width: 64px;
+		height: ; */
+	}
+	.action {
+		font-weight: bold;
+		color: black;
+		color: #056de8;
+		/* color: #fff; */
+		&::after {
+			content: '';
+			position: absolute;
+			width: 100%;
+			height: 3px;
+			
+			bottom: 0px;
+			left: 0;
+			right: 0;
+			margin: auto;
+		}
+	}
+	.go-new {
+		padding-right: 20px;
+		color:  #056de8;
+	}
 </style>

+ 18 - 2
src/views/home/orderList.vue → src/views/home/dlOrderList.vue

@@ -20,7 +20,11 @@
 				</el-col> -->
 			</el-row>
 			<!-- 订单表格区域 -->
-			<el-table :data="list" border style="width: 100%" max-height="620">
+			<el-table :data="list" border style="width: 100%" max-height="620"  @selection-change="handleSelectionChange">
+				    <el-table-column
+				      type="selection"
+				      width="55">
+				    </el-table-column>
 				<el-table-column prop="id" label="id" width="80">
 				</el-table-column>
 				<el-table-column prop="order_id" label="订单编号" width="200">
@@ -50,7 +54,15 @@
 						{{showTime(scope.row.createtime)}}
 					</template>
 				</el-table-column>
-				
+<!-- 				<el-table-column
+				      fixed="right"
+				      label="操作"
+				      width="100">
+				      <template slot-scope="scope">
+				        <el-button @click="handleClick(scope.row)" type="text" size="small">查看</el-button>
+				        <el-button type="text" size="small">编辑</el-button>
+				      </template>
+				    </el-table-column> -->
 			</el-table>
 			<!-- 分页区域 -->
 			<el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange"
@@ -111,6 +123,9 @@
 		},
 		methods: {
 			showTime,
+			handleSelectionChange(val) {
+				console.log(val);
+			},
 			openBuy() {
 				this.dialogTableVisible = true
 			},
@@ -159,6 +174,7 @@
 			},
 			handleSizeChange(newPageSize) {
 				this.queryInfo.limit = newPageSize
+				this.queryInfo.page = 1
 				this.getList()
 			},
 			handleCurrentChange(newPageNum) {

+ 1 - 1
src/views/home/rechangeList.vue

@@ -60,7 +60,7 @@
 				
 			</el-form>
 			<div class="t-r">
-				到账: {{((form.recharge_num*1 || 0)*(baseInfo.to_rmb*1)).toFixed(2)}}元s
+				到账: {{((form.recharge_num*1 || 0)*(baseInfo.to_rmb*1)).toFixed(2)}}元
 			</div>
 			<div class="t-r">
 				当前余额: {{userInfo.money*1}}元

+ 415 - 1
src/views/home/statistics.vue

@@ -1,8 +1,422 @@
 <template>
+	<div class="order-wrapper">
+		<!-- <breadcrumb :item-name="['订单管理', '订单列表']"></breadcrumb> -->
+		<el-card>
+			<div class="tj flex">
+				<div class="tj-item">
+					<div class="tit">代理订单</div>
+					<div class="val">{{tj.agent_order||0}}</div>
+				</div>
+				<div class="tj-item">
+					<div class="tit">异常代理订单</div>
+					<div class="val">{{tj.agent_order_error|| 0}}</div>
+				</div>
+				<div class="tj-item">
+					<div class="tit">未使用注册码</div>
+					<div class="val">{{tj.code_0|| 0}}</div>
+				</div>
+				<div class="tj-item">
+					<div class="tit">已使用注册码</div>
+					<div class="val">{{tj.code_1||0}}</div>
+				</div>
+			</div>
+
+		</el-card>
+
+	</div>
 </template>
 
 <script>
+	import {
+		mapState,
+		mapMutations
+	} from 'vuex';
+
+	import {
+		createCode,
+		getUserList,
+		getIndex,
+		dataCount
+	} from '@/request/agent.js'
+	import {
+		getRechangeList,
+		rechange,
+		getTokenList,
+		createOrder,
+		getUserInfo,
+		payAuto,
+
+	} from '@/request/user.js'
+	import {
+		showTime,
+		sj
+	} from '@/assets/js/tools.js'
+	import {
+		imgs
+	} from '@/assets/js/admun.js'
+	import {
+		set
+	} from 'core-js/library/core/dict';
+	export default {
+		components: {
+			// SlideVerify
+		},
+		name: 'Order',
+		data() {
+			return {
+				showStop: false,
+				dialogVisible: false,
+				xdForm: {
+					phone: '',
+					address: '',
+					minPrice: '',
+					maxPrice: ''
+				},
+				imgs: imgs,
+				msg: '888',
+				loading: false,
+				formLabelWidth: '100px',
+				form: {
+					recharge_num: '',
+					image: ''
+				},
+				dialogTableVisible: false,
+				xiadanDia: false, //下单弹窗
+				queryInfo: {
+					keyword: '',
+					page: 1,
+					limit: 10
+				},
+				list: [],
+				total: 0,
+				dataloading: false,
+				headers: {},
+				tokenList: [],
+				token: {},
+				ybToken: {},
+				minPriceList: [],
+				maxPriceList: [],
+				tipList: [],
+				auto_order: false, //是否启动自动下单
+				tj: {}
+			}
+		},
+		computed: {
+			...mapState(['baseInfo', 'userInfo'])
+		},
+		created() {
+			// this.getUserInfo()
+			// this.getIndex()
+			// this.getList()
+			// this.getTokenList()
+			this.dataCount()
+			this.headers['token'] = window.sessionStorage.getItem('token')
+			// console.log(this.imgs, 'imgs');
+		},
+		methods: {
+			...mapMutations(['setBaseInfo', 'setUserInfo', 'jUserMoney']),
+			dataCount() {
+				dataCount().then(res => {
+					console.log(res);
+					this.tj = res.data
+				})
+			},
+			stopAuto() {
+				this.auto_order = false
+				this.showStop = false
+			},
+			getUserInfo() {
+				getUserInfo().then(res => {
+					this.setUserInfo(res.data)
+				})
+			},
+			pd(arr, i = 0) {
+				let that = this
+				let len = arr.length - 1
+				if (i <= len) {
+					if (i == 0) {
+						that.tipList.unshift(arr[i])
+						that.pd(arr, ++i)
+					} else {
+						setTimeout(() => {
+							that.tipList.unshift(arr[i])
+							if (arr[i].title.indexOf('支付金额:') != -1) {
+								// let price = zfInfo.title.replace(/支付金额:/,'')*1
+								that.jUserMoney(-1 * arr[i].title.replace(/支付金额:/, ''))
+							}
+							that.pd(arr, ++i)
+						}, arr[i - 1].time * 1000)
+					}
+				} else {
+					that.xdForm.phone = ''
+					that.xdForm.address = ''
+					that.loading = false
+					if (that.auto_order) {
+						that.chooseNext()
+					} else {
+						that.xdForm.minPrice = ''
+						that.xdForm.maxPrice = ''
+					}
+				}
+			},
+			ktAuto() {
+				let that = this
+				if (that.userInfo.money * 1 < that.baseInfo.auto_order * 1) {
+					return that.$msg.error('您当前余额不足')
+				}
+				payAuto().then(res => {
+					that.getUserInfo()
+					that.dialogVisible = false
+					that.auto_order = true
+					that.chooseNext()
+					//自动下单启动
+				})
+			},
+			openZd() {
+				let that = this
+				if (that.loading) {
+					return that.$msg.error('当前处于下单状态,请等待下单完成')
+				}
+				if (that.userInfo.auto_order == 0) {
+					that.dialogVisible = true
+				} else {
+					//自动下单启动
+					if (that.xdForm.minPrice == '') {
+						return that.$msg.error('请选择最低价格')
+					}
+					if (that.xdForm.maxPrice == '') {
+						return that.$msg.error('请选择最高价格')
+					}
+					that.auto_order = true
+					that.chooseNext()
+
+
+				}
+			},
+			//选择下一个可用token
+			chooseNext() {
+				let that = this
+				that.token = that.tokenList.find(item => item.bl == false)
+				if (that.auto_order) {
+					if (that.token) {
+						if (that.xdForm.minPrice == '') {
+							return that.$msg.error('请选择最低价格')
+						}
+						if (that.xdForm.maxPrice == '') {
+							return that.$msg.error('请选择最高价格')
+						}
+						that.sjAddress()
+						that.sjPhone()
+						// that.$msg.success('开启自动下单,请勿进行操作')
+						// 启动
+						that.createOrder()
+					} else {
+						//停止
+						that.auto_order = false
+					}
+
+				}
+			},
+			createOrder() {
+				let that = this
+				if (that.loading) {
+					return
+				}
+				if (that.token.bl) {
+					if (that.auto_order) {
+
+					} else {
+						return this.$msg.error('该TOKEN,当天使用次数已满!')
+					}
+				}
+				if (that.xdForm.minPrice == '') {
+					return that.$msg.error('请选择最低价格')
+				}
+				if (that.xdForm.maxPrice == '') {
+					return that.$msg.error('请选择最高价格')
+				}
+				if (that.xdForm.minPrice * 1 > that.xdForm.maxPrice * 1) {
+					return that.$msg.error('最高价格需大于最低价格')
+				}
+				if (that.xdForm.phone == '') {
+					return that.$msg.error('请输入手机号码')
+				}
+				if (!/(^1[2|3|4|5|6|7|8|9][0-9]{9}$)/.test(that.xdForm.phone)) {
+					return that.$msg.error('请输入正确的手机号码')
+				}
+				if (that.xdForm.address == '') {
+					return that.$msg.error('请输入收货地址')
+				}
+				that.loading = true
+				createOrder({
+					min_price: that.xdForm.minPrice,
+					max_price: that.xdForm.maxPrice,
+					address: that.xdForm.address,
+					phone: that.xdForm.phone,
+					token: that.token.token
+				}).then(res => {
+
+					//更新token
+					that.token.count++
+					if (that.token.count == 2) {
+						that.token.bl = true
+					}
+					// 加载tip
+
+					that.pd(res.data, 0)
+
+				}).catch(err => {
+					console.log(err);
+					that.loading = false
+				})
+			},
+			getIndex() {
+				getIndex().then(res => {
+					this.setBaseInfo(res.data)
+					let arr = [],
+						arr2 = []
+					res.data.price_min.forEach(item => {
+						let a = {
+							value: item * 1,
+							label: item
+						}
+						arr.push(a)
+					})
+					res.data.price_max.forEach(item => {
+						let a = {
+							value: item * 1,
+							label: item
+						}
+						arr2.push(a)
+					})
+					this.minPriceList = arr
+					this.maxPriceList = arr2
+				})
+			},
+			showTime,
+			sjPhone() {
+				if (this.loading) {
+					return
+				}
+				this.xdForm.phone = sj(this.baseInfo.sys_phone)
+			},
+			sjAddress() {
+				if (this.loading) {
+					return
+				}
+				this.xdForm.address = sj(this.baseInfo.system_address)
+			},
+			closeXd() {
+				this.xiadanDia = false
+				this.xdForm.phone = ''
+				this.xdForm.address = ''
+			},
+			onSuccess() {
+				console.log('success');
+				this.token = this.ybToken
+				this.xdForm.minPrice = ''
+				this.xdForm.maxPrice = ''
+				this.dialogTableVisible = false
+			},
+			onFail() {
+				console.log('fail');
+			},
+			onRefresh() {
+				console.log('refresh');
+			},
+			getTokenList() {
+				getTokenList().then(res => {
+					this.tokenList = res.data.map(item => {
+						item.count = item.count * 1
+						return item
+					})
+					// 获取第一次选择的token
+					this.chooseNext()
+					console.log(this.token, 'this.token');
+				})
+			},
+			chooseToken(item) {
+				// console.log(item,'ddddd');
+				if (this.loading) {
+					return
+				}
+				if (item.bl) {
+					return this.$msg.error('该TOKEN,当天使用次数已满!')
+				}
+				this.ybToken = item
+				this.dialogTableVisible = true
+			},
+			handleAvatarSuccess(res, file) {
+				this.form.image = res.data.fullurl;
+			},
+			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() {
+
+			},
+			getList(type) {
+				let that = this
+				if (type == 'reload') {
+					that.queryInfo.page = 1
+					that.dataloading = false
+				}
+				if (that.dataloading) {
+					return
+				}
+
+				that.dataloading = true
+				getRechangeList(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>
+<style lang="scss" scoped>
+	.tj {
+		width: 500px;
+		flex-wrap: wrap;
+
+		.tj-item {
+			width: 120px;
+			height: 120px;
+			border-radius: 20px;
+			box-shadow: 0px 0px 7px rgba(0, 0, 0, 0.4);
+			display: flex;
+			flex-direction: column;
+			justify-content: center;
+			align-items: center;
+			margin: 20px;
+
+			.val {
+				margin-top: 20px;
+				color: rgb(15, 131, 254);
+			}
+		}
+	}
 </style>