coderlhl 2 年之前
父節點
當前提交
e79c6886e2

+ 5 - 1
src/components/navTop/navTop.vue

@@ -68,6 +68,10 @@
 					tit: '地址管理',
 					path: '/address'
 				});
+        this.numList.splice(4, 0, {
+        	tit: '结算审核',
+        	path: '/dladmin'
+        });
 			} else {
 				this.numList.splice(3, 0, {
 					tit: '订单结算',
@@ -101,7 +105,7 @@
 		height: 65px;
 		margin-bottom: 20px;
 		color: #fff;
-
+    width: 100vw;
 		.top {
 			width: 1425px;
 			margin: auto;

+ 24 - 0
src/request/agent.js

@@ -133,3 +133,27 @@ export function getOrderList(data) {
 		params:data
 	});
 }
+
+export function tlement (data) {
+  return request({
+    url: '/api/agent/tlement',
+    method: 'get',
+    data
+  })
+}
+//获取地址信息
+export function getAddressList(data) {
+	return request({
+		url: '/api/agent/address',
+		method: 'get',
+		params:data
+	});
+}
+
+export function auth_tlement(data) {
+  return request({
+  	url: '/api/agent/auth_tlement',
+  	method: 'post',
+  	params:data
+  });
+}

+ 17 - 0
src/request/user.js

@@ -198,4 +198,21 @@ export function address(data) {
 		method: 'post',
 		data
 	});
+}
+
+//续费
+export function xfZh(data) {
+  return request({
+  	url: '/api/user/vip',
+  	method: 'post',
+  	data
+  });
+}
+
+export function tlement (data) {
+  return request({
+    url: '/api/user/tlement',
+    method: 'get',
+    data
+  })
 }

+ 32 - 2
src/router.js

@@ -100,9 +100,30 @@ let router = new Router({
 						title: '订单列表',
 						keepAlive: true
 					}
-				},
+				}
 			]
 		},
+    {
+    	path: '/dladmin',
+    	name: 'dladmin',
+    	component: () => import('./views/Dl.vue'),
+    	meta: {
+    		title: '结算审核',
+    		keepAlive: true
+    	},
+      redirect: '/dladmin/dljs',
+      children: [
+        {
+          path: 'dljs',
+          name: 'dladmindljs',
+          component: () => import('./views/dl/dljs.vue'),
+          meta: {
+          	title: '结算审核',
+          	keepAlive: true
+          },
+        }
+      ]
+    },
 		{
 			path: '/user',
 			name: 'user',
@@ -174,7 +195,16 @@ let router = new Router({
 						title: '转账记录',
 						keepAlive: true
 					}
-				}
+				},
+        {
+        	path: 'jssq',
+        	name: 'jssq',
+        	component: () => import('./views/user/jssq.vue'),
+        	meta: {
+        		title: '结算申请',
+        		keepAlive: true
+        	}
+        }
 			]
 		},
 		{

+ 27 - 0
src/views/Dl.vue

@@ -0,0 +1,27 @@
+<template>
+	<div class="order-list-wrap">
+		<router-view></router-view>
+	</div>
+</template>
+
+<script>
+	export default {
+		name: 'settle',
+		data() {
+			return {
+				
+			}
+		},
+		mounted() {
+		},
+		
+	}
+</script>
+
+<style lang="scss" scoped>
+	.order-list-wrap {
+		width: 1425px;
+		max-width: 1425px;
+		margin: auto;
+	}
+</style>

+ 104 - 96
src/views/User.vue

@@ -1,104 +1,112 @@
 <template>
-	<div class="content flex">
-		<div class="left-nav">
-			<div class="nav-item hand" v-for="(item,index) in navList" @click="navto(item.path)" :class="{'action-item':currentUrl.indexOf(item.path) !=-1}">
-				{{item.tit}}
-			</div>
-		</div>
-		<div class="right-body">
-			<router-view></router-view>
-		</div>
-	</div>
+  <div class="content flex">
+    <div class="left-nav">
+      <div class="nav-item hand" v-for="(item,index) in navList" @click="navto(item.path)"
+        :class="{'action-item':currentUrl.indexOf(item.path) !=-1}">
+        {{item.tit}}
+      </div>
+    </div>
+    <div class="right-body">
+      <router-view></router-view>
+    </div>
+  </div>
 </template>
 
 <script>
-	import {
-		mapState,
-		mapMutations
-	} from 'vuex';
-	export default {
-		name: 'user',
-		data() {
-			return {
-				navList: [
-					{
-						tit: '基本信息',
-						path: '/user/setUserinfo'
-					},
-					{
-						tit: '资金流水',
-						path: '/user/money'
-					},
-					{
-						tit: '充值记录',
-						path: '/user/rechangeList'
-					},
-					{
-						tit: '提现记录',
-						path: '/user/takingList'
-					},
-					{
-						tit: '转账记录',
-						path: '/user/transferList'
-					}
-				]
-			}
-		},
-		computed: {
-			...mapState(['userInfo','baseInfo']),
-			currentUrl() {
-				return this.$route.path
-			},
-		},
-		methods: {
-			navto(path) {
-				this.$router.push(path)
-			}
-		},
-		mounted() {
-			if(this.userInfo.agent_id == 1) {
-				
-				this.navList.splice(1, 0,{
-						tit: '注册码',
-						path: '/user/regList'
-					},);	
-			}else {
-				this.navList.splice(1, 0,{
-						tit: 'Token',
-						path: '/user/tokenOrderList'
-					},);
-			}
-		}
-	}
+  import {
+    mapState,
+    mapMutations
+  } from 'vuex';
+  export default {
+    name: 'user',
+    data() {
+      return {
+        navList: [{
+            tit: '基本信息',
+            path: '/user/setUserinfo'
+          },
+          {
+            tit: '资金流水',
+            path: '/user/money'
+          },
+          {
+            tit: '充值记录',
+            path: '/user/rechangeList'
+          },
+          {
+            tit: '提现记录',
+            path: '/user/takingList'
+          },
+          {
+            tit: '转账记录',
+            path: '/user/transferList'
+          }
+        ]
+      }
+    },
+    computed: {
+      ...mapState(['userInfo', 'baseInfo']),
+      currentUrl() {
+        return this.$route.path
+      },
+    },
+    methods: {
+      navto(path) {
+        this.$router.push(path)
+      }
+    },
+    mounted() {
+      if (this.userInfo.agent_id == 1) {
+
+        this.navList.splice(1, 0, {
+          tit: '注册码',
+          path: '/user/regList'
+        }, );
+      } else {
+        this.navList.splice(1, 0, {
+          tit: 'Token',
+          path: '/user/tokenOrderList'
+        }, );
+        this.navList.splice(2, 0, {
+          tit: '结算申请',
+          path: '/user/jssq'
+        }, );
+      }
+    }
+  }
 </script>
 
 <style lang="scss" scoped>
-	.content {
-		width: 1425px;
-		max-width: 1425px;
-		margin: auto;
-	}
-	.left-nav {
-		padding-top: 25px;
-		width: 120px;
-		height: 710px;
-		flex-shrink: 0;
-		.nav-item {
-			height: 50px;
-			line-height: 50px;
-			margin-bottom: 20px;
-			text-align: center;
-		}
-		.action-item {
-			color: #007aff;
-			border-right: #007aff 2px solid;
-			font-weight: bold;
-		}
-		
-	}
-	.right-body {
-		flex-grow: 1;
-		max-width: 1240px;
-		margin-left:25px;
-	}
+  .content {
+    width: 1425px;
+    max-width: 1425px;
+    margin: auto;
+  }
+
+  .left-nav {
+    padding-top: 25px;
+    width: 120px;
+    height: 710px;
+    flex-shrink: 0;
+
+    .nav-item {
+      height: 50px;
+      line-height: 50px;
+      margin-bottom: 20px;
+      text-align: center;
+    }
+
+    .action-item {
+      color: #007aff;
+      border-right: #007aff 2px solid;
+      font-weight: bold;
+    }
+
+  }
+
+  .right-body {
+    flex-grow: 1;
+    max-width: 1240px;
+    margin-left: 25px;
+  }
 </style>

+ 5 - 2
src/views/address/dlAddressList.vue

@@ -25,7 +25,7 @@
 				</el-table-column>
 				<el-table-column prop="consignee_name" label="姓名" width="150">
 				</el-table-column>
-				<el-table-column prop="address" label="地址" width="350">
+				<el-table-column prop="consignee_address" label="地址" width="350">
 				</el-table-column>
 				<el-table-column prop="consignee_phone" label="手机号" width="200">
 				</el-table-column>
@@ -105,8 +105,11 @@
 			}
 		},
 		created() {
-			this.getList()
+			
 		},
+    mounted() {
+      this.getList()
+    },
 		methods: {
 			showTime,
 			openBuy() {

+ 303 - 0
src/views/dl/dljs.vue

@@ -0,0 +1,303 @@
+<template>
+	<div class="content-wrap">
+		<div class="flex">
+			
+			<div class="order-wrap" style="padding: 20px;">
+				<!-- <div>
+					<el-date-picker v-model="value1" type="daterange" format="yyyy 年 M 月 d 日" value-format="yyyy-M-d"
+						range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期">
+					</el-date-picker>
+					<el-button type="primary" style="margin-left: 20px;" @click="getList('reload')">查询</el-button>
+					<div class="redr">
+						<el-button>重新导入</el-button>
+						<input type="file" ref="fileInputt" @change="readTxtFile('fileInputt')" class="dr-int" />
+					</div>s
+				</div> -->
+				<!-- <template  v-if="js && js.loaded">
+					<div style="padding-top: 20px;">
+						<el-button>订单总数:{{js.order_count || 0}}</el-button>
+						<el-button>结算订单数:{{js.settlement_count || 0}}</el-button>
+						<el-button>卡单数量:{{js.prohibit_refund || 0}}</el-button>
+					</div>
+					<div style="padding-top: 20px;">
+						<el-button>赔付金额:{{js.compensation_sum || 0}}</el-button>
+					</div>
+					<div style="padding-top: 20px;">
+						<el-button>物流费:{{js.expenses_sum || 0}}</el-button>
+					</div>
+					<div style="padding-top: 20px;">
+						<el-button>手续费:{{js.ommission_sum || 0}}</el-button>
+					</div>
+					<div style="padding-top: 20px;">
+						<el-button>赔付金额10块的订单数:{{js.compensation_10_count || 0}}</el-button>
+					</div>
+					<div style="padding-top: 20px;">
+						<el-button>赔付金额11块的订单数:{{js.compensation_11_count || 0}}</el-button>
+					</div>
+					<div style="padding-top: 20px;">
+						<el-button>赔付金额12块的订单数:{{js.compensation_12_count || 0}}</el-button>
+					</div>
+					<div style="padding-top: 20px;">
+						<el-button>赔付金额13块的订单数:{{js.compensation_13_count || 0}}</el-button>
+					</div>
+					<div style="padding-top: 20px;">
+						<el-button>赔付金额14块的订单数:{{js.compensation_14_count || 0}}</el-button>
+					</div>
+					<div style="padding-top: 20px;">
+						<el-button>赔付金额15块的订单数:{{js.compensation_15_count || 0}}</el-button>
+					</div>
+				</template> -->
+				
+				
+				<!-- settlement_count -->
+				<el-table :data="list" border style="width: 100%" max-height="520">
+					<el-table-column prop="id" label="id" width="80">
+					</el-table-column>
+          <el-table-column prop="user_id" label="用户id" width="80">
+          </el-table-column>
+					<el-table-column prop="expenses_sum" label="手续费" width="100">
+					</el-table-column>
+          <el-table-column prop="commission_sum" label="手续费" width="100">
+          </el-table-column>
+					<el-table-column prop="compensation_sum" label="赔付金额" width="100">
+					</el-table-column>
+          <el-table-column prop="compensation_10_count" label="赔付金额为10块的单数" width="130">
+          </el-table-column>
+          <el-table-column prop="compensation_11_count" label="赔付金额为11块的单数" width="130">
+          </el-table-column>
+          <el-table-column prop="compensation_12_count" label="赔付金额为12块的单数" width="130">
+          </el-table-column>
+          <el-table-column prop="compensation_13_count" label="赔付金额为13块的单数" width="130">
+          </el-table-column>
+          <el-table-column prop="compensation_14_count" label="赔付金额为14块的单数" width="130">
+          </el-table-column>
+          <el-table-column fixed="right" label="操作" width="250">
+          	<template slot-scope="scope">
+          		<el-button type="primary" @click="authTlement(scope.row)" v-if="scope.row.status == 0">通过结算</el-button>
+              <el-button type="success" v-if="scope.row.status == 1">已通过结算</el-button>
+          	</template>
+             </el-table-column>
+         <!-- <el-table-column prop="compensation_15_count" label="赔付金额为15块的单数" width="98">
+          </el-table-column> -->
+					<!-- <el-table-column prop="status" label="结算状态" width="120">
+						<template slot-scope="scope">
+							<el-tag type="success" v-if="scope.row.status == 6">已结算</el-tag>
+							<el-tag type="warning" v-if="scope.row.status == 5">待结算</el-tag>
+							<el-tag type="danger" v-if="scope.row.status == 7">已结束</el-tag>
+						</template>
+					</el-table-column> -->
+					<!-- <el-table-column prop="" label="结算详情">
+						<template slot-scope="scope">
+							<span>理赔:{{scope.row.compensation}}</span>
+						</template>
+					</el-table-column> -->
+				</el-table>
+				<!-- 分页区域 -->
+				<el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange"
+					:current-page="queryInfo.page" :page-sizes="[10, 20, 50, 100]" :page-size="queryInfo.pagesize"
+					layout="total, sizes, prev, pager, next, jumper" :total="total">
+				</el-pagination>
+			</div>
+		</div>
+
+	</div>
+</template>
+
+<script>
+	import {
+		mapState,
+		mapMutations
+	} from 'vuex';
+	import {
+		settlement,
+    
+	} from '@/request/user.js'
+  import {
+    tlement,
+    auth_tlement
+  } from '@/request/agent.js'
+	import {
+		showTime
+	} from '@/assets/js/tools.js'
+	export default {
+		name: 'settleOrder',
+		data() {
+			return {
+				prohibit_refund: 0,
+				not_out_time: 0,
+				loading: false,
+				value1: '',
+				list: [],
+				queryInfo: {
+					page: 1,
+					limit: 10,
+					data: '',
+					token: ''
+				},
+				total: 0,
+				js: {
+					loaded: false
+				}
+			}
+		},
+		watch: {
+			value1(n, o) {
+				this.queryInfo.data = n[0] + ' - ' + n[1]
+			}
+		},
+		computed: {
+			...mapState(['jsOrderToken'])
+		},
+		mounted() {
+			// if (this.jsOrderToken.length > 0) {
+			// 	this.queryInfo.token = this.jsOrderToken.join(',')
+			// 	this.getList()
+			// }
+      this.getList()
+		},
+		methods: {
+			...mapMutations(['setJsOrderToken']),
+			showTime,
+      authTlement(item) {
+        auth_tlement({
+          id: item.id
+        }).then(res => {
+          this.$msg.success('处理成功')
+          this.getList()
+        })
+      },
+			handleSizeChange(newPageSize) {
+				this.queryInfo.limit = newPageSize
+				this.getList()
+			},
+			handleCurrentChange(newPageNum) {
+				this.queryInfo.page = newPageNum
+				this.getList()
+			},
+			//加载token文件
+			readTxtFile(refs) {
+				let that = this
+				const input = this.$refs[refs]
+				const file = input.files[0]
+
+				const reader = new FileReader()
+				console.log('zhe');
+				reader.onload = (e) => {
+					let srt = e.target.result.replace(/\n\r/g, ',').replace(/\r\n/g, ',')
+					let arr = srt.split(',').filter(item => item !== '')
+					that.setJsOrderToken(arr)
+					that.queryInfo.token = that.jsOrderToken.join(',')
+					that.getList('reload')
+				}
+				reader.readAsText(file)
+			},
+			getList(type) {
+				console.log('ks');
+				let that = this
+				if (type == 'reload') {
+					that.queryInfo.page = 1
+					// that.queryInfo.date
+				}
+				that.js = {}
+				that.js.loaded = false
+				
+				tlement(that.queryInfo).then(res => {
+					console.log(res);
+					
+					
+					that.total = res.data.count
+					// that.not_out_time = res.data.not_out_time
+					// that.prohibit_refund = res.data.prohibit_refund
+					that.list = res.data.data
+					// if(that.total == 0) {
+					// 	that.$msg.error('订单结算时间还未到')
+					// }
+				})
+			}
+		}
+	}
+</script>
+
+<style lang="scss" scoped>
+	.left-wrap {
+		width: 192px;
+		height: 710px;
+		background-color: #fff;
+		flex-shrink: 0;
+		margin-right: 20px;
+		position: relative;
+	}
+
+	.order-wrap {
+		background-color: #fff;
+		height: 710px;
+		flex-grow: 1;
+	}
+
+	.dr-wrap {
+		width: 140px;
+		height: 125px;
+		position: absolute;
+		top: 0;
+		left: 0;
+		right: 0;
+		bottom: 0;
+		margin: auto;
+		border: 1px #999 dashed;
+		border-radius: 5px;
+		display: flex;
+		flex-direction: column;
+		justify-content: center;
+		align-items: center;
+		font-size: 12px;
+
+		.dr-icon {
+			font-size: 32px;
+			color: #007aff;
+		}
+
+		.dr-tit {
+			margin-top: 20px;
+		}
+
+		// .dr-int {
+		// 	width: 140px;
+		// 	height: 125px;
+		// }
+	}
+
+	.dr-int {
+		position: absolute;
+		top: 0;
+		left: 0;
+		width: 100%;
+		height: 100%;
+		outline: medium none;
+		cursor: pointer;
+		-moz-opacity: 0;
+		opacity: 0;
+		filter: alpha(opacity=0);
+	}
+
+	/deep/ .el-range-separator {
+		width: 50px;
+	}
+
+	.left-t {
+		// display: flex;
+		// justify-content: center;
+		font-weight: bold;
+		// height: 50px;
+		margin-bottom: 15px;
+		width: 180px; //定宽 
+		overflow: hidden; //超出的文本隐藏
+		text-overflow: ellipsis; //溢出用省略号显示
+		white-space: nowrap; // 默认不换行;
+	}
+	.redr {
+		display: inline-block;
+		margin-left: 20px;
+		position: relative;
+		margin-right: 20px;
+	}
+</style>

+ 9 - 9
src/views/home/addOrder.vue

@@ -867,7 +867,7 @@
 					if (that.xdForm.lle == '') {
 						return that.$msg.error('请输入浏览最大时间')
 					}
-					if (that.xdForm.lle <= that.xdForm.lls) {
+					if (that.xdForm.lle*1 <= that.xdForm.lls*1) {
 						return that.$msg.error('浏览最大时间应大于最小时间')
 					}
 
@@ -880,7 +880,7 @@
 					if (that.xdForm.lde == '') {
 						return that.$msg.error('请输入浏览店铺最大时间')
 					}
-					if (that.xdForm.lde <= that.xdForm.lds) {
+					if (that.xdForm.lde*1 <= that.xdForm.lds*1) {
 						return that.$msg.error('浏览店铺最大时间应大于最小时间')
 					}
 
@@ -890,7 +890,7 @@
 					if (that.xdForm.hbmax == '') {
 						return that.$msg.error('请输入浏览店铺最大数量')
 					}
-					if (that.xdForm.hbmax <= that.xdForm.hbmin) {
+					if (that.xdForm.hbmax*1 <= that.xdForm.hbmin*1) {
 						return that.$msg.error('请输入浏览店铺最大数量应大于最小数量')
 					}
 					// if (that.xdForm.hb == '') {
@@ -972,7 +972,7 @@
 						if (that.xdForm.lle == '') {
 							return that.$msg.error('请输入浏览最大时间')
 						}
-						if (that.xdForm.lle <= that.xdForm.lls) {
+						if (that.xdForm.lle*1 <= that.xdForm.lls*1) {
 							return that.$msg.error('浏览最大时间应大于最小时间')
 						}
 
@@ -985,7 +985,7 @@
 						if (that.xdForm.lde == '') {
 							return that.$msg.error('请输入浏览店铺最大时间')
 						}
-						if (that.xdForm.lde <= that.xdForm.lds) {
+						if (that.xdForm.lde*1 <= that.xdForm.lds*1) {
 							return that.$msg.error('浏览店铺最大时间应大于最小时间')
 						}
 
@@ -995,7 +995,7 @@
 						if (that.xdForm.hbmax == '') {
 							return that.$msg.error('请输入浏览店铺最大数量')
 						}
-						if (that.xdForm.hbmax <= that.xdForm.hbmin) {
+						if (that.xdForm.hbmax*1 <= that.xdForm.hbmin*1) {
 							return that.$msg.error('请输入浏览店铺最大数量应大于最小数量')
 						}
 						// if (that.xdForm.hb == '') {
@@ -1095,7 +1095,7 @@
 				if (that.xdForm.lle == '') {
 					return that.$msg.error('请输入浏览最大时间')
 				}
-				if (that.xdForm.lle <= that.xdForm.lls) {
+				if (that.xdForm.lle*1 <= that.xdForm.lls*1) {
 					return that.$msg.error('浏览最大时间应大于最小时间')
 				}
 
@@ -1108,7 +1108,7 @@
 				if (that.xdForm.lde == '') {
 					return that.$msg.error('请输入浏览店铺最大时间')
 				}
-				if (that.xdForm.lde <= that.xdForm.lds) {
+				if (that.xdForm.lde*1 <= that.xdForm.lds*1) {
 					return that.$msg.error('浏览店铺最大时间应大于最小时间')
 				}
 
@@ -1118,7 +1118,7 @@
 				if (that.xdForm.hbmax == '') {
 					return that.$msg.error('请输入浏览店铺最大数量')
 				}
-				if (that.xdForm.hbmax <= that.xdForm.hbmin) {
+				if (that.xdForm.hbmax*1 <= that.xdForm.hbmin*1) {
 					return that.$msg.error('请输入浏览店铺最大数量应大于最小数量')
 				}
 				// if (that.xdForm.hb == '') {

+ 27 - 21
src/views/order/orderList.vue

@@ -314,30 +314,36 @@
 				// 	this.$msg.success(res.msg)
 				// 	this.getList()
 				// })
+        console.log('ddd');
 				let that = this
 				that.yjloading = true
 				if (i < arr.length) {
-
-					if (arr[i].loaded) {
-						that.oneWork(arr, ++i)
-					} else {
-						arr[i].loading = true
-						setTimeout(() => {
-							batchOrder({
-								id: arr[i].id,
-								status: arr[i].status
-							}).then(res => {
-								arr[i].tag = res.msg
-								arr[i].loading = false
-								arr[i].loaded = true
-								that.oneWork(arr, ++i)
-							}).catch(err => {
-								console.log(i);
-								arr[i].loading = false
-								that.yjloading = false
-							})
-						}, 2000)
-					}
+          if(arr[i].status < 5) {
+            if (arr[i].loaded) {
+            	that.oneWork(arr, ++i)
+            } else {
+            	arr[i].loading = true
+            	setTimeout(() => {
+                
+            		batchOrder({
+            			id: arr[i].id,
+            			status: arr[i].status
+            		}).then(res => {
+            			arr[i].tag = res.msg
+            			arr[i].loading = false
+            			arr[i].loaded = true
+            			that.oneWork(arr, ++i)
+            		}).catch(err => {
+            			console.log(i);
+            			arr[i].loading = false
+            			that.yjloading = false
+            		})
+            	}, 2000)
+            }
+          }else {
+            that.oneWork(arr, ++i)
+          }
+					
 
 				} else {
 					that.yjloading = false

+ 11 - 5
src/views/settle/settleOrder.vue

@@ -21,11 +21,11 @@
 					<el-date-picker v-model="value1" type="daterange" format="yyyy 年 M 月 d 日" value-format="yyyy-M-d"
 						range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期">
 					</el-date-picker>
-					<el-button type="primary" style="margin-left: 20px;" @click="getList('reload')">查询</el-button>
+					<el-button type="primary" style="margin-left: 20px;" @click="getList('reload')">结算</el-button>
 					<div class="redr">
 						<el-button>重新导入</el-button>
 						<input type="file" ref="fileInputt" @change="readTxtFile('fileInputt')" class="dr-int" />
-					</div>s
+					</div>
 				</div> -->
 				<template  v-if="js && js.loaded">
 					<div style="padding-top: 20px;">
@@ -105,7 +105,8 @@
 		mapMutations
 	} from 'vuex';
 	import {
-		settlement
+		settlement,
+    tlement
 	} from '@/request/user.js'
 	import {
 		showTime
@@ -142,8 +143,9 @@
 		mounted() {
 			if (this.jsOrderToken.length > 0) {
 				this.queryInfo.token = this.jsOrderToken.join(',')
-				this.getList()
+				 this.getList()
 			}
+      // this.getList()
 		},
 		methods: {
 			...mapMutations(['setJsOrderToken']),
@@ -178,7 +180,6 @@
 				let that = this
 				if (type == 'reload') {
 					that.queryInfo.page = 1
-					// that.queryInfo.date
 				}
 				that.js = {}
 				that.js.loaded = false
@@ -204,6 +205,11 @@
 </script>
 
 <style lang="scss" scoped>
+  .content-wrap {
+    width: 1425rpx;
+    max-width: 1425rpx;
+    margin: auto;
+  }
 	.left-wrap {
 		width: 192px;
 		height: 710px;

+ 212 - 0
src/views/user/jssq.vue

@@ -0,0 +1,212 @@
+<template>
+	<div class="order-wrapper">
+		<!-- <breadcrumb :item-name="['订单管理', '订单列表']"></breadcrumb> -->
+		<el-card>
+			<!-- 搜索区域 -->
+			<el-col>
+				<div class="flex" style="justify-content: flex-end;padding-bottom: 20px;">
+					<!-- <el-button type="primary" @click="openBuy">充值</el-button> -->
+					<el-button type="primary" icon="el-icon-refresh-right" @click="getList('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="50">
+				</el-table-column>
+				<el-table-column prop="expenses_sum" label="手续费" width="100">
+				</el-table-column>
+				<el-table-column prop="commission_sum" label="手续费" width="100">
+				</el-table-column>
+				<el-table-column prop="compensation_sum" label="赔付金额" width="100">
+				</el-table-column>
+        <el-table-column prop="status" label="审核状态" width="100">
+        <template slot-scope="scope">
+          <el-tip>
+           <el-tag type="success" v-if="scope.row.status == 1">已通过</el-tag>
+           <el-tag type="danger" v-if="scope.row.status == 0">审核中</el-tag>
+          </el-tip>
+        </template>
+        </el-table-column>
+				<el-table-column prop="compensation_10_count" label="赔付金额为10块的单数" >
+				</el-table-column>
+				<el-table-column prop="compensation_11_count" label="赔付金额为11块的单数" >
+				</el-table-column>
+				<el-table-column prop="compensation_12_count" label="赔付金额为12块的单数" >
+				</el-table-column>
+				<el-table-column prop="compensation_13_count" label="赔付金额为13块的单数" >
+				</el-table-column>
+				<el-table-column prop="compensation_14_count" label="赔付金额为14块的单数" >
+				</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="充值金额" :label-width="formLabelWidth">
+					<el-input v-model="form.recharge_num" type="number"></el-input>
+				</el-form-item>
+				<el-form-item label="充值凭证" :label-width="formLabelWidth">
+					<el-upload
+					  class="avatar-uploader"
+					  action="http://www.pingguozhushou.shop/api/common/upload"
+					  :show-file-list="false"
+					  :headers="headers"
+					  :on-success="handleAvatarSuccess"
+					  :before-upload="beforeAvatarUpload">
+					  <img v-if="form.image" :src="form.image" class="avatar">
+					  <i v-else class="el-icon-plus avatar-uploader-icon"></i>
+					</el-upload>
+				</el-form-item>
+			</el-form>
+			<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 {
+		createCode,
+		getCodeList,
+		getUserList
+	} from '@/request/agent.js'
+	import { getMoneyList,rechange,tlement } from '@/request/user.js'
+	import { showTime } from '@/assets/js/tools.js'
+	export default {
+		name: 'Order',
+		data() {
+			return {
+				loading: false,
+				formLabelWidth: '80px',
+				form: {
+					recharge_num: '',
+					image: ''
+				},
+				dialogTableVisible: false,
+				queryInfo: {
+					keyword: '',
+					page: 1,
+					limit: 10
+				},
+				list: [],
+				total: 0,
+				dataloading: false,
+				headers: {}
+			}
+		},
+		created() {
+			this.getList()
+			this.headers['token'] = window.sessionStorage.getItem('token')
+		},
+		methods: {
+			showTime,
+			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.recharge_num) {
+					return that.$msg.error('请输入充值金额')
+				}
+				if (!that.form.image) {
+					return that.$msg.error('请上传充值凭证')
+				}
+				that.loading = true
+				rechange(that.form).then(res => {
+					console.log(res);
+					that.$msg.success('提交成功,请等待审核')
+					that.dialogTableVisible = false
+					that.loading = false
+					that.getList('reload')
+				}).catch(err => {
+					that.loading = false
+				})
+			},
+			getList(type) {
+				let that = this
+				if (type == 'reload') {
+					that.queryInfo.page = 1
+					that.dataloading = false
+				}
+				if (that.dataloading) {
+					return
+				}
+				
+				that.dataloading = true
+				tlement(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;
+	}
+</style>

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

@@ -54,6 +54,13 @@
 					<el-button type="text" v-else>已开通</el-button>
 				</div>
 			</div>
+      <div class="u-item flex" v-if="userInfo.agent_id != 1">
+      	<div class="base">账号有效时间</div>
+      	<div style="display: flex;flex-direction: column;align-items: flex-end;">
+      		<el-button type="text" @click="xfVisible = true">点击续费</el-button>
+          <div>到期时间:{{showTime(userInfo.order_create_endtime) }}</div>
+      	</div>
+      </div>
 		</div>
 		<!-- 		<el-card>
 			<div class="wrap">
@@ -89,6 +96,20 @@
 				</div>
 			</div>
 		</el-card> -->
+    <!-- 账号续费 -->
+    <el-dialog title="提示" :visible.sync="xfVisible" width="350px">
+    	<span style="display: block; padding: 0 0 20px 20px;">账号续费需支付{{baseInfo.code_price}}元</span>
+    
+    	<el-form v-if="userInfo.is_binding == 1">
+    		<el-form-item label="动态口令">
+    			<el-input v-model="dtkl" type="number"></el-input>
+    		</el-form-item>
+    	</el-form>
+    	<span slot="footer" class="dialog-footer" style="width: 300px;">
+    		<el-button @click="xfVisible = false">取 消</el-button>
+    		<el-button type="primary" @click="xfzh">确 定</el-button>
+    	</span>
+    </el-dialog>
 		<!--  添加地址 -->
 		<el-dialog title="设置地址" :visible.sync="adVisible" @close="closeAd" width="600px">
 			<el-form :model="adForm" style="width: 500px;">
@@ -273,8 +294,10 @@
 		checkCode,
 		payAuto,
 		repwd,
-		address
+		address,
+    xfZh
 	} from '@/request/user.js'
+  import { showTime } from '@/assets/js/tools.js'
 	export default {
 		name: 'Order',
 		components: {
@@ -282,6 +305,8 @@
 		},
 		data() {
 			return {
+        xfVisible: false,
+        
 				dtkl: '',
 				xdVisible: false,
 				images: '',
@@ -371,7 +396,19 @@
 			// this.getga()
 		},
 		methods: {
+      showTime,
 			...mapMutations(['setUserInfo', 'setBaseInfo']),
+      xfzh() {
+        let that = this
+        if(that.baseInfo.code_price*1 > that.userInfo.money*1) {
+          return that.$msg.error('您的账号余额不足,请充值后操作')
+        }
+        xfZh().then(res => {
+          that.$msg.success('续费成功')
+          that.getUserInfo()
+          that.xfVisible = false
+        })
+      },
 			closeAd() {
 				this.adVisible = false
 				this.adForm.address = ''