301 lines
		
	
	
		
			6.9 KiB
		
	
	
	
		
			Vue
		
	
	
	
			
		
		
	
	
			301 lines
		
	
	
		
			6.9 KiB
		
	
	
	
		
			Vue
		
	
	
	
<template>
 | 
						|
	<view class="content">
 | 
						|
		<view class="contentList" v-for="item,index in tableList" :key="index">
 | 
						|
			<view class="linebox">
 | 
						|
				<view class="line_title">{{'交易状态'}}</view>
 | 
						|
				<view class="line_content thesuccess">{{'完成'}}</view>
 | 
						|
			</view>
 | 
						|
			<view class="linebox">
 | 
						|
				<view class="line_title">{{'单据编号'}}</view>
 | 
						|
				<view class="line_content">{{item.tradeCode}}</view>
 | 
						|
			</view>
 | 
						|
			<view class="linebox">
 | 
						|
				<view class="line_title">{{'账户类型'}}</view>
 | 
						|
				<view class="line_content">{{item.pkAccountVal}}</view>
 | 
						|
			</view>
 | 
						|
			<view class="linebox">
 | 
						|
				<view class="line_title">{{'交易类型'}}</view>
 | 
						|
				<view class="line_content">{{item.tradeTypeVal}}</view>
 | 
						|
			</view>
 | 
						|
			<view class="linebox">
 | 
						|
				<view class="line_title">{{'交易额度'}}</view>
 | 
						|
				<view class="line_content">{{item.tradeAmount}}</view>
 | 
						|
			</view>
 | 
						|
			<view class="linebox">
 | 
						|
				<view class="line_title">{{'交易余额'}}</view>
 | 
						|
				<view class="line_content">{{item.tradeBalance |numberToCurrency}}</view>
 | 
						|
			</view>
 | 
						|
			<view class="linebox">
 | 
						|
				<view class="line_title">{{'交易时间'}}</view>
 | 
						|
				<view class="line_content">{{item.creationTime}}</view>
 | 
						|
			</view>
 | 
						|
			<view class="linebox">
 | 
						|
				<view class="line_title">{{'备注'}}</view>
 | 
						|
				<view class="line_content">{{item.remarks}}</view>
 | 
						|
			</view>
 | 
						|
		</view>
 | 
						|
		<u-popup :show="sxShow" mode="right" @close="sxShow = false" :closeOnClickOverlay="false">
 | 
						|
			<view class="rightPopup">
 | 
						|
				<view class="popup_top">
 | 
						|
					<view @click="getSearch">{{'筛选'}}</view>
 | 
						|
					<view class="top_red" @click="sxShow = false">{{'返回'}}</view>
 | 
						|
				</view>
 | 
						|
				<view class="typesBox">
 | 
						|
					<view class="typeTitle">
 | 
						|
						{{'交易类型'}}
 | 
						|
					</view>
 | 
						|
					<view class="choiceBox">
 | 
						|
						<view class="flex_btn" @click="clickTransType(item)" v-for="(item,index) in tradeTypeList"
 | 
						|
							:key="index" :class="queryParams.tradeType==item.value?'selectbtn':''">
 | 
						|
							{{item.label}}
 | 
						|
						</view>
 | 
						|
 | 
						|
					</view>
 | 
						|
				</view>
 | 
						|
				<view class="typesBox">
 | 
						|
					<view class="typeTitle">
 | 
						|
						{{'账户类型'}}
 | 
						|
					</view>
 | 
						|
					<view class="choiceBox">
 | 
						|
						<view class="flex_btn" 
 | 
						|
							@click="clickAccountType(item)" 
 | 
						|
							v-for="(item,index) in pkAccountList"
 | 
						|
							:key="index" 
 | 
						|
							:class="queryParams.pkAccount==item.pkId?'selectbtn':''">
 | 
						|
							{{item.accountName}}
 | 
						|
						</view>
 | 
						|
 | 
						|
					</view>
 | 
						|
				</view>
 | 
						|
				<view class="typesBox">
 | 
						|
					<view class="typeTitle">
 | 
						|
						{{'交易时间'}}
 | 
						|
					</view>
 | 
						|
					<view class="choiceBox">
 | 
						|
						<view class="flex_btn" @click="openDate(0)">
 | 
						|
							{{queryParams.startDate?queryParams.startDate:'开始时间'}}
 | 
						|
						</view>
 | 
						|
						<view style="color: #666;">
 | 
						|
							——
 | 
						|
						</view>
 | 
						|
						<view class="flex_btn" @click="openDate(1)">
 | 
						|
							{{queryParams.endDate?queryParams.endDate:'结束时间'}}
 | 
						|
						</view>
 | 
						|
					</view>
 | 
						|
				</view>
 | 
						|
				<u-datetime-picker :closeOnClickOverlay="true" @close="dataShow = false" @cancel="dataShow = false"
 | 
						|
					@confirm="getDate" :show="dataShow" v-model="value1" mode="date"></u-datetime-picker>
 | 
						|
				<view class="popup_bottom">
 | 
						|
					<view class="bottom_btn thebtn1" @click="clearAll">清空筛选条件</view>
 | 
						|
					<view class="bottom_btn thebtn2" @click="()=>{getSearch(),sxShow = false}">
 | 
						|
						确定
 | 
						|
					</view>
 | 
						|
				</view>	
 | 
						|
			</view>
 | 
						|
			
 | 
						|
		</u-popup>
 | 
						|
	</view>
 | 
						|
