Compare commits
10 Commits
1f603e6497
...
1ac1e6fcfc
Author | SHA1 | Date | |
---|---|---|---|
![]() |
1ac1e6fcfc | ||
![]() |
9be95aa741 | ||
![]() |
0aaaebf3f7 | ||
![]() |
1457971005 | ||
![]() |
7373b5b20b | ||
![]() |
b04f4bda4c | ||
![]() |
c8267945ee | ||
![]() |
d9db671811 | ||
![]() |
66e1c67a76 | ||
![]() |
0965f93131 |
@ -40,6 +40,10 @@ export default {
|
|||||||
// order
|
// order
|
||||||
ORDER_HISTORY: "order/history",
|
ORDER_HISTORY: "order/history",
|
||||||
ORDER: "/order",
|
ORDER: "/order",
|
||||||
ORDER_DATE_PROFIT: "/order/date-profit"
|
ORDER_DATE_PROFIT: "/order/date-profit",
|
||||||
|
|
||||||
|
// notification
|
||||||
|
NOTIFICATION_LIST: "/notification/history",
|
||||||
|
NOTIFICATION_UNREAD: "/notification/un-read",
|
||||||
|
NOTIFICATION_READ: "/notification/read",
|
||||||
};
|
};
|
||||||
|
@ -828,7 +828,7 @@ body .van-toast .van-toast__icon {
|
|||||||
width: 18.933vw;
|
width: 18.933vw;
|
||||||
height: 6vw;
|
height: 6vw;
|
||||||
margin-left: 0;
|
margin-left: 0;
|
||||||
margin-bottom: -1.6vw;
|
/* margin-bottom: -1.6vw; */
|
||||||
}
|
}
|
||||||
|
|
||||||
/* .page {
|
/* .page {
|
||||||
|
@ -34,7 +34,7 @@ const submit = () => {
|
|||||||
</div>
|
</div>
|
||||||
<div class="van-nav-bar__title van-ellipsis">NẠP ĐIỂM</div>
|
<div class="van-nav-bar__title van-ellipsis">NẠP ĐIỂM</div>
|
||||||
<router-link to="/RechargeRecord" class="van-nav-bar__right">
|
<router-link to="/RechargeRecord" class="van-nav-bar__right">
|
||||||
<span class="nav-right">Lịch sử quy đổi điểm</span>
|
<span class="nav-right" style="font-size: 3.5vw;">Lịch sử quy đổi điểm</span>
|
||||||
</router-link>
|
</router-link>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -33,7 +33,7 @@ const name = listAddress.filter((add) => add.id === Number(idUrl))[0].name
|
|||||||
v-for="girl in currentAdd.data"
|
v-for="girl in currentAdd.data"
|
||||||
>
|
>
|
||||||
<van-image :src="girl.img_url[0]" />
|
<van-image :src="girl.img_url[0]" />
|
||||||
<span class="rig-name">A01</span>
|
<span class="rig-name">{{girl.vn_vn}}</span>
|
||||||
</van-grid-item>
|
</van-grid-item>
|
||||||
</van-grid>
|
</van-grid>
|
||||||
</div>
|
</div>
|
||||||
|
@ -15004,3 +15004,136 @@ export const detailGirls = [
|
|||||||
]
|
]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|
||||||
|
export const girlRank = [
|
||||||
|
{
|
||||||
|
"id": 98,
|
||||||
|
"name": "EM NGỌC",
|
||||||
|
"img": "https://api.canalis.vip//xuanfei/20231028/62a5b51f5dc5e33149cfe8799a5bd864.jpg",
|
||||||
|
"price": "350",
|
||||||
|
"city_name": " Phú Nhuận",
|
||||||
|
"lat": "10.7987960000",
|
||||||
|
"lng": "106.6797670000",
|
||||||
|
"address": "Phan Đình Phùng, Phú Nhuận,Hồ Chí Minh, Vietnam",
|
||||||
|
"phone": "0823231219",
|
||||||
|
"birthday": "1993",
|
||||||
|
"comment_total": 45
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 81,
|
||||||
|
"name": "❤️ THÚY DIỄM ❤️",
|
||||||
|
"img": "https://api.canalis.vip//xuanfei/20230410/f5d2f44d538482e643ffca6604f06710.jpg",
|
||||||
|
"price": "200",
|
||||||
|
"city_name": " Phú Nhuận",
|
||||||
|
"lat": "10.7981110000",
|
||||||
|
"lng": "106.6795540000",
|
||||||
|
"address": "Phan Đình Phùng, Phú Nhuận,Hồ Chí Minh, Vietnam",
|
||||||
|
"phone": "0373605946",
|
||||||
|
"birthday": "1987",
|
||||||
|
"comment_total": 5
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 75,
|
||||||
|
"name": "ANH THƯ",
|
||||||
|
"img": "https://api.canalis.vip//xuanfei/20230412/cbabc0a7b2fa078bf83fc48d33b4e23d.jpg",
|
||||||
|
"price": "300",
|
||||||
|
"city_name": " Thủ Đức",
|
||||||
|
"lat": "10.8296950000",
|
||||||
|
"lng": "106.7304602000",
|
||||||
|
"address": "Đường 18, Thủ Đức,Hồ Chí Minh, Vietnam",
|
||||||
|
"phone": "0348615694",
|
||||||
|
"birthday": "1995",
|
||||||
|
"comment_total": 13
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 79,
|
||||||
|
"name": "✅ TUỆ VY ✅",
|
||||||
|
"img": "https://api.canalis.vip//xuanfei/20230410/d5e69b2231040918df3bff5857146bbd.jpg",
|
||||||
|
"price": "500",
|
||||||
|
"city_name": " Quận 2",
|
||||||
|
"lat": "10.7972745000",
|
||||||
|
"lng": "106.7305140000",
|
||||||
|
"address": "Đường số 19, Quận 2,Hồ Chí Minh, Vietnam",
|
||||||
|
"phone": "0983394021",
|
||||||
|
"birthday": "1992",
|
||||||
|
"comment_total": 7
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 73,
|
||||||
|
"name": "MIU MIU",
|
||||||
|
"img": "https://api.canalis.vip//xuanfei/20231029/986f38fc1bc0fb02be9fe05cd219e6da.jpg",
|
||||||
|
"price": "500",
|
||||||
|
"city_name": " Quận 8",
|
||||||
|
"lat": "10.7485650000",
|
||||||
|
"lng": "106.6871310000",
|
||||||
|
"address": "Dương Bá Trạc, Quận 8,Hồ Chí Minh, Vietnam",
|
||||||
|
"phone": "0353223236",
|
||||||
|
"birthday": "2001",
|
||||||
|
"comment_total": 2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 85,
|
||||||
|
"name": "TÚ ANH",
|
||||||
|
"img": "https://api.canalis.vip//xuanfei/20230412/5c03364c2aaa74da2f1d777df996c2fa.jpg",
|
||||||
|
"price": "600",
|
||||||
|
"city_name": " Gò Vấp",
|
||||||
|
"lat": "10.8387051000",
|
||||||
|
"lng": "106.6497740000",
|
||||||
|
"address": "Quang Trung, Gò Vấp,Hồ Chí Minh, Vietnam",
|
||||||
|
"phone": "0352944838",
|
||||||
|
"birthday": "1992",
|
||||||
|
"comment_total": 152
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 68,
|
||||||
|
"name": "HẠNH DUNG",
|
||||||
|
"img": "https://api.canalis.vip//xuanfei/20230410/b134e2e4a1e27a8d4c5b43193342d140.jpg",
|
||||||
|
"price": "400",
|
||||||
|
"city_name": " Tân Phú",
|
||||||
|
"lat": "10.8002010000",
|
||||||
|
"lng": "106.6298440000",
|
||||||
|
"address": "Tân Sơn Nhì, Tân Phú,Hồ Chí Minh, Vietnam",
|
||||||
|
"phone": "0812667998",
|
||||||
|
"birthday": "1993",
|
||||||
|
"comment_total": 7
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 90,
|
||||||
|
"name": "TUỆ NHI",
|
||||||
|
"img": "https://api.canalis.vip//xuanfei/20230410/1f4f449e4460882e8aa45f371992d833.jpg",
|
||||||
|
"price": "600",
|
||||||
|
"city_name": " Phú Nhuận",
|
||||||
|
"lat": "10.7985638000",
|
||||||
|
"lng": "106.6877631000",
|
||||||
|
"address": "Phan Xích Long, Phú Nhuận,Hồ Chí Minh, Vietnam",
|
||||||
|
"phone": "0789588350",
|
||||||
|
"birthday": "1996",
|
||||||
|
"comment_total": 92
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 77,
|
||||||
|
"name": "Khánh Linh ❤️",
|
||||||
|
"img": "https://api.canalis.vip//xuanfei/20230410/cba299e4226feea00c46634bbd8eb7cd.jpg",
|
||||||
|
"price": "700",
|
||||||
|
"city_name": " Thủ Đức",
|
||||||
|
"lat": "10.8299050000",
|
||||||
|
"lng": "106.7305972000",
|
||||||
|
"address": "Đường 18, Thủ Đức,Hồ Chí Minh, Vietnam",
|
||||||
|
"phone": "0389126676",
|
||||||
|
"birthday": "2002",
|
||||||
|
"comment_total": 3
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 92,
|
||||||
|
"name": "LAN LY",
|
||||||
|
"img": "https://api.canalis.vip//xuanfei/20231028/a2c82caf252c5d10b41d2915114f6358.jpg",
|
||||||
|
"price": "350",
|
||||||
|
"city_name": " Gò Vấp",
|
||||||
|
"lat": "10.8476427000",
|
||||||
|
"lng": "106.6682653000",
|
||||||
|
"address": "Lê Đức Thọ, Gò Vấp,Hồ Chí Minh, Vietnam",
|
||||||
|
"phone": "0984620914",
|
||||||
|
"birthday": "1991",
|
||||||
|
"comment_total": 29
|
||||||
|
}
|
||||||
|
]
|
@ -3,6 +3,7 @@ import { ref } from "vue";
|
|||||||
import axios from "@/axios";
|
import axios from "@/axios";
|
||||||
import API from "@/api";
|
import API from "@/api";
|
||||||
import { handleRequest } from "@/helpers/request";
|
import { handleRequest } from "@/helpers/request";
|
||||||
|
import { girlRank} from "@/components/home/index.js";
|
||||||
|
|
||||||
const games = ref([]);
|
const games = ref([]);
|
||||||
const getGameList = () => {
|
const getGameList = () => {
|
||||||
@ -21,27 +22,27 @@ getGameList();
|
|||||||
<div class="convention-hall page">
|
<div class="convention-hall page">
|
||||||
<div class="nav-bar van-nav-bar van-hairline--bottom">
|
<div class="nav-bar van-nav-bar van-hairline--bottom">
|
||||||
<div class="van-nav-bar__content">
|
<div class="van-nav-bar__content">
|
||||||
<div class="van-nav-bar__title van-ellipsis">XẾP HẠNG</div>
|
<div class="van-nav-bar__title van-ellipsis">XẾP HẠNG IDOL</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="convention-item">
|
<div class="convention-item">
|
||||||
<div class="left">
|
<!-- <div class="left">-->
|
||||||
<div class="van-sidebar">
|
<!-- <div class="van-sidebar">-->
|
||||||
<a class="van-sidebar-item van-sidebar-item--select"
|
<!-- <a class="van-sidebar-item van-sidebar-item--select"-->
|
||||||
><div class="van-sidebar-item__text">Tất cả</div></a
|
<!-- ><div class="van-sidebar-item__text">Tất cả</div></a-->
|
||||||
>
|
<!-- >-->
|
||||||
</div>
|
<!-- </div>-->
|
||||||
</div>
|
<!-- </div>-->
|
||||||
<div class="right">
|
<div class="right">
|
||||||
<div class="list-wrapper van-pull-refresh">
|
<div class="list-wrapper van-pull-refresh">
|
||||||
<div class="van-pull-refresh__track" style="transition-duration: 0ms">
|
<div class="van-pull-refresh__track" style="transition-duration: 0ms">
|
||||||
<div class="van-pull-refresh__head"></div>
|
<div class="van-pull-refresh__head"></div>
|
||||||
<div class="van-grid van-hairline--top">
|
<div class="van-grid van-hairline--top">
|
||||||
<router-link
|
<router-link
|
||||||
v-for="(g, idx) in games"
|
v-for="(g, idx) in girlRank"
|
||||||
:key="idx"
|
:key="idx"
|
||||||
:to="{ name: 'Lottery', query: { id: g.id } }"
|
|
||||||
class="van-grid-item"
|
class="van-grid-item"
|
||||||
|
:to="`/HomeDetail/${g.id}`"
|
||||||
style="flex-basis: 50%"
|
style="flex-basis: 50%"
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
@ -50,52 +51,46 @@ getGameList();
|
|||||||
<div class="game_item_img van-image">
|
<div class="game_item_img van-image">
|
||||||
<img
|
<img
|
||||||
class="van-image__img"
|
class="van-image__img"
|
||||||
src="@/assets/images/common/bgGirl.png"
|
:src="g.img"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<span>{{ g.name }}</span
|
<span>TOP {{ idx+1 }}</span>
|
||||||
|
<span> {{ g.name }}</span
|
||||||
><span></span>
|
><span></span>
|
||||||
</div>
|
</div>
|
||||||
</router-link>
|
</router-link>
|
||||||
<!-- <div class="van-grid-item" style="flex-basis: 50%">
|
|
||||||
<div
|
|
||||||
class="van-grid-item__content van-grid-item__content--center van-hairline"
|
|
||||||
>
|
|
||||||
<div class="game_item_img van-image">
|
|
||||||
<img
|
|
||||||
class="van-image__img"
|
|
||||||
src="@/assets/images/common/bgGirl.png"
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
<span>BỎ PHIẾU 2</span><span></span>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="van-grid-item" style="flex-basis: 50%">
|
<div class="van-grid-item" style="flex-basis: 50%">
|
||||||
<div
|
<div
|
||||||
class="van-grid-item__content van-grid-item__content--center van-hairline"
|
class="van-grid-item__content van-grid-item__content--center van-hairline"
|
||||||
>
|
>
|
||||||
<div class="game_item_img van-image">
|
|
||||||
<img
|
|
||||||
class="van-image__img"
|
|
||||||
src="@/assets/images/common/bgGirl.png"
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
<span>BỎ PHIẾU 3</span><span></span>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="van-grid-item" style="flex-basis: 50%">
|
<!-- <div class="van-grid-item" style="flex-basis: 50%">-->
|
||||||
<div
|
<!-- <div-->
|
||||||
class="van-grid-item__content van-grid-item__content--center van-hairline"
|
<!-- class="van-grid-item__content van-grid-item__content--center van-hairline"-->
|
||||||
>
|
<!-- >-->
|
||||||
<div class="game_item_img van-image">
|
<!-- <div class="game_item_img van-image">-->
|
||||||
<img
|
<!-- <img-->
|
||||||
class="van-image__img"
|
<!-- class="van-image__img"-->
|
||||||
src="@/assets/images/common/bgGirl.png"
|
<!-- src="@/assets/images/common/bgGirl.png"-->
|
||||||
/>
|
<!-- />-->
|
||||||
</div>
|
<!-- </div>-->
|
||||||
<span>ĐẶC BIỆT</span><span></span>
|
<!-- <span>BỎ PHIẾU 3</span><span></span>-->
|
||||||
</div>
|
<!-- </div>-->
|
||||||
</div> -->
|
<!-- </div>-->
|
||||||
|
<!-- <div class="van-grid-item" style="flex-basis: 50%">-->
|
||||||
|
<!-- <div-->
|
||||||
|
<!-- class="van-grid-item__content van-grid-item__content--center van-hairline"-->
|
||||||
|
<!-- >-->
|
||||||
|
<!-- <div class="game_item_img van-image">-->
|
||||||
|
<!-- <img-->
|
||||||
|
<!-- class="van-image__img"-->
|
||||||
|
<!-- src="@/assets/images/common/bgGirl.png"-->
|
||||||
|
<!-- />-->
|
||||||
|
<!-- </div>-->
|
||||||
|
<!-- <span>ĐẶC BIỆT</span><span></span>-->
|
||||||
|
<!-- </div>-->
|
||||||
|
<!-- </div>-->
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -7,7 +7,6 @@ import { formatNumber } from "@/helpers/format";
|
|||||||
import { useUserStore } from "@/store/user";
|
import { useUserStore } from "@/store/user";
|
||||||
import { storeToRefs } from "pinia";
|
import { storeToRefs } from "pinia";
|
||||||
import { showFailToast } from "vant";
|
import { showFailToast } from "vant";
|
||||||
import { Popup } from "vant";
|
|
||||||
|
|
||||||
import axios from "@/axios";
|
import axios from "@/axios";
|
||||||
import API from "@/api";
|
import API from "@/api";
|
||||||
@ -156,6 +155,7 @@ const submit = () => {
|
|||||||
amount.value = 0;
|
amount.value = 0;
|
||||||
choices.value.forEach((e) => (e.active = 0));
|
choices.value.forEach((e) => (e.active = 0));
|
||||||
isShowConfirmOrder.value = false;
|
isShowConfirmOrder.value = false;
|
||||||
|
userStore.updateUserInfo({ money: res.balance });
|
||||||
} else {
|
} else {
|
||||||
showFailToast(res.message ?? "Lỗi bình chọn");
|
showFailToast(res.message ?? "Lỗi bình chọn");
|
||||||
}
|
}
|
||||||
|
@ -19,6 +19,7 @@ const { userInfo, isLogin } = storeToRefs(userStore);
|
|||||||
const loadingMoney = ref(false);
|
const loadingMoney = ref(false);
|
||||||
const loadingScore = ref(false);
|
const loadingScore = ref(false);
|
||||||
const showVipTable = ref(false);
|
const showVipTable = ref(false);
|
||||||
|
const countNotify = ref(0);
|
||||||
|
|
||||||
const withdrawLink = computed(() => {
|
const withdrawLink = computed(() => {
|
||||||
return userInfo?.value?.isSetBank ? "/withdraw" : "/Setbank";
|
return userInfo?.value?.isSetBank ? "/withdraw" : "/Setbank";
|
||||||
@ -32,7 +33,7 @@ const loadMoney = () => {
|
|||||||
loadingMoney.value = true;
|
loadingMoney.value = true;
|
||||||
handleRequest(axios.get(API.USER_INFO + "/" + "money"))
|
handleRequest(axios.get(API.USER_INFO + "/" + "money"))
|
||||||
.then((res) => {
|
.then((res) => {
|
||||||
userStore.updateUserInfo({ money: res.data })
|
userStore.updateUserInfo({ money: res.data });
|
||||||
})
|
})
|
||||||
.finally(() => {
|
.finally(() => {
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
@ -45,7 +46,7 @@ const loadScore = () => {
|
|||||||
loadingScore.value = true;
|
loadingScore.value = true;
|
||||||
handleRequest(axios.get(API.USER_INFO + "/" + "score"))
|
handleRequest(axios.get(API.USER_INFO + "/" + "score"))
|
||||||
.then((res) => {
|
.then((res) => {
|
||||||
userStore.updateUserInfo({ score: res.data })
|
userStore.updateUserInfo({ score: res.data });
|
||||||
})
|
})
|
||||||
.finally(() => {
|
.finally(() => {
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
@ -53,6 +54,16 @@ const loadScore = () => {
|
|||||||
}, 500);
|
}, 500);
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const getUnreadNotifications = () => {
|
||||||
|
handleRequest(axios.get(API.NOTIFICATION_UNREAD)).then((res) => {
|
||||||
|
if (res.success) {
|
||||||
|
countNotify.value = res.data;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
getUnreadNotifications();
|
||||||
</script>
|
</script>
|
||||||
<template>
|
<template>
|
||||||
<div class="mine page">
|
<div class="mine page">
|
||||||
@ -87,7 +98,7 @@ const loadScore = () => {
|
|||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div class="login-content">
|
<div class="login-content">
|
||||||
<p class="login-btn" style="margin: 19.1833px 0">
|
<p class="login-btn" style="margin: 0">
|
||||||
{{ userInfo?.username }}
|
{{ userInfo?.username }}
|
||||||
<img
|
<img
|
||||||
@click="showVipTable = true"
|
@click="showVipTable = true"
|
||||||
@ -110,6 +121,12 @@ const loadScore = () => {
|
|||||||
"
|
"
|
||||||
></span>
|
></span>
|
||||||
</div>
|
</div>
|
||||||
|
<div style="color: white; margin-top: 10px; text-wrap: nowrap">
|
||||||
|
Mã thành viên:
|
||||||
|
<span class="member-code">{{
|
||||||
|
userInfo.memberCode ?? "********"
|
||||||
|
}}</span>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
@ -166,15 +183,21 @@ const loadScore = () => {
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="part-2">
|
<div class="part-2">
|
||||||
<p class="balance van-ellipsis" style="font-size: 24px"> {{ userInfo?.score }}/100</p>
|
<p class="balance van-ellipsis" style="font-size: 24px">
|
||||||
|
{{ userInfo?.score }}/100
|
||||||
|
</p>
|
||||||
<span class="font-28 font-gray" style="font-size: 14px">
|
<span class="font-28 font-gray" style="font-size: 14px">
|
||||||
Điểm tín nhiệm</span
|
Điểm tín nhiệm</span
|
||||||
>
|
>
|
||||||
<div class="refresh-btn" :class="[
|
<div
|
||||||
|
class="refresh-btn"
|
||||||
|
:class="[
|
||||||
loadingScore
|
loadingScore
|
||||||
? 'van-loading__spinner van-loading__spinner--circular'
|
? 'van-loading__spinner van-loading__spinner--circular'
|
||||||
: '',
|
: '',
|
||||||
]" @click="loadScore">
|
]"
|
||||||
|
@click="loadScore"
|
||||||
|
>
|
||||||
<i class="van-icon van-icon-replay"></i>
|
<i class="van-icon van-icon-replay"></i>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -221,6 +244,15 @@ const loadScore = () => {
|
|||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<span class="menu-item-label">Thông báo</span>
|
<span class="menu-item-label">Thông báo</span>
|
||||||
|
<van-tag
|
||||||
|
:show="countNotify"
|
||||||
|
size="large"
|
||||||
|
type="danger"
|
||||||
|
style="font-size: 14px; padding: 5px"
|
||||||
|
round
|
||||||
|
>
|
||||||
|
{{ countNotify }}
|
||||||
|
</van-tag>
|
||||||
</router-link>
|
</router-link>
|
||||||
<div
|
<div
|
||||||
class="menu-item"
|
class="menu-item"
|
||||||
@ -255,4 +287,10 @@ a {
|
|||||||
:deep(.van-image-preview__overlay) {
|
:deep(.van-image-preview__overlay) {
|
||||||
background: rgba(0, 0, 0, 0.9);
|
background: rgba(0, 0, 0, 0.9);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.member-code {
|
||||||
|
/* font-size: 16px; */
|
||||||
|
color: white;
|
||||||
|
text-shadow: 0 0 5px #ffa600, 0 0 5px #ffa600;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
@ -1,9 +1,70 @@
|
|||||||
|
<script setup>
|
||||||
|
import { reactive, ref } from "vue";
|
||||||
|
import axios from "@/axios";
|
||||||
|
import API from "@/api";
|
||||||
|
import { handleRequest } from "@/helpers/request";
|
||||||
|
import { formatNumber, formatDateTime } from "@/helpers/format";
|
||||||
|
import { showToast } from "vant";
|
||||||
|
|
||||||
|
const list = ref([]);
|
||||||
|
const loading = ref(false);
|
||||||
|
const finished = ref(false);
|
||||||
|
const refreshing = ref(false);
|
||||||
|
|
||||||
|
const params = reactive({
|
||||||
|
page: 1,
|
||||||
|
size: 10,
|
||||||
|
});
|
||||||
|
|
||||||
|
const onLoad = async () => {
|
||||||
|
const data = await getData();
|
||||||
|
loading.value = false;
|
||||||
|
if (data.length < params.size) {
|
||||||
|
finished.value = true;
|
||||||
|
}
|
||||||
|
if (refreshing.value) {
|
||||||
|
list.value = data;
|
||||||
|
refreshing.value = false;
|
||||||
|
return showToast("Làm mới thành công.");
|
||||||
|
}
|
||||||
|
list.value.unshift(...data);
|
||||||
|
};
|
||||||
|
|
||||||
|
const onRefresh = () => {
|
||||||
|
params.page = 1;
|
||||||
|
list.value = [];
|
||||||
|
finished.value = false;
|
||||||
|
loading.value = true;
|
||||||
|
onLoad();
|
||||||
|
};
|
||||||
|
|
||||||
|
const getData = async () => {
|
||||||
|
const res = await handleRequest(axios.get(API.NOTIFICATION_LIST, { params }));
|
||||||
|
if (res.success) {
|
||||||
|
params.page += 1;
|
||||||
|
return res.data.data;
|
||||||
|
}
|
||||||
|
return [];
|
||||||
|
};
|
||||||
|
|
||||||
|
const read = async (idx) => {
|
||||||
|
const id = list.value[idx]?._id;
|
||||||
|
if (!id) return;
|
||||||
|
const res = await handleRequest(axios.get(API.NOTIFICATION_READ + "/" + id));
|
||||||
|
if (res.success) {
|
||||||
|
list.value[idx].read = 1;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
onRefresh();
|
||||||
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<div class="container page">
|
<div class="container page">
|
||||||
<div class="header">
|
<div class="header">
|
||||||
<div class="nav-bar van-nav-bar">
|
<div class="nav-bar van-nav-bar">
|
||||||
<div class="van-nav-bar__content">
|
<div class="van-nav-bar__content">
|
||||||
<div @click="$router.go(-1)" class="van-nav-bar__left">
|
<div @click="$router.push('/mine')" class="van-nav-bar__left">
|
||||||
<i
|
<i
|
||||||
class="van-icon van-icon-arrow-left"
|
class="van-icon van-icon-arrow-left"
|
||||||
style="color: rgb(255, 255, 255)"
|
style="color: rgb(255, 255, 255)"
|
||||||
@ -14,25 +75,54 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="content">
|
<div class="content">
|
||||||
<div class="van-pull-refresh">
|
<van-pull-refresh
|
||||||
<div class="van-pull-refresh__track" style="transition-duration: 0ms">
|
v-model="refreshing"
|
||||||
<div class="van-pull-refresh__head"></div>
|
@refresh="onRefresh"
|
||||||
<div class="listItem">
|
pulling-text="Kéo lên để làm mới..."
|
||||||
<div class="listTitle">Hoạt động trên không</div>
|
loading-text="Đang tải..."
|
||||||
|
loosing-text="Phát hiện có thể làm mới được"
|
||||||
|
style="height: 100%; overflow: auto"
|
||||||
|
>
|
||||||
|
<van-empty description="Dữ liệu trống" v-if="!list.length" />
|
||||||
|
<van-list
|
||||||
|
v-else
|
||||||
|
v-model:loading="loading"
|
||||||
|
error-text="Lỗi"
|
||||||
|
loading-text="Đang tải..."
|
||||||
|
:finished="finished"
|
||||||
|
finished-text=""
|
||||||
|
@load="onLoad"
|
||||||
|
>
|
||||||
|
<div v-for="(item, index) in list" :key="index" class="listItem">
|
||||||
|
<div class="listTitle">{{ item.title }}</div>
|
||||||
<div class="listContent html">
|
<div class="listContent html">
|
||||||
<p>
|
<p v-html="item.content"></p>
|
||||||
Chúng tôi là CANALIS CLUB - Một quán Bar lớn . Phục vụ tận nơi
|
<div style="text-align: right" v-if="!item.read">
|
||||||
tại 63 tỉnh thành trên toàn quốc . Chúng tôi có những người mẫu
|
<van-tag
|
||||||
cao cấp, tiếp viên hàng không, du học sinh.... Sẵn sàng phục vụ
|
:show="countNotify"
|
||||||
quý khách hàng !<br />
|
round
|
||||||
</p>
|
size="large"
|
||||||
|
type="warning"
|
||||||
|
style="
|
||||||
|
font-size: 14px;
|
||||||
|
padding: 5px;
|
||||||
|
margin: 8px 0;
|
||||||
|
cursor: pointer;
|
||||||
|
"
|
||||||
|
@click="read(index)"
|
||||||
|
>
|
||||||
|
Đánh dấu đã đọc
|
||||||
|
</van-tag>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="listTime">
|
<div class="listTime">
|
||||||
<div class="listTimeText">2023-07-05 23:06:33</div>
|
<div class="listTimeText">
|
||||||
</div>
|
{{ formatDateTime(item.createdAt) }}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
</van-list>
|
||||||
|
</van-pull-refresh>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
@ -19,6 +19,10 @@ const formData = reactive({
|
|||||||
password_withdraw: "",
|
password_withdraw: "",
|
||||||
});
|
});
|
||||||
|
|
||||||
|
const clickAll = () => {
|
||||||
|
formData.amount = userInfo.value.money ?? 0
|
||||||
|
}
|
||||||
|
|
||||||
const submit = () => {
|
const submit = () => {
|
||||||
if (isNaN(formData.amount) || formData.amount <= 0) {
|
if (isNaN(formData.amount) || formData.amount <= 0) {
|
||||||
return showFailToast("Vui lòng điền số điểm chính xác.");
|
return showFailToast("Vui lòng điền số điểm chính xác.");
|
||||||
@ -73,7 +77,7 @@ const submit = () => {
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<span class="all">Tất cả</span>
|
<span class="all" @click="clickAll">Tất cả</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="money" style="width: 100%">
|
<div class="money" style="width: 100%">
|
||||||
<div class="moneyNumber" style="width: 100%">
|
<div class="moneyNumber" style="width: 100%">
|
||||||
@ -104,7 +108,7 @@ const submit = () => {
|
|||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="balance">
|
<div class="balance">
|
||||||
<span>VND:</span><span class="number">1000Đ</span>
|
<span>VND:</span><span class="number">{{ formatNumber(userInfo.money) }}Đ</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user