|
- {"ast":null,"code":"import _regeneratorRuntime from \"/Users/michielcarman/Server Code/Repository/clients-rpm-kit-manager/code/RPM.KitManager/RPM.KitManager.Web/ClientApp/node_modules/babel-preset-react-app/node_modules/@babel/runtime/regenerator\";\nimport _asyncToGenerator from \"/Users/michielcarman/Server Code/Repository/clients-rpm-kit-manager/code/RPM.KitManager/RPM.KitManager.Web/ClientApp/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/asyncToGenerator\";\nimport _defineProperty from \"/Users/michielcarman/Server Code/Repository/clients-rpm-kit-manager/code/RPM.KitManager/RPM.KitManager.Web/ClientApp/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/defineProperty\";\nimport _objectSpread from \"/Users/michielcarman/Server Code/Repository/clients-rpm-kit-manager/code/RPM.KitManager/RPM.KitManager.Web/ClientApp/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/objectSpread\";\nimport _classCallCheck from \"/Users/michielcarman/Server Code/Repository/clients-rpm-kit-manager/code/RPM.KitManager/RPM.KitManager.Web/ClientApp/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"/Users/michielcarman/Server Code/Repository/clients-rpm-kit-manager/code/RPM.KitManager/RPM.KitManager.Web/ClientApp/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/createClass\";\nimport _possibleConstructorReturn from \"/Users/michielcarman/Server Code/Repository/clients-rpm-kit-manager/code/RPM.KitManager/RPM.KitManager.Web/ClientApp/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn\";\nimport _getPrototypeOf from \"/Users/michielcarman/Server Code/Repository/clients-rpm-kit-manager/code/RPM.KitManager/RPM.KitManager.Web/ClientApp/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/getPrototypeOf\";\nimport _inherits from \"/Users/michielcarman/Server Code/Repository/clients-rpm-kit-manager/code/RPM.KitManager/RPM.KitManager.Web/ClientApp/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/inherits\";\nvar _jsxFileName = \"/Users/michielcarman/Server Code/Repository/clients-rpm-kit-manager/code/RPM.KitManager/RPM.KitManager.Web/ClientApp/src/containers/RequestForDeviation/DeviationECO.tsx\";\nimport React, { Component } from \"react\";\nimport { Card, CardBody, Col, Container, Row, CardHeader } from \"reactstrap\";\nimport FormRow from \"../../shared/components/form/FormRow\";\nimport { ApprovalMessage } from '../../shared/components/ApprovalMessage/ApprovalMessage';\nimport { SubmissionButtonsGroup } from \"../../shared/components/SubmissionButtonsGroup/SubmissionButtonsGroup\";\nimport axios from \"axios\";\nimport { deviationFormBuilder } from './deviationFormBuilder';\n\nvar RequestForDeviationForm = /*#__PURE__*/function (_Component) {\n _inherits(RequestForDeviationForm, _Component);\n\n function RequestForDeviationForm(props) {\n var _this;\n\n _classCallCheck(this, RequestForDeviationForm);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(RequestForDeviationForm).call(this, props));\n\n _this.handleChange = function (e) {\n var _e$target = e.target,\n name = _e$target.name,\n value = _e$target.value;\n\n _this.setState(_objectSpread({}, _this.state, _defineProperty({}, name, value)));\n };\n\n _this.submitForApproval = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n console.info(\"this button is not needed.\");\n\n case 1:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n _this.approve = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {\n var body, config;\n return _regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n body = _objectSpread({}, _this.state, {\n id: parseInt(_this.state.id)\n });\n config = {\n headers: {\n 'Content-Type': 'application/json'\n }\n };\n _context2.next = 4;\n return axios.put(\"/api/deviation/approve/\".concat(_this.state.id), body, config).then(function (res) {\n console.log(res);\n location.href = \"/forms/rfd/form/\".concat(_this.state.id);\n }).catch(function (err) {\n return console.log(err);\n });\n\n case 4:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2);\n }));\n\n _this.reject = function () {\n alert('The item has been rejected');\n return location.href = \"/forms/rfd/form/\".concat(_this.state.id);\n };\n\n _this.saveECO = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3() {\n var body, config;\n return _regeneratorRuntime.wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n if (_this.state.orderNumber == null) alert('You left a field blank');\n body = _objectSpread({}, _this.state, {\n id: null,\n pieces: parseInt(_this.state.pieces ? _this.state.pieces.toString() : \"null\"),\n qtyOfMaterial: parseInt(_this.state.qtyOfMaterial ? _this.state.qtyOfMaterial.toString() : \"null\")\n });\n config = {\n headers: {\n 'Content-Type': 'application/json'\n }\n };\n\n if (!(_this.state.id == \"new\")) {\n _context3.next = 8;\n break;\n }\n\n _context3.next = 6;\n return axios.post(\"/api/deviation/addSingle\", body, config).then(function (res) {\n var savedRecordId = res.data.items.id;\n location.href = \"/forms/rfd/form/\".concat(savedRecordId);\n }).catch(function (err) {\n console.log(err.message);\n alert(err);\n });\n\n case 6:\n _context3.next = 8;\n break;\n\n case 8:\n case \"end\":\n return _context3.stop();\n }\n }\n }, _callee3);\n }));\n\n _this.changeStatus = function (newStatus) {\n switch (newStatus) {\n case 'read':\n _this.setState({\n formStatus: newStatus,\n formDisabled: true\n });\n\n break;\n\n case 'edit':\n _this.setState({\n formStatus: newStatus,\n formDisabled: false\n });\n\n break;\n\n case 'review':\n _this.setState({\n formStatus: newStatus,\n formDisabled: true\n });\n\n break;\n }\n };\n\n _this.toggleSubmitButton = function () {\n alert('change');\n var newState = !_this.state.reviewRequired;\n\n _this.setState({\n reviewRequired: newState\n });\n };\n\n _this.state = {\n id: _this.props.match.params.id,\n formStatus: 'read',\n reviewRequired: false,\n formDisabled: true,\n partNumber: \"\",\n type: \"\",\n reason: \"\",\n orderNumber: \"\",\n renew: false,\n createDate: null,\n previousId: null,\n description: '',\n // Card 2\n pieces: null,\n qtyOfMaterial: null,\n startDate: null,\n endDate: null,\n // Card 3\n caplan: \"\",\n responsibleUserId: null,\n responsibleUserName: \"\",\n caplanDate: null,\n // Card 4 \n revalidate: false,\n fff: false,\n marking: false,\n customer: \"\",\n contact: \"\",\n contactDate: null,\n comment: \"\",\n // Card 5\n materialSub: false,\n partSub: false,\n adjustUserId: null,\n adjustUserName: \"\",\n effect: \"\",\n adjustDate: null,\n remarks: \"\",\n // Card 6\n verifyUserId: null,\n verifyUserName: \"\",\n verifyDate: null\n };\n return _this;\n }\n\n _createClass(RequestForDeviationForm, [{\n key: \"componentDidMount\",\n value: function () {\n var _componentDidMount = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee4() {\n var _this2 = this;\n\n return _regeneratorRuntime.wrap(function _callee4$(_context4) {\n while (1) {\n switch (_context4.prev = _context4.next) {\n case 0:\n if (!(this.state.id == \"new\")) {\n _context4.next = 6;\n break;\n }\n\n console.log('not querying on a new spec');\n this.setState(_objectSpread({}, this.state, {\n formStatus: 'edit',\n formDisabled: false\n }));\n return _context4.abrupt(\"return\");\n\n case 6:\n _context4.next = 8;\n return axios.get(\"/api/deviation/single/\".concat(this.state.id)).then(function (res) {\n var Deviation;\n Deviation = res.data.items.records[0]; // check for User Signatures to determine \"read/review\" and \"write\"\n\n if (Deviation.verifyUserName) {\n //User Information exists, show the form, Filled in ('read' view)\n _this2.setState(_objectSpread({}, _this2.state, Deviation, {\n id: _this2.props.match.params.id,\n formStatus: \"read\",\n formDisabled: true\n }));\n } else {\n //User Information not exist, show teh form in review mode filled in ('review' view)\n _this2.setState(_objectSpread({}, _this2.state, Deviation, {\n id: _this2.props.match.params.id,\n formStatus: \"review\",\n formDisabled: true\n }));\n }\n }).catch(function (err) {\n alert(err);\n console.log(err);\n });\n\n case 8:\n case \"end\":\n return _context4.stop();\n }\n }\n }, _callee4, this);\n }));\n\n function componentDidMount() {\n return _componentDidMount.apply(this, arguments);\n }\n\n return componentDidMount;\n }()\n }, {\n key: \"render\",\n value: function render() {\n var _this3 = this;\n\n var _this$state = this.state,\n formStatus = _this$state.formStatus,\n verifyUserName = _this$state.verifyUserName,\n responsibleUserName = _this$state.responsibleUserName;\n\n var _deviationFormBuilder = deviationFormBuilder(this.state),\n basicInfo1 = _deviationFormBuilder.basicInfo1,\n basicInfo2 = _deviationFormBuilder.basicInfo2,\n deviationTerminationConditions = _deviationFormBuilder.deviationTerminationConditions,\n correctiveAction = _deviationFormBuilder.correctiveAction,\n productIssues = _deviationFormBuilder.productIssues,\n inventoryIssues = _deviationFormBuilder.inventoryIssues,\n traceability = _deviationFormBuilder.traceability;\n\n var formStatusAlert;\n var formDisabled = true;\n var editButton; // Build alert based on the status\n\n switch (this.state.formStatus) {\n case 'edit':\n formStatusAlert = /*#__PURE__*/React.createElement(\"div\", {\n className: \"change-status editing\",\n __self: this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 246,\n columnNumber: 35\n }\n }, \"Currently Editing\");\n break;\n\n case 'review':\n formStatusAlert = /*#__PURE__*/React.createElement(ApprovalMessage, {\n approvalMessage: this.approve,\n rejectionMessage: this.reject,\n __self: this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 249,\n columnNumber: 35\n }\n });\n break;\n }\n\n if (formStatus == 'read') {\n formStatusAlert = /*#__PURE__*/React.createElement(\"div\", {\n __self: this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 256,\n columnNumber: 31\n }\n });\n editButton = /*#__PURE__*/React.createElement(\"button\", {\n type: \"submit\",\n className: \"btn btn-primary heading-button\",\n onClick: function onClick() {\n return _this3.changeStatus('edit');\n },\n __self: this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 257,\n columnNumber: 26\n }\n }, /*#__PURE__*/React.createElement(\"span\", {\n className: \"lnr lnr-pencil\",\n __self: this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 257,\n columnNumber: 133\n }\n }), \" \\xA0 Edit\");\n formDisabled = true;\n } else if (formStatus == 'edit') {\n formStatusAlert = /*#__PURE__*/React.createElement(\"div\", {\n className: \"change-status editing\",\n __self: this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 260,\n columnNumber: 31\n }\n }, \"Currently Editing\");\n formDisabled = false;\n } else if (formStatus == 'review') {} // let testPrintButton = <Button className=\"btn btn-primary heading-button\" onClick={this.pdf}>Print This Page(Debug Only)</Button>\n\n\n editButton = /*#__PURE__*/React.createElement(\"button\", {\n type: \"submit\",\n className: \"btn btn-primary heading-button\",\n disabled: true,\n __self: this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 267,\n columnNumber: 22\n }\n }, /*#__PURE__*/React.createElement(\"span\", {\n className: \"lnr lnr-pencil\",\n __self: this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 271,\n columnNumber: 10\n }\n }), \" \\xA0 Edit\");\n return /*#__PURE__*/React.createElement(Container, {\n className: \"dashboard\",\n __self: this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 273,\n columnNumber: 13\n }\n }, /*#__PURE__*/React.createElement(Row, {\n __self: this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 274,\n columnNumber: 17\n }\n }, /*#__PURE__*/React.createElement(Col, {\n md: 12,\n __self: this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 275,\n columnNumber: 21\n }\n }, /*#__PURE__*/React.createElement(\"h3\", {\n className: \"page-title\",\n style: {\n float: 'left'\n },\n __self: this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 276,\n columnNumber: 25\n }\n }, \"Request for Deviation \", /*#__PURE__*/React.createElement(\"span\", {\n className: \"lnr lnr-chevron-right\",\n __self: this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 276,\n columnNumber: 101\n }\n }), \" formNumber: \", this.state.id), /*#__PURE__*/React.createElement(\"h5\", {\n style: {\n float: 'right'\n },\n __self: this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 277,\n columnNumber: 25\n }\n }, \" Issued by: \", this.state.responsibleUserName))), /*#__PURE__*/React.createElement(Row, {\n __self: this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 280,\n columnNumber: 17\n }\n }, /*#__PURE__*/React.createElement(Col, {\n md: 12,\n lg: 12,\n __self: this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 281,\n columnNumber: 21\n }\n }, formStatusAlert, /*#__PURE__*/React.createElement(Card, {\n __self: this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 283,\n columnNumber: 25\n }\n }, /*#__PURE__*/React.createElement(CardHeader, {\n __self: this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 284,\n columnNumber: 29\n }\n }, \"Basic Info\"), /*#__PURE__*/React.createElement(CardBody, {\n __self: this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 285,\n columnNumber: 29\n }\n }, /*#__PURE__*/React.createElement(FormRow, {\n handleChange: this.handleChange,\n formDirection: \"horizontal\",\n formLayout: \"third\",\n formData: basicInfo1,\n formDisabled: formDisabled,\n __self: this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 286,\n columnNumber: 33\n }\n }), /*#__PURE__*/React.createElement(FormRow, {\n handleChange: this.handleChange,\n formDirection: \"vertical\",\n formLayout: \"half\",\n formData: basicInfo2,\n formDisabled: formDisabled,\n __self: this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 287,\n columnNumber: 33\n }\n }))), /*#__PURE__*/React.createElement(Card, {\n __self: this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 290,\n columnNumber: 25\n }\n }, /*#__PURE__*/React.createElement(CardHeader, {\n __self: this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 291,\n columnNumber: 29\n }\n }, \"Deviation Termination Conditions\"), /*#__PURE__*/React.createElement(CardBody, {\n __self: this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 292,\n columnNumber: 29\n }\n }, /*#__PURE__*/React.createElement(FormRow, {\n handleChange: this.handleChange,\n formDirection: \"vertical\",\n formLayout: \"third\",\n formData: deviationTerminationConditions,\n formDisabled: formDisabled,\n __self: this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 293,\n columnNumber: 33\n }\n }))), /*#__PURE__*/React.createElement(Card, {\n __self: this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 296,\n columnNumber: 25\n }\n }, /*#__PURE__*/React.createElement(CardHeader, {\n __self: this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 297,\n columnNumber: 29\n }\n }, \"Corrective Action\"), /*#__PURE__*/React.createElement(CardBody, {\n __self: this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 298,\n columnNumber: 29\n }\n }, /*#__PURE__*/React.createElement(FormRow, {\n handleChange: this.handleChange,\n formDirection: \"vertical\",\n formLayout: \"twoone\",\n formData: correctiveAction,\n formDisabled: formDisabled,\n __self: this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 299,\n columnNumber: 33\n }\n }))), /*#__PURE__*/React.createElement(Card, {\n __self: this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 302,\n columnNumber: 25\n }\n }, /*#__PURE__*/React.createElement(CardHeader, {\n __self: this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 303,\n columnNumber: 29\n }\n }, \"Product Issues\"), /*#__PURE__*/React.createElement(CardBody, {\n __self: this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 304,\n columnNumber: 29\n }\n }, /*#__PURE__*/React.createElement(FormRow, {\n handleChange: this.handleChange,\n formDirection: \"horizontal\",\n formLayout: \"third\",\n formData: productIssues,\n formDisabled: formDisabled,\n __self: this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 305,\n columnNumber: 33\n }\n }))), /*#__PURE__*/React.createElement(Card, {\n __self: this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 308,\n columnNumber: 25\n }\n }, /*#__PURE__*/React.createElement(CardHeader, {\n __self: this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 309,\n columnNumber: 29\n }\n }, \"Inventory Issues\"), /*#__PURE__*/React.createElement(CardBody, {\n __self: this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 310,\n columnNumber: 29\n }\n }, /*#__PURE__*/React.createElement(FormRow, {\n handleChange: this.handleChange,\n formDirection: \"horizontal\",\n formLayout: \"third\",\n formData: inventoryIssues,\n formDisabled: formDisabled,\n __self: this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 311,\n columnNumber: 33\n }\n }))), /*#__PURE__*/React.createElement(Card, {\n __self: this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 314,\n columnNumber: 25\n }\n }, /*#__PURE__*/React.createElement(CardHeader, {\n __self: this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 315,\n columnNumber: 29\n }\n }, \"Traceability\"), /*#__PURE__*/React.createElement(CardBody, {\n __self: this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 316,\n columnNumber: 29\n }\n }, /*#__PURE__*/React.createElement(FormRow, {\n handleChange: this.handleChange,\n formDirection: \"horizonatal\",\n formLayout: \"half\",\n formData: traceability,\n formDisabled: formDisabled,\n __self: this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 317,\n columnNumber: 33\n }\n }))), formStatus == 'edit' ? /*#__PURE__*/React.createElement(\"div\", {\n __self: this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 322,\n columnNumber: 29\n }\n }, this.state.formStatus == 'edit' && /*#__PURE__*/React.createElement(SubmissionButtonsGroup, {\n tableType: \"deviation\",\n saveECO: this.saveECO,\n submitForApproval: this.saveECO,\n reviewRequired: this.state.reviewRequired,\n toggleFACRequirement: null,\n changeFormStatus: this.changeStatus,\n __self: this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 323,\n columnNumber: 69\n }\n })) : /*#__PURE__*/React.createElement(\"span\", {\n __self: this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 334,\n columnNumber: 29\n }\n }))));\n }\n }]);\n\n return RequestForDeviationForm;\n}(Component);\n\nexport default RequestForDeviationForm; // export default reduxForm({\n// form: \"vertical_form_layout_half\" // a unique identifier for this form\n// })(VerticalFormHalf);","map":{"version":3,"sources":["/Users/michielcarman/Server Code/Repository/clients-rpm-kit-manager/code/RPM.KitManager/RPM.KitManager.Web/ClientApp/src/containers/RequestForDeviation/DeviationECO.tsx"],"names":["React","Component","Card","CardBody","Col","Container","Row","CardHeader","FormRow","ApprovalMessage","SubmissionButtonsGroup","axios","deviationFormBuilder","RequestForDeviationForm","props","handleChange","e","target","name","value","setState","state","submitForApproval","console","info","approve","body","id","parseInt","config","headers","put","then","res","log","location","href","catch","err","reject","alert","saveECO","orderNumber","pieces","toString","qtyOfMaterial","post","savedRecordId","data","items","message","changeStatus","newStatus","formStatus","formDisabled","toggleSubmitButton","newState","reviewRequired","match","params","partNumber","type","reason","renew","createDate","previousId","description","startDate","endDate","caplan","responsibleUserId","responsibleUserName","caplanDate","revalidate","fff","marking","customer","contact","contactDate","comment","materialSub","partSub","adjustUserId","adjustUserName","effect","adjustDate","remarks","verifyUserId","verifyUserName","verifyDate","get","Deviation","records","basicInfo1","basicInfo2","deviationTerminationConditions","correctiveAction","productIssues","inventoryIssues","traceability","formStatusAlert","editButton","float"],"mappings":"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","sourcesContent":["import React, { PureComponent, Component } from \"react\";\nimport { Card, CardBody, Col, Container, Row, Button, ButtonToolbar, CardHeader } from \"reactstrap\";\nimport FormRow from \"../../shared/components/form/FormRow\";\nimport BOMTable from \"../../shared/components/form/BOMTable\"\nimport FormGroup from \"../../shared/components/form/FormGroup\";\nimport renderRadioButtonField from \"../../shared/components/form/RadioButton\";\nimport renderSelectField from \"../../shared/components/form/Select\";\nimport ToggleButton from \"../../shared/components/form/ToggleButton\"\nimport { ApprovalMessage } from '../../shared/components/ApprovalMessage/ApprovalMessage'\nimport { SubmissionButtonsGroup } from \"../../shared/components/SubmissionButtonsGroup/SubmissionButtonsGroup\";\n\n\nimport DeviationDto from '../../shared/interfaces/DeviationDto'\n//Object with sub category objects that match camelCase card headers.\nimport {\n RFDFormMockData\n} from '../../shared/components/mockdata/RFDFormMockData';\nimport axios from \"axios\";\nimport { deviationFormBuilder } from './deviationFormBuilder'\nimport { config } from \"process\";\ninterface RFDFormProps {\n formDisabled: boolean,\n formStatus: string,\n reviewRequired: boolean,\n match: any\n}\nexport interface RFDFormState extends DeviationDto {\n formStatus: string,\n reviewRequired: boolean,\n formDisabled: boolean,\n id: any\n}\n\nclass RequestForDeviationForm extends Component<RFDFormProps, RFDFormState> {\n\n constructor(props: RFDFormProps) {\n super(props);\n this.state = {\n id: this.props.match.params.id,\n formStatus: 'read',\n reviewRequired: false,\n formDisabled: true,\n partNumber: \"\",\n type: \"\",\n reason: \"\",\n orderNumber: \"\",\n renew: false,\n createDate: null,\n previousId: null,\n description: '',\n // Card 2\n pieces: null,\n qtyOfMaterial: null,\n startDate: null,\n endDate: null,\n // Card 3\n caplan: \"\",\n responsibleUserId: null,\n responsibleUserName: \"\",\n caplanDate: null,\n // Card 4 \n revalidate: false,\n fff: false,\n marking: false,\n customer: \"\",\n contact: \"\",\n contactDate: null,\n comment: \"\",\n // Card 5\n materialSub: false,\n partSub: false,\n adjustUserId: null,\n adjustUserName: \"\",\n effect: \"\",\n adjustDate: null,\n remarks: \"\",\n // Card 6\n verifyUserId: null,\n verifyUserName: \"\",\n verifyDate: null\n };\n }\n\n async componentDidMount() {\n if (this.state.id == \"new\") {\n console.log('not querying on a new spec')\n this.setState({\n ...this.state,\n formStatus: 'edit',\n formDisabled: false\n })\n return // without querying t the db\n } else {\n await axios.get(`/api/deviation/single/${this.state.id}`)\n .then(res => {\n let Deviation: DeviationDto;\n Deviation = res.data.items.records[0]\n\n // check for User Signatures to determine \"read/review\" and \"write\"\n if (Deviation.verifyUserName) {\n //User Information exists, show the form, Filled in ('read' view)\n this.setState({\n ...this.state,\n ...Deviation,\n id: this.props.match.params.id,\n formStatus: \"read\",\n formDisabled: true\n })\n } else {\n //User Information not exist, show teh form in review mode filled in ('review' view)\n this.setState({\n ...this.state,\n ...Deviation,\n id: this.props.match.params.id,\n formStatus: \"review\",\n formDisabled: true\n })\n }\n })\n .catch(err => {\n alert(err)\n console.log(err)\n })\n\n }\n }\n\n handleChange = (e: any) => {\n let { name, value } = e.target;\n this.setState({\n ...this.state,\n [name]: value\n })\n }\n\n //approve reject functionality\n submitForApproval = async () => {\n console.info(`this button is not needed.`)\n }\n\n approve = async () => {\n let body = {\n ...this.state,\n id: parseInt(this.state.id)\n\n }\n const config = {\n headers: {\n 'Content-Type': 'application/json'\n }\n }\n\n await axios.put(`/api/deviation/approve/${this.state.id}`, body, config)\n .then(res => {\n console.log(res);\n location.href = `/forms/rfd/form/${this.state.id}`\n\n })\n .catch(err => console.log(err))\n }\n reject = () => {\n alert('The item has been rejected')\n return location.href = `/forms/rfd/form/${this.state.id}`\n\n }\n\n\n saveECO = async () => {\n if (\n this.state.orderNumber == null\n ) alert('You left a field blank')\n let body = {\n ...this.state,\n id: null,\n pieces: parseInt(this.state.pieces ? this.state.pieces.toString() : \"null\"),\n qtyOfMaterial: parseInt(this.state.qtyOfMaterial ? this.state.qtyOfMaterial.toString() : \"null\")\n }\n const config = {\n headers: {\n 'Content-Type': 'application/json'\n }\n }\n\n if (this.state.id == \"new\") {\n //Post a new record\n await axios.post(`/api/deviation/addSingle`, body, config)\n .then(res => {\n let savedRecordId = res.data.items.id\n location.href = `/forms/rfd/form/${savedRecordId}`\n })\n .catch(err => {\n console.log(err.message)\n alert(err)\n })\n } else {\n //update existing record\n }\n }\n //status change of form read-->edit-->review\n changeStatus = (newStatus: string) => {\n switch (newStatus) {\n case 'read':\n this.setState({\n formStatus: newStatus,\n formDisabled: true\n })\n break;\n case 'edit':\n this.setState({\n formStatus: newStatus,\n formDisabled: false\n });\n break;\n case 'review':\n this.setState({\n formStatus: newStatus,\n formDisabled: true\n })\n break;\n }\n }\n //FAC review required toggle button fx\n toggleSubmitButton = () => {\n alert('change');\n const newState = !this.state.reviewRequired;\n this.setState({ reviewRequired: newState });\n }\n\n render() {\n const { formStatus, verifyUserName, responsibleUserName } = this.state;\n const {\n basicInfo1,\n basicInfo2,\n deviationTerminationConditions,\n correctiveAction,\n productIssues,\n inventoryIssues,\n traceability\n } = deviationFormBuilder(this.state)\n let formStatusAlert;\n let formDisabled: boolean = true;\n let editButton;\n // Build alert based on the status\n switch (this.state.formStatus) {\n case 'edit':\n formStatusAlert = <div className=\"change-status editing\">Currently Editing</div>;\n break;\n case 'review':\n formStatusAlert = <ApprovalMessage approvalMessage={this.approve} rejectionMessage={this.reject} />\n break;\n\n }\n\n\n if (formStatus == 'read') {\n formStatusAlert = <div></div>;\n editButton = <button type=\"submit\" className=\"btn btn-primary heading-button\" onClick={() => this.changeStatus('edit')}><span className=\"lnr lnr-pencil\"></span> Edit</button>;\n formDisabled = true;\n } else if (formStatus == 'edit') {\n formStatusAlert = <div className=\"change-status editing\">Currently Editing</div>;\n formDisabled = false;\n } else if (formStatus == 'review') {\n\n }\n\n // let testPrintButton = <Button className=\"btn btn-primary heading-button\" onClick={this.pdf}>Print This Page(Debug Only)</Button>\n editButton = <button\n type=\"submit\"\n className=\"btn btn-primary heading-button\"\n disabled\n ><span className=\"lnr lnr-pencil\"></span> Edit</button>;\n return (\n <Container className=\"dashboard\">\n <Row>\n <Col md={12}>\n <h3 className=\"page-title\" style={{ float: 'left' }}>Request for Deviation <span className=\"lnr lnr-chevron-right\"></span> formNumber: {this.state.id}</h3>\n <h5 style={{ float: 'right' }}> Issued by: {this.state.responsibleUserName}</h5>\n </Col>\n </Row>\n <Row>\n <Col md={12} lg={12}>\n {formStatusAlert}\n <Card>\n <CardHeader>Basic Info</CardHeader>\n <CardBody>\n <FormRow handleChange={this.handleChange} formDirection=\"horizontal\" formLayout=\"third\" formData={basicInfo1} formDisabled={formDisabled}></FormRow>\n <FormRow handleChange={this.handleChange} formDirection=\"vertical\" formLayout=\"half\" formData={basicInfo2} formDisabled={formDisabled}></FormRow>\n </CardBody>\n </Card>\n <Card>\n <CardHeader>Deviation Termination Conditions</CardHeader>\n <CardBody>\n <FormRow handleChange={this.handleChange} formDirection=\"vertical\" formLayout=\"third\" formData={deviationTerminationConditions} formDisabled={formDisabled}></FormRow>\n </CardBody>\n </Card>\n <Card>\n <CardHeader>Corrective Action</CardHeader>\n <CardBody>\n <FormRow handleChange={this.handleChange} formDirection=\"vertical\" formLayout=\"twoone\" formData={correctiveAction} formDisabled={formDisabled}></FormRow>\n </CardBody>\n </Card>\n <Card>\n <CardHeader>Product Issues</CardHeader>\n <CardBody>\n <FormRow handleChange={this.handleChange} formDirection=\"horizontal\" formLayout=\"third\" formData={productIssues} formDisabled={formDisabled}></FormRow>\n </CardBody>\n </Card>\n <Card>\n <CardHeader>Inventory Issues</CardHeader>\n <CardBody>\n <FormRow handleChange={this.handleChange} formDirection=\"horizontal\" formLayout=\"third\" formData={inventoryIssues} formDisabled={formDisabled}></FormRow>\n </CardBody>\n </Card>\n <Card>\n <CardHeader>Traceability</CardHeader>\n <CardBody>\n <FormRow handleChange={this.handleChange} formDirection=\"horizonatal\" formLayout=\"half\" formData={traceability} formDisabled={formDisabled}></FormRow>\n </CardBody>\n </Card>\n\n {(formStatus == 'edit' ?\n <div>\n {this.state.formStatus == 'edit' && <SubmissionButtonsGroup\n tableType=\"deviation\"\n saveECO={this.saveECO}\n submitForApproval={this.saveECO}\n reviewRequired={this.state.reviewRequired}\n toggleFACRequirement={null}\n changeFormStatus={this.changeStatus}\n />\n }\n </div>\n :\n <span></span>\n )}\n </Col>\n </Row>\n </Container>\n );\n }\n}\n\nexport default RequestForDeviationForm;\n\n// export default reduxForm({\n// form: \"vertical_form_layout_half\" // a unique identifier for this form\n// })(VerticalFormHalf);\n"]},"metadata":{},"sourceType":"module"}
|