This commit is contained in:
you 2024-07-14 17:01:09 +03:00
parent 155d683199
commit 604157ea26
4 changed files with 53 additions and 26 deletions

View File

@ -1,8 +1,12 @@
<script> <script>
import { checkAuth, checkAuthSync } from "$lib/auth/Auth";
import { redirect } from "$lib/tools/url/URLTools"; import { redirect } from "$lib/tools/url/URLTools";
import { onMount } from "svelte"; import { onMount } from "svelte";
onMount(()=>{ onMount(()=>{
if(checkAuthSync())
redirect("/admin/userslist"); redirect("/admin/userslist");
else
redirect("/admin/login");
}); });
</script> </script>

View File

@ -7,8 +7,10 @@ export async function load({ params }) {
if(!browser) return; if(!browser) return;
const { userToken } = params; const { userToken } = params;
const { reqID } = params; const { reqID } = params;
let spt = reqID.split("_");
return { return {
token: userToken, token: userToken,
reqID: reqID reqID: spt[0],
currency: spt[1]
}; };
} }

View File

@ -3,12 +3,13 @@
import { browser } from "$app/environment"; import { browser } from "$app/environment";
import { getAuthInfo, makeAuthHeaderForAxios } from "$lib/auth/Auth.js"; import { getAuthInfo, makeAuthHeaderForAxios } from "$lib/auth/Auth.js";
import { makePost } from "$lib/tools/requests/requests.js"; import { makeGet, makePost } from "$lib/tools/requests/requests.js";
import { sayError } from "$lib/tools/toaster/Toaster.js"; import { sayError } from "$lib/tools/toaster/Toaster.js";
import { redirect } from "$lib/tools/url/URLTools.js"; import { redirect } from "$lib/tools/url/URLTools.js";
export let data; export let data;
let { reqID } = data; let { reqID } = data;
let {currency} = data;
let { token } = data; let { token } = data;
let reqInfo = []; let reqInfo = [];
@ -24,33 +25,29 @@
$: value_cardNumber, value_phone, value_status, checkFields(); $: value_cardNumber, value_phone, value_status, checkFields();
function bindValues() { function bindValues() {
value_bankName = reqInfo[0]?.bankname; value_bankName = reqInfo[0]?.bank_name;
value_cardNumber = reqInfo[0]?.cardnumber; value_cardNumber = reqInfo[0]?.cardnumber;
value_phone = reqInfo[0]?.phone; value_phone = reqInfo[0]?.phone;
value_status = reqInfo[0]?.status === "t"; value_status = reqInfo[0]?.status === "t";
value_limit = Number(reqInfo[0]?.daily_volume_limit); value_limit = Number(reqInfo[0]?.daily_volume_limit);
value_bankName = reqInfo[0]?.bank_id;
} }
function checkFields() { function checkFields() {
if (value_cardNumber?.length !== 16) {
if(value_cardNumber?.length !== 16) canChange = false;
{ return;
canChange = false;
return;
} }
if(value_phone?.length !== 11) if (value_phone?.length !== 11) {
{ canChange = false;
canChange = false; return;
return;
} }
if(value_limit < 0) if (value_limit < 0) {
{ canChange = false;
canChange = false; return;
return;
} }
canChange = true; canChange = true;
} }
async function getReqInfo() { async function getReqInfo() {
@ -85,8 +82,8 @@
bankname: value_bankName, bankname: value_bankName,
cardnumber: value_cardNumber, cardnumber: value_cardNumber,
phone: value_phone, phone: value_phone,
status: value_status ? "true":"false", status: value_status ? "true" : "false",
limit: value_limit.toString() limit: value_limit.toString(),
}, },
makeAuthHeaderForAxios(getAuthInfo()?.a) makeAuthHeaderForAxios(getAuthInfo()?.a)
); );
@ -94,7 +91,7 @@
sayError("Данные авторизации устарели"); sayError("Данные авторизации устарели");
// window.location.href = "/"; // window.location.href = "/";
redirect("/admin/"); redirect("/admin/");
// canChange = true; // canChange = true;
return; return;
} }
if (result.error) { if (result.error) {
@ -106,8 +103,23 @@
// canChange = true; // canChange = true;
} }
let activeBanks = [];
async function getActiveBanks() {
let res = await makeGet(
"client/banksList",
makeAuthHeaderForAxios(getAuthInfo()?.a)
);
if (res.error) {
sayError("Не удалось получить банки. Ошибка #4143");
} else {
console.log(res.data);
activeBanks = res.data;
}
}
if (browser) { if (browser) {
getReqInfo(); getReqInfo();
getActiveBanks();
} }
</script> </script>
@ -123,7 +135,10 @@
class="select select-bordered w-full text-base" class="select select-bordered w-full text-base"
> >
<option disabled selected value="-1">Банк</option> <option disabled selected value="-1">Банк</option>
<option value="sber">Сбер</option> {#each activeBanks as bank}
<option value={bank.id}>{bank.name}</option>
{/each}
<!-- <option value="sber">Сбер</option> -->
<!-- <option value="2">Модератор</option> <!-- <option value="2">Модератор</option>
<option value="4">Администратор</option> --> <option value="4">Администратор</option> -->
</select> </select>
@ -140,7 +155,7 @@
<input type="text" class="grow text-info" bind:value={value_phone} /> <input type="text" class="grow text-info" bind:value={value_phone} />
</label> </label>
<label class="input input-bordered flex items-center gap-2"> <label class="input input-bordered flex items-center gap-2">
Лимит Лимит ({currency})
<input type="number" class="grow text-info" bind:value={value_limit} /> <input type="number" class="grow text-info" bind:value={value_limit} />
</label> </label>
<div class="flex p-4 items-center gap-2"> <div class="flex p-4 items-center gap-2">
@ -151,8 +166,14 @@
class="toggle toggle-primary" class="toggle toggle-primary"
/> />
</div> </div>
<button on:click={()=>{changeRequisite()}} class="btn btn-primary" disabled={!canChange}>Сохранить</button> <button
<a href={"/admin/user/profile/"+token} class="hidden" id="ref"></a> on:click={() => {
changeRequisite();
}}
class="btn btn-primary"
disabled={!canChange}>Сохранить</button
>
<a href={"/admin/user/profile/" + token} class="hidden" id="ref"></a>
{/each} {/each}
</div> </div>
</div> </div>

View File

@ -256,7 +256,7 @@
<td class="" <td class=""
>{requisite["status"] === "t" ? "активен" : "отключен"}</td >{requisite["status"] === "t" ? "активен" : "отключен"}</td
> >
<td>{requisite["bankname"]}</td> <td>{requisite["bank_name"]}</td>
<td>{requisite["is_sbp"] === "t" ? "да" : "нет"}</td> <td>{requisite["is_sbp"] === "t" ? "да" : "нет"}</td>
<td>{requisite["cardnumber"]}</td> <td>{requisite["cardnumber"]}</td>
<td>{requisite["phone"]}</td> <td>{requisite["phone"]}</td>
@ -266,7 +266,7 @@
<td>{requisite["daily_volume_limit"]}</td> <td>{requisite["daily_volume_limit"]}</td>
<td class="flex gap-2"> <td class="flex gap-2">
<a <a
href={"/admin/user/edit/req/" + token + "/" + requisite["id"]} href={"/admin/user/edit/req/" + token + "/" + requisite["id"] + "_" + userData.code}
class="btn btn-info">Изменить</a class="btn btn-info">Изменить</a
> >
<button class="btn btn-error">Удалить</button> <button class="btn btn-error">Удалить</button>