mirror of
https://github.com/sergeyyarkov/digital-store.git
synced 2026-10-11 02:09:05 +03:00
buyers component fixed
This commit is contained in:
parent
a50caef3ce
commit
34f4829c63
@ -110,7 +110,7 @@ module.exports = function(server, db) {
|
||||
|
||||
server.get('/api/buyers/:bill_id', checkAuthenticated, async (req, res) => {
|
||||
try {
|
||||
const buyers = await db.collection('buyers').find({bill_id: req.params.bill_id}).toArray();
|
||||
const buyers = await db.collection('buyers').findOne({bill_id: req.params.bill_id});
|
||||
res.json(buyers);
|
||||
} catch {
|
||||
res.status(500).render('main/404');
|
||||
|
||||
@ -28,7 +28,7 @@ const administrator = new AdministratorComponent('administrator');
|
||||
const itemEdit = new ItemEditModal('editItemModal', 'edit', 'editItemClose', {loader});
|
||||
const itemDelete = new ItemDeleteModal('deleteItemModal', 'edit', 'deleteItemClose');
|
||||
const categoryEdit = new CategoryEditModal('editCategoryModal', 'editCategory_select', 'editCategoryClose');
|
||||
const billData = new BillDataModal('billDataModal', 'dashboard', 'billDataClose');
|
||||
const billData = new BillDataModal('billDataModal', 'dashboard', 'billDataClose', {loader});
|
||||
|
||||
const materialize = new MaterializeConfig();
|
||||
console.log('Control-Panel v1.0.0');
|
||||
@ -1,8 +1,10 @@
|
||||
import { Modal } from "../core/modal";
|
||||
import { apiService } from "../services/api.service";
|
||||
|
||||
export class BillDataModal extends Modal {
|
||||
constructor(id, open, close) {
|
||||
constructor(id, open, close, {loader}) {
|
||||
super(id, open, close);
|
||||
this.loader = loader
|
||||
}
|
||||
|
||||
show(e) {
|
||||
@ -22,16 +24,23 @@ export class BillDataModal extends Modal {
|
||||
this.$data = this.$el.querySelector('#data');
|
||||
}
|
||||
|
||||
openHandler(e) {
|
||||
const data = JSON.parse(e.target.parentNode.parentNode.dataset.info);
|
||||
this.$bill_id.value = data.bill_id;
|
||||
this.$email.value = data.email;
|
||||
this.$method.value = data.method;
|
||||
this.$date.value = data.date;
|
||||
this.$amount.value = data.amount;
|
||||
this.$data.textContent = data.data.split(',').join('\n');
|
||||
async openHandler(e) {
|
||||
try {
|
||||
this.loader.show();
|
||||
const buyer = await apiService.getBuyerById(e.target.parentNode.parentNode.dataset.id)
|
||||
|
||||
M.textareaAutoResize(this.$data);
|
||||
M.updateTextFields();
|
||||
this.$bill_id.value = buyer.bill_id;
|
||||
this.$email.value = buyer.email;
|
||||
this.$method.value = buyer.method[0].toUpperCase() + buyer.method.slice(1);
|
||||
this.$date.value = buyer.date;
|
||||
this.$amount.value = buyer.amount;
|
||||
this.$data.textContent = buyer.data.join('\n');
|
||||
|
||||
M.textareaAutoResize(this.$data);
|
||||
M.updateTextFields();
|
||||
this.loader.hide();
|
||||
} catch (error) {
|
||||
alert('Произошла ошибка, обновите страницу')
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -106,6 +106,15 @@ class ApiService {
|
||||
}
|
||||
}
|
||||
|
||||
async getBuyerById(id) {
|
||||
try {
|
||||
const request = `${this.url}/api/buyers/${id}`;
|
||||
return useRequest(request);
|
||||
} catch (error) {
|
||||
console.log(error)
|
||||
}
|
||||
}
|
||||
|
||||
async getBuyersOffset(page) {
|
||||
try {
|
||||
const request = `${this.url}/api/buyers/page/${page}`;
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
export function renderBuyers(buyers) {
|
||||
if (!buyers.error) {
|
||||
return buyers.map(buyer => `<tr data-info='{"bill_id": "${buyer.bill_id}", "email": "${buyer.email}", "method": "${buyer.method[0].toUpperCase() + buyer.method.slice(1)}", "date": "${new Date(buyer.date).toLocaleDateString()}", "amount": "${buyer.amount}", "data": "${buyer.data}"}'><td>${buyer.email}</td><td>${buyer.method[0].toUpperCase() + buyer.method.slice(1)}</td><td>${new Date(buyer.date).toLocaleDateString()}</td><td>${buyer.amount} ₽</td><td><button id="billDataOpen" class="btn orange">Данные аккаунтов</button></td></tr>`).join('');
|
||||
return buyers.map(buyer => `<tr data-id="${buyer.bill_id}"><td>${buyer.email}</td><td>${buyer.method[0].toUpperCase() + buyer.method.slice(1)}</td><td>${new Date(buyer.date).toLocaleDateString()}</td><td>${buyer.amount} ₽</td><td><button id="billDataOpen" class="btn orange">Данные аккаунтов</button></td></tr>`).join('');
|
||||
} else {
|
||||
return 'Покупателей в магазине пока что нету';
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user