{"version":3,"sources":["components/W3X/W39/W39F1020/W39F1020.js","components/W3X/W39/W39F1025/W39F1025.js","components/W3X/W39/W39F1000/W39F1000.js","components/W3X/W39/W39F1005/W39F1005.js","components/W3X/W39/W39F1030/W39F1030.js","components/W3X/W39/W39F1010/W39F1010.js","components/W3X/W39/W39F1012/W39F1012.js","components/W3X/W39/W39F1011/W39F1011.js","components/W3X/W39/W39F1031/W39F1031Popup.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","W39F1020","_React$Component","_inherits","_super","_createSuper","props","_this","_classCallCheck","loadPermission","_asyncToGenerator","_callee","_context","generalActions","getPermission","isPer","setState","iPermission","onSearch","loadDataGrid","loadCboDepartment","param","HostID","FormID","DivisionID","Config","getDivisionID","Language","language","getCboDepartments","popup","show","onChangePageProfile","data","browserHistory","pathname","getRootPath","EmployeeID","redirectScreen","mode","e","arguments","_objectSpread","renderEmpProfile","classes","row","date","moment","utc","CreateDate","format","React","createElement","className","UserImage","onClick","divText","UserName","TransTypeID","dateInfo","Image","src","require","style","paddingLeft","renderInfo","ProNotice","lang","TransTypeName","StrDepartment","Note","VoucherDate","renderStatus","getCboAppStatus","item","find","Number","AppStatusID","StatusID","status","AppStatusName","Status","onEdit","onAdd","onDelete","params","EvaluationVoucherID","Mode","W39F1020Actions","deleteDataGrid","notify","renderAction","IconButton","disabled","aria-label","size","Icons","Divider","orientation","width","height","margin","filterChange","VoucherDateFrom","VoucherDateTo","filter","Employee","DepartmentID","renderFilter","_this$props","_this$filter","_this$state","Filter","placeholder","openOnFieldClick","Fragment","FormGroup","marginBottom","Row","Col","xs","sm","md","lg","display","alignItems","DateBoxPicker","dateBoxProps","max","marginLeft","onValueChanged","useMaskBehavior","showClearButton","toLowerCase","min","Combo","label","dataSource","displayExpr","valueExpr","storeDataSoureDevExtreme","justifyContent","paddingTop","paddingBottom","ButtonGeneral","typeButton","color","variant","textTransform","componentDidMount","_callee2","_context2","loadCboAppStatus","VoucherID","voucher_id","getUrlParams","_this$state2","_this$filter2","limit","skip","TransID","String","gridLoading","getGrid","dataGrid","rows","totalDataGrid","total","onChangePage","page","onChangePerPage","perPage","rowData","loading","cboEmployees","cboProjects","_createClass","prevProps","prevState","snapshot","_this2","this","callChildForm","keyExpr","onLoad","ID","onAction","_this3","_this$state3","_this$filter3","ActionToolbar","title","GridContainer","border","showRowLines","showBorders","showColumnLines","showColumnHeaders","rowAlternationEnabled","noDataText","onCellClick","onDetail","hoverStateEnabled","totalItems","itemPerPage","skipPerPage","typePaging","getHeightGrid","onDbCellClick","Column","cellRender","minWidth","alignment","Component","compose","connect","general","dispatch","bindActionCreators","withStyles","divAvatar","borderRadius","overflow","marginRight","imgAvatar","maxWidth","maxHeight","objectFit","chip","fontSize","fontWeight","backgroundColor","whiteSpace","divDateText","W39F1025","_Component","setLoading","_defineProperty","onUploading","uploading","loadEvaluationType","TranMonth","getHRTransMonth","TranYear","getHRTransYear","W39F1025Actions","getEvaluationType","loadDetail","_voucherID","getInfo","getDetail","handleChange","formData","PerformanceDateFrom","PerformanceDateTo","PerformancePeriod","isUpdated","getDateTime","convertDate","add","target","subtract","diff","setStateErrorText","onSave","_this$getInfo2","validateRules","rules","validateFrom","MForm","formValidation","NoteU","ProjectID","JSON","stringify","errors","formLoading","message","disableSave","flag","nextProps","location","initialState","isNotify","CreateUserID","loadDataGridW39F1020","voucherID","modeEdit","checkNotify","getDepartmentName","DepartmentName","departmentName","DepartmentNameU","DepartmentName01U","renderItem","Typography","DesResult","showPopupEdit","showW39F1031Popup","chooseRoom","showW09F6500Popup","onChosen","listDepartmentIDs","map","d","dataNew","dn","indexOf","concat","onShowPageDetail","IsEvaluation","_this$getInfo3","checkKeyObject","IsDepartment","BorderColorIcon","profile","UserID","IsRemove","onBack","onCloseModal","closePopup","isRenderModalW09F6500","dataCboProjects","loadingProjects","count","loadingDataGrid","showDepartmentSelect","_this$getInfo4","Modal","open","fullWidth","onClose","W39F1031Popup","statusID","W09F6500","dataDepartment","ButtonCustom","InputLabelProps","shrink","required","selectProps","readOnly","stylingMode","FormControl","InputLabel","TextField","inputProps","onChange","multiline","pagerFullScreen","elementAttr","theme","ExpansionPanelDetails","padding","statusColor","marginTop","textAlign","borderTopLeftRadius","borderTopRightRadius","textOverflow","palette","success","main","warning","numberStatus","danger","withTheme","W39F1000","onView","cb","w39F1000Actions","dataFilter","DateRangePicker","viewType","clearAble","returnFormat","controls","defaultValue","Dropdown","url","window","URLSearchParams","search","get","_this2$gridRef","gridRef","loadGrid","_ref","ListApproval","ref","isLoadPermission","action","isInteger","toString","loadStatus","onLoadedGrid","View","Delete","arrStar","Map","W39F1005","_React$PureComponent","loadCboProjects","isReset","filterCboProjects","strSearch","projectLoading","getCboProjects","_","loadCboTransType","transTypeLoading","w39f1005Actions","dataCboTransType","loadMaster","DutyID","dataDetail","evaluationDataDetails","isSaved","isPermission","loadSelectedEmployees","updateTransTime","includes","setTimeout","openEmployeeSelect","dataSelected","rs","user","getUser","dataDefaults","selectedRowKeys","isLoaded","showEmployeeSelect","closeEmployeeSelect","onSelectedEmployee","EmployeeIDs","EmployeesData","_this$state4","evaluationDeleted","dataTemp","_toConsumableArray","disabledEmployee","IsMultiLevel","IsAppStatus","exits","j","IsNew","idx","findIndex","evaluationDeletedTemp","_this$state5","selectedEmployees","listEmployees","unshift","_this$state6","apply","validateForm","_saveData","_this$state7","isSaving","dataEmployee","Deleted","dataT","replace","_ref2","index","removeItem","_this$state8","newEvaluationDeleted","_this$getInfo5","FormPermission","IsSave","UserLevel","ApproveLevel","onLock","IsLocked","updateLock","dataUpdate","msg","Message","current","isRenderModalW09F6000","timer","_possibleConstructorReturn","_loadPermission","arrPer","per","IsPermission","_data$ProjectID","_data$ProjectName","_this$getInfo6","_this$state9","Button","text","startIcon","W09F6000","allowSearch","valueObjectDefault","ProjectName","onInput","clearTimeout","onLoadMore","NumberInput","DatePicker","actionIconAt","displayFormat","TextInput","Accordion","expand","ListUser","PureComponent","memo","_listUser$length","_evaluationDataDetail","_props$evaluationData","filterCboEmployees","useRef","filterListUser","isLoadGrid","_useState","useState","_useState2","_slicedToArray","loadingCboEmployees","setLoadingCboEmployees","_useState3","_useState4","dataCboEmployees","setDataCboEmployees","_useState5","_useState6","setCurrent","useEffect","loadCboEmployees","_filterCboEmployees$c","getCboEmployees","listUser","useMemo","_ref3","_filterListUser$curre","_filterListUser$curre2","_filterListUser$curre3","_filterListUser$curre4","_filterListUser$curre5","AccordionSummary","AccordionDetails","searchDelayTime","id","_e$value","overflowY","onScroll","_e$target","scrollTop","scrollHeight","clientHeight","EmpProfile","Action","_data$EmployeeID","_data$DepartmentName","_Config$coreTheme","_Config$coreTheme$col","_data$VoucherDate","EmployeeName","Icon","coreTheme","colors","_getInfo","_Config$coreTheme2","_Config$coreTheme2$co","_ref5","_Config$coreTheme$col2","colorStarIcon","ButtonIcon","circular","IsApproved","iconButton","position","left","top","divIDText","justifyContentCenter","W39F1030","_getAttachments","listAttachments","helpers","getFileInfomations","attachments","dataOldAttachments","arrAttachment","att","URL","FileName","fileName","FileSize","fileSize","FileExt","fileExt","isEmpty","onAttachment","attRef","onChangeAttachments","uploadedFiles","deletedFiles","deletedFile","_arrRemove","AttachmentID","loadFormGrid","_this$getInfo","W39F1030Actions","getLoadFormGrid","NoteEvaluatedLevel1","RefEvaluation01U","Result","loadListAppChildCriterion","getLoadListAppChildCriterions","listGroups","dataMaster","group","AppCriterionGroupID","EvaluationElementID","TypeID","Value","Note1U","loadCboAppChildCriterion","getCboAppChildCriterion","itemSelected","dCbo","EvaluationLevelID","_value","timerInput","onChangeResult","formValid","arrAttachments","listExcludeFields","save","loadAttachments","allowCalculate","KeyID","TableName","getAttachmentsByTransID","onBlur","rule","validCriterionPoint","_formValid","f","field","criterionID","validator","isInt","isError","fvl","getErrorMessage","loadingListAppChildCriterion","upload","_this$getInfo7","indx","IsMiddleEvaluationElement","AppCriterionGroupNameU","indx2","dataSourceCbo","typeText","ResultDes","IsTypeEvaluation","OrderNo","EvaluationElementName","Proportion","step","inputComponent","NumberFormatCustom","helperText","textEvaluation","InputProps","startAdornment","CreateIcon","caption","align","component","OutlinedInput","aria-describedby","labelWidth","zIndex","Attachments","isAttachInfo","showButton","files","maxLength","onChanged","float","_Component2","_super2","_this$props2","inputRef","_objectWithoutProperties","_excluded","NumberFormat","assign","getInputRef","thousandSeparator","onValueChange","getLoadListAppChildCriterion","breakpoints","down","W39F1010","_Config$getLocalStora","setMineVoucher","isMineVoucher","handleResponse","cBoLoading","_filterEmployee$Emplo","_location$state","_location$state$menu","filterEmployee","defaultParams","omit","IsMineVoucher","menu","Type","w39f1010Actions","getFormGrid","getTransType","dataCboStatus","getStatus","IsNewMethod","StatusName","_this$state$disabledC","Disabled","disabledCboEmployee","showW39F1012","objRenderDate","content","isVisible","Boolean","arrRenderInfo","AppraisalDate","preWarpNote","_listStatus$StatusID","_listStatus$StatusID2","_listStatus$StatusID3","_listStatus$StatusID4","listStatus","icon","system","rest","AppStatusIcon","AppStatusColor","renderActions","isApproved","isMultiLevel","evaluatedStatus","approveStatus","iconApproval","viewBox","onHistory","onLoadDataFilter","handleFilterChange","renderFilters","onOpenLoaded","menuType","Checkbox","checked","LoadMore","onInputChanged","w84F3005Popup","componentDidUpdate","employeeLoading","getLocalStorage","W39F1012","W84F3005","customTitle","headerTitle","Tooltip","AccountCircleIcon","typeShort","innerWidth","W39F1010Actions","grey","res","messageErr","_removeCDN","path","split","CDN","removeFile","attachmentLoading","loadFormInfo","loadingForm","w39f1012Actions","getForm","arrCaption","arrInfo","dataForm","keyInfo","startsWith","RefID","onStore","objRefEval","pickBy","v","k","reduce","keyName","saving","Api","put","renderDataForm","refEvaluationName","styleHidden","Fade","in","timeout","RefCaptionU","Content","Actions","AttachFileIcon","W39F1012Actions","fill","primary","W39F1011","errorMessage","loaded","loadMasterData","loadCriterionGroup","loadCriterionDetail","loadCriterionCombo","loadApi","Key02ID","ModuleID","CheckMode","componentWillUnmount","CriterionTitle","EmployeeInfo","avatarAttach","prevIsSubmit","EvaluationCombo","NoteEmployee","NoteEvaluatedLevel2","NoteEvaluatedLevel3","NoteEvaluatedLevel4","NoteEvaluatedLevel5","ResultID1","ResultID2","ResultID3","ResultID4","ResultID5","detail","btnSaveRef","btnSendResultRef","timerGetFocus","_url$get","_url$get2","_url$get3","_location$state$Mode","_location$state2","_location$state3","_location$state4","_location$state$Appro","_location$state5","_location$state6","_ref4","_location$state$IsSav","_location$state7","isPopup","_location$state8","_location$state8$menu","_x","FormBack","apiName","ownAction","popup2","_data","_data2","_data$IsEvaluation","IsEvaluateContract","deletedAttachment","onRemoveFile","UserPictureURL","ignoreReminder","mainActions","checkDetailData","isNotUpdated","IsUpdated","Value02","IsUpdated02","Value03","IsUpdated03","Value04","IsUpdated04","Value05","IsUpdated05","_this$props3","dataMasterData","getRequiredFields","LabelLevel1","LabelLevel2","LabelLevel3","LabelLevel4","LabelLevel5","dataRequireFields","isDetailDataValid","detailDataValidMode","isCheckResultValid","_this$formData","criterionCboResultsError","_field$SqlFieldName","_field$SqlFieldName2","_field$SqlFieldName3","_field$SqlFieldName4","_field$SqlFieldName5","_field$ValidMode","ValidMode","SqlFieldName","substr","_this$props4","dataWarningFields","_field$SqlFieldName6","_field$SqlFieldName7","_field$SqlFieldName8","_field$SqlFieldName9","_field$SqlFieldName10","confirmSaveData","yesText","noText","loading2","W39F1011Actions","code","isChangeForm","_this$formData2","canvasImage","isGetCalResult","isString","vl","TypeName","getResultSuccess","btn","instance","option","_ref6","_callee3","num","_context3","inputFocus","_x2","_x3","_x4","_x5","_x6","_ref7","_callee4","Decimals","newType","_this$dataDetail","Name","_context4","isDecimal","decimal_digits","locale","MaxValue","MinValue","getTypeEvaluation","EvaluationLevelName","_document$querySelect","idInput","document","querySelector","_x7","_x8","_x9","_x10","parseDataGroupCriterion","_this$props5","dataCriterionGroup","dataCriterionDetail","dataCriterionCombo","dt","sl","EvaluationCodeName","EvaluationCodeID","IsDisplayValue","DisplayValue","criterion","grCriterion","Type02ID","Type02Name","Type03ID","Type03Name","Type04ID","Type04Name","Type05ID","Type05Name","Note2U","Note3U","Note4U","Note5U","ListCriterionDetail","_this$formData3","renderInputAdorment","InputAdornment","disableTypography","renderUserProfile","_this$props6","WorkFormName","renderCriterionCboResults","level","_location$state$FormI","_location$state9","_this$props7","dataComboResults","selected","NotViewOther","FormHelperText","renderCriterionCombo","_location$state$FormI2","_location$state10","_this$props8","renderItemWithValue","renderSelectedItem","_setDefaultDetail","setFocusInput","input","_input$value","end","setSelectionRange","focus","renderCriterionDetail","_location$state$FormI3","_location$state11","_this$props9","calculateWidthCol","flexBasis","col","Math","floor","pdLevel1","pdLevel2","pdLevel3","pdLevel4","pdLevel5","typeNum","parseInt","changed","idNote1U","idNote2U","idNote3U","idNote4U","idNote5U","idValue","idValue02","idValue03","idValue04","idValue05","Grid","random","substring","container","spacing","direction","justify","fontStyle","Chip","validateField","customInput","decimalScale","endAdornment","_ref8","_callee5","_context5","_x11","_ref9","_callee6","_context6","_x12","_ref10","_callee7","_context7","_x13","_ref11","_callee8","_context8","_x14","_ref12","_callee9","_context9","_x15","flex","maxRows","IsCalculate","cursor","getCalResult","renderCriterionResults","EvaluationResult","renderCriterionHeader","isOpenPopover","dtSource","NumEvaluationLevel","_dtSource$push","keyID","buttonResultRef","center","ResultFinal","Popover","anchor","anchorOrigin","vertical","horizontal","transformOrigin","sorting","dataField","renderEvaluationLevel","_Config$coreTheme3","_Config$coreTheme4","_Config$coreTheme5","blue12","right","unlockPreviousLevel","blue13","blue14","blue15","blue16","renderCriterionFooter","_location$state$FormI4","_location$state12","Array","_this$formData4","LabelLevel","ReviewerName","TimeEvaluatedLevel","NameEvaluatedLevel","NoteEvaluatedLevel","uppercase","capitalize","renderHistoryApproval","dataHistoryApproval","isValid","ApproverID","allowHover","ApprovalStatusName","DutyName","ApprovalNotes","printDocument","_callee11","isChecked","canvasHtml","_context11","l","contentContainer","querySelectorAll","setAttribute","getBoundingClientRect","cloneNode","body","appendChild","_callee10","canvas","myWindow","_context10","html2canvas","scale","allowTaint","useCORS","scrollX","scrollY","remove","toDataURL","write","close","t0","_this$formData5","_detail$EvaluationEle","dataValue","getResult","_data$TypeName","sendResult","_this$formData6","createRef","objValue","stateError","_dataMasterData","_this$props10","currentIsSubmit","SplitSaveAndSubmit","LoadPanel","my","of","visible","showIndicator","shading","showPane","Container","innerRef","o","c","sectionNum","roman","M","CM","D","CD","C","XC","L","XL","X","IX","V","IV","I","str","_i","_Object$keys","q","repeat","convertToRoman","fieldset","AppCriterionGroupDescU","placement","aria-hidden","flexDirection","dataSaveResult","borderBottom","resetForm","W39F1031Actions","IsAttached","getLoadListAttachments"],"mappings":"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","file":"static/js/main~a82d277b.de54a820.chunk.js","sourcesContent":["/**\r\n * @copyright 2019 @ DigiNet\r\n * @author NAMDANG\r\n * @create 7/7/2020\r\n * @Example \r\n */\r\n\r\nimport React from \"react\";\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 ButtonGeneral from \"../../../common/button/button-general\";\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 Divider from \"@material-ui/core/Divider\";\r\nimport { Image, FormGroup, Row, Col } from \"react-bootstrap\";\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 { browserHistory } from \"react-router\";\r\nimport UserImage from \"../../../common/user/user-image\";\r\n\r\nimport * as W39F1020Actions from \"../../../../redux/W3X/W39F1020/W39F1020_actions\";\r\nimport UserName from \"../../../common/user/user-name\";\r\nimport Status from \"../../../common/status/status\";\r\nimport Icons from \"../../../common/icons/\";\r\n\r\nconst styles = {\r\n divAvatar: {\r\n width: 32,\r\n height: 32,\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 whiteSpace: 'pre-line',\r\n // overflow: 'hidden',\r\n // maxWidth: 300,\r\n // textOverflow: \"ellipsis\"\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 W39F1020 extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n iPermission: 0,\r\n mode: \"add\",\r\n rowData: null,\r\n VoucherDateFrom: null,\r\n VoucherDateTo: null,\r\n dataGrid: [],\r\n totalDataGrid: 0,\r\n };\r\n this.loading = {\r\n cboEmployees: false,\r\n cboProjects: false,\r\n };\r\n this.filter = {\r\n DepartmentID: \"\",\r\n AppStatusID: \"\",\r\n skip: 0,\r\n limit: 10\r\n };\r\n }\r\n\r\n loadPermission = async () => {\r\n await this.props.generalActions.getPermission(\"W39F1020\", (isPer) => {\r\n this.setState({iPermission: isPer});\r\n });\r\n };\r\n\r\n onSearch = () => {\r\n this.loadDataGrid();\r\n };\r\n loadCboDepartment = () => {\r\n const param = {\r\n HostID: \"\",\r\n FormID: \"W39F12020\",\r\n DivisionID: Config.getDivisionID() ? Config.getDivisionID() : \"QT\" ,\r\n Language: Config.language || \"84\"\r\n };\r\n\r\n this.props.generalActions.getCboDepartments(param, 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 onChangePageProfile = data => {\r\n browserHistory.push({\r\n pathname: Config.getRootPath() + \"W09F2000\",\r\n state: { EmployeeID: data.EmployeeID }\r\n });\r\n };\r\n\r\n redirectScreen = (mode, e = \"\") => {\r\n const data = e && e.data;\r\n browserHistory.push({\r\n pathname: Config.getRootPath() + \"W39F1025\",\r\n state: {\r\n mode: mode,\r\n ...(e && e.data ? {\r\n ...data\r\n } : {})\r\n }\r\n });\r\n };\r\n\r\n renderEmpProfile = e => {\r\n const { classes } = this.props;\r\n const { data } = e.row;\r\n const date = moment.utc(data.CreateDate).format(\"DD/MM/YYYY, kk:mm\");\r\n return (\r\n
\r\n this.onChangePageProfile(data)}/>\r\n
\r\n
\r\n
{data.TransTypeID || \"\"}
\r\n
\r\n \r\n
\r\n {data.CreateDate && date}\r\n
\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 return (\r\n
\r\n
{data.ProNotice || \"\"}
\r\n
\r\n {Config.lang(\"Loai_danh_gia\")}:{data.TransTypeName || \"\"}\r\n
\r\n {data.StrDepartment && (\r\n
\r\n {Config.lang(\"Phong_ban\")}: {data.StrDepartment || \"\"}\r\n
\r\n )}\r\n {data.Note && (\r\n
\r\n {Config.lang(\"Ghi_chu\")}: {data.Note || \"\"}\r\n
\r\n )}\r\n {data.VoucherDate && (\r\n
\r\n {Config.lang(\"Ngay_danh_gia\")}: { moment.utc(data.VoucherDate).format(\"DD/MM/YYYY\") || \"\"}\r\n
\r\n )}\r\n
\r\n );\r\n };\r\n\r\n renderStatus = e => {\r\n const {getCboAppStatus} = this.props;\r\n const { data } = e.row;\r\n const item = getCboAppStatus.find(item => Number(item.AppStatusID) === Number(data.StatusID));\r\n const status = {\r\n AppStatusID: data.StatusID,\r\n AppStatusName: item && item.AppStatusName ? item.AppStatusName : \"\",\r\n };\r\n return (\r\n \r\n );\r\n };\r\n\r\n onEdit = (e) => {\r\n this.redirectScreen(\"edit\", e);\r\n };\r\n\r\n onAdd = () => {\r\n this.redirectScreen(\"add\");\r\n };\r\n\r\n onDelete = data => {\r\n const { EvaluationVoucherID } = data;\r\n const params = {\r\n FormID: \"W39F1020\",\r\n EvaluationVoucherID: EvaluationVoucherID,\r\n Mode: 0\r\n };\r\n\r\n Config.popup.show(\"YES_NO\", Config.lang(\"Ban_co_chac_muon_xoa?\"), () => {\r\n this.props.W39F1020Actions.deleteDataGrid(params, error => {\r\n if (error) {\r\n Config.popup.show(\"INFO\", Config.lang(\"Loi_chua_xac_dinh\"));\r\n return false;\r\n } else {\r\n Config.notify.show(\"success\", Config.lang(\"Xoa_thanh_cong\"), 3000);\r\n this.loadDataGrid();\r\n }\r\n });\r\n }\r\n );\r\n };\r\n\r\n renderAction = e => {\r\n const {iPermission} = this.state;\r\n const { data } = e.row;\r\n return (\r\n
\r\n 0}\r\n aria-label=\"view\"\r\n size=\"small\"\r\n onClick={() => this.onEdit(e)}\r\n >\r\n \r\n \r\n \r\n 3) || (Number(data.StatusID) === 1))}\r\n aria-label=\"delete\"\r\n size=\"small\"\r\n onClick={() => this.onDelete(data)}\r\n >\r\n \r\n \r\n
\r\n );\r\n };\r\n\r\n filterChange = (key, data) => {\r\n const { value } = data;\r\n if (!key) return false;\r\n switch (key) {\r\n case \"VoucherDateFrom\":\r\n this.setState({ VoucherDateFrom: value });\r\n break;\r\n case \"VoucherDateTo\":\r\n this.setState({ VoucherDateTo: value });\r\n break;\r\n case \"EmployeeID\":\r\n this.filter.Employee = value;\r\n break;\r\n case \"AppStatusID\":\r\n this.filter.AppStatusID = value;\r\n break;\r\n case \"DepartmentID\":\r\n this.filter.DepartmentID = value;\r\n break;\r\n default:\r\n break;\r\n }\r\n };\r\n\r\n renderFilter = () => {\r\n const {\r\n getCboDepartments,\r\n getCboAppStatus,\r\n classes\r\n } = this.props;\r\n const { AppStatusID, DepartmentID } = this.filter;\r\n const { VoucherDateFrom, VoucherDateTo } = this.state;\r\n\r\n return (\r\n {\r\n return (\r\n <>\r\n \r\n \r\n \r\n
\r\n
\r\n {Config.lang(\"Tu\")}\r\n
\r\n this.filterChange(\"VoucherDateFrom\", e)}\r\n useMaskBehavior={true}\r\n showClearButton={true}\r\n placeholder={\"DD/MM/YYYY\"}\r\n value={VoucherDateFrom && VoucherDateFrom}\r\n />\r\n
\r\n \r\n \r\n
\r\n
\r\n {Config.lang(\"Den\").toLowerCase()}\r\n
\r\n this.filterChange(\"VoucherDateTo\", e)}\r\n useMaskBehavior={true}\r\n showClearButton={true}\r\n placeholder={\"DD/MM/YYYY\"}\r\n value={VoucherDateTo && VoucherDateTo}\r\n />\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n this.filterChange(\"AppStatusID\", e)}\r\n showClearButton={true}\r\n value={AppStatusID}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n this.filterChange(\"DepartmentID\", e)}\r\n showClearButton={true}\r\n value={DepartmentID}\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 componentDidMount = async () => {\r\n await this.loadPermission();\r\n if (this.state.iPermission <= 0) return;\r\n this.loadDataGrid();\r\n this.loadCboAppStatus();\r\n this.loadCboDepartment();\r\n };\r\n\r\n componentDidUpdate (prevProps, prevState, snapshot) {\r\n const {dataGrid} = this.state;\r\n Config.callChildForm({\r\n FormID: \"W39F1020\",\r\n // ID: voucher_id,\r\n keyExpr: \"EvaluationVoucherID\",\r\n data: dataGrid || [],\r\n onLoad: (params) => this.loadDataGrid(params && params.ID),\r\n onAction: (e, data) => this.redirectScreen(\"edit\", { data: data })\r\n }, this.props);\r\n }\r\n\r\n loadDataGrid = (VoucherID) => {\r\n const {voucher_id} = Config.getUrlParams(this.props);\r\n VoucherID = VoucherID ? VoucherID : voucher_id;\r\n const { VoucherDateFrom, VoucherDateTo } = this.state;\r\n const {DepartmentID, AppStatusID, limit, skip} = this.filter;\r\n const param = {\r\n TransID: VoucherID || \"\",\r\n DivisionID: Config.getDivisionID() ? Config.getDivisionID() : \"QT\" ,\r\n VoucherDateFrom: VoucherDateFrom || null,\r\n VoucherDateTo: VoucherDateTo || null,\r\n StatusID: AppStatusID || AppStatusID === 0 ? String(AppStatusID) : \"\",\r\n DepartmentID: DepartmentID ? DepartmentID : \"\",\r\n FormID: \"W39F1020\",\r\n skip: skip,\r\n limit: limit\r\n };\r\n this.setState({ gridLoading: true });\r\n this.props.W39F1020Actions.getGrid(param, (error, data) => {\r\n if (error) {\r\n Config.popup.show(\"ERROR\", error);\r\n return false;\r\n }\r\n this.setState({ gridLoading: false });\r\n if(data) {\r\n this.setState({\r\n dataGrid: data.rows ? data.rows : data,\r\n totalDataGrid: data.total,\r\n });\r\n }\r\n });\r\n };\r\n\r\n loadCboAppStatus = () => {\r\n const param = {\r\n FormID: \"W39F1020\",\r\n Language: Config.language || 84\r\n };\r\n\r\n this.props.generalActions.getCboAppStatus(param, 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 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 render() {\r\n const { iPermission, gridLoading, dataGrid, totalDataGrid } = this.state;\r\n if (iPermission <= 0) return null;\r\n\r\n const { skip, limit } = this.filter;\r\n return (\r\n <>\r\n
{this.renderFilter()}
\r\n \r\n 1}\r\n style={{ textTransform: \"uppercase\" }}\r\n size={\"large\"}\r\n onClick={this.onAdd}\r\n />\r\n \r\n this.redirectScreen(\"edit\", e)}\r\n onChangePage={this.onChangePage}\r\n onChangePerPage={this.onChangePerPage}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nexport default compose(\r\n connect(\r\n state => ({\r\n getCboDepartments: state.general.getCboDepartments,\r\n getCboAppStatus: state.general.getCboAppStatus,\r\n }),\r\n dispatch => ({\r\n generalActions: bindActionCreators(generalActions, dispatch),\r\n W39F1020Actions: bindActionCreators(W39F1020Actions, dispatch)\r\n })\r\n ),\r\n withStyles(styles)\r\n)(W39F1020);\r\n","/**\r\n * @copyright 2019 @ DigiNet\r\n * @author NAMDANG\r\n * @create 7/7/2020\r\n * @Example\r\n */\r\n\r\nimport React, {Component} from \"react\";\r\n\r\nimport {connect} from \"react-redux\";\r\nimport {bindActionCreators, compose} from \"redux\";\r\nimport withStyles from \"@material-ui/core/styles/withStyles\";\r\nimport * as W39F1025Actions from \"../../../../redux/W3X/W39F1025/W39F1025_actions\";\r\nimport * as generalActions from \"../../../../redux/general/general_actions\";\r\nimport Config from \"../../../../config\";\r\nimport ActionToolbar from \"../../../common/toolbar/action-toolbar\";\r\nimport {Col, Row, FormGroup} from \"react-bootstrap\";\r\nimport {Combo, TextField} from \"../../../common/form-material\";\r\nimport DateBoxPicker from \"../../../common/form-material/date-box\";\r\nimport ButtonGeneral from \"../../../common/button/button-general\";\r\nimport moment from 'moment';\r\nimport IconButton from \"@material-ui/core/IconButton\";\r\nimport W39F1031Popup from \"../W39F1031/W39F1031Popup\";\r\nimport W09F6500 from \"../../../W0X/W09/W09F6500/W09F6500\";\r\nimport {\r\n FormControl,\r\n InputLabel,\r\n Typography\r\n} from \"@material-ui/core\";\r\nimport MForm from \"../../../common/form-material/form\";\r\nimport {browserHistory} from \"react-router\";\r\nimport GridContainer from \"../../../grid-container/grid-container\";\r\nimport {Column} from \"devextreme-react/data-grid\";\r\nimport ButtonCustom from \"../../../common/button/button-custom\";\r\nimport Modal from \"../../../common/modal/modal\";\r\nimport BorderColorIcon from '@material-ui/icons/BorderColor';\r\nimport * as W39F1020Actions from \"../../../../redux/W3X/W39F1020/W39F1020_actions\";\r\nconst styles = theme => ({\r\n ExpansionPanelDetails: {\r\n padding: 0\r\n },\r\n divText: {\r\n // fontSize: \"14px\",\r\n fontWeight: 500,\r\n // color: \"#575757\"\r\n },\r\n statusColor: {\r\n display: \"inline-block\",\r\n color: \"#333333\",\r\n fontSize: \".9rem\",\r\n marginTop: \"21px\",\r\n textAlign: \"center\",\r\n padding: \"12px 5px\",\r\n borderTopLeftRadius: 8,\r\n borderTopRightRadius: 8,\r\n overflow: \"hidden\",\r\n whiteSpace: \"nowrap\",\r\n textOverflow: \"ellipsis\",\r\n\r\n \"&.success\": {\r\n backgroundColor: theme.palette.success.main\r\n },\r\n \"&.warning\": {\r\n backgroundColor: theme.palette.warning.main\r\n }\r\n },\r\n numberStatus: {\r\n display: \"inline-block\",\r\n marginTop: \"40px\",\r\n color: theme.palette.danger.main\r\n }\r\n});\r\n\r\nclass W39F1025 extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n iPermission: 0,\r\n dataCboProjects: {\r\n rows: [],\r\n total: 0\r\n },\r\n dataGrid: [],\r\n error: {},\r\n loadingProjects: false,\r\n count: null,\r\n disableSave: false,\r\n modeEdit: false,\r\n loadingDataGrid: false,\r\n showW39F1031Popup: false,\r\n showW09F6500Popup: false,\r\n showDepartmentSelect: false,\r\n isUpdated: 0,\r\n formData: {\r\n VoucherDate: moment().format(\"YYYY-MM-DD\"),\r\n PerformancePeriod: 0,\r\n PerformanceDateFrom: null,\r\n PerformanceDateTo: null,\r\n TransTypeID: \"\",\r\n StatusID: 0,\r\n Note: \"\",\r\n IsEvaluation: 0,\r\n DepartmentID: \"\",\r\n DepartmentName: \"\",\r\n TransID: \"\",\r\n IsDepartment: 0,\r\n IsRemove: 0\r\n },\r\n rowData: null\r\n };\r\n this.VoucherID = \"\";\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\r\n\r\n onUploading = value => {\r\n this.setState({ uploading: value });\r\n };\r\n\r\n loadCboAppStatus = () => {\r\n const param = {\r\n Language: Config.language || '84',\r\n FormID: \"W39F1020\"\r\n };\r\n this.props.generalActions.getCboAppStatus(param, (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 loadEvaluationType = () => {\r\n const param = {\r\n TranMonth: Config.getHRTransMonth(),\r\n TranYear: Config.getHRTransYear(),\r\n TransTypeID: \"\",\r\n FormID: \"W39F1025\"\r\n };\r\n this.props.W39F1025Actions.getEvaluationType(param, (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 loadDetail = (_voucherID) => {\r\n const { EvaluationVoucherID } = this.getInfo();\r\n\r\n const param = {\r\n EvaluationVoucherID: _voucherID ? _voucherID : EvaluationVoucherID,\r\n };\r\n this.setLoading(\"DataGrid\", true);\r\n this.props.W39F1025Actions.getDetail(param, (error, data) => {\r\n this.setLoading(\"DataGrid\", false);\r\n if (error) {\r\n Config.popup.show(\"ERROR\", error);\r\n return false;\r\n }\r\n if(data) {\r\n this.setState({dataGrid: data});\r\n }\r\n });\r\n };\r\n\r\n\r\n handleChange = (key, e) => {\r\n const { getEvaluationType } = this.props;\r\n let { formData } = this.state;\r\n let { PerformanceDateFrom, PerformanceDateTo, PerformancePeriod } = formData;\r\n if (!key) return false;\r\n if (this.state.isUpdated === 0) this.setState({isUpdated: 1});\r\n switch (key) {\r\n case \"TransTypeID\": {\r\n if(e.value) {\r\n let getDateTime = getEvaluationType.find(item => item.TransTypeID === e.value);\r\n this.setState({\r\n formData : {\r\n ...this.state.formData,\r\n TransTypeID: e.value,\r\n PerformanceDateFrom: Config.convertDate(getDateTime?.PerformanceDateFrom, null, \"DD/MM/YYYY\"),\r\n PerformanceDateTo: Config.convertDate(getDateTime?.PerformanceDateTo, null, \"DD/MM/YYYY\"),\r\n PerformancePeriod: getDateTime?.PerformancePeriod || 0\r\n }\r\n });\r\n }\r\n break;\r\n }\r\n case \"StatusID\": {\r\n this.setState({\r\n formData : {\r\n ...this.state.formData,\r\n StatusID: e.value\r\n }\r\n });\r\n break;\r\n }\r\n case \"VoucherDate\": {\r\n this.setState({\r\n formData : {\r\n ...this.state.formData,\r\n VoucherDate: e.value\r\n }\r\n });\r\n break;\r\n }\r\n case \"PerformancePeriod\": {\r\n // if(PerformanceDateFrom !== null && e.value === null) {\r\n //\r\n // }\r\n if (PerformanceDateFrom !== null) {\r\n // PerformanceDateTo = PerformanceDateFrom + PerformancePeriod - 1 day\r\n PerformanceDateTo = moment(PerformanceDateFrom).add(e.target.value, 'months').subtract(1,'day');\r\n this.setState({\r\n formData : {\r\n ...this.state.formData,\r\n PerformanceDateTo: PerformanceDateTo,\r\n PerformancePeriod: e.target.value\r\n }\r\n });\r\n break;\r\n }\r\n\r\n if (PerformanceDateTo !== null && PerformanceDateFrom === null) {\r\n // PerformanceDateFrom = PerformanceDateTo - PerformancePeriod + 1 day\r\n PerformanceDateFrom = moment(PerformanceDateTo).subtract(e.target.value, 'months').add(1, 'day');\r\n this.setState({\r\n formData : {\r\n ...this.state.formData,\r\n PerformanceDateFrom : PerformanceDateFrom,\r\n PerformancePeriod: e.target.value\r\n }\r\n });\r\n break;\r\n }\r\n this.setState({\r\n formData : {\r\n ...this.state.formData,\r\n PerformancePeriod: e.target.value\r\n }\r\n });\r\n break;\r\n }\r\n case \"PerformanceDateFrom\": {\r\n if (PerformanceDateTo !== null) {\r\n // PerformanceDateTo = PerformanceDateFrom + PerformancePeriod - 1 day\r\n PerformancePeriod = (e.value !==null) ? moment(PerformanceDateTo).add(1, 'day').diff(e.value, 'months') : \"\";\r\n this.setState({\r\n formData: {\r\n ...this.state.formData,\r\n PerformancePeriod: PerformancePeriod\r\n }\r\n });\r\n }\r\n\r\n if (PerformanceDateTo === null && PerformancePeriod !== \"\" ) {\r\n // PerformanceDateTo = PerformanceDateFrom + PerformancePeriod - 1 day\r\n PerformanceDateTo = moment(e.value).add(PerformancePeriod, 'months').subtract(1, 'day');\r\n this.setState({\r\n formData: {\r\n ...this.state.formData,\r\n PerformanceDateTo : PerformanceDateTo\r\n }\r\n });\r\n }\r\n this.setState({\r\n formData : {\r\n ...this.state.formData,\r\n PerformanceDateFrom: e.value\r\n }\r\n\r\n });\r\n break;\r\n }\r\n case \"PerformanceDateTo\": {\r\n if (PerformanceDateFrom !== null ) {\r\n //PerformancePeriod: = [PerformanceDateTo + 1 (day)] - PerformanceDateFrom\r\n PerformancePeriod = (e.value !== null) ? moment(e.value).add(1, 'day').diff(PerformanceDateFrom, 'months'): \"\";\r\n this.setState({\r\n formData : {\r\n ...this.state.formData,\r\n PerformancePeriod: PerformancePeriod\r\n }\r\n });\r\n }\r\n if (PerformanceDateFrom === null && PerformancePeriod !== \"\") {\r\n // PerformanceDateFrom: = PerformanceDateTo - PerformancePeriod + 1 (day)\r\n PerformanceDateFrom = moment(e.value).subtract(PerformancePeriod, 'months').add(1, 'day');\r\n this.setState({\r\n formData : {\r\n ...this.state.formData,\r\n PerformanceDateFrom: PerformanceDateFrom\r\n }\r\n });\r\n }\r\n this.setState({\r\n formData : {\r\n ...this.state.formData,\r\n PerformanceDateTo: e.value\r\n }\r\n });\r\n break;\r\n }\r\n case \"Note\": {\r\n this.setState({\r\n formData : {\r\n ...this.state.formData,\r\n Note: e.target.value\r\n }\r\n });\r\n break;\r\n }\r\n default:\r\n break;\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 onSave = () => {\r\n\r\n let { formData, dataGrid } = this.state;\r\n const { VoucherDate, PerformancePeriod, PerformanceDateFrom, PerformanceDateTo, TransTypeID, StatusID, Note} = formData;\r\n const { mode, EvaluationVoucherID } = this.getInfo();\r\n const validateRules = [\r\n {\r\n name: \"TransTypeID\",\r\n rules: \"isRequired\",\r\n value: TransTypeID\r\n },\r\n {\r\n name: \"PerformancePeriod\",\r\n rules: \"isRequired\",\r\n value: PerformancePeriod\r\n },\r\n {\r\n name: \"VoucherDate\",\r\n rules: \"isRequired\",\r\n value: VoucherDate\r\n },\r\n {\r\n name: \"StatusID\",\r\n rules: \"isRequired\",\r\n value: StatusID\r\n }\r\n\r\n ];\r\n\r\n const validateFrom = MForm.formValidation(validateRules);\r\n if (Object.keys(validateFrom).length > 0) {\r\n\r\n this.setStateErrorText(validateFrom);\r\n return false;\r\n }\r\n let params = {\r\n TranMonth: Config.getHRTransMonth(),\r\n TranYear: Config.getHRTransYear(),\r\n DivisionID: Config.getDivisionID(),\r\n NoteU: Note ? Note : \"\",\r\n TransTypeID: TransTypeID ? TransTypeID : \"\",\r\n VoucherDate: VoucherDate ? moment(VoucherDate).format(\"YYYY-MM-DD\") : moment().format(\"YYYY-MM-DD\"),\r\n PerformancePeriod: PerformancePeriod ? PerformancePeriod : 0,\r\n PerformanceDateFrom: PerformanceDateFrom ? moment(PerformanceDateFrom).format(\"YYYY-MM-DD\") : null,\r\n PerformanceDateTo: PerformanceDateTo ? moment(PerformanceDateTo).format(\"YYYY-MM-DD\") : null,\r\n StatusID: StatusID ? String(StatusID) : \"0\",\r\n ProjectID: \"\",\r\n Mode: 0,\r\n data : JSON.stringify(dataGrid)\r\n };\r\n\r\n if (!(moment(params.PerformanceDateFrom) <= moment(params.VoucherDate) <= moment(params.PerformanceDateTo))) {\r\n Config.popup.show('INFO', Config.lang(\"Ban_vui_long_kiem_tra_Ngay_danh_gia_phai_trong_khoang_tu_den\"));\r\n return false;\r\n }\r\n\r\n if (String(mode) === \"edit\") {\r\n params.EvaluationVoucherID = EvaluationVoucherID;\r\n params.VoucherDate = moment(VoucherDate).format(\"YYYY-MM-DD\");\r\n params.Mode = 1;\r\n }\r\n\r\n this.props.W39F1025Actions[mode === \"add\" ? 'add' : 'edit'](params, (errors, data) => {\r\n this.setState({ formLoading: false });\r\n if (errors) {\r\n let message = errors.message || Config.lang(\"Loi_chua_xac_dinh\");\r\n Config.popup.show('INFO', message);\r\n return false;\r\n }\r\n Config.notify.show(\"success\", Config.lang(\"Luu_thanh_cong\"), 1000);\r\n this.setState({disableSave: true});\r\n this.loadDetail(data.EvaluationVoucherID);\r\n });\r\n\r\n };\r\n\r\n getInfo = (flag, nextProps) => {\r\n const { location } = nextProps ? nextProps : this.props;\r\n let initialState = {isNotify: false};\r\n if (location && location.state) {\r\n const state = location.state;\r\n if (state && state.voucher_id) {\r\n return {\r\n ...initialState,\r\n ...state,\r\n isNotify: true,\r\n }\r\n } else {\r\n return {\r\n ...initialState,\r\n ...state,\r\n StatusID: location.state.StatusID ? location.state.StatusID : \"0\",\r\n CreateUserID: location.state.CreateUserID ? location.state.CreateUserID : \"\",\r\n mode: location.state.mode ? location.state.mode : \"\",\r\n }\r\n }\r\n } else {\r\n if (flag) {\r\n browserHistory.push(Config.getRootPath() + \"W39F1020\");\r\n return null;\r\n }\r\n return false;\r\n }\r\n };\r\n\r\n loadPermission = async () => {\r\n await this.props.generalActions.getPermission(\"W39F1020\", (isPer) => {\r\n this.setState({iPermission: isPer});\r\n });\r\n };\r\n\r\n loadDataGridW39F1020 = (voucherID) => {\r\n const param = {\r\n DivisionID: Config.getDivisionID() ? Config.getDivisionID() : \"QT\" ,\r\n VoucherDateFrom: null,\r\n VoucherDateTo: null,\r\n EvaluationVoucherID: voucherID,\r\n StatusID: \"\",\r\n DepartmentID: \"\",\r\n FormID: \"W39F1020\",\r\n skip: 0,\r\n limit: 10\r\n };\r\n this.setState({ gridLoading: true });\r\n this.props.W39F1020Actions.getGrid(param, (error, data) => {\r\n if (error) {\r\n Config.popup.show(\"ERROR\", error);\r\n return false;\r\n }\r\n this.setState({ gridLoading: false });\r\n data = data && data.rows ? data.rows : data ;\r\n if(data && data.length > 0) {\r\n data = data[0];\r\n this.loadDetail(data.EvaluationVoucherID);\r\n this.setState({\r\n modeEdit : true,\r\n\r\n formData: {\r\n ...this.state.formData,\r\n VoucherDate: moment.utc(data.VoucherDate).format(\"YYYY-MM-DD\"),\r\n PerformancePeriod: data.PerformancePeriod,\r\n PerformanceDateFrom: data.PerformanceDateFrom,\r\n PerformanceDateTo: data.PerformanceDateTo,\r\n TransTypeID: data.TransTypeID,\r\n StatusID: data.StatusID,\r\n Note: data.Note,\r\n }\r\n }, () => {\r\n browserHistory.push({\r\n pathname: Config.getRootPath() + \"W39F1025\",\r\n state: {\r\n mode: \"edit\",\r\n ...data\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.iPermission <= 0) return;\r\n\r\n if (!this.getInfo()) return;\r\n const state = this.getInfo();\r\n this.loadCboAppStatus();\r\n this.loadEvaluationType();\r\n if (state.isNotify) {\r\n const {voucher_id} = state;\r\n this.loadDataGridW39F1020(voucher_id);\r\n } else {\r\n if(state && state.mode === \"edit\" && Number(state.StatusID) < 2) {\r\n this.loadDetail();\r\n this.setState({\r\n modeEdit : true,\r\n\r\n formData: {\r\n ...this.state.formData,\r\n VoucherDate: moment.utc(state.VoucherDate).format(\"YYYY-MM-DD\"),\r\n PerformancePeriod: state.PerformancePeriod,\r\n PerformanceDateFrom: state.PerformanceDateFrom,\r\n PerformanceDateTo: state.PerformanceDateTo,\r\n TransTypeID: state.TransTypeID,\r\n StatusID: state.StatusID,\r\n Note: state.Note,\r\n }\r\n });\r\n }\r\n }\r\n };\r\n\r\n componentDidUpdate (prevProps, prevState, snapshot) {\r\n const state = this.getInfo();\r\n if (state.isNotify && state.voucher_id && this.VoucherID !== state.voucher_id) {\r\n this.VoucherID = state.voucher_id;\r\n this.checkNotify();\r\n }\r\n }\r\n\r\n componentWillUnmount () {\r\n this.VoucherID = \"\";\r\n }\r\n\r\n checkNotify = () => {\r\n const state = this.getInfo();\r\n if (state.isNotify && state.voucher_id) {\r\n const {voucher_id} = state;\r\n this.loadDataGridW39F1020(voucher_id);\r\n }\r\n };\r\n\r\n getDepartmentName = (data) => {\r\n if (!data) return \"\";\r\n if (data.DepartmentName) return data.DepartmentName;\r\n const departmentName = Config.language === \"84\" ? data.DepartmentNameU : data.DepartmentName01U;\r\n return departmentName ? departmentName : Config.lang(\"Khong_ten\");\r\n };\r\n\r\n renderItem = (e) => {\r\n let { data } = e.row;\r\n data = {\r\n ...data,\r\n DepartmentName: this.getDepartmentName(data)\r\n };\r\n let date = moment().format(\"DD/MM/YYYY, kk:mm:ss\");\r\n return (\r\n <>\r\n {data.DepartmentName +\" - \"+ data.DepartmentID}\r\n
{date}
\r\n {data && data.DesResult &&
{Config.lang(\"Ket_qua\")}: {data.DesResult || \"\"}
}\r\n \r\n )\r\n };\r\n\r\n redirectScreen = (mode, e = \"\") => {\r\n const state = this.getInfo();\r\n const { iPermission, formData } = this.state;\r\n const {VoucherDate, PerformancePeriod,PerformanceDateFrom, PerformanceDateTo,TransTypeID, StatusID, Note } = formData;\r\n browserHistory.push({\r\n pathname: Config.getRootPath() + \"W39F1030\",\r\n state: {\r\n mode: mode,\r\n EvaluationVoucherID: e.data && e.data.EvaluationVoucherID,\r\n DepartmentID: e.data && e.data.DepartmentID,\r\n DepartmentName: e.data && e.data.DepartmentName,\r\n TransID: e.data && e.data.TransID,\r\n CreateDate: e.data && e.data.CreateDate,\r\n FormID: \"W39F1025\",\r\n StatusID: state.StatusID ? state.StatusID : StatusID ,\r\n TransTypeName: state.TransTypeName ? state.TransTypeName : \"\" ,\r\n iPermission: String(iPermission),\r\n TransTypeID: state.TransTypeID ? state.TransTypeID : TransTypeID,\r\n PerformanceDateFrom: state.PerformanceDateFrom ? state.PerformanceDateFrom : moment(PerformanceDateFrom).format(\"YYYY-MM-DD\"),\r\n PerformancePeriod: state.PerformancePeriod ? state.PerformancePeriod : PerformancePeriod,\r\n PerformanceDateTo: state.PerformanceDateTo ? state.PerformanceDateTo : moment(PerformanceDateTo).format(\"YYYY-MM-DD\") ,\r\n VoucherDate: state.VoucherDate ? state.VoucherDate : VoucherDate,\r\n Note: state.Note ? state.Note : Note\r\n }\r\n });\r\n };\r\n\r\n showPopupEdit = (e) => {\r\n const { data } = e.row;\r\n this.setState({\r\n rowData: data,\r\n showW39F1031Popup: true\r\n });\r\n };\r\n\r\n chooseRoom = () => {\r\n this.setState({\r\n showW09F6500Popup: true\r\n })\r\n };\r\n\r\n\r\n onChosen = (data) => {\r\n const {dataGrid} = this.state;\r\n const listDepartmentIDs = dataGrid.map(d => d.DepartmentID);\r\n const dataNew = data.filter(dn => listDepartmentIDs.indexOf(dn.DepartmentID) < 0);\r\n this.setState({\r\n dataGrid: dataGrid.concat(dataNew),\r\n showW09F6500Popup: false\r\n });\r\n };\r\n\r\n onDelete = (e) => {\r\n const { data} = e.row;\r\n\r\n this.setState((prevState) => ({\r\n dataGrid: prevState.dataGrid && prevState.dataGrid.filter(d => d.DepartmentID !== data.DepartmentID)\r\n }));\r\n };\r\n\r\n onShowPageDetail = (e) => {\r\n let mode = e.data.IsEvaluation === 0 ? \"add\" : \"edit\";\r\n this.redirectScreen(mode, e);\r\n };\r\n renderAction = (e) => {\r\n const { mode, StatusID, CreateUserID } = this.getInfo();\r\n const { data } = e.row;\r\n let checkKeyObject = data.hasOwnProperty('TransID');\r\n const color = Number(data.IsDepartment) === 1 ? \"#000000\" : (Number(data.IsDepartment) === 3 ? \"#FF3D71\" : \"#2B78E4\");\r\n return (\r\n
\r\n\r\n {Number(data.IsDepartment) !== 0 && checkKeyObject === true && mode=== \"edit\" &&\r\n this.showPopupEdit(e)}>\r\n \r\n \r\n }\r\n {checkKeyObject === true &&\r\n <>\r\n this.onShowPageDetail(e)}>\r\n \r\n \r\n\r\n \r\n }\r\n this.onDelete(e)}>\r\n \r\n \r\n
\r\n );\r\n };\r\n\r\n onBack = () => {\r\n browserHistory.push(Config.getRootPath() + \"W39F1020\");\r\n };\r\n\r\n onCloseModal = () => {\r\n this.setState({\r\n showW39F1031Popup: false\r\n });\r\n this.loadDetail();\r\n };\r\n closePopup = () => {\r\n this.isRenderModalW09F6500 = false;\r\n this.setState({\r\n showW09F6500Popup: false\r\n })\r\n };\r\n\r\n render() {\r\n const { iPermission } = this.state;\r\n if (!this.getInfo(true)) return null;\r\n const { StatusID, mode, CreateUserID } = this.getInfo();\r\n const {\r\n getCboAppStatus,\r\n getEvaluationType,\r\n } = this.props;\r\n\r\n let { formData, modeEdit, dataGrid, loadingDataGrid, error, showW39F1031Popup, rowData, showW09F6500Popup, disableSave } = this.state;\r\n const { TransTypeID, VoucherDate, PerformancePeriod, PerformanceDateFrom, PerformanceDateTo , Note } = formData;\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 1)}\r\n onClick={this.chooseRoom} />\r\n 1))}\r\n style={{ textTransform: 'uppercase' }}\r\n size={\"large\"}\r\n onClick={this.onSave} />\r\n \r\n \r\n
\r\n \r\n {Config.lang(\"Thong_tin_chung\")}\r\n \r\n
\r\n \r\n \r\n this.handleChange(\"TransTypeID\", e)}\r\n value={TransTypeID}\r\n />\r\n \r\n \r\n \r\n \r\n this.handleChange(\"VoucherDate\", e)}\r\n />\r\n \r\n \r\n this.handleChange(\"StatusID\", e)}\r\n value={Number(StatusID)}\r\n />\r\n \r\n \r\n \r\n \r\n {Config.lang(\"So_thang\")}\r\n \r\n \r\n \r\n this.handleChange('PerformancePeriod', e)}\r\n margin={\"normal\"}\r\n multiline\r\n fullWidth\r\n />\r\n \r\n \r\n this.handleChange(\"PerformanceDateFrom\", e)}\r\n />\r\n \r\n \r\n this.handleChange(\"PerformanceDateTo\", e)}\r\n />\r\n \r\n\r\n \r\n \r\n \r\n this.handleChange('Note', e)}\r\n margin={\"normal\"}\r\n multiline\r\n fullWidth\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n {Config.lang(\"Danh_sach_phong_ban\")}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n }\r\n}\r\n\r\nexport default compose(\r\n connect(\r\n state => ({\r\n getCboAppStatus: state.general.getCboAppStatus,\r\n getEvaluationType: state.W39F1025.getEvaluationType,\r\n getDetail: state.W39F1025.getDetail,\r\n }),\r\n dispatch => ({\r\n generalActions: bindActionCreators(generalActions, dispatch),\r\n W39F1020Actions: bindActionCreators(W39F1020Actions, dispatch),\r\n W39F1025Actions: bindActionCreators(W39F1025Actions, dispatch)\r\n })\r\n ),\r\n withStyles(styles, {withTheme: true})\r\n)(W39F1025);","/**\r\n * @copyright 2020 @ DigiNet\r\n * @author CanhToan\r\n * @create 06/30/2020\r\n * @update 06/30/2020\r\n * @Example\r\n */\r\n\r\nimport React from \"react\";\r\nimport { bindActionCreators, compose } from \"redux\";\r\nimport { connect } from \"react-redux\";\r\nimport * as generalActions from \"../../../../redux/general/general_actions\";\r\nimport Config from \"../../../../config\";\r\nimport { Col, DateRangePicker, Dropdown } from \"diginet-core-ui/components\";\r\nimport { browserHistory } from \"react-router\";\r\n\r\nimport * as w39F1000Actions from \"../../../../redux/W3X/W39F1000/W39F1000_actions\";\r\nimport ListApproval from \"../../../common/list-approval\";\r\n\r\nclass W39F1000 extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n dataGrid: null,\r\n };\r\n }\r\n onAdd = () => {\r\n browserHistory.push({\r\n pathname: Config.getRootPath() + \"W39F1005\",\r\n state: { mode: \"add\" },\r\n });\r\n };\r\n\r\n onView = e => {\r\n const { data } = e.row;\r\n browserHistory.push({\r\n pathname: Config.getRootPath() + \"W39F1005\",\r\n state: { mode: data.AppStatusID ? \"view\" : \"edit\", data: data },\r\n });\r\n };\r\n\r\n onDelete = (param, cb) => {\r\n const params = {\r\n FormID: param.FormID,\r\n TransID: param.EvaluationVoucherID,\r\n Mode: 0,\r\n };\r\n return this.props.w39F1000Actions.deleteDataGrid(params, cb);\r\n };\r\n\r\n renderFilter = (dataFilter, filterChange) => {\r\n const { getCboAppStatus } = this.props;\r\n return (\r\n <>\r\n \r\n filterChange(\"PerformanceDate\", e, \"Date\")}\r\n clearAble\r\n placeholder={\"DD/MM/YYYY\"}\r\n returnFormat={\"YYYY-MM-DD\"}\r\n controls\r\n defaultValue={[dataFilter.PerformanceDateFrom, dataFilter.PerformanceDateTo]}\r\n />\r\n \r\n \r\n filterChange(\"AppStatusID\", e)}\r\n clearAble\r\n defaultValue={dataFilter.AppStatusID === \"%\" ? \"\" : dataFilter.AppStatusID}\r\n />\r\n \r\n \r\n );\r\n };\r\n\r\n componentDidUpdate(prevProps, prevState, snapshot) {\r\n const { dataGrid } = this.state;\r\n Config.callChildForm(\r\n {\r\n FormID: \"W39F1000\",\r\n // ID: voucher_id,\r\n keyExpr: \"EvaluationVoucherID\",\r\n data: dataGrid && dataGrid.rows ? dataGrid.rows : [],\r\n onLoad: params => this.gridRef?.loadGrid({ VoucherID: params && params.ID }),\r\n onAction: (e, data) => this.onView({ row: { data: data } }),\r\n },\r\n this.props\r\n );\r\n }\r\n\r\n getInfo = () => {\r\n const { location } = this.props;\r\n const url = new window.URLSearchParams(window.location.search);\r\n if (url && url.get(\"voucher_id\")) {\r\n return { VoucherID: url.get(\"voucher_id\") };\r\n } else if (location && location.state) {\r\n return {\r\n VoucherID: location.state.voucher_id,\r\n };\r\n } else {\r\n return {};\r\n }\r\n };\r\n\r\n render() {\r\n return (\r\n {\r\n const params = {\r\n ...param,\r\n TransID: param.VoucherID || \"\",\r\n DivisionID: Config.getDivisionID(),\r\n TranMonth: Config.getHRTransMonth(),\r\n TranYear: Config.getHRTransYear(),\r\n AppStatusID: Number.isInteger(param.AppStatusID) ? param.AppStatusID.toString() : \"%\",\r\n };\r\n return this.props.w39F1000Actions.loadDataGrid(params, (err, data) => {\r\n cb && cb(err, data);\r\n });\r\n },\r\n loadStatus: this.props.generalActions.getCboAppStatus,\r\n }}\r\n renderInfo={{\r\n [Config.lang(\"Loai_danh_gia\")]: \"TransTypeName\",\r\n [Config.lang(\"Chu_ky\")]: \"PerformancePeriod\",\r\n [Config.lang(\"Ghi_chu\")]: \"Note\",\r\n }}\r\n onLoadedGrid={dataGrid => {\r\n this.setState({ dataGrid: dataGrid });\r\n }}\r\n renderAction={() => {\r\n return {\r\n View: {\r\n action: this.onView,\r\n },\r\n Delete: {\r\n action: this.onDelete,\r\n },\r\n };\r\n }}\r\n onDbCellClick={this.onView}\r\n />\r\n );\r\n }\r\n}\r\n\r\nexport default compose(\r\n connect(\r\n state => ({\r\n getCboAppStatus: state.general.getCboAppStatus,\r\n }),\r\n dispatch => ({\r\n generalActions: bindActionCreators(generalActions, dispatch),\r\n w39F1000Actions: bindActionCreators(w39F1000Actions, dispatch),\r\n })\r\n )\r\n)(W39F1000);\r\n","/**\r\n * @copyright 2020 @ DigiNet\r\n * @author CanhToan\r\n * @create 06/07/2020\r\n * @Example\r\n */\r\nimport React, {useMemo, useRef, useState, useEffect} from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport * as w39f1005Actions from \"../../../../redux/W3X/W39F1005/W39F1005_actions\";\r\nimport * as generalActions from \"../../../../redux/general/general_actions\";\r\nimport { bindActionCreators, compose } from \"redux\";\r\nimport Config from \"../../../../config\";\r\nimport { Row, Col, FormGroup } from \"react-bootstrap\"\r\nimport UserImage from \"../../../common/user/user-image\";\r\nimport withStyles from \"@material-ui/core/styles/withStyles\";\r\nimport {MForm} from \"../../../common/form-material\";\r\nimport ActionToolbar from \"../../../common/toolbar/action-toolbar\";\r\nimport moment from \"moment\";\r\nimport W09F6000 from \"../../../W0X/W09/W09F6000/W09F6000\";\r\nimport { browserHistory } from \"react-router\";\r\nimport {\r\n ButtonIcon,\r\n Button,\r\n Dropdown,\r\n TextInput,\r\n NumberInput,\r\n DatePicker,\r\n Typography,\r\n Accordion,\r\n AccordionDetails,\r\n AccordionSummary\r\n} from \"diginet-core-ui/components\";\r\nimport Icon from \"diginet-core-ui/icons\";\r\nimport _ from \"lodash\";\r\n\r\nconst arrStar = new Map([\r\n [0, 'StarOutline'],\r\n [0.5, 'StarHalf'],\r\n [1, 'Star'],\r\n]);\r\n\r\nconst arrStatus = () => [\r\n {id: 0, name: Config.lang(\"Chua_danh_gia\")},\r\n {id: 1, name: Config.lang(\"Dang_thuc_hien\")},\r\n {id: 2, name: Config.lang(\"Hoan_thanh\")}\r\n];\r\n\r\nconst initCurrent = 50;\r\n\r\nconst styles = {\r\n iconButton: {\r\n width: 30,\r\n height: 30,\r\n position: \"absolute\",\r\n left: \"1rem\",\r\n top: 0\r\n },\r\n divAvatar: {\r\n width: 32,\r\n height: 32,\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: 'blue' //\"rgb(29, 76, 114)\"\r\n },\r\n divIDText: {\r\n fontSize: \"12px\",\r\n fontWeight: 400,\r\n },\r\n divDateText: {\r\n fontSize: \"14px\",\r\n fontWeight: 400,\r\n color: \"#000000\"\r\n },\r\n justifyContentCenter: {\r\n display: 'flex',\r\n justifyContent: 'center!important',\r\n alignItems: 'center!important'\r\n },\r\n dataDetail: {\r\n height: '100%',\r\n maxHeight: 450,\r\n overflowY: 'auto'\r\n }\r\n};\r\nclass W39F1005 extends React.PureComponent {\r\n constructor(props) {\r\n super(props);\r\n if (!this.getInfo()) return;\r\n this.state = {\r\n isPermission: {},\r\n isSaving: false,\r\n isSaved: false,\r\n isUpdated: false,\r\n disabled: false,\r\n showEmployeeSelect: false,\r\n evaluationDataDetails: [],\r\n evaluationDeleted: [],\r\n dataCboProjects: {\r\n rows: [],\r\n total: 0\r\n },\r\n dataCboTransType: [],\r\n TransTypeID: \"\",\r\n DutyID: [],\r\n ProjectID: \"\",\r\n PerformancePeriod: \"\",\r\n PerformanceDateTo: \"\",\r\n PerformanceDateFrom: \"\",\r\n StatusID: 0,\r\n Note: \"\",\r\n\r\n error: {\r\n TransTypeID: \"\",\r\n ProjectID: \"\",\r\n PerformancePeriod: \"\",\r\n PerformanceDateTo: \"\",\r\n PerformanceDateFrom: \"\",\r\n StatusID: \"\"\r\n },\r\n\r\n gridLoading: false,\r\n transTypeLoading: false,\r\n projectLoading: false,\r\n dataDefaults: {},\r\n current:initCurrent,\r\n };\r\n this.isRenderModalW09F6000 = false;\r\n this.filter = {\r\n limit: 10,\r\n skip: 0\r\n };\r\n this.filterCboProjects = {\r\n timer: null,\r\n skip: 0,\r\n limit: 20,\r\n strSearch: \"\"\r\n };\r\n }\r\n\r\n async loadPermission() {\r\n await this.props.generalActions.getPermission([\"W39F1000\", \"W39F1006\"], (arrPer) => {\r\n if (arrPer !== 0) {\r\n let isPermission = {};\r\n arrPer.forEach(per => {\r\n if (per.hasOwnProperty('FormID') && per.hasOwnProperty('IsPermission')) {\r\n isPermission[per.FormID] = per.IsPermission;\r\n }\r\n });\r\n this.setState({isPermission: isPermission});\r\n }\r\n });\r\n };\r\n\r\n loadCboProjects = (isReset) => {\r\n const params = {\r\n HostID: \"\",\r\n FormID: \"W39F1005\",\r\n Language: Config.language || \"84\",\r\n skip: this.filterCboProjects.skip,\r\n limit: this.filterCboProjects.limit,\r\n search: this.filterCboProjects.strSearch\r\n };\r\n this.setState({projectLoading: true});\r\n this.props.generalActions.getCboProjects(params, (errors, data) => {\r\n this.setState({projectLoading: false});\r\n if (errors) {\r\n let message = errors.message || Config.lang(\"Loi_chua_xac_dinh\");\r\n Config.popup.show('INFO', message);\r\n return false;\r\n }\r\n if (data) {\r\n const {dataCboProjects} = 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 dataCboProjects: {\r\n rows: isReset ? rows : _.concat(dataCboProjects.rows,rows),\r\n total: total\r\n }\r\n });\r\n }\r\n });\r\n };\r\n\r\n loadCboAppStatus = () => {\r\n const param = {\r\n FormID: \"W39F1000\",\r\n Language: Config.language || 84\r\n };\r\n\r\n this.props.generalActions.getCboAppStatus(param, 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 loadCboTransType = () => {\r\n const params = {\r\n TranMonth: Config.getHRTransMonth(),\r\n TranYear: Config.getHRTransYear(),\r\n FormID: 'W39F1005',\r\n };\r\n this.setState({transTypeLoading: true});\r\n this.props.w39f1005Actions.loadCboTransType(params, (errors, data) => {\r\n this.setState({transTypeLoading: false});\r\n if (errors) {\r\n let message = errors.message || Config.lang(\"Loi_chua_xac_dinh\");\r\n Config.popup.show('INFO', message);\r\n return false;\r\n }\r\n if (data) {\r\n this.setState({dataCboTransType: data})\r\n }\r\n });\r\n };\r\n\r\n loadMaster = () => {\r\n const {data} = this.getInfo();\r\n this.setState({\r\n ProjectID: data?.ProjectID || \"\",\r\n TransTypeID: data?.TransTypeID || \"\",\r\n DutyID: data.DutyID || [],\r\n PerformancePeriod: data.PerformancePeriod ? data.PerformancePeriod : '',\r\n PerformanceDateFrom: data.PerformanceDateFrom ? moment(data.PerformanceDateFrom, 'DDMMYYYY').format(\"YYYY-MM-DD\") : '',\r\n PerformanceDateTo: data.PerformanceDateTo ? moment(data.PerformanceDateTo, 'DDMMYYYY').format(\"YYYY-MM-DD\") : '',\r\n StatusID: +data.StatusID,\r\n Note: data.Note\r\n }, () => {\r\n this.loadDetail(data.EvaluationVoucherID);\r\n });\r\n };\r\n\r\n loadDetail = (EvaluationVoucherID) => {\r\n if (!EvaluationVoucherID) return;\r\n const params = {\r\n EvaluationVoucherID: EvaluationVoucherID\r\n };\r\n this.setState({ gridLoading: true });\r\n this.props.w39f1005Actions.loadDetail(params, (errors, dataDetail) => {\r\n this.setState({gridLoading: false});\r\n if (errors) {\r\n let message = errors.message || Config.lang(\"Loi_chua_xac_dinh\");\r\n Config.popup.show('INFO', message);\r\n return false;\r\n }\r\n this.setState({\r\n evaluationDataDetails: dataDetail || [],\r\n });\r\n });\r\n };\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: this.state?.isSaved ? 'edit' : location.state.mode,\r\n data: location.state.data ? location.state.data : null\r\n }\r\n } else {\r\n if (flag) {\r\n browserHistory.push(Config.getRootPath() + \"W39F1000\");\r\n return null;\r\n }\r\n return false;\r\n }\r\n };\r\n\r\n componentDidMount = async () => {\r\n if (!this.getInfo()) return;\r\n await this.loadPermission();\r\n if (this.state.isPermission[\"W39F1000\"] <= 0) return;\r\n const { mode, data } = this.getInfo();\r\n this.loadCboProjects();\r\n this.loadCboAppStatus();\r\n this.loadCboTransType();\r\n if (mode && mode !== 'add') {\r\n this.loadMaster();\r\n if (mode === \"view\" && data.AppStatusID !== 0) {\r\n this.setState({ disabled: true });\r\n }\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 handleChange = (key, e) => {\r\n if (!key) return false;\r\n if (!this.state.isUpdated) {\r\n this.setState({isUpdated: true})\r\n }\r\n switch (key) {\r\n case \"ProjectID\":\r\n this.setState({ProjectID: e.value}, () => {\r\n if(this.state.TransTypeID) this.loadSelectedEmployees(2);\r\n });\r\n break;\r\n case \"TransTypeID\": {\r\n this.setState({\r\n TransTypeID: e.value,\r\n DutyID: e.value.DutyID\r\n }, () => {\r\n this.loadSelectedEmployees(2);\r\n });\r\n this.updateTransTime(\"TransTypeID\", e?.data || null)\r\n break;\r\n }\r\n case \"PerformancePeriod\": {\r\n const value = e.target.value;\r\n if ((+value && value.includes('.') !== true) || value === '') {\r\n if (+value < 10000) {\r\n this.setState({\r\n PerformancePeriod: value\r\n }, () => {\r\n // If value === '' then it will not updateTransTime\r\n if (+value) {\r\n setTimeout(() => {\r\n this.updateTransTime('PerformancePeriod', value);\r\n }, 0);\r\n }\r\n })\r\n } else {\r\n Config.popup.show('INFO', Config.lang('So_thang_khong_duoc_qua_lon'));\r\n }\r\n }\r\n break;\r\n }\r\n case \"PerformanceDateFrom\": {\r\n this.setState({\r\n PerformanceDateFrom: e.value\r\n }, () => {\r\n setTimeout(() => {\r\n this.updateTransTime('PerformanceDateFrom', e.value);\r\n }, 0);\r\n });\r\n break;\r\n }\r\n case \"PerformanceDateTo\": {\r\n this.setState({\r\n PerformanceDateTo: e.value\r\n }, () => {\r\n setTimeout(() => {\r\n this.updateTransTime('PerformanceDateTo', e.value);\r\n }, 0);\r\n });\r\n break;\r\n }\r\n case 'StatusID': {\r\n this.setState({\r\n StatusID: e.value\r\n });\r\n break;\r\n }\r\n case \"Note\": {\r\n const value = e.target.value;\r\n setTimeout(() => {\r\n this.setState({\r\n Note: value\r\n })\r\n }, 0);\r\n break;\r\n }\r\n default:\r\n break;\r\n }\r\n };\r\n\r\n updateTransTime = (key, data = {}) => {\r\n if (data) {\r\n let { PerformancePeriod, PerformanceDateFrom, PerformanceDateTo } = this.state;\r\n switch (key) {\r\n case 'PerformancePeriod': {\r\n if (PerformanceDateFrom) {\r\n // Update PerformanceDateTo: To = From + NumMonths + 1 (day)\r\n PerformanceDateTo = moment(PerformanceDateFrom).add(data, 'months').subtract(1, 'day').format('YYYY-MM-DD');\r\n this.setState({\r\n PerformanceDateTo\r\n });\r\n } else if (PerformanceDateTo) {\r\n // Update PerformanceDateFrom: From = To - NumMonths + 1 (day)\r\n PerformanceDateFrom = moment(PerformanceDateTo).subtract(data, 'months').add(1, 'day').format('YYYY-MM-DD');\r\n this.setState({\r\n PerformanceDateFrom\r\n });\r\n }\r\n break;\r\n }\r\n case 'PerformanceDateFrom':\r\n if (PerformancePeriod) {\r\n // Update PerformanceDateTo: To = From + NumMonths + 1 (day)\r\n PerformanceDateTo = moment(data).add(PerformancePeriod, 'months').subtract(1, 'day').format('YYYY-MM-DD');\r\n this.setState({\r\n PerformanceDateTo\r\n });\r\n } else if (PerformanceDateTo) {\r\n // Update PerformancePeriod: NumMonths = [To + 1 (day)] - From\r\n PerformancePeriod = moment(PerformanceDateTo).add(1, 'day').diff(data, 'months');\r\n this.setState({\r\n PerformancePeriod\r\n });\r\n }\r\n break;\r\n case 'PerformanceDateTo': {\r\n PerformanceDateTo = moment(data);\r\n if (PerformanceDateFrom) {\r\n // Update PerformancePeriod: NumMonths = [To + 1 (day)] - From\r\n PerformancePeriod = PerformanceDateTo.add(1, 'day').diff(PerformanceDateFrom, 'months');\r\n this.setState({\r\n PerformancePeriod\r\n });\r\n } else if (PerformancePeriod) {\r\n // Update PerformanceDateFrom: From = To - NumMonths + 1 (day)\r\n PerformanceDateFrom = PerformanceDateTo.subtract(PerformancePeriod, 'months').add(1, 'day').format('YYYY-MM-DD');\r\n this.setState({\r\n PerformanceDateFrom\r\n });\r\n }\r\n break;\r\n }\r\n default: {\r\n this.setState({\r\n PerformancePeriod: data.PerformancePeriod || '',\r\n PerformanceDateTo: moment(data.PerformanceDateTo).format('YYYY-MM-DD') || '',\r\n PerformanceDateFrom: moment(data.PerformanceDateFrom).format('YYYY-MM-DD') || ''\r\n });\r\n break;\r\n }\r\n }\r\n }\r\n };\r\n\r\n openEmployeeSelect = () => {\r\n const {DutyID, ProjectID, evaluationDataDetails} = this.state;\r\n const dataSelected = evaluationDataDetails.map(rs => {\r\n const user = Config.getUser({EmployeeID: rs.EmployeeID});\r\n return {...rs, ...user}\r\n });\r\n this.setState({\r\n dataDefaults: {\r\n DutyID: DutyID,\r\n ProjectID: !!ProjectID ? [ProjectID] : \"\",\r\n dataSelected: dataSelected,\r\n selectedRowKeys: evaluationDataDetails.map(e => e.EmployeeID),\r\n isLoaded: true\r\n },\r\n showEmployeeSelect: true\r\n });\r\n };\r\n\r\n closeEmployeeSelect = () => {\r\n this.setState({ showEmployeeSelect: false, dataDefaults: null });\r\n };\r\n\r\n onSelectedEmployee = (EmployeeIDs, EmployeesData) => {\r\n const { evaluationDataDetails, evaluationDeleted } = this.state;\r\n const dataTemp = [...evaluationDataDetails];\r\n const disabledEmployee = dataTemp.filter(i=>!!i.IsMultiLevel && !!i.IsEvaluation);\r\n EmployeesData = EmployeesData.map(i=>{\r\n\r\n // BA yêu cầu mặc định IsAppStatus:0, IsEvaluation: 0 sau khi chọn Employee mới\r\n let item = {...i, IsAppStatus:0, IsEvaluation: 0};\r\n\r\n // check item is exist\r\n const exits = evaluationDataDetails.find(j=>j.EmployeeID === i.EmployeeID);\r\n\r\n // if item is exist and isNew then keep isNew\r\n if(exits?.IsNew) item.IsNew = exits?.IsNew;\r\n\r\n // if item is doesn't exist then set isNew\r\n if(!exits){\r\n item.IsNew = 1;\r\n delete item.DepartmentName;\r\n }\r\n return item;\r\n });\r\n // Không được xoá Employee có \"button Delete is disabled\"\r\n disabledEmployee.forEach(i=>{\r\n const idx = EmployeesData.findIndex(j=>j.EmployeeID === i.EmployeeID);\r\n if(idx === -1){\r\n EmployeesData.push(i);\r\n }\r\n else{\r\n EmployeesData[idx]=i;\r\n }\r\n });\r\n const evaluationDeletedTemp = [...evaluationDeleted];\r\n dataTemp.forEach(i=>{\r\n if(!EmployeesData.find(j=>j.EmployeeID === i.EmployeeID)){\r\n evaluationDeletedTemp.push(i);\r\n }\r\n });\r\n\r\n this.setState({evaluationDataDetails: EmployeesData, evaluationDeleted: evaluationDeletedTemp, isUpdated: true, gridLoading: true},()=>{\r\n return this.closeEmployeeSelect();\r\n });\r\n this.closeEmployeeSelect();\r\n };\r\n\r\n loadSelectedEmployees = (mode) => {\r\n const {TransTypeID, ProjectID} = this.state;\r\n const params = {\r\n EvaluationVoucherID: \"\",\r\n FormID: \"W39F1000\",\r\n Mode: mode,\r\n TransTypeID,\r\n ProjectID\r\n };\r\n this.setState({gridLoading: true});\r\n this.props.w39f1005Actions.loadDetail(params, (errors, data) => {\r\n this.setState({gridLoading: false});\r\n if (errors) {\r\n let message = errors.message || Config.lang(\"Loi_chua_xac_dinh\");\r\n Config.popup.show('INFO', message);\r\n return false;\r\n }\r\n if (data) {\r\n const selectedEmployees = [...this.state.evaluationDataDetails];\r\n const listEmployees = selectedEmployees.map((e) => {\r\n return e.EmployeeID;\r\n });\r\n if(mode === 1) {\r\n if(data && data.length > 0) {\r\n data.forEach((e) => {\r\n if (listEmployees.indexOf(e.EmployeeID) < 0) {\r\n e.IsNew = 1;\r\n selectedEmployees.unshift(e);\r\n }\r\n });\r\n }\r\n }\r\n if(mode === 2) {\r\n if(data && data.length > 0) {\r\n data.forEach((e) => {\r\n e.IsNew = 1;\r\n });\r\n }\r\n\r\n }\r\n this.setState({\r\n evaluationDataDetails: mode === 2 ? data : selectedEmployees\r\n });\r\n }\r\n });\r\n };\r\n\r\n onSave = () => {\r\n const {mode} = this.getInfo();\r\n const {TransTypeID, StatusID, PerformancePeriod, PerformanceDateFrom} = this.state;\r\n\r\n //validate form...\r\n const validateRules = [\r\n {\r\n name: \"StatusID\",\r\n rules: \"isRequired\",\r\n value: StatusID\r\n }\r\n ];\r\n if (mode === 'add') {\r\n validateRules.push(...[\r\n {\r\n name: \"TransTypeID\",\r\n rules: \"isRequired\",\r\n value: TransTypeID\r\n },\r\n {\r\n name: \"PerformancePeriod\",\r\n rules: \"isRequired\",\r\n value: PerformancePeriod\r\n },\r\n {\r\n name: \"PerformanceDateFrom\",\r\n rules: \"isRequired\",\r\n value: PerformanceDateFrom\r\n }\r\n ]);\r\n }\r\n const validateForm = MForm.formValidation(validateRules);\r\n if (Object.keys(validateForm).length !== 0) { //Neu co loi validate\r\n this.setStateErrorText(validateForm);\r\n return false;\r\n } else {\r\n Config.popup.show('YES_NO', Config.lang(\"Ban_co_chac_muon_luu_khong?\"), () => {\r\n this._saveData();\r\n });\r\n }\r\n };\r\n\r\n _saveData = () => {\r\n //const dataSource = data ? data : this.dataGrid.instance.option('dataSource');\r\n const {\r\n TransTypeID,\r\n ProjectID,\r\n evaluationDeleted,\r\n evaluationDataDetails,\r\n PerformancePeriod,\r\n PerformanceDateTo,\r\n PerformanceDateFrom,\r\n StatusID,\r\n Note\r\n } = this.state;\r\n const {mode, data} = this.getInfo();\r\n this.setState({isSaving: true, loading: true}); //set status..\r\n\r\n const dataEmployee = [];\r\n evaluationDataDetails.forEach(e => {\r\n if (e.IsEvaluation === 0 && e.IsNew) {\r\n dataEmployee.push({\r\n EmployeeID: e.EmployeeID,\r\n IsEvaluation: e.IsEvaluation,\r\n IsAppStatus: e.IsAppStatus,\r\n TransID: e.TransID,\r\n VoucherDate: e.VoucherDate,\r\n Deleted: e.Deleted || 0,\r\n });\r\n }\r\n });\r\n\r\n if (evaluationDeleted.length) {\r\n evaluationDeleted.forEach(e => {\r\n dataEmployee.push({\r\n ...e,\r\n Deleted: 1\r\n })\r\n })\r\n }\r\n\r\n const params = {\r\n FormID: \"W39F1005\",\r\n TranMonth: Config.getHRTransMonth(),\r\n TranYear: Config.getHRTransYear(),\r\n DivisionID: Config.getDivisionID(),\r\n NoteU: Note || \"\",\r\n TransTypeID,\r\n PerformancePeriod: PerformancePeriod || 0,\r\n PerformanceDateFrom: PerformanceDateFrom || '',\r\n PerformanceDateTo: PerformanceDateTo || '',\r\n ProjectID,\r\n StatusID: StatusID || 0,\r\n Language: Config.language || \"84\",\r\n data: JSON.stringify(dataEmployee)\r\n };\r\n if (mode === 'edit') {\r\n params[\"EvaluationVoucherID\"] = data?.EvaluationVoucherID || this.state.isSaved || \"\";\r\n }\r\n this.props.w39f1005Actions[mode](params, (errors, dataDetail) => {\r\n if (errors) {\r\n let message = errors.message || Config.lang(\"Loi_chua_xac_dinh\");\r\n Config.popup.show('INFO', message);\r\n this.setState({ isSaving: false, loading: false });\r\n return false;\r\n }\r\n if (dataDetail) {\r\n const { isSaved } = this.state;\r\n const EvaluationVoucherID = isSaved ? isSaved : mode === 'add' ? dataDetail.EvaluationVoucherID : data.EvaluationVoucherID;\r\n this.setState({\r\n isSaving: false,\r\n loading: false,\r\n disabled: true,\r\n isSaved: EvaluationVoucherID,\r\n isUpdated: false,\r\n gridLoading: true,\r\n evaluationDeleted: []\r\n });\r\n Config.notify.show('success', Config.lang(\"Luu_thanh_cong\"), 2000);\r\n // ReLoadDetal\r\n\r\n const dataT = params;\r\n dataT.PerformanceDateFrom = moment(dataT.PerformanceDateFrom, 'YYYY-MM-DD').format(\"DD/MM/YYYY\");\r\n dataT.PerformanceDateTo = moment(dataT.PerformanceDateTo, 'YYYY-MM-DD').format(\"DD/MM/YYYY\");\r\n dataT.EvaluationVoucherID = EvaluationVoucherID;\r\n if(dataT.NoteU) dataT.Note = dataT.NoteU;\r\n\r\n browserHistory.replace({\r\n pathname: Config.getRootPath() + \"W39F1005\",\r\n state: {\r\n mode: \"edit\",\r\n data: dataT,\r\n }\r\n });\r\n\r\n this.loadDetail(EvaluationVoucherID);\r\n\r\n } else {\r\n this.setState({ isSaving: false });\r\n }\r\n });\r\n };\r\n\r\n onBack = () => {\r\n browserHistory.push(Config.getRootPath() + \"W39F1000\");\r\n };\r\n\r\n onDelete = ({index, EmployeeID}) => {\r\n Config.popup.show('YES_NO', Config.lang(\"Ban_co_chac_muon_xoa?\"), () => {\r\n this.props.w39f1005Actions.removeItem(index, error => {\r\n if (error) {\r\n Config.popup.show('INFO', Config.lang(\"Loi_chua_xac_dinh\"));\r\n }\r\n // Remove EmployeeID out EmployeeIDs state\r\n const { evaluationDeleted, evaluationDataDetails } = this.state;\r\n\r\n const newEvaluationDeleted = evaluationDeleted.concat(evaluationDataDetails.filter(e => !e.IsNew && e.EmployeeID === EmployeeID));\r\n\r\n this.setState({\r\n evaluationDeleted: newEvaluationDeleted,\r\n evaluationDataDetails: evaluationDataDetails.filter(e => e.EmployeeID !== EmployeeID),\r\n isUpdated: true\r\n });\r\n });\r\n });\r\n };\r\n\r\n onDetail = e => {\r\n const { mode, data } = this.getInfo();\r\n const {isPermission} = this.state;\r\n if(isPermission[\"W39F1000\"] < 4 || !!data?.IsNew) return;\r\n\r\n browserHistory.push({\r\n pathname: Config.getRootPath() + \"W39F1011\",\r\n state: {\r\n EmployeeID: e.EmployeeID,\r\n TransID: e.TransID,\r\n EvaluationVoucherID: e.EvaluationVoucherID,\r\n FormID: \"W39F1005\",\r\n FormPermission: \"W39F1000\",\r\n IsSave: e.IsSave,\r\n UserLevel: e.UserLevel,\r\n ApproveLevel: e.ApproveLevel,\r\n Mode: 0,\r\n mode: mode,\r\n data: data\r\n }\r\n });\r\n };\r\n\r\n /** Action when click icon Lock or Unlock\r\n * @param data {object}: data one row detail\r\n */\r\n onLock = (data) => {\r\n const params = {\r\n IsLocked: +!data.IsLocked,\r\n EvaluationVoucherID: data.EvaluationVoucherID,\r\n TransTypeID: data.TransTypeID,\r\n TransID: data.TransID,\r\n EmployeeID: data.EmployeeID,\r\n };\r\n\r\n // call api update status lock\r\n this.props.w39f1005Actions.updateLock(params, (err, dataUpdate) => {\r\n if (err) {\r\n let message = err.message || Config.lang(\"Loi_chua_xac_dinh\");\r\n Config.popup.show('INFO', message);\r\n return false;\r\n }\r\n if (dataUpdate?.Status === 1) {\r\n const msg = dataUpdate.Message || Config.lang(\"Loi_chua_xac_dinh\");\r\n Config.popup.show('ERROR', msg);\r\n return false;\r\n } else {\r\n this.loadDetail(data.EvaluationVoucherID);\r\n Config.notify.show('success', Config.lang(\"Cap_nhat_thanh_cong\"), 2000);\r\n }\r\n });\r\n };\r\n\r\n render() {\r\n if (!this.getInfo(true)) return null;\r\n const { mode, data } = this.getInfo();\r\n const { evaluationDataDetails, disabled, loading, error, showEmployeeSelect, isSaving, isUpdated,\r\n dataCboProjects, dataCboTransType, transTypeLoading, projectLoading,\r\n PerformancePeriod, PerformanceDateTo, PerformanceDateFrom, StatusID, dataDefaults, current,\r\n isPermission, TransTypeID, ProjectID } = this.state;\r\n return (\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n {showEmployeeSelect &&\r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n this.handleChange(\"TransTypeID\", e)}\r\n />\r\n \r\n \r\n this.handleChange(\"ProjectID\", e)}\r\n onInput={(e) => {\r\n if (this.filterCboProjects.timer) clearTimeout(this.filterCboProjects.timer);\r\n this.filterCboProjects.strSearch = e.target.value;\r\n this.filterCboProjects.timer = setTimeout(() => {\r\n this.filterCboProjects.skip = 0;\r\n this.filterCboProjects.limit = 20;\r\n this.loadCboProjects(true);\r\n }, 300);\r\n }}\r\n onLoadMore={(e) => {\r\n this.filterCboProjects.skip = e.skip;\r\n this.filterCboProjects.limit = e.limit;\r\n this.loadCboProjects();\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n this.handleChange('PerformancePeriod', e)}\r\n />\r\n \r\n \r\n
\r\n this.handleChange('PerformanceDateFrom', e)}\r\n />\r\n \r\n \r\n
\r\n this.handleChange('PerformanceDateTo', e)}\r\n />\r\n \r\n \r\n \r\n \r\n this.handleChange('StatusID', e)}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n this.handleChange('Note', e)}\r\n fullWidth\r\n multiline\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n 0}>\r\n \r\n \r\n \r\n \r\n )\r\n }\r\n}\r\n\r\nconst ListUser = React.memo((props)=>{\r\n const {\r\n evaluationDataDetails = [],\r\n getInfo,\r\n onDelete,\r\n onLock,\r\n onDetail,\r\n isPermission,\r\n generalActions\r\n } = props;\r\n\r\n const filterCboEmployees = useRef({\r\n strSearch: '',\r\n skip: 0,\r\n limit: 50\r\n });\r\n\r\n const filterListUser = useRef({\r\n Status: null,\r\n EmployeeID: '',\r\n });\r\n\r\n const isLoadGrid = useRef(false);\r\n\r\n const [loadingCboEmployees, setLoadingCboEmployees] = useState(false);\r\n const [dataCboEmployees, setDataCboEmployees] = useState({rows:[]});\r\n const [current, setCurrent] = useState(initCurrent);\r\n\r\n useEffect(()=>{\r\n loadCboEmployees();\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n },[]);\r\n\r\n\r\n const loadCboEmployees = (isReset) => {\r\n const { skip, limit, strSearch } = filterCboEmployees.current;\r\n const params = {\r\n FormID: \"W39F1005\",\r\n Language: Config.language || '84',\r\n skip: skip,\r\n limit: limit,\r\n search: strSearch ? strSearch : ''\r\n };\r\n setLoadingCboEmployees(true);\r\n generalActions.getCboEmployees(params, (error, data) => {\r\n setLoadingCboEmployees(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 rows = data?.rows || [];\r\n const total = data?.total;\r\n setDataCboEmployees({\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 * loadMore data when scroll\r\n * @param e\r\n */\r\n const handleScroll = (e) => {\r\n const {evaluationDataDetails} = props;\r\n if (isLoadGrid.current || current >= evaluationDataDetails?.length) return;\r\n\r\n const { scrollTop, scrollHeight, clientHeight } = e.target;\r\n const bottom = scrollTop && ((scrollHeight - scrollTop) <= clientHeight + 150);\r\n\r\n if (bottom) {\r\n isLoadGrid.current = true;\r\n setCurrent(current+30);\r\n }\r\n };\r\n\r\n const listUser = useMemo(()=>{\r\n return [...evaluationDataDetails]?.filter(i => {\r\n return (filterListUser.current?.EmployeeID ? i.EmployeeID === filterListUser.current?.EmployeeID : true) && ((filterListUser.current?.Status || filterListUser.current?.Status === 0) ? i.IsEvaluation === filterListUser.current?.Status : true);\r\n })\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n },[evaluationDataDetails, current]);\r\n\r\n return(\r\n <>\r\n \r\n {Config.lang(\"Danh_sach_nhan_vien_danh_gia\")} ({listUser.length ?? 0}/{ evaluationDataDetails.length ?? 0})\r\n \r\n \r\n \r\n \r\n {\r\n filterListUser.current['EmployeeID'] = e?.value || null;\r\n }}\r\n dataSource={_.get(dataCboEmployees, \"rows\", [])}\r\n total={_.get(dataCboEmployees, \"total\", 0)}\r\n skip={filterCboEmployees.current.skip}\r\n limit={filterCboEmployees.current.limit}\r\n loading={loadingCboEmployees}\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 {\r\n filterListUser.current['Status'] = e?.value ?? null;\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n
\r\n {listUser?.map((dataDetail, index) => {\r\n if (index >= current) return null;\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n })}\r\n {!listUser.length && {Config.lang(\"Khong_co_du_lieu\")}}\r\n
\r\n
\r\n \r\n )\r\n\r\n});\r\n\r\nconst EmpProfile = React.memo(props => {\r\n const { data, onDetail } = props;\r\n const user = Config.getUser({EmployeeID: data.EmployeeID});\r\n return (\r\n \r\n \r\n
\r\n \r\n {user.EmployeeName}\r\n \r\n {data.EmployeeID ?? ''}\r\n {data.DepartmentName ?? \"\"}\r\n
\r\n \r\n \r\n {data.VoucherDate ?? ''}\r\n \r\n
\r\n
\r\n \r\n );\r\n});\r\n\r\nconst Action = React.memo(props => {\r\n const { data, index, getInfo, onDelete, onLock, onDetail, isPermission } = props;\r\n const { AppStatusID } = getInfo()?.data || {};\r\n const { colors:{info, disabled} } = Config.coreTheme;\r\n\r\n const colorStarIcon = data.IsNew ? Config.coreTheme?.colors?.disabled : 'warning';\r\n\r\n return (\r\n \r\n onDetail(data)}\r\n />\r\n\r\n {Number(data.IsApproved) === 1 &&\r\n \r\n }\r\n\r\n onDelete({index: index, EmployeeID: data.EmployeeID})}\r\n />\r\n\r\n {Number(AppStatusID) === 1 && isPermission[\"W39F1006\"] > 0 &&\r\n onLock(data)}\r\n />\r\n }\r\n \r\n );\r\n});\r\n\r\nexport default compose(connect((state) => ({\r\n getCboAppStatus: state.general.getCboAppStatus,\r\n dataDetail: state.W39F1005.dataDetail,\r\n}), (dispatch) => ({\r\n w39f1005Actions: bindActionCreators(w39f1005Actions, dispatch),\r\n generalActions: bindActionCreators(generalActions, dispatch),\r\n})), withStyles(styles))(W39F1005);\r\n","/**\r\n * @copyright 2019 @ DigiNet\r\n * @author NAMDANG\r\n * @create 6/25/2020\r\n * @Example\r\n */\r\n\r\n\r\nimport React, {Component} from \"react\";\r\nimport validator from 'validator';\r\nimport {connect} from \"react-redux\";\r\nimport {bindActionCreators, compose} from \"redux\";\r\nimport withStyles from \"@material-ui/core/styles/withStyles\";\r\nimport * as generalActions from \"../../../../redux/general/general_actions\";\r\nimport * as W39F1030Actions from \"../../../../redux/W3X/W39f1030/W39F1030_actions\";\r\nimport Config from \"../../../../config\";\r\nimport ActionToolbar from \"../../../common/toolbar/action-toolbar\";\r\nimport {Col, Row, FormGroup} from \"react-bootstrap\";\r\nimport {Combo, TextField} from \"../../../common/form-material\";\r\nimport ButtonGeneral from \"../../../common/button/button-general\";\r\nimport CreateIcon from '@material-ui/icons/Create';\r\nimport {\r\n FormControl,\r\n InputLabel,\r\n Typography,\r\n OutlinedInput\r\n} from \"@material-ui/core\";\r\nimport Attachments from \"../../../common/attachments/attachments\";\r\nimport _ from \"lodash\";\r\nimport NumberFormat from 'react-number-format';\r\nimport {browserHistory} from \"react-router\";\r\nimport moment from 'moment';\r\nconst styles = theme => ({\r\n caption: {\r\n paddingTop: \"7%\",\r\n [theme.breakpoints.down(\"md\")]: {\r\n paddingTop: 0,\r\n },\r\n },\r\n textEvaluation: {\r\n display: \"inline-block\",\r\n color: \"#333333\",\r\n fontSize: \"15px\",\r\n marginTop: \"25px\",\r\n textAlign: \"center\",\r\n }\r\n\r\n});\r\n\r\nclass W39F1030 extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n error: {},\r\n disabled: false,\r\n loadingListAppChildCriterion: false,\r\n dataOldAttachments: [],\r\n uploading: false,\r\n formLoading: false,\r\n formValid: [],\r\n listGroups: [],\r\n dataMaster: {},\r\n isUpdated: false,\r\n NoteEvaluatedLevel1: \"\",\r\n RefEvaluation01U: \"\",\r\n formData : {},\r\n\r\n };\r\n this.attachments = [];\r\n this.deletedFile = [];\r\n this.upload = null;\r\n this.timerInput= null;\r\n this.allowCalculate = false;\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\r\n _getAttachments = () => {\r\n const listAttachments = Config.helpers.getFileInfomations(this.attachments);\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.fileExt ? att.fileExt : \"\"\r\n });\r\n });\r\n if (!_.isEmpty(dataOldAttachments)) {\r\n arrAttachment = dataOldAttachments.concat(arrAttachment);\r\n }\r\n\r\n return arrAttachment;\r\n };\r\n\r\n onAttachment = () => {\r\n if (this.attRef) {\r\n this.attRef.onAttachment();\r\n }\r\n };\r\n\r\n onUploading = value => {\r\n this.setState({ uploading: value,isUpdated: true });\r\n };\r\n\r\n onChangeAttachments = e => {\r\n this.attachments = e.uploadedFiles ? e.uploadedFiles : [];\r\n if (e.deletedFiles && e.deletedFiles.length > 0) {\r\n this.deletedFile = [...e.deletedFiles];\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 this.setState({isUpdated: true});\r\n });\r\n }\r\n };\r\n\r\n loadFormGrid = () => {\r\n const { EvaluationVoucherID,DepartmentID , mode, TransID } = this.getInfo();\r\n const params = {\r\n EvaluationVoucherID: EvaluationVoucherID,\r\n TransID: TransID,\r\n DepartmentID: DepartmentID,\r\n FormID: \"W39F1030\",\r\n Language: Config.language || '84',\r\n Mode: mode && mode === \"add\" ? 0 : 1 ,\r\n };\r\n this.setState({formLoading: true});\r\n this.props.W39F1030Actions.getLoadFormGrid(params, (error,data) => {\r\n this.setState({formLoading: false});\r\n if (error) {\r\n Config.popup.show(\"ERROR\", error);\r\n return false;\r\n }\r\n if(data){\r\n this.setState({\r\n NoteEvaluatedLevel1: data.NoteEvaluatedLevel1,\r\n formData: {\r\n ...this.state.formData,\r\n RefEvaluation01U: data.RefEvaluation01U,\r\n Result: data.Result,\r\n DesResult: data.DesResult\r\n }\r\n });\r\n }\r\n\r\n });\r\n };\r\n\r\n loadListAppChildCriterion = () => {\r\n const { EvaluationVoucherID,DepartmentID , mode } = this.getInfo();\r\n const params = {\r\n EvaluationVoucherID: EvaluationVoucherID,\r\n DepartmentID: DepartmentID,\r\n FormID: \"W39F1030\",\r\n Language: Config.language || '84',\r\n Mode: mode && mode === \"add\" ? 0 : 1 ,\r\n };\r\n this.setLoading('ListAppChildCriterion', true);\r\n this.props.W39F1030Actions.getLoadListAppChildCriterions(params, (error, data) => {\r\n this.setLoading('ListAppChildCriterion', false);\r\n if (error) {\r\n Config.popup.show(\"ERROR\", error);\r\n return false;\r\n }\r\n\r\n let listGroups = [];\r\n const dataMaster = {};\r\n const formData = {};\r\n if (data) {\r\n data.forEach(d => {\r\n if (!listGroups.find(group => group.AppCriterionGroupID === d.AppCriterionGroupID)) {\r\n listGroups.push(d);\r\n dataMaster[d.AppCriterionGroupID] = [];\r\n }\r\n dataMaster[d.AppCriterionGroupID].push(d);\r\n //formData...\r\n formData[d.EvaluationElementID] = {\r\n EvaluationElementID: d.EvaluationElementID,\r\n TypeID: d.TypeID,\r\n Value: d.Value,\r\n Note1U: d.Note1U,\r\n };\r\n });\r\n }\r\n this.setState({\r\n listGroups,\r\n dataMaster,\r\n formData: {\r\n ...this.state.formData,\r\n ...formData\r\n }\r\n });\r\n });\r\n };\r\n\r\n loadCboAppChildCriterion = () => {\r\n const { EvaluationVoucherID,DepartmentID } = this.getInfo();\r\n const params = {\r\n EvaluationVoucherID: EvaluationVoucherID,\r\n DepartmentID: DepartmentID,\r\n FormID: \"W39F1030\",\r\n Language: Config.language || '84',\r\n };\r\n this.setState({formLoading: true});\r\n this.props.W39F1030Actions.getCboAppChildCriterion(params, (error, data) => {\r\n this.setState({formLoading: 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 onChange = (name, e, type) => {\r\n if (!name || !e) return false;\r\n if (!this.state.isUpdated) this.setState({isUpdated : true});\r\n const {formData} = this.state;\r\n const {getCboAppChildCriterion} = this.props;\r\n\r\n let value = _.get(e, \"value\", _.get(e, \"target.value\", \"\"));\r\n switch (type) {\r\n case \"combo\":\r\n const dataSourceCbo = getCboAppChildCriterion.filter(dCbo => dCbo.EvaluationElementID === name);\r\n const itemSelected = dataSourceCbo.find(d => d.EvaluationLevelID === value);\r\n const _value = itemSelected && itemSelected.Value ? itemSelected.Value : 0;\r\n this.setState({\r\n formData: {\r\n ...formData,\r\n [name]: {\r\n ...formData[name],\r\n TypeID: value ? value : \"\",\r\n Value: _value,\r\n }\r\n }\r\n });\r\n break;\r\n case \"number\":\r\n if (this.timerInput) clearTimeout(this.timerInput);\r\n this.timerInput = setTimeout(() => {\r\n this.setState({\r\n formData: {\r\n ...formData,\r\n [name]: {\r\n ...formData[name],\r\n Value: value,\r\n }\r\n }\r\n });\r\n }, 400);\r\n break;\r\n case \"text\":\r\n if (this.timerInput) clearTimeout(this.timerInput);\r\n this.timerInput = setTimeout(() => {\r\n this.setState({\r\n formData: {\r\n ...formData,\r\n [name]: {\r\n ...formData[name],\r\n Note1U: value,\r\n }\r\n }\r\n });\r\n }, 400);\r\n break;\r\n case \"textarea\":\r\n if (this.timerInput) clearTimeout(this.timerInput);\r\n this.timerInput = setTimeout(() => {\r\n this.setState({[name]: value});\r\n }, 400);\r\n break;\r\n default:\r\n break;\r\n }\r\n\r\n };\r\n\r\n onChangeResult = (e, type) => {\r\n if (!this.state.isUpdated) this.setState({isUpdated : true});\r\n const {formData} = this.state;\r\n let value = _.get(e, \"value\", _.get(e, \"target.value\", \"\"));\r\n if (!type) {\r\n this.setState({\r\n formData: {\r\n ...formData,\r\n Result: value\r\n }\r\n });\r\n } else {\r\n this.setState({\r\n formData: {\r\n ...formData,\r\n [type]: value\r\n }\r\n });\r\n }\r\n };\r\n\r\n onSave = () => {\r\n const { EvaluationVoucherID,DepartmentID , mode, TransID } = this.getInfo();\r\n if (this.state.formValid && this.state.formValid.length > 0) {\r\n Config.popup.show(\"INFO\", Config.lang(\"DHR_Tham_so_truyen_vao_khong_hop_le\"));\r\n return false;\r\n }\r\n\r\n const arrAttachments = this._getAttachments();\r\n const {formData, NoteEvaluatedLevel1 } = this.state;\r\n let data = [];\r\n const listExcludeFields = ['NoteEvaluatedLevel1', 'RefEvaluation01U', 'Result', 'DesResult'];\r\n Object.keys(formData).forEach(key => {\r\n if (!listExcludeFields.includes(key)) {\r\n const item = formData[key];\r\n data.push({\r\n EvaluationElementID: key,\r\n TypeID: item.TypeID,\r\n Value: item.Value && item.Value.Value ? item.Value.Value : item.Value,\r\n Note1U: item.Note1U\r\n });\r\n }\r\n });\r\n const params = {\r\n EvaluationVoucherID: EvaluationVoucherID,\r\n DepartmentID: DepartmentID,\r\n Result: formData && (formData.Result || formData.Result === 0) ? formData.Result : null,\r\n DesResult: formData && formData.DesResult ? formData.DesResult : \"\",\r\n TranMonth: Config.getHRTransMonth(),\r\n TranYear: Config.getHRTransYear(),\r\n DivisionID: Config.getDivisionID(),\r\n Mode: mode && mode === \"add\" ? 0 : 1 ,\r\n FormID: \"W39F1030\",\r\n Language: Config.language || '84',\r\n TransID: TransID,\r\n NoteEvaluatedLevel1: NoteEvaluatedLevel1,\r\n arrAttachment: arrAttachments ? JSON.stringify(arrAttachments) : \"\",\r\n data: JSON.stringify(data)\r\n };\r\n this.setState({formLoading: true});\r\n this.props.W39F1030Actions.save(params, (error,data) => {\r\n this.setState({formLoading: false});\r\n if (error) {\r\n Config.popup.show(\"ERROR\", error);\r\n return false;\r\n }\r\n this.loadFormGrid();\r\n this.loadAttachments();\r\n this.loadListAppChildCriterion();\r\n this.setState({isUpdated: false});\r\n this.allowCalculate = true;\r\n Config.notify.show(\"success\", Config.lang(\"DHR_Luu_thanh_cong\"), 2000);\r\n });\r\n };\r\n\r\n loadAttachments = () => {\r\n const {TransID} = this.getInfo();\r\n const param = {\r\n KeyID : TransID,\r\n TableName: \"D39T2002\"\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 loading:false,\r\n });\r\n }\r\n this.setState({\r\n loading:false,\r\n });\r\n });\r\n };\r\n\r\n\r\n getInfo = (flag, nextProps) => {\r\n const { location } = nextProps ? nextProps : this.props;\r\n if (location && location.state) {\r\n const voucher_id = location.state.voucher_id ? location.state.voucher_id : \"\";\r\n const state = location.state;\r\n return {\r\n ...state,\r\n mode: location.state.mode ? location.state.mode : (voucher_id ? 'edit' : 'add'),\r\n }\r\n } else {\r\n if (flag) {\r\n browserHistory.push(Config.getRootPath() + \"W39F1025\");\r\n return null;\r\n }\r\n return false;\r\n }\r\n };\r\n\r\n componentDidMount = async () => {\r\n if (!this.getInfo()) return;\r\n const { mode } = this.getInfo();\r\n if( mode === \"edit\") {\r\n this.loadAttachments();\r\n }\r\n this.loadFormGrid();\r\n this.loadCboAppChildCriterion();\r\n this.loadListAppChildCriterion();\r\n };\r\n\r\n onBlur = (value, name, rule, data) => {\r\n if (rule === \"Point\") {\r\n this.validCriterionPoint(name, value, data);\r\n }\r\n };\r\n\r\n validCriterionPoint = (name, value, data) => {\r\n const {formValid} = this.state;\r\n const val = value ? value : \"0\";\r\n let _formValid = formValid.filter(f => f.field && f.criterionID !== data.EvaluationElementID);\r\n const isInt = validator.isInt(val, {min: 0});\r\n if (!isInt) {\r\n _formValid.push({\r\n field: name,\r\n criterionID: data.EvaluationElementID,\r\n error: true,\r\n message: Config.lang(\"DHR_Diem_so_khong_hop_le\")\r\n });\r\n }\r\n this.setState({formValid: _formValid});\r\n };\r\n\r\n isError = (name, rule, data) => {\r\n\r\n const {formValid} = this.state;\r\n if (rule === \"Point\") {\r\n for (let i = 0; i < formValid.length; i++) {\r\n const fvl = formValid[i];\r\n if (fvl.field === name && fvl.criterionID === data.EvaluationElementID) {\r\n return fvl.error;\r\n }\r\n }\r\n }\r\n\r\n return false;\r\n };\r\n getErrorMessage = (name, rule, data) => {\r\n const {formValid} = this.state;\r\n if (rule === \"Point\") {\r\n for (let i = 0; i < formValid.length; i++) {\r\n const fvl = formValid[i];\r\n if (fvl.field === name && fvl.criterionID === data.EvaluationElementID) {\r\n return fvl.message;\r\n }\r\n }\r\n }\r\n return \"\";\r\n };\r\n\r\n onBack = () => {\r\n const state = this.getInfo();\r\n browserHistory.push({\r\n pathname: Config.getRootPath() + (state && state.FormID ? state.FormID : \"\"),\r\n state: {\r\n ...state,\r\n mode: \"edit\"\r\n }\r\n });\r\n };\r\n\r\n render() {\r\n if (!this.getInfo(true)) return null;\r\n const { mode, DepartmentID, DepartmentName, CreateDate, TransTypeName, StatusID} = this.getInfo();\r\n const { formLoading, listGroups, dataMaster, dataOldAttachments, formData, isUpdated, loadingListAppChildCriterion,\r\n NoteEvaluatedLevel1 } = this.state;\r\n const { RefEvaluation01U} = formData;\r\n const { getLoadFormGrid, classes, getCboAppChildCriterion } = this.props;\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n {TransTypeName +' '+ DepartmentName + ' - '+ DepartmentID}\r\n \r\n \r\n { moment.utc(CreateDate).format(\"DD/MM/YYYY, kk:mm:ss\") }\r\n \r\n {listGroups.map((item, indx) => {\r\n const data = dataMaster[item.AppCriterionGroupID];\r\n return (\r\n item.IsMiddleEvaluationElement === 0 &&\r\n
\r\n \r\n {item.AppCriterionGroupNameU}\r\n \r\n {data && data.map((d, indx2) => {\r\n const dataSourceCbo = getCboAppChildCriterion.filter(dCbo => dCbo.EvaluationElementID === d.EvaluationElementID);\r\n const rowData = formData && formData[d.EvaluationElementID] ? formData[d.EvaluationElementID] : null;\r\n let typeText = d.ResultDes || \"\";\r\n if (!typeText) {\r\n switch (d.IsTypeEvaluation) {\r\n case 1: typeText = Config.lang(\"DHR_Xep_loai\"); break;\r\n case 2: typeText = Config.lang(\"DHR_Cong_thuc\"); break;\r\n default: typeText = Config.lang(\"DHR_Diem\"); break;\r\n }\r\n }\r\n return (\r\n \r\n \r\n \r\n \r\n {d.OrderNo + '.' + d.EvaluationElementName + ' (' + d.Proportion + ')'}\r\n \r\n\r\n \r\n \r\n \r\n \r\n {d.IsTypeEvaluation === 1 ?\r\n this.onChange(d.EvaluationElementID, e, \"combo\")}\r\n value={(rowData && String(rowData.TypeID))}\r\n />\r\n : d.IsTypeEvaluation === 2 ?\r\n this.onBlur(e.target.value, d.EvaluationElementID, \"Point\", d)}\r\n value={mode === \"add\" && !this.allowCalculate ? \"\" : (rowData && String(rowData.Value))}\r\n fullWidth\r\n onChange={e => this.onChange(d.EvaluationElementID, e, \"number\")}\r\n />\r\n :\r\n this.onBlur(e.target.value, d.EvaluationElementID, \"Point\", d)}\r\n defaultValue={mode === \"add\" ? \"\" : (rowData && String(rowData.Value))}\r\n fullWidth\r\n onChange={e => this.onChange(d.EvaluationElementID, e, \"number\")}\r\n />\r\n }\r\n\r\n \r\n \r\n \r\n {'(' + typeText + ')'}\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n ),\r\n readOnly: (getLoadFormGrid.IsSave === 1 ? false : true)\r\n }}\r\n // disabled={disabled}\r\n defaultValue={rowData ? String(rowData.Note1U) : \"\"}\r\n onChange={(e) => this.onChange(d.EvaluationElementID, e, \"text\")}\r\n margin={\"normal\"}\r\n multiline\r\n fullWidth\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 {Config.lang(\"DHR_Ket_qua_danh_gia\")}\r\n \r\n \r\n \r\n \r\n \r\n this.onChangeResult(e)}\r\n value={formData && formData.Result}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n ),\r\n readOnly: (getLoadFormGrid.IsSave === 1 ? false : true)\r\n }}\r\n // disabled={disabled}\r\n defaultValue={formData && formData.DesResult ? String(formData.DesResult) : \"\"}\r\n onChange={(e) => this.onChangeResult(e, \"DesResult\")}\r\n margin={\"normal\"}\r\n multiline\r\n fullWidth\r\n />\r\n \r\n \r\n
\r\n
\r\n\r\n {loadingListAppChildCriterion === false && (\r\n <>\r\n \r\n \r\n \r\n
\r\n \r\n {Config.lang('DHR_Danh_gia_chung')}\r\n \r\n
\r\n \r\n \r\n this.onChange(\"NoteEvaluatedLevel1\",e,'textarea')}\r\n aria-describedby=\"outlined-weight-helper-text\"\r\n inputProps={{\r\n \"aria-label\": \"weight\",\r\n readOnly: (getLoadFormGrid.IsSave === 1 ? false : true)\r\n }}\r\n disabled={formLoading}\r\n multiline={true}\r\n labelWidth={0}\r\n />\r\n \r\n
\r\n
\r\n\r\n \r\n \r\n \r\n
\r\n \r\n {Config.lang('DHR_Ghi_chu')}\r\n \r\n
\r\n \r\n \r\n this.onChange(\"RefEvaluation01U\",e,'textarea')}\r\n aria-describedby=\"outlined-weight-helper-text\"\r\n inputProps={{\r\n \"aria-label\": \"weight\",\r\n readOnly: true\r\n }}\r\n disabled={formLoading}\r\n multiline={true}\r\n labelWidth={0}\r\n />\r\n \r\n
\r\n
\r\n\r\n \r\n \r\n \r\n (this.attRef = ref)}\r\n showButton={true}\r\n files={dataOldAttachments}\r\n disabled={Number(StatusID) === 1 || formLoading}\r\n maxLength={5}\r\n onUploading={this.onUploading}\r\n onChanged={this.onChangeAttachments}\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\nclass NumberFormatCustom extends Component {\r\n\r\n render() {\r\n const {name, inputRef, onChange, ...props} = this.props;\r\n return (\r\n {\r\n if (onChange) {\r\n onChange({\r\n target: {\r\n name: name,\r\n value: e.value\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(\r\n state => ({\r\n getLoadFormGrid: state.W39F1030.getLoadFormGrid,\r\n getLoadListAppChildCriterion: state.W39F1030.getLoadListAppChildCriterion,\r\n getCboAppChildCriterion: state.W39F1030.getCboAppChildCriterion\r\n }),\r\n dispatch => ({\r\n generalActions: bindActionCreators(generalActions, dispatch),\r\n W39F1030Actions: bindActionCreators(W39F1030Actions, dispatch)\r\n })\r\n ),\r\n withStyles(styles, {withTheme: true})\r\n)(W39F1030);","/**\r\n * @copyright 2020 @ DigiNet\r\n * @author DINHTHIEN\r\n * @create 7/3/2020\r\n */\r\n\r\nimport React, { Component } from \"react\";\r\nimport { compose, bindActionCreators } from \"redux\";\r\nimport { connect } from \"react-redux\";\r\nimport { browserHistory } from \"react-router\";\r\nimport { IconButton, withStyles, Tooltip } from \"@material-ui/core\";\r\nimport * as generalActions from \"../../../../redux/general/general_actions\";\r\nimport * as W39F1010Actions from \"../../../../redux/W3X/W39F1010/W39F1010_actions\";\r\nimport ActionToolbar from \"../../../common/toolbar/action-toolbar\";\r\nimport Modal from \"../../../common/modal/modal\";\r\nimport { FormGroup, Row, Col, Image } from \"react-bootstrap\";\r\nimport GridContainer from \"../../../grid-container/grid-container\";\r\nimport { Column } from \"devextreme-react/data-grid\";\r\nimport AccountCircleIcon from \"@material-ui/icons/AccountCircle\";\r\nimport Filter from \"../../../filter/filter\";\r\nimport Config from \"../../../../config\";\r\nimport UserImage from \"../../../common/user/user-image\";\r\nimport UserName from \"../../../common/user/user-name\";\r\nimport moment from \"moment\";\r\nimport _ from \"lodash\";\r\nimport ButtonCustom from \"../../../common/button/button-custom\";\r\nimport { Combo } from \"../../../common/form-material\";\r\n\r\nimport W39F1012 from \"../W39F1012/W39F1012\";\r\nimport Status from \"../../../common/status/status\";\r\nimport W84F3005 from \"../../../W8X/W84/W84F3005/W84F3005\";\r\nimport {ButtonIcon, Checkbox} from \"diginet-core-ui/components\";\r\nimport Icon from \"diginet-core-ui/icons\";\r\n\r\nconst styles = (theme) => ({\r\n headerTitle: {\r\n \"& > :last-child\": {\r\n justifyContent: \"flex-end !important\",\r\n },\r\n },\r\n divDateText: {\r\n fontSize: \"14px\",\r\n fontWeight: 400,\r\n color: \"#000000\",\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 chip: {\r\n fontSize: \"1rem\",\r\n fontWeight: 400,\r\n border: \"none\",\r\n backgroundColor: \"#EBEBEB\",\r\n color: theme.palette.grey[\"600\"],\r\n \"&.statusColor\": {\r\n color: theme.palette.success.main,\r\n },\r\n }\r\n});\r\n\r\nconst arrStar = new Map([\r\n [0, 'StarOutline'],\r\n [0.5, 'StarHalf'],\r\n [1, 'Star'],\r\n]);\r\n\r\nclass W39F1010 extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n gridLoading: false,\r\n cBoLoading: false,\r\n employeeLoading: false,\r\n disabledCboEmployee: false,\r\n dataCboEmployees: {\r\n rows: [],\r\n total: 0,\r\n },\r\n dataCboStatus: [\r\n {\r\n StatusID: \"PROCESS\",\r\n StatusName: Config.lang(\"Dang_thuc_hien\"),\r\n },\r\n {\r\n StatusID: \"COMPLETE\",\r\n StatusName: Config.lang(\"Hoan_thanh\"),\r\n },\r\n ],\r\n rowData: null,\r\n isMineVoucher: false,\r\n showW39F1012: false,\r\n w84F3005Popup: null,\r\n filterEmployee: null,\r\n };\r\n this.filter = {\r\n TransTypeID: \"\",\r\n StatusID: \"\",\r\n skip: 0,\r\n limit: 10,\r\n };\r\n this.filterCboEmployees = {\r\n timer: null,\r\n search: \"\",\r\n skip: 0,\r\n limit: 50,\r\n };\r\n this.defaultParams = {\r\n FormID: \"W39F1010\",\r\n Language: Config.language || \"84\",\r\n };\r\n this.menuType = Number(Config.getLocalStorage(\"MENUTYPEDHR\") ?? 0);\r\n }\r\n\r\n setMineVoucher = () => {\r\n const { isMineVoucher } = this.state;\r\n this.setState({ isMineVoucher: !isMineVoucher }, this.loadFormGrid);\r\n };\r\n\r\n handleResponse = (err, data = []) => {\r\n if (err) Config.popup.show(\"ERROR\", err);\r\n if (data === \"isGrid\") {\r\n this.setState({\r\n gridLoading: false,\r\n });\r\n } else {\r\n this.setState({ cBoLoading: false });\r\n }\r\n };\r\n\r\n loadFormGrid = (voucher_id) => {\r\n const { isMineVoucher, filterEmployee } = this.state;\r\n const {location} = this.props;\r\n const params = {\r\n ...this.defaultParams,\r\n ..._.omit(this.filter, \"employee\"),\r\n EmployeeID: filterEmployee?.EmployeeID ?? \"\",\r\n DivisionID: Config.getDivisionID(),\r\n IsMineVoucher: location?.state?.menu?.Type === \"ESS\" ? 1 : Number(isMineVoucher),\r\n TransID: voucher_id || \"\"\r\n };\r\n this.setState({ gridLoading: true });\r\n this.props.w39f1010Actions.getFormGrid(params, (err) => this.handleResponse(err, \"isGrid\"));\r\n };\r\n\r\n loadCboTransType = () => {\r\n this.setState({ cBoLoading: true });\r\n this.props.w39f1010Actions.getTransType(this.handleResponse);\r\n };\r\n\r\n loadStatus = () => {\r\n const { dataCboStatus } = this.state;\r\n this.setState({ cBoLoading: true });\r\n this.props.w39f1010Actions.getStatus((err, data) => {\r\n this.handleResponse(err);\r\n if(data?.IsNewMethod) {\r\n this.setState({\r\n dataCboStatus: [\r\n ...dataCboStatus,\r\n {StatusID: \"NEW\", StatusName: Config.lang(\"Chua_danh_gia\")}\r\n ]})\r\n }\r\n });\r\n };\r\n\r\n loadCboEmployees = (isReset) => {\r\n const param = {\r\n HostID: \"\",\r\n Type: \"EmployeeID\",\r\n ...this.defaultParams,\r\n ..._.omit(this.filterCboEmployees, [\"timer\",\"strSearch\"]),\r\n search: this.filterCboEmployees.strSearch,\r\n Disabled: +(this.state?.disabledCboEmployee ?? false),\r\n\r\n };\r\n this.setState({ cBoLoading: true });\r\n this.props.generalActions.getCboEmployees(param, (err, data) => {\r\n this.handleResponse(err);\r\n if (data) {\r\n const { dataCboEmployees } = this.state;\r\n const rows = _.get(data, \"rows\", []);\r\n const total = _.get(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.loadFormGrid();\r\n };\r\n\r\n onChangePerPage = (perPage) => {\r\n this.filter.skip = 0;\r\n this.filter.limit = perPage;\r\n this.loadFormGrid();\r\n };\r\n\r\n onCloseModal = () => {\r\n this.loadFormGrid();\r\n this.setState({\r\n showW39F1012: false,\r\n });\r\n };\r\n\r\n renderEmpProfile = (e) => {\r\n const { classes } = this.props;\r\n const { data } = e.row;\r\n const objRenderDate = {\r\n content: moment.utc(data.CreateDate).format(\"LT, DD/MM/YYYY\"),\r\n isVisible: Boolean(data.CreateDate),\r\n };\r\n return (\r\n
\r\n \r\n
\r\n \r\n {objRenderDate.isVisible && (\r\n
\r\n \r\n
\r\n {objRenderDate.content}\r\n
\r\n
\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 arrRenderInfo = [\r\n {\r\n content: `${Config.lang(\"Thoi_gian\")}: ${moment.utc(data.AppraisalDate).format(\"DD/MM/YYYY\")}`,\r\n isVisible: _.get(data, \"AppraisalDate\", false),\r\n },\r\n {\r\n content: `${Config.lang(\"Loai_danh_gia\")}: ${data.TransTypeName}`,\r\n isVisible: _.get(data, \"TransTypeName\", false),\r\n },\r\n {\r\n content: `${Config.lang(\"Ghi_chu\")}: ${data.Note}`,\r\n isVisible: _.get(data, \"Note\", false),\r\n },\r\n ].filter((item) => Boolean(item.isVisible));\r\n return (\r\n
\r\n {arrRenderInfo.map(({ content }, i) => {\r\n const preWarpNote = i === arrRenderInfo.length - 1 ? { style: { whiteSpace: \"pre-wrap\" } } : {};\r\n return (\r\n
\r\n {content}\r\n
\r\n );\r\n })}\r\n
\r\n );\r\n };\r\n\r\n renderStatus = (e) => {\r\n const { data } = e.row;\r\n const StatusID = _.get(data, \"StatusID\", \"PROCESS\");\r\n const listStatus = {\r\n \"PROCESS\": {id: 0, name: Config.lang(\"Dang_thuc_hien\"), icon: \"HourGlass\"},\r\n \"NEW\": {id: 1, name: Config.lang(\"Chua_danh_gia\"), icon: \"Loading\", color: Config.coreTheme.colors.system.rest},\r\n \"COMPLETE\": {id: 2, name: Config.lang(\"Hoan_thanh\"), icon: \"Approval\"},\r\n };\r\n const status = {\r\n AppStatusID: listStatus[StatusID]?.id,\r\n AppStatusName: listStatus[StatusID]?.name,\r\n AppStatusIcon: listStatus[StatusID]?.icon || \"\",\r\n AppStatusColor: listStatus[StatusID]?.color || \"\"\r\n };\r\n return (\r\n \r\n );\r\n };\r\n\r\n renderActions = (e) => {\r\n const { data } = e.row;\r\n const isApproved = Number(_.get(data, \"IsApproved\", 0));\r\n const isMultiLevel = Number(_.get(data, \"IsMultiLevel\", 1));\r\n const evaluatedStatus = _.get(data, \"EvaluatedStatus\", 0);\r\n const approveStatus = _.get(data, \"ApproveStatus\", 0);\r\n let iconApproval = (\r\n \r\n );\r\n if (!Boolean(isApproved)) {\r\n iconApproval = !Boolean(isMultiLevel) ? (\r\n this.setState({ rowData: data, showW39F1012: true })}\r\n />\r\n ) : null;\r\n }\r\n\r\n return (\r\n
\r\n this.redirectScreen(1, e)}\r\n />\r\n this.onHistory(data)}\r\n />\r\n {iconApproval}\r\n
\r\n );\r\n };\r\n\r\n onLoadDataFilter = () => {\r\n this.loadCboTransType();\r\n this.loadCboEmployees();\r\n };\r\n\r\n handleFilterChange = (key, data) => {\r\n const value = _.get(data, \"value\", \"\");\r\n if (key === \"employee\") {\r\n if (!value) {\r\n this.filterCboEmployees.strSearch = \"\";\r\n this.loadCboEmployees(true);\r\n }\r\n this.setState({ filterEmployee: value ?? \"\" });\r\n } else {\r\n this.filter = {\r\n ...this.filter,\r\n [key]: value,\r\n };\r\n }\r\n };\r\n\r\n redirectScreen = (mode = 0, e = \"\") => {\r\n const {location} = this.props;\r\n browserHistory.push({\r\n pathname: Config.getRootPath() + \"W39F1011\",\r\n state: {\r\n ...location?.state,\r\n Mode: mode,\r\n FormID: this.defaultParams.FormID,\r\n EmployeeID: _.get(e, \"data.EmployeeID\", \"03991\"),\r\n TransID: _.get(e, \"data.TransID\", \"39EVCP700000004_03991\"),\r\n EvaluationVoucherID: _.get(e, \"data.EvaluationVoucherID\", \"39EVCP700000004\"),\r\n ApproveLevel: _.get(e, \"data.ApproveLevel\", 0),\r\n IsSave: _.get(e, \"data.IsSave\", 0),\r\n UserLevel: _.get(e, \"data.UserLevel\", 1),\r\n },\r\n });\r\n };\r\n\r\n renderFilters = () => {\r\n const { getTransType } = this.props;\r\n const { cBoLoading, dataCboEmployees, dataCboStatus, disabledCboEmployee, filterEmployee } = this.state;\r\n const { TransTypeID, StatusID } = this.filter;\r\n return (\r\n {\r\n return (\r\n <>\r\n \r\n \r\n \r\n this.handleFilterChange(\"TransTypeID\", e)}\r\n />\r\n \r\n \r\n \r\n \r\n this.handleFilterChange(\"StatusID\", e)}\r\n />\r\n \r\n \r\n {!!this.menuType && \r\n \r\n this.setState({ disabledCboEmployee: e?.value ?? false })}\r\n />\r\n \r\n }\r\n \r\n \r\n this.handleFilterChange(\"employee\", 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 this.filter.skip=0;\r\n this.loadFormGrid();\r\n }}\r\n />\r\n \r\n \r\n );\r\n }}\r\n />\r\n );\r\n };\r\n\r\n onHistory = (data = {}) => {\r\n this.setState({w84F3005Popup: data.TransID || null})\r\n };\r\n\r\n\r\n render() {\r\n const { classes, getFormGrid } = this.props;\r\n const { gridLoading, isMineVoucher, showW39F1012, rowData, w84F3005Popup } = this.state;\r\n return (\r\n <>\r\n \r\n \r\n \r\n
{this.renderFilters()}
\r\n {!!w84F3005Popup && this.onHistory()}\r\n FormID=\"W39F1010\" TransID={w84F3005Popup}/>\r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n\r\n componentDidMount = () => {\r\n const {voucher_id} = Config.getUrlParams(this.props);\r\n this.loadFormGrid(voucher_id);\r\n this.loadStatus();\r\n };\r\n\r\n componentDidUpdate = (prevProps, prevState) => {\r\n const {getFormGrid} = this.props;\r\n Config.callChildForm({\r\n FormID: \"W39F1010\",\r\n keyExpr: \"TransID\",\r\n data: getFormGrid.rows || [],\r\n onLoad: (params) => this.loadFormGrid(params && params.ID),\r\n onAction: (e, data) => this.redirectScreen(1, {data: data})\r\n }, this.props);\r\n if ( prevState?.disabledCboEmployee !== this.state?.disabledCboEmployee ) {\r\n this.setState({ filterEmployee: null });\r\n this.loadCboEmployees(true);\r\n }\r\n }\r\n}\r\n\r\nexport default compose(\r\n connect(\r\n (state) => ({\r\n getCboEmployees: state.general.getCboEmployees,\r\n getTransType: state.W39F1010.getTransType,\r\n getFormGrid: state.W39F1010.getFormGrid,\r\n }),\r\n (dispatch) => ({\r\n generalActions: bindActionCreators(generalActions, dispatch),\r\n w39f1010Actions: bindActionCreators(W39F1010Actions, dispatch),\r\n }),\r\n ),\r\n withStyles(styles, { withTheme: true }),\r\n)(W39F1010);\r\n","import React, { Component } from \"react\";\r\nimport { withStyles, IconButton, OutlinedInput, Typography } from \"@material-ui/core\";\r\nimport { FormGroup, Row, Col } from \"react-bootstrap\";\r\nimport AttachFileIcon from \"@material-ui/icons/AttachFile\";\r\nimport { compose, bindActionCreators } from \"redux\";\r\nimport { connect } from \"react-redux\";\r\nimport Attachments from \"../../../common/attachments/attachments\";\r\nimport * as W39F1012Actions from \"../../../../redux/W3X/W39F1012/W39F1012_actions\";\r\nimport * as generalActions from \"../../../../redux/general/general_actions\";\r\nimport Config from \"../../../../config\";\r\nimport Modal from \"../../../common/modal/modal\";\r\nimport ButtonGeneral from \"../../../common/button/button-general\";\r\nimport _ from \"lodash\";\r\nimport CDN from \"../../../CDN\";\r\nimport Api from \"../../../../services/api\";\r\nimport Fade from \"@material-ui/core/Fade\";\r\n\r\nconst styles = (theme) => ({\r\n caption: {\r\n paddingTop: \"7%\",\r\n [theme.breakpoints.down(\"md\")]: {\r\n paddingTop: 0,\r\n },\r\n },\r\n loading: {\r\n display: \"flex\",\r\n justifyContent: \"center\",\r\n \"& :first-child\": {\r\n fill: theme.palette.primary.main,\r\n },\r\n },\r\n});\r\n\r\nclass W39F1012 extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n dataForm: [],\r\n dataOldAttachments: [],\r\n uploading: false,\r\n attachmentLoading: false,\r\n loadingForm: false,\r\n saving: false,\r\n };\r\n this.attachments = [];\r\n this.deletedFile = [];\r\n }\r\n\r\n handleResponse = (res = {}) => {\r\n const status = _.get(res, \"data.Status\", 1);\r\n const message = _.get(res, \"data.Message\", \"\");\r\n const messageErr = _.get(res, \"message\", false);\r\n if (messageErr) Config.popup.show(\"INFO\", messageErr || Config.lang(\"DHR_Loi_chua_xac_dinh\"));\r\n if (!status) {\r\n this._removeCDN();\r\n Config.notify.show(\"success\", Config.lang(\"DHR_Luu_thanh_cong\"), 2000);\r\n this.onClose();\r\n } else if (message !== \"\") {\r\n Config.popup.show(\"INFO\", message);\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 = () => {\r\n const listAttachments = Config.helpers.getFileInfomations(this.attachments);\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.fileExt ? att.fileExt : \"\",\r\n });\r\n });\r\n if (!_.isEmpty(dataOldAttachments)) {\r\n arrAttachment = dataOldAttachments.concat(arrAttachment);\r\n }\r\n\r\n return arrAttachment;\r\n };\r\n\r\n onChangeAttachments = (e) => {\r\n this.attachments = e.uploadedFiles ? e.uploadedFiles : [];\r\n if (e.deletedFiles && e.deletedFiles.length > 0) {\r\n this.deletedFile = [...e.deletedFiles];\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 loadAttachments = () => {\r\n const { data } = this.props;\r\n const param = {\r\n KeyID: _.get(data, \"TransID\", \"\"),\r\n };\r\n this.setState({ attachmentLoading: true });\r\n this.props.generalActions.getAttachmentsByTransID(param, (err, data) => {\r\n this.setState({ attachmentLoading: false }, () => {\r\n this.handleResponse(err);\r\n });\r\n if (data && data.length > 0) {\r\n this.setState({\r\n dataOldAttachments: data,\r\n });\r\n }\r\n });\r\n };\r\n\r\n loadFormInfo = () => {\r\n const { data } = this.props;\r\n const params = {\r\n TransID: _.get(data, \"TransID\", \"\"),\r\n };\r\n this.setState({ loadingForm: true });\r\n this.props.w39f1012Actions.getForm(params, (err, data) => {\r\n this.setState({ loadingForm: false }, () => {\r\n this.handleResponse(err);\r\n });\r\n const arrCaption = _.get(data, \"captionGrid\", {});\r\n const arrInfo = _.get(data, \"dataInfoRef\", {});\r\n const dataForm = arrCaption.map((item) => {\r\n const keyInfo = Object.keys(arrInfo).filter((info) => _.startsWith(info, item.RefID));\r\n return { ...item, [keyInfo]: arrInfo[keyInfo] };\r\n });\r\n this.setState({ dataForm });\r\n });\r\n };\r\n\r\n onAttachment = () => {\r\n if (this.attRef) {\r\n this.attRef.onAttachment();\r\n }\r\n };\r\n\r\n onUploading = (value) => {\r\n this.setState({ uploading: value });\r\n };\r\n\r\n onClose = () => {\r\n const { onClose } = this.props;\r\n if (onClose) onClose();\r\n };\r\n\r\n onStore = async () => {\r\n const { data } = this.props;\r\n const { dataForm } = this.state;\r\n const arrAttachments = this._getAttachments();\r\n const TransID = _.get(data, \"TransID\", \"\");\r\n const objRefEval = dataForm\r\n .map((item) => _.pickBy(item, (v, k) => _.startsWith(k, \"RefEvaluation\")))\r\n .reduce((obj, item) => {\r\n const keyName = Object.keys(item);\r\n obj[keyName] = item[keyName];\r\n return obj;\r\n }, {});\r\n const params = {\r\n ...objRefEval,\r\n TransID,\r\n arrAttachment: JSON.stringify(arrAttachments),\r\n };\r\n this.setState({ saving: true, attachmentLoading: true });\r\n const res = await Api.put(\"/w39f1012/save\", params);\r\n this.setState({ saving: false, attachmentLoading: false });\r\n this.handleResponse(res);\r\n };\r\n\r\n handleChange = (key, e, i) => {\r\n const { dataForm } = this.state;\r\n const value = _.get(e, \"target.value\", \"\");\r\n this.setState({\r\n dataForm: [\r\n ...dataForm.slice(0, i),\r\n {\r\n ...dataForm[i],\r\n [key]: value,\r\n },\r\n ...dataForm.slice(i + 1),\r\n ],\r\n });\r\n };\r\n\r\n renderDataForm = () => {\r\n const { classes } = this.props;\r\n const { dataForm, saving, loadingForm } = this.state;\r\n return dataForm.map((item, i) => {\r\n const refEvaluationName = `RefEvaluation${(\"0\" + (i + 1)).slice(-2)}U`;\r\n const styleHidden = { display: item.Disabled ? \"none\" : \"block\" };\r\n return (\r\n \r\n \r\n \r\n \r\n
\r\n \r\n {item.RefCaptionU}\r\n \r\n
\r\n \r\n \r\n this.handleChange(refEvaluationName, e, i)}\r\n aria-describedby=\"outlined-weight-helper-text\"\r\n inputProps={{\r\n \"aria-label\": \"weight\",\r\n }}\r\n multiline={true}\r\n labelWidth={0}\r\n />\r\n \r\n
\r\n
\r\n
\r\n );\r\n });\r\n };\r\n\r\n render() {\r\n const { dataOldAttachments, uploading, attachmentLoading, saving } = this.state;\r\n return (\r\n <>\r\n \r\n {this.renderDataForm()}\r\n \r\n (this.attRef = ref)}\r\n showButton={true}\r\n files={dataOldAttachments}\r\n disabled={uploading}\r\n maxLength={5}\r\n uploading={attachmentLoading}\r\n onUploading={this.onUploading}\r\n onChanged={this.onChangeAttachments}\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 componentDidMount = () => {\r\n this.loadFormInfo();\r\n this.loadAttachments();\r\n };\r\n}\r\n\r\nexport default compose(\r\n connect(\r\n (state) => ({\r\n getForm: state.W39F1012.getForm,\r\n }),\r\n (dispatch) => ({\r\n w39f1012Actions: bindActionCreators(W39F1012Actions, dispatch),\r\n generalActions: bindActionCreators(generalActions, dispatch),\r\n }),\r\n ),\r\n withStyles(styles),\r\n)(W39F1012);\r\n","/***********************************************************************/\r\n/* */\r\n/* Copyright (C) 2020. All rights reserved */\r\n/* License : https://diginet.com.vn */\r\n/* Author : RocaChien */\r\n/* */\r\n/* Created : 09-07-2020 10:13:05. */\r\n/* Modified : 09-07-2020 10:13:05. */\r\n/* */\r\n/***********************************************************************/\r\n\r\nimport React, { Component } from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport { browserHistory } from \"react-router\";\r\nimport _ from \"lodash\";\r\nimport validator from 'validator';\r\n\r\nimport { bindActionCreators, compose } from \"redux\";\r\nimport withStyles from \"@material-ui/core/styles/withStyles\";\r\nimport {LoadPanel} from \"devextreme-react\";\r\n\r\nimport Config from \"../../../../config\";\r\nimport { Image} from \"react-bootstrap\";\r\nimport ActionToolbar from \"../../../common/toolbar/action-toolbar\";\r\nimport {TextField} from \"../../../common/form-material\";\r\nimport CDN from \"../../../CDN\";\r\nimport Attachments from \"../../../common/attachments/attachments\";\r\nimport UserImage from \"../../../common/user/user-image\";\r\nimport UserName from \"../../../common/user/user-name\";\r\n\r\nimport * as W39F1011Actions from \"../../../../redux/W3X/W39F1011/W39F1011_actions\";\r\nimport * as generalActions from \"../../../../redux/general/general_actions\";\r\nimport * as mainActions from \"../../../../redux/main/main_actions\";\r\nimport moment from \"moment\";\r\n// import jsPDF from \"jspdf\";\r\nimport html2canvas from \"html2canvas\";\r\nimport NumberFormat from \"react-number-format\";\r\nimport Icon from 'diginet-core-ui/icons';\r\nimport {Button, ButtonIcon, FormGroup, Tooltip, TextInput,\r\n Dropdown,Row,Col, Popover, Typography} from 'diginet-core-ui/components';\r\nimport {FormHelperText ,Container , FormControl, Grid, Chip ,InputAdornment} from \"@material-ui/core\";\r\nimport GridContainer from \"../../../grid-container/grid-container\";\r\nimport { Column } from \"devextreme-react/data-grid\";\r\n\r\n/************************************/\r\n/* GLOBAL VARIABLE OR FUNCTIONS */\r\n/************************************/\r\nconst convertToRoman = (num) => {\r\n const roman = {M: 1000, CM: 900, D: 500, CD: 400, C: 100, XC: 90, L: 50, XL: 40, X: 10, IX: 9, V: 5, IV: 4, I: 1};\r\n let str = '';\r\n\r\n for (let i of Object.keys(roman)) {\r\n const q = Math.floor(num / roman[i]);\r\n num -= q * roman[i];\r\n str += i.repeat(q);\r\n }\r\n\r\n return str;\r\n};\r\nconst styles = theme => {\r\n return {\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 divDateText: {\r\n fontSize: \"14px\",\r\n fontWeight: 400,\r\n color: '#000000',\r\n },\r\n fieldset: {\r\n display: \"flex\",\r\n marginTop: \"10px\"\r\n },\r\n validateField: {\r\n '&:not(.disableDot)': {\r\n '& .MuiInputBase-root': {\r\n '&:before': {\r\n borderBottom: '1px solid rgb(255, 61, 113) !important'\r\n },\r\n '&:after': {\r\n borderBottom: '1px solid rgb(255, 61, 113) !important'\r\n }\r\n },\r\n '&:hover': {\r\n '& .MuiInputBase-root': {\r\n '&:before': {\r\n borderBottom: '2px solid rgb(255, 61, 113) !important'\r\n },\r\n '&:after': {\r\n borderBottom: '2px solid rgb(255, 61, 113) !important'\r\n }\r\n }\r\n },\r\n }\r\n }\r\n };\r\n};\r\n\r\nclass W39F1011 extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n CriterionTitle: '',\r\n EmployeeInfo: null,\r\n errorMessage: false,\r\n\r\n loading: true,\r\n loading2: false,\r\n uploading: false,\r\n getResultSuccess: false,\r\n iPermission: null,\r\n errors: {},\r\n avatarAttach: null,\r\n formValid: [],\r\n dataOldAttachments: [],\r\n IsSave: 1,\r\n criterionCboResultsError: {},\r\n prevIsSubmit: 0,\r\n IsEvaluation: 0,\r\n isOpenPopover: false,\r\n };\r\n this.isLoaded = false;\r\n this.dataDetail = null;\r\n this.attachments = [];\r\n this.deletedFile = [];\r\n this.upload = null;\r\n this.timeout = null;\r\n this.EvaluationCombo = {};\r\n this.UserLevel = 1;\r\n this.TransTypeID = \"\";\r\n this.formData ={\r\n Mode: 0,\r\n ApproveLevel: 0,\r\n TransID: \"\",\r\n EmployeeID: \"\",\r\n DivisionID: \"\",\r\n EvaluationVoucherID: \"\",\r\n TranMonth: \"\",\r\n TranYear: \"\",\r\n Language: \"\",\r\n NoteEmployee: null,\r\n NoteEvaluatedLevel2: null,\r\n NoteEvaluatedLevel3: null,\r\n NoteEvaluatedLevel4: null,\r\n NoteEvaluatedLevel5: null,\r\n arrAttachment: [],\r\n ResultID1: null,\r\n ResultID2: null,\r\n ResultID3: null,\r\n ResultID4: null,\r\n ResultID5: null,\r\n detail: []\r\n };\r\n this.contentContainer = React.createRef();\r\n this.loaded = {};\r\n this.canvasHtml = null;\r\n this.isChangeForm = false;\r\n this.btnSaveRef = {};\r\n this.btnSendResultRef = {};\r\n this.buttonResultRef = {};\r\n this.idInput = '';\r\n this.timerGetFocus = null;\r\n }\r\n componentDidMount = async () => {\r\n\r\n const { location } = this.props;\r\n const {FormPermission, TransID, Mode, EvaluationVoucherID, EmployeeID, ApproveLevel, IsSave} = this.getInfo(); //FormID for get permission...\r\n\r\n const Language = Config.language || \"84\";\r\n const DivisionID = Config.getDivisionID();\r\n const FormID = _.get(location, \"state.FormID\", \"W39F1011\");\r\n const TransTypeID = _.get(location, \"state.TransTypeID\", \"\");\r\n this.UserLevel = _.get(location, \"state.UserLevel\", 1);\r\n this.TransTypeID = TransTypeID;\r\n\r\n await this.loadPermission(FormPermission ? FormPermission : FormID);\r\n\r\n if (!this.state.iPermission) return;\r\n\r\n if (\r\n ApproveLevel === null ||\r\n ![0, 1].includes(Mode) ||\r\n !FormID || FormID.length === 0 ||\r\n !TransID || TransID.length === 0 ||\r\n !EmployeeID || EmployeeID.length === 0 ||\r\n !EvaluationVoucherID || EvaluationVoucherID.length === 0\r\n ) {\r\n this.setState({ errorMessage: Config.lang(\"Khong_tim_thay_hoac_khong_du_tt\") });\r\n return null;\r\n }\r\n\r\n this.formData.Mode = Mode;\r\n this.formData.ApproveLevel = ApproveLevel;\r\n this.formData.DivisionID = DivisionID;\r\n this.formData.Language = Language;\r\n this.formData.TransID = TransID;\r\n this.formData.FormID = FormID;\r\n this.formData.EmployeeID = EmployeeID;\r\n this.formData.EvaluationVoucherID = EvaluationVoucherID;\r\n this.formData.TranMonth = Config.getHRTransMonth();\r\n this.formData.TranYear = Config.getHRTransYear();\r\n\r\n // Show loading and hide when timeout\r\n this.setState({\r\n IsSave: IsSave,\r\n loading: true\r\n });\r\n this.timeout = setTimeout(()=>{\r\n this.isLoaded = true;\r\n this.setState({ loading: false });\r\n }, 3500);\r\n\r\n this.loaded = {\r\n loadMasterData: false,\r\n loadCriterionGroup: false,\r\n loadCriterionDetail: false,\r\n loadCriterionCombo: false,\r\n };\r\n // Call list APIs\r\n this.loadApi(\"loadMasterData\", {FormID, Language, Mode, EvaluationVoucherID, TransID, EmployeeID, TransTypeID}, true);\r\n this.loadApi(\"loadCriterionGroup\", {}, true);\r\n this.loadApi(\"loadCriterionDetail\", {FormID, EvaluationVoucherID, TransID, EmployeeID, TransTypeID }, true);\r\n this.loadApi(\"loadCriterionCombo\", {FormID, EvaluationVoucherID, EmployeeID, TransTypeID}, true);\r\n this.loadApi(\"loadHistoryApproval\", { FormID, TransID, Language }, true);\r\n this.loadApi(\"getAttachmentsByTransID\", { KeyID: TransID, Key02ID: EmployeeID });\r\n this.loadApi(\"getRequiredFields\", {FormID: 'W39F1011', ModuleID: '39', CheckMode: 0 }, false);\r\n };\r\n componentWillUnmount = () => {\r\n this.setState({\r\n CriterionTitle: '',\r\n EmployeeInfo: null,\r\n errorMessage: false,\r\n\r\n loading: true,\r\n uploading: false,\r\n iPermission: 0,\r\n errors: {},\r\n avatarAttach: null,\r\n dataOldAttachments: [],\r\n IsSave: 1,\r\n prevIsSubmit: 0,\r\n IsEvaluation: 0,\r\n });\r\n this.isLoaded = false;\r\n this.dataDetail = null;\r\n this.attachments = [];\r\n this.deletedFile = [];\r\n this.upload = null;\r\n this.EvaluationCombo = {};\r\n this.UserLevel = 2;\r\n this.formData ={\r\n Mode: 0,\r\n ApproveLevel: 0,\r\n TransID: \"\",\r\n EmployeeID: \"\",\r\n DivisionID: \"\",\r\n EvaluationVoucherID: \"\",\r\n TranMonth: \"\",\r\n TranYear: \"\",\r\n Language: \"\",\r\n NoteEmployee: null,\r\n NoteEvaluatedLevel2: null,\r\n NoteEvaluatedLevel3: null,\r\n NoteEvaluatedLevel4: null,\r\n NoteEvaluatedLevel5: null,\r\n arrAttachment: [],\r\n ResultID1: null,\r\n ResultID2: null,\r\n ResultID3: null,\r\n ResultID4: null,\r\n ResultID5: null,\r\n detail: []\r\n };\r\n this.btnSaveRef = {};\r\n this.btnSendResultRef = {};\r\n\r\n if (this.timeout) {\r\n clearTimeout(this.timeout);\r\n }\r\n if(this.timerGetFocus) clearTimeout(this.timerGetFocus);\r\n };\r\n\r\n getInfo = () => {\r\n const {location, isPopup} = this.props;\r\n const url = new window.URLSearchParams(window.location.search);\r\n if (url?.get('TransID') || url?.get('FormPermission')) {\r\n return {\r\n TransID: url.get('TransID'),\r\n Mode: url.get('Mode') ?? null,\r\n EvaluationVoucherID: url.get('EvaluationVoucherID'),\r\n EmployeeID: url.get('EmployeeID'),\r\n ApproveLevel: url.get('ApproveLevel') ?? null,\r\n FormPermission: url.get('FormPermission'),\r\n IsSave: url.get('IsSave') ?? 1\r\n };\r\n } else {\r\n return {\r\n TransID: location?.state?.TransID || isPopup?.TransID || '',\r\n Mode: location?.state?.Mode ?? isPopup?.Mode ?? null,\r\n EvaluationVoucherID: location?.state?.EvaluationVoucherID || isPopup?.EvaluationVoucherID || '',\r\n EmployeeID: location?.state?.EmployeeID || isPopup?.EmployeeID || '',\r\n ApproveLevel: location?.state?.ApproveLevel ?? isPopup?.ApproveLevel ?? null,\r\n FormPermission: location?.state?.FormPermission || isPopup?.FormPermission || '',\r\n IsSave: location?.state?.IsSave ?? isPopup?.IsSave ?? 1\r\n }\r\n }\r\n };\r\n\r\n loadPermission = async (FormID) => {\r\n const { location, isPopup } = this.props;\r\n if(location?.state?.menu?.Type === \"ESS\" || FormID === \"W39F2000\"){\r\n this.setState({ iPermission: 4, loading: false });\r\n return await true;\r\n }\r\n await this.props.generalActions.getPermission(FormID ? FormID : \"W39F1011\", isPer => {\r\n this.setState({ iPermission: isPer, loading: false });\r\n }, FormID === \"W39F2000\" || !!isPopup);\r\n };\r\n onBack = () => {\r\n // browserHistory.goBack();\r\n const { location } = this.props;\r\n const FormID = _.get(location, \"state.FormID\", \"W39F1010\");\r\n let state = _.get(location, \"state\", {});\r\n state = {\r\n ...state,\r\n FormBack: \"W39F2011\"\r\n };\r\n\r\n browserHistory.push({\r\n pathname: Config.getRootPath() + FormID,\r\n state: state\r\n });\r\n };\r\n loadApi = (apiName, params = {}, ownAction = false) => {\r\n this.props[ownAction ? \"W39F1011Actions\" : \"generalActions\"][apiName](params, (error, data = null) => {\r\n if (error) {\r\n Config.popup2.show(\"ERROR\", error);\r\n return false;\r\n }\r\n\r\n this.loaded[apiName] = true;\r\n\r\n if (apiName === \"loadMasterData\" && data) {\r\n if (data.IsEvaluateContract === 1) {\r\n this.loadApi(\"loadComboResults\", {Language: Config.language || \"84\"}, true);\r\n }\r\n if (data.EmployeeID) {\r\n this.setState({\r\n EmployeeInfo: Config.getUser({EmployeeID: data.EmployeeID}),\r\n CriterionTitle: data.TransTypeName,\r\n Note: data.Note || \"\",\r\n });\r\n }\r\n const prevIsSubmit = data?.[`IsSubmit${Number(this.UserLevel) - 1}`] ?? 0;\r\n if (prevIsSubmit) {\r\n this.setState({ prevIsSubmit: prevIsSubmit });\r\n }\r\n const IsEvaluation = this.UserLevel > 1 ? data?.[`IsEvaluatedLevel${this.UserLevel}`] ?? 0 : data?.IsEvaluation ?? 0;\r\n if (IsEvaluation) {\r\n this.setState({ IsEvaluation: IsEvaluation });\r\n }\r\n }\r\n if (apiName === \"getAttachmentsByTransID\" && !_.isEmpty(data)) {\r\n if (data && data.length > 0) {\r\n this.setState({\r\n dataOldAttachments: data\r\n });\r\n }\r\n }\r\n });\r\n };\r\n\r\n /************************************/\r\n /* FORM MODULE FUNCTIONS */\r\n /************************************/\r\n setStateErrorText(objValue, key) {\r\n const stateError = key ? key : \"errors\";\r\n this.setState({\r\n [stateError]: { ...(this.state[stateError] ? this.state[stateError] : {}), ...objValue }\r\n });\r\n return Object.keys(objValue).length !== 0;\r\n }\r\n deletedAttachment = URL => {\r\n if (!_.isEmpty(URL) && this.deletedFile.filter(e => e.URL === URL).length === 0)\r\n this.deletedFile = [...this.deletedFile, { URL }];\r\n };\r\n onRemoveFile = () => {\r\n const { getForm } = this.props;\r\n const UserPictureURL = _.get(getForm, \"UserPictureURL\", \"\");\r\n this.deletedAttachment(UserPictureURL);\r\n this.setState({\r\n avatarAttach: null,\r\n formData: {\r\n ...this.state.formData,\r\n UserPictureURL: \"\"\r\n }\r\n });\r\n };\r\n ignoreReminder = () => {\r\n this.props.mainActions.ignoreReminder(_.get(this.props, \"location.state.dataReminder\", {}), (err) => {\r\n if (err) {\r\n Config.popup2.show(\"ERROR\", err);\r\n return false;\r\n }\r\n })\r\n }\r\n checkDetailData = () => {\r\n if (this.dataDetail) {\r\n let isNotUpdated = false;\r\n for (let i = 0; i < this.dataDetail.length; i++) {\r\n const detail = this.dataDetail[i];\r\n if (!detail.Value && !detail.IsUpdated && this.UserLevel === 1) isNotUpdated = true;\r\n if (!detail.Value02 && !detail.IsUpdated02 && this.UserLevel === 2) isNotUpdated = true;\r\n if (!detail.Value03 && !detail.IsUpdated03 && this.UserLevel === 3) isNotUpdated = true;\r\n if (!detail.Value04 && !detail.IsUpdated04 && this.UserLevel === 4) isNotUpdated = true;\r\n if (!detail.Value05 && !detail.IsUpdated05 && this.UserLevel === 5) isNotUpdated = true;\r\n if (isNotUpdated) break;\r\n }\r\n return isNotUpdated;\r\n }\r\n return true;\r\n };\r\n onSave = () => {\r\n const {dataMasterData, getRequiredFields} = this.props;\r\n let LabelLevel1 = dataMasterData?.LabelLevel1 ? dataMasterData.LabelLevel1 :'';\r\n let LabelLevel2 = dataMasterData?.LabelLevel2 ? dataMasterData.LabelLevel2 :'';\r\n let LabelLevel3 = dataMasterData?.LabelLevel3 ? dataMasterData.LabelLevel3 :'';\r\n let LabelLevel4 = dataMasterData?.LabelLevel4 ? dataMasterData.LabelLevel4 :'';\r\n let LabelLevel5 = dataMasterData?.LabelLevel5 ? dataMasterData.LabelLevel5 :'';\r\n const dataRequireFields = [];\r\n let isDetailDataValid = false;\r\n let detailDataValidMode = \"C\";\r\n // Step 2: Check form valida\r\n if (this.state.formValid && this.state.formValid.length > 0) {\r\n Config.popup2.show(\"INFO\", Config.lang(\"Tham_so_truyen_vao_khong_hop_le\"));\r\n return false;\r\n }\r\n\r\n //Step 2.1: Check results when isEvaluateContract..\r\n if (dataMasterData && dataMasterData.IsEvaluateContract === 1) {\r\n let isCheckResultValid = true;\r\n const {ResultID1, ResultID2, ResultID3, ResultID4, ResultID5} = this.formData;\r\n let criterionCboResultsError = {};\r\n switch (this.UserLevel) {\r\n case 1:\r\n if (!ResultID1) isCheckResultValid = false;\r\n criterionCboResultsError.ResultID1 = true;\r\n break;\r\n case 2:\r\n if (!ResultID2) isCheckResultValid = false;\r\n criterionCboResultsError.ResultID2 = true;\r\n break;\r\n case 3:\r\n if (!ResultID3) isCheckResultValid = false;\r\n criterionCboResultsError.ResultID3 = true;\r\n break;\r\n case 4:\r\n if (!ResultID4) isCheckResultValid = false;\r\n criterionCboResultsError.ResultID4 = true;\r\n break;\r\n case 5:\r\n if (!ResultID5) isCheckResultValid = false;\r\n criterionCboResultsError.ResultID5 = true;\r\n break;\r\n default:\r\n break;\r\n }\r\n if (!isCheckResultValid) {\r\n this.setState({criterionCboResultsError: criterionCboResultsError});\r\n Config.popup2.show(\"INFO\", Config.lang(\"Ban_phai_chon_ket_qua_danh_gia\"));\r\n return false;\r\n }\r\n }\r\n // check require field\r\n getRequiredFields && getRequiredFields.forEach(field => {\r\n if(field?.ValidMode === \"O\" &&\r\n this.formData.hasOwnProperty(field?.SqlFieldName) &&\r\n this.formData[field?.SqlFieldName] === \"\")\r\n {\r\n if(field?.SqlFieldName?.includes(2) && this.UserLevel === 2) {\r\n dataRequireFields.push(LabelLevel2)\r\n } else if (field?.SqlFieldName?.includes(3) && this.UserLevel === 3) {\r\n dataRequireFields.push(LabelLevel3)\r\n } else if (isNaN(field?.SqlFieldName?.substr(-1)) && this.UserLevel === 1) {\r\n dataRequireFields.push(LabelLevel1);\r\n } else if (field?.SqlFieldName?.includes(4) && this.UserLevel === 4) {\r\n dataRequireFields.push(LabelLevel4);\r\n } else if (field?.SqlFieldName?.includes(5) && this.UserLevel === 5) {\r\n dataRequireFields.push(LabelLevel5);\r\n }\r\n }\r\n if (field?.SqlFieldName === \"EvaluatedAllCriteria\") {\r\n isDetailDataValid = this.checkDetailData();\r\n detailDataValidMode = field?.ValidMode ?? \"C\";\r\n }\r\n });\r\n\r\n\r\n if(!_.isEmpty(dataRequireFields)) {\r\n let message = Config.lang(\"TruongB\") + \" \" +\r\n dataRequireFields[0] + \" \" + Config.lang(\"Bat_buoc_nhapB\").toLowerCase();\r\n Config.popup2.show(\"INFO\", message);\r\n return false;\r\n }\r\n\r\n // Step 2.2: Check detail data\r\n if (isDetailDataValid && detailDataValidMode === \"O\") {\r\n Config.popup.show(\"INFO\", Config.lang(\"Ton_tai_chi_tieu_chua_duoc_danh_gia._Ban_khong_the_luu.\"));\r\n return false;\r\n } else if (isDetailDataValid && detailDataValidMode === \"W\") {\r\n Config.popup.show(\"YES_NO\", Config.lang(\"Ton_tai_chi_tieu_chua_duoc_danh_gia._Ban_co_muon_luu_khong?\"), () => {\r\n this._saveData();\r\n });\r\n } else {\r\n this._saveData();\r\n }\r\n };\r\n _saveData = () => {\r\n const {location, getRequiredFields, dataMasterData} = this.props;\r\n let LabelLevel1 = dataMasterData?.LabelLevel1 ? dataMasterData.LabelLevel1 :'';\r\n let LabelLevel2 = dataMasterData?.LabelLevel2 ? dataMasterData.LabelLevel2 :'';\r\n let LabelLevel3 = dataMasterData?.LabelLevel3 ? dataMasterData.LabelLevel3 :'';\r\n let LabelLevel4 = dataMasterData?.LabelLevel4 ? dataMasterData.LabelLevel4 :'';\r\n let LabelLevel5 = dataMasterData?.LabelLevel5 ? dataMasterData.LabelLevel5 :'';\r\n const dataWarningFields = [];\r\n // Step 1: Convert property CriterionDetail object to detail array\r\n this.formData.TransTypeID = this.TransTypeID;\r\n this.formData.detail = this.dataDetail;\r\n this.formData.arrAttachment = this._getAttachments();\r\n\r\n // check warning field\r\n getRequiredFields && getRequiredFields.forEach(field => {\r\n if(field?.ValidMode === \"W\" &&\r\n this.formData.hasOwnProperty(field?.SqlFieldName) &&\r\n this.formData[field?.SqlFieldName] === \"\")\r\n {\r\n if(field?.SqlFieldName?.includes(2) && this.UserLevel === 2) {\r\n dataWarningFields.push(LabelLevel2)\r\n } else if (field?.SqlFieldName?.includes(3) && this.UserLevel === 3) {\r\n dataWarningFields.push(LabelLevel3)\r\n } else if (isNaN(field?.SqlFieldName?.substr(-1)) && this.UserLevel === 1) {\r\n dataWarningFields.push(LabelLevel1);\r\n } else if (field?.SqlFieldName?.includes(4) && this.UserLevel === 4) {\r\n dataWarningFields.push(LabelLevel4);\r\n } else if (field?.SqlFieldName?.includes(5) && this.UserLevel === 5) {\r\n dataWarningFields.push(LabelLevel5);\r\n }\r\n }\r\n });\r\n\r\n if(!_.isEmpty(dataWarningFields)) {\r\n let message = dataWarningFields[0] + \" \" + Config.lang(\"Chua_duoc_nhap_ban_co_muon_luu_khong\");\r\n Config.popup2.show({\r\n yesText: Config.lang(\"Tiep_tuc\"),\r\n noText: Config.lang(\"Khong\"),\r\n type: \"yesno\"},\r\n message,\r\n () => {\r\n this.confirmSaveData(this.formData, location)\r\n }, null);\r\n } else {\r\n this.confirmSaveData(this.formData, location)\r\n }\r\n\r\n };\r\n\r\n confirmSaveData = (dataForm, location) => {\r\n // Step 3: Submit to server\r\n this.setState({loading2: true});\r\n this.props.W39F1011Actions[\"save\"]({ ...dataForm, Mode: 0 }, (error, data) => {\r\n this.setState({loading2: false});\r\n if (error) {\r\n let message = Config.lang(\"Loi_chua_xac_dinh\");\r\n switch (error.code) {\r\n case \"ERR000\":\r\n message = \"DivisionID \" + Config.lang(\"Bat_buoc\");\r\n break;\r\n case \"RGE002\":\r\n message = \"TransID \" + Config.lang(\"Bat_buoc\");\r\n break;\r\n case \"ERR003\":\r\n message = \"CriterionDetail \" + Config.lang(\"Bat_buoc\");\r\n break;\r\n case \"ERR006\":\r\n message = \"Attachment \" + Config.lang(\"Luu_khong_thanh_cong\");\r\n break;\r\n case \"null\":\r\n message = \"URL \" + Config.lang(\"Bat_buoc\");\r\n break;\r\n default:\r\n message = Config.lang(\"Luu_khong_thanh_cong\");\r\n break;\r\n }\r\n Config.popup2.show(\"INFO\", message);\r\n return false;\r\n }\r\n\r\n if (data?.Status === 1) {\r\n let message = data.Message || Config.lang(\"Loi_chua_xac_dinh\");\r\n Config.popup2.show(\"INFO\", message);\r\n }\r\n else if (data?.Status === 0) {\r\n this.timeout = setTimeout(()=>{\r\n this.isChangeForm = false;\r\n const {Mode, Language, TransID, FormID, EmployeeID, EvaluationVoucherID} = this.formData;\r\n const TransTypeID = this.TransTypeID;\r\n this._removeCDN();\r\n this.loaded = {\r\n ...this.loaded,\r\n loadMasterData: false,\r\n loadCriterionGroup: false,\r\n loadCriterionDetail: false,\r\n };\r\n this.canvasImage = null;\r\n this.loadApi(\"loadMasterData\", {FormID, Language, Mode, EvaluationVoucherID, TransID, EmployeeID, TransTypeID}, true);\r\n this.loadApi(\"loadCriterionGroup\", {}, true);\r\n this.loadApi(\"loadCriterionDetail\", {FormID, EvaluationVoucherID, TransID, EmployeeID, TransTypeID }, true);\r\n this.loadApi(\"getRequiredFields\", {FormID: 'W39F1011', ModuleID: '39', CheckMode: 0 }, false);\r\n // this.loadApi(\"getAttachmentsByTransID\", { KeyID: TransID, Key02ID: EmployeeID });\r\n // this.onBack();\r\n setTimeout(() => {\r\n this.isSaved = true;\r\n }, 500); //delay 1s wait for data is loaded\r\n }, 700);\r\n Config.notify.show(\"success\", Config.lang(\"Luu_thanh_cong\"), 2000);\r\n if(_.get(location,\"state.dataReminder.KeyID\", false)) this.ignoreReminder();\r\n }\r\n });\r\n };\r\n onChange = (e, name, data, isGetCalResult = false) => {\r\n const { IsSave } = this.state;\r\n const value = _.get(e, \"value\", _.get(e, \"target.value\", e ?? \"\"));\r\n\r\n if ([\"NoteEmployee\", \"NoteEvaluatedLevel2\", \"NoteEvaluatedLevel3\", \"NoteEvaluatedLevel4\", \"NoteEvaluatedLevel5\",\r\n \"ResultID1\", \"ResultID2\", \"ResultID3\", \"ResultID4\", \"ResultID5\"].includes(name)) {\r\n // Change value of master data\r\n this.formData[name] = value;\r\n } else if (data) {\r\n // Change value of detail data\r\n for (let i = 0; i < this.dataDetail.length; i++) {\r\n const detail = this.dataDetail[i];\r\n\r\n if (\r\n data.EvaluationElementID &&\r\n detail.EvaluationElementID &&\r\n data.EvaluationElementID === detail.EvaluationElementID\r\n ) {\r\n // Trong trường hợp là combo thì update lại data\r\n if ( _.isString(value) && value.includes(\"~\")) {\r\n const vl = value.split(\"~\");\r\n switch (name) {\r\n case \"Value02\":\r\n detail[\"Type02ID\"] = vl[0];\r\n detail[\"IsUpdated02\"] = 1;\r\n break;\r\n case \"Value03\":\r\n detail[\"Type03ID\"] = vl[0];\r\n detail[\"IsUpdated03\"] = 1;\r\n break;\r\n case \"Value04\":\r\n detail[\"Type04ID\"] = vl[0];\r\n detail[\"IsUpdated04\"] = 1;\r\n break;\r\n case \"Value05\":\r\n detail[\"Type05ID\"] = vl[0];\r\n detail[\"IsUpdated05\"] = 1;\r\n break;\r\n default:\r\n detail[\"TypeID\"] = vl[0];\r\n detail[\"IsUpdated\"] = 1;\r\n break;\r\n }\r\n\r\n detail[name] = vl[1];\r\n } else {\r\n switch (name) {\r\n case \"Value02\":\r\n detail[\"IsUpdated02\"] = 1;\r\n break;\r\n case \"Value03\":\r\n detail[\"IsUpdated03\"] = 1;\r\n break;\r\n case \"Value04\":\r\n detail[\"IsUpdated04\"] = 1;\r\n break;\r\n case \"Value05\":\r\n detail[\"IsUpdated05\"] = 1;\r\n break;\r\n default:\r\n detail[\"IsUpdated\"] = 1;\r\n break;\r\n }\r\n if (isGetCalResult) {\r\n switch (this.formData.ApproveLevel) {\r\n case 1:\r\n detail[name] = value.Value;\r\n detail[\"TypeName\"] = value.TypeName;\r\n break;\r\n case 2:\r\n detail[\"Value02\"] = value.Value;\r\n detail[\"Type02Name\"] = value.TypeName;\r\n detail[\"IsUpdated02\"] = 1;\r\n break;\r\n case 3:\r\n detail[\"Value03\"] = value.Value;\r\n detail[\"Type03Name\"] = value.TypeName;\r\n detail[\"IsUpdated03\"] = 1;\r\n break;\r\n case 4:\r\n detail[\"Value04\"] = value.Value;\r\n detail[\"Type04Name\"] = value.TypeName;\r\n detail[\"IsUpdated04\"] = 1;\r\n break;\r\n case 5:\r\n detail[\"Value05\"] = value.Value;\r\n detail[\"Type05Name\"] = value.TypeName;\r\n detail[\"IsUpdated05\"] = 1;\r\n break;\r\n default:\r\n break;\r\n }\r\n } else {\r\n detail[name] = value;\r\n }\r\n }\r\n }\r\n\r\n this.dataDetail[i] = detail;\r\n }\r\n }\r\n if (isGetCalResult) this.setState({ getResultSuccess: true }); // Mục đích reRender UI\r\n if (IsSave === 1 && !this.isChangeForm && !_.isEmpty(this.btnSaveRef)) {\r\n this.isChangeForm = true;\r\n Object.keys(this.btnSaveRef).forEach(btn => {\r\n if (btn && this.btnSaveRef[btn]) this.btnSaveRef[btn].instance.option(\"disabled\", false)\r\n });\r\n }\r\n if (this.isChangeForm && !_.isEmpty(this.btnSendResultRef)) {\r\n Object.keys(this.btnSendResultRef).forEach(btn => {\r\n if (btn && this.btnSendResultRef[btn]) this.btnSendResultRef[btn].instance.option(\"disabled\", true)\r\n });\r\n }\r\n };\r\n onBlur = async (value, name, rule, data, num) => {\r\n\r\n if (rule === \"Point\") {\r\n this.inputFocus = null;\r\n await this.validCriterionPoint(name, value, data, num);\r\n }\r\n };\r\n validCriterionPoint = async (name, value, data, num) => {\r\n const {formValid} = this.state;\r\n const val = value ? value : \"0\";\r\n const Decimals = data.Decimals || 0;\r\n let _formValid = formValid.filter(f => !(f.field === name && f.criterionID === data.EvaluationElementID))\r\n let isValid = true;\r\n if (Number(Decimals) > 0) {\r\n isValid = validator.isDecimal(val, {decimal_digits: Decimals, locale: 'vi-VN'});\r\n } else {\r\n isValid = validator.isInt(val, {min: 0});\r\n }\r\n\r\n if (!isValid) {\r\n _formValid.push({\r\n field: name,\r\n criterionID: data.EvaluationElementID,\r\n error: true,\r\n message: Config.lang(\"Diem_so_khong_hop_le\")\r\n });\r\n } else {\r\n if ((Number(data.MaxValue) > 0 && Number(val) > Number(data.MaxValue)) || (Number(val) < Number(data.MinValue))) {\r\n _formValid.push({\r\n field: name,\r\n criterionID: data.EvaluationElementID,\r\n error: true,\r\n message: data.MinValue + \" ≤ \" + Config.lang(\"Gia_tri\") + \" ≤ \" + data.MaxValue\r\n });\r\n } else {\r\n if (data.EvaluationElementID && (data[\"Value\" + (num ? num : \"\")] !== value)) {\r\n const newType = await this.props.W39F1011Actions.getTypeEvaluation({\r\n EvaluationElementID: data.EvaluationElementID,\r\n Value: value || 0\r\n });\r\n if (newType) {\r\n const ID = \"Type\" + (num ? num : \"\") + \"ID\";\r\n const Name = \"Type\" + (num ? num : \"\") + \"Name\";\r\n this.dataDetail = this.dataDetail?.map(d => {\r\n if (d.EvaluationElementID === data.EvaluationElementID) {\r\n d[ID] = newType.EvaluationLevelID;\r\n d[Name] = newType.EvaluationLevelName;\r\n }\r\n return d;\r\n });\r\n }\r\n }\r\n }\r\n }\r\n if(this.timerGetFocus) clearTimeout(this.timerGetFocus);\r\n this.timerGetFocus = setTimeout(() => {\r\n this.idInput = document.querySelector(':focus')?.id || \"\";\r\n this.setState({formValid: _formValid});\r\n }, 200)\r\n };\r\n isError = (name, rule, data) => {\r\n const {formValid} = this.state;\r\n if (rule === \"Point\") {\r\n for (let i = 0; i < formValid.length; i++) {\r\n const fvl = formValid[i];\r\n\r\n if (fvl.field === name && fvl.criterionID === data.EvaluationElementID) {\r\n return fvl.error;\r\n }\r\n }\r\n }\r\n\r\n return false;\r\n };\r\n getErrorMessage = (name, rule, data) => {\r\n const {formValid} = this.state;\r\n\r\n if (rule === \"Point\") {\r\n for (let i = 0; i < formValid.length; i++) {\r\n const fvl = formValid[i];\r\n\r\n if (fvl.field === name && fvl.criterionID === data.EvaluationElementID) {\r\n return fvl.message;\r\n }\r\n }\r\n }\r\n\r\n return \"\";\r\n };\r\n\r\n /************************************/\r\n /* ATTACHMENT FUNCTIONS */\r\n /************************************/\r\n onAttachment = () => {\r\n if (this.attRef) {\r\n this.attRef.onAttachment();\r\n }\r\n };\r\n onChangeAttachments = (e) => {\r\n this.isChangeForm = true;\r\n\r\n this.attachments = e.uploadedFiles ? e.uploadedFiles : [];\r\n if (e.deletedFiles && e.deletedFiles.length > 0) {\r\n this.deletedFile = [...e.deletedFiles];\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 onUploading = value => {\r\n this.setState({ uploading: value });\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 _getAttachments = () => {\r\n const listAttachments = Config.helpers.getFileInfomations(this.attachments);\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.fileExt ? att.fileExt : \"\",\r\n });\r\n });\r\n if (!_.isEmpty(dataOldAttachments)) {\r\n arrAttachment = dataOldAttachments.concat(arrAttachment);\r\n }\r\n\r\n return arrAttachment;\r\n };\r\n\r\n /************************************/\r\n /* RENDER FUNCTIONS */\r\n /************************************/\r\n parseDataGroupCriterion = () => {\r\n const { dataMasterData, dataCriterionGroup, dataCriterionDetail, dataCriterionCombo } = this.props;\r\n\r\n if (\r\n !dataMasterData ||\r\n !dataCriterionGroup ||\r\n dataCriterionGroup.length === 0 ||\r\n !dataCriterionDetail ||\r\n dataCriterionDetail.length === 0 ||\r\n !this.isLoaded\r\n ) {\r\n return null;\r\n }\r\n\r\n if (dataCriterionCombo && dataCriterionCombo.length > 0) {\r\n for (let i = 0; i < dataCriterionDetail.length; i++) {\r\n const dt = dataCriterionDetail[i];\r\n const sl = [];\r\n\r\n\r\n for (let j = 0; j < dataCriterionCombo.length; j++) {\r\n const cb = dataCriterionCombo[j];\r\n\r\n if (dt.EvaluationElementID === cb.EvaluationElementID) {\r\n // We need 2 field to save, and merge its into the value with ~\r\n sl.push({text: cb.EvaluationCodeName, value: cb.EvaluationCodeID+\"~\"+cb.Value, IsDisplayValue: cb.IsDisplayValue, IsTypeEvaluation: dt.IsTypeEvaluation, DisplayValue: cb.Value});\r\n }\r\n }\r\n\r\n if (sl.length > 0) {\r\n this.EvaluationCombo[dt.EvaluationElementID] = sl;\r\n }\r\n }\r\n }\r\n\r\n const criterion = [];\r\n const dataDetail = [];\r\n for (let i = 0; i < dataCriterionGroup.length; i++) {\r\n const group = dataCriterionGroup[i];\r\n const grCriterion = [];\r\n\r\n for (let j = 0; j < dataCriterionDetail.length; j++) {\r\n const detail = dataCriterionDetail[j];\r\n\r\n if (group.AppCriterionGroupID === detail.AppCriterionGroupID) {\r\n grCriterion.push(detail);\r\n dataDetail.push({\r\n TypeID: detail.TypeID,\r\n TypeName: detail.TypeName,\r\n Value: detail.Value,\r\n IsUpdated: 0,\r\n Type02ID: detail.Type02ID,\r\n Type02Name: detail.Type02Name,\r\n Value02: detail.Value02,\r\n IsUpdated02: 0,\r\n Type03ID: detail.Type03ID,\r\n Type03Name: detail.Type03Name,\r\n Value03: detail.Value03,\r\n IsUpdated03: 0,\r\n Type04ID: detail.Type04ID,\r\n Type04Name: detail.Type04Name,\r\n Value04: detail.Value04,\r\n IsUpdated04: 0,\r\n Type05ID: detail.Type05ID,\r\n Type05Name: detail.Type05Name,\r\n Value05: detail.Value05,\r\n IsUpdated05: 0,\r\n Note1U: detail.Note1U,\r\n Note2U: detail.Note2U,\r\n Note3U: detail.Note3U,\r\n Note4U: detail.Note4U,\r\n Note5U: detail.Note5U,\r\n IsTypeEvaluation: detail.IsTypeEvaluation,\r\n EvaluationElementID: detail.EvaluationElementID,\r\n });\r\n }\r\n }\r\n\r\n if (grCriterion.length > 0) {\r\n group.ListCriterionDetail = grCriterion;\r\n criterion.push(group);\r\n }\r\n }\r\n\r\n //set Result value when IsEvaluateContract = 1...\r\n if (dataMasterData.IsEvaluateContract === 1) {\r\n const {ResultID1, ResultID2, ResultID3, ResultID4, ResultID5} = this.formData;\r\n if (ResultID1 === null) {\r\n this.formData.ResultID1 = dataMasterData && dataMasterData.ResultID1 ? dataMasterData.ResultID1 : '';\r\n }\r\n if (ResultID2 === null) {\r\n this.formData.ResultID2 = dataMasterData && dataMasterData.ResultID2 ? dataMasterData.ResultID2 : '';\r\n }\r\n if (ResultID3 === null) {\r\n this.formData.ResultID3 = dataMasterData && dataMasterData.ResultID3 ? dataMasterData.ResultID3 : '';\r\n }\r\n if (ResultID4 === null) {\r\n this.formData.ResultID4 = dataMasterData && dataMasterData.ResultID4 ? dataMasterData.ResultID4 : '';\r\n }\r\n if (ResultID5 === null) {\r\n this.formData.ResultID5 = dataMasterData && dataMasterData.ResultID5 ? dataMasterData.ResultID5 : '';\r\n }\r\n }\r\n\r\n // For push data form props to this\r\n if (!this.dataDetail || this.isSaved) {\r\n this.dataDetail = [...dataDetail];\r\n if (this.isSaved) setTimeout(() => this.isSaved = false, 1000); //clear isSave when reload data;\r\n\r\n this.formData.NoteEmployee = dataMasterData && dataMasterData.NoteEmployee ? dataMasterData.NoteEmployee : '';\r\n this.formData.NoteEvaluatedLevel2 = dataMasterData && dataMasterData.NoteEvaluatedLevel2 ? dataMasterData.NoteEvaluatedLevel2 : '';\r\n this.formData.NoteEvaluatedLevel3 = dataMasterData && dataMasterData.NoteEvaluatedLevel3 ? dataMasterData.NoteEvaluatedLevel3 : '';\r\n this.formData.NoteEvaluatedLevel4 = dataMasterData && dataMasterData.NoteEvaluatedLevel4 ? dataMasterData.NoteEvaluatedLevel4 : '';\r\n this.formData.NoteEvaluatedLevel5 = dataMasterData && dataMasterData.NoteEvaluatedLevel5 ? dataMasterData.NoteEvaluatedLevel5 : '';\r\n }\r\n\r\n return criterion;\r\n };\r\n renderInputAdorment = (value) => {\r\n return \r\n {value || \"\"}\r\n \r\n };\r\n renderUserProfile = (data) => {\r\n const {classes, dataMasterData} = this.props;\r\n const AppraisalDate = dataMasterData.AppraisalDate ? Config.convertDate(dataMasterData.AppraisalDate, \"\", \"DD/MM/YYYY kk:mm:ss\", true) : \"\";\r\n\r\n return (\r\n
\r\n this.onChangePageProfile(data)}/>\r\n
\r\n
\r\n\r\n
\r\n \r\n
{AppraisalDate}
\r\n
\r\n {dataMasterData && dataMasterData.IsEvaluateContract === 1 &&\r\n
{dataMasterData.WorkFormName}
}\r\n
\r\n
\r\n )\r\n };\r\n\r\n\r\n renderCriterionCboResults = (name, disabled, level) => {\r\n if (!name || name.length < 1) {\r\n return null;\r\n }\r\n\r\n const {criterionCboResultsError} = this.state;\r\n const {dataComboResults, dataMasterData, location} = this.props;\r\n const FormID = location?.state?.FormID ?? \"\";\r\n let selected = this.formData && this.formData[name] ? this.formData[name] : \"\";\r\n let errorMessage = criterionCboResultsError[name] && !selected ? Config.lang(\"Vui_long_chon_ket_qua\") : \"\";\r\n\r\n return (\r\n \r\n {\r\n const value = e.value;\r\n this.onChange(value, name);\r\n if (value) this.setState({criterionCboResultsError: {}});\r\n }}\r\n />\r\n {errorMessage && {errorMessage}}\r\n \r\n );\r\n };\r\n renderCriterionCombo = (code, name, detail, disabled, level) => {\r\n const { dataMasterData, location } = this.props;\r\n const FormID = location?.state?.FormID ?? \"\";\r\n if (!code || code.length < 1 || !this.EvaluationCombo[code]) {\r\n return null;\r\n }\r\n\r\n let data = [];\r\n\r\n if (this.EvaluationCombo[code] && this.EvaluationCombo[code].length > 0) {\r\n data = this.EvaluationCombo[code];\r\n }\r\n\r\n let selected = \"\";\r\n switch (name) {\r\n case \"Value02\":\r\n selected = detail.Type02ID && detail.Type02ID !== \"NaN\" ? detail.Type02ID+\"~\"+detail.Value02 : null;\r\n break;\r\n case \"Value03\":\r\n selected = detail.Type03ID && detail.Type03ID !== \"NaN\" ? detail.Type03ID+\"~\"+detail.Value03 : null;\r\n break;\r\n case \"Value04\":\r\n selected = detail.Type04ID && detail.Type04ID !== \"NaN\" ? detail.Type04ID+\"~\"+detail.Value04 : null;\r\n break;\r\n case \"Value05\":\r\n selected = detail.Type05ID && detail.Type05ID !== \"NaN\" ? detail.Type05ID+\"~\"+detail.Value05 : null;\r\n break;\r\n default:\r\n selected = detail.TypeID && detail.TypeID !== \"NaN\" ? detail.TypeID+\"~\"+detail.Value : null;\r\n break;\r\n }\r\n\r\n const renderItemWithValue = (dataSource) => {\r\n const { data } = dataSource;\r\n return (\r\n
\r\n \r\n {data.text}\r\n \r\n {!!(data.IsDisplayValue && data.IsTypeEvaluation) && \r\n \r\n {data.DisplayValue}\r\n \r\n }\r\n
\r\n )\r\n }\r\n\r\n return (\r\n \r\n renderItemWithValue(dataSource)}\r\n renderItem={(dataSource) => renderItemWithValue(dataSource)}\r\n defaultValue={dataMasterData?.NotViewOther && FormID === \"W39F1010\" ? (this.UserLevel === level ? (selected || \"\") : \"\") : (selected || \"\")}\r\n onChange={(e) => this.onChange(e.value || \"~0\", name, detail, true)}\r\n />\r\n \r\n );\r\n };\r\n _setDefaultDetail = (value) => {\r\n return !this.isChangeForm ? value : typeof value === \"number\" ? 0 : \"\";\r\n\r\n };\r\n\r\n setFocusInput = (input, id) => {\r\n if(id === this.idInput && input) {\r\n const end = input?.value?.length || 0;\r\n input.setSelectionRange(end, end);\r\n input.focus();\r\n this.idInput = \"\";\r\n }\r\n };\r\n\r\n renderCriterionDetail = (data, level) => {\r\n const { dataMasterData, location , classes} = this.props;\r\n const FormID = location?.state?.FormID ?? \"\";\r\n const calculateWidthCol = {\r\n maxWidth: `calc(100% / ${level})`,\r\n flexBasis: `calc(100% / ${level})`,\r\n };\r\n const col = Math.floor(12 / level);\r\n let pdLevel1 = {padding: \"0\"};\r\n let pdLevel2 = {padding: \"0\"};\r\n let pdLevel3 = {padding: \"0\"};\r\n let pdLevel4 = {padding: \"0\"};\r\n let pdLevel5 = {padding: \"0\"};\r\n\r\n if (level === 2) {\r\n pdLevel1 = {padding: \"0 10px 0 0\"};\r\n pdLevel2 = {padding: \"0 0 0 10px\"};\r\n pdLevel3 = {padding: \"0\"};\r\n }\r\n if (level === 3) {\r\n pdLevel1 = {padding: \"0 10px 0 0\"};\r\n pdLevel2 = {padding: \"0 10px 0 10px\"};\r\n pdLevel3 = {padding: \"0 0 0 10px\"};\r\n }\r\n if (level === 4) {\r\n pdLevel1 = {padding: \"0 10px 0 0\"};\r\n pdLevel2 = {padding: \"0 10px 0 10px\"};\r\n pdLevel3 = {padding: \"0 10px 0 10px\"};\r\n pdLevel4 = {padding: \"0 0 0 10px\"};\r\n }\r\n if (level === 5) {\r\n pdLevel1 = {padding: \"0 10px 0 0\"};\r\n pdLevel2 = {padding: \"0 10px 0 10px\"};\r\n pdLevel3 = {padding: \"0 10px 0 10px\"};\r\n pdLevel4 = {padding: \"0 10px 0 10px\"};\r\n pdLevel5 = {padding: \"0 0 0 10px\"};\r\n }\r\n\r\n pdLevel1 = {\r\n ...pdLevel1,\r\n ...calculateWidthCol,\r\n };\r\n pdLevel2 = {\r\n ...pdLevel2,\r\n ...calculateWidthCol,\r\n };\r\n pdLevel3 = {\r\n ...pdLevel3,\r\n ...calculateWidthCol,\r\n };\r\n pdLevel4 = {\r\n ...pdLevel4,\r\n ...calculateWidthCol,\r\n };\r\n pdLevel5 = {\r\n ...pdLevel5,\r\n ...calculateWidthCol,\r\n };\r\n\r\n let typeNum = 0;\r\n let typeText = data.ResultDes || \"\";\r\n if (data && data.IsTypeEvaluation) {\r\n typeNum = parseInt(data.IsTypeEvaluation);\r\n typeNum = typeNum > 2 || typeNum < 0 ? 0 : typeNum;\r\n }\r\n if (!typeText) {\r\n switch (typeNum) {\r\n case 1:\r\n typeText = Config.lang(\"Xep_loai\");\r\n break;\r\n case 2:\r\n typeText = Config.lang(\"Cong_thuc\");\r\n break;\r\n default:\r\n typeText = Config.lang(\"Diem\");\r\n break;\r\n }\r\n }\r\n\r\n // Get data for change\r\n let changed = {};\r\n for (let i = 0; i < this.dataDetail.length; i++) {\r\n const detail = this.dataDetail[i];\r\n if (\r\n data.EvaluationElementID &&\r\n detail.EvaluationElementID &&\r\n data.EvaluationElementID === detail.EvaluationElementID\r\n ) {\r\n changed = detail;\r\n }\r\n }\r\n\r\n // For detail data with submitting form\r\n const detail = {\r\n TypeID: !Config.isEmpty(changed.TypeID) ? changed.TypeID : this._setDefaultDetail(data.TypeID),\r\n TypeName: !Config.isEmpty(changed.TypeName) ? changed.TypeName : this._setDefaultDetail(data.TypeName),\r\n Value: !Config.isEmpty(changed.Value) ? changed.Value : this._setDefaultDetail(data.Value),\r\n Type02ID: !Config.isEmpty(changed.Type02ID) ? changed.Type02ID : this._setDefaultDetail(data.Type02ID),\r\n Type02Name: !Config.isEmpty(changed.Type02Name) ? changed.Type02Name : this._setDefaultDetail(data.Type02Name),\r\n Value02: !Config.isEmpty(changed.Value02) ? changed.Value02 : this._setDefaultDetail(data.Value02),\r\n Type03ID: !Config.isEmpty(changed.Type03ID) ? changed.Type03ID : this._setDefaultDetail(data.Type03ID),\r\n Type03Name: !Config.isEmpty(changed.Type03Name) ? changed.Type03Name : this._setDefaultDetail(data.Type03Name),\r\n Value03: !Config.isEmpty(changed.Value03) ? changed.Value03 : this._setDefaultDetail(data.Value03),\r\n Type04ID: !Config.isEmpty(changed.Type04ID) ? changed.Type04ID : this._setDefaultDetail(data.Type04ID),\r\n Type04Name: !Config.isEmpty(changed.Type04Name) ? changed.Type04Name : this._setDefaultDetail(data.Type04Name),\r\n Value04: !Config.isEmpty(changed.Value04) ? changed.Value04 : this._setDefaultDetail(data.Value04),\r\n Type05ID: !Config.isEmpty(changed.Type05ID) ? changed.Type05ID : this._setDefaultDetail(data.Type05ID),\r\n Type05Name: !Config.isEmpty(changed.Type05Name) ? changed.Type05Name : this._setDefaultDetail(data.Type05Name),\r\n Value05: !Config.isEmpty(changed.Value05) ? changed.Value05 : this._setDefaultDetail(data.Value05),\r\n Note1U: !Config.isEmpty(changed.Note1U) ? changed.Note1U : this._setDefaultDetail(data.Note1U),\r\n Note2U: !Config.isEmpty(changed.Note2U) ? changed.Note2U : this._setDefaultDetail(data.Note2U),\r\n Note3U: !Config.isEmpty(changed.Note3U) ? changed.Note3U : this._setDefaultDetail(data.Note3U),\r\n Note4U: !Config.isEmpty(changed.Note4U) ? changed.Note4U : this._setDefaultDetail(data.Note4U),\r\n Note5U: !Config.isEmpty(changed.Note5U) ? changed.Note5U : this._setDefaultDetail(data.Note5U),\r\n EvaluationElementID: data.EvaluationElementID,\r\n MaxValue: data.MaxValue ? data.MaxValue : 0,\r\n Decimals: data.Decimals ? data.Decimals : 0,\r\n MinValue: data.MinValue ? data.MinValue : 0,\r\n };\r\n\r\n const idNote1U = `Note1U${data.OrderNo}`;\r\n const idNote2U = `Note2U${data.OrderNo}`;\r\n const idNote3U = `Note3U${data.OrderNo}`;\r\n const idNote4U = `Note4U${data.OrderNo}`;\r\n const idNote5U = `Note5U${data.OrderNo}`;\r\n\r\n const idValue = `Value${data.OrderNo}`;\r\n const idValue02 = `Value02${data.OrderNo}`;\r\n const idValue03 = `Value03${data.OrderNo}`;\r\n const idValue04 = `Value04${data.OrderNo}`;\r\n const idValue05 = `Value05${data.OrderNo}`;\r\n return (\r\n \r\n \r\n \r\n
{data.OrderNo + \". \" + data.EvaluationElementName}
\r\n {data.Note &&
{data.Note}
}\r\n
\r\n \r\n
\r\n {data && Number(data.Proportion) > 0 && }\r\n
({typeText})
\r\n
\r\n
\r\n
\r\n\r\n {level >= 1 &&\r\n \r\n {typeNum === 0 &&\r\n this.setFocusInput(ref, idValue)} {...props} />}\r\n thousandSeparator={false}\r\n decimalScale={detail.Decimals || 0}\r\n // value={state[dataField] ? String(state[dataField]) : dataOldForm['TempBaseSalary' + no]}\r\n fullWidth\r\n disabled={this.UserLevel !== 1}\r\n defaultValue={dataMasterData?.NotViewOther && FormID === \"W39F1010\" ? this.UserLevel === 1 && detail.Value : detail.Value}\r\n InputLabelProps={{\r\n shrink: true\r\n }}\r\n variant={\"standard\"}\r\n margin={\"normal\"}\r\n error={this.isError(\"Value\", \"Point\", detail)}\r\n InputProps={{\r\n id: idValue,\r\n endAdornment: dataMasterData?.NotViewOther && FormID === \"W39F1010\" ? this.UserLevel === 1 && this.renderInputAdorment(detail.TypeName) : this.renderInputAdorment(detail.TypeName),\r\n }}\r\n helperText={this.getErrorMessage(\"Value\", \"Point\", detail)}\r\n onBlur={async (e) => await this.onBlur(e.target.value, \"Value\", \"Point\", detail, \"\")}\r\n onValueChange={(e) => this.onChange(e.value || 0, \"Value\", detail)}\r\n style={{marginTop: 2}}\r\n inputProps={{min: \"0\", step: \"1\"}}\r\n />}\r\n {typeNum === 1 && this.renderCriterionCombo(detail.EvaluationElementID, \"Value\", detail, this.UserLevel !== 1, 1)}\r\n {typeNum === 2 &&\r\n }\r\n \r\n }\r\n {level >= 2 &&\r\n \r\n {typeNum === 0 &&\r\n this.setFocusInput(ref, idValue02)} {...props} />}\r\n thousandSeparator={false}\r\n decimalScale={detail.Decimals || 0}\r\n // value={state[dataField] ? String(state[dataField]) : dataOldForm['TempBaseSalary' + no]}\r\n fullWidth\r\n disabled={this.UserLevel !== 2}\r\n defaultValue={dataMasterData?.NotViewOther && FormID === \"W39F1010\" ? this.UserLevel === 2 && detail.Value02 : detail.Value02}\r\n InputLabelProps={{\r\n shrink: true\r\n }}\r\n variant={\"standard\"}\r\n margin={\"normal\"}\r\n error={this.isError(\"Value02\", \"Point\", detail)}\r\n InputProps={{\r\n id: idValue02,\r\n endAdornment: dataMasterData?.NotViewOther && FormID === \"W39F1010\" ? this.UserLevel === 2 && this.renderInputAdorment(detail.Type02Name) : this.renderInputAdorment(detail.Type02Name),\r\n }}\r\n helperText={this.getErrorMessage(\"Value02\", \"Point\", detail)}\r\n onBlur={async (e) => await this.onBlur(e.target.value, \"Value02\", \"Point\", detail, \"02\")}\r\n onValueChange={(e) => this.onChange(e.value || 0, \"Value02\", detail)}\r\n style={{marginTop: 2}}\r\n inputProps={{min: \"0\", step: \"1\"}}\r\n />}\r\n {typeNum === 1 && this.renderCriterionCombo(detail.EvaluationElementID, \"Value02\", detail, this.UserLevel !== 2, 2)}\r\n {typeNum === 2 &&\r\n }\r\n \r\n }\r\n {level >= 3 &&\r\n \r\n {typeNum === 0 &&\r\n this.setFocusInput(ref, idValue03)} {...props} />}\r\n thousandSeparator={false}\r\n decimalScale={detail.Decimals || 0}\r\n // value={state[dataField] ? String(state[dataField]) : dataOldForm['TempBaseSalary' + no]}\r\n fullWidth\r\n disabled={this.UserLevel !== 3}\r\n defaultValue={dataMasterData?.NotViewOther && FormID === \"W39F1010\" ? this.UserLevel === 3 && detail.Value03 : detail.Value03}\r\n InputLabelProps={{\r\n shrink: true\r\n }}\r\n variant={\"standard\"}\r\n margin={\"normal\"}\r\n error={this.isError(\"Value03\", \"Point\", detail)}\r\n InputProps={{\r\n id: idValue03,\r\n endAdornment: dataMasterData?.NotViewOther && FormID === \"W39F1010\" ? this.UserLevel === 3 && this.renderInputAdorment(detail.Type03Name) : this.renderInputAdorment(detail.Type03Name),\r\n }}\r\n helperText={this.getErrorMessage(\"Value03\", \"Point\", detail)}\r\n onBlur={async (e) => await this.onBlur(e.target.value, \"Value03\", \"Point\", detail, \"03\")}\r\n onValueChange={(e) => this.onChange(e.value || 0, \"Value03\", detail)}\r\n style={{marginTop: 2}}\r\n inputProps={{min: \"0\", step: \"1\"}}\r\n />}\r\n {typeNum === 1 && this.renderCriterionCombo(detail.EvaluationElementID, \"Value03\", detail, this.UserLevel !== 3, 3)}\r\n {typeNum === 2 &&\r\n }\r\n \r\n }\r\n {level >= 4 &&\r\n \r\n {typeNum === 0 &&\r\n this.setFocusInput(ref, idValue04)} {...props} />}\r\n thousandSeparator={false}\r\n decimalScale={detail.Decimals || 0}\r\n // value={state[dataField] ? String(state[dataField]) : dataOldForm['TempBaseSalary' + no]}\r\n fullWidth\r\n disabled={this.UserLevel !== 4}\r\n defaultValue={dataMasterData?.NotViewOther && FormID === \"W39F1010\" ? this.UserLevel === 4 && detail.Value04 : detail.Value04}\r\n InputLabelProps={{\r\n shrink: true\r\n }}\r\n variant={\"standard\"}\r\n margin={\"normal\"}\r\n error={this.isError(\"Value04\", \"Point\", detail)}\r\n InputProps={{\r\n id: idValue04,\r\n endAdornment: dataMasterData?.NotViewOther && FormID === \"W39F1010\" ? this.UserLevel === 4 && this.renderInputAdorment(detail.Type04Name) : this.renderInputAdorment(detail.Type04Name),\r\n }}\r\n helperText={this.getErrorMessage(\"Value04\", \"Point\", detail)}\r\n onBlur={async (e) => await this.onBlur(e.target.value, \"Value04\", \"Point\", detail, \"04\")}\r\n onValueChange={(e) => this.onChange(e.value || 0, \"Value04\", detail)}\r\n style={{marginTop: 2}}\r\n inputProps={{min: \"0\", step: \"1\"}}\r\n />}\r\n {typeNum === 1 && this.renderCriterionCombo(detail.EvaluationElementID, \"Value04\", detail, this.UserLevel !== 4, 4)}\r\n {typeNum === 2 &&\r\n }\r\n \r\n }\r\n {level >= 5 &&\r\n \r\n {typeNum === 0 &&\r\n this.setFocusInput(ref, idValue05)} {...props} />}\r\n thousandSeparator={false}\r\n decimalScale={detail.Decimals || 0}\r\n // value={state[dataField] ? String(state[dataField]) : dataOldForm['TempBaseSalary' + no]}\r\n fullWidth\r\n disabled={this.UserLevel !== 5}\r\n defaultValue={dataMasterData?.NotViewOther && FormID === \"W39F1010\" ? this.UserLevel === 5 && detail.Value05 : detail.Value05}\r\n InputLabelProps={{\r\n shrink: true\r\n }}\r\n variant={\"standard\"}\r\n margin={\"normal\"}\r\n error={this.isError(\"Value05\", \"Point\", detail)}\r\n InputProps={{\r\n id: idValue05,\r\n endAdornment: dataMasterData?.NotViewOther && FormID === \"W39F1010\" ? this.UserLevel === 5 && this.renderInputAdorment(detail.Type05Name) : this.renderInputAdorment(detail.Type05Name),\r\n }}\r\n helperText={this.getErrorMessage(\"Value05\", \"Point\", detail)}\r\n onBlur={async (e) => await this.onBlur(e.target.value, \"Value05\", \"Point\", detail, \"05\")}\r\n onValueChange={(e) => this.onChange(e.value || 0, \"Value05\", detail)}\r\n style={{marginTop: 2}}\r\n inputProps={{min: \"0\", step: \"1\"}}\r\n />}\r\n {typeNum === 1 && this.renderCriterionCombo(detail.EvaluationElementID, \"Value05\", detail, this.UserLevel !== 5, 5)}\r\n {typeNum === 2 &&\r\n }\r\n \r\n }\r\n\r\n {level >= 1 &&\r\n \r\n \r\n \r\n \r\n \r\n this.setFocusInput(ref, idNote1U)}\r\n maxRows={5}\r\n multiline={true}\r\n style={{ fontStyle: \"italic\"}}\r\n defaultValue={dataMasterData?.NotViewOther && FormID === \"W39F1010\" ? this.UserLevel === 1 ? detail.Note1U : '' : detail.Note1U}\r\n disabled={this.UserLevel !== 1}\r\n onChange={(value) => this.onChange(value, \"Note1U\", detail)}\r\n />\r\n \r\n \r\n }\r\n {level >= 2 &&\r\n \r\n \r\n \r\n \r\n \r\n this.setFocusInput(ref, idNote2U)}\r\n maxRows={5}\r\n multiline={true}\r\n style={{ fontStyle: \"italic\" }}\r\n defaultValue={dataMasterData?.NotViewOther && FormID === \"W39F1010\" ? this.UserLevel === 2 ? detail.Note2U : '' : detail.Note2U}\r\n disabled={this.UserLevel !== 2}\r\n onChange={(value) => this.onChange(value, \"Note2U\", detail)}\r\n />\r\n \r\n \r\n }\r\n {level >= 3 &&\r\n \r\n \r\n \r\n \r\n \r\n this.setFocusInput(ref, idNote3U)}\r\n maxRows={5}\r\n multiline={true}\r\n style={{ fontStyle: \"italic\" }}\r\n defaultValue={dataMasterData?.NotViewOther && FormID === \"W39F1010\" ? this.UserLevel === 3 ? detail.Note3U : '' : detail.Note3U}\r\n disabled={this.UserLevel !== 3}\r\n onChange={(value) => this.onChange(value, \"Note3U\", detail)}\r\n />\r\n \r\n \r\n }\r\n {level >= 4 &&\r\n \r\n \r\n \r\n \r\n \r\n this.setFocusInput(ref, idNote4U)}\r\n maxRows={5}\r\n multiline={true}\r\n style={{ fontStyle: \"italic\" }}\r\n defaultValue={dataMasterData?.NotViewOther && FormID === \"W39F1010\" ? this.UserLevel === 4 ? detail.Note4U : '' : detail.Note4U}\r\n disabled={this.UserLevel !== 4}\r\n onChange={(value) => this.onChange(value, \"Note4U\", detail)}\r\n />\r\n \r\n \r\n }\r\n {level >= 5 &&\r\n \r\n \r\n \r\n \r\n \r\n this.setFocusInput(ref, idNote5U)}\r\n maxRows={5}\r\n multiline={true}\r\n style={{ fontStyle: \"italic\" }}\r\n defaultValue={dataMasterData?.NotViewOther && FormID === \"W39F1010\" ? this.UserLevel === 5 ? detail.Note5U : '' : detail.Note5U}\r\n disabled={this.UserLevel !== 5}\r\n onChange={(value) => this.onChange(value, \"Note5U\", detail)}\r\n />\r\n \r\n \r\n }\r\n \r\n {data.IsCalculate === 1 &&\r\n this.getCalResult(detail)}\r\n />}\r\n
\r\n );\r\n };\r\n renderCriterionResults = (data, level) => {\r\n const {dataMasterData} = this.props;\r\n const EvaluationResult = dataMasterData && dataMasterData.EvaluationResult ? dataMasterData.EvaluationResult : 1;\r\n const calculateWidthCol = {\r\n maxWidth: `calc(100% / ${level})`,\r\n flexBasis: `calc(100% / ${level})`,\r\n };\r\n const col = Math.floor(12 / level);\r\n let pdLevel1 = {padding: \"0\"};\r\n let pdLevel2 = {padding: \"0\"};\r\n let pdLevel3 = {padding: \"0\"};\r\n let pdLevel4 = {padding: \"0\"};\r\n let pdLevel5 = {padding: \"0\"};\r\n\r\n if (level === 2) {\r\n pdLevel1 = {padding: \"0 10px 0 0\"};\r\n pdLevel2 = {padding: \"0 0 0 10px\"};\r\n pdLevel3 = {padding: \"0\"};\r\n }\r\n if (level === 3) {\r\n pdLevel1 = {padding: \"0 10px 0 0\"};\r\n pdLevel2 = {padding: \"0 10px 0 10px\"};\r\n pdLevel3 = {padding: \"0 0 0 10px\"};\r\n }\r\n if (level === 4) {\r\n pdLevel1 = {padding: \"0 10px 0 0\"};\r\n pdLevel2 = {padding: \"0 10px 0 10px\"};\r\n pdLevel3 = {padding: \"0 10px 0 10px\"};\r\n pdLevel4 = {padding: \"0 0 0 10px\"};\r\n }\r\n if (level === 5) {\r\n pdLevel1 = {padding: \"0 10px 0 0\"};\r\n pdLevel2 = {padding: \"0 10px 0 10px\"};\r\n pdLevel3 = {padding: \"0 10px 0 10px\"};\r\n pdLevel4 = {padding: \"0 10px 0 10px\"};\r\n pdLevel5 = {padding: \"0 0 0 10px\"};\r\n }\r\n\r\n pdLevel1 = {\r\n ...pdLevel1,\r\n ...calculateWidthCol,\r\n };\r\n pdLevel2 = {\r\n ...pdLevel2,\r\n ...calculateWidthCol,\r\n };\r\n pdLevel3 = {\r\n ...pdLevel3,\r\n ...calculateWidthCol,\r\n };\r\n pdLevel4 = {\r\n ...pdLevel4,\r\n ...calculateWidthCol,\r\n };\r\n pdLevel5 = {\r\n ...pdLevel5,\r\n ...calculateWidthCol,\r\n };\r\n\r\n return (\r\n \r\n \r\n
{Config.lang(\"Ket_qua_danh_gia\")} *
\r\n {data.Note &&
{data.Note}
}\r\n
\r\n
\r\n\r\n {level >= 1 &&\r\n \r\n {this.renderCriterionCboResults( \"ResultID1\", this.UserLevel !== 1, 1)}\r\n \r\n }\r\n {level >= 2 &&\r\n \r\n {EvaluationResult > 1 && this.renderCriterionCboResults(\"ResultID2\", this.UserLevel !== 2, 2)}\r\n \r\n }\r\n {level >= 3 &&\r\n \r\n {EvaluationResult > 2 && this.renderCriterionCboResults(\"ResultID3\", this.UserLevel !== 3, 3)}\r\n \r\n }\r\n {level >= 4 &&\r\n \r\n {EvaluationResult > 3 && this.renderCriterionCboResults(\"ResultID4\", this.UserLevel !== 4, 4)}\r\n \r\n }\r\n {level >= 5 &&\r\n \r\n {EvaluationResult > 4 && this.renderCriterionCboResults(\"ResultID5\", this.UserLevel !== 5, 5)}\r\n \r\n }\r\n \r\n );\r\n };\r\n renderCriterionHeader = (EmployeeInfo, CriterionTitle, Note) => {\r\n const {dataMasterData} = this.props;\r\n const {isOpenPopover} = this.state;\r\n let dtSource = [];\r\n for(let i = 1; i <= dataMasterData.NumEvaluationLevel; i++) {\r\n dtSource.push({\r\n keyID: i,\r\n [`LabelLevel`]: dataMasterData[[`LabelLevel${i}`]],\r\n [`Reviewer`]: dataMasterData[`Reviewer${i}`],\r\n [`ResultProportion`]: dataMasterData[`ResultProportion${i}`]\r\n });\r\n };\r\n\r\n return (\r\n \r\n \r\n {EmployeeInfo && this.renderUserProfile(EmployeeInfo)}\r\n \r\n \r\n

{CriterionTitle}

\r\n
{Note}
\r\n \r\n \r\n \r\n this.setState({isOpenPopover: false})}\r\n anchorOrigin= {{vertical: 'bottom', horizontal: 'right'}}\r\n transformOrigin= {{vertical: 'top', horizontal: 'right'}}\r\n style={{height: 272, width: 400}}\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 renderEvaluationLevel = (dataMasterData, level) => {\r\n const { prevIsSubmit } = this.state;\r\n let LabelLevel1 = dataMasterData && dataMasterData.LabelLevel1 ? dataMasterData.LabelLevel1 :'';\r\n let LabelLevel2 = dataMasterData && dataMasterData.LabelLevel2 ? dataMasterData.LabelLevel2 :'';\r\n let LabelLevel3 = dataMasterData && dataMasterData.LabelLevel3 ? dataMasterData.LabelLevel3 :'';\r\n let LabelLevel4 = dataMasterData && dataMasterData.LabelLevel4 ? dataMasterData.LabelLevel4 :'';\r\n let LabelLevel5 = dataMasterData && dataMasterData.LabelLevel5 ? dataMasterData.LabelLevel5 :'';\r\n const calculateWidthCol = {\r\n maxWidth: `calc(100% / ${level})`,\r\n flexBasis: `calc(100% / ${level})`,\r\n };\r\n const col = Math.floor(12 / level);\r\n\r\n if (level === 1) {\r\n return null;\r\n }\r\n return (\r\n \r\n\r\n {level >= 1 &&\r\n \r\n {LabelLevel1}\r\n {this.UserLevel === 2 &&\r\n \r\n }\r\n \r\n }\r\n {level >= 2 &&\r\n \r\n {LabelLevel2}\r\n {this.UserLevel === 3 &&\r\n \r\n }\r\n \r\n }\r\n {level >= 3 &&\r\n \r\n {LabelLevel3}\r\n {this.UserLevel === 4 &&\r\n \r\n }\r\n \r\n }\r\n {level >= 4 &&\r\n \r\n {LabelLevel4}\r\n {this.UserLevel === 5 &&\r\n \r\n }\r\n \r\n }\r\n {level >= 5 &&\r\n \r\n {LabelLevel5}\r\n \r\n }\r\n \r\n );\r\n };\r\n renderCriterionFooter = (dataMasterData, level) => {\r\n const { location} = this.props;\r\n const FormID = location?.state?.FormID ?? \"\";\r\n return (\r\n \r\n \r\n {level >= 1 &&\r\n \r\n {Config.lang(\"Danh_gia_chung\")}\r\n \r\n }\r\n \r\n {[...Array(5).keys()].map(idx=>{\r\n if(level < 0) return null;\r\n idx += 1\r\n const LabelLevel = dataMasterData?.[`LabelLevel${idx}`] || \"\";\r\n const ReviewerName =dataMasterData?.[`ReviewerName${idx}`] || \"\";\r\n const TimeEvaluatedLevel = Config.convertDate(dataMasterData?.[`TimeEvaluatedLevel${idx}`], \"\", \"DD/MM/YYYY HH:mm:ss\", true) || \"\";\r\n const NameEvaluatedLevel = (idx === 1) ? \"NoteEmployee\" : `NoteEvaluatedLevel${idx}`\r\n const NoteEvaluatedLevel = this.formData[`${NameEvaluatedLevel}`] ?? dataMasterData[`${NameEvaluatedLevel}`] ; \r\n return(\r\n \r\n {level >= idx &&\r\n \r\n \r\n \r\n {LabelLevel}\r\n \r\n \r\n \r\n \r\n \r\n {Config.lang(\"Nguoi_danh_gia\")}:\r\n \r\n \r\n {ReviewerName}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {Config.lang(\"Thoi_gian\")}:\r\n \r\n \r\n {TimeEvaluatedLevel}\r\n \r\n \r\n \r\n \r\n \r\n this.onChange(e?.target?.value || \"\", (idx === 1 )? \"NoteEmployee\": `NoteEvaluatedLevel${idx}`)}\r\n disabled={this.UserLevel !== idx}\r\n defaultValue={dataMasterData?.NotViewOther && FormID === \"W39F1010\" ? this.UserLevel === idx ? NoteEvaluatedLevel : '' : NoteEvaluatedLevel}\r\n />\r\n \r\n \r\n }\r\n \r\n )\r\n })}\r\n \r\n \r\n );\r\n };\r\n renderHistoryApproval = (dataHistoryApproval) => {\r\n const {classes} = this.props;\r\n\r\n return (\r\n \r\n\r\n \r\n \r\n
* {Config.lang(\"Lich_su_duyet\")}
\r\n
\r\n
\r\n\r\n {dataHistoryApproval && dataHistoryApproval.map((data, idx) => {\r\n let date = _.get(data, \"ApprovalDate\", \"\");\r\n if (date && moment(date).isValid()) {\r\n date = moment(date).format(\"DD/MM/YYYY kk:mm:ss\");\r\n }\r\n const user = Config.getUser({UserID: data.ApproverID || \"\"});\r\n return (\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n - {data.ApprovalStatusName || \"\"}\r\n
\r\n
\r\n \r\n
\r\n {date}\r\n
\r\n
\r\n {user && user.DutyName &&
{user.DutyName || \"\"}
}\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 printDocument = async () => {\r\n if (!this.loaded) return;\r\n\r\n const isChecked = Object.keys(this.loaded).find(l => !this.loaded[l]);\r\n const input = this.contentContainer.current;\r\n if (!isChecked && input) {\r\n const svgElements = input.querySelectorAll('svg');\r\n svgElements.forEach(function(item) {\r\n item.setAttribute(\"width\", item.getBoundingClientRect().width);\r\n item.setAttribute(\"height\", item.getBoundingClientRect().height);\r\n item.style.width = null;\r\n item.style.height= null;\r\n });\r\n\r\n try {\r\n const canvasHtml = input.cloneNode(true);\r\n document.body.appendChild(canvasHtml);\r\n this.setState({loading2: true}, async ()=>{\r\n const canvas = await html2canvas(canvasHtml, {\r\n scale: 1,\r\n allowTaint: true,\r\n useCORS: true,\r\n scrollX: 0,\r\n scrollY: -window.scrollY\r\n });\r\n canvasHtml.remove();\r\n const canvasImage = canvas.toDataURL('image/png');\r\n const myWindow = await window.open('', Config.lang(\"Danh_gia_nhan_vien\"));\r\n this.setState({loading2: false});\r\n if (!myWindow) {\r\n Config.popup2.show(\"INFO\", Config.lang(\"Khong_the_mo_tab_moi\"));\r\n return false;\r\n } else {\r\n myWindow.document.write('');\r\n myWindow.document.close();\r\n myWindow.focus();\r\n }\r\n });\r\n } catch (e) {\r\n this.setState({loading2: false});\r\n Config.popup2.show(\"INFO\", Config.lang(\"Co_loi_xay_ra_trong_qua_trinh_xu_ly\"));\r\n return false;\r\n }\r\n } else {\r\n Config.popup2.show(\"INFO\", Config.lang(\"Dang_chuan_bi_du_lieu_Xin_vui_long_cho\"));\r\n return false;\r\n }\r\n };\r\n\r\n getCalResult = (detail) => {\r\n this.setState({loading2: true});\r\n const { Mode, EmployeeID, ApproveLevel, EvaluationVoucherID } = this.formData;\r\n const { EvaluationElementID = \"\" } = detail;\r\n const TransTypeID = this.TransTypeID || \"\";\r\n const dataDetail = [...this.dataDetail];\r\n let dataValue = [];\r\n if(!_.isEmpty(dataDetail)){\r\n dataDetail.forEach(item => {\r\n dataValue.push({\r\n EvaluationElementID: item.EvaluationElementID,\r\n Value: item.Value,\r\n Value02: item.Value02,\r\n Value03: item.Value03,\r\n Value04: item.Value04,\r\n Value05: item.Value05,\r\n })\r\n })\r\n }\r\n const param = {\r\n Mode,\r\n FormID: \"W39F1011\",\r\n EmployeeID,\r\n TransTypeID,\r\n ApproveLevel: ApproveLevel,\r\n EvaluationVoucherID,\r\n EvaluationElementID,\r\n data: JSON.stringify(dataValue)\r\n };\r\n\r\n this.props.W39F1011Actions.getResult(param, (error, data) => {\r\n this.setState({loading2: false});\r\n if (error) {\r\n Config.popup.show(\"ERROR\", error || Config.lang(\"Loi_chua_xac_dinh\"));\r\n return false;\r\n } else if (!Config.isEmpty(data, false)) {\r\n const result = {\r\n Value: data?.Value || 0,\r\n TypeName: data?.TypeName ?? \"\"\r\n };\r\n this.onChange(result, \"Value\", detail, true);\r\n }\r\n });\r\n }\r\n\r\n unlockPreviousLevel = () => {\r\n Config.popup.show(\"YES_NO\", Config.lang(\"Ban_co_chac_muon_mo_khoa_cho_cap_truoc_khong?\"), () => {\r\n const params = {\r\n ...this.formData,\r\n Mode: 1,\r\n detail: this.dataDetail,\r\n arrAttachment: this._getAttachments(),\r\n }\r\n this.props.W39F1011Actions.save(params, (err, data) => {\r\n if (err) Config.popup.show(\"ERROR\", err);\r\n if (data?.Status === 0) {\r\n this.setState({ prevIsSubmit: 0 });\r\n Config.notify.show(\"success\", Config.lang(\"Mo_khoa_thanh_cong\"), 2000);\r\n }\r\n });\r\n });\r\n };\r\n\r\n sendResult = () => {\r\n const params = {\r\n ...this.formData,\r\n Mode: 2,\r\n detail: this.dataDetail,\r\n arrAttachment: this._getAttachments(),\r\n }\r\n this.setState({ loading2: true });\r\n this.props.W39F1011Actions.save(params, (err, data) => {\r\n this.setState({ loading2: false });\r\n if (err) Config.popup.show(\"ERROR\", err);\r\n if (data?.Status === 0) {\r\n const { location } = this.props;\r\n this.timeout = setTimeout(()=>{\r\n this.isChangeForm = false;\r\n const {Mode, Language, TransID, FormID, EmployeeID, EvaluationVoucherID} = this.formData;\r\n const TransTypeID = this.TransTypeID;\r\n this._removeCDN();\r\n this.loaded = {\r\n ...this.loaded,\r\n loadMasterData: false,\r\n loadCriterionGroup: false,\r\n loadCriterionDetail: false,\r\n };\r\n this.canvasImage = null;\r\n this.loadApi(\"loadMasterData\", {FormID, Language, Mode, EvaluationVoucherID, TransID, EmployeeID, TransTypeID}, true);\r\n this.loadApi(\"loadCriterionGroup\", {}, true);\r\n this.loadApi(\"loadCriterionDetail\", {FormID, EvaluationVoucherID, TransID, EmployeeID, TransTypeID }, true);\r\n this.loadApi(\"getRequiredFields\", {FormID: 'W39F1011', ModuleID: '39', CheckMode: 0 }, false);\r\n this.setState({ IsSave: 0 });\r\n // setTimeout(() => {\r\n // this.isSaved = true;\r\n // }, 500);\r\n }, 700);\r\n if(_.get(location,\"state.dataReminder.KeyID\", false)) this.ignoreReminder();\r\n Config.notify.show(\"success\", Config.lang(\"Gui_ket_qua_thanh_cong\"), 2000);\r\n }\r\n });\r\n };\r\n\r\n render() {\r\n const {\r\n dataOldAttachments,\r\n attachmentLoading,\r\n loading,\r\n loading2,\r\n uploading,\r\n\r\n CriterionTitle,\r\n Note,\r\n EmployeeInfo,\r\n errorMessage,\r\n IsSave,\r\n IsEvaluation,\r\n iPermission\r\n } = this.state;\r\n\r\n // check permission if open like popup\r\n const {isPopup} = this.props;\r\n if(iPermission === null) return null;\r\n if (iPermission === 0 && !!isPopup)\r\n return (\r\n \r\n {Config.lang('403_loi')}\r\n \r\n );\r\n\r\n const { classes, dataMasterData, dataHistoryApproval } = this.props;\r\n const criterion = this.parseDataGroupCriterion();\r\n\r\n let level = 1;\r\n if (dataMasterData && dataMasterData.NumEvaluationLevel) {\r\n level = parseInt(dataMasterData.NumEvaluationLevel);\r\n level = level > 5 || level < 1 ? 1 : level;\r\n }\r\n let count = 0;\r\n const currentIsSubmit = dataMasterData?.[`IsSubmit${this.UserLevel}`] ?? 0;\r\n\r\n return (\r\n <>\r\n \r\n {!loading && !errorMessage && <>\r\n \r\n {dataMasterData?.SplitSaveAndSubmit\r\n ? <>\r\n this.btnSaveRef[\"save\"] = ref}\r\n disabled={!this.isChangeForm || (IsSave !== 1)}\r\n size={\"medium\"}\r\n color={\"info\"}\r\n startIcon={\"SaveV2\"}\r\n className={\"mgr10\"}\r\n viewType={\"filled\"}\r\n label={Config.lang(\"Luu\")}\r\n style={{ textTransform: \"uppercase\" }}\r\n onClick={this.onSave}\r\n />\r\n this.btnSendResultRef[\"sendResult\"] = ref}\r\n disabled={!!!this.isSaved && (!!this.isChangeForm || IsSave !== 1 || !!currentIsSubmit || !IsEvaluation)}\r\n size={\"medium\"}\r\n color={\"success\"}\r\n startIcon={\"FastForward\"}\r\n viewType={\"filled\"}\r\n label={Config.lang(\"Gui_ket_qua\")}\r\n style={{ textTransform: \"uppercase\" }}\r\n onClick={this.sendResult}\r\n />\r\n \r\n : this.btnSaveRef[\"save\"] = ref}\r\n disabled={!this.isChangeForm || (IsSave !== 1)}\r\n size={\"medium\"}\r\n color={\"info\"}\r\n startIcon={\"SaveV2\"}\r\n viewType={\"filled\"}\r\n label={Config.lang(\"Luu\")}\r\n style={{ textTransform: \"uppercase\" }}\r\n onClick={this.onSave}\r\n />\r\n }\r\n }\r\n \r\n\r\n \r\n {!loading && errorMessage &&\r\n \r\n
{errorMessage}
\r\n
\r\n }\r\n {!loading && !errorMessage && <>\r\n \r\n {EmployeeInfo && CriterionTitle && this.renderCriterionHeader(EmployeeInfo, CriterionTitle, Note)}\r\n\r\n {dataMasterData && this.renderEvaluationLevel(dataMasterData, level)}\r\n\r\n {criterion && criterion.map((o, i) => {\r\n const ListCriterionDetail = o.ListCriterionDetail && o.ListCriterionDetail.filter(c => c.IsMiddleEvaluationElement === 0);\r\n if (ListCriterionDetail.length <= 0) return null;\r\n const sectionNum = convertToRoman(count + 1);\r\n count++;\r\n return (\r\n \r\n \r\n \r\n {sectionNum}. {o.AppCriterionGroupNameU}  \r\n \r\n {o.AppCriterionGroupDescU &&\r\n \r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n\r\n {o.ListCriterionDetail && o.ListCriterionDetail.map((c) => {\r\n return c.IsMiddleEvaluationElement === 0 ? this.renderCriterionDetail(c, level) : null;\r\n })}\r\n );\r\n })}\r\n\r\n {dataMasterData && dataMasterData.IsEvaluateContract === 1 && \r\n \r\n \r\n {this.renderCriterionResults(dataMasterData, level)}\r\n \r\n \r\n }\r\n\r\n {dataMasterData && this.renderCriterionFooter(dataMasterData, level)}\r\n\r\n {dataHistoryApproval && dataHistoryApproval.length > 0 && this.renderHistoryApproval(dataHistoryApproval, level)}\r\n \r\n {dataMasterData &&\r\n \r\n \r\n \r\n (this.attRef = ref)}\r\n showButton={true}\r\n files={dataOldAttachments}\r\n disabled={uploading}\r\n maxLength={5}\r\n uploading={attachmentLoading}\r\n onUploading={this.onUploading}\r\n onChanged={this.onChangeAttachments}\r\n />\r\n \r\n \r\n }\r\n {dataMasterData &&\r\n \r\n \r\n {dataMasterData?.SplitSaveAndSubmit\r\n ? <>\r\n this.btnSaveRef[\"save1\"] = ref}\r\n disabled={!this.isChangeForm || (IsSave !== 1)}\r\n size={\"medium\"}\r\n color={\"info\"}\r\n startIcon={\"SaveV2\"}\r\n className={\"mgr10\"}\r\n viewType={\"filled\"}\r\n label={Config.lang(\"Luu\")}\r\n style={{ textTransform: \"uppercase\" }}\r\n onClick={this.onSave}\r\n />\r\n this.btnSendResultRef[\"sendResult1\"] = ref}\r\n disabled={!!!this.isSaved && (!!this.isChangeForm || IsSave !== 1 || !!currentIsSubmit || !IsEvaluation)}\r\n size={\"medium\"}\r\n color={\"success\"}\r\n startIcon={\"FastForward\"}\r\n viewType={\"filled\"}\r\n label={Config.lang(\"Gui_ket_qua\")}\r\n style={{ textTransform: \"uppercase\" }}\r\n onClick={this.sendResult}\r\n />\r\n \r\n : this.btnSaveRef[\"save1\"] = ref}\r\n disabled={!this.isChangeForm || (IsSave !== 1)}\r\n size={\"medium\"}\r\n color={\"info\"}\r\n startIcon={\"SaveV2\"}\r\n viewType={\"filled\"}\r\n label={Config.lang(\"Luu\")}\r\n style={{ textTransform: \"uppercase\" }}\r\n onClick={this.onSave}\r\n />\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(\r\n state => ({\r\n dataMasterData: state.W39F1011.dataMasterData,\r\n dataCriterionGroup: state.W39F1011.dataCriterionGroup,\r\n dataCriterionCombo: state.W39F1011.dataCriterionCombo,\r\n dataCriterionDetail: state.W39F1011.dataCriterionDetail,\r\n dataComboResults: state.W39F1011.dataComboResults,\r\n dataSaveResult: state.W39F1011.dataSaveResult,\r\n dataHistoryApproval: state.W39F1011.dataHistoryApproval,\r\n getRequiredFields: state.general.getRequiredFields,\r\n }),\r\n dispatch => ({\r\n mainActions: bindActionCreators(mainActions, dispatch),\r\n generalActions: bindActionCreators(generalActions, dispatch),\r\n W39F1011Actions: bindActionCreators(W39F1011Actions, dispatch)\r\n })\r\n ),\r\n withStyles(styles, { withTheme: true })\r\n)(W39F1011);\r\n","/**\r\n * @copyright 2019 @ DigiNet\r\n * @author NAMDANG\r\n * @create 7/7/2020\r\n * @Example\r\n */\r\n\r\nimport React from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport PropTypes from \"prop-types\";\r\nimport * as W39F1031Actions from \"../../../../redux/W3X/W39F1031/W39F1031_actions\";\r\nimport { bindActionCreators, compose } from \"redux\";\r\nimport Config from \"../../../../config\";\r\nimport { Row, Col, FormGroup } from \"react-bootstrap\";\r\nimport ButtonGeneral from \"../../../common/button/button-general\";\r\nimport withStyles from \"@material-ui/core/styles/withStyles\";\r\nimport * as generalActions from \"../../../../redux/general/general_actions\";\r\nimport Attachments from \"../../../common/attachments/attachments\";\r\nimport IconButton from \"@material-ui/core/IconButton\";\r\nimport AttachFileIcon from \"@material-ui/icons/AttachFile\";\r\nimport Modal from \"../../../common/modal/modal\";\r\nimport { OutlinedInput, Typography } from \"@material-ui/core\";\r\nconst styles = (theme) => ({\r\n caption: {\r\n paddingTop: \"7%\",\r\n [theme.breakpoints.down(\"md\")]: {\r\n paddingTop: 0,\r\n },\r\n }\r\n})\r\nclass W39F1031Popup extends React.PureComponent {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n showW39F1031Popup: false,\r\n error: {},\r\n loading: false,\r\n uploading: false,\r\n dataOldAttachments: [],\r\n RefEvaluation01U : \"\",\r\n };\r\n this.attachments = [];\r\n this.deletedFile = [];\r\n }\r\n\r\n componentDidMount() {\r\n const { data } = this.props;\r\n this.loadAttachments();\r\n this.setState({RefEvaluation01U : data.RefEvaluation01U});\r\n }\r\n\r\n resetForm = () => {\r\n this.setState({\r\n });\r\n };\r\n\r\n onClose = () => {\r\n const { onClose } = this.props;\r\n this.resetForm();\r\n if (onClose) onClose();\r\n };\r\n\r\n onAttachment = () => {\r\n if (this.attRef) {\r\n this.attRef.onAttachment();\r\n }\r\n };\r\n\r\n onUploading = value => {\r\n this.setState({ uploading: value });\r\n };\r\n\r\n _getAttachments = () => {\r\n const listAttachments = Config.helpers.getFileInfomations(this.attachments);\r\n const { dataOldAttachments } = this.state;\r\n\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.fileExt ? att.fileExt : \"\"\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\r\n loadAttachments = () => {\r\n const { data } = this.props;\r\n const param = {\r\n KeyID: data.TransID,\r\n TableName: \"D39T2002\"\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 loading:false,\r\n });\r\n }\r\n this.setState({\r\n loading:false,\r\n });\r\n });\r\n };\r\n\r\n onChangeAttachments = (e) => {\r\n this.attachments = e.uploadedFiles ? e.uploadedFiles : [];\r\n if (e.deletedFiles && e.deletedFiles.length > 0) {\r\n this.deletedFile = [ ...e.deletedFiles];\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 onClose = () => {\r\n const { onClose } = this.props;\r\n if (onClose) onClose();\r\n };\r\n\r\n onSave = () => {\r\n const { data } = this.props;\r\n const { RefEvaluation01U } = this.state;\r\n const arrAttachments = this._getAttachments();\r\n const params = {\r\n TransID: data.TransID,\r\n RefEvaluation01U: RefEvaluation01U,\r\n DepartmentID: data.DepartmentID,\r\n arrAttachment:JSON.stringify(arrAttachments)\r\n }\r\n\r\n this.props.W39F1031Actions.save(params, errors => {\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 this.onClose();\r\n Config.notify.show(\"success\", Config.lang(\"DHR_Luu_thanh_cong\"), 2000);\r\n })\r\n }\r\n\r\n handleChange = (key, e) => {\r\n if (!key) return false;\r\n switch (key) {\r\n case \"RefEvaluation01U\":\r\n this.setState({RefEvaluation01U: e.target.value});\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n render() {\r\n let {\r\n statusID,\r\n iPermission,\r\n classes\r\n } = this.props;\r\n const {\r\n uploading,\r\n loading,\r\n dataOldAttachments,\r\n disabled,\r\n RefEvaluation01U\r\n } = this.state;\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n
\r\n \r\n {Config.lang('DHR_Ghi_chu')}\r\n \r\n
\r\n \r\n \r\n this.handleChange(\"RefEvaluation01U\",e)}\r\n aria-describedby=\"outlined-weight-helper-text\"\r\n inputProps={{\r\n \"aria-label\": \"weight\",\r\n }}\r\n multiline={true}\r\n labelWidth={0}\r\n />\r\n \r\n
\r\n
\r\n \r\n this.attRef = ref}\r\n showButton={true}\r\n files={dataOldAttachments}\r\n disabled={(Number(statusID) === 1 || dataOldAttachments.IsAttached === 0 ? true : false)}\r\n maxLength={5}\r\n // uploading={loading}\r\n onUploading={this.onUploading}\r\n onChanged={this.onChangeAttachments}\r\n />\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n 1)}\r\n style={{ textTransform: \"uppercase\" }}\r\n size={\"large\"}\r\n onClick={this.onSave}\r\n />\r\n
\r\n
\r\n \r\n );\r\n }\r\n}\r\n\r\nW39F1031Popup.propTypes = {\r\n open: PropTypes.bool,\r\n onClose: PropTypes.func\r\n};\r\n\r\nexport default compose(\r\n connect(\r\n state => ({\r\n getAttachmentsByTransID: state.general.getAttachmentsByTransID,\r\n getLoadListAttachments: state.general.getLoadListAttachments\r\n }),\r\n dispatch => ({\r\n W39F1031Actions: bindActionCreators(W39F1031Actions, dispatch),\r\n generalActions: bindActionCreators(generalActions, dispatch)\r\n })\r\n ),\r\n withStyles(styles)\r\n)(W39F1031Popup);\r\n"],"sourceRoot":""}