Commit 510c8469 by cam

Server and client side web plate orders nearly finished.

Just need to finish setting up the dataset and it should be finished with adding and editting working. Fixed overlay bug where navbar was appearing below table.  fixed JWT Token issue where user id was not being properly saved.
parent a6836080
......@@ -52,6 +52,7 @@ type
procedure EditUser( Mode, Username, Password, Name, Status, Email,
Access, Rights, Perspective, QB: string);
procedure ViewOrderEntryCorrugated(orderInfo, customerInfo, mode: string);
procedure ViewOrderEntryWeb(orderInfo, customerInfo, mode: string);
procedure ViewOrderEntryCuttingDie(orderInfo, customerInfo, mode: string);
procedure ViewOrders(info: string);
procedure ShowUserForm(Info: string);
......@@ -72,7 +73,8 @@ uses
View.EditUser,
View.Orders,
View.OrderEntryCorrugated,
View.OrderEntryCuttingDie;
View.OrderEntryCuttingDie,
View.OrderEntryWeb;
{$R *.dfm}
......@@ -237,6 +239,14 @@ begin
FChildForm := TFOrderEntryCorrugated.CreateForm(WebPanel1.ElementID, orderInfo, customerInfo, mode);
end;
procedure TFViewMain.ViewOrderEntryWeb(orderInfo, customerInfo, mode: string);
begin
lblAppTitle.Caption := 'Koehler-Gibson Order Entry';
if Assigned(FChildForm) then
FChildForm.Free;
FChildForm := TFOrderEntryWeb.CreateForm(WebPanel1.ElementID, orderInfo, customerInfo, mode);
end;
procedure TFViewMain.ViewOrderEntryCuttingDie(orderInfo, customerInfo, mode: string);
begin
lblAppTitle.Caption := 'Koehler-Gibson Order Entry';
......
object FOrderEntryWeb: TFOrderEntryWeb
Width = 1015
Height = 628
object WebLabel2: TWebLabel
Left = 26
Top = 72
Width = 52
Height = 15
Caption = 'Company'
HeightPercent = 100.000000000000000000
Visible = False
WidthPercent = 100.000000000000000000
end
object WebLabel1: TWebLabel
Left = 34
Top = 188
Width = 57
Height = 15
Caption = 'Staff Fields'
HeightPercent = 100.000000000000000000
Visible = False
WidthPercent = 100.000000000000000000
end
object WebLabel3: TWebLabel
Left = 276
Top = 193
Width = 117
Height = 15
Caption = 'Supplied By Customer'
HeightPercent = 100.000000000000000000
Visible = False
WidthPercent = 100.000000000000000000
end
object WebLabel4: TWebLabel
Left = 444
Top = 72
Width = 46
Height = 15
Caption = 'Proofing'
HeightPercent = 100.000000000000000000
Visible = False
WidthPercent = 100.000000000000000000
end
object WebLabel5: TWebLabel
Left = 634
Top = 8
Width = 111
Height = 15
Caption = 'Color and Qty Colors'
HeightPercent = 100.000000000000000000
Visible = False
WidthPercent = 100.000000000000000000
end
object WebLabel6: TWebLabel
Left = 634
Top = 118
Width = 61
Height = 15
Caption = 'Plate Marks'
HeightPercent = 100.000000000000000000
Visible = False
WidthPercent = 100.000000000000000000
end
object WebLabel7: TWebLabel
Left = 634
Top = 387
Width = 88
Height = 15
Caption = 'Print Orientation'
HeightPercent = 100.000000000000000000
Visible = False
WidthPercent = 100.000000000000000000
end
object WebLabel8: TWebLabel
Left = 782
Top = 8
Width = 36
Height = 15
Caption = 'Layout'
HeightPercent = 100.000000000000000000
Visible = False
WidthPercent = 100.000000000000000000
end
object WebLabel9: TWebLabel
Left = 782
Top = 402
Width = 23
Height = 15
Caption = 'UPC'
HeightPercent = 100.000000000000000000
Visible = False
WidthPercent = 100.000000000000000000
end
object WebLabel10: TWebLabel
Left = 634
Top = 437
Width = 26
Height = 15
Caption = 'Plate'
HeightPercent = 100.000000000000000000
Visible = False
WidthPercent = 100.000000000000000000
end
object WebLabel11: TWebLabel
Left = 276
Top = 139
Width = 40
Height = 15
Caption = 'General'
HeightPercent = 100.000000000000000000
Visible = False
WidthPercent = 100.000000000000000000
end
object pnlMessage: TWebPanel
Left = 324
Top = 19
Width = 121
Height = 33
ElementID = 'pnl_message'
ChildOrder = 5
ElementPosition = epRelative
Role = 'alert'
TabOrder = 0
object lblMessage: TWebLabel
Left = 28
Top = 9
Width = 46
Height = 15
Caption = 'Message'
ElementID = 'view.login.message.label'
ElementPosition = epRelative
HeightPercent = 100.000000000000000000
WidthPercent = 100.000000000000000000
end
object btnCloseNotification: TWebButton
Left = 96
Top = 3
Width = 22
Height = 25
ChildOrder = 1
ElementID = 'view.login.message.button'
ElementFont = efCSS
ElementPosition = epRelative
HeightStyle = ssAuto
HeightPercent = 100.000000000000000000
Role = 'button'
WidthStyle = ssAuto
WidthPercent = 100.000000000000000000
end
end
object edtCompanyName: TWebDBEdit
Left = 24
Top = 92
Width = 260
Height = 23
AutoSize = True
ChildOrder = 79
ElementID = 'edtcompanyname'
HeightPercent = 100.000000000000000000
MaxLength = 90
WidthStyle = ssAuto
WidthPercent = 100.000000000000000000
DataField = 'NAME'
DataSource = WebDataSource1
end
object edtCompanyAccountName: TWebDBEdit
Left = 24
Top = 120
Width = 121
Height = 23
AutoSize = True
ChildOrder = 79
ElementID = 'edtaccountcompanyname'
HeightPercent = 100.000000000000000000
WidthPercent = 100.000000000000000000
DataField = 'SHORT_NAME'
DataSource = WebDataSource1
end
object edtInQuickBooks: TWebDBEdit
Left = 26
Top = 148
Width = 121
Height = 23
AutoSize = True
ChildOrder = 79
ElementID = 'edtinquickbooks'
HeightPercent = 100.000000000000000000
WidthPercent = 100.000000000000000000
DataField = 'inQuickBooks'
DataSource = WebDataSource1
end
object dtpOrderDate: TWebDateTimePicker
Left = 22
Top = 218
Width = 170
Height = 22
ElementID = 'dtporderdate'
BorderStyle = bsSingle
ChildOrder = 4
Color = clWhite
Date = 45638.529943136570000000
Role = ''
Text = ''
end
object dtpProofDate: TWebDateTimePicker
Left = 22
Top = 250
Width = 170
Height = 22
ElementID = 'dtpproofdate'
BorderStyle = bsSingle
ChildOrder = 4
Color = clWhite
Date = 45638.529943136570000000
Role = ''
Text = ''
end
object dtpShipDate: TWebDateTimePicker
Left = 22
Top = 282
Width = 170
Height = 22
ElementID = 'dtpshipdate'
BorderStyle = bsSingle
ChildOrder = 4
Color = clWhite
Date = 45638.529943136570000000
Role = ''
Text = ''
end
object dtpArtDue: TWebDateTimePicker
Left = 24
Top = 544
Width = 170
Height = 22
ElementID = 'dtpartdue'
BorderStyle = bsSingle
ChildOrder = 17
Color = clWhite
Date = 45638.529943136570000000
Role = ''
Text = ''
end
object dtpPlateDue: TWebDateTimePicker
Left = 24
Top = 568
Width = 170
Height = 22
ElementID = 'dtpplatedue'
BorderStyle = bsSingle
ChildOrder = 17
Color = clWhite
Date = 45638.529943136570000000
Role = ''
Text = ''
end
object edtShipVia: TWebDBEdit
Left = 24
Top = 314
Width = 121
Height = 23
AutoSize = True
ChildOrder = 79
ElementID = 'edtshipvia'
HeightPercent = 100.000000000000000000
WidthPercent = 100.000000000000000000
DataField = 'staff_fields_ship_via'
DataSource = WebDataSource1
end
object edtQuantity: TWebDBEdit
Left = 24
Top = 346
Width = 121
Height = 23
AutoSize = True
ChildOrder = 79
ElementID = 'edtquantity'
HeightPercent = 100.000000000000000000
WidthPercent = 100.000000000000000000
DataField = 'staff_fields_quantity'
DataSource = WebDataSource1
end
object edtPrice: TWebDBEdit
Left = 24
Top = 374
Width = 121
Height = 22
ChildOrder = 79
ElementID = 'edtprice'
HeightPercent = 100.000000000000000000
WidthPercent = 100.000000000000000000
DataField = 'staff_fields_price'
DataSource = WebDataSource1
end
object edtInvoiceTo: TWebDBEdit
Left = 26
Top = 402
Width = 121
Height = 23
AutoSize = True
ChildOrder = 79
ElementID = 'edtinvoiceto'
HeightPercent = 100.000000000000000000
WidthPercent = 100.000000000000000000
DataField = 'staff_fields_invoice_to'
DataSource = WebDataSource1
end
object edtPONumber: TWebDBEdit
Left = 26
Top = 458
Width = 121
Height = 23
AutoSize = True
ChildOrder = 79
ElementID = 'edtponumber'
HeightPercent = 100.000000000000000000
WidthPercent = 100.000000000000000000
DataField = 'staff_fields_po_number'
DataSource = WebDataSource1
end
object edtJobName: TWebDBEdit
Left = 26
Top = 486
Width = 121
Height = 23
AutoSize = True
ChildOrder = 79
ElementID = 'edtjobname'
HeightPercent = 100.000000000000000000
WidthPercent = 100.000000000000000000
DataField = 'staff_fields_job_name'
DataSource = WebDataSource1
end
object edtQuickBooksItem: TWebDBEdit
Left = 26
Top = 514
Width = 121
Height = 23
AutoSize = True
ChildOrder = 79
ElementID = 'edtquickbooksitem'
HeightPercent = 100.000000000000000000
WidthPercent = 100.000000000000000000
DataField = 'staff_fields_quickbooks_item'
DataSource = WebDataSource1
end
object WebDBComboBox1: TWebDBComboBox
Left = 26
Top = 430
Width = 145
Height = 23
ElementID = 'wcbshipto'
HeightPercent = 100.000000000000000000
WidthPercent = 100.000000000000000000
ItemIndex = -1
DataField = 'staff_fields_ship_to'
DataSource = WebDataSource1
ListField = 'ADDRESS'
ListSource = wdsShipTo
end
object edtBWorColorCopy: TWebDBEdit
Left = 276
Top = 214
Width = 121
Height = 23
AutoSize = True
ChildOrder = 79
ElementID = 'edtbworcolorcopy'
HeightPercent = 100.000000000000000000
WidthPercent = 100.000000000000000000
DataField = 'staff_fields_ship_via'
DataSource = WebDataSource1
end
object edtPlates: TWebDBEdit
Left = 276
Top = 243
Width = 121
Height = 23
AutoSize = True
ChildOrder = 79
ElementID = 'edtplates'
HeightPercent = 100.000000000000000000
WidthPercent = 100.000000000000000000
DataField = 'staff_fields_ship_via'
DataSource = WebDataSource1
end
object edtDimensionalLayout: TWebDBEdit
Left = 276
Top = 314
Width = 121
Height = 23
AutoSize = True
ChildOrder = 79
ElementID = 'edtdimensionallayout'
HeightPercent = 100.000000000000000000
WidthPercent = 100.000000000000000000
DataField = 'staff_fields_ship_via'
DataSource = WebDataSource1
end
object edtSample: TWebDBEdit
Left = 276
Top = 281
Width = 121
Height = 23
AutoSize = True
ChildOrder = 79
ElementID = 'edtsample'
HeightPercent = 100.000000000000000000
WidthPercent = 100.000000000000000000
DataField = 'staff_fields_ship_via'
DataSource = WebDataSource1
end
object edtDisk: TWebDBEdit
Left = 276
Top = 375
Width = 121
Height = 23
AutoSize = True
ChildOrder = 79
ElementID = 'edtdisk'
HeightPercent = 100.000000000000000000
WidthPercent = 100.000000000000000000
DataField = 'staff_fields_ship_via'
DataSource = WebDataSource1
end
object edtOther: TWebDBEdit
Left = 276
Top = 346
Width = 121
Height = 23
AutoSize = True
ChildOrder = 79
ElementID = 'edtother'
HeightPercent = 100.000000000000000000
WidthPercent = 100.000000000000000000
DataField = 'staff_fields_ship_via'
DataSource = WebDataSource1
end
object edtEmail: TWebDBEdit
Left = 276
Top = 404
Width = 121
Height = 23
AutoSize = True
ChildOrder = 79
ElementID = 'edtemail'
HeightPercent = 100.000000000000000000
WidthPercent = 100.000000000000000000
DataField = 'staff_fields_ship_via'
DataSource = WebDataSource1
end
object edtTotalInchesUsed: TWebDBEdit
Left = 276
Top = 467
Width = 121
Height = 23
AutoSize = True
ChildOrder = 79
ElementID = 'edttotalinchesused'
HeightPercent = 100.000000000000000000
WidthPercent = 100.000000000000000000
DataField = 'staff_fields_ship_via'
DataSource = WebDataSource1
end
object edtFTP: TWebDBEdit
Left = 276
Top = 433
Width = 121
Height = 23
AutoSize = True
ChildOrder = 79
ElementID = 'edtftp'
HeightPercent = 100.000000000000000000
WidthPercent = 100.000000000000000000
DataField = 'staff_fields_ship_via'
DataSource = WebDataSource1
end
object edtSheetsUsed: TWebDBEdit
Left = 276
Top = 496
Width = 121
Height = 23
AutoSize = True
ChildOrder = 79
ElementID = 'edtsheetsused'
HeightPercent = 100.000000000000000000
WidthPercent = 100.000000000000000000
DataField = 'staff_fields_ship_via'
DataSource = WebDataSource1
end
object edtInitials: TWebDBEdit
Left = 276
Top = 529
Width = 121
Height = 23
AutoSize = True
ChildOrder = 79
ElementID = 'edtinitials'
HeightPercent = 100.000000000000000000
WidthPercent = 100.000000000000000000
DataField = 'staff_fields_ship_via'
DataSource = WebDataSource1
end
object cbPDF: TWebDBCheckBox
Left = 444
Top = 96
Width = 113
Height = 22
Caption = 'PDF'
ChildOrder = 79
ElementID = 'cbpdf'
HeightPercent = 100.000000000000000000
WidthPercent = 100.000000000000000000
DataField = 'proofing_full_size_panel'
DataSource = WebDataSource1
end
object edtPDFTo: TWebDBEdit
Left = 444
Top = 128
Width = 121
Height = 23
AutoSize = True
ChildOrder = 79
ElementID = 'edtpdfto'
HeightPercent = 100.000000000000000000
WidthPercent = 100.000000000000000000
DataField = 'staff_fields_ship_via'
DataSource = WebDataSource1
end
object dtpPDFDate1: TWebDateTimePicker
Left = 444
Top = 157
Width = 170
Height = 22
ElementID = 'dtppdfdate1'
BorderStyle = bsSingle
ChildOrder = 4
Color = clWhite
Date = 45638.529943136570000000
Role = ''
Text = ''
end
object dtpPDFDate3: TWebDateTimePicker
Left = 444
Top = 206
Width = 170
Height = 22
ElementID = 'dtppdfdate3'
BorderStyle = bsSingle
ChildOrder = 4
Color = clWhite
Date = 45638.529943136570000000
Role = ''
Text = ''
end
object dtpPDFDate2: TWebDateTimePicker
Left = 444
Top = 181
Width = 170
Height = 22
ElementID = 'dtppdfdate2'
BorderStyle = bsSingle
ChildOrder = 4
Color = clWhite
Date = 45638.529943136570000000
Role = ''
Text = ''
end
object cbInkJet: TWebDBCheckBox
Left = 444
Top = 238
Width = 113
Height = 22
Caption = 'Full Size Ink Jet For Layout Content Only'
ChildOrder = 79
ElementID = 'cbfullsizeinkjet'
HeightPercent = 100.000000000000000000
WidthPercent = 100.000000000000000000
DataField = 'proofing_full_size_panel'
DataSource = WebDataSource1
end
object edtInkJetTo2: TWebDBEdit
Left = 444
Top = 295
Width = 121
Height = 23
AutoSize = True
ChildOrder = 79
ElementID = 'edtinkjetto2'
HeightPercent = 100.000000000000000000
WidthPercent = 100.000000000000000000
DataField = 'staff_fields_ship_via'
DataSource = WebDataSource1
end
object edtInkJetTo1: TWebDBEdit
Left = 444
Top = 266
Width = 121
Height = 23
AutoSize = True
ChildOrder = 79
ElementID = 'edtinkjetto'
HeightPercent = 100.000000000000000000
WidthPercent = 100.000000000000000000
DataField = 'staff_fields_ship_via'
DataSource = WebDataSource1
end
object dtpInkJetDate1: TWebDateTimePicker
Left = 444
Top = 329
Width = 170
Height = 22
ElementID = 'dtpinkjetdate1'
BorderStyle = bsSingle
ChildOrder = 4
Color = clWhite
Date = 45638.529943136570000000
Role = ''
Text = ''
end
object dtpInkJetDate3: TWebDateTimePicker
Left = 444
Top = 378
Width = 170
Height = 22
ElementID = 'dtpinkjetdate3'
BorderStyle = bsSingle
ChildOrder = 4
Color = clWhite
Date = 45638.529943136570000000
Role = ''
Text = ''
end
object dtpInkJetDate2: TWebDateTimePicker
Left = 444
Top = 353
Width = 170
Height = 22
ElementID = 'dtpinkjetdate2'
BorderStyle = bsSingle
ChildOrder = 4
Color = clWhite
Date = 45638.529943136570000000
Role = ''
Text = ''
end
object edtColorContrastTo: TWebDBEdit
Left = 444
Top = 435
Width = 121
Height = 23
AutoSize = True
ChildOrder = 79
ElementID = 'edtcolorcontrastto'
HeightPercent = 100.000000000000000000
WidthPercent = 100.000000000000000000
DataField = 'staff_fields_ship_via'
DataSource = WebDataSource1
end
object edtColorContrast: TWebDBEdit
Left = 444
Top = 406
Width = 121
Height = 23
AutoSize = True
ChildOrder = 79
ElementID = 'edtcolorcontrast'
HeightPercent = 100.000000000000000000
WidthPercent = 100.000000000000000000
DataField = 'staff_fields_ship_via'
DataSource = WebDataSource1
end
object dtpColorContrastDate1: TWebDateTimePicker
Left = 444
Top = 464
Width = 170
Height = 22
ElementID = 'dtpcolorcontrastdate1'
BorderStyle = bsSingle
ChildOrder = 4
Color = clWhite
Date = 45638.529943136570000000
Role = ''
Text = ''
end
object dtpColorContrastDate2: TWebDateTimePicker
Left = 444
Top = 488
Width = 170
Height = 22
ElementID = 'dtpcolorcontrastdate2'
BorderStyle = bsSingle
ChildOrder = 4
Color = clWhite
Date = 45638.529943136570000000
Role = ''
Text = ''
end
object edtDigitalColorTo: TWebDBEdit
Left = 444
Top = 545
Width = 121
Height = 23
AutoSize = True
ChildOrder = 79
ElementID = 'edtdigitalcolorto'
HeightPercent = 100.000000000000000000
WidthPercent = 100.000000000000000000
DataField = 'staff_fields_ship_via'
DataSource = WebDataSource1
end
object edtDigitalColorKey: TWebDBEdit
Left = 444
Top = 516
Width = 121
Height = 23
AutoSize = True
ChildOrder = 79
ElementID = 'edtdigitalcolorkey'
HeightPercent = 100.000000000000000000
WidthPercent = 100.000000000000000000
DataField = 'staff_fields_ship_via'
DataSource = WebDataSource1
end
object dtpDigitalColorDate: TWebDateTimePicker
Left = 444
Top = 578
Width = 170
Height = 22
ElementID = 'dtpdigitalcolordate'
BorderStyle = bsSingle
ChildOrder = 4
Color = clWhite
Date = 45638.529943136570000000
Role = ''
Text = ''
end
object edtAniloxInfo: TWebDBEdit
Left = 634
Top = 58
Width = 121
Height = 23
AutoSize = True
ChildOrder = 79
ElementID = 'edtanilaxinfo'
HeightPercent = 100.000000000000000000
WidthPercent = 100.000000000000000000
DataField = 'staff_fields_ship_via'
DataSource = WebDataSource1
end
object edtPressName: TWebDBEdit
Left = 634
Top = 29
Width = 121
Height = 23
AutoSize = True
ChildOrder = 79
ElementID = 'edtpressname'
HeightPercent = 100.000000000000000000
WidthPercent = 100.000000000000000000
DataField = 'staff_fields_ship_via'
DataSource = WebDataSource1
end
object WebButton1: TWebButton
Left = 634
Top = 87
Width = 96
Height = 25
Caption = '+'
ChildOrder = 59
ElementID = 'btnaddcolor'
HeightPercent = 100.000000000000000000
WidthPercent = 100.000000000000000000
end
object edtMicroDots: TWebDBEdit
Left = 634
Top = 139
Width = 121
Height = 23
AutoSize = True
ChildOrder = 79
ElementID = 'edtmicrodots'
HeightPercent = 100.000000000000000000
WidthPercent = 100.000000000000000000
DataField = 'staff_fields_ship_via'
DataSource = WebDataSource1
end
object edtMicrodotsComments: TWebDBEdit
Left = 634
Top = 168
Width = 121
Height = 23
AutoSize = True
ChildOrder = 79
ElementID = 'edtmicrodotscomments'
HeightPercent = 100.000000000000000000
WidthPercent = 100.000000000000000000
DataField = 'staff_fields_ship_via'
DataSource = WebDataSource1
end
object edtCrosshairsComments: TWebDBEdit
Left = 634
Top = 239
Width = 121
Height = 23
AutoSize = True
ChildOrder = 79
ElementID = 'edtcrosshairscomments'
HeightPercent = 100.000000000000000000
WidthPercent = 100.000000000000000000
DataField = 'staff_fields_ship_via'
DataSource = WebDataSource1
end
object edtCrosshairs: TWebDBEdit
Left = 634
Top = 206
Width = 121
Height = 23
AutoSize = True
ChildOrder = 79
ElementID = 'edtcrosshairs'
HeightPercent = 100.000000000000000000
WidthPercent = 100.000000000000000000
DataField = 'staff_fields_ship_via'
DataSource = WebDataSource1
end
object edtColorBarsComments: TWebDBEdit
Left = 634
Top = 300
Width = 121
Height = 23
AutoSize = True
ChildOrder = 79
ElementID = 'edtcolorbarscomments'
HeightPercent = 100.000000000000000000
WidthPercent = 100.000000000000000000
DataField = 'staff_fields_ship_via'
DataSource = WebDataSource1
end
object edtColorBars: TWebDBEdit
Left = 634
Top = 271
Width = 121
Height = 23
AutoSize = True
ChildOrder = 79
ElementID = 'edtcolorbars'
HeightPercent = 100.000000000000000000
WidthPercent = 100.000000000000000000
DataField = 'staff_fields_ship_via'
DataSource = WebDataSource1
end
object edtPlateOther: TWebDBEdit
Left = 634
Top = 329
Width = 121
Height = 23
AutoSize = True
ChildOrder = 79
ElementID = 'edtplateother'
HeightPercent = 100.000000000000000000
WidthPercent = 100.000000000000000000
DataField = 'staff_fields_ship_via'
DataSource = WebDataSource1
end
object edtPlateOtherComments: TWebDBEdit
Left = 634
Top = 358
Width = 121
Height = 23
AutoSize = True
ChildOrder = 79
ElementID = 'edtplateothercomments'
HeightPercent = 100.000000000000000000
WidthPercent = 100.000000000000000000
DataField = 'staff_fields_ship_via'
DataSource = WebDataSource1
end
object edtPrintOrientation: TWebDBEdit
Left = 634
Top = 408
Width = 121
Height = 23
AutoSize = True
ChildOrder = 79
ElementID = 'edtprintorientation'
HeightPercent = 100.000000000000000000
WidthPercent = 100.000000000000000000
DataField = 'staff_fields_ship_via'
DataSource = WebDataSource1
end
object edtAround: TWebDBEdit
Left = 782
Top = 29
Width = 121
Height = 23
AutoSize = True
ChildOrder = 79
ElementID = 'edtaround'
HeightPercent = 100.000000000000000000
WidthPercent = 100.000000000000000000
DataField = 'staff_fields_ship_via'
DataSource = WebDataSource1
end
object edtAccross: TWebDBEdit
Left = 782
Top = 58
Width = 121
Height = 23
AutoSize = True
ChildOrder = 79
ElementID = 'edtaccross'
HeightPercent = 100.000000000000000000
WidthPercent = 100.000000000000000000
DataField = 'staff_fields_ship_via'
DataSource = WebDataSource1
end
object edtReversePrint: TWebDBEdit
Left = 782
Top = 129
Width = 121
Height = 23
AutoSize = True
ChildOrder = 79
ElementID = 'edtreverseprint'
HeightPercent = 100.000000000000000000
WidthPercent = 100.000000000000000000
DataField = 'staff_fields_ship_via'
DataSource = WebDataSource1
end
object edtSurfacePrint: TWebDBEdit
Left = 782
Top = 96
Width = 121
Height = 23
AutoSize = True
ChildOrder = 79
ElementID = 'edtsurfaceprint'
HeightPercent = 100.000000000000000000
WidthPercent = 100.000000000000000000
DataField = 'staff_fields_ship_via'
DataSource = WebDataSource1
end
object edtCutoffDimension: TWebDBEdit
Left = 782
Top = 190
Width = 121
Height = 23
AutoSize = True
ChildOrder = 79
ElementID = 'edtcutoffdimension'
HeightPercent = 100.000000000000000000
WidthPercent = 100.000000000000000000
DataField = 'staff_fields_ship_via'
DataSource = WebDataSource1
end
object edtCylinderRepeat: TWebDBEdit
Left = 782
Top = 161
Width = 121
Height = 23
AutoSize = True
ChildOrder = 79
ElementID = 'edtcylinderrepeat'
HeightPercent = 100.000000000000000000
WidthPercent = 100.000000000000000000
DataField = 'staff_fields_ship_via'
DataSource = WebDataSource1
end
object edtPitch: TWebDBEdit
Left = 782
Top = 219
Width = 121
Height = 23
AutoSize = True
ChildOrder = 79
ElementID = 'edtpitch'
HeightPercent = 100.000000000000000000
WidthPercent = 100.000000000000000000
DataField = 'staff_fields_ship_via'
DataSource = WebDataSource1
end
object edtBleed: TWebDBEdit
Left = 782
Top = 282
Width = 121
Height = 23
AutoSize = True
ChildOrder = 79
ElementID = 'edtbleed'
HeightPercent = 100.000000000000000000
WidthPercent = 100.000000000000000000
DataField = 'staff_fields_ship_via'
DataSource = WebDataSource1
end
object edtTeeth: TWebDBEdit
Left = 782
Top = 248
Width = 121
Height = 23
AutoSize = True
ChildOrder = 79
ElementID = 'edtteeth'
HeightPercent = 100.000000000000000000
WidthPercent = 100.000000000000000000
DataField = 'staff_fields_ship_via'
DataSource = WebDataSource1
end
object edtCutback: TWebDBEdit
Left = 782
Top = 311
Width = 121
Height = 23
AutoSize = True
ChildOrder = 79
ElementID = 'edtcutback'
HeightPercent = 100.000000000000000000
WidthPercent = 100.000000000000000000
DataField = 'staff_fields_ship_via'
DataSource = WebDataSource1
end
object edtMinimumTrapDim: TWebDBEdit
Left = 782
Top = 344
Width = 121
Height = 23
AutoSize = True
ChildOrder = 79
ElementID = 'edtminimumtrapdimension'
HeightPercent = 100.000000000000000000
WidthPercent = 100.000000000000000000
DataField = 'staff_fields_ship_via'
DataSource = WebDataSource1
end
object edtMaximumTrapDim: TWebDBEdit
Left = 782
Top = 373
Width = 121
Height = 23
AutoSize = True
ChildOrder = 79
ElementID = 'edtmaximumtrapdimension'
HeightPercent = 100.000000000000000000
WidthPercent = 100.000000000000000000
DataField = 'staff_fields_ship_via'
DataSource = WebDataSource1
end
object edtSize: TWebDBEdit
Left = 782
Top = 423
Width = 121
Height = 23
AutoSize = True
ChildOrder = 79
ElementID = 'edtsize'
HeightPercent = 100.000000000000000000
WidthPercent = 100.000000000000000000
DataField = 'staff_fields_ship_via'
DataSource = WebDataSource1
end
object edtBarWidthReduction: TWebDBEdit
Left = 782
Top = 452
Width = 121
Height = 23
AutoSize = True
ChildOrder = 79
ElementID = 'edtbarwidthreduction'
HeightPercent = 100.000000000000000000
WidthPercent = 100.000000000000000000
DataField = 'staff_fields_ship_via'
DataSource = WebDataSource1
end
object edtDistortionAmount: TWebDBEdit
Left = 782
Top = 523
Width = 121
Height = 23
AutoSize = True
ChildOrder = 79
ElementID = 'edtdistortionamount'
HeightPercent = 100.000000000000000000
WidthPercent = 100.000000000000000000
DataField = 'staff_fields_ship_via'
DataSource = WebDataSource1
end
object edtDistortionPercent: TWebDBEdit
Left = 782
Top = 490
Width = 121
Height = 23
AutoSize = True
ChildOrder = 79
ElementID = 'edtdistortionpercent'
HeightPercent = 100.000000000000000000
WidthPercent = 100.000000000000000000
DataField = 'staff_fields_ship_via'
DataSource = WebDataSource1
end
object edtPlateMaterial: TWebDBEdit
Left = 634
Top = 458
Width = 121
Height = 23
AutoSize = True
ChildOrder = 79
ElementID = 'edtplatematerial'
HeightPercent = 100.000000000000000000
WidthPercent = 100.000000000000000000
DataField = 'staff_fields_ship_via'
DataSource = WebDataSource1
end
object edtThickness: TWebDBEdit
Left = 634
Top = 487
Width = 121
Height = 23
AutoSize = True
ChildOrder = 79
ElementID = 'edtthickness'
HeightPercent = 100.000000000000000000
WidthPercent = 100.000000000000000000
DataField = 'staff_fields_ship_via'
DataSource = WebDataSource1
end
object edtJobNumber: TWebDBEdit
Left = 634
Top = 516
Width = 121
Height = 23
AutoSize = True
ChildOrder = 79
ElementID = 'edtjobnumber'
HeightPercent = 100.000000000000000000
WidthPercent = 100.000000000000000000
DataField = 'staff_fields_ship_via'
DataSource = WebDataSource1
end
object Comments: TWebDBEdit
Left = 276
Top = 160
Width = 121
Height = 23
AutoSize = True
ChildOrder = 79
ElementID = 'edtcomments'
HeightPercent = 100.000000000000000000
WidthPercent = 100.000000000000000000
DataField = 'staff_fields_ship_via'
DataSource = WebDataSource1
end
object btnConfirm: TWebButton
Left = 649
Top = 568
Width = 96
Height = 25
Caption = 'Confirm'
ChildOrder = 79
ElementID = 'btnconfirm'
HeightPercent = 100.000000000000000000
WidthPercent = 100.000000000000000000
end
object btnEdit: TWebButton
Left = 867
Top = 568
Width = 96
Height = 25
Caption = 'Edit'
ChildOrder = 79
ElementID = 'btnedit'
HeightPercent = 100.000000000000000000
WidthPercent = 100.000000000000000000
end
object btnCancel: TWebButton
Left = 761
Top = 568
Width = 96
Height = 25
Caption = 'Cancel'
ChildOrder = 79
ElementID = 'btncancel'
HeightPercent = 100.000000000000000000
WidthPercent = 100.000000000000000000
end
object XDataWebClient1: TXDataWebClient
Connection = DMConnection.ApiConnection
Left = 160
Top = 18
end
object tmrScrollTop: TWebTimer
Interval = 100
Left = 240
Top = 8
end
object XDataWebDataSet1: TXDataWebDataSet
Connection = DMConnection.ApiConnection
Left = 90
Top = 20
object XDataWebDataSet1ORDER_ID: TIntegerField
FieldName = 'ORDER_ID'
end
object XDataWebDataSet1COMPANY_ID: TIntegerField
FieldName = 'COMPANY_ID'
end
object XDataWebDataSet1USER_ID: TIntegerField
FieldName = 'USER_ID'
end
object XDataWebDataSet1ORDER_DATE: TDateField
FieldName = 'ORDER_DATE'
end
object XDataWebDataSet1START_DATE: TDateField
FieldName = 'START_DATE'
end
object XDataWebDataSet1END_DATE: TDateField
FieldName = 'END_DATE'
end
object XDataWebDataSet1ORDER_STATUS: TStringField
FieldName = 'ORDER_STATUS'
end
object XDataWebDataSet1SCHED_JSON: TStringField
FieldName = 'SCHED_JSON'
end
object XDataWebDataSet1NAME: TStringField
FieldName = 'NAME'
end
object XDataWebDataSet1SHORT_NAME: TStringField
FieldName = 'SHORT_NAME'
end
object XDataWebDataSet1staff_fields_ship_via: TStringField
FieldName = 'staff_fields_ship_via'
end
object XDataWebDataSet1staff_fields_price: TStringField
FieldName = 'staff_fields_price'
end
object XDataWebDataSet1staff_fields_invoice_to: TStringField
FieldName = 'staff_fields_invoice_to'
end
object XDataWebDataSet1staff_fields_invoice_attention: TStringField
FieldName = 'staff_fields_invoice_attention'
end
object XDataWebDataSet1staff_fields_ship_to: TStringField
FieldName = 'staff_fields_ship_to'
end
object XDataWebDataSet1staff_fields_ship_attention: TStringField
FieldName = 'staff_fields_ship_attention'
end
object XDataWebDataSet1staff_fields_po_number: TStringField
FieldName = 'staff_fields_po_number'
end
object XDataWebDataSet1staff_fields_job_name: TStringField
FieldName = 'staff_fields_job_name'
end
object XDataWebDataSet1plates_job_number: TStringField
FieldName = 'plates_job_number'
end
object XDataWebDataSet1supplied_by_customer_b_w_copy: TBooleanField
FieldName = 'supplied_by_customer_b_w_copy'
end
object XDataWebDataSet1supplied_by_customer_dimension: TStringField
FieldName = 'supplied_by_customer_dimension'
end
object XDataWebDataSet1supplied_by_customer_e_mail: TStringField
FieldName = 'supplied_by_customer_e_mail'
end
object XDataWebDataSet1supplied_by_customer_ftp: TStringField
FieldName = 'supplied_by_customer_ftp'
end
object XDataWebDataSet1supplied_by_customer_other: TStringField
FieldName = 'supplied_by_customer_other'
end
object XDataWebDataSet1supplied_by_customer_existing_: TStringField
FieldName = 'supplied_by_customer_existing_'
end
object XDataWebDataSet1supplied_by_customer_ref_art_p: TStringField
FieldName = 'supplied_by_customer_ref_art_p'
end
object XDataWebDataSet1supplied_by_customer_ref_art_a: TStringField
FieldName = 'supplied_by_customer_ref_art_a'
end
object XDataWebDataSet1cut_die_cutdier: TStringField
FieldName = 'cut_die_cutdier'
end
object XDataWebDataSet1cut_die_cutdieb: TStringField
FieldName = 'cut_die_cutdieb'
end
object XDataWebDataSet1cut_die_cutdief: TStringField
FieldName = 'cut_die_cutdief'
end
object XDataWebDataSet1cut_die_cutdierkr: TStringField
FieldName = 'cut_die_cutdierkr'
end
object XDataWebDataSet1cut_die_cutdiefkr: TStringField
FieldName = 'cut_die_cutdiefkr'
end
object XDataWebDataSet1cut_die_cad_file: TStringField
FieldName = 'cut_die_cad_file'
end
object XDataWebDataSet1cut_die_attached: TStringField
FieldName = 'cut_die_attached'
end
object XDataWebDataSet1cut_die_boxpol250: TStringField
FieldName = 'cut_die_boxpol250'
end
object XDataWebDataSet1cut_die_boxpol155: TStringField
FieldName = 'cut_die_boxpol155'
end
object XDataWebDataSet1cut_die_boxpol125: TStringField
FieldName = 'cut_die_boxpol125'
end
object XDataWebDataSet1cut_die_brub: TStringField
FieldName = 'cut_die_brub'
end
object XDataWebDataSet1proofing_fax: TStringField
FieldName = 'proofing_fax'
end
object XDataWebDataSet1proofing_fax_attn: TStringField
FieldName = 'proofing_fax_attn'
end
object XDataWebDataSet1proofing_e_mail: TStringField
FieldName = 'proofing_e_mail'
end
object XDataWebDataSet1proofing_ship_to: TStringField
FieldName = 'proofing_ship_to'
end
object XDataWebDataSet1proofing_other: TStringField
FieldName = 'proofing_other'
end
object XDataWebDataSet1proofing_changes_required: TStringField
FieldName = 'proofing_changes_required'
end
object XDataWebDataSet1proofing_changes_date: TDateField
FieldName = 'proofing_changes_date'
end
object XDataWebDataSet1layout_rsc_l: TStringField
FieldName = 'layout_rsc_l'
end
object XDataWebDataSet1layout_rcs_w: TStringField
FieldName = 'layout_rcs_w'
end
object XDataWebDataSet1layout_rcs_d: TStringField
FieldName = 'layout_rcs_d'
end
object XDataWebDataSet1layout_die_cut_no: TStringField
FieldName = 'layout_die_cut_no'
end
object XDataWebDataSet1layout_accross_no: TStringField
FieldName = 'layout_accross_no'
end
object XDataWebDataSet1layout_around_no: TStringField
FieldName = 'layout_around_no'
end
object XDataWebDataSet1layout_cad_file: TStringField
FieldName = 'layout_cad_file'
end
object XDataWebDataSet1mounting_standard_setup: TStringField
FieldName = 'mounting_standard_setup'
end
object XDataWebDataSet1mounting_custom_backing: TStringField
FieldName = 'mounting_custom_backing'
end
object XDataWebDataSet1mounting_custom_adhesive: TStringField
FieldName = 'mounting_custom_adhesive'
end
object XDataWebDataSet1colors_cylinder_size: TStringField
FieldName = 'colors_cylinder_size'
end
object XDataWebDataSet1colors_cross_hairs: TStringField
FieldName = 'colors_cross_hairs'
end
object XDataWebDataSet1colors_machine_ident: TStringField
FieldName = 'colors_machine_ident'
end
object XDataWebDataSet1colors_clemson: TStringField
FieldName = 'colors_clemson'
end
object XDataWebDataSet1plates_thickness: TStringField
FieldName = 'plates_thickness'
end
object XDataWebDataSet1plates_plate_material: TStringField
FieldName = 'plates_plate_material'
end
object XDataWebDataSet1general_special_instructions: TStringField
FieldName = 'general_special_instructions'
end
object XDataWebDataSet1colors_colors: TStringField
FieldName = 'colors_colors'
end
object XDataWebDataSet1staff_fields_quickbooks_item: TStringField
FieldName = 'staff_fields_quickbooks_item'
end
object XDataWebDataSet1staff_fields_quantity: TStringField
FieldName = 'staff_fields_quantity'
end
object XDataWebDataSet1layout_rsc_style: TStringField
FieldName = 'layout_rsc_style'
end
object XDataWebDataSet1staff_fields_art_location: TStringField
FieldName = 'staff_fields_art_location'
end
object XDataWebDataSet1supplied_by_customer_color_copy: TBooleanField
FieldName = 'supplied_by_customer_color_copy'
end
object XDataWebDataSet1supplied_by_customer_plates: TBooleanField
FieldName = 'supplied_by_customer_plates'
end
object XDataWebDataSet1supplied_by_customer_sample_ca: TBooleanField
FieldName = 'supplied_by_customer_sample_ca'
end
object XDataWebDataSet1supplied_by_customer_disk_or_cd: TBooleanField
FieldName = 'supplied_by_customer_disk_or_cd'
end
object XDataWebDataSet1mounting_loose: TStringField
FieldName = 'mounting_loose'
end
object XDataWebDataSet1mounting_sticky_bak: TBooleanField
FieldName = 'mounting_sticky_bak'
end
object XDataWebDataSet1mounting_full_mount: TBooleanField
FieldName = 'mounting_full_mount'
end
object XDataWebDataSet1mounting_strip_mount: TStringField
FieldName = 'mounting_strip_mount'
end
object XDataWebDataSet1layout_excalibur_die: TBooleanField
FieldName = 'layout_excalibur_die'
end
object XDataWebDataSet1proofing_full_size_panel: TBooleanField
FieldName = 'proofing_full_size_panel'
end
object XDataWebDataSet1proofing_print_card: TBooleanField
FieldName = 'proofing_print_card'
end
object XDataWebDataSet1proofing_wide_format: TBooleanField
FieldName = 'proofing_wide_format'
end
object XDataWebDataSet1proofing_pdf_file: TBooleanField
FieldName = 'proofing_pdf_file'
end
object XDataWebDataSet1proofing_art_approved_as_is: TBooleanField
FieldName = 'proofing_art_approved_as_is'
end
object XDataWebDataSet1proofing_e_mail_attn: TStringField
FieldName = 'proofing_e_mail_attn'
end
object XDataWebDataSet1proofing_approved_date: TStringField
FieldName = 'proofing_approved_date'
end
object XDataWebDataSet1staff_fields_order_date: TStringField
FieldName = 'staff_fields_order_date'
end
object XDataWebDataSet1staff_fields_proof_date: TStringField
FieldName = 'staff_fields_proof_date'
end
object XDataWebDataSet1staff_fields_ship_date: TStringField
FieldName = 'staff_fields_ship_date'
end
object XDataWebDataSet1staff_fields_art_due: TStringField
FieldName = 'staff_fields_art_due'
end
object XDataWebDataSet1staff_fields_plate_due: TStringField
FieldName = 'staff_fields_plate_due'
end
object XDataWebDataSet1staff_fields_mount_due: TStringField
FieldName = 'staff_fields_mount_due'
end
object XDataWebDataSet1ADDRESS_LIST: TStringField
FieldName = 'ADDRESS_LIST'
end
object XDataWebDataSet1supplied_by_customer_order_date: TStringField
FieldName = 'supplied_by_customer_order_date'
end
end
object WebDataSource1: TWebDataSource
DataSet = XDataWebDataSet1
Left = 22
Top = 10
end
object wdsShipTo: TWebDataSource
DataSet = xdwdsShipTo
Left = 212
Top = 436
end
object xdwdsShipTo: TXDataWebDataSet
Left = 192
Top = 486
object xdwdsShipToADDRESS: TStringField
FieldName = 'ADDRESS'
end
end
end
<div class="col-12 col-md-8">
<div class="row">
<div class=col-sm>
<div id="pnl_message" class="alert alert-danger">
<button id="view.login.message.button" type="button" class="btn-close" aria-label="Close"></button>
<span id="view.login.message.label"></span>
</div>
</div>
</div>
<h4 class="custom-h4 mt-3">Company</h4>
<hr class="custom-hr">
<div class="row">
<div class="col-auto">
<label class="form-label mt-2">Company Name:</label>
<input id="edtcompanyname" type="text" class="form-control" style="width: 300px;"/>
</div>
<div class="col-auto">
<label for="wdbe_first_name" class="form-label mt-2">Account Company Name:</label>
<input id="edtaccountcompanyname"type="text" class="form-control" style="width: 150px"/>
</div>
<div class="col-auto">
<label for="wdbe_first_name" class="form-label mt-2">In Quickbooks?:</label>
<input id="edtinquickbooks"type="text" class="form-control" style="width: 150px"/>
</div>
</div>
<h4 class="custom-h4 mt-3">Staff Fields</h4>
<hr class="custom-hr">
<div class="row">
<div class="col-auto">
<label style="font-weight: 700; font-size: 15px;" class="form-label mt-2">Order Date:</label>
<input class="form-control input-sm" id="dtporderdate" type="date">
</div>
<div class="col-auto">
<label style="font-weight: 700; font-size: 15px;" class="form-label mt-2">Proof Date:</label>
<input class="form-control input-sm" id="dtpproofdate" type="date">
</div>
<div class="col-auto">
<label style="font-weight: 700; font-size: 15px;" class="form-label mt-2">Ship Date:</label>
<input class="form-control input-sm" id="dtpshipdate" type="date">
</div>
<div class="col-auto">
<label style="font-weight: 700; font-size: 15px;" class="form-label mt-2">Ship Via:</label>
<input id="edtshipvia" type="text" class="form-control"/>
</div>
<div class="col-auto">
<label style="font-weight: 700; font-size: 15px;" class="form-label mt-2">Quantity:</label>
<input id="edtquantity" class="form-control input-sm" style="width: 100px"/>
</div>
<div class="col-auto">
<label style="font-weight: 700; font-size: 15px;" class="form-label mt-2">Price:</label>
<input id="edtprice" class="form-control input-sm" style="width: 100px" type="number" min="0"/>
</div>
<div>
<label style="font-weight: 700; font-size: 15px;" class="form-label mt-2">Invoice To:</label>
<input id="edtinvoiceto" class="form-control input-sm"/>
</div>
<div>
<label style="font-weight: 700; font-size: 15px;" class="form-label mt-2">Ship To:</label>
<select id="wcbshipto" class='form-select'></select>
</div>
<div class="col-auto">
<label style="font-weight: 700; font-size: 15px;" class="form-label mt-2">PO Number:</label>
<input id="edtponumber" class="form-control input-sm" width='50%'/>
</div>
<div class="col-auto">
<label style="font-weight: 700; font-size: 15px;" class="form-label mt-2">Job Name:</label>
<input id="edtjobname" class="form-control input-sm" width='50%'/>
</div>
<div class="col-auto">
<label style="font-weight: 700; font-size: 15px;" class="form-label mt-2">QuickBooks Item:</label>
<input id="edtquickbooksitem" class="form-control input-sm" width='50%'/>
</div>
<div class="col-auto">
<label style="font-weight: 700; font-size: 15px;" class="form-label mt-2">Art Due:</label>
<input class="form-control input-sm" id="dtpartdue" type="date">
</div>
<div class="col-auto">
<label style="font-weight: 700; font-size: 15px;" class="form-label mt-2">Plate Due:</label>
<input class="form-control input-sm" id="dtpplatedue" type="date">
</div>
</div>
<h4 class="custom-h4 mt-3">Supplied by Customer</h4>
<hr class="custom-hr">
<div class="row">
<div class="col-auto">
<label style="font-weight: 700; font-size: 15px;" class="form-label mt-2">B/W or Color Copy:</label>
<input id="edtbworcolorcopy" class="form-control input-sm" width='50%'/>
</div>
<div class="col-auto">
<label style="font-weight: 700; font-size: 15px;" class="form-label mt-2">Plates:</label>
<input id="edtplates" class="form-control input-sm" width='50%'/>
</div>
<div class="col-auto">
<label style="font-weight: 700; font-size: 15px;" class="form-label mt-2">Sample:</label>
<input id="edtsample" class="form-control input-sm" width='50%'/>
</div>
<div class="col-auto">
<label style="font-weight: 700; font-size: 15px;" class="form-label mt-2">Dimensional Layout:</label>
<input id="edtdimensionallayout" class="form-control input-sm" width='50%'/>
</div>
<div class="col-auto">
<label style="font-weight: 700; font-size: 15px;" class="form-label mt-2">Other:</label>
<input id="edtother" class="form-control input-sm" width='50%'/>
</div>
<div class="col-auto">
<label style="font-weight: 700; font-size: 15px;" class="form-label mt-2">Disk:</label>
<input id="edtdisk" class="form-control input-sm" width='50%'/>
</div>
<div class="col-auto">
<label style="font-weight: 700; font-size: 15px;" class="form-label mt-2">Email:</label>
<input id="edtemail" class="form-control input-sm" width='50%'/>
</div>
<div class="col-auto">
<label style="font-weight: 700; font-size: 15px;" class="form-label mt-2">FTP:</label>
<input id="edtftp" class="form-control input-sm" width='50%'/>
</div>
<div class="col-auto">
<label style="font-weight: 700; font-size: 15px;" class="form-label mt-2">Total Inches Used:</label>
<input id="edttotalinchesused" class="form-control input-sm" width='50%'/>
</div>
<div class="col-auto">
<label style="font-weight: 700; font-size: 15px;" class="form-label mt-2">Sheets Used:</label>
<input id="edtsheetsused" class="form-control input-sm" width='50%'/>
</div>
<div class="col-auto">
<label style="font-weight: 700; font-size: 15px;" class="form-label mt-2">Initials:</label>
<input id="edtinitials" class="form-control input-sm" width='50%'/>
</div>
</div>
<h4 class="custom-h4 mt-3">Proofing</h4>
<hr class="custom-hr">
<div class="row">
<div class="col-auto">
<label for="wdbe_first_name" class="form-label mt-2">PDF:</label>
<input type="checkbox" id="cbpdf">
</div>
<div class="col-auto">
<label style="font-weight: 700; font-size: 15px;" class="form-label mt-2">PDF To:</label>
<input id="edtpdfto" class="form-control input-sm" width='50%'/>
</div>
<div class="col-auto">
<label style="font-weight: 700; font-size: 15px;" class="form-label mt-2">PDF Date 1:</label>
<input class="form-control input-sm" id="dtppdfdate1" type="date">
</div>
<div class="col-auto">
<label style="font-weight: 700; font-size: 15px;" class="form-label mt-2">PDF Date 2:</label>
<input class="form-control input-sm" id="dtppdfdate2" type="date">
</div>
<div class="col-auto">
<label style="font-weight: 700; font-size: 15px;" class="form-label mt-2">PDF Date 3:</label>
<input class="form-control input-sm" id="dtppdfdate3" type="date">
</div>
<div class="col-auto">
<label for="wdbe_first_name" class="form-label mt-2">Full Size Ink Jet For Layout Content Only:</label>
<input type="checkbox" id="cbfullsizeinkjet">
</div>
<div class="col-auto">
<label style="font-weight: 700; font-size: 15px;" class="form-label mt-2">Ink Jet To:</label>
<input id="edtinkjetto" class="form-control input-sm" width='50%'/>
</div>
<div class="col-auto">
<label style="font-weight: 700; font-size: 15px;" class="form-label mt-2">Ink Jet To 2:</label>
<input id="edtinkjetto2" class="form-control input-sm" width='50%'/>
</div>
<div class="col-auto">
<label style="font-weight: 700; font-size: 15px;" class="form-label mt-2">Ink Jet Date 1:</label>
<input class="form-control input-sm" id="dtpinkjetdate1" type="date">
</div>
<div class="col-auto">
<label style="font-weight: 700; font-size: 15px;" class="form-label mt-2">Ink Jet Date 2:</label>
<input class="form-control input-sm" id="dtpinkjetdate2" type="date">
</div>
<div class="col-auto">
<label style="font-weight: 700; font-size: 15px;" class="form-label mt-2">Ink Jet Date 3:</label>
<input class="form-control input-sm" id="dtpinkjetdate3" type="date">
</div>
<div class="col-auto">
<label style="font-weight: 700; font-size: 15px;" class="form-label mt-2">Color Contrast:</label>
<input id="edtcolorcontrast" class="form-control input-sm" width='50%'/>
</div>
<div class="col-auto">
<label style="font-weight: 700; font-size: 15px;" class="form-label mt-2">Color Contrast To:</label>
<input id="edtcolorcontrastto" class="form-control input-sm" width='50%'/>
</div>
<div class="col-auto">
<label style="font-weight: 700; font-size: 15px;" class="form-label mt-2">Color Contrast Date 1:</label>
<input class="form-control input-sm" id="dtpcolorcontrastdate1" type="date">
</div>
<div class="col-auto">
<label style="font-weight: 700; font-size: 15px;" class="form-label mt-2">Color Contrast Date 2:</label>
<input class="form-control input-sm" id="dtpcolorcontrastdate2" type="date">
</div>
<div class="col-auto">
<label style="font-weight: 700; font-size: 15px;" class="form-label mt-2">Digital Color Key:</label>
<input id="edtdigitalcolorkey" class="form-control input-sm" width='50%'/>
</div>
<div class="col-auto">
<label style="font-weight: 700; font-size: 15px;" class="form-label mt-2">Digital Color To:</label>
<input id="edtdigitalcolorto" class="form-control input-sm" width='50%'/>
</div>
<div class="col-auto">
<label style="font-weight: 700; font-size: 15px;" class="form-label mt-2">Digital Color Date:</label>
<input class="form-control input-sm" id="dtpdigitalcolordate" type="date">
</div>
</div>
<h4 class="custom-h4 mt-3">Quantity and Colors</h4>
<hr class="custom-hr">
<div class="row">
<div class="col-auto">
<label style="font-weight: 700; font-size: 15px;" class="form-label mt-2">Press Name:</label>
<input id="edtpressname" class="form-control input-sm" width='50%'/>
</div>
<div class="col-auto">
<label style="font-weight: 700; font-size: 15px;" class="form-label mt-2">Anilax Info:</label>
<input id="edtanilaxinfo" class="form-control input-sm" width='50%'/>
</div>
<div class="col-auto">
<label for="wdbe_first_name" style="font-weight: 700; font-size: 15px;" class="form-label mt-2">Colors:</label>
<button id="btnaddcolor" class="btn btn-primary btn-sm float-end">+</button>
<div id="additionalFields" class="row mt-3"></div>
</div>
</div>
<h4 class="custom-h4 mt-3">Plate Marks</h4>
<hr class="custom-hr">
<div class="row">
<div class="col-auto">
<label for="wdbe_first_name" class="form-label mt-2">Microdots:</label>
<input id="edtmicrodots" class="form-control input-sm" style="width: 150px"/>
</div>
<div class="col-auto">
<label for="wdbe_first_name" class="form-label mt-2">Microdots Comments:</label>
<input id="edtmicrodotscomments" class="form-control input-sm" style="width: 150px"/>
</div>
<div class="col-auto">
<label for="wdbe_first_name" class="form-label mt-2">Crosshairs:</label>
<input id="edtcrosshairs" class="form-control input-sm" style="width: 150px"/>
</div>
<div class="col-auto">
<label for="wdbe_first_name" class="form-label mt-2">Crosshairs Comments:</label>
<input id="edtcrosshairscomments" class="form-control input-sm" style="width: 150px"/>
</div>
<div class="col-auto">
<label for="wdbe_first_name" class="form-label mt-2">Color Bars:</label>
<input id="edtcolorbars" class="form-control input-sm" style="width: 150px"/>
</div>
<div class="col-auto">
<label for="wdbe_first_name" class="form-label mt-2">Color Bars Comments:</label>
<input id="edtcolorbarscomments" class="form-control input-sm" style="width: 150px"/>
</div>
<div class="col-auto">
<label for="wdbe_first_name" class="form-label mt-2">Other:</label>
<input id="edtplateother" class="form-control input-sm" style="width: 150px"/>
</div>
<div class="col-auto">
<label for="wdbe_first_name" class="form-label mt-2">Microdots Comments:</label>
<input id="edtplateothercomments" class="form-control input-sm" style="width: 150px"/>
</div>
</div>
<h4 class="custom-h4 mt-3">Plate Marks</h4>
<hr class="custom-hr">
<div class="row">
<div class="col-auto">
<label for="wdbe_first_name" class="form-label mt-2">Around:</label>
<input id="edtaround" class="form-control input-sm" style="width: 150px"/>
</div>
<div class="col-auto">
<label for="wdbe_first_name" class="form-label mt-2">Accross:</label>
<input id="edtaccross" class="form-control input-sm" style="width: 150px"/>
</div>
<div class="col-auto">
<label for="wdbe_first_name" class="form-label mt-2">Surface Print:</label>
<input id="edtsurfaceprint" class="form-control input-sm" style="width: 150px"/>
</div>
<div class="col-auto">
<label for="wdbe_first_name" class="form-label mt-2">Reverse Print:</label>
<input id="edtreverseprint" class="form-control input-sm" style="width: 150px"/>
</div>
<div class="col-auto">
<label for="wdbe_first_name" class="form-label mt-2">Cylinder Repeat:</label>
<input id="edtcylinderrepeat" class="form-control input-sm" style="width: 150px"/>
</div>
<div class="col-auto">
<label for="wdbe_first_name" class="form-label mt-2">Cutoff Dimension:</label>
<input id="edtcutoffdimension" class="form-control input-sm" style="width: 150px"/>
</div>
<div class="col-auto">
<label for="wdbe_first_name" class="form-label mt-2">Pitch:</label>
<input id="edtpitch" class="form-control input-sm" style="width: 150px"/>
</div>
<div class="col-auto">
<label for="wdbe_first_name" class="form-label mt-2">Teeth:</label>
<input id="edtteeth" class="form-control input-sm" style="width: 150px"/>
</div>
<div class="col-auto">
<label for="wdbe_first_name" class="form-label mt-2">Bleed:</label>
<input id="edtbleed" class="form-control input-sm" style="width: 150px"/>
</div>
<div class="col-auto">
<label for="wdbe_first_name" class="form-label mt-2">Cutback:</label>
<input id="edtcutback" class="form-control input-sm" style="width: 150px"/>
</div>
<div class="col-auto">
<label for="wdbe_first_name" class="form-label mt-2">Minimum Trap Dimension:</label>
<input id="edtminimumtrapdimension" class="form-control input-sm" style="width: 150px"/>
</div>
<div class="col-auto">
<label for="wdbe_first_name" class="form-label mt-2">Maximum Trap Dimension:</label>
<input id="edtmaximumtrapdimension" class="form-control input-sm" style="width: 150px"/>
</div>
</div>
<h4 class="custom-h4 mt-3">Print Orientation</h4>
<hr class="custom-hr">
<div class="row">
<div class="col-auto">
<label for="wdbe_first_name" class="form-label mt-2">Print Orientation:</label>
<input id="edtprintorientation" class="form-control input-sm" style="width: 150px"/>
</div>
</div>
<h4 class="custom-h4 mt-3">UPC</h4>
<hr class="custom-hr">
<div class="row">
<div class="col-auto">
<label for="wdbe_first_name" class="form-label mt-2">Size:</label>
<input id="edtsize" class="form-control input-sm" style="width: 150px"/>
</div>
<div class="col-auto">
<label for="wdbe_first_name" class="form-label mt-2">Bar Width Reduction:</label>
<input id="edtbarwidthreduction" class="form-control input-sm" style="width: 150px"/>
</div>
<div class="col-auto">
<label for="wdbe_first_name" class="form-label mt-2">Distortion Percent:</label>
<input id="edtdistortionpercent" class="form-control input-sm" style="width: 150px"/>
</div>
<div class="col-auto">
<label for="wdbe_first_name" class="form-label mt-2">Distortion Amount:</label>
<input id="edtdistortionamount" class="form-control input-sm" style="width: 150px"/>
</div>
<h4 class="custom-h4 mt-3">Plates</h4>
<hr class="custom-hr">
<div class="row">
<div class="col-auto">
<label for="wdbe_first_name" class="form-label mt-2">Plate Material:</label>
<input id="edtplatematerial" class="form-control input-sm" style="width: 150px"/>
</div>
<div class="col-auto">
<label for="wdbe_first_name" class="form-label mt-2">Thickness:</label>
<input id="edtthickness" class="form-control input-sm" style="width: 150px"/>
</div>
<div class="col-auto">
<label for="wdbe_first_name" class="form-label mt-2">Job Number:</label>
<input id="edtjobnumber" class="form-control input-sm" style="width: 150px"/>
</div>
</div>
<h4 class="custom-h4 mt-3">General</h4>
<hr class="custom-hr">
<div class="row">
<div class="col-auto">
<label for="wdbe_first_name" style="font-weight: 700; font-size: 15px;" class="form-label">Comments</label>
<textarea id="edtcomments" class="form-control" style=" width: 500px; height: 150px;"></textarea>
</div>
</div>
<div class="row">
<div class="col-auto">
<button id="btnconfirm" class="btn btn-primary btn-sm float-end my-2">Confirm</button>
</div>
<div class="col-auto">
<button id="btncancel" class="btn btn-primary btn-sm float-end my-2">Cancel</button>
</div>
<div class="col-auto">
<button id="btnedit" class="btn btn-primary btn-sm float-end my-2">Edit</button>
</div>
</div>
</div>
unit View.OrderEntryWeb;
interface
uses
System.SysUtils, System.Generics.Collections, System.Classes, JS, Web, WEBLib.Graphics, WEBLib.Controls,
WEBLib.Forms, WEBLib.Dialogs, WEBLib.Menus, WEBLib.ExtCtrls, WEBLib.StdCtrls,
WEBLib.JSON, Auth.Service, XData.Web.Client, WebLib.Storage,
ConnectionModule, App.Types, Vcl.StdCtrls, Vcl.Controls, WEBLib.DBCtrls,
Data.DB, XData.Web.JsonDataset, XData.Web.Dataset, WEBLib.DB;
type
TFOrderEntryWeb = class(TWebForm)
WebLabel2: TWebLabel;
pnlMessage: TWebPanel;
lblMessage: TWebLabel;
btnCloseNotification: TWebButton;
edtCompanyName: TWebDBEdit;
edtCompanyAccountName: TWebDBEdit;
edtInQuickBooks: TWebDBEdit;
XDataWebClient1: TXDataWebClient;
tmrScrollTop: TWebTimer;
XDataWebDataSet1: TXDataWebDataSet;
XDataWebDataSet1ORDER_ID: TIntegerField;
XDataWebDataSet1COMPANY_ID: TIntegerField;
XDataWebDataSet1USER_ID: TIntegerField;
XDataWebDataSet1ORDER_DATE: TDateField;
XDataWebDataSet1START_DATE: TDateField;
XDataWebDataSet1END_DATE: TDateField;
XDataWebDataSet1ORDER_STATUS: TStringField;
XDataWebDataSet1SCHED_JSON: TStringField;
XDataWebDataSet1NAME: TStringField;
XDataWebDataSet1SHORT_NAME: TStringField;
XDataWebDataSet1staff_fields_ship_via: TStringField;
XDataWebDataSet1staff_fields_price: TStringField;
XDataWebDataSet1staff_fields_invoice_to: TStringField;
XDataWebDataSet1staff_fields_invoice_attention: TStringField;
XDataWebDataSet1staff_fields_ship_to: TStringField;
XDataWebDataSet1staff_fields_ship_attention: TStringField;
XDataWebDataSet1staff_fields_po_number: TStringField;
XDataWebDataSet1staff_fields_job_name: TStringField;
XDataWebDataSet1plates_job_number: TStringField;
XDataWebDataSet1supplied_by_customer_b_w_copy: TBooleanField;
XDataWebDataSet1supplied_by_customer_dimension: TStringField;
XDataWebDataSet1supplied_by_customer_e_mail: TStringField;
XDataWebDataSet1supplied_by_customer_ftp: TStringField;
XDataWebDataSet1supplied_by_customer_other: TStringField;
XDataWebDataSet1supplied_by_customer_existing_: TStringField;
XDataWebDataSet1supplied_by_customer_ref_art_p: TStringField;
XDataWebDataSet1supplied_by_customer_ref_art_a: TStringField;
XDataWebDataSet1cut_die_cutdier: TStringField;
XDataWebDataSet1cut_die_cutdieb: TStringField;
XDataWebDataSet1cut_die_cutdief: TStringField;
XDataWebDataSet1cut_die_cutdierkr: TStringField;
XDataWebDataSet1cut_die_cutdiefkr: TStringField;
XDataWebDataSet1cut_die_cad_file: TStringField;
XDataWebDataSet1cut_die_attached: TStringField;
XDataWebDataSet1cut_die_boxpol250: TStringField;
XDataWebDataSet1cut_die_boxpol155: TStringField;
XDataWebDataSet1cut_die_boxpol125: TStringField;
XDataWebDataSet1cut_die_brub: TStringField;
XDataWebDataSet1proofing_fax: TStringField;
XDataWebDataSet1proofing_fax_attn: TStringField;
XDataWebDataSet1proofing_e_mail: TStringField;
XDataWebDataSet1proofing_ship_to: TStringField;
XDataWebDataSet1proofing_other: TStringField;
XDataWebDataSet1proofing_changes_required: TStringField;
XDataWebDataSet1proofing_changes_date: TDateField;
XDataWebDataSet1layout_rsc_l: TStringField;
XDataWebDataSet1layout_rcs_w: TStringField;
XDataWebDataSet1layout_rcs_d: TStringField;
XDataWebDataSet1layout_die_cut_no: TStringField;
XDataWebDataSet1layout_accross_no: TStringField;
XDataWebDataSet1layout_around_no: TStringField;
XDataWebDataSet1layout_cad_file: TStringField;
XDataWebDataSet1mounting_standard_setup: TStringField;
XDataWebDataSet1mounting_custom_backing: TStringField;
XDataWebDataSet1mounting_custom_adhesive: TStringField;
XDataWebDataSet1colors_cylinder_size: TStringField;
XDataWebDataSet1colors_cross_hairs: TStringField;
XDataWebDataSet1colors_machine_ident: TStringField;
XDataWebDataSet1colors_clemson: TStringField;
XDataWebDataSet1plates_thickness: TStringField;
XDataWebDataSet1plates_plate_material: TStringField;
XDataWebDataSet1general_special_instructions: TStringField;
XDataWebDataSet1colors_colors: TStringField;
XDataWebDataSet1staff_fields_quickbooks_item: TStringField;
XDataWebDataSet1staff_fields_quantity: TStringField;
XDataWebDataSet1layout_rsc_style: TStringField;
XDataWebDataSet1staff_fields_art_location: TStringField;
XDataWebDataSet1supplied_by_customer_color_copy: TBooleanField;
XDataWebDataSet1supplied_by_customer_plates: TBooleanField;
XDataWebDataSet1supplied_by_customer_sample_ca: TBooleanField;
XDataWebDataSet1supplied_by_customer_disk_or_cd: TBooleanField;
XDataWebDataSet1mounting_loose: TStringField;
XDataWebDataSet1mounting_sticky_bak: TBooleanField;
XDataWebDataSet1mounting_full_mount: TBooleanField;
XDataWebDataSet1mounting_strip_mount: TStringField;
XDataWebDataSet1layout_excalibur_die: TBooleanField;
XDataWebDataSet1proofing_full_size_panel: TBooleanField;
XDataWebDataSet1proofing_print_card: TBooleanField;
XDataWebDataSet1proofing_wide_format: TBooleanField;
XDataWebDataSet1proofing_pdf_file: TBooleanField;
XDataWebDataSet1proofing_art_approved_as_is: TBooleanField;
XDataWebDataSet1proofing_e_mail_attn: TStringField;
XDataWebDataSet1proofing_approved_date: TStringField;
XDataWebDataSet1staff_fields_order_date: TStringField;
XDataWebDataSet1staff_fields_proof_date: TStringField;
XDataWebDataSet1staff_fields_ship_date: TStringField;
XDataWebDataSet1staff_fields_art_due: TStringField;
XDataWebDataSet1staff_fields_plate_due: TStringField;
XDataWebDataSet1staff_fields_mount_due: TStringField;
XDataWebDataSet1ADDRESS_LIST: TStringField;
XDataWebDataSet1supplied_by_customer_order_date: TStringField;
WebDataSource1: TWebDataSource;
WebLabel1: TWebLabel;
dtpOrderDate: TWebDateTimePicker;
dtpProofDate: TWebDateTimePicker;
dtpShipDate: TWebDateTimePicker;
dtpArtDue: TWebDateTimePicker;
dtpPlateDue: TWebDateTimePicker;
edtShipVia: TWebDBEdit;
edtQuantity: TWebDBEdit;
edtPrice: TWebDBEdit;
edtInvoiceTo: TWebDBEdit;
edtPONumber: TWebDBEdit;
edtJobName: TWebDBEdit;
edtQuickBooksItem: TWebDBEdit;
WebDBComboBox1: TWebDBComboBox;
wdsShipTo: TWebDataSource;
xdwdsShipTo: TXDataWebDataSet;
xdwdsShipToADDRESS: TStringField;
WebLabel3: TWebLabel;
edtBWorColorCopy: TWebDBEdit;
edtPlates: TWebDBEdit;
edtDimensionalLayout: TWebDBEdit;
edtSample: TWebDBEdit;
edtDisk: TWebDBEdit;
edtOther: TWebDBEdit;
edtEmail: TWebDBEdit;
edtTotalInchesUsed: TWebDBEdit;
edtFTP: TWebDBEdit;
edtSheetsUsed: TWebDBEdit;
edtInitials: TWebDBEdit;
WebLabel4: TWebLabel;
cbPDF: TWebDBCheckBox;
edtPDFTo: TWebDBEdit;
dtpPDFDate1: TWebDateTimePicker;
dtpPDFDate3: TWebDateTimePicker;
dtpPDFDate2: TWebDateTimePicker;
cbInkJet: TWebDBCheckBox;
edtInkJetTo2: TWebDBEdit;
edtInkJetTo1: TWebDBEdit;
dtpInkJetDate1: TWebDateTimePicker;
dtpInkJetDate3: TWebDateTimePicker;
dtpInkJetDate2: TWebDateTimePicker;
edtColorContrastTo: TWebDBEdit;
edtColorContrast: TWebDBEdit;
dtpColorContrastDate1: TWebDateTimePicker;
dtpColorContrastDate2: TWebDateTimePicker;
edtDigitalColorTo: TWebDBEdit;
edtDigitalColorKey: TWebDBEdit;
dtpDigitalColorDate: TWebDateTimePicker;
WebLabel5: TWebLabel;
edtAniloxInfo: TWebDBEdit;
edtPressName: TWebDBEdit;
WebButton1: TWebButton;
WebLabel6: TWebLabel;
edtMicroDots: TWebDBEdit;
edtMicrodotsComments: TWebDBEdit;
edtCrosshairsComments: TWebDBEdit;
edtCrosshairs: TWebDBEdit;
edtColorBarsComments: TWebDBEdit;
edtColorBars: TWebDBEdit;
edtPlateOther: TWebDBEdit;
edtPlateOtherComments: TWebDBEdit;
WebLabel7: TWebLabel;
edtPrintOrientation: TWebDBEdit;
WebLabel8: TWebLabel;
edtAround: TWebDBEdit;
edtAccross: TWebDBEdit;
edtReversePrint: TWebDBEdit;
edtSurfacePrint: TWebDBEdit;
edtCutoffDimension: TWebDBEdit;
edtCylinderRepeat: TWebDBEdit;
edtPitch: TWebDBEdit;
edtBleed: TWebDBEdit;
edtTeeth: TWebDBEdit;
edtCutback: TWebDBEdit;
edtMinimumTrapDim: TWebDBEdit;
edtMaximumTrapDim: TWebDBEdit;
WebLabel9: TWebLabel;
edtSize: TWebDBEdit;
edtBarWidthReduction: TWebDBEdit;
edtDistortionAmount: TWebDBEdit;
edtDistortionPercent: TWebDBEdit;
WebLabel10: TWebLabel;
edtPlateMaterial: TWebDBEdit;
edtThickness: TWebDBEdit;
edtJobNumber: TWebDBEdit;
WebLabel11: TWebLabel;
Comments: TWebDBEdit;
btnConfirm: TWebButton;
btnEdit: TWebButton;
btnCancel: TWebButton;
procedure WebFormCreate(Sender: TObject);
procedure HideNotification();
procedure ShowNotification(Notification: string);
procedure WebFormShow(Sender: TObject);
[async] procedure getOrder(Order_ID: string);
[async] procedure getCustomer(customerID: string);
procedure tmrScrollTopTimer(Sender: TObject);
procedure WebButton1Click(Sender: TObject);
procedure addColorRow(num, Color, LPI, Size: string);
procedure btnConfirmClick(Sender: TObject);
[async] procedure AddCorrugatedOrder(orderJSON: TJSONObject);
procedure btnCancelClick(Sender: TObject);
private
FAgencyCode: string;
FCurrentReportType: string;
FSelectProc: TSelectProc;
orderID: string;
customerID: string;
mode: string;
//FJSONProc1: TJSONProc1;
public
class function CreateForm(AElementID, orderInfo, customerInfo, mode: string): TWebForm;
end;
var
FOrderEntryWeb: TFOrderEntryWeb;
implementation
{$R *.dfm}
uses
View.Home, View.Main;
procedure TFOrderEntryWeb.btnConfirmClick(Sender: TObject);
// Converts all the information on the page into a JSON to then send to the server
var
colorList: TJSONArray;
container: TJSElement;
colorCollection: TJSHTMLCollection;
color: TJSHTMLElement;
I, J: integer;
colorJSON, orderJSON, colorListJSON: TJSONObject;
fieldNames: TStringList;
itemList: TJSNodeList;
header, value: string;
Field: TField;
Response: TXDataClientResponse;
begin
orderJSON := TJSONObject.Create;
colorList := TJSONArray.Create;
container := document.getElementById('additionalFields');
colorCollection := container.children;
for I := 0 to colorCollection.length - 1 do
begin
colorJSON := TJSONObject.Create;
itemList := colorCollection[I].childNodes;
for J := 0 to itemList.length - 2 do
begin
header := TJSHTMLElement(itemList[J]).children[0].innerText.Replace(':', '').Trim();
value := TJSHTMLInputElement(TJSHTMLElement(itemList[J]).childNodes[1]).value;
colorJSON.AddPair(header, value);
end;
colorList.Add(colorJSON);
end;
colorListJSON := TJSONObject.Create;
colorListJSON.AddPair('items', colorList);
XDataWebDataSet1.Edit;
XDataWebDataSet1colors_colors.Value := colorListJSON.ToString;
//Convert all dates to strings because I was having less issues with that data type.
XDataWebDataSet1staff_fields_proof_date.Value := DateTimeToStr(dtpProofDate.Date);
XDataWebDataSet1staff_fields_ship_date.Value := DateTimeToStr(dtpShipDate.Date);
XDataWebDataSet1staff_fields_art_due.Value := DateTimeToStr(dtpArtDue.Date);
XDataWebDataSet1staff_fields_plate_due.Value := DateTimeToStr(dtpPlateDue.Date);
XDataWebDataSet1staff_fields_order_date.Value := DateTimeToStr(dtpOrderDate.Date);
//TODO add all other dtps
// Convert all check boxes to strings because the database stores them as strings
XDataWebDataSet1.Post;
XDataWebDataSet1.First;
while not XDataWebDataSet1.Eof do
begin
for Field in XDataWebDataSet1.Fields do
begin
if Field is TStringField then
begin
if Field.AsString = '' then
orderJSON.AddPair(Field.FieldName, '')
else
orderJSON.AddPair(Field.FieldName, Field.AsString); // Add all other fields
end
else if Field is TBooleanField then
begin
if Field.AsBoolean then
orderJSON.AddPair(Field.FieldName, 'T')
else
orderJSON.AddPair(Field.FieldName, '');
end;
end;
XDataWebDataSet1.Next;
end;
orderJSON.AddPair('COMPANY_ID', customerID);
orderJSON.AddPair('USER_ID', '1011');
orderJSON.AddPair('mode', mode);
if mode = 'EDIT' then
orderJSON.AddPair('ORDER_ID', orderID);
AddCorrugatedOrder(orderJSON);
FViewMain.ViewOrders('Success:Order Successfully Added');
end;
procedure TFOrderEntryWeb.AddCorrugatedOrder(orderJSON: TJSONObject);
// sends the order JSON object to the server
var
Response: TXDataClientResponse;
begin
Response := await(XDataWebClient1.RawInvokeAsync('ILookupService.AddWebOrder',
[orderJSON.ToString]));
end;
class function TFOrderEntryWeb.CreateForm(AElementID, orderInfo, customerInfo, mode: string): TWebForm;
var
localMode: string;
begin
localMode := mode;
Application.CreateForm(TFOrderEntryWeb, AElementID, Result,
procedure(AForm: TObject)
begin
with TFOrderEntryWeb(AForm) do
begin
HideNotification;
TFOrderEntryWeb(AForm).customerID := customerInfo;
TFOrderEntryWeb(AForm).orderID := orderInfo;
TFOrderEntryWeb(AForm).mode := localMode;
end;
end
);
end;
procedure TFOrderEntryWeb.addColorRow(num: string; Color: string; LPI: string; Size: string);
// Java script code to add a row of colors when a button is clicked
// all variables are information to be placed in the boxes when loading an order.
// TODO: convert to Delphi
begin
asm
const container = document.getElementById('additionalFields');
// Create a new row for the new fields
const newRow = document.createElement('div');
newRow.className = 'row mb-2';
const labels = ['#', 'Color', 'LPI', 'Size'];
const values = [num, Color, LPI, Size];
labels.forEach((label, index) => {
const col = document.createElement('div');
col.className = 'col-sm';
const labelElement = document.createElement('label');
labelElement.className = 'pe-2';
labelElement.style.fontWeight = '700';
labelElement.style.fontSize = '15px';
labelElement.textContent = label + ':';
const inputElement = document.createElement('input');
inputElement.className = 'form-control input-sm';
inputElement.style.width = '100%';
inputElement.id = 'input-' + container.childElementCount + '-' + index; // Unique ID based on count
inputElement.value = values[index]; // Set the value based on the parameter
col.appendChild(labelElement);
col.appendChild(inputElement);
newRow.appendChild(col);
});
const removeButtonCol = document.createElement('div');
removeButtonCol.className = 'col-auto d-flex align-items-center';
const removeButton = document.createElement('button');
removeButton.className = 'btn btn-danger btn-sm';
removeButton.textContent = 'Remove';
removeButton.addEventListener('click', function() {
container.removeChild(newRow);
});
removeButtonCol.appendChild(removeButton);
newRow.appendChild(removeButtonCol);
container.appendChild(newRow);
end;
end;
procedure TFOrderEntryWeb.WebButton1Click(Sender: TObject);
begin
addColorRow('','','','');
end;
procedure TFOrderEntryWeb.btnCancelClick(Sender: TObject);
begin
FViewMain.ViewOrders('');
end;
procedure TFOrderEntryWeb.WebFormCreate(Sender: TObject);
begin
if not DMConnection.ApiConnection.Connected then
begin
DMConnection.ApiConnection.OpenAsync;
console.log('report requirements connection open')
end;
end;
procedure TFOrderEntryWeb.getOrder(Order_ID: string);
// retrieves an order from the server then loads the info into the page
var
xdcResponse: TXDataClientResponse;
orderList : TJSObject;
i: integer;
data: TJSArray;
order: TJSObject;
callListLength: integer;
tempString, strColorList: string;
colorObject: TJSObject;
colorList: TJSArray;
colorLength: integer;
color: TJSObject;
colorJSON: TJSONObject;
colorListJSON: TJSONArray;
begin
xdcResponse := await(XDataWebClient1.RawInvokeAsync('ILookupService.GetOrder',
[Order_ID]));
order := TJSObject(xdcResponse.Result);
data := TJSArray(order['data']);
XDataWebDataSet1.Close;
XDataWebDataSet1.SetJsonData(order);
XDataWebDataSet1.Open;
if XDataWebDataSet1colors_colors.Value <> '' then
begin
colorObject := TJSObject(TJSJSON.parse(XDataWebDataSet1colors_colors.Value));
colorList := TJSArray(colorObject['items']);
for I := 0 to colorList.length -1 do
begin
color := TJSObject(colorList[i]);
addColorRow(String(color['#']), string(color['Color']), string(color['LPI']), string(color['Size']));
end;
end;
// Check boxes and dates need to be manually set
if not (XDataWebDataSet1staff_fields_order_date.AsString = '') then
dtpOrderDate.Date := StrToDateTime(XDataWebDataSet1staff_fields_order_date.Value)
else
dtpOrderDate.Date := 0;
if not (XDataWebDataSet1staff_fields_proof_date.AsString = '') then
dtpProofDate.Date := StrToDateTime(XDataWebDataSet1staff_fields_proof_date.AsString)
else
dtpProofDate.Date := 0;
if not (XDataWebDataSet1staff_fields_ship_date.AsString = '') then
dtpShipDate.Date := StrToDateTime(XDataWebDataSet1staff_fields_ship_date.AsString)
else
dtpShipDate.Date := 0;
if not (XDataWebDataSet1staff_fields_art_due.AsString = '') then
dtpArtDue.Date := StrToDateTime(XDataWebDataSet1staff_fields_art_due.AsString)
else
dtpArtDue.Date := 0;
if not (XDataWebDataSet1staff_fields_plate_due.AsString = '') then
dtpPlateDue.Date := StrToDateTime(XDataWebDataSet1staff_fields_plate_due.AsString)
else
dtpPlateDue.Date := 0;
//TODO Add other dtps
if mode = 'EDIT' then
CustomerID := XDataWebDataSet1COMPANY_ID.AsString;
end;
procedure TFOrderEntryWeb.getCustomer(customerID: string);
// gets a customer from the database then loads the appropiate fields
var
xdcResponse: TXDataClientResponse;
customer : TJSObject;
address: string;
begin
xdcResponse := await(XDataWebClient1.RawInvokeAsync('ILookupService.GetCustomer',
[customerID]));
customer := TJSObject(xdcResponse.Result);
XDataWebDataSet1.Close;
XDataWebDataSet1.SetJsonData(customer);
XDataWebDataSet1.Open;
xdwdsShipTo.Close;
xdwdsShipTo.SetJSONData(customer['ADDRESS_LIST']);
xdwdsShipTo.Open;
end;
procedure TFOrderEntryWeb.WebFormShow(Sender: TObject);
begin
if mode <> 'ADD' then
getOrder(orderID)
else
getCustomer(customerID);
HideNotification();
end;
procedure TFOrderEntryWeb.HideNotification;
begin
pnlMessage.ElementHandle.hidden := True;
end;
procedure TFOrderEntryWeb.ShowNotification(Notification: string);
begin
if Notification <> '' then
begin
lblMessage.Caption := Notification;
pnlMessage.ElementHandle.hidden := False;
end;
end;
procedure TFOrderEntryWeb.tmrScrollTopTimer(Sender: TObject);
begin
tmrScrollTop.Enabled := False;
window.scrollTo(0, 0);
end;
end.
\ No newline at end of file
......@@ -646,7 +646,7 @@ begin
if orderType = 'corrugated' then
FViewMain.ViewOrderEntryCorrugated(orderInfo, customerInfo, mode)
else if orderType = 'web' then
orderType := orderType
FViewMain.ViewOrderEntryWeb(orderInfo, customerInfo, mode)
else
FViewMain.ViewOrderEntryCuttingDie(orderInfo, customerInfo, mode);
end;
......
......@@ -57,6 +57,7 @@ input[type="text"] {
/* Navbar items - keep them aligned and spaced out */
.navbar-nav .nav-item {
padding: 0 15px; /* Adjust spacing between navbar items */
z-index: 9999;
}
/* Flexbox for the entire navbar */
......
......@@ -21,7 +21,8 @@ uses
View.AddOrder in 'View.AddOrder.pas' {FAddOrder: TWebForm} {*.html},
View.Search in 'View.Search.pas' {FSearch: TWebForm} {*.html},
View.SetStatus in 'View.SetStatus.pas' {FSetStatus: TWebForm} {*.html},
View.OrderEntryCuttingDie in 'View.OrderEntryCuttingDie.pas' {FOrderEntryCuttingDie: TWebForm} {*.html};
View.OrderEntryCuttingDie in 'View.OrderEntryCuttingDie.pas' {FOrderEntryCuttingDie: TWebForm} {*.html},
View.OrderEntryWeb in 'View.OrderEntryWeb.pas' {FOrderEntryWeb: TWebForm} {*.html};
{$R *.res}
......
......@@ -190,6 +190,11 @@
<FormType>dfm</FormType>
<DesignClass>TWebForm</DesignClass>
</DCCReference>
<DCCReference Include="View.OrderEntryWeb.pas">
<Form>FOrderEntryWeb</Form>
<FormType>dfm</FormType>
<DesignClass>TWebForm</DesignClass>
</DCCReference>
<None Include="index.html"/>
<None Include="css\app.css"/>
<None Include="config\config.json"/>
......
......@@ -22,9 +22,11 @@ type
userName: string;
userFullName: string;
userId: string;
userAdmin: boolean;
userPhone: string;
userPerspectiveID: string;
userQBID: string;
userAccessType: string;
userEmail: string;
userStatus: string;
procedure AfterConstruction; override;
procedure BeforeDestruction; override;
property Query: TUniQuery read GetQuery;
......@@ -106,9 +108,12 @@ begin
JWT.Claims.SetClaimOfType<string>('user_name', userName);
JWT.Claims.SetClaimOfType<string>('user_fullname', userFullName);
JWT.Claims.SetClaimOfType<string>('user_id', userId);
JWT.Claims.SetClaimOfType<boolean>('user_admin', userAdmin);
JWT.Claims.SetClaimOfType<string>('user_phone', userPhone);
JWT.Claims.SetClaimOfType<string>('user_perspective_id', userPerspectiveID);
JWT.Claims.SetClaimOfType<string>('user_status', userStatus);
JWT.Claims.SetClaimOfType<string>('user_email', userEmail);
JWT.Claims.SetClaimOfType<string>('user_qb_id', userQBID);
JWT.Claims.SetClaimOfType<string>('user_access_type', userAccessType);
Result := TJOSE.SHA256CompactToken(serverConfig.jwtTokenSecret, JWT);
finally
JWT.Free;
......@@ -139,17 +144,15 @@ begin
//checkString := THashSHA2.GetHashString(date_created + password, THashSHA2.TSHA2Version.SHA512).ToUpper;
if password = authDB.uq.FieldByName('PASSWORD').AsString then
begin
{userName := user;
userFullName:= authDB.uq.FieldByName('full_name').AsString;;
userId := authDB.uq.FieldByName('user_id').AsString;
userAdmin := authDB.uq.FieldByName('admin').AsBoolean;
userPhone := authDB.uq.FieldByName('phone_number').AsString;
userEmail := authDB.uq.FieldByName('email').AsString;
userStr := '?username=' + userName;
userStr := userStr + '&fullname=' + userFullName;
userStr := userStr + '&userid=' + userId;
userStr := userStr + '&useradmin=' + BoolToStr(userAdmin);}
userName := user;
userFullName:= authDB.uq.FieldByName('NAME').AsString;;
userId := authDB.uq.FieldByName('USER_ID').AsString;
userStatus := authDB.uq.FieldByName('STATUS').AsString;
userPerspectiveID := authDB.uq.FieldByName('PERSPECTIVE_ID').AsString;
userEmail := authDB.uq.FieldByName('EMAIL').AsString;
userQBID := authDB.uq.FieldByName('QB_ID').AsString;
userAccessType := authDB.uq.FieldByName('ACCESS_TYPE').AsString;
//Logger.Log( 3, Format('AuthDB.SetLoginAuditEntry: "%s"', [user]) );
//AuthDB.SetLoginAuditEntry( userStr );
Result := 3; // Succcess
......
......@@ -41,6 +41,7 @@ type
function DelUser(username: string): string;
function GenerateSubQuery(currStatus: string): string;
function AddCorrugatedOrder(orderInfo: string): TJSONObject;
function AddWebOrder(orderInfo: string): TJSONObject;
function AddStatusSchedule(StatusType: string; order: TJSONObject; ORDER_ID: integer): string;
function GenerateOrdersSQL(searchOptions: string): TSQLQuery;
function GetColorCount(colors: string): string;
......@@ -1209,6 +1210,117 @@ begin
end;
function TLookupService.AddWebOrder(orderInfo: string): TJSONObject;
// Adds corrugated order to the database. This process is done in 3 different
// tables so if any changes are made make sure to check orders, corrugated_plate_orders
// and orders_status_schedule. This also functions as an edit function.
// orderInfo - all the inputted order information from client side.
var
JSONData, ResponseData: TJSONObject;
SQL: string;
Pair: TJSONPair;
Field: TField;
DateFormat: TFormatSettings;
CurrDate: TDateTime;
ORDER_ID: integer;
mode: string;
temp: string;
begin
DateFormat := TFormatSettings.Create;
DateFormat.ShortDateFormat := 'yyyy-mm-dd';
DateFormat.DateSeparator := '-';
JSONData := TJSONObject.ParseJSONValue(orderInfo) as TJSONObject;
if JSONData = nil then
raise Exception.Create('Invalid JSON format'); // If parsing fails, raise an exception
mode := JSONData.GetValue<string>('mode');
if mode = 'ADD' then
SQL := 'select * from web_plate_orders where ORDER_ID = 0 and ORDER_ID <> 0'
else
begin
ORDER_ID := JSONData.GetValue<integer>('ORDER_ID');
SQL := 'select * from web_plate_orders where ORDER_ID = ' + IntToStr(ORDER_ID);
end;
doQuery(ordersDB.UniQuery1, SQL);
try
if mode = 'ADD' then
ordersDB.UniQuery1.Insert
else
ordersDB.UniQuery1.Edit;
for Pair in JSONData do
begin
Field := ordersDB.UniQuery1.FindField(Pair.JsonString.Value); // Checks if the field exists in the dataset
if Assigned(Field) then
begin
// handles any dates or datetimes
if (Field is TDateTimeField) and (Pair.JsonValue.Value <> '') then
TDateTimeField(Field).AsDateTime := StrToDate(Pair.JsonValue.Value)
else if Pair.JsonValue.Value <> '' then
Field.AsString := Pair.JsonValue.Value;
end;
end;
// Post the record to the database
ordersDB.UniQuery1.Post;
if mode = 'ADD' then
begin
SQL := 'select * from orders where ORDER_ID = 0 and ORDER_ID <> 0';
doQuery(ordersDB.UniQuery1, SQL);
ordersDB.UniQuery1.Insert;
end
else
begin
SQL := 'select * from orders where ORDER_ID = ' + IntToStr(ORDER_ID);
doQuery(ordersDB.UniQuery1, SQL);
ordersDB.UniQuery1.Edit;
end;
temp := JSONData.GetValue<string>('COMPANY_ID');
ordersDB.UniQuery1.FieldByName('COMPANY_ID').AsString := JSONData.GetValue<string>('COMPANY_ID');
ordersDB.UniQuery1.FieldByName('ORDER_TYPE').AsString := 'web_plate';
if mode = 'ADD' then
ordersDB.UniQuery1.FieldByName('ORDER_DATE').AsDateTime := Now;
if JSONData.GetValue<string>('staff_fields_price') = '' then
ordersDB.UniQuery1.FieldByName('PRICE').AsString := '0'
else
ordersDB.UniQuery1.FieldByName('PRICE').AsString := JSONData.GetValue<string>('staff_fields_price');
ordersDB.UniQuery1.FieldByName('JOB_NAME').AsString := JSONData.GetValue<string>('staff_fields_job_name');
ordersDB.UniQuery1.FieldByName('USER_ID').AsString := JSONData.GetValue<string>('USER_ID');
ordersDB.UniQuery1.FieldByName('LOCATION').AsString := JSONData.GetValue<string>('staff_fields_art_location');
ordersDB.UniQuery1.Post;
ordersDB.UniQuery1.Close;
if mode = 'ADD' then
begin
ordersDB.UniQuery1.SQL.Text := 'SELECT LAST_INSERT_ID() AS OrderID'; // Use database's method to get the last inserted ID
ordersDB.UniQuery1.Open;
ORDER_ID := ordersDB.UniQuery1.FieldByName('OrderID').AsInteger;
end;
if JSONData.GetValue<string>('staff_fields_proof_date') <> '' then
AddStatusSchedule('PROOF', JSONData, ORDER_ID);
if JSONData.GetValue<string>('staff_fields_ship_date') <> '' then
AddStatusSchedule('SHIP', JSONData, ORDER_ID);
if JSONData.GetValue<string>('staff_fields_art_due') <> '' then
AddStatusSchedule('ART', JSONData, ORDER_ID);
if JSONData.GetValue<string>('staff_fields_plate_due') <> '' then
AddStatusSchedule('PLATE', JSONData, ORDER_ID);
Result := TJSONObject.Create.AddPair('status', 'success');
TXDataOperationContext.Current.Handler.ManagedObjects.Add(Result);
except
on E: Exception do
begin
Result := TJSONObject.Create.AddPair('error', E.Message);
end;
end;
end;
initialization
RegisterServiceType(TLookupService);
......
[Settings]
MemoLogLevel=4
FileLogLevel=5
LogFileNum=123
LogFileNum=125
webClientVersion=1.0.0
[Database]
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment