{"version":3,"sources":["config/index.js","components/report/logo-report.png","config/controller.js","localize/localize.js","container/index.js","container/themewrapper.js","container/app.js","index.js","config/environment.js","components/report/styles.js","components/popup/popup-select.js","components/not-permission/not-permission.js","components/login/auth.js","components/popup/popup-select2.js","components/popup/popup-choose.js","components/side-nav/side-nav.js","components/popup/popup.js","components/tool-bar/grid-toolbar.js","components/tool-bar/tlb-search.js","components/tool-bar/grid-filter.js","components/login/login.js","components/not-found/not-found.js","components/maillink/maillink.js","components/report/report.jsx","components/report/report-header.jsx","components/report/report-form.jsx"],"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","env","require","crypto","Config","_classCallCheck","_createClass","lang","getLocalStorage","dataLang","this","isJson","JSON","parse","loadMessages","locale","window","dxMessage","setLocalStorage","stringify","width","height","profile","decryptData","url","process","isHcs","IsHcsPermission","location","href","includes","isPortal","IsPortalPermission","errHcs","errPortal","args","cdn","URL","startsWith","substring","concat","str","e","data","dataDefault","dataSource","limit","rows","DataSource","store","paginate","pageSize","component","param","route","props","path","browserHistory","pathname","getRootPath","cb","_objectSpread","storeFilter","setState","escapeZero","arguments","Array","isArray","UserPictureUrl","defaultValue","indexOf","getCDNPath","newData","captions","action","options","dataOldCompare","itemRender","excludeFields","cap","oldData","item","_defineProperty","old","new","getKeyEnv","_Config$env","prefixLang","keyEnv","trim","localStorage","setItem","isJSONParse","isNewKey","newKey","getItem","removeLocalStorage","_step","_iterator","_createForOfIteratorHelper","s","n","k","removeItem","f","token","tokenCDN","isMobile","color","themes","setting","secret","secretCDN","getToken","filters","formInfo","formID","popup","popup2","debugger","notify","notifyError","viewType","language","perPage","database","helpers","Helpers","controller","popupTransition","Slide","permission","currentMenu","menuType","Number","localization","URlDef","listUsers","encryptKey","coreTheme","deployer","_process","_process$env","REACT_APP_PASSWORD_DEPLOYER","indexDB","getHREmployeeID","HREmployeeID","getDivisionID","DivisionID","getHRTransMonth","TranMonth","getHRTransYear","TranYear","getCreatorHR","CreatorHR","getDatabaseName","getSetting","getHeightGrid","parentHeight","_toolbar","document","getElementById","_header","querySelector","innerHeight","offsetHeight","getLocale","dataSetting","isEncrypt","returnFull","decryptCrypto","settings","find","parseFloat","console","log","logout","deleteDevice","delete","replaceSymbol","replace","toUpperCase","convertDate","format","isUTC","inputFormat","moment","isValid","utc","toISOString","show","getKeyLocalize","text","prefix","l","toLowerCase","mode","keyTmp","match","lc","match2","m","getUser","params","list","flag","_","get","UserPictureURL","getUserPicture","getListUser","arrayID","arr","createDecipher","update","final","encryptCrypto","createCipher","encryptData","CryptoJS","encrypt","toString","stringDecode","Utf8","decrypt","createSaveHistory2","_ref","_asyncToGenerator","_callee","returnData","_ref2","TransID","ModuleID","TransactionID","TransactionName","keyExpr","callbackAfterSave","ortherData","keyTransID","dataType","el","_TransID","content","newDataKeys","oldDataKeys","added","edited","removed","_args","_context","is","t0","_action","createContentHistory","Content","Action","map","d","filter","_d","_dataOld","attributes","saveHistory2","_x","_x2","_x3","_x4","_x5","apply","_ref3","_callee2","status","_context2","_x6","_x7","createSaveHistory","_ref4","_callee3","_ref5","codeID","keyForAdd","keyForRemove","_args3","_context3","t1","dataField","linkedTrans","oldValue","newValue","description84","description01","rowDataOld","saveHistory","_x8","_x9","_x10","_x11","_ref6","_callee4","_context4","_x12","_x13","getMenuInfo","isReload","getMenuV2","errGetMenuV2","dataGetMenuV2","message","getFormInfo","errGetInfo","dataGetInfo","reload","getMenuItem","menu","menuEss","listESS","menuMss","listMSS","dataMenu","MenuItem","o","getModule","ProductID","productID","checkNotify","FormID","sub_text","count_char","str_more","isInteger","getUrlParams","arrayKeys","_step2","URLSearchParams","search","_iterator2","entries","voucher_id","VoucherID","form_id","callChildForm","_params","_ref8","ID","onLoad","onAction","_ref9","_ref10","voucher_id1","VoucherID1","dataParams","IsCallForm","rowData","setItemPerPage","itemPerPage","getDataSource","_itemPerPage","gridRef","items","totalCount","pageIndex","countItems","collapsedItems","_currentTotal","_pageSize","hexToRGBA","hex","alpha","test","r","g","b","parseInt","getInfoAvatar","DepartmentName","ProjectName","DutyName","DateJoined","isAll","EmployeeID","EmployeeName","_i","_Object$keys","vl","module","Controller","_React$Component","_inherits","_super","_createSuper","_this","_len","_key","getGeneralActions","generalActions","homeActions","setFilter","mainActions","updateFilters","deviceToken","delDevice","tokenDevice","React","Component","connect","dispatch","bindActionCreators","forwardRef","localize","vi","en","Index","_Component","componentDidMount","children","isAdmin","stAdmin","packaged","updatedAt","Date","gitLatest","loadLocalize","addEventListener","outClickSideBar","setLangDevextreme","changedRouterEvent","expandSideBar","redirectPage","setFaviconEl","svg","pathinfo","_this$refs","_this$refs$sideBar","_this$refs$sideBar$re","_this$refs$sideBar$re2","_this$refs$sideBar$re3","_this$refs2","_this$refs2$sideBar","_this$refs2$sideBar$r","_this$refs2$sideBar$r2","_this$refs2$sideBar$r3","_this$refs2$sideBar$r4","_this$refs3","_this$refs3$moduleSid","_this$refs3$moduleSid2","_this$refs3$moduleSid3","_this$refs3$moduleSid4","_this$refs3$moduleSid5","_popoverProfile$","_popoverProfileTheme$","_this$refs5","_this$refs5$moduleSid","_this$refs5$moduleSid2","_this$refs5$moduleSid3","_this$refs5$moduleSid4","_this$refs6","_this$refs6$moduleSid","_this$refs6$moduleSid2","_this$refs6$moduleSid3","_this$refs6$moduleSid4","_this$refs6$moduleSid5","btnToogle","moduleMenu","popoverProfile","getElementsByClassName","popoverProfileTheme","refs","childNodes","contains","target","setTimeout","_this$refs$sideBar$re4","_this$refs4","_this$refs4$sideBar","_this$refs4$sideBar$r","_this$refs4$sideBar$r2","sidebarWidth","sideBar","offsetWidth","moduleSideBarStyle","left","isShowModuleSidebar","_this$refs$sideBar$re5","_this$refs7","_this$refs7$sideBar","_this$refs7$sideBar$r","_this$refs7$sideBar$r2","getFormIDFromPath","updateCurrentForm","listen","resetPermission","cfLocalize","LocalizedStrings","setLanguage","setGlobal","setLocalizeCore","setTimeoutToken","time","timer","clearTimeout","checkToken","onLogout","toggleMenuEss","number","isTab","toogleSideBar","_this$refs$sideBar$re6","_this$refs8","_this$refs8$sideBar","_this$refs8$sideBar$r","_this$refs8$sideBar$r2","checkMaintenance","maintenance","now","checkFrom","diff","checkTo","toggleModuleSidebar","_this$refs$sideBar$re7","_this$refs9","_this$refs9$sideBar","_this$refs9$sideBar$r","_this$refs9$sideBar$r2","setCurrentModule","opened","iPermission","loading","prevProps","prevState","snapshot","_children$props$route","_children$props","_children$props$route2","_prevProps$children$p","_prevProps$children","_prevProps$children$p2","_prevProps$children$p3","_Config$getLocalStora","_this2","prevPathname","_this2$refs$sideBar$r","_this2$refs","_this2$refs$sideBar","_this2$refs$sideBar$r2","_this2$refs$sideBar$r3","removeEventListener","_children$props$route3","_children$props2","_children$props2$rout","_localDeployer","_maintenance","_this$props","_this$state","id","_loading","style","display","listExpandContent","listFormIgnoreTracking","_localDeployer2","arrRouterPublic","pass","localDeployer","isAfter","add","DateTo","isBefore","api","isModule","createElement","className","ref","AuthPage","Maintenance","Fragment","LoginPage","UserID","EventTracking","category","label","Notify","Header","assign","SideNav","expand","isModuleSidebar","cusStyle","NotPermission","minWidth","anchorVertical","anchorHorizontal","Popup","Debugger","main","general","currentModule","home","badgeNumber","set","useTheme","ThemeWrapper","hexToRGB","_hex$match$map","x","_hex$match$map2","_slicedToArray","setColorScssStatic","SubColor","body","setProperty","MainColor","contrastText","SecondaryColor","placeholder","fontSize","fontFamily","Success","Info","Warning","Danger","systemRest","getFontSize","_coreTheme$colors","_coreTheme$colors2","_coreTheme$colors3","_coreTheme$colors4","_coreTheme$colors5","_coreTheme$colors6","_coreTheme$colors7","_coreTheme$colors8","_coreTheme$colors9","_coreTheme$colors10","_coreTheme$colors11","_coreTheme$typography","_coreTheme$typography2","_coreTheme$colors12","_coreTheme$colors12$s","_coreTheme$typography3","_coreTheme$typography4","_color","colors","hover","primary","success","warning","danger","secondary","labelText","subText","disabledText","disabled","typography","system","rest","theme","createMuiTheme","palette","light","subtext","MuiTextField","margin","overrides","root","backgroundColor","MuiFormControlLabel","marginLeft","MuiTabs","minHeight","indicator","borderRadius","marginRight","MuiTab","textColorPrimary","MuiOutlinedInput","MuiSelect","icon","top","iconOutlined","right","MuiCardContent","padding","MuiFormHelperText","position","bottom","fontWeight","helperText","lineHeight","MuiAutocomplete","zIndex","PrivateNotchedOutline","legend","border","MuiDialogTitle","MuiDialogActions","MuiButton","MuiFormLabel","MuiInput","underline","borderBottom","input","MuiInputBase","MuiDivider","MuiIconButton","MuiChip","textTransform","button","CoreThemeProvider","MuiThemeProvider","sagaMiddleware","createSagaMiddleware","createStore","allReducers","applyMiddleware","thunk","App","initMessages","viMessages","enMessages","Provider","run","rootSaga","ReactDOM","render","Routes","REACT_APP_PREFIXLANG","companyCode","mookAPI","useStyles","makeStyles","flexGrow","background","flexDirection","wrapperDiv","paddingLeft","spacing","mainTitle","letterSpacing","boxSub","alignItems","subTitle","fontStyle","titleContent","borderLeft","iconSubTitle","paddingRight","titleInput","paper","boxShadow","conven","textAlign","radioButton","clsfx","clear","PopupSelect","_PureComponent","_onInit","onInit","isOpen","open","onOpen","tmpSelectRowKeys","_onEntered","selectedRowKeys","close","onClose","onSave","onSelectionChanged","currentSelectedRowKeys","_mapDataSource","_this$props2","allowFilterSelected","sortOrder","_this$props3","column","skipPerPage","listPerPage","typePaging","title","maxWidth","_objectWithoutProperties","_excluded","Modal","onEntered","ModalHeader","ModalBody","GridContainer","pagerFullScreen","repaintChangesOnly","allowColumnReordering","highlightChanges","columnAutoWidth","rowAlternationEnabled","filterRow","visible","selectedRowKey","selection","allowSelectAll","selectAllMode","showCheckBoxesMode","showRowLines","showBorders","showColumnLines","noDataText","Column","caption","ModalFooter","borderTop","Button","startIcon","onClick","PureComponent","defaultProps","ModuleNotFound","PageContainer","FormGroup","row","Col","checkAuth","queryString","getAuth","onLogin","user","base","UserBase","expire","getTime","redirectScreen","query","classes","Typography","variant","ReactLoading","compose","withStyles","PopupSelect2","multiple","tmpSelectedRowKeys","_toConsumableArray","onSearch","strSearch","StrSearch","onChosen","_selectionChanged","currentDeselectedRowKeys","onChangePage","page","skip","onChangePerPage","per","fullWidth","allowSearch","searchPlaceholder","totalItems","gridProps","_skipPerPage","TextInput","onKeyDown","keyCode","onChange","maxHeight","typeShort","innerWidth","allowColumnResizing","idx","initData","total","ChooseModal","memo","useDispatch","_props$dataFilter","dataFilter","_dataSource","actionLoadGrid","selected","ModalProps","GridProps","columns","onChoosed","_useState","useState","_useState2","dataGrid","setDataGrid","_useState3","_useState4","dataGridLoading","setDataGridLoading","useRef","refGrid","refSelectedRowKeys","refSelectedRowData","timerSearch","timerContentReady","selectAll","isRemotePaging","useMemo","_createEventParams","cancel","useEffect","current","isEmpty","_data","loadData","event","_onChangePage","_onChangePerPage","_onChoosed","selectedRowsData","_onSelectionChanged","selectRows","deselectAll","deselectKeys","byKey","allowSelect","deselectRows","renderDataGrid","_data2","_data3","reference","showOperationChooser","onContentReady","onEditorPreparing","_e$row","_e$row$data","parentType","editorOptions","Row","xs","sm","md","lg","endIcon","_e$target","heightMenu","getNestedChildren","parent","out","ParentMenuID","MenuID","toggleNav","clientWidth","classList","remove","expanded","toggleMenuESS","handleChangeSelectedModule","selectedModule","showMore","showMoreChild","expandGroup","ModuleGroup","moduleData","_expandGroup$ModuleGr","_Config$module","AppFormID","FormCall","FormDesc","FormIDPermission","IsAW","IsPermission","MenuGroupID","Parameters","Type","_menu$MenuItem","_item$ModuleID","_selectedModule$Modul","_selectedModule$Modul2","_selectedModule$Modul3","_selectedModule$Modul4","_selectedModule$Modul5","MenuGroupName","ModuleName","ModuleName01","ShortName","unshift","Profile","ExpansionPanel","collapseBoard","ExpansionPanelSummary","Animated","animationIn","animationInDuration","isVisible","Tooltip","tooltip","disableHoverListener","placement","aria-label","Icons","iconArrowCollapse","ExpansionPanelDetails","collapseBoardContent","ItemMenu","index","_expand","_React$Component2","_super2","_this3","getClassName","child","pth","split","mdl","cls","Disabled","onMenuClick","_this3$props","_item$ModuleID2","selectModule","elChild","parameter","elHome","_Config$language","_badgeNumber$OKR","_Config$coreTheme$col","_Config$coreTheme","_this4","MenuName","badgeOKR","OKR","line","paddingBottom","Badge","NumWaitApproval","invisible","IconMenu","heading","headingMinium","overflow","textOverflow","whiteSpace","withTheme","_getInit","cbConfirm","cbCancel","cbClose","detail","lblBtnOk","lblBtnNo","yesText","noText","_options","onCancel","onConfirm","getType","getHtmlForText","_text","renderContent","subtitle","description","originalError","customMessage","codeError","code","_customMessage","messageError","_data$data","Message","_this$state2","confirmProps","cancelProps","PopupCore","css","wordBreak","pressESCToClose","alignSelf","btnDetail","collapseDetail","marginTop","GridToolbar","renderButton","buttonRender","buttonType","DropdownToolbar","menuItem","buttonName","dataFieldLb","CheckBox","onValueChanged","ButtonBasic","curPerPage","currentPage","allowAdding","onAddNew","onSendMail","buttonCRM","isPer","showSendMail","valueSearch","align","ButtonGeneral","typeButton","onButtonClick","onSendMailClick","SearchToolBar","timeDeplay","vlFilter","onReset","outline","borderTopLeftRadius","borderBottomLeftRadius","onKeyUp","justifyContent","cursor","GridFilterBar","onFilter","filterData","Num","getToTal","CompanyStatus","_React$PureComponent","handleLanguageChange","handleSaveAccount","saveAccount","NodeParent","Node","onFormSubmit","userID","passW","blockListLogin","valueOf","timeBlock","isSubmit","login","username","password","_location$state$menuT","_location$state","IsDefaultMSS","txtUserID","setTextBox","instance","eUsernameFlag","ePasswordFlag","openPopupW00F1015","accountSaved","focus","click","logoImg","logoImgCustomer","allowMultiLang","REACT_APP_MULTILANG","Image","src","htmlFor","TextBox","onTextValueChanged","onKeyDownAccount","maxLength","showClearButton","Validator","RequiredRule","Checkbox","checked","onEventSave","CoreButton","onForgotPassword","ButtonSM","useSubmitBehavior","TextField","select","W00F1015","onClosePopup","alt","MailLink","getInfo","FormParentID","_FormID","Report","Container","HeaderReport","FormReport","Box","my","gutterBottom","reportActions","attRef","listFiles","setListFiles","isSave","setIsSave","_useState5","_useState6","isUploading","setIsUploading","_useState7","_useState8","listDetail","setListDetail","_useState9","_useState10","listDetailNote","setListDetailNote","_useState11","_useState12","objectName","setObjectName","_useState13","_useState14","contactPersonName","setContactPersonName","_useState15","_useState16","setPosition","_useState17","_useState18","respondedDate","setRespondedDate","_useState19","_useState20","respondedNotes","setRespondedNotes","_useState21","_useState22","totalPoint","setTotalPoint","_useState23","_useState24","setDetail","_useState25","_useState26","companyName","setCompanyName","_useState27","_useState28","companyAddress","setCompanyAddress","_useState29","_useState30","companyPhone","setCompanyPhone","_useState31","_useState32","companyFax","setCompanyFax","textConven","loadDataForm","callBackDisabled","checkAccess","errorCode","Status","setDataForm","toFixed","date","master","footer","ObjectName","ContactPersonName","Position","RespondedDate","RespondedNotes","TotalPoint","_listDetail","_listDetailNote","CriteriaID","Point","DetailRespondedNotes","CompanyName","CompanyAddress","CompanyPhone","CompanyFax","handleTextChange","field","handleRadioChange","criteriaID","_saveCDN","uploadFiles","listAttachments","_uploadFile","paths","att","fileName","size","fileSize","ext","getExtFile","_saveAttachments","afterSaveAttachment","arrAttachment","FileName","FileSize","FileExt","TableName","KeyID","saveAttachment","_saveData","tmp","paramSave","saveVouchers","validateForm","InputLabelProps","shrink","MuiPickersUtilsProvider","utils","DateFnsUtils","KeyboardDatePicker","disableToolbar","TextFieldComponent","DoneAllIcon","Grid","container","justify","Paper","overflowY","Table","TableHead","TableRow","TableCell","rowSpan","colSpan","TableBody","OrderNum","Description","Radio","handleDetailNoteChange","multiline","Attachments","uploading","showButton","chooseWithoutSave","onUploading","files","ButtonCustom","onAttachment","Divider"],"mappings":"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","file":"static/js/main~21833f8f.cbc90241.chunk.js","sourcesContent":["/**\r\n * @copyright 2019 @ DigiNet\r\n * @author tranghoang\r\n * @create 2019/04/24 18:12\r\n * @update 2019/04/24 18:12\r\n */\r\n\r\nimport {locale, loadMessages} from 'devextreme/localization';\r\nimport * as Helpers from '../components/common/helpers';\r\nimport {DataSource} from \"devextreme/data/data_source/data_source\";\r\nimport {isMobile} from \"react-device-detect\";\r\nimport {browserHistory} from \"react-router\";\r\nimport * as CryptoJS from \"crypto-js\";\r\nimport moment from \"moment\";\r\nimport _ from \"lodash\";\r\nconst env = require('./environment');\r\nconst crypto = require('crypto');\r\n\r\nclass Config {\r\n\r\n//////////////////////////\r\n //Use localStorage..\r\n static getKeyEnv = (key = \"\") => {\r\n const prefixLang = Config?.env?.prefixLang || \"\";\r\n let keyEnv = Config.env.keyEnv && Config.env.keyEnv !== \"NO\" ? Config.env.keyEnv : \"\";\r\n keyEnv = keyEnv.trim() + prefixLang.trim();\r\n return keyEnv.trim() + key;\r\n };\r\n static setLocalStorage = (key, value) => {\r\n if (!key) return false;\r\n key = Config?.getKeyEnv(key);\r\n try {\r\n localStorage.setItem(key, value);\r\n } catch (e) {\r\n return false;\r\n }\r\n };\r\n static getLocalStorage = (key, isJSONParse = false, isNewKey = false) => {\r\n if (!key) return null;\r\n const newKey = Config?.getKeyEnv(key);\r\n try {\r\n let item = localStorage.getItem(newKey);\r\n if (!isNewKey && !item) {\r\n item = localStorage.getItem(key);\r\n }\r\n if (this.isJson(item) && isJSONParse) item = JSON.parse(item);\r\n return item;\r\n } catch (e) {\r\n return null;\r\n }\r\n };\r\n static removeLocalStorage = (keys) => {\r\n if (!keys || keys.length <= 0) return false;\r\n const keyEnv = Config?.getKeyEnv();\r\n try {\r\n if (Array.isArray(keys)) {\r\n for (let key of keys) {\r\n const k = keyEnv ? keyEnv.trim() + key : key;\r\n localStorage.removeItem(k);\r\n }\r\n } else {\r\n keys = keyEnv ? keyEnv.trim() + keys : keys;\r\n localStorage.removeItem(keys);\r\n }\r\n return true;\r\n } catch (e) {\r\n return false;\r\n }\r\n };\r\n //Use localStorage..\r\n ////////////////////////////////////////\r\n\r\n static env = env;\r\n static token = {};\r\n static tokenCDN = {};\r\n static isMobile = isMobile;\r\n static color = {};\r\n static themes = [];\r\n static profile = {};\r\n static setting = [];\r\n static cdn = {\r\n URL: env.cdn,\r\n secret: env.secretCDN,\r\n token: {}\r\n };\r\n static getToken = false;\r\n static filters = null;\r\n static formInfo = null;\r\n static formID = \"\";\r\n static popup = null;\r\n static popup2 = null;\r\n static debugger = null;\r\n static notify = null;\r\n static notifyError = null;\r\n static viewType = 0;\r\n static language = null;\r\n static perPage = 20;\r\n static database = '';\r\n static helpers = Helpers;\r\n static controller = null;\r\n static popupTransition = Helpers.popupTransitions.Slide;\r\n static permission = {\r\n 'USER': 1,\r\n 'ADMIN': 2,\r\n 'SUPPORTER': 3,\r\n 'BOT': 4\r\n };\r\n static currentMenu = null;\r\n static menuType = Number(Config.getLocalStorage(\"MENUTYPEDHR\")); //default MSS...\r\n static localization = null;\r\n static URlDef = require('../assets/images/icon-user-default.png');\r\n static listUsers = [];\r\n static encryptKey = \"DHR@012345678#keyEncrypt\";\r\n static coreTheme = null;\r\n static deployer = process?.env?.REACT_APP_PASSWORD_DEPLOYER || '@12345@';\r\n static indexDB = null;\r\n\r\n static getHREmployeeID = () => {\r\n let result = '';\r\n if (this.profile.HREmployeeID) {\r\n result = this.profile.HREmployeeID;\r\n }\r\n return result\r\n };\r\n\r\n static getDivisionID = () => {\r\n let result = '';\r\n if (this.profile.DivisionID) {\r\n result = this.profile.DivisionID;\r\n }\r\n return result;\r\n };\r\n\r\n static getHRTransMonth = () => {\r\n let result = '';\r\n if (this.profile.TranMonth) {\r\n result = this.profile.TranMonth;\r\n }\r\n return result;\r\n };\r\n\r\n static getHRTransYear = () => {\r\n let result = '';\r\n if (this.profile.TranYear) {\r\n result = this.profile.TranYear;\r\n }\r\n return result;\r\n };\r\n\r\n static getCreatorHR = () => {\r\n let result = '';\r\n if (this.profile.CreatorHR) {\r\n result = this.profile.CreatorHR;\r\n }\r\n return result\r\n };\r\n\r\n static getDatabaseName = () => {\r\n return Config.getSetting('DB_APP_NAME') ? Config.getSetting('DB_APP_NAME') : \"\";\r\n };\r\n\r\n /**\r\n * Get height of grid with 100% - [heigth of header] - [height of toolbar] - [height of paging]\r\n * @param parentHeight: number\r\n * @returns {number}\r\n */\r\n static getHeightGrid = (parentHeight) => {\r\n const _toolbar = document.getElementById(\"action-toolbar\");\r\n const _header = document.querySelector(\".header-container\");\r\n const _pHeight = parentHeight || window.innerHeight;\r\n const headerHeight = _header ? _header.offsetHeight : 50;\r\n const toolbarHeight = _toolbar ? _toolbar.offsetHeight : 50;\r\n return _pHeight - (headerHeight + toolbarHeight + 15); //15: padding bottom of content-container\r\n };\r\n\r\n static getLocale = () => {\r\n let result = \"vi\";\r\n if (Config.getLocalStorage('langDHR')) {\r\n result = Config.getLocalStorage('langDHR');\r\n }\r\n return result;\r\n };\r\n\r\n /**\r\n * Get system setting\r\n * Example: getSetting('DHR_NAME') => 'DRD02V41'\r\n * @param name\r\n * @param dataSetting\r\n * @param isEncrypt\r\n * @param returnFull\r\n * @returns {any|Array|{rows}|null|*|number}\r\n */\r\n static getSetting = (name, dataSetting, isEncrypt = false, returnFull = false) => {\r\n dataSetting = dataSetting ? dataSetting : Config.setting;\r\n dataSetting = isEncrypt ? JSON.parse(this.decryptCrypto(dataSetting)) : dataSetting;\r\n if (dataSetting) {\r\n const settings = dataSetting && dataSetting.rows ? dataSetting.rows : dataSetting;\r\n if (settings) {\r\n if (!name) {\r\n if (returnFull) {\r\n return dataSetting;\r\n } else {\r\n return settings;\r\n }\r\n } else {\r\n let setting = settings.find(s => s.name === name);\r\n\r\n if (setting && setting.name) {\r\n switch (setting.type) {\r\n case \"NUMBER\":\r\n return parseFloat(setting.value);\r\n case \"JSON\":\r\n return JSON.parse(setting.value);\r\n default:\r\n return setting.value;\r\n }\r\n }\r\n }\r\n } else {\r\n console.log(\"decrypt setting error\");\r\n }\r\n }\r\n\r\n return null;\r\n };\r\n\r\n static logout = (route = \"\") => {\r\n Config.controller.deleteDevice(() => {\r\n Config.removeLocalStorage('TOKENDHR');\r\n Config.removeLocalStorage('PROFILEDHR');\r\n Config.removeLocalStorage('SETTINGDHR');\r\n Config.removeLocalStorage('FORMINFODHR');\r\n Config.removeLocalStorage('MENUTYPEDHR');\r\n // Config.removeLocalStorage('langDHR');\r\n // Config.removeLocalStorage('breadcrumbHR');\r\n Config.removeLocalStorage('tokenCDN');\r\n Config.removeLocalStorage('CURRENTMODULE');\r\n if (Config.indexDB) {\r\n Config.indexDB.delete().then(() => {\r\n window.location.href = Config.getRootPath() + route;\r\n });\r\n } else {\r\n window.location.href = Config.getRootPath() + route;\r\n }\r\n });\r\n };\r\n\r\n /**\r\n * Replace special symbol,using for control as textbox Code ,ID .v.v.\r\n * Ex: replaceSymbol('*Khoái') => 'Khoai'\r\n * @param value\r\n * @returns {string}\r\n */\r\n static replaceSymbol = (value) => {\r\n // let str = str.replace(/[|?~=\",{}[\\];^%']/gi, '');\r\n let str = value.replace(/à|á|ạ|ả|ã|â|ầ|ấ|ậ|ẩ|ẫ|ă|ằ|ắ|ặ|ẳ|ẵ/g, \"a\");\r\n str = str.replace(/è|é|ẹ|ẻ|ẽ|ê|ề|ế|ệ|ể|ễ/g, \"e\");\r\n str = str.replace(/ì|í|ị|ỉ|ĩ/g, \"i\");\r\n str = str.replace(/ò|ó|ọ|ỏ|õ|ô|ồ|ố|ộ|ổ|ỗ|ơ|ờ|ớ|ợ|ở|ỡ/g, \"o\");\r\n str = str.replace(/ù|ú|ụ|ủ|ũ|ư|ừ|ứ|ự|ử|ữ/g, \"u\");\r\n str = str.replace(/ỳ|ý|ỵ|ỷ|ỹ/g, \"y\");\r\n str = str.replace(/đ/g, \"d\");\r\n str = str.replace(/À|Á|Ạ|Ả|Ã|Â|Ầ|Ấ|Ậ|Ẩ|Ẫ|Ă|Ằ|Ắ|Ặ|Ẳ|Ẵ/g, \"A\");\r\n str = str.replace(/È|É|Ẹ|Ẻ|Ẽ|Ê|Ề|Ế|Ệ|Ể|Ễ/g, \"E\");\r\n str = str.replace(/Ì|Í|Ị|Ỉ|Ĩ/g, \"I\");\r\n str = str.replace(/Ò|Ó|Ọ|Ỏ|Õ|Ô|Ồ|Ố|Ộ|Ổ|Ỗ|Ơ|Ờ|Ớ|Ợ|Ở|Ỡ/g, \"O\");\r\n str = str.replace(/Ù|Ú|Ụ|Ủ|Ũ|Ư|Ừ|Ứ|Ự|Ử|Ữ/g, \"U\");\r\n str = str.replace(/Ỳ|Ý|Ỵ|Ỷ|Ỹ/g, \"Y\");\r\n str = str.replace(/Đ/g, \"D\");\r\n str = str.replace(/\\s/g, '');\r\n str = str.replace(/[^0-9a-z_\\-#*/(\\\\)]/gi, '');\r\n\r\n return str.toUpperCase();\r\n };\r\n\r\n /**\r\n * Convert date by special format\r\n * @param value\r\n * @param defaultValue\r\n * @param format\r\n * @param isUTC\r\n * @param inputFormat\r\n * @returns {string}\r\n */\r\n\r\n static convertDate = (value, defaultValue, format, isUTC = true, inputFormat) => {\r\n if(!value){\r\n return defaultValue ?? null;\r\n }\r\n else if (!moment(value, inputFormat).isValid()) {\r\n Config.popup.show(\"ERROR\", `Invalid date is Format: ${value}`)\r\n return defaultValue ?? null;\r\n }\r\n if (isUTC) {\r\n if (format) return moment.utc(value, inputFormat).format(format);\r\n else return moment(value, inputFormat).toISOString();\r\n } else {\r\n return moment(value, inputFormat).format(format);\r\n }\r\n };\r\n\r\n /**\r\n * Using translate resource of project (caption,title,description,label,text.v.v.)\r\n * Example : lang(Dang_nhap) => vi:Đăng nhập || en :Log In\r\n * @param text\r\n * @param mode\r\n * @returns {*}\r\n */\r\n static getKeyLocalize = (text) => {\r\n if (!Config.localization || !text) return \"\";\r\n const prefix = this.env.prefixLang || \"ERP_\";\r\n if (text && text.includes(prefix)) text = text.replace(prefix, '');\r\n return Object.keys(Config.localization).find(l => {\r\n if (l && l.includes(prefix)) l = l.replace(prefix, '');\r\n return l.toLowerCase() === text.toLowerCase();\r\n });\r\n };\r\n static lang = (text, mode) => {\r\n let str;\r\n if (Config.localization !== null) {\r\n let keyTmp = text;\r\n if (text && text.match(/%(.*?)%/g)) {\r\n keyTmp = text.replace(/%(.*?)%/g, \"%p\"); //define key param, require is %p%.\r\n }\r\n let key = this.getKeyLocalize(keyTmp);\r\n if(mode){\r\n const lc =Config.getLocalStorage('LOCALIZE');\r\n const lang = JSON.parse(lc);\r\n str = lang[mode][key];\r\n\r\n } else {\r\n // str = Config.localization[text] ? Config.localization[text] : Config.localization[text1];\r\n str = Config.localization[key];\r\n }\r\n if (typeof str !== \"undefined\") {\r\n const match = text.match(/%(.*?)%/i);\r\n const match2 = text.match(/%(.*?)%/g);\r\n if (match) {\r\n match2.forEach(m => {\r\n m = m.slice(1, -1);\r\n str = str.replace(\"%p\", m);\r\n });\r\n }\r\n return str;\r\n }\r\n }\r\n return text;\r\n };\r\n\r\n /**\r\n * Set language devextreme component\r\n * @returns {void}\r\n */\r\n static setLangDevextreme() {\r\n const lang = Config.getLocalStorage('langDHR');\r\n let dataLang = Config.getLocalStorage('LOADDEVEXTREME');\r\n if(dataLang && this.isJson(dataLang)){\r\n dataLang = JSON.parse(dataLang);\r\n loadMessages(dataLang);\r\n locale(lang);\r\n }\r\n if (lang === 'vi' && window.dxMessage) {\r\n Config.setLocalStorage('LOADDEVEXTREME', JSON.stringify(window.dxMessage));\r\n loadMessages(window.dxMessage);\r\n locale('vi');\r\n }\r\n else if(lang === 'en'){\r\n locale('en');\r\n }\r\n }\r\n\r\n static randomSRC (width, height){\r\n const widthImage = width ? width : 320;\r\n const heightImage = height ? height : 320;\r\n return \"https://loremflickr.com/\"+widthImage+\"/\"+heightImage;\r\n };\r\n\r\n static getRootPath() {\r\n let profile = Config.decryptData(Config.getLocalStorage('PROFILEDHR'));\r\n profile = profile ? JSON.parse(profile) : null;\r\n let url = (process && process.env && process.env.REACT_APP_ROOT) ? process.env.REACT_APP_ROOT : '/';\r\n if(!profile) return url;\r\n const isHcs = profile.IsHcsPermission && window.location.href.includes('hcs');\r\n const isPortal = profile.IsPortalPermission && window.location.href.includes('portal');\r\n const errHcs = profile.IsHcsPermission && !window.location.href.includes('hcs');\r\n const errPortal = profile.IsPortalPermission && !window.location.href.includes('portal');\r\n if(isHcs){\r\n url += 'hcs/';\r\n }\r\n else if(isPortal){\r\n url += 'portal/';\r\n }\r\n else if(errHcs || errPortal){\r\n url += errHcs ? 'hcs/' : 'portal/';\r\n window.location.href=url;\r\n }\r\n return url;\r\n }\r\n\r\n /**\r\n * Return url with CDN.\r\n * @param args (accept boolean and string - boolean or url path)\r\n * @returns {string}\r\n */\r\n static getCDNPath(args) {\r\n //case 1: get CDN path with slash\r\n if (typeof args === \"boolean\") return this.cdn.URL + (args ? \"/\" : \"\");\r\n\r\n //case 2: get URL with CDN\r\n if (args && typeof args === \"string\") {\r\n if (args.includes(\"://\")) return args;\r\n if (args.startsWith(\"/\")) args = args.substring(1);\r\n return `${this.cdn.URL}/${args}`;\r\n }\r\n return `${this.cdn.URL}/`;\r\n }\r\n\r\n static isJson(str) {\r\n try {\r\n JSON.parse(str);\r\n } catch (e) {\r\n return false;\r\n }\r\n return true;\r\n }\r\n\r\n /*\r\n * Func parse string JSON\r\n * data {string} data is stringified\r\n * dataDefault\r\n */\r\n static parseJson(data, dataDefault) {\r\n try {\r\n const result = JSON.parse(data);\r\n return dataDefault ?? result;\r\n } catch (e) {\r\n return null;\r\n }\r\n }\r\n\r\n static storeDataSoureDevExtreme(dataSource, limit) {\r\n if(dataSource && dataSource.rows) dataSource=dataSource.rows;\r\n if (!dataSource || dataSource.length <= 0) return [];\r\n return new DataSource({\r\n store: dataSource,\r\n paginate: true,\r\n pageSize: limit ? limit : 10\r\n });\r\n }\r\n\r\n /**\r\n * Save state to location with browserHistory.\r\n * @param component\r\n * @param param = {}\r\n */\r\n static setStoreState(component, param) {\r\n const route = component.props.route.path;\r\n\r\n browserHistory.push({\r\n pathname: Config.getRootPath() + route,\r\n state: param\r\n });\r\n }\r\n\r\n /**\r\n * Get state from location and set state of component with browserHistory.\r\n * @param component\r\n * @param cb callback\r\n * @returns null\r\n */\r\n static getStoreState(component, cb) {\r\n const route = component.props.route.path;\r\n const data = component.props.location && component.props.location.state ? component.props.location.state : null;\r\n const state = {...data, storeFilter: true};\r\n\r\n if (data && (!data.hasOwnProperty(\"menu\") || Object.keys(data).length > 1)) {\r\n component.setState(state, () => {\r\n cb && cb();\r\n });\r\n browserHistory.push({\r\n pathname: Config.getRootPath() + route,\r\n });\r\n }\r\n return data;\r\n }\r\n\r\n static isEmpty(value, escapeZero = false) {\r\n switch (typeof value) {\r\n case \"object\": {\r\n if (Array.isArray(value))\r\n return value.length <= 0;\r\n else\r\n return (value && Object.keys(value).length <= 0) || !value;\r\n }\r\n case \"string\": {\r\n return !value;\r\n }\r\n case \"number\": {\r\n if (!escapeZero)\r\n return value === 0 ? false : !value;\r\n else\r\n return !value;\r\n }\r\n default: {\r\n return !value;\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Get user picture url.\r\n * @param UserPictureUrl\r\n */\r\n\r\n static getUserPicture(UserPictureUrl, defaultValue) {\r\n if (!UserPictureUrl) return defaultValue ? defaultValue : null;\r\n\r\n if (UserPictureUrl.indexOf('http') < 0) {\r\n return this.getCDNPath() + UserPictureUrl;\r\n }\r\n\r\n return UserPictureUrl;\r\n }\r\n\r\n static getUser = (params) => {\r\n // paramsDef = {\r\n // EmployeeID: \"#1234\",\r\n // EmployeeName: \"Cristiano Ronaldo\",\r\n // UserPictureURL: null,\r\n // };\r\n let item = null;\r\n let list = this.listUsers || [];\r\n if(list && list.length > 0){\r\n list.forEach(i=>{\r\n let flag = true;\r\n Object.keys(params).forEach((key)=>{\r\n if(i[key] !== params[key]) flag = false;\r\n });\r\n if(flag){\r\n item = flag ? i : item;\r\n return true;\r\n }\r\n\r\n });\r\n }\r\n item = item || {};\r\n if(!_.get(item,\"UserPictureURL\", false)) return item;\r\n item.UserPictureURL = this.getUserPicture(item.UserPictureURL);\r\n return item;\r\n };\r\n\r\n static getListUser = (arrayID, key = \"EmployeeID\") => {\r\n let arr = [];\r\n let list = this.listUsers || [];\r\n if(list && list.length > 0){\r\n list.forEach(i=>{\r\n if(arrayID.includes(i[key])){\r\n i.UserPictureURL = this.getUserPicture(i.UserPictureURL);\r\n arr.push(i);\r\n }\r\n });\r\n }\r\n return arr;\r\n\r\n };\r\n\r\n static decryptCrypto = (text) => {\r\n try {\r\n const key = crypto.createDecipher('aes-256-cbc', this.env.secret + '@^1#');\r\n const str = key.update(text, 'hex', 'utf8');\r\n\r\n return str + key.final('utf8');\r\n } catch (e) {\r\n console.log(\"decrypt error\", e);\r\n return false;\r\n }\r\n };\r\n\r\n static encryptCrypto = (text) => {\r\n try {\r\n const key = crypto.createCipher('aes-256-cbc', this.env.secret + '@^1#');\r\n const str = key.update(text, 'utf8', 'hex');\r\n\r\n return str + key.final('hex');\r\n } catch (e) {\r\n console.log(\"encrypt error\");\r\n return false;\r\n }\r\n };\r\n\r\n //Encryptdata...\r\n static encryptData = (data, encryptKey) => {\r\n if (!data || typeof data !== \"string\") return false;\r\n try {\r\n encryptKey = encryptKey ? encryptKey : this.encryptKey;\r\n return CryptoJS.AES.encrypt(data, encryptKey).toString();\r\n } catch (e) {\r\n console.log(\"encrypt error\", e);\r\n return false;\r\n }\r\n };\r\n\r\n //Decrypt data...\r\n static decryptData = (data, encryptKey, stringDecode = CryptoJS.enc.Utf8) => {\r\n if (!data) return null;\r\n try {\r\n encryptKey = encryptKey ? encryptKey : this.encryptKey;\r\n return CryptoJS.AES.decrypt(data, encryptKey).toString(stringDecode);\r\n } catch (e) {\r\n console.log(\"decrypt error\", e);\r\n return null;\r\n }\r\n };\r\n\r\n /**\r\n * Create store history\r\n * @param newData\r\n * @param captions: {\r\n * @RecInfoTitle: null, //null - data_RectInfoTitle\r\n * @CaseStatusName: \"DHR_Ten_trang_thai\",\r\n * @HandlerID: \"DHR_Nguoi_xu_ly\",\r\n * ....\r\n * },\r\n * @param action: 0 | 1 | 2 | 3\r\n * @param options: {\r\n * @TransID: TransID,\r\n * @keyTransId: TransID\r\n * @TransactionID: \"\",\r\n * @TransactionName: \"\",\r\n * @ModuleID: \"W25\",\r\n * @keyExpr: keyExprt for array\r\n * @ortherData: Some orther data,\r\n * @itemRender: function,\r\n * @excludeFields: [\"CaseID\", \"CaseCode\"],\r\n * @callbackAfterSave:\r\n * }\r\n * @param dataOldCompare\r\n * @param returnData\r\n * @returns {boolean|Array}\r\n */\r\n static createContentHistory(newData, captions, action, options, dataOldCompare) {\r\n if (!newData || !captions || (action !== 0 && !action)) return null;\r\n if (action === 1 && !dataOldCompare) return null;\r\n\r\n const {itemRender, excludeFields} = options;\r\n let obj = {};\r\n if (action !== 1) { //Khong phai edit\r\n Object.keys(captions).forEach(cap => {\r\n if (excludeFields && excludeFields.includes(cap)) return false;\r\n const key = captions[cap] ? captions[cap] : \"data_\" + cap;\r\n const param = {data: newData, oldData: null, action: action, key: cap, item: {[key]: captions[cap]}};\r\n obj[key] = itemRender && itemRender(param, \"Content\") ? itemRender(param, \"Content\") : (newData[cap] || null);\r\n });\r\n } else {\r\n Object.keys(captions).forEach(cap => {\r\n if (excludeFields && excludeFields.includes(cap)) return false;\r\n if (dataOldCompare[cap] !== newData[cap]) {\r\n const key = captions[cap] ? captions[cap] : \"data_\" + cap;\r\n const param = {data: newData, oldData: dataOldCompare, action: action, key: cap, item: {[cap]: captions[cap]}};\r\n obj[key] = {\r\n old: itemRender && itemRender(param, \"Content_OLD\") ? itemRender(param, \"Content_OLD\") : (dataOldCompare[cap] || null),\r\n new: itemRender && itemRender(param, \"Content_NEW\") ? itemRender(param, \"Content_NEW\") : (newData[cap] || null)\r\n }\r\n }\r\n });\r\n }\r\n return Object.keys(obj).length > 0 ? obj : null;\r\n }\r\n static createSaveHistory2 = async (newData, captions, action, options, dataOldCompare, returnData = false) => {\r\n if (!newData || !captions || (action !== 0 && !action)) return false;\r\n if (action === 1 && !dataOldCompare) return false;\r\n if (action === 1 && Object.is(newData) !== Object.is(dataOldCompare)) return false;\r\n // if (!options ||!options.TransID) return false;\r\n\r\n //Process..\r\n const {TransID, ModuleID, TransactionID, TransactionName, keyExpr,\r\n callbackAfterSave, ortherData, itemRender, keyTransID\r\n } = options || {};\r\n let data = [];\r\n let dataType = newData ? Array.isArray(newData) ? \"array\" : (typeof newData === \"object\" ? \"object\" : null) : null;\r\n let param = {};\r\n let el = null;\r\n switch (dataType) {\r\n case \"object\":\r\n const _TransID = TransID ? TransID : (newData[keyTransID] ? newData[keyTransID] : newData[keyExpr]);\r\n if (action < 0 || (action !== 0 && !action)) {\r\n [0,1,3].forEach(_action => {\r\n param = {data: newData, oldData: dataOldCompare, action: _action,captions: captions};\r\n const content = this.createContentHistory(newData, captions, _action, options, dataOldCompare);\r\n if (content) {\r\n el = {\r\n ModuleID: itemRender && itemRender(param, \"ModuleID\") ? itemRender(param, \"ModuleID\") : (ModuleID || \"\"),\r\n TransactionID: itemRender && itemRender(param, \"TransactionID\") ? itemRender(param, \"TransactionID\") : (TransactionID || \"\"),\r\n TransactionName: itemRender && itemRender(param, \"TransactionName\") ? itemRender(param, \"TransactionName\") : (TransactionName || \"\"),\r\n TransID: itemRender && itemRender(param, \"TransID\") ? itemRender(param, \"TransID\") : (_TransID || _TransID === 0 ? _TransID : \"\"),\r\n Content: content,\r\n Action: itemRender && itemRender(param, \"Action\") ? itemRender(param, \"Action\") : (_action || 0),\r\n };\r\n data.push(el);\r\n }\r\n });\r\n } else {\r\n param = {data: newData, oldData: dataOldCompare, action: action,captions: captions};\r\n const content = this.createContentHistory(newData, captions, action, options, dataOldCompare);\r\n if (content) {\r\n el = {\r\n ModuleID: itemRender && itemRender(param, \"ModuleID\") ? itemRender(param, \"ModuleID\") : (ModuleID || \"\"),\r\n TransactionID: itemRender && itemRender(param, \"TransactionID\") ? itemRender(param, \"TransactionID\") : (TransactionID || \"\"),\r\n TransactionName: itemRender && itemRender(param, \"TransactionName\") ? itemRender(param, \"TransactionName\") : (TransactionName || \"\"),\r\n TransID: itemRender && itemRender(param, \"TransID\") ? itemRender(param, \"TransID\") : (_TransID || _TransID === 0 ? _TransID : \"\"),\r\n Content: content,\r\n Action: itemRender && itemRender(param, \"Action\") ? itemRender(param, \"Action\") : (action || 0),\r\n };\r\n data.push(el);\r\n }\r\n }\r\n\r\n break;\r\n case \"array\":\r\n //Array..\r\n newData = newData ? newData : [];\r\n let oldData = dataOldCompare ? dataOldCompare : [];\r\n if (action < 0 || (action !== 0 && !action)) { // Truong hop ko truyen action se tu dinh nghia action boi 2 array\r\n const newDataKeys = newData.map(d => d[keyExpr]);\r\n const oldDataKeys = oldData.map(d => d[keyExpr]);\r\n const added = newData.filter(d => oldDataKeys.indexOf(d[keyExpr]) <= -1).map(d => ({...d, action: 2}));\r\n const edited = newData.filter(d => oldDataKeys.indexOf(d[keyExpr]) > -1).map(d => ({...d, action: 1}));\r\n const removed = oldData.filter(d => newDataKeys.indexOf(d[keyExpr]) <= -1).map(d => ({...d, action: 3}));\r\n const arr = added.concat(edited).concat(removed); //Gop mang\r\n arr.forEach(_d => {\r\n const _action = _d.action;\r\n const _dataOld = oldData && oldData.find(old => old[keyExpr] === _d[keyExpr]);\r\n if (_action === 1 && !_dataOld) return false;\r\n param = {data: _d, oldData: _dataOld, action: _action, captions: captions};\r\n const content = this.createContentHistory(_d, captions, _action, options, _dataOld);\r\n const _TransID = TransID ? TransID : (_d[keyTransID] ? _d[keyTransID] : _d[keyExpr]);\r\n if (content) {\r\n el = {\r\n ModuleID: itemRender && itemRender(param, \"ModuleID\") ? itemRender(param, \"ModuleID\") : (ModuleID || \"\"),\r\n TransactionID: itemRender && itemRender(param, \"TransactionID\") ? itemRender(param, \"TransactionID\") : (TransactionID || \"\"),\r\n TransactionName: itemRender && itemRender(param, \"TransactionName\") ? itemRender(param, \"TransactionName\") : (TransactionName || \"\"),\r\n TransID: itemRender && itemRender(param, \"TransID\") ? itemRender(param, \"TransID\") : (_TransID || _TransID === 0 ? _TransID : \"\"),\r\n Content: content,\r\n Action: itemRender && itemRender(param, \"Action\") ? itemRender(param, \"Action\") : (_action || 2),\r\n };\r\n data.push(el);\r\n }\r\n });\r\n\r\n } else { // Truong hop truyen action cu the cho truong hop array\r\n newData.forEach(_d => {\r\n const _dataOld = oldData && oldData.find(old => old[keyExpr] === _d[keyExpr]);\r\n if (action === 1 && !_dataOld) return false;\r\n param = {data: _d, oldData: _dataOld, action: action, captions: captions};\r\n const content = this.createContentHistory(_d, captions, action, options, _dataOld);\r\n const _TransID = TransID ? TransID : (_d[keyTransID] ? _d[keyTransID] : _d[keyExpr]);\r\n if (content) {\r\n el = {\r\n ModuleID: itemRender && itemRender(param, \"ModuleID\") ? itemRender(param, \"ModuleID\") : (ModuleID || \"\"),\r\n TransactionID: itemRender && itemRender(param, \"TransactionID\") ? itemRender(param, \"TransactionID\") : (TransactionID || \"\"),\r\n TransactionName: itemRender && itemRender(param, \"TransactionName\") ? itemRender(param, \"TransactionName\") : (TransactionName || \"\"),\r\n TransID: itemRender && itemRender(param, \"TransID\") ? itemRender(param, \"TransID\") : (_TransID || _TransID === 0 ? _TransID : \"\"),\r\n Content: content,\r\n Action: itemRender && itemRender(param, \"Action\") ? itemRender(param, \"Action\") : (action || 0),\r\n };\r\n data.push(el);\r\n }\r\n });\r\n }\r\n break;\r\n default:\r\n break;\r\n }\r\n\r\n if (ortherData && ortherData.length > 0) {\r\n data = ortherData.concat(data);\r\n }\r\n\r\n if (returnData) {\r\n return data;\r\n } else {\r\n if (data.length > 0) {\r\n const params = {\r\n attributes: JSON.stringify(data),\r\n };\r\n return await this.saveHistory2(params, callbackAfterSave);\r\n }\r\n }\r\n\r\n };\r\n static saveHistory2 = async (params, cb) => {\r\n let status = 200;\r\n if (this.controller) {\r\n await this.controller.saveHistory2(params, (error, data) => {\r\n cb && cb(error, data);\r\n status = error ? 400 : 200;\r\n });\r\n }\r\n return status;\r\n };\r\n\r\n /**\r\n * Create store history\r\n * @param newData\r\n * @param oldData\r\n * @param captions: {\r\n * @CaseStatusName: \"DHR_Ten_trang_thai\",\r\n * @HandlerID: \"DHR_Nguoi_xu_ly\",\r\n * ....\r\n * },\r\n * @param options: {\r\n * @codeID: codeID,\r\n * @keyExpr: keyExprt for array\r\n * @ortherData: Some orther data,\r\n * @mode: [\"add\", \"edit\", \"removed\"]\r\n * @keyForAdd: \"ContractNo\",\r\n * @keyForRemove: \"ContractNo\",\r\n * @type: {\r\n * CaseStatusName: 'highlight',\r\n * HandlerID: 'image',\r\n * Test: 'text'\r\n * }\r\n * @itemRender: function,\r\n * @excludeFields: [\"CaseID\", \"CaseCode\"],\r\n * @callbackAfterSave:\r\n * }\r\n * @param returnData\r\n * @returns {boolean|Array}\r\n */\r\n static createSaveHistory = async (newData, oldData, captions, options, returnData = false) => {\r\n if (!(newData && oldData && typeof newData === typeof oldData)) return false;\r\n if (!options ||!options.codeID) return false;\r\n if (!newData && !oldData) return false;\r\n\r\n //Process..\r\n const {codeID, keyExpr, formID, mode, keyForAdd, keyForRemove, type, excludeFields,\r\n callbackAfterSave, ortherData, itemRender\r\n } = options || {};\r\n let data = [];\r\n let keys = [];\r\n let dataType = newData ? Array.isArray(newData) ? \"array\" : (typeof newData === \"object\" ? \"object\" : null) : null;\r\n dataType = dataType ? dataType : (oldData ? Array.isArray(oldData) ? \"array\" : (typeof oldData === \"object\" ? \"object\" : null) : null);\r\n let desc = \"\";\r\n let param = {};\r\n let el = null;\r\n switch (dataType) {\r\n case \"object\":\r\n //Object..\r\n let action = -1;\r\n if ((!mode || mode.length < 1 || mode.indexOf(\"add\") > -1) && (!oldData || Object.keys(oldData).length < 1) && newData) {\r\n action = 0;\r\n } else if ((!mode || mode.length < 1 || mode.indexOf(\"remove\") > -1) && (!newData || Object.keys(newData).length < 1) && oldData) {\r\n action = 3;\r\n } else if ((!mode || mode.length < 1 || mode.indexOf(\"edit\") > -1) && newData && oldData) {\r\n action = 1;\r\n }\r\n\r\n switch (action) {\r\n case 0:\r\n desc = captions && captions[keyForAdd] ? captions[keyForAdd] : \"\";\r\n param = {data: newData, oldData: oldData, mode: \"add\", dataField: keyForAdd, captions: captions};\r\n el = {\r\n codeID: codeID ? codeID : newData[keyExpr],\r\n formID: formID,\r\n type: \"text\",\r\n linkedTrans: \"\",\r\n oldValue: itemRender && itemRender(param, \"oldValue\") ? itemRender(param, \"oldValue\") : \"\",\r\n newValue: itemRender && itemRender(param, \"newValue\") ? itemRender(param, \"newValue\") : newData[keyForAdd],\r\n description84: itemRender && itemRender(param, \"description84\") ? itemRender(param, \"description84\") : (desc ? Config.lang(desc, \"vi\") : \"\"),\r\n description01: itemRender && itemRender(param, \"description01\") ? itemRender(param, \"description01\") : (desc ? Config.lang(desc, \"en\") : \"\"),\r\n action: itemRender && itemRender(param, \"action\") ? itemRender(param, \"action\") : 0,\r\n };\r\n data.push(el);\r\n break;\r\n case 1:\r\n keys = Object.keys(newData);\r\n if (excludeFields && excludeFields.length > 0) {\r\n keys = keys.filter(k => excludeFields.indexOf(k) <= -1);\r\n }\r\n keys.forEach(k => {\r\n if (newData[k] !== oldData[k]) {\r\n desc = captions && captions[k] ? captions[k] : \"\";\r\n param = {data: newData[k], oldData: oldData[k], mode: \"edit\", dataField: k, captions: captions};\r\n el = {\r\n codeID: codeID ? codeID : newData[keyExpr],\r\n formID: formID,\r\n type: type && type[k] ? type[k] : \"text\",\r\n linkedTrans: \"\",\r\n oldValue: itemRender && itemRender(param, \"oldValue\") ? itemRender(param, \"oldValue\") : oldData[k],\r\n newValue: itemRender && itemRender(param, \"newValue\") ? itemRender(param, \"newValue\") : newData[k],\r\n description84: itemRender && itemRender(param, \"description84\") ? itemRender(param, \"description84\") : (desc ? Config.lang(desc, \"vi\") : \"\"),\r\n description01: itemRender && itemRender(param, \"description01\") ? itemRender(param, \"description01\") : (desc ? Config.lang(desc, \"en\") : \"\"),\r\n action: itemRender && itemRender(param, \"action\") ? itemRender(param, \"action\") : 1,\r\n };\r\n data.push(el);\r\n }\r\n });\r\n break;\r\n case 3:\r\n desc = captions && captions[keyForRemove] ? captions[keyForRemove] : \"\";\r\n param = {data: newData, oldData: oldData, mode: \"remove\", dataField: codeID, captions: captions};\r\n el = {\r\n codeID: codeID ? codeID : oldData[keyExpr],\r\n formID: formID,\r\n type: \"text\",\r\n linkedTrans: \"\",\r\n oldValue: itemRender && itemRender(param, \"oldValue\") ? itemRender(param, \"oldValue\") : oldData[keyForRemove],\r\n newValue: itemRender && itemRender(param, \"newValue\") ? itemRender(param, \"newValue\") : \"\",\r\n description84: itemRender && itemRender(param, \"description84\") ? itemRender(param, \"description84\") : (desc ? Config.lang(desc, \"vi\") : \"\"),\r\n description01: itemRender && itemRender(param, \"description01\") ? itemRender(param, \"description01\") : (desc ? Config.lang(desc, \"en\") : \"\"),\r\n action: itemRender && itemRender(param, \"action\") ? itemRender(param, \"action\") : 3,\r\n };\r\n data.push(el);\r\n break;\r\n default:\r\n break;\r\n }\r\n break;\r\n case \"array\":\r\n //Array..\r\n newData = newData ? newData : [];\r\n oldData = oldData ? oldData : [];\r\n const newDataKeys = newData.map(d => d[keyExpr]);\r\n const oldDataKeys = oldData.map(d => d[keyExpr]);\r\n const added = newData.filter(d => oldDataKeys.indexOf(d[keyExpr]) <= -1);\r\n const edited = newData.filter(d => oldDataKeys.indexOf(d[keyExpr]) > -1);\r\n const removed = oldData.filter(d => newDataKeys.indexOf(d[keyExpr]) <= -1);\r\n\r\n //Added..\r\n if (!mode || mode.length < 1 || mode.indexOf(\"add\") > -1) {\r\n added.forEach(item => {\r\n desc = captions && captions[keyExpr] ? captions[keyExpr] : \"\";\r\n param = {data: item, oldData: null, mode: \"addGrid\", dataField: keyForAdd || keyExpr, captions: captions};\r\n el = {\r\n codeID: codeID,\r\n formID: formID,\r\n type: type && type[keyForAdd] ? type[keyForAdd] : \"text\",\r\n linkedTrans: \"\",\r\n oldValue: \"\",\r\n newValue: itemRender && itemRender(param, \"newValue\") ? itemRender(param, \"newValue\") : (keyForAdd && item[keyForAdd] ? item[keyForAdd] : item[keyExpr]),\r\n description84: itemRender && itemRender(param, \"description84\") ? itemRender(param, \"description84\") : (desc ? Config.lang(desc, \"vi\") : \"\"),\r\n description01: itemRender && itemRender(param, \"description01\") ? itemRender(param, \"description01\") : (desc ? Config.lang(desc, \"en\") : \"\"),\r\n action: itemRender && itemRender(param, \"action\") ? itemRender(param, \"action\") : 2,\r\n };\r\n data.push(el);\r\n });\r\n }\r\n //Edited..\r\n if (!mode || mode.length < 1 || mode.indexOf(\"edit\") > -1) {\r\n edited.forEach(item => {\r\n const rowDataOld = oldData.find(d => d[keyExpr] === item[keyExpr]);\r\n keys = Object.keys(item);\r\n if (excludeFields && excludeFields.length > 0) {\r\n keys = keys.filter(k => excludeFields.indexOf(k) <= -1);\r\n }\r\n keys.forEach(k => {\r\n if (item[k] !== rowDataOld[k]) {\r\n desc = captions && captions[k] ? captions[k] : \"\";\r\n param = {data: item, oldData: rowDataOld, mode: \"editGrid\", dataField: k, captions: captions};\r\n el = {\r\n codeID: codeID ? codeID : item[keyExpr],\r\n formID: formID,\r\n type: type && type[k] ? type[k] : \"text\",\r\n linkedTrans: \"\",\r\n oldValue: itemRender && itemRender(param, \"oldValue\") ? itemRender(param, \"oldValue\") : rowDataOld[k],\r\n newValue: itemRender && itemRender(param, \"newValue\") ? itemRender(param, \"newValue\") : item[k],\r\n description84: itemRender && itemRender(param, \"description84\") ? itemRender(param, \"description84\") : (desc ? Config.lang(desc, \"vi\") : \"\"),\r\n description01: itemRender && itemRender(param, \"description01\") ? itemRender(param, \"description01\") : (desc ? Config.lang(desc, \"en\") : \"\"),\r\n action: itemRender && itemRender(param, \"action\") ? itemRender(param, \"action\") : 1,\r\n };\r\n data.push(el);\r\n }\r\n });\r\n });\r\n }\r\n //Removed..\r\n if (!mode || mode.length < 1 || mode.indexOf(\"remove\") > -1) {\r\n removed.forEach(item => {\r\n desc = captions && captions[keyExpr] ? captions[keyExpr] : \"\";\r\n param = {data: item, oldData: null, mode: \"removeGrid\", dataField: keyForAdd || keyExpr, captions: captions};\r\n el = {\r\n codeID: item[keyExpr],\r\n formID: formID,\r\n type: type && type[keyForRemove] ? type[keyForRemove] : \"text\",\r\n linkedTrans: \"\",\r\n oldValue: itemRender && itemRender(param, \"oldValue\") ? itemRender(param, \"oldValue\") : (keyForRemove && item[keyForRemove] ? item[keyForRemove] : item[keyExpr]),\r\n newValue: \"\",\r\n description84: itemRender && itemRender(param, \"description84\") ? itemRender(param, \"description84\") : (desc ? Config.lang(desc, \"vi\") : \"\"),\r\n description01: itemRender && itemRender(param, \"description01\") ? itemRender(param, \"description01\") : (desc ? Config.lang(desc, \"en\") : \"\"),\r\n action: itemRender && itemRender(param, \"action\") ? itemRender(param, \"action\") : 3,\r\n };\r\n data.push(el);\r\n });\r\n }\r\n break;\r\n default:\r\n break;\r\n }\r\n\r\n if (ortherData && ortherData.length > 0) {\r\n data = ortherData.concat(data);\r\n }\r\n\r\n if (returnData) {\r\n return data;\r\n } else {\r\n if (data.length > 0) {\r\n const params = {\r\n attributes: JSON.stringify(data),\r\n };\r\n return await this.saveHistory(params, callbackAfterSave);\r\n }\r\n }\r\n\r\n };\r\n static saveHistory = async (params, cb) => {\r\n let status = 200;\r\n if (this.controller) {\r\n await this.controller.saveHistory(params, (error, data) => {\r\n cb && cb(error, data);\r\n status = error ? 400 : 200;\r\n });\r\n }\r\n return status;\r\n };\r\n\r\n static getMenuInfo = (isReload = true, cb) => {\r\n this.controller.getMenuV2((errGetMenuV2, dataGetMenuV2)=>{\r\n if (errGetMenuV2){\r\n Config.popup.show('INFO', errGetMenuV2.message);\r\n return false;\r\n } else if (dataGetMenuV2){\r\n\r\n Config.setLocalStorage('MENUDHR', JSON.stringify(dataGetMenuV2));\r\n this.controller.getFormInfo((errGetInfo, dataGetInfo)=>{\r\n if (errGetInfo){\r\n Config.popup.show('INFO', errGetInfo.message);\r\n return false;\r\n } else if (dataGetInfo){\r\n Config.setLocalStorage('FORMINFODHR', JSON.stringify(dataGetInfo));\r\n Config.formInfo = dataGetInfo;\r\n cb && cb();\r\n if (isReload) window.location.reload();\r\n }\r\n });\r\n }\r\n });\r\n };\r\n\r\n static getMenuItem = (obj) => {\r\n if (!this.menu) return null;\r\n const menuEss = this.menu.listESS ? this.menu.listESS : [];\r\n const menuMss = this.menu.listMSS ? this.menu.listMSS : [];\r\n const dataMenu = menuEss.concat(menuMss);\r\n let menu = [];\r\n dataMenu.forEach(data => {\r\n if (data.MenuItem) {\r\n menu = menu.concat(data.MenuItem);\r\n }\r\n });\r\n\r\n menu = menu.filter(m => {\r\n let flag = true;\r\n Object.keys(obj).forEach(o => {\r\n if (m[o] !== obj[o]) flag = false;\r\n });\r\n return flag;\r\n });\r\n\r\n return menu;\r\n };\r\n\r\n static getModule = () => {\r\n const params = {\r\n ProductID: Config.env.productID || \"\",\r\n };\r\n this.controller.getModule(params, (err, data)=>{\r\n if (err){\r\n Config.popup.show('INFO', err.message);\r\n return false;\r\n }\r\n if (data){\r\n Config.setLocalStorage('MODULEDHR', JSON.stringify(data));\r\n Config.setLocalStorage('CURRENTMODULE', JSON.stringify(data?.[0]));\r\n return false;\r\n }\r\n });\r\n };\r\n\r\n static checkNotify = (params, cb) => {\r\n // console.log('params', !params || !params.TransID || !params.FormID);\r\n if (!params || !params.TransID || !params.FormID) return false;\r\n\r\n if (cb) cb(params);\r\n if (params.FormID) browserHistory.push(Config.getRootPath() + params.FormID);\r\n };\r\n\r\n static sub_text = (str, count_char, str_more = \"...\") => {\r\n if (!str) return str;\r\n if (!Number.isInteger(count_char) || count_char < 1) return str;\r\n return str.substring(0, count_char) + (str.length > count_char ? str_more : \"\");\r\n };\r\n\r\n /**\r\n * Get params in url search..\r\n * @param props\r\n * @param arrayKeys\r\n */\r\n static getUrlParams = (props, arrayKeys) => {\r\n const { location } = props ? props : window;\r\n const params = new window.URLSearchParams(window.location.search);\r\n let state = {};\r\n for (let param of params.entries()) {\r\n if (arrayKeys && arrayKeys.length > 0) {\r\n if (arrayKeys.includes(param[0])) {\r\n state[param[0]] = param[1];\r\n }\r\n } else {\r\n state[param[0]] = param[1];\r\n }\r\n }\r\n if (location && location.state) {\r\n Object.keys(location.state).forEach(s => {\r\n if (arrayKeys && arrayKeys.length > 0) {\r\n if (arrayKeys.includes(s)) {\r\n state[s] = location.state[s];\r\n }\r\n } else {\r\n state[s] = location.state[s];\r\n }\r\n });\r\n }\r\n if (!state.hasOwnProperty(\"voucher_id\") && state.hasOwnProperty(\"VoucherID\")) {\r\n state.voucher_id = state.VoucherID || \"\";\r\n }\r\n if (!state.hasOwnProperty(\"FormID\") && state.hasOwnProperty(\"form_id\")) {\r\n state.FormID = state.form_id || \"\";\r\n }\r\n return state;\r\n };\r\n\r\n /**\r\n * Call form when click notify or maillink...\r\n * @param options: {\r\n * @ID: voucher_id,\r\n * @voucher_id: voucher_id,\r\n * @FormID (required): FormID curent..,\r\n * @data (required): grid dataSource,\r\n * @keyExpr (required): key of data,\r\n * @params: Params to response func..,\r\n * @onLoad: func load data grid,\r\n * @onAction: func action when had data\r\n * }\r\n * @param props: props of component to get location...\r\n */\r\n static callChildForm = (options, props) => {\r\n const _params = this.getUrlParams(props);\r\n const {ID, FormID, params, data, keyExpr, onLoad, onAction} = options || {};\r\n let {voucher_id, VoucherID} = params || {};\r\n let {voucher_id: voucher_id1, VoucherID: VoucherID1} = _params || {};\r\n voucher_id = ID ? ID : (voucher_id || VoucherID || voucher_id1 || VoucherID1);\r\n const dataParams = {\r\n ...options,\r\n ..._params,\r\n ...params,\r\n ID: voucher_id\r\n };\r\n const IsCallForm = Config.getLocalStorage(\"DHR_CALL_FORM\", \"\");\r\n const key = FormID + voucher_id; // key: to save and check in localstorage\r\n if (voucher_id && (!IsCallForm || IsCallForm !== key)) {\r\n if (onLoad) onLoad(dataParams);\r\n Config.setLocalStorage(\"DHR_CALL_FORM\", key);\r\n } else if (voucher_id && data.length > 0 && IsCallForm === key ) {\r\n const rowData = data.find(d => d[keyExpr] === voucher_id);\r\n if (rowData) {\r\n browserHistory.push(Config.getRootPath() + FormID);\r\n Config.removeLocalStorage(\"DHR_CALL_FORM\", \"\");\r\n if (onAction) onAction(dataParams, rowData);\r\n }\r\n }\r\n };\r\n\r\n static setItemPerPage = (e, itemPerPage = 10, cb) => {\r\n if (!e || !e.component || !itemPerPage) return false;\r\n const dataSource = e.component.getDataSource();\r\n const _itemPerPage = e.gridRef ? e.gridRef.itemPerPage() : itemPerPage;\r\n if (_itemPerPage && itemPerPage !== _itemPerPage) {\r\n dataSource.pageSize(_itemPerPage);\r\n }\r\n const items = dataSource.items();\r\n const totalCount = dataSource.totalCount();\r\n const pageIndex = dataSource.pageIndex();\r\n const pageSize = dataSource.pageSize();\r\n let countItems = 0; //counter\r\n\r\n if (items && items.length > 0) {\r\n items.forEach((val) => {\r\n countItems += val.items !== null ? val.items.length : val.collapsedItems.length;\r\n });\r\n }\r\n const _currentTotal = (itemPerPage * pageIndex) + countItems;\r\n let _pageSize = _itemPerPage;\r\n if (countItems < itemPerPage && _currentTotal < totalCount) {\r\n _pageSize = pageSize + (pageSize - countItems + 1);\r\n dataSource.pageSize(_pageSize);\r\n if (e.gridRef) e.gridRef.itemPerPage(_pageSize);\r\n dataSource.reload(); //reload dataSource\r\n }\r\n cb && cb({pageIndex: pageIndex, pageSize: _pageSize, totalCount: totalCount, itemPerPage: countItems});\r\n return _pageSize;\r\n };\r\n\r\n /**\r\n * Convert from #ffffff to rgba()\r\n * @param hex color - #ffffff\r\n * @param {number} alpha - 0.5\r\n * @returns {string} color - rgba()\r\n */\r\n static hexToRGBA = (hex, alpha) => {\r\n const reg = /^#([0-9a-f]{3}){1,2}$/i;\r\n if (!reg.test(hex)) return \"#000000\";\r\n\r\n const shorthandRegex = /^#?([a-f\\d])([a-f\\d])([a-f\\d])$/i;\r\n hex = hex.replace(shorthandRegex, (m, r, g, b) => {\r\n return r + r + g + g + b + b;\r\n });\r\n\r\n const r = parseInt(hex.slice(1, 3), 16),\r\n g = parseInt(hex.slice(3, 5), 16),\r\n b = parseInt(hex.slice(5, 7), 16);\r\n\r\n return `rgba(${r},${g},${b},${alpha ?? 0})`;\r\n };\r\n\r\n static getInfoAvatar = (data, keys = []) => {\r\n let obj = {};\r\n const captions = {\r\n DepartmentName: Config.lang(\"Phong_ban\"),\r\n ProjectName: Config.lang(\"Du_an\"),\r\n DutyName: Config.lang(\"Chuc_vu\"),\r\n DateJoined: Config.lang(\"Ngay_vao_lam\")\r\n };\r\n const isAll = keys.length <= 0;\r\n obj[Config.lang(\"Nhan_vien\")] = data.EmployeeID + \" - \" + data.EmployeeName;\r\n for (let cap of Object.keys(captions)) {\r\n if ((isAll || keys.includes(cap)) && data[cap]) {\r\n const vl = cap !== \"DateJoined\" ? data[cap] : Config.convertDate(data[cap], '', \"DD/MM/YYYY\");\r\n obj[captions[cap]] = vl;\r\n }\r\n }\r\n return obj;\r\n };\r\n}\r\n\r\nexport default Config;\r\n","module.exports = __webpack_public_path__ + \"static/media/logo-report.78ce3ea7.png\";","/**\r\n * @copyright 2019 @ DigiNet\r\n * @author TRIHAO\r\n * @create 12/10/2019\r\n * @Example\r\n * @description include all general function by me.\r\n */\r\n\r\nimport React from \"react\";\r\nimport * as mainActions from \"../redux/main/main_actions\";\r\nimport {connect} from \"react-redux\";\r\nimport {bindActionCreators} from \"redux\";\r\nimport Config from \"../config\";\r\nimport * as generalActions from \"../redux/general/general_actions\";\r\nimport * as homeActions from \"../redux/home/home_actions\";\r\n\r\nclass Controller extends React.Component {\r\n\r\n getGeneralActions = () => {\r\n return this.props.generalActions;\r\n };\r\n\r\n getMenuV2 = (cb) => {\r\n this.props.homeActions.getMenuV2(cb);\r\n };\r\n\r\n getFormInfo = (params, cb) => {\r\n this.props.homeActions.getFormInfo(params, cb);\r\n };\r\n\r\n getModule = (params, cb) => {\r\n this.props.homeActions.getModule(params, cb);\r\n };\r\n\r\n saveHistory = async (params, cb) => {\r\n return await this.props.generalActions.saveHistory(params, cb);\r\n };\r\n\r\n saveHistory2 = async (params, cb) => {\r\n return await this.props.generalActions.saveHistory2(params, cb);\r\n };\r\n\r\n /**\r\n * Set for general filter on header\r\n * @param filter\r\n */\r\n setFilter = (filter) => {\r\n this.props.mainActions.updateFilters(filter);\r\n };\r\n\r\n /**\r\n * Delete token device\r\n * @param cb\r\n */\r\n deleteDevice = (cb) => {\r\n if (Config.deviceToken) {\r\n this.props.mainActions.delDevice({tokenDevice: Config.deviceToken}, () => {\r\n if (cb) cb();\r\n });\r\n } else {\r\n if (cb) cb();\r\n }\r\n };\r\n\r\n render() { return null; }\r\n}\r\n\r\nexport default connect(null,\r\n (dispatch) => ({\r\n generalActions: bindActionCreators(generalActions, dispatch),\r\n mainActions: bindActionCreators(mainActions, dispatch),\r\n homeActions: bindActionCreators(homeActions, dispatch)\r\n }), null, {forwardRef: true}\r\n)(Controller);\r\n","export const localize = {\r\n vi: {\r\n \"Dang_nhap_lai2\": \"Bạn đã đăng nhập tài khoản trên một thiết bị khác. Vui lòng đăng nhập lại.\",\r\n \"ko_du_quyen\": \"Bạn không đủ quyền, Vui lòng đăng nhập lại\",\r\n \"Co_loi_xay_ra_trong_qua_trinh_xu_ly\": \"Có lỗi xảy ra trong quá trình xử lý.\"\r\n },\r\n en: {\r\n \"Dang_nhap_lai2\": \"You are already logged in on a different device. Please login again.\",\r\n \"ko_du_quyen\": \"Insufficient permissions. Please log in again.\",\r\n \"Co_loi_xay_ra_trong_qua_trinh_xu_ly\": \"An error occurred during processing.\"\r\n },\r\n};\r\n","/**\r\n * @copyright 2019 @ DigiNet\r\n * @author tranghoang\r\n * @create 2019/01/12 10:37\r\n * @update 2019/01/12 10:37\r\n * @file src/container/index.js\r\n */\r\n\r\nimport React, {Component} from 'react';\r\nimport {bindActionCreators} from 'redux';\r\nimport { connect } from 'react-redux';\r\n\r\nimport * as mainActions from '../redux/main/main_actions';\r\nimport Popup from '../components/popup/popup';\r\nimport Config from '../config';\r\nimport Header from '../components/header/header';\r\nimport LoginPage from \"../components/login/login\";\r\nimport {browserHistory} from \"react-router\";\r\nimport SideNav from \"../components/side-nav/side-nav\";\r\nimport LocalizedStrings from \"react-localization\";\r\nimport Notify from \"../components/common/notify/notify\";\r\nimport Controller from \"../config/controller\";\r\nimport EventTracking from \"../components/common/tracking/event\";\r\nimport * as generalActions from \"../redux/general/general_actions\";\r\nimport NotPermission from '../components/not-permission/not-permission';\r\nimport AuthPage from \"../components/login/auth\";\r\nimport Maintenance from \"../components/common/layouts/maintenance\";\r\nimport moment from \"moment\";\r\nimport * as homeActions from \"../redux/home/home_actions\";\r\nimport Debugger from \"../components/debugger/debugger\";\r\nimport {setLocalizeCore} from '../assets/globalize-core-ui/localize';\r\nimport {setGlobal} from \"diginet-core-ui/global\";\r\nimport packaged from '../../package.json';\r\nimport {localize} from '../localize/localize';\r\nmoment.locale('vi');\r\n\r\nclass Index extends Component {\r\n\r\n\r\n constructor(props){\r\n super(props);\r\n\r\n this.state = {\r\n expandSideBar: false,\r\n opened: true,\r\n isTab: Config.menuType,\r\n iPermission: 0,\r\n moduleSideBarStyle: {},\r\n isShowModuleSidebar: false,\r\n };\r\n this.loading = true;\r\n this.timer = null;\r\n }\r\n\r\n componentDidMount = async () => {\r\n\r\n // Log ngày build code cuối cùng.\r\n console.log(\"updatedAt:\", moment(packaged?.updatedAt || '').format('LLL'));\r\n\r\n // Log thời gian commit cuối của git log.\r\n console.log(\"codeLatest:\", moment(new Date(packaged?.gitLatest)).format('LLL'));\r\n\r\n const {children} = this.props;\r\n\r\n // Khởi tạo localize lần đầu\r\n this.loadLocalize();\r\n\r\n document.addEventListener('mousedown', this.outClickSideBar);\r\n Config.setLangDevextreme();\r\n await this.changedRouterEvent();\r\n\r\n const pathname = children.props.route && children.props.route.path ? children.props.route.path : \"\";\r\n const isAdmin = pathname && pathname.indexOf(\"admin\") !== -1;\r\n const stAdmin = Config.getLocalStorage('STADMINDHR');\r\n if (!isAdmin && stAdmin) {\r\n Config.setLocalStorage('STADMINDHR', '');\r\n Config.logout();\r\n return false;\r\n }\r\n this.setState({ expandSideBar: pathname === '' || pathname === 'dashboard' });\r\n this.redirectPage();\r\n };\r\n\r\n componentDidUpdate (prevProps, prevState, snapshot) {\r\n const {children} = this.props;\r\n const {isTab} = this.state;\r\n const pathname = children?.props?.route?.path ?? null;\r\n const prevPathname = prevProps?.children?.props?.route?.path ?? null;\r\n const menuType = Number( Config.getLocalStorage('MENUTYPEDHR') ?? -1);\r\n if (pathname && prevPathname && pathname !== prevPathname) {\r\n this.setState({ expandSideBar: pathname === '' || pathname === 'dashboard' });\r\n }\r\n setTimeout(() => {\r\n const sidebarWidth = this.refs?.sideBar?.refs?.['side-container']?.offsetWidth ?? 0;\r\n if (sidebarWidth !== this.state.moduleSideBarStyle.left) {\r\n this.setState({ moduleSideBarStyle: { left: sidebarWidth }});\r\n }\r\n }, 150);\r\n if (menuType > -1 && isTab !== menuType) {\r\n this.setState({ isTab: menuType });\r\n }\r\n }\r\n\r\n /**\r\n * func update fav icon from system LOGO_URL\r\n */\r\n setFaviconEl = () => {\r\n\r\n // get element favicon\r\n let svg = Config.getLocalStorage(\"LOGO_URL\");\r\n\r\n // check setting change logo\r\n if(svg && svg === Config.getSetting('LOGO_URL')) return;\r\n\r\n // // save LOGO URL to LocalStorage\r\n svg = Config.getSetting(\"LOGO_URL\");\r\n Config.setLocalStorage(\"LOGO_URL\", svg);\r\n\r\n // update fav icon\r\n const link = document.querySelector('#favicon');\r\n link.href = svg;\r\n\r\n };\r\n\r\n redirectPage = () => {\r\n let pathinfo = Config.getLocalStorage('AUTHREDIRECTDHR');\r\n if (pathinfo) {\r\n pathinfo = JSON.parse(pathinfo);\r\n Config.removeLocalStorage('AUTHREDIRECTDHR');\r\n browserHistory.push({\r\n pathname: pathinfo.pathname || \"\",\r\n state: pathinfo.state\r\n });\r\n }\r\n };\r\n\r\n componentWillUnmount() {\r\n document.removeEventListener('mousedown', this.outClickSideBar);\r\n this.timer = null;\r\n }\r\n\r\n outClickSideBar = (e) => {\r\n const btnToogle = document.getElementById('toogle-nav');\r\n const moduleMenu = document.getElementById('module-menu-side-nav');\r\n const popoverProfile = document.getElementsByClassName('popover-profile');\r\n const popoverProfileTheme = document.getElementsByClassName('popup-choose-theme popup-tooltip');\r\n if (this.refs?.['sideBar']?.refs?.['side-container']?.childNodes?.length > 0\r\n && !this.refs?.['sideBar']?.refs?.['side-container']?.childNodes?.[0]?.contains(e.target)\r\n && !this.refs?.['moduleSideBar']?.refs?.['side-container']?.childNodes?.[0]?.contains(e.target)\r\n && !btnToogle?.contains(e.target)\r\n && !popoverProfile?.[0]?.contains(e.target) // Popover profile trong side-nav\r\n && !popoverProfileTheme?.[0]?.contains(e.target) // Popover profile chọn màu trong side-nav\r\n ) {\r\n this.setState({\r\n expandSideBar: false,\r\n }, () => {\r\n setTimeout(() => {\r\n const sidebarWidth = this.refs?.sideBar?.refs?.['side-container']?.offsetWidth ?? 0;\r\n if (sidebarWidth !== this.state.moduleSideBarStyle.left) {\r\n this.setState({ moduleSideBarStyle: { left: sidebarWidth }});\r\n }\r\n }, 120);\r\n });\r\n }\r\n if (this.refs?.['moduleSideBar']?.refs?.['side-container']?.childNodes?.length > 0\r\n && !this.refs?.['moduleSideBar']?.refs?.['side-container']?.childNodes?.[0]?.contains(e.target)\r\n && !moduleMenu?.contains(e.target)\r\n && !btnToogle?.contains(e.target)\r\n ) {\r\n this.setState({\r\n isShowModuleSidebar: false,\r\n }, () => {\r\n setTimeout(() => {\r\n const sidebarWidth = this.refs?.sideBar?.refs?.['side-container']?.offsetWidth ?? 0;\r\n if (sidebarWidth !== this.state.moduleSideBarStyle.left) {\r\n this.setState({ moduleSideBarStyle: { left: sidebarWidth }});\r\n }\r\n }, 120);\r\n });\r\n }\r\n };\r\n\r\n changedRouterEvent = async () => {\r\n const pathname = window.location.pathname;\r\n const formID = Config.helpers.getFormIDFromPath(pathname);\r\n Config.formID = formID;\r\n Config.setLocalStorage('formActive', JSON.stringify(Config.helpers.updateCurrentForm(formID)));\r\n await browserHistory.listen( async (location) => {\r\n const formID = Config.helpers.getFormIDFromPath(location.pathname);\r\n if (formID !== Config.formID || (!formID || formID === '/' || formID === 'dashboard')) {\r\n this.props.generalActions.resetPermission();\r\n }\r\n Config.formID = formID;\r\n Config.setLocalStorage('formActive', JSON.stringify(Config.helpers.updateCurrentForm(formID)));\r\n });\r\n };\r\n\r\n loadLocalize = () => {\r\n let cfLocalize = null;\r\n let lang = Config.getLocalStorage(\"langDHR\");\r\n\r\n if (!lang || lang.length !== 2){\r\n lang = \"vi\";\r\n Config.setLocalStorage('langDHR','vi');\r\n }\r\n\r\n try {\r\n const lc = Config.getLocalStorage('LOCALIZE');\r\n cfLocalize = lc ? JSON.parse(lc) : localize;\r\n\r\n } catch (e) {\r\n\r\n }\r\n\r\n Config.localization = new LocalizedStrings(cfLocalize);\r\n Config.localization.setLanguage(lang);\r\n\r\n /** Custom Localize CORE UI */\r\n setGlobal(setLocalizeCore(cfLocalize));\r\n\r\n if (lang === \"vi\"){\r\n Config.language = \"84\";\r\n } else {\r\n Config.language = \"01\";\r\n }\r\n };\r\n\r\n UNSAFE_componentWillMount(){\r\n let profile = Config.decryptData(Config.getLocalStorage('PROFILEDHR'));\r\n profile = profile ? JSON.parse(profile) : null;\r\n if(profile){\r\n const isHcs = profile.IsHcsPermission && window.location.href.includes('hcs');\r\n const isPortal = profile.IsPortalPermission && window.location.href.includes('portal');\r\n const errHcs = profile.IsHcsPermission && !window.location.href.includes('hcs');\r\n const errPortal = profile.IsPortalPermission && !window.location.href.includes('portal');\r\n if(!isHcs && !isPortal && errHcs && errPortal){\r\n window.location.href = Config.getRootPath();\r\n }\r\n }\r\n this.props.mainActions.loading();\r\n this.props.generalActions.resetPermission();\r\n this.setState({isTab: Config.menuType});\r\n\r\n //setTimeoutCheckToken...\r\n this.setTimeoutToken(60 * 60 * 1000);\r\n }\r\n\r\n setTimeoutToken = (time) => {\r\n if (this.timer) clearTimeout(this.timer);\r\n this.timer = setTimeout(() => {\r\n this.props.mainActions.checkToken();\r\n this.setTimeoutToken(time ? time : 3600000);\r\n }, time ? time : 3600000);\r\n };\r\n\r\n onLogout = () => {\r\n this.props.generalActions.resetPermission();\r\n Config.logout();\r\n };\r\n\r\n toggleMenuEss = (number, flag) => {\r\n this.setState({\r\n isTab: number\r\n },()=>{\r\n Config.setLocalStorage('MENUTYPEDHR', number);\r\n Config.menuType = number;\r\n if(flag) {\r\n browserHistory.push({\r\n pathname: Config.getRootPath() + 'dashboard',\r\n state: {\r\n mode: !number ? 'ESS' : 'MSS'\r\n }\r\n });\r\n }\r\n })\r\n };\r\n\r\n toogleSideBar = () => {\r\n this.setState({\r\n expandSideBar: !this.state.expandSideBar\r\n }, () => {\r\n setTimeout(() => {\r\n const sidebarWidth = this.refs?.sideBar?.refs?.['side-container']?.offsetWidth ?? 0;\r\n if (sidebarWidth !== this.state.moduleSideBarStyle.left) {\r\n this.setState({ moduleSideBarStyle: { left: sidebarWidth }});\r\n }\r\n }, 120);\r\n });\r\n };\r\n\r\n checkMaintenance = () => {\r\n const keyFrom = \"DateFrom\";\r\n const keyTo = \"DateTo\";\r\n const {maintenance} = this.props;\r\n let result = null;\r\n if (maintenance && maintenance[keyFrom]) {\r\n const now = moment();\r\n //Check current time greater than from time..\r\n const checkFrom = now.diff(moment(maintenance[keyFrom])) >= 0;\r\n //Check has't to or current time less than to time..\r\n const checkTo = !maintenance[keyTo] || now.diff(moment(maintenance[keyTo])) <= 0;\r\n result = checkFrom && checkTo ? maintenance : null;\r\n }\r\n return result\r\n };\r\n\r\n toggleModuleSidebar = () => {\r\n this.setState({ isShowModuleSidebar: !this.state.isShowModuleSidebar }, () => {\r\n const sidebarWidth = this.refs?.sideBar?.refs?.['side-container']?.offsetWidth ?? 0;\r\n if (sidebarWidth !== this.state.moduleSideBarStyle.left) {\r\n this.setState({ moduleSideBarStyle: { left: sidebarWidth }});\r\n }\r\n });\r\n };\r\n\r\n setCurrentModule = (module) => {\r\n if (!module) return false;\r\n this.props.homeActions.setCurrentModule(module);\r\n };\r\n\r\n render() {\r\n const {children, token, setting, profile, iPermission, localize} = this.props;\r\n const {isTab, expandSideBar, moduleSideBarStyle, isShowModuleSidebar} = this.state;\r\n\r\n let permission = false;\r\n\r\n if(token && token.id && setting && setting.length > 0 && localize) {\r\n this.loading = false;\r\n\r\n const _loading = document.getElementById(\"_preloader_loading\");\r\n if (_loading) {\r\n _loading.style.display = \"none\";\r\n }\r\n\r\n // Khởi tạo localize sau khi có token\r\n this.loadLocalize();\r\n }\r\n if(setting) this.setFaviconEl();\r\n if(profile && profile.type !== 0) {\r\n permission = profile.type;\r\n }\r\n const listExpandContent = Config.helpers && Config.helpers.listExpandContent ? Config.helpers.listExpandContent : [\"W75F2000\", \"W09F2000\"];\r\n const listFormIgnoreTracking = Config.helpers && Config.helpers.listFormIgnoreTracking ? Config.helpers.listFormIgnoreTracking : [];\r\n const pathname = children?.props?.route?.path ?? '';\r\n this.isAdmin = pathname && pathname.indexOf(\"admin\") !== -1;\r\n const arrRouterPublic = [\"report\", 'communication', 'W09F1120P'];\r\n\r\n // check maintenance\r\n let maintenance = null;\r\n const url = new window.URLSearchParams(window.location.search);\r\n let pass = url.get('pass');\r\n let localDeployer = Config.getLocalStorage('DEPLOYER_SESSION');\r\n localDeployer = localDeployer && Config.isJson(localDeployer) ? JSON.parse(localDeployer) : null;\r\n\r\n if(!pass && localDeployer?.pass && moment(localDeployer.time).isAfter(moment())){\r\n pass = localDeployer?.pass;\r\n }\r\n\r\n if(Config.deployer !== pass){\r\n maintenance = this.checkMaintenance();\r\n }\r\n\r\n if(pass){\r\n Config.setLocalStorage('DEPLOYER_SESSION', JSON.stringify({pass:pass, time: moment().add(4,'hours')}))\r\n }\r\n\r\n if((!pass && localDeployer) || (maintenance?.DateTo && moment(maintenance.DateTo).isBefore(moment()))){\r\n Config.removeLocalStorage('DEPLOYER_SESSION');\r\n }\r\n\r\n if(this.isAdmin){\r\n window.location.replace(`${Config.env?.api}/admin`);\r\n }\r\n\r\n const isModule = pathname === '' || pathname === 'dashboard';\r\n\r\n return (\r\n
\r\n Config.controller = ref} />\r\n {/*{this.loading && (*/}\r\n {/**/}\r\n {/*)}*/}\r\n\r\n {!this.isAdmin && !arrRouterPublic.includes(pathname) && pathname === \"auth\" &&\r\n
\r\n \r\n
\r\n }\r\n\r\n {!this.isAdmin && maintenance &&\r\n
\r\n \r\n
\r\n }\r\n\r\n {!this.isAdmin && !maintenance ? (\r\n <>\r\n {!this.isAdmin && !this.loading && !permission && !arrRouterPublic.includes(pathname) &&\r\n
\r\n \r\n
\r\n }\r\n\r\n {((!this.loading && arrRouterPublic.includes(pathname)) || (profile && !this.loading && permission)) &&\r\n
\r\n {profile && profile.UserID && listFormIgnoreTracking.indexOf(pathname) < 0 &&\r\n \r\n }\r\n\r\n {arrRouterPublic.includes(pathname) &&\r\n
\r\n {children}\r\n Config.notify = ref}/>\r\n
\r\n }\r\n\r\n {!arrRouterPublic.includes(pathname) &&
\r\n
\r\n
\r\n -1 ? \"not-shadow\" : \"\")}\r\n onLogout={this.onLogout}\r\n isTab={isTab}\r\n isModule={isModule}\r\n toggleModuleSidebar={this.toggleModuleSidebar}\r\n setCurrentModule={this.setCurrentModule}\r\n {...this.props}\r\n />\r\n {isShowModuleSidebar && }\r\n {iPermission === 0 && !pathname.includes('W09F9000') &&
\r\n \r\n
\r\n }\r\n {iPermission !== 0 &&
-1 ? \" expand\" : \"\")}>\r\n {children}\r\n Config.notify = ref}/>\r\n Config.notifyError = ref} minWidth={\"50%\"} anchorVertical={\"top\"} anchorHorizontal={\"center\"}/>\r\n
}\r\n
\r\n
\r\n }\r\n
\r\n }\r\n\r\n {!this.loading && pathname === \"error-page\" && !profile && !permission && iPermission > 0 &&\r\n
\r\n
\r\n {children}\r\n
\r\n
\r\n }\r\n \r\n ) : null}\r\n\r\n {Config.popup = Config.popup2 = ref}} />\r\n {Config.getSetting('DEBUGGER') === \"true\" && Config.debugger = ref} />}\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default connect(state => ({\r\n token: state.main.token,\r\n setting: state.main.setting,\r\n profile: state.main.profile,\r\n maintenance: state.main.maintenance,\r\n localize: state.main.localize,\r\n iPermission: state.general.iPermission,\r\n currentModule: state.home.currentModule,\r\n badgeNumber: state.home.badgeNumber,\r\n }),\r\n (dispatch) => ({\r\n mainActions: bindActionCreators(mainActions, dispatch),\r\n generalActions: bindActionCreators(generalActions, dispatch),\r\n homeActions: bindActionCreators(homeActions, dispatch)\r\n })\r\n)(Index);\r\n","/**\r\n * @copyright 2019 @ DigiNet\r\n * @author TRIHAO\r\n * @create 12/9/2019\r\n * @Example\r\n */\r\n\r\nimport React, {Component} from 'react';\r\nimport { connect } from 'react-redux';\r\n\r\nimport {createMuiTheme, MuiThemeProvider} from \"@material-ui/core\";\r\nimport * as _ from \"lodash\";\r\nimport {ThemeProvider as CoreThemeProvider, useTheme} from \"diginet-core-ui/theme\";\r\nimport Config from \"../config\";\r\n\r\n//set localize core\r\nimport locale from 'diginet-core-ui/locale';\r\nlocale.set(Config.getLocalStorage(\"langDHR\") || 'vi');\r\n\r\nconst coreTheme = useTheme();\r\n\r\nclass ThemeWrapper extends Component {\r\n\r\n // hexToRGB = (hex) => {\r\n // const r = parseInt(hex.slice(1, 3), 16),\r\n // g = parseInt(hex.slice(3, 5), 16),\r\n // b = parseInt(hex.slice(5, 7), 16);\r\n //\r\n // return \"rgb(\" + r + \", \" + g + \", \" + b + \")\";\r\n // };\r\n\r\n hexToRGB = (hex, alpha) => {\r\n const [r, g, b] = hex.match(/\\w\\w/g).map(x => parseInt(x, 16));\r\n if (alpha) {\r\n return r + \", \" + g + \", \" + b + \", \" + alpha;\r\n } else {\r\n return r + \", \" + g + \", \" + b;\r\n }\r\n };\r\n\r\n setColorScssStatic = (color) => {\r\n if (!color) return false;\r\n if (color.SubColor) {\r\n document.body.style.setProperty('--primary-bg-color-light', this.hexToRGB(color.SubColor));\r\n }\r\n if (color.MainColor) {\r\n document.body.style.setProperty('--primary-bg-color', this.hexToRGB(color.MainColor));\r\n }\r\n if (color.contrastText) {\r\n document.body.style.setProperty('--primary-font-color', color.contrastText);\r\n }\r\n if (color.SecondaryColor) {\r\n document.body.style.setProperty('--secondary-bg-color', this.hexToRGB(color.SecondaryColor));\r\n }\r\n if (color.placeholder) {\r\n document.body.style.setProperty('--placeholder-color', this.hexToRGB(color.placeholder));\r\n }\r\n if (color.fontSize) {\r\n document.body.style.setProperty('--font-size', color.fontSize);\r\n }\r\n if (color.fontFamily) {\r\n document.body.style.setProperty('--font-family', color.fontFamily);\r\n }\r\n\r\n //general color\r\n if (color.Success) {\r\n document.body.style.setProperty('--success-bg-color', this.hexToRGB(color.Success));\r\n }\r\n if (color.Info) {\r\n document.body.style.setProperty('--info-bg-color', this.hexToRGB(color.Info));\r\n }\r\n if (color.Warning) {\r\n document.body.style.setProperty('--warning-bg-color', this.hexToRGB(color.Warning));\r\n }\r\n if (color.Danger) {\r\n document.body.style.setProperty('--danger-bg-color', this.hexToRGB(color.Danger));\r\n }\r\n\r\n if (color.systemRest) {\r\n document.body.style.setProperty('--system-rest-color', this.hexToRGB(color.systemRest));\r\n }\r\n };\r\n\r\n getFontSize = (fontSize) => {\r\n if (!fontSize) return false;\r\n return parseInt(fontSize).toString() + \"px\";\r\n };\r\n\r\n render () {\r\n Config.coreTheme = useTheme();\r\n const {color: _color} = this.props;\r\n const color = {\r\n SubColor: _.get(_color, \"SubColor\", coreTheme?.colors?.hover || \"#111D5E21\"),\r\n MainColor: _.get(_color, \"MainColor\", coreTheme?.colors?.primary || \"#111D5E\"),\r\n Success: _.get(_color, \"Success\", coreTheme?.colors?.success || \"#00D68F\"),\r\n Info: _.get(_color, \"Info\", coreTheme?.colors?.info || \"#0095FF\"),\r\n Warning: _.get(_color, \"Warning\", coreTheme?.colors?.warning || \"#FFAA00\"),\r\n Danger: _.get(_color, \"Danger\", coreTheme?.colors?.danger || \"#FF3D71\"),\r\n SecondaryColor: _.get(_color, \"SecondaryColor\", coreTheme?.colors?.secondary || \"#f44336\"),\r\n text: _.get(_color, \"contrastText\", coreTheme?.colors?.text.main || \"#222B45\"),\r\n placeholder: coreTheme?.colors?.placeholder || \"#7F828E\",\r\n labelText: coreTheme?.colors?.label || \"#222B45\",\r\n subText: \"#687799\",\r\n disabledText: coreTheme?.colors?.disabled || \"#8F9BB3\",\r\n fontSize: this.getFontSize(coreTheme?.typography?.fontSize || 14),\r\n fontFamily: coreTheme?.typography?.fontFamily,\r\n systemRest: coreTheme?.colors?.system?.rest || \"#7F828E\"\r\n };\r\n const typography = {\r\n fontFamily: coreTheme?.typography?.fontFamily,\r\n fontSize: coreTheme?.typography?.fontSize || 14\r\n };\r\n this.setColorScssStatic(color);\r\n const theme = createMuiTheme({\r\n palette: {\r\n primary: {\r\n light: color && color.SubColor ? color.SubColor : '#111D5E21',\r\n main: color && color.MainColor ? color.MainColor : '#111D5E',\r\n contrastText: color && color.contrastText ? color.contrastText : '#fafafa',\r\n },\r\n secondary: {\r\n main: color && color.SecondaryColor ? color.SecondaryColor : '#f44336',\r\n },\r\n success: {\r\n main: color && color.Success ? color.Success : '#00D68F',\r\n },\r\n info: {\r\n main: color && color.Info ? color.Info : '#0095FF',\r\n },\r\n warning: {\r\n main: color && color.Warning ? color.Warning : '#FFAA00',\r\n },\r\n danger: {\r\n main: color && color.Danger ? color.Danger : '#FF3D71',\r\n },\r\n hover: {\r\n main: '#EFF5FF'\r\n },\r\n disabled: {\r\n main: color?.disabledText || '#8F9BB3',\r\n },\r\n text: {\r\n subtext: color.subText\r\n }\r\n },\r\n props: {\r\n MuiTextField: {\r\n margin: 'dense',\r\n },\r\n },\r\n overrides: {\r\n MuiTextField: {\r\n root: {\r\n backgroundColor: '#fff'\r\n }\r\n },\r\n MuiFormControlLabel: {\r\n root: {\r\n marginLeft: 0\r\n }\r\n },\r\n MuiTabs: {\r\n root: {\r\n minHeight: 42,\r\n },\r\n indicator: {\r\n height: 4,\r\n borderRadius: 1,\r\n width: \"95%\",\r\n marginRight: 2\r\n }\r\n },\r\n MuiTab: {\r\n root: {\r\n fontSize: '1rem !important',\r\n minHeight: 42,\r\n margin: '0 2px'\r\n },\r\n textColorPrimary: {\r\n color: color.subText\r\n }\r\n },\r\n MuiOutlinedInput: {\r\n root: {\r\n height: '100%'\r\n }\r\n },\r\n MuiSelect: {\r\n icon: {\r\n top: 'calc(50% - 14px)'\r\n },\r\n iconOutlined: {\r\n right: 0\r\n }\r\n },\r\n MuiCardContent: {\r\n root: {\r\n padding: 15\r\n }\r\n },\r\n MuiFormHelperText: {\r\n root: {\r\n position: \"absolute\",\r\n bottom: '-20px',\r\n left: 0,\r\n fontWeight: coreTheme.typography.helperText.fontWeight || \"normal\",\r\n fontSize: coreTheme.typography.helperText.fontSize || \"0.75rem\",\r\n lineHeight: coreTheme.typography.helperText.lineHeight || \"16px\",\r\n }\r\n },\r\n MuiAutocomplete: {\r\n popup: {\r\n zIndex: 10000\r\n }\r\n },\r\n PrivateNotchedOutline: {\r\n legend: {\r\n border: 'none'\r\n }\r\n },\r\n MuiDialogTitle: {\r\n root: {\r\n backgroundColor: '#F7F9FC'\r\n }\r\n },\r\n MuiDialogActions: {\r\n root: {\r\n backgroundColor: '#F7F9FC'\r\n }\r\n },\r\n MuiButton: {\r\n root: {\r\n '&:hover': {\r\n backgroundColor: '#EFF5FF'\r\n },\r\n '&.Mui-disabled': {\r\n color: color.disabledText\r\n }\r\n },\r\n },\r\n MuiFormLabel: {\r\n root: {\r\n color: color.labelText,\r\n fontWeight: coreTheme.typography.label.fontWeight || \"bold\",\r\n fontSize: coreTheme.typography.label.fontSize || \"0.75rem\",\r\n lineHeight: coreTheme.typography.label.lineHeight || \"16px\",\r\n '&.Mui-disabled': {\r\n color: color.disabledText\r\n },\r\n '&.Mui-error': {\r\n color: `${color.labelText} !important`\r\n }\r\n }\r\n },\r\n MuiInput: {\r\n underline: {\r\n '&:before': {\r\n borderBottom: '1px solid ' + color.subText\r\n }\r\n },\r\n input: {\r\n \"&::-webkit-input-placeholder, &::placeholder\": {\r\n color: color.placeholder,\r\n fontSize: color.fontSize\r\n }\r\n }\r\n },\r\n MuiInputBase: {\r\n root: {\r\n fontWeight: 500,\r\n color: color.MainColor,\r\n fontSize: color.fontSize,\r\n '&.Mui-disabled': {color: color.disabledText}\r\n }\r\n },\r\n MuiDivider: {root: {backgroundColor: color.disabledText || '#E4E9F2'}},\r\n MuiIconButton: {\r\n root: {\r\n color: color.subText,\r\n '&.Mui-disabled': {color: color.disabledText}\r\n }\r\n },\r\n MuiChip: {root: {color: color.subText}}\r\n },\r\n typography: {\r\n fontFamily: typography.fontFamily || \"\",\r\n textTransform: \"none\",\r\n fontSize: parseInt(typography.fontSize),\r\n button: {\r\n textTransform: 'none',\r\n },\r\n input: {\r\n padding: 'inherit'\r\n },\r\n }\r\n });\r\n\r\n const cTheme = {\r\n typography: {\r\n button: {\r\n textTransform: 'none',\r\n }\r\n }\r\n };\r\n\r\n return (\r\n \r\n \r\n
\r\n {this.props.children}\r\n
\r\n
\r\n
\r\n )\r\n }\r\n}\r\n\r\nexport default connect(state => ({\r\n color: state.main.color,\r\n })\r\n)(ThemeWrapper);\r\n","/**\r\n * @copyright 2019 @ DigiNet\r\n * @author tranghoang\r\n * @create 2019/08/12 10:37\r\n * @file src/container/app.js\r\n */\r\n\r\nimport React, { Component } from 'react';\r\n\r\nimport { createStore, applyMiddleware } from 'redux';\r\nimport createSagaMiddleware from 'redux-saga';\r\nimport thunk from 'redux-thunk';\r\nimport { Provider } from 'react-redux';\r\nimport allReducers from '../../src/utils/allReducers';\r\nimport rootSaga from '../../src/utils/rootSaga';\r\nimport Index from './index';\r\nimport ThemeWrapper from \"./themewrapper\";\r\nimport Config from \"../config\";\r\n\r\n/**Using Intl */\r\nimport viMessages from '../assets/globalize-devextreme/vi.json';\r\nimport enMessages from 'devextreme/localization/messages/en.json';\r\nimport { locale, loadMessages } from 'devextreme/localization';\r\nimport 'devextreme-intl';\r\n\r\n/** localize CORE */\r\n\r\nconst sagaMiddleware = createSagaMiddleware();\r\nconst store = createStore(allReducers, applyMiddleware(...[sagaMiddleware, thunk]));\r\n\r\nclass App extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.initMessages(); /**Using Intl */\r\n locale(this.getLocale()); /**Using Intl */\r\n\r\n }\r\n\r\n /**Using Intl */\r\n getLocale() {\r\n return Config.getLocalStorage('langDHR') ? Config.getLocalStorage('langDHR') : \"vi\"\r\n }\r\n\r\n /**Using Intl */\r\n initMessages() {\r\n loadMessages(viMessages);\r\n loadMessages(enMessages);\r\n }\r\n render() {\r\n const {children} = this.props;\r\n return (\r\n \r\n \r\n \r\n {children}\r\n \r\n \r\n \r\n );\r\n }\r\n}\r\nsagaMiddleware.run(rootSaga);\r\n\r\nexport default App;\r\n","import React from 'react';\r\nimport ReactDOM from 'react-dom';\r\nimport Routes from './routes/routes.js';\r\nimport Config from './config';\r\nimport './style/fontawesome-pro/web-fonts-with-css/css/fontawesome-all.css';\r\nimport 'bootstrap/dist/css/bootstrap.css';\r\nimport 'bootstrap/dist/css/bootstrap-theme.css';\r\nimport 'bootstrap/dist/css/bootstrap-theme.css';\r\nimport 'devextreme/dist/css/dx.common.css';\r\nimport 'devextreme/dist/css/dx.material.teal.light.css';\r\nimport './style/index.scss';\r\n\r\nfunction render(Component) {\r\n const svg = Config.getLocalStorage('LOGO_URL');\r\n if(svg){\r\n const link = document.querySelector('#favicon');\r\n link.href = svg;\r\n }\r\n ReactDOM.render(\r\n (\r\n \r\n ),\r\n document.getElementById('root')\r\n );\r\n}\r\n\r\nrender(Routes);\r\n\r\nif (module.hot) {\r\n module.hot.accept('./routes/routes.js', () => {\r\n const NextApp = require('./routes/routes.js').default;\r\n render(NextApp);\r\n });\r\n}\r\n","/**\r\n * @copyright 2019 @ DigiNet\r\n * @author tranghoang\r\n * @create 2019/08/05 18:12\r\n * @update 2019/08/05 18:12\r\n */\r\n\r\nmodule.exports = {\r\n api: process && process.env && process.env.REACT_APP_API ? process.env.REACT_APP_API : 'https://apricot.diginet.com.vn/dhr-api-dev/api',\r\n url: process && process.env && process.env.REACT_APP_WEB ? process.env.REACT_APP_WEB : 'https://apricot.diginet.com.vn/dhr-dev',\r\n secret : process && process.env && process.env.REACT_APP_SECRET ? process.env.REACT_APP_SECRET : 'd9hc5d0k5LnJx9Cvk9NwOe3uGy0cW9ja2kv3dg',\r\n\r\n cdn: process && process.env && process.env.REACT_APP_CDN_URL ? process.env.REACT_APP_CDN_URL : '',\r\n secretCDN : process && process.env && process.env.REACT_APP_CDN_SECRET ? process.env.REACT_APP_CDN_SECRET : '',\r\n\r\n prefixLang : process && process.env && process.env.REACT_APP_PREFIXLANG ? process.env.REACT_APP_PREFIXLANG : 'DHR_',\r\n companyCode : process && process.env && process.env.REACT_APP_COMPANYCODE ? process.env.REACT_APP_COMPANYCODE : 'APRICOT',\r\n productID : process && process.env && process.env.REACT_APP_PRODUCTID ? process.env.REACT_APP_PRODUCTID : 'WHRP',\r\n\r\n mookAPI: process && process.env && process.env.REACT_APP_MOOK_API ? process.env.REACT_APP_MOOK_API : 'NO',\r\n keyEnv: process && process.env && process.env.REACT_APP_ENV ? process.env.REACT_APP_ENV : 'NO',\r\n};\r\n","import {makeStyles} from \"@material-ui/styles\";\r\n\r\nexport const useStyles = makeStyles(theme => ({\r\n root: {\r\n flexGrow: 1,\r\n height: \"100%\",\r\n background: \"darkgray\",\r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n padding: 15\r\n },\r\n wrapperDiv: {\r\n paddingLeft: theme.spacing(3)\r\n },\r\n mainTitle: {\r\n fontWeight: 800,\r\n letterSpacing: theme.spacing(0.3)\r\n },\r\n boxSub: {\r\n display: \"flex\",\r\n alignItems: \"center\"\r\n },\r\n subTitle: {\r\n fontSize: \"1rem\",\r\n fontWeight: \"bold\",\r\n fontStyle: \"italic\",\r\n padding: theme.spacing(1.2, 0),\r\n color: \"rgba(107,107,107,0.85)\",\r\n },\r\n titleContent: {\r\n borderLeft: \"8px solid #FF0000\",\r\n padding: theme.spacing(1),\r\n margin: theme.spacing(1, 0)\r\n },\r\n iconSubTitle: {\r\n color: \"#0723bd8c\",\r\n fontSize: \"2.5rem\",\r\n paddingRight: theme.spacing(1.5)\r\n },\r\n titleInput: {\r\n fontSize: \"1rem\",\r\n fontWeight: \"bold\",\r\n fontStyle: \"italic\",\r\n color: \"#383838\",\r\n marginRight: theme.spacing(1.5),\r\n padding: theme.spacing(1.2, 0)\r\n },\r\n paper: {\r\n margin: theme.spacing(2, 1),\r\n boxShadow: \"0px 2px 12px 0px rgba(0,0,0,0.5)\",\r\n borderRadius: 10,\r\n height: 80,\r\n alignItems: \"center\"\r\n },\r\n conven: {\r\n lineHeight: \"30px\",\r\n textAlign: \"center\",\r\n fontWeight: 800\r\n },\r\n radioButton: {\r\n padding: 0\r\n },\r\n clsfx: {\r\n clear: 'both'\r\n }\r\n }));","/**\r\n * @copyright 2019 @ DigiNet\r\n * @author TRIHAO\r\n * @create 11/12/2019\r\n * @Example\r\n */\r\n\r\nimport React, { PureComponent } from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport Config from \"../../config\";\r\nimport { Column } from \"devextreme-react/data-grid\";\r\nimport GridContainer from \"../grid-container/grid-container\";\r\n\r\nimport { ModalHeader, ModalFooter, ModalBody, Modal, Button } from \"diginet-core-ui/components\";\r\n\r\nclass PopupSelect extends PureComponent {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n isOpen: false,\r\n selectedRowKeys: [],\r\n };\r\n this.tmpSelectRowKeys = [];\r\n }\r\n\r\n _onInit = () => {\r\n const { onInit } = this.props;\r\n const { isOpen } = this.state;\r\n if (isOpen) {\r\n if (onInit) onInit();\r\n }\r\n };\r\n\r\n componentDidUpdate(prevProps, prevState, snapshot) {\r\n if (prevProps.open !== this.props.open) {\r\n this.setState({\r\n isOpen: this.props.open,\r\n });\r\n }\r\n if (JSON.stringify(prevProps.value) !== JSON.stringify(this.props.value)) {\r\n this.tmpSelectRowKeys = this.props.value;\r\n }\r\n this._onInit();\r\n }\r\n\r\n open = data => {\r\n const { mode, onOpen } = this.props;\r\n if (data) {\r\n data = !Array.isArray(data) ? [data] : data;\r\n data = mode === \"single\" ? [data[0]] : data;\r\n }\r\n this.tmpSelectRowKeys = data;\r\n this.setState(\r\n {\r\n isOpen: true,\r\n },\r\n () => {\r\n if (onOpen) onOpen();\r\n }\r\n );\r\n };\r\n\r\n _onEntered = () => {\r\n setTimeout(() => {\r\n this.setState({\r\n selectedRowKeys: this.tmpSelectRowKeys,\r\n });\r\n }, 300);\r\n };\r\n\r\n close = e => {\r\n const { onClose } = this.props;\r\n this.setState(\r\n {\r\n isOpen: false,\r\n },\r\n () => {\r\n if (onClose) onClose(e);\r\n }\r\n );\r\n };\r\n\r\n onSave = () => {\r\n const { onSave } = this.props;\r\n const { selectedRowKeys } = this.state;\r\n if (onSave) onSave(selectedRowKeys);\r\n this.close();\r\n };\r\n\r\n onSelectionChanged = e => {\r\n const { mode } = this.props;\r\n this.setState({\r\n selectedRowKeys: mode === \"single\" ? e.currentSelectedRowKeys : e.selectedRowKeys,\r\n });\r\n };\r\n\r\n _mapDataSource = (dataSource, selectedRowKeys) => {\r\n const { keyExpr, allowFilterSelected } = this.props;\r\n return dataSource.map(d => {\r\n d.sortOrder = allowFilterSelected && selectedRowKeys.includes(d[keyExpr]) ? 1 : 0;\r\n return d;\r\n });\r\n };\r\n\r\n render() {\r\n let {\r\n dataSource,\r\n column,\r\n itemPerPage,\r\n skipPerPage,\r\n listPerPage,\r\n typePaging,\r\n title,\r\n maxWidth,\r\n mode,\r\n keyExpr,\r\n ...props\r\n } = this.props;\r\n const { isOpen, selectedRowKeys } = this.state;\r\n\r\n dataSource = this._mapDataSource(dataSource, selectedRowKeys);\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n {\r\n return window.innerHeight - 240;\r\n }}\r\n pagerFullScreen={false}\r\n repaintChangesOnly={true}\r\n allowColumnReordering={true}\r\n highlightChanges={true}\r\n keyExpr={keyExpr}\r\n dataSource={dataSource}\r\n columnAutoWidth={true}\r\n rowAlternationEnabled={true}\r\n filterRow={{\r\n visible: true,\r\n }}\r\n selectedRowKey={selectedRowKeys}\r\n selection={{\r\n allowSelectAll: mode === \"multiple\",\r\n mode: \"multiple\",\r\n selectAllMode: \"allPages\",\r\n showCheckBoxesMode: \"always\",\r\n }}\r\n onSelectionChanged={this.onSelectionChanged}\r\n typePaging={typePaging}\r\n showRowLines={true}\r\n showBorders={false}\r\n showColumnLines={false}\r\n noDataText={Config.lang(\"No_data\")}\r\n >\r\n {column.map(e => {\r\n return ;\r\n })}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nPopupSelect.defaultProps = {\r\n itemPerPage: 30,\r\n skipPerPage: 0,\r\n listPerPage: [30, 60, 100],\r\n typePaging: \"remote\",\r\n maxWidth: \"md\",\r\n};\r\n\r\nPopupSelect.propTypes = {\r\n dataSource: PropTypes.any,\r\n column: PropTypes.any,\r\n keyExpr: PropTypes.string,\r\n open: PropTypes.bool,\r\n value: PropTypes.any,\r\n itemPerPage: PropTypes.number,\r\n mode: PropTypes.string, //'single', 'multiple'\r\n className: PropTypes.string,\r\n style: PropTypes.string,\r\n title: PropTypes.string,\r\n fullWidth: PropTypes.bool,\r\n maxWidth: PropTypes.string,\r\n allowFilterSelected: PropTypes.bool,\r\n listPerPage: PropTypes.array,\r\n skipPerPage: PropTypes.number,\r\n /**\r\n * @typePaging: String\r\n * \"default\": With default type of DataGrid Devextreme\r\n * \"normal\": With type of HR customize paging (local).\r\n * \"remote\": With type of HR customize paging (remote). Require props:\r\n * - @totalItems: Total of all data.\r\n */\r\n typePaging: PropTypes.oneOf([\"default\", \"normal\", \"remote\"]),\r\n\r\n onClose: PropTypes.func,\r\n onSave: PropTypes.func,\r\n};\r\n\r\nexport default PopupSelect;\r\n","/**\r\n * @copyright 2019 @ DigiNet\r\n * @author tranghoang\r\n * @create 2019/08/08 16:37\r\n * @file src/components/not-permission/not-permission.js\r\n */\r\n\r\nimport React, {Component} from 'react';\r\nimport {Col, FormGroup} from \"reactstrap\";\r\nimport PageContainer from \"../common/page-container/page-container\";\r\nimport Config from \"../../config\";\r\nimport {browserHistory} from \"react-router\";\r\n\r\nexport default class ModuleNotFound extends Component {\r\n render() {\r\n\r\n return (\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n

403

\r\n
\r\n \r\n \r\n

{Config.lang('DHR_Truy_cap_khong_hop_le')}

\r\n \r\n \r\n {Config.lang('DHR_403_loi')}\r\n \r\n
\r\n {/* eslint-disable */}\r\n {\r\n browserHistory.push({\r\n pathname: Config.getRootPath() + 'dashboard',\r\n state: {\r\n mode: 'MSS'\r\n }\r\n })\r\n }}>\r\n {Config.lang(\"DHR_Trang_chu\")}\r\n \r\n {/* eslint-enable */}\r\n
\r\n
\r\n
\r\n
\r\n )\r\n }\r\n}\r\n","/**\r\n * @copyright 2019 @ DigiNet\r\n * @author TRIHAO\r\n * @create 9/16/2020\r\n * @Example\r\n */\r\n\r\nimport React from 'react';\r\nimport Config from \"../../config\";\r\nimport ReactLoading from 'react-loading';\r\nimport {Typography, withStyles} from \"@material-ui/core\";\r\nimport queryString from 'query-string'\r\nimport {connect} from \"react-redux\";\r\nimport * as homeActions from \"../../redux/home/home_actions\";\r\nimport {bindActionCreators, compose} from \"redux\";\r\n\r\nconst styles = {\r\n content: {\r\n textAlign: \"center\",\r\n padding: 15\r\n }\r\n};\r\nclass AuthPage extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n };\r\n };\r\n\r\n componentDidUpdate(prevProps, prevState, snapshot) {\r\n if (prevProps.loading !== this.props.loading && !this.props.loading) {\r\n this.checkAuth();\r\n }\r\n }\r\n\r\n checkAuth = () => {\r\n const query = queryString.parse(window.location.search);\r\n const {token} = query;\r\n const params = {\r\n token: token ? token : \"\"\r\n };\r\n Config.getToken = true;\r\n this.props.homeActions.getAuth(params, (error, data)=>{\r\n if (error){\r\n let message = error.message || Config.lang(\"ERP_Loi_chua_xac_dinh\");\r\n Config.popup.show(\"INFO\", message);\r\n return false;\r\n }\r\n if (data) {\r\n this.onLogin(data);\r\n }\r\n });\r\n // const data = {\r\n // \"user\": {\r\n // \"UserID\": \"LEMONADMIN\",\r\n // \"UserNameU\": \"Quản trị hệ thống\",\r\n // \"UserDepartmentU\": \"Board of Directors\",\r\n // \"UserDutyNameU\": \"Tổng giám đốc\",\r\n // \"DateEntered\": \"2005-07-01T10:45:00.687Z\",\r\n // \"Disabled\": 0,\r\n // \"Email\": \"THINI.LE@DIGINET.COM.VN\",\r\n // \"BirthDate\": \"1999-12-31T17:00:00.000Z\",\r\n // \"UserAddress\": \"341 Điện Biên Phủ, Phường 15, Quận Bình Thạnh, Tp HCM\",\r\n // \"Gender\": 0,\r\n // \"IsSysManUser\": 1,\r\n // \"TelNumber\": \"0367640083\",\r\n // \"UserPictureURL\": \"https://apricot.diginet.com.vn/cdn-dev/file/C-Users-BICHTHUAN-Desktop-Maslow-dai-dien.jpg?path=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJyZXN1bHQiOlt7InBhdGgiOiIvMjAxOS8wNS84ZmNhZjZkZWRhYTJmZmI2YWIwNzllY2UxZmY2Y2ZjNC5qcGciLCJvcmlnaW5hbEZpbGVOYW1lIjoiQy1Vc2Vycy1CSUNIVEhVQU4tRGVza3RvcC1NYXNsb3ctZGFpLWRpZW4uanBnIiwicHVybCI6Imh0dHA6Ly9hcHJpY290LmRpZ2luZXQuY29tLnZuOjYwNDAiLCJpdXJsIjoiaHR0cDovLzEwLjAuMC45OTo2MDQwIn1dLCJpYXQiOjE1NzE5OTc0MzUsImV4cCI6ODc5NzE5OTc0MzV9.AfnouZr-CoKeo14FfmV8153k-EcAdN1ri-71CSeRO_c\"\r\n // },\r\n // \"token\": \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjVmNjFhNmNkYWFjNTgxMmE2MjBkZThlZiIsImNyZWF0ZWRBdCI6IjIwMjAtMDktMTZUMDU6NDY6NTMuMDgyWiIsInVwZGF0ZWRBdCI6IjIwMjAtMDktMTZUMDU6NDY6NTMuMDgyWiIsImV4cGlyZWRBdCI6IjIwMjAtMDktMjZUMDU6NDY6NTMuMDgxWiIsInVzZXIiOnsiVXNlckFjY291bnQiOiJMRU1PTkFETUlOIiwiVXNlck5hbWUiOiJRdeG6o24gdHLhu4sgaOG7hyB0aOG7kW5nIn0sImNvbXBhbnkiOnsiRGl2aXNpb25JRCI6IkRJR0lORVQifSwiaWF0IjoxNjAwMjM1MjEzLCJleHAiOjE2MDI4MjcyMTN9.WidHuE14aba0K-KUU1CN-lj4LSBB9yuiDdTd0sRvll8\",\r\n // \"openToken\": \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJVc2VyQWNjb3VudCI6IkxFTU9OQURNSU4iLCJjb21wYW55IjoiIiwiaWF0IjoxNjAwMjM1MjEzLCJleHAiOjE2MjYxNTUyMTN9.neJ0JupcI9gjHCWG5SphhLP8OgLQdixwgo-v-YKJzbE\"\r\n // };\r\n // this.onLogin(data);\r\n };\r\n\r\n onLogin = (data) => {\r\n let user = data.user || {};\r\n Config.base = user.UserBase;\r\n let lang = Config.getLocalStorage(\"langDHR\");\r\n\r\n if (!lang || lang.length !== 2){\r\n lang = \"vi\";\r\n Config.setLocalStorage('langDHR', lang);\r\n }\r\n\r\n const expire = new Date().getTime() + 7*24*60*60*1000;\r\n\r\n Config.token = {\r\n id: data.token,\r\n expire: expire\r\n };\r\n user.type = 2;\r\n\r\n const menuType = 1;\r\n\r\n Config.setLocalStorage('MENUTYPEDHR', menuType);\r\n Config.setLocalStorage('PROFILEDHR', Config.encryptData(JSON.stringify(user)));\r\n Config.setLocalStorage('TOKENDHR', JSON.stringify(Config.token));\r\n\r\n Config.getMenuInfo(false, () => {\r\n this.redirectScreen();\r\n });\r\n //End get all menus\r\n\r\n //Get all modules\r\n Config.getModule();\r\n //End get all modules\r\n };\r\n\r\n redirectScreen = () => {\r\n const query = queryString.parse(window.location.search);\r\n const {voucher_id, route} = query;\r\n let pathname = route ? route : \"/\";\r\n pathname = pathname.indexOf(\"/\") === 0 ? pathname.substring(1) : pathname;\r\n const pathinfo = {\r\n pathname: Config.getRootPath() + pathname,\r\n state: voucher_id ? {voucher_id: voucher_id} : null\r\n };\r\n Config.setLocalStorage('AUTHREDIRECTDHR', JSON.stringify(pathinfo));\r\n window.location.reload();\r\n // browserHistory.push({\r\n // pathname: Config.getRootPath() + pathname,\r\n // state: voucher_id ? {voucher_id: voucher_id} : null\r\n // });\r\n };\r\n\r\n render() {\r\n const {classes} = this.props;\r\n let label = \"Đang chuyển tiếp, xin vui lòng chờ...\";\r\n if (Config.language === \"01\") label = \"Forward, please wait...\";\r\n\r\n return (\r\n
\r\n
\r\n {label}\r\n
\r\n \r\n
\r\n
\r\n
\r\n )\r\n }\r\n}\r\n\r\nexport default compose(connect(null,\r\n (dispatch) => ({\r\n homeActions: bindActionCreators(homeActions, dispatch)\r\n })\r\n), withStyles(styles))(AuthPage);\r\n","/**\r\n * @copyright 2019 @ DigiNet\r\n * @author TRIHAO\r\n * @create 11/12/2019\r\n * @Example\r\n */\r\n\r\nimport React, { PureComponent } from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport Config from \"../../config\";\r\nimport { Column } from \"devextreme-react/data-grid\";\r\nimport * as _ from \"lodash\";\r\nimport GridContainer from \"../grid-container/grid-container\";\r\nimport { ModalHeader, ModalBody, Modal, Button, TextInput, ModalFooter } from \"diginet-core-ui/components\";\r\n\r\nclass PopupSelect2 extends PureComponent {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n isOpen: props && props.open,\r\n selectedRowKeys: props && props.selectedRowKeys ? props.selectedRowKeys : [],\r\n };\r\n this.filter = {\r\n limit: 10,\r\n skip: 0,\r\n StrSearch: \"\",\r\n };\r\n this.tmpSelectedRowKeys = props && props.selectedRowKeys ? props.selectedRowKeys : [];\r\n }\r\n\r\n componentDidUpdate(prevProps, prevState, snapshot) {\r\n if (prevProps.open !== this.props.open) {\r\n this.setState({\r\n isOpen: this.props.open,\r\n });\r\n }\r\n if (JSON.stringify(prevProps.selectedRowKeys) !== JSON.stringify(this.props.selectedRowKeys)) {\r\n this.tmpSelectedRowKeys = this.props.selectedRowKeys;\r\n }\r\n if (JSON.stringify(prevProps.dataSource) !== JSON.stringify(this.props.dataSource)) {\r\n this.setState({ selectedRowKeys: this.tmpSelectedRowKeys });\r\n }\r\n }\r\n\r\n open = data => {\r\n const { multiple, onOpen } = this.props;\r\n if (data) {\r\n data = !Array.isArray(data) ? [data] : data;\r\n data = !multiple ? [data[0]] : data;\r\n }\r\n this.tmpSelectedRowKeys = [...data];\r\n this.setState(\r\n {\r\n isOpen: true,\r\n selectedRowKeys: [...data]\r\n },\r\n () => {\r\n if (onOpen) onOpen();\r\n }\r\n );\r\n };\r\n\r\n _onEntered = () => {\r\n setTimeout(() => {\r\n this.setState({\r\n selectedRowKeys: this.tmpSelectedRowKeys,\r\n });\r\n }, 300);\r\n };\r\n\r\n onClose = e => {\r\n const { onClose } = this.props;\r\n this.setState(\r\n {\r\n isOpen: false,\r\n },\r\n () => {\r\n if (onClose) onClose(e);\r\n }\r\n );\r\n };\r\n\r\n onSearch = () => {\r\n const { onSearch } = this.props;\r\n if (onSearch) onSearch({ strSearch: this.filter.StrSearch });\r\n };\r\n\r\n onChosen = () => {\r\n const { onChosen } = this.props;\r\n if (onChosen) onChosen(this.tmpSelectedRowKeys);\r\n this.onClose();\r\n };\r\n\r\n _selectionChanged = e => {\r\n const currentSelectedRowKeys = e.currentSelectedRowKeys;\r\n const currentDeselectedRowKeys = e.currentDeselectedRowKeys;\r\n const { dataSource } = this.props;\r\n if (currentDeselectedRowKeys.length === 1) {\r\n this.tmpSelectedRowKeys = this.tmpSelectedRowKeys.filter(e => {\r\n return currentDeselectedRowKeys.indexOf(e) < 0;\r\n });\r\n } else if (currentDeselectedRowKeys.length === dataSource.length) {\r\n this.tmpSelectedRowKeys = [];\r\n } else if (currentSelectedRowKeys.length > 0) {\r\n currentSelectedRowKeys.forEach(val => {\r\n if (this.tmpSelectedRowKeys.indexOf(val) < 0) {\r\n this.tmpSelectedRowKeys.push(val);\r\n }\r\n });\r\n }\r\n };\r\n\r\n onSelectionChanged = e => {\r\n const { multiple } = this.props;\r\n if (!multiple) {\r\n if (e.currentSelectedRowKeys.length > 0) {\r\n this.tmpSelectedRowKeys = e.currentSelectedRowKeys;\r\n this.setState({\r\n selectedRowKeys: e.currentSelectedRowKeys,\r\n });\r\n }\r\n } else {\r\n this._selectionChanged(e);\r\n this.setState({\r\n selectedRowKeys: e.selectedRowKeys,\r\n });\r\n }\r\n };\r\n\r\n onChangePage = page => {\r\n const { onLoad } = this.props;\r\n this.filter.skip = page * this.filter.limit;\r\n if (onLoad) onLoad(this.filter);\r\n };\r\n\r\n onChangePerPage = per => {\r\n const { onLoad } = this.props;\r\n this.filter.skip = 0;\r\n this.filter.limit = per;\r\n if (onLoad) onLoad(this.filter);\r\n };\r\n\r\n render() {\r\n const {\r\n dataSource,\r\n column,\r\n itemPerPage,\r\n skipPerPage,\r\n title,\r\n className,\r\n style,\r\n fullWidth,\r\n maxWidth,\r\n keyExpr,\r\n allowSearch,\r\n searchPlaceholder,\r\n listPerPage,\r\n totalItems,\r\n typePaging,\r\n multiple,\r\n gridProps,\r\n } = this.props;\r\n const { isOpen, selectedRowKeys } = this.state;\r\n const _itemPerPage = itemPerPage || itemPerPage === 0 ? itemPerPage : this.filter.limit;\r\n const _skipPerPage = skipPerPage || skipPerPage === 0 ? skipPerPage : this.filter.skip;\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n {allowSearch && (\r\n {\r\n if (e && e.keyCode === 13) {\r\n this.onSearch();\r\n }\r\n }}\r\n startIcon={\"search\"}\r\n onChange={e => (this.filter.StrSearch = e.target.value)}\r\n />\r\n )}\r\n \r\n {column.map((e, idx) => {\r\n return (\r\n \r\n );\r\n })}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nPopupSelect2.defaultProps = {\r\n allowSearch: true,\r\n typePaging: \"remote\",\r\n};\r\n\r\nPopupSelect2.propTypes = {\r\n dataSource: PropTypes.any,\r\n column: PropTypes.any,\r\n keyExpr: PropTypes.string,\r\n open: PropTypes.bool,\r\n value: PropTypes.any,\r\n itemPerPage: PropTypes.number,\r\n multiple: PropTypes.bool, //'single', 'multiple'\r\n className: PropTypes.string,\r\n style: PropTypes.string,\r\n title: PropTypes.string,\r\n fullWidth: PropTypes.bool,\r\n maxWidth: PropTypes.string,\r\n allowSearch: PropTypes.bool,\r\n searchPlaceholder: PropTypes.string,\r\n typePaging: PropTypes.string,\r\n\r\n onSearch: PropTypes.func,\r\n onLoad: PropTypes.func,\r\n onClose: PropTypes.func,\r\n onChosen: PropTypes.func,\r\n};\r\n\r\nexport default PopupSelect2;\r\n","/**\r\n * @copyright 2019 @ DigiNet\r\n * @author TRIHAO\r\n * @create 6/24/2022\r\n * @Example\r\n */\r\n\r\nimport React, {useEffect, useMemo, useRef, useState} from \"react\";\r\nimport {useDispatch} from \"react-redux\";\r\nimport {Modal, ModalBody, ModalHeader, TextInput, Row, Col, Button} from 'diginet-core-ui/components';\r\nimport _ from \"lodash\";\r\nimport PropTypes from 'prop-types';\r\nimport Config from '../../config';\r\nimport GridContainer from \"../grid-container/grid-container\";\r\nimport ModalFooter from \"diginet-core-ui/components/modal/footer\";\r\n\r\nconst initData = {\r\n rows: [],\r\n total: 0\r\n};\r\nconst ChooseModal = React.memo((props) => {\r\n //init..\r\n const dispatch = useDispatch();\r\n\r\n //state variables..\r\n const {\r\n open, title, mode, dataFilter = {}, dataSource: _dataSource, keyExpr, actionLoadGrid, typePaging,\r\n selected, width, zIndex, ModalProps, GridProps,\r\n children, columns, onChangePage, onChangePerPage, onLoad, onClose, onChoosed\r\n } = props;\r\n const [dataGrid, setDataGrid] = useState(initData);\r\n const [dataGridLoading, setDataGridLoading] = useState(false);\r\n\r\n //refs variables..\r\n const filter = useRef({\r\n skip: 0,\r\n limit: 10,\r\n search: \"\",\r\n ...dataFilter\r\n });\r\n const refGrid = useRef(null);\r\n const refSelectedRowKeys = useRef([]);\r\n const refSelectedRowData = useRef([]);\r\n const timerSearch = useRef(null);\r\n const timerContentReady = useRef(null);\r\n const selectAll = useRef(false);\r\n\r\n const isRemotePaging = useMemo(() => typePaging === \"remote\", [typePaging]);\r\n //init functions..\r\n const _createEventParams = (obj = {}) => {\r\n return {cancel: false, ...obj};\r\n };\r\n\r\n useEffect(() => {\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, []);\r\n\r\n useEffect(() => {\r\n filter.current = {\r\n ...filter.current,\r\n ...dataFilter\r\n };\r\n }, [dataFilter]);\r\n\r\n useEffect(() => {\r\n if (open) {\r\n if (selected) {\r\n if (_.isEmpty(selected)) {\r\n refSelectedRowKeys.current = [];\r\n refSelectedRowData.current = [];\r\n } else {\r\n const _data = _dataSource || dataGrid;\r\n if (typeof selected[0] === \"string\") {\r\n refSelectedRowKeys.current = selected;\r\n refSelectedRowData.current = _data.filter(d => refSelectedRowKeys.current.includes(d[keyExpr]));\r\n } else {\r\n if (keyExpr) {\r\n refSelectedRowKeys.current = selected.map(s => s[keyExpr]);\r\n refSelectedRowData.current = _data.filter(d => refSelectedRowKeys.current.includes(d[keyExpr]));\r\n } else {\r\n refSelectedRowKeys.current = selected;\r\n refSelectedRowData.current = selected;\r\n }\r\n }\r\n }\r\n }\r\n if (!_dataSource) {\r\n loadData(\"init\");\r\n }\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [open, selected]);\r\n\r\n const loadData = (mode) => {\r\n if (!actionLoadGrid) return false;\r\n const params = {...filter.current, ...(dataFilter ? dataFilter : {})};\r\n\r\n let event = _createEventParams({mode, ...params});\r\n if (onLoad) onLoad(event);\r\n if (event.cancel || _dataSource) return false;\r\n\r\n setDataGridLoading(true);\r\n dispatch(actionLoadGrid(params, (error, data) => {\r\n setDataGridLoading(false);\r\n if (error) {\r\n Config.popup.show(\"ERROR\", error);\r\n return false;\r\n } else if (data) {\r\n setDataGrid({\r\n rows: _.get(data, \"rows\", data || []),\r\n total: _.get(data, \"total\", data.length || 0)\r\n });\r\n }\r\n }));\r\n };\r\n\r\n const _onChangePage = (page) => {\r\n filter.current.skip = page * filter.current.limit;\r\n let event = _createEventParams({...filter.current});\r\n onChangePage && onChangePage(event);\r\n if (isRemotePaging && !event.cancel) loadData(\"changePage\");\r\n };\r\n\r\n const _onChangePerPage = (perPage) => {\r\n filter.current.skip = 0;\r\n filter.current.limit = perPage;\r\n let event = _createEventParams({...filter.current});\r\n onChangePerPage && onChangePerPage(event);\r\n if (isRemotePaging && !event.cancel) loadData(\"changePerPage\");\r\n };\r\n\r\n const _onChoosed = async () => {\r\n let event = _createEventParams({\r\n selectedRowKeys: refSelectedRowKeys.current,\r\n selectedRowsData: refSelectedRowData.current\r\n });\r\n if (onChoosed) await onChoosed(event);\r\n if (!event.cancel) onClose(\"choose\");\r\n };\r\n\r\n const _onSelectionChanged = (e) => {\r\n if (!e) return null;\r\n const {currentSelectedRowKeys, currentDeselectedRowKeys, selectedRowKeys, selectedRowsData} = e || {};\r\n if (mode === \"single\"\r\n && currentSelectedRowKeys.length > 0\r\n && selectedRowKeys.length !== currentSelectedRowKeys.length\r\n ) {\r\n e.component.selectRows(currentSelectedRowKeys);\r\n }\r\n\r\n const total = e.component.totalCount();\r\n if ((selectedRowKeys.length === total || selectedRowKeys.length === 0) && selectAll.current) {\r\n if (selectedRowKeys.length === total) e.component.deselectAll();\r\n if (selectedRowKeys.length === 0) selectAll.current = false;\r\n }\r\n selectAll.current = selectedRowKeys.length && (selectedRowKeys.length + currentDeselectedRowKeys.length) === total;\r\n\r\n if (currentSelectedRowKeys && currentSelectedRowKeys.length > 0) {\r\n let deselectKeys = [];\r\n currentSelectedRowKeys.map(item => {\r\n if (!refSelectedRowKeys.current.includes(item)) {\r\n e.component.byKey(item).done(d => {\r\n if (d.allowSelect === false) {\r\n deselectKeys.push(item);\r\n } else {\r\n refSelectedRowKeys.current.push(item);\r\n const rowData = selectedRowsData.find(d => d[keyExpr] === item);\r\n if (rowData) refSelectedRowData.current.push(rowData);\r\n }\r\n });\r\n }\r\n return item;\r\n });\r\n if (deselectKeys.length) e.component.deselectRows(deselectKeys);\r\n }\r\n if (currentDeselectedRowKeys && currentDeselectedRowKeys.length > 0) {\r\n currentDeselectedRowKeys.map(item => {\r\n if (e.component.byKey(item)) {\r\n e.component.byKey(item).done(d => {\r\n if (d.allowSelect !== false) {\r\n refSelectedRowKeys.current = refSelectedRowKeys.current.filter(f => {\r\n return item !== f;\r\n });\r\n refSelectedRowData.current = refSelectedRowData.current.filter(d => {\r\n return item !== d[keyExpr];\r\n });\r\n }\r\n });\r\n }\r\n return item;\r\n });\r\n e.component.selectRows(refSelectedRowKeys.current);\r\n }\r\n };\r\n\r\n\r\n const renderDataGrid = useMemo(() => {\r\n let _data = _dataSource || dataGrid;\r\n _data = {\r\n rows: _data?.rows || _data || [],\r\n total: _data?.total || _data.length || 0\r\n };\r\n return refGrid.current = ref}\r\n itemPerPage={filter.current.limit}\r\n skipPerPage={filter.current.skip}\r\n keyExpr={keyExpr}\r\n pagerFullScreen={false}\r\n columnAutoWidth={true}\r\n allowColumnResizing={true}\r\n loading={dataGridLoading}\r\n typeShort={window.innerWidth < 768}\r\n typePaging={typePaging}\r\n height={window.innerHeight - 270 > 650 ? 650 : window.innerHeight - 270}\r\n onChangePage={_onChangePage}\r\n onChangePerPage={_onChangePerPage}\r\n totalItems={_.get(_data, \"total\", 0)}\r\n dataSource={_.get(_data, \"rows\", [])}\r\n filterRow={{\r\n visible: typePaging !== \"remote\",\r\n showOperationChooser: false,\r\n }}\r\n selection={{\r\n allowSelectAll: mode === \"multiple\",\r\n mode: \"multiple\",\r\n selectAllMode: \"\",\r\n showCheckBoxesMode: \"always\"\r\n }}\r\n onContentReady={e => {\r\n if (timerContentReady.current) clearTimeout(timerContentReady.current);\r\n timerContentReady.current = setTimeout(() => {\r\n e.component.selectRows(refSelectedRowKeys.current);\r\n }, 300);\r\n }}\r\n onSelectionChanged={_onSelectionChanged}\r\n onEditorPreparing={e => {\r\n if (e.parentType === \"dataRow\" && e.type === \"selection\" && e?.row?.data?.allowSelect === false) {\r\n e.editorOptions.disabled = true;\r\n }\r\n }}\r\n gridProps={{\r\n ...(!children ? {columns: columns} : {}),\r\n ...GridProps\r\n }}\r\n >\r\n {children}\r\n \r\n // eslint-disable-next-line\r\n }, [_dataSource, dataGrid, mode, refSelectedRowKeys.current, dataGridLoading]);\r\n\r\n return (\r\n onClose && onClose(\"close\")}\r\n {...ModalProps}\r\n >\r\n {title || Config.lang(\"Chon\")}\r\n \r\n \r\n \r\n {typePaging === \"remote\" && {\r\n const value = e?.target?.value || \"\";\r\n if (timerSearch.current) clearTimeout(timerSearch.current);\r\n timerSearch.current = setTimeout(() => {\r\n filter.current.search = value;\r\n filter.current.skip = 0;\r\n loadData(\"search\");\r\n }, 700);\r\n }}\r\n value={filter.current.search}\r\n />}\r\n \r\n \r\n {renderDataGrid}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n});\r\n\r\n\r\nChooseModal.defaultProps = {\r\n open: false,\r\n typePaging: \"normal\",\r\n mode: \"multiple\",\r\n width: 720,\r\n zIndex: 1020\r\n};\r\n\r\nChooseModal.propTypes = {\r\n open: PropTypes.bool,\r\n title: PropTypes.string,\r\n mode: PropTypes.string,\r\n width: PropTypes.any,\r\n zIndex: PropTypes.number,\r\n FormID: PropTypes.string,\r\n typePaging: PropTypes.string,\r\n keyExpr: PropTypes.string.isRequired,\r\n dataFilter: PropTypes.object,\r\n dataSource: PropTypes.any,\r\n selected: PropTypes.array,\r\n columns: PropTypes.array,\r\n actionLoadGrid: PropTypes.any,\r\n\r\n ModalProps: PropTypes.object,\r\n GridProps: PropTypes.object,\r\n\r\n onLoad: PropTypes.func,\r\n onChangePage: PropTypes.func,\r\n onChangePerPage: PropTypes.func,\r\n onClose: PropTypes.func,\r\n onChoosed: PropTypes.func\r\n};\r\n\r\nexport default ChooseModal;\r\n\r\n","/**\r\n * @copyright 2019 @ DigiNet\r\n * @author tranghoang\r\n * @create 2019/08/09 10:37\r\n * @update 2017/08/12 10:37\r\n */\r\n\r\nimport React from 'react';\r\nimport {browserHistory} from \"react-router\";\r\nimport Config from \"../../config\";\r\nimport {Animated} from \"react-animated-css\";\r\nimport {Tooltip, withStyles,\r\n ExpansionPanelSummary,\r\n ExpansionPanelDetails,\r\n ExpansionPanel,\r\n Typography\r\n} from \"@material-ui/core\";\r\nimport {Row} from \"react-bootstrap\";\r\nimport Icons from \"../common/icons\";\r\nimport IconMenu from \"diginet-core-ui/icons/menu/v2\";\r\nimport { Button, Badge } from \"diginet-core-ui/components\"\r\nimport Profile from \"../header/profile\";\r\n\r\nconst styles = theme => ({\r\n collapseBoardContent: {\r\n padding: '0 !important',\r\n flexDirection: 'column'\r\n },\r\n heading: {\r\n fontSize: 16,\r\n fontWeight: 450,\r\n textTransform: \"uppercase\",\r\n },\r\n headingMinium: {\r\n fontSize: 11,\r\n fontWeight: 450,\r\n textTransform: \"uppercase\",\r\n textAlign: \"center\",\r\n overflow: 'hidden',\r\n textOverflow: 'ellipsis',\r\n whiteSpace: 'nowrap',\r\n width: 60\r\n },\r\n collapseBoard: {\r\n width: \"100%\",\r\n position: 'initial !important',\r\n boxShadow: 'initial !important',\r\n margin: '0 0 5px 0 !important'\r\n },\r\n ExpansionPanelSummary: {\r\n minHeight: 'initial !important',\r\n padding: \"8px 0\",\r\n width: \"100%\",\r\n color: theme.palette.primary.main,\r\n \"& .MuiExpansionPanelSummary-content\": {\r\n margin: \"0 !important\",\r\n display: \"block\"\r\n },\r\n \"&.Mui-expanded\": {\r\n minHeight: \"inherit\"\r\n }\r\n },\r\n});\r\nclass SideNav extends React.Component{\r\n\r\n heightMenu = 42;\r\n\r\n constructor(props) {\r\n super(props);\r\n this.state={\r\n showMore: false,\r\n showMoreChild: false,\r\n expanded: false,\r\n expandGroup: {\r\n ModuleGroup: true,\r\n },\r\n selectedModule: null,\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n const currentModule = Config.getLocalStorage('CURRENTMODULE', true);\r\n const moduleData = Config.module;\r\n if (!currentModule && moduleData?.length > 0) {\r\n Config.setLocalStorage('CURRENTMODULE', JSON.stringify(moduleData?.[0]));\r\n this.setState({ selectedModule: moduleData?.[0] });\r\n } else {\r\n this.setState({ selectedModule: currentModule });\r\n }\r\n this.toggleNav(this.props.expand);\r\n }\r\n\r\n componentDidUpdate(prevProps, prevState, snapshot) {\r\n const currentModule = Config.getLocalStorage('CURRENTMODULE');\r\n if (prevProps.expand !== this.props.expand) {\r\n this.toggleNav(this.props.expand);\r\n }\r\n if (!this.props.isModuleSidebar && currentModule && JSON.stringify(this.state.selectedModule) !== currentModule) {\r\n this.setState({ selectedModule: JSON.parse(currentModule) });\r\n }\r\n }\r\n\r\n getNestedChildren = (arr, parent) => {\r\n let out = [];\r\n arr.forEach((key)=>{\r\n if(key.ParentMenuID === parent) {\r\n let children = this.getNestedChildren(arr, key.MenuID);\r\n if(children.length) {\r\n key.children = children;\r\n }\r\n out.push(key);\r\n }\r\n });\r\n return out;\r\n };\r\n\r\n toggleNav = (flag) => {\r\n const btnToogle = document.querySelector('#toogle-nav').children[0];\r\n if (typeof flag === \"undefined\") {\r\n if (this.refs['side-container'].clientWidth < 180) {\r\n // this.checkShowMore(this.dataMenuParse);\r\n this.refs['side-container'].classList.remove('minimum');\r\n if (btnToogle) {\r\n btnToogle.classList.add('active');\r\n }\r\n } else {\r\n this.refs['side-container'].classList.add('minimum');\r\n if (btnToogle) {\r\n btnToogle.classList.remove('active');\r\n }\r\n }\r\n } else {\r\n if (flag) {\r\n if (btnToogle) {\r\n btnToogle.classList.add('active');\r\n }\r\n this.setState({expanded: true});\r\n this.refs['side-container'].classList.remove('minimum');\r\n } else {\r\n if (btnToogle) {\r\n btnToogle.classList.remove('active');\r\n }\r\n this.setState({expanded: false});\r\n this.refs['side-container'].classList.add('minimum');\r\n }\r\n }\r\n };\r\n\r\n toggleMenuESS = (number) => {\r\n const {isTab, toggleMenuEss} = this.props;\r\n if(isTab === number) return;\r\n if(toggleMenuEss) toggleMenuEss(number, true);\r\n };\r\n\r\n handleChangeSelectedModule = (module) => {\r\n if (!module) return false;\r\n this.setState({ selectedModule: module }, () => {\r\n const { setCurrentModule } = this.props;\r\n setCurrentModule && setCurrentModule(module);\r\n });\r\n };\r\n\r\n render() {\r\n const {isTab, className, classes, isModule, isModuleSidebar, cusStyle, toggleModuleSidebar, badgeNumber} = this.props;\r\n const {expanded, expandGroup, selectedModule} = this.state;\r\n let dataMenu = null;\r\n if (isModule) {\r\n dataMenu = JSON.parse(JSON.stringify(Config?.module ?? null));\r\n } else if (Config.menu) {\r\n switch (isTab) {\r\n case 2:\r\n dataMenu = [\r\n {\r\n AppFormID: \"\",\r\n FormCall: \"W39F3000\",\r\n FormDesc: Config.lang(\"Danh_sach_muc_tieu\"),\r\n FormID: \"W39F3000\",\r\n FormIDPermission: \"W39F3000\",\r\n IsAW: 0,\r\n IsPermission: 0,\r\n MenuGroupID: \"Goal\",\r\n MenuID: \"MHRP39N0008\",\r\n Parameters: \"\",\r\n ProductID: \"WHRP\",\r\n Type: \"OKR\",\r\n },\r\n {\r\n AppFormID: \"\",\r\n FormCall: \"W39F3025\",\r\n FormDesc: Config.lang(\"Ban_do_muc_tieu\"),\r\n FormID: \"W39F3025\",\r\n FormIDPermission: \"\",\r\n IsAW: 0,\r\n IsPermission: 0,\r\n MenuGroupID: \"Goal\",\r\n MenuID: \"MHRP39N0009\",\r\n Parameters: \"\",\r\n ProductID: \"WHRP\",\r\n Type: \"OKR\",\r\n },\r\n {\r\n AppFormID: \"\",\r\n FormCall: \"W39F3010\",\r\n FormDesc: Config.lang(\"Review_muc_tieu\"),\r\n FormID: \"W39F3010\",\r\n FormIDPermission: \"W39F3010\",\r\n IsAW: 0,\r\n IsPermission: 1,\r\n MenuGroupID: \"Goal\",\r\n MenuID: \"MHRP39N0012\",\r\n Parameters: \"\",\r\n ProductID: \"WHRP\",\r\n Type: \"OKR\",\r\n },\r\n {\r\n AppFormID: \"\",\r\n FormCall: \"W39F3020\",\r\n FormDesc: Config.lang(\"Danh_sach_duyet_ket_qua_muc_tieu_ca_nhan\"),\r\n FormID: \"W39F3020\",\r\n FormIDPermission: \"W39F3020\",\r\n IsAW: 0,\r\n IsPermission: 1,\r\n MenuGroupID: \"Goal\",\r\n MenuID: \"MHRP39N0011\",\r\n Parameters: \"\",\r\n ProductID: \"WHRP\",\r\n Type: \"OKR\",\r\n },\r\n {\r\n AppFormID: \"\",\r\n FormCall: \"W39F3035\",\r\n FormDesc: Config.lang(\"Xep_loai_danh_gia_nhan_vien\"),\r\n FormID: \"W39F3035\",\r\n FormIDPermission: \"W39F3035\",\r\n IsAW: 0,\r\n IsPermission: 0,\r\n MenuGroupID: \"Goal\",\r\n MenuID: \"MHRP39N0015\",\r\n Parameters: \"\",\r\n ProductID: \"WHRP\",\r\n Type: \"OKR\",\r\n }\r\n ];\r\n break;\r\n case 1:\r\n dataMenu = JSON.parse(JSON.stringify(Config.menu.listMSS ? Config.menu.listMSS : null));\r\n break;\r\n case 0:\r\n default:\r\n dataMenu = JSON.parse(JSON.stringify(Config.menu.listESS ? Config.menu.listESS : null));\r\n break;\r\n }\r\n if (dataMenu && selectedModule) {\r\n if (selectedModule?.ModuleID !== 'ALL') {\r\n dataMenu = dataMenu.map(menu => {\r\n menu.MenuItem = menu?.MenuItem?.filter(item => item?.ModuleID?.includes(selectedModule.ModuleID));\r\n return menu;\r\n });\r\n }\r\n if(isTab !== 2) {\r\n const moduleMenu = {\r\n MenuGroupID: \"Module\",\r\n MenuGroupName: Config.lang('Danh_sach_module'),\r\n MenuItem: [{\r\n FormCall: selectedModule?.ModuleID ?? '',\r\n FormID: selectedModule?.ModuleID ?? '',\r\n FormDesc: Config.language === '84' ? (selectedModule?.ModuleName ?? '') : (selectedModule?.ModuleName01 ?? ''),\r\n MenuGroupID: \"Module\",\r\n MenuID: selectedModule?.ModuleID ?? '',\r\n ProductID: \"WDHR\",\r\n }],\r\n ShortName: Config.lang('Module'),\r\n Type: \"MODULE\",\r\n };\r\n dataMenu.unshift(moduleMenu);\r\n }\r\n }\r\n }\r\n dataMenu = !dataMenu ? [] : dataMenu;\r\n // if (!isModuleSidebar) console.log(selectedModule, dataMenu)\r\n\r\n return(\r\n
\r\n
\r\n {!isModuleSidebar &&
\r\n
\r\n \r\n
\r\n
\r\n this.toggleMenuESS(0)}\r\n />\r\n this.toggleMenuESS(1)}\r\n />\r\n
\r\n
}\r\n {isModule ? (\r\n
    \r\n
    \r\n this.setState({ expandGroup: {...this.state.expandGroup, ModuleGroup: !expandGroup?.ModuleGroup}})}\r\n >\r\n \r\n \r\n \r\n
    \r\n {expanded ? Config.lang('Danh_sach_module') : Config.lang('Module')}\r\n {expanded && }\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n 4 ? 'valign-top' : 'valign-middle')}>\r\n {dataMenu.map((item, idx)=>{\r\n return(\r\n \r\n )\r\n })}\r\n \r\n \r\n \r\n
    \r\n
\r\n ) : isTab !== 2 && dataMenu && dataMenu.map((menu, idx) => {\r\n // const cls = this.getClassName(o, idx);\r\n if (menu.MenuItem && menu.MenuItem.length <= 0) return null;\r\n const _expand = typeof expandGroup[menu.MenuGroupID] === \"undefined\" ? true : expandGroup[menu.MenuGroupID];\r\n const name = !expanded ? menu.ShortName : menu.MenuGroupName;\r\n return (\r\n
    \r\n
    \r\n this.setState({ expandGroup: {...this.state.expandGroup, [menu.MenuGroupID]: !_expand}})}\r\n >\r\n \r\n \r\n \r\n
    \r\n {name}\r\n {expanded && }\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n 4 ? 'valign-top' : 'valign-middle')}>\r\n {menu.MenuItem && menu.MenuItem.map((item, idx)=>{\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 {isTab === 2 && dataMenu && dataMenu.map((menu, idx) => {\r\n return (\r\n \r\n )\r\n })}\r\n
\r\n {/*
*/}\r\n {/* */}\r\n {/*
*/}\r\n
\r\n )\r\n }\r\n}\r\n\r\nclass ItemMenu extends React.Component {\r\n\r\n getClassName = (m, idx, child) => {\r\n const { isModule } = this.props;\r\n const pth = window.location.href.split('/');\r\n const mdl = (pth && pth.length > 0) ? pth[pth.length - 1] : '';\r\n const currentModule = Config.getLocalStorage('CURRENTMODULE', true, true);\r\n let cls = `${isModule ? 'module' : 'menu'}-${isModule ? m.ModuleID : m.MenuID}-${idx} menu-item-child`;\r\n if (child) cls += '-child';\r\n\r\n if(m.Disabled === true) {\r\n cls += ' disabled-icon';\r\n }\r\n\r\n if (m && ((mdl === m.FormCall && m.FormCall !== '') || (isModule && m.ModuleID === currentModule?.ModuleID))) {\r\n cls += ' active';\r\n }\r\n\r\n return cls;\r\n };\r\n\r\n onMenuClick = (item, idx) => {\r\n const { isModule, handleChangeSelectedModule, toggleModuleSidebar } = this.props;\r\n if (isModule) {\r\n if (!item) return false;\r\n Config.setLocalStorage('CURRENTMODULE', JSON.stringify(item));\r\n const selectModule = document.querySelector(`.module-${item?.ModuleID ?? ''}-${idx ?? ''}`);\r\n let el = document.querySelector('.menu-item-child.active');\r\n let elChild = document.querySelector('.menu-item-child-child.active');\r\n if (selectModule !== el && selectModule !== elChild) {\r\n if (el) el.classList.remove('active');\r\n if (elChild) elChild.classList.remove('active');\r\n if (selectModule) selectModule.classList.add('active');\r\n }\r\n handleChangeSelectedModule && handleChangeSelectedModule(item);\r\n } else {\r\n const menuGroupID = item.MenuGroupID;\r\n if (menuGroupID === 'Module') {\r\n toggleModuleSidebar && toggleModuleSidebar();\r\n } else {\r\n const url = item.FormCall;\r\n const parameter = item.Parameters ? JSON.parse(item.Parameters) : null;\r\n const params = {\r\n menu: item,\r\n ...(parameter ? { ...parameter } : {})\r\n };\r\n if (!url || url === '' || url === '#' || (item.children && item.children.length > 0)) {\r\n if (document.body.offsetWidth <= 720) {\r\n this.toggleNav();\r\n }\r\n return false;\r\n }\r\n if (url === '/') {\r\n browserHistory.push({\r\n pathname: Config.getRootPath() + '/',\r\n state: params\r\n });\r\n let el = document.querySelector('.menu-item-child.active');\r\n let elChild = document.querySelector('.menu-item-child-child.active');\r\n if (el) el.className = 'menu-item-child';\r\n if (elChild) elChild.className = 'menu-item-child-child';\r\n const elHome = document.querySelector('.menu-item-child-home');\r\n if (elHome) elHome.className = 'menu-item-child-home logo active';\r\n } else {\r\n browserHistory.push({\r\n pathname: Config.getRootPath() + url,\r\n state: params\r\n });\r\n let el = document.querySelector('.menu-item-child.active');\r\n let elChild = document.querySelector('.menu-item-child-child.active');\r\n if (el) el.className = 'menu-item-child';\r\n if (elChild) elChild.className = 'menu-item-child-child';\r\n const elHome = document.querySelector('.menu-item-child-home');\r\n if (elHome) elHome.className = 'menu-item-child-home logo';\r\n if (this.refs[url] && this.refs[url].classList) this.refs[url].classList.add('active');\r\n }\r\n }\r\n }\r\n const {toggleNav} = this.props;\r\n if(toggleNav && document.body.offsetWidth <= 720){\r\n toggleNav();\r\n }\r\n };\r\n\r\n render(){\r\n const {data: o, index: idx, expanded, isModule, badgeNumber} = this.props;\r\n const cls = this.getClassName(o, idx);\r\n let height = this.heightMenu;\r\n const language = Config?.language ?? '84';\r\n const name = isModule ? (language === '84' ? o.ModuleName : o.ModuleName01) : (o.FormDesc || o.MenuName);\r\n\r\n const badgeOKR = badgeNumber?.OKR?.find(i => i.MenuID === o.MenuID) || 0;\r\n\r\n return(\r\n \r\n
\r\n \r\n \r\n
{\r\n this.onMenuClick(o, idx)\r\n }}>\r\n \r\n \r\n \r\n
\r\n {name}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n )\r\n }\r\n}\r\n\r\nexport default withStyles(styles, {withTheme: true})(SideNav);\r\n","/**\r\n * @copyright 2019 @ DigiNet\r\n * @author TRIHAO\r\n * @create 4/19/2021\r\n * @Example\r\n */\r\n\r\nimport React, {Component} from 'react';\r\nimport Config from \"../../config\";\r\n\r\nimport {PopupV2 as PopupCore} from \"diginet-core-ui/components\";\r\nimport {withStyles} from \"@material-ui/core\";\r\nimport * as _ from \"lodash\";\r\n\r\nconst styles = {\r\n paper: {\r\n alignSelf: 'start',\r\n },\r\n btnDetail: {\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n padding: 0,\r\n paddingRight: 5,\r\n fontSize: 11,\r\n backgroundColor: \"#ddd !important\"\r\n },\r\n collapseDetail: {\r\n marginTop: 5,\r\n padding: \"8px 10px\",\r\n backgroundColor: \"#EFF5FF\",\r\n borderRadius: 5\r\n // borderTop: \"1px solid #ddd\",\r\n },\r\n};\r\n/**\r\n * Example:\r\n * Config.popup.show(message);\r\n * Config.popup.show(error);\r\n * Config.popup.show(type, message || objMessage);\r\n * Config.popup.show(options, message || objMessage);\r\n */\r\n\r\nclass Popup extends Component {\r\n constructor (props) {\r\n super(props);\r\n this.state = {\r\n show: false,\r\n data: '',\r\n detail: '',\r\n options: {},\r\n }\r\n }\r\n\r\n _getInit = (options, data, cbConfirm, cbCancel, cbClose, detail = null, lblBtnOk, lblBtnNo) => {\r\n if (!data && !cbConfirm && !cbCancel && !cbClose && !detail) {\r\n data = options;\r\n options = {type: typeof options === \"object\" ? \"error\" : \"info\"}\r\n } else if (typeof options === \"string\") {\r\n options = {type: options || \"info\"};\r\n }\r\n options = {yesText: lblBtnOk, noText: lblBtnNo, ...options};\r\n return {\r\n data: data,\r\n options: options,\r\n cbConfirm: cbConfirm,\r\n cbCancel: cbCancel,\r\n cbClose: cbClose,\r\n detail: detail\r\n };\r\n };\r\n\r\n //options: not require\r\n show = (options, data, cbConfirm, cbCancel, cbClose, detail = null, lblBtnOk, lblBtnNo) => {\r\n let _options = this._getInit(options, data, cbConfirm, cbCancel, cbClose, detail, lblBtnOk, lblBtnNo);\r\n this.setState({\r\n show: true,\r\n data: _options.data,\r\n detail: _options.detail,\r\n options: _options.options,\r\n cbConfirm: _options?.cbConfirm ? () => {\r\n this.setState({show: false}, () => _options?.cbConfirm && _options.cbConfirm());\r\n // _options?.cbConfirm && _options.cbConfirm();\r\n } : null,\r\n cbCancel: _options?.cbCancel ? () => {\r\n this.setState({show: false}, () => _options?.cbCancel && _options.cbCancel());\r\n // _options?.cbCancel && _options.cbCancel();\r\n } : null,\r\n cbClose: _options?.cbClose ? (e) => {\r\n this.setState({show: false}, () => _options?.cbClose && _options.cbClose(e));\r\n // _options?.cbClose && _options.cbClose();\r\n } : null,\r\n });\r\n };\r\n\r\n onClose = (e) => {\r\n this.setState({show: false});\r\n if (this.state.cbClose) this.state.cbClose(e);\r\n };\r\n\r\n onCancel = () => {\r\n this.setState({show: false});\r\n if (this.state.cbCancel) this.state.cbCancel();\r\n };\r\n\r\n onConfirm = () => {\r\n this.setState({show: false});\r\n if (this.state.cbConfirm) this.state.cbConfirm();\r\n };\r\n\r\n getType = () => {\r\n //Default: \"info\", \"success\", \"warning\", \"danger\", \"yesno\"\r\n const {type} = this.state?.options || {};\r\n switch (type?.toLowerCase()) {\r\n case \"yes_no\":\r\n case \"yesno\":\r\n case \"yes-no\":\r\n return \"yesno\";\r\n case \"ERROR\":\r\n case \"error\":\r\n return \"danger\";\r\n default:\r\n return type?.toLowerCase() || \"info\";\r\n }\r\n };\r\n\r\n getHtmlForText = (text) => {\r\n const _text = typeof text === \"string\" ? text : Config.lang(\"Loi_chua_xac_dinh\");\r\n return
{_text}
;\r\n };\r\n\r\n renderContent = (data) => {\r\n if (!data) return null;\r\n const {detail} = this.state;\r\n let _data = {\r\n title: \"\",\r\n subtitle: \"\",\r\n description: \"\"\r\n };\r\n if (typeof data === \"object\") {\r\n if (data.originalError) {\r\n const { message, originalError, customMessage, code: codeError } = data;\r\n const _customMessage = customMessage && typeof customMessage === \"object\" ? customMessage[codeError] : customMessage;\r\n let messageError = \"\";\r\n Object.keys(originalError).forEach(key => {\r\n messageError += `${key}: ${JSON.stringify(originalError[key], null, 8)}\\n`;\r\n });\r\n _data = {\r\n title: Config.lang(\"Lỗi\") + (codeError ? `: ${codeError}` : \"\"),\r\n subtitle: this.getHtmlForText(_customMessage || message || Config.lang(\"Loi_chua_xac_dinh\")),\r\n description: this.getHtmlForText(messageError),\r\n };\r\n } else {\r\n const message = data?.message || data?.data?.Message || data;\r\n _data = {\r\n description: this.getHtmlForText(message || Config.lang(\"Loi_chua_xac_dinh\")),\r\n };\r\n }\r\n } else if (detail) {\r\n _data = {\r\n subtitle: this.getHtmlForText(data || Config.lang(\"Loi_chua_xac_dinh\")),\r\n description: detail\r\n };\r\n } else {\r\n _data = {\r\n description: data || Config.lang(\"Loi_chua_xac_dinh\"),\r\n };\r\n }\r\n\r\n return _data;\r\n };\r\n\r\n render () {\r\n const {show, data, options} = this.state;\r\n /* eslint-disable */\r\n const _data = this.renderContent(data);\r\n /* eslint-enable */\r\n const {title, subtitle, description} = _data || {};\r\n let type = this.getType();\r\n let {icon, yesText, noText, confirmProps, cancelProps} = options || {};\r\n const excludeProps = [\"icon\", \"type\", \"yesText\", \"noText\", \"confirmProps\", \"cancelProps\"];\r\n\r\n return (\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default withStyles(styles)(Popup);\r\n\r\n","/**\r\n * @copyright 2019 @ DigiNet\r\n * @author tranghoang\r\n * @create 2019/01/24 09:15\r\n * @update 2019/01/24 09:15\r\n */\r\n\r\nimport React, {Component} from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport SearchToolBar from \"./tlb-search\";\r\nimport ButtonBasic from \"../common/button/button-basic\";\r\nimport DropdownToolbar from \"../grid-container/template/dropdown-toolbar\";\r\nimport Config from \"../../config\";\r\nimport {CheckBox} from \"devextreme-react\";\r\nimport ButtonGeneral from \"../common/button/button-general\";\r\n\r\nclass GridToolbar extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n totalItems: 0,\r\n itemPerPage: 20,\r\n curPerPage: 20,\r\n currentPage: 0,\r\n listPerPage: [10, 20, 30, 50],\r\n };\r\n }\r\n\r\n onButtonClick(allowAdding) {\r\n if (typeof allowAdding == 'undefined') {\r\n if (this.props.onAddNew)\r\n this.props.onAddNew();\r\n } else {\r\n if (this.props.onAddNew && allowAdding >= 4)\r\n this.props.onAddNew();\r\n }\r\n }\r\n\r\n onSendMailClick() {\r\n if (this.props.onSendMail) {\r\n this.props.onSendMail();\r\n }\r\n }\r\n\r\n renderButton = (data, index) => {\r\n let buttonRender;\r\n switch (data.buttonType) {\r\n case 'dropdown':\r\n buttonRender =\r\n ;\r\n break;\r\n case 'label':\r\n buttonRender = ;\r\n break;\r\n case 'check':\r\n buttonRender =\r\n ;\r\n break;\r\n default:\r\n buttonRender = \r\n {data.icon &&\r\n   }{data.buttonName && data.buttonName}\r\n ;\r\n break;\r\n }\r\n return buttonRender\r\n };\r\n\r\n\r\n render() {\r\n const {buttonCRM, onAddNew, allowAdding, isPer, showSendMail, allowSearch, onSearch, valueSearch} = this.props;\r\n\r\n return (\r\n
\r\n
\r\n {buttonCRM && buttonCRM.map((value, index) => {\r\n return value.align !== 'right' ? this.renderButton(value, index) : null\r\n })}\r\n
\r\n {onAddNew &&\r\n this.onButtonClick(allowAdding)}\r\n name={Config.lang(\"DHR_Them_moi\")}\r\n className={allowAdding <= 1 ? 'isDisabled' : ''}\r\n disabled={isPer < 2}/>\r\n }\r\n\r\n {showSendMail &&\r\n this.onSendMailClick()} name={Config.lang(\"DHR_Gui_mail\")}/>\r\n }\r\n {\r\n onSearch && onSearch(text)\r\n }}/>\r\n
\r\n {buttonCRM && buttonCRM.map((value, index) => {\r\n return value.align === 'right' ? this.renderButton(value, index) : null\r\n })}\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nGridToolbar.propTypes = {\r\n totalItems: PropTypes.number,\r\n itemPerPage: PropTypes.number,\r\n currentPage: PropTypes.number,\r\n curPerPage: PropTypes.number,\r\n listPerPage: PropTypes.array,\r\n showSendMail: PropTypes.bool,\r\n buttonCRM: PropTypes.array,\r\n isPer: PropTypes.number,\r\n allowAdding: PropTypes.number,\r\n valueSearch: PropTypes.string,\r\n\r\n onSearch: PropTypes.func,\r\n onChangePage: PropTypes.func,\r\n onChangePerPage: PropTypes.func,\r\n onSendMail: PropTypes.func,\r\n onAddNew: PropTypes.func,\r\n};\r\n\r\nexport default GridToolbar;\r\n","/**\r\n * @copyright 2019 @ DigiNet\r\n * @author tranghoang\r\n * @create 2019/08/09 22:59\r\n * @update 2019/08/09 22:59\r\n * @file src/components/common/items/staff-item.js\r\n */\r\n\r\nimport React, {Component} from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport Config from \"../../config\";\r\n\r\nclass SearchToolBar extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.timer = null;\r\n this.timeDeplay = 3000;\r\n }\r\n\r\n onSearch() {\r\n if (this.props.onSearch) this.props.onSearch(this.vlFilter);\r\n }\r\n\r\n onChange(e) {\r\n this.vlFilter = e ? e.target.value : null;\r\n\r\n if (this.timer) {\r\n clearTimeout(this.timer);\r\n }\r\n\r\n this.timer = setTimeout(() => {\r\n // console.log('============= this.vlFilter: ', this.vlFilter);\r\n if ((this.vlFilter === null || this.vlFilter.length === 0) && this.props.onReset) {\r\n this.props.onReset();\r\n } else {\r\n this.onSearch();\r\n }\r\n }, this.timeDeplay / 3);\r\n }\r\n\r\n\r\n render() {\r\n const {allowSearch, valueSearch} = this.props;\r\n\r\n return (\r\n
\r\n\r\n {\r\n this.vlFilter = vl.target.value\r\n }}\r\n onKeyUp={e => this.onChange(e)}/>\r\n\r\n this.onSearch()}>\r\n \r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\nSearchToolBar.propTypes = {\r\n onSearch: PropTypes.func,\r\n onReset: PropTypes.func,\r\n className: PropTypes.string,\r\n};\r\n\r\nexport default SearchToolBar;\r\n","/**\r\n * @copyright 2019 @ DigiNet\r\n * @author rocachien\r\n * @create 2019/02/15 10:25\r\n * @update 2019/02/15 10:25\r\n */\r\n\r\nimport React, { Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport Config from \"../../config\";\r\nimport ButtonGeneral from \"../common/button/button-general\";\r\n\r\nclass GridFilterBar extends Component {\r\n onFilter(o) {\r\n // console.log('==== GridFilterBar => onFilter => option: ', o);\r\n\r\n if (this.props.onFilter) {\r\n this.props.onFilter(o);\r\n }\r\n }\r\n\r\n getToTal () {\r\n const {filterData} = this.props;\r\n\r\n if (!filterData || filterData.length === 0) {\r\n return 0;\r\n }\r\n\r\n let total = 0;\r\n for (let i = 0; i < filterData.length; i++) {\r\n const f = filterData[i];\r\n total += f.Num;\r\n }\r\n\r\n return total;\r\n }\r\n\r\n render() {\r\n const {filterData} = this.props;\r\n\r\n // console.log('====== filterData', filterData);\r\n return (\r\n
\r\n this.onFilter('')}/>\r\n\r\n {filterData && filterData.map((o, i) => {\r\n return (this.onFilter(o)}/>);\r\n })}\r\n\r\n
\r\n );\r\n }\r\n}\r\n\r\nGridFilterBar.propTypes = {\r\n filterData: PropTypes.array,\r\n\r\n onFilter: PropTypes.func\r\n};\r\n\r\nexport default GridFilterBar;\r\n","/**\r\n * @copyright 2019 @ DigiNet\r\n * @author tranghoang\r\n * @create 2019/01/11 10:37\r\n * @update 2019/01/11 10:37\r\n */\r\n\r\nimport React from 'react';\r\nimport { Image, FormGroup, Row, Col} from 'react-bootstrap';\r\nimport { Button as CoreButton } from 'diginet-core-ui/components';\r\nimport {connect} from \"react-redux\";\r\nimport {bindActionCreators} from \"redux\";\r\nimport * as mainActions from \"../../redux/main/main_actions\";\r\nimport * as homeActions from \"../../redux/home/home_actions\";\r\nimport Config from \"../../config\";\r\nimport {\r\n Validator,\r\n RequiredRule\r\n} from 'devextreme-react/validator';\r\nimport {TextBox,Button as ButtonSM} from 'devextreme-react';\r\nimport ReactLoading from 'react-loading';\r\nimport {Checkbox, TextField} from \"../common/form-material\";\r\nimport Button from \"@material-ui/core/Button\";\r\nimport {MenuItem} from \"@material-ui/core\";\r\nimport LocalizedStrings from \"react-localization\";\r\nimport W00F1015 from \"../W0X/W00/W00F1015/W00F1015\"\r\nimport moment from 'moment';\r\n\r\nclass LoginPage extends React.PureComponent {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.txtUserID = null;\r\n this.timeBlock = 600000; //10 minutes\r\n\r\n this.setTextBox = (ref) => {\r\n if (ref) {\r\n this.txtUserID = ref.instance;\r\n }\r\n };\r\n\r\n this.state = {\r\n userID: \"\",\r\n passW: \"\",\r\n message: \"\",\r\n isSubmit: false,\r\n eUsernameFlag: null,\r\n ePasswordFlag: null,\r\n lang:'vi',\r\n saveAccount: false,\r\n openPopupW00F1015: false\r\n };\r\n };\r\n\r\n componentDidMount(){\r\n let lang = Config.getLocalStorage(\"langDHR\");\r\n let accountSaved = Config.getLocalStorage('LOGINDHR');\r\n accountSaved = accountSaved && Config.isJson(accountSaved) ? JSON.parse(accountSaved) : null;\r\n if(accountSaved){\r\n this.setState({\r\n saveAccount: true,\r\n userID: accountSaved.user,\r\n passW: accountSaved.pass,\r\n });\r\n }\r\n if (lang!==null && typeof lang !=='undefined'){\r\n\r\n this.setState({lang:lang});\r\n }\r\n this.txtUserID.focus();\r\n }\r\n\r\n onLogout() {\r\n if(this.props.onLogout) {\r\n this.props.onLogout();\r\n }\r\n };\r\n\r\n onKeyDown(e){\r\n if (this.state.userID!=='') {\r\n switch (e.event.key) {\r\n case 'Enter':\r\n this.onFormSubmit();\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n }\r\n\r\n onKeyDownAccount(e){\r\n if (this.passW!==''){\r\n switch (e.event.key) {\r\n case 'Enter':\r\n this.onFormSubmit();\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n }\r\n\r\n onEventSave() {\r\n const submit = document.getElementById(\"btnSubmit\");\r\n submit.click();\r\n }\r\n\r\n handleLanguageChange = (e) => {\r\n if (e && e.target && e.target.value) {\r\n Config.setLocalStorage('langDHR', e.target.value);\r\n this.loadLocalize();\r\n this.setState({lang: e.target.value});\r\n }\r\n };\r\n\r\n loadLocalize = () => {\r\n let cfLocalize = null;\r\n let lang = Config.getLocalStorage(\"langDHR\");\r\n\r\n if (!lang || lang.length !== 2){\r\n lang = \"vi\";\r\n Config.setLocalStorage('langDHR','vi');\r\n }\r\n\r\n try {\r\n const lc = Config.getLocalStorage('LOCALIZE');\r\n cfLocalize = lc ? JSON.parse(lc) : null;\r\n\r\n } catch (e) {\r\n\r\n }\r\n\r\n Config.localization = new LocalizedStrings(cfLocalize);\r\n Config.localization.setLanguage(lang);\r\n\r\n if (lang === \"vi\"){\r\n Config.language = \"84\";\r\n } else {\r\n Config.language = \"01\";\r\n }\r\n };\r\n\r\n handleSaveAccount = (e, value) => {\r\n this.setState({\r\n saveAccount: value\r\n });\r\n };\r\n getNestedChildren = (arr, parent) => {\r\n // console.log('== getNestedChildren => arr: ', arr);\r\n let out = [];\r\n for(let i in arr) {\r\n if(arr[i].NodeParent === parent) {\r\n let children = this.getNestedChildren(arr, arr[i].Node);\r\n\r\n if(children.length) {\r\n arr[i].children = children;\r\n }\r\n out.push(arr[i]);\r\n }\r\n }\r\n return out;\r\n };\r\n\r\n onFormSubmit = () => {\r\n const {userID, passW} = this.state;\r\n const {location} = this.props;\r\n this.setState({message: \"\"});\r\n if (!userID ||!passW ) {\r\n this.setState({message: Config.lang(\"Tai_khoan_dang_nhap_hoac_mat_khau_khong_dung\")});\r\n return null;\r\n }\r\n\r\n // check User is login failed 3 times\r\n let blockListLogin = {};\r\n if(userID){\r\n blockListLogin = Config.getLocalStorage('BLOCK_LIST_LOGIN', true) || {};\r\n const time = blockListLogin[userID] ? moment().valueOf() - blockListLogin[userID] : null;\r\n if(time && time < this.timeBlock){ //10 minutes\r\n this.setState({message: Config.lang(`Ban_da_dang_nhap_sai_qua_so_lan_cho_phep_vui_long_cho_%${moment(this.timeBlock - time).format(`m [${Config.lang('phut')}] ss ${Config.lang('Giay').toLowerCase()}`)}%_de_dang_nhap_lai`)});\r\n return null;\r\n }\r\n else if(blockListLogin[userID]){\r\n delete blockListLogin[userID];\r\n Config.setLocalStorage('BLOCK_LIST_LOGIN', JSON.stringify(blockListLogin));\r\n }\r\n }\r\n\r\n this.setState({isSubmit: true});\r\n this.props.mainActions.login({\r\n username: userID,\r\n password: passW,\r\n language: Config.language || \"84\"\r\n }, (error, data) => {\r\n if(error){\r\n let errorCode = error.code || null;\r\n let message = \"\";\r\n\r\n switch (errorCode) {\r\n case \"US034\":\r\n message = Config.lang(\"Tai_khoan_chua_duoc_thiet_lap_nhan_vien_Ban_khong_the_dang_nhap\");\r\n break;\r\n case \"US004\":\r\n message = Config.lang(\"Tai_khoan_dang_nhap_hoac_mat_khau_khong_dung\");\r\n break;\r\n case \"US005\":\r\n case \"US029\":\r\n message = Config.lang(\"Tai_khoan_khong_co_quyen\");\r\n break;\r\n case \"US038\":\r\n message = Config.lang(`Ban_da_dang_nhap_sai_qua_so_lan_cho_phep_vui_long_cho_%10 ${Config.lang('phut')}%_de_dang_nhap_lai`);\r\n\r\n // save User to list user is login failed 3 times\r\n const blockListLogin = Config.getLocalStorage('BLOCK_LIST_LOGIN', true) || {};\r\n blockListLogin[userID] = moment().valueOf();\r\n Config.setLocalStorage('BLOCK_LIST_LOGIN', JSON.stringify(blockListLogin));\r\n\r\n break;\r\n default:\r\n message = error.message ||Config.lang(\"Loi_chua_xac_dinh\");\r\n break;\r\n }\r\n\r\n this.setState({isSubmit: false, message: message});\r\n return false;\r\n }\r\n else if(data){\r\n let user = data.user || {};\r\n Config.base = user.UserBase;\r\n const {saveAccount} = this.state;\r\n let lang = Config.getLocalStorage(\"langDHR\");\r\n\r\n\r\n if (!lang || lang.length !== 2){\r\n lang = \"vi\";\r\n Config.setLocalStorage('langDHR', lang);\r\n }\r\n\r\n if (saveAccount) {\r\n const login = {user: userID, pass: passW};\r\n Config.setLocalStorage(\"LOGINDHR\", JSON.stringify(login));\r\n } else {\r\n Config.removeLocalStorage(\"LOGINDHR\");\r\n }\r\n\r\n const expire = new Date().getTime() + 7*24*60*60*1000;\r\n\r\n Config.token = {\r\n id: data.token,\r\n expire: expire\r\n };\r\n user.type = 2;\r\n\r\n //if page go to from linkMail then get menuType from linkMail ( BA An)\r\n const menuType = location?.state?.menuType ?? user?.IsDefaultMSS;\r\n\r\n Config.setLocalStorage('MENUTYPEDHR', menuType);\r\n Config.setLocalStorage('PROFILEDHR', Config.encryptData(JSON.stringify(user)));\r\n Config.setLocalStorage('TOKENDHR', JSON.stringify(Config.token));\r\n if(process && process.env && process.env.REACT_APP_DEV_ENV==='YES'){\r\n Config.setLocalStorage('TOKENDHR_LOGIN', JSON.stringify(Config.token));\r\n }\r\n\r\n Config.getMenuInfo(true, () => {\r\n this.setState({isSubmit: false, message: ''});\r\n });\r\n \r\n Config.getModule();\r\n }\r\n });\r\n };\r\n\r\n onTextValueChanged(e) {\r\n switch (e.event.target.name) {\r\n case \"UserID\":\r\n this.setState({userID: e.event.target.value});\r\n break;\r\n case \"PassW\":\r\n this.setState({passW: e.event.target.value});\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n onForgotPassword() {\r\n this.setState({\r\n openPopupW00F1015: true\r\n });\r\n }\r\n\r\n onClosePopup() {\r\n this.setState({\r\n openPopupW00F1015: false\r\n });\r\n }\r\n\r\n render(){\r\n const {lang, saveAccount} = this.state;\r\n const logoImg = require('../../assets/images/general/logodhr.svg');\r\n const logoImgCustomer = Config.getSetting('LOGO_URL') ? Config.getSetting('LOGO_URL') : require('../../assets/images/general/logodhr.svg');\r\n const allowMultiLang = process && process.env && process.env.REACT_APP_MULTILANG ? process.env.REACT_APP_MULTILANG : 'YES';\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {Config.lang(\"Dang_nhap\")}\r\n \r\n
\r\n
\r\n \r\n \r\n this.onTextValueChanged(e)}\r\n onKeyDown={e => {\r\n this.onKeyDownAccount(e);\r\n }}\r\n className=\"input-devextreme input-name\"\r\n maxLength={200}\r\n showClearButton={false}\r\n placeholder={Config.lang(\"Ten_dang_nhap\")}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n this.onTextValueChanged(e)}\r\n onKeyDown={e => {\r\n this.onKeyDown(e);\r\n }}\r\n className=\"input-devextreme input-pass\"\r\n maxLength={200}\r\n showClearButton={false}\r\n mode={\"password\"}\r\n placeholder={Config.lang(\"Mat_khau\")}\r\n />\r\n \r\n \r\n
{this.state.message}
\r\n
\r\n {\r\n this.onEventSave();\r\n }}\r\n >\r\n {this.state.isSubmit ? (\r\n \r\n \r\n
\r\n ) : (\r\n Config.lang(\"Dang_nhap\")\r\n )}\r\n \r\n
\r\n
\r\n this.onForgotPassword()} />\r\n
\r\n this.onFormSubmit(e)} className=\"hide\" />\r\n
\r\n
\r\n \r\n \r\n {\"English\"}\r\n {\"Tiếng Việt\"}\r\n \r\n
\r\n
{Config.lang(\"Phien_ban\")}: {Config.getSetting('APP_VERSION')}
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {Config.getSetting(\"LOGO_URL\") && }\r\n {!Config.getSetting(\"LOGO_URL\") && (\r\n \r\n \r\n LemonHR\r\n \r\n )}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n DIGINET CORPORATION\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n this.onClosePopup()} />\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default connect(state => ({\r\n }),\r\n (dispatch) => ({\r\n mainActions: bindActionCreators(mainActions, dispatch),\r\n homeActions: bindActionCreators(homeActions, dispatch)\r\n })\r\n)(LoginPage);\r\n","/**\r\n * @copyright 2019 @ DigiNet\r\n * @author tranghoang\r\n * @create 2017/10/25 16:37\r\n * @update 2017/10/25 16:37\r\n * @file src/components/not-found/not-found.js\r\n */\r\n\r\nimport React, {Component} from 'react';\r\nimport Config from \"../../config\";\r\nimport {FormGroup, Col} from \"reactstrap\"\r\nimport {browserHistory} from \"react-router\";\r\n\r\nexport default class ModuleNotFound extends Component {\r\n\r\n\r\n render() {\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n

{Config.lang(\"DHR_Khong_tim_thay_trang\")}

\r\n \r\n \r\n {Config.lang(\"DHR_404_loi\")}\r\n \r\n
\r\n {/*{Config.lang(\"CRM_Chuc_nang_dang_duoc_phat_trien\")}..*/}\r\n {/* eslint-disable */}\r\n {\r\n browserHistory.push({\r\n pathname: Config.getRootPath() + 'dashboard',\r\n state: {\r\n mode: 'MSS'\r\n }\r\n })\r\n }}>\r\n {Config.lang(\"DHR_Trang_chu\")}\r\n \r\n {/* eslint-enable */}\r\n
\r\n )\r\n }\r\n}\r\n","/**\r\n * @copyright 2019 @ DigiNet\r\n * @author TRIHAO\r\n * @create 1/5/2021\r\n * @Example\r\n */\r\n\r\nimport React from 'react';\r\nimport Config from \"../../config\";\r\nimport {withStyles} from \"@material-ui/core\";\r\nimport {connect} from \"react-redux\";\r\nimport * as homeActions from \"../../redux/home/home_actions\";\r\nimport {bindActionCreators, compose} from \"redux\";\r\nimport { browserHistory } from \"react-router\";\r\n\r\nconst styles = {\r\n content: {\r\n textAlign: \"center\",\r\n padding: 15\r\n }\r\n};\r\nclass MailLink extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n };\r\n };\r\n\r\n componentDidMount () {\r\n const state = this.getInfo();\r\n const {Type, FormID, FormParentID} = state;\r\n if (!FormID) return false;\r\n const _FormID = FormParentID ? FormParentID : FormID;\r\n Config.setLocalStorage('MENUTYPEDHR', Number(Type ?? 0));\r\n Config.menuType = Number(Type ?? 0);\r\n browserHistory.push({\r\n pathname: Config.getRootPath() + _FormID,\r\n state: {...state, menuType: Number(Type ?? 0)}\r\n });\r\n }\r\n\r\n getInfo = (props) => {\r\n const { location } = props ? props : this.props;\r\n const params = new window.URLSearchParams(window.location.search);\r\n let state = {};\r\n for (let param of params.entries()) {\r\n state[param[0]] = param[1];\r\n }\r\n if (Object.keys(state).length > 0) {\r\n return state;\r\n } else if (location && location.state) {\r\n return location.state;\r\n } else {\r\n return null;\r\n }\r\n };\r\n\r\n render() {\r\n return null;\r\n }\r\n}\r\n\r\nexport default compose(connect(null,\r\n (dispatch) => ({\r\n homeActions: bindActionCreators(homeActions, dispatch)\r\n })\r\n), withStyles(styles))(MailLink);\r\n","/*\r\n * @Author: thienpham\r\n * @Date: 2019-11-15 17:16:37\r\n * @Last Modified by: thienpham\r\n * @Last Modified time: 2019-11-15 17:21:47\r\n */\r\nimport React from \"react\";\r\n\r\nimport {Container} from \"@material-ui/core\";\r\n\r\nimport {useStyles} from \"./styles\";\r\n\r\nimport HeaderReport from \"./report-header\";\r\nimport FormReport from \"./report-form\";\r\n\r\nconst Report = (props) => {\r\n const classes = useStyles();\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n );\r\n};\r\n\r\nexport default Report;\r\n","import React from \"react\";\r\n\r\nimport { Box, Typography } from \"@material-ui/core\";\r\n\r\nimport { useStyles } from \"./styles\";\r\nimport {Image} from \"react-bootstrap\";\r\nimport Config from \"../../config\";\r\nconst HeaderReport = () => {\r\n const classes = useStyles();\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n {Config.lang(\"DHR_Khao_sat_y_kien_khach_hang\")}\r\n \r\n \r\n \r\n {Config.lang(\"DHR_Nhung_y_kien_nay_se_duoc_cong_ty_chung_toi_cong_nhan\")}\r\n
\r\n
\r\n
\r\n \r\n );\r\n};\r\n\r\nexport default HeaderReport;\r\n","import React, {useEffect, useRef, useState} from \"react\";\r\nimport {\r\n Typography, TextField, Box, Grid,\r\n Paper, Table, TableHead, TableRow, TableCell, TableBody, Radio,\r\n Divider\r\n} from \"@material-ui/core\";\r\nimport { useStyles } from \"./styles\";\r\nimport moment from \"moment\";\r\nimport {Col, FormGroup, Row} from \"react-bootstrap\";\r\nimport DoneAllIcon from \"@material-ui/core/SvgIcon/SvgIcon\";\r\nimport ButtonCustom from \"../common/button/button-custom\";\r\nimport {bindActionCreators, compose} from \"redux\";\r\nimport {connect} from \"react-redux\";\r\nimport * as reportActions from \"../../redux/reports/report_actions\";\r\nimport Config from \"../../config\";\r\nimport Attachments from \"../attachments/attachments\";\r\nimport {\r\n MuiPickersUtilsProvider,\r\n KeyboardDatePicker,\r\n} from '@material-ui/pickers';\r\nimport DateFnsUtils from \"@date-io/date-fns\";\r\n\r\nconst getDate = (date) => {\r\n if (!date) return moment().format(\"YYYY-MM-DD\");\r\n return moment(date).format(\"YYYY-MM-DD\");\r\n};\r\n\r\nconst checkAccess = (param, callBackDisabled) => {\r\n if (!param || !param.VoucherID || !param.DivisionID) {\r\n Config.popup.show('INFO', Config.lang(\"DHR_Thong_tin_cung_cap_khong_hop_le\"));\r\n if (callBackDisabled) callBackDisabled(true);\r\n return false;\r\n }\r\n return true;\r\n};\r\n\r\nconst FormReport = (props) => {\r\n const classes = useStyles();\r\n const attRef = useRef();\r\n const [listFiles, setListFiles] = useState([]);\r\n const [isSave, setIsSave] = useState(false);\r\n const [isUploading, setIsUploading] = useState(false);\r\n\r\n const [listDetail, setListDetail] = useState({});\r\n const [listDetailNote, setListDetailNote] = useState({});\r\n const [objectName, setObjectName] = useState(\"\");\r\n const [contactPersonName, setContactPersonName] = useState(\"\");\r\n const [position, setPosition] = useState(\"\");\r\n const [respondedDate, setRespondedDate] = useState(moment());\r\n const [respondedNotes, setRespondedNotes] = useState(\"\");\r\n const [totalPoint, setTotalPoint] = useState(0);\r\n\r\n const [detail, setDetail] = useState([]);\r\n\r\n const [companyName, setCompanyName] = useState(\"\");\r\n const [companyAddress, setCompanyAddress] = useState(\"\");\r\n const [companyPhone, setCompanyPhone] = useState(\"\");\r\n const [companyFax, setCompanyFax] = useState(\"\");\r\n\r\n const textConven = [\r\n Config.lang(\"DHR_Chua_dap_ung\"),\r\n Config.lang(\"DHR_Tam_dap_ung_Can_cai_tien_them\"),\r\n Config.lang(\"DHR_Dap_ung\"),\r\n Config.lang(\"DHR_Hai_long_can_cai_tien_them\"),\r\n Config.lang(\"DHR_Hoan_toan_hai_long\")\r\n ];\r\n\r\n const loadDataForm = () => {\r\n const {query} = props.location;\r\n if (!checkAccess(props.location.query, setIsSave)) return false;\r\n const param = {\r\n VoucherID: query.VoucherID ? query.VoucherID : \"\",\r\n DivisionID: query.DivisionID ? query.DivisionID : \"\"\r\n };\r\n\r\n props.reportActions.getFormInfo(param, (error, data) => {\r\n if (error) {\r\n let errorCode = error.code || null;\r\n let message = error.message || Config.lang(\"DHR_Loi_chua_xac_dinh\");\r\n switch (errorCode) {\r\n case \"F2500E001\":\r\n message = Config.lang(\"DHR_VoucherID_khong_duoc_de_trong\");\r\n break;\r\n default:\r\n message = error.message || Config.lang(\"DHR_Loi_chua_xac_dinh\");\r\n break;\r\n }\r\n Config.popup.show('INFO', message);\r\n return false;\r\n }\r\n if (data) {\r\n if (data.Status && data.Status === 1) {\r\n let message = data.Message || Config.lang(\"DHR_Loi_chua_xac_dinh\");\r\n Config.popup.show('INFO', message);\r\n setIsSave(true);\r\n return false;\r\n } else {\r\n setDataForm(data);\r\n }\r\n }\r\n });\r\n };\r\n\r\n useEffect(() => {\r\n let total = 0;\r\n Object.keys(listDetail).forEach((e) => {\r\n total += Number(listDetail[e]);\r\n });\r\n setTotalPoint((total / Object.keys(listDetail).length).toFixed(2));\r\n }, [listDetail]);\r\n\r\n useEffect(() => {\r\n /* eslint-disable */\r\n loadDataForm();\r\n }, []);\r\n\r\n const setDataForm = (data) => {\r\n const {master, detail, footer} = data;\r\n if (master) {\r\n if (master.ObjectName) setObjectName(master.ObjectName);\r\n if (master.ContactPersonName) setContactPersonName(master.ContactPersonName);\r\n if (master.Position) setPosition(master.Position);\r\n if (master.RespondedDate) setRespondedDate(getDate(master.RespondedDate));\r\n if (master.RespondedNotes) setRespondedNotes(master.RespondedNotes);\r\n if (master.TotalPoint) setTotalPoint(master.TotalPoint);\r\n }\r\n if (detail) {\r\n let _listDetail = {};\r\n let _listDetailNote = {};\r\n detail.forEach((e) => {\r\n _listDetail[e.CriteriaID] = e.Point;\r\n _listDetailNote[e.CriteriaID] = e.DetailRespondedNotes;\r\n });\r\n setListDetail(_listDetail);\r\n setListDetailNote(_listDetailNote);\r\n setDetail(detail);\r\n }\r\n if (footer) {\r\n if (footer.CompanyName) setCompanyName(footer.CompanyName);\r\n if (footer.CompanyAddress) setCompanyAddress(footer.CompanyAddress);\r\n if (footer.CompanyPhone) setCompanyPhone(footer.CompanyPhone);\r\n if (footer.CompanyFax) setCompanyFax(footer.CompanyFax);\r\n }\r\n };\r\n\r\n\r\n const handleTextChange = (e, field) => {\r\n switch (field) {\r\n case \"ContactPersonName\":\r\n setContactPersonName(e.target.value);\r\n break;\r\n case \"Position\":\r\n setPosition(e.target.value);\r\n break;\r\n case \"RespondedNotes\":\r\n setRespondedNotes(e.target.value);\r\n break;\r\n case \"TotalPoint\":\r\n setRespondedNotes(e.target.value);\r\n break;\r\n default:\r\n break;\r\n }\r\n };\r\n\r\n const handleDateChange = (date) => {\r\n setRespondedDate(date);\r\n };\r\n\r\n const handleRadioChange = (e, criteriaID) => {\r\n setListDetail({\r\n ...listDetail,\r\n [criteriaID]: Number(e.target.value)\r\n });\r\n };\r\n\r\n const handleDetailNoteChange = (e, criteriaID) => {\r\n setListDetailNote({\r\n ...listDetailNote,\r\n [criteriaID]: e.target.value\r\n });\r\n };\r\n\r\n const onAttachment = () => {\r\n attRef.current.onAttachment();\r\n };\r\n\r\n const onUploading = (e) => {\r\n setIsUploading(e.uploading);\r\n };\r\n\r\n const onChangeUpload = (e) => {\r\n setListFiles(e.files);\r\n };\r\n\r\n const _saveCDN = async () => {\r\n const uploadFiles = await attRef.current._uploadFile(listFiles, 'multiple');\r\n //temp..\r\n if (uploadFiles.code === 200 && uploadFiles.data) {\r\n const data = uploadFiles.data.paths;\r\n\r\n let listAttachments = [];\r\n data.forEach((att, i) => {\r\n listAttachments.push({\r\n name: att.fileName,\r\n size: att.fileSize,\r\n ext: \".\" + Config.helpers.getExtFile(att.fileName),\r\n url: att.url\r\n });\r\n });\r\n return listAttachments;\r\n } else {\r\n return [];\r\n }\r\n };\r\n\r\n const _saveAttachments = async (afterSaveAttachment) => {\r\n const {query} = props.location;\r\n const listAttachments = await _saveCDN();\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.name ? att.name : \"\",\r\n FileSize: att.size ? att.size : \"\",\r\n FileExt: att.ext ? att.ext : \"\"\r\n });\r\n });\r\n let param = {\r\n params: JSON.stringify({\r\n TableName: \"D17T2500_WEB\",\r\n KeyID: query.VoucherID ? query.VoucherID : \"\",\r\n DivisionID: query.DivisionID ? query.DivisionID : \"\",\r\n arrAttachment: arrAttachment,\r\n })\r\n };\r\n\r\n props.reportActions.saveAttachment(param, (error) => {\r\n if (error) {\r\n let message = error.message || Config.lang(\"DHR_Loi_chua_xac_dinh\");\r\n Config.popup.show('INFO', message);\r\n setIsSave(false);\r\n return false;\r\n }\r\n\r\n if (afterSaveAttachment) afterSaveAttachment();\r\n });\r\n };\r\n\r\n const _saveData = () => {\r\n let _listDetail = [];\r\n detail.forEach((d) => {\r\n const tmp = {\r\n CriteriaID: d.CriteriaID,\r\n Point: listDetail[d.CriteriaID],\r\n DetailRespondedNotes: listDetailNote[d.CriteriaID]\r\n };\r\n _listDetail.push(tmp);\r\n });\r\n const {query} = props.location;\r\n let paramSave = {\r\n data: JSON.stringify({\r\n VoucherID: query.VoucherID ? query.VoucherID : \"\",\r\n DivisionID: query.DivisionID ? query.DivisionID : \"\",\r\n master: {\r\n ContactPersonName: contactPersonName,\r\n Position: position,\r\n RespondedDate: respondedDate ? moment(respondedDate).format(\"YYYY-MM-DD\") : \"\",\r\n TotalPoint: totalPoint ? totalPoint : 0,\r\n RespondedNotes: respondedNotes\r\n },\r\n detail: _listDetail\r\n })\r\n };\r\n\r\n props.reportActions.saveVouchers(paramSave, (error) => {\r\n if (error) {\r\n let errorCode = error.code || null;\r\n let message = error.message || Config.lang(\"DHR_Loi_chua_xac_dinh\");\r\n switch (errorCode) {\r\n case \"F2500E010\":\r\n message = Config.lang(\"DHR_Cac_tham_so_la_bat_buoc\");\r\n break;\r\n case \"F2500E009\":\r\n message = Config.lang(\"DHR_Tham_so_truyen_vao_khong_hop_le\");\r\n break;\r\n case \"F2500E001\":\r\n message = Config.lang(\"DHR_VoucherID_khong_duoc_de_trong\");\r\n break;\r\n case \"F2500E002\":\r\n message = Config.lang(\"DHR_Khoi_la_bat_buoc_nhap\");\r\n break;\r\n case \"F2500E011\":\r\n message = Config.lang(\"DHR_Cac_tieu_chi_la_bat_buoc_nhap\");\r\n break;\r\n case \"F2500E008\":\r\n message = Config.lang(\"DHR_Luu_thong_tin_chung_tu_khong_thanh_cong\");\r\n break;\r\n default:\r\n message = error.message || Config.lang(\"DHR_Loi_chua_xac_dinh\");\r\n break;\r\n }\r\n Config.popup.show('INFO', message);\r\n setIsSave(false);\r\n return false;\r\n }\r\n\r\n setIsSave(true);\r\n Config.notify.show('success', Config.lang(\"DHR_Luu_thanh_cong\"), 2000);\r\n });\r\n };\r\n\r\n const onSave = () => {\r\n if (!validateForm()) return false;\r\n setIsSave(true);\r\n if (listFiles && listFiles.length > 0) {\r\n _saveAttachments(_saveData);\r\n } else {\r\n _saveData();\r\n }\r\n };\r\n\r\n const validateForm = () => {\r\n if (isUploading) {\r\n Config.popup.show('INFO', Config.lang(\"DHR_Tap_tin_dinh_kem_dang_duoc_xu_ly\"));\r\n return false;\r\n }\r\n if (!contactPersonName) {\r\n Config.popup.show('INFO', Config.lang(\"DHR_Nguoi_danh_gia_bat_buoc_nhap\"));\r\n return false;\r\n }\r\n if (!position) {\r\n Config.popup.show('INFO', Config.lang(\"DHR_Chuc_vu_bat_buoc_nhap\"));\r\n return false;\r\n }\r\n if (!respondedDate) {\r\n Config.popup.show('INFO', Config.lang(\"DHR_Ngay_danh_gia_bat_buoc_nhap\"));\r\n return false;\r\n }\r\n return true;\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n {Config.lang(\"DHR_Thong_tin_chinh\")}\r\n \r\n
\r\n
\r\n {\" \"}\r\n handleTextChange(e, \"ContactPersonName\")}\r\n />{\" \"}\r\n handleTextChange(e, \"Position\")}\r\n />\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n Nội dung khảo sát\r\n \r\n
\r\n \r\n \r\n \r\n {Config.lang(\"DHR_AC_vui_long_chon_y_kien_cua_minh\")}\r\n \r\n \r\n \r\n \r\n {Config.lang(\"DHR_Quy_uoc_nhu_sau\")}:\r\n \r\n \r\n \r\n {textConven && textConven.map((e, i) => {\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 STT\r\n {Config.lang(\"DHR_Noi_dung\")}\r\n {Config.lang(\"DHR_Muc_do_dong_y\")}\r\n {Config.lang(\"DHR_Y_kien_dong_gop\")}\r\n \r\n \r\n 1\r\n 2\r\n 3\r\n 4\r\n 5\r\n \r\n \r\n \r\n {detail && detail.map((row, i) => {\r\n return (\r\n \r\n {row.OrderNum}\r\n {row.Description}\r\n \r\n handleRadioChange(e, row.CriteriaID)}\r\n />\r\n \r\n \r\n handleRadioChange(e, row.CriteriaID)}\r\n />\r\n \r\n \r\n handleRadioChange(e, row.CriteriaID)}\r\n />\r\n \r\n \r\n handleRadioChange(e, row.CriteriaID)}\r\n />\r\n \r\n \r\n handleRadioChange(e, row.CriteriaID)}\r\n />\r\n \r\n \r\n handleDetailNoteChange(e, row.CriteriaID)}\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_Tong_diem\")}:\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {Config.lang(\"DHR_Cac_gop_y_khac\")}:\r\n \r\n \r\n \r\n \r\n \r\n handleTextChange(e, \"RespondedNotes\")}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n {Config.lang(\"DHR_Nhung_y_kien_nay_se_duoc_cong_ty_chung_toi_cong_nhan\")}\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 {Config.lang(\"DHR_Cong_ty\")}:\r\n \r\n \r\n \r\n \r\n \r\n {Config.lang(\"DHR_So_Fax\")}:\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {Config.lang(\"DHR_Dia_chi\")}:\r\n \r\n \r\n \r\n \r\n \r\n {Config.lang(\"DHR_Dien_thoai\")}:\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n );\r\n};\r\n\r\nexport default compose(connect(null,\r\n (dispatch) => ({\r\n reportActions: bindActionCreators(reportActions, dispatch),\r\n })\r\n))(FormReport);"],"sourceRoot":""}