{"version":3,"sources":["components/Requisitions/Items/FormView.jsx","containers/Requisitions/Items/FormView.js"],"names":["TAG_TYPES","FormView","React","constructor","props","_this","super","this","state","searchSuppliers","async","item","suppliers","getSuppliers","search","supplierIds","orderSupplierId","nonStockSuppliersOnly","nonStock","setState","get","error","showError","getItemId","_this$state$item","_this$props$linkTarge","_this$props$linkTarge2","id","linkTargetRecord","orderItemId","find","Boolean","fetchItem","itemId","arguments","length","undefined","_this$props$settingsT","_this$props$findByBar","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","quantityIssued","price","barcode","concat","Date","now","packageSize","userName","user","populated","getSettings","type","settingsType","getLocations","cloneDeep","value","data","tagsEnabled","userIsInRoleSupplier","userIsInRoleDistributor","jobs","operators","assets","unitsOfMeasure","supplierDetailItems","coreUserSettings","tagSettings","tag1EnabledPurch","getJobs","jobIds","resolve","tag2EnabledPurch","getOperators","operatorIds","tag3EnabledPurch","getAssets","assetIds","getUnitsOfMeasure","findByBarcode","then","r","getSupplierDetailItems","assetName","trimStart","getAsset","displayName","operatorName","getOperator","jobName","getJob","tagListItems","getTagListItems","tagType","fieldSettings","copyTagValuesToAllItemsClientSettings","locations","setItemValue","name","produce","draft","customer","generalSettings","allowOverIssueFromRequisition","validateQuantityRequisitioned","validateQuantityIssued","supplierDetailItem","one","supplierId","supplierItemNumber","Object","assign","form","setFieldsValue","console","warn","set","setTagValue","key","pluralize","forEach","camelCase","beforeValidateFields","_operators$items","_jobs$items","_assets$items","promises","uniq","items","map","each","push","operator","tag","asset","filteredTagListItems","filter","description","toLower","indexOf","handleSubmit","createHandleSubmit","debounce","DEBOUNCE","searchOperators","createSearchOperatorTag","searchJobs","createSearchJobTag","searchAssets","createSearchAssetTag","transformSaveItemParams","createOrderItemsTransformSaveItemParams","componentDidMount","render","_this$props$parentRec","_this$props$parentRec2","_suppliers$items","_this$state$unitsOfMe","_this$state$locations","_operators$items2","_jobs$items3","_assets$items3","siblingRecords","isNil","_jsx","_Spin","createLabel","createLabelFactory","createFieldDecorator","createFieldFactory","readOnly","isReadOnly","some","tagsReadOnly","barcodeDisabled","quantityIssuedEnabled","parentRecord","approved","includes","status","getUserPermission","_jsxs","_Form","layout","colon","onSubmit","stopEvent","children","className","ValidationError","errors","validationErrors","_Tabs","activeKey","tabsActiveKey","onChange","TabPane","tab","t","forceRender","Row","Col","half","Item","label","extraRules","validateBarcode","validateDuplicateBarcode","_Input","disabled","Select","dropdownRender","createDropdownRender","onSearch","allowClear","showSearch","Option","createFilterUserSuppliers","getOptionProps","packageSizeUom","xs","allowPricing","InputNumber","Math","max","min","currency","validator","rule","callback","tryParseInt","getFieldValue","Error","cx","itemOrdered","formatUserTime","orderDate","orderBy","HARD_SPACE","valuePropName","Checkbox","tag2","getFieldDecorator","rules","tag2Required","required","message","initialValue","validateTrigger","AutoComplete","defaultActiveFirstOption","dataSource","onPressEnter","autoComplete","suffix","Suffix","tag1","tag1Required","tag1Restricted","_jobs$items2","isEmpty","tag3","tag3Required","tag3Restricted","_assets$items2","enum","filterOption","filterByValue","_Button","onClick","_Fragment","_Tooltip","title","placement","htmlType","loading","saveAndCloseButtonLoading","create","createChildFormViewContainer","actions","extraDispatchToProps","dispatch","params","locationActions","getItems","locationVendingTypes","jobActions","operatorActions","assetActions","tagListActions","getOptions","unitsOfMeasureActions","supplierActions","pageIndex","pageSize","active","productActions","createChildItemsDispatchToProps","supplierDetailActions","Component"],"mappings":"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","file":"static/js/54.02067d3f.chunk.js","sourcesContent":["import * as React from 'react'\r\nimport { Form, Spin, Button, Tabs, Input, Tooltip } from 'antd'\r\nimport { isNil, set, get, uniq, toLower, cloneDeep, debounce, camelCase, trimStart, isEmpty } from 'lodash'\r\nimport produce from 'immer'\r\nimport pluralize from 'pluralize'\r\nimport cx from 'clsx'\r\nimport { showError, resourceNotFound, ValidationError } from 'helpers/errors'\r\nimport { allowPricing, getUserPermission, createFilterUserSuppliers } from 'helpers/auth'\r\nimport { tryParseInt, HARD_SPACE, DEBOUNCE } from 'helpers/utils'\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\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 { stopEvent } from 'helpers/events'\r\nimport {\r\n  createOrderItemsTransformSaveItemParams,\r\n  validateQuantityRequisitioned,\r\n  validateQuantityIssued,\r\n  copyTagValuesToAllItemsClientSettings,\r\n} from 'helpers/procurement'\r\nimport { formatUserTime } from 'helpers/dateTime'\r\nimport { t } from 'helpers/i18n'\r\nimport AutoComplete, { Suffix } from 'elements/AutoComplete'\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.searchSuppliers = debounce(this.searchSuppliers, DEBOUNCE)\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  searchSuppliers = async (search) => {\r\n    try {\r\n      const { item } = this.state\r\n      const suppliers = await this.props.getSuppliers({\r\n        search,\r\n        supplierIds: item.orderSupplierId ? [item.orderSupplierId] : [],\r\n        nonStockSuppliersOnly: item.nonStock,\r\n      })\r\n\r\n      this.setState({ suppliers: get(suppliers, 'value.data', {}) })\r\n    } catch (error) {\r\n      showError({ error })\r\n    }\r\n  }\r\n\r\n  getItemId = () =>\r\n    [this.state.item?.id, this.props.linkTargetRecord?.orderItemId, 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 ?? 'requisition' }),\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, supplierDetailItems] = 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        item.barcode && !item.nonStock\r\n          ? (this.props\r\n              .findByBarcode(item)\r\n              .then((r) => this.props.getSupplierDetailItems(r.value.data.id))\r\n              .catch(() => {}) ?? null)\r\n          : Promise.resolve(null),\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\r\n      const tagListItems = await (tagsEnabled ? this.props.getTagListItems({ tagType: 'All' }) : Promise.resolve(null))\r\n\r\n      this.setState(\r\n        {\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          supplierDetailItems: get(supplierDetailItems, 'value.data.items', []),\r\n        },\r\n        this.searchSuppliers\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        if (!this.props.customer.generalSettings.allowOverIssueFromRequisition) {\r\n          if (name === 'quantity') {\r\n            validateQuantityRequisitioned(draft.item.quantityIssued, value)\r\n          }\r\n\r\n          if (name === 'quantityIssued') {\r\n            validateQuantityIssued(draft.item.quantity, value)\r\n          }\r\n        }\r\n\r\n        if (name === 'supplierId' && !draft.item.nonStock) {\r\n          try {\r\n            const supplierDetailItem = draft.supplierDetailItems.find((one) => one.supplierId === value)\r\n\r\n            if (supplierDetailItem) {\r\n              const { supplierItemNumber, price } = supplierDetailItem\r\n              Object.assign(draft.item, { supplierItemNumber, price })\r\n              this.props.form.setFieldsValue({ supplierItemNumber, price })\r\n            } else {\r\n              draft.item.supplierItemNumber = ''\r\n              this.props.form.setFieldsValue({ supplierItemNumber: '' })\r\n            }\r\n          } catch (error) {\r\n            console.warn(error)\r\n          }\r\n        }\r\n\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 tag = jobs.items[0]\r\n\r\n              ;['id', 'barcode', 'displayName', 'name', 'number'].forEach((one) => {\r\n                set(draft.item, camelCase(`job-${one}`), tag[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 = [] } = this.props\r\n    const { item, fieldSettings, operators, jobs, assets, tagListItems, suppliers } = this.state\r\n\r\n    if (!fieldSettings || isNil(suppliers)) {\r\n      return <Spin />\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    const quantityIssuedEnabled =\r\n      this.props.parentRecord?.approved === true &&\r\n      ['Open', 'Closed'].includes(this.props.parentRecord?.status) &&\r\n      getUserPermission('Issue') === 'Yes'\r\n\r\n    return (\r\n      <Form layout=\"vertical\" colon={false} onSubmit={readOnly ? stopEvent : this.handleSubmit}>\r\n        <div className=\"form-items-container\">\r\n          <ValidationError errors={this.state.validationErrors} />\r\n          <Tabs\r\n            activeKey={this.state.tabsActiveKey || 'item'}\r\n            onChange={(tabsActiveKey) => this.setState({ tabsActiveKey })}\r\n          >\r\n            <Tabs.TabPane key=\"item\" tab={t('item')} forceRender>\r\n              <Row>\r\n                <Col half>\r\n                  <Form.Item label={createLabel('barcode')}>\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                    )(<Input disabled={barcodeDisabled} />)}\r\n                  </Form.Item>\r\n                </Col>\r\n                <Col half>\r\n                  <Form.Item label={createLabel('orderSupplierId')}>\r\n                    {createFieldDecorator('orderSupplierId')(\r\n                      <Select\r\n                        onChange={(value) => this.setItemValue('orderSupplierId', value)}\r\n                        dropdownRender={createDropdownRender(suppliers)}\r\n                        onSearch={this.searchSuppliers}\r\n                        allowClear={false}\r\n                        readOnly={readOnly}\r\n                        showSearch\r\n                      >\r\n                        <Option value={0}>{t('notAssigned')}</Option>\r\n                        {(suppliers?.items ?? [])\r\n                          .filter((each) => each.id)\r\n                          .filter(createFilterUserSuppliers(item.orderSupplierId))\r\n                          .map((each) => (\r\n                            <Option key={each.id} value={each.id}>\r\n                              <span {...getOptionProps(each)}>{each.name}</span>\r\n                            </Option>\r\n                          ))}\r\n                      </Select>\r\n                    )}\r\n                  </Form.Item>\r\n                </Col>\r\n              </Row>\r\n              <Row>\r\n                <Col half>\r\n                  <Form.Item label={createLabel('itemNumber')}>\r\n                    {createFieldDecorator('itemNumber')(<Input readOnly={readOnly} />)}\r\n                  </Form.Item>\r\n                </Col>\r\n              </Row>\r\n              <Form.Item label={createLabel('description')}>\r\n                {createFieldDecorator('description')(<Input readOnly={readOnly} />)}\r\n              </Form.Item>\r\n              <Row>\r\n                <Col half>\r\n                  {item.id > 0 ? (\r\n                    <Form.Item label={createLabel('packageSizeUom')}>\r\n                      <Input value={item.packageSizeUom} disabled />\r\n                    </Form.Item>\r\n                  ) : (\r\n                    <Row>\r\n                      <Col xs={item.nonStock && !(item.id > 0) ? 12 : 24}>\r\n                        <Form.Item label={createLabel('packageSize')}>\r\n                          <Input value={item.packageSize} disabled />\r\n                        </Form.Item>\r\n                      </Col>\r\n                      {item.nonStock && !(item.id > 0) && (\r\n                        <Col xs={12}>\r\n                          <Form.Item label={createLabel('unitOfMeasure')}>\r\n                            {createFieldDecorator('unitOfMeasure')(\r\n                              <Select\r\n                                onChange={(value) => this.setItemValue('unitOfMeasure', value)}\r\n                                readOnly={readOnly}\r\n                              >\r\n                                {(this.state.unitsOfMeasure ?? []).map((each) => (\r\n                                  <Option key={each.displayName} value={each.displayName}>\r\n                                    {each.displayName}\r\n                                  </Option>\r\n                                ))}\r\n                              </Select>\r\n                            )}\r\n                          </Form.Item>\r\n                        </Col>\r\n                      )}\r\n                    </Row>\r\n                  )}\r\n                  <Form.Item label={createLabel('locationId')}>\r\n                    {createFieldDecorator('locationId')(\r\n                      <Select allowClear={false} readOnly={readOnly}>\r\n                        {(this.state.locations ?? []).map((each) => (\r\n                          <Option key={each.id} value={each.id}>\r\n                            <span {...getOptionProps(each)}>{each.displayName}</span>\r\n                          </Option>\r\n                        ))}\r\n                      </Select>\r\n                    )}\r\n                  </Form.Item>\r\n                  <Row>\r\n                    <Col xs={allowPricing() ? 12 : 24}>\r\n                      <Form.Item label={createLabel('quantity')}>\r\n                        {createFieldDecorator('quantity')(\r\n                          <InputNumber\r\n                            onChange={(value) => this.setItemValue('quantity', Math.max(value, 1))}\r\n                            min={1}\r\n                            readOnly={readOnly}\r\n                          />\r\n                        )}\r\n                      </Form.Item>\r\n                    </Col>\r\n                    {allowPricing() && (\r\n                      <Col xs={12}>\r\n                        <Form.Item label={createLabel('price')}>\r\n                          {createFieldDecorator('price')(<InputNumber readOnly={readOnly} min={0} currency />)}\r\n                        </Form.Item>\r\n                      </Col>\r\n                    )}\r\n                  </Row>\r\n                  <Form.Item label={createLabel('quantityIssued')}>\r\n                    {createFieldDecorator('quantityIssued', {\r\n                      extraRules: [\r\n                        {\r\n                          validator: (rule, value, callback) => {\r\n                            const quantity = tryParseInt(this.props.form.getFieldValue('quantity'))\r\n                            const quantityIssued = tryParseInt(this.props.form.getFieldValue('quantityIssued'))\r\n                            callback(\r\n                              !customer.generalSettings.allowOverIssueFromRequisition && quantityIssued > quantity\r\n                                ? [new Error(t('errorQuantityIssued'))]\r\n                                : []\r\n                            )\r\n                          },\r\n                        },\r\n                      ],\r\n                    })(\r\n                      <InputNumber\r\n                        onChange={(value) => this.setItemValue('quantityIssued', value)}\r\n                        readOnly={readOnly}\r\n                        disabled={!quantityIssuedEnabled}\r\n                        className={cx({\r\n                          'form-field-success':\r\n                            item.quantityIssued === item.quantity ||\r\n                            (customer.generalSettings.allowOverIssueFromRequisition &&\r\n                              item.quantityIssued > item.quantity),\r\n                          'form-field-error':\r\n                            !customer.generalSettings.allowOverIssueFromRequisition &&\r\n                            item.quantityIssued > item.quantity,\r\n                        })}\r\n                        min={0}\r\n                      />\r\n                    )}\r\n                  </Form.Item>\r\n                  <Form.Item label={createLabel('itemOrdered')}>\r\n                    <Input value={item.itemOrdered ? formatUserTime(item.orderDate, item.orderBy) : t('no')} disabled />\r\n                  </Form.Item>\r\n                </Col>\r\n                <Col half>\r\n                  <Form.Item label={createLabel('manufacturer')}>\r\n                    {createFieldDecorator('manufacturer')(<Input readOnly={readOnly} />)}\r\n                  </Form.Item>\r\n                  <Form.Item label={createLabel('binLocation')}>\r\n                    {createFieldDecorator('binLocation')(<Input readOnly={readOnly} />)}\r\n                  </Form.Item>\r\n                  <Row>\r\n                    <Col xs={12}>\r\n                      <Form.Item label={HARD_SPACE}>\r\n                        {createFieldDecorator('expedite', { valuePropName: 'checked' })(\r\n                          <Checkbox readOnly={readOnly}>{createLabel('expedite')}</Checkbox>\r\n                        )}\r\n                      </Form.Item>\r\n                    </Col>\r\n                    <Col xs={12}>\r\n                      <Form.Item label={HARD_SPACE}>\r\n                        {createFieldDecorator('taxable', { valuePropName: 'checked' })(\r\n                          <Checkbox readOnly={readOnly}>{createLabel('taxable')}</Checkbox>\r\n                        )}\r\n                      </Form.Item>\r\n                    </Col>\r\n                  </Row>\r\n                  <Form.Item label={HARD_SPACE}>\r\n                    {createFieldDecorator('nonInventory', { valuePropName: 'checked' })(\r\n                      <Checkbox readOnly={readOnly} disabled={!item.nonStock || item.id > 0}>\r\n                        {createLabel('nonInventory')}\r\n                      </Checkbox>\r\n                    )}\r\n                  </Form.Item>\r\n                </Col>\r\n              </Row>\r\n            </Tabs.TabPane>\r\n            {tagsEnabled && (\r\n              <Tabs.TabPane key=\"tags\" tab={t('tags')} forceRender>\r\n                <Row>\r\n                  <Col half>\r\n                    {user.coreUserSettings.tagSettings.tag2EnabledPurch && (\r\n                      <Form.Item label={customer.tagSettings.tag2}>\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                          <AutoComplete\r\n                            defaultActiveFirstOption={false}\r\n                            dataSource={(operators?.items ?? []).map((each) => 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                            <Input\r\n                              onPressEnter={stopEvent}\r\n                              autoComplete=\"off\"\r\n                              suffix={<Suffix />}\r\n                              readOnly={readOnly || tagsReadOnly}\r\n                              allowClear\r\n                            />\r\n                          </AutoComplete>\r\n                        )}\r\n                      </Form.Item>\r\n                    )}\r\n                    {user.coreUserSettings.tagSettings.tag1EnabledPurch && (\r\n                      <Form.Item label={customer.tagSettings.tag1}>\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                          <AutoComplete\r\n                            defaultActiveFirstOption={false}\r\n                            dataSource={(jobs?.items ?? []).map((each) => 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                            <Input\r\n                              onPressEnter={stopEvent}\r\n                              autoComplete=\"off\"\r\n                              suffix={<Suffix />}\r\n                              readOnly={readOnly || tagsReadOnly}\r\n                              allowClear\r\n                            />\r\n                          </AutoComplete>\r\n                        )}\r\n                      </Form.Item>\r\n                    )}\r\n                    {user.coreUserSettings.tagSettings.tag3EnabledPurch && (\r\n                      <Form.Item label={customer.tagSettings.tag3}>\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                          <AutoComplete\r\n                            defaultActiveFirstOption={false}\r\n                            dataSource={(assets?.items ?? []).map((each) => 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                            <Input\r\n                              onPressEnter={stopEvent}\r\n                              autoComplete=\"off\"\r\n                              suffix={<Suffix />}\r\n                              readOnly={readOnly || tagsReadOnly}\r\n                              allowClear\r\n                            />\r\n                          </AutoComplete>\r\n                        )}\r\n                      </Form.Item>\r\n                    )}\r\n                    {['A', 'B', 'C', 'D', 'E'].map(\r\n                      (type) =>\r\n                        user.coreUserSettings.tagSettings[`tag${type}EnabledPurch`] && (\r\n                          <Form.Item key={type} label={customer.tagSettings[`tag${type}`]}>\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                                <AutoComplete\r\n                                  defaultActiveFirstOption={false}\r\n                                  dataSource={tagListItems\r\n                                    .filter((each) => 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                                  <Input\r\n                                    onPressEnter={stopEvent}\r\n                                    autoComplete=\"off\"\r\n                                    suffix={<Suffix />}\r\n                                    readOnly={readOnly || tagsReadOnly}\r\n                                    allowClear\r\n                                  />\r\n                                </AutoComplete>\r\n                              ) : (\r\n                                <Input\r\n                                  onPressEnter={stopEvent}\r\n                                  autoComplete=\"off\"\r\n                                  readOnly={readOnly || tagsReadOnly}\r\n                                  allowClear\r\n                                />\r\n                              )\r\n                            )}\r\n                          </Form.Item>\r\n                        )\r\n                    )}\r\n                  </Col>\r\n                  {!readOnly && !tagsReadOnly ? (\r\n                    <Col half>\r\n                      <Form.Item label={HARD_SPACE}>\r\n                        {createFieldDecorator('copyTagValuesToAllItems', { valuePropName: 'checked' })(\r\n                          <Checkbox>{createLabel('copyTagValuesToAllItems')}</Checkbox>\r\n                        )}\r\n                      </Form.Item>\r\n                    </Col>\r\n                  ) : null}\r\n                </Row>\r\n              </Tabs.TabPane>\r\n            )}\r\n          </Tabs>\r\n        </div>\r\n        <div className=\"form-buttons-container\">\r\n          {readOnly ? (\r\n            <Button onClick={this.props.onCancel}>{t('close')}</Button>\r\n          ) : (\r\n            <>\r\n              <Button onClick={this.props.onCancel}>{t('cancel')}</Button>{' '}\r\n              <Tooltip title={t('childRecordSaveInfo')} placement=\"topLeft\">\r\n                <Button type=\"primary\" htmlType=\"submit\" loading={this.state.saveAndCloseButtonLoading}>\r\n                  {!this.props.linkTargetRecord ? t('add') : t('update')}\r\n                </Button>\r\n              </Tooltip>\r\n            </>\r\n          )}\r\n        </div>\r\n      </Form>\r\n    )\r\n  }\r\n}\r\n\r\nexport default Form.create()(FormView)\r\n","import actions from 'actions/requisitions/requisitionItems'\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/Requisitions/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"],"sourceRoot":""}