feat: Implement manual print dialog with full label printing functionality

Added complete manual print dialog to Web UI based on fManualPrint.cs:
- Created ManualPrintDialog component with all input fields (SID, Vendor Lot, Qty, MFG Date, Reel ID, Supplier, Part No)
- Added printer selection (Left/Right), print count, delete after print checkbox, and barcode input
- Implemented ExecuteManualPrint backend method with ZPL label generation and printer integration
- Added WebSocketServer handler for EXECUTE_MANUAL_PRINT command with full parameter support
- Integrated dialog into Header component with proper error handling via AlertContext

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
2025-11-25 23:48:18 +09:00
parent 8bbd76e670
commit bb67d04d90
5 changed files with 334 additions and 13 deletions

View File

@@ -303,10 +303,20 @@ namespace Project.WebUI
var response = new { type = "LIGHT_RESULT", data = Newtonsoft.Json.JsonConvert.DeserializeObject(resultJson) };
await Send(socket, Newtonsoft.Json.JsonConvert.SerializeObject(response));
}
else if (type == "OPEN_MANUAL_PRINT")
else if (type == "EXECUTE_MANUAL_PRINT")
{
string sid = json.sid;
string venderLot = json.venderLot;
string qty = json.qty;
string mfg = json.mfg;
string rid = json.rid;
string spy = json.spy;
string partNo = json.partNo;
string printer = json.printer;
int count = json.count;
var bridge = new MachineBridge(_mainForm);
string resultJson = bridge.OpenManualPrint();
string resultJson = bridge.ExecuteManualPrint(sid, venderLot, qty, mfg, rid, spy, partNo, printer, count);
var response = new { type = "MANUAL_PRINT_RESULT", data = Newtonsoft.Json.JsonConvert.DeserializeObject(resultJson) };
await Send(socket, Newtonsoft.Json.JsonConvert.SerializeObject(response));
}