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', {
|
||||
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:
|
||||
// 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
|
||||
ipcMain.on('show-main-window', async () => {
|
||||
ipcMain.on('chamar-fila', async () => {
|
||||
|
||||
if (mainWin) {
|
||||
if (!mainWin.isVisible()) {
|
||||
const data = readData();
|
||||
|
|
@ -325,25 +333,54 @@ ipcMain.on('show-main-window', async () => {
|
|||
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
|
||||
}
|
||||
});
|
||||
|
||||
request.on('response', (response) => {
|
||||
if (response.statusCode === 200) {
|
||||
mainWin.webContents.send('select-atend-id', response.data.id);
|
||||
// window.electronAPI.selectAtendID(response.data.id);
|
||||
console.log(response.data);
|
||||
}
|
||||
});
|
||||
|
||||
} catch(error){
|
||||
console.log(error);
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
// Ouvir pedido para obter contagem (ex: se o JSON for atualizado)
|
||||
ipcMain.handle('get-count', async () => {
|
||||
const data = readData();
|
||||
return data.length;
|
||||
ipcMain.on('select-atend-id',(itemId)=>{
|
||||
selectedItemId = itemId;
|
||||
console.log(selectedItemId);
|
||||
});
|
||||
|
||||
// Ouvir clique no botão "Próximo"
|
||||
ipcMain.on('next-step', (event, itemId) => {
|
||||
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
|
||||
// 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
|
||||
const request = net.request({
|
||||
method: 'POST',
|
||||
method: 'GET',
|
||||
url: url,
|
||||
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"
|
||||
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}`);
|
||||
// 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).");
|
||||
|
||||
// Opcional: Ler dados novamente e atualizar contagem na janela flutuante
|
||||
const data = readData();
|
||||
if (floatingWin) {
|
||||
floatingWin.webContents.send('update-count', data.length);
|
||||
}
|
||||
// const data = readData();
|
||||
// if (floatingWin) {
|
||||
// floatingWin.webContents.send('update-count', data.length);
|
||||
// }
|
||||
|
||||
// Opcional: Fechar ou resetar a janela principal após salvar
|
||||
if (mainWin) {
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
"name": "autoatendcolab",
|
||||
"version": "1.0.0",
|
||||
"main": "main.js",
|
||||
"isBuildNow": true,
|
||||
"isBuildNow": false,
|
||||
"scripts": {
|
||||
"start": "electron .",
|
||||
"nodemon": "nodemon --exec electron .",
|
||||
|
|
|
|||
|
|
@ -2,7 +2,8 @@ const { app, contextBridge, ipcRenderer } = require('electron');
|
|||
|
||||
contextBridge.exposeInMainWorld('electronAPI', {
|
||||
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'),
|
||||
saveObservation: (data) => ipcRenderer.send('save-observation', data), // data = { itemId, observation }
|
||||
|
||||
|
|
|
|||
|
|
@ -90,8 +90,7 @@ function showObservationView() {
|
|||
// // Evento do botão "Iniciar atendimento"
|
||||
nextButton.addEventListener('click', () => {
|
||||
if (selectedItemId !== null) {
|
||||
console.log("Botão Próximo clicado, enviando ID:", selectedItemId);
|
||||
window.electronAPI.sendNextStep(selectedItemId); // Envia o ID para o main process
|
||||
window.electronAPI.iniciaAtendimento(selectedItemId);
|
||||
showObservationView(); // Muda para a tela de observação
|
||||
} else {
|
||||
console.warn("Nenhum item selecionado para 'Próximo'");
|
||||
|
|
|
|||
Loading…
Reference in New Issue