diff --git a/README.md b/README.md index fab4981..4802d8e 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,20 @@ # wms -WMS for small business + +WMS for small business. + +## Extensão Edge: Registro de Portaria + +A pasta `edge-extension/` contém uma extensão (Manifest V3) para Microsoft Edge com a tela de **Registro de Portaria**. + +### Como instalar localmente no Edge + +1. Abra `edge://extensions`. +2. Ative o **Modo de desenvolvedor**. +3. Clique em **Carregar sem compactação**. +4. Selecione a pasta `edge-extension` deste repositório. + +### O que a extensão faz + +- Exibe o formulário base de portaria em popup. +- Botão **Preencher do PDF** insere os dados informados (incluindo `DT: 23258415` em observações). +- Salva rascunho no `chrome.storage.local` automaticamente. diff --git a/edge-extension/manifest.json b/edge-extension/manifest.json new file mode 100644 index 0000000..169d1a3 --- /dev/null +++ b/edge-extension/manifest.json @@ -0,0 +1,13 @@ +{ + "manifest_version": 3, + "name": "WMS Registro de Portaria", + "version": "1.0.0", + "description": "Extensão para Edge com formulário de Registro de Portaria.", + "action": { + "default_title": "Registro de Portaria", + "default_popup": "popup.html" + }, + "permissions": [ + "storage" + ] +} diff --git a/edge-extension/popup.css b/edge-extension/popup.css new file mode 100644 index 0000000..4eb0235 --- /dev/null +++ b/edge-extension/popup.css @@ -0,0 +1,28 @@ +body{ + margin:0; + padding:12px; + background:#f8fafc; + min-width:520px; + font-family:Inter,Arial,sans-serif; +} +.portaria-container{ + background:#fff; + border-radius:18px; + padding:20px; + box-shadow:0 10px 30px rgba(0,0,0,.08); +} +.portaria-header{ margin-bottom:18px; } +.portaria-header h1{ margin:0; font-size:22px; color:#0f172a; } +.portaria-header p{ margin-top:6px; color:#64748b; font-size:12px; } +.portaria-form{ display:flex; flex-direction:column; gap:14px; } +.form-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:10px; } +.form-group{ display:flex; flex-direction:column; gap:6px; } +.form-group label{ font-weight:700; color:#334155; font-size:13px; } +.form-group input,.form-group select,.form-group textarea{ + border:1px solid #cbd5e1; border-radius:10px; padding:10px 12px; font-size:13px; +} +.form-actions{ display:flex; gap:8px; } +.btn-primary,.btn-secondary{ border:none; border-radius:10px; padding:10px 14px; font-weight:700; cursor:pointer; } +.btn-primary{ background:#2563eb; color:#fff; } +.btn-secondary{ background:#e2e8f0; color:#0f172a; } +#status{ margin:0; font-size:12px; color:#2563eb; min-height:14px; } diff --git a/edge-extension/popup.html b/edge-extension/popup.html new file mode 100644 index 0000000..f98a79e --- /dev/null +++ b/edge-extension/popup.html @@ -0,0 +1,71 @@ + + + + + + Registro de Portaria + + + +
+
+

Registro de Portaria

+

Extensão Edge • Controle de entrada e saída

+
+ +
+
+ + +
+ +
+ + +
+ +
+
+ + +
+ +
+ + +
+ +
+ + +
+
+ +
+ + +
+ +
+ + +
+ +
+ + +
+

+
+
+ + + + diff --git a/edge-extension/popup.js b/edge-extension/popup.js new file mode 100644 index 0000000..c3e961d --- /dev/null +++ b/edge-extension/popup.js @@ -0,0 +1,50 @@ +const PDF_DATA = { + transportadora: 'JOALERIA TRANSPORTES', + motorista: 'VAGNER RODRIGUES DOS SANTOS', + placa1: 'EZU-4743', + placa2: 'EOE-9685', + placa3: '', + tipo_veiculo: 'CARRETA', + observacoes: [ + 'DT: 23258415', + 'Número: 052025', + 'Operação: CARGA', + 'Condômino/Cliente: SUZANO PAPEL E CELULOSE', + 'Data Entrada/Início: 19/05/2026 19:58:00', + 'CPF: 301863388/13', + 'Contato: (11)91055-6767', + 'Responsável/Porteiro: MARCOS', + 'RG: 41.823.143-X' + ].join('\n') +} + +const form = document.getElementById('portariaForm') +const status = document.getElementById('status') + +function fillFromPdf() { + Object.entries(PDF_DATA).forEach(([key, value]) => { + const field = form.elements.namedItem(key) + if (field) field.value = value + }) + status.textContent = 'Dados do PDF preenchidos.' + chrome.storage.local.set({ portariaDraft: PDF_DATA }) +} + +document.getElementById('fillPdf').addEventListener('click', fillFromPdf) + +chrome.storage.local.get(['portariaDraft'], (result) => { + if (!result.portariaDraft) return + Object.entries(result.portariaDraft).forEach(([key, value]) => { + const field = form.elements.namedItem(key) + if (field) field.value = value + }) + status.textContent = 'Rascunho restaurado.' +}) + +form.addEventListener('input', () => { + const draft = {} + ;['transportadora', 'motorista', 'placa1', 'placa2', 'placa3', 'tipo_veiculo', 'observacoes'].forEach((name) => { + draft[name] = form.elements.namedItem(name).value + }) + chrome.storage.local.set({ portariaDraft: draft }) +}) diff --git a/index.html b/index.html index ef8ad43..7a8200c 100644 --- a/index.html +++ b/index.html @@ -56,6 +56,7 @@

📦 WMS

Cadastro / Atualização Expedição Consulta de Estoque + Registro de Portaria
Sistema simples para controle de áreas, SKUs e pallets diff --git a/portaria.html b/portaria.html new file mode 100644 index 0000000..c7d3e0c --- /dev/null +++ b/portaria.html @@ -0,0 +1,144 @@ + + + + + + Registro de Portaria + + + +
+
+

Registro de Portaria

+

Controle de entrada e saída de veículos

+
+ +
+
+ + +
+ +
+ + +
+ +
+
+ + +
+ +
+ + +
+ +
+ + +
+
+ +
+ + +
+ +
+ + +
+ +
+ + +
+
+
+ +