hwq 2 年之前
父節點
當前提交
f6f486cdf4
共有 4 個文件被更改,包括 227 次插入14 次删除
  1. 27 0
      api/wallet.js
  2. 7 1
      pages.json
  3. 30 13
      pages/index/rg.vue
  4. 163 0
      pages/index/rgDetail.vue

+ 27 - 0
api/wallet.js

@@ -146,3 +146,30 @@ export function txinfo(data) {
 		data
 		data
 	});
 	});
 }
 }
+
+// 认购列表
+export function index(data) {
+	return request({
+		url: '/Issue/index',
+		method: 'get',
+		data
+	});
+}
+
+// 认购详情
+export function details(data) {
+	return request({
+		url: '/Issue/details',
+		method: 'get',
+		data
+	});
+}
+
+// 认购
+export function upbuynum(data) {
+	return request({
+		url: '/Issue/upbuynum',
+		method: 'get',
+		data
+	});
+}

+ 7 - 1
pages.json

@@ -27,11 +27,17 @@
 				"navigationBarTitleText": "新幣認購"
 				"navigationBarTitleText": "新幣認購"
 			}
 			}
 		},
 		},
+		{
+			"path": "pages/index/rgDetail",
+			"style": {
+				"navigationBarTitleText": "認購詳情"
+			}
+		},
 		{
 		{
 			"path": "pages/index/kf",
 			"path": "pages/index/kf",
 			"style": {
 			"style": {
 				"navigationBarTitleText": "客服"
 				"navigationBarTitleText": "客服"
-				}
+			}
 		},
 		},
 		{
 		{
 			"path": "pages/transaction/transaction",
 			"path": "pages/transaction/transaction",

+ 30 - 13
pages/index/rg.vue

@@ -1,29 +1,29 @@
 <template>
 <template>
 	<view class="content">
 	<view class="content">
-		<view class="top"><image src="../../static/img/rg.png" mode=""></image></view>
+		<view class="top"><image :src="'' + banner" mode=""></image></view>
-		<view class="main" v-for="(item, index) in 1" @click="navTo()">
+		<view class="main" v-for="(item, index) in list" @click="navTo('/pages/index/rgDetail?id=' + item.id)">
 			<view class="main-top flex">
 			<view class="main-top flex">
-				<view class="main-icon"><image src="../../static/img/b1.png" mode=""></image></view>
+				<view class="main-icon"><image :src="item.imgs" mode=""></image></view>
 				<view class="main-top-info">
 				<view class="main-top-info">
-					<view class="main-title">TTC幣第二期認購</view>
+					<view class="main-title clamp">{{ item.name }}</view>
-					<view class="main-btype">認購幣種:GCB</view>
+					<view class="main-btype">認購幣種:{{ item.coinname.toLocaleUpperCase() }}</view>
-					<view class="main-time">開始時間:2021-12-05 00:00:00</view>
+					<view class="main-time">開始時間:{{ item.starttime }}</view>
-					<view class="main-time">結束時間:2021-12-25 00:00:00</view>
+					<view class="main-time">結束時間:{{ item.finishtime }}</view>
 				</view>
 				</view>
 			</view>
 			</view>
-			<view class="xian"><u-line-progress active-color="#2979ff" :percent="100"></u-line-progress></view>
+			<view class="xian"><u-line-progress active-color="#2979ff" :percent="((item.num * 1 - item.sellnum * 1) / (item.num * 1)) * 100"></u-line-progress></view>
 			<view class="main-bottom flex">
 			<view class="main-bottom flex">
 				<view class="main-bottom-item first">
 				<view class="main-bottom-item first">
 					<view class="main-bottom-item-font">發行總量</view>
 					<view class="main-bottom-item-font">發行總量</view>
-					<view class="main-bottom-item-num">30000000.000000</view>
+					<view class="main-bottom-item-num">{{ item.num }}</view>
 				</view>
 				</view>
 				<view class="main-bottom-item">
 				<view class="main-bottom-item">
 					<view class="main-bottom-item-font">認購單價</view>
 					<view class="main-bottom-item-font">認購單價</view>
-					<view class="main-bottom-item-num">1.200000 usdt</view>
+					<view class="main-bottom-item-num">{{ item.price }} {{ item.buycoin.toLocaleUpperCase() }}</view>
 				</view>
 				</view>
 				<view class="main-bottom-item">
 				<view class="main-bottom-item">
 					<view class="main-bottom-item-font">鎖倉時間</view>
 					<view class="main-bottom-item-font">鎖倉時間</view>
-					<view class="main-bottom-item-num">120天</view>
+					<view class="main-bottom-item-num">{{ item.lockday }}天</view>
 				</view>
 				</view>
 			</view>
 			</view>
 		</view>
 		</view>
@@ -31,15 +31,32 @@
 </template>
 </template>
 
 
 <script>
 <script>
+import { index } from '@/api/wallet.js';
 export default {
 export default {
 	data() {
 	data() {
-		return {};
+		return {
+			list: [],
+			banner: ''
+		};
 	},
 	},
 	onLoad() {},
 	onLoad() {},
-	onShow() {},
+	onShow() {
+		this.loadData();
+	},
 	methods: {
 	methods: {
 		navTo() {
 		navTo() {
 			this.$api.msg('認購時間未到,暫不能認購');
 			this.$api.msg('認購時間未到,暫不能認購');
+		},
+		loadData() {
+			index({ page: 1, limit: 1000 }).then(({ data }) => {
+				this.list = data.list;
+				this.banner = data.webissue;
+			});
+		},
+		navTo(url) {
+			uni.navigateTo({
+				url
+			});
 		}
 		}
 	}
 	}
 };
 };

+ 163 - 0
pages/index/rgDetail.vue

@@ -0,0 +1,163 @@
+<template>
+	<view class="content">
+		<view class="main" v-if="info">
+			<view class="main-top flex">
+				<view class="main-icon"><image :src="info.imgs" mode=""></image></view>
+				<view class="main-top-info">
+					<view class="main-title clamp">{{ info.name }}</view>
+					<view class="main-btype">認購幣種:{{ info.coinname.toLocaleUpperCase() }}</view>
+					<view class="main-time">開始時間:{{ info.starttime }}</view>
+					<view class="main-time">結束時間:{{ info.finishtime }}</view>
+				</view>
+			</view>
+			<view class="xian"><u-line-progress active-color="#2979ff" :percent="((info.num * 1 - info.sellnum * 1) / (info.num * 1)) * 100"></u-line-progress></view>
+			<view class="main-bottom flex">
+				<view class="main-bottom-item first">
+					<view class="main-bottom-item-font">發行總量</view>
+					<view class="main-bottom-item-num">{{ info.num }}</view>
+				</view>
+				<view class="main-bottom-item">
+					<view class="main-bottom-item-font">認購單價</view>
+					<view class="main-bottom-item-num">{{ info.price }} {{ info.buycoin.toLocaleUpperCase() }}</view>
+				</view>
+				<view class="main-bottom-item">
+					<view class="main-bottom-item-font">鎖倉時間</view>
+					<view class="main-bottom-item-num">{{ info.lockday }}天</view>
+				</view>
+			</view>
+			<view class="main-bottom flex">
+				<view class="main-bottom-item first">
+					<view class="main-bottom-item-font">參與數量</view>
+					<view class="main-bottom-item-num">{{ info.sellnum }}</view>
+				</view>
+				<view class="main-bottom-item">
+					<view class="main-bottom-item-font">認購上線</view>
+					<view class="main-bottom-item-num">{{ info.allmax }}{{ info.buycoin.toLocaleUpperCase() }}</view>
+				</view>
+				<view class="main-bottom-item">
+					<view class="main-bottom-item-font">單次最低</view>
+					<view class="main-bottom-item-num">{{ info.min }}{{ info.buycoin.toLocaleUpperCase() }}</view>
+				</view>
+			</view>
+			<view class="sr-input flex">
+				<input placeholder="請輸入提幣數量" type="number" v-model="num" />
+				<view class="main-type" v-if="info">{{ info.coinname.toLocaleUpperCase() }}</view>
+			</view>
+			<view class="sr-input flex"></view>
+		</view>
+	</view>
+</template>
+
+<script>
+import { details } from '@/api/wallet.js';
+export default {
+	data() {
+		return {
+			id: '',
+			info: '',
+			money: ''
+		};
+	},
+	onLoad(opt) {
+		this.id = opt.id;
+		this.loadData();
+	},
+	onShow() {},
+	methods: {
+		loadData() {
+			details({ id: this.id }).then(({ data }) => {
+				this.info = data.info;
+				this.money = data.money;
+			});
+		}
+	}
+};
+</script>
+
+<style lang="scss">
+page,
+.content {
+	min-height: 100%;
+	height: auto;
+}
+.main {
+	background: #fff;
+	margin-top: 20rpx;
+	padding: 16rpx 20rpx 24rpx;
+	.main-top {
+		justify-content: flex-start;
+		align-items: center;
+		.main-icon {
+			width: 250rpx;
+			height: 250rpx;
+			image {
+				width: 100%;
+				height: 100%;
+			}
+		}
+		.main-top-info {
+			margin-left: 10rpx;
+			.main-title {
+				font-size: 32rpx;
+				font-weight: bold;
+				color: #707a8a;
+			}
+			.main-btype {
+				margin-top: 6rpx;
+				font-size: 28rpx;
+				color: #707a8a;
+			}
+			.main-time {
+				margin-top: 6rpx;
+				font-size: 28rpx;
+				color: #707a8a;
+			}
+		}
+	}
+	.xian {
+		margin-top: 20rpx;
+	}
+	.main-bottom {
+		padding: 28rpx 16rpx;
+		.first {
+			align-items: flex-start !important;
+		}
+		.main-bottom-item {
+			display: flex;
+			flex-direction: column;
+			align-items: center;
+			.main-bottom-item-font {
+				font-size: 28rpx;
+				color: #707a8a;
+			}
+			.main-bottom-item-num {
+				margin-top: 10rpx;
+				font-size: 28rpx;
+				color: #707a8a;
+			}
+		}
+	}
+	.sr-input {
+		margin-top: 20rpx;
+		display: flex;
+		align-items: center;
+		width: 100%;
+		height: 80rpx;
+		line-height: 80rpx;
+		background: #f5f5f5;
+		border-radius: 20rpx;
+		padding: 0rpx 30rpx;
+		input {
+			width: 292rpx;
+			font-size: 28rpx;
+			padding-left: 30rpx;
+			background: #f5f5f5;
+		}
+		.main-type {
+			font-size: 28rpx;
+			color: #707a8a;
+			margin-right: 20rpx;
+		}
+	}
+}
+</style>