\n \n\n \n\n \n\n \n\n \n \n \n \n\n\n\n","import script from \"./ViewShipment.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./ViewShipment.vue?vue&type=script&setup=true&lang=js\"\n\nimport \"./ViewShipment.vue?vue&type=style&index=0&id=6d459b71&lang=scss&scoped=true\"\n\nimport exportComponent from \"/home/vsts/work/1/s/boxtrax2-ui/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-6d459b71\"]])\n\nexport default __exports__","\n\n\n
\n \n \n
\n\n","import script from \"./NumberOnlyInput.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./NumberOnlyInput.vue?vue&type=script&setup=true&lang=js\"\n\nconst __exports__ = script;\n\nexport default __exports__","\n\n\n
\n
\n \n \n \n \n \n \n
\n \n
No Item Selected!\n \n 🛈\n \n
No items were found within the search, or no selection was made. This is not\n a custom value and will not be saved!\n
\n \n \n
\n
\n
\n \n
\n
\n \n
\n
\n
\n
\n
{{ item.value }}
\n
\n
\n
\n
\n
{{ item.value }}\n \n \n \n \n \n \n \n \n
\n
\n
\n
\n
\n
\n\n\n\n","import script from \"./MultiSearchDropDown.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./MultiSearchDropDown.vue?vue&type=script&setup=true&lang=js\"\n\nimport \"./MultiSearchDropDown.vue?vue&type=style&index=0&id=1b07b277&scoped=true&lang=css\"\n\nimport exportComponent from \"/home/vsts/work/1/s/boxtrax2-ui/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-1b07b277\"]])\n\nexport default __exports__","import DropDownItem from \"@/classes/component-classes/DropDownItem\";\n\nexport default class Dimension {\n constructor(pieces = '', length = '', width = '', height = '', weight = '', packaging = '') {\n\n this.pieces = pieces\n this.length = length\n this.width = width\n this.height = height\n this.weight = weight\n this.packaging = packaging\n }\n}\n","import Validation from \"@/classes/global/Validation\";\nimport Dimension from \"@/classes/component-classes/Dimension\";\n\nexport default class DimensionExtended extends Dimension {\n constructor() {\n super();\n\n this.readOnly = false;\n this.showAddButton = true;\n this.isEditing = false;\n this.isDeleting = false;\n\n this.validation = {\n pieces: new Validation(),\n length: new Validation(),\n width: new Validation(),\n height: new Validation(),\n weight: new Validation(),\n packaging: new Validation()\n }\n\n }\n}\n","\nexport function useGetValidatedFields(requiredFields, modelProp) {\n\n let requiredField = false;\n\n if(requiredFields) {\n\n requiredFields.forEach(item => {\n\n if (item.modelName === modelProp) {\n\n requiredField = item.validate\n\n }\n });\n }\n\n return requiredField;\n}\n\n\n","\n\n\n
\n
\n
Pieces
\n
Length
\n
Width
\n
Height
\n
Weight
\n
Packaging
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n
\n \n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n
\n
Please Enter Required Dimensions\n
\n
\n\n\n\n\n\n","import script from \"./DimensionsEntry.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./DimensionsEntry.vue?vue&type=script&setup=true&lang=js\"\n\nimport \"./DimensionsEntry.vue?vue&type=style&index=0&id=132f68fa&lang=scss&scoped=true\"\n\nimport exportComponent from \"/home/vsts/work/1/s/boxtrax2-ui/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-132f68fa\"]])\n\nexport default __exports__","export function useCheckFieldsForData(model) {\n\n let result = false;\n\n for (const each in model) {\n\n if (typeof (model[each]) === 'string' && model[each]) {\n\n result = true;\n\n // This is to switch the check to boolean, only for the customs model\n } else if(model.hasOwnProperty('customs')) {\n\n if(model[each]) result = true;\n\n } else {\n\n // Must be ddl object\n if(model[each] !== null) {\n\n if(model[each].value) result = true;\n }\n }\n }\n\n return result;\n}\n","\n\n
\n
\n
\n
\n
\n
\n \n \n \n \n \n \n
\n \n
\n Required Fields\n
\n
\n\n\n\n","import script from \"./SectionTile.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./SectionTile.vue?vue&type=script&setup=true&lang=js\"\n\nimport \"./SectionTile.vue?vue&type=style&index=0&id=16507abd&lang=scss&scoped=true\"\n\nimport exportComponent from \"/home/vsts/work/1/s/boxtrax2-ui/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-16507abd\"]])\n\nexport default __exports__","\n\n\n
\n
\n
\n \n
\n
\n \n
\n
\n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n
\n \n
\n
\n\n\n\n","import script from \"./BookingSummaryDisplay.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./BookingSummaryDisplay.vue?vue&type=script&setup=true&lang=js\"\n\nimport \"./BookingSummaryDisplay.vue?vue&type=style&index=0&id=2a9995b8&lang=scss&scoped=true\"\n\nimport exportComponent from \"/home/vsts/work/1/s/boxtrax2-ui/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-2a9995b8\"]])\n\nexport default __exports__","\n\n\n
\n
\n
\n \n \n
\n \n
\n
\n\n\n\n","import script from \"./DropDownTextArea.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./DropDownTextArea.vue?vue&type=script&setup=true&lang=js\"\n\nimport \"./DropDownTextArea.vue?vue&type=style&index=0&id=5c6b2119&scoped=true&lang=css\"\n\nimport exportComponent from \"/home/vsts/work/1/s/boxtrax2-ui/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-5c6b2119\"]])\n\nexport default __exports__","export default class ContactDetail {\n constructor() {\n\n this.id = 0;\n this.title = '';\n this.firstName = '';\n this.lastName = '';\n this.phone = '';\n this.email = '';\n this.department = '';\n this.value = '';\n\n }\n}\n","import Validation from \"@/classes/global/Validation\";\n\nexport default class ValidationBase {\n constructor() {\n this.validationMessages = ['Required', 'Max Number 20', 'Incorrect Format', 'Enter Search Text'];\n this.shipperName = new Validation();\n this.shipperRef = new Validation();\n this.shipperAddressLine1 = new Validation();\n this.shipperAddressLine2 = new Validation();\n this.shipperCity = new Validation();\n this.shipperCounty = new Validation();\n this.shipperPostcode = new Validation();\n this.shipperCountry = new Validation();\n this.shipperVatNumber = new Validation();\n this.shipperContactFullName = new Validation();\n this.shipperContactTitle = new Validation();\n this.shipperContactFirstName = new Validation();\n this.shipperContactLastName = new Validation();\n this.shipperContactPhone = new Validation();\n this.shipperContactEmail = new Validation();\n this.shipperContactDepartment = new Validation();\n this.consigneeName = new Validation();\n this.consigneeRef = new Validation();\n this.additionalRef = new Validation();\n this.consigneeAddressLine1 = new Validation();\n this.consigneeAddressLine2 = new Validation();\n this.consigneeCity = new Validation();\n this.consigneeCounty = new Validation();\n this.consigneePostcode = new Validation();\n this.consigneeCountry = new Validation();\n this.consigneeVatNumber = new Validation();\n this.consigneeContactFullName = new Validation();\n this.consigneeContactTitle = new Validation();\n this.consigneeContactFirstName = new Validation();\n this.consigneeContactLastName = new Validation();\n this.consigneeContactPhone = new Validation();\n this.consigneeContactEmail = new Validation();\n }\n}\n","import Validation from \"@/classes/global/Validation\";\nimport ValidationBase from \"@/classes/global/ValidationBase\";\n\nexport default class FreightBookingValidation extends ValidationBase {\n\n constructor() {\n\n super();\n\n this.shipmentRef = new Validation();\n this.shipmentShipperRef = new Validation();\n this.shipmentConsigneeRef = new Validation();\n this.shipmentCarrier = new Validation();\n this.shipmentServiceType = new Validation();\n this.shipmentBillingParty = new Validation();\n this.shipmentBillingPartyDetail = new Validation();\n this.shipmentDescription = new Validation();\n this.shipmentPickupDate = new Validation();\n this.shipmentDeliveryDate = new Validation();\n this.shipmentDeliveryTime = new Validation();\n this.shipmentCurrency = new Validation();\n this.shipmentValue = new Validation();\n this.shipmentComments = new Validation();\n this.totalPieces = new Validation();\n this.totalWeight = new Validation();\n\n }\n\n\n // this.validationMessages = ['Required', 'Max Number 20', 'Incorrect Format', 'Enter Search Text'];\n // this.shipperName = new Validation();\n // this.shipperAddressLine1 = new Validation();\n // this.shipperAddressLine2 = new Validation();\n // this.shipperCity = new Validation();\n // this.shipperCounty = new Validation();\n // this.shipperPostcode = new Validation();\n // this.shipperCountry = new Validation();\n // this.shipperVatNumber = new Validation();\n // this.shipperContactFullName = new Validation();\n // this.shipperContactTitle = new Validation();\n // this.shipperContactFirstName = new Validation();\n // this.shipperContactLastName = new Validation();\n // this.shipperContactPhone = new Validation();\n // this.shipperContactEmail = new Validation();\n // this.shipperContactDepartment = new Validation();\n // this.consigneeName = new Validation();\n // this.consigneeAddressLine1 = new Validation();\n // this.consigneeAddressLine2 = new Validation();\n // this.consigneeCity = new Validation();\n // this.consigneeCounty = new Validation();\n // this.consigneePostcode = new Validation();\n // this.consigneeCountry = new Validation();\n // this.consigneeVatNumber = new Validation();\n // this.consigneeContactFullName = new Validation();\n // this.consigneeContactTitle = new Validation();\n // this.consigneeContactFirstName = new Validation();\n // this.consigneeContactLastName = new Validation();\n // this.consigneeContactPhone = new Validation();\n // this.consigneeContactEmail = new Validation();\n\n}\n","import Validation from \"@/classes/global/Validation\";\nimport ValidationBase from \"@/classes/global/ValidationBase\";\n\nexport default class CourierBookingValidation extends ValidationBase{\n\n constructor() {\n super();\n\n this.customerRef = new Validation();\n this.customerRefTwo = new Validation();\n this.collectByDate = new Validation();\n this.collectByTime = new Validation();\n this.description = new Validation();\n this.comments = new Validation();\n this.deliveryDate = new Validation();\n this.deliveryTime = new Validation();\n this.currency = new Validation();\n this.value = new Validation();\n this.service = new Validation();\n this.termsOfShipment = new Validation();\n this.totalPieces = new Validation();\n this.totalWeight = new Validation();\n this.customsStatus = new Validation();\n this.customsComments = new Validation();\n\n }\n\n\n\n\n\n}\n","\nexport default class ShipperDetail {\n constructor() {\n\n this.id = 0;\n this.shipperName = '';\n this.shipperAddressLine1 = '';\n this.shipperAddressLine2 = '';\n this.shipperCity = '';\n this.shipperCounty = '';\n this.shipperCountry = '';\n this.shipperPostcode = '';\n this.shipperVatNumber = '';\n this.shipperContactId = 0;\n this.shipperContactFullName = '';\n this.shipperContactTitle = '';\n this.shipperContactFirstName = '';\n this.shipperContactLastName = '';\n this.shipperContactPhone = '';\n this.shipperContactEmail = '';\n this.shipperContactDepartment = '';\n this.shipperContacts = [];\n this.shipperRef = '';\n }\n}\n","export default class ConsigneeDetail {\n constructor() {\n\n this.id = 0;\n this.consigneeName = '';\n this.consigneeAddressLine1 = '';\n this.consigneeAddressLine2 = '';\n this.consigneeCity = '';\n this.consigneeCounty = '';\n this.consigneeCountry = '';\n this.consigneePostcode = '';\n this.consigneeVatNumber = '';\n this.consigneeContactId = '';\n this.consigneeContactFullName = '';\n this.consigneeContactTitle = '';\n this.consigneeContactFirstName = '';\n this.consigneeContactLastName = '';\n this.consigneeContactPhone = '';\n this.consigneeContactEmail = '';\n this.consigneeContacts = [];\n this.consigneeRef = '';\n this.additionalRef = '';\n }\n}\n","import ShipperDetail from \"@/classes/bookings/ShipperDetail\";\nimport ConsigneeDetail from \"@/classes/bookings/ConsigneeDetail\";\n\nexport class Booking {\n\n constructor() {\n\n this.id = 0;\n this.jobNumber = '';\n this.customer = '';\n\n this.shipper = new ShipperDetail();\n this.consignee = new ConsigneeDetail();\n\n this.dimensions = {\n\n multiLineDims: [],\n totalPieces: '',\n totalWeight: '',\n chargeableWeight: '',\n cubeUnit:'',\n cube: ''\n }\n\n this.isUpdate = {\n\n shipper: false,\n consignee: false\n\n }\n\n this.unitOfMeasureSwitch = false,\n this.cubeUnitSwitch = false,\n\n this.files = [];\n\n }\n}\n","import {Booking} from \"@/classes/viewmodels/Booking\";\n\nexport default class FreightBooking extends Booking {\n\n constructor() {\n super();\n\n this.shipment = {\n\n shipmentRef: '',\n shipmentRefBolNumber: false,\n shipmentShipperRef: '',\n shipmentConsigneeRef: '',\n shipmentCarrier: '',\n shipmentServiceType: '',\n shipmentBillingParty: '',\n shipmentBillingPartyId: '',\n shipmentBillingPartyDetail: '',\n shipmentDescription: '',\n shipmentComments: '',\n shipmentPickupDate: '',\n shipmentDeliveryDate: '',\n shipmentDeliveryTime: '',\n shipmentCurrency: '',\n shipmentValue: '',\n shipmentInsurance: false,\n shipmentInsuranceAmount: '',\n\n }\n\n this.tileSelection = {\n\n shipper: true,\n consignee: false,\n shipment: false,\n dimensions: false,\n documents: false\n }\n\n this.tileValidation = {\n\n shipper: true,\n consignee: true,\n shipment: true,\n dimensions: true\n }\n\n this.metaData = {\n\n shippers: [],\n consignees: [],\n packageTypes: [],\n serviceTypes: [],\n currencies: [],\n billingParties: [],\n countries: [],\n validatedFields: []\n\n }\n\n this.tempValidatedFields = [\n\n // new ValidatedField('shipperName', true, true, 'Shipper Name'),\n // new ValidatedField('shipperAddressLine1', true, false, 'Shipper AddressLine 1'),\n // new ValidatedField('shipperAddressLine2', true, false, 'Shipper AddressLine 2'),\n // new ValidatedField('shipperCity', true, false, 'Shipper City'),\n // new ValidatedField('shipperCounty', true, false, 'Shipper County'),\n // new ValidatedField('shipperPostcode', true, false, 'Shipper Postcode'),\n // new ValidatedField('shipperCountry', true, false, 'Shipper Country'),\n // new ValidatedField('shipperVatNumber', true, false, 'Shipper VAT Number'),\n // new ValidatedField('shipperContactFullName', true, false, 'Shipper Contact Selection'),\n // new ValidatedField('shipperContactTitle', true, false, 'Shipper Contact Title'),\n // new ValidatedField('shipperContactFirstName', true, false, 'Shipper Contact First Name'),\n // new ValidatedField('shipperContactLastName', true, false, 'Shipper Contact Last Name'),\n // new ValidatedField('shipperContactPhone', true, false, 'Shipper Contact Telephone'),\n // new ValidatedField('shipperContactEmail', true, false, 'Shipper Contact Email'),\n // new ValidatedField('shipperContactDepartment', true, false, 'Shipper Contact Department'),\n // new ValidatedField('consigneeName', true, false, 'Consignee Name'),\n // new ValidatedField('consigneeAddressLine1', true, false, 'Consignee AddressLine 1'),\n // new ValidatedField('consigneeAddressLine2', true, false, 'Consignee AddressLine 2'),\n // new ValidatedField('consigneeCity', true, false, 'Consignee City'),\n // new ValidatedField('consigneeCounty', true, false, 'Consignee County'),\n // new ValidatedField('consigneePostcode', true, false, 'Consignee Postcode'),\n // new ValidatedField('consigneeCountry', true, false, 'Consignee Country'),\n // new ValidatedField('consigneeVatNumber', true, false, 'Consignee VAT Number'),\n // new ValidatedField('consigneeContactFullName', true, false, 'Consignee Contact Selection'),\n // new ValidatedField('consigneeContactTitle', true, false, 'Consignee Contact Title'),\n // new ValidatedField('consigneeContactFirstName', true, false, 'Consignee Contact First Name'),\n // new ValidatedField('consigneeContactLastName', true, false, 'Consignee Contact Last Name'),\n // new ValidatedField('consigneeContactPhone', true, false, 'Consignee Contact Phone'),\n // new ValidatedField('consigneeContactEmail', true, false, 'Consignee Contact Email'),\n // new ValidatedField('shipmentRef', true, false, 'Shipment Reference'),\n // new ValidatedField('shipmentConsigneeRef', true, false, 'Shipment Consignee Ref'),\n // new ValidatedField('shipmentShipperRef', true, false, 'Shipment Shipper Ref'),\n // new ValidatedField('shipmentCarrier', true, false, 'Shipment Carrier'),\n // new ValidatedField('shipmentServiceType', true, false, 'Shipment Service Type'),\n // new ValidatedField('shipmentBillingParty', true, false, 'Shipment Billing Party'),\n // new ValidatedField('shipmentBillingPartyDetail', false, false, 'Shipment Billing Party Detail'),\n // new ValidatedField('shipmentDescription', true, false, 'Shipment Description'),\n // new ValidatedField('shipmentPickupDate', true, false, 'Shipment Pickup Date'),\n // new ValidatedField('shipmentDeliveryDate', true, false, 'Shipment Delivery Date'),\n // new ValidatedField('shipmentDeliveryTime', true, false, 'Shipment Delivery Time'),\n // new ValidatedField('shipmentCurrency', true, false, 'Shipment Currency'),\n // new ValidatedField('shipmentValue', true, false, 'Shipment Value'),\n // new ValidatedField('shipmentComments', true, false, 'Shipment Comments'),\n // new ValidatedField('pieces', true, false, 'Dims Pieces'),\n // new ValidatedField('length', false, false, 'Dims Length'),\n // new ValidatedField('width', false, false, 'Dims Width'),\n // new ValidatedField('height', false, false, 'Dims Height'),\n // new ValidatedField('weight', false, false, 'Dims Weight'),\n // new ValidatedField('packaging', false, false, 'Dims Packaging'),\n // new ValidatedField('totalPieces', true, false, 'Dims Total Pieces'),\n // new ValidatedField('totalWeight', true, false, 'Dims Total Weight'),\n ]\n }\n\n\n}\n","import {Booking} from \"@/classes/viewmodels/Booking\";\nimport ValidatedField from \"@/classes/global/ValidatedField\";\n\nexport default class CourierBooking extends Booking {\n\n constructor() {\n super();\n\n this.screenSwitches = {\n\n termsOfShipment: true,\n customsStatus: true\n }\n\n this.consignment = {\n\n customerRef: '',\n customerRefTwo: '',\n collectByDate: '',\n collectByTime: '',\n documentsOnly: false,\n insurance: false,\n insuranceType: '',\n description: '',\n comments: '',\n deliveryDate: '',\n deliveryTime: '',\n currency: '',\n value: '',\n service: '',\n termsOfShipment: '',\n termsDescription: ''\n }\n\n this.customsComments = '';\n\n this.customs = [];\n\n this.customsSelect = {\n\n // customs is an id for the object, when using the checkFieldsForData method (composable) it switches to look at booleans\n // the value of false is never changed or needed\n customs: false,\n\n kimberlyCerts: false,\n carnet: false,\n ipr: false,\n ti: false,\n opr: false,\n other: false,\n repair: false,\n cites: false,\n tibBondWarehouse: false,\n exportLicence: false,\n freeCirculation: false\n }\n\n this.tileSelection = {\n\n shipper: true,\n consignee: false,\n consignment: false,\n dimensions: false,\n documents: false,\n customs: false\n }\n\n this.tileValidation = {\n\n shipper: true,\n consignee: true,\n consignment: true,\n dimensions: true,\n customs: true\n }\n\n this.metaData = {\n\n shippers: [],\n consignees: [],\n packageTypes: [],\n serviceTypes: [],\n currencies: [],\n billingParties: [],\n countries: [],\n validatedFields: []\n\n }\n\n this.tempValidatedFields = [\n\n // new ValidatedField('shipperName', true, true, 'Shipper Name'),\n // new ValidatedField('shipperAddressLine1', true, false, 'Shipper AddressLine 1'),\n // new ValidatedField('shipperAddressLine2', true, false, 'Shipper AddressLine 2'),\n // new ValidatedField('shipperCity', true, false, 'Shipper City'),\n // new ValidatedField('shipperCounty', true, false, 'Shipper County'),\n // new ValidatedField('shipperPostcode', true, false, 'Shipper Postcode'),\n // new ValidatedField('shipperCountry', true, false, 'Shipper Country'),\n // new ValidatedField('shipperVatNumber', true, false, 'Shipper VAT Number'),\n // new ValidatedField('shipperContactFullName', true, false, 'Shipper Contact Selection'),\n // new ValidatedField('shipperContactTitle', true, false, 'Shipper Contact Title'),\n // new ValidatedField('shipperContactFirstName', true, false, 'Shipper Contact First Name'),\n // new ValidatedField('shipperContactLastName', true, false, 'Shipper Contact Last Name'),\n // new ValidatedField('shipperContactPhone', true, false, 'Shipper Contact Telephone'),\n // new ValidatedField('shipperContactEmail', true, false, 'Shipper Contact Email'),\n // new ValidatedField('shipperContactDepartment', true, false, 'Shipper Contact Department'),\n // new ValidatedField('consigneeName', true, false, 'Consignee Name'),\n // new ValidatedField('consigneeAddressLine1', true, false, 'Consignee AddressLine 1'),\n // new ValidatedField('consigneeAddressLine2', true, false, 'Consignee AddressLine 2'),\n // new ValidatedField('consigneeCity', true, false, 'Consignee City'),\n // new ValidatedField('consigneeCounty', true, false, 'Consignee County'),\n // new ValidatedField('consigneePostcode', true, false, 'Consignee Postcode'),\n // new ValidatedField('consigneeCountry', true, false, 'Consignee Country'),\n // new ValidatedField('consigneeVatNumber', true, false, 'Consignee VAT Number'),\n // new ValidatedField('consigneeContactFullName', true, false, 'Consignee Contact Selection'),\n // new ValidatedField('consigneeContactTitle', true, false, 'Consignee Contact Title'),\n // new ValidatedField('consigneeContactFirstName', true, false, 'Consignee Contact First Name'),\n // new ValidatedField('consigneeContactLastName', true, false, 'Consignee Contact Last Name'),\n // new ValidatedField('consigneeContactPhone', true, false, 'Consignee Contact Phone'),\n // new ValidatedField('consigneeContactEmail', true, false, 'Consignee Contact Email'),\n // new ValidatedField('customerRef', true, false, 'Customer Ref 1'),\n // new ValidatedField('customerRefTwo', true, false, 'Customer Ref 2'),\n // new ValidatedField('collectByDate', true, false, 'Collect By Date'),\n // new ValidatedField('collectByTime', true, false, 'Collect By Time'),\n // new ValidatedField('deliveryDate', true, false, 'Delivery Date'),\n // new ValidatedField('deliveryTime', true, false, 'Delivery Time'),\n // new ValidatedField('currency', true, false, 'Consignment Currency'),\n // new ValidatedField('value', true, false, 'Consignment Value'),\n // new ValidatedField('service', true, false, 'Service Type'),\n // new ValidatedField('termsOfShipment', true, false, 'Terms Of Shipment'),\n // new ValidatedField('description', true, false, 'Consignment Description'),\n // new ValidatedField('comments', true, false, 'Consignment Comments'),\n // new ValidatedField('pieces', true, false, 'Dims Pieces'),\n // new ValidatedField('length', false, false, 'Dims Length'),\n // new ValidatedField('width', false, false, 'Dims Width'),\n // new ValidatedField('height', false, false, 'Dims Height'),\n // new ValidatedField('weight', false, false, 'Dims Weight'),\n // new ValidatedField('packaging', false, false, 'Dims Packaging'),\n // new ValidatedField('totalPieces', true, false, 'Dims Total Pieces'),\n // new ValidatedField('totalWeight', true, false, 'Dims Total Weight'),\n // new ValidatedField('customsStatus', true, false, 'Customs Status'),\n ]\n\n }\n\n}\n","export function useValidateRequiredFields(dataModel, validationViewModel, requiredFields) {\n\n let result = true;\n\n requiredFields.forEach(item => {\n // Look at the required validated fields object, if any values are set true, this is a chosen required field\n // check the model data and validate for the required controls. Other Validation can be checked and a different\n // message triggered if you pass the validation-text v-model to the control, then choose the message number required\n\n if (item.validate) {\n\n //TODO Make sure we only work with flat data and not ddl {id, text} objects to check for validation\n\n // if (typeof (dataModel[item.modelName]) === 'object' && dataModel.hasOwnProperty(item.modelName.toString())) {\n //\n // if (!dataModel[item.modelName].value) {\n // validationViewModel[item.modelName].value = true;\n // validationViewModel[item.modelName].messageNumber = 0;\n // result = false;\n // } else {\n // validationViewModel[item.modelName].value = false;\n // }\n //\n // } else {\n //\n if (dataModel.hasOwnProperty(item.modelName.toString())) {\n\n if (!dataModel[item.modelName]) {\n validationViewModel[item.modelName].value = true;\n validationViewModel[item.modelName].messageNumber = 0;\n result = false;\n } else {\n validationViewModel[item.modelName].value = false;\n }\n\n }\n\n }\n\n })\n\n return result;\n}\n","export function useTimeGenerator(format) {\n\n let interval = 30; //minutes interval\n let times = []; // time array\n let startTime = 0; // start time\n let amPm = ['AM', 'PM']; // AM-PM\n\n //loop to increment the time and push results in array\n for (let i = 0; startTime < 24*60; i++) {\n let hours = Math.floor(startTime/60); // getting hours of day in 0-24 format\n let minutes = (startTime % 60); // getting minutes of the hour in 0-55 format\n\n // pushing data in array in [0:00 - 12:00 AM/PM format]\n if(format === 12)times[i] = (\"\" + (hours % 12)).slice(-2) + ':' + (\"0\" + minutes).slice(-2) + amPm[Math.floor(hours/12)];\n // startTime = startTime + interval;\n\n // 24 Hr Format\n if(format == 24)times[i] = {id: i, value: (\"0\" + (hours % 24)).slice(-2) + ':' + (\"0\" + minutes).slice(-2)};\n startTime = startTime + interval;\n }\n\n return times;\n\n}\n","\nexport default class BaseBookingSave {\n constructor() {\n\n this.id = 0;\n this.jobNumber = ''\n }\n}\n","import BaseBookingSave from \"@/classes/models/BaseBookingSave\";\n\nexport function useMapBookingSave(viewModel, bookingType) {\n\n // BaseBooking has basic id & job No. bookingSaveDetail is built on the fly below by adding the props fro the model\n let bookingSaveDetail = new BaseBookingSave();\n\n bookingSaveDetail.id = viewModel.id;\n bookingSaveDetail.jobNumber = viewModel.jobNumber;\n\n bookingSaveDetail.shipper = JSON.parse(JSON.stringify(viewModel.shipper));\n bookingSaveDetail.shipper.shipperCountry = bookingSaveDetail.shipper.shipperCountry ?.split('-')[0];\n bookingSaveDetail.shipper.shipperName = bookingSaveDetail.shipper.shipperName ?.split('-')[0].trim();\n delete bookingSaveDetail.shipper.shipperContacts;\n\n bookingSaveDetail.consignee = JSON.parse(JSON.stringify(viewModel.consignee));\n bookingSaveDetail.consignee.consigneeCountry = bookingSaveDetail.consignee.consigneeCountry ?.split('-')[0];\n bookingSaveDetail.consignee.consigneeName = bookingSaveDetail.consignee.consigneeName ?.split('-')[0].trim();\n delete bookingSaveDetail.consignee.consigneeContacts;\n\n bookingSaveDetail.dimensions = JSON.parse(JSON.stringify(viewModel.dimensions));\n\n // Set the unit of measure value in text for the service from the UI switch bool value\n viewModel.unitOfMeasureSwitch ? bookingSaveDetail.dimensions.unitOfMeasure = 'imperial' :\n bookingSaveDetail.dimensions.unitOfMeasure = 'metric';\n\n bookingSaveDetail.dimensions.totalPieces = bookingSaveDetail.dimensions.totalPieces ?.toString();\n bookingSaveDetail.dimensions.chargeableWeight = bookingSaveDetail.dimensions.chargeableWeight ?.toString();\n\n bookingSaveDetail.files = viewModel.files;\n\n if(bookingType === 'freightBooking') {\n\n bookingSaveDetail.shipment = JSON.parse(JSON.stringify(viewModel.shipment));\n bookingSaveDetail.shipment.shipmentCurrency = bookingSaveDetail.shipment.shipmentCurrency ?.split('-')[0];\n bookingSaveDetail.shipment.shipmentBillingParty = viewModel.shipment.shipmentBillingPartyId ? viewModel.shipment.shipmentBillingPartyId : '';\n delete bookingSaveDetail.shipment.shipmentBillingPartyId;\n }\n\n if(bookingType === 'courierBooking') {\n\n bookingSaveDetail.consignment = JSON.parse(JSON.stringify(viewModel.consignment));\n bookingSaveDetail.customs = viewModel.customs;\n bookingSaveDetail.customsComments = viewModel.customsComments;\n bookingSaveDetail.consignment.currency = bookingSaveDetail.consignment.currency ?.split('-')[0];\n }\n\n if(bookingType === 'preJobAir') preJobMappingFactory('flightShipment');\n if(bookingType === 'preJobSea') preJobMappingFactory('seaShipment');\n if(bookingType === 'preJobRoad') preJobMappingFactory('roadShipment');\n if(bookingType === 'preJobRail') preJobMappingFactory('railShipment');\n\n function preJobMappingFactory(section) {\n\n bookingSaveDetail[section] = JSON.parse(JSON.stringify(viewModel[section]));\n bookingSaveDetail[section].currency = bookingSaveDetail[section].currency ?.split('-')[0];\n bookingSaveDetail[section].placeOfReceipt = bookingSaveDetail[section].placeOfReceiptId ?.trim();\n bookingSaveDetail[section].originPort = bookingSaveDetail[section].originPortId ?.trim();\n bookingSaveDetail[section].destinationPort = bookingSaveDetail[section].destinationPortId ?.trim();\n bookingSaveDetail[section].finalDestination = bookingSaveDetail[section].finalDestinationId ?.trim();\n bookingSaveDetail[section].shipperRef = viewModel.shipper.shipperRef;\n bookingSaveDetail[section].consigneeRef = viewModel.consignee.consigneeRef;\n bookingSaveDetail[section].consigneeRefAdditional = viewModel.consignee.additionalRef;\n\n bookingSaveDetail[section].cube = viewModel.dimensions.cube;\n\n viewModel.cubeUnitSwitch ? bookingSaveDetail.cubeUnit = 'feet' :\n bookingSaveDetail.cubeUnit = 'meters'\n }\n\n return(bookingSaveDetail);\n\n}\n","import API from \"@/classes/global/API\";\n\nexport async function useGetChargeableWeight(route, totalWeight, modelValue) {\n\n if (!modelValue.dimensions.unitOfMeasure) modelValue.dimensions.unitOfMeasure = 'metric'\n\n modelValue.dimensions.totalWeight = totalWeight;\n\n const response = await API.getChargeableWeight(\n modelValue.dimensions.multiLineDims, modelValue.dimensions.unitOfMeasure, route);\n\n if (response) {\n\n try {\n\n modelValue.dimensions.chargeableWeight = response.ChargeableWeight;\n modelValue.dimensions.totalPieces = response.totalPieces\n } catch (error) {\n\n\n }\n\n }\n}\n","export function useMapShipperAddress(data, modelValue) {\n\n modelValue.shipper.shipperContacts = [];\n\n modelValue.shipper.id = data.id;\n modelValue.shipper.shipperAddressLine1 = data.addressLine1;\n modelValue.shipper.shipperAddressLine2 = data.addressLine2;\n modelValue.shipper.shipperCity = data.city;\n\n if (data.country) {\n modelValue.shipper.shipperCountry = modelValue.metaData.countries.find(c => c.id === data.country).value;\n }\n\n modelValue.shipper.shipperCounty = data.county;\n modelValue.shipper.shipperPostcode = data.postCode;\n modelValue.shipper.shipperVatNumber = data.vatNumber;\n\n modelValue.isUpdate.shipper = true;\n\n if(data.contacts) {\n\n data.contacts.forEach(contact => {\n modelValue.shipper.shipperContacts.push(contact)\n })\n\n }\n\n}\n","export function useValidateContactEmail(modelValue, isShipper, validationViewModel) {\n\n const emailRegExCheck = /^\\w+([\\.-]?\\w+)*@\\w+([\\.-]?\\w+)*(\\.\\w{2,3})+$/\n\n if (isShipper) {\n\n if (modelValue.shipper.shipperContactEmail.length > 0) {\n\n if (emailRegExCheck.test(modelValue.shipper.shipperContactEmail)) {\n\n return true;\n }\n\n validationViewModel.shipperContactEmail.value = true;\n validationViewModel.shipperContactEmail.messageNumber = 1;\n\n return false\n }\n\n return true;\n\n } else {\n\n if (modelValue.consignee.consigneeContactEmail.length > 0) {\n\n if (emailRegExCheck.test(modelValue.consignee.consigneeContactEmail)) {\n\n return true;\n }\n\n validationViewModel.consigneeContactEmail.value = true;\n validationViewModel.consigneeContactEmail.messageNumber = 1;\n\n return false\n }\n\n return true;\n\n }\n\n\n}\n","export function useValidateContact(modelValue, tile) {\n\n if (tile === 'shipper') return !!(modelValue.shipper.shipperContactFirstName && modelValue.shipper.shipperContactLastName);\n\n if (tile === 'consignee') return !!(modelValue.consignee.consigneeContactFirstName && modelValue.consignee.consigneeContactLastName);\n\n}\n","export function useNewContactMessage(modelValue, isShipper) {\n\n if (isShipper) {\n\n return !!(!modelValue.shipper.shipperContactFullName &&\n modelValue.shipper.shipperContactFirstName && modelValue.shipper.shipperContactLastName);\n\n } else {\n\n return !!(!modelValue.consignee.consigneeContactFullName && modelValue.consignee.consigneeContactFirstName\n && modelValue.consignee.consigneeContactLastName);\n }\n\n}\n","export function useMapConsigneeAddress(data, modelValue) {\n\n modelValue.consignee.consigneeContacts = [];\n\n modelValue.consignee.id = data.id;\n modelValue.consignee.consigneeAddressLine1 = data.addressLine1;\n modelValue.consignee.consigneeAddressLine2 = data.addressLine2;\n modelValue.consignee.consigneeCity = data.city;\n\n if (data.country) {\n modelValue.consignee.consigneeCountry = modelValue.metaData.countries.find(c => c.id === data.country).value;\n }\n\n modelValue.consignee.consigneeCounty = data.county;\n modelValue.consignee.consigneePostcode = data.postCode;\n modelValue.consignee.consigneeVatNumber = data.vatNumber;\n\n modelValue.isUpdate.consignee = true;\n\n if(data.contacts) {\n\n data.contacts.forEach(contact => {\n modelValue.consignee.consigneeContacts.push(contact)\n })\n }\n\n}\n","export function useClearShipperContact(modelValue) {\n\n modelValue.shipper.shipperContactId = 0;\n modelValue.shipper.shipperContactFullName = '';\n modelValue.shipper.shipperContactTitle = '';\n modelValue.shipper.shipperContactFirstName = '';\n modelValue.shipper.shipperContactLastName = '';\n modelValue.shipper.shipperContactPhone = '';\n modelValue.shipper.shipperContactEmail = '';\n modelValue.shipper.shipperContactDepartment = '';\n}\n","export function useClearConsigneeContact(modelValue) {\n\n modelValue.consignee.consigneeContactId = 0;\n modelValue.consignee.consigneeContactFullName = '';\n modelValue.consignee.consigneeContactTitle = '';\n modelValue.consignee.consigneeContactFirstName = '';\n modelValue.consignee.consigneeContactLastName = '';\n modelValue.consignee.consigneeContactPhone = '';\n modelValue.consignee.consigneeContactEmail = '';\n\n}\n","export function useMapShipperContact(contact, modelValue) {\n\n modelValue.shipper.shipperContactId = contact.id;\n modelValue.shipper.shipperContactTitle = contact.title;\n modelValue.shipper.shipperContactFirstName = contact.firstName;\n modelValue.shipper.shipperContactLastName = contact.lastName;\n modelValue.shipper.shipperContactPhone = contact.phone;\n modelValue.shipper.shipperContactEmail = contact.email;\n modelValue.shipper.shipperContactDepartment = contact.department;\n modelValue.shipper.shipperContactFullName = contact.value;\n}\n","export function useMapConsigneeContact(contact, modelValue) {\n\n modelValue.consignee.consigneeContactId = contact.id;\n modelValue.consignee.consigneeContactTitle = contact.title;\n modelValue.consignee.consigneeContactFirstName = contact.firstName;\n modelValue.consignee.consigneeContactLastName = contact.lastName;\n modelValue.consignee.consigneeContactPhone = contact.phone;\n modelValue.consignee.consigneeContactEmail = contact.email;\n}\n","export default class ShipperSaveDetail {\n constructor() {\n\n this.id = 0;\n this.name = '';\n this.addressLine1 = '';\n this.addressLine2 = '';\n this.city = '';\n this.county = '';\n this.postCode = '';\n this.country = '';\n this.vatNumber = '';\n this.contacts = [];\n this.isShipperAddress = true;\n }\n}\n","import ShipperSaveDetail from \"@/classes/models/ShipperSaveDetail\";\nimport API from \"@/classes/global/API\";\nimport Notification from \"@/classes/component-classes/Notification\";\nimport store from \"@/store/index\"\n\nexport async function useMapShipperSave(modelValue, route, isNewContact) {\n\n let section = new ShipperSaveDetail();\n\n section.id = modelValue.shipper.id;\n section.name = modelValue.shipper.shipperName ?? '';\n section.addressLine1 = modelValue.shipper.shipperAddressLine1;\n section.addressLine2 = modelValue.shipper.shipperAddressLine2 ?? '';\n section.city = modelValue.shipper.shipperCity ?? '';\n section.county = modelValue.shipper.shipperCounty ?? '';\n section.postCode = modelValue.shipper.shipperPostcode ?? '';\n section.country = modelValue.shipper.shipperCountry.split('-')[0] ?? '';\n section.vatNumber = modelValue.shipper.shipperVatNumber ?? '';\n section.contacts = modelValue.shipper.shipperContacts ?? [];\n section.isShipperAddress = true;\n\n modelValue.isUpdate.shipper = true;\n\n const addressDetail = await API.saveAddress('shipper', section, route)\n\n if (addressDetail) {\n\n store.state.hideLoadingSpinner = true;\n store.state.banners.success = new Notification(true, 'Information Saved Successfully');\n\n try {\n\n modelValue.shipper.id = addressDetail.id;\n modelValue.shipper.shipperContacts = addressDetail.contacts;\n\n // Check if new contact just added, set id from new returned record (last in list)\n if( modelValue.shipper.shipperContactId === 0) {\n\n modelValue.shipper.shipperContactId = addressDetail.contacts[addressDetail.contacts.length - 1].id\n\n }\n\n\n } catch (error) {\n\n //TODO log error\n }\n\n }\n\n\n}\n","import ShipperSaveDetail from \"@/classes/models/ShipperSaveDetail\";\n\nexport default class ConsigneeSaveDetail extends ShipperSaveDetail {\n constructor() {\n super();\n\n }\n\n}\n","import ConsigneeSaveDetail from \"@/classes/models/ConsigneeSaveDetail\";\nimport API from \"@/classes/global/API\";\nimport store from \"@/store\";\nimport Notification from \"@/classes/component-classes/Notification\";\n\nexport async function useMapConsigneeSave(modelValue, route, isNewContact) {\n\n let section = new ConsigneeSaveDetail()\n\n section.id = modelValue.consignee.id;\n section.name = modelValue.consignee.consigneeName ?? '';\n section.addressLine1 = modelValue.consignee.consigneeAddressLine1;\n section.addressLine2 = modelValue.consignee.consigneeAddressLine2;\n section.city = modelValue.consignee.consigneeCity;\n section.county = modelValue.consignee.consigneeCounty;\n section.postCode = modelValue.consignee.consigneePostcode;\n section.country = modelValue.consignee.consigneeCountry.split('-')[0];\n section.vatNumber = modelValue.consignee.consigneeVatNumber;\n section.contacts = modelValue.consignee.consigneeContacts;\n section.isShipperAddress = false;\n\n modelValue.isUpdate.consignee = true;\n\n const addressDetail = await API.saveAddress('consignee', section, route)\n\n if (addressDetail) {\n\n store.state.hideLoadingSpinner = true;\n store.state.banners.success = new Notification(true, 'Information Saved Successfully');\n\n try {\n\n modelValue.consignee.id = addressDetail.id;\n modelValue.consignee.consigneeContacts = addressDetail.contacts;\n\n if(isNewContact) {\n modelValue.consignee.consigneeContactId = addressDetail.contacts[addressDetail.contacts.length -1].id;\n }\n\n } catch (error) {\n\n //TODO log error\n }\n\n }\n}\n","export default class UploadedFileSave {\n constructor() {\n\n this.fileName = '';\n this.file = '';\n this.contentType = '';\n this.encoding = ';'\n\n }\n}\n","import UploadedFileSave from \"@/classes/global/UploadedFileSave\";\n\nexport async function useProcessUploadedFiles(files, modelValue) {\n\n for (const file of files) {\n\n // Convert file size from bytes to megabytes\n let fileSize = Math.round((file.size / 1024 / 1024) * 100) / 100;\n\n if (fileSize < 28) {\n\n let prepareFile = new UploadedFileSave();\n\n const convertFile = await getAsBase64(file);\n const splitFile = convertFile.split(';');\n const getContentType = splitFile[0].split(':');\n const getFile = splitFile[1].split(',');\n\n prepareFile.fileName = file.name;\n prepareFile.contentType = getContentType[1];\n prepareFile.encoding = getFile[0];\n prepareFile.file = getFile[1];\n\n modelValue.files.push(prepareFile)\n\n } else {\n\n // File too big - return back for error message\n return {file: file, value: false};\n }\n\n }\n\n async function getAsBase64(file) {\n\n return await readFile(file)\n }\n\n function readFile(file) {\n\n return new Promise((resolve, reject) => {\n // Create file reader\n let reader = new FileReader()\n\n // Register event listeners\n reader.addEventListener(\"loadend\", e => resolve(e.target.result));\n reader.addEventListener(\"error\", reject);\n\n reader.readAsDataURL(file);\n })\n }\n\n return {name: 'file size ok', value: true};\n\n}\n","export function useTileSelection(tile, modelValue) {\n\n // Get array of the current screen tile selection object keys\n const tilesObj = Object.keys(modelValue.tileSelection);\n\n let currentTile = tilesObj.filter(function (propKey) {\n // Return the current key with the value set to true in the model ( this is the previous tile )\n return modelValue.tileSelection[propKey]\n })\n\n //Check the tile currently active (for when moving from tile to tile)\n\n for (let each in modelValue.tileSelection) {\n\n if (modelValue.tileSelection[each] !== modelValue.tileSelection[tile]) {\n modelValue.tileSelection[each] = false;\n }\n\n }\n\n modelValue.tileSelection[tile] = !modelValue.tileSelection[tile];\n\n return currentTile;\n}\n","export function useResetValidation(dataModel, validationViewModel) {\n\n for(const each in dataModel) {\n\n if(validationViewModel.hasOwnProperty(each)) {\n\n validationViewModel[each].value = false;\n }\n }\n\n}\n","import ShipperDetail from \"@/classes/bookings/ShipperDetail\";\nimport ConsigneeDetail from \"@/classes/bookings/ConsigneeDetail\";\nimport {useResetValidation} from \"@/composables/common/useResetValidation\";\n\nexport function useClearCompany(area, props, validationViewModel) {\n\n props.modelValue.isUpdate[area] = false;\n\n if (area === 'shipper') return props.modelValue.shipper = new ShipperDetail();\n if (area === 'consignee') return props.modelValue.consignee = new ConsigneeDetail();\n\n useResetValidation(props.modelValue[area], validationViewModel.value[props.validationViewModelSection]);\n props.modelValue.tileValidation[area] = true;\n\n}\n","export function useMapContact(contact, modelValue, isShipper, isNewContact) {\n\n if(isShipper) {\n\n contact.title = modelValue.shipper.shipperContactTitle;\n contact.firstName = modelValue.shipper.shipperContactFirstName;\n contact.lastName = modelValue.shipper.shipperContactLastName;\n contact.phone = modelValue.shipper.shipperContactPhone;\n contact.email = modelValue.shipper.shipperContactEmail;\n contact.department = modelValue.shipper.shipperContactDepartment;\n\n // Update the visible dropdown value\n modelValue.shipper.shipperContactFullName = modelValue.shipper.shipperContactTitle + ' '\n + modelValue.shipper.shipperContactFirstName + ' ' + modelValue.shipper.shipperContactLastName;\n\n contact.value = modelValue.shipper.shipperContactTitle + ' '\n + modelValue.shipper.shipperContactFirstName + ' ' + modelValue.shipper.shipperContactLastName;\n\n if(isNewContact) modelValue.shipper.shipperContacts.push(contact)\n\n } else {\n\n contact.title = modelValue.consignee.consigneeContactTitle;\n contact.firstName = modelValue.consignee.consigneeContactFirstName;\n contact.lastName = modelValue.consignee.consigneeContactLastName;\n contact.phone = modelValue.consignee.consigneeContactPhone;\n contact.email = modelValue.consignee.consigneeContactEmail;\n\n modelValue.consignee.consigneeContactFullName = modelValue.consignee.consigneeContactTitle + ' '\n + modelValue.consignee.consigneeContactFirstName + ' ' + modelValue.consignee.consigneeContactLastName;\n\n contact.value = modelValue.consignee.consigneeContactTitle + ' '\n + modelValue.consignee.consigneeContactFirstName + ' ' + modelValue.consignee.consigneeContactLastName;\n\n if(isNewContact) modelValue.consignee.consigneeContacts.push(contact)\n\n }\n\n return contact;\n}\n","\n\n\n
\n Select a Shipper by typing a Company name or postcode to perform a search. You can type a custom\n name in the same box\n and save as a new record, or use as a one off Shipper for the booking if you do not wish to save.\n
Once you have entered Shipper information, you can select an existing contact,\n edit and save the changes.\n
\n
If you wish to add a new contact, fill out a first & last name as a minimum. Any Shipper\n changes are also saved or updated.\n
\n
\n \n \n \n \n
\n
\n
\n
\n
\n
\n
\n \n
\n
\n \n \n \n \n
\n Select a Consignee by typing a Company name or postcode. You can type a custom name in the same box\n and save as a new record, or use as a one off Consignee for the booking.\n
You must select a customer to view the Shipper list....\n Select a Shipper by typing a Company name or postcode. You can type a custom name in the same box\n and save as a new record, or use as a one off Shipper for the booking.\n
Once you have entered Shipper information, you can select an existing contact,\n edit and save the changes.\n
\n
If you wish to add a new contact, fill out a first & last name as a minimum. Any Shipper\n changes are also saved or updated.\n
\n
\n \n \n \n \n
\n
\n
\n \n \n \n \n
\n
\n
\n
\n \n
\n
\n \n \n \n \n
You must select a customer to view the Consignee\n list....\n Select a Consignee by typing a Company name or postcode. You can type a custom name in the same\n box\n and save as a new record, or use as a one off Consignee for the booking.\n
\n Search by completing any field and press any search icon\n or press enter within the field.\n Any fields with data are considered when searching records, some criteria may return no results. Selecting a\n SKU Group will bring new search criteria where available. A search group toggle will appear to view other fields.\n Press Refresh to return the latest records for the current search, or reset the data to initial records.\n
\n \n \n \n
\n
\n Search Group\n \n \n
\n \n \n \n \n \n
\n Click on rows to view each line information\n
\n \n \n \n \n \n
\n \n \n
\n \n \n \n \n
\n
\n
\n
\n \n \n
\n\n\n\n\n","import script from \"./Stock.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./Stock.vue?vue&type=script&setup=true&lang=js\"\n\nimport \"./Stock.vue?vue&type=style&index=0&id=1ec29852&lang=scss\"\n\nconst __exports__ = script;\n\nexport default __exports__","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n","import script from \"./Stock.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./Stock.vue?vue&type=script&setup=true&lang=js\"\n\nconst __exports__ = script;\n\nexport default __exports__","\n\n\n
\n \n
\n
\n \n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n
\n
\n \n \n \n \n \n \n \n \n \n \n
\n \n \n
\n
\n \n
\n \n \n Clear All\n \n \n \n
\n
\n \n \n \n \n
\n \n \n
\n \n \n
\n\n\n\n","import script from \"./BrowseWarehouse.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./BrowseWarehouse.vue?vue&type=script&setup=true&lang=js\"\n\nimport \"./BrowseWarehouse.vue?vue&type=style&index=0&id=b4b06858&lang=scss&scoped=true\"\n\nimport exportComponent from \"/home/vsts/work/1/s/boxtrax2-ui/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-b4b06858\"]])\n\nexport default __exports__","import script from \"./WarehouseJobs.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./WarehouseJobs.vue?vue&type=script&setup=true&lang=js\"\n\nconst __exports__ = script;\n\nexport default __exports__","\n\n\n
\n \n
\n
\n \n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n
\n
\n \n \n \n \n \n \n \n \n \n \n
\n \n \n
\n
\n \n
\n \n \n Clear All\n \n \n \n
\n
\n \n \n \n \n
\n \n \n
\n \n \n
\n\n\n\n","import script from \"./SKUHistory.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./SKUHistory.vue?vue&type=script&setup=true&lang=js\"\n\nimport \"./SKUHistory.vue?vue&type=style&index=0&id=5cdf8d7e&lang=scss&scoped=true\"\n\nimport exportComponent from \"/home/vsts/work/1/s/boxtrax2-ui/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-5cdf8d7e\"]])\n\nexport default __exports__","import script from \"./SKUHistory.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./SKUHistory.vue?vue&type=script&setup=true&lang=js\"\n\nconst __exports__ = script;\n\nexport default __exports__","\n\n\n \n \n \n
\n Select a Consignee by typing a Company name or postcode. You can type a custom name in the same box\n and save as a new record, or use as a one off Consignee for the booking.\n
\n Search by completing any field and press any search icon\n or press enter within\n the field.\n Any fields with data are considered when searching records, some criteria may return no results. Selecting\n a\n SKU Group will bring new search criteria where available. A search group toggle will appear to view other\n fields.\n Press Refresh to return the latest records for the current search, or reset the data to initial records.\n