commit #2
This commit is contained in:
parent
60ea55d989
commit
9ecbaab6c5
@ -4,6 +4,7 @@
|
||||
import { makePost } from "$lib/tools/requests/requests.js";
|
||||
import { sayError } from "$lib/tools/toaster/Toaster.js";
|
||||
import { redirect } from "$lib/tools/url/URLTools.js";
|
||||
import Pagination from "$lib/ui-components/pagination.svelte";
|
||||
|
||||
export let data;
|
||||
let { userData } = data;
|
||||
@ -56,32 +57,102 @@
|
||||
}
|
||||
|
||||
let userOrders = [];
|
||||
let numPagesUserOrders = 1;
|
||||
let currentPageUserOrders = 1;
|
||||
let disablePagesUserOrders = false;
|
||||
async function getUserOrders() {
|
||||
disablePagesUserOrders = true;
|
||||
const result = await makePost(
|
||||
"getUserOrders",
|
||||
{
|
||||
token: token,
|
||||
page: 0,
|
||||
page: currentPageUserOrders - 1,
|
||||
orderBy: "id",
|
||||
statuses_to_send: 2,
|
||||
},
|
||||
makeAuthHeaderForAxios(getAuthInfo()?.a)
|
||||
);
|
||||
if (result.status === 401) {
|
||||
sayError("Данные авторизации устарели");
|
||||
window.location.href = "/";
|
||||
disablePagesUserOrders = false;
|
||||
return;
|
||||
}
|
||||
if (result.error) {
|
||||
sayError("Не удалось получить ордеры пользователя");
|
||||
disablePagesUserOrders = false;
|
||||
return;
|
||||
}
|
||||
userOrders = result.data.data;
|
||||
numPagesUserOrders = Number(result.data?.pages);
|
||||
if (numPagesUserOrders === 0) numPagesUserOrders = 1;
|
||||
console.log(result.data);
|
||||
disablePagesUserOrders = false;
|
||||
}
|
||||
|
||||
let userRequisites = [];
|
||||
async function getUserRequisites() {
|
||||
const result = await makePost(
|
||||
"getRequisite",
|
||||
{
|
||||
token: token,
|
||||
},
|
||||
makeAuthHeaderForAxios(getAuthInfo()?.a)
|
||||
);
|
||||
if (result.status === 401) {
|
||||
sayError("Данные авторизации устарели");
|
||||
window.location.href = "/";
|
||||
return;
|
||||
}
|
||||
if (result.error) {
|
||||
sayError("Не удалось получить ордеры пользователя");
|
||||
sayError("Не удалось получить реквизиты пользователя");
|
||||
return;
|
||||
}
|
||||
userOrders = result.data.data;
|
||||
console.log(userOrders);
|
||||
userRequisites = result.data;
|
||||
console.log(result.data);
|
||||
}
|
||||
|
||||
let userDeposits = [];
|
||||
let numOfPagesUserDeposits = 1;
|
||||
let currentPageUserDeposits = 1;
|
||||
let disablePagesUserDeposits = false;
|
||||
const depoStatusMap = {
|
||||
"0": "Активна",
|
||||
"1": "Завершена",
|
||||
"2": "Отклонена"
|
||||
};
|
||||
///api/v1/admin/getUserDeposits
|
||||
async function getUserDeposits() {
|
||||
disablePagesUserDeposits = true;
|
||||
const result = await makePost(
|
||||
"admin/getUserDeposits",
|
||||
{
|
||||
token: token,
|
||||
page: 1,
|
||||
},
|
||||
makeAuthHeaderForAxios(getAuthInfo()?.a)
|
||||
);
|
||||
if (result.status === 401) {
|
||||
sayError("Данные авторизации устарели");
|
||||
window.location.href = "/";
|
||||
disablePagesUserDeposits = false;
|
||||
return;
|
||||
}
|
||||
if (result.error) {
|
||||
sayError("Не удалось получить депозиты пользователя");
|
||||
disablePagesUserDeposits = false;
|
||||
return;
|
||||
}
|
||||
userDeposits = result.data.deposits;
|
||||
numPagesUserOrders = result.data.pages;
|
||||
disablePagesUserDeposits = false;
|
||||
// console.log(result.data, 'depos');
|
||||
}
|
||||
|
||||
if (browser) {
|
||||
getUserOrders();
|
||||
getUserRequisites();
|
||||
getUserDeposits();
|
||||
}
|
||||
</script>
|
||||
|
||||
@ -131,30 +202,90 @@
|
||||
href={window.location.pathname.replace("profile", "change")}
|
||||
class="btn btn-info">Изменить</a
|
||||
>
|
||||
<button on:click={()=>{
|
||||
<button
|
||||
on:click={() => {
|
||||
deleteUser();
|
||||
}} class="btn btn-error ml-auto">Удалить</button>
|
||||
}}
|
||||
class="btn btn-error ml-auto">Удалить</button
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="flex gap-4">
|
||||
<div class="flex items-center gap-4">
|
||||
<div class="bg-accent rounded-[4px] w-[10px] h-full"></div>
|
||||
<h1 class="text-2xl font-semibold">Реквизиты пользователя</h1>
|
||||
<button class="btn btn-accent">Добавить реквизит</button>
|
||||
</div>
|
||||
<div class="w-full flex flex-col p-4 rounded-box bg-base-300">
|
||||
<div class="overflow-x-auto mt-4">
|
||||
<table class="table">
|
||||
<!-- head -->
|
||||
<thead>
|
||||
<tr>
|
||||
<th>ID</th>
|
||||
<th>Статус</th>
|
||||
<th>Банк</th>
|
||||
<th>СБП</th>
|
||||
<th>Карта</th>
|
||||
<th>Телефон</th>
|
||||
<th>Имя</th>
|
||||
<th>Девайс</th>
|
||||
<th>Опции</th>
|
||||
<!-- <th></th> -->
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{#each userRequisites as requisite}
|
||||
<tr class="hover:bg-neutral group">
|
||||
<td class="font-semibold">{requisite["id"]}</td>
|
||||
<td class=""
|
||||
>{requisite["status"] === "t" ? "активен" : "отключен"}</td
|
||||
>
|
||||
<td>{requisite["bankname"]}</td>
|
||||
<td>{requisite["is_sbp"] === "t" ? "да" : "нет"}</td>
|
||||
<td>{requisite["cardnumber"]}</td>
|
||||
<td>{requisite["phone"]}</td>
|
||||
<td>{requisite["name"]}</td>
|
||||
<td>{requisite["device_id"]}</td>
|
||||
<td class="flex gap-2">
|
||||
<a
|
||||
href={"/user/edit/req/" + token + "/" + requisite["id"]}
|
||||
class="btn btn-info">Изменить</a
|
||||
>
|
||||
<button class="btn btn-error">Удалить</button>
|
||||
</td>
|
||||
</tr>
|
||||
{/each}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<div class="w-full flex flex-col p-4 rounded-box bg-base-300"></div>
|
||||
|
||||
<div class="flex gap-4">
|
||||
<!-- <div class="flex gap-4">
|
||||
<div class="bg-accent rounded-[4px] w-[10px] h-full"></div>
|
||||
<h1 class="text-2xl font-semibold">Девайсы пользователя</h1>
|
||||
</div>
|
||||
<div class="w-full flex flex-col p-4 rounded-box bg-base-300"></div>
|
||||
<div class="w-full flex flex-col p-4 rounded-box bg-base-300"></div> -->
|
||||
|
||||
<div class="flex gap-4">
|
||||
<div class="flex items-center gap-4">
|
||||
<div class="bg-accent rounded-[4px] w-[10px] h-full"></div>
|
||||
<h1 class="text-2xl font-semibold">Текущие заявки</h1>
|
||||
<!-- <button href={"/user/neworder/"+token} disabled class="btn btn-accent">Добавить заявку</button> -->
|
||||
</div>
|
||||
<div class="w-full flex flex-col p-4 rounded-box bg-base-300">
|
||||
<div class="overflow-x-auto">
|
||||
<div class="w-full flex flex-col justify-center items-center">
|
||||
<Pagination
|
||||
totalPages={numPagesUserOrders}
|
||||
pageChangedCallback={(n) => {
|
||||
currentPageUserOrders = n;
|
||||
getUserOrders();
|
||||
}}
|
||||
disableButtons={disablePagesUserOrders}
|
||||
css={"btn-neutral"}
|
||||
/>
|
||||
<p class="opacity-50 text-xs mt-1">Всего страниц: {numPagesUserOrders}</p>
|
||||
</div>
|
||||
<div class="overflow-x-auto mt-4">
|
||||
<table class="table">
|
||||
<!-- head -->
|
||||
<thead>
|
||||
@ -167,20 +298,25 @@
|
||||
<th>Мерчант</th>
|
||||
<th>Время создания</th>
|
||||
<th>Время закрытия</th>
|
||||
<th>Опции</th>
|
||||
<!-- <th></th> -->
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{#each userOrders as order}
|
||||
<tr class="hover:bg-neutral group">
|
||||
<td class="font-normal">{order["id"]}</td>
|
||||
<td class="font-semibold">{order["status"]}</td>
|
||||
<td class="font-semibold">{order["id"]}</td>
|
||||
<td class="">{order["status"]}</td>
|
||||
<td>{order["summa"]} USDT</td>
|
||||
<td>{order["rate"]} RUB</td>
|
||||
<td>{order["is_sbp"] === "t" ? "да":"нет"}</td>
|
||||
<td>{order["is_sbp"] === "t" ? "да" : "нет"}</td>
|
||||
<td>{order["merchant_id"]}</td>
|
||||
<td>{order["creationtime"]}</td>
|
||||
<td>{order["closetime"]}</td>
|
||||
<td class="flex gap-2">
|
||||
<a href="" class="btn btn-info">Изменить</a>
|
||||
<button class="btn btn-error">Удалить</button>
|
||||
</td>
|
||||
</tr>
|
||||
{/each}
|
||||
</tbody>
|
||||
@ -192,5 +328,47 @@
|
||||
<div class="bg-accent rounded-[4px] w-[10px] h-full"></div>
|
||||
<h1 class="text-2xl font-semibold">Заявки на пополнение</h1>
|
||||
</div>
|
||||
<div class="w-full flex flex-col p-4 rounded-box bg-base-300"></div>
|
||||
<div class="w-full flex flex-col p-4 rounded-box bg-base-300">
|
||||
<div class="w-full flex flex-col justify-center items-center">
|
||||
<Pagination
|
||||
totalPages={numOfPagesUserDeposits}
|
||||
pageChangedCallback={(n) => {
|
||||
currentPageUserDeposits = n;
|
||||
getUserDeposits();
|
||||
}}
|
||||
disableButtons={disablePagesUserDeposits}
|
||||
css={"btn-neutral"}
|
||||
/>
|
||||
<p class="opacity-50 text-xs mt-1">
|
||||
Всего страниц: {numOfPagesUserDeposits}
|
||||
</p>
|
||||
</div>
|
||||
<div class="overflow-x-auto mt-4">
|
||||
<table class="table">
|
||||
<!-- head -->
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Статус</th>
|
||||
<th>Сумма</th>
|
||||
<th>Время создания</th>
|
||||
<!-- <th>Опции</th> -->
|
||||
<!-- <th></th> -->
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{#each userDeposits as depo}
|
||||
<tr class="hover:bg-neutral group">
|
||||
<td class="">{depoStatusMap[depo["pending"]]}</td>
|
||||
<td>{depo["amount"]} USDT</td>
|
||||
<td>{depo["creationtime"]}</td>
|
||||
<!-- <td class="flex gap-2">
|
||||
<a href="" class="btn btn-info">Изменить</a>
|
||||
<button class="btn btn-error">Удалить</button>
|
||||
</td> -->
|
||||
</tr>
|
||||
{/each}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
Loading…
x
Reference in New Issue
Block a user