{"version":3,"sources":["components/W5X/W51/W51F1001/W51F1001.js","components/W5X/W51/W51F1000/W51F1000.js","components/W5X/W51/W51F2200/W51F2200.js","components/W5X/W51/W51F2202/W51F2202.js","components/W5X/W51/W51F2202/W51F2202FormInfo.js","components/W5X/W51/W51F1100/W51F1100.js","components/W5X/W51/W51F1101/W51F1101.js","components/W5X/W51/W51F2201/W51F2201.js","components/W5X/W51/W51F1002/W51F1002.js"],"names":["_regeneratorRuntime","exports","Op","Object","prototype","hasOwn","hasOwnProperty","defineProperty","obj","key","desc","value","$Symbol","Symbol","iteratorSymbol","iterator","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","toStringTag","define","enumerable","configurable","writable","err","wrap","innerFn","outerFn","self","tryLocsList","protoGenerator","Generator","generator","create","context","Context","makeInvokeMethod","tryCatch","fn","arg","type","call","ContinueSentinel","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","getPrototypeOf","NativeIteratorPrototype","values","Gp","defineIteratorMethods","forEach","method","_invoke","AsyncIterator","PromiseImpl","previousPromise","callInvokeWithMethodAndArg","resolve","reject","invoke","record","result","__await","then","unwrapped","error","state","Error","doneResult","delegate","delegateResult","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","done","methodName","undefined","return","TypeError","info","resultName","next","nextLoc","pushTryEntry","locs","entry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","iterable","iteratorMethod","isNaN","length","i","displayName","isGeneratorFunction","genFun","ctor","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","iter","keys","val","object","reverse","pop","skipTempReset","prev","charAt","slice","stop","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","complete","finish","catch","thrown","delegateYield","useStyle","makeStyles","dataGrid","marginTop","paddingTop","paddingBottom","border","backgroundColor","W51F1001","_Component","_inherits","_super","_createSuper","props","_this","_classCallCheck","getWareHouse","w51f1001Actions","Config","popup","show","loadCaptions","_assertThisInitialize","_assertThisInitialized","params","FormID","Language","setState","gridEmpLoading","gridEquipLoading","getCaption","res","captionGrid1","_","get","captionGrid2","gridEmployees","map","item","_objectSpread","reduce","RefID","gridEquipments","loadCboWarehouse","_assertThisInitialize2","disabled","generalActions","getCboWarehouse","data","_this$getInfo","_data$","getInfo","mode","masterData","warehouseID","WareHouseID","loadMaster","_assertThisInitialize3","TransGroupID","getMaster","rows","EmployeeName","getUser","EmployeeID","ProjectID","ProjectName","_res","reason","examineDate","TransTypeID2","TransTypeName","VoucherTypeID2","VoucherTypeName","VoucherNo","IsVoucher","employeeSelected","loadCboReason","getCbReason","dataCbReason","loadCboSize","getCbSize","dataCbSize","loadCboProposal","getProposal","reloadDetail","_asyncToGenerator","_callee","_assertThisInitialize4","_this$state","arrEmpIDNotAllocated","_context","filter","checkEmployeeAllocation","isEmpty","lang","JSON","stringify","copy","dataCopy","uniqBy","concat","_toConsumableArray","v","EquipmentID","join","isChanged","notify","loadDetail","_assertThisInitialize5","getDetail","usingPeriodTo","moment","UsingPeriodFrom","add","Number","UsingPeriod","subtract","format","isValid","UsingPeriodTo","loadSelectedEmployees","_callee2","_assertThisInitialize6","_context2","loadChoose","dataLoadChoose","dataEmployees","isEqual","_removeCDN","deletedFile","e","path","URL","split","CDN","removeFile","_getAttachments","file","_file$data","dataFile","paths","listAttachments","helpers","getFileInfomations","dataOldAttachments","arrAttachment","att","url","FileName","fileName","FileSize","fileSize","FileExt","flag","location","isPermissionForm","browserHistory","getRootPath","loadAttachments","param","KeyID","getAttachmentsByTransID","attachmentLoading","loading","checkEquipmentInventory","_callee3","_this$state2","_assertThisInitialize7","_this$getInfo6","_context3","Mode","DivisionID","getDivisionID","count","dataCount","objOldQuantity","objEquipmentQuantity","Quantity","includes","itemRes","itemEquip","EquipmentName","inventory","allocated","employeeId","some","onViewAllocations","isMode","edit","rowData","showW51F1002Popup","closePopupAllocation","onChosenAllocation","_this$state3","arrEquipAllocated","arr","apply","_ref4","UnitName","UnitID","SizeGroupID","onAddAllocations","openEmployeeSelect","showEmployeeSelect","isRenderModalW09F6000","onCloseEmployeeSelect","onSelectedEmployee","onChangeAttachments","_e$removedAttached","attachments","allNewAttached","removedAttached","_arrRemove","d","AttachmentID","prevState","indexOf","onUploading","uploading","_uploadFile","files","isAsync","cb","uploadFileSync","uploadFile","onSave","_callee4","_this$state4","_this$state4$masterDa","ProposalID","_assertThisInitialize8","_this$getInfo7","arrEquipNotAllocated","paramData","dataResUploadFile","arrAttachments","message","messageErr","_context4","isSubmitting","validationField","itemEmp","pickBy","k","startsWith","detail","itemDetail","SignerID","ReasonID","ProTransID","TranTypeID","UnitPrice","Amount","omit","mapValues","o","toString","Reason","ExamineDate","employee","employeeIDNotAllocated","onSaveApi","_ref6","_callee5","_this$getInfo8","_context5","loadingSave","Status","disableSave","isSaved","pathname","_x","arguments","onBack","window","confirm","onSelectionChangedGridEmployee","isEditing","selectedRow","selectedRowsData","component","hasEditData","saveEditData","delRow","handleUpdateUsingPeriodTo","newData","keyUpdate","newUsingPeriod","newUsingPeriodFrom","oldData","onDeleteRow","isGridEquipment","employeeID","equipmentID","typeGrid","remove","deleteRow","rowIndex","onCopyRow","_this$state5","rowCopied","cpEquipment","emp","onChangeMasterField","_defineProperty","loadForm","W51F2201Actions","Master","Employee","Equipment","renderCaption","grid","captionGrid","Disabled","ind","IsMoney","React","createElement","Column","assign","width","allowEditing","caption","RefCaption","dataField","alignment","renderEmpProfile","row","renderIconWarning","Tooltip","title","arrow","Icons","className","UserImage","height","allowHover","renderButtonAction","GridActionBar","ButtonIcon","viewType","circular","onClick","validateRules","rules","wareHouseData","NumValue","validateForm","MForm","formValidation","setStateErrorText","renderEditCellEquipmentStatus","_ref7","dataCbEquipmentStatus","setValue","Dropdown","dataSource","displayExpr","valueExpr","onChange","closeEditCell","renderCellEquipmentStatus","_ref8","EquipmentStatusID","renderEditCellSize","_ref9","groupedDataCbSize","valueChange","getSizeGroupID","cellValue","renderCellSize","_ref10","SizeID","getInputValue","id","setProjectIDFromGrid1","dt","_dt$","_dt$$data","_this$state$masterDat","_dt$2","_dt$2$data","newProjectID","componentDidMount","_callee6","_this$getInfo9","_context6","addEventListener","beforeUnload","preventDefault","returnValue","componentWillUnmount","removeEventListener","language","EquipmentStatusName","dataCbProposal","setTimeoutId","newRowIndex","_createClass","_this2","this","_this$getInfo10","_this$state6","_this$props","classes","warehouseNameSelected","mapSizeGroupID","Map","gridEquipEmployee","rowEmployeesChoosen","find","newDataCbReason","findIndex","ReasonName","Fragment","ActionToolbar","Button","label","color","startIcon","W09F6000","open","onChosen","onClose","W51F1002","WareHouseIDDef","Row","Col","xl","lg","sm","xs","multilineSelectedItem","IsUseProposal","sx","display","direction","readOnly","size","Label","required","DatePicker","clearAble","TextInput","GridContainer","reference","ref","dataGrid1","gridProps","editing","refreshMode","texts","confirmDeleteMessage","allowUpdating","selectTextOnEditStart","startEditAction","isMobile","selection","onSelectionChanged","keyExpr","hoverStateEnabled","style","showRowLines","showBorders","showColumnLines","noDataText","onContentReady","getSelectedRowKeys","selectRowsByIndexes","getVisibleRows","onRowUpdated","KeyboardNavigation","enterKeyAction","enterKeyDirection","visible","cellRender","fixed","fixedPosition","Typography","minWidth","maxWidth","onRowUpdating","onFocusedCellChanging","typeShort","alignItems","cssClass","editCellComponent","dataType","RequiredRule","CustomRule","validationCallback","calculateCellValue","_e$UsingPeriod","editorOptions","min","onInput","_e$event$target","event","target","replace","md","Attachment","isStripDomain","minHeight","maxFile","domain","getCDNPath","prevProps","snapshot","_prevProps$location","_prevProps$location$s","_this$props2","_this$props2$location","_this$props2$location2","Component","compose","connect","general","dispatch","bindActionCreators","W51F1001Actions","W51F1000","redirectScreen","isPermission","handleResponse","updateState","code","handleFilter","loadPermission","getPermission","isPer","loadDataGrid","DateTo","DateFrom","_this$filter","skip","limit","gridLoading","Api","put","loadCboEmployees","isReset","Type","filterCboEmployees","search","strSearch","cboLoading","getCboEmployees","dataCboEmployees","total","onChangePage","page","onChangePerPage","perPage","onDelete","renderFilter","Filter","placeholder","openOnFieldClick","FormGroup","marginBottom","divText","DateBoxPicker","dateBoxProps","max","marginLeft","onValueChanged","useMaskBehavior","showClearButton","toLowerCase","Combo","LoadMore","stylingMode","itemRender","onInputChanged","onLoadMore","justifyContent","ButtonGeneral","typeButton","variant","renderEmployeeInfo","getUserName","projectName","dateCreated","dateInfo","Image","src","require","paddingLeft","renderInfo","utc","wareHouseId","renderAction","IconButton","aria-label","Divider","orientation","margin","startOf","endOf","timer","_this$filter2","dataGridRows","dataGridTotal","ButtonCustom","icon","ExitToAppIcon","textTransform","allowColumnResizing","showColumnHeaders","totalItems","itemPerPage","skipPerPage","typePaging","getHeightGrid","withStyles","divAvatar","borderRadius","overflow","marginRight","imgAvatar","maxHeight","objectFit","chip","fontSize","fontWeight","divTextTooltip","divDateText","W51F2200","_ref","useDispatch","_useState","useState","_useState2","_slicedToArray","listStatus","setListStatus","_useState3","_useState4","isShowOther","setIsShowOther","_useState5","_useState6","setDataCboEmployees","_useState7","_useState8","loadingCboEmployees","setLoadingCboEmployees","gridLeft","useRef","paramFilterCboEmployees","useEffect","current","loadGrid","_data$rows","_data$total","_onView","AppStatusID","ListApproval","renderHeader","Checkbox","checked","onLoadCboFilter","dataFilter","filterChange","_dataFilter$DateFrom","_dataFilter$DateTo","_dataFilter$AppStatus","_dataFilter$EmployeeI","DateRangePicker","controls","defaultValue","returnFormat","allowSearch","_e$target$value","_e$target","_e$skip","_e$limit","onAdd","FormParent","action","_params$AppStatusID","W51F2200Actions","IsShowOther","loadStatus","History","View","Delete","W51F2202","iPermission","setIPermission","_useState9","_useState10","setLoading","_useState11","_useState12","voucherID","setVoucherID","_useState13","_useState14","dataForm","setDataForm","_useState15","ApprovalStatus","_useState16","setDataFilter","_useState17","_useState18","dateFrom","setDateFrom","_useState19","_useState20","dateTo","setDateTo","_useState21","_useState22","setEmployee","_useState23","_useState24","appStatusID","setAppStatusID","loadCboStatus","_ref2","_e$value","_e$data","_value$","_value$2","onSearch","Approvals","allowHistoryApproval","parentProps","selectedRowKey","singleClick","filterRender","isUseDDCore","showHeader","searchDelayTime","_e$target2","text","formInfoRender","W51F2202FormInfo","VoucherID","approvalActions","loadFormInfo","onDrawerClosed","disableEscapeKeyDown","_Equipment$filter","VoucherDate","NormID","currentPage","setCurrentPage","currentEmployee","setCurrentEmployee","dataCboWarehouse","setDataCboWarehouse","dataCboReason","setDataCboReason","dataCboSize","setDataCboSize","dataNormName","setDataNormName","Languague","displayFormat","isString","multiple","filterRow","showOperationChooser","onRowClick","iconExpr","prefix","p","sorting","setTimeout","onEditorPreparing","parentType","SizeName","renderSizeCell","precision","W51F1100","w51F1100Actions","W51F1100Actions","dateRangeClass","padding","setGridLoading","cboWareHouseLoading","setCboWareHouseLoading","cboEmployeeLoading","setCboEmployeeLoading","filterSearch","setFilterSearch","rangeDate","setRangeDate","itemPageDataGrid","HostID","filterRangePicker","_filterRangePicker$cu","_itemPageDataGrid$cur","Skip","Limit","_filterCboEmployees$c","useCallback","redirectPage","status","onSaveHistory","_ref3","_history$get","_data$TransGroupID","options","history","_args3","captions","CreateUserID","UserName","CreateDate","ReTrieveDate","QuantityEmp","WareHouseName","ModuleID","TransactionID","TransID","TransactionName","isNull","profile","UserNameU","save","filterName","isArray","onLoadDataFilter","onOpenLoaded","renderSelectedItem","onDbCellClick","_data$CreateDate","_data$DepartmentName","DepartmentName","CalendarNew","_e$row$data","_e$row$data$RetrieveD","RetrieveDate","_e$row$data$Reason","_e$row$data$QuantityE","_e$row$data$WareHouse","retrieveDate","useStyles","theme","btnActionBar","infoDistribution","breakpoints","down","flexDirection","avatarEmployees","loadingContainer","position","top","left","zIndex","inititalDataMaster","TransTypeID1","VoucherTypeID1","W51F1101","_useTheme","useTheme","spacing","colors","useSelector","_state$W51F1101$wareH","_state$W51F","flexibleColumn","_state$W51F1101$flexi","_state$W51F2","_state$general$getCbo","_state$general","_props$location$state","sateForm","_sateForm$iPermission","_sateForm$mode","_sateForm$TransGroupI","transGroupID","setGridEquipLoading","gridEmployeeLoading","setGridEmployeeLoading","setShowEmployeeSelect","setShowW51F1002Popup","formLoading","setFormLoading","btnSaveStatus","setBtnSaveStatus","setTransGroupID","setMode","setError","dataMaster","setDataMaster","quantityMaxRow","setQuantityMaxRow","_useState25","_useState26","setEmployeeSelected","_useState27","_useState28","dataDefaults","setDataDefaults","_useState29","_useState30","dataGridEmployee","setDataGridEmployee","_useState31","_useState32","dataGridEquipments","setDataGridEquipments","_useState33","_useState34","dataEquipments","setDataEquipments","_useState35","_useState36","setEmployeeIDNotAllocated","rowIndexGrid02","columnIndexGrid02","dataGrid01Ref","dataGrid02Ref","attRef","dataMasterOld","getAttachment","dataGridEmployeeOld","dataGridEquipmentsOld","findDataEquipGridSelected","_getCboWarehouse$","_getCboWarehouse$2","instance","editCell","W51F1101Actions","employeeSelect","dataGridEquipmentsFilter","GroupEmployee","modeLoadForm","IsChooseEmp","_args","t0","Grid01","filterUnchecked","item1","item2","selectedRowKeys","isLoaded","Grid02","filterDataEquipments","allEmployeeID","Set","_prevData","Detail","arrayData","parseDataEquipments","t1","dataGridEquipmentsData","apiSave","_dataMaster$WareHouse","_dataMaster$Reason","_dataMaster$RetrieveD","_dataMaster$VoucherNo","_dataMaster$TransType","_dataMaster$VoucherTy","_dataMaster$ProjectID","dataGridEmployeeMapping","_dataEquipments$find","Message","transGroupIDApi","dataCompare","captionEmployeeGrid","captionEquipmentGrid","dataNewEquipments","dataNewEquipmentFilter","reTrieveDateValue","IsCheck","NoteU","StatusName","createDetailHistory","delCondition","_e$data$EmployeeID","filterDataEquipment","handleChangeState","fieldName","dataMasterObj","positionID","standardDDName","DDName","removedError","onCloseModal","modalName","cellRenderRadio","chk","Icon","warning","renderGrid01","useMemo","columnAutoWidth","innerWidth","renderGrid02","onEditingStart","_e$data$IsCheck","_e$data$Quantity","_e$data2","_e$column","isCheck","quantity","cancel","column","option","_e$data3","_e$data4","_e$data4$EquipmentID","_e$data4$EquipmentNam","editCellRender","NumberInput","nonStyle","disabledNegative","c","_e$data5","_e$data6","QuantityMax","columnIndex","_e$data7","_e$data7$Quantity","_e$data7$QuantityMax","CircularProgress","Modal","_ref5","dataUnique","goBack","requiredFields","objValue","arrName","checkValidateMaster","oldAttached","W51F2201","_getInfo","_getInfo2","_getInfo8","_dataForm$Employee2","_dataForm$Employee$le","_dataForm$Employee3","_dataGridEquipment$le","dataFormOld","refDataGridEmployee","refDataGridEquipment","selectedRange","employeeGridParamPaging","equipmentGridParamPaging","loadingAttachments","setLoadingAttachments","isShowModalEmployeeChosen","setShowModalEmployeeChosen","setDataOldAttachments","dataGridEquipment","setDataGridEquipment","isCalEliNorms","setIsCalEliNorms","setWarehouseID","reasonID","setReasonID","voucherDate","setVoucherDate","numValue","setNumValue","_useState37","_useState38","normID","setNormID","_useState39","_useState40","parentScreen","setParentScreen","_useState41","_useState42","errorHelperText","setErrorHelperText","_useState43","_useState44","URLSearchParams","issueEquipment","handleChange","_dataForm$Equipment","setDefaultValue","today","VoucherNotes","screenID","_getInfo3","employeeIDs","has","dataW82F1000","parse","_data$Master$WareHous","_data$Master","_data$Master$ReasonID","_data$Master2","_data$Master3","_data$Master$NormID","_data$Master4","_JSON$stringify","_getInfo5","deletedList","employeeIDList","employeeAvailable","employeeNotAvailable","convertDate","HREmployeeID","getHREmployeeID","saveHistory","_x3","_x4","_x2","_getInfo6","currentTransID","dataEquipment","_oldEquipment","_i","_oldMaster","_dataCompare","_data","detailCaptions","WareHouse","EquipmentGroupID","ProposalQTY","_x5","_dataForm$Employee","onDeleteEmployee","onDeleteEquipment","renderHeaderColumns","HeadClick","dataHeaderCell","allowClick","onUpdate","col","getNewUsingPeriod","fieldUpdate","getUsingPeriod","handleUpdateCell","getNewUsingPeriodFrom","getUsingPeriodFrom","getNewProposalQTY","getProposalQTY","newDataForm","field","data1","data2","newValue","isNumber","_getInfo7","_data$2","IsCalEliNorms","filteredData","sortedData","sortBy","equipmentIDs","newEquipmentData","Loading","recordset","per","pagerFullScreen","onCellSelectionChanged","rowType","closeAfterSelect","_c$data","headerCellRender","decimalDigit","decimalSymbol","clearTimeout","usingPeriodFrom","usingPeriod","diff","_React$PureComponent","loadCboWareHouse","errors","changePage","w51F1002Actions","getGridEquipments","tmpSelectedRowKeys","keyNotAllowSelected","totalDataGrid","onFilter","onSelect","selectedRowData","tmpSelectedRowData","setSelectedEquipments","currentSelectedRowKeys","currentDeselectedRowKeys","isExist","isSelectAll","deselectRows","deselectAll","collapsePanel","minimum","showTitleHeaderBox","selectBox","document","getElementsByClassName","setAttribute","loadingWareHouseID","isSaving","dataCboWareHouse","selectAll","_this3","ModalHeader","showClose","showBorder","upperCase","ModalBody","panel","leftPanelMinimum","titleColorFilter","panelForm","rightPanelMinimum","listPerPage","loadPanel","enabled","allowSelectAll","selectAllMode","showCheckBoxesMode","PureComponent","_Config$coreTheme","_Config$coreTheme$col","_Config$coreTheme2","_Config$coreTheme2$co","transition","opacity","hiddenOpacity","coreTheme","primary","fill","brand21"],"mappings":"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","file":"static/js/main~b6781c05.0e5115fd.chunk.js","sourcesContent":["/**\r\n * @copyright 2020 @ DigiNet\r\n * @author DINHTHIEN\r\n * @create 6/3/2020\r\n * @Example\r\n */\r\n\r\nimport React, { Component } from \"react\";\r\nimport { browserHistory } from \"react-router\";\r\nimport * as W51F1001Actions from \"../../../../redux/W5X/W51F1001/W51F1001_actions\";\r\nimport * as W51F2201Actions from \"../../../../redux/W5X/W51F2201/W51F2201_actions\";\r\nimport * as generalActions from \"../../../../redux/general/general_actions\";\r\nimport ActionToolbar from \"../../../common/toolbar/action-toolbar\";\r\nimport W09F6000 from \"../../../W0X/W09/W09F6000/W09F6000\";\r\nimport Config from \"../../../../config\";\r\nimport GridContainer from \"../../../grid-container/grid-container\";\r\nimport { Column, RequiredRule, CustomRule, KeyboardNavigation } from \"devextreme-react/data-grid\";\r\nimport { connect } from \"react-redux\";\r\nimport { bindActionCreators, compose } from \"redux\";\r\nimport _ from \"lodash\";\r\nimport { MForm } from \"../../../common/form-material\";\r\nimport moment from \"moment\";\r\nimport UserImage from \"../../../common/user/user-image\";\r\nimport W51F1002 from \"../W51F1002/W51F1002\";\r\nimport CDN from \"../../../CDN\";\r\nimport GridActionBar from \"../../../grid-container/grid-actionbar\";\r\nimport {\r\n Dropdown,\r\n TextInput,\r\n Row,\r\n Col,\r\n Icon as Icons,\r\n Attachment,\r\n DatePicker,\r\n ButtonIcon,\r\n Typography,\r\n Tooltip,\r\n Button,\r\n Label,\r\n} from \"diginet-core-ui/components\";\r\nimport { makeStyles } from \"diginet-core-ui/theme\";\r\n\r\nconst useStyle = makeStyles(() => ({\r\n dataGrid: {\r\n \"& .dx-datagrid-rowsview\": {\r\n \"& tr.dx-row.dx-data-row\": {\r\n \"& .grid-action-hover\": {\r\n marginTop: \"0.3%\",\r\n },\r\n \"& .dx-datagrid.dx-row > td\": {\r\n paddingTop: \"0 !important\",\r\n paddingBottom: \"0 !important\",\r\n },\r\n },\r\n \"& .dx-datagrid-validator.dx-validator.dx-visibility-change-handler.dx-editor-cell.dx-datagrid-invalid\": {\r\n \"& .dx-texteditor-container\": {\r\n \"& .dx-texteditor-input-container\": {\r\n border: \"none\",\r\n backgroundColor: \"#EFBAB6\",\r\n },\r\n },\r\n },\r\n },\r\n },\r\n}));\r\n\r\nclass W51F1001 extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.FormID = \"W51F1001\";\r\n this.Language = Config.language || \"84\";\r\n this.state = {\r\n error: {},\r\n employeeSelected: {},\r\n employeeIDNotAllocated: [],\r\n masterData: {\r\n warehouseID: \"\",\r\n reason: \"\",\r\n examineDate: \"\",\r\n TransTypeID2: \"\",\r\n TransTypeName: \"\",\r\n VoucherTypeID2: \"\",\r\n VoucherTypeName: \"\",\r\n ProjectID: \"\",\r\n ProjectName: \"\",\r\n VoucherNo: \"\",\r\n IsVoucher: 0,\r\n ProposalID: \"\",\r\n },\r\n dataCbReason: [],\r\n dataCbEquipmentStatus: [\r\n {\r\n EquipmentStatusID: \"000\",\r\n EquipmentStatusName: Config.lang(\"Cu\"),\r\n },\r\n {\r\n EquipmentStatusID: \"001\",\r\n EquipmentStatusName: Config.lang(\"Moi1\"),\r\n },\r\n ],\r\n dataCbSize: [],\r\n dataCbProposal: [],\r\n isSaved: false,\r\n delRow: false,\r\n uploading: false,\r\n attachmentLoading: false,\r\n gridEmployees: [],\r\n gridEquipments: [],\r\n dataOldAttachments: [],\r\n gridEmpLoading: false,\r\n gridEquipLoading: false,\r\n showEmployeeSelect: false,\r\n disabled: false,\r\n disableSave: false,\r\n loadingSave: false,\r\n isMode: null,\r\n edit: true,\r\n rowData: null,\r\n showW51F1002Popup: false,\r\n isChanged: false,\r\n };\r\n this.attachments = [];\r\n this.deletedFile = [];\r\n this.setTimeoutId = \"\";\r\n this.newRowIndex = false;\r\n this.isSubmitting = false;\r\n }\r\n getWareHouse = () => {\r\n this.props.w51f1001Actions.getWareHouse(error => {\r\n if (error) {\r\n Config.popup.show(\"ERROR\", error);\r\n return false;\r\n }\r\n });\r\n };\r\n loadCaptions = () => {\r\n const { FormID, Language } = this;\r\n const params = {\r\n FormID,\r\n Language,\r\n };\r\n this.setState({ gridEmpLoading: true, gridEquipLoading: true });\r\n this.props.w51f1001Actions.getCaption(params, (err, res) => {\r\n this.setState({ gridEmpLoading: false, gridEquipLoading: false });\r\n const captionGrid1 = _.get(res, \"grid1\", false);\r\n const captionGrid2 = _.get(res, \"grid2\", false);\r\n\r\n if (err) {\r\n Config.popup.show(\"ERROR\", err);\r\n return;\r\n }\r\n if (!captionGrid1) return;\r\n this.setState({\r\n gridEmployees: this.state.gridEmployees.map(item => ({\r\n ...item,\r\n ...captionGrid1.reduce((obj, item) => {\r\n obj[item.RefID] = 0;\r\n return obj;\r\n }, {}),\r\n })),\r\n gridEquipments: this.state.gridEquipments.map(item => ({\r\n ...item,\r\n ...captionGrid2.reduce((obj, item) => {\r\n obj[item.RefID] = 0;\r\n return obj;\r\n }, {}),\r\n })),\r\n });\r\n });\r\n };\r\n\r\n loadCboWarehouse = () => {\r\n const { FormID, Language } = this;\r\n const params = {\r\n FormID,\r\n Language,\r\n };\r\n this.setState({ disabled: true });\r\n this.props.generalActions.getCboWarehouse(params, (err, data) => {\r\n this.setState({ disabled: false });\r\n if (err) Config.popup.show(\"ERROR\", err);\r\n else if (data && data.length > 0) {\r\n if (this.getInfo()?.mode === \"add\") {\r\n this.setState({\r\n masterData: { ...this.state.masterData, warehouseID: data[0]?.WareHouseID || \"\" },\r\n });\r\n }\r\n }\r\n });\r\n };\r\n\r\n loadMaster = () => {\r\n const { FormID, Language } = this;\r\n const { getCboWarehouse } = this.props;\r\n const { TransGroupID } = this.getInfo();\r\n const { mode } = this.getInfo();\r\n const params = {\r\n FormID,\r\n Language,\r\n TransGroupID,\r\n };\r\n this.setState({ gridEmpLoading: true, disabled: true });\r\n this.props.w51f1001Actions.getMaster(params, (err, res) => {\r\n this.setState({ gridEmpLoading: false, disabled: false });\r\n const rows = _.get(res, \"rows\", false);\r\n if (err) {\r\n Config.popup.show(\"INFO\", err);\r\n return;\r\n }\r\n if (!rows) return;\r\n const gridEmployees = rows.map(item => ({\r\n ...item,\r\n EmployeeName: _.get(Config.getUser({ EmployeeID: item.EmployeeID }), \"EmployeeName\", \"\"),\r\n ProjectID: _.get(item, \"ProjectID\", \"\"),\r\n ProjectName: _.get(item, \"ProjectName\", \"\"),\r\n }));\r\n if (mode === \"add\") {\r\n let _res = { ...res };\r\n delete _res.rows;\r\n this.setState({\r\n masterData: { ...this.state.masterData, ..._res },\r\n });\r\n return;\r\n }\r\n this.setState({\r\n masterData: {\r\n warehouseID: _.get(res, \"WareHouseID\", getCboWarehouse[0].WareHouseID),\r\n reason: _.get(res, \"Reason\", \"\"),\r\n examineDate: _.get(res, \"ExamineDate\", \"\"),\r\n\r\n TransTypeID2: _.get(res, \"TransTypeID2\", \"\"),\r\n TransTypeName: _.get(res, \"TransTypeName\", \"\"),\r\n VoucherTypeID2: _.get(res, \"VoucherTypeID2\", \"\"),\r\n VoucherTypeName: _.get(res, \"VoucherTypeName\", \"\"),\r\n ProjectID: _.get(res, \"ProjectID\", \"\"),\r\n ProjectName: _.get(res, \"ProjectName\", \"\"),\r\n VoucherNo: _.get(res, \"VoucherNo\", \"\"),\r\n IsVoucher: _.get(res, \"IsVoucher\", \"\"),\r\n },\r\n gridEmployees,\r\n employeeSelected: { ...gridEmployees[0] },\r\n });\r\n });\r\n };\r\n\r\n loadCboReason = () => {\r\n this.props.w51f1001Actions.getCbReason((err, data) => {\r\n if (err) return Config.popup.show(\"ERROR\", err);\r\n this.setState({ dataCbReason: data });\r\n });\r\n };\r\n\r\n loadCboSize = () => {\r\n this.props.w51f1001Actions.getCbSize((err, data) => {\r\n if (err) return Config.popup.show(\"ERROR\", err);\r\n this.setState({ dataCbSize: data });\r\n });\r\n };\r\n\r\n loadCboProposal = () => {\r\n this.props.w51f1001Actions.getProposal({}, err => {\r\n if (err) Config.popup.show(\"ERROR\", err);\r\n });\r\n };\r\n\r\n reloadDetail = async () => {\r\n const { FormID, Language } = this;\r\n const { gridEmployees, gridEquipments } = this.state;\r\n const arrEmpIDNotAllocated = gridEmployees.map(item => item.EmployeeID).filter(this.checkEmployeeAllocation);\r\n if (_.isEmpty(arrEmpIDNotAllocated)) {\r\n Config.popup.show(\"INFO\", Config.lang(\"Tat_ca_nhan_vien_da_duoc_cap_phat_CCLD\"));\r\n return;\r\n }\r\n const params = {\r\n FormID,\r\n Language,\r\n data: JSON.stringify(gridEmployees.map(item => item.EmployeeID)),\r\n };\r\n this.setState({ gridEmpLoading: true, gridEquipLoading: true, disabled: true });\r\n this.props.w51f1001Actions.copy(params, (err, dataCopy) => {\r\n this.setState({ gridEmpLoading: false, gridEquipLoading: false, disabled: false });\r\n if (err) {\r\n Config.popup.show(\"ERROR\", err);\r\n } else {\r\n this.setState(\r\n {\r\n gridEquipments: _.uniqBy([...gridEquipments, ...dataCopy], v =>\r\n [v.EmployeeID, v.EquipmentID].join()\r\n ),\r\n },\r\n () => {\r\n if (!this.state.isChanged) this.setState({ isChanged: true });\r\n Config.notify.show(\"success\", Config.lang(\"Da_sao_chep_cap_phat_truoc\"), 2000);\r\n }\r\n );\r\n }\r\n });\r\n };\r\n\r\n loadDetail = () => {\r\n const { FormID, Language } = this;\r\n const { TransGroupID } = this.getInfo();\r\n const params = {\r\n FormID,\r\n Language,\r\n TransGroupID,\r\n };\r\n this.setState({ gridEquipLoading: true });\r\n this.props.w51f1001Actions.getDetail(params, (err, data) => {\r\n this.setState({ gridEquipLoading: false });\r\n if (err) {\r\n Config.popup.show(\"INFO\", _.get(err, \"message\", Config.lang(\"Loi_chua_xac_dinh\")));\r\n return;\r\n }\r\n if (!data) return;\r\n let usingPeriodTo = moment(data[0].UsingPeriodFrom)\r\n .add(Number(data[0].UsingPeriod), \"month\")\r\n .subtract(Number(data[0].UsingPeriod) === 0 ? 0 : 1, \"days\")\r\n .format(\"YYYY-MM-DD\");\r\n if (!moment(usingPeriodTo).isValid() || data[0].UsingPeriod === 0 || data[0].UsingPeriod === null) {\r\n data[0].UsingPeriodTo = null;\r\n } else {\r\n data[0].UsingPeriodTo = usingPeriodTo;\r\n }\r\n this.setState({\r\n gridEquipments: data,\r\n });\r\n });\r\n };\r\n\r\n loadSelectedEmployees = async () => {\r\n const { Language, FormID } = this;\r\n const { gridEmployees } = this.state;\r\n const { mode } = this.props;\r\n const params = {\r\n FormID,\r\n Language,\r\n };\r\n this.setState({ gridEmpLoading: true });\r\n this.props.w51f1001Actions.loadChoose(params, (err, dataLoadChoose) => {\r\n this.setState({ gridEmpLoading: false });\r\n if (err) Config.popup.show(\"ERROR\", err);\r\n else {\r\n const employeeSelected = (dataLoadChoose || []).map(item => ({\r\n ...item,\r\n EmployeeName: _.get(Config.getUser({ EmployeeID: item.EmployeeID }), \"EmployeeName\", \"\"),\r\n }));\r\n if (!employeeSelected) return;\r\n const dataEmployees = _.uniqBy([...gridEmployees, ...employeeSelected], \"EmployeeID\");\r\n !_.isEqual(dataEmployees, gridEmployees) &&\r\n this.setState({ gridEmployees: dataEmployees, employeeSelected: { ...dataEmployees[0] } }, () => {\r\n if (!this.state.isChanged) this.setState({ isChanged: true });\r\n if (mode === \"edit\") this.loadDetail();\r\n });\r\n }\r\n });\r\n };\r\n\r\n _removeCDN = () => {\r\n if (this.deletedFile && this.deletedFile.length > 0) {\r\n this.deletedFile.forEach(e => {\r\n const path = e.URL.split(\"=\");\r\n if (path && path.length > 1) {\r\n const params = {\r\n path: path[1],\r\n };\r\n CDN.removeFile(params);\r\n }\r\n });\r\n this.deletedFile = [];\r\n }\r\n };\r\n\r\n _getAttachments = file => {\r\n const dataFile = file?.data?.paths || [];\r\n const listAttachments = Config.helpers.getFileInfomations(dataFile);\r\n const { dataOldAttachments } = this.state;\r\n let arrAttachment = [];\r\n listAttachments.forEach(att => {\r\n arrAttachment.push({\r\n URL: att.url ? att.url : \"\",\r\n FileName: att.fileName ? att.fileName : \"\",\r\n FileSize: att.fileSize ? att.fileSize : \"\",\r\n FileExt: att.fileName ? att.fileName.split(\".\").pop() : \"\",\r\n });\r\n });\r\n if (dataOldAttachments && dataOldAttachments.length > 0) {\r\n arrAttachment = dataOldAttachments.concat(arrAttachment);\r\n }\r\n\r\n return arrAttachment;\r\n };\r\n\r\n getInfo = flag => {\r\n const { location } = this.props;\r\n if (location && location.state) {\r\n return {\r\n mode: _.get(location, \"state.mode\", \"\"),\r\n TransGroupID: _.get(location, \"state.TransGroupID\", \"\"),\r\n isPermissionForm: _.get(location, \"state.isPermissionForm\", 0),\r\n };\r\n } else {\r\n if (flag) {\r\n browserHistory.push(Config.getRootPath() + \"W51F1000\");\r\n return null;\r\n }\r\n return false;\r\n }\r\n };\r\n\r\n loadAttachments = () => {\r\n const { TransGroupID } = this.getInfo();\r\n const param = {\r\n KeyID: TransGroupID,\r\n };\r\n this.props.generalActions.getAttachmentsByTransID(param, (error, data) => {\r\n if (error) {\r\n Config.popup.show(\"ERROR\", error);\r\n return false;\r\n }\r\n if (data && data.length > 0) {\r\n this.setState({\r\n dataOldAttachments: data,\r\n attachmentLoading: false,\r\n });\r\n }\r\n this.setState({\r\n loading: false,\r\n });\r\n });\r\n };\r\n\r\n checkEquipmentInventory = async () => {\r\n const { gridEquipments, masterData } = this.state;\r\n const { FormID, Language } = this;\r\n const { mode, TransGroupID } = this.getInfo();\r\n const params = {\r\n Mode: mode === \"edit\" ? 1 : 0,\r\n FormID,\r\n Language,\r\n TransGroupID,\r\n DivisionID: Config.getDivisionID(),\r\n WareHouseID: masterData.warehouseID,\r\n };\r\n this.setState({ gridEmpLoading: true, gridEquipLoading: true });\r\n this.props.w51f1001Actions.count(params, (err, dataCount) => {\r\n this.setState({ gridEmpLoading: false, gridEquipLoading: false });\r\n if (err) Config.popup.show(\"ERROR\", err);\r\n else {\r\n let objOldQuantity = {};\r\n const objEquipmentQuantity = gridEquipments.reduce((obj, item) => {\r\n obj[item.EquipmentID] = item.Quantity + (objOldQuantity[item.EquipmentID] || 0);\r\n objOldQuantity[item.EquipmentID] = item.Quantity;\r\n return obj;\r\n }, {});\r\n return dataCount\r\n .filter(item => _.includes(Object.keys(objEquipmentQuantity), item.EquipmentID))\r\n .filter(item => item.Quantity - objEquipmentQuantity[item.EquipmentID] < 0)\r\n .map(itemRes => ({\r\n name: gridEquipments.filter(itemEquip => itemEquip.EquipmentID === itemRes.EquipmentID)[0]\r\n .EquipmentName,\r\n inventory: itemRes.Quantity,\r\n allocated: objEquipmentQuantity[itemRes.EquipmentID],\r\n }));\r\n }\r\n });\r\n };\r\n\r\n checkEmployeeAllocation = employeeId => {\r\n const { gridEquipments } = this.state;\r\n return !_.some(gridEquipments, { EmployeeID: employeeId });\r\n };\r\n\r\n onViewAllocations = () => {\r\n this.setState({\r\n isMode: 0,\r\n edit: false,\r\n rowData: null,\r\n showW51F1002Popup: true,\r\n });\r\n };\r\n\r\n closePopupAllocation = () => {\r\n this.setState({\r\n showW51F1002Popup: false,\r\n });\r\n };\r\n\r\n onChosenAllocation = data => {\r\n const { gridEmployees, gridEquipments, employeeSelected } = this.state;\r\n const arrEquipAllocated = gridEmployees\r\n .filter(item => item.EmployeeID === employeeSelected.EmployeeID)\r\n .reduce((arr, item) => {\r\n arr.push(\r\n ...data.map(({ EquipmentName, EquipmentID, UnitName, UnitID, SizeGroupID }) => ({\r\n EmployeeID: item.EmployeeID,\r\n EquipmentName,\r\n UsingPeriodFrom: moment().format(\"YYYY-MM-DD\"),\r\n UsingPeriodTo: \"\",\r\n Quantity: 1,\r\n EquipmentID,\r\n SizeGroupID,\r\n UnitName: UnitName || \"\",\r\n UnitID,\r\n }))\r\n );\r\n return arr;\r\n }, []);\r\n if (!_.isEqual(arrEquipAllocated, gridEquipments)) {\r\n this.setState(\r\n {\r\n gridEquipments: _.uniqBy([...gridEquipments, ...arrEquipAllocated], v =>\r\n [v.EmployeeID, v.EquipmentID].join()\r\n ),\r\n showW51F1002Popup: false,\r\n },\r\n () => {\r\n if (!this.state.isChanged) this.setState({ isChanged: true });\r\n Config.notify.show(\"success\", Config.lang(\"CCLD_da_cap_phat\"), 2000);\r\n }\r\n );\r\n }\r\n };\r\n\r\n onAddAllocations = () => {\r\n this.setState({\r\n isMode: 1,\r\n edit: true,\r\n rowData: null,\r\n showW51F1002Popup: true,\r\n });\r\n };\r\n\r\n openEmployeeSelect = () => {\r\n this.setState({ showEmployeeSelect: true });\r\n this.isRenderModalW09F6000 = true;\r\n };\r\n\r\n onCloseEmployeeSelect = () => {\r\n this.setState({ showEmployeeSelect: false });\r\n };\r\n\r\n onSelectedEmployee = () => {\r\n this.loadSelectedEmployees();\r\n this.setState({ showEmployeeSelect: false });\r\n };\r\n\r\n onChangeAttachments = e => {\r\n this.attachments = e?.allNewAttached || [];\r\n if (e?.removedAttached?.length > 0) {\r\n this.deletedFile = [...e.removedAttached];\r\n const _arrRemove = this.deletedFile.map(d => d.AttachmentID);\r\n this.setState(prevState => ({\r\n dataOldAttachments: prevState.dataOldAttachments.filter(att => {\r\n return _arrRemove.indexOf(att.AttachmentID) < 0;\r\n }),\r\n }));\r\n }\r\n };\r\n\r\n onUploading = value => {\r\n this.setState({ uploading: value });\r\n };\r\n\r\n _uploadFile = (files, isAsync, cb) => {\r\n if (!files.length) return null;\r\n if (isAsync) {\r\n return CDN.uploadFileSync(files);\r\n } else {\r\n return CDN.uploadFile(files, null, cb);\r\n }\r\n };\r\n\r\n onSave = async () => {\r\n if (this.isSubmitting) return;\r\n this.isSubmitting = true;\r\n const {\r\n gridEmployees,\r\n gridEquipments,\r\n masterData: {\r\n warehouseID,\r\n reason,\r\n examineDate,\r\n TransTypeID2,\r\n VoucherTypeID2,\r\n ProjectID,\r\n VoucherNo,\r\n ProposalID,\r\n },\r\n } = this.state;\r\n const { FormID } = this;\r\n const { TransGroupID } = this.getInfo();\r\n if (!this.validationField()) {\r\n this.isSubmitting = false;\r\n return;\r\n }\r\n const arrEmpIDNotAllocated = gridEmployees.map(item => item.EmployeeID).filter(this.checkEmployeeAllocation);\r\n const arrEquipNotAllocated = await this.checkEquipmentInventory();\r\n // const arrAttachments = this._getAttachments();\r\n const paramData = gridEmployees.map(itemEmp => ({\r\n EmployeeID: itemEmp.EmployeeID,\r\n ..._.pickBy(itemEmp, (v, k) => _.startsWith(k, \"RefNum\")),\r\n detail: gridEquipments\r\n .filter(itemEquip => itemEquip.EmployeeID === itemEmp.EmployeeID)\r\n .map(itemDetail => ({\r\n SignerID: \"\",\r\n ReasonID: reason ?? \"\",\r\n ProTransID: \"\",\r\n TranTypeID: \"\",\r\n UnitPrice: 0,\r\n Amount: 0,\r\n UsingPeriodFrom: itemDetail.UsingPeriodFrom,\r\n ..._.omit(itemDetail, [\"LastModifyDate\", \"CreateUserID\", \"CreateDate\", \"LastModifyUserID\"]),\r\n UsingPeriodTo: itemDetail.UsingPeriodTo\r\n ? moment(itemDetail.UsingPeriodTo, \"YYYY/MM/DD\").format(\"YYYY-MM-DD\")\r\n : null,\r\n UsingPeriod: itemDetail.UsingPeriod || 0,\r\n ..._.mapValues(\r\n _.pickBy(itemDetail, (v, k) => _.startsWith(k, \"EquipRef\")),\r\n (v, k, o) => (o[k] = _.toString(v))\r\n ),\r\n })),\r\n }));\r\n const dataResUploadFile = await this._uploadFile(this.attachments, true);\r\n const arrAttachments = this._getAttachments(dataResUploadFile);\r\n const params = {\r\n TransGroupID,\r\n FormID,\r\n DivisionID: Config.getDivisionID(),\r\n WareHouseID: warehouseID,\r\n Reason: reason,\r\n ExamineDate: examineDate,\r\n employee: JSON.stringify(paramData),\r\n arrAttachment: JSON.stringify(arrAttachments),\r\n TransTypeID2,\r\n VoucherTypeID2,\r\n ProjectID,\r\n VoucherNo,\r\n ProposalID,\r\n };\r\n if (!_.isEmpty(arrEquipNotAllocated)) {\r\n const message = arrEquipNotAllocated.map(\r\n item =>\r\n `
${item.name}: ${Config.lang(\"Ton\")}: (${item.inventory}) - ${Config.lang(\"Cap_phat\")}: (${\r\n item.allocated\r\n })`\r\n );\r\n const messageErr = Config.lang(\"So_luong_ton_kho_khong_du_cap_phat\") + message;\r\n Config.popup.show(\"INFO\", messageErr);\r\n this.isSubmitting = false;\r\n return;\r\n }\r\n this.isSubmitting = false;\r\n if (!_.isEmpty(arrEmpIDNotAllocated)) {\r\n this.setState({ employeeIDNotAllocated: arrEmpIDNotAllocated });\r\n Config.popup.show(\r\n \"YES_NO\",\r\n Config.lang(\"Ton_tai_nhan_vien_chua_duoc_cap_phat_CCLD_._Ban_co_muon_luu_khong?\"),\r\n () => {\r\n this.onSaveApi(params);\r\n }\r\n );\r\n } else {\r\n this.setState({ employeeIDNotAllocated: [] });\r\n this.onSaveApi(params);\r\n }\r\n };\r\n\r\n onSaveApi = async params => {\r\n if (this.isSubmitting) return;\r\n this.isSubmitting = true;\r\n const { mode, isPermissionForm } = this.getInfo();\r\n this.setState({\r\n gridEmpLoading: true,\r\n gridEquipLoading: true,\r\n attachmentLoading: true,\r\n disabled: true,\r\n loadingSave: true,\r\n });\r\n this.props.w51f1001Actions[mode](params, (err, data) => {\r\n this.setState({\r\n gridEmpLoading: false,\r\n gridEquipLoading: false,\r\n attachmentLoading: false,\r\n disabled: false,\r\n loadingSave: false,\r\n });\r\n this.isSubmitting = false;\r\n if (err || data?.Status === 1) {\r\n Config.popup.show(\"ERROR\", err);\r\n } else if (data?.Status === 0) {\r\n Config.notify.show(\"success\", Config.lang(\"Luu_thanh_cong\"), 2000);\r\n this._removeCDN();\r\n this.setState(\r\n { disableSave: true, isSaved: true, isChanged: false, employeeIDNotAllocated: [] },\r\n () => {\r\n if (mode !== \"edit\") {\r\n browserHistory.push({\r\n pathname: Config.getRootPath() + \"W51F1001\",\r\n state: {\r\n mode: \"edit\",\r\n TransGroupID: data.TransGroupID,\r\n isPermissionForm: isPermissionForm,\r\n },\r\n });\r\n }\r\n }\r\n );\r\n }\r\n });\r\n };\r\n\r\n onBack = () => {\r\n const { isSaved } = this.state;\r\n let alert = !isSaved ? window.confirm(Config.lang(\"Cac_thay_doi_da_thuc_hien_se_khong_duoc_luu.\")) : false;\r\n if (alert || isSaved) {\r\n browserHistory.push(Config.getRootPath() + \"W51F1000\");\r\n }\r\n };\r\n\r\n onSelectionChangedGridEmployee = e => {\r\n const isEditing = _.isEmpty(_.get(e, \"currentDeselectedRowKeys\", []));\r\n const selectedRow = e.selectedRowsData[0];\r\n if (e.component.hasEditData()) e.component.saveEditData();\r\n if (!isEditing || this.state.delRow) {\r\n this.setState({ employeeSelected: selectedRow });\r\n }\r\n };\r\n\r\n handleUpdateUsingPeriodTo = e => {\r\n const newData = _.get(e, \"newData\", {});\r\n const columnValid = [\"UsingPeriod\", \"UsingPeriodFrom\", \"UsingPeriodTo\"];\r\n const keyUpdate = Object.keys(newData);\r\n\r\n if (!_.includes(columnValid, ...keyUpdate)) return;\r\n const newUsingPeriod = _.get(newData, \"UsingPeriod\", _.get(e, \"oldData.UsingPeriod\", \"\"));\r\n const newUsingPeriodFrom = _.get(newData, \"UsingPeriodFrom\", _.get(e, \"oldData.UsingPeriodFrom\", null));\r\n let usingPeriodTo = moment(newUsingPeriodFrom)\r\n .add(Number(newUsingPeriod), \"month\")\r\n .subtract(Number(newUsingPeriod) === 0 ? 0 : 1, \"days\")\r\n .format(\"YYYY-MM-DD\");\r\n if (!moment(usingPeriodTo).isValid() || newUsingPeriod === 0 || newUsingPeriod === null) usingPeriodTo = null;\r\n newUsingPeriod > 0 ? (e.oldData.UsingPeriodTo = usingPeriodTo) : (e.oldData.UsingPeriodTo = null);\r\n };\r\n\r\n onDeleteRow = (e, isGridEquipment) => {\r\n const { data } = e;\r\n const { gridEquipments } = this.state;\r\n const employeeID = _.get(data, \"EmployeeID\", \"\");\r\n const equipmentID = _.get(data, \"EquipmentID\", \"\");\r\n const typeGrid = !isGridEquipment ? Config.lang(\"Nhan_vien\") : Config.lang(\"CCLD\");\r\n if (!isGridEquipment && !this.checkEmployeeAllocation(employeeID)) {\r\n Config.popup.show(\"INFO\", Config.lang(\"Ton_tai_nhan_vien_duoc_cap_phat_CCLD_,_Khong_duoc_phep_xoa\"));\r\n return;\r\n }\r\n Config.popup.show(\"YES_NO\", `${Config.lang(\"Ban_co_chac_muon_xoa?\")} ${typeGrid}`, () => {\r\n if (!isGridEquipment) {\r\n e.component.deleteRow(e.rowIndex);\r\n\r\n this.setState(\r\n {\r\n delRow: true,\r\n },\r\n () => {\r\n if (!this.state.isChanged) this.setState({ isChanged: true });\r\n }\r\n );\r\n } else {\r\n this.setState(\r\n {\r\n gridEquipments: _.remove(gridEquipments, item =>\r\n item.EquipmentID === equipmentID ? item.EmployeeID !== employeeID : true\r\n ),\r\n },\r\n () => {\r\n if (!this.state.isChanged) this.setState({ isChanged: true });\r\n }\r\n );\r\n }\r\n });\r\n };\r\n\r\n onCopyRow = e => {\r\n const { gridEquipments, gridEmployees } = this.state;\r\n const rowCopied = _.get(e, \"row.data\", false);\r\n if (!rowCopied) return;\r\n Config.popup.show(\r\n \"YES_NO\",\r\n `${Config.lang(\"Sao_chep_CCLD\")} ${rowCopied.EquipmentName} ${Config.lang(\"Cho_tat_ca_nhan_vien\")}`,\r\n () => {\r\n const cpEquipment = gridEmployees\r\n .filter(emp => emp.EmployeeID !== rowCopied.EmployeeID)\r\n .reduce((arr, item) => {\r\n arr.push({ ...rowCopied, EmployeeID: item.EmployeeID });\r\n return arr;\r\n }, []);\r\n if (_.isEmpty(cpEquipment)) return;\r\n this.setState(\r\n {\r\n gridEquipments: _.uniqBy([...gridEquipments, ...cpEquipment], v =>\r\n [v.EmployeeID, v.EquipmentID].join()\r\n ),\r\n },\r\n () => {\r\n if (!this.state.isChanged) this.setState({ isChanged: true });\r\n Config.notify.show(\r\n \"success\",\r\n `${Config.lang(\"Sao_chep_thanh_cong\")}: ${rowCopied.EquipmentName}`,\r\n 3000\r\n );\r\n }\r\n );\r\n }\r\n );\r\n };\r\n\r\n onChangeMasterField = (key, data) => {\r\n const { error } = this.state;\r\n if (!this.state.isChanged) this.setState({ isChanged: true });\r\n const value = _.get(data, \"value\", _.get(data, \"target.value\", \"\"));\r\n if (error?.[key] && value) {\r\n this.setState({ error: { ...error, [key]: \"\" } });\r\n }\r\n this.setState({ masterData: { ...this.state.masterData, [key]: value } }, () => {\r\n if (key === \"ProposalID\") {\r\n this.loadForm(0);\r\n }\r\n });\r\n };\r\n\r\n loadForm = mode => {\r\n const { masterData } = this.state;\r\n const params = {\r\n Mode: mode,\r\n FormID: \"W51F1001\",\r\n TransGroupID: masterData.ProposalID,\r\n };\r\n this.props.W51F2201Actions.loadForm(params, (err, data) => {\r\n if (err) {\r\n return Config.popup.show(\"ERROR\", err);\r\n } else if (data) {\r\n const Master = data.Master || {};\r\n const Employee = data.Employee || [];\r\n const Equipment = data.Equipment || [];\r\n this.setState({\r\n masterData: {\r\n ...masterData,\r\n warehouseID: Master.WareHouseID,\r\n reason: Master.ReasonID,\r\n },\r\n gridEmployees: Employee,\r\n gridEquipments: Equipment,\r\n employeeSelected: { ...Employee[0] },\r\n });\r\n }\r\n });\r\n };\r\n\r\n renderCaption = grid => {\r\n const { getCaption } = this.props;\r\n const captionGrid = _.get(getCaption, grid, false);\r\n if (!captionGrid) return;\r\n return captionGrid\r\n .filter(item => !item.Disabled)\r\n .map((item, ind) => {\r\n let format = {};\r\n if (item.IsMoney) format = { format: { type: \"fixedPoint\" } };\r\n return (\r\n \r\n );\r\n });\r\n };\r\n\r\n renderEmpProfile = e => {\r\n const { data } = e.row;\r\n const { employeeIDNotAllocated } = this.state;\r\n const employeeId = _.get(data, \"EmployeeID\", \"\");\r\n let renderIconWarning = \"\";\r\n if (_.includes(employeeIDNotAllocated, _.get(data, \"EmployeeID\", \"\"))) {\r\n renderIconWarning = (\r\n \r\n \r\n \r\n );\r\n }\r\n return (\r\n
\r\n {renderIconWarning}\r\n
\r\n \r\n {employeeId}\r\n
\r\n
\r\n );\r\n };\r\n\r\n renderButtonAction = (e, isGridEquipment = \"\") => {\r\n return (\r\n \r\n {isGridEquipment && (\r\n 0}\r\n className={\"mgr1x\"}\r\n onClick={() => this.onCopyRow(e)}\r\n />\r\n )}\r\n this.onDeleteRow(e, isGridEquipment)}\r\n />\r\n \r\n );\r\n };\r\n\r\n validationField = () => {\r\n const { masterData } = this.state;\r\n let validateRules = [\r\n {\r\n name: \"ExamineDate\",\r\n rules: \"isRequired\",\r\n value: masterData.examineDate,\r\n },\r\n ];\r\n if (this.props.wareHouseData.NumValue === 1) {\r\n validateRules = [\r\n ...validateRules,\r\n {\r\n name: \"WareHouseID\",\r\n rules: \"isRequired\",\r\n value: masterData.warehouseID,\r\n },\r\n ];\r\n }\r\n const validateForm = MForm.formValidation(validateRules);\r\n if (Object.keys(validateForm).length !== 0) {\r\n this.setStateErrorText(validateForm);\r\n return false;\r\n } else {\r\n return true;\r\n }\r\n };\r\n\r\n setStateErrorText = value => {\r\n const { error } = this.state;\r\n this.setState({\r\n error: {\r\n ...error,\r\n ...value,\r\n },\r\n });\r\n return Object.keys(value).length !== 0;\r\n };\r\n\r\n renderEditCellEquipmentStatus = ({ data }) => {\r\n const { dataCbEquipmentStatus } = this.state;\r\n const { component, setValue, value } = data;\r\n return (\r\n {\r\n setValue(_.get(e, \"value\", \"\"));\r\n component.closeEditCell();\r\n }}\r\n />\r\n );\r\n };\r\n\r\n renderCellEquipmentStatus = ({ data }) => {\r\n const { dataCbEquipmentStatus } = this.state;\r\n return _(dataCbEquipmentStatus)\r\n .filter([\"EquipmentStatusID\", data.EquipmentStatusID])\r\n .get(\"[0].EquipmentStatusName\", \"\");\r\n };\r\n\r\n renderEditCellSize = ({ data }) => {\r\n const { dataCbSize } = this.state;\r\n const { component, setValue, rowIndex, value } = data;\r\n const groupedDataCbSize = _.filter(dataCbSize, item => item.SizeGroupID === data.data.SizeGroupID);\r\n return (\r\n {\r\n const valueChange = _.get(e, \"value\", \"\");\r\n const getSizeGroupID = _.get(groupedDataCbSize, \"[0].SizeGroupID\", \"\");\r\n setValue(valueChange);\r\n component.cellValue(rowIndex, \"SizeGroupID\", getSizeGroupID);\r\n component.closeEditCell();\r\n }}\r\n />\r\n );\r\n };\r\n\r\n renderCellSize = ({ data }) => {\r\n const { dataCbSize } = this.state;\r\n return _(dataCbSize).filter([\"SizeID\", data?.SizeID]).get(\"[0].SizeName\", \"\");\r\n };\r\n getInputValue = (id, name) => {\r\n return id && name ? `${id} - ${name}` : `${id ?? \"\"}${name ?? \"\"}`;\r\n };\r\n\r\n setProjectIDFromGrid1 = dt => {\r\n const newProjectID = dt?.[0]?.data?.ProjectID || \"\";\r\n if (newProjectID !== this.state.masterData?.ProjectID) {\r\n this.setState({\r\n masterData: {\r\n ...this.state.masterData,\r\n ProjectID: newProjectID,\r\n ProjectName: dt?.[0]?.data?.ProjectName || \"\",\r\n },\r\n });\r\n }\r\n };\r\n\r\n render() {\r\n if (!this.getInfo(true)) return null;\r\n const { isPermissionForm, mode } = this.getInfo();\r\n const {\r\n disabled,\r\n gridEmpLoading,\r\n gridEquipLoading,\r\n showEmployeeSelect,\r\n gridEmployees,\r\n gridEquipments,\r\n employeeSelected,\r\n masterData,\r\n dataOldAttachments,\r\n dataCbReason,\r\n showW51F1002Popup,\r\n error,\r\n loadingSave,\r\n isChanged,\r\n } = this.state;\r\n const { getCboWarehouse, wareHouseData, getProposal } = this.props;\r\n const classes = useStyle();\r\n\r\n const warehouseNameSelected = _.get(\r\n getCboWarehouse.filter(item => item.WareHouseID === masterData.warehouseID),\r\n \"[0]WareHouseName\",\r\n \"\"\r\n );\r\n const mapSizeGroupID = new Map([\r\n [\"AO\", \"ShirtSize\"],\r\n [\"QUAN\", \"TrousersSize\"],\r\n [\"GIAY\", \"ShoesSize\"],\r\n [\"DOSACH\", \"ClothesSize\"],\r\n ]);\r\n\r\n const gridEquipEmployee = employeeSelected\r\n ? gridEquipments.filter(item => item.EmployeeID === employeeSelected.EmployeeID)\r\n : [];\r\n const rowEmployeesChoosen = gridEmployees.find(i => i.EmployeeID === employeeSelected?.EmployeeID);\r\n if (employeeSelected && rowEmployeesChoosen && gridEquipments?.length) {\r\n gridEquipments.forEach(i => {\r\n if (!i.SizeID && i.SizeID !== 0) i.SizeID = rowEmployeesChoosen[mapSizeGroupID.get(i.SizeGroupID)];\r\n });\r\n }\r\n let newDataCbReason = [...dataCbReason];\r\n const ixDataMasterReason = _.findIndex(dataCbReason, [\"Reason\", masterData.reason]);\r\n if (ixDataMasterReason < 0)\r\n newDataCbReason = [...newDataCbReason, { Reason: masterData.reason, ReasonName: masterData.reason }];\r\n return (\r\n <>\r\n \r\n
\r\n \r\n 0 || disabled || isPermissionForm < 2 || !isChanged}\r\n loading={loadingSave}\r\n onClick={this.onSave}\r\n />\r\n
\r\n
\r\n {(showEmployeeSelect || this.isRenderModalW09F6000) && (\r\n \r\n )}\r\n {showW51F1002Popup && (\r\n \r\n )}\r\n \r\n \r\n this.onChangeMasterField(\"ProposalID\", e)}\r\n disabled={disabled || masterData.IsUseProposal === 0}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n displayExpr={\"WareHouseName\"}\r\n valueExpr={\"WareHouseID\"}\r\n disabled={disabled}\r\n value={masterData.warehouseID}\r\n error={error?.[\"WareHouseID\"]}\r\n onChange={e => this.onChangeMasterField(\"warehouseID\", e)}\r\n />\r\n \r\n \r\n \r\n this.onChangeMasterField(\"examineDate\", e)}\r\n error={error?.[\"ExamineDate\"]}\r\n disabled={disabled}\r\n required={true}\r\n clearAble\r\n />\r\n \r\n \r\n this.onChangeMasterField(\"reason\", e)}\r\n />\r\n \r\n \r\n 0 || masterData.ProposalID}\r\n onClick={() => this.reloadDetail()}\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 {/* datagrid 1*/}\r\n \r\n (this.dataGrid1 = ref)}\r\n gridProps={{\r\n className: classes.dataGrid,\r\n }}\r\n editing={{\r\n refreshMode: \"reshape\",\r\n texts: {\r\n confirmDeleteMessage: \"\",\r\n },\r\n mode: \"cell\",\r\n allowUpdating: true,\r\n selectTextOnEditStart: true,\r\n startEditAction: Config.isMobile ? \"click\" : \"dblClick\",\r\n }}\r\n selection={{ mode: \"single\" }}\r\n onSelectionChanged={this.onSelectionChangedGridEmployee}\r\n keyExpr={\"EmployeeID\"}\r\n loading={gridEmpLoading}\r\n hoverStateEnabled={true}\r\n style={{ border: \"none\" }}\r\n dataSource={gridEmployees}\r\n showRowLines={false}\r\n showBorders={false}\r\n showColumnLines={false}\r\n noDataText={Config.lang(\"No_data\")}\r\n onContentReady={e => {\r\n let grid = e.component;\r\n let selection = grid.getSelectedRowKeys();\r\n if (selection.length === 0) {\r\n grid.selectRowsByIndexes([0]);\r\n }\r\n\r\n /**\r\n * Đối với Mode Thêm mới: ProjectID, ProjectName map với ProjectID, ProjectName dòng ở đầu tiên\r\n * Đối với Mode Sửa, Xem: Nếu IsVoucher = 1: ProjectID, ProjectName map với ProjectID, ProjectName dòng đầu tiên ở bảng detail Grid 1. Ngược lại, trả rỗng\r\n */\r\n if (masterData.IsVoucher === 1) {\r\n const dataSource = e.component.getVisibleRows();\r\n this.setProjectIDFromGrid1(dataSource);\r\n }\r\n }}\r\n onRowUpdated={() => {\r\n if (!this.state.isChanged) this.setState({ isChanged: true });\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.renderCaption(\"grid1\")}\r\n \r\n \r\n \r\n\r\n \r\n \r\n {Config.lang(\"Thong_tin_cap_phat_cho\")}\r\n \r\n }\r\n />\r\n \r\n \r\n\r\n \r\n {/*grid 2*/}\r\n {\r\n this.newRowIndex = e.newRowIndex;\r\n }}\r\n hoverStateEnabled={true}\r\n loading={gridEquipLoading}\r\n style={{ border: \"none\" }}\r\n dataSource={gridEquipEmployee}\r\n showRowLines={false}\r\n showBorders={false}\r\n typeShort={true}\r\n keyExpr={\"EquipmentID\"}\r\n showColumnLines={false}\r\n noDataText={Config.lang(\"No_data\")}\r\n onRowUpdated={() => {\r\n if (!this.state.isChanged) this.setState({ isChanged: true });\r\n }}\r\n >\r\n \r\n this.renderButtonAction(e, true)}\r\n />\r\n e.rowIndex + 1}\r\n width={100}\r\n />\r\n (\r\n {`${e.data.EquipmentName} - ${e.data.EquipmentID}`}\r\n )}\r\n cssClass={\"text-left\"}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n e.value > 0}\r\n />\r\n \r\n e?.UsingPeriod ?? 0}\r\n allowEditing={!masterData.ProposalID}\r\n editorOptions={{\r\n min: 0,\r\n onInput: e => {\r\n let value = e.event.target?.value || \"\";\r\n if (value.includes(\"-\")) value.replace(\"-\", \"\").replace(\"e\", \"\");\r\n },\r\n }}\r\n />\r\n \r\n \r\n {this.renderCaption(\"grid2\")}\r\n \r\n this.renderButtonAction(e, true)}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n\r\n componentDidMount = async () => {\r\n if (!this.getInfo()) return;\r\n const { mode } = this.getInfo();\r\n this.loadCaptions();\r\n this.getWareHouse();\r\n this.loadCboWarehouse();\r\n this.loadCboReason();\r\n this.loadCboSize();\r\n this.loadCboProposal();\r\n\r\n this.loadMaster();\r\n if (mode === \"edit\") {\r\n this.loadDetail();\r\n this.loadAttachments();\r\n }\r\n window.addEventListener(\"beforeunload\", this.beforeUnload);\r\n };\r\n\r\n componentDidUpdate(prevProps, prevState, snapshot) {\r\n if (prevProps?.location?.state?.mode !== this.props?.location?.state?.mode) {\r\n this.loadDetail();\r\n this.loadMaster();\r\n this.loadAttachments();\r\n }\r\n }\r\n\r\n beforeUnload = e => {\r\n e.preventDefault();\r\n e.returnValue = \"\";\r\n return;\r\n };\r\n\r\n componentWillUnmount = () => {\r\n window.removeEventListener(\"beforeunload\", this.beforeUnload);\r\n };\r\n}\r\n\r\nexport default compose(\r\n connect(\r\n state => ({\r\n getCaption: state.W51F1001.getCaption,\r\n getCboWarehouse: state.general.getCboWarehouse,\r\n wareHouseData: state.W51F1001.wareHouseData,\r\n getProposal: state.W51F1001.getProposal,\r\n }),\r\n dispatch => ({\r\n w51f1001Actions: bindActionCreators(W51F1001Actions, dispatch),\r\n generalActions: bindActionCreators(generalActions, dispatch),\r\n W51F2201Actions: bindActionCreators(W51F2201Actions, dispatch),\r\n })\r\n )\r\n)(W51F1001);\r\n","/**\r\n * @copyright 2020 @ DigiNet\r\n * @author DINHTHIEN\r\n * @create 5/25/2020\r\n * @update 5/25/2020\r\n * @Example\r\n */\r\nimport React, { Component } from \"react\";\r\nimport { browserHistory } from \"react-router\";\r\nimport { bindActionCreators, compose } from \"redux\";\r\nimport { withStyles } from \"@material-ui/core\";\r\nimport { connect } from \"react-redux\";\r\nimport * as generalActions from \"../../../../redux/general/general_actions\";\r\nimport ActionToolbar from \"../../../common/toolbar/action-toolbar\";\r\nimport Config from \"../../../../config\";\r\nimport ButtonCustom from \"../../../common/button/button-custom\";\r\nimport ButtonGeneral from \"../../../common/button/button-general\";\r\nimport { Image, FormGroup, Row, Col } from \"react-bootstrap\";\r\nimport GridContainer from \"../../../grid-container/grid-container\";\r\nimport { Column } from \"devextreme-react/data-grid\";\r\nimport IconButton from \"@material-ui/core/IconButton\";\r\nimport ExitToAppIcon from \"@material-ui/icons/ExitToApp\";\r\nimport Divider from \"@material-ui/core/Divider\";\r\nimport Filter from \"../../../filter/filter\";\r\nimport { Combo } from \"../../../common/form-material\";\r\nimport DateBoxPicker from \"../../../common/form-material/date-box\";\r\nimport moment from \"moment\";\r\nimport UserImage from \"../../../common/user/user-image\";\r\n// import Tooltip from \"@material-ui/core/Tooltip\";\r\nimport _ from \"lodash\";\r\n// import Zoom from \"@material-ui/core/Zoom\";\r\n\r\nimport Api from \"../../../../services/api\";\r\nimport Icons from \"../../../common/icons\";\r\n\r\nconst styles = {\r\n divAvatar: {\r\n width: 45,\r\n height: 45,\r\n borderRadius: \"50%\",\r\n overflow: \"hidden\",\r\n marginRight: 8,\r\n },\r\n imgAvatar: {\r\n maxWidth: \"100%\",\r\n maxHeight: \"100%\",\r\n objectFit: \"contain\",\r\n },\r\n chip: {\r\n fontSize: \"1rem\",\r\n fontWeight: 400,\r\n border: \"none\",\r\n backgroundColor: \"#EBEBEB\",\r\n },\r\n dateInfo: {\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n },\r\n divText: {\r\n // fontSize: \"14px\",\r\n fontWeight: 500,\r\n // color: \"#575757\",\r\n },\r\n divTextTooltip: {\r\n fontSize: \"12px\",\r\n fontWeight: 500,\r\n color: \"#fffff\",\r\n },\r\n divDateText: {\r\n fontSize: \"14px\",\r\n fontWeight: 400,\r\n color: \"#000000\",\r\n },\r\n};\r\n\r\nclass W51F1000 extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n gridLoading: false,\r\n cboLoading: false,\r\n dataGrid: { total: 0, rows: [] },\r\n dataCboEmployees: { total: 0, rows: [] },\r\n isPermission: 0,\r\n DateFrom: moment().startOf('year').format(\"YYYY-MM-DD\"),\r\n DateTo: moment().endOf('year').format(\"YYYY-MM-DD\"),\r\n };\r\n this.filter = {\r\n employeeID: \"\",\r\n skip: 0,\r\n limit: 10,\r\n };\r\n this.filterCboEmployees = {\r\n timer: null,\r\n strSearch: \"\",\r\n skip: 0,\r\n limit: 50,\r\n };\r\n }\r\n\r\n redirectScreen = (mode = \"add\", e = \"\") => {\r\n browserHistory.push({\r\n pathname: Config.getRootPath() + \"W51F1001\",\r\n state: {\r\n mode: mode,\r\n TransGroupID: _.get(e, \"data.TransGroupID\", \"\"),\r\n isPermissionForm: this.state.isPermission,\r\n },\r\n });\r\n };\r\n\r\n handleResponse = (res, updateState = false) => {\r\n const code = _.get(res, \"code\", 0) === 200;\r\n const message = _.get(res, \"message\", Config.lang(\"Loi_chua_xac_dinh\"));\r\n const data = _.get(res, \"data\", false);\r\n if (!code) Config.popup.show(\"INFO\", message);\r\n if (data && updateState) this.setState({ [updateState]: data });\r\n };\r\n\r\n handleFilter = (key, data) => {\r\n const stateFieldName = [\"DateFrom\", \"DateTo\"];\r\n let value = _.get(data, \"value\", \"\");\r\n if (stateFieldName.includes(key)) {\r\n this.setState({\r\n [key]: value,\r\n });\r\n return;\r\n }\r\n if (key === \"employeeID\") value = _.get(value, \"EmployeeID\", \"\");\r\n this.filter[key] = value;\r\n };\r\n\r\n loadPermission = async () => {\r\n await this.props.generalActions.getPermission(\"W51F1000\", (isPer) => {\r\n this.setState({ isPermission: isPer });\r\n });\r\n };\r\n\r\n loadDataGrid = async () => {\r\n const { DateTo, DateFrom } = this.state;\r\n const { skip, limit, employeeID } = this.filter;\r\n const params = {\r\n FormID: \"W51F1000\",\r\n Language: Config.language || \"84\",\r\n EmployeeID: employeeID,\r\n skip,\r\n limit,\r\n DateTo,\r\n DateFrom,\r\n };\r\n this.setState({ gridLoading: true });\r\n const res = await Api.put(\"/w51f1000/load-form-list\", params);\r\n this.handleResponse(res, \"dataGrid\");\r\n this.setState({\r\n gridLoading: false,\r\n });\r\n };\r\n\r\n loadCboEmployees = (isReset) => {\r\n const param = {\r\n Type: \"EmployeeID\",\r\n FormID: \"W51F1000\",\r\n Language: Config.language || \"84\",\r\n skip: this.filterCboEmployees.skip,\r\n limit: this.filterCboEmployees.limit,\r\n search: this.filterCboEmployees.strSearch,\r\n };\r\n this.setState({ cboLoading: true });\r\n this.props.generalActions.getCboEmployees(param, (error, data) => {\r\n this.setState({ cboLoading: false });\r\n if (error) {\r\n Config.popup.show(\"ERROR\", error);\r\n return false;\r\n }\r\n if (data) {\r\n const { dataCboEmployees } = this.state;\r\n const rows = data && data.rows ? data.rows : data;\r\n const total = data && data.total ? data.total : data.length;\r\n this.setState({\r\n dataCboEmployees: {\r\n rows: isReset ? rows : dataCboEmployees.rows.concat(rows),\r\n total: total,\r\n },\r\n });\r\n }\r\n });\r\n };\r\n\r\n onChangePage = (page) => {\r\n this.filter.skip = page * this.filter.limit;\r\n this.loadDataGrid();\r\n };\r\n\r\n onChangePerPage = (perPage) => {\r\n this.filter.skip = 0;\r\n this.filter.limit = perPage;\r\n this.loadDataGrid();\r\n };\r\n\r\n onDelete = (data) => {\r\n Config.popup.show(\"YES_NO\", Config.lang(\"Ban_co_chac_chan_muon_xoa_du_lieu_nay\"), () => {\r\n (async () => {\r\n const params = { TransGroupID: _.get(data, \"TransGroupID\", \"\") };\r\n this.setState({ gridLoading: true });\r\n const res = await Api.put(\"/w51f1000/delete\", params);\r\n const status = _.get(res, \"data.Status\", 1);\r\n if (status) {\r\n Config.popup.show(\"INFO\", Config.lang(\"Ton_tai_nhan_vien_da_duoc_cap_phat,_ban_khong_duoc_phep_xoa\"));\r\n } else {\r\n Config.popup.show(\"INFO\", Config.lang(\"Xoa_thanh_cong\"));\r\n this.loadDataGrid();\r\n }\r\n this.setState({ gridLoading: false });\r\n })();\r\n });\r\n };\r\n\r\n renderFilter = () => {\r\n const { classes } = this.props;\r\n const { dataCboEmployees, DateTo, DateFrom, cboLoading } = this.state;\r\n return (\r\n {\r\n return (\r\n <>\r\n \r\n \r\n \r\n
\r\n
{Config.lang(\"Tu\")}
\r\n this.handleFilter(\"DateFrom\", e)}\r\n useMaskBehavior={true}\r\n showClearButton={true}\r\n placeholder={\"DD/MM/YYYY\"}\r\n value={DateFrom}\r\n />\r\n
\r\n \r\n \r\n
\r\n
{Config.lang(\"Den\").toLowerCase()}
\r\n this.handleFilter(\"DateTo\", e)}\r\n useMaskBehavior={true}\r\n showClearButton={true}\r\n placeholder={\"DD/MM/YYYY\"}\r\n value={DateTo}\r\n />\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n {\r\n const { data } = e;\r\n if (!data) return null;\r\n return data.EmployeeID + \" - \" + data.EmployeeName;\r\n }}\r\n showClearButton={true}\r\n // showCheckBoxMode={\"none\"}\r\n onValueChanged={(e) => this.handleFilter(\"employeeID\", e)}\r\n onInputChanged={(e) => {\r\n this.filterCboEmployees.strSearch = e.target.value;\r\n this.filterCboEmployees.skip = 0;\r\n this.loadCboEmployees(true);\r\n }}\r\n onLoadMore={(e) => {\r\n this.filterCboEmployees.skip = e.skip;\r\n this.filterCboEmployees.limit = e.limit;\r\n this.loadCboEmployees();\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 renderEmpProfile = (e) => {\r\n const { data } = e.row;\r\n return (\r\n
\r\n \r\n
\r\n );\r\n };\r\n\r\n renderEmployeeInfo = (e) => {\r\n const { data } = e.row;\r\n const { classes } = this.props;\r\n let getUserName = \"\";\r\n let projectName = _.get(data, \"ProjectName\", \"\");\r\n const employeeID = _.get(data, \"EmployeeID\", false);\r\n const dateCreated = moment(_.get(data, \"CreateDate\", \"\")).format(\"LT, DD/MM/YYYY\");\r\n if (employeeID) {\r\n getUserName = _.get(Config.getUser({ EmployeeID: employeeID }), \"EmployeeName\", \"\");\r\n }\r\n\r\n return (\r\n
\r\n
{getUserName}
\r\n
{projectName}
\r\n
\r\n \r\n
\r\n {dateCreated}\r\n
\r\n
\r\n
\r\n );\r\n };\r\n\r\n renderInfo = (e) => {\r\n const { data } = e.row;\r\n const { classes } = this.props;\r\n const examineDate = moment.utc(_.get(data, \"ExamineDate\", \"\")).format(\"DD/MM/YYYY\");\r\n const wareHouseId = _.get(data, \"WareHouseID\", false);\r\n return (\r\n
\r\n
\r\n {Config.lang(\"Ngay_thuc_hien\")}:{examineDate}\r\n
\r\n
\r\n {Config.lang(\"Ly_do\")}: {_.get(data, \"NoteU\", \"\")}\r\n
\r\n
\r\n {Config.lang(\"Tong_so_nhan_vien\")}: {_.get(data, \"QuantityEmp\", \"\")}\r\n
\r\n {wareHouseId && (\r\n
\r\n {Config.lang(\"Kho\")}: {wareHouseId}\r\n
\r\n )}\r\n
\r\n );\r\n };\r\n\r\n renderAction = (e) => {\r\n const { data } = e.row;\r\n const { gridLoading } = this.state;\r\n return (\r\n
\r\n this.redirectScreen(\"edit\", e)}>\r\n \r\n \r\n \r\n this.onDelete(data)}>\r\n \r\n \r\n
\r\n );\r\n };\r\n\r\n render() {\r\n const { skip, limit } = this.filter;\r\n const { gridLoading, dataGrid } = this.state;\r\n const dataGridRows = _.get(dataGrid, \"rows\", []);\r\n const dataGridTotal = _.get(dataGrid, \"total\", 0);\r\n return (\r\n <>\r\n
{this.renderFilter()}
\r\n \r\n }\r\n color={\"primary\"}\r\n className={\"mgr10\"}\r\n variant={\"custom\"}\r\n disabled={gridLoading}\r\n style={{ textTransform: \"uppercase\" }}\r\n size={\"large\"}\r\n onClick={this.redirectScreen}\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 componentDidMount = async () => {\r\n await this.loadPermission();\r\n if (this.state.isPermission <= 0) return;\r\n this.loadCboEmployees();\r\n this.loadDataGrid();\r\n };\r\n}\r\n\r\nexport default compose(\r\n connect(\r\n (state) => ({ getCboEmployees: state.general.getCboEmployees }),\r\n (dispatch) => ({\r\n generalActions: bindActionCreators(generalActions, dispatch),\r\n }),\r\n ),\r\n withStyles(styles),\r\n)(W51F1000);\r\n","/**\r\n * @copyright 2023 @ DigiNet\r\n * @author TRANGHOANG\r\n * @create 10/1/2023\r\n * @Example\r\n */\r\n\r\nimport React, { useState, useEffect, useRef } from \"react\";\r\nimport { useDispatch } from \"react-redux\";\r\nimport { browserHistory } from \"react-router\";\r\nimport ListApproval from \"../../../common/list-approval\";\r\n\r\nimport * as W51F2200Actions from \"../../../../redux/W5X/W51F2200/W51F2200_actions\";\r\nimport * as generalActions from \"../../../../redux/general/general_actions\";\r\nimport Config from \"../../../../config\";\r\nimport { Checkbox, DateRangePicker, Dropdown, Col } from \"diginet-core-ui/components\";\r\n\r\nconst FormID = \"W51F2200\";\r\nconst W51F2200 = props => {\r\n const dispatch = useDispatch();\r\n const [listStatus, setListStatus] = useState([]);\r\n const [isShowOther, setIsShowOther] = useState(0);\r\n const [dataCboEmployees, setDataCboEmployees] = useState({});\r\n const [loadingCboEmployees, setLoadingCboEmployees] = useState(false);\r\n\r\n const gridLeft = useRef(null);\r\n\r\n const paramFilterCboEmployees = useRef({ skip: 0, limit: 50 });\r\n\r\n useEffect(() => {\r\n gridLeft.current.loadGrid();\r\n }, [isShowOther]);\r\n\r\n const loadCboEmployees = isReset => {\r\n const param = {\r\n Type: \"EmployeeID\",\r\n FormID: FormID,\r\n Language: Config.language || \"84\",\r\n ...paramFilterCboEmployees.current,\r\n };\r\n setLoadingCboEmployees(true);\r\n dispatch(\r\n generalActions.getCboEmployees(param, (err, data) => {\r\n setLoadingCboEmployees(false);\r\n if (err) return Config.popup.show(\"ERROR\", err);\r\n if (data) {\r\n const rows = data?.rows ?? data;\r\n const total = data?.total ?? data?.length;\r\n setDataCboEmployees({\r\n rows: isReset ? rows : dataCboEmployees.rows.concat(rows),\r\n total,\r\n });\r\n }\r\n })\r\n );\r\n };\r\n\r\n const renderHeader = () => {\r\n return (\r\n setIsShowOther(+e.target.checked)}\r\n />\r\n );\r\n };\r\n\r\n const renderFilter = (dataFilter, filterChange) => {\r\n return (\r\n <>\r\n \r\n filterChange(\"Date\", e, \"Date\")}\r\n placeholder={`${Config.lang(\"Tu_ngay\")} - ${Config.lang(\"Den_ngay\")}`}\r\n returnFormat={\"YYYY-MM-DD\"}\r\n viewType={\"outlined\"}\r\n />\r\n \r\n \r\n filterChange(\"AppStatusID\", e)}\r\n dataSource={listStatus}\r\n defaultValue={dataFilter.AppStatusID ?? null}\r\n viewType={\"outlined\"}\r\n />\r\n \r\n \r\n filterChange(\"EmployeeID\", e)}\r\n defaultValue={dataFilter.EmployeeID ?? null}\r\n viewType={\"outlined\"}\r\n loading={loadingCboEmployees}\r\n onInput={e => {\r\n paramFilterCboEmployees.current.search = e?.target?.value ?? \"\";\r\n paramFilterCboEmployees.current.skip = 0;\r\n loadCboEmployees(true);\r\n }}\r\n onLoadMore={e => {\r\n paramFilterCboEmployees.current.skip = e?.skip ?? 0;\r\n paramFilterCboEmployees.current.limit = e?.limit ?? 10;\r\n loadCboEmployees();\r\n }}\r\n />\r\n \r\n \r\n );\r\n };\r\n\r\n const onLoadCboFilter = () => {\r\n loadCboEmployees(true);\r\n };\r\n\r\n const _onAdd = () => {\r\n browserHistory.push({\r\n pathname: Config.getRootPath() + \"W51F2201\",\r\n state: { mode: \"add\", FormParent: FormID },\r\n });\r\n };\r\n\r\n const _onView = e => {\r\n const { data } = e.row;\r\n browserHistory.push({\r\n pathname: Config.getRootPath() + \"W51F2201\",\r\n state: { mode: \"edit\", TransGroupID: data.TransGroupID, AppStatusID: data.AppStatusID },\r\n });\r\n };\r\n\r\n return (\r\n <>\r\n \r\n W51F2200Actions.loadGrid(\r\n { ...params, IsShowOther: isShowOther, AppStatusID: params.AppStatusID?.toString() || \"\" },\r\n cb\r\n ),\r\n loadStatus: (\r\n params,\r\n cb // action load data Dropdown Status (use to column renderStatus and DD Filter)\r\n ) =>\r\n generalActions.getCboAppStatus({ ...params, FormID: \"STANDARD\" }, (err, data) => {\r\n setListStatus(data);\r\n cb && cb(err, data);\r\n }),\r\n }}\r\n renderAction={() => {\r\n return {\r\n History: true, //icon lịch sử\r\n View: {\r\n action: _onView, //icon con mắt\r\n },\r\n Delete: {\r\n action: W51F2200Actions.deleteRow,\r\n },\r\n };\r\n }}\r\n renderInfo={{\r\n [Config.lang(\"Kho\")]: \"WareHouseName\",\r\n [Config.lang(\"Ly_do\")]: \"ReasonName\",\r\n [Config.lang(\"So_luong_nhan_vien\")]: \"QuantityEmp\",\r\n }}\r\n />\r\n \r\n );\r\n};\r\n\r\nexport default W51F2200;\r\n","/**\r\n * @copyright 2023 @ DigiNet\r\n * @author THANHAN\r\n * @create 10/01/2023\r\n * @Example\r\n */\r\n\r\nimport React, { useEffect, useState, useRef } from 'react';\r\nimport {\r\n Row,\r\n Col,\r\n DateRangePicker,\r\n Dropdown,\r\n Button,\r\n} from \"diginet-core-ui/components\";\r\nimport Filter from \"../../../filter/filter\";\r\nimport Approvals from \"../../../approvals/approvals\";\r\nimport ActionToolbar from '../../../common/toolbar/action-toolbar';\r\nimport W51F2202FormInfo from './W51F2202FormInfo';\r\nimport Config from '../../../../config';\r\nimport { useDispatch } from 'react-redux';\r\nimport * as generalActions from \"../../../../redux/general/general_actions\";\r\nimport * as approvalActions from \"../../../../redux/approvals/approvals_actions\";\r\n\r\nexport default function W51F2202(props) {\r\n const dispatch = useDispatch();\r\n const FormID = \"W51F2202\";\r\n \r\n const [iPermission, setIPermission] = useState(0);\r\n const [listStatus, setListStatus] = useState([]);\r\n const [dataCboEmployees, setDataCboEmployees] = useState({});\r\n const [loadingCboEmployees, setLoadingCboEmployees] = useState(false);\r\n const [loading, setLoading] = useState(false);\r\n const [voucherID, setVoucherID] = useState(\"\");\r\n const [dataForm, setDataForm] = useState({});\r\n const [dataFilter, setDataFilter] = useState({\r\n DateFrom: null,\r\n DateTo: null,\r\n EmployeeID: \"\",\r\n ApprovalStatus: null,\r\n });\r\n const [dateFrom, setDateFrom] = useState(null);\r\n const [dateTo, setDateTo] = useState(null);\r\n const [employee, setEmployee] = useState(null);\r\n const [appStatusID, setAppStatusID] = useState(null);\r\n\r\n const paramFilterCboEmployees = useRef({ skip: 0, limit: 50 });\r\n\r\n const loadCboEmployees = isReset => {\r\n const param = {\r\n Type: \"EmployeeID\",\r\n FormID,\r\n Language: Config.language || \"84\",\r\n ...paramFilterCboEmployees.current,\r\n };\r\n setLoadingCboEmployees(true);\r\n dispatch(\r\n generalActions.getCboEmployees(param, (err, data) => {\r\n setLoadingCboEmployees(false);\r\n if (err) return Config.popup.show(\"ERROR\", err);\r\n if (data) {\r\n const rows = data?.rows ?? data;\r\n const total = data?.total ?? data?.length;\r\n setDataCboEmployees({\r\n rows: isReset ? rows : dataCboEmployees.rows.concat(rows),\r\n total,\r\n });\r\n }\r\n })\r\n );\r\n };\r\n\r\n const loadCboStatus = () => {\r\n const params = {\r\n FormID: \"STANDARD\",\r\n Language: Config.language || '84'\r\n };\r\n setLoading(true);\r\n dispatch(generalActions.getCboAppStatus(params, (error, data) => {\r\n setLoading(false);\r\n if (error) {\r\n Config.popup.show('ERROR', error);\r\n return false;\r\n }\r\n else if (data) {\r\n setListStatus(data);\r\n }\r\n }));\r\n };\r\n\r\n const loadFormInfo = (VoucherID) => {\r\n const params = {\r\n DivisionID: Config.getDivisionID(),\r\n FormID,\r\n Language: Config.language || \"84\",\r\n VoucherID: VoucherID ? VoucherID : \"\",\r\n };\r\n setLoading(true);\r\n dispatch(approvalActions.getFormInfo(params, (error, data) => {\r\n setLoading(false);\r\n if (error) return Config.popup.show(\"ERROR\", error);\r\n if (data) {\r\n setDataForm(data);\r\n };\r\n }));\r\n };\r\n\r\n const onLoadCboFilter = () => {\r\n loadCboEmployees(true);\r\n loadCboStatus();\r\n };\r\n\r\n const onDrawerClosed = () => {\r\n setVoucherID(\"\");\r\n };\r\n\r\n const loadPermission = () => {\r\n dispatch(generalActions.getPermission(FormID, (isPer) => {\r\n if (isPer) {\r\n setIPermission(isPer);\r\n }\r\n }))\r\n }\r\n\r\n const renderFormInfo = (data) => {\r\n return (\r\n \r\n );\r\n };\r\n\r\n const filterChange = (key, e) => {\r\n const value = e?.value ?? e?.data?.value ?? e?.target?.value ?? e;\r\n switch (key) {\r\n case \"Date\":\r\n setDateFrom(value?.[0] ?? null);\r\n setDateTo(value?.[1] ?? null);\r\n break;\r\n case \"EmployeeID\":\r\n setEmployee(value ?? \"\");\r\n break;\r\n case \"AppStatusID\":\r\n setAppStatusID(value ?? null);\r\n break;\r\n default:\r\n break;\r\n };\r\n };\r\n\r\n const renderFilter = () => {\r\n return (\r\n {\r\n return (\r\n \r\n \r\n filterChange(\"Date\", e)}\r\n placeholder={`${Config.lang(\"Tu_ngay\")} - ${Config.lang(\"Den_ngay\")}`}\r\n returnFormat={\"YYYY-MM-DD\"}\r\n viewType={\"outlined\"}\r\n />\r\n \r\n \r\n filterChange(\"AppStatusID\", e)}\r\n dataSource={listStatus}\r\n defaultValue={dataFilter.AppStatusID ?? null}\r\n viewType={\"outlined\"}\r\n loading={loading}\r\n />\r\n \r\n \r\n filterChange(\"EmployeeID\", e)}\r\n defaultValue={dataFilter.EmployeeID ?? null}\r\n viewType={\"outlined\"}\r\n loading={loadingCboEmployees}\r\n onInput={e => {\r\n paramFilterCboEmployees.current.search = e?.target?.value ?? \"\";\r\n paramFilterCboEmployees.current.skip = 0;\r\n loadCboEmployees(true);\r\n }}\r\n onLoadMore={e => {\r\n paramFilterCboEmployees.current.skip = e?.skip ?? 0;\r\n paramFilterCboEmployees.current.limit = e?.limit ?? 10;\r\n loadCboEmployees();\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 const onSearch = () => {\r\n setDataFilter({\r\n ...dataFilter,\r\n ApprovalStatus: appStatusID,\r\n DateFrom: dateFrom,\r\n DateTo: dateTo,\r\n EmployeeID: employee\r\n });\r\n };\r\n\r\n const onSelectionChanged = (e) => {\r\n if (!e) return false;\r\n loadFormInfo(e?.VoucherID || e?.TransGroupID || \"\");\r\n };\r\n\r\n useEffect(() => {\r\n loadPermission();\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (iPermission > 0) {\r\n onLoadCboFilter();\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n },[iPermission])\r\n\r\n if (!iPermission) return null;\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","import React, {useState, useEffect} from 'react'\r\nimport { Column } from \"devextreme-react/data-grid\";\r\nimport GridContainer from \"../../../grid-container/grid-container\";\r\nimport { \r\n DatePicker,\r\n Typography,\r\n FormGroup,\r\n Row,\r\n Col,\r\n Dropdown,\r\n} from \"diginet-core-ui/components\";\r\nimport Config from '../../../../config';\r\nimport _ from \"lodash\";\r\nimport { useDispatch } from \"react-redux\";\r\nimport * as generalActions from '../../../../redux/general/general_actions';\r\nimport * as W51F1001Actions from '../../../../redux/W5X/W51F1001/W51F1001_actions';\r\nimport * as W51F2201Actions from '../../../../redux/W5X/W51F2201/W51F2201_actions';\r\n\r\nexport default function W51F2202FormInfo(props) {\r\n const FormID = \"W51F2201\";\r\n const {data} = props;\r\n const {\r\n Employee,\r\n Equipment,\r\n ReasonID,\r\n WareHouseID,\r\n VoucherDate,\r\n NormID,\r\n } = data;\r\n\r\n const dispatch = useDispatch();\r\n\r\n const [loading, setLoading] = useState(false);\r\n const [currentPage, setCurrentPage] = useState(0);\r\n const [currentEmployee, setCurrentEmployee] = useState(\"\");\r\n const [dataCboWarehouse, setDataCboWarehouse] = useState([]); // data dropdown kho\r\n const [dataCboReason, setDataCboReason] = useState([]); // data dropdown ly do\r\n const [dataCboSize, setDataCboSize] = useState([]); // data dropdown size luoi 2\r\n const [dataNormName, setDataNormName] = useState([]); // data\r\n\r\n const loadCboWarehouse = () => {\r\n const params = {\r\n FormID: FormID,\r\n Languague: \"84\",\r\n }\r\n setLoading(true);\r\n dispatch(generalActions.getCboWarehouse(params, (err, data) => {\r\n setLoading(false);\r\n if (err) {\r\n return Config.popup.show('ERROR', err);\r\n }\r\n else if (data) {\r\n setDataCboWarehouse(data);\r\n }\r\n }))\r\n };\r\n\r\n const getCboReason = () => {\r\n setLoading(true);\r\n dispatch(W51F1001Actions.getCbReason((err, data) => {\r\n setLoading(false);\r\n if (err) {\r\n return Config.popup.show('ERROR', err);\r\n }\r\n else if (data) {\r\n setDataCboReason(data);\r\n }\r\n }))\r\n };\r\n\r\n const getCboSize = () => {\r\n setLoading(true);\r\n dispatch(W51F1001Actions.getCbSize((err, data) => {\r\n setLoading(false);\r\n if (err) {\r\n return Config.popup.show('ERROR', err);\r\n }\r\n else if (data) {\r\n setDataCboSize(data);\r\n }\r\n }))\r\n };\r\n\r\n const loadNormName = () => {\r\n setLoading(true);\r\n dispatch(W51F2201Actions.loadNormName((err, data) => {\r\n setLoading(false);\r\n if (err) {\r\n return Config.popup.show('ERROR', err);\r\n }\r\n else if (data) {\r\n setDataNormName(data);\r\n }\r\n }))\r\n };\r\n\r\n useEffect(() => {\r\n const { Employee } = data;\r\n if (!_.isEmpty(Employee)) {\r\n setCurrentEmployee(data?.Employee[0]);\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [Employee])\r\n\r\n useEffect(() => {\r\n loadCboWarehouse();\r\n getCboReason();\r\n getCboSize();\r\n loadNormName();\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n },[])\r\n\r\n const onRowClick = (e) => {\r\n if (!e) return;\r\n setCurrentEmployee(e.data);\r\n }\r\n\r\n const renderSizeCell = (e) => {\r\n const { data } = e;\r\n return (\r\n \r\n )\r\n };\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 {/* luoi 1 */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/* hidden column */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {`${Config.lang(\"Thong_tin_de_xuat_cap_phat_cho\")}:`}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/* luoi 2 */}\r\n \r\n p?.EmployeeID === currentEmployee?.EmployeeID) ?? []}\r\n itemPerPage={10}\r\n typePaging={\"default\"}\r\n filterRow={{\r\n visible: true,\r\n showOperationChooser: false,\r\n }}\r\n editing={{\r\n mode: 'cell',\r\n refreshMode: \"reshape\",\r\n allowUpdating: true,\r\n }}\r\n sorting={{\r\n mode: \"none\"\r\n }}\r\n onChangePage={page => { setTimeout(() => setCurrentPage(page), 300) }}\r\n onEditorPreparing={e => {\r\n if (\r\n e.parentType === \"filterRow\" &&\r\n e.dataField === \"InterviewDateText\"\r\n ) {\r\n e.editorOptions.onValueChanged = val => {\r\n e.setValue(val.value);\r\n };\r\n }\r\n }}\r\n loading={loading}\r\n >\r\n currentPage * 10 + e.rowIndex + 1}\r\n width={80}\r\n allowEditing={false}\r\n />\r\n \r\n \r\n renderSizeCell(e)}\r\n alignment={\"center\"}\r\n width={120}\r\n allowEditing={false}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n {/* hidden column */}\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 * @copyright 2021 @ DigiNet\r\n * @author ANHTAI\r\n * @create 07/05/2021\r\n * @Example\r\n */\r\nimport { Divider } from \"@material-ui/core\";\r\nimport withStyles from \"@material-ui/core/styles/withStyles\";\r\nimport { Column } from \"devextreme-react/data-grid\";\r\nimport { Button, Dropdown, DateRangePicker, ButtonIcon } from 'diginet-core-ui/components';\r\nimport { CalendarNew } from 'diginet-core-ui/icons';\r\nimport _ from \"lodash\";\r\nimport moment from \"moment\";\r\nimport React, { useCallback, useEffect, useRef, useState } from \"react\";\r\nimport { Col, FormGroup, Row } from \"react-bootstrap\";\r\nimport { connect } from \"react-redux\";\r\nimport { browserHistory } from \"react-router\";\r\nimport { bindActionCreators, compose } from \"redux\";\r\nimport Config from \"../../../../config\";\r\nimport * as generalActions from \"../../../../redux/general/general_actions\";\r\nimport * as W51F1100Actions from \"../../../../redux/W51/W51F1100/W51F1100_actions\";\r\nimport Api from \"../../../../services/api\";\r\nimport ActionToolbar from \"../../../common/toolbar/action-toolbar\";\r\nimport UserImage from \"../../../common/user/user-image\";\r\nimport UserName from \"../../../common/user/user-name\";\r\nimport Filter from \"../../../filter/filter\";\r\nimport GridContainer from \"../../../grid-container/grid-container\";\r\nimport History from \"../../../libs/history\";\r\n\r\nconst styles = {\r\n dateInfo: {\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n },\r\n dateRangeClass: {\r\n '& input': {\r\n padding: '10px !important'\r\n }\r\n }\r\n};\r\n\r\nconst W51F1100 = (props) => {\r\n const { dataGrid, getCboWarehouse, classes } = props;\r\n const FormID = \"W51F1100\";\r\n const Language = Config.language || \"84\";\r\n const formatTimes = \"DD/MM/YYYY\";\r\n const DateFrom = moment().startOf('year').format(\"YYYY-MM-DD\");\r\n const DateTo = moment().endOf('year').format(\"YYYY-MM-DD\");\r\n\r\n\r\n const [gridLoading, setGridLoading] = useState(false);\r\n const [cboWareHouseLoading, setCboWareHouseLoading] = useState(false);\r\n const [cboEmployeeLoading, setCboEmployeeLoading] = useState(false);\r\n const [iPermission, setIPermission] = useState(0);\r\n const [filterSearch, setFilterSearch] = useState({\r\n Employee: \"\",\r\n EmployeeID: \"\",\r\n WareHouseID: \"\"\r\n });\r\n const [dataCboEmployees, setDataCboEmployees] = useState({\r\n rows: [],\r\n total: 0\r\n });\r\n const [rangeDate, setRangeDate] = useState([DateFrom, DateTo]);\r\n\r\n\r\n const itemPageDataGrid = useRef({\r\n limit: 10,\r\n skip: 0\r\n });\r\n const filterCboEmployees = useRef({\r\n Type: \"EmployeeID\",\r\n timer: null,\r\n HostID: \"\",\r\n strSearch: \"\",\r\n skip: 0,\r\n limit: 50\r\n });\r\n const filterRangePicker = useRef({\r\n DateFrom,\r\n DateTo,\r\n });\r\n\r\n useEffect(() => {\r\n loadPermission();\r\n if (!iPermission) return;\r\n loadGrid();\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [iPermission]);\r\n\r\n const loadGrid = () => {\r\n const { WareHouseID, EmployeeID } = filterSearch;\r\n const { DateFrom, DateTo } = filterRangePicker.current;\r\n const { skip: Skip, limit: Limit } = itemPageDataGrid.current;\r\n const params = {\r\n FormID,\r\n DateFrom,\r\n DateTo,\r\n EmployeeID,\r\n WareHouseID,\r\n Language,\r\n Skip,\r\n Limit,\r\n };\r\n setGridLoading(true);\r\n props.w51F1100Actions.loadGrid(params, (error, data) => {\r\n setGridLoading(false);\r\n if (error) {\r\n Config.popup.show(\"ERROR\", error);\r\n return false;\r\n }\r\n });\r\n };\r\n\r\n const loadCboEmployees = (isReset) => {\r\n const { HostID, Type, skip, limit, strSearch: search } = filterCboEmployees.current;\r\n const param = {\r\n HostID,\r\n Type,\r\n FormID,\r\n Language,\r\n skip,\r\n limit,\r\n search\r\n };\r\n setCboEmployeeLoading(true);\r\n props.generalActions.getCboEmployees(param, (error, data) => {\r\n setCboEmployeeLoading(false);\r\n if (error) {\r\n Config.popup.show(\"ERROR\", error);\r\n return false;\r\n }\r\n else if (data) {\r\n const rows = data?.rows ? data.rows : data;\r\n const total = data?.total ? data.total : data.length;\r\n setDataCboEmployees({\r\n rows: isReset ? rows : dataCboEmployees.rows.concat(rows),\r\n total\r\n })\r\n }\r\n });\r\n };\r\n\r\n const loadCboWarehouse = () => {\r\n const params = {\r\n FormID,\r\n Language,\r\n };\r\n setCboWareHouseLoading(true);\r\n props.generalActions.getCboWarehouse(params, (err) => {\r\n setCboWareHouseLoading(false);\r\n if (err) {\r\n Config.popup.show(\"ERROR\", err);\r\n return;\r\n }\r\n });\r\n };\r\n\r\n const loadPermission = useCallback(() => {\r\n props.generalActions.getPermission(\"W51F1100\", (isPer) => {\r\n setIPermission(isPer);\r\n });\r\n }, [props.generalActions]);\r\n\r\n const redirectPage = (mode, e) => {\r\n if (!mode) return;\r\n browserHistory.push({\r\n pathname: Config.getRootPath() + \"W51F1101\",\r\n state: {\r\n mode,\r\n iPermission,\r\n TransGroupID: _.get(e?.data, \"TransGroupID\", \"\")\r\n }\r\n });\r\n }\r\n\r\n const onDelete = async (e) => {\r\n const { data } = e;\r\n Config.popup.show(\"YES_NO\", Config.lang(\"Ban_co_chac_chan_muon_xoa_du_lieu_nay\"), () => {\r\n (async () => {\r\n const params = {\r\n FormID,\r\n Language,\r\n TransGroupID: _.get(data, \"TransGroupID\", \"\"),\r\n };\r\n setGridLoading(true);\r\n const res = await Api.put(\"/w51f1000/delete\", params);\r\n const status = _.get(res, \"data.Status\", 1);\r\n setGridLoading(false);\r\n if (status) {\r\n const message = _.get(res, \"data.Message\", Config.lang(\"Ton_tai_nhan_vien_da_duoc_thu_hoi,_ban_khong_duoc_phep_xoa\"));\r\n Config.popup.show(\"INFO\", message);\r\n } else {\r\n // Bằng 0\r\n const statusSaveHistory = await onSaveHistory(data);\r\n if (statusSaveHistory) {\r\n Config.notify.show(\"success\", Config.lang(\"Xoa_thanh_cong\"), 2000);\r\n loadGrid();\r\n } else {\r\n Config.popup.show(\"ERROR\", Config.lang(\"Loi_chua_xac_dinh\"));\r\n }\r\n }\r\n })();\r\n });\r\n };\r\n\r\n const onSaveHistory = async (data = {}) => {\r\n const { TransGroupID = \"\" } = data;\r\n let status = false;\r\n const captions = {\r\n CreateUserID: \"Ma_nhan_vien\",\r\n UserName: \"Ten_nhan_vien\",\r\n CreateDate: \"Ngay_tao\",\r\n ReTrieveDate: \"Ngay_thu_hoi\",\r\n Reason: \"Ly_do\",\r\n QuantityEmp: \"Tong_so_NV\",\r\n WareHouseName: \"Kho\"\r\n };\r\n const options = {\r\n data,\r\n captions,\r\n action: 3, //Delete\r\n ModuleID: \"D51\",\r\n TransactionID: FormID,\r\n TransID: TransGroupID,\r\n TransactionName: Config.lang(\"Thu_hoi_trang_thiet_bi_lao_dong\"),\r\n itemRender: (e, type) => {\r\n const { key, data } = e;\r\n if (type === \"Content\") {\r\n if (key === \"CreateDate\" || key === \"ReTrieveDate\") {\r\n return !_.isNull(data[key]) ? moment.utc(data[key]).format(formatTimes) : data[key];\r\n }\r\n if (key === \"UserName\") {\r\n const { UserNameU } = Config.profile || {};\r\n return UserNameU;\r\n }\r\n }\r\n }\r\n };\r\n const history = new History(options);\r\n if (history.get()?.length > 0) {\r\n if (await history.save()) status = true;\r\n }\r\n return status;\r\n }\r\n\r\n const filterChange = (filterName = \"\", e) => {\r\n if (!e) return;\r\n let value = _.get(e, \"value\", _.get(e, \"target.value\", \"\"));\r\n switch (filterName) {\r\n case \"WareHouseID\":\r\n case \"EmployeeID\":\r\n setFilterSearch({ ...filterSearch, [filterName]: value });\r\n break;\r\n case \"RangePicker\":\r\n const DateFrom = _.isArray(value) ? value[0] : value;\r\n const DateTo = _.isArray(value) ? value[1] : value;\r\n filterRangePicker.current = {\r\n DateFrom,\r\n DateTo,\r\n }\r\n setRangeDate([DateFrom, DateTo]);\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n const onLoadDataFilter = () => {\r\n loadCboWarehouse();\r\n loadCboEmployees();\r\n }\r\n\r\n const renderFilterData = () => {\r\n return (\r\n {\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n filterChange(\"RangePicker\", e)}\r\n placeholder={\"DD/MM/YY - DD/MM/YY\"}\r\n returnFormat={\"YYYY-MM-DD\"}\r\n />\r\n \r\n \r\n \r\n filterChange(\"EmployeeID\", e)}\r\n onInput={(e) => {\r\n filterCboEmployees.current.strSearch = e.target.value;\r\n filterCboEmployees.current.skip = 0;\r\n loadCboEmployees(true);\r\n }}\r\n onLoadMore={(e) => {\r\n filterCboEmployees.current.skip = e.skip;\r\n filterCboEmployees.current.limit = e.limit;\r\n loadCboEmployees();\r\n }}\r\n />\r\n \r\n \r\n filterChange(\"WareHouseID\", e)}\r\n dataSource={getCboWarehouse}\r\n loading={cboWareHouseLoading}\r\n value={filterSearch.WareHouseID}\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 const renderEmpProfile = (e) => {\r\n const { data } = e.row;\r\n const { CreateDate = \"\", DepartmentName = \"\" } = data;\r\n return (\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n {DepartmentName}\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n {CreateDate && moment.utc(CreateDate).format(\"LT, DD/MM/YYYY\")}\r\n
\r\n
\r\n
\r\n \r\n );\r\n };\r\n\r\n const renderInfo = (e) => {\r\n const { RetrieveDate = \"\", Reason = \"\", QuantityEmp = \"\", WareHouseName = \"\" } = e.row.data;\r\n const retrieveDate = moment(RetrieveDate).format(\"DD/MM/YYYY\");\r\n return (\r\n
\r\n
{`${Config.lang(\"Ngay_thu_hoi\")}: ${retrieveDate}`}
\r\n
{`${Config.lang(\"Ly_do\")}: ${Reason}`}
\r\n
{`${Config.lang(\"Tong_so_NV\")}: ${QuantityEmp}`}
\r\n {!_.isEmpty(WareHouseName) &&
{`${Config.lang(\"Kho\")}: ${WareHouseName}`}
}\r\n
\r\n );\r\n };\r\n\r\n const onChangeInfoPage = (page) => {\r\n itemPageDataGrid.current.skip = page * itemPageDataGrid.current.limit;\r\n loadGrid();\r\n }\r\n\r\n const onChangePerPage = (perPage) => {\r\n itemPageDataGrid.current.skip = 0;\r\n itemPageDataGrid.current.limit = perPage;\r\n loadGrid();\r\n }\r\n\r\n const renderAction = (e) => {\r\n return (\r\n
\r\n 2)}\r\n onClick={() => redirectPage(\"view\", e)}\r\n />\r\n \r\n 3)}\r\n onClick={() => onDelete(e)}\r\n />\r\n
\r\n );\r\n };\r\n\r\n if (!iPermission) return null;\r\n return (\r\n \r\n
{renderFilterData()}
\r\n \r\n 1)}\r\n size={\"medium\"}\r\n color={\"primary\"}\r\n viewType={\"filled\"}\r\n startIcon={\"Input\"}\r\n label={Config.lang(\"Thu_hoi\")}\r\n onClick={() => redirectPage(\"add\")}\r\n />\r\n \r\n redirectPage(\"view\", e)}\r\n onChangePage={onChangeInfoPage}\r\n onChangePerPage={onChangePerPage}\r\n >\r\n \r\n \r\n \r\n \r\n
\r\n );\r\n};\r\n\r\nexport default compose(\r\n connect((state) => ({\r\n dataGrid: state.W51F1100.dataGrid,\r\n getCboWarehouse: state.general.getCboWarehouse,\r\n }), (dispatch) => ({\r\n generalActions: bindActionCreators(generalActions, dispatch),\r\n w51F1100Actions: bindActionCreators(W51F1100Actions, dispatch),\r\n })), withStyles(styles))(W51F1100);\r\n","/**\r\n * @copyright 2021 @ DigiNet\r\n * @author ANHTAI\r\n * @create 10/05/2021\r\n * @Example\r\n */\r\nimport { Column, RequiredRule, CustomRule } from \"devextreme-react/data-grid\";\r\nimport {\r\n Attachment, Button, Checkbox, CircularProgress, DatePicker, Dropdown, Modal, TextInput, Tooltip, Label, ButtonIcon, Col, Row, NumberInput\r\n} from 'diginet-core-ui/components';\r\nimport Icon from 'diginet-core-ui/icons';\r\nimport _ from \"lodash\";\r\nimport moment from \"moment\";\r\nimport React, { useEffect, useMemo, useRef, useState } from \"react\";\r\nimport { useSelector, useDispatch } from \"react-redux\";\r\nimport { browserHistory } from \"react-router\";\r\nimport Config from \"../../../../config\";\r\nimport * as generalActions from \"../../../../redux/general/general_actions\";\r\nimport * as W51F1101Actions from \"../../../../redux/W51/W51F1101/W51F1101_actions\";\r\nimport { MForm } from \"../../../common/form-material\";\r\nimport ActionToolbar from \"../../../common/toolbar/action-toolbar\";\r\nimport UserImage from \"../../../common/user/user-image\";\r\nimport GridActionBar from \"../../../grid-container/grid-actionbar\";\r\nimport GridContainer from \"../../../grid-container/grid-container\";\r\nimport History from \"../../../libs/history\";\r\nimport W09F6000 from \"../../../W0X/W09/W09F6000/W09F6000\";\r\nimport W51F1002 from \"../W51F1002/W51F1002\";\r\nimport { makeStyles } from \"diginet-core-ui/theme\";\r\nimport { useTheme } from \"diginet-core-ui/theme\";\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n btnActionBar: {\r\n display: \"flex\",\r\n justifyContent: \"space-between\",\r\n width: \"100%\",\r\n },\r\n infoDistribution: {\r\n display: \"flex\",\r\n alignItems: 'center',\r\n justifyContent: \"flex-start\",\r\n [theme.breakpoints.down(\"sm\")]: {\r\n flexDirection: \"column\",\r\n alignItems: \"flex-start\",\r\n }\r\n },\r\n avatarEmployees: {\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n \"& .user-picture-image\": {\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n justifyContent: \"center\",\r\n minHeight: 28,\r\n minWidth: 28,\r\n },\r\n },\r\n loadingContainer: {\r\n position: \"absolute\",\r\n display: \"flex\",\r\n justifyContent: \"center\",\r\n alignItems: \"center\",\r\n width: \"100%\",\r\n height: \"100%\",\r\n top: 0,\r\n left: 0,\r\n zIndex: 9999,\r\n }\r\n}));\r\n\r\n\r\nconst FormID = \"W51F1101\";\r\nconst inititalDataMaster = {\r\n Reason: \"\",\r\n WareHouseID: \"\",\r\n RetrieveDate: moment().format(\"YYYY-MM-DD\"),\r\n TransTypeID1: \"\",\r\n VoucherTypeID1: \"\",\r\n TransTypeName: \"\", \r\n VoucherTypeName: \"\",\r\n ProjectID: \"\",\r\n ProjectName: \"\",\r\n VoucherNo: \"\", \r\n IsVoucher: 0 \r\n};\r\n\r\nconst W51F1101 = (props) => {\r\n const classes = useStyles();\r\n const { spacing, colors } = useTheme();\r\n const dispatch = useDispatch();\r\n const wareHouseData = useSelector(state => state?.W51F1101?.wareHouseData ?? {});\r\n const flexibleColumn = useSelector(state => state?.W51F1101?.flexibleColumn ?? []);\r\n const getCboWarehouse = useSelector(state => state?.general?.getCboWarehouse ?? []);\r\n const { location: { state: sateForm = {} } } = props;\r\n const Language = Config.language || \"84\";\r\n const { iPermission = null, mode = \"add\", TransGroupID: transGroupID = \"\" } = sateForm;\r\n\r\n //STATE\r\n const [gridEquipLoading, setGridEquipLoading] = useState(false);\r\n const [gridEmployeeLoading, setGridEmployeeLoading] = useState(false);\r\n const [cboWareHouseLoading, setCboWareHouseLoading] = useState(false);\r\n const [showEmployeeSelect, setShowEmployeeSelect] = useState(false);\r\n const [showW51F1002Popup, setShowW51F1002Popup] = useState(false);\r\n const [formLoading, setFormLoading] = useState(false);\r\n const [btnSaveStatus, setBtnSaveStatus] = useState(false);\r\n const [TransGroupID, setTransGroupID] = useState(transGroupID);\r\n const [Mode, setMode] = useState(mode);\r\n const [error, setError] = useState({});\r\n const [dataMaster, setDataMaster] = useState(inititalDataMaster);\r\n const [quantityMaxRow, setQuantityMaxRow] = useState(\"\");\r\n const [employeeSelected, setEmployeeSelected] = useState({});\r\n const [dataDefaults, setDataDefaults] = useState([]);\r\n const [dataGridEmployee, setDataGridEmployee] = useState([]);\r\n const [dataGridEquipments, setDataGridEquipments] = useState([]);\r\n const [dataEquipments, setDataEquipments] = useState([]);\r\n const [employeeIDNotAllocated, setEmployeeIDNotAllocated] = useState([]);\r\n\r\n //REF\r\n const rowIndexGrid02 = useRef(null);\r\n const columnIndexGrid02 = useRef(null);\r\n const dataGrid01Ref = useRef(null);\r\n const dataGrid02Ref = useRef(null);\r\n const attRef = useRef(null);\r\n const dataMasterOld = useRef({});\r\n const getAttachment = useRef([]);\r\n const attachments = useRef([]);\r\n const dataGridEmployeeOld = useRef([]);\r\n const dataGridEquipmentsOld = useRef([]);\r\n\r\n const getInfo = () => {\r\n let status = false;\r\n if (_.isEmpty(sateForm)) {\r\n browserHistory.push(Config.getRootPath() + \"W51F1100\");\r\n return null;\r\n } else {\r\n status = true;\r\n }\r\n return status;\r\n };\r\n\r\n useEffect(() => {\r\n if (getInfo()) {\r\n if (_.isEmpty(flexibleColumn)) loadCaptions();\r\n if (Mode !== \"view\") loadCboWarehouse();\r\n if (Mode !== \"add\") {\r\n loadForm(0); // Load Master và Lưới 1\r\n loadAttachments();\r\n }\r\n if (_.isEmpty(wareHouseData)) getWareHouse();\r\n if(Mode === \"add\") loadForm()\r\n \r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (!_.isEmpty(dataEquipments)) {\r\n findDataEquipGridSelected(employeeSelected);\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [dataEquipments]);\r\n\r\n useEffect(() => {\r\n if (Mode === \"add\" && !_.isEmpty(getCboWarehouse)) {\r\n setDataMaster({\r\n ...dataMaster,\r\n WareHouseID: getCboWarehouse[0]?.WareHouseID,\r\n WareHouseName: getCboWarehouse[0]?.WareHouseName,\r\n });\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [getCboWarehouse]);\r\n\r\n useEffect(() => {\r\n if (dataGrid02Ref.current) setTimeout(() => dataGrid02Ref.current.instance.editCell(rowIndexGrid02.current, columnIndexGrid02.current), 300);\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [quantityMaxRow]);\r\n\r\n const getWareHouse = () => {\r\n dispatch(W51F1101Actions.getWareHouse((error) => {\r\n if (error) {\r\n Config.popup.show(\"ERROR\", error);\r\n return false;\r\n }\r\n }))\r\n };\r\n\r\n const findDataEquipGridSelected = (employeeSelect) => {\r\n if (_.isEmpty(employeeSelect)) return;\r\n const dataGridEquipmentsFilter = employeeSelect && dataEquipments && dataEquipments.filter(item => item.EmployeeID === employeeSelect.EmployeeID);\r\n const result = !_.isEmpty(dataGridEquipmentsFilter) ? dataGridEquipmentsFilter[0].GroupEmployee : [];\r\n setDataGridEquipments(result);\r\n };\r\n\r\n const loadAttachments = () => {\r\n const param = { KeyID: TransGroupID };\r\n dispatch(generalActions.getAttachmentsByTransID(param, (error, data) => {\r\n if (error) {\r\n Config.popup.show(\"ERROR\", error);\r\n return false;\r\n }\r\n else if (data && data.length > 0) {\r\n getAttachment.current = data;\r\n }\r\n }))\r\n };\r\n\r\n const loadCaptions = () => {\r\n const params = { FormID, Language, };\r\n dispatch(W51F1101Actions.getCaption(params, (err) => {\r\n if (err) {\r\n Config.popup.show(\"INFO\", err);\r\n return;\r\n }\r\n }))\r\n };\r\n\r\n const loadCboWarehouse = () => {\r\n const params = {\r\n FormID,\r\n Language,\r\n };\r\n setCboWareHouseLoading(true);\r\n dispatch(generalActions.getCboWarehouse(params, (err) => {\r\n setCboWareHouseLoading(false);\r\n if (err) {\r\n Config.popup.show(\"ERROR\", err);\r\n return;\r\n }\r\n }))\r\n };\r\n\r\n const loadForm = async (modeLoadForm = 0, IsChooseEmp = 0) => {\r\n const params = {\r\n Mode: modeLoadForm, //Mặc định Load Master và Lưới 1\r\n FormID,\r\n Language,\r\n TransGroupID,\r\n EmployeeID: \"\",\r\n IsChooseEmp, // Chọn từ Pop W09F6000\r\n };\r\n modeLoadForm === 0 ? setGridEmployeeLoading(true) : setGridEquipLoading(true)\r\n dispatch(await W51F1101Actions.loadForm(params, (error, data) => {\r\n modeLoadForm === 0 ? setGridEmployeeLoading(false) : setGridEquipLoading(false)\r\n if (error) {\r\n Config.popup.show(\"ERROR\", error);\r\n return false;\r\n }\r\n else if (data) {\r\n if (IsChooseEmp === 1) { // Load chọn từ Btn Chọn Nhân Viên\r\n if (data?.Grid01) {\r\n const dataEmployees = _.uniqBy([...dataGridEmployee, ...data.Grid01], \"EmployeeID\");\r\n const filterUnchecked = dataEmployees.filter(item1 => data.Grid01.some(item2 => item1.EmployeeID === item2.EmployeeID));\r\n setDataDefaults({\r\n selectedRowKeys: filterUnchecked.map(item => item.EmployeeID),\r\n isLoaded: true\r\n });\r\n setDataGridEmployee(filterUnchecked);\r\n if (_.isEmpty(employeeSelected)) setEmployeeSelected(data.Grid01[0]);\r\n }\r\n if (data?.Grid02) {\r\n let filterDataEquipments = [];\r\n if (_.isEmpty(dataGridEquipments)) setDataGridEquipments(data.Grid02); // Ser default select đầu tiên \r\n const allEmployeeID = [...new Set(data.Grid02.map(item => item.EmployeeID))];\r\n if (allEmployeeID) {\r\n allEmployeeID.forEach(EmployeeID => {\r\n filterDataEquipments.push({\r\n EmployeeID,\r\n GroupEmployee: data.Grid02.filter(item => item.EmployeeID === EmployeeID)\r\n })\r\n })\r\n }\r\n setDataEquipments(filterDataEquipments);\r\n }\r\n } else { // Load Form\r\n if (modeLoadForm === 0) {\r\n if (data?.Master) { // Master\r\n dataMasterOld.current = { ...data.Master };\r\n setDataMaster(_prevData => ({..._prevData,...data.Master}));\r\n }\r\n if (data?.Detail) { // Mảng 1\r\n dataGridEmployeeOld.current = data.Detail.map(item => ({ ...item }));\r\n const selectedRowKeys = data.Detail.map(item => item.EmployeeID);\r\n setDataDefaults({\r\n selectedRowKeys,\r\n isLoaded: true\r\n });\r\n setDataGridEmployee(data.Detail);\r\n setEmployeeSelected(data.Detail[0]);\r\n loadForm(1);\r\n }\r\n }\r\n else if (modeLoadForm === 1 && !_.isEmpty(data)) { // Load Mảng 2 \r\n const arrayData = parseDataEquipments(data);\r\n dataGridEquipmentsOld.current = arrayData.map(item => ({ ...item }));\r\n setDataEquipments(data);\r\n }\r\n }\r\n }\r\n }))\r\n };\r\n\r\n const setProjectIDFromGrid1 = (dt) =>{\r\n const newProjectID = dt?.[0]?.data?.ProjectID || \"\";\r\n if(newProjectID !== dataMaster.ProjectID){\r\n setDataMaster({\r\n ...dataMaster,\r\n ProjectID: newProjectID,\r\n ProjectName: dt[0]?.data?.ProjectName || \"\"\r\n })\r\n }\r\n }\r\n\r\n const parseDataEquipments = (data) => {\r\n if (_.isEmpty(data)) return [];\r\n let dataGridEquipmentsData = [];\r\n data.map(item => item.GroupEmployee).forEach(item => {\r\n dataGridEquipmentsData.push(...item);\r\n });\r\n return dataGridEquipmentsData;\r\n };\r\n\r\n const onAddEmployee = () => {\r\n setShowEmployeeSelect(true);\r\n };\r\n\r\n const checkValidateMaster = (arrName) => {\r\n if (_.isEmpty(arrName)) return;\r\n const resultValidate = arrName.map(item => {\r\n return {\r\n name: item,\r\n rules: [\"isRequired\"],\r\n value: dataMaster[item]\r\n }\r\n });\r\n return resultValidate;\r\n };\r\n\r\n const setStateErrorText = (objValue) => {\r\n setError({ ...error, ...objValue });\r\n return Object.keys(objValue).length !== 0;\r\n };\r\n\r\n const checkEmployeeAllocation = (employeeId) => {\r\n return !_.some(dataEquipments, { EmployeeID: employeeId });\r\n };\r\n\r\n const onSaveApi = async () => {\r\n let apiSave = \"saveAdd\";\r\n if (Mode === \"edit\") apiSave = \"saveEdit\";\r\n await dataGrid02Ref.current.instance.saveEditData();\r\n const { \r\n WareHouseID = \"\", \r\n Reason = \"\", \r\n RetrieveDate = null, \r\n VoucherNo=\"\",\r\n TransTypeID1 = \"\",\r\n VoucherTypeID1 = \"\",\r\n ProjectID = \"\",\r\n } = dataMaster;\r\n const arrAttachment = JSON.stringify(getAttachment.current.concat(attachments.current));\r\n const dataGridEmployeeMapping = dataGridEmployee.map(item1 => ({\r\n ...item1,\r\n detail: dataEquipments.find(item2 => item1.EmployeeID === item2.EmployeeID)?.GroupEmployee || []\r\n }));\r\n const params = {\r\n DivisionID: Config.getDivisionID(),\r\n FormID,\r\n Reason,\r\n TransGroupID,\r\n WareHouseID,\r\n RetrieveDate: moment.utc(RetrieveDate).format(\"YYYY-MM-DD\"),\r\n arrAttachment,\r\n employee: JSON.stringify(dataGridEmployeeMapping),\r\n VoucherNo,\r\n ProjectID,\r\n VoucherTypeID1,\r\n TransTypeID1\r\n };\r\n setFormLoading(true);\r\n dispatch(W51F1101Actions[apiSave](params, (error, data) => {\r\n setFormLoading(false);\r\n if (error) {\r\n Config.popup.show(\"ERROR\", error);\r\n return false;\r\n }\r\n else if (data) {\r\n if (data.Status === 0) {\r\n if (data.TransGroupID) setTransGroupID(data.TransGroupID);\r\n const status = onSaveHistory(dataMaster, data?.TransGroupID); // Thêm Reason từ Ref\r\n if (status) {\r\n setBtnSaveStatus(true);\r\n if (Mode === \"add\") setMode(\"edit\");\r\n else loadForm(0); // Load Master và Lưới 1\r\n Config.notify.show(\"success\", Config.lang(\"Luu_thanh_cong\"), 2000);\r\n } else {\r\n Config.popup.show(\"ERROR\", data.Message || Config.lang(\"Loi_chua_xac_dinh\"));\r\n }\r\n } else {\r\n Config.popup.show(\"ERROR\", data.Message || Config.lang(\"Loi_chua_xac_dinh\"));\r\n }\r\n }\r\n }))\r\n };\r\n\r\n const onSave = () => {\r\n const requiredFields = [\"RetrieveDate\"];\r\n if (Mode === \"add\" && wareHouseData?.NumValue === 1) requiredFields.push(\"WareHouseID\");\r\n const validateForm = MForm.formValidation(checkValidateMaster(requiredFields));\r\n const arrEmpIDNotAllocated = dataGridEmployee.map((item) => item.EmployeeID).filter(checkEmployeeAllocation);\r\n if (Mode !== \"edit\" && Object.keys(validateForm).length > 0) { // edit Read only\r\n setStateErrorText(validateForm);\r\n return false;\r\n }\r\n else if (!_.isEmpty(arrEmpIDNotAllocated)) {\r\n setEmployeeIDNotAllocated(arrEmpIDNotAllocated);\r\n Config.popup.show(\"INFO\", Config.lang(\"Ton_tai_nhan_vien_chua_duoc_thu_hoi_trang_thiet_bi_ban_khong_duoc_phep_luu\"));\r\n }\r\n else {\r\n if (!_.isEmpty(arrEmpIDNotAllocated)) setEmployeeIDNotAllocated([]);\r\n onSaveApi();\r\n }\r\n };\r\n\r\n const onSaveHistory = async (data, transGroupIDApi = \"\") => {\r\n if (_.isEmpty(data)) return;\r\n let action = 0; // add\r\n let status = false;\r\n let dataCompare = {};\r\n if (Mode === \"edit\") {\r\n dataCompare = dataMasterOld.current;\r\n action = 1;\r\n }\r\n const captions = {\r\n WareHouseName: \"Kho\",\r\n RetrieveDate: \"Ngay_thu_hoi\",\r\n Reason: \"Ly_do\",\r\n Detail: \"Chi_tiet_nhan_vien\",\r\n };\r\n const TransID = transGroupIDApi ? transGroupIDApi : TransGroupID;\r\n const options = {\r\n data,\r\n dataCompare,\r\n captions,\r\n action,\r\n ModuleID: \"D51\",\r\n TransactionID: \"W51F1100\",\r\n TransID,\r\n TransactionName: Config.lang(\"Thu_hoi_trang_thiet_bi_lao_dong\"),\r\n itemRender: (e, type) => {\r\n const { key, data, oldData } = e;\r\n if (key === \"RetrieveDate\") {\r\n let reTrieveDateValue = data[key];\r\n if (action === 1 && type === \"Content_OLD\") reTrieveDateValue = oldData[key];\r\n return moment.utc(reTrieveDateValue).format(\"DD//MM/YYYY\");\r\n }\r\n }\r\n };\r\n const history = new History(options);\r\n const captionEmployeeGrid = {\r\n EmployeeID: \"Ma_nhan_vien\",\r\n EmployeeName: \"Ten_nhan_vien\",\r\n };\r\n const captionEquipmentGrid = {\r\n EmployeeID: \"Ma_nhan_vien\",\r\n EmployeeName: \"Ten_nhan_vien\",\r\n IsCheck: \"Thu_hoi\",\r\n EquipmentName: \"Cong_cu_lao_dong\",\r\n NoteU: \"Ly_do_thu_hoi\",\r\n StatusName: \"Tinh_trang_thu_hoi\",\r\n SizeID: \"Size\",\r\n Quantity: \"So_luong\",\r\n EquipmentStatusID: \"Trang_thai_cong_cu_lao_dong\"\r\n };\r\n const dataNewEquipments = parseDataEquipments(dataEquipments);\r\n const dataNewEquipmentFilter = dataNewEquipments.filter(item => item.IsCheck === 1);\r\n history.createDetailHistory(\"Chi_tiet_nhan_vien\", dataGridEmployee, dataGridEmployeeOld.current, captionEmployeeGrid, \"EmployeeID\", null, options);\r\n history.createDetailHistory(\"Chi_tiet_cong_cu_lao_dong\", dataNewEquipmentFilter, dataGridEquipmentsOld.current, captionEquipmentGrid, \"TransID\", null, options);\r\n if (history.get()?.length > 0) {\r\n if (await history.save()) {\r\n status = 200;\r\n }\r\n } else {\r\n status = 200;\r\n }\r\n return status;\r\n };\r\n\r\n const onDeleteRow = (e) => {\r\n let delCondition = false;\r\n if (!_.isEmpty(dataGridEquipments)) {\r\n delCondition = dataGridEquipments.some(item => item.IsCheck === 1);\r\n }\r\n if (delCondition) {\r\n Config.popup.show(\"INFO\", Config.lang(\"Nhan_vien_da_duoc_thu_hoi_ccld_khong_duoc_phep_xoa\"));\r\n return;\r\n } else {\r\n Config.popup.show(\"YES_NO\", `${Config.lang(\"Ban_co_chac_muon_xoa_nhan_vien?\")}`, () => {\r\n const { EmployeeID = \"\" } = e.data;\r\n e.component.deleteRow(e.rowIndex);\r\n if (EmployeeID === employeeSelected.EmployeeID) {\r\n const filterDataEquipment = dataEquipments.filter(item => item.EmployeeID !== EmployeeID);\r\n setEmployeeSelected(dataGridEmployee[0] || {}); // Mặc định select đầu tiên \r\n setDataEquipments(filterDataEquipment);\r\n setDataGridEquipments([]); // Xóa data lưới Equip đã xóa hiện tại\r\n const selectedRowKeys = dataGridEmployee.map(item => item.EmployeeID);\r\n setDataDefaults({\r\n selectedRowKeys,\r\n isLoaded: true\r\n })\r\n }\r\n });\r\n }\r\n };\r\n\r\n const renderAction = (e) => {\r\n return (\r\n \r\n onDeleteRow(e)} />\r\n \r\n );\r\n };\r\n\r\n const handleChangeState = (fieldName = \"\", e) => {\r\n let value = e?.value ?? e?.target?.value ?? \"\";\r\n let dataMasterObj = {\r\n ...dataMaster,\r\n [fieldName]: value\r\n };\r\n switch (fieldName) {\r\n //DropDown\r\n case \"WareHouseID\":\r\n const positionID = fieldName.indexOf(\"ID\");\r\n const standardDDName = fieldName.slice(0, positionID);\r\n const DDName = standardDDName + \"Name\";\r\n dataMasterObj[DDName] = e.data ? e.data[DDName] : \"\" // DD Name\r\n break;\r\n default:\r\n break;\r\n }\r\n if (fieldName) setDataMaster(dataMasterObj);\r\n if (error && error.hasOwnProperty(fieldName)) { // Remove error\r\n const removedError = _.omit(error, fieldName);\r\n setError(removedError);\r\n }\r\n };\r\n\r\n const renderCaption = (grid) => {\r\n const captionGrid = _.get(flexibleColumn, grid, false);\r\n if (!captionGrid) return;\r\n const width = grid === \"grid1\" ? 170 : 280;\r\n return captionGrid\r\n .filter((item) => !item.Disabled)\r\n .map((item, ind) => {\r\n let format = {};\r\n if (item.IsMoney === 1) format = { format: { type: \"fixedPoint\" } };\r\n return (\r\n \r\n );\r\n });\r\n };\r\n\r\n const onBack = () => {\r\n browserHistory.goBack();\r\n };\r\n\r\n const onChosenAllocation = (data) => {\r\n const arrEquipAllocated = dataGridEmployee\r\n .filter((item) => item.EmployeeID === employeeSelected.EmployeeID)\r\n .reduce((arr, item) => {\r\n arr.push(\r\n ...data.map(({ EquipmentName, EquipmentID, UnitName, UnitID }) => ({\r\n EmployeeID: item.EmployeeID,\r\n EquipmentName,\r\n UsingPeriodFrom: moment().format(\"YYYY-MM-DD\"),\r\n UsingPeriodTo: \"\",\r\n Quantity: 1,\r\n EquipmentID,\r\n UnitName: UnitName || \"\",\r\n UnitID,\r\n })),\r\n );\r\n return arr;\r\n }, []);\r\n if (!_.isEqual(arrEquipAllocated, dataGridEquipments)) {\r\n const dataUnique = _.uniqBy([...dataGridEquipments, ...arrEquipAllocated], (v) => [v.EmployeeID, v.EquipmentID].join());\r\n setDataGridEquipments(dataUnique);\r\n setShowW51F1002Popup(false);\r\n Config.notify.show(\"success\", Config.lang(\"CCLD_da_cap_phat\"), 2000);\r\n }\r\n };\r\n\r\n const onCloseModal = (modalName = \"\") => {\r\n switch (modalName) {\r\n case \"selectEmployee\":\r\n setShowEmployeeSelect(false);\r\n break;\r\n default:\r\n break;\r\n }\r\n };\r\n\r\n const onSelectedEmployee = () => {\r\n loadForm(0, 1);\r\n onCloseModal(\"selectEmployee\"); // load xong đóng modal\r\n };\r\n\r\n const onSelectionChangedGridEmployee = (e) => {\r\n const selectedRow = e.selectedRowsData[0];\r\n if (e.component.hasEditData()) e.component.saveEditData();\r\n setEmployeeSelected(selectedRow);\r\n findDataEquipGridSelected(selectedRow); // Set lưới 2 theo Employ\r\n };\r\n\r\n const onChangeAttachments = (e) => {\r\n attachments.current = e.allNewAttached;\r\n if (!_.isEmpty(getAttachment.current) && getAttachment.current.length > e.oldAttached.length) {\r\n getAttachment.current = e.oldAttached;\r\n }\r\n };\r\n\r\n const cellRenderRadio = (e) => {\r\n return (\r\n {\r\n e.component.cellValue(e.rowIndex, \"IsCheck\", chk?.value ? 1 : 0);\r\n e.component.saveEditData();\r\n }}\r\n />\r\n )\r\n };\r\n\r\n const renderEmpProfile = (e) => {\r\n const { data } = e.row;\r\n const employeeId = _.get(data, \"EmployeeID\", \"\");\r\n let renderIconWarning = \"\";\r\n if (_.includes(employeeIDNotAllocated, _.get(data, \"EmployeeID\", \"\"))) {\r\n renderIconWarning = (\r\n \r\n \r\n \r\n );\r\n }\r\n return (\r\n
\r\n {renderIconWarning}\r\n
\r\n \r\n {employeeId}\r\n
\r\n
\r\n );\r\n };\r\n const getInputValue = (id, name) => {\r\n return (id && name) ? `${id} - ${name}` : `${id ?? \"\"}${name ?? \"\"}`\r\n }\r\n\r\n const renderGrid01 = useMemo(() => {\r\n return (dataGrid01Ref.current = ref)}\r\n columnAutoWidth={true}\r\n typeShort={window.innerWidth < 768}\r\n editing={{\r\n texts: { confirmDeleteMessage: \"\" },\r\n mode: \"cell\",\r\n refreshMode: \"reshape\",\r\n allowUpdating: Mode !== \"view\",\r\n startEditAction: \"click\",\r\n }}\r\n keyExpr={\"EmployeeID\"}\r\n selection={{ mode: \"single\" }}\r\n onSelectionChanged={onSelectionChangedGridEmployee}\r\n loading={gridEmployeeLoading}\r\n dataSource={dataGridEmployee}\r\n onContentReady={(e) => {\r\n let grid = e.component;\r\n let selection = grid.getSelectedRowKeys();\r\n if (selection.length === 0) {\r\n grid.selectRowsByIndexes([0]);\r\n }\r\n\r\n /**\r\n * Đối với Mode Thêm mới: ProjectID, ProjectName map với ProjectID, ProjectName dòng ở đầu tiên\r\n * Đối với Mode Sửa, Xem: Nếu IsVoucher = 1: ProjectID, ProjectName map với ProjectID, ProjectName dòng đầu tiên ở bảng detail Grid 1. Ngược lại, trả rỗng\r\n */\r\n if(dataMaster.IsVoucher === 1){\r\n const dataSource = e.component.getVisibleRows();\r\n setProjectIDFromGrid1(dataSource);\r\n }\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {renderCaption(\"grid1\")}\r\n \r\n \r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [Mode, dataGridEmployee, gridEmployeeLoading, flexibleColumn, dataEquipments, dataGridEquipments]);\r\n\r\n const renderGrid02 = useMemo(() => {\r\n return (dataGrid02Ref.current = ref)}\r\n columnAutoWidth={true}\r\n typeShort={window.innerWidth < 768}\r\n editing={{\r\n texts: { confirmDeleteMessage: \"\" },\r\n mode: \"cell\",\r\n refreshMode: \"reshape\",\r\n allowUpdating: Mode !== \"view\",\r\n startEditAction: \"click\",\r\n }}\r\n onEditingStart={(e) => {\r\n if (!e) return;\r\n const isCheck = e?.data?.IsCheck ?? 0;\r\n const quantity = e?.data?.Quantity ?? null;\r\n if (isCheck === 0) e.cancel = true;\r\n if (e?.column?.dataField === \"Quantity\" && Config.isEmpty(quantity, true)) {\r\n const dataSource = e.component.option(\"dataSource\");\r\n const rowIndex = dataSource.findIndex(item => item?.TransID === e?.data?.TransID);\r\n e.component.cellValue(rowIndex, \"Quantity\", quantity);\r\n e.component.saveEditData();\r\n };\r\n }}\r\n keyExpr={\"TransID\"}\r\n selection={{ Mode: \"none\" }}\r\n loading={gridEquipLoading}\r\n dataSource={dataGridEquipments}\r\n >\r\n \r\n e.rowIndex + 1}\r\n />\r\n {\r\n const { EquipmentID = \"\", EquipmentName = \"\", } = e.data;\r\n return `${EquipmentID} - ${EquipmentName}`\r\n }}\r\n caption={Config.lang(\"Cong_cu_lao_dong\")}\r\n />\r\n \r\n \r\n \r\n (\r\n {\r\n if (c.value > e.data?.QuantityMax) {\r\n rowIndexGrid02.current = e.rowIndex;\r\n columnIndexGrid02.current = e.columnIndex;\r\n setQuantityMaxRow(e.data?.QuantityMax);\r\n }\r\n e.setValue(c.value);\r\n }}\r\n />\r\n )}>\r\n \r\n {\r\n const { data: { Quantity = null, QuantityMax = null } } = e;\r\n return Quantity <= QuantityMax;\r\n }}\r\n />\r\n
\r\n \r\n \r\n \r\n {renderCaption(\"grid2\")}\r\n \r\n \r\n ;\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [Mode, gridEquipLoading, dataGridEquipments, flexibleColumn, quantityMaxRow]);\r\n\r\n if (!iPermission) return null;\r\n return (\r\n <>\r\n {formLoading &&\r\n
\r\n \r\n
}\r\n {showEmployeeSelect &&\r\n onCloseModal(\"selectEmployee\")}\r\n />\r\n }\r\n \r\n setShowW51F1002Popup(false)}\r\n onChosen={onChosenAllocation}\r\n WareHouseIDDef={dataMaster.warehouseID || []}\r\n />\r\n \r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n setShowW51F1002Popup(true)} />\r\n \r\n \r\n }\r\n valueExpr={\"WareHouseID\"}\r\n displayExpr={\"WareHouseName\"}\r\n error={error && error[\"WareHouseID\"]}\r\n onChange={e => handleChangeState(\"WareHouseID\", e)}\r\n dataSource={getCboWarehouse}\r\n value={dataMaster?.WareHouseID}\r\n loading={cboWareHouseLoading}\r\n readOnly={Mode === \"view\" || Mode === \"edit\" || (Mode === \"add\" && wareHouseData?.NumValue === 0)}\r\n />\r\n \r\n \r\n handleChangeState(\"RetrieveDate\", e)}\r\n />\r\n \r\n \r\n handleChangeState(\"Reason\", e)}\r\n value={dataMaster?.Reason}\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 {renderGrid01}\r\n \r\n \r\n
\r\n \r\n
\r\n }\r\n />\r\n
\r\n
\r\n \r\n \r\n {renderGrid02}\r\n \r\n \r\n attRef.current = ref}\r\n multiple={true}\r\n maxFile={5}\r\n data={getAttachment.current}\r\n onChange={onChangeAttachments}\r\n />\r\n \r\n
\r\n \r\n );\r\n};\r\n\r\nexport default W51F1101;\r\n","/**\r\n * @copyright 2023 @ DigiNet\r\n * @author THANHAN\r\n * @create 4/1/2023\r\n * @Example\r\n */\r\n\r\nimport React, { useState, useRef, useEffect } from 'react'\r\nimport Config from '../../../../config';\r\nimport { useDispatch } from \"react-redux\";\r\nimport * as generalActions from '../../../../redux/general/general_actions';\r\nimport * as W51F1001Actions from '../../../../redux/W5X/W51F1001/W51F1001_actions';\r\nimport * as W51F2201Actions from '../../../../redux/W5X/W51F2201/W51F2201_actions';\r\nimport _ from \"lodash\";\r\nimport moment from \"moment\";\r\nimport History from \"../../../libs/history\";\r\nimport ActionToolbar from \"../../../common/toolbar/action-toolbar\";\r\nimport { MForm } from \"../../../common/form-material\";\r\nimport GridContainer from \"../../../grid-container/grid-container\";\r\nimport GridActionBar from \"../../../grid-container/grid-actionbar\";\r\nimport HeadClick from \"../../../grid-container/head-click\";\r\nimport W09F6000 from \"../../../W0X/W09/W09F6000/W09F6000\";\r\nimport W51F1002 from \"../W51F1002/W51F1002\";\r\nimport { Loading } from \"../../../common/loading/loading\";\r\nimport { Column, RequiredRule } from \"devextreme-react/data-grid\";\r\nimport {\r\n Row,\r\n Col,\r\n Button,\r\n Dropdown,\r\n Attachment,\r\n DatePicker,\r\n Typography,\r\n ButtonIcon,\r\n Icon,\r\n NumberInput,\r\n FormGroup,\r\n} from \"diginet-core-ui/components\";\r\nimport CDN from \"../../../CDN\";\r\nexport default function W51F2201(props) {\r\n const { location } = props;\r\n const dispatch = useDispatch();\r\n const FormID = \"W51F2201\";\r\n\r\n const dataFormOld = useRef({});\r\n const refDataGridEmployee = useRef();\r\n const refDataGridEquipment = useRef();\r\n // attachments ref\r\n const attachments = useRef([]);\r\n const attRef = useRef(null);\r\n const deletedFile =useRef([]);\r\n\r\n let selectedRange = useRef(null);\r\n const employeeGridParamPaging = useRef({ limit: 10, skip: 0 });\r\n const equipmentGridParamPaging = useRef({ limit: 10, skip: 0 });\r\n const timer = useRef();\r\n const [currentEmployee, setCurrentEmployee] = useState(\"\");\r\n const [loading, setLoading] = useState(false);\r\n const [loadingAttachments, setLoadingAttachments] = useState(false);\r\n const [isShowModalEmployeeChosen, setShowModalEmployeeChosen] = useState(false);\r\n const [showW51F1002Popup, setShowW51F1002Popup] = useState(false);\r\n\r\n // data\r\n const [dataForm, setDataForm] = useState(\r\n {\r\n Employee: [],\r\n Equipment: [],\r\n Master: [],\r\n }\r\n );\r\n\r\n const [dataOldAttachments, setDataOldAttachments] = useState([]);\r\n const [dataGridEmployee, setDataGridEmployee] = useState([]); // data luoi 1\r\n const [dataGridEquipment, setDataGridEquipment] = useState([]); // data luoi 2\r\n const [dataCboWarehouse, setDataCboWarehouse] = useState([]); // data dropdown kho\r\n const [dataCboReason, setDataCboReason] = useState([]); // data dropdown ly do\r\n const [dataCboSize, setDataCboSize] = useState([]); // data dropdown size luoi 2\r\n const [dataNormName, setDataNormName] = useState([]); // data\r\n const [isCalEliNorms, setIsCalEliNorms] = useState();\r\n\r\n const [warehouseID, setWarehouseID] = useState(\"\");\r\n const [reasonID, setReasonID] = useState(\"\");\r\n const [voucherDate, setVoucherDate] = useState(moment().format(\"YYYY-MM-DD\"));\r\n const [numValue, setNumValue] = useState(0);\r\n const [normID, setNormID] = useState([]);\r\n const [parentScreen, setParentScreen] = useState(\"\");\r\n const [errorHelperText, setErrorHelperText] = useState({});\r\n const [employeeIDNotAllocated, setEmployeeIDNotAllocated] = useState([]);\r\n\r\n const setStateErrorText = (objValue) => {\r\n if (objValue) {\r\n setErrorHelperText({\r\n ...errorHelperText,\r\n ...objValue\r\n });\r\n return Object.keys(objValue).length !== 0;\r\n } else {\r\n setErrorHelperText({});\r\n return false;\r\n }\r\n };\r\n\r\n const getInfo = () => {\r\n const url = new window.URLSearchParams(window.location.search);\r\n if (url && url.get('TransGroupID')) {\r\n return {\r\n mode: url.get('Mode'),\r\n AppStatusID: url.get('AppStatusID'),\r\n TransGroupID: url.get('TransGroupID'),\r\n Equipment: url.get('selectedItems'),\r\n issueEquipment: url.get(\"issueEquipment\"),\r\n FormParent: url.get('FormParent'),\r\n };\r\n } else if (location && location.state) {\r\n return {\r\n mode: _.get(location, \"state.mode\", \"\"),\r\n AppStatusID: _.get(location, \"state.AppStatusID\", 0),\r\n TransGroupID: _.get(location, \"state.TransGroupID\", \"\"),\r\n Equipment: _.get(location, \"state.selectedItems\", []),\r\n issueEquipment: _.get(location, \"state.issueEquipment.recordsets\", []),\r\n FormParent: _.get(location, \"state.FormParent\", \"\"),\r\n }\r\n } else {\r\n return {};\r\n }\r\n };\r\n\r\n\r\n const disabled = Number(getInfo()?.AppStatusID) !== 0 || getInfo()?.mode === \"view\";\r\n\r\n const handleChange = (e, target) => {\r\n const value = e?.value ?? e?.target?.value ?? \"\";\r\n switch (target) {\r\n case \"warehouseID\":\r\n if (!_.isEmpty(dataGridEquipment)) {\r\n /**\r\n * Kiểm tra lưới 2 có tồn tại một dòng dữ liệu thì hiện thông báo Yes/No: \r\n * “Thay đổi kho sẽ xóa trắng lưới công cụ lao động.\r\n * Bạn có muốn thay đổi không?”\r\n */\r\n Config.popup.show(\r\n \"YES_NO\",\r\n `${Config.lang(\"Thay_doi_kho_se_xoa_trang_luoi_cong_cu_lao_dong\")}.${Config.lang(\"Ban_co_muon_thay_doi_khong\")}`,\r\n () => {\r\n setWarehouseID(value);\r\n setDataForm({ ...dataForm, Equipment: [...dataForm.Equipment?.filter(p => p.EmployeeID !== currentEmployee.EmployeeID)] })\r\n }, () => {\r\n return;\r\n }\r\n )\r\n }\r\n else {\r\n setWarehouseID(value);\r\n }\r\n break;\r\n case \"reasonID\":\r\n setReasonID(value);\r\n break;\r\n case \"voucherDate\":\r\n setVoucherDate(value);\r\n break;\r\n case \"normID\":\r\n setNormID(value);\r\n break;\r\n default: break;\r\n }\r\n };\r\n\r\n const onChangeAttachments = (e) => {\r\n attachments.current = e.allNewAttached ? e.allNewAttached : [];\r\n if (e.removedAttached && e.removedAttached.length > 0) {\r\n deletedFile.current = [ ...e.removedAttached];\r\n }\r\n };\r\n\r\n const _getAttachments = (file) => {\r\n const dataFile = _.get(file, 'data.paths', []);\r\n const listAttachments = Config.helpers.getFileInfomations(dataFile);\r\n let arrAttachment = [];\r\n listAttachments.forEach((att) => {\r\n arrAttachment.push({\r\n URL: att.url ? att.url : \"\",\r\n FileName: att.fileName ? att.fileName : \"\",\r\n FileSize: att.fileSize ? att.fileSize : \"\",\r\n FileExt: att.fileName ? att.fileName.split('.').pop() : \"\"\r\n });\r\n });\r\n if (dataOldAttachments && dataOldAttachments.length > 0) {\r\n arrAttachment = dataOldAttachments.concat(arrAttachment);\r\n }\r\n\r\n return arrAttachment;\r\n };\r\n\r\n const _removeCDN = () => {\r\n if (deletedFile.current && deletedFile.current.length > 0) {\r\n deletedFile.current.forEach((e) => {\r\n const path = e.URL.split(\"=\");\r\n if (path && path.length > 1) {\r\n const params = {\r\n path: path[1]\r\n };\r\n CDN.removeFile(params);\r\n }\r\n });\r\n deletedFile.current= [];\r\n }\r\n };\r\n\r\n const _uploadFile = (files, isAsync, cb) => {\r\n if (isAsync) {\r\n return CDN.uploadFileSync(files);\r\n } else {\r\n return CDN.uploadFile(files, null, cb);\r\n }\r\n };\r\n\r\n // load data\r\n const loadCboWarehouse = () => {\r\n const params = {\r\n FormID: FormID,\r\n Languague: \"84\",\r\n }\r\n setLoading(true);\r\n dispatch(generalActions.getCboWarehouse(params, (err, data) => {\r\n setLoading(false);\r\n if (err) {\r\n return Config.popup.show('ERROR', err);\r\n }\r\n else if (data) {\r\n setDataCboWarehouse(data);\r\n if (_.isEmpty(warehouseID)) {\r\n setWarehouseID(data[0]?.WareHouseID);\r\n }\r\n }\r\n }))\r\n };\r\n\r\n const getCboReason = () => {\r\n setLoading(true);\r\n dispatch(W51F1001Actions.getCbReason((err, data) => {\r\n setLoading(false);\r\n if (err) {\r\n return Config.popup.show('ERROR', err);\r\n }\r\n else if (data) {\r\n setDataCboReason(data);\r\n }\r\n }))\r\n };\r\n\r\n const getWareHouse = () => {\r\n setLoading(true);\r\n dispatch(W51F1001Actions.getWareHouse((error, data) => {\r\n setLoading(false);\r\n if (error) {\r\n Config.popup.show(\"ERROR\", error);\r\n return false;\r\n }\r\n else if (data) {\r\n setNumValue(data?.NumValue);\r\n }\r\n }))\r\n };\r\n\r\n const getCboSize = () => {\r\n setLoading(true);\r\n dispatch(W51F1001Actions.getCbSize((err, data) => {\r\n setLoading(false);\r\n if (err) {\r\n return Config.popup.show('ERROR', err);\r\n }\r\n else if (data) {\r\n setDataCboSize(data);\r\n }\r\n }))\r\n };\r\n\r\n const loadNormName = () => {\r\n setLoading(true);\r\n dispatch(W51F2201Actions.loadNormName((err, data) => {\r\n setLoading(false);\r\n if (err) {\r\n return Config.popup.show('ERROR', err);\r\n }\r\n else if (data) {\r\n setDataNormName(data);\r\n }\r\n }))\r\n };\r\n\r\n const getIsCalEliNorms = () => {\r\n setLoading(true);\r\n dispatch(W51F2201Actions.getIsCalEliNorms((err, data) => {\r\n setLoading(false);\r\n if (err) {\r\n return Config.popup.show('ERROR', err);\r\n }\r\n else if (data) {\r\n if (!_.isEmpty(data) && _.isArray(data)) {\r\n setIsCalEliNorms(data[0]?.IsCalEliNorms);\r\n }\r\n }\r\n }))\r\n };\r\n\r\n const setDefaultValue = (data) => {\r\n if (!data) return;\r\n const today = moment().format(\"YYYY-MM-DD\");\r\n data.forEach(p => {\r\n p.UsingPeriodFrom = p?.UsingPeriodFrom ? moment(p?.UsingPeriodFrom).format(\"YYYY-MM-DD\") : today;\r\n p.UsingPeriod = p?.UsingPeriod ? p?.UsingPeriod : 1;\r\n p.VoucherNotes = p?.VoucherNotes ? p?.VoucherNotes : \"\";\r\n });\r\n }\r\n\r\n const loadForm = (screenID) => {\r\n const { TransGroupID, Equipment, mode } = getInfo();\r\n if (!_.isEmpty(Equipment)) screenID = \"W82F1000\";\r\n const params = {\r\n Mode: screenID ? 1 : 0,\r\n FormID,\r\n TransGroupID,\r\n }\r\n setLoading(true);\r\n dispatch(W51F2201Actions.loadForm(params, (err, data) => {\r\n setLoading(false);\r\n if (err) {\r\n return Config.popup.show('ERROR', err);\r\n }\r\n else if (data) {\r\n if (!screenID) {\r\n const today = moment().format(\"YYYY-MM-DD\");\r\n if (mode !== \"add\") {\r\n setWarehouseID(data?.Master?.WareHouseID ?? \"\");\r\n setReasonID(data?.Master?.ReasonID ?? \"\");\r\n setVoucherDate(data?.Master?.VoucherDate || today);\r\n setNormID(data?.Master?.NormID ?? []);\r\n }\r\n setDataForm(data);\r\n dataFormOld.current = JSON.parse(JSON.stringify(data));\r\n }\r\n else if (screenID) {\r\n setParentScreen(screenID);\r\n switch (screenID) {\r\n case \"W09F6000\":\r\n /**\r\n * Gọi SP W51P2201 @Mode = 1 để lấy thêm các thông tin,\r\n * gán danh sách nhân viên lên lưới 1,\r\n * chỉ gán thêm những nhân viên mà lưới 1 chưa có,\r\n * không gán đè hoặc xóa.\r\n */\r\n const employeeIDs = new Set(dataForm.Employee.map(p => p.EmployeeID));\r\n setDefaultValue(data);\r\n setDataForm({ ...dataForm, Employee: [...dataForm.Employee, ...data.filter(p => !employeeIDs.has(p.EmployeeID))] });\r\n break;\r\n case \"W82F1000\":\r\n const dataW82F1000 = getInfo().Equipment;\r\n setDefaultValue(dataW82F1000);\r\n setDataForm({ ...dataForm, Employee: data, Equipment: dataW82F1000 })\r\n dataFormOld.current = JSON.parse(JSON.stringify({ ...dataFormOld.current, Employee: data, Equipment: dataW82F1000 }));\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n }\r\n }))\r\n }\r\n\r\n const loadAttachments = () => {\r\n const { TransGroupID } = getInfo();\r\n const param = {\r\n KeyID: TransGroupID,\r\n };\r\n setLoadingAttachments(true);\r\n dispatch(generalActions.getAttachmentsByTransID(param, (error, data) => {\r\n setLoadingAttachments(false)\r\n if (error) {\r\n Config.popup.show(\"ERROR\", error);\r\n return false;\r\n }\r\n else if (data && data.length > 0) {\r\n setDataOldAttachments(data);\r\n }\r\n }))\r\n };\r\n\r\n // button function\r\n const onCalculate = () => {\r\n const params = {\r\n FormID,\r\n WareHouseID: warehouseID,\r\n NormID: _.isArray(normID) ? normID.join(\",\") : normID,\r\n data: JSON.stringify(dataGridEmployee),\r\n }\r\n setLoading(true);\r\n dispatch(W51F2201Actions.calculate(params, (err, data) => {\r\n setLoading(false);\r\n if (err) {\r\n Config.popup.show(\"ERROR\", err);\r\n setDataForm({ ...dataForm, Equipment: [] });\r\n }\r\n else if (data) {\r\n setDataForm({ ...dataForm, Equipment: data.recordset });\r\n }\r\n }))\r\n }\r\n\r\n const onSave = async () => {\r\n refDataGridEquipment.current.instance.saveEditData();\r\n const { TransGroupID, mode } = getInfo();\r\n const { Equipment } = dataForm;\r\n const dataResUploadFile = await _uploadFile(attachments.current, true);\r\n const deletedList = new Set(deletedFile.current.map(p=> p.FileName));\r\n const arrAttachment = _getAttachments(dataResUploadFile).filter(p => !(deletedList.has(p.FileName)));\r\n\r\n let params = {\r\n FormID,\r\n WareHouseID: warehouseID ? warehouseID : \"\",\r\n ReasonID: reasonID ? reasonID : \"\",\r\n VoucherDate: voucherDate ? Config.convertDate(voucherDate, \"\", \"YYYY-MM-DD\", false) : moment().format(\"YYYY-MM-DD\"),\r\n NormID: _.isArray(normID) ? normID.join(\",\") : normID,\r\n HREmployeeID: Config.getHREmployeeID(),\r\n employee: JSON.stringify(Equipment) ?? [],\r\n arrAttachment,\r\n };\r\n if (!_.isEmpty(TransGroupID)) params = { ...params, TransGroupID }\r\n\r\n const validateRules = [\r\n {\r\n name: \"VoucherDate\",\r\n rules: \"isRequired\",\r\n value: voucherDate\r\n },\r\n {\r\n name: \"WareHouseID\",\r\n rules: \"isRequired\",\r\n value: warehouseID\r\n }\r\n ]\r\n const validateForm = MForm.formValidation(validateRules);\r\n if (Object.keys(validateForm).length > 0) {\r\n setStateErrorText(validateForm);\r\n if (setStateErrorText(validateForm)) return false;\r\n }\r\n\r\n let employeeIDList = [...dataForm.Employee].map(e => e.EmployeeID);\r\n let employeeAvailable = new Set([...dataForm.Equipment].map(e => e.EmployeeID));\r\n let employeeNotAvailable = [...new Set(employeeIDList.filter(p => !employeeAvailable.has(p)))];\r\n if (!_.isEmpty(employeeNotAvailable)) {\r\n /**\r\n * Kiểm tra nhân viên chưa được cấp phát:\r\n * Nếu có nhân viên chưa được cấp phát dữ liệu ở Grid 2. \r\n * Thì xuất thông báo Yes/No“Tồn tại nhân viên chưa được cấp phát. Bạn có muốn lưu không ?”\r\n * Người dùng click Yes thì lưu\r\n * Người dùng click No thì không lưu mà gắn icon Warning trên dòng lưới 1 mà nhân viên chưa được cấp phát \r\n */\r\n Config.popup.show(\r\n \"YES_NO\",\r\n `${Config.lang(\"Ton_tai_nhan_vien_chua_duoc_cap_phat\")}`,\r\n () => {\r\n setEmployeeIDNotAllocated([]);\r\n setLoading(true);\r\n dispatch(W51F2201Actions[mode](params, async (err, data) => {\r\n setLoading(false);\r\n if (err) {\r\n Config.popup.show(\"ERROR\", err);\r\n }\r\n else if (data) {\r\n if (data?.Status === 1) {\r\n Config.popup.show(\"INFO\", Config.lang(data?.Message), () => {\r\n return;\r\n });\r\n }\r\n else if (data?.Status === 0) {\r\n _removeCDN();\r\n Config.notify.show(\"success\", Config.lang(\"Luu_thanh_cong\"), 2000);\r\n mode === \"add\" ? await saveHistory(data?.TransGroupID) : await saveHistory();\r\n }\r\n }\r\n }))\r\n },\r\n () => {\r\n setEmployeeIDNotAllocated(employeeNotAvailable);\r\n return;\r\n }\r\n )\r\n }\r\n else {\r\n setLoading(true);\r\n dispatch(W51F2201Actions[mode](params, async (err, data) => {\r\n setLoading(false);\r\n if (err) {\r\n Config.popup.show(\"ERROR\", err);\r\n }\r\n else if (data) {\r\n if (data?.Status === 1) {\r\n Config.popup.show(\"INFO\", Config.lang(data?.Message), () => {\r\n return;\r\n });\r\n }\r\n else if (data?.Status === 0) {\r\n _removeCDN();\r\n Config.notify.show(\"success\", Config.lang(\"Luu_thanh_cong\"), 2000);\r\n mode === \"add\" ? await saveHistory(data?.TransGroupID) : await saveHistory();\r\n }\r\n }\r\n }))\r\n }\r\n }\r\n\r\n const saveHistory = async (TransID) => {\r\n const { mode, TransGroupID } = getInfo();\r\n const action = mode === \"add\" ? 0 : 1;\r\n let currentTransID = mode === \"add\" ? TransID : TransGroupID;\r\n if (currentTransID) {\r\n const dataEquipment = JSON.parse(JSON.stringify(dataForm.Equipment));\r\n let _oldEquipment = []\r\n if (mode !== \"add\") {\r\n _oldEquipment = JSON.parse(JSON.stringify(dataFormOld.current.Equipment));\r\n if (!_.isEmpty(_oldEquipment)) {\r\n for (let i = 0; i < _oldEquipment.length; i++) {\r\n _oldEquipment[i].UsingPeriodFrom = Config.convertDate(_oldEquipment[i].UsingPeriodFrom, null, \"DD/MM/YYYY\", false);\r\n _oldEquipment[i].UsingPeriodTo = Config.convertDate(_oldEquipment[i].UsingPeriodTo, null, \"DD/MM/YYYY\", false);\r\n }\r\n }\r\n }\r\n if (!_.isEmpty(dataEquipment)) {\r\n for (let i = 0; i < dataEquipment.length; i++) {\r\n dataEquipment[i].UsingPeriodFrom = Config.convertDate(dataEquipment[i].UsingPeriodFrom, null, \"DD/MM/YYYY\", false);\r\n dataEquipment[i].UsingPeriodTo = Config.convertDate(dataEquipment[i].UsingPeriodTo, null, \"DD/MM/YYYY\", false);\r\n }\r\n }\r\n\r\n const _oldMaster = dataFormOld.current.Master;\r\n\r\n const _dataCompare = {\r\n WareHouse: _oldMaster?.WareHouseID,\r\n Reason: _oldMaster?.ReasonID,\r\n VoucherDate: moment(_oldMaster?.VoucherDate).format(\"DD/MM/YYYY\"),\r\n NormID: _.isArray(_oldMaster?.NormID) ? _oldMaster?.NormID.join(\",\") : _oldMaster?.NormID,\r\n };\r\n const _data = {\r\n WareHouse: warehouseID,\r\n Reason: reasonID,\r\n VoucherDate: moment(voucherDate).format(\"DD/MM/YYYY\"),\r\n NormID: _.isArray(normID) ? normID.join(\",\") : normID,\r\n }\r\n const captions = {\r\n WareHouse: \"Kho\",\r\n Reason: \"Ly_do\",\r\n VoucherDate: \"Ngay_de_xuat\",\r\n NormID: \"Dinh_muc_CCLD\",\r\n }\r\n\r\n let detailCaptions = {\r\n EmployeeID: \"nhan_vien\",\r\n EquipmentGroupID: \"nhom_CCLD\",\r\n EquipmentID: \"CCLD\",\r\n SizeID: \"Size\",\r\n ProposalQTY: \"so_luong\",\r\n UsingPeriod: \"so_thang_su_dung\",\r\n UsingPeriodFrom: \"thoi_han_su_dung_tu\",\r\n UsingPeriodTo: \"thoi_han_su_dung_den\",\r\n VoucherNotes: \"ghi_chu\",\r\n NormID: \"dinh_muc_CCLD\"\r\n };\r\n\r\n let options = {\r\n data: _data,\r\n dataCompare: _dataCompare,\r\n captions: captions,\r\n action,\r\n ModuleID: \"D51\",\r\n TransID: currentTransID,\r\n TransactionID: FormID,\r\n TransactionName: Config.lang(\"Lap_de_xuat_cap_phat_trang_thiet_bi_lao_dong\"),\r\n };\r\n const history = new History(options);\r\n history.createDetailHistory(\"Danh_sach_de_xuat_cap_phat\", dataEquipment, _oldEquipment, detailCaptions, \"ProTransID\", null, options); //Create detail..\r\n if (history.get().length > 0) {\r\n await history.save();\r\n dataFormOld.current = JSON.parse(JSON.stringify(dataForm));\r\n }\r\n }\r\n else {\r\n Config.notify.show(\"error\", Config.lang(\"DHR_Luu_lich_su_khong_thanh_cong\"), 2000);\r\n }\r\n };\r\n\r\n // modal function\r\n const onChosenEmployees = () => {\r\n loadForm(\"W09F6000\");\r\n setShowModalEmployeeChosen(false);\r\n };\r\n\r\n const onCloseModalEmployee = () => {\r\n setShowModalEmployeeChosen(false);\r\n }\r\n\r\n const closePopupAllocation = () => {\r\n setShowW51F1002Popup(false);\r\n };\r\n\r\n const onChosenAllocation = (data) => {\r\n setDefaultValue(data);\r\n data.forEach(data => {\r\n data.EquipmentGroupID = data?.EquipmentGroupID ? data?.EquipmentGroupID : \"\";\r\n data.ProposalQTY = data?.ProposalQTY ? data?.ProposalQTY : 1;\r\n data.NormID = _.isArray(normID) ? normID.join(\",\") : normID;\r\n data.SizeID = data?.SizeID ? data?.SizeID : \"\";\r\n data.UsingPeriod = data?.UsingPeriod ? data?.UsingPeriod : null;\r\n data.EmployeeID = currentEmployee.EmployeeID;\r\n });\r\n const equipmentIDs = new Set(dataForm.Equipment.filter(p => p.EmployeeID === currentEmployee.EmployeeID).map(p => p.EquipmentID));\r\n const newEquipmentData = [...dataForm.Equipment, ...data.filter(p => (!equipmentIDs.has(p.EquipmentID)))]\r\n setDataForm({ ...dataForm, Equipment: newEquipmentData });\r\n setShowW51F1002Popup(false);\r\n };\r\n // grid function\r\n\r\n const onChangePageEmployee = (page) => {\r\n employeeGridParamPaging.current.skip = page * employeeGridParamPaging.current.limit;\r\n };\r\n\r\n const onChangePerPageEmployee = (per) => {\r\n employeeGridParamPaging.current.skip = 0;\r\n employeeGridParamPaging.current.limit = per;\r\n };\r\n\r\n const onChangePageEquipment = (page) => {\r\n equipmentGridParamPaging.current.skip = page * equipmentGridParamPaging.current.limit;\r\n };\r\n\r\n const onChangePerPageEquipment = (per) => {\r\n equipmentGridParamPaging.current.skip = 0;\r\n equipmentGridParamPaging.current.limit = per;\r\n };\r\n\r\n const onDeleteEquipment = (data) => {\r\n const { EquipmentID } = data;\r\n setDataForm(\r\n {\r\n ...dataForm,\r\n Equipment: [...dataForm.Equipment.filter(\r\n p => !(p.EquipmentID === EquipmentID && p.EmployeeID === currentEmployee.EmployeeID)\r\n )]\r\n }\r\n )\r\n }\r\n\r\n const onDeleteEmployee = () => {\r\n if (!_.isEmpty(dataGridEquipment)) {\r\n Config.popup.show(\"INFO\", Config.lang(\"Ton_tai_nhan_vien_dang_duoc_cap_phat_CCLD\"),\r\n () => {\r\n return;\r\n });\r\n }\r\n else {\r\n setDataForm({ ...dataForm, Employee: [...dataForm.Employee?.filter(p => p.EmployeeID !== currentEmployee.EmployeeID)] });\r\n }\r\n }\r\n\r\n const renderAction = (e, grid) => {\r\n if (!e) return;\r\n const { data } = e;\r\n return (\r\n \r\n
\r\n grid === 0 ? onDeleteEmployee() : onDeleteEquipment(data)}\r\n />\r\n
\r\n
\r\n )\r\n };\r\n\r\n const renderEmpID = (e) => {\r\n if (!e) return;\r\n const { data } = e.row;\r\n const employeeId = _.get(data, \"EmployeeID\", \"\");\r\n let renderIconWarning = \"\";\r\n if (_.includes(employeeIDNotAllocated, _.get(data, \"EmployeeID\", \"\"))) {\r\n renderIconWarning = (\r\n \r\n );\r\n }\r\n return (\r\n
\r\n {renderIconWarning}\r\n {employeeId}\r\n
\r\n );\r\n };\r\n\r\n const renderSizeCell = (e) => {\r\n if (!e) return;\r\n const { component, rowIndex, data } = e;\r\n return (\r\n p.SizeGroupID === data.SizeGroupID)}\r\n valueExpr=\"SizeID\"\r\n displayExpr=\"SizeName\"\r\n defaultValue={data?.SizeID}\r\n closeAfterSelect\r\n style={{ marginBottom: 0 }}\r\n viewType=\"none\"\r\n onChange={(c) => {\r\n component.cellValue(rowIndex, \"SizeID\", c?.data?.SizeID);\r\n e.setValue(c?.data.SizeName);\r\n component.saveEditData();\r\n }}\r\n />\r\n )\r\n };\r\n\r\n const renderQuantity = (e) => {\r\n if (!e) return;\r\n const { data } = e;\r\n return (\r\n {\r\n e.setValue(c?.value)\r\n }}\r\n />\r\n )\r\n }\r\n\r\n const renderUsingPeriod = (e) => {\r\n const { component, rowIndex, data } = e;\r\n const { UsingPeriod, UsingPeriodFrom, UsingPeriodTo } = data;\r\n return (\r\n {\r\n e.setValue(c?.value);\r\n if (timer.current) clearTimeout(timer.current);\r\n timer.current = setTimeout(() => {\r\n if (UsingPeriodFrom !== null) {\r\n const usingPeriodTo = moment(UsingPeriodFrom)\r\n .add(c?.value, \"month\")\r\n .format(\"YYYY-MM-DD\");\r\n component.cellValue(rowIndex, \"UsingPeriodTo\", usingPeriodTo);\r\n }\r\n else if (UsingPeriodTo !== null) {\r\n const usingPeriodFrom = moment(UsingPeriodTo)\r\n .subtract(c?.value, \"month\")\r\n .add(1, \"day\")\r\n .format(\"YYYY-MM-DD\");\r\n component.cellValue(rowIndex, \"UsingPeriodFrom\", usingPeriodFrom);\r\n }\r\n component.saveEditData();\r\n }, 500)\r\n }}\r\n />\r\n )\r\n }\r\n\r\n const renderUsingPeriodFrom = (e) => {\r\n const { component, rowIndex, data } = e;\r\n const { UsingPeriod, UsingPeriodFrom, UsingPeriodTo } = data;\r\n return (\r\n {\r\n if (UsingPeriod) {\r\n const usingPeriodTo = moment(c?.value)\r\n .add(UsingPeriod, \"months\")\r\n .format(\"YYYY-MM-DD\");\r\n const usingPeriodFrom = moment(c?.value)\r\n .format(\"YYYY-MM-DD\");\r\n component.cellValue(rowIndex, \"UsingPeriodFrom\", usingPeriodFrom);\r\n component.cellValue(rowIndex, \"UsingPeriodTo\", usingPeriodTo);\r\n }\r\n else if (UsingPeriodTo !== null) {\r\n if (c.value === null) return;\r\n const usingPeriod = moment(UsingPeriodTo)\r\n .add(1, \"day\")\r\n .diff(moment(c?.value), \"months\")\r\n const usingPeriodFrom = moment(c?.value)\r\n .format(\"YYYY-MM-DD\");\r\n component.cellValue(rowIndex, \"UsingPeriodFrom\", usingPeriodFrom);\r\n component.cellValue(rowIndex, \"UsingPeriod\", usingPeriod);\r\n }\r\n component.saveEditData();\r\n }}\r\n />\r\n )\r\n }\r\n\r\n const renderUsingPeriodTo = (e) => {\r\n const { component, rowIndex, data } = e;\r\n const { UsingPeriod, UsingPeriodFrom, UsingPeriodTo } = data;\r\n return (\r\n {\r\n if (UsingPeriodFrom !== null) {\r\n const usingPeriod = moment(c?.value)\r\n .add(1, \"day\")\r\n .diff(moment(UsingPeriodFrom), \"months\");\r\n const usingPeriodTo = moment(c?.value)\r\n .format(\"YYYY-MM-DD\");\r\n component.cellValue(rowIndex, \"UsingPeriodTo\", usingPeriodTo);\r\n component.cellValue(rowIndex, \"UsingPeriod\", usingPeriod);\r\n }\r\n else if (UsingPeriod) {\r\n const usingPeriodFrom = moment(UsingPeriodTo)\r\n .subtract(UsingPeriod, \"months\")\r\n .format(\"YYYY-MM-DD\");\r\n const usingPeriodTo = moment(c?.value)\r\n .format(\"YYYY-MM-DD\");\r\n component.cellValue(rowIndex, \"UsingPeriodTo\", usingPeriodTo);\r\n component.cellValue(rowIndex, \"UsingPeriodFrom\", usingPeriodFrom);\r\n }\r\n component.saveEditData();\r\n }}\r\n />\r\n )\r\n }\r\n\r\n const renderHeaderColumns = e => {\r\n if (!e) return false;\r\n return (\r\n {\r\n let newData = [];\r\n switch (col.dataField) {\r\n case \"UsingPeriod\":\r\n const getNewUsingPeriod = _.get(data, \"UsingPeriod\", null);\r\n newData = _.map(dataGridEquipment, item => {\r\n let fieldUpdate;\r\n const getUsingPeriod = _.get(item, \"UsingPeriod\", null);\r\n const dataUpdated = handleUpdateCell(\"UsingPeriod\", getNewUsingPeriod, getUsingPeriod);\r\n fieldUpdate = { UsingPeriod: dataUpdated.value };\r\n return ({ ...item, ...fieldUpdate })\r\n })\r\n break;\r\n case \"UsingPeriodFrom\":\r\n const getNewUsingPeriodFrom = _.get(data, \"UsingPeriodFrom\", null);\r\n newData = _.map(dataGridEquipment, item => {\r\n let fieldUpdate;\r\n const getUsingPeriodFrom = _.get(item, \"UsingPeriodFrom\", null);\r\n const dataUpdated = handleUpdateCell(\"UsingPeriodFrom\", getNewUsingPeriodFrom, getUsingPeriodFrom);\r\n fieldUpdate = { UsingPeriodFrom: dataUpdated.value };\r\n return ({ ...item, ...fieldUpdate })\r\n });\r\n break;\r\n case \"ProposalQTY\":\r\n const getNewProposalQTY = _.get(data, \"ProposalQTY\", null);\r\n newData = _.map(dataGridEquipment, item => {\r\n let fieldUpdate;\r\n const getProposalQTY = _.get(item, \"ProposalQTY\", null);\r\n const dataUpdated = handleUpdateCell(\"ProposalQTY\", getNewProposalQTY, getProposalQTY);\r\n fieldUpdate = { ProposalQTY: dataUpdated.value };\r\n return ({ ...item, ...fieldUpdate })\r\n })\r\n break;\r\n default:\r\n break;\r\n }\r\n if (!_.isEmpty(newData)) {\r\n const newDataForm = [...dataForm.Equipment.filter(p => p.EmployeeID !== currentEmployee.EmployeeID)]\r\n setDataForm({ ...dataForm, Equipment: [...newDataForm, ...newData] })\r\n setDataGridEquipment(newData);\r\n }\r\n }}\r\n />\r\n )\r\n };\r\n\r\n const handleUpdateCell = (field, data1, data2) => {\r\n let newValue = \"\";\r\n switch (field) {\r\n case \"ProposalQTY\": {\r\n newValue = data1;\r\n if (!_.isNumber(newValue)) newValue = 0;\r\n break;\r\n }\r\n case \"UsingPeriod\": {\r\n newValue = data1;\r\n if (!_.isNumber(newValue)) newValue = 0;\r\n break;\r\n }\r\n case \"UsingPeriodFrom\": {\r\n newValue = data1;\r\n break;\r\n }\r\n default:\r\n break\r\n }\r\n return { dataField: field, value: newValue }\r\n }\r\n\r\n const onSelectionChanged = (e) => {\r\n if (!e) return;\r\n else {\r\n const selectedRow = e.selectedRowsData[0];\r\n refDataGridEquipment.current.instance.saveEditData();\r\n setCurrentEmployee(selectedRow);\r\n }\r\n };\r\n\r\n // useEffect\r\n useEffect(() => {\r\n const { mode, FormParent } = getInfo();\r\n loadCboWarehouse();\r\n getCboReason();\r\n getCboSize();\r\n getWareHouse();\r\n loadNormName();\r\n getIsCalEliNorms();\r\n if (mode === \"add\") {\r\n if (FormParent === \"W51F2200\") {\r\n return;\r\n }\r\n else {\r\n loadForm();\r\n }\r\n }\r\n else if (mode === \"edit\" || mode === \"view\") {\r\n loadForm();\r\n loadAttachments();\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, []);\r\n\r\n useEffect(() => {\r\n const { Employee } = dataForm;\r\n if (!_.isEmpty(Employee)) {\r\n setCurrentEmployee(dataForm?.Employee[0]);\r\n setDataGridEmployee(dataForm?.Employee);\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [dataForm.Employee, employeeGridParamPaging.current])\r\n\r\n useEffect(() => {\r\n const { Equipment } = dataForm;\r\n const filteredData = Equipment?.filter(p => p.EmployeeID === currentEmployee?.EmployeeID);\r\n const sortedData = _.sortBy(filteredData, [\"EquipmentGroupID\", \"EquipmentID\"]);\r\n setDataGridEquipment(sortedData);\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [currentEmployee, dataForm.Equipment])\r\n\r\n\r\n return (\r\n <>\r\n {isShowModalEmployeeChosen &&\r\n \r\n }\r\n {showW51F1002Popup &&\r\n }\r\n {loading && }\r\n \r\n \r\n setShowModalEmployeeChosen(true)}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n handleChange(e, \"warehouseID\")}\r\n error={errorHelperText && errorHelperText['WareHouseID']}\r\n readOnly={numValue === 0 || getInfo()?.mode !== \"add\"}\r\n />\r\n \r\n \r\n handleChange(e, \"reasonID\")}\r\n />\r\n \r\n \r\n handleChange(e, \"voucherDate\")}\r\n error={errorHelperText && errorHelperText['VoucherDate']}\r\n displayFormat='DD/MM/YYYY'\r\n placeholder='DD/MM/YYYY'\r\n />\r\n \r\n \r\n handleChange(e, \"normID\")}\r\n valueExpr=\"NormID\"\r\n displayExpr=\"{NormID} - {NormName}\"\r\n multiple\r\n disabled={\r\n isCalEliNorms === 0\r\n }\r\n />\r\n \r\n \r\n 0\r\n _.isEmpty(normID) || //Hoặc NormID = []\r\n _.isEmpty(dataGridEmployee) //Hoặc Lưới 1 nhân viên trống\r\n }\r\n startIcon=\"calculate\"\r\n onClick={onCalculate}\r\n />\r\n \r\n {/* luoi 1 */}\r\n \r\n refDataGridEmployee.current = ref}\r\n keyExpr=\"EmployeeID\"\r\n dataSource={dataForm.Employee ?? []}\r\n itemPerPage={employeeGridParamPaging.current.limit}\r\n skipPerPage={employeeGridParamPaging.current.skip}\r\n totalItems={dataForm?.Employee?.length ?? 0}\r\n onChangePage={onChangePageEmployee}\r\n onChangePerPage={onChangePerPageEmployee}\r\n typePaging=\"normal\"\r\n pagerFullScreen={false}\r\n filterRow={{\r\n visible: true,\r\n showOperationChooser: false,\r\n }}\r\n onSelectionChanged={onSelectionChanged}\r\n onContentReady={(e) => {\r\n let grid = e.component;\r\n let selection = grid.getSelectedRowKeys();\r\n if (selection.length === 0) {\r\n grid.selectRowsByIndexes([0]);\r\n }\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n {/* hidden column */}\r\n \r\n \r\n \r\n \r\n {/* action column */}\r\n renderAction(e, 0)}\r\n visible={!Config.isMobile}\r\n />\r\n renderAction(e, 0)}\r\n visible={Config.isMobile}\r\n />\r\n \r\n \r\n \r\n \r\n {`${Config.lang(\"Thong_tin_de_xuat_cap_phat_cho\")}:`}\r\n \r\n \r\n \r\n \r\n \r\n \r\n setShowW51F1002Popup(true)}\r\n />\r\n \r\n {/* luoi 2 */}\r\n \r\n refDataGridEquipment.current = ref}\r\n dataSource={dataGridEquipment}\r\n typePaging=\"normal\"\r\n itemPerPage={equipmentGridParamPaging.current.limit}\r\n skipPerPage={equipmentGridParamPaging.current.skip}\r\n totalItems={dataGridEquipment?.length ?? 0}\r\n pagerFullScreen={false}\r\n onChangePage={onChangePageEquipment}\r\n onChangePerPage={onChangePerPageEquipment}\r\n filterRow={{\r\n visible: true,\r\n showOperationChooser: false,\r\n }}\r\n editing={{\r\n refreshMode: 'reshape',\r\n texts: {\r\n confirmDeleteMessage: \"\",\r\n },\r\n mode: \"cell\",\r\n allowUpdating: true,\r\n selectTextOnEditStart: true,\r\n startEditAction: Config.isMobile ? \"click\" : \"dblClick\",\r\n }}\r\n onCellSelectionChanged={(e) => {\r\n if (e.selectedRange && e.selectedRange.rowType !== \"header\") {\r\n selectedRange.current = e.selectedRange;\r\n }\r\n }}\r\n onEditorPreparing={e => {\r\n if (!e) return;\r\n if (\r\n e.parentType === \"filterRow\" &&\r\n e.dataField === \"InterviewDateText\"\r\n ) {\r\n e.editorOptions.onValueChanged = val => {\r\n e.setValue(val.value);\r\n };\r\n }\r\n }}\r\n sorting={{\r\n mode: \"none\"\r\n }}\r\n >\r\n equipmentGridParamPaging.current.skip + e.rowIndex + 1}\r\n width={100}\r\n allowEditing={false}\r\n />\r\n \r\n \r\n renderSizeCell(e)}\r\n alignment={\"center\"}\r\n width={200}\r\n allowEditing={true}\r\n />\r\n \r\n \r\n \r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n {/* hidden column */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/* action column */}\r\n renderAction(e, 1)}\r\n visible={!Config.isMobile}\r\n />\r\n renderAction(e, 1)}\r\n visible={Config.isMobile}\r\n />\r\n \r\n \r\n {/* dinh kem */}\r\n \r\n attRef.current = ref}\r\n multiple={true}\r\n maxFile={5}\r\n data={dataOldAttachments}\r\n onChange={onChangeAttachments}\r\n />\r\n \r\n \r\n \r\n )\r\n}\r\n","/**\r\n * @copyright 2019 @ DigiNet\r\n * @author TRIHAO\r\n * @create 12/19/2019\r\n * @Example\r\n */\r\nimport React from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport PropTypes from \"prop-types\";\r\nimport * as w51F1002Actions from \"../../../../redux/W51/W51F1002/W51F1002_actions\";\r\nimport * as generalActions from \"../../../../redux/general/general_actions\";\r\nimport { bindActionCreators, compose } from \"redux\";\r\nimport Config from \"../../../../config\";\r\nimport withStyles from \"@material-ui/core/styles/withStyles\";\r\nimport ActionToolbar from \"../../../common/toolbar/action-toolbar\";\r\nimport { Column } from \"devextreme-react/data-grid\";\r\nimport GridContainer from \"../../../grid-container/grid-container\";\r\nimport {\r\n Button,\r\n ButtonIcon,\r\n Dropdown,\r\n TextInput,\r\n Typography,\r\n Modal,\r\n ModalHeader,\r\n ModalBody,\r\n Row, Col, Divider\r\n} from \"diginet-core-ui/components\";\r\n\r\nconst styles = () => ({\r\n panel: {\r\n transition: \"all .4s\",\r\n },\r\n panelForm: {\r\n transition: \"all .5s\",\r\n opacity: 1,\r\n },\r\n hiddenOpacity: {\r\n opacity: 0,\r\n },\r\n leftPanelMinimum: {\r\n maxWidth: '89px',\r\n paddingLeft: 0\r\n },\r\n rightPanelMinimum: {\r\n maxWidth: 'calc(100% - 89px)',\r\n },\r\n titleColorFilter: {\r\n backgroundColor: Config.coreTheme?.colors?.primary + \" !important\",\r\n \"& svg\": {\r\n \"& path\": {\r\n fill: Config.coreTheme?.colors?.brand21,\r\n },\r\n },\r\n },\r\n});\r\nclass W51F1002 extends React.PureComponent {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n loadingWareHouseID: false,\r\n\r\n isSaving: false,\r\n dataGrid: [],\r\n dataCboWareHouse: [],\r\n totalDataGrid: 0,\r\n minimum: false,\r\n\r\n selectedRowKeys: [],\r\n WareHouseID: [],\r\n };\r\n this.tmpSelectedRowKeys = [];\r\n this.tmpSelectedRowData = [];\r\n this.selectAll = false;\r\n this.changePage = false;\r\n this.filter = {\r\n limit: 20,\r\n skip: 0,\r\n strSearch: \"\",\r\n };\r\n this.keyNotAllowSelected = [];\r\n this.isSelectAll = -1;\r\n }\r\n\r\n loadCboWareHouse = () => {\r\n const params = {\r\n FormID: \"W51F1002\",\r\n Language: Config.language || 84,\r\n };\r\n this.setLoading(\"WareHouseID\", true);\r\n this.props.generalActions.getCboWarehouse(params, (errors) => {\r\n this.setLoading(\"WareHouseID\", false);\r\n if (errors) {\r\n let message = errors.message || Config.lang(\"DHR_Loi_chua_xac_dinh\");\r\n Config.popup.show(\"INFO\", message);\r\n return false;\r\n }\r\n });\r\n };\r\n\r\n setLoading = (key, status = false) => {\r\n if (!key) return;\r\n this.setState({ [\"loading\" + key]: status });\r\n };\r\n\r\n componentDidMount() {\r\n const { WareHouseIDDef } = this.props;\r\n this.setState({ WareHouseID: [WareHouseIDDef] }, ()=>{\r\n this.loadGrid();\r\n });\r\n this.loadCboWareHouse();\r\n }\r\n\r\n handleChange = (key, e) => {\r\n if (!key) return false;\r\n switch (key) {\r\n case \"Search\":\r\n this.filter.strSearch = e.target.value;\r\n break;\r\n case \"WareHouseID\":\r\n this.setState({ WareHouseID: e.value });\r\n break;\r\n default:\r\n break;\r\n }\r\n };\r\n\r\n loadGrid = (isReset) => {\r\n const { WareHouseID } = this.state;\r\n const {\r\n limit,\r\n skip,\r\n strSearch,\r\n // Project\r\n } = this.filter;\r\n const params = {\r\n FormID: \"W51F1002\",\r\n Language: Config.language || \"84\",\r\n DivisionID: Config.getDivisionID(),\r\n Equipment: strSearch ? strSearch : \"\",\r\n WareHouseID: WareHouseID && WareHouseID.length > 0 ? JSON.stringify(WareHouseID) : \"\",\r\n limit: limit,\r\n skip: skip,\r\n };\r\n\r\n if (!isReset) {\r\n this.changePage = true;\r\n }\r\n this.props.w51F1002Actions.getGridEquipments(params, (errors, data) => {\r\n if (errors) {\r\n let message = errors.message || Config.lang(\"DHR_Loi_chua_xac_dinh\");\r\n Config.popup.show(\"INFO\", message);\r\n return false;\r\n }\r\n let selectedRowKeys = [];\r\n\r\n if (data.rows && data.rows.length > 0) {\r\n data.rows.forEach((e) => {\r\n if (this.tmpSelectedRowKeys.indexOf(e.EquipmentID) > -1) {\r\n selectedRowKeys.push(e.EquipmentID);\r\n }\r\n this.keyNotAllowSelected = data.rows && data.rows.filter((d) => Number(d.Quantity) <= 0);\r\n this.keyNotAllowSelected =\r\n this.keyNotAllowSelected.length > 0 && this.keyNotAllowSelected.map((k) => k.EquipmentID && k.EquipmentID);\r\n });\r\n }\r\n this.setState({\r\n dataGrid: data.rows ? data.rows : data,\r\n totalDataGrid: data.total,\r\n selectedRowKeys: selectedRowKeys,\r\n });\r\n });\r\n };\r\n\r\n onFilter = () => {\r\n this.filter.skip = 0;\r\n this.loadGrid(true);\r\n };\r\n\r\n onChangePage = (page) => {\r\n this.filter.skip = page * this.filter.limit;\r\n this.loadGrid();\r\n };\r\n\r\n onChangePerPage = (per) => {\r\n this.filter.skip = 0;\r\n this.filter.limit = per;\r\n this.loadGrid();\r\n };\r\n\r\n onSelect = () => {\r\n const { onChosen } = this.props;\r\n let selectedRowData = this.tmpSelectedRowData;\r\n\r\n if (selectedRowData && selectedRowData.length > 0) {\r\n if (onChosen) onChosen(selectedRowData);\r\n } else {\r\n Config.popup.show(\"INFO\", Config.lang(\"DHR_Ban_chua_chon_du_lieu_tren_luoi\"));\r\n return false;\r\n }\r\n };\r\n\r\n setSelectedEquipments = (e) => {\r\n const currentSelectedRowKeys = e.currentSelectedRowKeys.length < 1 ? e.selectedRowKeys : e.currentSelectedRowKeys;\r\n const currentDeselectedRowKeys = e.currentDeselectedRowKeys;\r\n const { dataGrid } = this.state;\r\n\r\n if (currentDeselectedRowKeys.length > 0) {\r\n this.tmpSelectedRowKeys = this.tmpSelectedRowKeys.filter((e) => {\r\n return currentDeselectedRowKeys.indexOf(e) < 0;\r\n });\r\n this.tmpSelectedRowData = this.tmpSelectedRowData.filter((d) => {\r\n return currentDeselectedRowKeys.indexOf(d.EquipmentID) < 0;\r\n });\r\n }\r\n if (currentSelectedRowKeys.length > 0) {\r\n currentSelectedRowKeys.forEach((val) => {\r\n if (this.tmpSelectedRowKeys.indexOf(val) < 0) {\r\n this.tmpSelectedRowKeys.push(val);\r\n }\r\n });\r\n dataGrid.forEach((val) => {\r\n const isExist = this.tmpSelectedRowData.filter((d) => d.EquipmentID === val.EquipmentID);\r\n if (this.tmpSelectedRowKeys.indexOf(val.EquipmentID) > -1 && isExist.length < 1) {\r\n this.tmpSelectedRowData.push(val);\r\n }\r\n });\r\n }\r\n };\r\n\r\n onSelectionChanged = (e) => {\r\n const { selectedRowKeys } = e;\r\n const { dataGrid } = this.state;\r\n let keyNotAllowSelected = [];\r\n\r\n //Set is select alll....\r\n if (selectedRowKeys.length === dataGrid.length) {\r\n if (this.isSelectAll === -1 || this.isSelectAll === 0) {\r\n this.isSelectAll = 1;\r\n } else {\r\n this.isSelectAll = 0;\r\n }\r\n }\r\n\r\n e.currentDeselectedRowKeys.length > 1 &&\r\n e.currentSelectedRowKeys.forEach((key) => {\r\n if (this.keyNotAllowSelected.indexOf(key) > -1) {\r\n keyNotAllowSelected.push(key);\r\n }\r\n });\r\n if (keyNotAllowSelected.length > 0) {\r\n e.component.deselectRows(keyNotAllowSelected);\r\n return;\r\n }\r\n\r\n if (this.isSelectAll === 0) {\r\n e.component.deselectAll();\r\n this.isSelectAll = -1;\r\n return;\r\n }\r\n if (this.changePage) {\r\n this.changePage = false;\r\n }\r\n this.setSelectedEquipments(e);\r\n this.setState({\r\n selectedRowKeys: e.selectedRowKeys,\r\n });\r\n };\r\n\r\n collapsePanel = (flag) => {\r\n if (typeof flag !== \"undefined\") {\r\n this.setState({ minimum: !!flag });\r\n } else {\r\n this.setState({ minimum: !this.state.minimum });\r\n }\r\n };\r\n\r\n showTitleHeaderBox = () => {\r\n let selectBox = document.getElementsByClassName(\"dx-header-row\");\r\n if (selectBox.length > 0) {\r\n selectBox = selectBox[0].getElementsByClassName(\"dx-select-checkbox\");\r\n if (selectBox.length > 0) {\r\n if (this.isSelectAll < 1) {\r\n selectBox[0].setAttribute(\"title\", Config.lang(\"DHR_Chon_tat_ca\"));\r\n } else {\r\n selectBox[0].setAttribute(\"title\", Config.lang(\"DHR_Bo_tat_ca\"));\r\n }\r\n }\r\n }\r\n };\r\n\r\n render() {\r\n const { classes, open, onClose, getCboWarehouse, isMode } = this.props;\r\n const { loading, isSaving, dataGrid, totalDataGrid, selectedRowKeys, minimum } = this.state;\r\n const { WareHouseID, loadingWareHouseID } = this.state;\r\n return (\r\n \r\n \r\n \r\n \r\n {isMode === 0 ? (\r\n onClose()}\r\n />\r\n ) : (\r\n onClose()}\r\n />\r\n )}\r\n {isMode === 1 && (\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n 768 ? classes.leftPanelMinimum : \"\")}\r\n >\r\n
\r\n \r\n
\r\n this.collapsePanel()}\r\n />\r\n {!minimum && \r\n {Config.lang(\"Loc_trang_thiet_bi_lao_dong\")}\r\n }\r\n
\r\n {!minimum && (\r\n this.collapsePanel()}\r\n />\r\n )}\r\n \r\n
\r\n
\r\n \r\n \r\n this.handleChange(\"Search\", e)}\r\n />\r\n \r\n\r\n \r\n this.handleChange(\"WareHouseID\", e)}\r\n />\r\n \r\n \r\n\r\n
\r\n \r\n
\r\n
\r\n \r\n 768 ? \"bdl \" + (minimum ? classes.rightPanelMinimum : \"\") : \"\")\r\n }\r\n >\r\n {\r\n if (!e || !e.row) return;\r\n const { data } = e.row;\r\n if (data && data.Quantity && Number(data.Quantity) <= 0) {\r\n e.editorOptions.disabled = true;\r\n }\r\n }}\r\n onContentReady={() => {\r\n this.showTitleHeaderBox();\r\n }}\r\n >\r\n \r\n \r\n \r\n this.cellRenderPopupAction(cellData)}\r\n />\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nW51F1002.propTypes = {\r\n FormID: PropTypes.string,\r\n open: PropTypes.bool,\r\n\r\n onClose: PropTypes.func,\r\n onChosen: PropTypes.func,\r\n};\r\n\r\nexport default compose(\r\n connect(\r\n (state) => ({\r\n getCboWarehouse: state.general.getCboWarehouse,\r\n }),\r\n (dispatch) => ({\r\n w51F1002Actions: bindActionCreators(w51F1002Actions, dispatch),\r\n generalActions: bindActionCreators(generalActions, dispatch),\r\n }),\r\n ),\r\n withStyles(styles),\r\n)(W51F1002);\r\n"],"sourceRoot":""}