前端Vue选项卡tab切换【切换传不同参数】

news2025/2/27 11:13:07

目录

    • 实例1:源码如下
    • 实例2:实战1:图片如下
    • 实例2:实战1:源码如下
    • 实例3:实战2:图片如下
    • 实例3:实战2:源码如下
    • 最后

适用于所有前端,用uniapp写的

实例1:源码如下

<template>
	<view class="content">
		<view class="tab-container">
			<view class="tab-item" :class="{ active: currentTab === '正常' }" @click="changeTab('正常')">
				正常:50/人
			</view>
			<view class="tab-item" :class="{ active: currentTab === '不活跃' }" @click="changeTab('不活跃')">
				不活跃:1/人
			</view>

			<!-- 	<view class="tab-item" :class="{ active: currentTab === '正常' }" @click="changeTab('正常')">
				<view :class="{ bottomline: currentTab === '互转' }">正常:50/人</view>
			</view>
			<view class="tab-item" :class="{ active: currentTab === '不活跃' }" @click="changeTab('不活跃')">
				<view :class="{ bottomline: currentTab === '互转' }">不活跃:1/人</view>
			</view> -->
		</view>
		<view class="list-container">
			<view v-if="currentTab === '正常'">
				<view class="list-item" v-if="tableData.length == 0">
					暂无积分明细
				</view>
				<view class="list-item" v-for="(item, index) in tableData" :key="index" v-else>
					<view class="right-item">
						<view class="time">{{ item.create_time }}</view>
						<view class="amount-inner">
							<view class="amount">金额:</view>
							<view class="amount-current">{{ item.money }}</view>
						</view>
					</view>
				</view>
			</view>
			<view v-else-if="currentTab === '不活跃'">
				<view class="list-item" v-if="tableData.length == 0">
					暂无积分明细
				</view>
				<view class="list-item" v-for="(item, index) in tableData" :key="index" v-else>
					<view class="right-item">
						<view class="time">{{ item.create_time }}</view>
						<view class="amount-inner">
							<view class="amount">金额:</view>
							<view class="amount-current">{{ item.money }}</view>
						</view>
					</view>
				</view>
			</view>
		</view>
	</view>
</template>
<script>
	export default {

		data() {
			return {
				currentTab: '正常',
				// 从服务器获取全部数据
				tableData: []
			}
		},
		mounted() {
			this.getListData();
		},
		methods: {
			// 切换 Tab 标签后进行不同的逻辑判断
			changeTab(tab) {
				this.currentTab = tab;
				this.tableData = []; // 从服务器获取全部数据
				if (this.currentTab === '正常') {
					this.getListData(0); //调用接口里面传type参数:	0:活跃 		10:不活跃
				} else if (this.currentTab === '不活跃') {
					this.getListData(10);
				}
			},
			// 从服务器获取全部数据
			getListData(_type = 0) {
				let self = this;
				uni.showLoading({
					title: '加载中'
				});
				self._post(
					'user.user/treeList', {
						type: _type
					},
					function(res) {
						self.tableData = res.data.agent_list;
						// console.log(res.data.agent_list,'resss');
					}
				);
			},
		}
	}
</script>

<style scoped>
	.content {
		display: flex;
		flex-direction: column;
	}

	.tab-container {
		display: flex;
	}

	/* 默认样式  tab标题	默认	样式*/
	.tab-item {
		font-size: 28rpx;
		font-family: Microsoft YaHei-Regular, Microsoft YaHei;
		font-weight: 400;
		color: #3D3D3D;
		line-height: 52rpx;
	}

	/* 选中样式 	tab标题	选中	  样式*/
	.tab-item.active {
		font-size: 28rpx;
		font-family: Microsoft YaHei-Regular, Microsoft YaHei;
		font-weight: 400;
		color: #891F50;
		line-height: 52rpx;
	}

	.bottomline {
		border-bottom: 1rpx solid blue;
	}
</style>

实例2:实战1:图片如下

请添加图片描述

实例2:实战1:源码如下

<template>
	<view class="container">
		<!-- 标题 -->
		<view class="title">资产</view>

		<!-- 矩形框 -->
		<view class="box-container">
			<view class="box">
				<view>
					<view class="box-title">购物积分</view>
					<view class="box-moeny">
						<view class="box-value">${{ shoppingPoints }}</view>
						<view class="box-gap"></view>
						<view class="box-change">¥{{ exchangeMoney }}</view>
					</view>
				</view>
			</view>
			<view class="box tops">
				<view>
					<view class="box-title">现金积分</view>
					<view class="box-moeny">
						<view class="box-value">${{ moneyPoints }}</view>
						<view class="box-gap"></view>
						<view class="box-change">¥{{ cashExchange }}</view>
					</view>
				</view>
				<view>
					<view class="box-get" @click="goToDetail">互转/兑换/提现</view>
				</view>
			</view>
		</view>

		<!-- Tab标签切换 -->
		<view class="tab-container">
			<view class="tab-item" :class="{ active: currentTab === '全部' }" @click="changeTab('全部')">
				<view  :class="{ bottomline: currentTab === '全部' }">全部</view>
			</view>
			<view class="tab-item" :class="{ active: currentTab === '推荐' }" @click="changeTab('推荐')">
				<view  :class="{ bottomline: currentTab === '推荐' }">推荐</view>
			</view>
			<view class="tab-item" :class="{ active: currentTab === '领导' }" @click="changeTab('领导')">
				<view  :class="{ bottomline: currentTab === '领导' }">领导</view>
			</view>
			<view class="tab-item" :class="{ active: currentTab === '扩展' }" @click="changeTab('扩展')">
				<view  :class="{ bottomline: currentTab === '扩展' }">扩展</view>
			</view>
			<view class="tab-item" :class="{ active: currentTab === '升星' }" @click="changeTab('升星')">
				<view  :class="{ bottomline: currentTab === '升星' }">升星</view>
			</view>
			<view class="tab-item" :class="{ active: currentTab === '分红' }" @click="changeTab('分红')">
				<view  :class="{ bottomline: currentTab === '分红' }">分红</view>
			</view>
		</view>

		<!-- 列表展示 -->
		<view class="list-container">
			<view v-if="currentTab === '全部'">
				<view class="list-item" v-if="listDataAll.length == 0">
					暂无积分明细
				</view>
				<view class="list-item" v-for="(item, index) in listDataAll" :key="index" v-else>
					<view class="left-item">
						<view class="income-name">收入</view>
						<view class="reward-reason">{{ item.describe }}</view>
					</view>
					<view class="right-item">
						<view class="time">{{ item.create_time }}</view>
						<view class="amount-inner">
							<view class="amount">金额:</view>
							<view class="amount-current">${{ item.money }}</view>
						</view>
					</view>
				</view>
			</view>
			<view v-else-if="currentTab === '推荐'">
				<view class="list-item" v-if="listDataAll.length == 0">
					暂无积分明细
				</view>
				<view class="list-item" v-for="(item, index) in listDataAll" :key="index" v-else>
					<view class="left-item">
						<view class="income-name">收入</view>
						<view class="reward-reason">{{ item.describe }}</view>
					</view>
					<view class="right-item">
						<view class="time">{{ item.create_time }}</view>
						<view class="amount-inner">
							<view class="amount">金额:</view>
							<view class="amount-current">{{ item.money }}</view>
						</view>
					</view>
				</view>
			</view>
			<view v-else-if="currentTab === '领导'">
				<view class="list-item" v-if="listDataAll.length == 0">
					暂无积分明细
				</view>
				<view class="list-item" v-for="(item, index) in listDataAll" :key="index" v-else>
					<view class="left-item">
						<view class="income-name">收入</view>
						<view class="reward-reason">{{ item.describe }}</view>
					</view>
					<view class="right-item">
						<view class="time">{{ item.create_time }}</view>
						<view class="amount-inner">
							<view class="amount">金额:</view>
							<view class="amount-current">{{ item.money }}</view>
						</view>
					</view>
				</view>
			</view>
			<view v-else-if="currentTab === '扩展'">
				<view class="list-item" v-if="listDataAll.length == 0">
					暂无积分明细
				</view>
				<view class="list-item" v-for="(item, index) in listDataAll" :key="index" v-else>
					<view class="left-item">
						<view class="income-name">收入</view>
						<view class="reward-reason">{{ item.describe }}</view>
					</view>
					<view class="right-item">
						<view class="time">{{ item.create_time }}</view>
						<view class="amount-inner">
							<view class="amount">金额:</view>
							<view class="amount-current">{{ item.money }}</view>
						</view>
					</view>
				</view>
			</view>
			<view v-else-if="currentTab === '升星'">
				<view class="list-item" v-if="listDataAll.length == 0">
					暂无积分明细
				</view>
				<view class="list-item" v-for="(item, index) in listDataAll" :key="index" v-else>
					<view class="left-item">
						<view class="income-name">收入</view>
						<view class="reward-reason">{{ item.describe }}</view>
					</view>
					<view class="right-item">
						<view class="time">{{ item.create_time }}</view>
						<view class="amount-inner">
							<view class="amount">金额:</view>
							<view class="amount-current">{{ item.money }}</view>
						</view>
					</view>
				</view>
			</view>
			<view v-else-if="currentTab === '分红'">
				<view class="list-item" v-if="listDataAll.length == 0">
					暂无积分明细
				</view>
				<view class="list-item" v-for="(item, index) in listDataAll" :key="index" v-else>
					<view class="left-item">
						<view class="income-name">收入</view>
						<view class="reward-reason">{{ item.describe }}</view>
					</view>
					<view class="right-item">
						<view class="time">{{ item.create_time }}</view>
						<view class="amount-inner">
							<view class="amount">金额:</view>
							<view class="amount-current">{{ item.money }}</view>
						</view>
					</view>
				</view>
			</view>
		</view>
	</view>
