coalteraçoes no main eno renderer
This commit is contained in:
parent
87eef0b2a8
commit
187b385fac
|
|
@ -2,7 +2,7 @@ const { contextBridge, ipcRenderer } = require('electron');
|
||||||
|
|
||||||
contextBridge.exposeInMainWorld('electronAPI', {
|
contextBridge.exposeInMainWorld('electronAPI', {
|
||||||
onUpdateCount: (callback) => ipcRenderer.on('update-count', (_event, value) => callback(value)),
|
onUpdateCount: (callback) => ipcRenderer.on('update-count', (_event, value) => callback(value)),
|
||||||
showMainWindow: () => ipcRenderer.send('show-main-window')
|
showMainWindow: () => ipcRenderer.send('chamar-fila')
|
||||||
// Remova a linha abaixo:
|
// Remova a linha abaixo:
|
||||||
// startDrag: (offset) => ipcRenderer.send('drag-float-window', offset)
|
// startDrag: (offset) => ipcRenderer.send('drag-float-window', offset)
|
||||||
});
|
});
|
||||||
77
main.js
77
main.js
|
|
@ -305,8 +305,16 @@ async function getSelectedOperatorId() {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// Ouvir pedido para obter contagem (ex: se o JSON for atualizado)
|
||||||
|
ipcMain.handle('get-count', async () => {
|
||||||
|
const data = readData();
|
||||||
|
return data.length;
|
||||||
|
});
|
||||||
|
|
||||||
// Ouvir pedido para mostrar a janela principal
|
// Ouvir pedido para mostrar a janela principal
|
||||||
ipcMain.on('show-main-window', async () => {
|
ipcMain.on('chamar-fila', async () => {
|
||||||
|
|
||||||
if (mainWin) {
|
if (mainWin) {
|
||||||
if (!mainWin.isVisible()) {
|
if (!mainWin.isVisible()) {
|
||||||
const data = readData();
|
const data = readData();
|
||||||
|
|
@ -325,25 +333,54 @@ ipcMain.on('show-main-window', async () => {
|
||||||
mainWin.focus();
|
mainWin.focus();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
try{
|
||||||
|
//chama-fila-app-colab/{colabId}
|
||||||
|
const colabId = await getSelectedOperatorId();
|
||||||
|
const token = await getAuthToken('token');
|
||||||
|
const url = apiUrl + 'chama-fila-app-colab/'+colabId; // URL de exemplo para enviar a solicitação
|
||||||
|
const request = net.request({
|
||||||
|
method: 'GET',
|
||||||
|
url: url,
|
||||||
|
headers: {
|
||||||
|
'Content-Type': 'application/json',
|
||||||
|
'Authorization': 'Bearer ' + token
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
// Ouvir pedido para obter contagem (ex: se o JSON for atualizado)
|
request.on('response', (response) => {
|
||||||
ipcMain.handle('get-count', async () => {
|
if (response.statusCode === 200) {
|
||||||
const data = readData();
|
mainWin.webContents.send('select-atend-id', response.data.id);
|
||||||
return data.length;
|
// window.electronAPI.selectAtendID(response.data.id);
|
||||||
|
console.log(response.data);
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
// Ouvir clique no botão "Próximo"
|
} catch(error){
|
||||||
ipcMain.on('next-step', (event, itemId) => {
|
console.log(error);
|
||||||
console.log('Botão Próximo clicado para o item ID:', itemId); // Log para depuração
|
}
|
||||||
const url = 'https://httpbin.org/post'; // URL de exemplo para enviar a solicitação
|
|
||||||
|
});
|
||||||
|
|
||||||
|
ipcMain.on('select-atend-id',(itemId)=>{
|
||||||
|
selectedItemId = itemId;
|
||||||
|
console.log(selectedItemId);
|
||||||
|
});
|
||||||
|
|
||||||
|
// Ouvir clique no botão "Iniciar atendimento"
|
||||||
|
ipcMain.on('iniciar-atendimento', (event, itemId) => {
|
||||||
|
|
||||||
|
//TODO inicia o atendimento o id do atendimento deve ser requisitado do backend
|
||||||
|
|
||||||
|
const url = apiUrl + 'iniciar-atendimento/'+itemId; // URL de exemplo para enviar a solicitação
|
||||||
|
|
||||||
// Simula o envio de uma solicitação POST com o ID do item
|
// Simula o envio de uma solicitação POST com o ID do item
|
||||||
const request = net.request({
|
const request = net.request({
|
||||||
method: 'POST',
|
method: 'GET',
|
||||||
url: url,
|
url: url,
|
||||||
headers: {
|
headers: {
|
||||||
'Content-Type': 'application/json'
|
'Content-Type': 'application/json',
|
||||||
|
'Authorization': 'Bearer ' + localStorage.getItem('token')
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
@ -374,20 +411,18 @@ ipcMain.on('next-step', (event, itemId) => {
|
||||||
|
|
||||||
// Ouvir clique no botão "Salvar"
|
// Ouvir clique no botão "Salvar"
|
||||||
ipcMain.on('save-observation', (event, { itemId, observation }) => {
|
ipcMain.on('save-observation', (event, { itemId, observation }) => {
|
||||||
|
|
||||||
|
//TODO salva a observação e finaliza o atendimento
|
||||||
|
|
||||||
console.log(`Salvando observação para item ${itemId}: ${observation}`);
|
console.log(`Salvando observação para item ${itemId}: ${observation}`);
|
||||||
// Aqui você implementaria a lógica para salvar a observação.
|
|
||||||
// Poderia ser:
|
|
||||||
// 1. Atualizar o arquivo data.json (cuidado com concorrência se houver muita escrita)
|
|
||||||
// 2. Salvar em outro arquivo
|
|
||||||
// 3. Enviar para outra API/banco de dados
|
|
||||||
// Exemplo simples (apenas log):
|
|
||||||
console.log("Observação 'salva' (apenas log por enquanto).");
|
console.log("Observação 'salva' (apenas log por enquanto).");
|
||||||
|
|
||||||
// Opcional: Ler dados novamente e atualizar contagem na janela flutuante
|
// Opcional: Ler dados novamente e atualizar contagem na janela flutuante
|
||||||
const data = readData();
|
// const data = readData();
|
||||||
if (floatingWin) {
|
// if (floatingWin) {
|
||||||
floatingWin.webContents.send('update-count', data.length);
|
// floatingWin.webContents.send('update-count', data.length);
|
||||||
}
|
// }
|
||||||
|
|
||||||
// Opcional: Fechar ou resetar a janela principal após salvar
|
// Opcional: Fechar ou resetar a janela principal após salvar
|
||||||
if (mainWin) {
|
if (mainWin) {
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@
|
||||||
"name": "autoatendcolab",
|
"name": "autoatendcolab",
|
||||||
"version": "1.0.0",
|
"version": "1.0.0",
|
||||||
"main": "main.js",
|
"main": "main.js",
|
||||||
"isBuildNow": true,
|
"isBuildNow": false,
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"start": "electron .",
|
"start": "electron .",
|
||||||
"nodemon": "nodemon --exec electron .",
|
"nodemon": "nodemon --exec electron .",
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,8 @@ const { app, contextBridge, ipcRenderer } = require('electron');
|
||||||
|
|
||||||
contextBridge.exposeInMainWorld('electronAPI', {
|
contextBridge.exposeInMainWorld('electronAPI', {
|
||||||
onLoadData: (callback) => ipcRenderer.on('load-data', (_event, value) => callback(value)),
|
onLoadData: (callback) => ipcRenderer.on('load-data', (_event, value) => callback(value)),
|
||||||
sendNextStep: (itemId) => ipcRenderer.send('next-step', itemId),
|
selectAtendID: (callback) => ipcRenderer.on('select-atend-id', (_event, value) => callback(value)),
|
||||||
|
iniciaAtendimento: (itemId) => ipcRenderer.send('iniciar-atendimento', itemId),
|
||||||
quitApp : () => ipcRenderer.send('sair'),
|
quitApp : () => ipcRenderer.send('sair'),
|
||||||
saveObservation: (data) => ipcRenderer.send('save-observation', data), // data = { itemId, observation }
|
saveObservation: (data) => ipcRenderer.send('save-observation', data), // data = { itemId, observation }
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -90,8 +90,7 @@ function showObservationView() {
|
||||||
// // Evento do botão "Iniciar atendimento"
|
// // Evento do botão "Iniciar atendimento"
|
||||||
nextButton.addEventListener('click', () => {
|
nextButton.addEventListener('click', () => {
|
||||||
if (selectedItemId !== null) {
|
if (selectedItemId !== null) {
|
||||||
console.log("Botão Próximo clicado, enviando ID:", selectedItemId);
|
window.electronAPI.iniciaAtendimento(selectedItemId);
|
||||||
window.electronAPI.sendNextStep(selectedItemId); // Envia o ID para o main process
|
|
||||||
showObservationView(); // Muda para a tela de observação
|
showObservationView(); // Muda para a tela de observação
|
||||||
} else {
|
} else {
|
||||||
console.warn("Nenhum item selecionado para 'Próximo'");
|
console.warn("Nenhum item selecionado para 'Próximo'");
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue