{"version":3,"sources":["components/Rfqs/Items/FormView/Pricing.jsx","containers/Rfqs/Items/FormView/Pricing.js","components/Rfqs/Items/FormView/index.jsx","containers/Rfqs/Items/FormView/index.js","components/Rfqs/Suppliers/FormView.jsx","containers/Rfqs/Suppliers/FormView.js","components/Rfqs/UpdatePrices/Filter.jsx","containers/Rfqs/UpdatePrices/Filter.js","components/Rfqs/UpdatePrices/index.jsx","containers/Rfqs/UpdatePrices/index.js","components/Rfqs/Items/ConvertToOrder.jsx","containers/Rfqs/Items/ConvertToOrder.js","components/Rfqs/Items/Copy.jsx","containers/Rfqs/Items/Copy.js","components/Rfqs/Items/index.jsx","containers/Rfqs/Items/index.js","components/Rfqs/Suppliers/index.jsx","containers/Rfqs/Suppliers/index.js","components/Rfqs/FormView/SideForm.jsx","containers/Rfqs/FormView/SideForm.js","containers/Rfqs/Forms/FormView.js","components/Rfqs/Forms/FormView.jsx","components/Rfqs/Forms/index.jsx","containers/Rfqs/Forms/index.js","components/Rfqs/FormView/index.jsx","containers/Rfqs/FormView/index.js","../node_modules/copy-to-clipboard/index.js","../node_modules/toggle-selection/index.js","components/SendEmail.jsx"],"names":["createChildListViewComponent","entityName","entityNames","rfqs","childName","allowCreate","self","allowDelete","allowCustomize","allowSearching","allowSelection","allowPagination","tableCellComponents","price","item","_jsx","InputNumber","className","cx","props","userIsInRoleSupplier","min","items","filter","x","map","y","value","onChange","async","produce","draft","isFinite","find","one","id","error","console","warn","readOnly","isReadOnly","currency","comment","_Input","e","target","createChildListViewContainer","actions","extraStateToProps","state","_props$settingsType","settingsType","Component","TAG_TYPES","FormView","React","constructor","_this","super","this","getItemId","_this$state$item","_this$props$linkTarge","_this$props$linkTarge2","linkTargetRecord","rfqItemId","Boolean","fetchItem","itemId","arguments","length","undefined","_this$props$settingsT","newItemParams","responses","Promise","all","getItem","catch","_this$props$onCancel","_this$props","onCancel","call","resourceNotFound","newItem","assetDisplayName","assetId","jobDisplayName","jobId","locationDisplayName","locationId","locationName","operatorDisplayName","operatorId","tagA","tagB","tagC","tagD","tagE","quantity","orderSupplierId","nonStock","quantityIssued","barcode","concat","Date","now","packageSize","userName","user","populated","getSettings","type","getLocations","cloneDeep","data","tagsEnabled","userIsInRoleDistributor","jobs","operators","assets","unitsOfMeasure","coreUserSettings","tagSettings","tag1EnabledPurch","getJobs","jobIds","resolve","tag2EnabledPurch","getOperators","operatorIds","tag3EnabledPurch","getAssets","assetIds","getUnitsOfMeasure","assetName","trimStart","getAsset","then","r","displayName","operatorName","getOperator","jobName","getJob","tagListItems","getTagListItems","tagType","setState","fieldSettings","copyTagValuesToAllItemsClientSettings","locations","get","showError","setItemValue","name","set","form","setFieldsValue","setTagValue","key","pluralize","forEach","camelCase","beforeValidateFields","_operators$items","_jobs$items","_assets$items","promises","uniq","each","push","operator","job","asset","filteredTagListItems","description","toLower","indexOf","handleSubmit","createHandleSubmit","searchOperators","createSearchOperatorTag","searchJobs","createSearchJobTag","searchAssets","createSearchAssetTag","transformSaveItemParams","createOrderItemsTransformSaveItemParams","componentDidMount","render","_this$state$unitsOfMe","_this$state$locations","_item$supplierDetails","_operators$items2","_jobs$items3","_assets$items3","customer","siblingRecords","_Spin","createLabel","createLabelFactory","createFieldDecorator","createFieldFactory","some","tagsReadOnly","barcodeDisabled","_jsxs","_Form","layout","colon","onSubmit","stopEvent","children","ValidationError","errors","validationErrors","_Tabs","activeKey","tabsActiveKey","TabPane","tab","t","forceRender","Row","Col","half","Item","label","extraRules","validateBarcode","validateDuplicateBarcode","disabled","orderSupplierName","packageSizeUom","xs","Select","Option","allowClear","getOptionProps","Math","max","itemOrdered","formatUserTime","orderDate","orderBy","HARD_SPACE","valuePropName","Checkbox","Pricing","supplierDetails","_this$props$parentRec","parentRecord","rfqSupplierItems","supplierId","displaySupplier","values","tag2Enabled","tag2","getFieldDecorator","rules","tag2Required","required","message","initialValue","validateTrigger","AutoComplete","defaultActiveFirstOption","dataSource","dropdownRender","createDropdownRender","onSearch","onPressEnter","autoComplete","suffix","Suffix","tag1Enabled","tag1","tag1Required","tag1Restricted","validator","rule","callback","_jobs$items2","isEmpty","includes","Error","tag3Enabled","tag3","tag3Required","tag3Restricted","_assets$items2","enum","filterOption","filterByValue","_Button","onClick","_Fragment","_Tooltip","title","placement","htmlType","loading","saveAndCloseButtonLoading","create","createChildFormViewContainer","extraDispatchToProps","dispatch","params","locationActions","getItems","locationVendingTypes","jobActions","operatorActions","assetActions","tagListActions","getOptions","unitsOfMeasureActions","getSuppliers","supplierActions","pageIndex","pageSize","active","findByBarcode","productActions","createChildItemsDispatchToProps","supplierDetailActions","supplierName","supplierContact","supplierPhone","supplierEmail","DatePicker","placeholder","Filter","setFilterValue","createSetFilterValue","_this$props$items","filterDto","third","uniqBy","checked","showDifferencesOnly","Help","connect","createChildListModalComponent","getStorageKey","getSettingsType","initialFilterDto","filterItems","_self$state$filterDto","newPrice","getRowSelectionCheckboxProps","record","createChildListModalContainer","getSupplierDetailsSettings","CHECKBOXES","OrderForm","linkTargets","orderRecord","formComponent","_parentRecord$rfqItem","_parentRecord$rfqSupp","selectedRowKeys","selectedRfqItems","rfqItems","updateState","useImmer","modalVisible","getStorageItem","path","handleOrderFormClose","drawerVisible","window","setTimeout","onCreatedOrderDrawerClose","setStorageItem","reduce","acc","Modal","visible","okText","onOk","newOrder","populateOrderItems","_each$supplierDetails","_each$supplierDetails2","quantityOrdered","rfqId","orderItems","source","sourceIdNumber","sourceItemId","orderItemId","timeScanned","toJSON","serverTimeScanned","supplierIds","suppliers","Set","getSupplier","purchaseOrderNumbers","generatePurchaseOrderNumber","orderId","next","orderSuppliers","adjustments","confirmedDescription","freight","purchaseOrderNumber","shippingInstructions","Object","assign","calculateOrderTotals","response","saveOrder","order","creating","showClientNotifications","failureCount","addRfqDocumentsToOrder","copied","copyAllObjectDocuments","sourceRequest","domainObjectId","domainObjectType","destinationRequest","drawerSaving","onCreateOrder","okButtonProps","isNil","modalOkButtonLoading","Drawer","size","formSize","onClose","saving","onSave","pending","onSaveAndClose","mapStateToProps","createAuthStateToProps","mapDispatchToProps","memoize","orderActions","orderItemActions","orderSupplierActions","documentActions","parentHasUnsavedChanges","_message","unset","pick","productId","inventoryBarcode","itemNumber","binLocation","manufacturer","generalSettings","addNonStockToProducts","unitOfMeasure","taxable","taxableDescription","expedite","deliveryDate","locationBarcode","sourceCatalogName","assetBarcode","rfqSuppliers","supplierPosition","freightCost","promiseDate","saveRfq","rfq","Icon","rfqRecord","getBestPrice","_ref","_record$supplierDetai","getBestSupplierIds","_ref2","totals","supplier","_each$price","best","index","_suppliers$index","createButtonTextId","createButtonLinkTarget","primaryLinkTarget","getUserPermission","extraRowActions","Copy","status","convertToOrderVisible","ConvertToOrder","row","tableHeadGroups","_self$props$parentRec","_self$props$parentRec2","dataIndex","width","_","extraTableButtons","addSupplierToRfqVisible","addSupplierToRfqRecords","bold","addSupplierToRfqLoading","_self$props$onChange","_self$props","siblings","before","seed","contactName","contactEmail","contactPhone","rfqSupplierId","take","added","Emitter","emit","LIST_MODAL_CLEAR_SELECTION","cancelText","SelectSupplier","onSelect","filterProps","mode","createSideFormComponent","searchLanguageKey","addItemLanguageKey","addItemsLanguageKey","addItemSuccessLanguageKey","submitButtonLanguageKey","tagSettingsEnabledSuffix","dropDownButtonMenuItems","useInventoryBarcode","_Menu","dropdownButtonMenuClickHandler","_self$handlePunchoutC","_self$handleAddFromLi","_self$handleAddFromFi","handlePunchoutClick","handleAddFromListClick","handleAddFromFileClick","Search","createSideFormContainer","getBarcodes","createFormViewContainer","updateStatus","formInstanceId","submitItem","getUsers","userActions","getFormTemplate","formTemplateId","formTemplateActions","createFormInstanceAttachmentsDispatchToProps","objectType","objectId","createDisabled","getDeleteButtonTooltip","handleFormChange","formHasChanged","prioritizeRfqItemsSupplierDetails","promiseState","saveState","_this$props$linkTarge3","relatedRfqId","_this$props$filterDto","_this$props$filterDto2","targetTenantId","tenantId","_this$props$filterDto3","_this$props$filterDto4","customerId","documentItems","shipToAddressList","formInstanceItems","getDocumentItems","request","documentType","getAddressList","getRfqItems","getRfqSupplierItems","getFormInstanceItems","populatedRfqItems","timestamp","itemOriginal","documentItemsOriginal","rfqItemsOriginal","rfqItemsTotals","rfqSupplierItemsOriginal","formInstanceItemsOriginal","refetchItem","_this$props$onCancel2","_this$props2","taxRate","saveItem","_this$props$filterDto5","_this$props$filterDto6","clientNotifications","getChangedItems","saveDocumentItems","_error$data$clientNot","_error$data","handleSideFormSubmit","sideFormState","_params$asset$barcode","_params$asset","_params$asset2","_params$asset$name","_params$asset3","_params$asset4","_params$job","_params$job$name","_params$job2","_params$job3","_params$job$barcode","_params$job4","_params$location","_params$location$name","_params$location2","_params$location$barc","_params$location3","_params$operator","_params$operator$name","_params$operator2","_params$operator3","_params$operator$barc","_params$operator4","sideFormLoading","formButtonsDisabled","populateRfqItems","assetNumber","number","jobNumber","jobBarcode","location","operatorNumber","operatorBarcode","unshift","recalculateQuantity","repopulateRfqItems","_response$value$data$","handleRfqItemsChange","changed","copyTagValuesToAllItems","tagValues","getTagFieldNames","otherItems","rfqItemsLoading","invokeAction","_this$props$onSave","_this$props3","invoke","action","_error$data$clientNot2","_error$data2","_this$props$onSave2","_this$props4","handleActionsMenuClick","hasUnsavedChanges","parentId","acceptMimeType","pageTitle","fileExtension","getFileExtension","getSupplierPrices","updatePricesItems","updatePricesVisible","updatePricesRecords","confirm","autoFocusButton","content","okType","_this$props$onSaveAnd","_this$props5","deleteRfq","sendEmailVisible","confirmUnsavedChanges","history","encodeState","search","str","searchFields","searchType","showFilter","dateRange","dateRangeType","lastNValue","printItem","getFieldsValue","printVisible","invokeExtraAction","_this$props$onSave3","_this$props6","_this$props$onSave4","_this$props7","_this$props$filterDto7","_this$props$filterDto8","_this$props$onSave5","_this$props8","_this$state$item2","isEqual","handleAddFromList","_params$assets$items","_params$assets","_params$jobs$items","_params$jobs","_params$locations$ite","_params$locations","_params$operators$ite","_params$operators","addFromListLoading","addFromListItems","_asset$name","_job$name","_job$barcode","_location$name","_operator$name","locationNumber","success","handleSendEmailSubmit","_this$state$item3","_this$state$rfqItems","sendEmailLoading","emailRfq","recipients","handleRfqSuppliersItemsChange","rfqItem","_existing$price","existing","printableRef","createSaveDocumentItems","debounce","DEBOUNCE","resetState","createResetState","requireQuantity","saveFormInstances","createSaveFormInstances","refreshFormInstances","createRefreshFormInstances","on","FORM_INSTANCES_REFRESH","FORM_CHANGE_EVENT","componentWillUnmount","off","_this$props$filterDto9","_this$props$filterDto10","_this$state$shipToAdd","_this$state$rfqItems2","_this$state$rfqItemsT","_this$state$rfqSuppli","_this$state$rfqSuppli2","_this$state$documentI","_this$state$formInsta","userIsDcribDistributor","quickscan","extraButtonsDisabled","saveButtonLoading","_Dropdown","overlay","SubMenu","Divider","trigger","ClientNotifications","notifications","lg","createDate","statusName","defaultActiveKey","rfqNumber","validateMultipleEmails","Comments","customerComment","rows","RfqItems","pageTotals","downloadItems","downloadRfqItems","RfqSuppliers","Documents","FormInstancesContext","Provider","FormInstances","FormButtons","userAuthorizedForAllLocations","sendRfqButtonLoading","resendRfqButtonLoading","reopenRfqButtonLoading","sideDrawer","BadgeContainer","_Badge","count","showDataEntrySettings","SideForm","onSubmitting","onPunchout","onAddFromList","footer","SendEmail","updatePricesLoading","updatePrices","UpdatePrices","createPrintHandler","resetPrintHandler","ref","Print","flow","withRouter","onValuesChange","_len","Array","_key","rfqItemActions","options","deleteItem","cancelRfq","closeRfq","sendRfq","resendRfq","reopenRfq","createDocumentsDispatchToProps","rfqSupplierActions","createLinkedItemsDispatchToProps","formInstanceActions","deselectCurrent","require","clipboardToIE11Formatting","module","exports","text","debug","reselectPrevious","range","selection","mark","document","createRange","getSelection","createElement","textContent","ariaHidden","style","position","top","clip","whiteSpace","webkitUserSelect","MozUserSelect","msUserSelect","userSelect","addEventListener","stopPropagation","format","preventDefault","clipboardData","clearData","setData","onCopy","body","appendChild","selectNodeContents","addRange","execCommand","err","copyKey","test","navigator","userAgent","replace","prompt","removeRange","removeAllRanges","removeChild","rangeCount","activeElement","ranges","i","getRangeAt","tagName","toUpperCase","blur","focus","selectRecipientsRef","setRecipients","validateFields","_props$onSubmit","showValidationError","resetFields","_selectRecipientsRef$","_selectRecipientsRef$2","current","_Modal","copyToClipboard","join","tokenSeparators","maxTagCount","autoFocus"],"mappings":"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","file":"static/js/7.34102e7b.chunk.js","sourcesContent":["import { min } from 'lodash'\r\nimport cx from 'clsx'\r\nimport produce from 'immer'\r\nimport { Input } from 'antd'\r\nimport { createChildListViewComponent } from 'factories/ChildListView'\r\nimport entityNames from 'options/entityNames'\r\nimport { isReadOnly } from 'helpers/formViews'\r\nimport InputNumber from 'elements/InputNumber'\r\n\r\nexport default createChildListViewComponent({\r\n entityName: entityNames.rfqs,\r\n childName: 'rfqItemSupplierDetails',\r\n allowCreate: (self) => false,\r\n allowDelete: (self) => false,\r\n allowCustomize: (self) => false,\r\n allowSearching: (self) => false,\r\n allowSelection: (self) => false,\r\n allowPagination: (self) => false,\r\n tableCellComponents: {\r\n price: (self, item) => (\r\n x.price > 0).map((y) => y.price)) === item.price,\r\n })}\r\n value={item.price}\r\n onChange={async (value) => {\r\n try {\r\n await self.props.onChange(\r\n produce(self.props.items, (draft) => {\r\n if (isFinite(value)) {\r\n draft.find((one) => one.id === item.id).price = value\r\n }\r\n })\r\n )\r\n } catch (error) {\r\n console.warn(error)\r\n }\r\n }}\r\n min={0}\r\n readOnly={isReadOnly(self)}\r\n currency\r\n />\r\n ),\r\n comment: (self, item) => (\r\n {\r\n try {\r\n await self.props.onChange(\r\n produce(self.props.items, (draft) => {\r\n draft.find((one) => one.id === item.id).comment = e.target.value\r\n })\r\n )\r\n } catch (error) {\r\n console.warn(error)\r\n }\r\n }}\r\n readOnly={isReadOnly(self)}\r\n />\r\n ),\r\n },\r\n})()\r\n","import { createChildListViewContainer } from 'factories/ChildListView'\r\nimport actions from 'actions/rfqs/rfqItems'\r\nimport Component from 'components/Rfqs/Items/FormView/Pricing'\r\n\r\nexport default createChildListViewContainer({\r\n actions,\r\n extraStateToProps: (state, props) => ({\r\n settingsType: props.settingsType ?? 'rfqItemSupplierDetail',\r\n }),\r\n})(Component)\r\n","import * as React from 'react'\r\nimport { Form, Spin, Button, Tabs, Input, Tooltip } from 'antd'\r\nimport { set, get, uniq, toLower, cloneDeep, camelCase, trimStart, isEmpty } from 'lodash'\r\nimport produce from 'immer'\r\nimport pluralize from 'pluralize'\r\nimport { showError, resourceNotFound, ValidationError } from 'helpers/errors'\r\nimport {\r\n createLabelFactory,\r\n createFieldFactory,\r\n createHandleSubmit,\r\n createDropdownRender,\r\n createSearchOperatorTag,\r\n createSearchJobTag,\r\n createSearchAssetTag,\r\n filterByValue,\r\n isReadOnly,\r\n validateBarcode,\r\n validateDuplicateBarcode,\r\n} from 'helpers/formViews'\r\nimport { HARD_SPACE } from 'helpers/utils'\r\nimport { stopEvent } from 'helpers/events'\r\nimport { copyTagValuesToAllItemsClientSettings, createOrderItemsTransformSaveItemParams } from 'helpers/procurement'\r\nimport { formatUserTime } from 'helpers/dateTime'\r\nimport { t } from 'helpers/i18n'\r\nimport AutoComplete, { Suffix } from 'elements/AutoComplete'\r\nimport Pricing from 'containers/Rfqs/Items/FormView/Pricing'\r\nimport Select, { Option, getOptionProps } from 'elements/Select'\r\nimport Checkbox from 'elements/Checkbox'\r\nimport InputNumber from 'elements/InputNumber'\r\nimport { Row, Col } from 'elements/Grid'\r\n\r\nconst TAG_TYPES = ['2', '1', '3', 'A', 'B', 'C', 'D', 'E']\r\n\r\nclass FormView extends React.Component {\r\n state = {}\r\n\r\n constructor(props) {\r\n super(props)\r\n\r\n this.handleSubmit = createHandleSubmit(this)\r\n this.searchOperators = createSearchOperatorTag(this)\r\n this.searchJobs = createSearchJobTag(this)\r\n this.searchAssets = createSearchAssetTag(this)\r\n this.transformSaveItemParams = createOrderItemsTransformSaveItemParams(this)\r\n }\r\n\r\n componentDidMount() {\r\n this.fetchItem()\r\n }\r\n\r\n getItemId = () =>\r\n [this.state.item?.id, this.props.linkTargetRecord?.rfqItemId, this.props.linkTargetRecord?.id].find(Boolean)\r\n\r\n fetchItem = async ({ itemId = this.getItemId() } = {}) => {\r\n try {\r\n const { newItemParams = {} } = this.props\r\n const responses = await Promise.all([\r\n itemId\r\n ? this.props.getItem(itemId).catch((error) => {\r\n this.props.onCancel?.()\r\n throw error\r\n })\r\n : !this.props.linkTargetRecord\r\n ? this.props.newItem({\r\n assetDisplayName: newItemParams.assetDisplayName,\r\n assetId: newItemParams.assetId,\r\n jobDisplayName: newItemParams.jobDisplayName,\r\n jobId: newItemParams.jobId,\r\n locationDisplayName: newItemParams.locationDisplayName,\r\n locationId: newItemParams.locationId,\r\n locationName: newItemParams.locationName,\r\n operatorDisplayName: newItemParams.operatorDisplayName,\r\n operatorId: newItemParams.operatorId,\r\n tagA: newItemParams.tagA,\r\n tagB: newItemParams.tagB,\r\n tagC: newItemParams.tagC,\r\n tagD: newItemParams.tagD,\r\n tagE: newItemParams.tagE,\r\n quantity: newItemParams.quantity || 1,\r\n orderSupplierId: 0,\r\n nonStock: true,\r\n quantityIssued: 0,\r\n price: 0,\r\n barcode: `SO${Date.now() * 10000 + 621355968000000000}`,\r\n packageSize: 1,\r\n userName: this.props.user.userName,\r\n populated: false,\r\n })\r\n : resourceNotFound(this),\r\n this.props.getSettings({ type: this.props.settingsType ?? 'rfq' }),\r\n this.props.getLocations(),\r\n ])\r\n\r\n const item = cloneDeep(responses[0].value.data)\r\n const tagsEnabled = !this.props.userIsInRoleSupplier && !this.props.userIsInRoleDistributor\r\n\r\n const [jobs, operators, assets, unitsOfMeasure] = await Promise.all([\r\n tagsEnabled && this.props.user.coreUserSettings.tagSettings.tag1EnabledPurch\r\n ? this.props.getJobs({ jobIds: item.jobId ? [item.jobId] : [] })\r\n : Promise.resolve(null),\r\n tagsEnabled && this.props.user.coreUserSettings.tagSettings.tag2EnabledPurch\r\n ? this.props.getOperators({ operatorIds: item.operatorId ? [item.operatorId] : [] })\r\n : Promise.resolve(null),\r\n tagsEnabled && this.props.user.coreUserSettings.tagSettings.tag3EnabledPurch\r\n ? this.props.getAssets({ assetIds: item.assetId ? [item.assetId] : [] })\r\n : Promise.resolve(null),\r\n item.id > 0 ? Promise.resolve(null) : this.props.getUnitsOfMeasure(),\r\n ])\r\n\r\n const assetName = trimStart(item.assetName, '*')\r\n item.assetDisplayName = item.assetId\r\n ? await this.props\r\n .getAsset(item.assetId)\r\n .then((r) => r.value.data.displayName)\r\n .catch(() => assetName)\r\n : assetName\r\n\r\n const operatorName = trimStart(item.operatorName, '*')\r\n item.operatorDisplayName = item.operatorId\r\n ? await this.props\r\n .getOperator(item.operatorId)\r\n .then((r) => r.value.data.displayName)\r\n .catch(() => operatorName)\r\n : operatorName\r\n\r\n const jobName = trimStart(item.jobName, '*')\r\n item.jobDisplayName = item.jobId\r\n ? await this.props\r\n .getJob(item.jobId)\r\n .then((r) => r.value.data.displayName)\r\n .catch(() => jobName)\r\n : jobName\r\n const tagListItems = await (tagsEnabled ? this.props.getTagListItems({ tagType: 'All' }) : Promise.resolve(null))\r\n\r\n this.setState({\r\n item,\r\n fieldSettings: [...responses[1].value.data.fieldSettings, copyTagValuesToAllItemsClientSettings],\r\n locations: get(responses[2], 'value.data.items', []),\r\n jobs: get(jobs, 'value.data', {}),\r\n operators: get(operators, 'value.data', {}),\r\n assets: get(assets, 'value.data', {}),\r\n tagListItems: get(tagListItems, 'value.data.items', []),\r\n unitsOfMeasure: get(unitsOfMeasure, 'value.data.items', []),\r\n })\r\n } catch (error) {\r\n showError({ error })\r\n }\r\n }\r\n\r\n setItemValue = (name, value) =>\r\n this.setState(\r\n produce((draft) => {\r\n set(draft.item, name, value)\r\n\r\n this.props.form.setFieldsValue({ [name]: value })\r\n })\r\n )\r\n\r\n setTagValue = (key, value) =>\r\n this.setState(\r\n produce((draft) => {\r\n const item = get(draft, `${pluralize(key)}.items`, []).find((one) => one.displayName === value)\r\n\r\n set(draft, `item.${key}DisplayName`, value)\r\n ;['id', 'barcode', 'name', 'number'].forEach((one) => {\r\n set(draft, `item.${camelCase(`${key}-${one}`)}`, get(item, one))\r\n })\r\n\r\n set(draft, key, item)\r\n\r\n this.props.form.setFieldsValue({ [`${key}DisplayName`]: value })\r\n })\r\n )\r\n\r\n beforeValidateFields = () => {\r\n const promises = []\r\n const { item, tagListItems, operators, jobs, assets } = this.state\r\n const { operatorDisplayName, jobDisplayName, assetDisplayName } = item\r\n\r\n if (\r\n operatorDisplayName &&\r\n this.props.user.coreUserSettings.tagSettings.tag2EnabledPurch &&\r\n uniq((operators?.items ?? []).map((each) => each.displayName)).length === 1\r\n ) {\r\n promises.push(\r\n new Promise((resolve) => {\r\n this.setState(\r\n produce((draft) => {\r\n const operator = operators.items[0]\r\n\r\n ;['id', 'barcode', 'displayName', 'name', 'number'].forEach((one) => {\r\n set(draft.item, camelCase(`operator-${one}`), operator[one])\r\n })\r\n\r\n this.props.form.setFieldsValue({ operatorDisplayName: draft.item.operatorDisplayName })\r\n }),\r\n resolve\r\n )\r\n })\r\n )\r\n }\r\n\r\n if (\r\n jobDisplayName &&\r\n this.props.user.coreUserSettings.tagSettings.tag1EnabledPurch &&\r\n uniq((jobs?.items ?? []).map((each) => each.displayName)).length === 1\r\n ) {\r\n promises.push(\r\n new Promise((resolve) => {\r\n this.setState(\r\n produce((draft) => {\r\n const job = jobs.items[0]\r\n\r\n ;['id', 'barcode', 'displayName', 'name', 'number'].forEach((one) => {\r\n set(draft.item, camelCase(`job-${one}`), job[one])\r\n })\r\n\r\n this.props.form.setFieldsValue({ jobDisplayName: draft.item.jobDisplayName })\r\n }),\r\n resolve\r\n )\r\n })\r\n )\r\n }\r\n\r\n if (\r\n assetDisplayName &&\r\n this.props.user.coreUserSettings.tagSettings.tag3EnabledPurch &&\r\n uniq((assets?.items ?? []).map((each) => each.displayName)).length === 1\r\n ) {\r\n promises.push(\r\n new Promise((resolve) => {\r\n this.setState(\r\n produce((draft) => {\r\n const asset = assets.items[0]\r\n\r\n ;['id', 'barcode', 'displayName', 'name', 'number'].forEach((one) => {\r\n set(draft.item, camelCase(`asset-${one}`), asset[one])\r\n })\r\n\r\n this.props.form.setFieldsValue({ assetDisplayName: draft.item.assetDisplayName })\r\n }),\r\n resolve\r\n )\r\n })\r\n )\r\n }\r\n\r\n ;['A', 'B', 'C', 'D', 'E'].forEach((type) => {\r\n if (this.props.user.coreUserSettings.tagSettings[`tag${type}EnabledPurch`]) {\r\n const filteredTagListItems = tagListItems\r\n .filter((each) => each.tagType === type)\r\n .map((each) => each.description)\r\n .filter((each) => toLower(each).indexOf(toLower(get(item, `tag${type}`))) > -1)\r\n\r\n if (filteredTagListItems.length === 1) {\r\n promises.push(\r\n new Promise((resolve) => {\r\n this.setState(\r\n produce((draft) => {\r\n set(draft, `item.tag${type}`, filteredTagListItems[0])\r\n\r\n this.props.form.setFieldsValue({ [`tag${type}`]: filteredTagListItems[0] })\r\n }),\r\n resolve\r\n )\r\n })\r\n )\r\n }\r\n }\r\n })\r\n\r\n return Promise.all(promises)\r\n }\r\n\r\n render() {\r\n const { customer, user, siblingRecords = [], userIsInRoleSupplier } = this.props\r\n const { item, fieldSettings, operators, jobs, assets, tagListItems } = this.state\r\n\r\n if (!item || !fieldSettings) {\r\n return \r\n }\r\n\r\n const createLabel = createLabelFactory(fieldSettings)\r\n const createFieldDecorator = createFieldFactory(this.props.form, item, fieldSettings)\r\n\r\n const readOnly = isReadOnly(this)\r\n const tagsEnabled =\r\n !this.props.userIsInRoleSupplier &&\r\n !this.props.userIsInRoleDistributor &&\r\n TAG_TYPES.some((type) => get(user, `coreUserSettings.tagSettings.tag${type}EnabledPurch`))\r\n const tagsReadOnly = this.props.userIsInRoleSupplier || this.props.userIsInRoleDistributor\r\n const barcodeDisabled = !item.nonStock || item.id > 0\r\n\r\n return (\r\n
\r\n
\r\n \r\n this.setState({ tabsActiveKey })}\r\n >\r\n \r\n \r\n \r\n \r\n {createFieldDecorator(\r\n 'barcode',\r\n !barcodeDisabled\r\n ? {\r\n extraRules: [validateBarcode(), validateDuplicateBarcode({ item, siblingRecords })],\r\n }\r\n : undefined\r\n )()}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {createFieldDecorator('itemNumber')()}\r\n \r\n \r\n \r\n \r\n {createFieldDecorator('description')()}\r\n \r\n \r\n \r\n {item.id > 0 ? (\r\n \r\n \r\n \r\n ) : (\r\n \r\n 0) ? 12 : 24}>\r\n \r\n \r\n \r\n \r\n {item.nonStock && !(item.id > 0) && (\r\n \r\n \r\n {createFieldDecorator('unitOfMeasure')(\r\n this.setItemValue('unitOfMeasure', value)}\r\n readOnly={readOnly || userIsInRoleSupplier}\r\n >\r\n {(this.state.unitsOfMeasure ?? []).map((each) => (\r\n \r\n ))}\r\n \r\n )}\r\n \r\n \r\n )}\r\n \r\n )}\r\n {userIsInRoleSupplier ? (\r\n \r\n \r\n \r\n ) : (\r\n \r\n {createFieldDecorator('locationId')(\r\n \r\n )}\r\n \r\n )}\r\n \r\n \r\n \r\n {createFieldDecorator('quantity')(\r\n this.setItemValue('quantity', Math.max(value, 1))}\r\n readOnly={readOnly || userIsInRoleSupplier}\r\n min={1}\r\n />\r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {createFieldDecorator('manufacturer')()}\r\n \r\n \r\n {createFieldDecorator('binLocation')()}\r\n \r\n \r\n \r\n \r\n {createFieldDecorator('expedite', { valuePropName: 'checked' })(\r\n {createLabel('expedite')}\r\n )}\r\n \r\n \r\n \r\n \r\n {createFieldDecorator('taxable', { valuePropName: 'checked' })(\r\n {createLabel('taxable')}\r\n )}\r\n \r\n \r\n \r\n \r\n {createFieldDecorator('nonInventory', { valuePropName: 'checked' })(\r\n 0}>\r\n {createLabel('nonInventory')}\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n this.props.parentRecord.rfqSupplierItems.find((one) => one.supplierId === each.supplierId)\r\n ?.displaySupplier\r\n )\r\n .map((each) => ({\r\n ...each,\r\n id: each.supplierId,\r\n }))}\r\n onChange={(values) =>\r\n this.setState(\r\n produce((draft) => {\r\n draft.item.supplierDetails = values\r\n })\r\n )\r\n }\r\n readOnly={readOnly}\r\n />\r\n \r\n {tagsEnabled && (\r\n \r\n \r\n \r\n {user.coreUserSettings.tagSettings.tag2Enabled && (\r\n \r\n {this.props.form.getFieldDecorator('operatorDisplayName', {\r\n rules: [\r\n ...(customer.tagSettings.tag2Required\r\n ? [\r\n {\r\n required: true,\r\n message: t('requiredField'),\r\n },\r\n ]\r\n : []),\r\n ],\r\n initialValue: item.operatorDisplayName,\r\n validateTrigger: false,\r\n })(\r\n each.displayName)}\r\n dropdownRender={createDropdownRender(operators)}\r\n onChange={(value) => this.setTagValue('operator', value)}\r\n onSearch={this.searchOperators}\r\n readOnly={readOnly || tagsReadOnly}\r\n >\r\n }\r\n readOnly={readOnly || tagsReadOnly}\r\n allowClear\r\n />\r\n \r\n )}\r\n \r\n )}\r\n {user.coreUserSettings.tagSettings.tag1Enabled && (\r\n \r\n {this.props.form.getFieldDecorator('jobDisplayName', {\r\n rules: [\r\n ...(customer.tagSettings.tag1Required\r\n ? [\r\n {\r\n required: true,\r\n message: t('requiredField'),\r\n },\r\n ]\r\n : []),\r\n ...(customer.tagSettings.tag1Restricted\r\n ? [\r\n {\r\n validator: (rule, value, callback) => {\r\n callback(\r\n isEmpty(value) ||\r\n (jobs?.items ?? []).map((each) => each.displayName).includes(value)\r\n ? []\r\n : [new Error(t('invalidValueEntered'))]\r\n )\r\n },\r\n },\r\n ]\r\n : []),\r\n ],\r\n initialValue: item.jobDisplayName,\r\n validateTrigger: false,\r\n })(\r\n each.displayName)}\r\n dropdownRender={createDropdownRender(jobs)}\r\n onChange={(value) => this.setTagValue('job', value)}\r\n onSearch={this.searchJobs}\r\n readOnly={readOnly || tagsReadOnly}\r\n >\r\n }\r\n readOnly={readOnly || tagsReadOnly}\r\n allowClear\r\n />\r\n \r\n )}\r\n \r\n )}\r\n {user.coreUserSettings.tagSettings.tag3Enabled && (\r\n \r\n {this.props.form.getFieldDecorator('assetDisplayName', {\r\n rules: [\r\n ...(customer.tagSettings.tag3Required\r\n ? [\r\n {\r\n required: true,\r\n message: t('requiredField'),\r\n },\r\n ]\r\n : []),\r\n ...(customer.tagSettings.tag3Restricted\r\n ? [\r\n {\r\n validator: (rule, value, callback) => {\r\n callback(\r\n isEmpty(value) ||\r\n (assets?.items ?? []).map((each) => each.displayName).includes(value)\r\n ? []\r\n : [new Error(t('invalidValueEntered'))]\r\n )\r\n },\r\n },\r\n ]\r\n : []),\r\n ],\r\n initialValue: item.assetDisplayName,\r\n validateTrigger: false,\r\n })(\r\n each.displayName)}\r\n dropdownRender={createDropdownRender(assets)}\r\n onChange={(value) => this.setTagValue('asset', value)}\r\n onSearch={this.searchAssets}\r\n readOnly={readOnly || tagsReadOnly}\r\n >\r\n }\r\n readOnly={readOnly || tagsReadOnly}\r\n allowClear\r\n />\r\n \r\n )}\r\n \r\n )}\r\n {['A', 'B', 'C', 'D', 'E'].map(\r\n (type) =>\r\n user.coreUserSettings.tagSettings[`tag${type}Enabled`] && (\r\n \r\n {this.props.form.getFieldDecorator(`tag${type}`, {\r\n rules: [\r\n ...(customer.tagSettings[`tag${type}Required`]\r\n ? [\r\n {\r\n required: true,\r\n message: t('requiredField'),\r\n },\r\n ]\r\n : []),\r\n ...(customer.tagSettings[`tag${type}Restricted`]\r\n ? [\r\n {\r\n type: 'enum',\r\n enum: tagListItems\r\n .filter((each) => each.tagType === type)\r\n .map((each) => each.description),\r\n message: t('invalidValueEntered'),\r\n },\r\n ]\r\n : []),\r\n ],\r\n initialValue: get(item, `tag${type}`),\r\n validateTrigger: false,\r\n })(\r\n customer.tagSettings[`tag${type}ShowList`] ? (\r\n each.tagType === type)\r\n .map((each) => each.description)}\r\n filterOption={filterByValue}\r\n onChange={(value) => this.setItemValue(`tag${type}`, value)}\r\n readOnly={readOnly || tagsReadOnly}\r\n >\r\n }\r\n readOnly={readOnly || tagsReadOnly}\r\n allowClear\r\n />\r\n \r\n ) : (\r\n \r\n )\r\n )}\r\n \r\n )\r\n )}\r\n \r\n {!readOnly && !tagsReadOnly ? (\r\n \r\n \r\n {createFieldDecorator('copyTagValuesToAllItems', { valuePropName: 'checked' })(\r\n {createLabel('copyTagValuesToAllItems')}\r\n )}\r\n \r\n \r\n ) : null}\r\n \r\n \r\n )}\r\n \r\n
\r\n
\r\n {readOnly ? (\r\n \r\n ) : (\r\n <>\r\n {' '}\r\n \r\n \r\n \r\n \r\n )}\r\n
\r\n
\r\n )\r\n }\r\n}\r\n\r\nexport default Form.create()(FormView)\r\n","import actions from 'actions/rfqs/rfqItems'\r\nimport locationActions from 'actions/locations'\r\nimport supplierActions from 'actions/suppliers'\r\nimport assetActions from 'actions/assets'\r\nimport jobActions from 'actions/jobs'\r\nimport operatorActions from 'actions/operators'\r\nimport tagListActions from 'actions/tagLists'\r\nimport unitsOfMeasureActions from 'actions/unitsOfMeasure'\r\nimport { createChildFormViewContainer } from 'factories/ChildFormView'\r\nimport { createChildItemsDispatchToProps } from 'helpers/formViews'\r\nimport supplierDetailActions from 'actions/products/supplierDetails'\r\nimport productActions from 'actions/products'\r\nimport Component from 'components/Rfqs/Items/FormView'\r\n\r\nexport default createChildFormViewContainer({\r\n actions,\r\n extraDispatchToProps: (dispatch, props) => ({\r\n getLocations: (params) =>\r\n dispatch(locationActions.getItems({ ...params, locationVendingTypes: ['NonVending'] })),\r\n getJob: (jobId) => dispatch(jobActions.getItem(jobId)),\r\n getOperator: (operatorId) => dispatch(operatorActions.getItem(operatorId)),\r\n getAsset: (assetId) => dispatch(assetActions.getItem(assetId)),\r\n getTagListItems: (params) => dispatch(tagListActions.getOptions(params)),\r\n getUnitsOfMeasure: (params) => dispatch(unitsOfMeasureActions.getOptions(params)),\r\n getSuppliers: (params) =>\r\n dispatch(\r\n supplierActions.getOptions({\r\n pageIndex: 1,\r\n pageSize: 100,\r\n ...params,\r\n active: 'Active',\r\n })\r\n ),\r\n getAssets: (params) =>\r\n dispatch(\r\n assetActions.getOptions({\r\n pageIndex: 1,\r\n pageSize: 100,\r\n ...params,\r\n })\r\n ),\r\n getJobs: (params) =>\r\n dispatch(\r\n jobActions.getOptions({\r\n pageIndex: 1,\r\n pageSize: 100,\r\n ...params,\r\n })\r\n ),\r\n getOperators: (params) =>\r\n dispatch(\r\n operatorActions.getOptions({\r\n pageIndex: 1,\r\n pageSize: 100,\r\n ...params,\r\n active: 'Active',\r\n })\r\n ),\r\n findByBarcode: (params) => dispatch(productActions.findByBarcode(params)),\r\n ...createChildItemsDispatchToProps(dispatch, 'SupplierDetail', supplierDetailActions),\r\n }),\r\n})(Component)\r\n","import * as React from 'react'\r\nimport { Form, Input, Spin, Button, Tooltip } from 'antd'\r\nimport { showError, resourceNotFound, ValidationError } from 'helpers/errors'\r\nimport { createLabelFactory, createFieldFactory, createHandleSubmit, isReadOnly } from 'helpers/formViews'\r\nimport { t } from 'helpers/i18n'\r\nimport { stopEvent } from 'helpers/events'\r\nimport DatePicker from 'elements/DatePicker'\r\nimport Checkbox from 'elements/Checkbox'\r\n\r\nclass FormView extends React.Component {\r\n state = {}\r\n\r\n constructor(props) {\r\n super(props)\r\n\r\n this.handleSubmit = createHandleSubmit(this)\r\n }\r\n\r\n componentDidMount() {\r\n this.fetchItem()\r\n }\r\n\r\n getItemId = () =>\r\n [this.state.item?.id, this.props.linkTargetRecord?.orderSupplierId, this.props.linkTargetRecord?.id].find(\r\n Boolean\r\n )\r\n\r\n fetchItem = async ({ itemId = this.getItemId() } = {}) => {\r\n try {\r\n const responses = await Promise.all([\r\n itemId\r\n ? this.props.getItem(itemId).catch((error) => {\r\n this.props.onCancel?.()\r\n throw error\r\n })\r\n : !this.props.linkTargetRecord\r\n ? this.props.newItem({})\r\n : resourceNotFound(this),\r\n this.props.getSettings({ type: this.props.settingsType }),\r\n ])\r\n\r\n this.setState({\r\n item: responses[0].value.data,\r\n fieldSettings: responses[1].value.data.fieldSettings,\r\n })\r\n } catch (error) {\r\n showError({ error })\r\n }\r\n }\r\n\r\n render() {\r\n const { item, fieldSettings } = this.state\r\n\r\n if (!item || !fieldSettings) {\r\n return \r\n }\r\n\r\n const createLabel = createLabelFactory(fieldSettings)\r\n const createFieldDecorator = createFieldFactory(this.props.form, item, fieldSettings)\r\n const readOnly = isReadOnly(this)\r\n\r\n return (\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {createFieldDecorator('promiseDate')()}\r\n \r\n \r\n {createFieldDecorator('displaySupplier', { valuePropName: 'checked' })(\r\n {createLabel('displaySupplier')}\r\n )}\r\n \r\n
\r\n
\r\n {readOnly ? (\r\n \r\n ) : (\r\n <>\r\n {' '}\r\n \r\n \r\n \r\n \r\n )}\r\n
\r\n
\r\n )\r\n }\r\n}\r\n\r\nexport default Form.create()(FormView)\r\n","import actions from 'actions/rfqs/rfqSuppliers'\r\nimport { createChildFormViewContainer } from 'factories/ChildFormView'\r\nimport Component from 'components/Rfqs/Suppliers/FormView'\r\n\r\nexport default createChildFormViewContainer({ actions })(Component)\r\n","import * as React from 'react'\r\nimport { Form } from 'antd'\r\nimport { uniqBy } from 'lodash'\r\nimport { createSetFilterValue } from 'helpers/filters'\r\nimport { stopEvent } from 'helpers/events'\r\nimport { t } from 'helpers/i18n'\r\nimport { HARD_SPACE } from 'helpers/utils'\r\nimport Select, { Option } from 'elements/Select'\r\nimport Help from 'elements/Help'\r\nimport Checkbox from 'elements/Checkbox'\r\nimport { Row, Col } from 'elements/Grid'\r\n\r\nclass Filter extends React.Component {\r\n state = {}\r\n\r\n constructor(props) {\r\n super(props)\r\n\r\n this.setFilterValue = createSetFilterValue(this)\r\n }\r\n\r\n render() {\r\n const { filterDto = {} } = this.props\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n this.setFilterValue('supplierId', value)}\r\n placeholder={t('all')}\r\n allowClear\r\n >\r\n {uniqBy(this.props.items ?? [], 'supplierId').map((each) => (\r\n \r\n ))}\r\n \r\n \r\n \r\n \r\n \r\n this.setFilterValue('showDifferencesOnly', e.target.checked)}\r\n >\r\n {t('showDifferencesOnly')} \r\n \r\n \r\n \r\n \r\n
\r\n )\r\n }\r\n}\r\n\r\nexport default Form.create()(Filter)\r\n","import { connect } from 'react-redux'\r\nimport Component from 'components/Rfqs/UpdatePrices/Filter'\r\n\r\nexport default connect()(Component)\r\n","import { createChildListModalComponent } from 'factories/ChildListModal'\r\nimport Filter from 'containers/Rfqs/UpdatePrices/Filter'\r\n\r\nexport default createChildListModalComponent({\r\n getStorageKey: (self) => 'rfqs.updatePrices',\r\n getSettingsType: (self) => 'updatePrices',\r\n allowPagination: (self) => false,\r\n initialFilterDto: (self) => ({ showDifferencesOnly: true }),\r\n filterItems: (self) => (each) => {\r\n const { showDifferencesOnly, supplierId } = self.state.filterDto ?? {}\r\n\r\n if (showDifferencesOnly && each.newPrice === each.price) {\r\n return false\r\n }\r\n\r\n if (supplierId && each.supplierId !== supplierId) {\r\n return false\r\n }\r\n\r\n return true\r\n },\r\n getRowSelectionCheckboxProps: (self) => (record) => ({\r\n disabled: record.newPrice === record.price,\r\n }),\r\n})(Filter)\r\n","import { createChildListModalContainer } from 'factories/ChildListModal'\r\nimport actions from 'actions/rfqs'\r\nimport productActions from 'actions/products'\r\nimport Component from 'components/Rfqs/UpdatePrices'\r\n\r\nexport default createChildListModalContainer({\r\n actions,\r\n extraDispatchToProps: (dispatch, props) => ({\r\n getSettings: (params) => dispatch(productActions.getSupplierDetailsSettings(params)),\r\n }),\r\n})(Component)\r\n","import * as React from 'react'\r\nimport { Form } from 'antd'\r\nimport { useImmer } from 'use-immer'\r\nimport { get, set, cloneDeep, isEmpty, isNil, uniqBy } from 'lodash'\r\nimport { setStorageItem, getStorageItem } from 'helpers/localStorage'\r\nimport { calculateOrderTotals } from 'helpers/procurement'\r\nimport { showError, showClientNotifications } from 'helpers/errors'\r\nimport linkTargets from 'options/linkTargets'\r\nimport { t } from 'helpers/i18n'\r\nimport Modal from 'elements/Modal'\r\nimport Drawer from 'elements/Drawer'\r\nimport Select, { Option } from 'elements/Select'\r\nimport Checkbox from 'elements/Checkbox'\r\n\r\nconst getStorageKey = () => 'rfqs.convertToOrder'\r\n\r\nconst CHECKBOXES = ['addRfqDocumentsToOrder']\r\n\r\nconst OrderForm = linkTargets.orderRecord.formComponent\r\n\r\nfunction Component(props) {\r\n const { user, customer, parentRecord, selectedRowKeys } = props\r\n\r\n const selectedRfqItems = (parentRecord?.rfqItems ?? []).filter((each) => selectedRowKeys.includes(each.id))\r\n\r\n const [state, updateState] = useImmer({ modalVisible: true, ...getStorageItem(getStorageKey()) })\r\n\r\n function setState(path, value) {\r\n updateState((draft) => {\r\n set(draft, path, value)\r\n })\r\n }\r\n\r\n async function handleModalOk() {\r\n try {\r\n setState('modalOkButtonLoading', true)\r\n\r\n const responses = await Promise.all([\r\n props.newOrder(),\r\n props.populateOrderItems(\r\n selectedRfqItems\r\n .map((each) => ({\r\n ...each,\r\n userName: user.userName,\r\n quantityOrdered: each.quantity,\r\n supplierId: state.supplierId,\r\n price: each.supplierDetails.find((one) => one.supplierId === state.supplierId)?.price ?? 0,\r\n rfqId: undefined,\r\n rfqItemId: undefined,\r\n quantityIssued: undefined,\r\n }))\r\n .filter((each) => each.quantityOrdered > 0)\r\n ),\r\n ])\r\n\r\n const item = cloneDeep(responses[0].value.data)\r\n\r\n const orderItems = get(responses[1], 'value.data.items', []).map((each) => ({\r\n ...each,\r\n source: `RFQ${parentRecord.id}`,\r\n sourceIdNumber: parentRecord.id,\r\n sourceItemId: each.id,\r\n id: undefined,\r\n orderItemId: undefined,\r\n timeScanned: new Date().toJSON(),\r\n serverTimeScanned: new Date().toJSON(),\r\n }))\r\n\r\n const supplierIds = state.supplierId ? [state.supplierId] : []\r\n\r\n const suppliers = await Promise.all(\r\n [...new Set(supplierIds)].map((each) => props.getSupplier(each).then((r) => r.value.data))\r\n )\r\n\r\n const purchaseOrderNumbers = await Promise.all(\r\n supplierIds.map((each) =>\r\n props.generatePurchaseOrderNumber({ orderId: 0, supplierId: each }).then((next) => ({\r\n supplierId: next,\r\n ...next.value.data,\r\n }))\r\n )\r\n )\r\n\r\n const orderSuppliers = suppliers.map((each) => ({\r\n adjustments: 0,\r\n confirmedDescription: 'No',\r\n freight: 0,\r\n purchaseOrderNumber: '',\r\n shippingInstructions: each.shippingInstructions,\r\n supplierId: each.id,\r\n supplierName: each.name,\r\n }))\r\n\r\n Object.assign(item, calculateOrderTotals({ customer, item, orderItems }))\r\n\r\n orderSuppliers.forEach((each) => {\r\n try {\r\n each.purchaseOrderNumber = purchaseOrderNumbers.find(\r\n (one) => one.supplierId === each.supplierId\r\n ).purchaseOrderNumber\r\n } catch (error) {\r\n console.warn(error)\r\n }\r\n })\r\n\r\n const response = await props.saveOrder({\r\n order: item,\r\n orderItems: { creating: orderItems },\r\n orderSuppliers: { creating: orderSuppliers },\r\n })\r\n\r\n showClientNotifications({ response })\r\n\r\n if (response.value.data.failureCount > 0) {\r\n throw new Error()\r\n }\r\n\r\n const order = cloneDeep(response.value.data.items[0])\r\n\r\n if (state.addRfqDocumentsToOrder) {\r\n const copied = await props.copyAllObjectDocuments({\r\n sourceRequest: {\r\n domainObjectId: parentRecord.id,\r\n domainObjectType: 'Rfq',\r\n },\r\n destinationRequest: {\r\n domainObjectId: order.id,\r\n domainObjectType: 'Order',\r\n },\r\n })\r\n\r\n showClientNotifications({ response: copied })\r\n\r\n if (copied.value.data.failureCount > 0) {\r\n throw new Error()\r\n }\r\n }\r\n\r\n updateState((draft) => {\r\n draft.modalVisible = false\r\n draft.drawerVisible = true\r\n draft.drawerSaving = false\r\n draft.linkTargetRecord = { ...order, orderId: order.id }\r\n })\r\n\r\n props.onCreateOrder({})\r\n } catch (error) {\r\n showError({ error })\r\n } finally {\r\n setState('modalOkButtonLoading', false)\r\n }\r\n }\r\n\r\n function handleOrderFormClose() {\r\n updateState((draft) => {\r\n draft.modalVisible = false\r\n draft.drawerVisible = false\r\n })\r\n\r\n window.setTimeout(props.onCreatedOrderDrawerClose, 500)\r\n }\r\n\r\n React.useEffect(() => {\r\n setStorageItem(\r\n getStorageKey(),\r\n CHECKBOXES.reduce((acc, each) => ({ ...acc, [each]: state[each] }), {})\r\n )\r\n }, [state])\r\n\r\n return (\r\n <>\r\n \r\n

{t('addRfqToOrderDescription')}

\r\n \r\n setState('supplierId', value)}\r\n placeholder={t('select')}\r\n >\r\n {uniqBy(parentRecord?.rfqSupplierItems ?? [], 'supplierId').map((each) => (\r\n \r\n ))}\r\n \r\n \r\n {CHECKBOXES.map((key) => (\r\n \r\n \r\n updateState((draft) => {\r\n set(draft, key, e.target.checked)\r\n })\r\n }\r\n >\r\n {t(key)}\r\n \r\n \r\n ))}\r\n \r\n \r\n setState('drawerSaving', pending)}\r\n onSaveAndClose={handleOrderFormClose}\r\n onCancel={handleOrderFormClose}\r\n />\r\n \r\n \r\n )\r\n}\r\n\r\nexport default Component\r\n","import { connect } from 'react-redux'\r\nimport { memoize } from 'lodash'\r\nimport { createAuthStateToProps } from 'helpers/auth'\r\nimport { createChildItemsDispatchToProps } from 'helpers/formViews'\r\nimport orderActions from 'actions/orders'\r\nimport supplierActions from 'actions/suppliers'\r\nimport orderItemActions from 'actions/orders/orderItems'\r\nimport orderSupplierActions from 'actions/orders/orderSuppliers'\r\nimport documentActions from 'actions/documents'\r\nimport Component from 'components/Rfqs/Items/ConvertToOrder'\r\n\r\nconst mapStateToProps = (state, props) => ({ ...createAuthStateToProps(state, props) })\r\n\r\nconst mapDispatchToProps = (dispatch, props) => ({\r\n getSupplier: memoize((supplierId) => dispatch(supplierActions.getItem(supplierId))),\r\n newOrder: (params) => dispatch(orderActions.newItem(params)),\r\n saveOrder: (params) => dispatch(orderActions.saveOrder(params)),\r\n populateOrderItems: (params) => dispatch(orderItemActions.populateOrderItems(params)),\r\n generatePurchaseOrderNumber: (params) => dispatch(orderSupplierActions.generatePurchaseOrderNumber(params)),\r\n copyAllObjectDocuments: (params) => dispatch(documentActions.copyAllObjectDocuments(params)),\r\n ...createChildItemsDispatchToProps(dispatch, 'Order', orderItemActions),\r\n ...createChildItemsDispatchToProps(dispatch, 'OrderSupplier', orderSupplierActions),\r\n})\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(Component)\r\n","import { useImmer } from 'use-immer'\r\nimport { Button, message } from 'antd'\r\nimport { isEmpty, set, cloneDeep, pick, unset } from 'lodash'\r\nimport { t } from 'helpers/i18n'\r\nimport linkTargets from 'options/linkTargets'\r\nimport { showError, showClientNotifications } from 'helpers/errors'\r\nimport Icon from 'elements/Icon'\r\nimport Drawer from 'elements/Drawer'\r\nimport FormView from 'containers/Rfqs/FormView'\r\n\r\nfunction Component(props) {\r\n const { parentRecord, parentHasUnsavedChanges, selectedRowKeys } = props\r\n\r\n const [state, updateState] = useImmer({})\r\n\r\n function setState(path, value) {\r\n updateState((draft) => {\r\n set(draft, path, value)\r\n })\r\n }\r\n\r\n async function handleCopyClick() {\r\n if (parentHasUnsavedChanges) {\r\n message.error(t('saveChangesFirst'))\r\n return\r\n }\r\n\r\n try {\r\n setState('loading', true)\r\n\r\n const copied = await props.newItem({}).then((r) => cloneDeep(r.value.data))\r\n\r\n unset(copied, 'id')\r\n\r\n Object.assign(\r\n copied,\r\n pick(parentRecord, [\r\n 'buyerName',\r\n 'buyerPhone',\r\n 'buyerEmail',\r\n 'requisitionerName',\r\n 'requisitionerPhone',\r\n 'requisitionerEmail',\r\n 'shipToAddressId',\r\n 'deliveryDueDate',\r\n 'customerComment',\r\n 'internalComment',\r\n 'responseDueDate',\r\n ])\r\n )\r\n\r\n const rfqItems = parentRecord.rfqItems\r\n .filter((each) => selectedRowKeys.includes(each.id))\r\n .map((each) => ({\r\n timeScanned: new Date().toJSON(),\r\n serverTimeScanned: new Date().toJSON(),\r\n userName: props.user.userName,\r\n productId: each.productId,\r\n barcode: each.barcode,\r\n inventoryBarcode: each.inventoryBarcode,\r\n itemNumber: each.itemNumber,\r\n description: each.description,\r\n locationId: each.locationId,\r\n binLocation: each.binLocation,\r\n manufacturer: each.manufacturer,\r\n nonStock: props.customer.generalSettings.addNonStockToProducts ? false : each.nonStock,\r\n price: each.price,\r\n unitOfMeasure: each.unitOfMeasure,\r\n packageSize: each.packageSize,\r\n packageSizeUom: each.packageSizeUom,\r\n quantity: each.quantity,\r\n taxable: each.taxable,\r\n taxableDescription: each.taxableDescription,\r\n expedite: each.expedite,\r\n deliveryDate: each.deliveryDate,\r\n locationBarcode: each.locationBarcode,\r\n locationName: each.locationName,\r\n sourceCatalogName: each.sourceCatalogName,\r\n jobId: each.jobId,\r\n jobName: each.jobName,\r\n operatorId: each.operatorId,\r\n operatorName: each.operatorName,\r\n assetBarcode: each.assetBarcode,\r\n tagA: each.tagA,\r\n tagB: each.tagB,\r\n tagC: each.tagC,\r\n tagD: each.tagD,\r\n tagE: each.tagE,\r\n supplierDetails: each.supplierDetails,\r\n }))\r\n\r\n const rfqSuppliers = parentRecord.rfqSupplierItems.map((each) => ({\r\n supplierId: each.supplierId,\r\n supplierPosition: each.supplierPosition,\r\n comment: each.comment,\r\n freightCost: each.freightCost,\r\n promiseDate: each.promiseDate,\r\n }))\r\n\r\n const response = await props.saveRfq({\r\n rfq: copied,\r\n rfqItems: { creating: rfqItems },\r\n rfqSuppliers: { creating: rfqSuppliers },\r\n })\r\n\r\n showClientNotifications({ response })\r\n\r\n if (response.value.data.failureCount > 0) {\r\n throw new Error()\r\n }\r\n\r\n updateState((draft) => {\r\n draft.linkTargetRecord = response.value.data.items[0]\r\n draft.drawerVisible = true\r\n })\r\n } catch (error) {\r\n showError({ error })\r\n } finally {\r\n setState('loading', false)\r\n }\r\n }\r\n\r\n return (\r\n <>\r\n \r\n setState('drawerVisible', false)}\r\n >\r\n {}}\r\n onSaveAndClose={() => setState('drawerVisible', false)}\r\n onCancel={() => setState('drawerVisible', false)}\r\n />\r\n \r\n \r\n )\r\n}\r\n\r\nexport default Component\r\n","import { connect } from 'react-redux'\r\nimport { createAuthStateToProps } from 'helpers/auth'\r\nimport actions from 'actions/rfqs'\r\nimport Component from 'components/Rfqs/Items/Copy'\r\n\r\nconst mapStateToProps = (state, props) => ({ ...createAuthStateToProps(state, props) })\r\n\r\nconst mapDispatchToProps = {\r\n newItem: actions.newItem,\r\n saveRfq: actions.saveRfq,\r\n}\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(Component)\r\n","import { Button, Input, message } from 'antd'\r\nimport { isFinite, isEmpty, min } from 'lodash'\r\nimport cx from 'clsx'\r\nimport produce from 'immer'\r\nimport { createChildListViewComponent } from 'factories/ChildListView'\r\nimport entityNames from 'options/entityNames'\r\nimport { getUserPermission } from 'helpers/auth'\r\nimport { t } from 'helpers/i18n'\r\nimport { isReadOnly } from 'helpers/formViews'\r\nimport Icon from 'elements/Icon'\r\nimport FormView from 'containers/Rfqs/Items/FormView'\r\nimport InputNumber from 'elements/InputNumber'\r\nimport ConvertToOrder from 'containers/Rfqs/Items/ConvertToOrder'\r\nimport Copy from 'containers/Rfqs/Items/Copy'\r\n\r\nconst getBestPrice = ({ record, suppliers = [] }) => {\r\n const supplierIds = suppliers.map((each) => each.supplierId)\r\n\r\n return min(\r\n (record?.supplierDetails ?? []).filter((x) => supplierIds.includes(x.supplierId) && x.price > 0).map((y) => y.price)\r\n )\r\n}\r\n\r\nconst getBestSupplierIds = ({ suppliers = [], items = [] }) => {\r\n const totals = suppliers.map((supplier) =>\r\n items\r\n .map((each) => each.supplierDetails.find((one) => one.supplierId === supplier.supplierId))\r\n .map((each) => each?.price ?? 0)\r\n .reduce((acc, each) => acc + each, 0)\r\n )\r\n\r\n const best = min(totals.filter((each) => each > 0))\r\n\r\n return totals.map((each, index) => (each === best ? suppliers[index]?.supplierId : null)).filter(Boolean)\r\n}\r\n\r\nexport default createChildListViewComponent({\r\n entityName: entityNames.rfqs,\r\n childName: 'rfqItems',\r\n createButtonTextId: 'addNonStockItem',\r\n createButtonLinkTarget: {\r\n formSize: 'md',\r\n formComponent: (props) => ,\r\n },\r\n primaryLinkTarget: 'rfqItemRecord',\r\n allowCreate: (self) => false,\r\n allowDelete: (self) =>\r\n !isReadOnly(self) && !self.props.userIsInRoleSupplier && getUserPermission('Purchase') !== 'No',\r\n allowCustomize: (self) => true,\r\n allowSearching: (self) => true,\r\n extraRowActions: (self) => (\r\n <>\r\n {!isReadOnly(self) && self.props.userIsInRoleSupplier && (\r\n {\r\n try {\r\n await self.props.onChange(\r\n produce(self.props.items, (draft) => {\r\n draft.forEach((item) => {\r\n ;(item?.supplierDetails ?? []).forEach((each) => {\r\n each.price = 0\r\n })\r\n })\r\n })\r\n )\r\n } catch (error) {\r\n console.warn(error)\r\n }\r\n }}\r\n disabled={isEmpty(self.state.selectedRowKeys)}\r\n >\r\n \r\n {t('clearPrices')}\r\n \r\n )}\r\n {!self.props.userIsInRoleDistributor &&\r\n !self.props.userIsInRoleSupplier &&\r\n getUserPermission('Purchase') !== 'No' && (\r\n \r\n )}\r\n {(!isReadOnly(self) || self.props.parentRecord.status === 'Closed') &&\r\n !self.props.userIsInRoleSupplier &&\r\n getUserPermission('Orders') !== 'None' && (\r\n \r\n self.props.parentHasUnsavedChanges\r\n ? message.error(t('saveChangesFirst'))\r\n : self.props.parentRecord.status !== 'Closed'\r\n ? message.error(t('rfqMustBeInClosedStatus'))\r\n : self.setState({ convertToOrderVisible: true })\r\n }\r\n disabled={isEmpty(self.state.selectedRowKeys)}\r\n >\r\n \r\n {t('convertToOrder')}\r\n \r\n )}\r\n {self.state.convertToOrderVisible && (\r\n self.setState({ convertToOrderVisible: false })}\r\n onCreateOrder={self.props.onCreateOrder}\r\n onCreatedOrderDrawerClose={() =>\r\n self.setState({ convertToOrderVisible: false }, self.props.onCreatedOrderDrawerClose)\r\n }\r\n />\r\n )}\r\n \r\n ),\r\n tableCellComponents: {\r\n quantity: (self, item) => (\r\n {\r\n try {\r\n await self.props.onChange(\r\n produce(self.props.items, (draft) => {\r\n if (isFinite(value)) {\r\n const row = draft.find((one) => one.id === item.id)\r\n row.quantity = Math.max(value, 1)\r\n row.populated = true // HACK: To avoid calling /populate\r\n }\r\n })\r\n )\r\n } catch (error) {\r\n console.warn(error)\r\n }\r\n }}\r\n min={1}\r\n readOnly={isReadOnly(self)}\r\n disabled={self.props.userIsInRoleSupplier}\r\n />\r\n ),\r\n },\r\n tableHeadGroups: (self) => {\r\n const suppliers = (self.props.parentRecord?.rfqSupplierItems ?? []).filter((each) => each.displaySupplier)\r\n\r\n return {\r\n price: () =>\r\n suppliers.map((each) => ({\r\n title: each.supplierName,\r\n key: `supplierDetails[${each.supplierPosition}].price`,\r\n dataIndex: `supplierDetails[${each.supplierPosition}].price`,\r\n width: 126,\r\n render: (_, record, index) => {\r\n try {\r\n const { items = [] } = self.props\r\n\r\n const { price, supplierId } = items\r\n .find((one) => one.id === record.id)\r\n .supplierDetails.find((one) => one.supplierId === each.supplierId)\r\n\r\n return (\r\n \r\n {\r\n try {\r\n await self.props.onChange(\r\n produce(self.props.items, (draft) => {\r\n draft\r\n .find((one) => one.id === record.id)\r\n .supplierDetails.find((one) => one.supplierId === each.supplierId).price = value\r\n })\r\n )\r\n } catch (error) {\r\n console.warn(error)\r\n }\r\n }}\r\n min={0}\r\n readOnly={isReadOnly(self)}\r\n currency\r\n />\r\n \r\n )\r\n } catch (error) {\r\n console.warn(error)\r\n\r\n return \r\n }\r\n },\r\n })),\r\n }\r\n },\r\n})()\r\n","import { createChildListViewContainer } from 'factories/ChildListView'\r\nimport actions from 'actions/rfqs/rfqItems'\r\nimport Component from 'components/Rfqs/Items'\r\n\r\nexport default createChildListViewContainer({\r\n actions,\r\n extraStateToProps: (state, props) => ({ settingsType: props.settingsType ?? 'rfq' }),\r\n})(Component)\r\n","import { isNil, cloneDeep, orderBy, max, uniqBy, take } from 'lodash'\r\nimport produce from 'immer'\r\nimport { Button, Tooltip, message } from 'antd'\r\nimport { createChildListViewComponent } from 'factories/ChildListView'\r\nimport entityNames from 'options/entityNames'\r\nimport { isReadOnly } from 'helpers/formViews'\r\nimport { t } from 'helpers/i18n'\r\nimport { Emitter } from 'helpers/events'\r\nimport { LIST_MODAL_CLEAR_SELECTION } from 'options/events'\r\nimport FormView from 'containers/Rfqs/Suppliers/FormView'\r\nimport Checkbox from 'elements/Checkbox'\r\nimport DatePicker from 'elements/DatePicker'\r\nimport Icon from 'elements/Icon'\r\nimport Modal from 'elements/Modal'\r\nimport SelectSupplier from 'containers/Suppliers/Select'\r\n\r\nexport default createChildListViewComponent({\r\n entityName: entityNames.rfqs,\r\n childName: 'rfqSuppliers',\r\n allowCustomize: (self) => false,\r\n allowCreate: (self) => false,\r\n allowDelete: (self) => true,\r\n allowPagination: (self) => false,\r\n createButtonTextId: 'addSupplierToRfq',\r\n primaryLinkTarget: 'rfqSupplierRecord',\r\n createButtonLinkTarget: {\r\n formSize: 'md',\r\n formComponent: (props) => ,\r\n },\r\n extraTableButtons: (self) => (\r\n <>\r\n = 10 ? 'maximumSuppliersAdded' : 'addSupplierToRfq')}\r\n placement=\"topLeft\"\r\n >\r\n self.setState({ addSupplierToRfqVisible: true, addSupplierToRfqRecords: null })}\r\n disabled={isReadOnly(self) || self.props.items.length >= 10}\r\n >\r\n \r\n \r\n \r\n = 10,\r\n loading: self.state.addSupplierToRfqLoading,\r\n }}\r\n onOk={() => {\r\n const siblings = cloneDeep(orderBy(self.props.items, ['supplierPosition']))\r\n\r\n siblings.forEach((each, index) => {\r\n each.supplierPosition = index\r\n })\r\n\r\n const before = siblings.length\r\n const supplierPosition = max([...siblings.map((each) => each.supplierPosition), -1]) + 1\r\n const seed = Date.now() * -1\r\n\r\n self.state.addSupplierToRfqRecords.forEach((each, index) => {\r\n const {\r\n name: supplierName,\r\n contactName: supplierContact,\r\n id: supplierId,\r\n contactEmail: supplierEmail,\r\n contactPhone: supplierPhone,\r\n } = each\r\n\r\n siblings.push({\r\n id: seed - index,\r\n rfqSupplierId: seed - index,\r\n supplierName,\r\n supplierContact,\r\n supplierPhone,\r\n supplierEmail,\r\n promiseDate: null,\r\n comment: '',\r\n displaySupplier: true,\r\n rfqId: self.props.parentRecord.id,\r\n supplierId,\r\n supplierPosition: supplierPosition + index,\r\n freightCost: 0,\r\n })\r\n })\r\n\r\n const suppliers = take(uniqBy(siblings, 'supplierId'), 10)\r\n\r\n self.props.onChange?.(suppliers)\r\n\r\n const added = suppliers.length - before\r\n\r\n message[added > 0 ? 'success' : 'warn'](\r\n `${added} ${t('of')} ${self.state.addSupplierToRfqRecords.length} ${t('suppliersAdded')}.`\r\n )\r\n\r\n if (suppliers.length >= 10) {\r\n message.warn(t('maximumSuppliersAdded'))\r\n\r\n self.setState({ addSupplierToRfqVisible: false })\r\n }\r\n\r\n Emitter.emit(LIST_MODAL_CLEAR_SELECTION)\r\n }}\r\n cancelText={t('close')}\r\n onCancel={() => self.setState({ addSupplierToRfqVisible: false })}\r\n width={992}\r\n >\r\n self.setState({ addSupplierToRfqRecords: values })}\r\n filterProps={{ disabled: true }}\r\n mode=\"multiple\"\r\n />\r\n \r\n \r\n ),\r\n tableCellComponents: {\r\n displaySupplier: (self, item) => (\r\n {\r\n try {\r\n await self.props.onChange(\r\n produce(self.props.items, (draft) => {\r\n draft.find((one) => one.id === item.id).displaySupplier = e.target.checked\r\n })\r\n )\r\n } catch (error) {\r\n console.warn(error)\r\n }\r\n }}\r\n readOnly={isReadOnly(self)}\r\n />\r\n ),\r\n promiseDate: (self, item) => (\r\n {\r\n try {\r\n await self.props.onChange(\r\n produce(self.props.items, (draft) => {\r\n draft.find((one) => one.id === item.id).promiseDate = value\r\n })\r\n )\r\n } catch (error) {\r\n console.warn(error)\r\n }\r\n }}\r\n readOnly={isReadOnly(self)}\r\n placeholder={t('none')}\r\n allowClear\r\n />\r\n ),\r\n },\r\n})()\r\n","import { createChildListViewContainer } from 'factories/ChildListView'\r\nimport actions from 'actions/rfqs/rfqSuppliers'\r\nimport Component from 'components/Rfqs/Suppliers'\r\n\r\nexport default createChildListViewContainer({ actions })(Component)\r\n","import { Menu, message } from 'antd'\r\nimport { createSideFormComponent } from 'factories/SideForm'\r\nimport { Emitter } from 'helpers/events'\r\nimport { getUserPermission } from 'helpers/auth'\r\nimport { t } from 'helpers/i18n'\r\nimport Search from 'containers/Products/Select'\r\n\r\nexport default createSideFormComponent({\r\n getStorageKey: (self) => 'rfqs.formView.sideForm',\r\n searchLanguageKey: 'searchProducts',\r\n addItemLanguageKey: 'addToRfq',\r\n addItemsLanguageKey: 'addToRfq',\r\n addItemSuccessLanguageKey: 'addToRfqSuccess',\r\n submitButtonLanguageKey: 'add',\r\n tagSettingsEnabledSuffix: 'Purch',\r\n dropDownButtonMenuItems: (self) => {\r\n if (getUserPermission('FavoritesOnly') === 'Yes') {\r\n return []\r\n }\r\n\r\n const allowPunchout =\r\n !self.props.useInventoryBarcode &&\r\n ['Draft', 'Open'].includes(self.props.parentRecord.status) &&\r\n getUserPermission('AllowPunchout') === 'Yes'\r\n\r\n return [\r\n ...(allowPunchout ? [{t('punchout')}] : []),\r\n ...(getUserPermission('AddNonStockItems') !== 'No'\r\n ? [{t('addNonStock')}]\r\n : []),\r\n ...(!self.props.useInventoryBarcode\r\n ? [\r\n {t('addFromList')},\r\n {t('addFromFile')},\r\n ]\r\n : []),\r\n ]\r\n },\r\n dropdownButtonMenuClickHandler: (self) => (e) => {\r\n if (e.key === 'addNonStock') {\r\n Emitter.emit('rfqs.rfqItems.createButtonClick', {\r\n ...self.state,\r\n nonStock: true,\r\n })\r\n }\r\n\r\n if (e.key === 'punchout') {\r\n if (self.props.parentRecord?.id && !self.props.parentHasUnsavedChanges) {\r\n self.handlePunchoutClick?.()\r\n } else {\r\n message.error(t('saveChangesFirst'))\r\n }\r\n }\r\n\r\n if (e.key === 'addFromList') {\r\n self.handleAddFromListClick?.()\r\n }\r\n\r\n if (e.key === 'addFromFile') {\r\n self.handleAddFromFileClick?.()\r\n }\r\n },\r\n})(Search)\r\n","import { createSideFormContainer } from 'factories/SideForm'\r\nimport productActions from 'actions/products'\r\nimport Component from 'components/Rfqs/FormView/SideForm'\r\n\r\nexport default createSideFormContainer({\r\n extraStateToProps: (state, props) => ({ settingsType: props.settingsType ?? 'rfq' }),\r\n extraDispatchToProps: (dispatch, props) => ({\r\n getBarcodes: (params) =>\r\n dispatch(\r\n productActions.getOptions({\r\n pageIndex: 1,\r\n pageSize: 100,\r\n active: 'Active',\r\n ...params,\r\n })\r\n ),\r\n }),\r\n})(Component)\r\n","import actions from 'actions/formInstances'\r\nimport { createFormViewContainer } from 'factories/FormView'\r\nimport userActions from 'actions/users'\r\nimport formTemplateActions from 'actions/formTemplates'\r\nimport { createFormInstanceAttachmentsDispatchToProps } from 'helpers/formInstances'\r\nimport Component from 'components/Rfqs/Forms/FormView'\r\n\r\nexport default createFormViewContainer({\r\n actions,\r\n extraDispatchToProps: (dispatch, props) => ({\r\n newItem: (params) => dispatch(actions.newItem(params)),\r\n updateStatus: (formInstanceId, name, value) =>\r\n dispatch(actions.updateStatus(formInstanceId, name, value)),\r\n submitItem: (formInstanceId) => dispatch(actions.submitItem(formInstanceId)),\r\n getUsers: (params) => dispatch(userActions.getItems(params)),\r\n getFormTemplate: (formTemplateId) => dispatch(formTemplateActions.getItem(formTemplateId)),\r\n ...createFormInstanceAttachmentsDispatchToProps(dispatch, props),\r\n }),\r\n})(Component)\r\n","import FormView from 'components/FormInstances/FormView'\r\n\r\nexport default (props) => \r\n","import { createChildListViewComponent } from 'factories/ChildListView'\r\nimport entityNames from 'options/entityNames'\r\nimport { t } from 'helpers/i18n'\r\nimport FormView from 'containers/Rfqs/Forms/FormView'\r\n\r\nexport default createChildListViewComponent({\r\n entityName: entityNames.rfqs,\r\n childName: 'formInstances',\r\n primaryLinkTarget: 'formInstanceRecord',\r\n createButtonTextId: 'addFormInstance',\r\n createButtonLinkTarget: {\r\n formSize: 'xl',\r\n formComponent: FormView,\r\n },\r\n createDisabled: (self) => (self.props.parentRecord?.id ?? 0) <= 0,\r\n getDeleteButtonTooltip: (self) => t('deleteFormsTooltip'),\r\n})()\r\n","import actions from 'actions/formInstances'\r\nimport { createChildListViewContainer } from 'factories/ChildListView'\r\nimport Component from 'components/Rfqs/Forms'\r\n\r\nexport default createChildListViewContainer({ actions })(Component)\r\n","import * as React from 'react'\r\nimport { Form, Input, Spin, Button, Tabs, Dropdown, Menu, Badge, message } from 'antd'\r\nimport {\r\n camelCase,\r\n cloneDeep,\r\n debounce,\r\n get,\r\n isEmpty,\r\n isEqual,\r\n isNil,\r\n set,\r\n toString as str,\r\n invoke,\r\n pick,\r\n flow,\r\n} from 'lodash'\r\nimport produce from 'immer'\r\nimport { withRouter } from 'react-router-dom'\r\nimport { createPrintHandler, resetPrintHandler } from 'helpers/print'\r\nimport { setStorageItem, getStorageItem } from 'helpers/localStorage'\r\nimport { createResetState, DEBOUNCE, encodeState } from 'helpers/utils'\r\nimport {\r\n showError,\r\n showClientNotifications,\r\n resourceNotFound,\r\n ValidationError,\r\n ClientNotifications,\r\n} from 'helpers/errors'\r\nimport {\r\n createLabelFactory,\r\n createFieldFactory,\r\n createHandleSubmit,\r\n createSaveDocumentItems,\r\n getChangedItems,\r\n isReadOnly,\r\n confirmUnsavedChanges,\r\n validateMultipleEmails,\r\n} from 'helpers/formViews'\r\nimport { formatUserTime } from 'helpers/dateTime'\r\nimport { t } from 'helpers/i18n'\r\nimport { getUserPermission } from 'helpers/auth'\r\nimport { recalculateQuantity, BadgeContainer, getTagFieldNames } from 'helpers/procurement'\r\nimport { createSaveFormInstances, createRefreshFormInstances, FormInstancesContext } from 'helpers/formInstances'\r\nimport { Emitter, stopEvent } from 'helpers/events'\r\nimport { FORM_INSTANCES_REFRESH, LIST_MODAL_CLEAR_SELECTION, FORM_CHANGE_EVENT } from 'options/events'\r\nimport { getFileExtension } from 'helpers/downloadItems'\r\nimport UpdatePrices from 'containers/Rfqs/UpdatePrices'\r\nimport Select, { Option, getOptionProps } from 'elements/Select'\r\nimport Drawer from 'elements/Drawer'\r\nimport Modal from 'elements/Modal'\r\nimport Checkbox from 'elements/Checkbox'\r\nimport Comments from 'elements/Comments'\r\nimport Icon from 'elements/Icon'\r\nimport { Row, Col } from 'elements/Grid'\r\nimport Documents from 'containers/Documents/ChildListView'\r\nimport RfqItems from 'containers/Rfqs/Items'\r\nimport RfqSuppliers from 'containers/Rfqs/Suppliers'\r\nimport Help from 'elements/Help'\r\nimport SideForm from 'containers/Rfqs/FormView/SideForm'\r\nimport DatePicker from 'elements/DatePicker'\r\nimport SendEmail from 'components/SendEmail'\r\nimport FormButtons from 'elements/FormButtons'\r\nimport FormInstances from 'containers/Rfqs/Forms'\r\nimport Print from 'containers/Rfqs/Print'\r\n\r\nconst getStorageKey = () => 'rfqs.formView'\r\n\r\nclass FormView extends React.Component {\r\n state = {}\r\n\r\n constructor(props) {\r\n super(props)\r\n\r\n this.printableRef = React.createRef()\r\n this.handleSubmit = createHandleSubmit(this)\r\n this.saveDocumentItems = createSaveDocumentItems(this, 'Rfq')\r\n this.repopulateRfqItems = debounce(this.repopulateRfqItems, DEBOUNCE)\r\n this.resetState = createResetState(\r\n this,\r\n { tabsActiveKey: 'items', requireQuantity: true },\r\n getStorageItem(getStorageKey(), {})\r\n )\r\n this.saveFormInstances = createSaveFormInstances(this, { objectType: 'Rfq' })\r\n this.refreshFormInstances = createRefreshFormInstances(this, { objectType: 'Rfq' })\r\n }\r\n\r\n async componentDidMount() {\r\n await this.resetState()\r\n await this.fetchItem()\r\n\r\n Emitter.on(FORM_INSTANCES_REFRESH, this.refreshFormInstances)\r\n Emitter.on(FORM_CHANGE_EVENT, this.handleFormChange)\r\n }\r\n\r\n componentWillUnmount() {\r\n Emitter.off(FORM_INSTANCES_REFRESH, this.refreshFormInstances)\r\n Emitter.off(FORM_CHANGE_EVENT, this.handleFormChange)\r\n }\r\n\r\n handleFormChange = () => this.setState({ formHasChanged: true })\r\n\r\n beforeValidateFields = () => this.prioritizeRfqItemsSupplierDetails()\r\n\r\n promiseState = (state = {}) => new Promise((resolve) => this.setState(state, resolve))\r\n\r\n saveState = () => setStorageItem(getStorageKey(), pick(this.state, ['quickscan', 'requireQuantity']))\r\n\r\n getItemId = () => {\r\n const itemId = [\r\n this.state.item?.id,\r\n this.props.linkTargetRecord?.rfqId,\r\n this.props.linkTargetRecord?.relatedRfqId,\r\n this.props.linkTargetRecord?.objectId,\r\n ].find(Boolean)\r\n\r\n if (itemId && this.props.userIsInRoleSupplier) {\r\n const targetTenantId = this.props.filterDto?.tenantId ?? 0\r\n\r\n return `${itemId}?targetTenantId=${targetTenantId}`\r\n }\r\n\r\n return itemId\r\n }\r\n\r\n fetchItem = async ({ itemId = this.getItemId() } = {}) => {\r\n try {\r\n const responses = await Promise.all([\r\n itemId\r\n ? this.props.getItem(itemId).catch((error) => {\r\n this.props.onCancel?.()\r\n throw error\r\n })\r\n : !this.props.linkTargetRecord\r\n ? this.props.newItem({})\r\n : resourceNotFound(this),\r\n this.props.getSettings({ type: this.props.settingsType ?? 'rfq' }),\r\n ])\r\n\r\n const item = cloneDeep(responses[0].value.data)\r\n const customerId = item.customerId || this.props.user.customerId\r\n const targetTenantId = this.props.filterDto?.tenantId ?? 0\r\n\r\n const [documentItems, shipToAddressList, rfqItems, rfqSupplierItems, formInstanceItems] = await Promise.all([\r\n item.id\r\n ? this.props.getDocumentItems({\r\n request: {\r\n domainObjectId: item.id,\r\n domainObjectType: 'Rfq',\r\n documentType: 'ObjectDocument',\r\n },\r\n targetTenantId,\r\n })\r\n : Promise.resolve(null),\r\n this.props.getAddressList({ type: 'shipto', targetTenantId, customerId }),\r\n item.id ? this.props.getRfqItems(item.id, { targetTenantId }) : Promise.resolve(null),\r\n item.id ? this.props.getRfqSupplierItems(item.id, { targetTenantId }) : Promise.resolve(null),\r\n item.id\r\n ? this.props.getFormInstanceItems({\r\n objectType: 'Rfq',\r\n objectId: item.id,\r\n targetTenantId,\r\n })\r\n : Promise.resolve(null),\r\n ])\r\n\r\n const populatedRfqItems = get(rfqItems, 'value.data.items', []).map((each) => ({\r\n ...each,\r\n populated: true,\r\n timestamp: new Date().toJSON(),\r\n }))\r\n\r\n this.setState({\r\n item: cloneDeep(item),\r\n itemOriginal: cloneDeep(item),\r\n fieldSettings: responses[1].value.data.fieldSettings,\r\n documentItems: get(documentItems, 'value.data.items', []),\r\n documentItemsOriginal: get(documentItems, 'value.data.items', []),\r\n shipToAddressList: get(shipToAddressList, 'value.data.items', []),\r\n rfqItems: cloneDeep(populatedRfqItems),\r\n rfqItemsOriginal: cloneDeep(populatedRfqItems),\r\n rfqItemsTotals: get(rfqItems, 'value.data.pageTotals', {}),\r\n rfqSupplierItems: get(rfqSupplierItems, 'value.data.items', []),\r\n rfqSupplierItemsOriginal: get(rfqSupplierItems, 'value.data.items', []),\r\n formInstanceItems: get(formInstanceItems, 'value.data.items', []),\r\n formInstanceItemsOriginal: get(formInstanceItems, 'value.data.items', []),\r\n formHasChanged: false,\r\n })\r\n } catch (error) {\r\n showError({ error })\r\n }\r\n }\r\n\r\n refetchItem = async ({ itemId = this.getItemId() } = {}) => {\r\n try {\r\n const response = await this.props.getItem(itemId).catch((error) => {\r\n this.props.onCancel?.()\r\n throw error\r\n })\r\n\r\n const item = cloneDeep(response.value.data)\r\n\r\n this.setState({\r\n item: cloneDeep(item),\r\n itemOriginal: cloneDeep(item),\r\n })\r\n } catch (error) {\r\n showError({ error })\r\n }\r\n }\r\n\r\n setItemValue = (name, value) =>\r\n this.setState(\r\n produce((draft) => {\r\n set(draft.item, name, value)\r\n\r\n if (name === 'shipAddressId') {\r\n draft.item.taxRate = draft.shipToAddressList.find((one) => one.id === value).taxRate / 100\r\n }\r\n\r\n this.props.form.setFieldsValue({ [name]: value })\r\n })\r\n )\r\n\r\n saveItem = async (item) => {\r\n if (!item) {\r\n throw new Error('item is undefined')\r\n }\r\n\r\n try {\r\n this.setState({ clientNotifications: null })\r\n\r\n const targetTenantId = this.props.filterDto?.tenantId ?? 0\r\n\r\n const response = await this.props.saveRfq(\r\n {\r\n rfq: item,\r\n rfqItems: getChangedItems(this.state.rfqItemsOriginal, this.state.rfqItems),\r\n rfqSuppliers: getChangedItems(this.state.rfqSupplierItemsOriginal, this.state.rfqSupplierItems),\r\n },\r\n targetTenantId ? { targetTenantId } : undefined\r\n )\r\n\r\n const { failureCount = 0, clientNotifications = [], items = [] } = response.value.data\r\n\r\n showClientNotifications({ response })\r\n\r\n if (failureCount > 0) {\r\n this.setState({ clientNotifications })\r\n\r\n throw new Error()\r\n }\r\n\r\n const data = items[0]\r\n\r\n if (data.id) {\r\n await this.saveDocumentItems(data.id)\r\n }\r\n\r\n return { value: { data } }\r\n } catch (error) {\r\n const clientNotifications = error?.data?.clientNotifications ?? []\r\n\r\n showClientNotifications({ clientNotifications })\r\n\r\n if (!isEmpty(clientNotifications)) {\r\n this.setState({ clientNotifications })\r\n\r\n throw new Error()\r\n } else {\r\n throw error\r\n }\r\n }\r\n }\r\n\r\n handleSideFormSubmit = async (sideFormState) => {\r\n const {\r\n assetDisplayName = '',\r\n jobDisplayName = '',\r\n locationDisplayName = '',\r\n operatorDisplayName = '',\r\n ...params\r\n } = cloneDeep(sideFormState)\r\n\r\n try {\r\n this.setState({ sideFormLoading: true, tabsActiveKey: 'items', formButtonsDisabled: true })\r\n\r\n const response = await this.props.populateRfqItems([\r\n {\r\n quantity: params.quantity || 1,\r\n barcode: params?.barcode,\r\n assetBarcode: params.asset?.barcode ?? params.assetBarcode,\r\n assetId: params?.asset?.id,\r\n assetName: params.asset?.name ?? `*${assetDisplayName}`,\r\n assetNumber: params.asset?.number,\r\n jobId: params?.job?.id,\r\n jobName: params.job?.name ?? `*${jobDisplayName}`,\r\n jobNumber: params?.job?.number,\r\n jobBarcode:\r\n params.job?.barcode ?? (!this.props.customer.tagSettings.tag1Restricted ? jobDisplayName : undefined),\r\n locationId: params?.location?.id,\r\n locationName: params.location?.name ?? `*${locationDisplayName}`,\r\n locationBarcode: params.location?.barcode ?? params.locationBarcode,\r\n operatorId: params?.operator?.id,\r\n operatorName: params.operator?.name ?? `*${operatorDisplayName}`,\r\n operatorNumber: params?.operator?.number,\r\n operatorBarcode: params.operator?.barcode ?? params.operatorBarcode,\r\n tagA: params.tagA,\r\n tagB: params.tagB,\r\n tagC: params.tagC,\r\n tagD: params.tagD,\r\n tagE: params.tagE,\r\n userName: this.props.user.userName,\r\n sourceCatalogName: params.sourceCatalogName,\r\n },\r\n ])\r\n\r\n this.setState({ sideFormLoading: false })\r\n\r\n showClientNotifications({ response })\r\n\r\n if (response.value.data.failureCount > 0) {\r\n throw new Error()\r\n }\r\n\r\n this.setState(\r\n produce((draft) => {\r\n const seed = Date.now() * -1\r\n draft.rfqItems.unshift(\r\n ...response.value.data.items.map((each, index) => ({\r\n ...each,\r\n quantity: recalculateQuantity(each, this.props.customer),\r\n id: seed - index,\r\n rfqItemId: seed - index,\r\n }))\r\n )\r\n }),\r\n this.prioritizeRfqItemsSupplierDetails\r\n )\r\n } catch (error) {\r\n showError({ error })\r\n\r\n this.setState({ sideFormLoading: false })\r\n\r\n return false\r\n } finally {\r\n this.setState({ formButtonsDisabled: false })\r\n }\r\n\r\n return true\r\n }\r\n\r\n repopulateRfqItems = async () => {\r\n let failureCount = 0\r\n\r\n try {\r\n const { rfqItems } = this.state\r\n\r\n const populatedRfqItems = await Promise.all(\r\n rfqItems.map((each) => {\r\n const { id, rfqItemId, populated } = each\r\n\r\n if (populated) {\r\n return each\r\n }\r\n\r\n return this.props\r\n .populateRfqItems([\r\n {\r\n ...each,\r\n id: id > 0 ? id : undefined,\r\n rfqItemId: rfqItemId > 0 ? rfqItemId : undefined,\r\n },\r\n ])\r\n .then((response) => {\r\n showClientNotifications({ response })\r\n\r\n failureCount += response.value.data.failureCount\r\n\r\n return {\r\n ...(response.value.data.items[0] ?? each),\r\n id,\r\n rfqItemId,\r\n populated: true,\r\n timestamp: new Date().toJSON(),\r\n }\r\n })\r\n })\r\n )\r\n\r\n await this.promiseState({ rfqItems: cloneDeep(populatedRfqItems) })\r\n await this.prioritizeRfqItemsSupplierDetails()\r\n } catch (error) {\r\n failureCount++\r\n showError({ error })\r\n }\r\n\r\n return failureCount\r\n }\r\n\r\n handleRfqItemsChange = async (changed = []) => {\r\n let failureCount = 0\r\n let values = changed\r\n\r\n try {\r\n if (changed.some((one) => one.copyTagValuesToAllItems)) {\r\n const item = { ...changed.find((one) => one.copyTagValuesToAllItems), copyTagValuesToAllItems: false }\r\n const tagValues = pick(item, getTagFieldNames())\r\n const otherItems = changed.filter((each) => each.id !== item.id).map((each) => ({ ...each, ...tagValues }))\r\n values = [item, ...otherItems]\r\n }\r\n\r\n await this.promiseState({\r\n formButtonsDisabled: true,\r\n rfqItemsLoading: true,\r\n rfqItems: values,\r\n tabsActiveKey: 'items',\r\n })\r\n\r\n if (!this.props.userIsInRoleSupplier) {\r\n failureCount += await this.repopulateRfqItems()\r\n }\r\n } catch (error) {\r\n failureCount++\r\n showError({ error })\r\n } finally {\r\n this.setState({ formButtonsDisabled: false, rfqItemsLoading: false })\r\n }\r\n\r\n if (failureCount > 0) {\r\n throw new Error()\r\n }\r\n }\r\n\r\n invokeAction = async (action) => {\r\n try {\r\n await this.props.onSave?.(true)\r\n\r\n this.setState({ clientNotifications: null })\r\n\r\n const response = await invoke(this.props, action, this.state.item.id)\r\n\r\n const { failureCount = 0, clientNotifications = [] } = response.value.data\r\n\r\n showClientNotifications({ response })\r\n\r\n if (failureCount > 0) {\r\n this.setState({ clientNotifications })\r\n\r\n throw new Error()\r\n }\r\n\r\n await this.refetchItem()\r\n } catch (error) {\r\n const clientNotifications = error?.data?.clientNotifications ?? []\r\n\r\n showClientNotifications({ clientNotifications })\r\n\r\n if (!isEmpty(clientNotifications)) {\r\n this.setState({ clientNotifications })\r\n } else {\r\n showError({ error })\r\n }\r\n } finally {\r\n await this.props.onSave?.(false)\r\n }\r\n }\r\n\r\n handleActionsMenuClick = async ({ key }) => {\r\n switch (key) {\r\n case 'text/csv':\r\n case 'text/html':\r\n case 'application/pdf':\r\n case 'application/vnd.ms-excel':\r\n if (this.hasUnsavedChanges()) {\r\n message.error(t('saveChangesFirst'))\r\n } else {\r\n Emitter.emit('rfqs.rfqItems.downloadItems', {\r\n parentId: this.state.item.id,\r\n acceptMimeType: key,\r\n pageTitle: `${t('rfq')} - ${this.state.item.id} - ${t('itemsTab')}`,\r\n fileExtension: getFileExtension(key),\r\n })\r\n }\r\n break\r\n\r\n case 'updatePrices':\r\n if (this.hasUnsavedChanges()) {\r\n message.error(t('saveChangesFirst'))\r\n } else {\r\n try {\r\n const { id } = this.state.item\r\n const response = await this.props.getSupplierPrices(id)\r\n\r\n this.setState({\r\n updatePricesItems: response.value.data.map((each, index) => ({\r\n ...each,\r\n id: index + 1,\r\n })),\r\n updatePricesVisible: true,\r\n updatePricesRecords: null,\r\n })\r\n } catch (error) {\r\n showError({ error })\r\n }\r\n }\r\n break\r\n\r\n case 'closeRfq':\r\n case 'cancelRfq':\r\n if (this.hasUnsavedChanges()) {\r\n message.error(t('saveChangesFirst'))\r\n } else {\r\n Modal.confirm({\r\n autoFocusButton: 'ok',\r\n title: t(camelCase(`confirm-${key}`)),\r\n content: t(camelCase(`confirm-${key}-description`)),\r\n okText: t('yes'),\r\n okType: 'danger',\r\n cancelText: t('no'),\r\n onOk: () => this.invokeAction(key),\r\n })\r\n }\r\n break\r\n\r\n case 'deleteRfq':\r\n Modal.confirm({\r\n autoFocusButton: 'ok',\r\n title: t('confirmDeleteRfq'),\r\n content: t('confirmDeleteRfqDescription'),\r\n okText: t('delete'),\r\n okType: 'danger',\r\n cancelText: t('cancel'),\r\n onOk: async () => {\r\n try {\r\n const response = await this.props.deleteRfq(this.state.item.id)\r\n\r\n showClientNotifications({ response })\r\n\r\n if (response.value.data.failureCount > 0) {\r\n throw new Error()\r\n }\r\n\r\n this.props.onSaveAndClose?.()\r\n } catch (error) {\r\n showError({ error })\r\n }\r\n },\r\n })\r\n break\r\n\r\n case 'sendEmail':\r\n if (this.hasUnsavedChanges()) {\r\n message.error(t('saveChangesFirst'))\r\n } else {\r\n this.setState({ sendEmailVisible: true })\r\n }\r\n break\r\n\r\n case 'rfqAuditReport':\r\n confirmUnsavedChanges(() => {\r\n this.props.history.push(\r\n `/reports/audit/rfqAuditReport?${encodeState({\r\n search: str(this.state.item.id),\r\n searchFields: ['objectId'],\r\n searchType: 'Contains',\r\n showFilter: true,\r\n filterDto: { dateRange: { dateRangeType: 'LastNMonths', lastNValue: 12 } },\r\n })}`\r\n )\r\n this.props.onCancel()\r\n })\r\n break\r\n\r\n case 'print':\r\n this.setState(\r\n produce((draft) => {\r\n draft.printItem = { ...draft.item, ...this.props.form.getFieldsValue() }\r\n draft.printVisible = true\r\n })\r\n )\r\n break\r\n\r\n default:\r\n message.warn(t('underDevelopment'))\r\n break\r\n }\r\n }\r\n\r\n invokeExtraAction = async (action) => {\r\n const { item } = this.state\r\n\r\n if (this.hasUnsavedChanges()) {\r\n message.error(t('saveChangesFirst'))\r\n return\r\n }\r\n\r\n try {\r\n await this.props.onSave?.(true)\r\n\r\n this.setState({\r\n [`${action}ButtonLoading`]: true,\r\n clientNotifications: null,\r\n })\r\n\r\n if (this.props[action]) {\r\n const targetTenantId = this.props.filterDto?.tenantId ?? 0\r\n\r\n const response = await invoke(this.props, action, item.id, { targetTenantId })\r\n\r\n showClientNotifications({ response })\r\n\r\n if (response.value.data.failureCount > 0) {\r\n throw new Error()\r\n }\r\n }\r\n\r\n await this.refetchItem()\r\n await this.props.onSave?.(false)\r\n } catch (error) {\r\n showError({ error })\r\n await this.props.onSave?.(false)\r\n } finally {\r\n this.setState({ [`${action}ButtonLoading`]: false })\r\n }\r\n }\r\n\r\n hasUnsavedChanges = () =>\r\n this.state.formHasChanged ||\r\n !this.state.item?.id ||\r\n !isEqual(this.state.item, this.state.itemOriginal) ||\r\n !isEqual(this.state.rfqItems, this.state.rfqItemsOriginal) ||\r\n !isEqual(this.state.rfqSupplierItems, this.state.rfqSupplierItemsOriginal) ||\r\n !isEqual(this.state.documentItems, this.state.documentItemsOriginal)\r\n\r\n handleAddFromList = async (sideFormState) => {\r\n const {\r\n assetDisplayName = '',\r\n jobDisplayName = '',\r\n locationDisplayName = '',\r\n operatorDisplayName = '',\r\n ...params\r\n } = cloneDeep(sideFormState)\r\n\r\n const asset = (params?.assets?.items ?? []).find((one) => one.id === params.assetId)\r\n const job = (params?.jobs?.items ?? []).find((one) => one.id === params.jobId)\r\n const location = (params?.locations?.items ?? []).find((one) => one.id === params.locationId)\r\n const operator = (params?.operators?.items ?? []).find((one) => one.id === params.operatorId)\r\n\r\n this.setState({ addFromListLoading: true, tabsActiveKey: 'items' })\r\n\r\n try {\r\n const response = await this.props.populateRfqItems(\r\n params.addFromListItems.map((each) => ({\r\n quantity: Math.max(each.quantity, 1),\r\n barcode: each.barcode,\r\n assetId: asset?.id,\r\n assetName: asset?.name ?? `*${assetDisplayName}`,\r\n assetNumber: asset?.number,\r\n assetBarcode: asset?.barcode,\r\n jobId: job?.id,\r\n jobName: job?.name ?? `*${jobDisplayName}`,\r\n jobNumber: job?.number,\r\n jobBarcode: job?.barcode ?? jobDisplayName,\r\n locationId: location?.id,\r\n locationName: location?.name ?? `*${locationDisplayName}`,\r\n locationNumber: location?.number,\r\n locationBarcode: location?.barcode,\r\n operatorId: operator?.id,\r\n operatorName: operator?.name ?? `*${operatorDisplayName}`,\r\n operatorNumber: operator?.number,\r\n operatorBarcode: operator?.barcode,\r\n tagA: params.tagA,\r\n tagB: params.tagB,\r\n tagC: params.tagC,\r\n tagD: params.tagD,\r\n tagE: params.tagE,\r\n userName: this.props.user.userName,\r\n }))\r\n )\r\n\r\n this.setState({ sideFormLoading: false })\r\n\r\n showClientNotifications({ response })\r\n\r\n if (response.value.data.failureCount > 0) {\r\n throw new Error()\r\n }\r\n\r\n response.value.data.items.map((each) => message.success(`${each.barcode} ${t('addToRfqSuccess')}`))\r\n\r\n this.setState(\r\n produce((draft) => {\r\n const seed = Date.now() * -1\r\n draft.rfqItems.unshift(\r\n ...response.value.data.items.map((each, index) => ({\r\n ...each,\r\n quantity: recalculateQuantity(each, this.props.customer),\r\n id: seed - index,\r\n rfqItemId: seed - index,\r\n }))\r\n )\r\n }),\r\n this.prioritizeRfqItemsSupplierDetails\r\n )\r\n\r\n Emitter.emit(LIST_MODAL_CLEAR_SELECTION)\r\n } catch (error) {\r\n showError({ error })\r\n\r\n return false\r\n } finally {\r\n this.setState({ addFromListLoading: false })\r\n }\r\n\r\n return true\r\n }\r\n\r\n handleSendEmailSubmit = async (recipients) => {\r\n try {\r\n this.setState({ sendEmailLoading: true })\r\n\r\n const response = await this.props.emailRfq({\r\n recipients,\r\n rfq: this.state.item ?? {},\r\n rfqItems: this.state.rfqItems ?? [],\r\n })\r\n\r\n showClientNotifications({ response })\r\n\r\n if (response.value.data.failureCount > 0) {\r\n throw new Error()\r\n }\r\n\r\n this.setState({\r\n sendEmailLoading: false,\r\n sendEmailVisible: false,\r\n })\r\n } catch (error) {\r\n showError({ error })\r\n this.setState({ sendEmailLoading: false })\r\n }\r\n }\r\n\r\n handleRfqSuppliersItemsChange = (values) =>\r\n this.setState({ rfqSupplierItems: values }, this.prioritizeRfqItemsSupplierDetails)\r\n\r\n prioritizeRfqItemsSupplierDetails = () =>\r\n this.setState(\r\n produce((draft) => {\r\n draft.rfqSupplierItems.forEach((each, index) => {\r\n each.supplierPosition = index\r\n })\r\n\r\n draft.rfqItems.forEach((rfqItem) => {\r\n rfqItem.supplierDetails = draft.rfqSupplierItems.map((each) => {\r\n const existing = rfqItem.supplierDetails.find((one) => one.supplierId === each.supplierId)\r\n return {\r\n supplierName: each.supplierName,\r\n price: existing?.price ?? 0,\r\n comment: get(existing, 'comment', ''),\r\n supplierId: each.supplierId,\r\n supplierPosition: each.supplierPosition,\r\n }\r\n })\r\n })\r\n })\r\n )\r\n\r\n render() {\r\n const { settingsType, userIsInRoleSupplier, userIsDcribDistributor } = this.props\r\n const { item, fieldSettings, documentItems, rfqItems, rfqSupplierItems, quickscan, requireQuantity } = this.state\r\n\r\n if (!item || !fieldSettings) {\r\n return \r\n }\r\n\r\n const createLabel = createLabelFactory(fieldSettings)\r\n const createFieldDecorator = createFieldFactory(this.props.form, item, fieldSettings)\r\n\r\n const readOnly = isReadOnly(this) || ['Cancelled', 'Closed'].includes(item.status)\r\n const targetTenantId = this.props.filterDto?.tenantId ?? 0\r\n const extraButtonsDisabled =\r\n this.state.formButtonsDisabled || this.state.saveButtonLoading || this.state.saveAndCloseButtonLoading\r\n\r\n return (\r\n <>\r\n
\r\n {item.id ? (\r\n \r\n \r\n {t('asCsv')}\r\n {t('asExcel')}\r\n {t('asPdf')}\r\n {t('asHtml')}\r\n \r\n \r\n ) : (\r\n \r\n \r\n {t('updatePrices')}\r\n \r\n \r\n {getUserPermission('Reports') !== 'No' &&\r\n getUserPermission('Rfqs') !== 'None' && [\r\n {t('rfqAuditReport')},\r\n ,\r\n ]}\r\n \r\n {t('asCsv')}\r\n {t('asExcel')}\r\n {t('asPdf')}\r\n {t('asHtml')}\r\n \r\n {t('email')}\r\n {['Draft', 'Open', 'Closed'].includes(item.status) && }\r\n {item.status === 'Open' && (\r\n \r\n {t('closeRfq')}\r\n \r\n )}\r\n {['Open', 'Closed'].includes(item.status) && (\r\n \r\n {t('cancelRfq')}\r\n \r\n )}\r\n {item.status === 'Draft' && (\r\n \r\n {t('deleteRfq')}\r\n \r\n )}\r\n \r\n \r\n {t('print...')}\r\n \r\n \r\n )\r\n }\r\n trigger={['click']}\r\n >\r\n \r\n \r\n ) : null}\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n this.setState({ tabsActiveKey })}\r\n defaultActiveKey=\"items\"\r\n >\r\n \r\n \r\n \r\n \r\n {createFieldDecorator('shipToAddressId')(\r\n this.setItemValue('shipToAddressId', value)}\r\n placeholder={t('select')}\r\n allowClear={false}\r\n readOnly={readOnly || userIsInRoleSupplier}\r\n >\r\n {(this.state.shipToAddressList ?? []).map((each) => (\r\n \r\n ))}\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n this.setItemValue('rfqNumber', e.target.value)}\r\n readOnly={readOnly || userIsInRoleSupplier}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n {createFieldDecorator('requisitionerName')(\r\n this.setItemValue('requisitionerName', e.target.value)}\r\n readOnly={readOnly || userIsInRoleSupplier}\r\n />\r\n )}\r\n \r\n \r\n \r\n \r\n {createFieldDecorator('buyerName')(\r\n this.setItemValue('buyerName', e.target.value)}\r\n readOnly={readOnly || userIsInRoleSupplier}\r\n />\r\n )}\r\n \r\n \r\n \r\n \r\n {createFieldDecorator('responseDueDate')(\r\n this.setItemValue('responseDueDate', value)}\r\n readOnly={readOnly || userIsInRoleSupplier}\r\n />\r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {createFieldDecorator('requisitionerPhone')(\r\n this.setItemValue('requisitionerPhone', e.target.value)}\r\n type=\"tel\"\r\n readOnly={readOnly || userIsInRoleSupplier}\r\n />\r\n )}\r\n \r\n \r\n \r\n \r\n {createFieldDecorator('buyerPhone')(\r\n this.setItemValue('buyerPhone', e.target.value)}\r\n type=\"tel\"\r\n readOnly={readOnly || userIsInRoleSupplier}\r\n />\r\n )}\r\n \r\n \r\n \r\n \r\n {createFieldDecorator('deliveryDueDate')(\r\n this.setItemValue('deliveryDueDate', value)}\r\n readOnly={readOnly || userIsInRoleSupplier}\r\n />\r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {createLabel('requisitionerEmail')} \r\n \r\n }\r\n >\r\n {createFieldDecorator('requisitionerEmail', { extraRules: [validateMultipleEmails()] })(\r\n this.setItemValue('requisitionerEmail', e.target.value)}\r\n readOnly={readOnly || userIsInRoleSupplier}\r\n />\r\n )}\r\n \r\n \r\n \r\n \r\n {createFieldDecorator('buyerEmail')(\r\n this.setItemValue('buyerEmail', e.target.value)}\r\n type=\"email\"\r\n readOnly={readOnly || userIsInRoleSupplier}\r\n />\r\n )}\r\n \r\n \r\n \r\n \r\n \r\n this.setItemValue('customerComment', value)}\r\n rows={7}\r\n label={createLabel('customerComment')}\r\n title={t('addComment')}\r\n readOnly={readOnly || userIsInRoleSupplier}\r\n />\r\n \r\n \r\n \r\n \r\n {}}\r\n onCreatedOrderDrawerClose={this.fetchItem}\r\n downloadItems={this.props.downloadRfqItems}\r\n loading={this.state.rfqItemsLoading}\r\n />\r\n \r\n {!userIsInRoleSupplier && (\r\n \r\n \r\n \r\n )}\r\n \r\n this.setState({ documentItems: values })}\r\n readOnly={readOnly || userIsInRoleSupplier}\r\n />\r\n \r\n {!isNil(item.id) &&\r\n !userIsInRoleSupplier &&\r\n (getUserPermission('Master') === 'Yes' || getUserPermission('Forms') !== 'None') && (\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n {!userIsInRoleSupplier && !userIsDcribDistributor && (\r\n
\r\n {item.status === 'Draft' && item.userAuthorizedForAllLocations && (\r\n this.invokeExtraAction('sendRfq')}\r\n loading={this.state.sendRfqButtonLoading}\r\n disabled={isEmpty(rfqItems) || readOnly || extraButtonsDisabled}\r\n >\r\n {t('send')}\r\n \r\n )}{' '}\r\n {item.status === 'Open' && item.userAuthorizedForAllLocations && (\r\n this.invokeExtraAction('resendRfq')}\r\n loading={this.state.resendRfqButtonLoading}\r\n disabled={isEmpty(rfqItems) || readOnly || extraButtonsDisabled}\r\n >\r\n {t('resend')}\r\n \r\n )}{' '}\r\n {item.status === 'Closed' && item.userAuthorizedForAllLocations && (\r\n \r\n this.hasUnsavedChanges()\r\n ? message.error(t('saveChangesFirst'))\r\n : this.invokeExtraAction('reopenRfq')\r\n }\r\n loading={this.state.reopenRfqButtonLoading}\r\n disabled={isEmpty(rfqItems) || extraButtonsDisabled}\r\n >\r\n {t('reopen')}\r\n \r\n )}\r\n
\r\n )}\r\n
\r\n \r\n {!readOnly && getUserPermission('Purchase') !== 'No' && !userIsInRoleSupplier && (\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n this.setState({ formButtonsDisabled: pending, rfqItemsLoading: pending })}\r\n onSubmit={this.handleSideFormSubmit}\r\n loading={this.state.sideFormLoading}\r\n parentRecord={{\r\n ...item,\r\n rfqItems,\r\n documentItems,\r\n fieldSettings,\r\n }}\r\n parentHasUnsavedChanges={this.hasUnsavedChanges()}\r\n onPunchout={() => this.setState({ tabsActiveKey: 'items' }, this.fetchItem)}\r\n onAddFromList={this.handleAddFromList}\r\n addFromListLoading={this.state.addFromListLoading}\r\n domainObjectType=\"Rfq\"\r\n disabled={extraButtonsDisabled}\r\n />\r\n
\r\n )}\r\n this.setState({ showDataEntrySettings: false })}\r\n footer={null}\r\n >\r\n \r\n this.setState({ quickscan: e.target.checked }, this.saveState)}\r\n >\r\n {t('quickscan')} \r\n \r\n \r\n \r\n this.setState({ requireQuantity: e.target.checked }, this.saveState)}\r\n >\r\n {t('requireQuantity')}\r\n \r\n \r\n \r\n this.setState({ sendEmailVisible: false })}\r\n />\r\n {\r\n try {\r\n this.setState({ updatePricesLoading: true })\r\n\r\n const response = await this.props.updatePrices(\r\n this.state.updatePricesRecords.map((each) => ({\r\n supplierId: each.supplierId,\r\n barcode: each.barcode,\r\n price: each.newPrice,\r\n }))\r\n )\r\n\r\n showClientNotifications({ response })\r\n\r\n if (response.value.data.failureCount > 0) {\r\n throw new Error()\r\n }\r\n\r\n this.setState({ updatePricesVisible: false })\r\n } catch (error) {\r\n showError({ error })\r\n } finally {\r\n this.setState({ updatePricesLoading: false })\r\n }\r\n }}\r\n onCancel={() => this.setState({ updatePricesVisible: false })}\r\n width={992}\r\n >\r\n this.setState({ updatePricesRecords: values })}\r\n mode=\"multiple\"\r\n />\r\n \r\n this.setState({ printVisible: false }, resetPrintHandler)}\r\n width={992}\r\n visible={this.state.printVisible}\r\n >\r\n
\r\n \r\n
\r\n \r\n \r\n )\r\n }\r\n}\r\n\r\nexport default flow(\r\n withRouter,\r\n Form.create({\r\n onValuesChange: (...params) => Emitter.emit(FORM_CHANGE_EVENT, ...params),\r\n })\r\n)(FormView)\r\n","import actions from 'actions/rfqs'\r\nimport { createFormViewContainer } from 'factories/FormView'\r\nimport {\r\n createChildItemsDispatchToProps,\r\n createDocumentsDispatchToProps,\r\n createLinkedItemsDispatchToProps,\r\n} from 'helpers/formViews'\r\nimport documentActions from 'actions/documents'\r\nimport rfqItemActions from 'actions/rfqs/rfqItems'\r\nimport locationActions from 'actions/locations'\r\nimport formInstanceActions from 'actions/formInstances'\r\nimport rfqSupplierActions from 'actions/rfqs/rfqSuppliers'\r\nimport Component from 'components/Rfqs/FormView'\r\n\r\nexport default createFormViewContainer({\r\n actions,\r\n extraDispatchToProps: (dispatch, props) => ({\r\n newItem: (params) => dispatch(actions.newItem(params)),\r\n getAddressList: (params) => dispatch(locationActions.getAddressList(params)),\r\n populateRfqItems: (params) => dispatch(rfqItemActions.populateRfqItems(params)),\r\n saveRfq: (params, options) => dispatch(actions.saveRfq(params, options)),\r\n deleteRfq: (rfqId) => dispatch(actions.deleteItem(rfqId)),\r\n cancelRfq: (params) => dispatch(actions.cancelRfq(params)),\r\n closeRfq: (params) => dispatch(actions.closeRfq(params)),\r\n emailRfq: (params) => dispatch(actions.emailRfq(params)),\r\n sendRfq: (params) => dispatch(actions.sendRfq(params)),\r\n resendRfq: (params) => dispatch(actions.sendRfq(params)),\r\n getSupplierPrices: (rfqId) => dispatch(actions.getSupplierPrices(rfqId)),\r\n updatePrices: (params) => dispatch(actions.updatePrices(params)),\r\n reopenRfq: (rfqId) => dispatch(actions.reopenRfq(rfqId)),\r\n ...createDocumentsDispatchToProps(dispatch, documentActions),\r\n ...createChildItemsDispatchToProps(dispatch, 'Rfq', rfqItemActions),\r\n ...createChildItemsDispatchToProps(dispatch, 'RfqSupplier', rfqSupplierActions),\r\n ...createLinkedItemsDispatchToProps(dispatch, 'FormInstance', formInstanceActions),\r\n }),\r\n})(Component)\r\n","\"use strict\";\n\nvar deselectCurrent = require(\"toggle-selection\");\n\nvar clipboardToIE11Formatting = {\n \"text/plain\": \"Text\",\n \"text/html\": \"Url\",\n \"default\": \"Text\"\n}\n\nvar defaultMessage = \"Copy to clipboard: #{key}, Enter\";\n\nfunction format(message) {\n var copyKey = (/mac os x/i.test(navigator.userAgent) ? \"⌘\" : \"Ctrl\") + \"+C\";\n return message.replace(/#{\\s*key\\s*}/g, copyKey);\n}\n\nfunction copy(text, options) {\n var debug,\n message,\n reselectPrevious,\n range,\n selection,\n mark,\n success = false;\n if (!options) {\n options = {};\n }\n debug = options.debug || false;\n try {\n reselectPrevious = deselectCurrent();\n\n range = document.createRange();\n selection = document.getSelection();\n\n mark = document.createElement(\"span\");\n mark.textContent = text;\n // avoid screen readers from reading out loud the text\n mark.ariaHidden = \"true\"\n // reset user styles for span element\n mark.style.all = \"unset\";\n // prevents scrolling to the end of the page\n mark.style.position = \"fixed\";\n mark.style.top = 0;\n mark.style.clip = \"rect(0, 0, 0, 0)\";\n // used to preserve spaces and line breaks\n mark.style.whiteSpace = \"pre\";\n // do not inherit user-select (it may be `none`)\n mark.style.webkitUserSelect = \"text\";\n mark.style.MozUserSelect = \"text\";\n mark.style.msUserSelect = \"text\";\n mark.style.userSelect = \"text\";\n mark.addEventListener(\"copy\", function(e) {\n e.stopPropagation();\n if (options.format) {\n e.preventDefault();\n if (typeof e.clipboardData === \"undefined\") { // IE 11\n debug && console.warn(\"unable to use e.clipboardData\");\n debug && console.warn(\"trying IE specific stuff\");\n window.clipboardData.clearData();\n var format = clipboardToIE11Formatting[options.format] || clipboardToIE11Formatting[\"default\"]\n window.clipboardData.setData(format, text);\n } else { // all other browsers\n e.clipboardData.clearData();\n e.clipboardData.setData(options.format, text);\n }\n }\n if (options.onCopy) {\n e.preventDefault();\n options.onCopy(e.clipboardData);\n }\n });\n\n document.body.appendChild(mark);\n\n range.selectNodeContents(mark);\n selection.addRange(range);\n\n var successful = document.execCommand(\"copy\");\n if (!successful) {\n throw new Error(\"copy command was unsuccessful\");\n }\n success = true;\n } catch (err) {\n debug && console.error(\"unable to copy using execCommand: \", err);\n debug && console.warn(\"trying IE specific stuff\");\n try {\n window.clipboardData.setData(options.format || \"text\", text);\n options.onCopy && options.onCopy(window.clipboardData);\n success = true;\n } catch (err) {\n debug && console.error(\"unable to copy using clipboardData: \", err);\n debug && console.error(\"falling back to prompt\");\n message = format(\"message\" in options ? options.message : defaultMessage);\n window.prompt(message, text);\n }\n } finally {\n if (selection) {\n if (typeof selection.removeRange == \"function\") {\n selection.removeRange(range);\n } else {\n selection.removeAllRanges();\n }\n }\n\n if (mark) {\n document.body.removeChild(mark);\n }\n reselectPrevious();\n }\n\n return success;\n}\n\nmodule.exports = copy;\n","\nmodule.exports = function () {\n var selection = document.getSelection();\n if (!selection.rangeCount) {\n return function () {};\n }\n var active = document.activeElement;\n\n var ranges = [];\n for (var i = 0; i < selection.rangeCount; i++) {\n ranges.push(selection.getRangeAt(i));\n }\n\n switch (active.tagName.toUpperCase()) { // .toUpperCase handles XHTML\n case 'INPUT':\n case 'TEXTAREA':\n active.blur();\n break;\n\n default:\n active = null;\n break;\n }\n\n selection.removeAllRanges();\n return function () {\n selection.type === 'Caret' &&\n selection.removeAllRanges();\n\n if (!selection.rangeCount) {\n ranges.forEach(function(range) {\n selection.addRange(range);\n });\n }\n\n active &&\n active.focus();\n };\n};\n","import * as React from 'react'\r\nimport { Modal, Form, Tooltip, Button } from 'antd'\r\nimport { isEmpty, pick } from 'lodash'\r\nimport copyToClipboard from 'copy-to-clipboard'\r\nimport { t } from 'helpers/i18n'\r\nimport { stopEvent } from 'helpers/events'\r\nimport { showValidationError } from 'helpers/errors'\r\nimport Select from 'elements/Select'\r\nimport Icon from 'elements/Icon'\r\n\r\nfunction FormView(props) {\r\n const selectRecipientsRef = React.useRef(null)\r\n\r\n const [recipients, setRecipients] = React.useState([])\r\n\r\n function handleSubmit(e) {\r\n stopEvent(e)\r\n\r\n props.form.validateFields((errors, values) => {\r\n if (isEmpty(errors)) {\r\n props.onSubmit?.(recipients)\r\n } else {\r\n showValidationError()\r\n }\r\n })\r\n }\r\n\r\n React.useEffect(() => {\r\n setRecipients([])\r\n\r\n props.form.resetFields(['recipients'])\r\n\r\n if (props.visible) {\r\n window.setTimeout(() => selectRecipientsRef.current?.focus?.(), 1000)\r\n }\r\n }, [props.visible])\r\n\r\n return (\r\n \r\n
\r\n \r\n
\r\n \r\n {\r\n copyToClipboard(recipients.join(' '), {\r\n message: t('copyToClipboard'),\r\n format: 'text/plain',\r\n })\r\n }}\r\n >\r\n \r\n \r\n \r\n
\r\n {props.form.getFieldDecorator('recipients', {\r\n rules: [{ required: true, message: t('requiredField') }],\r\n })(\r\n setRecipients(values)}\r\n autoFocus\r\n />\r\n )}\r\n
\r\n
\r\n \r\n )\r\n}\r\n\r\nexport default Form.create()(FormView)\r\n"],"sourceRoot":""}