</template>

<script>
	export default {
		data() {
			return {
				currentTab: '全部', // 当前选中的Tab标签
				// 从服务器获取全部数据
				listDataAll: [],
				// 购物积分美元
				shoppingPoints: 0,
				// 购物积分人民币
				exchangeMoney: 0,
				// 现金积分美元
				moneyPoints: 0,
				// 现金积分兑换美元
				cashExchange: 0,
			}
		},
		// 获取初始数据
		mounted() {
			this.getCurrentMoney();
			this.fetchData();
		},
		methods: {
			// 切换 Tab 标签后进行不同的逻辑判断
			changeTab(tab) {
				this.currentTab = tab;
				this.listDataAll = [];
				if (this.currentTab === '全部') {
					this.fetchData(0);
				} else if (this.currentTab === '推荐') {
					this.fetchData(10);
				} else if (this.currentTab === '领导') {
					this.fetchData(20);
				} else if (this.currentTab === '扩展') {
					this.fetchData(30);
				} else if (this.currentTab === '升星') {
					this.fetchData(60);
				} else if (this.currentTab === '分红') {
					this.fetchData(70);
				}
			},
			// 跳转到积分兑换
			goToDetail() {
				uni.navigateTo({
					url: './list/list'
				});
			},
			// 获取实时汇率以及显示内容
			getCurrentMoney() {
				let self = this;
				uni.request({
					url: 'https://vtlte.yunjingwl.com/index.php/api/settings/getExchange',
					method: 'POST',
					data: {
						app_id: this.getAppId(),
					},
					success: (res) => {
						if (res.data && res.statusCode === 200) {
							let exchangeRate = res.data.data.exchange_rate;
							self._get('user.index/detail', {
								url: ''
							}, function(res) {
								if (res.code == 1) {
									self.shoppingPoints = res.data.userInfo.balance;
									self.exchangeMoney = Number(String(Number(res.data.userInfo.balance) *
										Number(exchangeRate))).toFixed(2);
									self.moneyPoints = res.data.userInfo.cash_money;
									self.cashExchange = Number(String(Number(res.data.userInfo.cash_money) *
										Number(exchangeRate))).toFixed(2);
								};
							});
						} else {
							// 请求失败处理
							console.error('请求失败', res);
						}
					},
				});
			},
			// 分类获取积分列表
			fetchData(_type = 0) {
				uni.request({
					url: 'https://vtlte.yunjingwl.com/index.php/api/balance.log/cashBalance',
					method: 'POST',
					data: {
						page: 1,
						list_rows: 20,
						type: _type,
						token: uni.getStorageSync('token') || '',
						app_id: this.getAppId(),
					},
					success: (res) => {
						if (res.data && res.statusCode === 200) {
							if (res.data.code == 1 && res.data.data.list.data.length > 0) {
								this.listDataAll = res.data.data.list.data;
							}
						} else {
							// 请求失败处理
							console.error('请求失败', res);
						}
					},
				});
			}
		},
	};
</script>

<style scoped>
	.container {
		padding: 20rpx;
	}

	.title {
		text-align: center;
		font-size: 36rpx;
		margin-bottom: 20rpx;
	}

	.box-container {
		display: flex;
		flex-direction: column;
		align-items: center;
		margin-bottom: 20rpx;
	}

	.box-detail {
		cursor: pointer
	}

	.box {
		display: flex;
		justify-content: space-between;
		width: 85%;
		padding: 40rpx;
		padding-top: 60rpx;
		padding-bottom: 60rpx;
		background: url('../../static/product/assetspoint.png') no-repeat center center;
		background-size: cover;
		border-radius: 20rpx;
		opacity: 1;
	}

	.tops {
		margin-top: 20rpx;
		background: url('../../static/product/moneypoint.png') no-repeat center center;
		background-size: cover;
	}

	.box-title {
		font-size: 28rpx;
		margin-bottom: 10rpx;
		color: #f2f2f2
	}

	.box-get {
		width: 230rpx;
		height: 70rpx;
		background: #C55287;
		font-size: 28rpx;
		color: #f2f2f2;
		display: flex;
		font-weight: bold;
		justify-content: center;
		align-items: center;
		border-radius: 99rpx 99rpx 99rpx 99rpx;
		opacity: 1;

	}

	.box-moeny {
		display: flex;
		justify-content: space-around;
		align-items: center;
	}

	.box-value {
		font-size: 44rpx;
		color: #f2f2f2;
		font-weight: bold;
	}

	.box-gap {
		font-size: 36rpx;
		color: #f2f2f2;
		margin-left: 2px;

	}

	.box-change {
		font-size: 36rpx;
		color: #f2f2f2;
	}

	.tab-container {
		display: flex;
		justify-content: space-around;
		align-items: center;
		width: 100%;
		margin: 0 auto;
		margin-bottom: 20rpx;
		
	}

	.tab-item {
		text-align: center;
		padding: 0rpx;
		font-size: 36rpx;
		cursor: pointer;
		height: 20px;
	}
	.bottomline {
		border-bottom: 6rpx solid #C55287;
	}

	.list-item {
		display: flex;
		justify-content: space-evenly;
		padding: 10px;
		font-size: 28rpx;
		border-bottom: 1px solid #891F5050;
	}

	.list-container {
		padding: 20rpx;
		background-color: #f2f2f2;
		border-radius: 10rpx;
		font-size: 16rpx;
	}

	.left-item,
	.right-item {
		flex: 1;
	}

	.right-item {
		text-align: right;
	}

	.amount-inner {
		display: flex;
		justify-content: start;
		align-items: center;
		float: right;
	}

	.income-name {
		width:56rpx;
		font-weight: bold;
		border-bottom: 2px solid #891F50;
	}

	.reward-reason {
		margin-top: 5px;
		font-size: 32rpx
	}

	.time {
		font-size: 28rpx;
		font-weight: 300;
	}

	.amount,
	.amount-current {
		margin-top: 5px;
	}

	.amount-current {
		color: #891F50;
		font-size: 32rpx;
		font-weight: bold;
	}
</style>

实例3:实战2:图片如下

请添加图片描述

实例3:实战2:源码如下

<template>
	<view class="container">
		<!-- 标题 -->
		<view class="top-stylrify">
			<view class="title">
				<view class="title-back" @click="backPrivious">&lt;</view>
				<view>现金积分</view>
				<view></view>
			</view>
		</view>
		<!-- 矩形框 -->
		<view class="box-container">
			<view class="box tops">
				<view>
					<view class="box-money">
						<view class="box-title">
							<text>现金积分</text>
							<view class="box-gap"></view>
							<view class="box-change">¥{{ cashExchange }}</view>
						</view>
					</view>
					<view class="box-value">
						<view class="box-value">${{ moneyPoints }}</view>
					</view>
				</view>
				<view>
					<view class="inner-change" @click="exchangePoints">兑换</view>
					<view class="inner-button">
						<view class="inner-button-text" @click="changeToEachOther">互转</view>
						<view class="inner-button-text">提现</view>
					</view>
				</view>
			</view>
		</view>
		<!-- Tab标签切换 -->
		<view class="tab-container">
			<view class="tab-item" :class="{ active: currentTab === '互转' }" @click="changeTab('互转')">
				<view :class="{ bottomline: currentTab === '互转' }">互转</view>
			</view>
			<view class="tab-item" :class="{ active: currentTab === '兑换' }" @click="changeTab('兑换')">
				<view :class="{ bottomline: currentTab === '兑换' }">兑换</view>
			</view>
			<view class="tab-item" :class="{ active: currentTab === '提现' }" @click="changeTab('提现')">
				<view :class="{ bottomline: currentTab === '提现' }">提现</view>
			</view>
		</view>
		<!-- 列表展示 -->
		<view class="list-container">
			<view v-if="currentTab === '互转'">
				<view class="list-item" v-if="listDataAllDetail.length == 0">
					暂无积分明细
				</view>
				<view class="list-item" v-for="(item, index) in listDataAllDetail" :key="index" v-else>
					<view class="left-item">

						<!-- <view class="income-name">{{ item.scene.text }}</view>
						<view class="reward-reason">{{ item.describe }}</view> -->

						<view class="income-name" v-if="item.scene.value == 80">{{ item.user.account }}</view>
						<view class="income-name" v-else-if="item.scene.value == 90">现金积分</view>
						<view class="income-name" v-else>{{ item.scene.text }}</view>



						<view class="reward-reason" v-if="item.scene.value == 80">{{ item.convertuser.account }}</view>
						<view class="income-name" v-else-if="item.scene.value == 90">购物积分</view>
						<view class="reward-reason" v-else>{{ item.describe }}</view>

					</view>
					<view class="right-item">
						<view class="time">{{ item.create_time }}</view>
						<view class="amount-inner">
							<view class="amount">金额:</view>
							<view class="amount-current">{{ item.money }}</view>
						</view>
					</view>
				</view>
			</view>
			<view v-else-if="currentTab === '兑换'">
				<view class="list-item" v-if="listDataAllDetail.length == 0">
					暂无积分明细
				</view>
				<view class="list-item" v-for="(item, index) in listDataAllDetail" :key="index" v-else>
					<view class="left-item">

						<!-- <view class="income-name">{{ item.scene.text }}</view>
						<view class="reward-reason">{{ item.describe }}</view> -->

						<!-- <view class="income-name" v-if="item.scene.value == 80">{{ item.user.account }}</view> -->
						<view class="income-name" v-if="item.scene.value == 90">现金积分</view>
						<view class="income-name" v-else>{{ item.scene.text }}</view>


						<!-- <view class="reward-reason" v-if="item.scene.value == 80">{{ item.convertuser.account }}</view> -->
						<view class="income-name" v-if="item.scene.value == 90">购物积分</view>
						<view class="reward-reason" v-else>{{ item.describe }}</view>
					</view>
					<view class="right-item">
						<view class="time">{{ item.create_time }}</view>
						<view class="amount-inner">
							<view class="amount">金额:</view>
							<view class="amount-current">{{ item.money }}</view>
						</view>
					</view>
				</view>
			</view>
			<view v-else-if="currentTab === '提现'">
				<view class="list-item" v-if="listDataAllMoney.length == 0">
					暂无积分明细
				</view>
				<view class="list-item" v-for="(item, index) in listDataAllMoney" :key="index" v-else>
					<img class="inner-card" src="../../../static/product/card.png">
					<view class="left-item">
						<view class="income-name">{{ item.scene.text }}</view>
						<view class="reward-reason">{{ item.describe }}</view>
					</view>
					<view class="right-item">
						<view class="time">{{ item.create_time }}</view>
						<view class="amount-inner">
							<view class="amount">金额:</view>
							<view class="amount-current">{{ item.money }}</view>
						</view>
					</view>
				</view>
			</view>
		</view>
		<popup-detail v-if="isPopupVisible" @close="closePopup"></popup-detail>
		<popup-exchange-detail v-if="isPopupExchangeVisible" @close="closeDetailPopup"></popup-exchange-detail>
	</view>
</template>

<script>
	// 引入互转弹出组件
	import PopupDetail from '../components/popup/popup.vue';
	// 引入兑换弹出组件
	import PopupExchangeDetail from '../components/popup/popupexchange.vue'
	export default {
		data() {
			return {
				// 当前选中的Tab标签
				currentTab: '互转',
				// 从服务器获取全部数据
				listDataAllDetail: [],
				// 从服务器获取提现列表
				listDataAllMoney: [],
				// 设置互转初始状态为隐藏
				isPopupVisible: false,
				// 设置兑换初始状态未隐藏
				isPopupExchangeVisible: false,
				// 购物积分美元
				// shoppingPoints: 0,
				// 购物积分人民币
				// exchangeMoney: 0,
				// 现金积分美元
				moneyPoints: 0,
				// 现金积分兑换美元
				cashExchange: 0,
			}
		},
		components: {
			'popup-detail': PopupDetail,
			'popup-exchange-detail': PopupExchangeDetail
		},
		// 获取初始数据
		mounted() {
			this.fetchDetail();
			this.fetchCash();
			this.getCurrentMoney();
		},
		methods: {
			// 获取实时汇率以及显示内容
			getCurrentMoney() {
				let self = this;
				uni.request({
					url: 'https://vtlte.yunjingwl.com/index.php/api/settings/getExchange',
					method: 'POST',
					data: {
						app_id: this.getAppId(),
					},
					success: (res) => {
						if (res.data && res.statusCode === 200) {
							let exchangeRate = res.data.data.exchange_rate;
							self._get('user.index/detail', {
								url: ''
							}, function(res) {
								if (res.code == 1) {
									// self.shoppingPoints = res.data.userInfo.balance;
									// self.exchangeMoney = Number(String(Number(res.data.userInfo.balance) *
									// 	Number(exchangeRate))).toFixed(2);

									self.moneyPoints = res.data.userInfo.cash_money;
									self.cashExchange = Number(String(Number(res.data.userInfo
											.cash_money) *
										Number(exchangeRate))).toFixed(2);
								};
							});
						} else {
							// 请求失败处理
							console.error('请求失败', res);
						}
					},
				});
			},
			// 返回资产页面
			backPrivious() {
				uni.navigateBack({
					delta: 1
				});
			},
			// 点击兑换后弹出组件
			exchangePoints() {
				this.isPopupExchangeVisible = true;
			},
			// 点击互转后弹出组件
			changeToEachOther() {
				this.isPopupVisible = true;
			},
			// 切换 Tab 标签后进行不同的逻辑判断
			changeTab(tab) {
				this.currentTab = tab;
				this.listDataAllDetail = [];
				if (this.currentTab === '互转') {
					this.fetchDetail(80)
				} else if (this.currentTab === '兑换') {
					this.fetchDetail(90)
				} else if (this.currentTab === '提现') {
					this.fetchCash()
				}
			},
			// 获取互转和兑换记录
			fetchDetail(_type = 80) {
				uni.request({
					url: 'https://vtlte.yunjingwl.com/index.php/api/balance.log/cashBalance',
					method: 'POST',
					data: {
						page: 1,
						list_rows: 20,
						type: _type,
						token: uni.getStorageSync('token') || '',
						app_id: this.getAppId(),
					},
					success: (res) => {
						if (res.data && res.statusCode === 200) {
							if (res.data.code == 1) {
								this.listDataAllDetail = res.data.data.list.data;
							}
						} else {
							// 请求失败处理
							console.error('请求失败', res);
						}
					},
				});
			},
			// 获取提现记录
			fetchCash() {
				this._get('user.cash/lists', {
					status: -1,
					page: 1,
					list_rows: 20,
				}, function(res) {
					if (res.code == 1 && res.data.list.data.length > 0) {
						this.listDataAllMoney = res.data.list.data
					}
				});
			},
			// 点击关闭按钮后,弹出页面关闭
			closePopup() {
				this.isPopupVisible = false;
			},
			// 点击关闭按钮后,弹出页面关闭
			closeDetailPopup() {
				this.isPopupExchangeVisible = false;
			}
		},
	};
</script>

<style scoped>
	page{
		background: #FBFBFB;
	}
	.container {
		padding: 10rpx;
	}

	.title {
		text-align: center;
		font-size: 36rpx;
		margin-bottom: 20rpx;
		display: flex;
		align-items: center;
		justify-content: space-between;
	}



	.box-container {
		display: flex;
		flex-direction: column;
		align-items: center;
		margin-bottom: 20rpx;
	}

	.box-detail {
		cursor: pointer
	}


	/**详情积分中的样式开始**/
	.box {
		display: flex;
		justify-content: space-between;
		width: 93%;
		padding-left: 20rpx;
		padding-right: 20rpx;
		padding-top: 60rpx;
		padding-bottom: 60rpx;
		background-size: cover;
		border-radius: 20rpx;
		opacity: 1;
	}

	.tops {
		margin-top: 10rpx;
		background: url('../../../static/product/moenychange.png') no-repeat center center;
		background-size: cover;
	}

	.box-money {
		display: flex;
		align-items: center;
	}

	.box-title {
		margin-bottom: 10rpx;
		/* color: #f2f2f2 */
		display: flex;
		align-items: center;
	}

	.box-title text {
		font-size: 36rpx;
		font-family: Microsoft YaHei-Regular, Microsoft YaHei;
		font-weight: 400;
		color: #FFFFFF;
		line-height: 52rpx;
	}

	.box-gap {
		padding: 0 5rpx;
		color: #FFF;
		font-size: 36rpx;
	}
	
	.box-change{
		font-size: 36rpx;
		font-family: Microsoft YaHei-Regular, Microsoft YaHei;
		font-weight: 400;
		color: #FFFFFF;
		line-height: 52rpx;
	}

	.inner-button {
		display: flex;
		justify-content: center;
		align-items: center;
	}

	.inner-button-text {
		/* color: #f2f2f2; */
		/* padding: 15rpx;
		padding-left: 30rpx;
		padding-right: 30rpx; */
		
		width: 160rpx;
		height: 72rpx;
		background: #C55287;
		border-radius: 16rpx 16rpx 16rpx 16rpx;
		opacity: 1;
		
		
		margin-left: 20rpx;
		border-radius: 10rpx;
		/* font-size: 36rpx; */
		
		font-size: 40rpx;
		font-family: Microsoft YaHei-Regular, Microsoft YaHei;
		font-weight: 400;
		color: #FFFFFF;
		line-height: 52rpx;
		display: flex;
		justify-content: center;
		align-items: center;
	}

	.inner-change {
		/* font-size: 36rpx; */
		position: relative;
		/* color: #f2f2f2; */
		text-align: center;
		top: -50rpx;
		right: -35%;
		
		font-size: 44rpx;
		font-family: Microsoft YaHei-Regular, Microsoft YaHei;
		font-weight: 400;
		color: #FFFFFF;
		line-height: 52rpx;
	}

	/**详情积分中的样式结束**/
	.box-get {
		width: 200rpx;
		height: 70rpx;
		background: #C55287;
		font-size: 24rpx;
		color: #f2f2f2;
		display: flex;
		font-weight: bold;
		justify-content: center;
		align-items: center;
		border-radius: 99rpx 99rpx 99rpx 99rpx;
		opacity: 1;

	}

	.box-value {
		font-size: 56rpx;
		color: #f2f2f2;
		font-weight: bold;
	}

	.tab-container {
		display: flex;
		justify-content: space-around;
		align-items: center;
		width: 100%;
		margin: 20rpx auto;
		height: 86rpx;
		background: #FFFFFF;
		border-radius: 16rpx 16rpx 16rpx 16rpx;
		opacity: 1;
	}

	.tab-item {
		text-align: center;
		padding: 0rpx;
		cursor: pointer;
		height: 20px;
		
		/* font-size: 36rpx; */
		/* color: red; */
		
		font-size: 36rpx;
		font-family: Microsoft YaHei-Regular, Microsoft YaHei;
		font-weight: 400;
		color: #3D3D3D;
		line-height: 52rpx;
	}

	.active::before{
		display: block;
		content: "";
		width: 76rpx;
		height: 12rpx;
		background: #891F50;
		border-radius: 238rpx 238rpx 238rpx 238rpx;
		position: absolute;
		top: 32rpx;
		opacity: 0.8;
	}

	.list-item {
		display: flex;
		justify-content: space-evenly;
		align-items: center;
		padding: 10px;
		font-size: 28rpx;
		border-bottom: 1px solid #FFD2E7;	
	}

	/* .bottomline {
		border-bottom: 6rpx solid #C55287;
	} */

	.list-container {
		padding: 20rpx;
		background-color: #f2f2f2;
		border-radius: 10rpx;
		font-size: 16rpx;
	}

	.inner-card {
		width: 80rpx;
		height: 60rpx;
		padding-right: 10rpx;
	}

	.left-item,
	.right-item {
		flex: 1;
	}

	.right-item {
		text-align: right;
	}

	.amount-inner {
		display: flex;
		justify-content: start;
		align-items: center;
		float: right;
	}

	.income-name {
		font-weight: bold;
	}

	.reward-reason {
		margin-top: 5px;
		font-size: 28rpx
	}

	.time {
		font-size: 28rpx;
		font-weight: 300;
	}

	.amount,
	.amount-current {
		margin-top: 5px;
	}

	.amount-current {
		color: #891F50;
		font-size: 32rpx;
		font-weight: bold;
	}
</style>

最后

感觉文章好的话记得点个心心和关注和收藏,有错的地方麻烦指正一下,如果需要转载,请标明出处,多谢!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1158448.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【k8s】pod进阶

一、资源限制 1、资源限制的概念 当定义 Pod 时可以选择性地为每个容器设定所需要的资源数量。 最常见的可设定资源是 CPU 和内存大小&#xff0c;以及其他类型的资源。 当为 Pod 中的容器指定了 request 资源时&#xff0c;调度器就使用该信息来决定将 Pod 调度到哪个节点上…

pt权重转onnx记录

方法: 1.一般YOLO 会自带一个权重pt转onnx模型的代码 export.py 2.打开export.py &#xff0c;我们运行该文件可以通过命令行运行&#xff0c;对照修改argument参数即可 3.运行命令行如下&#xff1a; python ./models/export.py --weights ./models/best.pt weights&#x…

1、Flink基础概念

1、基础知识 &#xff08;1&#xff09;、数据流上的有状态计算 &#xff08;2&#xff09;、框架和分布式处理引擎&#xff0c;用于对无界和有界数据流进行有状态计算。 &#xff08;3&#xff09;、事件驱动型应用&#xff0c;有数据流就进行处理&#xff0c;无数据流就不…

探路、寻解,SaaS企业的“中国路径”在哪?

当下的中国SaaS企业&#xff0c;需要建立的是一个可持续增长模式。 这种可持续增长是基于企业所在赛道的价值思考&#xff0c;即相信SaaS能给企业带来的价值&#xff0c;基于需求不断打磨产品&#xff0c;寻找优质的企业进行服务&#xff0c;与优质企业共生共长&#xff0c;同…

OpenCV学习(七)——图像阈值

图像阈值 7.1 简单阈值7.2 自适应阈值 7.1 简单阈值 cv2.threshold(src, thresh, maxval, type, dstNone)图像阈值 src&#xff1a;源图像&#xff0c;应该为灰度图。thresh&#xff1a;阈值&#xff0c;像素值小于阈值&#xff0c;则将其设置为0&#xff0c;否则将其设置为最…

使用 Curl 和 DomCrawler 下载抖音视频链接并存储到指定文件夹

项目需求 假设我们需要从抖音平台上下载一些特定的视频&#xff0c;以便进行分析、编辑或其他用途。为了实现这个目标&#xff0c;我们需要编写一个爬虫程序来获取抖音视频的链接&#xff0c;并将其保存到本地文件夹中。 目标分析 在开始编写爬虫之前&#xff0c;我们需要了…

2021年09月 Python(三级)真题解析#中国电子学会#全国青少年软件编程等级考试

Python等级考试&#xff08;1~6级&#xff09;全部真题・点这里 一、单选题&#xff08;共25题&#xff0c;每题2分&#xff0c;共50分&#xff09; 第1题 使用map函数可以实现列表数据元素类型的转换&#xff0c;而无需通过循环。则将列表L[‘1’,‘3’,‘5’,‘7’,‘9’]转…

deeplog打印损失

deeplog 即 日志异常检测工具&#xff0c;该工具使用torchtrain整合训练代码 step1 查找文件 找到安装包 torchtrain, 打开 module.py 文件 删除文件夹 __pycache__ step2 修改文件 # Loop over each epochdef fit(self, X, y,epochs 10,batch_size 32,learn…

一图看懂CodeArts Release三大特性,带你玩转发布管理服务

体验通道&#xff1a; 发布管理 CodeArts Release-华为云

基于深度学习的语音识别算法的设计与实现

收藏和点赞&#xff0c;您的关注是我创作的动力 文章目录 概要 一、课题内容二、需求分析2.1 算法需求分析2.2 语音录制2.3 声学模型2.4 语言模型2.5 训练集和测试集2.6 深度神经网络 三 算法设计原理3.1 语音识别系统3.1.1 声学模型3.1.2 语言模型3.1.3 发音词典 四 简单问答…

树结构及其算法-二叉树节点的插入

目录 树结构及其算法-二叉树节点的插入 C代码 树结构及其算法-二叉树节点的插入 二叉树节点插入的情况和查找相似&#xff0c;重点是插入后仍要保持二叉查找树的特性。如果插入的节点已经在二叉树中&#xff0c;就没有插入的必要了&#xff0c;如果插入的值不在二叉树中&…

AI开源 - LangChain UI 之 Flowise

原文&#xff1a;AI开源 - LangChain UI 之 Flowise 一、Flowise 简介 Flowise 是一个为 LangChain 设计的用户界面(UI)&#xff0c;使得使用 LangChain 变得更加容易&#xff08;低代码模式&#xff09;。 通过拖拽可视化的组件&#xff0c;组建工作流&#xff0c;就可以轻…

基于GB28181-2022实现web无插件播放H265视频

目前发布的GB28181-2022增加了对前端设备视频H265编码格式的支持&#xff0c;所以实现国标平台通过浏览器对H265视频流的无插件的解码播放将是未来的趋势。 目前大多的方案都是通过平台端把H265转码为H264&#xff0c;再推送到web前端进行解码播放&#xff0c;这种方式因为需要…

基于深度学习的水果识别 计算机竞赛

1 前言 Hi&#xff0c;大家好&#xff0c;这里是丹成学长&#xff0c;今天做一个 基于深度学习的水果识别demo 这是一个较为新颖的竞赛课题方向&#xff0c;学长非常推荐&#xff01; &#x1f9ff; 更多资料, 项目分享&#xff1a; https://gitee.com/dancheng-senior/pos…

Web3时代:探索DAO的未来之路

Web3 的兴起不仅代表着技术进步&#xff0c;更是对人类协作、创新和价值塑造方式的一次重大思考。在 Web3 时代&#xff0c;社区不再仅仅是共同兴趣的聚集点&#xff0c;而变成了一个价值交流和创新的平台。 去中心化&#xff1a;超越技术的革命 去中心化不仅仅是 Web3 的技术…

【运维心得】系统欢迎界面卡住的罪魁祸首

系统在登录过程中&#xff0c;有个欢迎界面&#xff0c;一般情况下&#xff0c;即使性能再查的电脑&#xff0c;大概1&#xff5e;3分钟也就进入系统桌面了。但这次的问题比较奇怪&#xff0c;始终停留欢迎界面&#xff0c;让人误以为是系统问题。 但到最后出现了反转&#xf…

商城性能测试LoadRunner快速上手教学

软件介绍 Virtual User Generator &#xff0c;记录用户流程并创建一个自动化性能测试脚本Controller&#xff0c;单一控制点&#xff0c;轻松、有效地控制所有Vuser&#xff0c;执行期间监控场景性能Analysis&#xff0c;生成性能测试报告&#xff0c;以图表形式呈现。 由于…

一键添加色彩变幻效果,视频剪辑从未如此简单!

在视频制作过程中&#xff0c;给视频添加特效是必不可少的环节。而其中&#xff0c;色彩变幻效果作为一种常用的特效&#xff0c;能够为视频增添独特的氛围和视觉冲击力。然而&#xff0c;对于许多初学者来说&#xff0c;如何批量给视频添加色彩变幻效果特效功能却是一个难题。…

从0到1了解metasploit上线原理

在渗透的过程中拿到权限后通常会进行上线cs/msf的操作&#xff0c;我们了解上线的原理后&#xff0c;无论是对编写远控&#xff0c;还是绕过杀软帮助都很大。 前言 在渗透的过程中拿到权限后通常会进行上线cs/msf的操作&#xff0c;我们了解上线的原理后&#xff0c;无论是编…

不容错过的2023年度线框图工具Top 8

线框图工具可以快速呈现设计师的灵感。在任何项目的开始阶段&#xff0c;选择一个方便的线框图工具都是最好的选择。如今&#xff0c;线框图工具的出现并不夸张。各种工具都很容易获得&#xff0c;但选择太多确实很容易给设计师的选择带来困难。 买东西都讲性价比&#xff0c;…