</template>
 | 
						|
 | 
						|
<script>
 | 
						|
	import * as bal from "@/config/balance.js"
 | 
						|
	import {
 | 
						|
		formatMsToDate
 | 
						|
	} from '@/util/index'
 | 
						|
	export default {
 | 
						|
		data() {
 | 
						|
			return {
 | 
						|
				sxShow: false,
 | 
						|
				queryParams: {
 | 
						|
					pageNum: 1,
 | 
						|
					pageSize: 50,
 | 
						|
					tradeType: "", //交易类型
 | 
						|
					pkAccount: "", //账户类型
 | 
						|
					startDate: "",
 | 
						|
					endDate: ""
 | 
						|
				},
 | 
						|
				tradeTypeList: [], //交易类型
 | 
						|
				pkAccountList: [], //账户类型
 | 
						|
				tableList: [],
 | 
						|
				timeIndex: 0,
 | 
						|
				dataShow: false,
 | 
						|
				value1: ""
 | 
						|
			}
 | 
						|
		},
 | 
						|
		onLoad() {
 | 
						|
			this.getOthers()
 | 
						|
			this.getSearch()
 | 
						|
		},
 | 
						|
		onNavigationBarButtonTap() {
 | 
						|
			this.sxShow = true
 | 
						|
		},
 | 
						|
		methods: {
 | 
						|
			getDate(e) {
 | 
						|
				if (this.timeIndex == 1) {
 | 
						|
					this.queryParams.endDate = formatMsToDate(e.value)
 | 
						|
				} else {
 | 
						|
					this.queryParams.startDate = formatMsToDate(e.value)
 | 
						|
				}
 | 
						|
				this.dataShow = false
 | 
						|
			},
 | 
						|
			openDate(index) {
 | 
						|
				this.timeIndex = index
 | 
						|
				this.dataShow = true
 | 
						|
			},
 | 
						|
 | 
						|
			clickTransType(item) {
 | 
						|
				this.queryParams.tradeType = item.value
 | 
						|
			},
 | 
						|
			clickAccountType(item) {
 | 
						|
				// this.queryParams.pkAccount = item.pkId
 | 
						|
				console.log(item, '....item')
 | 
						|
				this.$set(this.queryParams, 'pkAccount', item.pkId)
 | 
						|
			},
 | 
						|
			getOthers() {
 | 
						|
				bal.getTradeTypeList().then((res) => {
 | 
						|
					this.tradeTypeList = res.data;
 | 
						|
				});
 | 
						|
				bal.getEnumsAccountList().then((res) => {
 | 
						|
					this.pkAccountList = res.data;
 | 
						|
				});
 | 
						|
			},
 | 
						|
			getSearch() {
 | 
						|
				bal.getTransactionDetails(this.queryParams).then(res => {
 | 
						|
					this.tableList = res.rows
 | 
						|
				})
 | 
						|
			},
 | 
						|
			clearAll() {
 | 
						|
				this.sxShow = false
 | 
						|
				Object.assign(this.queryParams, {
 | 
						|
					pageNum: 1,
 | 
						|
					pageSize: 50,
 | 
						|
					tradeType: "", //交易类型
 | 
						|
					pkAccount: "", //账户类型
 | 
						|
					startDate: "",
 | 
						|
				})
 | 
						|
				this.getSearch()
 | 
						|
			},
 | 
						|
		}
 | 
						|
	}
 | 
						|
</script>
 | 
						|
 | 
						|
<style lang="scss" scoped>
 | 
						|
	::v-deep .u-popup__content {
 | 
						|
		overflow: auto;
 | 
						|
	}
 | 
						|
 | 
						|
	.content {
 | 
						|
		background: #F2F2F2;
 | 
						|
 | 
						|
		.contentList {
 | 
						|
			background-color: #fff;
 | 
						|
			margin-top: 8rpx;
 | 
						|
			padding: 10rpx 23rpx;
 | 
						|
 | 
						|
			.linebox {
 | 
						|
				display: flex;
 | 
						|
				align-items: center;
 | 
						|
				font-size: 26rpx;
 | 
						|
				margin: 14rpx 0;
 | 
						|
 | 
						|
				.line_title {
 | 
						|
					min-width: 150rpx;
 | 
						|
					color: #999999;
 | 
						|
				}
 | 
						|
 | 
						|
				.line_content {
 | 
						|
					color: #333;
 | 
						|
				}
 | 
						|
 | 
						|
				.thesuccess {
 | 
						|
					color: #45C242;
 | 
						|
				}
 | 
						|
			}
 | 
						|
		}
 | 
						|
 | 
						|
		.rightPopup {
 | 
						|
			width: 645rpx;
 | 
						|
 | 
						|
			.popup_top {
 | 
						|
				padding: 25rpx;
 | 
						|
				background-color: rgba(176, 196, 222, .45);
 | 
						|
				display: flex;
 | 
						|
				justify-content: space-between;
 | 
						|
				align-items: center;
 | 
						|
				font-size: 28rpx;
 | 
						|
				font-family: Source Han Sans CN;
 | 
						|
				font-weight: 400;
 | 
						|
				color: #333333;
 | 
						|
 | 
						|
				.top_red {
 | 
						|
					color: #005BAC;
 | 
						|
				}
 | 
						|
			}
 | 
						|
			.popup_bottom {
 | 
						|
				display: flex;
 | 
						|
				align-items: center;
 | 
						|
				position: absolute;
 | 
						|
				left: 0;
 | 
						|
				bottom: 0;
 | 
						|
				width: 100%;
 | 
						|
 | 
						|
				.bottom_btn {
 | 
						|
					flex: 1;
 | 
						|
					padding: 36rpx 0;
 | 
						|
					text-align: center;
 | 
						|
					font-size: 28rpx;
 | 
						|
				}
 | 
						|
 | 
						|
				.thebtn1 {
 | 
						|
					background-color: rgba(176, 196, 222, .45);
 | 
						|
					color: #333333;
 | 
						|
				}
 | 
						|
 | 
						|
				.thebtn2 {
 | 
						|
					background-color: #005BAC;
 | 
						|
					color: #ffffff;
 | 
						|
				}
 | 
						|
			}
 | 
						|
 | 
						|
			.typesBox {
 | 
						|
				margin-top: 40rpx;
 | 
						|
 | 
						|
				.typeTitle {
 | 
						|
					padding: 0 24rpx;
 | 
						|
					font-size: 30rpx;
 | 
						|
					font-family: Source Han Sans CN;
 | 
						|
					font-weight: bold;
 | 
						|
					color: #333333;
 | 
						|
				}
 | 
						|
 | 
						|
				.choiceBox {
 | 
						|
					padding: 0 12rpx;
 | 
						|
					display: flex;
 | 
						|
					margin-top: 17rpx;
 | 
						|
					align-items: center;
 | 
						|
					flex-wrap: wrap;
 | 
						|
 | 
						|
					.flex_btn {
 | 
						|
						background-color: rgba(176, 196, 222, .45);
 | 
						|
						display: flex;
 | 
						|
						align-items: center;
 | 
						|
						justify-content: center;
 | 
						|
						padding: 14rpx 48rpx;
 | 
						|
						border-radius: 26rpx;
 | 
						|
						font-size: 24rpx;
 | 
						|
						font-family: Source Han Sans CN;
 | 
						|
						font-weight: 400;
 | 
						|
						color: #333333;
 | 
						|
						margin: 17rpx 5rpx;
 | 
						|
					}
 | 
						|
 | 
						|
					.selectbtn {
 | 
						|
						background-color: #005BAC;
 | 
						|
						color: #ffffff;
 | 
						|
					}
 | 
						|
 | 
						|
				}
 | 
						|
			}
 | 
						|
		}
 | 
						|
	}
 | 
						|
</style> |