{"version":3,"sources":["config/index.js","config/axios.js","api/auth.js","api/user.js","api/form.js","api/dataset-record.js","api/dataset-reports.js","api/operators.js","api/admin.js","config/axiosIBM.js","api/sdoc.js","api/sdoc-user.js","api/sdoc-admin.js","utils/getBase64.js","api/admin-qos.js","api/dashboard.js","store/models/user/index.js","store/models/admin-qos/index.js","store/models/main-admin/index.js","store/models/sdoc-admin/index.js","store/models/sdoc-user/index.js","store/models/operator/index.js","store/models/poa/index.js","store/models/app-state/index.js","store/models/index.js","store/index.js","utils/useLoaded.js","components/SideBar.jsx","utils/useAppTypePath.js","assets/images/logo-wording.png","components/NavBar.jsx","pages/users/protected-route.jsx","components/users/organization/edit-info-modal/index.jsx","assets/images/check.png","components/modal/SuccessModal.jsx","assets/images/cancel.png","components/modal/FailModal.jsx","pages/users/organization/index.jsx","utils/convertExcelNumber.js","components/users/standard-report/success-modal/index.jsx","components/users/standard-report/failed-modal/index.jsx","components/SureModal.jsx","components/users/standard-report/step-1/index.jsx","utils/useReduceForm.js","components/users/standard-report/form/excel/two-point-three-header/index.jsx","utils/useWidthExcelInput.js","utils/useTimeQuarter.js","components/users/standard-report/form/excel/sub-header/index.jsx","components/users/standard-report/form/excel/sub-label-1/index.jsx","components/users/standard-report/form/excel/sub-label-2/index.jsx","components/users/standard-report/form/excel/sub-label-3/index.jsx","data/standard-reportV2/fixed-general.js","data/standard-reportV2/fixed-info.js","data/standard-reportV2/fixed-sound.js","data/standard-reportV2/mobile-general.js","data/standard-reportV2/mobile-info.js","data/standard-reportV2/mobile-sound.js","data/standard-reportV2/canceledList.js","components/users/standard-report/form/excel/index.jsx","components/users/standard-report/form/index.jsx","components/users/standard-report/step-2/index.jsx","data/standard-reportV2/ui/mobile-additional-files.js","components/users/standard-report/step-3/index.jsx","components/users/standard-report/step-4/passed-qualified-item/index.jsx","components/users/standard-report/step-4/unqualified-list-item/index.jsx","components/users/standard-report/step-4/filling-unqualified-modal/file/index.jsx","components/users/standard-report/step-4/filling-unqualified-modal/index.jsx","components/users/standard-report/step-4/asking-validation-modal/index.jsx","components/users/standard-report/step-4/index.jsx","components/users/standard-report/index.jsx","components/users/standard-report/empty-file-modal/index.jsx","pages/users/standard-report/index.jsx","config/constants/accordion-color.js","pages/users/standard-report-history/index.jsx","components/users/standard-report-validation/change-status-modal/index.jsx","components/users/standard-report-validation/send-to-admin-modal/index.jsx","components/users/standard-report-validation/send-to-admin-modal-failed/index.jsx","components/users/standard-report-validation/submit-modal/file/index.jsx","components/users/standard-report-validation/submit-modal/index.jsx","pages/users/standard-report-validation/index.jsx","components/users/standard-report-validation/modal/index.jsx","components/users/standard-report-validation/something-went-wrong-modal/index.jsx","components/AuthenticatedLink.jsx","components/users/standard-report-validation/step-1/file/index.jsx","data/standard-report/ui/mobile-additional-files.js","components/users/standard-report-validation/step-1/index.jsx","components/users/standard-report-validation/form/excel/two-point-three-header/index.jsx","utils/useWidthExcelInputWithValidation.js","components/users/standard-report-validation/form/excel/sub-header/index.jsx","components/users/standard-report-validation/form/excel/sub-label-1/index.jsx","components/users/standard-report-validation/form/excel/sub-label-2/index.jsx","components/users/standard-report-validation/form/excel/sub-label-3/index.jsx","components/users/standard-report-validation/form/validation-modal/file/index.jsx","components/users/standard-report-validation/form/validation-modal/index.jsx","components/users/standard-report-validation/form/excel/index.jsx","components/users/standard-report-validation/form/index.jsx","components/users/standard-report-validation/step-2/index.jsx","components/users/standard-report-validation/index.jsx","pages/users/standard-report-validation/[id]/index.jsx","components/users/organization-user/org-actions/index.jsx","components/users/organization-user/search-result/index.jsx","data/organization-user/organization-user-duty.js","data/organization-user/organization-user-status.js","components/users/organization-user/user-modal/index.jsx","components/users/organization-user/delete-user-modal/index.jsx","components/users/organization-user/not-found-modal/index.jsx","components/users/organization-user/adding-success-modal/index.jsx","components/users/organization-user/adding-failed-modal/index.jsx","components/users/organization-user/editing-success-modal/index.jsx","components/users/organization-user/editing-failed-modal/index.jsx","components/users/organization-user/deleted-success-modal/index.jsx","components/users/organization-user/deleted-failed-modal/index.jsx","pages/users/organization-user/index.jsx","assets/images/NBTC-logo.png","pages/users/auth/signin.jsx","components/NotifyModal.jsx","pages/users/auth/components/FormSelectService.js","pages/users/auth/components/TablePOA.jsx","pages/users/auth/components/SelectOperatorModal.jsx","pages/users/auth/components/RegisterCompany.jsx","pages/users/auth/identify.jsx","components/users/client-api/success-modal/index.jsx","pages/users/client/index.jsx","components/users/registration/modal/incorrect-id/index.jsx","components/users/registration/modal/register-fail/index.jsx","components/users/registration/modal/register-success/index.jsx","data/registration/organization.js","data/registration/users.js","pages/users/registration/index.jsx","pages/users/standard-report-history/[id]/index.jsx","pages/users/index.jsx","pages/admin/protected-route.jsx","components/admin/dashboard/InfoBox.jsx","components/admin/dashboard/piechart.jsx","pages/admin/dashboard/config.jsx","pages/admin/dashboard/index.jsx","components/admin/standard-report/change-status-modal/index.jsx","components/admin/standard-report/send-to-admin-modal/index.jsx","components/admin/standard-report/send-to-admin-modal-failed/index.jsx","pages/admin/standard-report/index.jsx","components/admin/standard-report/modal/index.jsx","components/admin/standard-report/step-1/file/index.jsx","components/admin/standard-report/step-1/index.jsx","components/admin/standard-report/form/excel/two-point-three-header/index.jsx","components/admin/standard-report/form/excel/sub-header/index.jsx","data/standard-reportV2/find-report-question.js","components/admin/standard-report/form/excel/sub-label-1/index.jsx","components/admin/standard-report/form/excel/sub-label-2/index.jsx","components/admin/standard-report/form/excel/sub-label-3/index.jsx","components/admin/standard-report/form/validation-modal/file/index.jsx","components/admin/standard-report/form/validation-modal/index.jsx","components/admin/standard-report/form/excel/index.jsx","components/admin/standard-report/form/index.jsx","components/admin/standard-report/step-2/index.jsx","components/admin/standard-report/step-3/index.jsx","components/admin/standard-report/index.jsx","pages/admin/standard-report/[id]/index.jsx","components/admin/admin-user/company-modal/index.jsx","pages/admin/organization/index.jsx","pages/admin/organization/[id]/index.jsx","components/admin/standard-report-organization/update-process-modal-success/index.jsx","components/admin/standard-report-organization/update-process-modal-failed/index.jsx","pages/admin/standard-report-organization/components/confirmSendNotifyModal.jsx","pages/admin/standard-report-organization/index.jsx","pages/admin/sent/index.jsx","components/admin/sent/modal/index.jsx","components/admin/sent/step-1/file/index.jsx","components/admin/sent/step-1/index.jsx","components/admin/sent/form/excel/two-point-three-header/index.jsx","components/admin/sent/form/excel/sub-header/index.jsx","components/admin/sent/form/excel/sub-label-1/index.jsx","components/admin/sent/form/excel/sub-label-2/index.jsx","components/admin/sent/form/excel/sub-label-3/index.jsx","components/admin/sent/form/validation-modal/file/index.jsx","components/admin/sent/form/validation-modal/index.jsx","components/admin/sent/form/excel/index.jsx","components/admin/sent/form/index.jsx","components/admin/sent/step-2/index.jsx","components/admin/sent/index.jsx","pages/admin/sent/[id]/index.jsx","components/admin/admin-user/search-result/index.jsx","components/admin/admin-user/user-modal/index.jsx","components/admin/admin-user/delete-user-modal/index.jsx","components/admin/admin-user/not-found-modal/index.jsx","components/admin/admin-user/adding-success-modal/index.jsx","components/admin/admin-user/adding-failed-modal/index.jsx","components/admin/admin-user/editing-success-modal/index.jsx","components/admin/admin-user/editing-failed-modal/index.jsx","components/admin/admin-user/deleted-success-modal/index.jsx","components/admin/admin-user/deleted-failed-modal/index.jsx","pages/admin/admin-user/index.jsx","pages/admin/sign-in/index.jsx","pages/admin/sent-chart/config.jsx","components/admin/sent-chart/comparebar.jsx","components/admin/sent-chart/comparebarwithline.jsx","pages/admin/sent-chart/index.jsx","pages/admin/index.jsx","pages/sdoc/users/protected-route.jsx","components/sdoc/organization-detail-cardV3/index.jsx","components/sdoc/brand-name-card/index.jsx","components/sdoc/equipment-card/index.jsx","components/sdoc/document-addition-card/file/index.jsx","components/sdoc/document-addition-card/index.jsx","utils/useQuery.js","data/sdoc/frequency.js","data/sdoc/power-unit.js","data/sdoc/type-equipment.js","pages/sdoc/users/form/index.jsx","pages/sdoc/users/manage/components/RejectReasonModal.jsx","pages/sdoc/users/manage/components/CancelSDoCModal.jsx","pages/sdoc/users/manage/index.jsx","components/sdoc/registration/modal/incorrect-id/index.jsx","components/sdoc/registration/modal/register-fail/index.jsx","components/sdoc/registration/modal/register-success/index.jsx","data/sdoc/users.js","pages/sdoc/users/registration/index.jsx","pages/sdoc/users/auth/signin.jsx","pages/sdoc/users/auth/components/FormSelectService.js","pages/sdoc/users/auth/components/TablePOA.jsx","pages/sdoc/users/auth/components/SelectOperatorModal.jsx","pages/sdoc/users/auth/components/RegisterCompany.jsx","pages/sdoc/users/auth/identify.jsx","components/sdoc/profile-cardV3/index.jsx","pages/sdoc/users/profile/index.jsx","pages/sdoc/users/index.jsx","pages/sdoc/admin/protected-route.jsx","pages/sdoc/admin/sign-in/index.jsx","pages/sdoc/admin/home/index.jsx","components/sdoc-admin/manage/select-assign-admin-modal/index.jsx","components/sdoc-admin/manage/sign-signature-modal/index.jsx","pages/sdoc/admin/manage/index.jsx","components/sdoc/approval-card/index.jsx","components/sdoc/sdoclogs-card/index.jsx","components/sdoc/sdoc-detail-card/index.jsx","pages/sdoc/admin/form/index.jsx","pages/sdoc/admin/user/index.jsx","pages/sdoc/admin/sent/index.jsx","pages/sdoc/admin/sent/[id]/index.jsx","pages/sdoc/admin/requestlist/index.jsx","pages/sdoc/admin/poalist/index.jsx","pages/sdoc/admin/index.jsx","pages/main-admin/protected-route.jsx","pages/main-admin/auth/index.jsx","pages/main-admin/user-management/components/org-actions/index.jsx","pages/main-admin/user-management/components/search-result/index.jsx","pages/main-admin/user-management/components/user-modal/index.jsx","pages/main-admin/user-management/components/delete-user-modal/index.jsx","pages/main-admin/user-management/components/not-found-modal/index.jsx","pages/main-admin/user-management/components/adding-success-modal/index.jsx","pages/main-admin/user-management/components/adding-failed-modal/index.jsx","pages/main-admin/user-management/components/editing-success-modal/index.jsx","pages/main-admin/user-management/components/editing-failed-modal/index.jsx","pages/main-admin/user-management/components/deleted-success-modal/index.jsx","pages/main-admin/user-management/components/deleted-failed-modal/index.jsx","pages/main-admin/user-management/index.jsx","pages/main-admin/index.jsx","pages/index.jsx","reportWebVitals.js","styles/theme.js","components/CookieConsent.jsx","index.js"],"names":["API_BASE_END_POINT","process","instance","Axios","create","baseURL","interceptors","request","use","config","appType","store","getState","appModel","app_type","token","userModel","user","QoSAdminModel","admin","sdocUserModel","userSDOC","sdocAdminModel","adminSDOC","mainAdminModel","headers","common","response","signOutUser","getActions","expireDate","userLoginExpireDate","Date","getTime","alert","then","window","location","href","error","setUser","set","setAdmin","setSDOCUser","setUserSDOC","setSDOCAdmin","setAdminSDOC","status","Promise","reject","adminHeader","authAPI","signin","payloads","a","API","post","res","console","signinQosWithRegisterCompany","identify","_token","signout","setFormPermissionType","setUserOperatorProfile","register","nationalIDCardNo","mobile","email","firstname","lastname","operatorID","catch","err","userAPI","getUsers","get","addUser","payload","editUser","userID","activeDate","operatorUserQOSTypes","userStatusId","userRoleID","put","statusID","log","getMyProfile","getMyPOA","data","getMyPOASDoC","deleteUser","delete","formAPI","getRecords","addRecord","records","isNewForm","formTypes","answers","updateRecord","excelUploading","files","form","FormData","append","url","method","APIExcelUploading","file","isAPI","Authorization","APIExternalExcelUploading","downloadDocument","datasetRecordAPI","getListAdmin","getlist","getlistdetails","id","getListDetailsAdmin","changePersonRecordStatus","sendToApprove","invalidAnswers","forEach","ans","dbID","reason","solution","periodSolution","sendToAdmin","changeStatusReportHead","remark","changeStatusReportHeadAdmin","signature","rejectReason","body","undefined","getCurrentHead","uploadAdditionalFile","dataSetRecordHeadID","objFiles","keys","Object","key","headDelete","downloadFile","responseType","downloadExcel","datasetReportsAPI","getDatasetReports","approveDatasetReports","reportID","getUnReportDatasetReportsOperator","updateAdminProcess","currentDatSetReportID","deleteReport","operatorsAPI","getOrganizationData","getOrganizationDataID","resetAPIToken","getOperators","editOperatorContactInfo","searchDBD","getOperatorInfoDBD","taxno","getOperatorInfo","branchno","getOperatorUserInfo","cardNo","adminAPI","username","password","serviceID","me","getAdmins","getAdminRoles","addAdmin","adminRoleID","adminStatusID","editAdmin","adminID","deleteAdmin","sDOCAPI","getLists","isShowFinished","getAllLists","getListsApproved","getListsV2","poa","getListDetail","getListsStatus","getPreviewSDoC","brandName","productModel","productDescription","owner","items","title","addList","IBMAPI","editList","attachAdditionalFiles","sDOCID","onUploadProgress","CHUNK_SIZE","totalFiles","length","totalSize","reduce","total","size","totalUploaded","fileIndex","currentChunk","Response","uploadChunk","randomSuffix","start","chunkStart","end","Math","min","chunk","slice","fileExtension","name","split","pop","originalFileName","join","modifiedFileName","formData","ceil","progressEvent","percentCompleted","round","loaded","uploadNextFile","floor","random","deleteAdditionalFile","fileId","downloadAdditionalFile","sDOCId","billInquiry","sDocID","billRenew","cancelSDoC","sDOCUser","getMe","taxNo","updateMyProfile","updateOrganization","operatorId","updateOrganizationV2","getMeAdmin","signInSDOCUser","signInSDOCAdmin","getAddressList","updateOrganizationInfo","updateOperatorInfoBranch","updateOperatorAgentInfo","sDOCAdmin","getAdminList","getRoleList","assignAdmin","requestAddition","requestModifyInfo","rejectJob","approveSDoc","selectedSignature","signatureID","denySDoc","sendToIssue","denyCheckerSDoc","changeFileLockStatus","fileID","updateCustomerInfo","billResent","backToPreapprove","repairCredential","getTableauTicket","getPOAList","getBase64","resolve","reader","FileReader","readAsDataURL","onload","e","target","result","adminQoSAPI","ldapAuth","getSignature","adminRoleIDSDoc","adminRoleIDCentralAdmin","prefixname","position","qosRoleID","sDocRoleID","adminId","DashboardAPI","getDashboardStat","userFromServicePortal","userOperatorProfile","servicePortalToken","formPermissionType","action","state","setServicePortalToken","permission","setUserFromServicePortal","userOpeProfile","thunk","actions","auth","getUserOperatorProfile","users","registration","citizenID","phoneNumber","companyID","adminProfile","setAdminProfile","QoSAdminSignIn","getAdminProfile","adminSignout","mainAdmin","adminStat","stat1","stat2","stat3","stat4","adminOperator","ope1","ope2","ope3","setAdminStat","stat","setAdminOperator","getAdminDashboardStat","dashboard","ope","adminMESDOC","setAdminMeSDOC","signInAdmin","signOutAdmin","userMESDOC","setUserMeSDOC","signInUser","sdocUser","getUserProfile","operatorModel","searchOperatorDBD","operators","poaModel","dataDBD","selected","setData","setDataDBD","setSelected","sidebar","setSideBar","isClose","setAppType","storeModel","persist","allow","storage","createTypedHooks","useStoreActions","useStoreDispatch","useStoreState","createStore","useLoaded","useState","setLoaded","useEffect","drawerWidth","useStyles","makeStyles","theme","root","display","drawer","breakpoints","up","width","flexShrink","whiteSpace","drawerClose","appBar","marginLeft","menuButton","marginRight","spacing","toolbar","mixins","drawerMobile","drawerPaperOpen","transition","transitions","easing","sharp","duration","enteringScreen","overflowX","drawerPaperClose","leavingScreen","content","flexGrow","padding","iconSelected","color","iconUnSelected","textSelected","textUnSelected","listItemSelected","backgroundColor","nbtc","fontSize","versionNumber","textAlign","bottom","customBadge","normalStatusBadge","lateStatusBadge","SideBar","children","mobileOpen","handleDrawerToggle","onClose","classes","useTheme","useLocation","history","useHistory","s","adminSignOut","userSDOCSignOut","adminSDOCSignOut","appTypePath","setAppTypePath","pathname","includes","useAppTypePath","useMemo","roleID","isSelected","path","onSignOut","push","className","Hidden","mdUp","implementation","Drawer","variant","anchor","direction","open","paper","drawerPaperMobile","ModalProps","keepMounted","List","ListItem","listItemUnSelected","button","component","Link","to","ListItemIcon","Home","ListItemText","primary","RecentActors","AssignmentTurnedIn","Pageview","SupervisedUserCircle","Description","GetApp","onClick","ExitToApp","htmlColor","mdDown","Typography","gutterBottom","style","paddingTop","Divider","Badge","badgeContent","badge","KeyboardArrowRight","KeyboardArrowLeft","AssignmentLate","AccountCircle","Storage","MenuBook","Grid","zIndex","border","palette","main","NavBar","setMobileOpen","setSidebar","QosAdminProfile","QosAdmin","userSDOCProfile","adminSDOCProfile","mainAdminProfile","notAllowedPath","isShowNavbar","substring","AppBar","Toolbar","lgUp","container","justifyContent","IconButton","src","Kurt","alt","alignItems","item","noWrap","roleTitle","ProtectedRoute","rest","useStoreRehydrated","render","from","EditInfoModal","telephone","handleButton","onValueChange","validSubmitButton","fullScreen","useMediaQuery","down","descriptionElementRef","useRef","Dialog","maxWidth","fullWidth","TransitionComponent","Transition","scroll","DialogTitle","BusinessCenter","Close","DialogContent","dividers","DialogContentText","tabIndex","ref","TextField","value","onChange","DialogActions","Button","disabled","forwardRef","props","Slide","SuccessModal","isOpen","setIsOpen","Check","Cancel","Organization","isNotTablet","isRehydrated","companyName","citizenId","companyAddress","reportTypesFixed","reportTypesMobile","companyStatus","telephoneNumber","mobileNumber","apiToken","is2G","isNVMO","isPayphone","operatorQOS","organizationData","setOrganizationData","tempAPIToken","setTempAPIToken","openEditInfoModal","setOpenEditInfoModal","openFailModal","setOpenFailModal","openSuccessModal","setOpenSuccessModal","setValidSubmitButton","setEmail","setTelephone","onOpenSuccessModal","onOpenFailModal","onChangeEditInfoModal","onOpenEditInfoModal","onSubmitChangeTeleEmail","organizationDataTemp","operatorName","operatorInfo","addr","postCode","ownerNVOM","changeAPIToken","test","validateEmail","Card","AccountBox","find","Work","Lock","navigator","clipboard","writeText","Business","Mail","Phone","type","isNaN","convertNumber","num","isToFixed","parseFloat","Number","EPSILON","toFixed","SendingStandardReportModalSuccess","SendingStandardReportModalFailed","message","LinearProgressWithLabel","Box","mr","LinearProgress","minWidth","SureModal","header_icon","handleCancel","ProgressValue","isLoading","setIsLoading","hidden","m","CircularProgress","StandardReportStep1","reportMethod","onChangeRadio","fixedReportTypeRadioValue","mobileReportTypeRadioValue","onChangeReportType","hasEverSubmitedForm","onChangeIsContinueRadio","continueFormSubmittedType","isFixed","isMobile","fixed","formPerType","setFormPerType","scrollTo","temp","operatorUserQOSType","qosTypeID","PlaylistAddCheck","RadioGroup","row","defaultChecked","FormControlLabel","control","Radio","label","checked","Checkbox","useReduceForm","formParam","setForm","results","findedIndex","findIndex","find_item","no","sub_label_type","subLabel_2","subLabel_1","labels","label_name","childs","targeted_text","filling_condition","sub_labels","isNeedAnswer","data_type","isnew_targeted_text","tempResult","isnew_labels","findedLabelNameIndex","TwoPointThreeSubHeader","subHeaderWidth","useTimeQuarter","month1","month2","month3","quarter","setQuarter","currentMonth","getMonth","ExcelSubHeader","isTwoPointThree","valueWidth","setValueWidth","noteWidth","setNoteWidth","serviceValueWidth","setServiceValueWidth","useWidthExcelInput","SubLabelType1","onFillForm","datasetId","answer","DataSetItemID","Input","DataValueMonth1","DataValueMonth2","DataValueMonth3","DataValueMonthAvg","SubLabelType2","flags","is5G","is5GArea","isFiveInput","DataValueExtra","readOnly","SubLabelType3","map","child","index","toString","fixed_general_details","subLabel_3","subLabel_4","targetValue","targetCondition","month_1","month_2","month_3","avg","note","excelValueCol","excelValueRow","priority","fixed_info_details","fixed_sound_details","mobile_general_details","mobile_info_details","rural_1","rural_2","urban_1","urban_2","mobile_sound_details","canceledListDetailNo","form_container","overflow","StandardReportForm","preField","fixedGeneralAnswers","fixedInfoAnswers","fixedSoundAnswers","mobileGeneralAnswers","mobileInfoAnswers","mobileSoundAnswers","report","setReport","reportName","setReportName","setAnswers","nvmo_no","isUseReport1_1_2","isAlreadyReturnUseReport112","tempAnswers","CardContent","detail","NVMO","isPayPhone","payphone","matchedLabel","ReportCard","Place","DirectionsWalk","StandardReportStep2","needToFillFormType","currentFilledFormIndex","setExcelFile","excelFile","excelFileShow","setExcelFileShow","accept","mobile_additional_files","FileList","onDeleteAdditionalFile","Delete","StandardReportAdditionalFileStep","mobileFiles","onInputAdditionalFile","additionalFile","height","borderRadius","active","boxShadow","completed","PassedQualifiedItem","success","background","UnqualifiedListItem","question_number","errorMessage","isFillAnswer","FormatAlignCenter","File","FillingUnqualifiedModal","currentSelectedItem","question_label","currentAnswer","onInputValidationReason","ReportProblem","inputMethod","maxRows","minRows","multiline","placeholder","utils","DateFnsUtils","margin","views","format","KeyboardButtonProps","AskingValidationModal","invalidInputMethod","onChangeInvalidaInputMethod","aria-label","defaultValue","StandardReportStep4","invalidDataSetRecords","openAskingValidationModal","onOpenAskingValidationModal","onAskInvalidInputMethod","currentValiationQuestionNumber","openFillingModal","onCloseAskingValidationModal","onCloseFillingModal","setCurrentAnswer","currentErrorMessage","setCurrentErrorMessage","text","currentLabel","setCurrentLabel","findError","x","errors","fill","StepContent","step","activeStep","hasMobile","filledFormAmount","formType","EmptyFileModal","nonFloatDataSetItemIDs","instructions","marginTop","marginBottom","non_approve_button","Connector","withStyles","alternativeLabel","top","line","StepConnector","useStepStyles","StandardReport","steps","stepsMobile","setActiveStep","hasMounted","setHasMounted","loading","setLoading","setHasMobile","setNeedToFillFormType","setFilledFormAmount","setCurrentFilledFormIndex","setReportMethod","fixedReportType","setFixedReportType","mobileReportType","setMobileReportType","setFixedGeneralAnswers","setFixedInfoAnswers","setFixedSoundAnswers","setMobileGeneralAnswers","setMobileInfoAnswers","setMobileSoundAnswers","openStandardReportSuccessModal","setOpenStandardReportSuccessModal","openStandardReportFailedModal","setOpenStandardReportFailedModal","sendingFailedMessage","setSendingFailedMessage","openSubmitStandardReportSureModal","setOpenSubmitStandardReportSureModal","setMobileFiles","uploadExcelStatus","setUploadExcelStatus","setHasEverSubmitedForm","continueFormSubmittedID","setContinueFormSubmittedID","setContinueFormSubmittedType","setIsNewForm","setFlags","setInvalidDataSetRecords","setInvalidAnswers","setInvalidInputMethod","setOpenAskingValidationModal","setCurrentValidationQuestionNumber","setCurrentSelectedItem","setOpenFillingModal","userProfile","handleNext","every","onOpenSubmitStandardReportSureModal","prevActiveStep","uploadExcel","SubmitForm","onIncrementCurrentFilledFormIndex","onLoadDataSetRecordToContinue","StepperIcon","icons","1","2","Spellcheck","3","Send","HighlightOff","4","clsx","String","icon","onOpenStandardReportFailedModal","openEmptyFileModal","setOpenEmptyFileModal","datasetRecord","tempFixedGeneralAnswers","tempFixedSoundAnswers","tempFixedInfoAnswers","tempMobileGeneralAnswers","tempMobileSoundAnswers","tempMobileInfoAnswers","newitem","dataSetItemID","dataValueMonth1","dataValueMonth2","dataValueMonth3","dataValueMonthAvg","dataValueExtra","onDecrementCurrentFilledFormIndex","form_type","tempInvalidDataSetRecords","validateResult","question","q","tempInvalidAnswers","prev","resExcelFile","resCurrentHead","onSubmitToApprove","Swal","fire","confirmButtonText","showCancelButton","cancelButtonText","isConfirmed","buttonNextDisabled","hasFile","entries","some","onGenerateAnswer","useCallback","onGetCurrentHead","twoG","nvmo","dataSetReport","operator","sendMethod","onChangeNeedToFillFormType","obj","Stepper","connector","Step","StepLabel","StepIconComponent","answer_type","pattern","prevState","tempList","filter","_","idx","isPeriodSolution","prevAnswers","newAnswers","moment","filtered","val","invalid","uploadAdditionalFileButtonDisabled","go","SendOutlined","GRAY_ACCORDION","BLUE_ACCORDION","StyledTabs","styled","Tabs","TabIndicatorProps","StyledTab","Tab","disableRipple","textTransform","fontWeight","typography","fontWeightRegular","pxToRem","StandardReportHistory","quarters","quarterNow","setQuarterNow","yearPanel","setYearPanel","quarterPanel","setQuarterPanel","onChangeYearPanel","panel","event","newExpanded","onChangeQuarterPanel","isOpenSuccessModal","setIsOpenSuccessModal","tabController","setTabController","getDataSetReports","dataSetReports","quarterData","yearListsTemp","year","dataSetRecordHeads","handleDownloadExcel","blob","Blob","link","document","createElement","URL","createObjectURL","setAttribute","appendChild","click","removeChild","onHeadDelete","dateNow","yearNow","getFullYear","newValue","yearData","Accordion","expanded","AccordionSummary","expandIcon","ExpandMore","aria-controls","DescriptionOutlined","parseInt","AccordionDetails","CalendarToday","download","rel","InsertDriveFileOutlined","ChangeStatusModal","handleCloseDialog","statusDialogOpen","statusLabelTemp","onChangeStatusTemp","handleStatusTempChange","descriptionElement","current","focus","SendingStandardReportToAdminModalSuccess","SendingStandardReportToAdminModalFailed","onDelete","SubmitModal","submitDialogOpen","handleCloseSubmitDialog","handleSubmitButton","additionalFiles","tempFile","onAddTemp","onAddDocument","onDeleteDocument","onChangeAttachedFileName","currentTarget","card_styles","details_button","approve_button","wait_button","reject_button","type_of_report","borderColor","formControl","StandardReportValidation","isMobile2","dataTypeOfReport","statusIDList","setStatusIDList","tempID","tempName","setStatusDialogOpen","setStatusLabelTemp","statusIDTemp","setStatusIDTemp","setReportID","activeReportHead","setActiveReportHead","pageSize","setPageSize","openSendToAdminModal","setOpenSendToAdminModal","openSendToAdminModalFailed","setOpenSendToAdminModalFailed","openSubmitSendingToAdminSureModal","setOpenSubmitSendingToAdminSureModal","setSubmitDialogOpen","setTempFile","setAdditionalFile","setAdditionalFiles","onSubmitToAdmin","onOpenSendingToAdminFailedModal","onOpenSendingToAdminModal","columns","field","headerName","headerAlign","align","sortable","editable","renderCell","params","tempIndex","rows","workStatus","report_id","rowData","Menu","workStatusName","isRejected","isActive","setRows","isDataLoading","setIsDataLoading","getDatasetRecordList","rowsTemp","i","qosType","tempObject","operatorUser","submit_date","updatedAt","submitType","dataSetRecordHeadStatus","statusName","report_detials","dataTypeList","tempStatusIDList","changeStatusRecord","onOpenSendingToAdminSureModal","onLoading","ListAlt","disableSelectionOnClick","rowsPerPageOptions","onPageSizeChange","components","NoRowsOverlay","statusIDListTemp","itemIndex","DeletedFailedModal","AuthenticatedLink","filename","isDownload","setIsDownload","showSomethingWentWrongModal","setShowSomethingWentWrongModal","characters","charactersLength","charAt","makeid","handleAction","parentNode","downloadUrl","replace","Archive","dataSetFilesUpload","useParams","Assignment","InsertDriveFile","filePath","firstValueWidth","secondValueWidh","validationWidth","useWidthExcelInputWithValidation","avgWidth","setAvgWidth","setValidationWidth","onOpenValidationModal","isError","validateFileUrl","ValidationModal","currentSelectedError","openValidationModal","onCloseValidationModal","documentStatusID","list","getStepContent","reportTypes","approve_hidden_button","visibility","next_button","StandardReportValidationDetails","match","isReHydrated","setReportTypes","setDataSetFilesUpload","setCurrentSelectedError","openSureModal","setOpenSureModal","setOpenValidationModal","openSomethingWentWrongModal","setSomethingWentWrongModal","setDocumentStatusID","setSubmitType","setRemark","onOpenStandardReportSuccessModal","changeStatusReportHeadToReject","setRowData","onLanding","tempReportTypes","tempFiles","category","rowDataTemp","info","operatorUserName","sendToAdminAt","reportType","titleSureModal","contentSureModal","autoFocus","onSubmitAfterSure","isRenderCTARight","goBack","OrgActions","setCurrentEditUserID","onOpenUserModal","setUserModalType","onOpenDeleteUserModal","Edit","add_button_styles","contrastText","normal_status_box","ban_temp_box","expired_box","normal_status_text","ban_temp_text","expired_text","OrgSearchResult","onSearch","columnsId","setColumnsId","columnsName","setColumnsName","columnsEmail","setColumnsEmail","columnsCitizenId","columnsPhoneNumber","columnsDuty","setColumnsDuty","columnsStatus","setColumnsStatus","columnsActions","setColumnsActions","flex","statusBoxGenerator","accessId","ViewComfy","PersonAdd","disableColumnMenu","org_duty","org_status","OrganizationUserModal","userModalType","nationalCardIDNo","userInfo","fixedTypePermission","mobileTypePermission","editNationalCardIDNo","editUserInfo","editActiveDate","editExpireDate","onFillNationalCardIDNo","editFixedTypePermission","editMobileTypePermission","onCheckFormTypePermission","onChangeUserRoleID","onSelectActiveDate","onSelectExpireDate","onChangeEditUserRoleID","onFillEditNationalCardIDNo","onCheckEditFormTypePermission","onSelectEditActiveDate","onSelectEditExpireDate","onFillEditUserInfo","onChangeEditUserStatus","saveButton","isOpenDate","setIsOpenDate","typeGenerator","_userModalType","onBackdropClick","inputProps","maxlength","FormControl","Select","values","MenuItem","userStatus","delete_button","DeleteUserModal","dialogPaper","NotFoundModal","AddingSuccessModal","AddingFailedModal","EditingSuccessModal","EditingFailedModal","DeletedSuccessModal","OrganizationUser","userData","setUserData","currentEditUserID","openUserModal","setOpenUserModal","openDeleteUserModal","setOpenDeleteUserModal","openAddingSuccessModal","setOpenAddingSuccessModal","openAddingFailedModal","setOpenAddingFailedModal","openNotFoundModal","setOpenNotFoundModal","openEditingSuccessModal","setOpenEditingSuccessModal","openEditingFailedModal","setOpenEditingFailedModal","openDeletedSuccessModal","setOpenDeletedSuccessModal","openDeletedFailedModal","setOpenDeletedFailedModal","setNationalIDCardNo","prefix","setUserInfo","setActiveDate","setExpireDate","setFixedTypePermission","setMobileTypePermission","editNationalIDCardNo","setEditNationalIDCardNo","setEditUserInfo","setEditActiveDate","setEditExpireDate","setEditFixedTypePermission","setEditMobileTypePermission","saveButtonAdd","setSaveButtonAdd","saveButtonEdit","setSaveButtonEdit","onOpenAddingSuccessModal","onOpenAddingFailedModal","onOpenEditingSuccessModal","onOpenEditingFailedModal","onOpenDeletedSuccessModal","onOpenDeletedFailedModal","fetchedUsers","preprocessedArr","tempOperatorUserQOSTypes","accessID","userId","userRole","userRoleName","periodActivate","userStatusID","userStatusName","onAddUser","onEditUser","deleteUserID","finded","onFindUserToEdit","isDisabled","setIsDisabled","AppDescription","AppDescriptionSpan","SignIn","isAccepted","setIsAccepted","isInitialized","setIsInitialized","policyAccept","localStorage","getItem","html","reverseButtons","allowOutsideClick","allowEscapeKey","allowEnterKey","backdrop","setItem","logo","NotifyModal","FormSelectService","onSelectService","table","TablePOA","selectPOA","TableContainer","Paper","Table","TableHead","TableRow","TableCell","TableBody","scope","juristicNo","startDate","SelectOperatorModal","Alert","elevation","RegisterCompany","submitRegisterCompany","onSubmit","address","company","setCompany","openSnack","setOpenSnack","handleCloseSnack","AddressInformations","addressInfo","Province","FullAddress","Tumbol","Ampur","handleCheckboxType","newVal","selectVal","minHeight","JuristicID","JuristicName_TH","Snackbar","autoHideDuration","anchorOrigin","vertical","horizontal","severity","Identify","selectedPOA","POA","actionIdentify","signinSdoc","signinQos","setPOAData","loadPoaSuccess","setLoadPoaSuccess","selectPOAError","setSelectPOAError","openNoPOAModal","setOpenNoPOAModal","openPOAModal","setOpenPOAModal","activeRegisterCompany","setActiveRegisterCompany","urlSearchParams","URLSearchParams","search","fromEntries","getListPOA","data1000101001","foundCompany","ResultList","service","ClientAPI","openUploadSuccessModal","setOpenUploadSuccessModal","useForm","handleSubmit","formState","onOpenEmptyFileModal","rules","required","onBlur","IncorrectIdModal","regisStep","RegisterFailModal","RegisterSuccessModal","organization","dataType","Registration","setRegisStep","setCitizenID","taxID","setTaxID","cleanDataFromIncorrectId","setStepValidStep1","setFirstname","setLastname","setPhoneNumber","setStepValidStep2","setCompanyName","setCompanyAddress","onOpenInCorrectIdModal","validGoNextStep","stepValidStep1","stepValidStep2","openRegisterFailModal","setOpenRegisterFailModal","onOpenRegisterFailModal","openInCorrectIdModal","setOpenInCorrectIdModal","Users","org","Orgs","StandardReportHistoryDetails","disableClickEventBubbling","serviceQualityIndicator","duty","date","UsersRoute","useRouteMatch","exact","QoSAdmin","InfoBox","iconBgColor","number","unit","piechart","Title","Series","Categories","options","chart","plotOptions","pie","allowPointSelect","cursor","dataLabels","enabled","series","highcharts","Highcharts","require","InfoBoxConfigs","People","CheckCircle","AccessTime","Dashboard","initFetch","Series1","colorByPoint","y","Series2","columnsDataTypeList","setColumnsDataTypeList","columnsSubmitDate","setColumnsSubmitDate","columnsReportDetails","setColumnsReportDetails","columnsWorkStatusId","setColumnsWorkStatusId","rowsData","setRowsData","operatorApproveUser","yearNQuarter","searchedName","searchedOperatorName","mergedSearched","searchedResults","InputProps","startAdornment","SearchOutlined","sortModel","sort","attachSendToAdminFile","REPORT","findReportQuestion","r","operatorFlag","StandardReportStep3","changeValidationStep3","selectSignature","setRejectReason","setSignature","adminQoS","validateStep3","setValidateStep3","setOperatorFlag","tempValidation","ID","onFillAddUserInfo","onSearchOperator","resultDBD","setResultDBD","table_styles","setOrganization","openCRUDModal","setOpenCRUDModal","qosTypeName","orientation","flexItem","tiptitle","fetchedOrg","typesOfReports","OrganizationDetails","operatorInfos","UpdateProcessModalSuccess","UpdateProcessModalFailed","ConfirmSendNotifyModal","listSignature","isSetToProcess","displayEmpty","StandardReportOrganization","currentDataSetReportID","setCurrentDataSetReportID","sureModalText","setSureModalText","openUpdateProcessModalSuccess","setOpenUpdateProcessModalSuccess","openUpdateProcessModalFailed","setOpenUpdateProcessModalFailed","sendingSuccessLabel","setSendingSuccessLabel","sendingFailedLabel","setSendingFailedLabel","setIsSetToProcess","onUpdateSetToProcess","onOpenUpdateProcessModalSuccess","onOpenUpdateProcessModalFailed","onUpdateSentNotify","isSentNotify","dataSetReportID","unReportedID","StandardReportSent","getAdminRoleFromID","Info","adminRoles","AdminUser","openUserInfoModal","setOpenUserInfoModal","setAdminRoles","resRoles","fetchedAdminRoles","tempAdminRoles","adminRoleName","fetchedAdmin","findedStatus","AdminSignIn","showPassword","setShowPassword","signInMsg","setSignInMsg","onSignInAdmin","onShowPassword","onKeyPress","REACT_APP_DEMO_ADMIN_USERNAME","endAdornment","edge","Visibility","VisibilityOff","REACT_APP_DEMO_ADMIN_PASSWORD","CompareBar","Max","column","pointPadding","borderWidth","inside","verticalAlign","xAxis","categories","yAxis","max","legend","MaxMS","unit2","spline","opposite","SentChart","swalModal","showConfirmButton","didOpen","showLoading","close","selectedYear","setSelectedYear","selectedQuarter","setSelectedQuarter","operatorToReport","dataSetReportDetail","updateGraphData","setCategories","province1","setProvince1","province2","setProvince2","province1box","setProvince1box","province2box","setProvince2box","Array","SeriesSingle","setSeriesSingle","SeriesCompare","setSeriesCompare","SeriesMOS","setSeriesMOS","SeriesWithLine","setSeriesWithLine","SeriesWithLine2","setSeriesWithLine2","prepareData","CategoriesToSet","SeriesSingleToSet","SeriesMOSToSet","setSeriesCompareToSet","SeriesWithLineToSet","SeriesWithLine2ToSet","corekey","setSeriesCompareToSetIndex","setSeriesCompareToSetIndex2","InputLabel","AdminsRoute","OrganizationDetailCardV3","mountType","senderState","confirmationInfo","onChangeSenderType","onChangeCompanyInfo","setIsProfileError","handleInput","newData","zipcode","branchNo","district","amphoe","province","InputBase","normal_person","nameType","maxLength","disabled_text_field","BrandNameCard","inputModel","onChangeInputModel","Settings","ErrorPower","EquipmentCard","inputEquipmentState","ProductTypeText","FrequencyText","PowerText","PolicyText","SelectedPowerUnit","PolicyText_2","PolicyText_3","Flag","onChangeInputEquipmentState","seq","equipmentMasterData","typeEquipment","frequency","powerUnit","onError","setIsError","possibleFreq","availableFreq","toLowerCase","possibleAnnoucement","findedMasterItem","f","isMatchedName","isMatchedTechType","policy","pf","tech_type","pf2","possibleAnnoucementFlag","flag","isValidPowerText","cw","findedPolicy","p","power","filterFrequencyIndex","readonly","indexs","str","fileName","onDownloadDocument","isFileLocked","onDeleteUploadedDocument","onChangeIsFileLocked","ApprovalControl","sDOCStatus","isEditing","FileName","setFileName","showFullFileNames","setShowFullFileNames","flexWrap","gap","Tooltip","arrow","LockOpen","DocumentAdditionCard","filedate","isfilelocked","fileKey","useQuery","policy_id","type_equipment","EQUIPMENT_INITIAL_STATE","CONFIRMATION_INFO_STORAGE_INITIAL_STATE","EQUIPMENT_MASTER_DATA_INTITIAL_STATE","productType","INPUT_MODEL_INITIAL_STATE","TEMP_FILE_INTIAL_STATE","SUBMIT_TEXT_MODAL_INITIAL_STATE","SDOC","query","setSDOCId","currentSenderState","setCurrentSenderState","confirmationInfoStorage","setConfirmationInfoStorage","setEquipmentMasterData","setInputModel","setInputEquipmentState","submitEquipmentSureModal","setSubmitEquipmentSureModal","openSubmitEquipmentSuccessModal","setOpenSubmitEquipmentSuccessModal","submitTextModal","setSubmitTextModal","isSubmit","setIsSubmit","canSubmit","setCanSubmit","isEquipmentCardValid","setIsEquipmentCardValid","attachFileLength","setAttachFileLength","requestAddiotionFile","setRequestAddiotionFile","setRequestModifyInfo","ejectRemark","setEjectRemark","isProfileError","uploadProgress","setUploadProgress","onOpenSubmitEquipmentSureModal","onSubmitAddtionalFiles","onSubmitModifyInfo","textDecoration","handlePreviewButton","onSubmitEquipment","onOpenSubmitEquipmentSuccessModal","getListAndPrefield","sdoc","findedList","sDocStatusID","requestAddtionDocStatusID","requestAdditionFileRemark","requestModifyInfoRemark","senderType","operatorTaxNo","operatorBranchNo","res2","res3","data2","sDocItems","sDocAttachs","newList","sdocItem","powerText","productTypeText","frequencyText","policyText","policyText_2","policyText_3","sdocAttach","newState","onFetchMasterdata","isExecuting","onSubmitPreviewSDoC","footer","base64Data","byteCharacters","atob","byteNumbers","charCodeAt","byteArray","Uint8Array","blobUrl","onDeletedUploadedDocument","temp_list","listInd","currentAdditionalFileLength","sendedFiles","amountOfNewFiles","confirmButtonColor","cancelButtonColor","eqipmentValidation","isValid","premilinaryCondition","isFilledText","makeLinksClickable","urlRegex","part","AlertTitle","wordWrap","errIdx","prevIndex","onEquipmentCardError","onDeleteItem","sumSize","RejectReasonModal","CancelSDoCModal","SDoCID","common_button","SDOCStatus","rowsWaitStatus","setRowsWaitStatus","rowsApproveStatus","setRowsApproveStatus","setStatusList","openRejectReasonModal","setOpenRejectReasonModal","openCancelSdoCModal","setOpenCancelSDoCModal","cancelSDoCID","setCancelSDoCID","cancelSDoCRunningNo","setCancelSDoCRunningNo","sortModelInprogress","setSortModelInprogress","setSortModel","onClickBillInquiry","setTimeout","billInquiryStatus","getSDOCWaitStatusList","onClickBillRenew","onCancelSDoC","columnsWaitingStatus","today","setDate","getDate","dueDate","transactions","setHours","isUploadedAttachment","AttachFile","StausID","invoiceNo","runningNumber","columnsApproveStatus","sDocNo","valueGetter","getSDocStatusList","resStatusList","dataStatusList","statusListTemp","resList","dataSDocList","rowsApproveTemp","approver","approveDate","sDocTransactions","submitDate","createDate","sDocStatus","publicStatusName","runningNo","onSortModelChange","model","handleSortInprogressChange","handleSortChange","SDOCRegistration","onSubmitRegistration","input","inputLabel","inputPlaceholder","showLoaderOnConfirm","preConfirm","newToken","fetch","ok","json","Error","showValidationMessage","inputAttributes","autocomplete","exp","now","getListPOASDoC","ProfileCardV3","onChangeUserInfo","onSubmitNormalPerson","onSubmitOrganizationInfo","onSubmitOrganizationBranch","addressList","ProvinceList","setProvinceList","DistrictList","setDistrictList","AmphoeList","setAmphoeList","ProvinceListNP","setProvinceListNP","DistrictListNP","setDistrictListNP","AmphoeListNP","setAmphoeListNP","currentProvince","setCurrentProvince","currentAmphoe","setCurrentAmphoe","currentDistrict","setCurrentDistrict","isEmailValid","initProvinceList","availableSelection","updateAvailableAddress","availableAddress","updateAvailableAddressNP","numericValue","handleUserInput","firstName","typeName","prefixother","SDOCProfile","setOperatorId","AddressList","setAddressList","timer","onSubmitUpdateAgentInfo","agentEmail","agentMobile","SDOCUsersRoute","SDOCAdminSignIn","Index","tableauTicket","tableauMode","setTableauMode","getTableauTicket2","sdocAdmin","tableau_ticket","loadScripts","tableauScript","async","head","axiosScript","updateTableau","ticket","tableauGrid","querySelector","innerHTML","newTableauViz","querySelectorAll","script","remove","existingAxiosScripts","SelectAssignAdminModal","onChangeCheckerAdminID","checkerAdminList","checkerAdminID","labelId","SignSignatureModal","updated_button","cancel_button","preapprove_button","waiting_assign_button","myInfo","RowsData","myRole","setMyRole","myID","setMyID","setCheckerAdminList","signatureAdminList","setSignatureAdminList","setSDocID","setCheckerAdminID","setSelectedSignature","openSubmitSDocSureModal","setOpenSubmitSDocSureModal","currentActionSDoc","setCurrentActionSDoc","openModalAssignAdmin","setOpenModalAssignAdmin","openModalAssignSignature","setOpenModalAssignSignature","sureModalTitle","isDialogOpen","setIsDialogOpen","searchQuery","setSearchQuery","selectedStatus","setSelectedStatus","searchCreate","setSearchCreate","searchLastUpdated","setSearchLastUpdated","isSearching","setIsSearching","isSaveSearch","setIsSaveSearch","statusOptions","toggleDialog","handleSearchChange","prevSearchQuery","updatedQuery","existingItemIndex","onOpenModalAssignAdmin","handleIssueBtn","onClickAssignAdmin","createWaitingRow","sDocUser","operatorTitle","lastUpdate","sDocLogs","IsUploadedAttachment","getCheckerAdminList","resAdminList","adminListTemp","dataAdminList","adminAccess","dataportalServiceID","setIsShowFinished","dataMe","showFinished","approverID","onSearchResult","searchedData","savedFilters","JSON","stringify","removeItem","itemValue","itemDate","searchDate","parse","applySavedFilters","onDeny","onSubmitApproval","onRequestAddition","onRequestModifyInfo","onDenyChecker","onUpdateCustomerInfo","onResentBill","onBackToPreapprove","onAssignAdmin","onAssignSignature","onRejectJob","lineHeight","hide","refnO1","refnO2","filterValueGetter","NoteAdd","SyncAlt","ArrowBack","Search","Switch","labelPlacement","rowHeight","borderCollapse","multiple","MenuProps","transformOrigin","getContentAnchorEl","renderValue","selectedOption","option","indexOf","addedDoc_button","ApprovalCard","SDoCLogsCard","SDoCLogs","columnsSDoCLogs","maxHeight","dangerouslySetInnerHTML","__html","SDoCDetailCard","sDoCNo","setmountType","setConfirmationInfo","isSubmitting","setIsSubmitting","setSDOCStatus","setRunningNo","setSDoCNo","isRejectable","setIsRejectable","isEditingSDoC","EjectCredential","setEjectCredential","setSDoCLogs","ejectCredentialRemark","onChangeConfirmationInfo","AdminSDOCUser","SDOCSent","filterable","approveDateExport","invoiceDate","confirmRepairCredential","Build","createApproveRow","receiveDate","signatureAdmin","amount","openDB","indexedDB","onerror","onupgradeneeded","db","objectStoreNames","contains","createObjectStore","keyPath","onsuccess","addDataToDBWithTimeout","timeout","transaction","transaction2","objectStore","objectStore2","oncomplete","onabort","vtimeoutData","add","abort","clearSDocList","clear","forceSDOCWaitStatusList","dataSDoc","currentTime","getAll","onRepairCredential","handleDownloadClick","handleCloseDialogRangeDate","loadingPopup","onBeforeOpen","encodedParams","startdate","formatDate","enddate","endDate","downloadLink","revokeObjectURL","statusText","handleDownloadSummaryFullClick","exceljsPreProcess","workbook","worksheet","created","getCell","exceljsPostProcess","addRow","month","padStart","day","DialogRangeDateType","setDialogRangeDateType","openDialogRangeDate","setOpenDialogRangeDate","handleOpenDialogRangeDate","sdoctype","setStartDate","setEndDate","Refresh","localeText","toolbarExport","csvOptions","exportButtonText","utf8WithBom","fields","excelOptions","SaveAlt","aria-labelledby","initEquipmentState","forcegetSDOCWaitStatusList","apiDataSDocList","POALIST","rowsPOAList","setRowsPOAList","columnsPOAList","nationalID","SDOCAdminsRoute","MainAdminAuth","onChangeUserRoleIDSDoc","onChangeUserRoleIDCentralAdmin","onChangeUserprefixname","onChangeEditUserRoleIDSDoc","onChangeEditUserRoleIDCentralAdmin","onChangeEditUserprefixname","onSearchEmail","emailValidation","isSearchingEmail","showPositionAndSignatureAdd","showPositionAndSignatureEdit","resetAdminRole","onUploadSignature","clearAllUserModalState","sm","getElementById","initialUserInfoState","tel","MainAdminUserManagement","openUserNotFoundModal","setOpenUserNotFoundModal","setIsSearchingEmail","setEmailValidation","setShowPositionAndSignatureAdd","setShowPositionAndSignatureEdit","onOpenUserNotFoundModal","resSearch","onAddAdmin","findedAdminRoleId","findedAdminRoleIdSdoc","findedAdminRoleIdCentralAdmin","signaturePicturePath","MainAdminRoutes","withRouter","reportWebVitals","onPerfEntry","Function","getCLS","getFID","getFCP","getLCP","getTTFB","Theme","createTheme","secondary","alt1","alt2","alt3","fontFamily","CookieConsent","createBrowserHistory","ReactDOM","fallback","ThemeProvider","CssBaseline"],"mappings":"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","file":"static/js/main.eb1e513a.chunk.js","sourcesContent":["export const API_BASE_END_POINT =\r\n\tprocess.env.REACT_APP_PUBLIC_API_URL || 'http://localhost:8080'\r\n","import Axios from 'axios'\r\nimport { API_BASE_END_POINT } from '.'\r\nimport store from '../store'\r\n\r\n// Instance Configuration\r\n\r\nconst instance = Axios.create({ baseURL: API_BASE_END_POINT + '/api' })\r\n\r\ninstance.interceptors.request.use(config => {\r\n\tconst appType = store.getState().appModel.app_type\r\n\r\n\tlet token = ''\r\n\tif (appType === 'users') {\r\n\t\ttoken = store.getState().userModel.user\r\n\t\t\t? `Bearer ${store.getState().userModel.user.token}`\r\n\t\t\t: ''\r\n\t}\r\n\telse if (appType === 'admin')\r\n\t\ttoken = store.getState().QoSAdminModel.admin\r\n\t\t\t? `Bearer ${store.getState().QoSAdminModel.admin.token}`\r\n\t\t\t: ''\r\n\telse if (appType === 'sdoc')\r\n\t\ttoken = store.getState().sdocUserModel.userSDOC\r\n\t\t\t? `Bearer ${store.getState().sdocUserModel.userSDOC.token}`\r\n\t\t\t: ''\r\n\telse if (appType === 'sdoc-admin')\r\n\t\ttoken = store.getState().sdocAdminModel.adminSDOC\r\n\t\t\t? `Bearer ${store.getState().sdocAdminModel.adminSDOC.token}`\r\n\t\t\t: ''\r\n\telse if (appType === 'main-admin')\r\n\t\ttoken = store.getState().mainAdminModel.admin\r\n\t\t\t? `Bearer ${store.getState().mainAdminModel.admin.token}`\r\n\t\t\t: ''\r\n\r\n\tconfig.headers.common['Authorization'] = token\r\n\r\n\treturn config\r\n})\r\n\r\ninstance.interceptors.response.use(\r\n\tresponse => {\r\n\t\tconst app_type = store.getState().appModel.app_type\r\n\t\tconst userSDOC = store.getState().sdocUserModel.userSDOC\r\n\t\tconst signOutUser = store.getActions().sdocUserModel.signOutUser\r\n\t\tconst expireDate = store.getState().sdocUserModel.userLoginExpireDate\r\n\t\t// alert(expireDate + \" - \" + new Date().getTime())\r\n\t\tif (app_type === 'sdoc') {\r\n\t\t\tif ((expireDate != null) && new Date().getTime() > expireDate) {\r\n\t\t\t\tsignOutUser()\r\n\t\t\t\talert(\"หมดเวลาใช้งาน กรุณาเข้าสู่ระบบใหม่\")\r\n\t\t\t\t.then(() => window.location.href = '/sdoc/sign-in')\r\n\t\t\t}\r\n\t\t\tif(userSDOC !== null && expireDate == null){\r\n\t\t\t\tsignOutUser()\r\n\t\t\t\talert(\"กรุณาเข้าสู่ระบบใหม่\")\r\n\t\t\t\t.then(() => window.location.href = '/sdoc/sign-in')\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn response\r\n\t},\r\n\terror => {\r\n\t\tconst setUser = store.getActions().userModel.set\r\n\t\tconst setAdmin = store.getActions().QoSAdminModel.setAdmin\r\n\t\tconst setSDOCUser = store.getActions().sdocUserModel.setUserSDOC\r\n\t\tconst setSDOCAdmin = store.getActions().sdocAdminModel.setAdminSDOC\r\n\t\tconst app_type = store.getState().appModel.app_type\r\n\r\n\t\tif (error.response.status === 401) {\r\n\t\t\tif (app_type === 'users') setUser(null)\r\n\t\t\telse if (app_type === 'admin') setAdmin(null)\r\n\t\t\telse if (app_type === 'sdoc') setSDOCUser(null)\r\n\t\t\telse if (app_type === 'sdoc-admin') setSDOCAdmin(null)\r\n\t\t\talert('ไม่มีสิทธิใช้งานระบบ')\r\n\t\t}\r\n\r\n\t\t// const expireDate = store.getState().sdocUserModel.expireDate\r\n\t\t// if (expireDate && new Date().getTime() > expireDate) {\r\n\t\t// \tsetSDOCUser(null)\r\n\t\t// \talert('ไม่มีสิทธิใช้งานระบบ')\r\n\t\t// }\r\n\r\n\r\n\r\n\t\treturn Promise.reject(error)\r\n\t}\r\n)\r\n\r\n// Instance Utilities\r\n\r\nexport const adminHeader = {\r\n\t'Admin-Request': 1,\r\n}\r\n\r\nexport default instance\r\n","import API from '../config/axios'\r\nimport store from '../store'\r\n\r\nconst authAPI = {\r\n\tsignin: async (payloads) => {\r\n\t\tconst res = await API.post('/OperatorUsers/authenticate', payloads)\r\n\r\n\t\tif (res) {\r\n\t\t\tif (res.status === 200) {\r\n\t\t\t\treturn res\r\n\t\t\t} else {\r\n\t\t\t\tconsole.error(res)\r\n\t\t\t\treturn false\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\tsigninQosWithRegisterCompany: async (payloads) => {\r\n\t\tconst res = await API.post('/OperatorUsers/authenticateWithRegisterCompany', payloads)\r\n\r\n\t\tif (res) {\r\n\t\t\tif (res.status === 200) {\r\n\t\t\t\treturn res\r\n\t\t\t} else {\r\n\t\t\t\tconsole.error(res)\r\n\t\t\t\treturn false\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\r\n\t\r\n\tidentify: async (_token) => {\r\n\t\tconst res = await API.post('/OperatorUsers/identify', {_token})\r\n\r\n\t\tif (res) {\r\n\t\t\tif (res.status === 200) {\r\n\t\t\t\treturn res\r\n\t\t\t} else {\r\n\t\t\t\tconsole.error(res)\r\n\t\t\t\treturn false\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\tsignout: () => {\r\n\t\tconst setUser = store.getActions().userModel.set\r\n\t\tconst setFormPermissionType =\r\n\t\t\tstore.getActions().userModel.setFormPermissionType\r\n\t\tconst setUserOperatorProfile =\r\n\t\t\tstore.getActions().userModel.setUserOperatorProfile\r\n\r\n\t\tsetUser(null)\r\n\t\tsetFormPermissionType(null)\r\n\t\tsetUserOperatorProfile(null)\r\n\t},\r\n\tregister: (\r\n\t\tnationalIDCardNo,\r\n\t\tmobile,\r\n\t\temail,\r\n\t\tfirstname,\r\n\t\tlastname,\r\n\t\toperatorID\r\n\t) => {\r\n\t\treturn API.post('/Operators/register', {\r\n\t\t\tnationalIDCardNo,\r\n\t\t\tmobile,\r\n\t\t\temail,\r\n\t\t\tfirstname,\r\n\t\t\tlastname,\r\n\t\t\toperatorID,\r\n\t\t})\r\n\t\t\t.then(() => {\r\n\t\t\t\treturn true\r\n\t\t\t})\r\n\t\t\t.catch(err => {\r\n\t\t\t\tconsole.error(err)\r\n\t\t\t\treturn false\r\n\t\t\t})\r\n\t},\r\n}\r\n\r\nexport default authAPI\r\n","import API from '../config/axios'\r\n\r\nconst userAPI = {\r\n\tgetUsers: () => {\r\n\t\treturn API.get('/OperatorUsers')\r\n\t\t\t.then(res => res)\r\n\t\t\t.catch(err => {\r\n\t\t\t\treturn err\r\n\t\t\t})\r\n\t},\r\n\taddUser: (\r\n\t\tpayload\r\n\t) => {\r\n\t\treturn API.post('/OperatorUsers',payload)\r\n\t\t\t.then(res => res)\r\n\t},\r\n\teditUser: (\r\n\t\tuserID,\r\n\t\tfirstname,\r\n\t\tlastname,\r\n\t\tmobile,\r\n\t\tnationalIDCardNo,\r\n\t\temail,\r\n\t\tactiveDate,\r\n\t\texpireDate,\r\n\t\toperatorUserQOSTypes,\r\n\t\tuserStatusId,\r\n\t\tuserRoleID\r\n\t) => {\r\n\t\treturn API.put(`/OperatorUsers/${userID}`, {\r\n\t\t\tfirstname,\r\n\t\t\tlastname,\r\n\t\t\tmobile,\r\n\t\t\tnationalIDCardNo,\r\n\t\t\temail,\r\n\t\t\tactiveDate,\r\n\t\t\texpireDate,\r\n\t\t\toperatorUserQOSTypes,\r\n\t\t\tstatusID:userStatusId,\r\n\t\t\tuserRoleID\r\n\t\t})\r\n\t\t\t.then(res => res)\r\n\t\t\t.catch(err => console.log('error'))\r\n\t},\r\n\tgetMyProfile: () => {\r\n\t\treturn API.get('/OperatorUsers/me')\r\n\t\t\t.then(res => res)\r\n\t\t\t.catch(err => err)\r\n\t},\r\n\tgetMyPOA: (token) => {\r\n\t\treturn API.post('/OperatorUsers/listPOA',{\"_token\":token})\r\n\t\t\t.then(res => res.data)\r\n\t\t\t.catch(err => {console.error(err)})\r\n\t},\r\n\tgetMyPOASDoC: (token) => {\r\n\t\treturn API.post('/OperatorUsers/listPOASDoC',{\"_token\":token})\r\n\t\t\t.then(res => res.data)\r\n\t\t\t.catch(err => {console.error(err)})\r\n\t},\r\n\tdeleteUser: userID => {\r\n return API.delete(`/OperatorUsers/access/${userID}`)\r\n .then(res => res)\r\n .catch(err => err)\r\n },\r\n}\r\n\r\nexport default userAPI\r\n","import API from '../config/axios'\r\n\r\nconst formAPI = {\r\n\tgetRecords: () => {\r\n\t\treturn API.get('/DataSetRecords')\r\n\t\t\t.then(res => res)\r\n\t\t\t.catch(err => err)\r\n\t},\r\n\taddRecord: (records, isNewForm, formTypes) => {\r\n\t\treturn API.post('/DataSetRecords', {\r\n\t\t\tformTypes,\r\n\t\t\tisNewForm,\r\n\t\t\tanswers: records,\r\n\t\t})\r\n\t\t\t.then(res => res)\r\n\t},\r\n\tupdateRecord: records => {\r\n\t\treturn API.post('/DataSetRecords', records)\r\n\t\t\t.then(res => res)\r\n\t\t\t.catch(err => err)\r\n\t},\r\n\texcelUploading: (files, isNewForm) => {\r\n\t\tconst form = new FormData()\r\n\t\tform.append('isNewForm', isNewForm)\r\n\t\tform.append('fileUpload', files)\r\n\r\n\t\treturn API({\r\n\t\t\turl: '/DataSetRecords/ImportExcel',\r\n\t\t\tmethod: 'POST',\r\n\t\t\tdata: form,\r\n\t\t})\r\n\t\t\t.then(res => res)\r\n\t\t\t.catch(err => {\r\n\t\t\t\treturn err\r\n\t\t\t})\r\n\t},\r\n\tAPIExcelUploading: (file, token, isAPI = false) => {\r\n\t\tconst form = new FormData()\r\n\t\tform.append('fileUpload', file)\r\n\r\n\t\treturn API({\r\n\t\t\turl: `/DataSetRecords/ImportExcel${isAPI ? '?method=api' : ''}`,\r\n\t\t\tmethod: 'POST',\r\n\t\t\tdata: form,\r\n\t\t\theaders: {\r\n\t\t\t\tAuthorization: `Bearer ${token}`,\r\n\t\t\t},\r\n\t\t})\r\n\t\t\t.then(res => res)\r\n\t\t\t.catch(err => {\r\n\t\t\t\treturn false\r\n\t\t\t})\r\n\t},\r\n\tAPIExternalExcelUploading: (file, token, isAPI = false) => {\r\n\t\tconst form = new FormData()\r\n\t\tform.append('fileUpload', file)\r\n\r\n\t\treturn API({\r\n\t\t\turl: `https://168.1.38.48/chativitpnbtcgoth-sydneyspacedev/main-prod/api/organizations`,\r\n\t\t\tmethod: 'POST',\r\n\t\t\tdata: form,\r\n\t\t\theaders: {\r\n\t\t\t\tAuthorization: `Bearer ${token}`,\r\n\t\t\t},\r\n\t\t})\r\n\t\t\t.then(res => res)\r\n\t\t\t.catch(err => {\r\n\t\t\t\treturn false\r\n\t\t\t})\r\n\t},\r\n\r\n\t\r\n\tdownloadDocument: () => {\r\n\t\treturn API.get('/Document/doc1')\r\n\t\t\t.then(res => res)\r\n\t\t\t.catch(err => err)\r\n\t},\r\n}\r\nexport default formAPI\r\n","import API, { adminHeader } from '../config/axios'\r\n\r\nconst datasetRecordAPI = {\r\n\tgetListAdmin: () => {\r\n\t\treturn API.get('/DataSetRecords/admin', { headers: adminHeader })\r\n\t\t\t.then(res => {\r\n\t\t\t\treturn res\r\n\t\t\t})\r\n\t\t\t.catch(err => {\r\n\t\t\t\tconsole.error(err)\r\n\t\t\t\treturn false\r\n\t\t\t})\r\n\t},\r\n\tgetlist: () => {\r\n\t\treturn API.get('/DataSetRecords')\r\n\t\t\t.then(res => {\r\n\t\t\t\treturn res\r\n\t\t\t})\r\n\t\t\t.catch(err => {\r\n\t\t\t\tconsole.error(err)\r\n\t\t\t\treturn false\r\n\t\t\t})\r\n\t},\r\n\tgetlistdetails: id => {\r\n\t\treturn API.get(`/DataSetRecords/${id}`)\r\n\t\t\t.then(res => {\r\n\t\t\t\treturn res.data\r\n\t\t\t})\r\n\t\t\t.catch(err => {\r\n\t\t\t\tconsole.error(err)\r\n\t\t\t\treturn false\r\n\t\t\t})\r\n\t},\r\n\tgetListDetailsAdmin: id => {\r\n\t\treturn API.get(`/DataSetRecords/${id}`, { headers: adminHeader })\r\n\t\t\t.then(res => {\r\n\t\t\t\treturn res.data\r\n\t\t\t})\r\n\t\t\t.catch(err => {\r\n\t\t\t\tconsole.error(err)\r\n\t\t\t\treturn false\r\n\t\t\t})\r\n\t},\r\n\tchangePersonRecordStatus: () => { },\r\n\tsendToApprove: (id, invalidAnswers) => {\r\n\t\tconst form = new FormData()\r\n\r\n\t\tinvalidAnswers.forEach(ans => {\r\n\t\t\tform.append(`form[${ans.dbID}][reason]`, ans.reason)\r\n\t\t\tform.append(`form[${ans.dbID}][solution]`, ans.solution)\r\n\t\t\tform.append(`form[${ans.dbID}][periodSolution]`, ans.periodSolution)\r\n\t\t\tform.append(`file[${ans.dbID}]`, ans.file)\r\n\t\t})\r\n\r\n\t\treturn API({\r\n\t\t\turl: `/DataSetRecords/${id}/sendToApprove`,\r\n\t\t\tmethod: 'POST',\r\n\t\t\tdata: form,\r\n\t\t})\r\n\t\t\t.then(res => res)\r\n\t\t\t.catch(err => {\r\n\t\t\t\tconsole.error(err)\r\n\t\t\t\treturn err\r\n\t\t\t})\r\n\t},\r\n\tsendToAdmin: (id, file) => {\r\n\t\tconst form = new FormData()\r\n\t\tform.append('attach', file)\r\n\r\n\r\n\t\treturn API({\r\n\t\t\tmethod: 'POST',\r\n\t\t\turl: `/DataSetReports/${id}/sendToAdmin`,\r\n\t\t\tdata: form,\r\n\t\t})\r\n\t\t\t.then(res => res)\r\n\t\t\t.catch(err => {\r\n\t\t\t\tconsole.error(err)\r\n\t\t\t\treturn err\r\n\t\t\t})\r\n\t},\r\n\tchangeStatusReportHead: (id, status, remark = '') => {\r\n\t\treturn API.post(`/DataSetRecords/${id}/changeStatus/${status}`, { remark })\r\n\t\t\t.then(res => res)\r\n\t\t\t.catch(err => {\r\n\t\t\t\tconsole.error(err)\r\n\t\t\t\treturn err\r\n\t\t\t})\r\n\t},\r\n\tchangeStatusReportHeadAdmin: (\r\n\t\tid,\r\n\t\tstatus,\r\n\t\tsignature = null,\r\n\t\trejectReason = ''\r\n\t) => {\r\n\t\tconst body = {}\r\n\r\n\t\tif (signature) body['signature'] = signature\r\n\r\n\t\tif (\r\n\t\t\trejectReason !== '' &&\r\n\t\t\trejectReason !== null &&\r\n\t\t\trejectReason !== ' ' &&\r\n\t\t\trejectReason !== undefined\r\n\t\t)\r\n\t\t\tbody['rejectReason'] = rejectReason\r\n\r\n\t\treturn API.post(`/DataSetRecords/${id}/changeStatusAdmin/${status}`, body, {\r\n\t\t\theaders: adminHeader,\r\n\t\t})\r\n\t\t\t.then(res => res)\r\n\t\t\t.catch(err => {\r\n\t\t\t\tconsole.error(err)\r\n\t\t\t\treturn err\r\n\t\t\t})\r\n\t},\r\n\tgetCurrentHead: () => {\r\n\t\treturn API.get('/DataSetRecords/currentHead')\r\n\t\t\t.then(res => res)\r\n\t\t\t.catch(err => {\r\n\t\t\t\tconsole.error(err)\r\n\t\t\t\treturn err\r\n\t\t\t})\r\n\t},\r\n\tuploadAdditionalFile: (dataSetRecordHeadID, objFiles = {}) => {\r\n\t\tconst form = new FormData()\r\n\t\tform.append('dataSetRecordHeadID', dataSetRecordHeadID)\r\n\r\n\t\tconst keys = Object.keys(objFiles)\r\n\r\n\t\tkeys.forEach(key => {\r\n\t\t\tconst files = objFiles[key]\r\n\t\t\tfiles.forEach(file => form.append(key, file))\r\n\t\t})\r\n\r\n\t\treturn API({\r\n\t\t\turl: '/DataSetRecords/uploadFile',\r\n\t\t\tmethod: 'POST',\r\n\t\t\tdata: form,\r\n\t\t})\r\n\t\t\t.then(res => res)\r\n\t\t\t.catch(err => {\r\n\t\t\t\tconsole.error(err)\r\n\t\t\t\treturn err\r\n\t\t\t})\r\n\t},\r\n\theadDelete: id => {\r\n\t\treturn API.delete(`/DataSetRecords/head/${id}`)\r\n\t\t\t.then(res => res)\r\n\t\t\t.catch(err => {\r\n\t\t\t\tconsole.error(err)\r\n\t\t\t\treturn err\r\n\t\t\t})\r\n\t},\r\n\tdownloadFile: url => {\r\n\t\treturn API({\r\n\t\t\turl,\r\n\t\t\tmethod: 'GET',\r\n\t\t\tresponseType: 'blob',\r\n\t\t})\r\n\t\t\t.then(res => res)\r\n\t\t\t.catch(err => {\r\n\t\t\t\tconsole.error(err.response)\r\n\t\t\t\treturn err\r\n\t\t\t})\r\n\t},\r\n\r\n\tdownloadExcel: id => {\r\n\t\treturn API({\r\n\t\t\turl: `/DataSetRecords/head/${id}/ExportExcel`,\r\n\t\t\tmethod: 'POST',\r\n\t\t\tresponseType: 'blob',\r\n\t\t})\r\n\t\t\t.then(res => res)\r\n\t\t\t.catch(err => {\r\n\t\t\t\treturn err\r\n\t\t\t})\r\n\t},\r\n}\r\n\r\nexport default datasetRecordAPI\r\n","import API, { adminHeader } from '../config/axios'\r\n\r\nconst datasetReportsAPI = {\r\n\tgetDatasetReports: () => {\r\n\t\treturn API.get('/DataSetReports')\r\n\t\t\t.then(res => res)\r\n\t\t\t.catch(err => {\r\n\t\t\t\tconsole.error(err)\r\n\t\t\t\treturn err\r\n\t\t\t})\r\n\t},\r\n\tapproveDatasetReports: reportID => {\r\n\t\treturn API.post(`/DataSetReports/${reportID}/approve`)\r\n\t\t\t.then(res => {\r\n\t\t\t\treturn true\r\n\t\t\t})\r\n\t\t\t.catch(err => {\r\n\t\t\t\tconsole.error(err)\r\n\t\t\t\treturn err\r\n\t\t\t})\r\n\t},\r\n\tgetUnReportDatasetReportsOperator: () => {\r\n\t\treturn API.get('/DataSetReports/unReportedOperators', {\r\n\t\t\theaders: adminHeader,\r\n\t\t})\r\n\t\t\t.then(res => res)\r\n\t\t\t.catch(err => err)\r\n\t},\r\n\tupdateAdminProcess: (currentDatSetReportID, process) => {\r\n\t\treturn API.put(\r\n\t\t\t`/DataSetReports/${currentDatSetReportID}/updateAdminProcess`,\r\n\t\t\tprocess,\r\n\t\t\t{\r\n\t\t\t\theaders: adminHeader,\r\n\t\t\t}\r\n\t\t)\r\n\t\t\t.then(res => res)\r\n\t\t\t.catch(err => {\r\n\t\t\t\tconsole.error(err)\r\n\t\t\t})\r\n\t},\r\n\tdeleteReport: (reportID) => {\r\n\t\treturn API.delete(\r\n\t\t\t`/DataSetReports/${reportID}`,\r\n\t\t)\r\n\t\t\t.then(res => res)\r\n\t\t\t.catch(err => {\r\n\t\t\t\tconsole.error(err)\r\n\t\t\t\treturn err\r\n\t\t\t})\r\n\t},\r\n\t\r\n}\r\n\r\nexport default datasetReportsAPI\r\n","import API, { adminHeader } from '../config/axios'\r\n\r\nconst operatorsAPI = {\r\n\tgetOrganizationData: () => {\r\n\t\treturn API.get('/Operators/me')\r\n\t\t\t.then(res => res)\r\n\t},\r\n\r\n\r\n\tgetOrganizationDataID: id => {\r\n\t\treturn API.get(`/Operators/${id}`)\r\n\t\t\t.then(res => res)\r\n\t\t\t.catch(err => err)\r\n\t},\r\n\tresetAPIToken: () => {\r\n\t\treturn API.put('/Operators/createAPIToken')\r\n\t\t\t.then(res => res)\r\n\t\t\t.catch(err => err)\r\n\t},\r\n\tgetOperators: () => {\r\n\t\treturn API.get('/Operators', { headers: adminHeader })\r\n\t\t\t.then(res => res)\r\n\t\t\t.catch(err => err)\r\n\t},\r\n\teditOperatorContactInfo: (mobile, email) => {\r\n\t\treturn API.put('/Operators/me', { mobile, email })\r\n\t\t\t.then(res => res)\r\n\t\t\t.catch(err => err)\r\n\t},\r\n\tsearchDBD: (payload) => {\r\n\t\treturn API.post('/Operators/searchDBD', payload)\r\n\t\t\t.then(res => res)\r\n\t\t\t.catch(err => err)\r\n\t},\r\n\tgetOperatorInfoDBD: (payload) => {\r\n\t\tconst { taxno } = payload;\r\n\t\treturn API.post('/Operators/searchDBD', { taxno: taxno })\r\n\t\t\t.then(res => res)\r\n\t},\r\n\tgetOperatorInfo: async (payload) => {\r\n\t\tconst { taxno,branchno } = payload;\r\n\t\tconst form = new FormData()\r\n\t\tform.append('taxNo', taxno)\r\n\t\tform.append('branchNo', branchno)\r\n\t\treturn API({\r\n\t\t\turl: `/Operators/OperatorInfo`,\r\n\t\t\tmethod: 'POST',\r\n\t\t\tdata: form,\r\n\t\t})\r\n\t\t\t.then(res => res)\r\n\t\t\t.catch(err => {\r\n\t\t\t\tconsole.error(err)\r\n\t\t\t\treturn err\r\n\t\t\t})\r\n\t},\r\n\tgetOperatorUserInfo: async (payload) => {\r\n\t\tconst { cardNo } = payload;\r\n\t\tconst form = new FormData()\r\n\t\tform.append('cardNo', cardNo)\r\n\t\treturn API({\r\n\t\t\turl: `/Operators/OperatorUserInfo`,\r\n\t\t\tmethod: 'POST',\r\n\t\t\tdata: form,\r\n\t\t})\r\n\t\t\t.then(res => res)\r\n\t\t\t.catch(err => {\r\n\t\t\t\tconsole.error(err)\r\n\t\t\t\treturn err\r\n\t\t\t})\r\n\t}\r\n}\r\nexport default operatorsAPI\r\n","import API, { adminHeader } from '../config/axios'\r\n\r\nconst adminAPI = {\r\n\tsignin: async (username, password, serviceID) => {\r\n\t\tconst res = await API.post('/Admins/authenticate', {\r\n\t\t\tusername,\r\n\t\t\tpassword,\r\n\t\t\tserviceID,\r\n\t\t})\r\n\r\n\t\tif (res) {\r\n\t\t\tif (res.status === 200) {\r\n\t\t\t\treturn res\r\n\t\t\t} else {\r\n\t\t\t\tconsole.error(res)\r\n\t\t\t\treturn false\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\tme: () => {\r\n\t\treturn API.get('/Admins/me', {\r\n\t\t\theaders: adminHeader,\r\n\t\t}).then(res => res)\r\n\t},\r\n\tgetAdmins: () => {\r\n\t\treturn API.get('/Admins', {\r\n\t\t\theaders: adminHeader,\r\n\t\t})\r\n\t\t\t.then(res => res)\r\n\t\t\t.catch(err => err)\r\n\t},\r\n\tgetAdminRoles: () => {\r\n\t\treturn API.get('/Admins/getRole', {\r\n\t\t\theaders: adminHeader,\r\n\t\t})\r\n\t\t\t.then(res => res)\r\n\t\t\t.catch(err => err)\r\n\t},\r\n\taddAdmin: (adminRoleID, email, firstname, lastname, adminStatusID) => {\r\n\t\treturn API.post(\r\n\t\t\t'/Admins',\r\n\t\t\t{ adminRoleID, email, firstname, lastname, adminStatusID },\r\n\t\t\t{\r\n\t\t\t\theaders: adminHeader,\r\n\t\t\t}\r\n\t\t)\r\n\t},\r\n\teditAdmin: (\r\n\t\tadminID,\r\n\t\tadminRoleID,\r\n\t\temail,\r\n\t\tfirstname,\r\n\t\tlastname,\r\n\t\tadminStatusID\r\n\t) => {\r\n\t\treturn API.put(\r\n\t\t\t`/Admins/${adminID}`,\r\n\t\t\t{ adminRoleID, email, firstname, lastname, adminStatusID },\r\n\t\t\t{\r\n\t\t\t\theaders: adminHeader,\r\n\t\t\t}\r\n\t\t)\r\n\t},\r\n\tdeleteAdmin: adminID => {\r\n\t\treturn API.delete(`/Admins/${adminID}`, {\r\n\t\t\theaders: adminHeader,\r\n\t\t})\r\n\t\t\t.then(res => res)\r\n\t\t\t.catch(err => err)\r\n\t},\r\n}\r\n\r\nexport default adminAPI\r\n","import Axios from 'axios'\r\nimport { API_BASE_END_POINT } from '.'\r\nimport store from '../store'\r\n\r\n// Instance Configuration\r\n\r\nconst instance = Axios.create({ baseURL: 'https://api.ap-southeast-a.apiconnect.ibmappdomain.cloud/nbtc-apigateway/nbtc' })\r\n\r\ninstance.interceptors.request.use(config => {\r\n\tconst appType = store.getState().appModel.app_type\r\n\r\n\tlet token = ''\r\n\tif (appType === 'users') {\r\n\t\ttoken = store.getState().userModel.user\r\n\t\t\t? `Bearer ${store.getState().userModel.user.token}`\r\n\t\t\t: ''\r\n\t}\r\n\telse if (appType === 'admin')\r\n\t\ttoken = store.getState().QoSAdminModel.admin\r\n\t\t\t? `Bearer ${store.getState().QoSAdminModel.admin.token}`\r\n\t\t\t: ''\r\n\telse if (appType === 'sdoc')\r\n\t\ttoken = store.getState().sdocUserModel.userSDOC\r\n\t\t\t? `Bearer ${store.getState().sdocUserModel.userSDOC.token}`\r\n\t\t\t: ''\r\n\telse if (appType === 'sdoc-admin')\r\n\t\ttoken = store.getState().sdocAdminModel.adminSDOC\r\n\t\t\t? `Bearer ${store.getState().sdocAdminModel.adminSDOC.token}`\r\n\t\t\t: ''\r\n\telse if (appType === 'main-admin')\r\n\t\ttoken = store.getState().mainAdminModel.admin\r\n\t\t\t? `Bearer ${store.getState().mainAdminModel.admin.token}`\r\n\t\t\t: ''\r\n\r\n\tconfig.headers.common['Authorization'] = token\r\n\tconfig.headers.common['X-IBM-Client-Id'] = '552ae0956efbab0ebbf72afa71fb89e8'\r\n\r\n\treturn config\r\n})\r\n\r\ninstance.interceptors.response.use(\r\n\tresponse => {\r\n\t\tconst app_type = store.getState().appModel.app_type\r\n\t\tconst userSDOC = store.getState().sdocUserModel.userSDOC\r\n\t\tconst signOutUser = store.getActions().sdocUserModel.signOutUser\r\n\t\tconst expireDate = store.getState().sdocUserModel.userLoginExpireDate\r\n\t\t// alert(expireDate + \" - \" + new Date().getTime())\r\n\t\tif (app_type === 'sdoc') {\r\n\t\t\tif ((expireDate != null) && new Date().getTime() > expireDate) {\r\n\t\t\t\tsignOutUser()\r\n\t\t\t\talert(\"หมดเวลาใช้งาน กรุณาเข้าสู่ระบบใหม่\")\r\n\t\t\t\t.then(() => window.location.href = '/sdoc/sign-in')\r\n\t\t\t}\r\n\t\t\tif(userSDOC !== null && expireDate == null){\r\n\t\t\t\tsignOutUser()\r\n\t\t\t\talert(\"กรุณาเข้าสู่ระบบใหม่\")\r\n\t\t\t\t.then(() => window.location.href = '/sdoc/sign-in')\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn response\r\n\t},\r\n\terror => {\r\n\t\tconst setUser = store.getActions().userModel.set\r\n\t\tconst setAdmin = store.getActions().QoSAdminModel.setAdmin\r\n\t\tconst setSDOCUser = store.getActions().sdocUserModel.setUserSDOC\r\n\t\tconst setSDOCAdmin = store.getActions().sdocAdminModel.setAdminSDOC\r\n\t\tconst app_type = store.getState().appModel.app_type\r\n\r\n\t\tif (error.response.status === 401) {\r\n\t\t\tif (app_type === 'users') setUser(null)\r\n\t\t\telse if (app_type === 'admin') setAdmin(null)\r\n\t\t\telse if (app_type === 'sdoc') setSDOCUser(null)\r\n\t\t\telse if (app_type === 'sdoc-admin') setSDOCAdmin(null)\r\n\t\t\talert('ไม่มีสิทธิใช้งานระบบ')\r\n\t\t}\r\n\r\n\t\t// const expireDate = store.getState().sdocUserModel.expireDate\r\n\t\t// if (expireDate && new Date().getTime() > expireDate) {\r\n\t\t// \tsetSDOCUser(null)\r\n\t\t// \talert('ไม่มีสิทธิใช้งานระบบ')\r\n\t\t// }\r\n\r\n\r\n\r\n\t\treturn Promise.reject(error)\r\n\t}\r\n)\r\n\r\n// Instance Utilities\r\n\r\nexport const adminHeader = {\r\n\t'Admin-Request': 1,\r\n}\r\n\r\nexport default instance\r\n","import { fromUnixTime } from 'date-fns'\r\nimport API from '../config/axios'\r\nimport IBMAPI from '../config/axiosIBM'\r\nconst sDOCAPI = {\r\n\tgetLists: isShowFinished => {\r\n\t\treturn API.get('/SDoc?isShowFinished=' + isShowFinished)\r\n\t\t\t.then(res => res)\r\n\t\t\t.catch(err => {\r\n\t\t\t\tconsole.error(err)\r\n\t\t\t\treturn err\r\n\t\t\t})\r\n\t},\r\n\tgetAllLists: () => {\r\n\t\treturn API.get('/SDoc/All')\r\n\t\t\t.then(res => res)\r\n\t\t\t.catch(err => {\r\n\t\t\t\tconsole.error(err)\r\n\t\t\t\treturn err\r\n\t\t\t})\r\n\t},\r\n\tgetListsApproved: () => {\r\n\t\treturn API.get('/SDoc/Approved')\r\n\t\t\t.then(res => res)\r\n\t\t\t.catch(err => {\r\n\t\t\t\tconsole.error(err)\r\n\t\t\t\treturn err\r\n\t\t\t})\r\n\t},\r\n\tgetListsV2: poa => {\r\n\t\treturn API.get('/SDoc/v2?poa=' + poa)\r\n\t\t\t.then(res => res)\r\n\t\t\t.catch(err => {\r\n\t\t\t\tconsole.error(err)\r\n\t\t\t\treturn err\r\n\t\t\t})\r\n\t},\r\n\tgetListDetail: id => {\r\n\t\treturn API.get(`/SDoc/${id}`)\r\n\t\t\t.then(res => res)\r\n\t\t\t.catch(err => {\r\n\t\t\t\tconsole.error(err)\r\n\t\t\t\treturn err\r\n\t\t\t})\r\n\t},\r\n\tgetListsStatus: () => {\r\n\t\treturn API.get('/SDoc/Status')\r\n\t\t\t.then(res => res)\r\n\t\t\t.catch(err => {\r\n\t\t\t\tconsole.error(err)\r\n\t\t\t\treturn err\r\n\t\t\t})\r\n\t},\r\n\tgetPreviewSDoC: (brandName, productModel, productDescription, owner, items, title) => {\r\n\t\treturn API.post('/Document/PreviewSDoC/', {\r\n\t\t\tbrandName,\r\n\t\t\tproductModel,\r\n\t\t\tproductDescription,\r\n\t\t\towner,\r\n\t\t\titems,\r\n\t\t\ttitle,\r\n\t\t})\r\n\t\t\t.then(res => res)\r\n\t\t\t.catch(err => {\r\n\t\t\t\tconsole.error(err)\r\n\t\t\t\treturn err.response\r\n\t\t\t})\r\n\t},\r\n\taddList: (brandName, productModel, productDescription, owner, items) => {\r\n\t\treturn IBMAPI.post('/SDoc', {\r\n\t\t\tbrandName,\r\n\t\t\tproductModel,\r\n\t\t\tproductDescription,\r\n\t\t\towner,\r\n\t\t\titems,\r\n\t\t})\r\n\t\t\t.then(res => res)\r\n\t\t\t.catch(err => {\r\n\t\t\t\tconsole.error(err)\r\n\t\t\t\treturn err.response\r\n\t\t\t})\r\n\t},\r\n\teditList: (id, brandName, productModel, productDescription, owner, items) => {\r\n\t\treturn IBMAPI.post(`/SDoc/${id}`, {\r\n\t\t\tbrandName,\r\n\t\t\tproductModel,\r\n\t\t\tproductDescription,\r\n\t\t\towner,\r\n\t\t\titems,\r\n\t\t})\r\n\t\t\t.then(res => res)\r\n\t\t\t.catch(err => {\r\n\t\t\t\tconsole.error(err)\r\n\t\t\t\treturn err.response\r\n\t\t\t})\r\n\t},\r\n\tattachAdditionalFiles: async (sDOCID, files, onUploadProgress) => {\r\n\t\tconst CHUNK_SIZE = 1024 * 1024 * 2; // 2MB chunks, adjust as needed\r\n\t\tconst totalFiles = files.length;\r\n\t\tlet totalSize = files.reduce((total, file) => total + file.file.size, 0);\r\n\t\tlet totalUploaded = 0;\r\n\t\tlet fileIndex = 0;\r\n\t\tlet currentChunk = 0;\r\n\t\tlet Response = null;\r\n\t\r\n\t\tconst uploadChunk = async (file, currentChunk, randomSuffix) => {\r\n\t\t\tconst start = file.chunkStart || 0;\r\n\t\t\tconst end = Math.min(start + CHUNK_SIZE, file.file.size);\r\n\t\t\tconst chunk = file.file.slice(start, end);\r\n\t\t\tconst fileExtension = file.file.name.split('.').pop();\r\n\t\t\tconst originalFileName = file.file.name.split('.').slice(0, -1).join('.');\r\n\t\t\tconst modifiedFileName = `${originalFileName}_Rnd${randomSuffix}_File${fileIndex}.${fileExtension}`;\r\n\t\r\n\t\t\tconst formData = new FormData();\r\n\t\t\tformData.append('file', chunk);\r\n\t\t\tformData.append('title', file.name);\r\n\t\t\tformData.append('originalFileName', modifiedFileName);\r\n\t\t\tformData.append('chunkNumber', currentChunk);\r\n\t\t\tformData.append('totalChunks', Math.ceil(file.file.size / CHUNK_SIZE));\r\n\t\r\n\t\t\tconst config = {\r\n\t\t\t\theaders: {\r\n\t\t\t\t\t'Content-Type': 'multipart/form-data',\r\n\t\t\t\t},\r\n\t\t\t\tonUploadProgress: (progressEvent) => {\r\n\t\t\t\t\tconst percentCompleted = Math.round((totalUploaded + progressEvent.loaded) * 100 / totalSize);\r\n\t\t\t\t\tonUploadProgress(percentCompleted);\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\r\n\t\t\ttry {\r\n\t\t\t\tconst response = await IBMAPI.post(`/SDoc/${sDOCID}/attach`, formData, config);\r\n\t\t\t\tfile.chunkStart = end; // Move chunk start point for the next chunk\r\n\t\t\t\ttotalUploaded += end - start;\r\n\t\t\t\tResponse = response;\r\n\t\r\n\t\t\t\tif (end < file.file.size) {\r\n\t\t\t\t\t// Upload next chunk\r\n\t\t\t\t\tawait uploadChunk(file, currentChunk + 1, randomSuffix);\r\n\t\t\t\t}\r\n\t\t\t} catch (error) {\r\n\t\t\t\tconsole.error(error);\r\n\t\t\t\tthrow error;\r\n\t\t\t}\r\n\t\t};\r\n\t\r\n\t\tconst uploadNextFile = async () => {\r\n\t\t\twhile (fileIndex < totalFiles) {\r\n\t\t\t\tconst randomSuffix = Math.floor(Math.random() * 10000); // Generate once per file\r\n\t\t\t\tcurrentChunk = 0;\r\n\t\t\t\tfiles[fileIndex].chunkStart = 0; // Reset chunkStart for each file\r\n\t\t\t\tawait uploadChunk(files[fileIndex], currentChunk, randomSuffix); // Wait for the file to finish uploading\r\n\t\t\t\tfileIndex++;\r\n\t\t\t}\r\n\t\t};\r\n\t\r\n\t\ttry {\r\n\t\t\t// Start uploading the files\r\n\t\t\tawait uploadNextFile();\r\n\t\t\tconsole.log('All files and chunks have been uploaded.');\r\n\t\t\tconsole.log('Responses:', Response);\r\n\t\t\treturn Response;\r\n\t\t} catch (error) {\r\n\t\t\tconsole.error('Error during file upload:', error);\r\n\t\t\treturn error.response;\r\n\t\t}\r\n\t},\t\r\n\r\n\tdeleteAdditionalFile: (sDOCID, fileId) => {\r\n\t\treturn API.delete(`/SDoc/${sDOCID}/attach/${fileId}`)\r\n\t\t\t.then(res => res)\r\n\t\t\t.catch(err => {\r\n\t\t\t\tconsole.error(err)\r\n\t\t\t\treturn err\r\n\t\t\t}\r\n\t\t\t)\r\n\t},\r\n\tdownloadAdditionalFile: (sDOCId, fileId) => {\r\n\t\treturn API.get(`/SDoc/${sDOCId}/attach/${fileId}/download`)\r\n\t\t\t.then(res => res)\r\n\t\t\t.catch(err => err)\r\n\t},\r\n\tbillInquiry: (sDocID) => {\r\n\t\treturn API.put(`/SDoc/${sDocID}/billinquiry`)\r\n\t\t\t.then(res => res)\r\n\t\t\t.catch(err => {\r\n\t\t\t\tconsole.error(err)\r\n\t\t\t\treturn err\r\n\t\t\t})\r\n\t},\r\n\tbillRenew: (sDocID) => {\r\n\t\treturn API.put(`/SDoc/${sDocID}/renewbill`)\r\n\t\t\t.then(res => res)\r\n\t\t\t.catch(err => {\r\n\t\t\t\tconsole.error(err)\r\n\t\t\t\treturn err\r\n\t\t\t})\r\n\t},\r\n\tcancelSDoC: (sDocID) => {\r\n\t\treturn IBMAPI.put(`/SDoc/${sDocID}/cancelSDoC`)\r\n\t\t\t.then(res => res)\r\n\t\t\t.catch(err => {\r\n\t\t\t\tconsole.error(err)\r\n\t\t\t\treturn err\r\n\t\t\t})\r\n\t},\r\n}\r\n\r\nexport default sDOCAPI\r\n","import API from '../config/axios'\r\n\r\nconst sDOCUser = {\r\n\tgetMe: () => {\r\n\t\treturn API.get('/SDocUsers/me')\r\n\t\t\t.then(res => res)\r\n\t\t\t.catch(err => {\r\n\t\t\t\tconsole.error(err)\r\n\t\t\t\treturn err\r\n\t\t\t})\r\n\t},\r\n\tgetMyProfile: async (taxNo) => {\r\n\t\t// console.log(taxNo);\r\n\t\tconst form = new FormData()\r\n\t\tform.append('taxNo', taxNo)\r\n\t\treturn API({\r\n\t\t\turl: `/SDocUsers/profile`,\r\n\t\t\tmethod: 'POST',\r\n\t\t\tdata: form,\r\n\t\t})\r\n\t\t\t.then(res => res)\r\n\t\t\t.catch(err => {\r\n\t\t\t\tconsole.error(err)\r\n\t\t\t\treturn err\r\n\t\t\t})\r\n\t},\r\n\tupdateMyProfile: async (payload) => {\r\n\t\treturn API.post(`/SDocUsers/profile/selfupdate`, payload)\r\n\t\t\t.then(res => res)\r\n\t\t\t.catch(err => {\r\n\t\t\t\tconsole.error(err)\r\n\t\t\t\treturn err\r\n\t\t\t})\r\n\t},\r\n\tupdateOrganization: (payload) => {\r\n\t\treturn API.post(`/SDocUsers/profile/${payload.operatorId}/update`, payload)\r\n\t\t\t.then(res => res)\r\n\t\t\t.catch(err => {\r\n\t\t\t\tconsole.error(err)\r\n\t\t\t\treturn err\r\n\t\t\t}\r\n\t\t\t)\r\n\t},\r\n\tupdateOrganizationV2: (payload) => {\r\n\t\tconsole.log(payload);\r\n\t\treturn API.post(`/SDocUsers/profile/update`, payload)\r\n\t\t\t.then(res => res)\r\n\t\t\t.catch(err => {\r\n\t\t\t\tconsole.error(err)\r\n\t\t\t\treturn err\r\n\t\t\t}\r\n\t\t\t)\r\n\t},\r\n\tgetMeAdmin: () => {\r\n\t\treturn API.get('/SDocAdmins/me')\r\n\t\t\t.then(res => res)\r\n\t\t\t.catch(err => {\r\n\t\t\t\tconsole.error(err)\r\n\t\t\t\treturn err\r\n\t\t\t})\r\n\t},\r\n\taddUser: (firstname, lastname, mobile, nationalIDCardNo, email) => {\r\n\t\treturn API.post('/SDocUsers', {\r\n\t\t\tfirstname,\r\n\t\t\tlastname,\r\n\t\t\tmobile,\r\n\t\t\tnationalIDCardNo,\r\n\t\t\temail,\r\n\t\t})\r\n\t},\r\n\tsignInSDOCUser: async (payload) => {\r\n\t\tconst res = await API.post('/SDocUsers/authenticate', payload)\r\n\r\n\t\tif (res) {\r\n\t\t\tif (res.status === 200) {\r\n\t\t\t\treturn res\r\n\t\t\t} else {\r\n\t\t\t\tconsole.error(res)\r\n\t\t\t\treturn false\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\tsignInSDOCAdmin: async (email, password) => {\r\n\t\tconst res = await API.post('/SDocAdmins/authenticate', {\r\n\t\t\temail,\r\n\t\t\tpassword,\r\n\t\t})\r\n\r\n\t\tif (res) {\r\n\t\t\tif (res.status === 200) {\r\n\t\t\t\treturn res\r\n\t\t\t} else {\r\n\t\t\t\tconsole.error(res)\r\n\t\t\t\treturn false\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\tgetAddressList: () => {\r\n\t\treturn API.get('/SDocUsers/getAddressList')\r\n\t\t\t.then(res => res)\r\n\t\t\t.catch(err => {\r\n\t\t\t\tconsole.error(err)\r\n\t\t\t\treturn err\r\n\t\t\t})\r\n\t},\r\n\tupdateOrganizationInfo: (payload) => {\r\n\t\tconsole.log(payload);\r\n\t\treturn API.post(`/SDocUsers/profile/updateOperatorInfo`, payload)\r\n\t\t\t.then(res => res)\r\n\t\t\t.catch(err => {\r\n\t\t\t\tconsole.error(err)\r\n\t\t\t\treturn err\r\n\t\t\t}\r\n\t\t\t)\r\n\t},\r\n\tupdateOperatorInfoBranch: (payload) => {\r\n\t\tconsole.log(payload);\r\n\t\treturn API.post(`/SDocUsers/profile/updateOperatorInfoBranch`, payload)\r\n\t\t\t.then(res => res)\r\n\t\t\t.catch(err => {\r\n\t\t\t\tconsole.error(err)\r\n\t\t\t\treturn err\r\n\t\t\t}\r\n\t\t\t)\r\n\t},\r\n\tupdateOperatorAgentInfo: (payload) => {\r\n\t\tconsole.log(payload);\r\n\t\treturn API.post(`/SDocUsers/profile/updateOperatorAgentInfo`, payload)\r\n\t\t\t.then(res => res)\r\n\t\t\t.catch(err => {\r\n\t\t\t\tconsole.error(err)\r\n\t\t\t\treturn err\r\n\t\t\t}\r\n\t\t\t)\r\n\t},\r\n}\r\n\r\nexport default sDOCUser\r\n","import API, { adminHeader } from '../config/axios'\r\n\r\nconst sDOCAdmin = {\r\n\t// User API\r\n\tgetMeAdmin: () => {\r\n\t\treturn API.get('/SDocAdmins/me')\r\n\t\t\t.then(res => res)\r\n\t\t\t.catch(err => {\r\n\t\t\t\tconsole.error(err)\r\n\t\t\t\treturn err\r\n\t\t\t})\r\n\t},\r\n\tgetAdminList: () => {\r\n\t\treturn API.get('/SDocAdmins')\r\n\t\t\t.then(res => res)\r\n\t\t\t.catch(err => {\r\n\t\t\t\tconsole.error(err)\r\n\t\t\t\treturn err\r\n\t\t\t})\r\n\t},\r\n\tgetRoleList: () => {\r\n\t\treturn API.get('/SDocAdmins/getRole')\r\n\t\t\t.then(res => res)\r\n\t\t\t.catch(err => {\r\n\t\t\t\tconsole.error(err)\r\n\t\t\t\treturn err\r\n\t\t\t})\r\n\t},\r\n\taddAdmin: (adminRoleID, email, firstname, lastname, adminStatusID) => {\r\n\t\treturn API.post(\r\n\t\t\t'/SDocAdmins',\r\n\t\t\t{\r\n\t\t\t\tadminRoleID,\r\n\t\t\t\temail,\r\n\t\t\t\tfirstname,\r\n\t\t\t\tlastname,\r\n\t\t\t\tadminStatusID,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\theaders: adminHeader,\r\n\t\t\t}\r\n\t\t)\r\n\t\t\t.then(res => res)\r\n\t\t\t.catch(err => {\r\n\t\t\t\tconsole.error(err)\r\n\t\t\t\treturn err\r\n\t\t\t})\r\n\t},\r\n\teditAdmin: (\r\n\t\tadminID,\r\n\t\tadminRoleID,\r\n\t\temail,\r\n\t\tfirstname,\r\n\t\tlastname,\r\n\t\tadminStatusID\r\n\t) => {\r\n\t\treturn API.put(\r\n\t\t\t`/SDocAdmins/${adminID}`,\r\n\t\t\t{\r\n\t\t\t\tadminRoleID,\r\n\t\t\t\temail,\r\n\t\t\t\tfirstname,\r\n\t\t\t\tlastname,\r\n\t\t\t\tadminStatusID,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\theaders: adminHeader,\r\n\t\t\t}\r\n\t\t)\r\n\t\t\t.then(res => res)\r\n\t\t\t.catch(err => {\r\n\t\t\t\tconsole.error(err)\r\n\t\t\t\treturn err\r\n\t\t\t})\r\n\t},\r\n\tdeleteAdmin: adminID => {\r\n\t\treturn API.delete(`/SDocAdmins/${adminID}`)\r\n\t\t\t.then(res => res)\r\n\t\t\t.catch(err => {\r\n\t\t\t\tconsole.error(err)\r\n\t\t\t\treturn err\r\n\t\t\t})\r\n\t},\r\n\r\n\t// SDOC API\r\n\tassignAdmin: (sDocID, adminID) => {\r\n\t\treturn API.put(`/SDoc/${sDocID}/assignAdmin/${adminID}`)\r\n\t\t\t.then(res => res)\r\n\t\t\t.catch(err => {\r\n\t\t\t\tconsole.error(err)\r\n\t\t\t\treturn err\r\n\t\t\t})\r\n\t},\r\n\trequestAddition: (sDocID, remark = '') => {\r\n\t\treturn API.put(`/SDoc/${sDocID}/requestAddition`, { remark })\r\n\t\t\t.then(res => res)\r\n\t\t\t.catch(err => {\r\n\t\t\t\tconsole.error(err)\r\n\t\t\t\treturn err\r\n\t\t\t})\r\n\t},\r\n\trequestModifyInfo: (sDocID, remark = '') => {\r\n\t\treturn API.put(`/SDoc/${sDocID}/requestModifyInfo`, { remark })\r\n\t\t\t.then(res => res)\r\n\t\t\t.catch(err => {\r\n\t\t\t\tconsole.error(err)\r\n\t\t\t\treturn err\r\n\t\t\t})\r\n\t},\r\n\trejectJob: sDocID => {\r\n\t\treturn API.put(`/SDoc/${sDocID}/rejectJob`)\r\n\t\t\t.then(res => res)\r\n\t\t\t.catch(err => {\r\n\t\t\t\tconsole.error(err)\r\n\t\t\t\treturn err\r\n\t\t\t})\r\n\t},\r\n\tapproveSDoc: (sDocID, selectedSignature) => {\r\n\t\treturn API.put(`/SDoc/${sDocID}/approve`, {\r\n\t\t\tsignatureID: selectedSignature,\r\n\t\t})\r\n\t\t\t.then(res => res)\r\n\t\t\t.catch(err => {\r\n\t\t\t\tconsole.error(err)\r\n\t\t\t})\r\n\t},\r\n\tdenySDoc: (sDocID, remark = '') => {\r\n\t\treturn API.put(`/SDoc/${sDocID}/deny`, { remark })\r\n\t\t\t.then(res => res)\r\n\t\t\t.catch(err => {\r\n\t\t\t\tconsole.error(err)\r\n\t\t\t\treturn err\r\n\t\t\t})\r\n\t},\r\n\tsendToIssue: sDocID => {\r\n\t\treturn API.put(`/SDoc/${sDocID}/sendToIssue`)\r\n\t\t\t.then(res => res)\r\n\t\t\t.catch(err => {\r\n\t\t\t\tconsole.error(err)\r\n\t\t\t\treturn err\r\n\t\t\t})\r\n\t},\r\n\tdenyCheckerSDoc: (sDocID, remark = '') => {\r\n\t\treturn API.put(`/SDoc/${sDocID}/denyChecker`, { remark })\r\n\t\t\t.then(res => res)\r\n\t\t\t.catch(err => {\r\n\t\t\t\tconsole.error(err)\r\n\t\t\t\treturn err\r\n\t\t\t})\r\n\t},\r\n\tchangeFileLockStatus: (fileID) => {\r\n\t\treturn API.put(`/SDoc/changeFileLockStatus/${fileID}`)\r\n\t\t\t.then(res => res)\r\n\t\t\t.catch(err => {\r\n\t\t\t\tconsole.error(err)\r\n\t\t\t\treturn err\r\n\t\t\t})\r\n\t},\r\n\tupdateCustomerInfo: (sDocID) => {\r\n\t\treturn API.post(`/SDoc/UpdateCustomerInfo/${sDocID}`)\r\n\t\t\t.then(res => res)\r\n\t\t\t.catch(err => {\r\n\t\t\t\tconsole.error(err)\r\n\t\t\t\treturn err\r\n\t\t\t})\r\n\t},\r\n\tbillResent: (sDocID) => {\r\n\t\treturn API.put(`/SDoc/${sDocID}/resentbill`)\r\n\t\t\t.then(res => res)\r\n\t\t\t.catch(err => {\r\n\t\t\t\tconsole.error(err)\r\n\t\t\t\treturn err\r\n\t\t\t})\r\n\t},\r\n\tbackToPreapprove: (sDocID) => {\r\n\t\treturn API.post(`/SDoc/${sDocID}/backToPreapprove`)\r\n\t\t\t.then(res => res)\r\n\t\t\t.catch(err => {\r\n\t\t\t\tconsole.error(err)\r\n\t\t\t\treturn err\r\n\t\t\t})\r\n\t},\r\n\trepairCredential: (sDocID) => {\r\n\t\treturn API.put(`/SDoc/${sDocID}/repairCredential`)\r\n\t\t\t.then(res => res)\r\n\t\t\t.catch(err => {\r\n\t\t\t\tconsole.error(err)\r\n\t\t\t\treturn err\r\n\t\t\t})\r\n\t},\r\n\tgetTableauTicket: () => {\r\n\t\treturn API.get(`/SDoc/TableauAuth`)\r\n\t\t\t.then(res => res)\r\n\t\t\t.catch(err => {\r\n\t\t\t\tconsole.error(err)\r\n\t\t\t\treturn err\r\n\t\t\t})\r\n\t},\r\n\r\n\t// adminGetInvoce: sDocID => {\r\n\t// \treturn API.get(`/SDoc/${sDocID}/AdminGetInvoice`)\r\n\t// \t\t.then(res => res)\r\n\t// \t\t.catch(err => {\r\n\t// \t\t\tconsole.error(err)\r\n\t// \t\t\treturn err\r\n\t// \t\t})\r\n\t// }\r\n\tgetPOAList: () => {\r\n\t\treturn API.get('/SDocAdmins/getPOAList')\r\n\t\t\t.then(res => res)\r\n\t\t\t.catch(err => {\r\n\t\t\t\tconsole.error(err)\r\n\t\t\t\treturn err\r\n\t\t\t})\r\n\t}\r\n}\r\n\r\nexport default sDOCAdmin\r\n","const getBase64 = file => {\r\n\treturn new Promise(resolve => {\r\n\t\tlet baseURL = ''\r\n\t\t// Make new FileReader\r\n\t\tlet reader = new FileReader()\r\n\t\tconsole.log('typeof file',typeof file)\r\n\t\tif(typeof file === 'string'){\r\n\t\t\tresolve(null)\r\n\t\t}\r\n\t\t// Convert the file to base64 text\r\n\t\treader.readAsDataURL(file)\r\n\r\n\t\t// on reader load somthing...\r\n\t\treader.onload = e => {\r\n\t\t\t// Make a fileInfo Object\r\n\t\t\tbaseURL = e.target.result\r\n\t\t\tresolve(baseURL)\r\n\t\t}\r\n\t})\r\n}\r\n\r\nexport default getBase64\r\n","import API from '../config/axios'\r\nimport getBase64 from 'utils/getBase64'\r\n\r\nconst adminQoSAPI = {\r\n\tldapAuth: username => {\r\n\t\treturn API.post('/Admins/ldapAuth', {\r\n\t\t\tusername,\r\n\t\t})\r\n\t\t\t.then(res => res)\r\n\t\t\t.catch(err => err)\r\n\t},\r\n\tgetSignature: () => {\r\n\t\treturn API.get('/Admins/SignatureAdmin').then(res => res.data)\r\n\t},\r\n\taddAdmin: async ({\r\n\t\tusername,\r\n\t\tadminRoleID,\r\n\t\tadminRoleIDSDoc,\r\n\t\tadminRoleIDCentralAdmin,\r\n\t\temail,\r\n\t\tprefixname,\r\n\t\tposition,\r\n\t\tadminStatusID,\r\n\t\tsignature,\r\n\t\tmobile,\r\n\t}) => {\r\n\t\tconst body = {\r\n\t\t\tusername,\r\n\t\t\temail,\r\n\t\t\tprefixname,\r\n\t\t\tqosRoleID: adminRoleID === 'no-permission' ? null : adminRoleID,\r\n\t\t\tsDocRoleID: adminRoleIDSDoc === 'no-permission' ? null : adminRoleIDSDoc,\r\n\t\t\tadminRoleID:\r\n\t\t\t\tadminRoleIDCentralAdmin === 'no-permission'\r\n\t\t\t\t\t? null\r\n\t\t\t\t\t: adminRoleIDCentralAdmin,\r\n\t\t\tadminStatusID,\r\n\t\t\tposition,\r\n\t\t\tsignature: signature ? await getBase64(signature) : null,\r\n\t\t\tmobile,\r\n\t\t}\r\n\r\n\t\treturn API.post('/Admins/storeV2', body)\r\n\t\t\t.then(res => {\r\n\t\t\t\treturn res\r\n\t\t\t})\r\n\t\t\t.catch(err => {\r\n\t\t\t\tconsole.log('err', err)\r\n\t\t\t\treturn false\r\n\t\t\t})\r\n\t},\r\n\teditAdmin: async ({\r\n\t\tusername,\r\n\t\temail,\r\n\t\tprefixname,\r\n\t\tadminId,\r\n\t\tadminRoleID,\r\n\t\tadminRoleIDSDoc,\r\n\t\tadminRoleIDCentralAdmin,\r\n\t\tadminStatusID,\r\n\t\tposition,\r\n\t\tsignature,\r\n\t\tmobile,\r\n\t}) => {\r\n\t\tconst body = {\r\n\t\t\tusername,\r\n\t\t\temail,\r\n\t\t\tprefixname,\r\n\t\t\tadminStatusID,\r\n\t\t\tposition,\r\n\t\t\tmobile: mobile ?? '',\r\n\t\t\tsignature: signature ? await getBase64(signature) : null,\r\n\t\t}\r\n\r\n\t\tif (adminRoleID !== 'no-permission') {\r\n\t\t\tbody['qosRoleID'] = adminRoleID\r\n\t\t}\r\n\r\n\t\tif (adminRoleIDSDoc !== 'no-permission') {\r\n\t\t\tbody['sDocRoleID'] = adminRoleIDSDoc\r\n\t\t}\r\n\r\n\t\tif (adminRoleIDCentralAdmin !== 'no-permission') {\r\n\t\t\tbody['adminRoleID'] = adminRoleIDCentralAdmin\r\n\t\t}\r\n\r\n\t\treturn API.put(`/Admins/${adminId}`, body)\r\n\t\t\t.then(res => {\r\n\t\t\t\treturn res\r\n\t\t\t})\r\n\t\t\t.catch(err => {\r\n\t\t\t\tconsole.log('err', err)\r\n\t\t\t\treturn false\r\n\t\t\t})\r\n\t},\r\n}\r\n\r\nexport default adminQoSAPI\r\n","import API from 'config/axios'\r\n\r\nconst DashboardAPI = {\r\n\tgetDashboardStat: () => {\r\n\t\treturn API.get('/stat/dashboard-admin')\r\n\t\t\t.then(res => res)\r\n\t\t\t.catch(err => {\r\n\t\t\t\tconsole.error(err)\r\n\t\t\t\treturn false\r\n\t\t\t})\r\n\t},\r\n}\r\n\r\nexport default DashboardAPI\r\n","import { action, thunk } from 'easy-peasy'\r\nimport { auth, users } from '../../../api/index'\r\n\r\nexport const userModel = {\r\n\t// States\r\n\tuser: null,\r\n\tuserFromServicePortal: null,\r\n\tuserOperatorProfile: null,\r\n\tservicePortalToken: null,\r\n\tformPermissionType: null,\r\n\t// Setters\r\n\tset: action((state, user) => {\r\n\t\tstate.user = user\r\n\t}),\r\n\tsetServicePortalToken: action((state, token) => {\r\n\t\tstate.servicePortalToken = token\r\n\t}),\r\n\tsetFormPermissionType: action((state, permission) => {\r\n\t\tstate.formPermissionType = permission\r\n\t}),\r\n\tsetUserFromServicePortal: action((state, payload) => {\r\n\t\tstate.userFromServicePortal = payload\r\n\t}),\r\n\tsetUserOperatorProfile: action((state, userOpeProfile) => {\r\n\t\tstate.userOperatorProfile = userOpeProfile\r\n\t}),\r\n\t// Custom Function\r\n\tsignin: thunk(async (actions, payloads) => {\r\n\t\tconst res = await auth.signin(payloads)\r\n\t\tif (res && res.status === 200) {\r\n\t\t\tactions.set(res.data)\r\n\t\t\treturn res.data;\r\n\t\t}\r\n\t}),\r\n\tsigninQosWithRegisterCompany: thunk(async (actions, payloads) => {\r\n\t\tawait auth.signinQosWithRegisterCompany(payloads).then(res => {\r\n\t\t\tif (res && res.status === 200) {\r\n\t\t\t\tactions.set(res.data)\r\n\t\t\t\treturn res.data;\r\n\t\t\t} else {\r\n\t\t\t\tconsole.error(\"signinQosWithRegisterCompany error\")\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t}),\r\n\r\n\r\n\tidentify: thunk(async (actions, payloads) => {\r\n\t\tconst { _token } = payloads;\r\n\t\tconst res = await auth.identify(_token)\r\n\t\tif (res && res.status === 200) {\r\n\r\n\t\t\tactions.setUserFromServicePortal(res.data)\r\n\t\t\treturn res.data;\r\n\t\t}\r\n\t}),\r\n\r\n\r\n\tgetUserOperatorProfile: thunk(async actions => {\r\n\t\tconst res = await users.getMyProfile()\r\n\t\tif (res) {\r\n\t\t\tactions.setUserOperatorProfile(res.data)\r\n\t\t}\r\n\t}),\r\n\tregistration: thunk(\r\n\t\tasync (\r\n\t\t\tactions,\r\n\t\t\tpayload\r\n\t\t) => {\r\n\t\t\tconst { citizenID,\r\n\t\t\t\tphoneNumber,\r\n\t\t\t\temail,\r\n\t\t\t\tfirstname,\r\n\t\t\t\tlastname,\r\n\t\t\t\tcompanyID } = payload;\r\n\t\t\tconst res = await auth.register(\r\n\t\t\t\tcitizenID,\r\n\t\t\t\tphoneNumber,\r\n\t\t\t\temail,\r\n\t\t\t\tfirstname,\r\n\t\t\t\tlastname,\r\n\t\t\t\tcompanyID\r\n\t\t\t)\r\n\t\t\treturn res\r\n\t\t}\r\n\t),\r\n}\r\n","import { action, thunk } from 'easy-peasy'\r\nimport { admin } from '../../../api/index'\r\n\r\nexport const QoSAdminModel = {\r\n\t// States\r\n\tadmin: null,\r\n\tadminProfile: null,\r\n\t// Setters\r\n\tsetAdmin: action((state, admin) => {\r\n\t\tstate.admin = admin\r\n\t}),\r\n\tsetAdminProfile: action((state, adminProfile) => {\r\n\t\tstate.adminProfile = adminProfile\r\n\t}),\r\n\t// Custom Function\r\n\tQoSAdminSignIn: thunk(async (actions, { username, password }) => {\r\n\t\tconst res = await admin.signin(username, password, 1)\r\n\r\n\t\tconsole.log('res admin sign in', res)\r\n\r\n\t\tif (res && res?.status === 200) {\r\n\t\t\tactions.setAdmin(res.data)\r\n\t\t\tactions.getAdminProfile()\r\n\t\t}\r\n\t}),\r\n\tadminSignout: thunk(actions => {\r\n\t\tactions.setAdmin(null)\r\n\t}),\r\n\tgetAdminProfile: thunk(async actions => {\r\n\t\tconst res = await admin.me()\r\n\t\tif (res && res?.status === 200) {\r\n\t\t\tactions.setAdminProfile(res.data)\r\n\t\t}\r\n\t}),\r\n}\r\n","import { action, thunk } from 'easy-peasy'\r\nimport { admin, dashboard } from '../../../api'\r\n\r\nexport const mainAdmin = {\r\n\tadmin: null,\r\n\tadminStat: {\r\n\t\tstat1: 0,\r\n\t\tstat2: 0,\r\n\t\tstat3: 0,\r\n\t\tstat4: 0,\r\n\t},\r\n\tadminOperator: {\r\n\t\tope1: 0,\r\n\t\tope2: 0,\r\n\t\tope3: 0,\r\n\t},\r\n\tsetAdmin: action((state, admin) => {\r\n\t\tstate.admin = admin\r\n\t}),\r\n\tsetAdminStat: action((state, stat) => {\r\n\t\tstate.adminStat = stat\r\n\t}),\r\n\tsetAdminOperator: action((state, stat) => {\r\n\t\tstate.adminOperator = stat\r\n\t}),\r\n\tsignin: thunk(async (actions, { username, password }) => {\r\n\t\tconst res = await admin.signin(username, password, 3)\r\n\t\tif (res && res.status === 200) {\r\n\t\t\tactions.setAdmin(res.data)\r\n\t\t}\r\n\t}),\r\n\tgetAdminDashboardStat: thunk(async actions => {\r\n\t\tconst res = await dashboard.getDashboardStat()\r\n\t\tif (res && res.status === 200) {\r\n\t\t\tconst { data, ope } = res.data\r\n\r\n\t\t\tactions.setAdminStat(data)\r\n\t\t\tactions.setAdminOperator(ope)\r\n\t\t}\r\n\t}),\r\n}\r\n","import { thunk, action } from 'easy-peasy'\r\nimport { admin } from '../../../api/index'\r\n\r\nexport const sdocAdminModel = {\r\n\tadminSDOC: null,\r\n\tadminMESDOC: null,\r\n\tsetAdminSDOC: action((state, adminSDOC) => {\r\n\t\tstate.adminSDOC = adminSDOC\r\n\t}),\r\n\tsetAdminMeSDOC: action((state, adminMESDOC) => {\r\n\t\tstate.adminMESDOC = adminMESDOC;\r\n\t}),\r\n\tsignInAdmin: thunk(async (actions, { username, password }) => {\r\n\t\tconst res = await admin.signin(username, password, 2)\r\n\r\n\t\tif (res && res.status === 200) {\r\n\t\t\tconst response = res.data\r\n\t\t\tactions.setAdminSDOC(response)\r\n\t\t\tactions.getAdminProfile()\r\n\t\t}\r\n\t}),\r\n\tsignOutAdmin: thunk(actions => {\r\n\t\tactions.setAdminSDOC(null)\r\n\t}),\r\n\tgetAdminProfile: thunk(async actions => {\r\n\t\tconst res = await admin.me()\r\n\t\tif (res && res.status === 200) {\r\n\t\t\tactions.setAdminMeSDOC(res.data)\r\n\t\t}\r\n\t}),\r\n}\r\n","import { thunk, action } from 'easy-peasy'\r\nimport { sdocUser } from '../../../api/index'\r\n\r\nexport const sdocUserModel = {\r\n\tuserSDOC: null,\r\n\tuserMESDOC: null,\r\n\tuserLoginExpireDate: null,\r\n\tsetUserSDOC: action((state, userSDOC) => {\r\n\t\tstate.userSDOC = userSDOC\r\n\t\tif (state.userSDOC != null)\r\n\t\t\tstate.userLoginExpireDate = new Date().getTime() + 3600000 * 8\r\n\t\telse\r\n\t\t\tstate.userLoginExpireDate = null\r\n\t}),\r\n\tsetUserMeSDOC: action((state, userMESDOC) => {\r\n\t\tstate.userMESDOC = userMESDOC\r\n\t}),\r\n\tsignInUser: thunk(async (actions, payload) => {\r\n\t\tconst res = await sdocUser.signInSDOCUser(payload)\r\n\t\tif (res && res.status === 200) {\r\n\t\t\tconst response = res.data\r\n\t\t\tactions.setUserSDOC(response)\r\n\t\t\tactions.getUserProfile()\r\n\r\n\t\t\treturn response\r\n\t\t}\r\n\t}),\r\n\tsignOutUser: thunk(actions => {\r\n\t\tactions.setUserSDOC(null)\r\n\t\tactions.setUserMeSDOC(null)\r\n\t}),\r\n\tgetUserProfile: thunk(async actions => {\r\n\t\tconst res = await sdocUser.getMe()\r\n\t\tif (res && res.status === 200) {\r\n\t\t\tactions.setUserMeSDOC(res.data)\r\n\t\t}\r\n\t}),\r\n}\r\n","import { action, thunk } from 'easy-peasy'\r\nimport { operators } from '../../../api/index'\r\n\r\nexport const operatorModel = {\r\n\t// States\r\n\tuser: null,\r\n\t// Setters\r\n\tset: action((state, user) => {\r\n\t\tstate.user = user\r\n\t}),\r\n\r\n\t// Custom Function\r\n\tsearchOperatorDBD: thunk(async (actions, payloads) => {\r\n\t\tconst res = await operators.searchDBD(payloads)\r\n\t\tif (res && res.status === 200) {\r\n\t\t\treturn res.data\r\n\t\t}\r\n\t}),\r\n}\r\n","import { action } from 'easy-peasy'\r\nexport const poaModel = {\r\n\t// States\r\n\tdata: null,\r\n\tdataDBD:null,\r\n\tselected:null,\r\n\t// Setters\r\n\tsetData: action((state, data) => {\r\n\t\tstate.data = data\r\n\t}),\r\n\tsetDataDBD: action((state, data) => {\r\n\t\tstate.dataDBD = data\r\n\t}),\r\n\t\r\n\tsetSelected: action((state, data) => {\r\n\t\tstate.selected = data\r\n\t}),\r\n\r\n\t\r\n}\r\n","import { action } from 'easy-peasy'\r\n\r\nexport const appModel = {\r\n\t// States\r\n\tsidebar: false,\r\n\tapp_type: null,\r\n\t// Function\r\n\tsetSideBar: action((state, isClose) => {\r\n\t\tstate.sidebar = isClose\r\n\t}),\r\n\tsetAppType: action((state, appType) => {\r\n\t\tstate.app_type = appType\r\n\t}),\r\n}\r\n","import { persist } from 'easy-peasy'\r\n\r\nimport { userModel } from './user/index'\r\nimport { QoSAdminModel } from './admin-qos'\r\nimport { mainAdmin } from './main-admin'\r\nimport { sdocAdminModel } from './sdoc-admin'\r\nimport { sdocUserModel } from './sdoc-user'\r\nimport { operatorModel } from './operator'\r\nimport { poaModel } from './poa'\r\nimport { appModel } from './app-state'\r\n\r\nexport const storeModel = persist(\r\n\t{\r\n\t\tuserModel: userModel,\r\n\t\tQoSAdminModel: QoSAdminModel,\r\n\t\tmainAdminModel: mainAdmin,\r\n\t\tappModel: appModel,\r\n\t\tsdocAdminModel: sdocAdminModel,\r\n\t\tsdocUserModel: sdocUserModel,\r\n\t\tpoa: poaModel,\r\n\t\toperatorModel: operatorModel,\r\n\t},\r\n\t{\r\n\t\tallow: [\r\n\t\t\t'userModel',\r\n\t\t\t'QoSAdminModel',\r\n\t\t\t'mainAdminModel',\r\n\t\t\t'appModel',\r\n\t\t\t'sdocAdminModel',\r\n\t\t\t'sdocUserModel',\r\n\t\t],\r\n\t\tstorage: 'localStorage',\r\n\t}\r\n)\r\n","import { createStore, createTypedHooks, useStoreRehydrated } from 'easy-peasy'\r\nimport { storeModel } from './models/index'\r\n\r\nconst { useStoreDispatch, useStoreActions, useStoreState } = createTypedHooks()\r\nexport { useStoreActions, useStoreDispatch, useStoreState, useStoreRehydrated }\r\n\r\nconst store = createStore(storeModel, {name: 'nbtc-qos' })\r\n\r\nexport default store\r\n","import { useState, useEffect } from 'react'\r\n\r\nexport const useLoaded = () => {\r\n\tconst [loaded, setLoaded] = useState(false)\r\n\tuseEffect(() => setLoaded(true), [setLoaded])\r\n\treturn loaded\r\n}\r\n","import {\r\n\tDrawer,\r\n\tList,\r\n\tListItem,\r\n\tListItemIcon,\r\n\tListItemText,\r\n\tHidden,\r\n\tGrid,\r\n\tDivider,\r\n\tTypography,\r\n\tBadge,\r\n} from '@material-ui/core'\r\nimport {\r\n\tDescription,\r\n\tSupervisedUserCircle,\r\n\tKeyboardArrowLeft,\r\n\tKeyboardArrowRight,\r\n\tPageview,\r\n\tRecentActors,\r\n\tDashboard,\r\n\tExitToApp,\r\n\tAssignmentTurnedIn,\r\n\tAssignmentLate,\r\n\tAccountCircle,\r\n\tStorage,\r\n\tHome,\r\n\tGetApp,\r\n\tMenuBook,\r\n} from '@material-ui/icons'\r\nimport { makeStyles, useTheme } from '@material-ui/core/styles'\r\n\r\nimport { useMemo } from 'react'\r\nimport { Link, useLocation, useHistory } from 'react-router-dom'\r\nimport { useStoreState, useStoreActions } from '../store'\r\nimport { useLoaded } from '../utils/useLoaded'\r\nimport { useAppTypePath } from '../utils/useAppTypePath'\r\nimport { auth } from '../api'\r\n\r\nconst drawerWidth = 300\r\nconst useStyles = makeStyles(theme => ({\r\n\troot: {\r\n\t\tdisplay: 'flex',\r\n\t},\r\n\tdrawer: {\r\n\t\t[theme.breakpoints.up('md')]: {\r\n\t\t\twidth: drawerWidth,\r\n\t\t\tflexShrink: 0,\r\n\t\t\twhiteSpace: 'nowrap',\r\n\t\t},\r\n\t},\r\n\tdrawerClose: {\r\n\t\t[theme.breakpoints.up('md')]: {\r\n\t\t\twidth: 50,\r\n\t\t\tflexShrink: 0,\r\n\t\t\twhiteSpace: 'nowrap',\r\n\t\t},\r\n\t},\r\n\tappBar: {\r\n\t\t[theme.breakpoints.up('sm')]: {\r\n\t\t\twidth: `calc(100% - ${drawerWidth}px)`,\r\n\t\t\tmarginLeft: drawerWidth,\r\n\t\t},\r\n\t},\r\n\tmenuButton: {\r\n\t\tmarginRight: theme.spacing(2),\r\n\t\t[theme.breakpoints.up('sm')]: {\r\n\t\t\tdisplay: 'none',\r\n\t\t},\r\n\t},\r\n\ttoolbar: theme.mixins.toolbar,\r\n\tdrawerMobile: {\r\n\t\twidth: drawerWidth,\r\n\t},\r\n\tdrawerPaperOpen: {\r\n\t\twidth: drawerWidth,\r\n\t\ttransition: theme.transitions.create('width', {\r\n\t\t\teasing: theme.transitions.easing.sharp,\r\n\t\t\tduration: theme.transitions.duration.enteringScreen,\r\n\t\t}),\r\n\t\toverflowX: 'hidden',\r\n\t},\r\n\tdrawerPaperClose: {\r\n\t\ttransition: theme.transitions.create('width', {\r\n\t\t\teasing: theme.transitions.easing.sharp,\r\n\t\t\tduration: theme.transitions.duration.leavingScreen,\r\n\t\t}),\r\n\t\toverflowX: 'hidden',\r\n\t\twidth: theme.spacing(7) + 1,\r\n\t\t[theme.breakpoints.up('sm')]: {\r\n\t\t\twidth: theme.spacing(8) + 1,\r\n\t\t},\r\n\t},\r\n\tcontent: {\r\n\t\tflexGrow: 1,\r\n\t\tpadding: theme.spacing(3),\r\n\t},\r\n\ticonSelected: {\r\n\t\tcolor: '#a74345',\r\n\t},\r\n\ticonUnSelected: {\r\n\t\tcolor: '#9BA7B7',\r\n\t},\r\n\ttextSelected: {\r\n\t\tcolor: '#a74345',\r\n\t},\r\n\ttextUnSelected: {\r\n\t\tcolor: '5E5E5E',\r\n\t},\r\n\tlistItemSelected: {\r\n\t\tbackgroundColor: '#F4F4F5',\r\n\t},\r\n\tnbtc: {\r\n\t\tcolor: '#A52B28',\r\n\t\tfontSize: '10px',\r\n\t},\r\n\tversionNumber: {\r\n\t\ttextAlign: 'center',\r\n\t\tposition: 'absolute',\r\n\t\twidth: '100%',\r\n\t\tbottom: '10px',\r\n\t},\r\n\tcustomBadge: {\r\n\t\tbackgroundColor: '#00AFD7',\r\n\t},\r\n\tnormalStatusBadge: {\r\n\t\tbackgroundColor: '#d71600',\r\n\t},\r\n\tlateStatusBadge: {\r\n\t\tbackgroundColor: '#56d700',\r\n\t},\r\n}))\r\n\r\n/**\r\n * USER Authorization:\r\n * 1) (1) no `standard-report` and `standard-report-validation`, but `organization-user`\r\n * 2) (2) no `standard-report-validation` and `organization-user`, but `standard-report`\r\n * 3) (3) no `standard-report` and `organization-user`, but `standard-report-validation`\r\n */\r\n\r\n/**\r\n * ADMIN Authorization:\r\n * (temporary): every roles can see every pages except `admin-user` for (1)\r\n */\r\n\r\nexport default function SideBar({\r\n\tchildren,\r\n\tmobileOpen,\r\n\thandleDrawerToggle,\r\n\tisClose,\r\n\tonClose,\r\n}) {\r\n\tconst classes = useStyles()\r\n\tconst theme = useTheme()\r\n\tconst location = useLocation()\r\n\tconst history = useHistory()\r\n\tconst user = useStoreState(s => s.userModel.user)\r\n\tconst { adminMESDOC } = useStoreState(s => s.sdocAdminModel)\r\n\tconst adminSignOut = useStoreActions(a => a.QoSAdminModel.adminSignout)\r\n\tconst userSDOCSignOut = useStoreActions(a => a.sdocUserModel.signOutUser)\r\n\tconst adminSDOCSignOut = useStoreActions(a => a.sdocAdminModel.signOutAdmin)\r\n\tconst { appTypePath } = useAppTypePath()\r\n\tconst loaded = useLoaded()\r\n\r\n\tconst sdocAdminRoleId = useMemo(() => adminMESDOC?.roleID, [adminMESDOC])\r\n\r\n\t// App Types\r\n\tconst app_type = useStoreState(s => s.appModel.app_type)\r\n\r\n\tfunction isSelected(path) {\r\n\t\treturn location.pathname === path\r\n\t}\r\n\r\n\tfunction onSignOut() {\r\n\t\tif (app_type === 'users') {\r\n\t\t\tauth.signout()\r\n\t\t\thistory.push('/sign-in')\r\n\t\t} else if (app_type === 'admin') {\r\n\t\t\tadminSignOut()\r\n\t\t\thistory.push('/admin/sign-in')\r\n\t\t} else if (app_type === 'sdoc') {\r\n\t\t\tuserSDOCSignOut()\r\n\t\t\thistory.push('/sdoc/sign-in')\r\n\t\t} else if (app_type === 'sdoc-admin') {\r\n\t\t\tadminSDOCSignOut()\r\n\t\t\thistory.push('/admin/sdoc/sign-in')\r\n\t\t} else if (app_type === 'main-admin') {\r\n\t\t\thistory.push('/main-admin/sign-in')\r\n\t\t}\r\n\t}\r\n\r\n\treturn (\r\n\t\tloaded && (\r\n\t\t\t
\r\n\t\t\t\t{/* -------------------------------USER SIDEBAR------------------------------- */}\r\n\r\n\t\t\t\t{/* Mobile */}\r\n\t\t\t\t{app_type === 'users' && (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t\t\t\t\tpathname: `${appTypePath}/`,\r\n\t\t\t\t\t\t\t\t\t\t\tstate: location.state,\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t}}>\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{/* ผู้เตรียมข้อมูล */}\r\n\t\t\t\t\t\t\t\t{(user?.roleID === 2 || user?.roleID === 1) && (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t{/* ผู้เตรียมข้อมูล */}\r\n\t\t\t\t\t\t\t\t{(user?.roleID === 3 || user?.roleID === 1) && (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t\t\t\t\tpathname: `${appTypePath}/organization`,\r\n\t\t\t\t\t\t\t\t\t\t\tstate: location.state,\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t}}>\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{/* ผู้ควบคุม */}\r\n\t\t\t\t\t\t\t\t{user?.roleID === 1 && (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t\t{/* Desktop */}\r\n\t\t\t\t{app_type === 'users' && (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tQoS\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{/* ผู้เตรียมข้อมูล */}\r\n\t\t\t\t\t\t\t\t{user && (user.roleID === 2 || user.roleID === 1) && (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t{/* ผู้อนุมัติการส่งข้อมูล */}\r\n\t\t\t\t\t\t\t\t{(user?.roleID === 3 || user?.roleID === 1) && (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{/* ผู้ควบคุม */}\r\n\t\t\t\t\t\t\t\t{user?.roleID === 1 && (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{user?.roleID !== 2 && (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)}\r\n\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{isClose ? (\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\tv.{process.env.REACT_APP_VERSION}\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\r\n\t\t\t\t{/* -------------------------------USER SIDEBAR------------------------------- */}\r\n\r\n\t\t\t\t{/* -------------------------------ADMIN SIDEBAR------------------------------- */}\r\n\r\n\t\t\t\t{/* Mobile */}\r\n\t\t\t\t{app_type === 'main-admin'}\r\n\r\n\t\t\t\t{app_type === 'admin' && (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tAdmin\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{/* ผู้ควบคุม */}\r\n\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t\t{/* Desktop */}\r\n\t\t\t\t{app_type === 'main-admin' && (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tAdmin\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{isClose ? (\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\tv.{process.env.REACT_APP_VERSION}\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\r\n\t\t\t\t{app_type === 'admin' && (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tAdmin\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\r\n\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{isClose ? (\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\tv.{process.env.REACT_APP_VERSION}\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\r\n\t\t\t\t{/* -------------------------------ADMIN SIDEBAR------------------------------- */}\r\n\r\n\t\t\t\t{/* -------------------------------SDOC USER SIDEBAR------------------------------- */}\r\n\r\n\t\t\t\t{/* Mobile */}\r\n\t\t\t\t{app_type === 'sdoc' && (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t\t{/* Desktop */}\r\n\t\t\t\t{app_type === 'sdoc' && (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tSDoc\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{isClose ? (\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\tv.{process.env.REACT_APP_VERSION}\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\r\n\t\t\t\t{/* -------------------------------SDOC USER SIDEBAR------------------------------- */}\r\n\r\n\t\t\t\t{/* -------------------------------SDOC ADMIN SIDEBAR------------------------------- */}\r\n\r\n\t\t\t\t{/* Mobile */}\r\n\t\t\t\t{app_type === 'sdoc-admin' && (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\r\n\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t\t{/* Desktop */}\r\n\t\t\t\t{app_type === 'sdoc-admin' && (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\r\n\r\n\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{isClose ? (\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\tv.{process.env.REACT_APP_VERSION}\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\r\n\t\t\t\t{/* -------------------------------SDOC ADMIN SIDEBAR------------------------------- */}\r\n\r\n\t\t\t\t{children}\r\n\t\t\t
\r\n\t\t)\r\n\t)\r\n}\r\n","import { useState, useEffect } from 'react'\r\nimport { useLocation } from 'react-router-dom'\r\n\r\nexport const useAppTypePath = () => {\r\n\tconst [appTypePath, setAppTypePath] = useState('')\r\n\tconst location = useLocation()\r\n\r\n\tuseEffect(() => {\r\n\t\tconst pathname = location.pathname\r\n\r\n\t\tif (pathname.includes('/admin/sdoc')) setAppTypePath('/admin/sdoc')\r\n\t\telse if (pathname.includes('/admin')) setAppTypePath('/admin')\r\n\t\telse if (pathname.includes('/sdoc')) setAppTypePath('/sdoc')\r\n\t}, [location.pathname])\r\n\r\n\treturn { appTypePath }\r\n}\r\n","export default __webpack_public_path__ + \"static/media/logo-wording.cbec6ee8.png\";","import {\r\n\tAppBar,\r\n\tGrid,\r\n\tToolbar,\r\n\tTypography,\r\n\tIconButton,\r\n\tHidden,\r\n} from '@material-ui/core'\r\nimport { Menu as HamBurger } from '@material-ui/icons'\r\n\r\nimport SideBar from '../components/SideBar'\r\nimport { makeStyles } from '@material-ui/core/styles'\r\n\r\nimport { useStoreActions, useStoreState } from '../store'\r\nimport { useState, useEffect } from 'react'\r\nimport { useLocation } from 'react-router'\r\n\r\nimport Kurt from '../assets/images/logo-wording.png'\r\n\r\nconst drawerWidth = 240\r\n\r\nconst useStyles = makeStyles(theme => {\r\n\treturn {\r\n\t\tappBar: {\r\n\t\t\tzIndex: theme.zIndex.drawer + 1,\r\n\t\t\tcolor: '#fff',\r\n\t\t\tborder: `2px solid ${theme.palette.primary.main}`,\r\n\t\t},\r\n\t\tdrawer: {\r\n\t\t\twidth: drawerWidth,\r\n\t\t\tflexShrink: 0,\r\n\t\t},\r\n\t}\r\n})\r\n\r\nexport default function NavBar({ children }) {\r\n\tconst [mobileOpen, setMobileOpen] = useState(false)\r\n\tconst classes = useStyles()\r\n\tconst sidebar = useStoreState(s => s.appModel.sidebar)\r\n\tconst setSidebar = useStoreActions(a => a.appModel.setSideBar)\r\n\tconst userOperatorProfile = useStoreState(s => s.userModel.user)\r\n\tconst QosAdminProfile = useStoreState(s => s.QoSAdminModel.QosAdmin)\r\n\tconst userSDOCProfile = useStoreState(s => s.sdocUserModel.userMESDOC)\r\n\tconst adminSDOCProfile = useStoreState(s => s.sdocAdminModel.adminMESDOC)\r\n\tconst mainAdminProfile = useStoreState(s => s.mainAdminModel.admin)\r\n\tconst appType = useStoreState(s => s.appModel.app_type)\r\n\tconst location = useLocation()\r\n\tconst notAllowedPath = [\r\n\t\t`/sign-in`,\r\n\t\t`/registration`,\r\n\t\t`/client-api`,\r\n\t\t`/auth/identify`,\r\n\t]\r\n\r\n\tfunction onClose() {\r\n\t\tsetSidebar(!sidebar)\r\n\t}\r\n\r\n\tconst handleDrawerToggle = () => {\r\n\t\tsetMobileOpen(!mobileOpen)\r\n\t}\r\n\r\n\tconst isShowNavbar = () => {\r\n\t\tif (appType === 'users') return !notAllowedPath.includes(location.pathname)\r\n\t\telse if (appType === 'admin')\r\n\t\t\treturn !notAllowedPath.includes(location.pathname.substring(6))\r\n\t\telse if (appType === 'sdoc-admin')\r\n\t\t\treturn !notAllowedPath.includes(location.pathname.substring(11))\r\n\t\telse if (appType === 'sdoc')\r\n\t\t\treturn !notAllowedPath.includes(location.pathname.substring(5))\r\n\t\telse if (appType === 'main-admin')\r\n\t\t\treturn !notAllowedPath.includes(location.pathname.substring(11))\r\n\t}\r\n\r\n\t// eslint-disable-next-line\r\n\tuseEffect(() => isShowNavbar(), [location.pathname])\r\n\r\n\treturn isShowNavbar() ? (\r\n\t\t<>\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{/* Mobile */}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\"kurt\"\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t{/* Desktop */}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\"kurt\"\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{/* NBTC QoS */}\r\n\t\t\t\t\t\t\t\t\t{appType === 'users' &&\r\n\t\t\t\t\t\t\t\t\t\tuserOperatorProfile?.firstname &&\r\n\t\t\t\t\t\t\t\t\t\tuserOperatorProfile?.lastname\r\n\t\t\t\t\t\t\t\t\t\t? `${userOperatorProfile?.firstname} ${userOperatorProfile?.lastname}` +\r\n\t\t\t\t\t\t\t\t\t\t' (' +\r\n\t\t\t\t\t\t\t\t\t\tuserOperatorProfile.roleTitle +\r\n\t\t\t\t\t\t\t\t\t\t')'\r\n\t\t\t\t\t\t\t\t\t\t: ''}\r\n\t\t\t\t\t\t\t\t\t{/* NBTC QoS Admin */}\r\n\t\t\t\t\t\t\t\t\t{appType === 'admin' && QosAdminProfile\r\n\t\t\t\t\t\t\t\t\t\t? QosAdminProfile.firstname +\r\n\t\t\t\t\t\t\t\t\t\t' ' +\r\n\t\t\t\t\t\t\t\t\t\tQosAdminProfile.lastname +\r\n\t\t\t\t\t\t\t\t\t\t' (' +\r\n\t\t\t\t\t\t\t\t\t\tQosAdminProfile.roleTitle +\r\n\t\t\t\t\t\t\t\t\t\t')'\r\n\t\t\t\t\t\t\t\t\t\t: ''}\r\n\t\t\t\t\t\t\t\t\t{/* User SDOC */}\r\n\t\t\t\t\t\t\t\t\t{appType === 'main-admin' && mainAdminProfile\r\n\t\t\t\t\t\t\t\t\t\t? mainAdminProfile.firstname +\r\n\t\t\t\t\t\t\t\t\t\t' ' +\r\n\t\t\t\t\t\t\t\t\t\tmainAdminProfile.lastname\r\n\t\t\t\t\t\t\t\t\t\t: ''}\r\n\t\t\t\t\t\t\t\t\t{/* User SDOC */}\r\n\t\t\t\t\t\t\t\t\t{appType === 'sdoc' && userSDOCProfile\r\n\t\t\t\t\t\t\t\t\t\t? userSDOCProfile.firstname +\r\n\t\t\t\t\t\t\t\t\t\t' ' +\r\n\t\t\t\t\t\t\t\t\t\tuserSDOCProfile.lastname +\r\n\t\t\t\t\t\t\t\t\t\t' '\r\n\t\t\t\t\t\t\t\t\t\t: ''}\r\n\t\t\t\t\t\t\t\t\t{/* Admin SDOC */}\r\n\t\t\t\t\t\t\t\t\t{appType === 'sdoc-admin' && adminSDOCProfile\r\n\t\t\t\t\t\t\t\t\t\t? adminSDOCProfile.firstname +\r\n\t\t\t\t\t\t\t\t\t\t' ' +\r\n\t\t\t\t\t\t\t\t\t\tadminSDOCProfile.lastname +\r\n\t\t\t\t\t\t\t\t\t\t' (' +\r\n\t\t\t\t\t\t\t\t\t\tadminSDOCProfile.roleTitle +\r\n\t\t\t\t\t\t\t\t\t\t')'\r\n\t\t\t\t\t\t\t\t\t\t: ''}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t{children}\r\n\t\t\t\r\n\t\t\r\n\t) : (\r\n\t\t<>{children}\r\n\t)\r\n}\r\n","import React from 'react'\r\nimport { Route, Redirect } from 'react-router-dom'\r\nimport { useStoreState, useStoreRehydrated } from '../../store'\r\n\r\nexport default function ProtectedRoute({ children, ...rest }) {\r\n\tconst user = useStoreState(s => s.userModel.user)\r\n\tconst isRehydrated = useStoreRehydrated()\r\n\r\n\treturn (\r\n\t\tisRehydrated && (\r\n\t\t\t\r\n\t\t\t\t\tuser ? (\r\n\t\t\t\t\t\tchildren\r\n\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)\r\n\t\t\t\t}\r\n\t\t\t/>\r\n\t\t)\r\n\t)\r\n}\r\n","import { forwardRef, useRef } from 'react'\r\nimport {\r\n\tGrid,\r\n\tDialog,\r\n\tDialogTitle,\r\n\tDialogContent,\r\n\tDialogContentText,\r\n\tDialogActions,\r\n\tSlide,\r\n\tIconButton,\r\n\tDivider,\r\n\tTextField,\r\n\tButton,\r\n\tuseMediaQuery,\r\n} from '@material-ui/core'\r\nimport { Close, BusinessCenter } from '@material-ui/icons'\r\n\r\nimport { useTheme } from '@material-ui/core/styles'\r\n\r\nexport default function EditInfoModal({\r\n\topen,\r\n\tonClose,\r\n\temail,\r\n\ttelephone,\r\n\thandleButton,\r\n\tonValueChange,\r\n\tvalidSubmitButton,\r\n}) {\r\n\tconst theme = useTheme()\r\n\tconst fullScreen = useMediaQuery(theme.breakpoints.down('sm'))\r\n\tconst descriptionElementRef = useRef(null)\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\tแก้ไขข้อมูลผู้ประกอบการ\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{/* Email */}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tอีเมลที่ใช้ติดต่อ\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tอีเมลที่ใช้ติดต่อ\r\n\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\tonValueChange(e.target.value, 'email')\r\n\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\tclassName=\"w-1/3\"\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t{/* Phone Number */}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tเบอร์โทรศัพท์ที่ใช้ติดต่อ\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tเบอร์โทรศัพท์ที่ใช้ติดต่อ\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\tonValueChange(e.target.value, 'telephone')\r\n\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t// defaultValue={usePhoneNumberConverter('0123456789')}\r\n\t\t\t\t\t\t\t\tclassName=\"w-1/3\"\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tบันทึก\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n\r\nconst Transition = forwardRef(function Transtition(props, ref) {\r\n\treturn \r\n})\r\n","export default __webpack_public_path__ + \"static/media/check.236cc676.png\";","import { forwardRef, useRef, useState, useEffect } from 'react'\r\nimport {\r\n\tGrid,\r\n\tDialog,\r\n\tDialogContent,\r\n\tDialogContentText,\r\n\tDialogActions,\r\n\tSlide,\r\n\tButton,\r\n\tuseMediaQuery,\r\n} from '@material-ui/core'\r\nimport { useTheme } from '@material-ui/core/styles'\r\n\r\nimport Check from '../../assets/images/check.png'\r\n\r\nexport default function SuccessModal({ title, open, handleButton }) {\r\n\tconst theme = useTheme()\r\n\tconst fullScreen = useMediaQuery(theme.breakpoints.down('sm'))\r\n\tconst descriptionElementRef = useRef(null)\r\n\r\n\tconst [isOpen, setIsOpen] = useState(false)\r\n\r\n\tuseEffect(() => {\r\n\t\tsetIsOpen(open)\r\n\t}, [open])\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t{title}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tตกลง\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n\r\nconst Transition = forwardRef(function Transtition(props, ref) {\r\n\treturn \r\n})\r\n","export default __webpack_public_path__ + \"static/media/cancel.f2ffd9d2.png\";","import { forwardRef, useRef, useState, useEffect } from 'react'\r\nimport {\r\n\tGrid,\r\n\tDialog,\r\n\tDialogContent,\r\n\tDialogContentText,\r\n\tDialogActions,\r\n\tSlide,\r\n\tButton,\r\n\tuseMediaQuery,\r\n} from '@material-ui/core'\r\nimport { useTheme } from '@material-ui/core/styles'\r\n\r\nimport Cancel from '../../assets/images/cancel.png'\r\n\r\nexport default function SuccessModal({ title, open, handleButton }) {\r\n\tconst theme = useTheme()\r\n\tconst fullScreen = useMediaQuery(theme.breakpoints.down('sm'))\r\n\tconst descriptionElementRef = useRef(null)\r\n\r\n\tconst [isOpen, setIsOpen] = useState(false)\r\n\r\n\tuseEffect(() => {\r\n\t\tsetIsOpen(open)\r\n\t}, [open])\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t{title}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tตกลง\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n\r\nconst Transition = forwardRef(function Transtition(props, ref) {\r\n\treturn \r\n})\r\n","import React, { useEffect, useState } from 'react'\r\nimport { Card, Grid, Divider, useMediaQuery, Button } from '@material-ui/core/'\r\nimport {\r\n\tAccountCircle,\r\n\tHome,\r\n\tAccountBox,\r\n\tStorage,\r\n\tBusiness,\r\n\tWork,\r\n\tMail,\r\n\tPhone,\r\n\tDescription,\r\n\tLock,\r\n} from '@material-ui/icons'\r\n\r\nimport EditInfoModal from '../../../components/users/organization/edit-info-modal'\r\nimport { operators } from '../../../api/index'\r\n\r\nimport { useStoreRehydrated, useStoreActions } from 'store/index'\r\nimport SuccessModal from 'components/modal/SuccessModal'\r\nimport FailModal from 'components/modal/FailModal'\r\n\r\nconst Organization = () => {\r\n\tconst isNotTablet = useMediaQuery('(min-width:768px)')\r\n\tconst isRehydrated = useStoreRehydrated()\r\n\tconst setUserOperatorProfile = useStoreActions(\r\n\t\ts => s.userModel.setUserOperatorProfile\r\n\t)\r\n\tconst [organizationData, setOrganizationData] = useState({\r\n\t\tcompanyName: '',\r\n\t\tcitizenId: '',\r\n\t\tcompanyAddress: '',\r\n\t\treportTypesFixed: '',\r\n\t\treportTypesMobile: '',\r\n\t\tcompanyStatus: '',\r\n\t\temail: '',\r\n\t\ttelephoneNumber: '',\r\n\t\tmobileNumber: '',\r\n\t\tapiToken: '',\r\n\t\tis2G: '',\r\n\t\tisNVMO: '',\r\n\t\tisPayphone: null,\r\n\t\toperatorQOS: [],\r\n\t})\r\n\tconst [tempAPIToken, setTempAPIToken] = useState('')\r\n\tconst [openEditInfoModal, setOpenEditInfoModal] = useState(false)\r\n\tconst [openFailModal, setOpenFailModal] = useState(false)\r\n\tconst [openSuccessModal, setOpenSuccessModal] = useState(false)\r\n\r\n\tconst [validSubmitButton, setValidSubmitButton] = useState(true)\r\n\tconst [email, setEmail] = useState('')\r\n\tconst [telephone, setTelephone] = useState('')\r\n\r\n\tconst onOpenSuccessModal = () => {\r\n\t\tsetOpenSuccessModal(!openSuccessModal)\r\n\t}\r\n\r\n\tconst onOpenFailModal = () => {\r\n\t\tsetOpenFailModal(!openFailModal)\r\n\t}\r\n\r\n\tconst onChangeEditInfoModal = () => {\r\n\t\tsetOpenEditInfoModal(!openEditInfoModal)\r\n\t}\r\n\r\n\tconst onOpenEditInfoModal = () => {\r\n\t\tsetEmail(organizationData.email)\r\n\t\tsetTelephone(organizationData.mobileNumber)\r\n\t\tonChangeEditInfoModal()\r\n\t}\r\n\r\n\tconst onSubmitChangeTeleEmail = async () => {\r\n\t\tconst res = await operators.editOperatorContactInfo(telephone, email)\r\n\t\tonChangeEditInfoModal()\r\n\t\tif (res.status === 200) {\r\n\t\t\tonOpenSuccessModal()\r\n\t\t} else {\r\n\t\t\tonOpenFailModal()\r\n\t\t}\r\n\t\tgetOrganizationData()\r\n\t}\r\n\r\n\tconst onTeleEmailChange = (value, type) => {\r\n\t\tif (type === 'email') {\r\n\t\t\tsetEmail(value)\r\n\t\t} else if (type === 'telephone') {\r\n\t\t\t// allow only number\r\n\t\t\tif (isNaN(value)) return\r\n\t\t\t// allow only 9 - 10 digits\r\n\t\t\tif (value.length > 10) return\r\n\t\t\tsetTelephone(value)\r\n\t\t}\r\n\t}\r\n\r\n\tconst getOrganizationData = async () => {\r\n\t\tawait operators\r\n\t\t\t.getOrganizationData()\r\n\t\t\t.then(res => {\r\n\t\t\t\tconst data = res.data\r\n\t\t\t\tlet reportTypesFixedTemp = ''\r\n\t\t\t\tlet reportTypesMobileTemp = ''\r\n\t\t\t\tsetUserOperatorProfile(data)\r\n\t\t\t\tlet organizationDataTemp = {\r\n\t\t\t\t\tcompanyName: data.operatorName,\r\n\t\t\t\t\tcitizenId: '1100100010110',\r\n\t\t\t\t\tcompanyAddress:\r\n\t\t\t\t\t\t(data.operatorInfo?.addr ?? '') +\r\n\t\t\t\t\t\t' ' +\r\n\t\t\t\t\t\t(data.operatorInfo?.postCode ?? ''),\r\n\t\t\t\t\treportTypesFixed: reportTypesFixedTemp,\r\n\t\t\t\t\treportTypesMobile: reportTypesMobileTemp,\r\n\t\t\t\t\tcompanyStatus: 'ดำเนินกิจการอยู่',\r\n\t\t\t\t\temail: data.operatorInfo?.email ?? '',\r\n\t\t\t\t\ttelephoneNumber: data.operatorInfo?.telephone ?? '',\r\n\t\t\t\t\tmobileNumber: data.operatorInfo?.mobile ?? '',\r\n\t\t\t\t\tapiToken: data.apiToken,\r\n\t\t\t\t\tisPayphone: data.isPayphone,\r\n\t\t\t\t\toperatorQOS: data.operatorQOS,\r\n\t\t\t\t\tis2G:data.is2G,\r\n\t\t\t\t\tisNVMO:data.ownerNVOM,\r\n\t\t\t\t}\r\n\t\t\t\tsetTempAPIToken(data.apiToken)\r\n\r\n\t\t\t\tsetOrganizationData(organizationDataTemp)\r\n\t\t\t})\r\n\t\t\t.catch(e => {})\r\n\t}\r\n\r\n\tconst changeAPIToken = async () => {\r\n\t\tconst res = await operators.resetAPIToken()\r\n\t\tconst status = res.status\r\n\t\tconst data = res.data\r\n\t\tif (status === 200) {\r\n\t\t\tsetTempAPIToken(data.token)\r\n\t\t\tlet organizationDataTemp = {\r\n\t\t\t\tcompanyName: organizationData.companyName,\r\n\t\t\t\tcitizenId: organizationData.citizenId,\r\n\t\t\t\tcompanyAddress: organizationData.companyAddress,\r\n\t\t\t\treportTypesFixed: organizationData.reportTypesFixed,\r\n\t\t\t\treportTypesMobile: organizationData.reportTypesMobile,\r\n\t\t\t\tcompanyStatus: organizationData.companyStatus,\r\n\t\t\t\temail: organizationData.email,\r\n\t\t\t\ttelephoneNumber: organizationData.telephoneNumber,\r\n\t\t\t\tmobileNumber: organizationData.mobileNumber,\r\n\t\t\t\tapiToken: data.token,\r\n\t\t\t\tisPayphone: organizationData.isPayphone,\r\n\t\t\t\toperatorQOS: organizationData.operatorQOS,\r\n\t\t\t\tis2G:organizationData.is2G,\r\n\t\t\t\tisNVMO:organizationData.ownerNVOM,\r\n\t\t\t}\r\n\t\t\tsetOrganizationData(organizationDataTemp)\r\n\t\t}\r\n\t}\r\n\r\n\tconst validateEmail = (email) => {\r\n\t\tconst emailRegex = /^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/;\r\n\t\treturn emailRegex.test(email);\r\n\t};\r\n\r\n\tuseEffect(() => {\r\n\t\tif (email === '' || telephone === '' || !validateEmail(email) || telephone.length < 9) {\r\n\t\t\tsetValidSubmitButton(true)\r\n\t\t} else {\r\n\t\t\tsetValidSubmitButton(false)\r\n\t\t}\r\n\t}, [email, telephone])\r\n\r\n\tuseEffect(() => {\r\n\t\tif (isRehydrated) getOrganizationData()\r\n\t\t// eslint-disable-next-line\r\n\t}, [isRehydrated])\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t{/* Details Card */}\r\n\r\n\t\t\t{!isNotTablet ? (\r\n\t\t\t\t// Mobile and Tablet Layout\r\n\t\t\t\t<>\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tรายละเอียดผู้ประกอบการ\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t{/* Company Name */}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tชื่อหน่วยงาน\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{organizationData.companyName}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t{/* Address */}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tที่อยู่\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{organizationData.companyAddress}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t{/* Type of Fixed Report */}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tชุดข้อมูลแบบประจำที่\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{/*organizationData.reportTypesFixed*/}\r\n\t\t\t\t\t\t\t\tประเภททั่วไป, ประเภทข้อมูล, ประเภทเสียง\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t{/* Type of Mobile Report */}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tชุดข้อมูลแบบเคลื่อนที่\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{/*organizationData.reportTypesMobile*/}\r\n\t\t\t\t\t\t\t\tประเภททั่วไป, ประเภทข้อมูล, ประเภทเสียง\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t{/* Organization Status Card */}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tสถานะการดำเนินกิจการของผู้ประกอบการ\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tแก้ไขข้อมูลผู้ประกอบการ\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t{/* Organization Status */}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tสถานะการประกอบกิจการ\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{/* ดำเนินกิจการอยู่ */}\r\n\t\t\t\t\t\t\t\t{organizationData.companyStatus}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t{/* Notification Settings */}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tอีเมล\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{/* nbtcqos1@mail.com / nbtcqos2@mail.com */}\r\n\t\t\t\t\t\t\t\t{organizationData.email === null ? '' : organizationData.email}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t{/* Phone Num */}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tเบอร์ติดต่อ\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{/* 012-345-6789 / 987-654-3210 */}\r\n\t\t\t\t\t\t\t\t{organizationData.mobileNumber}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t) : (\r\n\t\t\t\t// Computer Layout\r\n\t\t\t\t<>\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tรายละเอียดผู้ประกอบการ\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{/* Company Name */}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tชื่อหน่วยงาน\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{organizationData.companyName}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{/* Address */}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tที่อยู่\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{organizationData.companyAddress}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{/* Type of Fixed Report */}\r\n\t\t\t\t\t\t\t\t{organizationData.operatorQOS.find(e => e.id === 2) && (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\tชุดข้อมูลแบบประจำที่\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{/*organizationData.reportTypesFixed*/}\r\n\t\t\t\t\t\t\t\t\t\t\tประเภททั่วไป, ประเภทข้อมูล, ประเภทเสียง\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)}\r\n\r\n\t\t\t\t\t\t\t\t{/* Type of Mobile Report */}\r\n\t\t\t\t\t\t\t\t{organizationData.operatorQOS.find(e => e.id === 1) && (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\tชุดข้อมูลแบบเคลื่อนที่\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{/*organizationData.reportTypesFixed*/}\r\n\t\t\t\t\t\t\t\t\t\t\tประเภททั่วไป, ประเภทข้อมูล, ประเภทเสียง\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)}\r\n\r\n\t\t\t\t\t\t\t\t{/* Organization Status */}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\tสถานะการประกอบกิจการ\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{organizationData.companyStatus}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t{/* Report Status */}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\tสถานะการส่งรายงาน\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{organizationData.companyStatus ? 'ปกติ' : 'ล่าช้า'}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t{/* NVMO Status */}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tสถานะ MVNO\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{organizationData.isNVMO ? 'ใช่' : 'ไม่ใช่'}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t{organizationData.isPayphone === 'y' && (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\tให้บริการเครื่องโทรศัพท์สาธารณะ\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tให้บริการ\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)}\r\n\r\n\t\t\t\t\t\t\t\t{/* API Token */}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\tAPI Token\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{tempAPIToken}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\t\t\tnavigator.clipboard.writeText(tempAPIToken)\r\n\t\t\t\t\t\t\t\t\t\t\t}}>\r\n\t\t\t\t\t\t\t\t\t\t\tCopy\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\t\t\tchangeAPIToken()\r\n\t\t\t\t\t\t\t\t\t\t\t}}>\r\n\t\t\t\t\t\t\t\t\t\t\tReset\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t{/* Organization Status Card */}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{/* Header */}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\tข้อมูลสำหรับการแจ้งเตือน\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tแก้ไขข้อมูลผู้ประกอบการ\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t{/* Notification Settings */}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tอีเมล\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{organizationData.email === null\r\n\t\t\t\t\t\t\t\t\t\t\t? ''\r\n\t\t\t\t\t\t\t\t\t\t\t: organizationData.email}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{/* Phone Num */}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tเบอร์ติดต่อ\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{organizationData.mobileNumber}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t)}\r\n\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n\r\nexport default Organization\r\n","export const convertNumber = (num, isToFixed) => {\r\n\tif (num) {\r\n\t\tif (isToFixed)\r\n\t\t\treturn (\r\n\t\t\t\tMath.round((parseFloat(num) + Number.EPSILON) * 100) / 100\r\n\t\t\t).toFixed(2)\r\n\r\n\t\treturn Math.round((parseFloat(num) + Number.EPSILON) * 100) / 100\r\n\t} else return ''\r\n}\r\n","import { forwardRef, useRef } from 'react'\r\nimport {\r\n\tGrid,\r\n\tDialog,\r\n\tDialogContent,\r\n\tDialogContentText,\r\n\tDialogActions,\r\n\tSlide,\r\n\tButton,\r\n\tuseMediaQuery,\r\n} from '@material-ui/core'\r\nimport { useTheme } from '@material-ui/core/styles'\r\n\r\nimport Check from '../../../../assets/images/check.png'\r\n\r\nexport default function SendingStandardReportModalSuccess({\r\n\topen,\r\n\thandleButton,\r\n}) {\r\n\tconst theme = useTheme()\r\n\tconst fullScreen = useMediaQuery(theme.breakpoints.down('sm'))\r\n\tconst descriptionElementRef = useRef(null)\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tคุณได้ส่งรายงานมาตรฐานสำเร็จ\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tตกลง\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n\r\nconst Transition = forwardRef(function Transtition(props, ref) {\r\n\treturn \r\n})\r\n","import { forwardRef, useRef } from 'react'\r\nimport {\r\n\tGrid,\r\n\tDialog,\r\n\tDialogContent,\r\n\tDialogContentText,\r\n\tDialogActions,\r\n\tSlide,\r\n\tButton,\r\n\tuseMediaQuery,\r\n} from '@material-ui/core'\r\nimport { useTheme } from '@material-ui/core/styles'\r\n\r\nimport Cancel from '../../../../assets/images/cancel.png'\r\n\r\nexport default function SendingStandardReportModalFailed({\r\n\topen,\r\n\thandleButton,\r\n\tmessage,\r\n}) {\r\n\tconst theme = useTheme()\r\n\tconst fullScreen = useMediaQuery(theme.breakpoints.down('sm'))\r\n\tconst descriptionElementRef = useRef(null)\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t{message}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tตกลง\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n\r\nconst Transition = forwardRef(function Transtition(props, ref) {\r\n\treturn \r\n})\r\n","import { forwardRef, useRef, useState, useEffect } from 'react'\r\nimport {\r\n\tGrid,\r\n\tDialog,\r\n\tDialogTitle,\r\n\tDialogContent,\r\n\tDialogContentText,\r\n\tDialogActions,\r\n\tSlide,\r\n\tIconButton,\r\n\tButton,\r\n\tuseMediaQuery,\r\n\tLinearProgress,\r\n\tBox,\r\n\tTypography,\r\n\tCircularProgress,\r\n} from '@material-ui/core'\r\nimport PropTypes from 'prop-types';\r\n\r\nimport { Close } from '@material-ui/icons'\r\n\r\nimport { useTheme } from '@material-ui/core/styles'\r\n\r\nfunction LinearProgressWithLabel(props) {\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t{`${Math.round(\r\n\t\t\t\t\tprops.value,\r\n\t\t\t\t)}%`}\r\n\t\t\t\r\n\t\t\r\n\t);\r\n}\r\n\r\nLinearProgressWithLabel.propTypes = {\r\n\t/**\r\n\t * The value of the progress indicator for the determinate and buffer variants.\r\n\t * Value between 0 and 100.\r\n\t */\r\n\tvalue: PropTypes.number.isRequired,\r\n};\r\n\r\nexport default function SureModal({\r\n\topen,\r\n\tonClose,\r\n\ttitle,\r\n\theader_icon,\r\n\tcontent,\r\n\thandleCancel,\r\n\thandleButton,\r\n\tProgressValue,\r\n}) {\r\n\tconst theme = useTheme()\r\n\tconst fullScreen = useMediaQuery(theme.breakpoints.down('sm'))\r\n\tconst descriptionElementRef = useRef(null)\r\n\tconst [isLoading, setIsLoading] = useState(false)\r\n\tuseEffect(() => {\r\n\t\tsetIsLoading(false)\r\n\t}, [open])\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{header_icon}\r\n\t\t\t\t\t\t{title}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{content}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{ProgressValue ? (\r\n\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\tความคืบหน้าในการดำเนินการ\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t:\r\n\t\t\t\t\t\t\t(\r\n\t\t\t\t\t\t\t\t// show loading spinner\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\tโปรดรอสักครู่ ห้ามปิดหน้าต่างนี้ในขณะที่กำลังดำเนินการ\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tยกเลิก\r\n\t\t\t\t\t\r\n\t\t\t\t\t { handleButton(e); setIsLoading(true) }}\r\n\t\t\t\t\t\tcolor=\"primary\"\r\n\t\t\t\t\t\tvariant=\"contained\"\r\n\t\t\t\t\t\tdisabled={isLoading}>\r\n\t\t\t\t\t\t{isLoading ? 'กำลังดำเนินการ...' : 'ตกลง'}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n\r\nconst Transition = forwardRef(function Transtition(props, ref) {\r\n\treturn \r\n})\r\n","import { useEffect, useState } from 'react'\r\nimport {\r\n\tGrid,\r\n\tCard,\r\n\tDivider,\r\n\tFormControlLabel,\r\n\tCheckbox,\r\n\tRadioGroup,\r\n\tRadio,\r\n} from '@material-ui/core'\r\nimport React from 'react'\r\n\r\nimport { PlaylistAddCheck } from '@material-ui/icons'\r\nimport { useStoreState } from 'store/index'\r\nexport default function StandardReportStep1({\r\n\treportMethod,\r\n\tonChangeRadio,\r\n\tfixedReportTypeRadioValue,\r\n\tmobileReportTypeRadioValue,\r\n\tonChangeReportType,\r\n\tuserOperatorProfile,\r\n\thasEverSubmitedForm,\r\n\tisNewForm,\r\n\tonChangeIsContinueRadio,\r\n\tcontinueFormSubmittedType = {\r\n\t\tisFixed: true,\r\n\t\tisMobile: true,\r\n\t},\r\n}) {\r\n\tconst user = useStoreState(s => s.userModel.user)\r\n\tconst [formPerType, setFormPerType] = useState({\r\n\t\tfixed: true,\r\n\t\tmobile: true,\r\n\t})\r\n\r\n\tuseEffect(() => {\r\n\t\twindow.scrollTo(0, 0)\r\n\t}, [])\r\n\r\n\tuseEffect(() => {\r\n\t\tlet temp = {\r\n\t\t\tfixed: false,\r\n\t\t\tmobile: false,\r\n\t\t}\r\n\t\tuser.operatorUserQOSType &&\r\n\t\t\tuser.operatorUserQOSType.forEach(item => {\r\n\t\t\t\tif (item.qosTypeID === 1) temp.mobile = true\r\n\t\t\t\tif (item.qosTypeID === 2) temp.fixed = true\r\n\t\t\t})\r\n\t\tsetFormPerType(temp)\r\n\t}, [user.operatorUserQOSType])\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tเลือกรูปแบบการส่งรายงาน\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\tรูปแบบการส่งรายงาน\r\n\t\t\t\t\r\n\t\t\t\t\t}\r\n\t\t\t\t\t\tlabel=\"Web Form\"\r\n\t\t\t\t\t/>\r\n\t\t\t\t\t} label=\"Upload\" />\r\n\t\t\t\t\r\n\t\t\t\tชุดข้อมูล\r\n\t\t\t\t\r\n\t\t\t\t\t{formPerType.fixed && (\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tonChange={e => onChangeReportType(1, e.target.checked)}\r\n\t\t\t\t\t\t\tlabel={'ชุดข้อมูลแบบประจำที่'}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t)}\r\n\t\t\t\t\t{formPerType.mobile && (\r\n\t\t\t\t\t\t onChangeReportType(2, e.target.checked)}\r\n\t\t\t\t\t\t\tdisabled={isNewForm === 'n'}\r\n\t\t\t\t\t\t\tcontrol={}\r\n\t\t\t\t\t\t\tlabel={'ชุดข้อมูลแบบเคลื่อนที่'}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t)}\r\n\t\t\t\t\r\n\t\t\t\t{hasEverSubmitedForm && (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tระบบตรวจพบว่า คุณเคยกรอกรายงานมาตรฐาน\r\n\t\t\t\t\t\tต้องการที่จะดำเนินการต่อหรือไม่?\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t\t{hasEverSubmitedForm && (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tlabel=\"ดำเนินการต่อ\"\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tlabel=\"กรอกใหม่\"\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n","import { useState, useEffect } from 'react'\r\n\r\n/**\r\n * Sub Label Types:\r\n * 1) No sub label exist.\r\n * 2) One sub label.\r\n * 3) One main sub label with child of sub label.\r\n */\r\n\r\nexport const useReduceForm = formParam => {\r\n\tconst [form, setForm] = useState([])\r\n\r\n\tuseEffect(() => {\r\n\t\tconst temp = formParam.reduce((results, item) => {\r\n\t\t\tlet result\r\n\r\n\t\t\tconst findedIndex = results.findIndex(\r\n\t\t\t\tfind_item => find_item.no === item.no\r\n\t\t\t)\r\n\r\n\t\t\tif (findedIndex !== -1) {\r\n\t\t\t\tlet isnew_targeted_text = false\r\n\t\t\t\tlet tempResult = results[findedIndex]\r\n\r\n\t\t\t\t// Targeted Text\r\n\t\t\t\tif (\r\n\t\t\t\t\ttempResult.targeted_text[tempResult.targeted_text.length - 1] !==\r\n\t\t\t\t\titem.targeted_text\r\n\t\t\t\t)\r\n\t\t\t\t\tisnew_targeted_text = true\r\n\r\n\t\t\t\t// Sub Labels\r\n\t\t\t\tlet labels = tempResult.sub_labels\r\n\t\t\t\tlet isnew_labels = false\r\n\r\n\t\t\t\tif (labels.sub_label_type === 3) {\r\n\t\t\t\t\tconst findedLabelNameIndex = labels.labels.findIndex(\r\n\t\t\t\t\t\tlabel => label.label_name === item.subLabel_1\r\n\t\t\t\t\t)\r\n\r\n\t\t\t\t\tif (findedLabelNameIndex !== -1) {\r\n\t\t\t\t\t\tlabels.labels[findedLabelNameIndex].childs.push({\r\n\t\t\t\t\t\t\tid: item.id,\r\n\t\t\t\t\t\t\tlabel: item.subLabel_2,\r\n\t\t\t\t\t\t})\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tlabels.labels.push({\r\n\t\t\t\t\t\t\tlabel_name: item.subLabel_1,\r\n\t\t\t\t\t\t\tchilds: [{ id: item.id, label: item.subLabel_2 }],\r\n\t\t\t\t\t\t})\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tisnew_labels = true\r\n\t\t\t\t} else if (labels.sub_label_type === 2) {\r\n\t\t\t\t\tlabels.labels.push({ id: item.id, label: item.subLabel_1 })\r\n\t\t\t\t\tisnew_labels = true\r\n\t\t\t\t}\r\n\r\n\t\t\t\ttempResult = {\r\n\t\t\t\t\t...tempResult,\r\n\t\t\t\t\ttargeted_text: isnew_targeted_text\r\n\t\t\t\t\t\t? [...tempResult.targeted_text, item.targeted_text]\r\n\t\t\t\t\t\t: tempResult.targeted_text,\r\n\t\t\t\t\tsub_labels: isnew_labels ? labels : tempResult.sub_labels,\r\n\t\t\t\t\trecords: [...tempResult.records, { id: item.id, ...item.records }],\r\n\t\t\t\t}\r\n\t\t\t\tresult = tempResult\r\n\r\n\t\t\t\tresults[findedIndex] = result\r\n\t\t\t} else {\r\n\t\t\t\t// Sub Labels\r\n\t\t\t\tconst sub_label_type =\r\n\t\t\t\t\titem.subLabel_2 && item.subLabel_1 ? 3 : item.subLabel_1 ? 2 : 1\r\n\r\n\t\t\t\tconst labels = []\r\n\r\n\t\t\t\tif (sub_label_type === 3)\r\n\t\t\t\t\tlabels.push({\r\n\t\t\t\t\t\tlabel_name: item.subLabel_1,\r\n\t\t\t\t\t\tchilds: [{ id: item.id, label: item.subLabel_2 }],\r\n\t\t\t\t\t})\r\n\t\t\t\telse if (sub_label_type === 2)\r\n\t\t\t\t\tlabels.push({ id: item.id, label: item.subLabel_1 })\r\n\r\n\t\t\t\tresult = {\r\n\t\t\t\t\tno: item.no,\r\n\t\t\t\t\tlabel: item.label,\r\n\t\t\t\t\ttargeted_text: [item.targeted_text],\r\n\t\t\t\t\tfilling_condition: item.filling_condition,\r\n\t\t\t\t\tsub_labels: {\r\n\t\t\t\t\t\tsub_label_type,\r\n\t\t\t\t\t\tlabels: labels,\r\n\t\t\t\t\t},\r\n\t\t\t\t\tisNeedAnswer: item.isNeedAnswer,\r\n\t\t\t\t\trecords: [{ id: item.id, ...item.records }],\r\n\t\t\t\t\tdata_type: item.data_type,\r\n\t\t\t\t}\r\n\r\n\t\t\t\treturn [...results, result]\r\n\t\t\t}\r\n\r\n\t\t\treturn results\r\n\t\t}, [])\r\n\r\n\t\tsetForm(temp)\r\n\t}, [formParam])\r\n\r\n\treturn { form }\r\n}\r\n","import { useMemo } from 'react'\r\nimport { Grid } from '@material-ui/core'\r\n\r\nexport default function TwoPointThreeSubHeader({ sub_label_type }) {\r\n\tconst subHeaderWidth = useMemo(() => {\r\n\t\tif (sub_label_type === 3 || sub_label_type === 2) {\r\n\t\t\treturn 'w-4/12'\r\n\t\t}\r\n\r\n\t\treturn 'w-6/12'\r\n\t}, [sub_label_type])\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{(sub_label_type === 3 || sub_label_type === 2) && (\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t\t\r\n\t\t\t\tสถานที่ในส่วนภูมิภาค\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\tสถานที่ในเขตกรุงเทพฯ และ ปริมณฑล\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n","import { useState, useEffect } from 'react'\r\n\r\nexport const useWidthExcelInput = sub_label_type => {\r\n\tconst [valueWidth, setValueWidth] = useState('')\r\n\tconst [noteWidth, setNoteWidth] = useState('')\r\n\tconst [serviceValueWidth, setServiceValueWidth] = useState('')\r\n\r\n\tuseEffect(() => {\r\n\t\tif (sub_label_type === 3 || sub_label_type === 2) {\r\n\t\t\tsetValueWidth('w-2/12')\r\n\t\t\tsetNoteWidth('w-2/12')\r\n\t\t\tsetServiceValueWidth('w-2/12')\r\n\t\t} else if (sub_label_type === 1) {\r\n\t\t\tsetValueWidth('w-3/12')\r\n\t\t\tsetNoteWidth('w-3/12')\r\n\t\t\tsetServiceValueWidth('w-3/12')\r\n\t\t}\r\n\t}, [sub_label_type])\r\n\r\n\treturn { valueWidth, noteWidth, serviceValueWidth }\r\n}\r\n","import { useState, useEffect } from 'react'\r\n\r\nexport const useTimeQuarter = () => {\r\n\tconst [quarter, setQuarter] = useState({\r\n\t\tmonth1: '',\r\n\t\tmonth2: '',\r\n\t\tmonth3: '',\r\n\t})\r\n\r\n\tuseEffect(() => {\r\n\t\tconst now = new Date()\r\n\t\tconst currentMonth = now.getMonth()\r\n\r\n\t\t// Jan. - Mar.\r\n\t\tif (currentMonth >= 0 && currentMonth <= 2)\r\n\t\t\tsetQuarter({\r\n\t\t\t\tmonth1: 'ต.ค.',\r\n\t\t\t\tmonth2: 'พ.ย.',\r\n\t\t\t\tmonth3: 'ธ.ค.',\r\n\t\t\t})\r\n\t\t// April - June.\r\n\t\telse if (currentMonth >= 3 && currentMonth <= 5)\r\n\t\t\tsetQuarter({\r\n\t\t\t\tmonth1: 'ม.ค.',\r\n\t\t\t\tmonth2: 'ก.พ.',\r\n\t\t\t\tmonth3: 'มี.ค.',\r\n\t\t\t})\r\n\t\t// July - Sep.\r\n\t\telse if (currentMonth >= 6 && currentMonth <= 8)\r\n\t\t\tsetQuarter({\r\n\t\t\t\tmonth1: 'เม.ย.',\r\n\t\t\t\tmonth2: 'พ.ค.',\r\n\t\t\t\tmonth3: 'มิ.ย.',\r\n\t\t\t})\r\n\t\t// Oct. - Dec.\r\n\t\telse if (currentMonth >= 9 && currentMonth <= 11)\r\n\t\t\tsetQuarter({\r\n\t\t\t\tmonth1: 'ก.ค.',\r\n\t\t\t\tmonth2: 'ส.ค.',\r\n\t\t\t\tmonth3: 'ก.ย.',\r\n\t\t\t})\r\n\t}, [])\r\n\r\n\treturn { quarter }\r\n}\r\n","import { Grid } from '@material-ui/core'\r\nimport { useWidthExcelInput } from '../../../../../../utils/useWidthExcelInput'\r\nimport { useTimeQuarter } from '../../../../../../utils/useTimeQuarter'\r\n\r\nexport default function ExcelSubHeader({ sub_label_type, isTwoPointThree }) {\r\n\tconst { quarter } = useTimeQuarter()\r\n\tconst { valueWidth } = useWidthExcelInput(sub_label_type)\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{(sub_label_type === 3 || sub_label_type === 2) && (\r\n\t\t\t\t{isTwoPointThree?null:'ภูมิภาค'}\r\n\t\t\t)}\r\n\t\t\t\r\n\t\t\t\t{isTwoPointThree ? 'เส้นทางสายหลักและสายรอง' : quarter.month1}\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t{isTwoPointThree ? 'เส้นทางในบริเวณพื้นที่ชุมชน' : quarter.month2}\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t{isTwoPointThree ? 'เส้นทางในเขตกรุงเทพฯ และปริมณฑล' : quarter.month3}\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t{isTwoPointThree\r\n\t\t\t\t\t? 'พื้นที่เฝ้าระวังอื่นที่กำหนดในแต่ละไตรมาส**'\r\n\t\t\t\t\t: 'ค่าเฉลี่ย'}\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n","import { Grid, Input } from '@material-ui/core'\r\nexport default function SubLabelType1({\r\n\ttype,\r\n\tonFillForm,\r\n\tdatasetId,\r\n\tanswers,\r\n}) {\r\n\tconst answer = answers.find(item => item.DataSetItemID === datasetId)\r\n\t// const is5G = item.label.includes('5G');\r\n\tconst is5G = false;\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{/* Months */}\r\n\t\t\t {\r\n\t\t\t\t\tonFillForm(type, datasetId, 'DataValueMonth1', e.target.value)\r\n\t\t\t\t}}\r\n\t\t\t\ttype=\"text\"\r\n\t\t\t/>\r\n\t\t\t {\r\n\t\t\t\t\tonFillForm(type, datasetId, 'DataValueMonth2', e.target.value)\r\n\t\t\t\t}}\r\n\t\t\t\ttype=\"text\"\r\n\t\t\t/>\r\n\t\t\t{!is5G ? (\r\n\t\t\t\t {\r\n\t\t\t\t\t\tonFillForm(type, datasetId, 'DataValueMonth3', e.target.value)\r\n\t\t\t\t\t}}\r\n\t\t\t\t\ttype=\"text\"\r\n\t\t\t\t/>\r\n\t\t\t) : (\r\n\t\t\t\t<>\r\n\t\t\t)}\r\n\t\t\t{/* Average */}\r\n\t\t\t{!is5G ? (\r\n\t\t\t\t {\r\n\t\t\t\t\t\tonFillForm(type, datasetId, 'DataValueMonthAvg', e.target.value)\r\n\t\t\t\t\t}}\r\n\t\t\t\t\ttype=\"text\"\r\n\t\t\t\t/>\r\n\t\t\t) : (\r\n\t\t\t\t<>\r\n\t\t\t)}\r\n\t\t\r\n\t)\r\n}\r\n","import { Grid, Input } from '@material-ui/core'\r\nexport default function SubLabelType2({\r\n\ttype,\r\n\tflags,\r\n\titem,\r\n\tonFillForm,\r\n\tanswers,\r\n}) {\r\n\tconst answer = answers.find(ans => ans.DataSetItemID === item.id)\r\n\tconsole.log('answer', answer)\r\n\tconst is2G = item.label.includes('2G') && flags['2G'] === false\r\n\tconst is5G = item.label.includes('5G')\r\n\tconst is5GArea = item.label.includes('5G (พื้นที่)')\r\n\tconst isFiveInput = item.label.includes('-ภาค')\r\n\t// const is2G = item.label.includes('2G') ? true : false\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t{isFiveInput ? (\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{item.label}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\tonFillForm(type, item.id, 'DataValueExtra', e.target.value)\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\ttype=\"text\"\r\n\t\t\t\t\t/>\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\tonFillForm(type, item.id, 'DataValueMonth1', e.target.value)\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\ttype=\"text\"\r\n\t\t\t\t\t/>\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\tonFillForm(type, item.id, 'DataValueMonth2', e.target.value)\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\ttype=\"text\"\r\n\t\t\t\t\t/>\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\tonFillForm(type, item.id, 'DataValueMonth3', e.target.value)\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\ttype=\"text\"\r\n\t\t\t\t\t/>\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\tonFillForm(type, item.id, 'DataValueMonthAvg', e.target.value)\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\ttype=\"text\"\r\n\t\t\t\t\t/>\r\n\t\t\t\t\r\n\t\t\t) : !is2G ? (\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{item.label}\r\n\t\t\t\t\t\r\n\t\t\t\t\t{/* Months */}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\tonFillForm(type, item.id, 'DataValueMonth1', e.target.value)\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\ttype=\"text\"\r\n\t\t\t\t\t/>\r\n\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\tonFillForm(type, item.id, 'DataValueMonth2', e.target.value)\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\ttype=\"text\"\r\n\t\t\t\t\t/>\r\n\t\t\t\t\t{!is5G ? (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tonFillForm(type, item.id, 'DataValueMonth3', e.target.value)\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\ttype=\"text\"\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\t\t\t\t\t{/* Average */}\r\n\t\t\t\t\t{!is5G ? (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tonFillForm(type, item.id, 'DataValueMonthAvg', e.target.value)\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\ttype=\"text\"\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\t\t\t\t\r\n\t\t\t) : (\r\n\t\t\t\t<>\r\n\t\t\t)}\r\n\t\t\r\n\t)\r\n}\r\n","import { Grid, Input } from '@material-ui/core'\r\nexport default function SubLabelType3({ type, item, onFillForm, answers }) {\r\n\tconst label_name = item.label_name\r\n\tconst childs = item.childs\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{/* Region */}\r\n\t\t\t\r\n\t\t\t\t{label_name}\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t\t{childs.map((child, index) => (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{child.label}\r\n\t\t\t\t\t\r\n\t\t\t\t))}\r\n\t\t\t\r\n\r\n\t\t\t{/* Months */}\r\n\t\t\t\r\n\t\t\t\t{childs.map((child, index) => {\r\n\t\t\t\t\tconst answer = answers.find(ans => ans.DataSetItemID === child.id)\r\n\r\n\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tonFillForm(type, child.id, 'DataValueMonth1', e.target.value)\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\ttype=\"text\"\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t)\r\n\t\t\t\t})}\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t{childs.map((child, index) => {\r\n\t\t\t\t\tconst answer = answers.find(ans => ans.DataSetItemID === child.id)\r\n\r\n\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tonFillForm(type, child.id, 'DataValueMonth2', e.target.value)\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\ttype=\"text\"\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t)\r\n\t\t\t\t})}\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t{childs.map((child, index) => {\r\n\t\t\t\t\tconst answer = answers.find(ans => ans.DataSetItemID === child.id)\r\n\r\n\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tonFillForm(type, child.id, 'DataValueMonth3', e.target.value)\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\ttype=\"text\"\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t)\r\n\t\t\t\t})}\r\n\t\t\t\r\n\r\n\t\t\t{/* Average */}\r\n\t\t\t\r\n\t\t\t\t{childs.map((child, index) => {\r\n\t\t\t\t\tconst answer = answers.find(ans => ans.DataSetItemID === child.id)\r\n\r\n\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tonFillForm(type, child.id, 'DataValueMonthAvg', e.target.value)\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\ttype=\"text\"\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t)\r\n\t\t\t\t})}\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n","export const fixed_general_details = [\r\n\t{\r\n\t\tid: 1,\r\n\t\tno: '1.1.1',\r\n\t\tlabel:\r\n\t\t\t'ระยะเวลาสำหรับการขอเริ่มเปิดใช้บริการ (Supply time for initial connection)',\r\n\t\ttargeted_text: 'ภายใน 10 วันทำการ(ให้วัดเป็นรายเดือน)',\r\n\t\tsubLabel_1: null,\r\n\t\tsubLabel_2: null,\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 10,\r\n\t\ttargetCondition: 'le',\r\n\t\tfilling_condition:\r\n\t\t\t'ข้อมูลที่กรอกจะต้องเป็นเลขจำนวนเต็ม และต้องมีค่ามากกว่าหรือเท่ากับ 0',\r\n\t\tisNeedAnswer: true,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null,\r\n\t\t},\r\n\t\tdata_type: 'int',\r\n\t\texcelValueCol: ['D', 'E', 'F', 'G'],\r\n\t\texcelValueRow: 7,\r\n\t\tpriority: 1,\r\n\t},\r\n\t{\r\n\t\tid: 2,\r\n\t\tno: '1.1.2',\r\n\t\tlabel:\r\n\t\t\t'ร้อยละของการติดตั้งบริการสำเร็จภายในวันที่กำหนด (Percentage of service installation completed on or before the date confirmed)',\r\n\t\ttargeted_text: 'ไม่น้อยกว่าร้อยละ 90 (ให้วัดเป็นรายเดือน)',\r\n\t\tsubLabel_1: null,\r\n\t\tsubLabel_2: null,\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 90,\r\n\t\ttargetCondition: 'ge',\r\n\t\tfilling_condition:\r\n\t\t\t'ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)',\r\n\t\tisNeedAnswer: true,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null,\r\n\t\t},\r\n\t\tdata_type: 'float',\r\n\t\texcelValueCol: ['D', 'E', 'F', 'G'],\r\n\t\texcelValueRow: 12,\r\n\t\tpriority: 2,\r\n\t},\r\n\t{\r\n\t\tid: 3,\r\n\t\tno: '1.1.3',\r\n\t\tlabel:\r\n\t\t\t'จำนวนของความผิดปกติที่ถูกรายงาน ต่อจำนวนผู้ใช้บริการ 100 ราย (Number of reported faults per 100 subscribers)',\r\n\t\ttargeted_text:\r\n\t\t\t'ไม่เกิน 5 ครั้ง ต่อผู้ใช้บริการ 100 ราย (ให้วัดเป็นรายเดือน)',\r\n\t\tsubLabel_1: null,\r\n\t\tsubLabel_2: null,\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 5,\r\n\t\ttargetCondition: 'le',\r\n\t\tfilling_condition:\r\n\t\t\t'ข้อมูลที่กรอกจะต้องเป็นเลขจำนวนเต็ม และต้องมีค่ามากกว่าหรือเท่ากับ 0',\r\n\t\tisNeedAnswer: true,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null,\r\n\t\t},\r\n\t\tdata_type: 'int',\r\n\t\texcelValueCol: ['D', 'E', 'F', 'G'],\r\n\t\texcelValueRow: 17,\r\n\t\tpriority: 3,\r\n\t},\r\n\t{\r\n\t\tid: 4,\r\n\t\tno: '1.1.4',\r\n\t\tlabel: 'ระยะเวลาในการซ่อมแซม (Fault repair time)',\r\n\t\ttargeted_text: 'ไม่เกิน 24 ชั่วโมง (ให้วัดเป็นรายเดือน)',\r\n\t\tsubLabel_1: null,\r\n\t\tsubLabel_2: null,\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 24,\r\n\t\ttargetCondition: 'le',\r\n\t\tfilling_condition:\r\n\t\t\t'ข้อมูลที่กรอกจะต้องเป็นเลขจำนวนเต็ม และต้องมีค่ามากกว่าหรือเท่ากับ 0',\r\n\t\tisNeedAnswer: true,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null,\r\n\t\t},\r\n\t\tdata_type: 'int',\r\n\t\texcelValueCol: ['D', 'E', 'F', 'G'],\r\n\t\texcelValueRow: 22,\r\n\t\tpriority: 4,\r\n\t},\r\n\t{\r\n\t\tid: 5,\r\n\t\tno: '1.1.5',\r\n\t\tlabel:\r\n\t\t\t'อัตราข้อร้องเรียนที่เกี่ยวกับข้อผิดพลาดในการเรียกเก็บค่าบริการ (Billing inaccuracy)',\r\n\t\ttargeted_text: 'ไม่เกินร้อยละ 0.3 (ให้วัดเป็นรายเดือน)',\r\n\t\tsubLabel_1: null,\r\n\t\tsubLabel_2: null,\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 0.3,\r\n\t\ttargetCondition: 'le',\r\n\t\tfilling_condition:\r\n\t\t\t'ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)',\r\n\t\tisNeedAnswer: true,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null,\r\n\t\t},\r\n\t\tdata_type: 'float',\r\n\t\texcelValueCol: ['D', 'E', 'F', 'G'],\r\n\t\texcelValueRow: 27,\r\n\t\tpriority: 5,\r\n\t},\r\n\t{\r\n\t\tid: 6,\r\n\t\tno: '1.1.6',\r\n\t\tlabel:\r\n\t\t\t'ระยะเวลาที่ต้องรอในการขอใช้บริการดูแลลูกค้าจากศูนย์ตอบรับโทรศัพท์ (Response time for accessing customer-service call center)',\r\n\t\ttargeted_text: 'ไม่เกิน 60 วินาที (ให้วัดเป็นรายเดือน)',\r\n\t\tsubLabel_1: null,\r\n\t\tsubLabel_2: null,\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 60,\r\n\t\ttargetCondition: 'le',\r\n\t\tfilling_condition:\r\n\t\t\t'ข้อมูลที่กรอกจะต้องเป็นเลขจำนวนเต็ม และต้องมีค่ามากกว่าเท่ากับ 1-60 วินาที',\r\n\t\tisNeedAnswer: true,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null,\r\n\t\t},\r\n\t\tdata_type: 'int',\r\n\t\texcelValueCol: ['D', 'E', 'F', 'G'],\r\n\t\texcelValueRow: 32,\r\n\t\tpriority: 6,\r\n\t},\r\n\t{\r\n\t\tid: 7,\r\n\t\tno: '1.1.7',\r\n\t\tlabel:\r\n\t\t\t'ความพร้อมในการใช้งานของเครื่องโทรศัพท์สาธารณะ (Payphone Service Availability)',\r\n\t\ttargeted_text:\r\n\t\t\t'ไม่ต่ำกว่าร้อยละ 90 ในเขตกรุงเทพฯ และปริมณฑล (ให้วัดเป็นรายเดือน)',\r\n\t\tsubLabel_1:\r\n\t\t\t'ไม่ต่ำกว่าร้อยละ 90 ในเขตกรุงเทพฯ และปริมณฑล (ให้วัดเป็นรายเดือน)',\r\n\t\tsubLabel_2: null,\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 90,\r\n\t\ttargetCondition: 'ge',\r\n\t\tfilling_condition:\r\n\t\t\t'ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)',\r\n\t\tisNeedAnswer: false,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null,\r\n\t\t},\r\n\t\tdata_type: 'float',\r\n\t\texcelValueCol: ['D', 'E', 'F', 'G'],\r\n\t\texcelValueRow: 37,\r\n\t\tpriority: 7,\r\n\t},\r\n\t{\r\n\t\tid: 8,\r\n\t\tno: '1.1.7',\r\n\t\tlabel:\r\n\t\t\t'ความพร้อมในการใช้งานของเครื่องโทรศัพท์สาธารณะ (Payphone Service Availability)',\r\n\t\ttargeted_text:\r\n\t\t\t'ไม่ต่ำกว่าร้อยละ 85 ในเขตต่างจังหวัด (ให้วัดเป็นรายเดือน)',\r\n\t\tsubLabel_1: 'ไม่ต่ำกว่าร้อยละ 85 ในเขตต่างจังหวัด (ให้วัดเป็นรายเดือน)',\r\n\t\tsubLabel_2: null,\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 85,\r\n\t\ttargetCondition: 'ge',\r\n\t\tfilling_condition:\r\n\t\t\t'ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)',\r\n\t\tisNeedAnswer: false,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null,\r\n\t\t},\r\n\t\tdata_type: 'float',\r\n\t\texcelValueCol: ['D', 'E', 'F', 'G'],\r\n\t\texcelValueRow: 38,\r\n\t\tisPayphone: true,\r\n\t\tpriority: 8,\r\n\t},\r\n]\r\n","export const fixed_info_details = [\r\n\t{\r\n\t\tid: 21,\r\n\t\tno: '1.3.1',\r\n\t\tlabel:\r\n\t\t\t'ร้อยละของเวลารวมที่อุปกรณ์กระจายสัญญาณปลายทางไม่สามารถให้บริการได้ใน 1 เดือน (network unavailability : cumulative Last Mile Node outage time in a month ratio)',\r\n\t\ttargeted_text: 'ไม่เกินร้อยละ 1 (ให้วัดเป็นรายเดือน)',\r\n\t\tsubLabel_1: null,\r\n\t\tsubLabel_2: null,\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 1,\r\n\t\ttargetCondition: 'le',\r\n\t\tfilling_condition:\r\n\t\t\t'ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าเป็นทศนิยมได้ และต้องมากกว่าหรือเท่ากับ 0)',\r\n\t\tisNeedAnswer: true,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null,\r\n\t\t},\r\n\t\tdata_type: 'float',\r\n\t\texcelValueCol: ['D', 'E', 'F', 'G'],\r\n\t\texcelValueRow: 7,\r\n\t\tpriority: 21,\r\n\t},\r\n\t{\r\n\t\tid: 22,\r\n\t\tno: '1.3.2',\r\n\t\tlabel: 'ค่า Round Trip Time (RTT)',\r\n\t\ttargeted_text:\r\n\t\t\t'ไม่เกิน 50 ms (ให้พิจารณาช่วงเวลาจากเกณฑ์ร้อยละ 95 ของช่วงเวลาที่มีการใช้งานหนาแน่น)',\r\n\t\tsubLabel_1: null,\r\n\t\tsubLabel_2: null,\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 50,\r\n\t\ttargetCondition: 'le',\r\n\t\tfilling_condition:\r\n\t\t\t'1) ใช้เป็นค่าชี้วัดอ้างอิงในการตรวจสอบคุณภาพการให้บริการเป็นรายกรณี หรือกรณีแก้ไขปัญหาเรื่องร้องเรียน \\n\\t\\t\\t 2) ไม่ต้องจัดส่งรายงานผลการตรวจวัด (รายไตรมาส) ให้สำนักงาน กสทช.',\r\n\t\tisNeedAnswer: false,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null,\r\n\t\t},\r\n\t\tdata_type: 'float',\r\n\t\tpriority: 22,\r\n\t},\r\n\t{\r\n\t\tid: 23,\r\n\t\tno: '1.3.3',\r\n\t\tlabel:\r\n\t\t\t'ความเร็วเฉลี่ยในการส่งข้อมูลแบบ FTP (Average speed of FTP transfers)',\r\n\t\ttargeted_text:\r\n\t\t\t'ไม่ต่ำกว่าร้อยละ 70 ของความเร็วการให้บริการที่ผู้รับใบอนุญาตได้โฆษณาหรือแจ้งให้ผู้ใช้บริการทราบ (ให้พิจารณาช่วงเวลาจากเกณฑ์ร้อยละ 95 ของช่วงเวลาที่มีการใช้งานหนาแน่น)',\r\n\t\tsubLabel_1: null,\r\n\t\tsubLabel_2: null,\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 70,\r\n\t\ttargetCondition: 'ge',\r\n\t\tfilling_condition:\r\n\t\t\t'1) ใช้เป็นค่าชี้วัดอ้างอิงในการตรวจสอบคุณภาพการให้บริการเป็นรายกรณี หรือกรณีแก้ไขปัญหาเรื่องร้องเรียน \\n\\t\\t\\t 2) ไม่ต้องจัดส่งรายงานผลการตรวจวัด (รายไตรมาส) ให้สำนักงาน กสทช.',\r\n\t\tisNeedAnswer: false,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null,\r\n\t\t},\r\n\t\tdata_type: 'float',\r\n\t\tpriority: 23,\r\n\t},\r\n]\r\n","export const fixed_sound_details = [\r\n\t{\r\n\t\tid: 11,\r\n\t\tno: '1.2.1',\r\n\t\tlabel:\r\n\t\t\t'อัตราส่วนการเรียกสำเร็จ (Successful call ratio) กรณีที่เป็นการโทรศัพท์ภายในโครงข่ายของผู้ประกอบการเดียวกัน',\r\n\t\ttargeted_text:\r\n\t\t\t'ไม่ต่ำกว่าร้อยละ 90 วัดเฉลี่ยตลอด 24 ชั่วโมง (ทุกช่วงเวลา) เฉลี่ยทุก 3 เดือน รายงานส่งสำนักงาน กสทช. ทุกไตรมาส',\r\n\t\tsubLabel_1: null,\r\n\t\tsubLabel_2: null,\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 90,\r\n\t\ttargetCondition: 'ge',\r\n\t\tfilling_condition:\r\n\t\t\t'ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)',\r\n\t\tisNeedAnswer: true,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null,\r\n\t\t},\r\n\t\tdata_type: 'float',\r\n\t\texcelValueCol: ['D', 'E', 'F', 'G'],\r\n\t\texcelValueRow: 7,\r\n\t\tpriority: 11,\r\n\t},\r\n\t{\r\n\t\tid: 12,\r\n\t\tno: '1.2.2',\r\n\t\tlabel:\r\n\t\t\t'อัตราส่วนการเรียกสำเร็จ (Successful call ratio) กรณีที่เป็นการโทรข้ามโครงข่ายต่างผู้ประกอบการ',\r\n\t\ttargeted_text:\r\n\t\t\t'ไม่ต่ำกว่าร้อยละ 85 วัดเฉลี่ยตลอด 24 ชั่วโมง (ทุกช่วงเวลา) เฉลี่ยทุก 3 เดือน รายงานส่งสำนักงาน กสทช. ทุกไตรมาส',\r\n\t\tsubLabel_1: null,\r\n\t\tsubLabel_2: null,\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 85,\r\n\t\ttargetCondition: 'ge',\r\n\t\tfilling_condition:\r\n\t\t\t'ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)',\r\n\t\tisNeedAnswer: true,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null,\r\n\t\t},\r\n\t\tdata_type: 'float',\r\n\t\texcelValueCol: ['D', 'E', 'F', 'G'],\r\n\t\texcelValueRow: 12,\r\n\t\tpriority: 12,\r\n\t},\r\n]\r\n","export const mobile_general_details = [\r\n\t{\r\n\t\tid: 31,\r\n\t\tno: '2.1.1',\r\n\t\tlabel: 'ระยะเวลาสำหรับการขอเริ่มเปิดใช้บริการ (Service activation time)',\r\n\t\ttargeted_text:\r\n\t\t\t'สำหรับระบบ Pre-paid ไม่เกิน 3 ชั่วโมง สำหรับร้อยละ 90 ของการขอเริ่มเปิดใช้บริการ (ให้วัดเป็นรายเดือน)',\r\n\t\tsubLabel_1:\r\n\t\t\t'สำหรับระบบ Pre-paid ไม่เกิน 3 ชั่วโมง สำหรับร้อยละ 90 ของการขอเริ่มเปิดใช้บริการ (ให้วัดเป็นรายเดือน)',\r\n\t\tsubLabel_2: null,\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 90,\r\n\t\ttargetCondition: 'ge',\r\n\t\tfilling_condition:\r\n\t\t\t'ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)',\r\n\t\tisNeedAnswer: true,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null,\r\n\t\t},\r\n\t\tdata_type: 'float',\r\n\t\texcelValueCol: ['D', 'E', 'F', 'G'],\r\n\t\texcelValueRow: 7,\r\n\t\tpriority: 31,\r\n\t},\r\n\t{\r\n\t\tid: 32,\r\n\t\tno: '2.1.1',\r\n\t\tlabel: 'ระยะเวลาสำหรับการขอเริ่มเปิดใช้บริการ (Service activation time)',\r\n\t\ttargeted_text:\r\n\t\t\t'สำหรับระบบ Post-paid ไม่เกิน 5 ชั่วโมงทำการ สำหรับร้อยละ 90 ของการขอเริ่มเปิดใช้บริการ (ให้วัดเป็นรายเดือน)',\r\n\t\tsubLabel_1:\r\n\t\t\t'สำหรับระบบ Post-paid ไม่เกิน 5 ชั่วโมงทำการ สำหรับร้อยละ 90 ของการขอเริ่มเปิดใช้บริการ (ให้วัดเป็นรายเดือน)',\r\n\t\tsubLabel_2: null,\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 90,\r\n\t\ttargetCondition: 'ge',\r\n\t\tfilling_condition:\r\n\t\t\t'ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)',\r\n\t\tisNeedAnswer: true,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null,\r\n\t\t},\r\n\t\tdata_type: 'float',\r\n\t\texcelValueCol: ['D', 'E', 'F', 'G'],\r\n\t\texcelValueRow: 11,\r\n\t\tpriority: 32,\r\n\t},\r\n\t{\r\n\t\tid: 33,\r\n\t\tno: '2.1.2',\r\n\t\tlabel:\r\n\t\t\t'อัตราข้อร้องเรียนที่เกี่ยวกับข้อผิดพลาดในการเรียกเก็บค่าบริการ (Billing inaccuracy)',\r\n\t\ttargeted_text: 'ไม่เกินร้อยละ 0.3 (ให้วัดเป็นรายเดือน)',\r\n\t\tsubLabel_1: null,\r\n\t\tsubLabel_2: null,\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 0.3,\r\n\t\ttargetCondition: 'le',\r\n\t\tfilling_condition:\r\n\t\t\t'ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)',\r\n\t\tisNeedAnswer: true,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null,\r\n\t\t},\r\n\t\tdata_type: 'float',\r\n\t\texcelValueCol: ['D', 'E', 'F', 'G'],\r\n\t\texcelValueRow: 16,\r\n\t\tpriority: 33,\r\n\t},\r\n\t{\r\n\t\tid: 34,\r\n\t\tno: '2.1.3',\r\n\t\tlabel:\r\n\t\t\t'ระยะเวลาที่ต้องรอในการขอใช้บริการดูแลลูกค้าจากศูนย์ตอบรับโทรศัพท์ (Response time for accessing customer-service call center)',\r\n\t\ttargeted_text: 'ไม่เกิน 60 วินาที (ให้วัดเป็นรายเดือน)',\r\n\t\tsubLabel_1: null,\r\n\t\tsubLabel_2: null,\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 60,\r\n\t\ttargetCondition: 'le',\r\n\t\tfilling_condition:\r\n\t\t\t'ข้อมูลที่กรอกจะต้องเป็นเลขจำนวนเต็ม และต้องมีค่ามากกว่าหรือเท่ากับ 1-60 วินาที',\r\n\t\tisNeedAnswer: true,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null,\r\n\t\t},\r\n\t\tdata_type: 'int',\r\n\t\texcelValueCol: ['D', 'E', 'F', 'G'],\r\n\t\texcelValueRow: 21,\r\n\t\tpriority: 34,\r\n\t},\r\n\t{\r\n\t\tid: 35,\r\n\t\tno: '2.1.4',\r\n\t\tlabel:\r\n\t\t\t'จำนวนครั้งที่หน่วยรับ-ส่ง สัญญาณวิทยุย่อย (Cell) ภายในสถานีฐาน ไม่สามารถให้บริการได้ ติดต่อกันเกิน 4 ชั่วโมง ใน 1 เดือนต่อจำนวน Cell ทั้งหมดในทุกสถานี (network unavailability : number of cell outages continuously over 4 hours in a month)',\r\n\t\ttargeted_text: 'ไม่เกิน 10 ครั้ง ต่อ 100 Cell ต่อเดือน',\r\n\t\tsubLabel_1: null,\r\n\t\tsubLabel_2: null,\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 10,\r\n\t\ttargetCondition: 'le',\r\n\t\tfilling_condition:\r\n\t\t\t'ข้อมูลที่กรอกจะต้องเป็นเลขจำนวนเต็ม และต้องมีค่ามากกว่าหรือเท่ากับ 0',\r\n\t\tisNeedAnswer: true,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null,\r\n\t\t},\r\n\t\tdata_type: 'int',\r\n\t\texcelValueCol: ['D', 'E', 'F', 'G'],\r\n\t\texcelValueRow: 26,\r\n\t\tpriority: 35,\r\n\t},\r\n\t{\r\n\t\tid: 36,\r\n\t\tno: '2.1.5',\r\n\t\tlabel:\r\n\t\t\t'ร้อยละของจำนวนหน่วยรับ-ส่ง สัญญาณวิทยุย่อย (Cell) ภายในสถานีฐานที่หยุดทำงานสะสมเกินกว่า 24 ชั่วโมง ภายใน 1 เดือน (network unavailability : number of cell outages continuously over 24 hours in a month)',\r\n\t\ttargeted_text: 'ไม่เกินร้อยละ 3 (ให้วัดเป็นรายเดือน)',\r\n\t\tsubLabel_1: null,\r\n\t\tsubLabel_2: null,\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 3,\r\n\t\ttargetCondition: 'le',\r\n\t\tfilling_condition:\r\n\t\t\t'ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)',\r\n\t\tisNeedAnswer: true,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null,\r\n\t\t},\r\n\t\tdata_type: 'float',\r\n\t\texcelValueCol: ['D', 'E', 'F', 'G'],\r\n\t\texcelValueRow: 31,\r\n\t\tpriority: 36,\r\n\t},\r\n\t{\r\n\t\tid: 37,\r\n\t\tno: '2.1.6',\r\n\t\tlabel:\r\n\t\t\t'ร้อยละของเวลารวมที่ทุกหน่วยรับ-ส่ง สัญญาณวิทยุย่อย (Cell) ภายในสถานีฐานไม่สามารถให้บริการได้ใน 1 เดือน ของเวลาที่ต้องให้บริการทั้งหมด (network unavailability : cumulative cell outage time in a month)',\r\n\t\ttargeted_text: 'ไม่เกินร้อยละ 1 (ให้วัดเป็นรายเดือน)',\r\n\t\tsubLabel_1: null,\r\n\t\tsubLabel_2: null,\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 1,\r\n\t\ttargetCondition: 'le',\r\n\t\tfilling_condition:\r\n\t\t\t'ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)',\r\n\t\tisNeedAnswer: true,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null,\r\n\t\t},\r\n\t\tdata_type: 'float',\r\n\t\texcelValueCol: ['D', 'E', 'F', 'G'],\r\n\t\texcelValueRow: 36,\r\n\t\tpriority: 37,\r\n\t},\r\n]\r\n","export const mobile_info_details = [\r\n\t{\r\n\t\tid: 201,\r\n\t\tno: \"2.3.1\",\r\n\t\tlabel: \"อัตราส่วนจำนวนครั้งที่ค่า Round Trip Time (RTT) ต่ำกว่าที่กำหนด\",\r\n\t\ttargeted_text: \"สำหรับ 2G ร้อยละ 80 ไม่เกิน 1,000 ms\",\r\n\t\tsubLabel_1: \"สำหรับ 2G ร้อยละ 80 ไม่เกิน 1,000 ms\",\r\n\t\tsubLabel_2: null,\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 80,\r\n\t\ttargetCondition: \"ge\",\r\n\t\tfilling_condition: \"ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: true,\r\n\t\trecords: {\r\n\t\t\trural_1: null,\r\n\t\t\trural_2: null,\r\n\t\t\turban_1: null,\r\n\t\t\turban_2: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"D\",\r\n\t\t\t\"E\",\r\n\t\t\t\"F\",\r\n\t\t\t\"G\"\r\n\t\t],\r\n\t\texcelValueRow: 8,\r\n\t\tpriority: 201\r\n\t},\r\n\t{\r\n\t\tid: 202,\r\n\t\tno: \"2.3.1\",\r\n\t\tlabel: \"อัตราส่วนจำนวนครั้งที่ค่า Round Trip Time (RTT) ต่ำกว่าที่กำหนด\",\r\n\t\ttargeted_text: \"เทคโนโลยี 3G ไม่น้อยกว่าร้อยละ 80 โดยกำหนดให้ RTT มีค่า 500 มิลลิวินาที\",\r\n\t\tsubLabel_1: \"เทคโนโลยี 3G ไม่น้อยกว่าร้อยละ 80 โดยกำหนดให้ RTT มีค่า 500 มิลลิวินาที\",\r\n\t\tsubLabel_2: null,\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 80,\r\n\t\ttargetCondition: \"ge\",\r\n\t\tfilling_condition: \"ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: true,\r\n\t\trecords: {\r\n\t\t\trural_1: null,\r\n\t\t\trural_2: null,\r\n\t\t\turban_1: null,\r\n\t\t\turban_2: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"D\",\r\n\t\t\t\"E\",\r\n\t\t\t\"F\",\r\n\t\t\t\"G\"\r\n\t\t],\r\n\t\texcelValueRow: 12,\r\n\t\tpriority: 202\r\n\t},\r\n\t{\r\n\t\tid: 327,\r\n\t\tno: \"2.3.1\",\r\n\t\tlabel: \"\",\r\n\t\ttargeted_text: \"\",\r\n\t\tsubLabel_1: \"ค่าเฉลี่ย ms เทคโนโลยี 3G\",\r\n\t\tsubLabel_2: null,\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 0,\r\n\t\ttargetCondition: \"ge\",\r\n\t\tfilling_condition: \"\",\r\n\t\tisNeedAnswer: true,\r\n\t\trecords: {\r\n\t\t\trural_1: null,\r\n\t\t\trural_2: null,\r\n\t\t\turban_1: null,\r\n\t\t\turban_2: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"D\",\r\n\t\t\t\"E\",\r\n\t\t\t\"F\",\r\n\t\t\t\"G\"\r\n\t\t],\r\n\t\texcelValueRow: 14,\r\n\t\tpriority: 202.1\r\n\t},\r\n\t{\r\n\t\tid: 203,\r\n\t\tno: \"2.3.1\",\r\n\t\tlabel: \"อัตราส่วนจำนวนครั้งที่ค่า Round Trip Time (RTT) ต่ำกว่าที่กำหนด\",\r\n\t\ttargeted_text: \"เทคโนโลยี 4G ไม่น้อยกว่าร้อยละ 80 โดยกำหนดให้ RTT มีค่า 150 มิลลิวินาที\",\r\n\t\tsubLabel_1: \"เทคโนโลยี 4G ไม่น้อยกว่าร้อยละ 80 โดยกำหนดให้ RTT มีค่า 150 มิลลิวินาที\",\r\n\t\tsubLabel_2: null,\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 80,\r\n\t\ttargetCondition: \"ge\",\r\n\t\tfilling_condition: \"ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: true,\r\n\t\trecords: {\r\n\t\t\trural_1: null,\r\n\t\t\trural_2: null,\r\n\t\t\turban_1: null,\r\n\t\t\turban_2: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"D\",\r\n\t\t\t\"E\",\r\n\t\t\t\"F\",\r\n\t\t\t\"G\"\r\n\t\t],\r\n\t\texcelValueRow: 16,\r\n\t\tpriority: 203\r\n\t},\r\n\t{\r\n\t\tid: 328,\r\n\t\tno: \"2.3.1\",\r\n\t\tlabel: \"\",\r\n\t\ttargeted_text: \"\",\r\n\t\tsubLabel_1: \"ค่าเฉลี่ย ms เทคโนโลยี 4G\",\r\n\t\tsubLabel_2: null,\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 0,\r\n\t\ttargetCondition: \"ge\",\r\n\t\tfilling_condition: \"\",\r\n\t\tisNeedAnswer: true,\r\n\t\trecords: {\r\n\t\t\trural_1: null,\r\n\t\t\trural_2: null,\r\n\t\t\turban_1: null,\r\n\t\t\turban_2: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"D\",\r\n\t\t\t\"E\",\r\n\t\t\t\"F\",\r\n\t\t\t\"G\"\r\n\t\t],\r\n\t\texcelValueRow: 18,\r\n\t\tpriority: 203.1\r\n\t},\r\n\t{\r\n\t\tid: 337,\r\n\t\tno: \"2.3.1\",\r\n\t\tlabel: \"\",\r\n\t\ttargeted_text: \"\",\r\n\t\tsubLabel_1: \"เทคโนโลยี 5G (พื้นที่)\",\r\n\t\tsubLabel_2: null,\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 0,\r\n\t\ttargetCondition: \"ge\",\r\n\t\tfilling_condition: \"\",\r\n\t\tisNeedAnswer: false,\r\n\t\trecords: {\r\n\t\t\trural_1: null,\r\n\t\t\trural_2: null,\r\n\t\t\turban_1: null,\r\n\t\t\turban_2: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"D\",\r\n\t\t\t\"E\"\r\n\t\t],\r\n\t\texcelValueRow: 20,\r\n\t\tpriority: 203.2\r\n\t},\r\n\t{\r\n\t\tid: 302,\r\n\t\tno: \"2.3.1\",\r\n\t\tlabel: \"อัตราส่วนจำนวนครั้งที่ค่า Round Trip Time (RTT) ต่ำกว่าที่กำหนด\",\r\n\t\ttargeted_text: \"เทคโนโลยี 5G (NSA และ SA ที่ไม่ใช้คลื่นความถี่ 2600 MHz) ไม่น้อยกว่าร้อยละ 80 โดยกำหนดให้ RTT มีค่า 150 มิลลิวินาที\",\r\n\t\tsubLabel_1: \"เทคโนโลยี 5G (NSA และ SA ที่ไม่ใช้คลื่นความถี่ 2600 MHz) ไม่น้อยกว่าร้อยละ 80 โดยกำหนดให้ RTT มีค่า 150 มิลลิวินาที\",\r\n\t\tsubLabel_2: null,\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 80,\r\n\t\ttargetCondition: \"ge\",\r\n\t\tfilling_condition: \"ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: true,\r\n\t\trecords: {\r\n\t\t\trural_1: null,\r\n\t\t\trural_2: null,\r\n\t\t\turban_1: null,\r\n\t\t\turban_2: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"D\",\r\n\t\t\t\"E\"\r\n\t\t],\r\n\t\texcelValueRow: 22,\r\n\t\tpriority: 203.3\r\n\t},\r\n\t{\r\n\t\tid: 329,\r\n\t\tno: \"2.3.1\",\r\n\t\tlabel: \"\",\r\n\t\ttargeted_text: \"\",\r\n\t\tsubLabel_1: \"ค่าเฉลี่ย ms เทคโนโลยี 5G (NSA และ SA ที่ไม่ใช้คลื่นความถี่ 2600 MHz)\",\r\n\t\tsubLabel_2: null,\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 0,\r\n\t\ttargetCondition: \"ge\",\r\n\t\tfilling_condition: \"\",\r\n\t\tisNeedAnswer: true,\r\n\t\trecords: {\r\n\t\t\trural_1: null,\r\n\t\t\trural_2: null,\r\n\t\t\turban_1: null,\r\n\t\t\turban_2: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"D\",\r\n\t\t\t\"E\"\r\n\t\t],\r\n\t\texcelValueRow: 24,\r\n\t\tpriority: 203.4\r\n\t},\r\n\t{\r\n\t\tid: 303,\r\n\t\tno: \"2.3.1\",\r\n\t\tlabel: \"อัตราส่วนจำนวนครั้งที่ค่า Round Trip Time (RTT) ต่ำกว่าที่กำหนด\",\r\n\t\ttargeted_text: \"เทคโนโลยี 5G (SA ที่ใช้คลื่นความถี่ 2600 MHz) ไม่น้อยกว่าร้อยละ 80 โดยกำหนดให้ RTT มีค่า 110 มิลลิวินาที\",\r\n\t\tsubLabel_1: \"เทคโนโลยี 5G (SA ที่ใช้คลื่นความถี่ 2600 MHz) ไม่น้อยกว่าร้อยละ 80 โดยกำหนดให้ RTT มีค่า 110 มิลลิวินาที\",\r\n\t\tsubLabel_2: null,\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 80,\r\n\t\ttargetCondition: \"ge\",\r\n\t\tfilling_condition: \"ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: true,\r\n\t\trecords: {\r\n\t\t\trural_1: null,\r\n\t\t\trural_2: null,\r\n\t\t\turban_1: null,\r\n\t\t\turban_2: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"D\",\r\n\t\t\t\"E\"\r\n\t\t],\r\n\t\texcelValueRow: 26,\r\n\t\tpriority: 203.5\r\n\t},\r\n\t{\r\n\t\tid: 330,\r\n\t\tno: \"2.3.1\",\r\n\t\tlabel: \"\",\r\n\t\ttargeted_text: \"\",\r\n\t\tsubLabel_1: \"ค่าเฉลี่ย ms เทคโนโลยี 5G (SA ที่ใช้คลื่นความถี่ 2600 MHz)\",\r\n\t\tsubLabel_2: null,\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 0,\r\n\t\ttargetCondition: \"ge\",\r\n\t\tfilling_condition: \"\",\r\n\t\tisNeedAnswer: true,\r\n\t\trecords: {\r\n\t\t\trural_1: null,\r\n\t\t\trural_2: null,\r\n\t\t\turban_1: null,\r\n\t\t\turban_2: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"D\",\r\n\t\t\t\"E\"\r\n\t\t],\r\n\t\texcelValueRow: 28,\r\n\t\tpriority: 203.6\r\n\t},\r\n\t{\r\n\t\tid: 204,\r\n\t\tno: \"2.3.2\",\r\n\t\tlabel: \"อัตราส่วนจำนวนครั้งที่รับส่งข้อมูลแบบ FTP ได้สำเร็จ(FTP success ratio)\",\r\n\t\ttargeted_text: \"เทคโนโลยี 3G ไม่น้อยกว่าร้อยละ 80 สำหรับกรณี Download\",\r\n\t\tsubLabel_1: \"เทคโนโลยี 3G ไม่น้อยกว่าร้อยละ 80 สำหรับกรณี Download\",\r\n\t\tsubLabel_2: null,\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 80,\r\n\t\ttargetCondition: \"ge\",\r\n\t\tfilling_condition: \"ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: true,\r\n\t\trecords: {\r\n\t\t\trural_1: null,\r\n\t\t\trural_2: null,\r\n\t\t\turban_1: null,\r\n\t\t\turban_2: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"D\",\r\n\t\t\t\"E\",\r\n\t\t\t\"F\",\r\n\t\t\t\"G\"\r\n\t\t],\r\n\t\texcelValueRow: 31,\r\n\t\tpriority: 204\r\n\t},\r\n\t{\r\n\t\tid: 206,\r\n\t\tno: \"2.3.2\",\r\n\t\tlabel: \"อัตราส่วนจำนวนครั้งที่รับส่งข้อมูลแบบ FTP ได้สำเร็จ(FTP success ratio)\",\r\n\t\ttargeted_text: \"เทคโนโลยี 3G ไม่น้อยกว่าร้อยละ 70 สำหรับกรณี Upload\",\r\n\t\tsubLabel_1: \"เทคโนโลยี 3G ไม่น้อยกว่าร้อยละ 70 สำหรับกรณี Upload\",\r\n\t\tsubLabel_2: null,\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 70,\r\n\t\ttargetCondition: \"ge\",\r\n\t\tfilling_condition: \"ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: true,\r\n\t\trecords: {\r\n\t\t\trural_1: null,\r\n\t\t\trural_2: null,\r\n\t\t\turban_1: null,\r\n\t\t\turban_2: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"D\",\r\n\t\t\t\"E\",\r\n\t\t\t\"F\",\r\n\t\t\t\"G\"\r\n\t\t],\r\n\t\texcelValueRow: 35,\r\n\t\tpriority: 205\r\n\t},\r\n\t{\r\n\t\tid: 205,\r\n\t\tno: \"2.3.2\",\r\n\t\tlabel: \"อัตราส่วนจำนวนครั้งที่รับส่งข้อมูลแบบ FTP ได้สำเร็จ(FTP success ratio)\",\r\n\t\ttargeted_text: \"เทคโนโลยี 4G ไม่น้อยกว่าร้อยละ 80 สำหรับกรณี Download\",\r\n\t\tsubLabel_1: \"เทคโนโลยี 4G ไม่น้อยกว่าร้อยละ 80 สำหรับกรณี Download\",\r\n\t\tsubLabel_2: null,\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 80,\r\n\t\ttargetCondition: \"ge\",\r\n\t\tfilling_condition: \"ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: true,\r\n\t\trecords: {\r\n\t\t\trural_1: null,\r\n\t\t\trural_2: null,\r\n\t\t\turban_1: null,\r\n\t\t\turban_2: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"D\",\r\n\t\t\t\"E\",\r\n\t\t\t\"F\",\r\n\t\t\t\"G\"\r\n\t\t],\r\n\t\texcelValueRow: 39,\r\n\t\tpriority: 206\r\n\t},\r\n\t{\r\n\t\tid: 207,\r\n\t\tno: \"2.3.2\",\r\n\t\tlabel: \"อัตราส่วนจำนวนครั้งที่รับส่งข้อมูลแบบ FTP ได้สำเร็จ(FTP success ratio)\",\r\n\t\ttargeted_text: \"เทคโนโลยี 4G ไม่น้อยกว่าร้อยละ 70 สำหรับกรณี Upload\",\r\n\t\tsubLabel_1: \"เทคโนโลยี 4G ไม่น้อยกว่าร้อยละ 70 สำหรับกรณี Upload\",\r\n\t\tsubLabel_2: null,\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 70,\r\n\t\ttargetCondition: \"ge\",\r\n\t\tfilling_condition: \"ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: true,\r\n\t\trecords: {\r\n\t\t\trural_1: null,\r\n\t\t\trural_2: null,\r\n\t\t\turban_1: null,\r\n\t\t\turban_2: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"D\",\r\n\t\t\t\"E\",\r\n\t\t\t\"F\",\r\n\t\t\t\"G\"\r\n\t\t],\r\n\t\texcelValueRow: 43,\r\n\t\tpriority: 207\r\n\t},\r\n\t{\r\n\t\tid: 338,\r\n\t\tno: \"2.3.2\",\r\n\t\tlabel: \"\",\r\n\t\ttargeted_text: \"\",\r\n\t\tsubLabel_1: \"เทคโนโลยี 5G (พื้นที่)\",\r\n\t\tsubLabel_2: null,\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 0,\r\n\t\ttargetCondition: \"ge\",\r\n\t\tfilling_condition: \"\",\r\n\t\tisNeedAnswer: false,\r\n\t\trecords: {\r\n\t\t\trural_1: null,\r\n\t\t\trural_2: null,\r\n\t\t\turban_1: null,\r\n\t\t\turban_2: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"D\",\r\n\t\t\t\"E\"\r\n\t\t],\r\n\t\texcelValueRow: 47,\r\n\t\tpriority: 207.1\r\n\t},\r\n\t{\r\n\t\tid: 304,\r\n\t\tno: \"2.3.2\",\r\n\t\tlabel: \"อัตราส่วนจำนวนครั้งที่รับส่งข้อมูลแบบ FTP ได้สำเร็จ(FTP success ratio)\",\r\n\t\ttargeted_text: \"เทคโนโลยี 5G (ที่ไม่ใช้คลื่นความถี่ 2600 MHz) ไม่น้อยกว่าร้อยละ 80 สำหรับกรณี Download\",\r\n\t\tsubLabel_1: \"เทคโนโลยี 5G (ที่ไม่ใช้คลื่นความถี่ 2600 MHz) ไม่น้อยกว่าร้อยละ 80 สำหรับกรณี Download\",\r\n\t\tsubLabel_2: null,\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 80,\r\n\t\ttargetCondition: \"ge\",\r\n\t\tfilling_condition: \"ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: true,\r\n\t\trecords: {\r\n\t\t\trural_1: null,\r\n\t\t\trural_2: null,\r\n\t\t\turban_1: null,\r\n\t\t\turban_2: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"D\",\r\n\t\t\t\"E\"\r\n\t\t],\r\n\t\texcelValueRow: 51,\r\n\t\tpriority: 207.2\r\n\t},\r\n\t{\r\n\t\tid: 305,\r\n\t\tno: \"2.3.2\",\r\n\t\tlabel: \"อัตราส่วนจำนวนครั้งที่รับส่งข้อมูลแบบ FTP ได้สำเร็จ(FTP success ratio)\",\r\n\t\ttargeted_text: \"เทคโนโลยี 5G (ที่ไม่ใช้คลื่นความถี่ 2600 MHz) ไม่น้อยกว่าร้อยละ 70 สำหรับกรณี Upload\",\r\n\t\tsubLabel_1: \"เทคโนโลยี 5G (ที่ไม่ใช้คลื่นความถี่ 2600 MHz) ไม่น้อยกว่าร้อยละ 70 สำหรับกรณี Upload\",\r\n\t\tsubLabel_2: null,\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 70,\r\n\t\ttargetCondition: \"ge\",\r\n\t\tfilling_condition: \"ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: true,\r\n\t\trecords: {\r\n\t\t\trural_1: null,\r\n\t\t\trural_2: null,\r\n\t\t\turban_1: null,\r\n\t\t\turban_2: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"D\",\r\n\t\t\t\"E\"\r\n\t\t],\r\n\t\texcelValueRow: 55,\r\n\t\tpriority: 207.3\r\n\t},\r\n\t{\r\n\t\tid: 306,\r\n\t\tno: \"2.3.2\",\r\n\t\tlabel: \"อัตราส่วนจำนวนครั้งที่รับส่งข้อมูลแบบ FTP ได้สำเร็จ(FTP success ratio)\",\r\n\t\ttargeted_text: \"เทคโนโลยี 5G (ที่ใช้คลื่นความถี่ 2600 MHz) ไม่น้อยกว่าร้อยละ 80 สำหรับกรณี Download\",\r\n\t\tsubLabel_1: \"เทคโนโลยี 5G (ที่ใช้คลื่นความถี่ 2600 MHz) ไม่น้อยกว่าร้อยละ 80 สำหรับกรณี Download\",\r\n\t\tsubLabel_2: null,\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 80,\r\n\t\ttargetCondition: \"ge\",\r\n\t\tfilling_condition: \"ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: true,\r\n\t\trecords: {\r\n\t\t\trural_1: null,\r\n\t\t\trural_2: null,\r\n\t\t\turban_1: null,\r\n\t\t\turban_2: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"D\",\r\n\t\t\t\"E\"\r\n\t\t],\r\n\t\texcelValueRow: 59,\r\n\t\tpriority: 207.4\r\n\t},\r\n\t{\r\n\t\tid: 307,\r\n\t\tno: \"2.3.2\",\r\n\t\tlabel: \"อัตราส่วนจำนวนครั้งที่รับส่งข้อมูลแบบ FTP ได้สำเร็จ(FTP success ratio)\",\r\n\t\ttargeted_text: \"เทคโนโลยี 5G (ที่ใช้คลื่นความถี่ 2600 MHz) ไม่น้อยกว่าร้อยละ 70 สำหรับกรณี Upload\",\r\n\t\tsubLabel_1: \"เทคโนโลยี 5G (ที่ใช้คลื่นความถี่ 2600 MHz) ไม่น้อยกว่าร้อยละ 70 สำหรับกรณี Upload\",\r\n\t\tsubLabel_2: null,\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 70,\r\n\t\ttargetCondition: \"ge\",\r\n\t\tfilling_condition: \"ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: true,\r\n\t\trecords: {\r\n\t\t\trural_1: null,\r\n\t\t\trural_2: null,\r\n\t\t\turban_1: null,\r\n\t\t\turban_2: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"D\",\r\n\t\t\t\"E\"\r\n\t\t],\r\n\t\texcelValueRow: 63,\r\n\t\tpriority: 207.5\r\n\t},\r\n\t{\r\n\t\tid: 208,\r\n\t\tno: \"2.3.3\",\r\n\t\tlabel: \"อัตราส่วนจำนวนครั้งที่รับส่งข้อมูลแบบ FTP ได้ไม่ต่ำกว่าอัตราบิตที่กำหนด (FTP ratio subjected to specified bit rate)\",\r\n\t\ttargeted_text: \"เทคโนโลยี 3G ไม่น้อยกว่าร้อยละ 75 โดยกำหนดให้อัตราบิต (Bitrate) มีค่า 750 กิโลบิตต่อวินาที สำหรับกรณี Download\",\r\n\t\tsubLabel_1: \"เทคโนโลยี 3G ไม่น้อยกว่าร้อยละ 75 โดยกำหนดให้อัตราบิต (Bitrate) มีค่า 750 กิโลบิตต่อวินาที สำหรับกรณี Download\",\r\n\t\tsubLabel_2: null,\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 75,\r\n\t\ttargetCondition: \"ge\",\r\n\t\tfilling_condition: \"ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: true,\r\n\t\trecords: {\r\n\t\t\trural_1: null,\r\n\t\t\trural_2: null,\r\n\t\t\turban_1: null,\r\n\t\t\turban_2: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"D\",\r\n\t\t\t\"E\",\r\n\t\t\t\"F\",\r\n\t\t\t\"G\"\r\n\t\t],\r\n\t\texcelValueRow: 68,\r\n\t\tpriority: 208\r\n\t},\r\n\t{\r\n\t\tid: 223,\r\n\t\tno: \"2.3.3\",\r\n\t\tlabel: \"\",\r\n\t\ttargeted_text: \"\",\r\n\t\tsubLabel_1: \"ความเร็วเฉลี่ย (Mbps) เทคโนโลยี 3G สำหรับกรณี Download\",\r\n\t\tsubLabel_2: null,\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 0,\r\n\t\ttargetCondition: \"ge\",\r\n\t\tfilling_condition: \"\",\r\n\t\tisNeedAnswer: true,\r\n\t\trecords: {\r\n\t\t\trural_1: null,\r\n\t\t\trural_2: null,\r\n\t\t\turban_1: null,\r\n\t\t\turban_2: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"D\",\r\n\t\t\t\"E\",\r\n\t\t\t\"F\",\r\n\t\t\t\"G\"\r\n\t\t],\r\n\t\texcelValueRow: 72,\r\n\t\tpriority: 208.1\r\n\t},\r\n\t{\r\n\t\tid: 210,\r\n\t\tno: \"2.3.3\",\r\n\t\tlabel: \"อัตราส่วนจำนวนครั้งที่รับส่งข้อมูลแบบ FTP ได้ไม่ต่ำกว่าอัตราบิตที่กำหนด (FTP ratio subjected to specified bit rate)\",\r\n\t\ttargeted_text: \"เทคโนโลยี 3G ไม่น้อยกว่าร้อยละ 75 โดยกำหนดให้อัตราบิต (Bitrate) มีค่า 300 กิโลบิตต่อวินาที สำหรับกรณี Upload\",\r\n\t\tsubLabel_1: \"เทคโนโลยี 3G ไม่น้อยกว่าร้อยละ 75 โดยกำหนดให้อัตราบิต (Bitrate) มีค่า 300 กิโลบิตต่อวินาที สำหรับกรณี Upload\",\r\n\t\tsubLabel_2: null,\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 75,\r\n\t\ttargetCondition: \"ge\",\r\n\t\tfilling_condition: \"ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: true,\r\n\t\trecords: {\r\n\t\t\trural_1: null,\r\n\t\t\trural_2: null,\r\n\t\t\turban_1: null,\r\n\t\t\turban_2: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"D\",\r\n\t\t\t\"E\",\r\n\t\t\t\"F\",\r\n\t\t\t\"G\"\r\n\t\t],\r\n\t\texcelValueRow: 76,\r\n\t\tpriority: 209\r\n\t},\r\n\t{\r\n\t\tid: 225,\r\n\t\tno: \"2.3.3\",\r\n\t\tlabel: \"\",\r\n\t\ttargeted_text: \"\",\r\n\t\tsubLabel_1: \"ความเร็วเฉลี่ย (Mbps) เทคโนโลยี 3G สำหรับกรณี Upload\",\r\n\t\tsubLabel_2: null,\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 0,\r\n\t\ttargetCondition: \"ge\",\r\n\t\tfilling_condition: \"\",\r\n\t\tisNeedAnswer: true,\r\n\t\trecords: {\r\n\t\t\trural_1: null,\r\n\t\t\trural_2: null,\r\n\t\t\turban_1: null,\r\n\t\t\turban_2: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"D\",\r\n\t\t\t\"E\",\r\n\t\t\t\"F\",\r\n\t\t\t\"G\"\r\n\t\t],\r\n\t\texcelValueRow: 80,\r\n\t\tpriority: 209.1\r\n\t},\r\n\t{\r\n\t\tid: 209,\r\n\t\tno: \"2.3.3\",\r\n\t\tlabel: \"อัตราส่วนจำนวนครั้งที่รับส่งข้อมูลแบบ FTP ได้ไม่ต่ำกว่าอัตราบิตที่กำหนด (FTP ratio subjected to specified bit rate)\",\r\n\t\ttargeted_text: \"เทคโนโลยี 4G ไม่น้อยกว่าร้อยละ 75 โดยกำหนดให้อัตราบิต (Bitrate) มีค่า 2.5 เมกะบิตต่อวินาที สำหรับกรณี Download\",\r\n\t\tsubLabel_1: \"เทคโนโลยี 4G ไม่น้อยกว่าร้อยละ 75 โดยกำหนดให้อัตราบิต (Bitrate) มีค่า 2.5 เมกะบิตต่อวินาที สำหรับกรณี Download\",\r\n\t\tsubLabel_2: null,\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 75,\r\n\t\ttargetCondition: \"ge\",\r\n\t\tfilling_condition: \"ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: true,\r\n\t\trecords: {\r\n\t\t\trural_1: null,\r\n\t\t\trural_2: null,\r\n\t\t\turban_1: null,\r\n\t\t\turban_2: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"D\",\r\n\t\t\t\"E\",\r\n\t\t\t\"F\",\r\n\t\t\t\"G\"\r\n\t\t],\r\n\t\texcelValueRow: 84,\r\n\t\tpriority: 210\r\n\t},\r\n\t{\r\n\t\tid: 224,\r\n\t\tno: \"2.3.3\",\r\n\t\tlabel: \"\",\r\n\t\ttargeted_text: \"\",\r\n\t\tsubLabel_1: \"ความเร็วเฉลี่ย (Mbps) เทคโนโลยี 4G สำหรับกรณี Download\",\r\n\t\tsubLabel_2: null,\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 0,\r\n\t\ttargetCondition: \"ge\",\r\n\t\tfilling_condition: \"\",\r\n\t\tisNeedAnswer: true,\r\n\t\trecords: {\r\n\t\t\trural_1: null,\r\n\t\t\trural_2: null,\r\n\t\t\turban_1: null,\r\n\t\t\turban_2: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"D\",\r\n\t\t\t\"E\",\r\n\t\t\t\"F\",\r\n\t\t\t\"G\"\r\n\t\t],\r\n\t\texcelValueRow: 88,\r\n\t\tpriority: 210.1\r\n\t},\r\n\t{\r\n\t\tid: 211,\r\n\t\tno: \"2.3.3\",\r\n\t\tlabel: \"อัตราส่วนจำนวนครั้งที่รับส่งข้อมูลแบบ FTP ได้ไม่ต่ำกว่าอัตราบิตที่กำหนด (FTP ratio subjected to specified bit rate)\",\r\n\t\ttargeted_text: \"เทคโนโลยี 4G ไม่น้อยกว่าร้อยละ 75 โดยกำหนดให้อัตราบิต (Bitrate) มีค่า 500 กิโลบิตต่อวินาที สำหรับกรณี Upload\",\r\n\t\tsubLabel_1: \"เทคโนโลยี 4G ไม่น้อยกว่าร้อยละ 75 โดยกำหนดให้อัตราบิต (Bitrate) มีค่า 500 กิโลบิตต่อวินาที สำหรับกรณี Upload\",\r\n\t\tsubLabel_2: null,\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 75,\r\n\t\ttargetCondition: \"ge\",\r\n\t\tfilling_condition: \"ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: true,\r\n\t\trecords: {\r\n\t\t\trural_1: null,\r\n\t\t\trural_2: null,\r\n\t\t\turban_1: null,\r\n\t\t\turban_2: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"D\",\r\n\t\t\t\"E\",\r\n\t\t\t\"F\",\r\n\t\t\t\"G\"\r\n\t\t],\r\n\t\texcelValueRow: 92,\r\n\t\tpriority: 211\r\n\t},\r\n\t{\r\n\t\tid: 226,\r\n\t\tno: \"2.3.3\",\r\n\t\tlabel: \"\",\r\n\t\ttargeted_text: \"\",\r\n\t\tsubLabel_1: \"ความเร็วเฉลี่ย (Mbps) เทคโนโลยี 4G สำหรับกรณี Upload\",\r\n\t\tsubLabel_2: null,\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 0,\r\n\t\ttargetCondition: \"ge\",\r\n\t\tfilling_condition: \"\",\r\n\t\tisNeedAnswer: true,\r\n\t\trecords: {\r\n\t\t\trural_1: null,\r\n\t\t\trural_2: null,\r\n\t\t\turban_1: null,\r\n\t\t\turban_2: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"D\",\r\n\t\t\t\"E\",\r\n\t\t\t\"F\",\r\n\t\t\t\"G\"\r\n\t\t],\r\n\t\texcelValueRow: 96,\r\n\t\tpriority: 211.1\r\n\t},\r\n\t{\r\n\t\tid: 339,\r\n\t\tno: \"2.3.3\",\r\n\t\tlabel: \"\",\r\n\t\ttargeted_text: \"\",\r\n\t\tsubLabel_1: \"เทคโนโลยี 5G (พื้นที่)\",\r\n\t\tsubLabel_2: null,\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 0,\r\n\t\ttargetCondition: \"ge\",\r\n\t\tfilling_condition: \"\",\r\n\t\tisNeedAnswer: false,\r\n\t\trecords: {\r\n\t\t\trural_1: null,\r\n\t\t\trural_2: null,\r\n\t\t\turban_1: null,\r\n\t\t\turban_2: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"D\",\r\n\t\t\t\"E\"\r\n\t\t],\r\n\t\texcelValueRow: 100,\r\n\t\tpriority: 211.2\r\n\t},\r\n\t{\r\n\t\tid: 308,\r\n\t\tno: \"2.3.3\",\r\n\t\tlabel: \"อัตราส่วนจำนวนครั้งที่รับส่งข้อมูลแบบ FTP ได้ไม่ต่ำกว่าอัตราบิตที่กำหนด (FTP ratio subjected to specified bit rate)\",\r\n\t\ttargeted_text: \"เทคโนโลยี 5G (ที่ไม่ใช้คลื่นความถี่ 2600 MHz) ไม่น้อยกว่าร้อยละ 75 โดยกำหนดให้อัตราบิต (Bitrate) มีค่า 2.5 เมกะบิตต่อวินาที สำหรับกรณี Download\",\r\n\t\tsubLabel_1: \"เทคโนโลยี 5G (ที่ไม่ใช้คลื่นความถี่ 2600 MHz) ไม่น้อยกว่าร้อยละ 75 โดยกำหนดให้อัตราบิต (Bitrate) มีค่า 2.5 เมกะบิตต่อวินาที สำหรับกรณี Download\",\r\n\t\tsubLabel_2: null,\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 75,\r\n\t\ttargetCondition: \"ge\",\r\n\t\tfilling_condition: \"ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: true,\r\n\t\trecords: {\r\n\t\t\trural_1: null,\r\n\t\t\trural_2: null,\r\n\t\t\turban_1: null,\r\n\t\t\turban_2: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"D\",\r\n\t\t\t\"E\"\r\n\t\t],\r\n\t\texcelValueRow: 104,\r\n\t\tpriority: 211.3\r\n\t},\r\n\t{\r\n\t\tid: 309,\r\n\t\tno: \"2.3.3\",\r\n\t\tlabel: \"\",\r\n\t\ttargeted_text: \"\",\r\n\t\tsubLabel_1: \"ความเร็วเฉลี่ย (Mbps) เทคโนโลยี 5G (ที่ไม่ใช้คลื่นความถี่ 2600 MHz) สำหรับกรณี Download\",\r\n\t\tsubLabel_2: null,\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 0,\r\n\t\ttargetCondition: \"ge\",\r\n\t\tfilling_condition: \"\",\r\n\t\tisNeedAnswer: true,\r\n\t\trecords: {\r\n\t\t\trural_1: null,\r\n\t\t\trural_2: null,\r\n\t\t\turban_1: null,\r\n\t\t\turban_2: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"D\",\r\n\t\t\t\"E\"\r\n\t\t],\r\n\t\texcelValueRow: 108,\r\n\t\tpriority: 211.4\r\n\t},\r\n\t{\r\n\t\tid: 310,\r\n\t\tno: \"2.3.3\",\r\n\t\tlabel: \"อัตราส่วนจำนวนครั้งที่รับส่งข้อมูลแบบ FTP ได้ไม่ต่ำกว่าอัตราบิตที่กำหนด (FTP ratio subjected to specified bit rate)\",\r\n\t\ttargeted_text: \"เทคโนโลยี 5G (ที่ไม่ใช้คลื่นความถี่ 2600 MHz) ไม่น้อยกว่าร้อยละ 75 โดยกำหนดให้อัตราบิต (Bitrate) มีค่า 500 กิโลบิตต่อวินาที สำหรับกรณี Upload\",\r\n\t\tsubLabel_1: \"เทคโนโลยี 5G (ที่ไม่ใช้คลื่นความถี่ 2600 MHz) ไม่น้อยกว่าร้อยละ 75 โดยกำหนดให้อัตราบิต (Bitrate) มีค่า 500 กิโลบิตต่อวินาที สำหรับกรณี Upload\",\r\n\t\tsubLabel_2: null,\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 75,\r\n\t\ttargetCondition: \"ge\",\r\n\t\tfilling_condition: \"ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: true,\r\n\t\trecords: {\r\n\t\t\trural_1: null,\r\n\t\t\trural_2: null,\r\n\t\t\turban_1: null,\r\n\t\t\turban_2: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"D\",\r\n\t\t\t\"E\"\r\n\t\t],\r\n\t\texcelValueRow: 112,\r\n\t\tpriority: 211.5\r\n\t},\r\n\t{\r\n\t\tid: 311,\r\n\t\tno: \"2.3.3\",\r\n\t\tlabel: \"\",\r\n\t\ttargeted_text: \"\",\r\n\t\tsubLabel_1: \"ความเร็วเฉลี่ย (Mbps) เทคโนโลยี 5G (ที่ไม่ใช้คลื่นความถี่ 2600 MHz) สำหรับกรณี Upload\",\r\n\t\tsubLabel_2: null,\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 0,\r\n\t\ttargetCondition: \"ge\",\r\n\t\tfilling_condition: \"\",\r\n\t\tisNeedAnswer: true,\r\n\t\trecords: {\r\n\t\t\trural_1: null,\r\n\t\t\trural_2: null,\r\n\t\t\turban_1: null,\r\n\t\t\turban_2: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"D\",\r\n\t\t\t\"E\"\r\n\t\t],\r\n\t\texcelValueRow: 116,\r\n\t\tpriority: 211.6\r\n\t},\r\n\t{\r\n\t\tid: 312,\r\n\t\tno: \"2.3.3\",\r\n\t\tlabel: \"อัตราส่วนจำนวนครั้งที่รับส่งข้อมูลแบบ FTP ได้ไม่ต่ำกว่าอัตราบิตที่กำหนด (FTP ratio subjected to specified bit rate)\",\r\n\t\ttargeted_text: \"เทคโนโลยี 5G (ที่ใช้คลื่นความถี่ 2600 MHz) ไม่น้อยกว่าร้อยละ 75 โดยกำหนดให้อัตราบิต (Bitrate) มีค่า 5 เมกะบิตต่อวินาที สำหรับกรณี Download\",\r\n\t\tsubLabel_1: \"เทคโนโลยี 5G (ที่ใช้คลื่นความถี่ 2600 MHz) ไม่น้อยกว่าร้อยละ 75 โดยกำหนดให้อัตราบิต (Bitrate) มีค่า 5 เมกะบิตต่อวินาที สำหรับกรณี Download\",\r\n\t\tsubLabel_2: null,\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 75,\r\n\t\ttargetCondition: \"ge\",\r\n\t\tfilling_condition: \"ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: true,\r\n\t\trecords: {\r\n\t\t\trural_1: null,\r\n\t\t\trural_2: null,\r\n\t\t\turban_1: null,\r\n\t\t\turban_2: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"D\",\r\n\t\t\t\"E\"\r\n\t\t],\r\n\t\texcelValueRow: 120,\r\n\t\tpriority: 211.7\r\n\t},\r\n\t{\r\n\t\tid: 313,\r\n\t\tno: \"2.3.3\",\r\n\t\tlabel: \"\",\r\n\t\ttargeted_text: \"\",\r\n\t\tsubLabel_1: \"ความเร็วเฉลี่ย (Mbps) เทคโนโลยี 5G (ที่ไม่ใช้คลื่นความถี่ 2600 MHz) สำหรับกรณี Download\",\r\n\t\tsubLabel_2: null,\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 0,\r\n\t\ttargetCondition: \"ge\",\r\n\t\tfilling_condition: \"\",\r\n\t\tisNeedAnswer: true,\r\n\t\trecords: {\r\n\t\t\trural_1: null,\r\n\t\t\trural_2: null,\r\n\t\t\turban_1: null,\r\n\t\t\turban_2: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"D\",\r\n\t\t\t\"E\"\r\n\t\t],\r\n\t\texcelValueRow: 124,\r\n\t\tpriority: 211.8\r\n\t},\r\n\t{\r\n\t\tid: 314,\r\n\t\tno: \"2.3.3\",\r\n\t\tlabel: \"อัตราส่วนจำนวนครั้งที่รับส่งข้อมูลแบบ FTP ได้ไม่ต่ำกว่าอัตราบิตที่กำหนด (FTP ratio subjected to specified bit rate)\",\r\n\t\ttargeted_text: \"เทคโนโลยี 5G (ที่ใช้คลื่นความถี่ 2600 MHz) ไม่น้อยกว่าร้อยละ 75 โดยกำหนดให้อัตราบิต (Bitrate) มีค่า 1.25 เมกะบิตต่อวินาที สำหรับกรณี Upload\",\r\n\t\tsubLabel_1: \"เทคโนโลยี 5G (ที่ใช้คลื่นความถี่ 2600 MHz) ไม่น้อยกว่าร้อยละ 75 โดยกำหนดให้อัตราบิต (Bitrate) มีค่า 1.25 เมกะบิตต่อวินาที สำหรับกรณี Upload\",\r\n\t\tsubLabel_2: null,\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 75,\r\n\t\ttargetCondition: \"ge\",\r\n\t\tfilling_condition: \"ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: true,\r\n\t\trecords: {\r\n\t\t\trural_1: null,\r\n\t\t\trural_2: null,\r\n\t\t\turban_1: null,\r\n\t\t\turban_2: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"D\",\r\n\t\t\t\"E\"\r\n\t\t],\r\n\t\texcelValueRow: 128,\r\n\t\tpriority: 211.9\r\n\t},\r\n\t{\r\n\t\tid: 315,\r\n\t\tno: \"2.3.3\",\r\n\t\tlabel: \"\",\r\n\t\ttargeted_text: \"\",\r\n\t\tsubLabel_1: \"ความเร็วเฉลี่ย (Mbps) เทคโนโลยี 5G (ที่ใช้คลื่นความถี่ 2600 MHz) สำหรับกรณี Upload\",\r\n\t\tsubLabel_2: null,\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 0,\r\n\t\ttargetCondition: \"ge\",\r\n\t\tfilling_condition: \"\",\r\n\t\tisNeedAnswer: true,\r\n\t\trecords: {\r\n\t\t\trural_1: null,\r\n\t\t\trural_2: null,\r\n\t\t\turban_1: null,\r\n\t\t\turban_2: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"D\",\r\n\t\t\t\"E\"\r\n\t\t],\r\n\t\texcelValueRow: 132,\r\n\t\tpriority: 211.91\r\n\t},\r\n\t{\r\n\t\tid: 212,\r\n\t\tno: \"2.3.4\",\r\n\t\tlabel: \"อัตราส่วนจำนวนครั้งที่ HTTP โหลดได้ไม่ต่ำกว่าเวลาที่กำหนด (HTTP ratio subjected to specified time duration)\",\r\n\t\ttargeted_text: \"เทคโนโลยี 2G ไม่น้อยกว่าร้อยละ 80 โดยมีเวลาที่กำหนดเท่ากับ 10 นาที\",\r\n\t\tsubLabel_1: \"เทคโนโลยี 2G ไม่น้อยกว่าร้อยละ 80 โดยมีเวลาที่กำหนดเท่ากับ 10 นาที\",\r\n\t\tsubLabel_2: null,\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 80,\r\n\t\ttargetCondition: \"ge\",\r\n\t\tfilling_condition: \"ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: true,\r\n\t\trecords: {\r\n\t\t\trural_1: null,\r\n\t\t\trural_2: null,\r\n\t\t\turban_1: null,\r\n\t\t\turban_2: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"D\",\r\n\t\t\t\"E\",\r\n\t\t\t\"F\",\r\n\t\t\t\"G\"\r\n\t\t],\r\n\t\texcelValueRow: 137,\r\n\t\tpriority: 212\r\n\t},\r\n\t{\r\n\t\tid: 213,\r\n\t\tno: \"2.3.4\",\r\n\t\tlabel: \"อัตราส่วนจำนวนครั้งที่ HTTP โหลดได้ไม่ต่ำกว่าเวลาที่กำหนด (HTTP ratio subjected to specified time duration)\",\r\n\t\ttargeted_text: \"เทคโนโลยี 3G ไม่น้อยกว่าร้อยละ 90 โดยมีเวลาที่กำหนดเท่ากับ 3 นาที\",\r\n\t\tsubLabel_1: \"เทคโนโลยี 3G ไม่น้อยกว่าร้อยละ 90 โดยมีเวลาที่กำหนดเท่ากับ 3 นาที\",\r\n\t\tsubLabel_2: null,\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 90,\r\n\t\ttargetCondition: \"ge\",\r\n\t\tfilling_condition: \"ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: true,\r\n\t\trecords: {\r\n\t\t\trural_1: null,\r\n\t\t\trural_2: null,\r\n\t\t\turban_1: null,\r\n\t\t\turban_2: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"D\",\r\n\t\t\t\"E\",\r\n\t\t\t\"F\",\r\n\t\t\t\"G\"\r\n\t\t],\r\n\t\texcelValueRow: 141,\r\n\t\tpriority: 213\r\n\t},\r\n\t{\r\n\t\tid: 331,\r\n\t\tno: \"2.3.4\",\r\n\t\tlabel: \"\",\r\n\t\ttargeted_text: \"\",\r\n\t\tsubLabel_1: \"ค่าเฉลี่ย ms เทคโนโลยี 3G\",\r\n\t\tsubLabel_2: null,\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 0,\r\n\t\ttargetCondition: \"ge\",\r\n\t\tfilling_condition: \"\",\r\n\t\tisNeedAnswer: true,\r\n\t\trecords: {\r\n\t\t\trural_1: null,\r\n\t\t\trural_2: null,\r\n\t\t\turban_1: null,\r\n\t\t\turban_2: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"D\",\r\n\t\t\t\"E\",\r\n\t\t\t\"F\",\r\n\t\t\t\"G\"\r\n\t\t],\r\n\t\texcelValueRow: 143,\r\n\t\tpriority: 213.1\r\n\t},\r\n\t{\r\n\t\tid: 214,\r\n\t\tno: \"2.3.4\",\r\n\t\tlabel: \"อัตราส่วนจำนวนครั้งที่ HTTP โหลดได้ไม่ต่ำกว่าเวลาที่กำหนด (HTTP ratio subjected to specified time duration)\",\r\n\t\ttargeted_text: \"เทคโนโลยี 4G ไม่น้อยกว่าร้อยละ 90 โดยมีเวลาที่กำหนดเท่ากับ 1 นาที\",\r\n\t\tsubLabel_1: \"เทคโนโลยี 4G ไม่น้อยกว่าร้อยละ 90 โดยมีเวลาที่กำหนดเท่ากับ 1 นาที\",\r\n\t\tsubLabel_2: null,\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 90,\r\n\t\ttargetCondition: \"ge\",\r\n\t\tfilling_condition: \"ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: true,\r\n\t\trecords: {\r\n\t\t\trural_1: null,\r\n\t\t\trural_2: null,\r\n\t\t\turban_1: null,\r\n\t\t\turban_2: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"D\",\r\n\t\t\t\"E\",\r\n\t\t\t\"F\",\r\n\t\t\t\"G\"\r\n\t\t],\r\n\t\texcelValueRow: 145,\r\n\t\tpriority: 214\r\n\t},\r\n\t{\r\n\t\tid: 332,\r\n\t\tno: \"2.3.4\",\r\n\t\tlabel: \"\",\r\n\t\ttargeted_text: \"\",\r\n\t\tsubLabel_1: \"ค่าเฉลี่ย ms เทคโนโลยี 4G\",\r\n\t\tsubLabel_2: null,\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 0,\r\n\t\ttargetCondition: \"ge\",\r\n\t\tfilling_condition: \"\",\r\n\t\tisNeedAnswer: true,\r\n\t\trecords: {\r\n\t\t\trural_1: null,\r\n\t\t\trural_2: null,\r\n\t\t\turban_1: null,\r\n\t\t\turban_2: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"D\",\r\n\t\t\t\"E\",\r\n\t\t\t\"F\",\r\n\t\t\t\"G\"\r\n\t\t],\r\n\t\texcelValueRow: 147,\r\n\t\tpriority: 214.1\r\n\t},\r\n\t{\r\n\t\tid: 340,\r\n\t\tno: \"2.3.4\",\r\n\t\tlabel: \"\",\r\n\t\ttargeted_text: \"\",\r\n\t\tsubLabel_1: \"เทคโนโลยี 5G (พื้นที่)\",\r\n\t\tsubLabel_2: null,\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 0,\r\n\t\ttargetCondition: \"ge\",\r\n\t\tfilling_condition: \"\",\r\n\t\tisNeedAnswer: false,\r\n\t\trecords: {\r\n\t\t\trural_1: null,\r\n\t\t\trural_2: null,\r\n\t\t\turban_1: null,\r\n\t\t\turban_2: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"D\",\r\n\t\t\t\"E\"\r\n\t\t],\r\n\t\texcelValueRow: 149,\r\n\t\tpriority: 214.2\r\n\t},\r\n\t{\r\n\t\tid: 316,\r\n\t\tno: \"2.3.4\",\r\n\t\tlabel: \"อัตราส่วนจำนวนครั้งที่ HTTP โหลดได้ไม่ต่ำกว่าเวลาที่กำหนด (HTTP ratio subjected to specified time duration)\",\r\n\t\ttargeted_text: \"เทคโนโลยี 5G (NSA และ SA ที่ไม่ใช้คลื่นความถี่ 2600 MHz) ไม่น้อยกว่าร้อยละ 90 โดยมีเวลาที่กำหนดเท่ากับ 1 นาที\",\r\n\t\tsubLabel_1: \"เทคโนโลยี 5G (NSA และ SA ที่ไม่ใช้คลื่นความถี่ 2600 MHz) ไม่น้อยกว่าร้อยละ 90 โดยมีเวลาที่กำหนดเท่ากับ 1 นาที\",\r\n\t\tsubLabel_2: null,\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 90,\r\n\t\ttargetCondition: \"ge\",\r\n\t\tfilling_condition: \"ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: true,\r\n\t\trecords: {\r\n\t\t\trural_1: null,\r\n\t\t\trural_2: null,\r\n\t\t\turban_1: null,\r\n\t\t\turban_2: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"D\",\r\n\t\t\t\"E\"\r\n\t\t],\r\n\t\texcelValueRow: 151,\r\n\t\tpriority: 214.3\r\n\t},\r\n\t{\r\n\t\tid: 333,\r\n\t\tno: \"2.3.4\",\r\n\t\tlabel: \"\",\r\n\t\ttargeted_text: \"\",\r\n\t\tsubLabel_1: \"ค่าเฉลี่ย ms เทคโนโลยี 5G (NSA และ SA ที่ไม่ใช้คลื่นความถี่ 2600 MHz)\",\r\n\t\tsubLabel_2: null,\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 0,\r\n\t\ttargetCondition: \"ge\",\r\n\t\tfilling_condition: \"\",\r\n\t\tisNeedAnswer: true,\r\n\t\trecords: {\r\n\t\t\trural_1: null,\r\n\t\t\trural_2: null,\r\n\t\t\turban_1: null,\r\n\t\t\turban_2: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"D\",\r\n\t\t\t\"E\"\r\n\t\t],\r\n\t\texcelValueRow: 153,\r\n\t\tpriority: 214.4\r\n\t},\r\n\t{\r\n\t\tid: 317,\r\n\t\tno: \"2.3.4\",\r\n\t\tlabel: \"อัตราส่วนจำนวนครั้งที่ HTTP โหลดได้ไม่ต่ำกว่าเวลาที่กำหนด (HTTP ratio subjected to specified time duration)\",\r\n\t\ttargeted_text: \"เทคโนโลยี 5G (SA ที่ใช้คลื่นความถี่ 2600 MHz) ไม่น้อยกว่าร้อยละ 90 โดยมีเวลาที่กำหนดเท่ากับ 25 วินาที\",\r\n\t\tsubLabel_1: \"เทคโนโลยี 5G (SA ที่ใช้คลื่นความถี่ 2600 MHz) ไม่น้อยกว่าร้อยละ 90 โดยมีเวลาที่กำหนดเท่ากับ 25 วินาที\",\r\n\t\tsubLabel_2: null,\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 90,\r\n\t\ttargetCondition: \"ge\",\r\n\t\tfilling_condition: \"ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: true,\r\n\t\trecords: {\r\n\t\t\trural_1: null,\r\n\t\t\trural_2: null,\r\n\t\t\turban_1: null,\r\n\t\t\turban_2: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"D\",\r\n\t\t\t\"E\"\r\n\t\t],\r\n\t\texcelValueRow: 155,\r\n\t\tpriority: 214.5\r\n\t},\r\n\t{\r\n\t\tid: 334,\r\n\t\tno: \"2.3.4\",\r\n\t\tlabel: \"\",\r\n\t\ttargeted_text: \"\",\r\n\t\tsubLabel_1: \"ค่าเฉลี่ย ms เทคโนโลยี 5G (SA ที่ใช้คลื่นความถี่ 2600 MHz)\",\r\n\t\tsubLabel_2: null,\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 0,\r\n\t\ttargetCondition: \"ge\",\r\n\t\tfilling_condition: \"\",\r\n\t\tisNeedAnswer: true,\r\n\t\trecords: {\r\n\t\t\trural_1: null,\r\n\t\t\trural_2: null,\r\n\t\t\turban_1: null,\r\n\t\t\turban_2: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"D\",\r\n\t\t\t\"E\"\r\n\t\t],\r\n\t\texcelValueRow: 157,\r\n\t\tpriority: 214.6\r\n\t},\r\n\t{\r\n\t\tid: 215,\r\n\t\tno: \"2.3.5\",\r\n\t\tlabel: \"อัตราส่วนจำนวนครั้งที่สามารถเข้าถึงบริการสตรีมมิ่ง (Streaming service accessibility)\",\r\n\t\ttargeted_text: \"เทคโนโลยี 3G (Resolution 360p) ไม่น้อยกว่าร้อยละ 80\",\r\n\t\tsubLabel_1: \"เทคโนโลยี 3G (Resolution 360p) ไม่น้อยกว่าร้อยละ 80\",\r\n\t\tsubLabel_2: null,\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 80,\r\n\t\ttargetCondition: \"ge\",\r\n\t\tfilling_condition: \"ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: true,\r\n\t\trecords: {\r\n\t\t\trural_1: null,\r\n\t\t\trural_2: null,\r\n\t\t\turban_1: null,\r\n\t\t\turban_2: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"D\",\r\n\t\t\t\"E\",\r\n\t\t\t\"F\",\r\n\t\t\t\"G\"\r\n\t\t],\r\n\t\texcelValueRow: 160,\r\n\t\tpriority: 215\r\n\t},\r\n\t{\r\n\t\tid: 216,\r\n\t\tno: \"2.3.5\",\r\n\t\tlabel: \"อัตราส่วนจำนวนครั้งที่สามารถเข้าถึงบริการสตรีมมิ่ง (Streaming service accessibility)\",\r\n\t\ttargeted_text: \"เทคโนโลยี 4G (Resolution 720p) ไม่น้อยกว่าร้อยละ 85\",\r\n\t\tsubLabel_1: \"เทคโนโลยี 4G (Resolution 720p) ไม่น้อยกว่าร้อยละ 85\",\r\n\t\tsubLabel_2: null,\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 85,\r\n\t\ttargetCondition: \"ge\",\r\n\t\tfilling_condition: \"ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: true,\r\n\t\trecords: {\r\n\t\t\trural_1: null,\r\n\t\t\trural_2: null,\r\n\t\t\turban_1: null,\r\n\t\t\turban_2: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"D\",\r\n\t\t\t\"E\",\r\n\t\t\t\"F\",\r\n\t\t\t\"G\"\r\n\t\t],\r\n\t\texcelValueRow: 164,\r\n\t\tpriority: 216\r\n\t},\r\n\t{\r\n\t\tid: 341,\r\n\t\tno: \"2.3.5\",\r\n\t\tlabel: \"\",\r\n\t\ttargeted_text: \"\",\r\n\t\tsubLabel_1: \"เทคโนโลยี 5G (พื้นที่)\",\r\n\t\tsubLabel_2: null,\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 0,\r\n\t\ttargetCondition: \"ge\",\r\n\t\tfilling_condition: \"\",\r\n\t\tisNeedAnswer: false,\r\n\t\trecords: {\r\n\t\t\trural_1: null,\r\n\t\t\trural_2: null,\r\n\t\t\turban_1: null,\r\n\t\t\turban_2: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"D\",\r\n\t\t\t\"E\"\r\n\t\t],\r\n\t\texcelValueRow: 168,\r\n\t\tpriority: 216.1\r\n\t},\r\n\t{\r\n\t\tid: 318,\r\n\t\tno: \"2.3.5\",\r\n\t\tlabel: \"อัตราส่วนจำนวนครั้งที่สามารถเข้าถึงบริการสตรีมมิ่ง (Streaming service accessibility)\",\r\n\t\ttargeted_text: \"เทคโนโลยี 5G (NSA และ SA ที่ไม่ใช้คลื่นความถี่ 2600 MHz Resolution 720p) ไม่น้อยกว่าร้อยละ 85\",\r\n\t\tsubLabel_1: \"เทคโนโลยี 5G (NSA และ SA ที่ไม่ใช้คลื่นความถี่ 2600 MHz Resolution 720p) ไม่น้อยกว่าร้อยละ 85\",\r\n\t\tsubLabel_2: null,\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 85,\r\n\t\ttargetCondition: \"ge\",\r\n\t\tfilling_condition: \"ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: true,\r\n\t\trecords: {\r\n\t\t\trural_1: null,\r\n\t\t\trural_2: null,\r\n\t\t\turban_1: null,\r\n\t\t\turban_2: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"D\",\r\n\t\t\t\"E\"\r\n\t\t],\r\n\t\texcelValueRow: 172,\r\n\t\tpriority: 216.2\r\n\t},\r\n\t{\r\n\t\tid: 319,\r\n\t\tno: \"2.3.5\",\r\n\t\tlabel: \"อัตราส่วนจำนวนครั้งที่สามารถเข้าถึงบริการสตรีมมิ่ง (Streaming service accessibility)\",\r\n\t\ttargeted_text: \"เทคโนโลยี 5G (SA ที่ใช้คลื่นความถี่ 2600 MHz Resolution 1080p) ไม่น้อยกว่าร้อยละ 90\",\r\n\t\tsubLabel_1: \"เทคโนโลยี 5G (SA ที่ใช้คลื่นความถี่ 2600 MHz Resolution 1080p) ไม่น้อยกว่าร้อยละ 90\",\r\n\t\tsubLabel_2: null,\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 90,\r\n\t\ttargetCondition: \"ge\",\r\n\t\tfilling_condition: \"ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: true,\r\n\t\trecords: {\r\n\t\t\trural_1: null,\r\n\t\t\trural_2: null,\r\n\t\t\turban_1: null,\r\n\t\t\turban_2: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"D\",\r\n\t\t\t\"E\"\r\n\t\t],\r\n\t\texcelValueRow: 176,\r\n\t\tpriority: 216.3\r\n\t},\r\n\t{\r\n\t\tid: 217,\r\n\t\tno: \"2.3.6\",\r\n\t\tlabel: \"อัตราส่วนจำนวนครั้งการแสดงวีดีทัศน์แบบสตรีมมิ่งได้อย่างสมบูรณ์ (Streaming reproduction success ratio)\",\r\n\t\ttargeted_text: \"เทคโนโลยี 3G (Resolution 360p) ไม่น้อยกว่าร้อยละ 80\",\r\n\t\tsubLabel_1: \"เทคโนโลยี 3G (Resolution 360p) ไม่น้อยกว่าร้อยละ 80\",\r\n\t\tsubLabel_2: null,\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 80,\r\n\t\ttargetCondition: \"ge\",\r\n\t\tfilling_condition: \"ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: true,\r\n\t\trecords: {\r\n\t\t\trural_1: null,\r\n\t\t\trural_2: null,\r\n\t\t\turban_1: null,\r\n\t\t\turban_2: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"D\",\r\n\t\t\t\"E\",\r\n\t\t\t\"F\",\r\n\t\t\t\"G\"\r\n\t\t],\r\n\t\texcelValueRow: 181,\r\n\t\tpriority: 217\r\n\t},\r\n\t{\r\n\t\tid: 218,\r\n\t\tno: \"2.3.6\",\r\n\t\tlabel: \"อัตราส่วนจำนวนครั้งการแสดงวีดีทัศน์แบบสตรีมมิ่งได้อย่างสมบูรณ์ (Streaming reproduction success ratio)\",\r\n\t\ttargeted_text: \"เทคโนโลยี 4G (Resolution 720p) ไม่น้อยกว่าร้อยละ 85\",\r\n\t\tsubLabel_1: \"เทคโนโลยี 4G (Resolution 720p) ไม่น้อยกว่าร้อยละ 85\",\r\n\t\tsubLabel_2: null,\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 85,\r\n\t\ttargetCondition: \"ge\",\r\n\t\tfilling_condition: \"ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: false,\r\n\t\trecords: {\r\n\t\t\trural_1: null,\r\n\t\t\trural_2: null,\r\n\t\t\turban_1: null,\r\n\t\t\turban_2: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"D\",\r\n\t\t\t\"E\",\r\n\t\t\t\"F\",\r\n\t\t\t\"G\"\r\n\t\t],\r\n\t\texcelValueRow: 185,\r\n\t\tpriority: 218\r\n\t},\r\n\t{\r\n\t\tid: 342,\r\n\t\tno: \"2.3.6\",\r\n\t\tlabel: \"\",\r\n\t\ttargeted_text: \"\",\r\n\t\tsubLabel_1: \"เทคโนโลยี 5G (พื้นที่)\",\r\n\t\tsubLabel_2: null,\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 0,\r\n\t\ttargetCondition: \"ge\",\r\n\t\tfilling_condition: \"\",\r\n\t\tisNeedAnswer: false,\r\n\t\trecords: {\r\n\t\t\trural_1: null,\r\n\t\t\trural_2: null,\r\n\t\t\turban_1: null,\r\n\t\t\turban_2: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"D\",\r\n\t\t\t\"E\"\r\n\t\t],\r\n\t\texcelValueRow: 189,\r\n\t\tpriority: 218.1\r\n\t},\r\n\t{\r\n\t\tid: 320,\r\n\t\tno: \"2.3.6\",\r\n\t\tlabel: \"อัตราส่วนจำนวนครั้งการแสดงวีดีทัศน์แบบสตรีมมิ่งได้อย่างสมบูรณ์ (Streaming reproduction success ratio)\",\r\n\t\ttargeted_text: \"เทคโนโลยี 5G (NSA และ SA ที่ไม่ใช้คลื่นความถี่ 2600 MHz Resolution 720p) ไม่น้อยกว่าร้อยละ 85\",\r\n\t\tsubLabel_1: \"เทคโนโลยี 5G (NSA และ SA ที่ไม่ใช้คลื่นความถี่ 2600 MHz Resolution 720p) ไม่น้อยกว่าร้อยละ 85\",\r\n\t\tsubLabel_2: null,\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 85,\r\n\t\ttargetCondition: \"ge\",\r\n\t\tfilling_condition: \"ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: true,\r\n\t\trecords: {\r\n\t\t\trural_1: null,\r\n\t\t\trural_2: null,\r\n\t\t\turban_1: null,\r\n\t\t\turban_2: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"D\",\r\n\t\t\t\"E\"\r\n\t\t],\r\n\t\texcelValueRow: 193,\r\n\t\tpriority: 218.2\r\n\t},\r\n\t{\r\n\t\tid: 321,\r\n\t\tno: \"2.3.6\",\r\n\t\tlabel: \"อัตราส่วนจำนวนครั้งการแสดงวีดีทัศน์แบบสตรีมมิ่งได้อย่างสมบูรณ์ (Streaming reproduction success ratio)\",\r\n\t\ttargeted_text: \"เทคโนโลยี 5G (SA ที่ใช้คลื่นความถี่ 2600 MHz Resolution 1080p) ไม่น้อยกว่าร้อยละ 90\",\r\n\t\tsubLabel_1: \"เทคโนโลยี 5G (SA ที่ใช้คลื่นความถี่ 2600 MHz Resolution 1080p) ไม่น้อยกว่าร้อยละ 90\",\r\n\t\tsubLabel_2: null,\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 90,\r\n\t\ttargetCondition: \"ge\",\r\n\t\tfilling_condition: \"ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: true,\r\n\t\trecords: {\r\n\t\t\trural_1: null,\r\n\t\t\trural_2: null,\r\n\t\t\turban_1: null,\r\n\t\t\turban_2: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"D\",\r\n\t\t\t\"E\"\r\n\t\t],\r\n\t\texcelValueRow: 197,\r\n\t\tpriority: 218.3\r\n\t},\r\n\t{\r\n\t\tid: 219,\r\n\t\tno: \"2.3.7\",\r\n\t\tlabel: \"ระยะเวลาที่ใช้ในการส่ง SMS จากฝั่งส่งไปยังฝั่งรับ (SMS end-to-end delivery time)\",\r\n\t\ttargeted_text: \"ไม่เกิน 90 วินาที สำหรับร้อยละ 80 ของ SMS ที่ฝั่งรับได้รับสำเร็จภายใน Timeout ที่ 175 วินาที\",\r\n\t\tsubLabel_1: null,\r\n\t\tsubLabel_2: null,\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 90,\r\n\t\ttargetCondition: null,\r\n\t\tfilling_condition: \"ข้อมูลที่กรอกจะต้องเป็นเลขจำนวนเต็ม และต้องมีค่ามากกว่าหรือเท่ากับ 0\",\r\n\t\tisNeedAnswer: true,\r\n\t\trecords: {\r\n\t\t\trural_1: null,\r\n\t\t\trural_2: null,\r\n\t\t\turban_1: null,\r\n\t\t\turban_2: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"int\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"D\",\r\n\t\t\t\"E\",\r\n\t\t\t\"F\",\r\n\t\t\t\"G\"\r\n\t\t],\r\n\t\texcelValueRow: 286,\r\n\t\tpriority: 219\r\n\t},\r\n\t{\r\n\t\tid: 220,\r\n\t\tno: \"2.3.8\",\r\n\t\tlabel: \"อัตราส่วนจำนวน SMS ที่ไปถึงฝั่งรับได้สำเร็จ (SMS completion success ratio)\",\r\n\t\ttargeted_text: \"ไม่ต่ำกว่าร้อยละ 90 ของการทดสอบทั้งหมด จะต้องได้รับสำเร็จที่ฝั่งรับ ภายใน Timeout ที่ 175 วินาที\",\r\n\t\tsubLabel_1: null,\r\n\t\tsubLabel_2: null,\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 90,\r\n\t\ttargetCondition: null,\r\n\t\tfilling_condition: \"ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ(มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: true,\r\n\t\trecords: {\r\n\t\t\trural_1: null,\r\n\t\t\trural_2: null,\r\n\t\t\turban_1: null,\r\n\t\t\turban_2: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"D\",\r\n\t\t\t\"E\",\r\n\t\t\t\"F\",\r\n\t\t\t\"G\"\r\n\t\t],\r\n\t\texcelValueRow: 295,\r\n\t\tpriority: 220\r\n\t},\r\n\t{\r\n\t\tid: 221,\r\n\t\tno: \"2.3.9\",\r\n\t\tlabel: \"ระยะเวลาที่ใช้ในการส่ง MMS จากฝั่งส่งไปยังฝั่งรับ (MMS end-to-end delivery time)\",\r\n\t\ttargeted_text: \"ภายใน 5 นาที สำหรับร้อยละ 70 ของ MMS ที่ฝั่งรับได้รับสำเร็จภายใน Timeout ที่ 13 นาที\",\r\n\t\tsubLabel_1: null,\r\n\t\tsubLabel_2: null,\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 70,\r\n\t\ttargetCondition: null,\r\n\t\tfilling_condition: \"ข้อมูลที่กรอกจะต้องเป็นเลขจำนวนเต็ม และต้องมีค่ามากกว่าหรือเท่ากับ 0\",\r\n\t\tisNeedAnswer: true,\r\n\t\trecords: {\r\n\t\t\trural_1: null,\r\n\t\t\trural_2: null,\r\n\t\t\turban_1: null,\r\n\t\t\turban_2: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"int\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"D\",\r\n\t\t\t\"E\",\r\n\t\t\t\"F\",\r\n\t\t\t\"G\"\r\n\t\t],\r\n\t\texcelValueRow: 304,\r\n\t\tpriority: 221\r\n\t},\r\n\t{\r\n\t\tid: 222,\r\n\t\tno: \"2.3.10\",\r\n\t\tlabel: \"อัตราส่วนจำนวน MMS ที่ไปถึงฝั่งรับได้สำเร็จ (MMS completion success ratio)\",\r\n\t\ttargeted_text: \"ภายใน 5 นาที สำหรับร้อยละ 70 ของ MMS ที่ฝั่งรับได้รับสำเร็จภายใน Timeout ที่ 13 นาที\",\r\n\t\tsubLabel_1: null,\r\n\t\tsubLabel_2: null,\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 70,\r\n\t\ttargetCondition: null,\r\n\t\tfilling_condition: \"ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: true,\r\n\t\trecords: {\r\n\t\t\trural_1: null,\r\n\t\t\trural_2: null,\r\n\t\t\turban_1: null,\r\n\t\t\turban_2: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"D\",\r\n\t\t\t\"E\",\r\n\t\t\t\"F\",\r\n\t\t\t\"G\"\r\n\t\t],\r\n\t\texcelValueRow: 313,\r\n\t\tpriority: 222\r\n\t},\r\n\t{\r\n\t\tid: 343,\r\n\t\tno: \"2.3.11\",\r\n\t\tlabel: \"\",\r\n\t\ttargeted_text: \"\",\r\n\t\tsubLabel_1: \"เทคโนโลยี 5G (พื้นที่)\",\r\n\t\tsubLabel_2: null,\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 0,\r\n\t\ttargetCondition: \"ge\",\r\n\t\tfilling_condition: \"\",\r\n\t\tisNeedAnswer: true,\r\n\t\trecords: {\r\n\t\t\trural_1: null,\r\n\t\t\trural_2: null,\r\n\t\t\turban_1: null,\r\n\t\t\turban_2: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"D\",\r\n\t\t\t\"E\"\r\n\t\t],\r\n\t\texcelValueRow: 202,\r\n\t\tpriority: 223\r\n\t},\r\n\t{\r\n\t\tid: 335,\r\n\t\tno: \"2.3.11\",\r\n\t\tlabel: \"ค่าอัตราบิตเฉลี่ยของการรับส่งข้อมูลแบบ FTP (Average FTP Bitrate)\",\r\n\t\ttargeted_text: \"เทคโนโลยี 5G ที่ใช้คลื่นความถี่ย่าน 2600 MHz ไม่น้อยกว่า 20 เมกะบิตต่อวินาที สำหรับกรณี Download\",\r\n\t\tsubLabel_1: \"เทคโนโลยี 5G ที่ใช้คลื่นความถี่ย่าน 2600 MHz ไม่น้อยกว่า 20 เมกะบิตต่อวินาที สำหรับกรณี Download\",\r\n\t\tsubLabel_2: null,\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 20,\r\n\t\ttargetCondition: \"ge\",\r\n\t\tfilling_condition: \"ข้อมูลที่กรอกจะต้องมีหน่วยเป็นทศนิยม\",\r\n\t\tisNeedAnswer: true,\r\n\t\trecords: {\r\n\t\t\trural_1: null,\r\n\t\t\trural_2: null,\r\n\t\t\turban_1: null,\r\n\t\t\turban_2: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"D\",\r\n\t\t\t\"E\"\r\n\t\t],\r\n\t\texcelValueRow: 206,\r\n\t\tpriority: 223.1\r\n\t},\r\n\t{\r\n\t\tid: 336,\r\n\t\tno: \"2.3.11\",\r\n\t\tlabel: \"ค่าอัตราบิตเฉลี่ยของการรับส่งข้อมูลแบบ FTP (Average FTP Bitrate)\",\r\n\t\ttargeted_text: \"เทคโนโลยี 5G ที่ใช้คลื่นความถี่ย่าน 2600 MHz ไม่น้อยกว่า 5 เมกะบิตต่อวินาที สำหรับกรณี Upload\",\r\n\t\tsubLabel_1: \"เทคโนโลยี 5G ที่ใช้คลื่นความถี่ย่าน 2600 MHz ไม่น้อยกว่า 5 เมกะบิตต่อวินาที สำหรับกรณี Upload\",\r\n\t\tsubLabel_2: null,\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 5,\r\n\t\ttargetCondition: \"ge\",\r\n\t\tfilling_condition: \"ข้อมูลที่กรอกจะต้องมีหน่วยเป็นทศนิยม\",\r\n\t\tisNeedAnswer: true,\r\n\t\trecords: {\r\n\t\t\trural_1: null,\r\n\t\t\trural_2: null,\r\n\t\t\turban_1: null,\r\n\t\t\turban_2: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"D\",\r\n\t\t\t\"E\"\r\n\t\t],\r\n\t\texcelValueRow: 210,\r\n\t\tpriority: 223.2\r\n\t}\r\n]","export const mobile_sound_details = [\r\n\t{\r\n\t\tid: 41,\r\n\t\tno: \"2.2.1\",\r\n\t\tlabel: \"อัตราส่วนการเรียกสำเร็จ (Successful call ratio) กรณีที่เป็นการโทรศัพท์ภายในโครงข่ายของผู้ประกอบการเดียวกัน\",\r\n\t\ttargeted_text: \"1. ช่วงเวลา 10.00 - 13.00 น. เฉลี่ยทุก 3 เดือน ไม่น้อยกว่าร้อยละ 90\",\r\n\t\tsubLabel_1: \"1. ช่วงเวลา 10.00 - 13.00 น. เฉลี่ยทุก 3 เดือน ไม่น้อยกว่าร้อยละ 90\",\r\n\t\tsubLabel_2: null,\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 90,\r\n\t\ttargetCondition: \"ge\",\r\n\t\tfilling_condition: \"ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: true,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\"\r\n\t\t],\r\n\t\texcelValueRow: 7,\r\n\t\tpriority: 41\r\n\t},\r\n\t{\r\n\t\tid: 42,\r\n\t\tno: \"2.2.1\",\r\n\t\tlabel: \"อัตราส่วนการเรียกสำเร็จ (Successful call ratio) กรณีที่เป็นการโทรศัพท์ภายในโครงข่ายของผู้ประกอบการเดียวกัน\",\r\n\t\ttargeted_text: \"2. ช่วงเวลา 16.00 - 19.00 น. เฉลี่ยทุก 3 เดือน ไม่น้อยกว่าร้อยละ 90\",\r\n\t\tsubLabel_1: \"2. ช่วงเวลา 16.00 - 19.00 น. เฉลี่ยทุก 3 เดือน ไม่น้อยกว่าร้อยละ 90\",\r\n\t\tsubLabel_2: null,\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 90,\r\n\t\ttargetCondition: \"ge\",\r\n\t\tfilling_condition: \"ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: true,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\"\r\n\t\t],\r\n\t\texcelValueRow: 11,\r\n\t\tpriority: 42\r\n\t},\r\n\t{\r\n\t\tid: 43,\r\n\t\tno: \"2.2.2\",\r\n\t\tlabel: \"อัตราส่วนการเรียกสำเร็จ (Successful call ratio) กรณีที่เป็นการโทรข้ามโครงข่ายต่างผู้ประกอบการ\",\r\n\t\ttargeted_text: \"1. ช่วงเวลา 10.00 - 13.00 น. เฉลี่ยทุก 3 เดือน ไม่น้อยกว่าร้อยละ 90\",\r\n\t\tsubLabel_1: \"1. ช่วงเวลา 10.00 - 13.00 น.เฉลี่ยทุก 3 เดือน ไม่น้อยกว่าร้อยละ 90\",\r\n\t\tsubLabel_2: null,\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 90,\r\n\t\ttargetCondition: \"ge\",\r\n\t\tfilling_condition: \"ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: true,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\"\r\n\t\t],\r\n\t\texcelValueRow: 16,\r\n\t\tpriority: 43\r\n\t},\r\n\t{\r\n\t\tid: 44,\r\n\t\tno: \"2.2.2\",\r\n\t\tlabel: \"อัตราส่วนการเรียกสำเร็จ (Successful call ratio) กรณีที่เป็นการโทรข้ามโครงข่ายต่างผู้ประกอบการ\",\r\n\t\ttargeted_text: \"2. ช่วงเวลา 16.00 - 19.00 น. เฉลี่ยทุก 3 เดือน ไม่น้อยกว่าร้อยละ 90\",\r\n\t\tsubLabel_1: \"2. ช่วงเวลา 16.00 - 19.00 น. เฉลี่ยทุก 3 เดือน ไม่น้อยกว่าร้อยละ 90\",\r\n\t\tsubLabel_2: null,\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 90,\r\n\t\ttargetCondition: \"ge\",\r\n\t\tfilling_condition: \"ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: true,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\"\r\n\t\t],\r\n\t\texcelValueRow: 20,\r\n\t\tpriority: 44\r\n\t},\r\n\t{\r\n\t\tid: 45,\r\n\t\tno: \"2.2.3\",\r\n\t\tlabel: \"อัตราส่วนของกรณีที่สายหลุด (Drop Call Rate)\",\r\n\t\ttargeted_text: \"1. ช่วงเวลา 10.00 - 13.00 น. เฉลี่ยทุก 3 เดือน ไม่เกินร้อยละ 2\",\r\n\t\tsubLabel_1: \"1. ช่วงเวลา 10.00 - 13.00 น. เฉลี่ยทุก 3 เดือน ไม่เกินร้อยละ 2\",\r\n\t\tsubLabel_2: null,\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 2,\r\n\t\ttargetCondition: \"le\",\r\n\t\tfilling_condition: \"ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: true,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\"\r\n\t\t],\r\n\t\texcelValueRow: 25,\r\n\t\tpriority: 45\r\n\t},\r\n\t{\r\n\t\tid: 46,\r\n\t\tno: \"2.2.3\",\r\n\t\tlabel: \"อัตราส่วนของกรณีที่สายหลุด (Drop Call Rate)\",\r\n\t\ttargeted_text: \"2. ช่วงเวลา 16.00 - 19.00 น. เฉลี่ยทุก 3 เดือน ไม่เกินร้อยละ 2\",\r\n\t\tsubLabel_1: \"2. ช่วงเวลา 16.00 - 19.00 น. เฉลี่ยทุก 3 เดือน ไม่เกินร้อยละ 2\",\r\n\t\tsubLabel_2: null,\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 2,\r\n\t\ttargetCondition: \"le\",\r\n\t\tfilling_condition: \"ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: true,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\"\r\n\t\t],\r\n\t\texcelValueRow: 29,\r\n\t\tpriority: 46\r\n\t},\r\n\t{\r\n\t\tid: 47,\r\n\t\tno: \"2.2.4\",\r\n\t\tlabel: \"คุณภาพของเสียง (Mean Opinion Score (MOS))\",\r\n\t\ttargeted_text: \"ร้อยละ 90 ของข้อมูลที่วัดได้ ต้องไม่ต่ำกว่าค่า 2.5 (MoS Score)\",\r\n\t\tsubLabel_1: \"1-ภาคเหนือ\",\r\n\t\tsubLabel_2: null,\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 90,\r\n\t\ttargetCondition: \"ge\",\r\n\t\tfilling_condition: \"ช่องสีเขียว ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: true,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\",\r\n\t\t\t\"E\"\r\n\t\t],\r\n\t\texcelValueRow: 36,\r\n\t\tpriority: 47\r\n\t},\r\n\t{\r\n\t\tid: 322,\r\n\t\tno: \"2.2.4\",\r\n\t\tlabel: \"คุณภาพของเสียง (Mean Opinion Score (MOS))\",\r\n\t\ttargeted_text: \"\",\r\n\t\tsubLabel_1: \"MOS เฉลี่ย ไม่ต่ำกว่า 2.5\",\r\n\t\tsubLabel_2: null,\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 2.5,\r\n\t\ttargetCondition: \"ge\",\r\n\t\tfilling_condition: \"\",\r\n\t\tisNeedAnswer: true,\r\n\t\trecords: {\r\n\t\t\trural_1: null,\r\n\t\t\trural_2: null,\r\n\t\t\turban_1: null,\r\n\t\t\turban_2: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\"\r\n\t\t],\r\n\t\texcelValueRow: 37,\r\n\t\tpriority: 47.1\r\n\t},\r\n\t{\r\n\t\tid: 48,\r\n\t\tno: \"2.2.4\",\r\n\t\tlabel: \"คุณภาพของเสียง (Mean Opinion Score (MOS))\",\r\n\t\ttargeted_text: \"ร้อยละ 90 ของข้อมูลที่วัดได้ ต้องไม่ต่ำกว่าค่า 2.5 (MoS Score)\",\r\n\t\tsubLabel_1: \"2-ภาคใต้\",\r\n\t\tsubLabel_2: null,\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 90,\r\n\t\ttargetCondition: \"ge\",\r\n\t\tfilling_condition: \"ช่องสีเขียว ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: true,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\",\r\n\t\t\t\"E\"\r\n\t\t],\r\n\t\texcelValueRow: 38,\r\n\t\tpriority: 48\r\n\t},\r\n\t{\r\n\t\tid: 323,\r\n\t\tno: \"2.2.4\",\r\n\t\tlabel: \"คุณภาพของเสียง (Mean Opinion Score (MOS))\",\r\n\t\ttargeted_text: \"\",\r\n\t\tsubLabel_1: \"MOS เฉลี่ย ไม่ต่ำกว่า 2.5\",\r\n\t\tsubLabel_2: null,\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 2.5,\r\n\t\ttargetCondition: \"ge\",\r\n\t\tfilling_condition: \"\",\r\n\t\tisNeedAnswer: true,\r\n\t\trecords: {\r\n\t\t\trural_1: null,\r\n\t\t\trural_2: null,\r\n\t\t\turban_1: null,\r\n\t\t\turban_2: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\"\r\n\t\t],\r\n\t\texcelValueRow: 39,\r\n\t\tpriority: 48.1\r\n\t},\r\n\t{\r\n\t\tid: 49,\r\n\t\tno: \"2.2.4\",\r\n\t\tlabel: \"คุณภาพของเสียง (Mean Opinion Score (MOS))\",\r\n\t\ttargeted_text: \"ร้อยละ 90 ของข้อมูลที่วัดได้ ต้องไม่ต่ำกว่าค่า 2.5 (MoS Score)\",\r\n\t\tsubLabel_1: \"3-ภาคกลาง\",\r\n\t\tsubLabel_2: null,\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 90,\r\n\t\ttargetCondition: \"ge\",\r\n\t\tfilling_condition: \"ช่องสีเขียว ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: true,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\",\r\n\t\t\t\"E\"\r\n\t\t],\r\n\t\texcelValueRow: 40,\r\n\t\tpriority: 49\r\n\t},\r\n\t{\r\n\t\tid: 324,\r\n\t\tno: \"2.2.4\",\r\n\t\tlabel: \"คุณภาพของเสียง (Mean Opinion Score (MOS))\",\r\n\t\ttargeted_text: \"\",\r\n\t\tsubLabel_1: \"MOS เฉลี่ย ไม่ต่ำกว่า 2.5\",\r\n\t\tsubLabel_2: null,\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 2.5,\r\n\t\ttargetCondition: \"ge\",\r\n\t\tfilling_condition: \"\",\r\n\t\tisNeedAnswer: true,\r\n\t\trecords: {\r\n\t\t\trural_1: null,\r\n\t\t\trural_2: null,\r\n\t\t\turban_1: null,\r\n\t\t\turban_2: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\"\r\n\t\t],\r\n\t\texcelValueRow: 41,\r\n\t\tpriority: 49.1\r\n\t},\r\n\t{\r\n\t\tid: 50,\r\n\t\tno: \"2.2.4\",\r\n\t\tlabel: \"คุณภาพของเสียง (Mean Opinion Score (MOS))\",\r\n\t\ttargeted_text: \"ร้อยละ 90 ของข้อมูลที่วัดได้ ต้องไม่ต่ำกว่าค่า 2.5 (MoS Score)\",\r\n\t\tsubLabel_1: \"4-ภาคตะวันออกเฉียงเหนือ\",\r\n\t\tsubLabel_2: null,\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 90,\r\n\t\ttargetCondition: \"ge\",\r\n\t\tfilling_condition: \"ช่องสีเขียว ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: true,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\",\r\n\t\t\t\"E\"\r\n\t\t],\r\n\t\texcelValueRow: 42,\r\n\t\tpriority: 50\r\n\t},\r\n\t{\r\n\t\tid: 325,\r\n\t\tno: \"2.2.4\",\r\n\t\tlabel: \"คุณภาพของเสียง (Mean Opinion Score (MOS))\",\r\n\t\ttargeted_text: \"\",\r\n\t\tsubLabel_1: \"MOS เฉลี่ย ไม่ต่ำกว่า 2.5\",\r\n\t\tsubLabel_2: null,\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 2.5,\r\n\t\ttargetCondition: \"ge\",\r\n\t\tfilling_condition: \"\",\r\n\t\tisNeedAnswer: true,\r\n\t\trecords: {\r\n\t\t\trural_1: null,\r\n\t\t\trural_2: null,\r\n\t\t\turban_1: null,\r\n\t\t\turban_2: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\"\r\n\t\t],\r\n\t\texcelValueRow: 43,\r\n\t\tpriority: 50.1\r\n\t},\r\n\t{\r\n\t\tid: 51,\r\n\t\tno: \"2.2.5\",\r\n\t\tlabel: \"อัตราส่วนของกรณีที่สายหลุด (Drop Call Rate) ในพื้นที่เฝ้าระวัง\",\r\n\t\ttargeted_text: \"ไม่เกินร้อยละ 2\",\r\n\t\tsubLabel_1: \"1-ท่าอากาศยานสุวรรณภูมิ\",\r\n\t\tsubLabel_2: null,\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 2,\r\n\t\ttargetCondition: \"le\",\r\n\t\tfilling_condition: \"ช่องสีเขียว ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: true,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\"\r\n\t\t],\r\n\t\texcelValueRow: 241,\r\n\t\tpriority: 51\r\n\t},\r\n\t{\r\n\t\tid: 52,\r\n\t\tno: \"2.2.5\",\r\n\t\tlabel: \"อัตราส่วนของกรณีที่สายหลุด (Drop Call Rate) ในพื้นที่เฝ้าระวัง\",\r\n\t\ttargeted_text: \"ไม่เกินร้อยละ 2\",\r\n\t\tsubLabel_1: \"2-ท่าอากาศยานดอนเมือง\",\r\n\t\tsubLabel_2: null,\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 2,\r\n\t\ttargetCondition: \"le\",\r\n\t\tfilling_condition: \"ช่องสีเขียว ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: true,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\"\r\n\t\t],\r\n\t\texcelValueRow: 242,\r\n\t\tpriority: 52\r\n\t},\r\n\t{\r\n\t\tid: 53,\r\n\t\tno: \"2.2.5\",\r\n\t\tlabel: \"อัตราส่วนของกรณีที่สายหลุด (Drop Call Rate) ในพื้นที่เฝ้าระวัง\",\r\n\t\ttargeted_text: \"ไม่เกินร้อยละ 2\",\r\n\t\tsubLabel_1: \"3-สถานีขนส่งผู้โดยสารกรุงเทพ (จตุจักร)\",\r\n\t\tsubLabel_2: null,\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 2,\r\n\t\ttargetCondition: \"le\",\r\n\t\tfilling_condition: \"ช่องสีเขียว ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: true,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\"\r\n\t\t],\r\n\t\texcelValueRow: 243,\r\n\t\tpriority: 53\r\n\t},\r\n\t{\r\n\t\tid: 54,\r\n\t\tno: \"2.2.5\",\r\n\t\tlabel: \"อัตราส่วนของกรณีที่สายหลุด (Drop Call Rate) ในพื้นที่เฝ้าระวัง\",\r\n\t\ttargeted_text: \"ไม่เกินร้อยละ 2\",\r\n\t\tsubLabel_1: \"4-สถานีขนส่งผู้โดยสารกรุงเทพ (ถนนบรมราชชนนี)\",\r\n\t\tsubLabel_2: null,\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 2,\r\n\t\ttargetCondition: \"le\",\r\n\t\tfilling_condition: \"ช่องสีเขียว ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: true,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\"\r\n\t\t],\r\n\t\texcelValueRow: 244,\r\n\t\tpriority: 54\r\n\t},\r\n\t{\r\n\t\tid: 55,\r\n\t\tno: \"2.2.5\",\r\n\t\tlabel: \"อัตราส่วนของกรณีที่สายหลุด (Drop Call Rate) ในพื้นที่เฝ้าระวัง\",\r\n\t\ttargeted_text: \"ไม่เกินร้อยละ 2\",\r\n\t\tsubLabel_1: \"5-สถานีขนส่งผู้โดยสารกรุงเทพ (เอกมัย)\",\r\n\t\tsubLabel_2: null,\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 2,\r\n\t\ttargetCondition: \"le\",\r\n\t\tfilling_condition: \"ช่องสีเขียว ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: true,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\"\r\n\t\t],\r\n\t\texcelValueRow: 245,\r\n\t\tpriority: 55\r\n\t},\r\n\t{\r\n\t\tid: 200,\r\n\t\tno: \"2.2.5\",\r\n\t\tlabel: \"อัตราส่วนของกรณีที่สายหลุด (Drop Call Rate) ในพื้นที่เฝ้าระวัง\",\r\n\t\ttargeted_text: \"ไม่เกินร้อยละ 2\",\r\n\t\tsubLabel_1: \"6-สถานีรถไฟกรุงเทพ (หัวลำโพง)\",\r\n\t\tsubLabel_2: null,\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 2,\r\n\t\ttargetCondition: \"le\",\r\n\t\tfilling_condition: \"ช่องสีเขียว ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: true,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\"\r\n\t\t],\r\n\t\texcelValueRow: 246,\r\n\t\tpriority: 55.1\r\n\t},\r\n\t{\r\n\t\tid: 301,\r\n\t\tno: \"2.2.5\",\r\n\t\tlabel: \"อัตราส่วนของกรณีที่สายหลุด (Drop Call Rate) ในพื้นที่เฝ้าระวัง\",\r\n\t\ttargeted_text: \"ไม่เกินร้อยละ 2\",\r\n\t\tsubLabel_1: \"7-สถานีกลางกรุงเทพอภิวัฒน์ (บางซื่อ)\",\r\n\t\tsubLabel_2: null,\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 2,\r\n\t\ttargetCondition: \"le\",\r\n\t\tfilling_condition: \"ช่องสีเขียว ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: true,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\"\r\n\t\t],\r\n\t\texcelValueRow: 247,\r\n\t\tpriority: 55.2\r\n\t},\r\n\t{\r\n\t\tid: 56,\r\n\t\tno: \"2.2.5.1\",\r\n\t\tlabel: \"อัตราส่วนของกรณีที่สายหลุด (Drop Call Rate) ในพื้นที่เฝ้าระวัง\",\r\n\t\ttargeted_text: \"ไม่เกินร้อยละ 2\",\r\n\t\tsubLabel_1: \"1-ท่าอากาศยานสุวรรณภูมิ\",\r\n\t\tsubLabel_2: \"00.00 - 01.00 น.\",\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 2,\r\n\t\ttargetCondition: \"le\",\r\n\t\tfilling_condition: \"ช่องสีเขียว ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: false,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\"\r\n\t\t],\r\n\t\texcelValueRow: 248,\r\n\t\tpriority: 56\r\n\t},\r\n\t{\r\n\t\tid: 57,\r\n\t\tno: \"2.2.5.1\",\r\n\t\tlabel: \"อัตราส่วนของกรณีที่สายหลุด (Drop Call Rate) ในพื้นที่เฝ้าระวัง\",\r\n\t\ttargeted_text: \"ไม่เกินร้อยละ 2\",\r\n\t\tsubLabel_1: \"1-ท่าอากาศยานสุวรรณภูมิ\",\r\n\t\tsubLabel_2: \"01.00 - 02.00 น.\",\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 2,\r\n\t\ttargetCondition: \"le\",\r\n\t\tfilling_condition: \"ช่องสีเขียว ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: false,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\"\r\n\t\t],\r\n\t\texcelValueRow: 249,\r\n\t\tpriority: 57\r\n\t},\r\n\t{\r\n\t\tid: 58,\r\n\t\tno: \"2.2.5.1\",\r\n\t\tlabel: \"อัตราส่วนของกรณีที่สายหลุด (Drop Call Rate) ในพื้นที่เฝ้าระวัง\",\r\n\t\ttargeted_text: \"ไม่เกินร้อยละ 2\",\r\n\t\tsubLabel_1: \"1-ท่าอากาศยานสุวรรณภูมิ\",\r\n\t\tsubLabel_2: \"02.00 - 03.00 น.\",\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 2,\r\n\t\ttargetCondition: \"le\",\r\n\t\tfilling_condition: \"ช่องสีเขียว ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: false,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\"\r\n\t\t],\r\n\t\texcelValueRow: 250,\r\n\t\tpriority: 58\r\n\t},\r\n\t{\r\n\t\tid: 59,\r\n\t\tno: \"2.2.5.1\",\r\n\t\tlabel: \"อัตราส่วนของกรณีที่สายหลุด (Drop Call Rate) ในพื้นที่เฝ้าระวัง\",\r\n\t\ttargeted_text: \"ไม่เกินร้อยละ 2\",\r\n\t\tsubLabel_1: \"1-ท่าอากาศยานสุวรรณภูมิ\",\r\n\t\tsubLabel_2: \"03.00 - 04.00 น.\",\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 2,\r\n\t\ttargetCondition: \"le\",\r\n\t\tfilling_condition: \"ช่องสีเขียว ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: false,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\"\r\n\t\t],\r\n\t\texcelValueRow: 251,\r\n\t\tpriority: 59\r\n\t},\r\n\t{\r\n\t\tid: 60,\r\n\t\tno: \"2.2.5.1\",\r\n\t\tlabel: \"อัตราส่วนของกรณีที่สายหลุด (Drop Call Rate) ในพื้นที่เฝ้าระวัง\",\r\n\t\ttargeted_text: \"ไม่เกินร้อยละ 2\",\r\n\t\tsubLabel_1: \"1-ท่าอากาศยานสุวรรณภูมิ\",\r\n\t\tsubLabel_2: \"04.00 - 05.00 น.\",\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 2,\r\n\t\ttargetCondition: \"le\",\r\n\t\tfilling_condition: \"ช่องสีเขียว ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: false,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\"\r\n\t\t],\r\n\t\texcelValueRow: 252,\r\n\t\tpriority: 60\r\n\t},\r\n\t{\r\n\t\tid: 61,\r\n\t\tno: \"2.2.5.1\",\r\n\t\tlabel: \"อัตราส่วนของกรณีที่สายหลุด (Drop Call Rate) ในพื้นที่เฝ้าระวัง\",\r\n\t\ttargeted_text: \"ไม่เกินร้อยละ 2\",\r\n\t\tsubLabel_1: \"1-ท่าอากาศยานสุวรรณภูมิ\",\r\n\t\tsubLabel_2: \"05.00 - 06.00 น.\",\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 2,\r\n\t\ttargetCondition: \"le\",\r\n\t\tfilling_condition: \"ช่องสีเขียว ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: false,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\"\r\n\t\t],\r\n\t\texcelValueRow: 253,\r\n\t\tpriority: 61\r\n\t},\r\n\t{\r\n\t\tid: 62,\r\n\t\tno: \"2.2.5.1\",\r\n\t\tlabel: \"อัตราส่วนของกรณีที่สายหลุด (Drop Call Rate) ในพื้นที่เฝ้าระวัง\",\r\n\t\ttargeted_text: \"ไม่เกินร้อยละ 2\",\r\n\t\tsubLabel_1: \"1-ท่าอากาศยานสุวรรณภูมิ\",\r\n\t\tsubLabel_2: \"06.00 - 07.00 น.\",\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 2,\r\n\t\ttargetCondition: \"le\",\r\n\t\tfilling_condition: \"ช่องสีเขียว ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: false,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\"\r\n\t\t],\r\n\t\texcelValueRow: 254,\r\n\t\tpriority: 62\r\n\t},\r\n\t{\r\n\t\tid: 63,\r\n\t\tno: \"2.2.5.1\",\r\n\t\tlabel: \"อัตราส่วนของกรณีที่สายหลุด (Drop Call Rate) ในพื้นที่เฝ้าระวัง\",\r\n\t\ttargeted_text: \"ไม่เกินร้อยละ 2\",\r\n\t\tsubLabel_1: \"1-ท่าอากาศยานสุวรรณภูมิ\",\r\n\t\tsubLabel_2: \"07.00 - 08.00 น.\",\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 2,\r\n\t\ttargetCondition: \"le\",\r\n\t\tfilling_condition: \"ช่องสีเขียว ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: false,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\"\r\n\t\t],\r\n\t\texcelValueRow: 255,\r\n\t\tpriority: 63\r\n\t},\r\n\t{\r\n\t\tid: 64,\r\n\t\tno: \"2.2.5.1\",\r\n\t\tlabel: \"อัตราส่วนของกรณีที่สายหลุด (Drop Call Rate) ในพื้นที่เฝ้าระวัง\",\r\n\t\ttargeted_text: \"ไม่เกินร้อยละ 2\",\r\n\t\tsubLabel_1: \"1-ท่าอากาศยานสุวรรณภูมิ\",\r\n\t\tsubLabel_2: \"08.00 - 09.00 น.\",\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 2,\r\n\t\ttargetCondition: \"le\",\r\n\t\tfilling_condition: \"ช่องสีเขียว ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: false,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\"\r\n\t\t],\r\n\t\texcelValueRow: 256,\r\n\t\tpriority: 64\r\n\t},\r\n\t{\r\n\t\tid: 65,\r\n\t\tno: \"2.2.5.1\",\r\n\t\tlabel: \"อัตราส่วนของกรณีที่สายหลุด (Drop Call Rate) ในพื้นที่เฝ้าระวัง\",\r\n\t\ttargeted_text: \"ไม่เกินร้อยละ 2\",\r\n\t\tsubLabel_1: \"1-ท่าอากาศยานสุวรรณภูมิ\",\r\n\t\tsubLabel_2: \"09.00 - 10.00 น.\",\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 2,\r\n\t\ttargetCondition: \"le\",\r\n\t\tfilling_condition: \"ช่องสีเขียว ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: false,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\"\r\n\t\t],\r\n\t\texcelValueRow: 257,\r\n\t\tpriority: 65\r\n\t},\r\n\t{\r\n\t\tid: 66,\r\n\t\tno: \"2.2.5.1\",\r\n\t\tlabel: \"อัตราส่วนของกรณีที่สายหลุด (Drop Call Rate) ในพื้นที่เฝ้าระวัง\",\r\n\t\ttargeted_text: \"ไม่เกินร้อยละ 2\",\r\n\t\tsubLabel_1: \"1-ท่าอากาศยานสุวรรณภูมิ\",\r\n\t\tsubLabel_2: \"10.00 - 11.00 น.\",\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 2,\r\n\t\ttargetCondition: \"le\",\r\n\t\tfilling_condition: \"ช่องสีเขียว ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: false,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\"\r\n\t\t],\r\n\t\texcelValueRow: 258,\r\n\t\tpriority: 66\r\n\t},\r\n\t{\r\n\t\tid: 67,\r\n\t\tno: \"2.2.5.1\",\r\n\t\tlabel: \"อัตราส่วนของกรณีที่สายหลุด (Drop Call Rate) ในพื้นที่เฝ้าระวัง\",\r\n\t\ttargeted_text: \"ไม่เกินร้อยละ 2\",\r\n\t\tsubLabel_1: \"1-ท่าอากาศยานสุวรรณภูมิ\",\r\n\t\tsubLabel_2: \"11.00 - 12.00 น.\",\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 2,\r\n\t\ttargetCondition: \"le\",\r\n\t\tfilling_condition: \"ช่องสีเขียว ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: false,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\"\r\n\t\t],\r\n\t\texcelValueRow: 259,\r\n\t\tpriority: 67\r\n\t},\r\n\t{\r\n\t\tid: 68,\r\n\t\tno: \"2.2.5.1\",\r\n\t\tlabel: \"อัตราส่วนของกรณีที่สายหลุด (Drop Call Rate) ในพื้นที่เฝ้าระวัง\",\r\n\t\ttargeted_text: \"ไม่เกินร้อยละ 2\",\r\n\t\tsubLabel_1: \"1-ท่าอากาศยานสุวรรณภูมิ\",\r\n\t\tsubLabel_2: \"12.00 - 13.00 น.\",\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 2,\r\n\t\ttargetCondition: \"le\",\r\n\t\tfilling_condition: \"ช่องสีเขียว ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: false,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\"\r\n\t\t],\r\n\t\texcelValueRow: 260,\r\n\t\tpriority: 68\r\n\t},\r\n\t{\r\n\t\tid: 69,\r\n\t\tno: \"2.2.5.1\",\r\n\t\tlabel: \"อัตราส่วนของกรณีที่สายหลุด (Drop Call Rate) ในพื้นที่เฝ้าระวัง\",\r\n\t\ttargeted_text: \"ไม่เกินร้อยละ 2\",\r\n\t\tsubLabel_1: \"1-ท่าอากาศยานสุวรรณภูมิ\",\r\n\t\tsubLabel_2: \"13.00 - 14.00 น.\",\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 2,\r\n\t\ttargetCondition: \"le\",\r\n\t\tfilling_condition: \"ช่องสีเขียว ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: false,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\"\r\n\t\t],\r\n\t\texcelValueRow: 261,\r\n\t\tpriority: 69\r\n\t},\r\n\t{\r\n\t\tid: 70,\r\n\t\tno: \"2.2.5.1\",\r\n\t\tlabel: \"อัตราส่วนของกรณีที่สายหลุด (Drop Call Rate) ในพื้นที่เฝ้าระวัง\",\r\n\t\ttargeted_text: \"ไม่เกินร้อยละ 2\",\r\n\t\tsubLabel_1: \"1-ท่าอากาศยานสุวรรณภูมิ\",\r\n\t\tsubLabel_2: \"14.00 - 15.00 น.\",\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 2,\r\n\t\ttargetCondition: \"le\",\r\n\t\tfilling_condition: \"ช่องสีเขียว ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: false,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\"\r\n\t\t],\r\n\t\texcelValueRow: 262,\r\n\t\tpriority: 70\r\n\t},\r\n\t{\r\n\t\tid: 71,\r\n\t\tno: \"2.2.5.1\",\r\n\t\tlabel: \"อัตราส่วนของกรณีที่สายหลุด (Drop Call Rate) ในพื้นที่เฝ้าระวัง\",\r\n\t\ttargeted_text: \"ไม่เกินร้อยละ 2\",\r\n\t\tsubLabel_1: \"1-ท่าอากาศยานสุวรรณภูมิ\",\r\n\t\tsubLabel_2: \"15.00 - 16.00 น.\",\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 2,\r\n\t\ttargetCondition: \"le\",\r\n\t\tfilling_condition: \"ช่องสีเขียว ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: false,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\"\r\n\t\t],\r\n\t\texcelValueRow: 263,\r\n\t\tpriority: 71\r\n\t},\r\n\t{\r\n\t\tid: 72,\r\n\t\tno: \"2.2.5.1\",\r\n\t\tlabel: \"อัตราส่วนของกรณีที่สายหลุด (Drop Call Rate) ในพื้นที่เฝ้าระวัง\",\r\n\t\ttargeted_text: \"ไม่เกินร้อยละ 2\",\r\n\t\tsubLabel_1: \"1-ท่าอากาศยานสุวรรณภูมิ\",\r\n\t\tsubLabel_2: \"16.00 - 17.00 น.\",\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 2,\r\n\t\ttargetCondition: \"le\",\r\n\t\tfilling_condition: \"ช่องสีเขียว ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: false,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\"\r\n\t\t],\r\n\t\texcelValueRow: 264,\r\n\t\tpriority: 72\r\n\t},\r\n\t{\r\n\t\tid: 73,\r\n\t\tno: \"2.2.5.1\",\r\n\t\tlabel: \"อัตราส่วนของกรณีที่สายหลุด (Drop Call Rate) ในพื้นที่เฝ้าระวัง\",\r\n\t\ttargeted_text: \"ไม่เกินร้อยละ 2\",\r\n\t\tsubLabel_1: \"1-ท่าอากาศยานสุวรรณภูมิ\",\r\n\t\tsubLabel_2: \"17.00 - 18.00 น.\",\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 2,\r\n\t\ttargetCondition: \"le\",\r\n\t\tfilling_condition: \"ช่องสีเขียว ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: false,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\"\r\n\t\t],\r\n\t\texcelValueRow: 265,\r\n\t\tpriority: 73\r\n\t},\r\n\t{\r\n\t\tid: 74,\r\n\t\tno: \"2.2.5.1\",\r\n\t\tlabel: \"อัตราส่วนของกรณีที่สายหลุด (Drop Call Rate) ในพื้นที่เฝ้าระวัง\",\r\n\t\ttargeted_text: \"ไม่เกินร้อยละ 2\",\r\n\t\tsubLabel_1: \"1-ท่าอากาศยานสุวรรณภูมิ\",\r\n\t\tsubLabel_2: \"18.00 - 19.00 น.\",\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 2,\r\n\t\ttargetCondition: \"le\",\r\n\t\tfilling_condition: \"ช่องสีเขียว ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: false,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\"\r\n\t\t],\r\n\t\texcelValueRow: 266,\r\n\t\tpriority: 74\r\n\t},\r\n\t{\r\n\t\tid: 75,\r\n\t\tno: \"2.2.5.1\",\r\n\t\tlabel: \"อัตราส่วนของกรณีที่สายหลุด (Drop Call Rate) ในพื้นที่เฝ้าระวัง\",\r\n\t\ttargeted_text: \"ไม่เกินร้อยละ 2\",\r\n\t\tsubLabel_1: \"1-ท่าอากาศยานสุวรรณภูมิ\",\r\n\t\tsubLabel_2: \"19.00 - 20.00 น.\",\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 2,\r\n\t\ttargetCondition: \"le\",\r\n\t\tfilling_condition: \"ช่องสีเขียว ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: false,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\"\r\n\t\t],\r\n\t\texcelValueRow: 267,\r\n\t\tpriority: 75\r\n\t},\r\n\t{\r\n\t\tid: 76,\r\n\t\tno: \"2.2.5.1\",\r\n\t\tlabel: \"อัตราส่วนของกรณีที่สายหลุด (Drop Call Rate) ในพื้นที่เฝ้าระวัง\",\r\n\t\ttargeted_text: \"ไม่เกินร้อยละ 2\",\r\n\t\tsubLabel_1: \"1-ท่าอากาศยานสุวรรณภูมิ\",\r\n\t\tsubLabel_2: \"20.00 - 21.00 น.\",\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 2,\r\n\t\ttargetCondition: \"le\",\r\n\t\tfilling_condition: \"ช่องสีเขียว ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: false,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\"\r\n\t\t],\r\n\t\texcelValueRow: 268,\r\n\t\tpriority: 76\r\n\t},\r\n\t{\r\n\t\tid: 77,\r\n\t\tno: \"2.2.5.1\",\r\n\t\tlabel: \"อัตราส่วนของกรณีที่สายหลุด (Drop Call Rate) ในพื้นที่เฝ้าระวัง\",\r\n\t\ttargeted_text: \"ไม่เกินร้อยละ 2\",\r\n\t\tsubLabel_1: \"1-ท่าอากาศยานสุวรรณภูมิ\",\r\n\t\tsubLabel_2: \"21.00 - 22.00 น.\",\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 2,\r\n\t\ttargetCondition: \"le\",\r\n\t\tfilling_condition: \"ช่องสีเขียว ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: false,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\"\r\n\t\t],\r\n\t\texcelValueRow: 269,\r\n\t\tpriority: 77\r\n\t},\r\n\t{\r\n\t\tid: 78,\r\n\t\tno: \"2.2.5.1\",\r\n\t\tlabel: \"อัตราส่วนของกรณีที่สายหลุด (Drop Call Rate) ในพื้นที่เฝ้าระวัง\",\r\n\t\ttargeted_text: \"ไม่เกินร้อยละ 2\",\r\n\t\tsubLabel_1: \"1-ท่าอากาศยานสุวรรณภูมิ\",\r\n\t\tsubLabel_2: \"22.00 - 23.00 น.\",\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 2,\r\n\t\ttargetCondition: \"le\",\r\n\t\tfilling_condition: \"ช่องสีเขียว ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: false,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\"\r\n\t\t],\r\n\t\texcelValueRow: 270,\r\n\t\tpriority: 78\r\n\t},\r\n\t{\r\n\t\tid: 79,\r\n\t\tno: \"2.2.5.1\",\r\n\t\tlabel: \"อัตราส่วนของกรณีที่สายหลุด (Drop Call Rate) ในพื้นที่เฝ้าระวัง\",\r\n\t\ttargeted_text: \"ไม่เกินร้อยละ 2\",\r\n\t\tsubLabel_1: \"1-ท่าอากาศยานสุวรรณภูมิ\",\r\n\t\tsubLabel_2: \"23.00 - 24.00 น.\",\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 2,\r\n\t\ttargetCondition: \"le\",\r\n\t\tfilling_condition: \"ช่องสีเขียว ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: false,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\"\r\n\t\t],\r\n\t\texcelValueRow: 271,\r\n\t\tpriority: 79\r\n\t},\r\n\t{\r\n\t\tid: 80,\r\n\t\tno: \"2.2.5.2\",\r\n\t\tlabel: \"อัตราส่วนของกรณีที่สายหลุด (Drop Call Rate) ในพื้นที่เฝ้าระวัง\",\r\n\t\ttargeted_text: \"ไม่เกินร้อยละ 2\",\r\n\t\tsubLabel_1: \"2-ท่าอากาศยานดอนเมือง\",\r\n\t\tsubLabel_2: \"00.00 - 01.00 น.\",\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 2,\r\n\t\ttargetCondition: \"le\",\r\n\t\tfilling_condition: \"ช่องสีเขียว ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: false,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\"\r\n\t\t],\r\n\t\texcelValueRow: 273,\r\n\t\tpriority: 80\r\n\t},\r\n\t{\r\n\t\tid: 81,\r\n\t\tno: \"2.2.5.2\",\r\n\t\tlabel: \"อัตราส่วนของกรณีที่สายหลุด (Drop Call Rate) ในพื้นที่เฝ้าระวัง\",\r\n\t\ttargeted_text: \"ไม่เกินร้อยละ 2\",\r\n\t\tsubLabel_1: \"2-ท่าอากาศยานดอนเมือง\",\r\n\t\tsubLabel_2: \"01.00 - 02.00 น.\",\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 2,\r\n\t\ttargetCondition: \"le\",\r\n\t\tfilling_condition: \"ช่องสีเขียว ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: false,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\"\r\n\t\t],\r\n\t\texcelValueRow: 274,\r\n\t\tpriority: 81\r\n\t},\r\n\t{\r\n\t\tid: 82,\r\n\t\tno: \"2.2.5.2\",\r\n\t\tlabel: \"อัตราส่วนของกรณีที่สายหลุด (Drop Call Rate) ในพื้นที่เฝ้าระวัง\",\r\n\t\ttargeted_text: \"ไม่เกินร้อยละ 2\",\r\n\t\tsubLabel_1: \"2-ท่าอากาศยานดอนเมือง\",\r\n\t\tsubLabel_2: \"02.00 - 03.00 น.\",\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 2,\r\n\t\ttargetCondition: \"le\",\r\n\t\tfilling_condition: \"ช่องสีเขียว ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: false,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\"\r\n\t\t],\r\n\t\texcelValueRow: 275,\r\n\t\tpriority: 82\r\n\t},\r\n\t{\r\n\t\tid: 83,\r\n\t\tno: \"2.2.5.2\",\r\n\t\tlabel: \"อัตราส่วนของกรณีที่สายหลุด (Drop Call Rate) ในพื้นที่เฝ้าระวัง\",\r\n\t\ttargeted_text: \"ไม่เกินร้อยละ 2\",\r\n\t\tsubLabel_1: \"2-ท่าอากาศยานดอนเมือง\",\r\n\t\tsubLabel_2: \"03.00 - 04.00 น.\",\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 2,\r\n\t\ttargetCondition: \"le\",\r\n\t\tfilling_condition: \"ช่องสีเขียว ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: false,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\"\r\n\t\t],\r\n\t\texcelValueRow: 276,\r\n\t\tpriority: 83\r\n\t},\r\n\t{\r\n\t\tid: 84,\r\n\t\tno: \"2.2.5.2\",\r\n\t\tlabel: \"อัตราส่วนของกรณีที่สายหลุด (Drop Call Rate) ในพื้นที่เฝ้าระวัง\",\r\n\t\ttargeted_text: \"ไม่เกินร้อยละ 2\",\r\n\t\tsubLabel_1: \"2-ท่าอากาศยานดอนเมือง\",\r\n\t\tsubLabel_2: \"04.00 - 05.00 น.\",\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 2,\r\n\t\ttargetCondition: \"le\",\r\n\t\tfilling_condition: \"ช่องสีเขียว ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: false,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\"\r\n\t\t],\r\n\t\texcelValueRow: 277,\r\n\t\tpriority: 84\r\n\t},\r\n\t{\r\n\t\tid: 85,\r\n\t\tno: \"2.2.5.2\",\r\n\t\tlabel: \"อัตราส่วนของกรณีที่สายหลุด (Drop Call Rate) ในพื้นที่เฝ้าระวัง\",\r\n\t\ttargeted_text: \"ไม่เกินร้อยละ 2\",\r\n\t\tsubLabel_1: \"2-ท่าอากาศยานดอนเมือง\",\r\n\t\tsubLabel_2: \"05.00 - 06.00 น.\",\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 2,\r\n\t\ttargetCondition: \"le\",\r\n\t\tfilling_condition: \"ช่องสีเขียว ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: false,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\"\r\n\t\t],\r\n\t\texcelValueRow: 278,\r\n\t\tpriority: 85\r\n\t},\r\n\t{\r\n\t\tid: 86,\r\n\t\tno: \"2.2.5.2\",\r\n\t\tlabel: \"อัตราส่วนของกรณีที่สายหลุด (Drop Call Rate) ในพื้นที่เฝ้าระวัง\",\r\n\t\ttargeted_text: \"ไม่เกินร้อยละ 2\",\r\n\t\tsubLabel_1: \"2-ท่าอากาศยานดอนเมือง\",\r\n\t\tsubLabel_2: \"06.00 - 07.00 น.\",\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 2,\r\n\t\ttargetCondition: \"le\",\r\n\t\tfilling_condition: \"ช่องสีเขียว ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: false,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\"\r\n\t\t],\r\n\t\texcelValueRow: 279,\r\n\t\tpriority: 86\r\n\t},\r\n\t{\r\n\t\tid: 87,\r\n\t\tno: \"2.2.5.2\",\r\n\t\tlabel: \"อัตราส่วนของกรณีที่สายหลุด (Drop Call Rate) ในพื้นที่เฝ้าระวัง\",\r\n\t\ttargeted_text: \"ไม่เกินร้อยละ 2\",\r\n\t\tsubLabel_1: \"2-ท่าอากาศยานดอนเมือง\",\r\n\t\tsubLabel_2: \"07.00 - 08.00 น.\",\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 2,\r\n\t\ttargetCondition: \"le\",\r\n\t\tfilling_condition: \"ช่องสีเขียว ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: false,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\"\r\n\t\t],\r\n\t\texcelValueRow: 280,\r\n\t\tpriority: 87\r\n\t},\r\n\t{\r\n\t\tid: 88,\r\n\t\tno: \"2.2.5.2\",\r\n\t\tlabel: \"อัตราส่วนของกรณีที่สายหลุด (Drop Call Rate) ในพื้นที่เฝ้าระวัง\",\r\n\t\ttargeted_text: \"ไม่เกินร้อยละ 2\",\r\n\t\tsubLabel_1: \"2-ท่าอากาศยานดอนเมือง\",\r\n\t\tsubLabel_2: \"08.00 - 09.00 น.\",\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 2,\r\n\t\ttargetCondition: \"le\",\r\n\t\tfilling_condition: \"ช่องสีเขียว ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: false,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\"\r\n\t\t],\r\n\t\texcelValueRow: 281,\r\n\t\tpriority: 88\r\n\t},\r\n\t{\r\n\t\tid: 89,\r\n\t\tno: \"2.2.5.2\",\r\n\t\tlabel: \"อัตราส่วนของกรณีที่สายหลุด (Drop Call Rate) ในพื้นที่เฝ้าระวัง\",\r\n\t\ttargeted_text: \"ไม่เกินร้อยละ 2\",\r\n\t\tsubLabel_1: \"2-ท่าอากาศยานดอนเมือง\",\r\n\t\tsubLabel_2: \"09.00 - 10.00 น.\",\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 2,\r\n\t\ttargetCondition: \"le\",\r\n\t\tfilling_condition: \"ช่องสีเขียว ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: false,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\"\r\n\t\t],\r\n\t\texcelValueRow: 282,\r\n\t\tpriority: 89\r\n\t},\r\n\t{\r\n\t\tid: 90,\r\n\t\tno: \"2.2.5.2\",\r\n\t\tlabel: \"อัตราส่วนของกรณีที่สายหลุด (Drop Call Rate) ในพื้นที่เฝ้าระวัง\",\r\n\t\ttargeted_text: \"ไม่เกินร้อยละ 2\",\r\n\t\tsubLabel_1: \"2-ท่าอากาศยานดอนเมือง\",\r\n\t\tsubLabel_2: \"10.00 - 11.00 น.\",\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 2,\r\n\t\ttargetCondition: \"le\",\r\n\t\tfilling_condition: \"ช่องสีเขียว ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: false,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\"\r\n\t\t],\r\n\t\texcelValueRow: 283,\r\n\t\tpriority: 90\r\n\t},\r\n\t{\r\n\t\tid: 91,\r\n\t\tno: \"2.2.5.2\",\r\n\t\tlabel: \"อัตราส่วนของกรณีที่สายหลุด (Drop Call Rate) ในพื้นที่เฝ้าระวัง\",\r\n\t\ttargeted_text: \"ไม่เกินร้อยละ 2\",\r\n\t\tsubLabel_1: \"2-ท่าอากาศยานดอนเมือง\",\r\n\t\tsubLabel_2: \"11.00 - 12.00 น.\",\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 2,\r\n\t\ttargetCondition: \"le\",\r\n\t\tfilling_condition: \"ช่องสีเขียว ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: false,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\"\r\n\t\t],\r\n\t\texcelValueRow: 284,\r\n\t\tpriority: 91\r\n\t},\r\n\t{\r\n\t\tid: 92,\r\n\t\tno: \"2.2.5.2\",\r\n\t\tlabel: \"อัตราส่วนของกรณีที่สายหลุด (Drop Call Rate) ในพื้นที่เฝ้าระวัง\",\r\n\t\ttargeted_text: \"ไม่เกินร้อยละ 2\",\r\n\t\tsubLabel_1: \"2-ท่าอากาศยานดอนเมือง\",\r\n\t\tsubLabel_2: \"12.00 - 13.00 น.\",\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 2,\r\n\t\ttargetCondition: \"le\",\r\n\t\tfilling_condition: \"ช่องสีเขียว ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: false,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\"\r\n\t\t],\r\n\t\texcelValueRow: 285,\r\n\t\tpriority: 92\r\n\t},\r\n\t{\r\n\t\tid: 93,\r\n\t\tno: \"2.2.5.2\",\r\n\t\tlabel: \"อัตราส่วนของกรณีที่สายหลุด (Drop Call Rate) ในพื้นที่เฝ้าระวัง\",\r\n\t\ttargeted_text: \"ไม่เกินร้อยละ 2\",\r\n\t\tsubLabel_1: \"2-ท่าอากาศยานดอนเมือง\",\r\n\t\tsubLabel_2: \"13.00 - 14.00 น.\",\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 2,\r\n\t\ttargetCondition: \"le\",\r\n\t\tfilling_condition: \"ช่องสีเขียว ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: false,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\"\r\n\t\t],\r\n\t\texcelValueRow: 286,\r\n\t\tpriority: 93\r\n\t},\r\n\t{\r\n\t\tid: 94,\r\n\t\tno: \"2.2.5.2\",\r\n\t\tlabel: \"อัตราส่วนของกรณีที่สายหลุด (Drop Call Rate) ในพื้นที่เฝ้าระวัง\",\r\n\t\ttargeted_text: \"ไม่เกินร้อยละ 2\",\r\n\t\tsubLabel_1: \"2-ท่าอากาศยานดอนเมือง\",\r\n\t\tsubLabel_2: \"14.00 - 15.00 น.\",\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 2,\r\n\t\ttargetCondition: \"le\",\r\n\t\tfilling_condition: \"ช่องสีเขียว ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: false,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\"\r\n\t\t],\r\n\t\texcelValueRow: 287,\r\n\t\tpriority: 94\r\n\t},\r\n\t{\r\n\t\tid: 95,\r\n\t\tno: \"2.2.5.2\",\r\n\t\tlabel: \"อัตราส่วนของกรณีที่สายหลุด (Drop Call Rate) ในพื้นที่เฝ้าระวัง\",\r\n\t\ttargeted_text: \"ไม่เกินร้อยละ 2\",\r\n\t\tsubLabel_1: \"2-ท่าอากาศยานดอนเมือง\",\r\n\t\tsubLabel_2: \"15.00 - 16.00 น.\",\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 2,\r\n\t\ttargetCondition: \"le\",\r\n\t\tfilling_condition: \"ช่องสีเขียว ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: false,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\"\r\n\t\t],\r\n\t\texcelValueRow: 288,\r\n\t\tpriority: 95\r\n\t},\r\n\t{\r\n\t\tid: 96,\r\n\t\tno: \"2.2.5.2\",\r\n\t\tlabel: \"อัตราส่วนของกรณีที่สายหลุด (Drop Call Rate) ในพื้นที่เฝ้าระวัง\",\r\n\t\ttargeted_text: \"ไม่เกินร้อยละ 2\",\r\n\t\tsubLabel_1: \"2-ท่าอากาศยานดอนเมือง\",\r\n\t\tsubLabel_2: \"16.00 - 17.00 น.\",\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 2,\r\n\t\ttargetCondition: \"le\",\r\n\t\tfilling_condition: \"ช่องสีเขียว ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: false,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\"\r\n\t\t],\r\n\t\texcelValueRow: 289,\r\n\t\tpriority: 96\r\n\t},\r\n\t{\r\n\t\tid: 97,\r\n\t\tno: \"2.2.5.2\",\r\n\t\tlabel: \"อัตราส่วนของกรณีที่สายหลุด (Drop Call Rate) ในพื้นที่เฝ้าระวัง\",\r\n\t\ttargeted_text: \"ไม่เกินร้อยละ 2\",\r\n\t\tsubLabel_1: \"2-ท่าอากาศยานดอนเมือง\",\r\n\t\tsubLabel_2: \"17.00 - 18.00 น.\",\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 2,\r\n\t\ttargetCondition: \"le\",\r\n\t\tfilling_condition: \"ช่องสีเขียว ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: false,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\"\r\n\t\t],\r\n\t\texcelValueRow: 290,\r\n\t\tpriority: 97\r\n\t},\r\n\t{\r\n\t\tid: 98,\r\n\t\tno: \"2.2.5.2\",\r\n\t\tlabel: \"อัตราส่วนของกรณีที่สายหลุด (Drop Call Rate) ในพื้นที่เฝ้าระวัง\",\r\n\t\ttargeted_text: \"ไม่เกินร้อยละ 2\",\r\n\t\tsubLabel_1: \"2-ท่าอากาศยานดอนเมือง\",\r\n\t\tsubLabel_2: \"18.00 - 19.00 น.\",\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 2,\r\n\t\ttargetCondition: \"le\",\r\n\t\tfilling_condition: \"ช่องสีเขียว ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: false,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\"\r\n\t\t],\r\n\t\texcelValueRow: 291,\r\n\t\tpriority: 98\r\n\t},\r\n\t{\r\n\t\tid: 99,\r\n\t\tno: \"2.2.5.2\",\r\n\t\tlabel: \"อัตราส่วนของกรณีที่สายหลุด (Drop Call Rate) ในพื้นที่เฝ้าระวัง\",\r\n\t\ttargeted_text: \"ไม่เกินร้อยละ 2\",\r\n\t\tsubLabel_1: \"2-ท่าอากาศยานดอนเมือง\",\r\n\t\tsubLabel_2: \"19.00 - 20.00 น.\",\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 2,\r\n\t\ttargetCondition: \"le\",\r\n\t\tfilling_condition: \"ช่องสีเขียว ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: false,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\"\r\n\t\t],\r\n\t\texcelValueRow: 292,\r\n\t\tpriority: 99\r\n\t},\r\n\t{\r\n\t\tid: 100,\r\n\t\tno: \"2.2.5.2\",\r\n\t\tlabel: \"อัตราส่วนของกรณีที่สายหลุด (Drop Call Rate) ในพื้นที่เฝ้าระวัง\",\r\n\t\ttargeted_text: \"ไม่เกินร้อยละ 2\",\r\n\t\tsubLabel_1: \"2-ท่าอากาศยานดอนเมือง\",\r\n\t\tsubLabel_2: \"20.00 - 21.00 น.\",\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 2,\r\n\t\ttargetCondition: \"le\",\r\n\t\tfilling_condition: \"ช่องสีเขียว ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: false,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\"\r\n\t\t],\r\n\t\texcelValueRow: 293,\r\n\t\tpriority: 100\r\n\t},\r\n\t{\r\n\t\tid: 101,\r\n\t\tno: \"2.2.5.2\",\r\n\t\tlabel: \"อัตราส่วนของกรณีที่สายหลุด (Drop Call Rate) ในพื้นที่เฝ้าระวัง\",\r\n\t\ttargeted_text: \"ไม่เกินร้อยละ 2\",\r\n\t\tsubLabel_1: \"2-ท่าอากาศยานดอนเมือง\",\r\n\t\tsubLabel_2: \"21.00 - 22.00 น.\",\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 2,\r\n\t\ttargetCondition: \"le\",\r\n\t\tfilling_condition: \"ช่องสีเขียว ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: false,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\"\r\n\t\t],\r\n\t\texcelValueRow: 294,\r\n\t\tpriority: 101\r\n\t},\r\n\t{\r\n\t\tid: 102,\r\n\t\tno: \"2.2.5.2\",\r\n\t\tlabel: \"อัตราส่วนของกรณีที่สายหลุด (Drop Call Rate) ในพื้นที่เฝ้าระวัง\",\r\n\t\ttargeted_text: \"ไม่เกินร้อยละ 2\",\r\n\t\tsubLabel_1: \"2-ท่าอากาศยานดอนเมือง\",\r\n\t\tsubLabel_2: \"22.00 - 23.00 น.\",\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 2,\r\n\t\ttargetCondition: \"le\",\r\n\t\tfilling_condition: \"ช่องสีเขียว ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: false,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\"\r\n\t\t],\r\n\t\texcelValueRow: 295,\r\n\t\tpriority: 102\r\n\t},\r\n\t{\r\n\t\tid: 103,\r\n\t\tno: \"2.2.5.2\",\r\n\t\tlabel: \"อัตราส่วนของกรณีที่สายหลุด (Drop Call Rate) ในพื้นที่เฝ้าระวัง\",\r\n\t\ttargeted_text: \"ไม่เกินร้อยละ 2\",\r\n\t\tsubLabel_1: \"2-ท่าอากาศยานดอนเมือง\",\r\n\t\tsubLabel_2: \"23.00 - 24.00 น.\",\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 2,\r\n\t\ttargetCondition: \"le\",\r\n\t\tfilling_condition: \"ช่องสีเขียว ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: false,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\"\r\n\t\t],\r\n\t\texcelValueRow: 296,\r\n\t\tpriority: 103\r\n\t},\r\n\t{\r\n\t\tid: 104,\r\n\t\tno: \"2.2.5.3\",\r\n\t\tlabel: \"อัตราส่วนของกรณีที่สายหลุด (Drop Call Rate) ในพื้นที่เฝ้าระวัง\",\r\n\t\ttargeted_text: \"ไม่เกินร้อยละ 2\",\r\n\t\tsubLabel_1: \"3-สถานีขนส่งผู้โดยสารกรุงเทพ (จตุจักร)\",\r\n\t\tsubLabel_2: \"00.00 - 01.00 น.\",\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 2,\r\n\t\ttargetCondition: \"le\",\r\n\t\tfilling_condition: \"ช่องสีเขียว ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: false,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\"\r\n\t\t],\r\n\t\texcelValueRow: 298,\r\n\t\tpriority: 104\r\n\t},\r\n\t{\r\n\t\tid: 105,\r\n\t\tno: \"2.2.5.3\",\r\n\t\tlabel: \"อัตราส่วนของกรณีที่สายหลุด (Drop Call Rate) ในพื้นที่เฝ้าระวัง\",\r\n\t\ttargeted_text: \"ไม่เกินร้อยละ 2\",\r\n\t\tsubLabel_1: \"3-สถานีขนส่งผู้โดยสารกรุงเทพ (จตุจักร)\",\r\n\t\tsubLabel_2: \"01.00 - 02.00 น.\",\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 2,\r\n\t\ttargetCondition: \"le\",\r\n\t\tfilling_condition: \"ช่องสีเขียว ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: false,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\"\r\n\t\t],\r\n\t\texcelValueRow: 299,\r\n\t\tpriority: 105\r\n\t},\r\n\t{\r\n\t\tid: 106,\r\n\t\tno: \"2.2.5.3\",\r\n\t\tlabel: \"อัตราส่วนของกรณีที่สายหลุด (Drop Call Rate) ในพื้นที่เฝ้าระวัง\",\r\n\t\ttargeted_text: \"ไม่เกินร้อยละ 2\",\r\n\t\tsubLabel_1: \"3-สถานีขนส่งผู้โดยสารกรุงเทพ (จตุจักร)\",\r\n\t\tsubLabel_2: \"02.00 - 03.00 น.\",\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 2,\r\n\t\ttargetCondition: \"le\",\r\n\t\tfilling_condition: \"ช่องสีเขียว ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: false,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\"\r\n\t\t],\r\n\t\texcelValueRow: 300,\r\n\t\tpriority: 106\r\n\t},\r\n\t{\r\n\t\tid: 107,\r\n\t\tno: \"2.2.5.3\",\r\n\t\tlabel: \"อัตราส่วนของกรณีที่สายหลุด (Drop Call Rate) ในพื้นที่เฝ้าระวัง\",\r\n\t\ttargeted_text: \"ไม่เกินร้อยละ 2\",\r\n\t\tsubLabel_1: \"3-สถานีขนส่งผู้โดยสารกรุงเทพ (จตุจักร)\",\r\n\t\tsubLabel_2: \"03.00 - 04.00 น.\",\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 2,\r\n\t\ttargetCondition: \"le\",\r\n\t\tfilling_condition: \"ช่องสีเขียว ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: false,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\"\r\n\t\t],\r\n\t\texcelValueRow: 301,\r\n\t\tpriority: 107\r\n\t},\r\n\t{\r\n\t\tid: 108,\r\n\t\tno: \"2.2.5.3\",\r\n\t\tlabel: \"อัตราส่วนของกรณีที่สายหลุด (Drop Call Rate) ในพื้นที่เฝ้าระวัง\",\r\n\t\ttargeted_text: \"ไม่เกินร้อยละ 2\",\r\n\t\tsubLabel_1: \"3-สถานีขนส่งผู้โดยสารกรุงเทพ (จตุจักร)\",\r\n\t\tsubLabel_2: \"04.00 - 05.00 น.\",\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 2,\r\n\t\ttargetCondition: \"le\",\r\n\t\tfilling_condition: \"ช่องสีเขียว ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: false,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\"\r\n\t\t],\r\n\t\texcelValueRow: 302,\r\n\t\tpriority: 108\r\n\t},\r\n\t{\r\n\t\tid: 109,\r\n\t\tno: \"2.2.5.3\",\r\n\t\tlabel: \"อัตราส่วนของกรณีที่สายหลุด (Drop Call Rate) ในพื้นที่เฝ้าระวัง\",\r\n\t\ttargeted_text: \"ไม่เกินร้อยละ 2\",\r\n\t\tsubLabel_1: \"3-สถานีขนส่งผู้โดยสารกรุงเทพ (จตุจักร)\",\r\n\t\tsubLabel_2: \"05.00 - 06.00 น.\",\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 2,\r\n\t\ttargetCondition: \"le\",\r\n\t\tfilling_condition: \"ช่องสีเขียว ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: false,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\"\r\n\t\t],\r\n\t\texcelValueRow: 303,\r\n\t\tpriority: 109\r\n\t},\r\n\t{\r\n\t\tid: 110,\r\n\t\tno: \"2.2.5.3\",\r\n\t\tlabel: \"อัตราส่วนของกรณีที่สายหลุด (Drop Call Rate) ในพื้นที่เฝ้าระวัง\",\r\n\t\ttargeted_text: \"ไม่เกินร้อยละ 2\",\r\n\t\tsubLabel_1: \"3-สถานีขนส่งผู้โดยสารกรุงเทพ (จตุจักร)\",\r\n\t\tsubLabel_2: \"06.00 - 07.00 น.\",\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 2,\r\n\t\ttargetCondition: \"le\",\r\n\t\tfilling_condition: \"ช่องสีเขียว ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: false,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\"\r\n\t\t],\r\n\t\texcelValueRow: 304,\r\n\t\tpriority: 110\r\n\t},\r\n\t{\r\n\t\tid: 111,\r\n\t\tno: \"2.2.5.3\",\r\n\t\tlabel: \"อัตราส่วนของกรณีที่สายหลุด (Drop Call Rate) ในพื้นที่เฝ้าระวัง\",\r\n\t\ttargeted_text: \"ไม่เกินร้อยละ 2\",\r\n\t\tsubLabel_1: \"3-สถานีขนส่งผู้โดยสารกรุงเทพ (จตุจักร)\",\r\n\t\tsubLabel_2: \"07.00 - 08.00 น.\",\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 2,\r\n\t\ttargetCondition: \"le\",\r\n\t\tfilling_condition: \"ช่องสีเขียว ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: false,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\"\r\n\t\t],\r\n\t\texcelValueRow: 305,\r\n\t\tpriority: 111\r\n\t},\r\n\t{\r\n\t\tid: 112,\r\n\t\tno: \"2.2.5.3\",\r\n\t\tlabel: \"อัตราส่วนของกรณีที่สายหลุด (Drop Call Rate) ในพื้นที่เฝ้าระวัง\",\r\n\t\ttargeted_text: \"ไม่เกินร้อยละ 2\",\r\n\t\tsubLabel_1: \"3-สถานีขนส่งผู้โดยสารกรุงเทพ (จตุจักร)\",\r\n\t\tsubLabel_2: \"08.00 - 09.00 น.\",\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 2,\r\n\t\ttargetCondition: \"le\",\r\n\t\tfilling_condition: \"ช่องสีเขียว ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: false,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\"\r\n\t\t],\r\n\t\texcelValueRow: 306,\r\n\t\tpriority: 112\r\n\t},\r\n\t{\r\n\t\tid: 113,\r\n\t\tno: \"2.2.5.3\",\r\n\t\tlabel: \"อัตราส่วนของกรณีที่สายหลุด (Drop Call Rate) ในพื้นที่เฝ้าระวัง\",\r\n\t\ttargeted_text: \"ไม่เกินร้อยละ 2\",\r\n\t\tsubLabel_1: \"3-สถานีขนส่งผู้โดยสารกรุงเทพ (จตุจักร)\",\r\n\t\tsubLabel_2: \"09.00 - 10.00 น.\",\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 2,\r\n\t\ttargetCondition: \"le\",\r\n\t\tfilling_condition: \"ช่องสีเขียว ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: false,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\"\r\n\t\t],\r\n\t\texcelValueRow: 307,\r\n\t\tpriority: 113\r\n\t},\r\n\t{\r\n\t\tid: 114,\r\n\t\tno: \"2.2.5.3\",\r\n\t\tlabel: \"อัตราส่วนของกรณีที่สายหลุด (Drop Call Rate) ในพื้นที่เฝ้าระวัง\",\r\n\t\ttargeted_text: \"ไม่เกินร้อยละ 2\",\r\n\t\tsubLabel_1: \"3-สถานีขนส่งผู้โดยสารกรุงเทพ (จตุจักร)\",\r\n\t\tsubLabel_2: \"10.00 - 11.00 น.\",\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 2,\r\n\t\ttargetCondition: \"le\",\r\n\t\tfilling_condition: \"ช่องสีเขียว ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: false,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\"\r\n\t\t],\r\n\t\texcelValueRow: 308,\r\n\t\tpriority: 114\r\n\t},\r\n\t{\r\n\t\tid: 115,\r\n\t\tno: \"2.2.5.3\",\r\n\t\tlabel: \"อัตราส่วนของกรณีที่สายหลุด (Drop Call Rate) ในพื้นที่เฝ้าระวัง\",\r\n\t\ttargeted_text: \"ไม่เกินร้อยละ 2\",\r\n\t\tsubLabel_1: \"3-สถานีขนส่งผู้โดยสารกรุงเทพ (จตุจักร)\",\r\n\t\tsubLabel_2: \"11.00 - 12.00 น.\",\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 2,\r\n\t\ttargetCondition: \"le\",\r\n\t\tfilling_condition: \"ช่องสีเขียว ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: false,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\"\r\n\t\t],\r\n\t\texcelValueRow: 309,\r\n\t\tpriority: 115\r\n\t},\r\n\t{\r\n\t\tid: 116,\r\n\t\tno: \"2.2.5.3\",\r\n\t\tlabel: \"อัตราส่วนของกรณีที่สายหลุด (Drop Call Rate) ในพื้นที่เฝ้าระวัง\",\r\n\t\ttargeted_text: \"ไม่เกินร้อยละ 2\",\r\n\t\tsubLabel_1: \"3-สถานีขนส่งผู้โดยสารกรุงเทพ (จตุจักร)\",\r\n\t\tsubLabel_2: \"12.00 - 13.00 น.\",\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 2,\r\n\t\ttargetCondition: \"le\",\r\n\t\tfilling_condition: \"ช่องสีเขียว ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: false,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\"\r\n\t\t],\r\n\t\texcelValueRow: 310,\r\n\t\tpriority: 116\r\n\t},\r\n\t{\r\n\t\tid: 117,\r\n\t\tno: \"2.2.5.3\",\r\n\t\tlabel: \"อัตราส่วนของกรณีที่สายหลุด (Drop Call Rate) ในพื้นที่เฝ้าระวัง\",\r\n\t\ttargeted_text: \"ไม่เกินร้อยละ 2\",\r\n\t\tsubLabel_1: \"3-สถานีขนส่งผู้โดยสารกรุงเทพ (จตุจักร)\",\r\n\t\tsubLabel_2: \"13.00 - 14.00 น.\",\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 2,\r\n\t\ttargetCondition: \"le\",\r\n\t\tfilling_condition: \"ช่องสีเขียว ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: false,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\"\r\n\t\t],\r\n\t\texcelValueRow: 311,\r\n\t\tpriority: 117\r\n\t},\r\n\t{\r\n\t\tid: 118,\r\n\t\tno: \"2.2.5.3\",\r\n\t\tlabel: \"อัตราส่วนของกรณีที่สายหลุด (Drop Call Rate) ในพื้นที่เฝ้าระวัง\",\r\n\t\ttargeted_text: \"ไม่เกินร้อยละ 2\",\r\n\t\tsubLabel_1: \"3-สถานีขนส่งผู้โดยสารกรุงเทพ (จตุจักร)\",\r\n\t\tsubLabel_2: \"14.00 - 15.00 น.\",\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 2,\r\n\t\ttargetCondition: \"le\",\r\n\t\tfilling_condition: \"ช่องสีเขียว ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: false,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\"\r\n\t\t],\r\n\t\texcelValueRow: 312,\r\n\t\tpriority: 118\r\n\t},\r\n\t{\r\n\t\tid: 119,\r\n\t\tno: \"2.2.5.3\",\r\n\t\tlabel: \"อัตราส่วนของกรณีที่สายหลุด (Drop Call Rate) ในพื้นที่เฝ้าระวัง\",\r\n\t\ttargeted_text: \"ไม่เกินร้อยละ 2\",\r\n\t\tsubLabel_1: \"3-สถานีขนส่งผู้โดยสารกรุงเทพ (จตุจักร)\",\r\n\t\tsubLabel_2: \"15.00 - 16.00 น.\",\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 2,\r\n\t\ttargetCondition: \"le\",\r\n\t\tfilling_condition: \"ช่องสีเขียว ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: false,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\"\r\n\t\t],\r\n\t\texcelValueRow: 313,\r\n\t\tpriority: 119\r\n\t},\r\n\t{\r\n\t\tid: 120,\r\n\t\tno: \"2.2.5.3\",\r\n\t\tlabel: \"อัตราส่วนของกรณีที่สายหลุด (Drop Call Rate) ในพื้นที่เฝ้าระวัง\",\r\n\t\ttargeted_text: \"ไม่เกินร้อยละ 2\",\r\n\t\tsubLabel_1: \"3-สถานีขนส่งผู้โดยสารกรุงเทพ (จตุจักร)\",\r\n\t\tsubLabel_2: \"16.00 - 17.00 น.\",\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 2,\r\n\t\ttargetCondition: \"le\",\r\n\t\tfilling_condition: \"ช่องสีเขียว ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: false,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\"\r\n\t\t],\r\n\t\texcelValueRow: 314,\r\n\t\tpriority: 120\r\n\t},\r\n\t{\r\n\t\tid: 121,\r\n\t\tno: \"2.2.5.3\",\r\n\t\tlabel: \"อัตราส่วนของกรณีที่สายหลุด (Drop Call Rate) ในพื้นที่เฝ้าระวัง\",\r\n\t\ttargeted_text: \"ไม่เกินร้อยละ 2\",\r\n\t\tsubLabel_1: \"3-สถานีขนส่งผู้โดยสารกรุงเทพ (จตุจักร)\",\r\n\t\tsubLabel_2: \"17.00 - 18.00 น.\",\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 2,\r\n\t\ttargetCondition: \"le\",\r\n\t\tfilling_condition: \"ช่องสีเขียว ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: false,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\"\r\n\t\t],\r\n\t\texcelValueRow: 315,\r\n\t\tpriority: 121\r\n\t},\r\n\t{\r\n\t\tid: 122,\r\n\t\tno: \"2.2.5.3\",\r\n\t\tlabel: \"อัตราส่วนของกรณีที่สายหลุด (Drop Call Rate) ในพื้นที่เฝ้าระวัง\",\r\n\t\ttargeted_text: \"ไม่เกินร้อยละ 2\",\r\n\t\tsubLabel_1: \"3-สถานีขนส่งผู้โดยสารกรุงเทพ (จตุจักร)\",\r\n\t\tsubLabel_2: \"18.00 - 19.00 น.\",\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 2,\r\n\t\ttargetCondition: \"le\",\r\n\t\tfilling_condition: \"ช่องสีเขียว ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: false,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\"\r\n\t\t],\r\n\t\texcelValueRow: 316,\r\n\t\tpriority: 122\r\n\t},\r\n\t{\r\n\t\tid: 123,\r\n\t\tno: \"2.2.5.3\",\r\n\t\tlabel: \"อัตราส่วนของกรณีที่สายหลุด (Drop Call Rate) ในพื้นที่เฝ้าระวัง\",\r\n\t\ttargeted_text: \"ไม่เกินร้อยละ 2\",\r\n\t\tsubLabel_1: \"3-สถานีขนส่งผู้โดยสารกรุงเทพ (จตุจักร)\",\r\n\t\tsubLabel_2: \"19.00 - 20.00 น.\",\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 2,\r\n\t\ttargetCondition: \"le\",\r\n\t\tfilling_condition: \"ช่องสีเขียว ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: false,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\"\r\n\t\t],\r\n\t\texcelValueRow: 317,\r\n\t\tpriority: 123\r\n\t},\r\n\t{\r\n\t\tid: 124,\r\n\t\tno: \"2.2.5.3\",\r\n\t\tlabel: \"อัตราส่วนของกรณีที่สายหลุด (Drop Call Rate) ในพื้นที่เฝ้าระวัง\",\r\n\t\ttargeted_text: \"ไม่เกินร้อยละ 2\",\r\n\t\tsubLabel_1: \"3-สถานีขนส่งผู้โดยสารกรุงเทพ (จตุจักร)\",\r\n\t\tsubLabel_2: \"20.00 - 21.00 น.\",\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 2,\r\n\t\ttargetCondition: \"le\",\r\n\t\tfilling_condition: \"ช่องสีเขียว ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: false,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\"\r\n\t\t],\r\n\t\texcelValueRow: 318,\r\n\t\tpriority: 124\r\n\t},\r\n\t{\r\n\t\tid: 125,\r\n\t\tno: \"2.2.5.3\",\r\n\t\tlabel: \"อัตราส่วนของกรณีที่สายหลุด (Drop Call Rate) ในพื้นที่เฝ้าระวัง\",\r\n\t\ttargeted_text: \"ไม่เกินร้อยละ 2\",\r\n\t\tsubLabel_1: \"3-สถานีขนส่งผู้โดยสารกรุงเทพ (จตุจักร)\",\r\n\t\tsubLabel_2: \"21.00 - 22.00 น.\",\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 2,\r\n\t\ttargetCondition: \"le\",\r\n\t\tfilling_condition: \"ช่องสีเขียว ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: false,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\"\r\n\t\t],\r\n\t\texcelValueRow: 319,\r\n\t\tpriority: 125\r\n\t},\r\n\t{\r\n\t\tid: 126,\r\n\t\tno: \"2.2.5.3\",\r\n\t\tlabel: \"อัตราส่วนของกรณีที่สายหลุด (Drop Call Rate) ในพื้นที่เฝ้าระวัง\",\r\n\t\ttargeted_text: \"ไม่เกินร้อยละ 2\",\r\n\t\tsubLabel_1: \"3-สถานีขนส่งผู้โดยสารกรุงเทพ (จตุจักร)\",\r\n\t\tsubLabel_2: \"22.00 - 23.00 น.\",\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 2,\r\n\t\ttargetCondition: \"le\",\r\n\t\tfilling_condition: \"ช่องสีเขียว ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: false,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\"\r\n\t\t],\r\n\t\texcelValueRow: 320,\r\n\t\tpriority: 126\r\n\t},\r\n\t{\r\n\t\tid: 127,\r\n\t\tno: \"2.2.5.3\",\r\n\t\tlabel: \"อัตราส่วนของกรณีที่สายหลุด (Drop Call Rate) ในพื้นที่เฝ้าระวัง\",\r\n\t\ttargeted_text: \"ไม่เกินร้อยละ 2\",\r\n\t\tsubLabel_1: \"3-สถานีขนส่งผู้โดยสารกรุงเทพ (จตุจักร)\",\r\n\t\tsubLabel_2: \"23.00 - 24.00 น.\",\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 2,\r\n\t\ttargetCondition: \"le\",\r\n\t\tfilling_condition: \"ช่องสีเขียว ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: false,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\"\r\n\t\t],\r\n\t\texcelValueRow: 321,\r\n\t\tpriority: 127\r\n\t},\r\n\t{\r\n\t\tid: 128,\r\n\t\tno: \"2.2.5.4\",\r\n\t\tlabel: \"อัตราส่วนของกรณีที่สายหลุด (Drop Call Rate) ในพื้นที่เฝ้าระวัง\",\r\n\t\ttargeted_text: \"ไม่เกินร้อยละ 2\",\r\n\t\tsubLabel_1: \"4-สถานีขนส่งผู้โดยสารกรุงเทพ (ถนนบรมราชชนนี)\",\r\n\t\tsubLabel_2: \"00.00 - 01.00 น.\",\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 2,\r\n\t\ttargetCondition: \"le\",\r\n\t\tfilling_condition: \"ช่องสีเขียว ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: false,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\"\r\n\t\t],\r\n\t\texcelValueRow: 323,\r\n\t\tpriority: 128\r\n\t},\r\n\t{\r\n\t\tid: 129,\r\n\t\tno: \"2.2.5.4\",\r\n\t\tlabel: \"อัตราส่วนของกรณีที่สายหลุด (Drop Call Rate) ในพื้นที่เฝ้าระวัง\",\r\n\t\ttargeted_text: \"ไม่เกินร้อยละ 2\",\r\n\t\tsubLabel_1: \"4-สถานีขนส่งผู้โดยสารกรุงเทพ (ถนนบรมราชชนนี)\",\r\n\t\tsubLabel_2: \"01.00 - 02.00 น.\",\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 2,\r\n\t\ttargetCondition: \"le\",\r\n\t\tfilling_condition: \"ช่องสีเขียว ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: false,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\"\r\n\t\t],\r\n\t\texcelValueRow: 324,\r\n\t\tpriority: 129\r\n\t},\r\n\t{\r\n\t\tid: 130,\r\n\t\tno: \"2.2.5.4\",\r\n\t\tlabel: \"อัตราส่วนของกรณีที่สายหลุด (Drop Call Rate) ในพื้นที่เฝ้าระวัง\",\r\n\t\ttargeted_text: \"ไม่เกินร้อยละ 2\",\r\n\t\tsubLabel_1: \"4-สถานีขนส่งผู้โดยสารกรุงเทพ (ถนนบรมราชชนนี)\",\r\n\t\tsubLabel_2: \"02.00 - 03.00 น.\",\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 2,\r\n\t\ttargetCondition: \"le\",\r\n\t\tfilling_condition: \"ช่องสีเขียว ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: false,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\"\r\n\t\t],\r\n\t\texcelValueRow: 325,\r\n\t\tpriority: 130\r\n\t},\r\n\t{\r\n\t\tid: 131,\r\n\t\tno: \"2.2.5.4\",\r\n\t\tlabel: \"อัตราส่วนของกรณีที่สายหลุด (Drop Call Rate) ในพื้นที่เฝ้าระวัง\",\r\n\t\ttargeted_text: \"ไม่เกินร้อยละ 2\",\r\n\t\tsubLabel_1: \"4-สถานีขนส่งผู้โดยสารกรุงเทพ (ถนนบรมราชชนนี)\",\r\n\t\tsubLabel_2: \"03.00 - 04.00 น.\",\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 2,\r\n\t\ttargetCondition: \"le\",\r\n\t\tfilling_condition: \"ช่องสีเขียว ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: false,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\"\r\n\t\t],\r\n\t\texcelValueRow: 326,\r\n\t\tpriority: 131\r\n\t},\r\n\t{\r\n\t\tid: 132,\r\n\t\tno: \"2.2.5.4\",\r\n\t\tlabel: \"อัตราส่วนของกรณีที่สายหลุด (Drop Call Rate) ในพื้นที่เฝ้าระวัง\",\r\n\t\ttargeted_text: \"ไม่เกินร้อยละ 2\",\r\n\t\tsubLabel_1: \"4-สถานีขนส่งผู้โดยสารกรุงเทพ (ถนนบรมราชชนนี)\",\r\n\t\tsubLabel_2: \"04.00 - 05.00 น.\",\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 2,\r\n\t\ttargetCondition: \"le\",\r\n\t\tfilling_condition: \"ช่องสีเขียว ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: false,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\"\r\n\t\t],\r\n\t\texcelValueRow: 327,\r\n\t\tpriority: 132\r\n\t},\r\n\t{\r\n\t\tid: 133,\r\n\t\tno: \"2.2.5.4\",\r\n\t\tlabel: \"อัตราส่วนของกรณีที่สายหลุด (Drop Call Rate) ในพื้นที่เฝ้าระวัง\",\r\n\t\ttargeted_text: \"ไม่เกินร้อยละ 2\",\r\n\t\tsubLabel_1: \"4-สถานีขนส่งผู้โดยสารกรุงเทพ (ถนนบรมราชชนนี)\",\r\n\t\tsubLabel_2: \"05.00 - 06.00 น.\",\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 2,\r\n\t\ttargetCondition: \"le\",\r\n\t\tfilling_condition: \"ช่องสีเขียว ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: false,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\"\r\n\t\t],\r\n\t\texcelValueRow: 328,\r\n\t\tpriority: 133\r\n\t},\r\n\t{\r\n\t\tid: 134,\r\n\t\tno: \"2.2.5.4\",\r\n\t\tlabel: \"อัตราส่วนของกรณีที่สายหลุด (Drop Call Rate) ในพื้นที่เฝ้าระวัง\",\r\n\t\ttargeted_text: \"ไม่เกินร้อยละ 2\",\r\n\t\tsubLabel_1: \"4-สถานีขนส่งผู้โดยสารกรุงเทพ (ถนนบรมราชชนนี)\",\r\n\t\tsubLabel_2: \"06.00 - 07.00 น.\",\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 2,\r\n\t\ttargetCondition: \"le\",\r\n\t\tfilling_condition: \"ช่องสีเขียว ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: false,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\"\r\n\t\t],\r\n\t\texcelValueRow: 329,\r\n\t\tpriority: 134\r\n\t},\r\n\t{\r\n\t\tid: 135,\r\n\t\tno: \"2.2.5.4\",\r\n\t\tlabel: \"อัตราส่วนของกรณีที่สายหลุด (Drop Call Rate) ในพื้นที่เฝ้าระวัง\",\r\n\t\ttargeted_text: \"ไม่เกินร้อยละ 2\",\r\n\t\tsubLabel_1: \"4-สถานีขนส่งผู้โดยสารกรุงเทพ (ถนนบรมราชชนนี)\",\r\n\t\tsubLabel_2: \"07.00 - 08.00 น.\",\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 2,\r\n\t\ttargetCondition: \"le\",\r\n\t\tfilling_condition: \"ช่องสีเขียว ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: false,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\"\r\n\t\t],\r\n\t\texcelValueRow: 330,\r\n\t\tpriority: 135\r\n\t},\r\n\t{\r\n\t\tid: 136,\r\n\t\tno: \"2.2.5.4\",\r\n\t\tlabel: \"อัตราส่วนของกรณีที่สายหลุด (Drop Call Rate) ในพื้นที่เฝ้าระวัง\",\r\n\t\ttargeted_text: \"ไม่เกินร้อยละ 2\",\r\n\t\tsubLabel_1: \"4-สถานีขนส่งผู้โดยสารกรุงเทพ (ถนนบรมราชชนนี)\",\r\n\t\tsubLabel_2: \"08.00 - 09.00 น.\",\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 2,\r\n\t\ttargetCondition: \"le\",\r\n\t\tfilling_condition: \"ช่องสีเขียว ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: false,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\"\r\n\t\t],\r\n\t\texcelValueRow: 331,\r\n\t\tpriority: 136\r\n\t},\r\n\t{\r\n\t\tid: 137,\r\n\t\tno: \"2.2.5.4\",\r\n\t\tlabel: \"อัตราส่วนของกรณีที่สายหลุด (Drop Call Rate) ในพื้นที่เฝ้าระวัง\",\r\n\t\ttargeted_text: \"ไม่เกินร้อยละ 2\",\r\n\t\tsubLabel_1: \"4-สถานีขนส่งผู้โดยสารกรุงเทพ (ถนนบรมราชชนนี)\",\r\n\t\tsubLabel_2: \"09.00 - 10.00 น.\",\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 2,\r\n\t\ttargetCondition: \"le\",\r\n\t\tfilling_condition: \"ช่องสีเขียว ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: false,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\"\r\n\t\t],\r\n\t\texcelValueRow: 332,\r\n\t\tpriority: 137\r\n\t},\r\n\t{\r\n\t\tid: 138,\r\n\t\tno: \"2.2.5.4\",\r\n\t\tlabel: \"อัตราส่วนของกรณีที่สายหลุด (Drop Call Rate) ในพื้นที่เฝ้าระวัง\",\r\n\t\ttargeted_text: \"ไม่เกินร้อยละ 2\",\r\n\t\tsubLabel_1: \"4-สถานีขนส่งผู้โดยสารกรุงเทพ (ถนนบรมราชชนนี)\",\r\n\t\tsubLabel_2: \"10.00 - 11.00 น.\",\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 2,\r\n\t\ttargetCondition: \"le\",\r\n\t\tfilling_condition: \"ช่องสีเขียว ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: false,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\"\r\n\t\t],\r\n\t\texcelValueRow: 333,\r\n\t\tpriority: 138\r\n\t},\r\n\t{\r\n\t\tid: 139,\r\n\t\tno: \"2.2.5.4\",\r\n\t\tlabel: \"อัตราส่วนของกรณีที่สายหลุด (Drop Call Rate) ในพื้นที่เฝ้าระวัง\",\r\n\t\ttargeted_text: \"ไม่เกินร้อยละ 2\",\r\n\t\tsubLabel_1: \"4-สถานีขนส่งผู้โดยสารกรุงเทพ (ถนนบรมราชชนนี)\",\r\n\t\tsubLabel_2: \"11.00 - 12.00 น.\",\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 2,\r\n\t\ttargetCondition: \"le\",\r\n\t\tfilling_condition: \"ช่องสีเขียว ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: false,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\"\r\n\t\t],\r\n\t\texcelValueRow: 334,\r\n\t\tpriority: 139\r\n\t},\r\n\t{\r\n\t\tid: 140,\r\n\t\tno: \"2.2.5.4\",\r\n\t\tlabel: \"อัตราส่วนของกรณีที่สายหลุด (Drop Call Rate) ในพื้นที่เฝ้าระวัง\",\r\n\t\ttargeted_text: \"ไม่เกินร้อยละ 2\",\r\n\t\tsubLabel_1: \"4-สถานีขนส่งผู้โดยสารกรุงเทพ (ถนนบรมราชชนนี)\",\r\n\t\tsubLabel_2: \"12.00 - 13.00 น.\",\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 2,\r\n\t\ttargetCondition: \"le\",\r\n\t\tfilling_condition: \"ช่องสีเขียว ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: false,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\"\r\n\t\t],\r\n\t\texcelValueRow: 335,\r\n\t\tpriority: 140\r\n\t},\r\n\t{\r\n\t\tid: 141,\r\n\t\tno: \"2.2.5.4\",\r\n\t\tlabel: \"อัตราส่วนของกรณีที่สายหลุด (Drop Call Rate) ในพื้นที่เฝ้าระวัง\",\r\n\t\ttargeted_text: \"ไม่เกินร้อยละ 2\",\r\n\t\tsubLabel_1: \"4-สถานีขนส่งผู้โดยสารกรุงเทพ (ถนนบรมราชชนนี)\",\r\n\t\tsubLabel_2: \"13.00 - 14.00 น.\",\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 2,\r\n\t\ttargetCondition: \"le\",\r\n\t\tfilling_condition: \"ช่องสีเขียว ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: false,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\"\r\n\t\t],\r\n\t\texcelValueRow: 336,\r\n\t\tpriority: 141\r\n\t},\r\n\t{\r\n\t\tid: 142,\r\n\t\tno: \"2.2.5.4\",\r\n\t\tlabel: \"อัตราส่วนของกรณีที่สายหลุด (Drop Call Rate) ในพื้นที่เฝ้าระวัง\",\r\n\t\ttargeted_text: \"ไม่เกินร้อยละ 2\",\r\n\t\tsubLabel_1: \"4-สถานีขนส่งผู้โดยสารกรุงเทพ (ถนนบรมราชชนนี)\",\r\n\t\tsubLabel_2: \"14.00 - 15.00 น.\",\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 2,\r\n\t\ttargetCondition: \"le\",\r\n\t\tfilling_condition: \"ช่องสีเขียว ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: false,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\"\r\n\t\t],\r\n\t\texcelValueRow: 337,\r\n\t\tpriority: 142\r\n\t},\r\n\t{\r\n\t\tid: 143,\r\n\t\tno: \"2.2.5.4\",\r\n\t\tlabel: \"อัตราส่วนของกรณีที่สายหลุด (Drop Call Rate) ในพื้นที่เฝ้าระวัง\",\r\n\t\ttargeted_text: \"ไม่เกินร้อยละ 2\",\r\n\t\tsubLabel_1: \"4-สถานีขนส่งผู้โดยสารกรุงเทพ (ถนนบรมราชชนนี)\",\r\n\t\tsubLabel_2: \"15.00 - 16.00 น.\",\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 2,\r\n\t\ttargetCondition: \"le\",\r\n\t\tfilling_condition: \"ช่องสีเขียว ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: false,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\"\r\n\t\t],\r\n\t\texcelValueRow: 338,\r\n\t\tpriority: 143\r\n\t},\r\n\t{\r\n\t\tid: 144,\r\n\t\tno: \"2.2.5.4\",\r\n\t\tlabel: \"อัตราส่วนของกรณีที่สายหลุด (Drop Call Rate) ในพื้นที่เฝ้าระวัง\",\r\n\t\ttargeted_text: \"ไม่เกินร้อยละ 2\",\r\n\t\tsubLabel_1: \"4-สถานีขนส่งผู้โดยสารกรุงเทพ (ถนนบรมราชชนนี)\",\r\n\t\tsubLabel_2: \"16.00 - 17.00 น.\",\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 2,\r\n\t\ttargetCondition: \"le\",\r\n\t\tfilling_condition: \"ช่องสีเขียว ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: false,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\"\r\n\t\t],\r\n\t\texcelValueRow: 339,\r\n\t\tpriority: 144\r\n\t},\r\n\t{\r\n\t\tid: 145,\r\n\t\tno: \"2.2.5.4\",\r\n\t\tlabel: \"อัตราส่วนของกรณีที่สายหลุด (Drop Call Rate) ในพื้นที่เฝ้าระวัง\",\r\n\t\ttargeted_text: \"ไม่เกินร้อยละ 2\",\r\n\t\tsubLabel_1: \"4-สถานีขนส่งผู้โดยสารกรุงเทพ (ถนนบรมราชชนนี)\",\r\n\t\tsubLabel_2: \"17.00 - 18.00 น.\",\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 2,\r\n\t\ttargetCondition: \"le\",\r\n\t\tfilling_condition: \"ช่องสีเขียว ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: false,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\"\r\n\t\t],\r\n\t\texcelValueRow: 340,\r\n\t\tpriority: 145\r\n\t},\r\n\t{\r\n\t\tid: 146,\r\n\t\tno: \"2.2.5.4\",\r\n\t\tlabel: \"อัตราส่วนของกรณีที่สายหลุด (Drop Call Rate) ในพื้นที่เฝ้าระวัง\",\r\n\t\ttargeted_text: \"ไม่เกินร้อยละ 2\",\r\n\t\tsubLabel_1: \"4-สถานีขนส่งผู้โดยสารกรุงเทพ (ถนนบรมราชชนนี)\",\r\n\t\tsubLabel_2: \"18.00 - 19.00 น.\",\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 2,\r\n\t\ttargetCondition: \"le\",\r\n\t\tfilling_condition: \"ช่องสีเขียว ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: false,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\"\r\n\t\t],\r\n\t\texcelValueRow: 341,\r\n\t\tpriority: 146\r\n\t},\r\n\t{\r\n\t\tid: 147,\r\n\t\tno: \"2.2.5.4\",\r\n\t\tlabel: \"อัตราส่วนของกรณีที่สายหลุด (Drop Call Rate) ในพื้นที่เฝ้าระวัง\",\r\n\t\ttargeted_text: \"ไม่เกินร้อยละ 2\",\r\n\t\tsubLabel_1: \"4-สถานีขนส่งผู้โดยสารกรุงเทพ (ถนนบรมราชชนนี)\",\r\n\t\tsubLabel_2: \"19.00 - 20.00 น.\",\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 2,\r\n\t\ttargetCondition: \"le\",\r\n\t\tfilling_condition: \"ช่องสีเขียว ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: false,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\"\r\n\t\t],\r\n\t\texcelValueRow: 342,\r\n\t\tpriority: 147\r\n\t},\r\n\t{\r\n\t\tid: 148,\r\n\t\tno: \"2.2.5.4\",\r\n\t\tlabel: \"อัตราส่วนของกรณีที่สายหลุด (Drop Call Rate) ในพื้นที่เฝ้าระวัง\",\r\n\t\ttargeted_text: \"ไม่เกินร้อยละ 2\",\r\n\t\tsubLabel_1: \"4-สถานีขนส่งผู้โดยสารกรุงเทพ (ถนนบรมราชชนนี)\",\r\n\t\tsubLabel_2: \"20.00 - 21.00 น.\",\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 2,\r\n\t\ttargetCondition: \"le\",\r\n\t\tfilling_condition: \"ช่องสีเขียว ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: false,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\"\r\n\t\t],\r\n\t\texcelValueRow: 343,\r\n\t\tpriority: 148\r\n\t},\r\n\t{\r\n\t\tid: 149,\r\n\t\tno: \"2.2.5.4\",\r\n\t\tlabel: \"อัตราส่วนของกรณีที่สายหลุด (Drop Call Rate) ในพื้นที่เฝ้าระวัง\",\r\n\t\ttargeted_text: \"ไม่เกินร้อยละ 2\",\r\n\t\tsubLabel_1: \"4-สถานีขนส่งผู้โดยสารกรุงเทพ (ถนนบรมราชชนนี)\",\r\n\t\tsubLabel_2: \"21.00 - 22.00 น.\",\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 2,\r\n\t\ttargetCondition: \"le\",\r\n\t\tfilling_condition: \"ช่องสีเขียว ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: false,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\"\r\n\t\t],\r\n\t\texcelValueRow: 344,\r\n\t\tpriority: 149\r\n\t},\r\n\t{\r\n\t\tid: 150,\r\n\t\tno: \"2.2.5.4\",\r\n\t\tlabel: \"อัตราส่วนของกรณีที่สายหลุด (Drop Call Rate) ในพื้นที่เฝ้าระวัง\",\r\n\t\ttargeted_text: \"ไม่เกินร้อยละ 2\",\r\n\t\tsubLabel_1: \"4-สถานีขนส่งผู้โดยสารกรุงเทพ (ถนนบรมราชชนนี)\",\r\n\t\tsubLabel_2: \"22.00 - 23.00 น.\",\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 2,\r\n\t\ttargetCondition: \"le\",\r\n\t\tfilling_condition: \"ช่องสีเขียว ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: false,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\"\r\n\t\t],\r\n\t\texcelValueRow: 345,\r\n\t\tpriority: 150\r\n\t},\r\n\t{\r\n\t\tid: 151,\r\n\t\tno: \"2.2.5.4\",\r\n\t\tlabel: \"อัตราส่วนของกรณีที่สายหลุด (Drop Call Rate) ในพื้นที่เฝ้าระวัง\",\r\n\t\ttargeted_text: \"ไม่เกินร้อยละ 2\",\r\n\t\tsubLabel_1: \"4-สถานีขนส่งผู้โดยสารกรุงเทพ (ถนนบรมราชชนนี)\",\r\n\t\tsubLabel_2: \"23.00 - 24.00 น.\",\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 2,\r\n\t\ttargetCondition: \"le\",\r\n\t\tfilling_condition: \"ช่องสีเขียว ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: false,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\"\r\n\t\t],\r\n\t\texcelValueRow: 346,\r\n\t\tpriority: 151\r\n\t},\r\n\t{\r\n\t\tid: 152,\r\n\t\tno: \"2.2.5.5\",\r\n\t\tlabel: \"อัตราส่วนของกรณีที่สายหลุด (Drop Call Rate) ในพื้นที่เฝ้าระวัง\",\r\n\t\ttargeted_text: \"ไม่เกินร้อยละ 2\",\r\n\t\tsubLabel_1: \"5-สถานีขนส่งผู้โดยสารกรุงเทพ (เอกมัย)\",\r\n\t\tsubLabel_2: \"00.00 - 01.00 น.\",\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 2,\r\n\t\ttargetCondition: \"le\",\r\n\t\tfilling_condition: \"ช่องสีเขียว ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: false,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\"\r\n\t\t],\r\n\t\texcelValueRow: 348,\r\n\t\tpriority: 152\r\n\t},\r\n\t{\r\n\t\tid: 153,\r\n\t\tno: \"2.2.5.5\",\r\n\t\tlabel: \"อัตราส่วนของกรณีที่สายหลุด (Drop Call Rate) ในพื้นที่เฝ้าระวัง\",\r\n\t\ttargeted_text: \"ไม่เกินร้อยละ 2\",\r\n\t\tsubLabel_1: \"5-สถานีขนส่งผู้โดยสารกรุงเทพ (เอกมัย)\",\r\n\t\tsubLabel_2: \"01.00 - 02.00 น.\",\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 2,\r\n\t\ttargetCondition: \"le\",\r\n\t\tfilling_condition: \"ช่องสีเขียว ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: false,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\"\r\n\t\t],\r\n\t\texcelValueRow: 349,\r\n\t\tpriority: 153\r\n\t},\r\n\t{\r\n\t\tid: 154,\r\n\t\tno: \"2.2.5.5\",\r\n\t\tlabel: \"อัตราส่วนของกรณีที่สายหลุด (Drop Call Rate) ในพื้นที่เฝ้าระวัง\",\r\n\t\ttargeted_text: \"ไม่เกินร้อยละ 2\",\r\n\t\tsubLabel_1: \"5-สถานีขนส่งผู้โดยสารกรุงเทพ (เอกมัย)\",\r\n\t\tsubLabel_2: \"02.00 - 03.00 น.\",\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 2,\r\n\t\ttargetCondition: \"le\",\r\n\t\tfilling_condition: \"ช่องสีเขียว ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: false,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\"\r\n\t\t],\r\n\t\texcelValueRow: 350,\r\n\t\tpriority: 154\r\n\t},\r\n\t{\r\n\t\tid: 155,\r\n\t\tno: \"2.2.5.5\",\r\n\t\tlabel: \"อัตราส่วนของกรณีที่สายหลุด (Drop Call Rate) ในพื้นที่เฝ้าระวัง\",\r\n\t\ttargeted_text: \"ไม่เกินร้อยละ 2\",\r\n\t\tsubLabel_1: \"5-สถานีขนส่งผู้โดยสารกรุงเทพ (เอกมัย)\",\r\n\t\tsubLabel_2: \"03.00 - 04.00 น.\",\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 2,\r\n\t\ttargetCondition: \"le\",\r\n\t\tfilling_condition: \"ช่องสีเขียว ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: false,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\"\r\n\t\t],\r\n\t\texcelValueRow: 351,\r\n\t\tpriority: 155\r\n\t},\r\n\t{\r\n\t\tid: 156,\r\n\t\tno: \"2.2.5.5\",\r\n\t\tlabel: \"อัตราส่วนของกรณีที่สายหลุด (Drop Call Rate) ในพื้นที่เฝ้าระวัง\",\r\n\t\ttargeted_text: \"ไม่เกินร้อยละ 2\",\r\n\t\tsubLabel_1: \"5-สถานีขนส่งผู้โดยสารกรุงเทพ (เอกมัย)\",\r\n\t\tsubLabel_2: \"04.00 - 05.00 น.\",\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 2,\r\n\t\ttargetCondition: \"le\",\r\n\t\tfilling_condition: \"ช่องสีเขียว ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: false,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\"\r\n\t\t],\r\n\t\texcelValueRow: 352,\r\n\t\tpriority: 156\r\n\t},\r\n\t{\r\n\t\tid: 157,\r\n\t\tno: \"2.2.5.5\",\r\n\t\tlabel: \"อัตราส่วนของกรณีที่สายหลุด (Drop Call Rate) ในพื้นที่เฝ้าระวัง\",\r\n\t\ttargeted_text: \"ไม่เกินร้อยละ 2\",\r\n\t\tsubLabel_1: \"5-สถานีขนส่งผู้โดยสารกรุงเทพ (เอกมัย)\",\r\n\t\tsubLabel_2: \"05.00 - 06.00 น.\",\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 2,\r\n\t\ttargetCondition: \"le\",\r\n\t\tfilling_condition: \"ช่องสีเขียว ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: false,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\"\r\n\t\t],\r\n\t\texcelValueRow: 353,\r\n\t\tpriority: 157\r\n\t},\r\n\t{\r\n\t\tid: 158,\r\n\t\tno: \"2.2.5.5\",\r\n\t\tlabel: \"อัตราส่วนของกรณีที่สายหลุด (Drop Call Rate) ในพื้นที่เฝ้าระวัง\",\r\n\t\ttargeted_text: \"ไม่เกินร้อยละ 2\",\r\n\t\tsubLabel_1: \"5-สถานีขนส่งผู้โดยสารกรุงเทพ (เอกมัย)\",\r\n\t\tsubLabel_2: \"06.00 - 07.00 น.\",\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 2,\r\n\t\ttargetCondition: \"le\",\r\n\t\tfilling_condition: \"ช่องสีเขียว ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: false,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\"\r\n\t\t],\r\n\t\texcelValueRow: 354,\r\n\t\tpriority: 158\r\n\t},\r\n\t{\r\n\t\tid: 159,\r\n\t\tno: \"2.2.5.5\",\r\n\t\tlabel: \"อัตราส่วนของกรณีที่สายหลุด (Drop Call Rate) ในพื้นที่เฝ้าระวัง\",\r\n\t\ttargeted_text: \"ไม่เกินร้อยละ 2\",\r\n\t\tsubLabel_1: \"5-สถานีขนส่งผู้โดยสารกรุงเทพ (เอกมัย)\",\r\n\t\tsubLabel_2: \"07.00 - 08.00 น.\",\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 2,\r\n\t\ttargetCondition: \"le\",\r\n\t\tfilling_condition: \"ช่องสีเขียว ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: false,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\"\r\n\t\t],\r\n\t\texcelValueRow: 355,\r\n\t\tpriority: 159\r\n\t},\r\n\t{\r\n\t\tid: 160,\r\n\t\tno: \"2.2.5.5\",\r\n\t\tlabel: \"อัตราส่วนของกรณีที่สายหลุด (Drop Call Rate) ในพื้นที่เฝ้าระวัง\",\r\n\t\ttargeted_text: \"ไม่เกินร้อยละ 2\",\r\n\t\tsubLabel_1: \"5-สถานีขนส่งผู้โดยสารกรุงเทพ (เอกมัย)\",\r\n\t\tsubLabel_2: \"08.00 - 09.00 น.\",\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 2,\r\n\t\ttargetCondition: \"le\",\r\n\t\tfilling_condition: \"ช่องสีเขียว ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: false,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\"\r\n\t\t],\r\n\t\texcelValueRow: 356,\r\n\t\tpriority: 160\r\n\t},\r\n\t{\r\n\t\tid: 161,\r\n\t\tno: \"2.2.5.5\",\r\n\t\tlabel: \"อัตราส่วนของกรณีที่สายหลุด (Drop Call Rate) ในพื้นที่เฝ้าระวัง\",\r\n\t\ttargeted_text: \"ไม่เกินร้อยละ 2\",\r\n\t\tsubLabel_1: \"5-สถานีขนส่งผู้โดยสารกรุงเทพ (เอกมัย)\",\r\n\t\tsubLabel_2: \"09.00 - 10.00 น.\",\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 2,\r\n\t\ttargetCondition: \"le\",\r\n\t\tfilling_condition: \"ช่องสีเขียว ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: false,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\"\r\n\t\t],\r\n\t\texcelValueRow: 357,\r\n\t\tpriority: 161\r\n\t},\r\n\t{\r\n\t\tid: 162,\r\n\t\tno: \"2.2.5.5\",\r\n\t\tlabel: \"อัตราส่วนของกรณีที่สายหลุด (Drop Call Rate) ในพื้นที่เฝ้าระวัง\",\r\n\t\ttargeted_text: \"ไม่เกินร้อยละ 2\",\r\n\t\tsubLabel_1: \"5-สถานีขนส่งผู้โดยสารกรุงเทพ (เอกมัย)\",\r\n\t\tsubLabel_2: \"10.00 - 11.00 น.\",\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 2,\r\n\t\ttargetCondition: \"le\",\r\n\t\tfilling_condition: \"ช่องสีเขียว ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: false,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\"\r\n\t\t],\r\n\t\texcelValueRow: 358,\r\n\t\tpriority: 162\r\n\t},\r\n\t{\r\n\t\tid: 163,\r\n\t\tno: \"2.2.5.5\",\r\n\t\tlabel: \"อัตราส่วนของกรณีที่สายหลุด (Drop Call Rate) ในพื้นที่เฝ้าระวัง\",\r\n\t\ttargeted_text: \"ไม่เกินร้อยละ 2\",\r\n\t\tsubLabel_1: \"5-สถานีขนส่งผู้โดยสารกรุงเทพ (เอกมัย)\",\r\n\t\tsubLabel_2: \"11.00 - 12.00 น.\",\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 2,\r\n\t\ttargetCondition: \"le\",\r\n\t\tfilling_condition: \"ช่องสีเขียว ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: false,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\"\r\n\t\t],\r\n\t\texcelValueRow: 359,\r\n\t\tpriority: 163\r\n\t},\r\n\t{\r\n\t\tid: 164,\r\n\t\tno: \"2.2.5.5\",\r\n\t\tlabel: \"อัตราส่วนของกรณีที่สายหลุด (Drop Call Rate) ในพื้นที่เฝ้าระวัง\",\r\n\t\ttargeted_text: \"ไม่เกินร้อยละ 2\",\r\n\t\tsubLabel_1: \"5-สถานีขนส่งผู้โดยสารกรุงเทพ (เอกมัย)\",\r\n\t\tsubLabel_2: \"12.00 - 13.00 น.\",\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 2,\r\n\t\ttargetCondition: \"le\",\r\n\t\tfilling_condition: \"ช่องสีเขียว ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: false,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\"\r\n\t\t],\r\n\t\texcelValueRow: 360,\r\n\t\tpriority: 164\r\n\t},\r\n\t{\r\n\t\tid: 165,\r\n\t\tno: \"2.2.5.5\",\r\n\t\tlabel: \"อัตราส่วนของกรณีที่สายหลุด (Drop Call Rate) ในพื้นที่เฝ้าระวัง\",\r\n\t\ttargeted_text: \"ไม่เกินร้อยละ 2\",\r\n\t\tsubLabel_1: \"5-สถานีขนส่งผู้โดยสารกรุงเทพ (เอกมัย)\",\r\n\t\tsubLabel_2: \"13.00 - 14.00 น.\",\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 2,\r\n\t\ttargetCondition: \"le\",\r\n\t\tfilling_condition: \"ช่องสีเขียว ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: false,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\"\r\n\t\t],\r\n\t\texcelValueRow: 361,\r\n\t\tpriority: 165\r\n\t},\r\n\t{\r\n\t\tid: 166,\r\n\t\tno: \"2.2.5.5\",\r\n\t\tlabel: \"อัตราส่วนของกรณีที่สายหลุด (Drop Call Rate) ในพื้นที่เฝ้าระวัง\",\r\n\t\ttargeted_text: \"ไม่เกินร้อยละ 2\",\r\n\t\tsubLabel_1: \"5-สถานีขนส่งผู้โดยสารกรุงเทพ (เอกมัย)\",\r\n\t\tsubLabel_2: \"14.00 - 15.00 น.\",\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 2,\r\n\t\ttargetCondition: \"le\",\r\n\t\tfilling_condition: \"ช่องสีเขียว ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: false,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\"\r\n\t\t],\r\n\t\texcelValueRow: 362,\r\n\t\tpriority: 166\r\n\t},\r\n\t{\r\n\t\tid: 167,\r\n\t\tno: \"2.2.5.5\",\r\n\t\tlabel: \"อัตราส่วนของกรณีที่สายหลุด (Drop Call Rate) ในพื้นที่เฝ้าระวัง\",\r\n\t\ttargeted_text: \"ไม่เกินร้อยละ 2\",\r\n\t\tsubLabel_1: \"5-สถานีขนส่งผู้โดยสารกรุงเทพ (เอกมัย)\",\r\n\t\tsubLabel_2: \"15.00 - 16.00 น.\",\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 2,\r\n\t\ttargetCondition: \"le\",\r\n\t\tfilling_condition: \"ช่องสีเขียว ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: false,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\"\r\n\t\t],\r\n\t\texcelValueRow: 363,\r\n\t\tpriority: 167\r\n\t},\r\n\t{\r\n\t\tid: 168,\r\n\t\tno: \"2.2.5.5\",\r\n\t\tlabel: \"อัตราส่วนของกรณีที่สายหลุด (Drop Call Rate) ในพื้นที่เฝ้าระวัง\",\r\n\t\ttargeted_text: \"ไม่เกินร้อยละ 2\",\r\n\t\tsubLabel_1: \"5-สถานีขนส่งผู้โดยสารกรุงเทพ (เอกมัย)\",\r\n\t\tsubLabel_2: \"16.00 - 17.00 น.\",\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 2,\r\n\t\ttargetCondition: \"le\",\r\n\t\tfilling_condition: \"ช่องสีเขียว ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: false,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\"\r\n\t\t],\r\n\t\texcelValueRow: 364,\r\n\t\tpriority: 168\r\n\t},\r\n\t{\r\n\t\tid: 169,\r\n\t\tno: \"2.2.5.5\",\r\n\t\tlabel: \"อัตราส่วนของกรณีที่สายหลุด (Drop Call Rate) ในพื้นที่เฝ้าระวัง\",\r\n\t\ttargeted_text: \"ไม่เกินร้อยละ 2\",\r\n\t\tsubLabel_1: \"5-สถานีขนส่งผู้โดยสารกรุงเทพ (เอกมัย)\",\r\n\t\tsubLabel_2: \"17.00 - 18.00 น.\",\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 2,\r\n\t\ttargetCondition: \"le\",\r\n\t\tfilling_condition: \"ช่องสีเขียว ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: false,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\"\r\n\t\t],\r\n\t\texcelValueRow: 365,\r\n\t\tpriority: 169\r\n\t},\r\n\t{\r\n\t\tid: 170,\r\n\t\tno: \"2.2.5.5\",\r\n\t\tlabel: \"อัตราส่วนของกรณีที่สายหลุด (Drop Call Rate) ในพื้นที่เฝ้าระวัง\",\r\n\t\ttargeted_text: \"ไม่เกินร้อยละ 2\",\r\n\t\tsubLabel_1: \"5-สถานีขนส่งผู้โดยสารกรุงเทพ (เอกมัย)\",\r\n\t\tsubLabel_2: \"18.00 - 19.00 น.\",\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 2,\r\n\t\ttargetCondition: \"le\",\r\n\t\tfilling_condition: \"ช่องสีเขียว ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: false,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\"\r\n\t\t],\r\n\t\texcelValueRow: 366,\r\n\t\tpriority: 170\r\n\t},\r\n\t{\r\n\t\tid: 171,\r\n\t\tno: \"2.2.5.5\",\r\n\t\tlabel: \"อัตราส่วนของกรณีที่สายหลุด (Drop Call Rate) ในพื้นที่เฝ้าระวัง\",\r\n\t\ttargeted_text: \"ไม่เกินร้อยละ 2\",\r\n\t\tsubLabel_1: \"5-สถานีขนส่งผู้โดยสารกรุงเทพ (เอกมัย)\",\r\n\t\tsubLabel_2: \"19.00 - 20.00 น.\",\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 2,\r\n\t\ttargetCondition: \"le\",\r\n\t\tfilling_condition: \"ช่องสีเขียว ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: false,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\"\r\n\t\t],\r\n\t\texcelValueRow: 367,\r\n\t\tpriority: 171\r\n\t},\r\n\t{\r\n\t\tid: 172,\r\n\t\tno: \"2.2.5.5\",\r\n\t\tlabel: \"อัตราส่วนของกรณีที่สายหลุด (Drop Call Rate) ในพื้นที่เฝ้าระวัง\",\r\n\t\ttargeted_text: \"ไม่เกินร้อยละ 2\",\r\n\t\tsubLabel_1: \"5-สถานีขนส่งผู้โดยสารกรุงเทพ (เอกมัย)\",\r\n\t\tsubLabel_2: \"20.00 - 21.00 น.\",\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 2,\r\n\t\ttargetCondition: \"le\",\r\n\t\tfilling_condition: \"ช่องสีเขียว ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: false,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\"\r\n\t\t],\r\n\t\texcelValueRow: 368,\r\n\t\tpriority: 172\r\n\t},\r\n\t{\r\n\t\tid: 173,\r\n\t\tno: \"2.2.5.5\",\r\n\t\tlabel: \"อัตราส่วนของกรณีที่สายหลุด (Drop Call Rate) ในพื้นที่เฝ้าระวัง\",\r\n\t\ttargeted_text: \"ไม่เกินร้อยละ 2\",\r\n\t\tsubLabel_1: \"5-สถานีขนส่งผู้โดยสารกรุงเทพ (เอกมัย)\",\r\n\t\tsubLabel_2: \"21.00 - 22.00 น.\",\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 2,\r\n\t\ttargetCondition: \"le\",\r\n\t\tfilling_condition: \"ช่องสีเขียว ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: false,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\"\r\n\t\t],\r\n\t\texcelValueRow: 369,\r\n\t\tpriority: 173\r\n\t},\r\n\t{\r\n\t\tid: 174,\r\n\t\tno: \"2.2.5.5\",\r\n\t\tlabel: \"อัตราส่วนของกรณีที่สายหลุด (Drop Call Rate) ในพื้นที่เฝ้าระวัง\",\r\n\t\ttargeted_text: \"ไม่เกินร้อยละ 2\",\r\n\t\tsubLabel_1: \"5-สถานีขนส่งผู้โดยสารกรุงเทพ (เอกมัย)\",\r\n\t\tsubLabel_2: \"22.00 - 23.00 น.\",\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 2,\r\n\t\ttargetCondition: \"le\",\r\n\t\tfilling_condition: \"ช่องสีเขียว ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: false,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\"\r\n\t\t],\r\n\t\texcelValueRow: 370,\r\n\t\tpriority: 174\r\n\t},\r\n\t{\r\n\t\tid: 175,\r\n\t\tno: \"2.2.5.5\",\r\n\t\tlabel: \"อัตราส่วนของกรณีที่สายหลุด (Drop Call Rate) ในพื้นที่เฝ้าระวัง\",\r\n\t\ttargeted_text: \"ไม่เกินร้อยละ 2\",\r\n\t\tsubLabel_1: \"5-สถานีขนส่งผู้โดยสารกรุงเทพ (เอกมัย)\",\r\n\t\tsubLabel_2: \"23.00 - 24.00 น.\",\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 2,\r\n\t\ttargetCondition: \"le\",\r\n\t\tfilling_condition: \"ช่องสีเขียว ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: false,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\"\r\n\t\t],\r\n\t\texcelValueRow: 371,\r\n\t\tpriority: 175\r\n\t},\r\n\t{\r\n\t\tid: 176,\r\n\t\tno: \"2.2.5.6\",\r\n\t\tlabel: \"อัตราส่วนของกรณีที่สายหลุด (Drop Call Rate) ในพื้นที่เฝ้าระวัง\",\r\n\t\ttargeted_text: \"ไม่เกินร้อยละ 2\",\r\n\t\tsubLabel_1: \"6-สถานีรถไฟกรุงเทพ (หัวลำโพง)\",\r\n\t\tsubLabel_2: \"00.00 - 01.00 น.\",\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 2,\r\n\t\ttargetCondition: \"le\",\r\n\t\tfilling_condition: \"ช่องสีเขียว ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: false,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\"\r\n\t\t],\r\n\t\texcelValueRow: 373,\r\n\t\tpriority: 176\r\n\t},\r\n\t{\r\n\t\tid: 177,\r\n\t\tno: \"2.2.5.6\",\r\n\t\tlabel: \"อัตราส่วนของกรณีที่สายหลุด (Drop Call Rate) ในพื้นที่เฝ้าระวัง\",\r\n\t\ttargeted_text: \"ไม่เกินร้อยละ 2\",\r\n\t\tsubLabel_1: \"6-สถานีรถไฟกรุงเทพ (หัวลำโพง)\",\r\n\t\tsubLabel_2: \"01.00 - 02.00 น.\",\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 2,\r\n\t\ttargetCondition: \"le\",\r\n\t\tfilling_condition: \"ช่องสีเขียว ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: false,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\"\r\n\t\t],\r\n\t\texcelValueRow: 374,\r\n\t\tpriority: 177\r\n\t},\r\n\t{\r\n\t\tid: 178,\r\n\t\tno: \"2.2.5.6\",\r\n\t\tlabel: \"อัตราส่วนของกรณีที่สายหลุด (Drop Call Rate) ในพื้นที่เฝ้าระวัง\",\r\n\t\ttargeted_text: \"ไม่เกินร้อยละ 2\",\r\n\t\tsubLabel_1: \"6-สถานีรถไฟกรุงเทพ (หัวลำโพง)\",\r\n\t\tsubLabel_2: \"02.00 - 03.00 น.\",\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 2,\r\n\t\ttargetCondition: \"le\",\r\n\t\tfilling_condition: \"ช่องสีเขียว ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: false,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\"\r\n\t\t],\r\n\t\texcelValueRow: 375,\r\n\t\tpriority: 178\r\n\t},\r\n\t{\r\n\t\tid: 179,\r\n\t\tno: \"2.2.5.6\",\r\n\t\tlabel: \"อัตราส่วนของกรณีที่สายหลุด (Drop Call Rate) ในพื้นที่เฝ้าระวัง\",\r\n\t\ttargeted_text: \"ไม่เกินร้อยละ 2\",\r\n\t\tsubLabel_1: \"6-สถานีรถไฟกรุงเทพ (หัวลำโพง)\",\r\n\t\tsubLabel_2: \"03.00 - 04.00 น.\",\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 2,\r\n\t\ttargetCondition: \"le\",\r\n\t\tfilling_condition: \"ช่องสีเขียว ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: false,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\"\r\n\t\t],\r\n\t\texcelValueRow: 376,\r\n\t\tpriority: 179\r\n\t},\r\n\t{\r\n\t\tid: 180,\r\n\t\tno: \"2.2.5.6\",\r\n\t\tlabel: \"อัตราส่วนของกรณีที่สายหลุด (Drop Call Rate) ในพื้นที่เฝ้าระวัง\",\r\n\t\ttargeted_text: \"ไม่เกินร้อยละ 2\",\r\n\t\tsubLabel_1: \"6-สถานีรถไฟกรุงเทพ (หัวลำโพง)\",\r\n\t\tsubLabel_2: \"04.00 - 05.00 น.\",\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 2,\r\n\t\ttargetCondition: \"le\",\r\n\t\tfilling_condition: \"ช่องสีเขียว ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: false,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\"\r\n\t\t],\r\n\t\texcelValueRow: 377,\r\n\t\tpriority: 180\r\n\t},\r\n\t{\r\n\t\tid: 181,\r\n\t\tno: \"2.2.5.6\",\r\n\t\tlabel: \"อัตราส่วนของกรณีที่สายหลุด (Drop Call Rate) ในพื้นที่เฝ้าระวัง\",\r\n\t\ttargeted_text: \"ไม่เกินร้อยละ 2\",\r\n\t\tsubLabel_1: \"6-สถานีรถไฟกรุงเทพ (หัวลำโพง)\",\r\n\t\tsubLabel_2: \"05.00 - 06.00 น.\",\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 2,\r\n\t\ttargetCondition: \"le\",\r\n\t\tfilling_condition: \"ช่องสีเขียว ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: false,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\"\r\n\t\t],\r\n\t\texcelValueRow: 378,\r\n\t\tpriority: 181\r\n\t},\r\n\t{\r\n\t\tid: 182,\r\n\t\tno: \"2.2.5.6\",\r\n\t\tlabel: \"อัตราส่วนของกรณีที่สายหลุด (Drop Call Rate) ในพื้นที่เฝ้าระวัง\",\r\n\t\ttargeted_text: \"ไม่เกินร้อยละ 2\",\r\n\t\tsubLabel_1: \"6-สถานีรถไฟกรุงเทพ (หัวลำโพง)\",\r\n\t\tsubLabel_2: \"06.00 - 07.00 น.\",\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 2,\r\n\t\ttargetCondition: \"le\",\r\n\t\tfilling_condition: \"ช่องสีเขียว ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: false,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\"\r\n\t\t],\r\n\t\texcelValueRow: 379,\r\n\t\tpriority: 182\r\n\t},\r\n\t{\r\n\t\tid: 183,\r\n\t\tno: \"2.2.5.6\",\r\n\t\tlabel: \"อัตราส่วนของกรณีที่สายหลุด (Drop Call Rate) ในพื้นที่เฝ้าระวัง\",\r\n\t\ttargeted_text: \"ไม่เกินร้อยละ 2\",\r\n\t\tsubLabel_1: \"6-สถานีรถไฟกรุงเทพ (หัวลำโพง)\",\r\n\t\tsubLabel_2: \"07.00 - 08.00 น.\",\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 2,\r\n\t\ttargetCondition: \"le\",\r\n\t\tfilling_condition: \"ช่องสีเขียว ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: false,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\"\r\n\t\t],\r\n\t\texcelValueRow: 380,\r\n\t\tpriority: 183\r\n\t},\r\n\t{\r\n\t\tid: 184,\r\n\t\tno: \"2.2.5.6\",\r\n\t\tlabel: \"อัตราส่วนของกรณีที่สายหลุด (Drop Call Rate) ในพื้นที่เฝ้าระวัง\",\r\n\t\ttargeted_text: \"ไม่เกินร้อยละ 2\",\r\n\t\tsubLabel_1: \"6-สถานีรถไฟกรุงเทพ (หัวลำโพง)\",\r\n\t\tsubLabel_2: \"08.00 - 09.00 น.\",\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 2,\r\n\t\ttargetCondition: \"le\",\r\n\t\tfilling_condition: \"ช่องสีเขียว ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: false,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\"\r\n\t\t],\r\n\t\texcelValueRow: 381,\r\n\t\tpriority: 184\r\n\t},\r\n\t{\r\n\t\tid: 185,\r\n\t\tno: \"2.2.5.6\",\r\n\t\tlabel: \"อัตราส่วนของกรณีที่สายหลุด (Drop Call Rate) ในพื้นที่เฝ้าระวัง\",\r\n\t\ttargeted_text: \"ไม่เกินร้อยละ 2\",\r\n\t\tsubLabel_1: \"6-สถานีรถไฟกรุงเทพ (หัวลำโพง)\",\r\n\t\tsubLabel_2: \"09.00 - 10.00 น.\",\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 2,\r\n\t\ttargetCondition: \"le\",\r\n\t\tfilling_condition: \"ช่องสีเขียว ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: false,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\"\r\n\t\t],\r\n\t\texcelValueRow: 382,\r\n\t\tpriority: 185\r\n\t},\r\n\t{\r\n\t\tid: 186,\r\n\t\tno: \"2.2.5.6\",\r\n\t\tlabel: \"อัตราส่วนของกรณีที่สายหลุด (Drop Call Rate) ในพื้นที่เฝ้าระวัง\",\r\n\t\ttargeted_text: \"ไม่เกินร้อยละ 2\",\r\n\t\tsubLabel_1: \"6-สถานีรถไฟกรุงเทพ (หัวลำโพง)\",\r\n\t\tsubLabel_2: \"10.00 - 11.00 น.\",\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 2,\r\n\t\ttargetCondition: \"le\",\r\n\t\tfilling_condition: \"ช่องสีเขียว ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: false,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\"\r\n\t\t],\r\n\t\texcelValueRow: 383,\r\n\t\tpriority: 186\r\n\t},\r\n\t{\r\n\t\tid: 187,\r\n\t\tno: \"2.2.5.6\",\r\n\t\tlabel: \"อัตราส่วนของกรณีที่สายหลุด (Drop Call Rate) ในพื้นที่เฝ้าระวัง\",\r\n\t\ttargeted_text: \"ไม่เกินร้อยละ 2\",\r\n\t\tsubLabel_1: \"6-สถานีรถไฟกรุงเทพ (หัวลำโพง)\",\r\n\t\tsubLabel_2: \"11.00 - 12.00 น.\",\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 2,\r\n\t\ttargetCondition: \"le\",\r\n\t\tfilling_condition: \"ช่องสีเขียว ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: false,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\"\r\n\t\t],\r\n\t\texcelValueRow: 384,\r\n\t\tpriority: 187\r\n\t},\r\n\t{\r\n\t\tid: 188,\r\n\t\tno: \"2.2.5.6\",\r\n\t\tlabel: \"อัตราส่วนของกรณีที่สายหลุด (Drop Call Rate) ในพื้นที่เฝ้าระวัง\",\r\n\t\ttargeted_text: \"ไม่เกินร้อยละ 2\",\r\n\t\tsubLabel_1: \"6-สถานีรถไฟกรุงเทพ (หัวลำโพง)\",\r\n\t\tsubLabel_2: \"12.00 - 13.00 น.\",\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 2,\r\n\t\ttargetCondition: \"le\",\r\n\t\tfilling_condition: \"ช่องสีเขียว ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: false,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\"\r\n\t\t],\r\n\t\texcelValueRow: 385,\r\n\t\tpriority: 188\r\n\t},\r\n\t{\r\n\t\tid: 189,\r\n\t\tno: \"2.2.5.6\",\r\n\t\tlabel: \"อัตราส่วนของกรณีที่สายหลุด (Drop Call Rate) ในพื้นที่เฝ้าระวัง\",\r\n\t\ttargeted_text: \"ไม่เกินร้อยละ 2\",\r\n\t\tsubLabel_1: \"6-สถานีรถไฟกรุงเทพ (หัวลำโพง)\",\r\n\t\tsubLabel_2: \"13.00 - 14.00 น.\",\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 2,\r\n\t\ttargetCondition: \"le\",\r\n\t\tfilling_condition: \"ช่องสีเขียว ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: false,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\"\r\n\t\t],\r\n\t\texcelValueRow: 386,\r\n\t\tpriority: 189\r\n\t},\r\n\t{\r\n\t\tid: 190,\r\n\t\tno: \"2.2.5.6\",\r\n\t\tlabel: \"อัตราส่วนของกรณีที่สายหลุด (Drop Call Rate) ในพื้นที่เฝ้าระวัง\",\r\n\t\ttargeted_text: \"ไม่เกินร้อยละ 2\",\r\n\t\tsubLabel_1: \"6-สถานีรถไฟกรุงเทพ (หัวลำโพง)\",\r\n\t\tsubLabel_2: \"14.00 - 15.00 น.\",\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 2,\r\n\t\ttargetCondition: \"le\",\r\n\t\tfilling_condition: \"ช่องสีเขียว ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: false,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\"\r\n\t\t],\r\n\t\texcelValueRow: 387,\r\n\t\tpriority: 190\r\n\t},\r\n\t{\r\n\t\tid: 191,\r\n\t\tno: \"2.2.5.6\",\r\n\t\tlabel: \"อัตราส่วนของกรณีที่สายหลุด (Drop Call Rate) ในพื้นที่เฝ้าระวัง\",\r\n\t\ttargeted_text: \"ไม่เกินร้อยละ 2\",\r\n\t\tsubLabel_1: \"6-สถานีรถไฟกรุงเทพ (หัวลำโพง)\",\r\n\t\tsubLabel_2: \"15.00 - 16.00 น.\",\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 2,\r\n\t\ttargetCondition: \"le\",\r\n\t\tfilling_condition: \"ช่องสีเขียว ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: false,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\"\r\n\t\t],\r\n\t\texcelValueRow: 388,\r\n\t\tpriority: 191\r\n\t},\r\n\t{\r\n\t\tid: 192,\r\n\t\tno: \"2.2.5.6\",\r\n\t\tlabel: \"อัตราส่วนของกรณีที่สายหลุด (Drop Call Rate) ในพื้นที่เฝ้าระวัง\",\r\n\t\ttargeted_text: \"ไม่เกินร้อยละ 2\",\r\n\t\tsubLabel_1: \"6-สถานีรถไฟกรุงเทพ (หัวลำโพง)\",\r\n\t\tsubLabel_2: \"16.00 - 17.00 น.\",\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 2,\r\n\t\ttargetCondition: \"le\",\r\n\t\tfilling_condition: \"ช่องสีเขียว ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: false,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\"\r\n\t\t],\r\n\t\texcelValueRow: 389,\r\n\t\tpriority: 192\r\n\t},\r\n\t{\r\n\t\tid: 193,\r\n\t\tno: \"2.2.5.6\",\r\n\t\tlabel: \"อัตราส่วนของกรณีที่สายหลุด (Drop Call Rate) ในพื้นที่เฝ้าระวัง\",\r\n\t\ttargeted_text: \"ไม่เกินร้อยละ 2\",\r\n\t\tsubLabel_1: \"6-สถานีรถไฟกรุงเทพ (หัวลำโพง)\",\r\n\t\tsubLabel_2: \"17.00 - 18.00 น.\",\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 2,\r\n\t\ttargetCondition: \"le\",\r\n\t\tfilling_condition: \"ช่องสีเขียว ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: false,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\"\r\n\t\t],\r\n\t\texcelValueRow: 390,\r\n\t\tpriority: 193\r\n\t},\r\n\t{\r\n\t\tid: 194,\r\n\t\tno: \"2.2.5.6\",\r\n\t\tlabel: \"อัตราส่วนของกรณีที่สายหลุด (Drop Call Rate) ในพื้นที่เฝ้าระวัง\",\r\n\t\ttargeted_text: \"ไม่เกินร้อยละ 2\",\r\n\t\tsubLabel_1: \"6-สถานีรถไฟกรุงเทพ (หัวลำโพง)\",\r\n\t\tsubLabel_2: \"18.00 - 19.00 น.\",\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 2,\r\n\t\ttargetCondition: \"le\",\r\n\t\tfilling_condition: \"ช่องสีเขียว ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: false,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\"\r\n\t\t],\r\n\t\texcelValueRow: 391,\r\n\t\tpriority: 194\r\n\t},\r\n\t{\r\n\t\tid: 195,\r\n\t\tno: \"2.2.5.6\",\r\n\t\tlabel: \"อัตราส่วนของกรณีที่สายหลุด (Drop Call Rate) ในพื้นที่เฝ้าระวัง\",\r\n\t\ttargeted_text: \"ไม่เกินร้อยละ 2\",\r\n\t\tsubLabel_1: \"6-สถานีรถไฟกรุงเทพ (หัวลำโพง)\",\r\n\t\tsubLabel_2: \"19.00 - 20.00 น.\",\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 2,\r\n\t\ttargetCondition: \"le\",\r\n\t\tfilling_condition: \"ช่องสีเขียว ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: false,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\"\r\n\t\t],\r\n\t\texcelValueRow: 392,\r\n\t\tpriority: 195\r\n\t},\r\n\t{\r\n\t\tid: 196,\r\n\t\tno: \"2.2.5.6\",\r\n\t\tlabel: \"อัตราส่วนของกรณีที่สายหลุด (Drop Call Rate) ในพื้นที่เฝ้าระวัง\",\r\n\t\ttargeted_text: \"ไม่เกินร้อยละ 2\",\r\n\t\tsubLabel_1: \"6-สถานีรถไฟกรุงเทพ (หัวลำโพง)\",\r\n\t\tsubLabel_2: \"20.00 - 21.00 น.\",\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 2,\r\n\t\ttargetCondition: \"le\",\r\n\t\tfilling_condition: \"ช่องสีเขียว ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: false,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\"\r\n\t\t],\r\n\t\texcelValueRow: 393,\r\n\t\tpriority: 196\r\n\t},\r\n\t{\r\n\t\tid: 197,\r\n\t\tno: \"2.2.5.6\",\r\n\t\tlabel: \"อัตราส่วนของกรณีที่สายหลุด (Drop Call Rate) ในพื้นที่เฝ้าระวัง\",\r\n\t\ttargeted_text: \"ไม่เกินร้อยละ 2\",\r\n\t\tsubLabel_1: \"6-สถานีรถไฟกรุงเทพ (หัวลำโพง)\",\r\n\t\tsubLabel_2: \"21.00 - 22.00 น.\",\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 2,\r\n\t\ttargetCondition: \"le\",\r\n\t\tfilling_condition: \"ช่องสีเขียว ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: false,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\"\r\n\t\t],\r\n\t\texcelValueRow: 394,\r\n\t\tpriority: 197\r\n\t},\r\n\t{\r\n\t\tid: 198,\r\n\t\tno: \"2.2.5.6\",\r\n\t\tlabel: \"อัตราส่วนของกรณีที่สายหลุด (Drop Call Rate) ในพื้นที่เฝ้าระวัง\",\r\n\t\ttargeted_text: \"ไม่เกินร้อยละ 2\",\r\n\t\tsubLabel_1: \"6-สถานีรถไฟกรุงเทพ (หัวลำโพง)\",\r\n\t\tsubLabel_2: \"22.00 - 23.00 น.\",\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 2,\r\n\t\ttargetCondition: \"le\",\r\n\t\tfilling_condition: \"ช่องสีเขียว ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: false,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\"\r\n\t\t],\r\n\t\texcelValueRow: 395,\r\n\t\tpriority: 198\r\n\t},\r\n\t{\r\n\t\tid: 199,\r\n\t\tno: \"2.2.5.6\",\r\n\t\tlabel: \"อัตราส่วนของกรณีที่สายหลุด (Drop Call Rate) ในพื้นที่เฝ้าระวัง\",\r\n\t\ttargeted_text: \"ไม่เกินร้อยละ 2\",\r\n\t\tsubLabel_1: \"6-สถานีรถไฟกรุงเทพ (หัวลำโพง)\",\r\n\t\tsubLabel_2: \"23.00 - 24.00 น.\",\r\n\t\tsubLabel_3: null,\r\n\t\tsubLabel_4: null,\r\n\t\ttargetValue: 2,\r\n\t\ttargetCondition: \"le\",\r\n\t\tfilling_condition: \"ช่องสีเขียว ข้อมูลที่กรอกจะต้องมีหน่วยเป็นร้อยละ (มีค่าได้ตั้งแต่ 0.00 - 100.00)\",\r\n\t\tisNeedAnswer: false,\r\n\t\trecords: {\r\n\t\t\tmonth_1: null,\r\n\t\t\tmonth_2: null,\r\n\t\t\tmonth_3: null,\r\n\t\t\tavg: null,\r\n\t\t\tnote: null\r\n\t\t},\r\n\t\tdata_type: \"float\",\r\n\t\texcelValueCol: [\r\n\t\t\t\"F\",\r\n\t\t\t\"G\",\r\n\t\t\t\"H\",\r\n\t\t\t\"I\"\r\n\t\t],\r\n\t\texcelValueRow: 396,\r\n\t\tpriority: 199\r\n\t}\r\n]\r\n","export const canceledListDetailNo = [\r\n \"2.2.5.1\",\r\n \"2.2.5.2\",\r\n \"2.2.5.3\",\r\n \"2.2.5.4\",\r\n \"2.2.5.5\",\r\n \"2.2.5.6\",\r\n \"2.3.7\",\r\n \"2.3.8\",\r\n \"2.3.9\",\r\n \"2.3.10\",\r\n]","import { useState, useEffect, useMemo } from 'react'\r\nimport { useReduceForm } from '../../../../../utils/useReduceForm'\r\nimport {\r\n\tGrid,\r\n\tCard,\r\n\tCardContent,\r\n\tDivider,\r\n\tuseMediaQuery,\r\n} from '@material-ui/core'\r\nimport { useTheme, makeStyles } from '@material-ui/styles'\r\nimport { useStoreState } from 'store/index'\r\n\r\nimport TwoPointThreeSubHeader from './two-point-three-header/index'\r\nimport ExcelSubHeader from './sub-header'\r\nimport SubLabelType1 from './sub-label-1'\r\nimport SubLabelType2 from './sub-label-2'\r\nimport SubLabelType3 from './sub-label-3'\r\n\r\nimport { fixed_general_details } from '../../../../../data/standard-reportV2/fixed-general'\r\nimport { fixed_info_details } from '../../../../../data/standard-reportV2/fixed-info'\r\nimport { fixed_sound_details } from '../../../../../data/standard-reportV2/fixed-sound'\r\nimport { mobile_general_details } from '../../../../../data/standard-reportV2/mobile-general'\r\nimport { mobile_info_details } from '../../../../../data/standard-reportV2/mobile-info'\r\nimport { mobile_sound_details } from '../../../../../data/standard-reportV2/mobile-sound'\r\nimport { canceledListDetailNo } from 'data/standard-reportV2/canceledList'\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n\tform_container: {\r\n\t\twidth: '700px',\r\n\t\toverflow: 'scroll',\r\n\t},\r\n}))\r\n\r\nexport default function StandardReportForm({\r\n\t// Main Component's State\r\n\tflags,\r\n\tpreField,\r\n\ttype,\r\n\tonFillForm,\r\n\t// Standard Report Answers\r\n\tfixedGeneralAnswers,\r\n\tfixedInfoAnswers,\r\n\tfixedSoundAnswers,\r\n\tmobileGeneralAnswers,\r\n\tmobileInfoAnswers,\r\n\tmobileSoundAnswers,\r\n}) {\r\n\tconst classes = useStyles()\r\n\tconst [report, setReport] = useState([])\r\n\tconst [reportName, setReportName] = useState('')\r\n\tconst [answers, setAnswers] = useState([])\r\n\tconst theme = useTheme()\r\n\tconst isMobile = useMediaQuery(theme.breakpoints.down('sm'))\r\n\tconst { form } = useReduceForm(report)\r\n\tconst nvmo_no = ['2.1.4', '2.1.5', '2.1.6']\r\n\tconst { userOperatorProfile } = useStoreState(s => s.userModel)\r\n\r\n\tconst isUseReport1_1_2 = useMemo(\r\n\t\t() => userOperatorProfile?.isUseReport1_1_2,\r\n\t\t[userOperatorProfile]\r\n\t)\r\n\tlet isAlreadyReturnUseReport112 = false\r\n\r\n\tuseEffect(() => {\r\n\t\tif (type === 'fixed-general') setReport(fixed_general_details)\r\n\t\telse if (type === 'fixed-sound') setReport(fixed_sound_details)\r\n\t\telse if (type === 'fixed-info') setReport(fixed_info_details)\r\n\t\telse if (type === 'mobile-general') setReport(mobile_general_details)\r\n\t\telse if (type === 'mobile-sound') setReport(mobile_sound_details)\r\n\t\telse if (type === 'mobile-info') setReport(mobile_info_details)\r\n\r\n\t\tif (type === 'fixed-general')\r\n\t\t\tsetReportName('ส่วนที่ 1 ค่าชี้วัดคุณภาพบริการทั่วไป')\r\n\t\telse if (type === 'fixed-sound')\r\n\t\t\tsetReportName('ส่วนที่ 2 ค่าชี้วัดคุณภาพบริการประเภทเสียง')\r\n\t\telse if (type === 'fixed-info')\r\n\t\t\tsetReportName('ส่วนที่ 3 ค่าชี้วัดคุณภาพบริการประเภทข้อมูล')\r\n\t\telse if (type === 'mobile-general')\r\n\t\t\tsetReportName('ส่วนที่ 1 ค่าชี้วัดคุณภาพบริการทั่วไป')\r\n\t\telse if (type === 'mobile-sound')\r\n\t\t\tsetReportName('ส่วนที่ 2 ค่าชี้วัดคุณภาพบริการประเภทเสียง')\r\n\t\telse if (type === 'mobile-info')\r\n\t\t\tsetReportName('ส่วนที่ 3 ค่าชี้วัดคุณภาพบริการประเภทข้อมูล')\r\n\t}, [type])\r\n\r\n\tuseEffect(() => {\r\n\t\tconst tempAnswers = [\r\n\t\t\t...fixedGeneralAnswers,\r\n\t\t\t...fixedInfoAnswers,\r\n\t\t\t...fixedSoundAnswers,\r\n\t\t\t...mobileGeneralAnswers,\r\n\t\t\t...mobileInfoAnswers,\r\n\t\t\t...mobileSoundAnswers,\r\n\t\t]\r\n\t\tsetAnswers(tempAnswers)\r\n\t}, [\r\n\t\tfixedGeneralAnswers,\r\n\t\tfixedInfoAnswers,\r\n\t\tfixedSoundAnswers,\r\n\t\tmobileGeneralAnswers,\r\n\t\tmobileInfoAnswers,\r\n\t\tmobileSoundAnswers,\r\n\t])\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{reportName}\r\n\t\t\t\r\n\t\t\t\tไม่ต้องกำหนดข้อมูล ถ้าท่านไม่มีการให้บริการในข้อใด หรือ\r\n\t\t\t\tรายละเอียดของชุดข้อมูลนั้นๆ\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{form.map((detail, index) => {\r\n\t\t\t\t\t\tconst isNeedAnswer = detail.isNeedAnswer\r\n\t\t\t\t\t\tconst sub_label_type = detail.sub_labels.sub_label_type\r\n\t\t\t\t\t\tconst labels = detail.sub_labels.labels\r\n\t\t\t\t\t\tconst isNVMO = flags?.NVMO && nvmo_no.includes(detail.no)\r\n\t\t\t\t\t\tconst isPayPhone = flags?.payphone\r\n\t\t\t\t\t\tconst isTwoPointThree = detail.no.includes('2.3.' || '2.2.')\r\n\t\t\t\t\t\tconst canceledList = canceledListDetailNo\r\n\t\t\t\t\t\t// if detail no in cancledListDetailNo\r\n\t\t\t\t\t\tif (canceledList.includes(detail.no)) {\r\n\t\t\t\t\t\t\treturn <>\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tif (detail.no.includes('1.2.')) {\r\n\t\t\t\t\t\t\tif (isUseReport1_1_2 === false && !isAlreadyReturnUseReport112) {\r\n\t\t\t\t\t\t\t\tisAlreadyReturnUseReport112 = true\r\n\r\n\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tไม่มีค่าชี้วัดที่ต้องกรอกในส่วนนี้\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\treturn null\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tif (detail.no !== '1.1.7')\r\n\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{/* Header */}\r\n\t\t\t\t\t\t\t\t\tข้อ\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tค่าชี้วัดคุณภาพบริการ\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tค่าเป้าหมาย\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tเงื่อนไขการกรอกข้อมูล\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{/* Divider */}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{/* Questions */}\r\n\t\t\t\t\t\t\t\t\t{/* ข้อ */}\r\n\t\t\t\t\t\t\t\t\t{detail.no}\r\n\t\t\t\t\t\t\t\t\t{/* ค่าชี้วัดคุณภาพบริการ */}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{detail.label}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{/* ค่าเป้าหมาย */}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{detail.targeted_text.map((item, index) => {\r\n\t\t\t\t\t\t\t\t\t\t\tconst matchedLabel = labels[index]\r\n\r\n\t\t\t\t\t\t\t\t\t\t\tif (sub_label_type === 2 && matchedLabel) {\r\n\t\t\t\t\t\t\t\t\t\t\t\tif (matchedLabel.label.includes('2G') && !flags['2G'])\r\n\t\t\t\t\t\t\t\t\t\t\t\t\treturn <>\r\n\t\t\t\t\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\t\t\t\t\treturn {item}\r\n\t\t\t\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{/* เงื่อนไชการกรอกข้อมูล */}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t*{detail.filling_condition}\r\n\t\t\t\t\t\t\t\t\t\t{isNVMO && * มี MVNO}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{/* รายละเอียดชุดข้อมูล */}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{/* Header */}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\tผลการวัด\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{/* Two Point Three Sub Header */}\r\n\t\t\t\t\t\t\t\t\t\t{isTwoPointThree && (\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t{/* Sub Header */}\r\n\t\t\t\t\t\t\t\t\t\t{isNeedAnswer && (\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t{/* Content */}\r\n\r\n\t\t\t\t\t\t\t\t\t\t{/* Sub Label Type 1 */}\r\n\t\t\t\t\t\t\t\t\t\t{isNeedAnswer && sub_label_type === 1 && (\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t)}\r\n\r\n\t\t\t\t\t\t\t\t\t\t{/* Sub Label Type 2 */}\r\n\t\t\t\t\t\t\t\t\t\t{isNeedAnswer &&\r\n\t\t\t\t\t\t\t\t\t\t\tsub_label_type === 2 &&\r\n\t\t\t\t\t\t\t\t\t\t\tlabels.map((item, index) => (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t))}\r\n\r\n\t\t\t\t\t\t\t\t\t\t{/* Sub Label Type 3 */}\r\n\t\t\t\t\t\t\t\t\t\t{isNeedAnswer &&\r\n\t\t\t\t\t\t\t\t\t\t\tsub_label_type === 3 &&\r\n\t\t\t\t\t\t\t\t\t\t\tlabels.map(item => (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)\r\n\r\n\t\t\t\t\t\tif (detail.no === '1.1.7' && isPayPhone)\r\n\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{/* Header */}\r\n\t\t\t\t\t\t\t\t\tข้อ\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tค่าชี้วัดคุณภาพบริการ\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tค่าเป้าหมาย\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tเงื่อนไขการกรอกข้อมูล\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{/* Divider */}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{/* Questions */}\r\n\t\t\t\t\t\t\t\t\t{/* ข้อ */}\r\n\t\t\t\t\t\t\t\t\t{detail.no}\r\n\t\t\t\t\t\t\t\t\t{/* ค่าชี้วัดคุณภาพบริการ */}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{detail.label}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{/* ค่าเป้าหมาย */}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{detail.targeted_text.map((item, index) => (\r\n\t\t\t\t\t\t\t\t\t\t\t{item}\r\n\t\t\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{/* เงื่อนไชการกรอกข้อมูล */}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t*{detail.filling_condition}\r\n\t\t\t\t\t\t\t\t\t\t{isNVMO && * มี MVNO}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{/* รายละเอียดชุดข้อมูล */}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{/* Header */}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\tผลการวัด\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{/* Sub Header */}\r\n\t\t\t\t\t\t\t\t\t\t{isNeedAnswer && (\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t{/* Content */}\r\n\r\n\t\t\t\t\t\t\t\t\t\t{/* Sub Label Type 1 */}\r\n\t\t\t\t\t\t\t\t\t\t{isNeedAnswer && sub_label_type === 1 && (\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t)}\r\n\r\n\t\t\t\t\t\t\t\t\t\t{/* Sub Label Type 2 */}\r\n\t\t\t\t\t\t\t\t\t\t{isNeedAnswer &&\r\n\t\t\t\t\t\t\t\t\t\t\tsub_label_type === 2 &&\r\n\t\t\t\t\t\t\t\t\t\t\tlabels.map((item, index) => (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t))}\r\n\r\n\t\t\t\t\t\t\t\t\t\t{/* Sub Label Type 3 */}\r\n\t\t\t\t\t\t\t\t\t\t{isNeedAnswer &&\r\n\t\t\t\t\t\t\t\t\t\t\tsub_label_type === 3 &&\r\n\t\t\t\t\t\t\t\t\t\t\tlabels.map(item => (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)\r\n\r\n\t\t\t\t\t\treturn <>\r\n\t\t\t\t\t})}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n","import { useEffect } from 'react'\r\nimport { Card, CardContent, Grid, Divider } from '@material-ui/core'\r\nimport { Place, DirectionsWalk } from '@material-ui/icons'\r\n\r\nimport StandardReportForm from './excel'\r\n\r\nexport default function ReportCard({\r\n\t// Main Component's State\r\n\r\n\tflags,\r\n\ttype,\r\n\tpreField,\r\n\tonFillForm,\r\n\t// Standard Report Answers\r\n\tfixedGeneralAnswers,\r\n\tfixedInfoAnswers,\r\n\tfixedSoundAnswers,\r\n\tmobileGeneralAnswers,\r\n\tmobileInfoAnswers,\r\n\tmobileSoundAnswers,\r\n}) {\r\n\tuseEffect(() => {\r\n\t\twindow.scrollTo(0, 0)\r\n\t}, [type])\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{type.includes('fixed') ? (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t{type.includes('fixed') ? (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tแบบประจำที่ (Fixed)\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tแบบเคลื่อนที่ (Mobile)\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n","import { Grid, Card, Divider, Button } from '@material-ui/core'\r\n\r\nimport { PlaylistAddCheck } from '@material-ui/icons'\r\nimport ReportCard from '../form'\r\n\r\nexport default function StandardReportStep2({\r\n\tflags,\r\n\t// Standard Report Handler State\r\n\tneedToFillFormType,\r\n\tcurrentFilledFormIndex,\r\n\tonFillForm,\r\n\t// Standard Report Answers\r\n\tfixedGeneralAnswers,\r\n\tfixedInfoAnswers,\r\n\tfixedSoundAnswers,\r\n\tmobileGeneralAnswers,\r\n\tmobileInfoAnswers,\r\n\tmobileSoundAnswers,\r\n\treportMethod,\r\n\t// Upload File\r\n\texcelFile,\r\n\tsetExcelFile,\r\n\texcelFileShow,\r\n\tsetExcelFileShow,\r\n}) {\r\n\tlet excelFileTemp = []\r\n\treturn (\r\n\t\t<>\r\n\t\t\t{reportMethod === 'web-form' ? (\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t) : (\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tอัพโหลดไฟล์\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t* อัพโหลดไฟล์ข้อมูลใน format .xls, .xlsx เท่านั้น *\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{excelFileShow}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t\r\n\t)\r\n}\r\n","export const mobile_additional_files = [\r\n\t{\r\n\t\tkey: 'attachmentBMARoad',\r\n\t\ttitle: 'เส้นทางในเขตกรุงเทพฯ และปริมณฑล',\r\n\t},\r\n\t{\r\n\t\tkey: 'attachmentBMAFocusArea',\r\n\t\ttitle: 'พื้นที่เฝ้าระวัง',\r\n\t},\r\n\t{\r\n\t\tkey: 'attachmentUPCRoad',\r\n\t\ttitle: 'สถานที่ทำการวัด เส้นทางสายหลักและสายรอง',\r\n\t},\r\n\t{\r\n\t\tkey: 'attachmentUPCCommunity',\r\n\t\ttitle: 'เส้นทางในพื้นที่ชุมชน',\r\n\t},\r\n]\r\n","import { useEffect } from 'react'\r\nimport { Grid, Card, Divider, Button, IconButton } from '@material-ui/core'\r\nimport { PlaylistAddCheck, Delete } from '@material-ui/icons'\r\nimport { mobile_additional_files } from '../../../../data/standard-reportV2/ui/mobile-additional-files'\r\n\r\nfunction FileList({ name, onDeleteAdditionalFile }) {\r\n\treturn (\r\n\t\t\r\n\t\t\t• {name}\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n\r\nexport default function StandardReportAdditionalFileStep({\r\n\tmobileFiles = {},\r\n\tonInputAdditionalFile,\r\n\tonDeleteAdditionalFile,\r\n}) {\r\n\tuseEffect(() => {\r\n\t\twindow.scrollTo(0, 0)\r\n\t}, [])\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tแนบไฟล์เพิ่มเติมสำหรับรายงานมาตรฐานแบบเคลื่อนที่\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t* อัพโหลดไฟล์ข้อมูลใน format .xlsx .xls .docx .doc .pdf .jpeg \r\n\t\t\t\t\t.png .jpg เท่านั้น *\r\n\t\t\t\t\r\n\r\n\t\t\t\t{mobile_additional_files.map(item => {\r\n\t\t\t\t\tconst additionalFile = mobileFiles[item.key]\r\n\r\n\t\t\t\t\treturn (\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{item.title}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tจำนวนไฟล์ที่อัพโหลด {additionalFile.length} ไฟล์\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{additionalFile.map((file, index) => (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\tonDeleteAdditionalFile(index, item.key)\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t)\r\n\t\t\t\t})}\r\n\t\t\t
\r\n\t\t
\r\n\t)\r\n}\r\n","import { Grid, useMediaQuery } from '@material-ui/core'\r\nimport { useTheme, makeStyles } from '@material-ui/styles'\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n\tcontainer: {\r\n\t\twidth: '500px',\r\n\t},\r\n\troot: {\r\n\t\tbackgroundColor: '#ccc',\r\n\t\tzIndex: 1,\r\n\t\tcolor: '#fff',\r\n\t\twidth: 50,\r\n\t\theight: 50,\r\n\t\tdisplay: 'flex',\r\n\t\tborderRadius: '50%',\r\n\t\tjustifyContent: 'center',\r\n\t\talignItems: 'center',\r\n\t},\r\n\tactive: {\r\n\t\tbackgroundColor: '#a74345',\r\n\t\tboxShadow: '0 4px 10px 0 rgba(0,0,0,.25)',\r\n\t},\r\n\tcompleted: {\r\n\t\tbackgroundColor: '#a74345',\r\n\t},\r\n}))\r\n\r\nexport default function PassedQualifiedItem() {\r\n\tconst classes = useStyles()\r\n\tconst theme = useTheme()\r\n\tconst isMobile = useMediaQuery(theme.breakpoints.down('sm'))\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\tหัวข้อทั้งหมดผ่านเกณฑ์\r\n\t\t\r\n\t)\r\n}\r\n","import { Grid, Button, useMediaQuery } from '@material-ui/core'\r\nimport { FormatAlignCenter } from '@material-ui/icons'\r\nimport { useTheme, makeStyles } from '@material-ui/styles'\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n\tcontainer: {\r\n\t\twidth: '500px',\r\n\t},\r\n\tsuccess : {\r\n\t\tbackground:\"#009900\"\r\n\t}\r\n}))\r\n\r\nexport default function UnqualifiedListItem({\r\n\tquestion_number,\r\n\tlabel,\r\n\thandleButton,\r\n\terrorMessage,\r\n\tisFillAnswer\r\n}) {\r\n\tconst classes = useStyles()\r\n\tconst theme = useTheme()\r\n\tconst isMobile = useMediaQuery(theme.breakpoints.down('sm'))\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{question_number}\r\n\t\t\t{label}\r\n\t\t\t{errorMessage}\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n","import { Grid } from '@material-ui/core'\r\n\r\nexport default function File({ originalFileName }) {\r\n\treturn (\r\n\t\t\r\n\t\t\tชื่อเอกสาร: {originalFileName ?? 'ยังไม่ได้เลือกไฟล์'}\r\n\t\t\r\n\t)\r\n}\r\n","import { forwardRef, useRef } from 'react'\r\nimport {\r\n\tGrid,\r\n\tDialog,\r\n\tDialogTitle,\r\n\tDialogContent,\r\n\tDialogContentText,\r\n\tDialogActions,\r\n\tSlide,\r\n\tIconButton,\r\n\tTextField,\r\n\tButton,\r\n\tDivider,\r\n\tuseMediaQuery,\r\n} from '@material-ui/core'\r\nimport 'date-fns'\r\nimport DateFnsUtils from '@date-io/date-fns'\r\nimport {\r\n\tMuiPickersUtilsProvider,\r\n\tKeyboardDatePicker,\r\n} from '@material-ui/pickers'\r\nimport { Close, ReportProblem } from '@material-ui/icons'\r\n\r\nimport File from './file'\r\n\r\nimport { useTheme } from '@material-ui/core/styles'\r\n\r\nexport default function FillingUnqualifiedModal({\r\n\tcurrentSelectedItem,\r\n\tid,\r\n\tquestion_number,\r\n\tquestion_label,\r\n\tcurrentAnswer,\r\n\topen,\r\n\terrorMessage,\r\n\tonClose,\r\n\thandleButton,\r\n\tonInputValidationReason,\r\n}) {\r\n\tconst theme = useTheme()\r\n\tconst fullScreen = useMediaQuery(theme.breakpoints.down('sm'))\r\n\tconst descriptionElementRef = useRef(null)\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\tสาเหตุของการไม่ผ่านเกณฑ์\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{question_number}\r\n\t\t\t\t\t\t{question_label}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tสาเหตุของการไม่ผ่านเกณฑ์​: {errorMessage}\r\n\t\t\t\t\t\r\n\t\t\t\t\t{currentSelectedItem.inputMethod === 'message' && (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{/* Reason */}\r\n\t\t\t\t\t\t\tเหตุผล*\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t onInputValidationReason(e, id, false)}\r\n\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{/* How to solve */}\r\n\t\t\t\t\t\t\tวิธีการแก้ไข*\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t onInputValidationReason(e, id, false)}\r\n\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{/* Duration */}\r\n\t\t\t\t\t\t\tระยะเวลาการแก้ไข*\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\t\tonInputValidationReason(e, id, true)\r\n\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t{currentSelectedItem.inputMethod === 'attach' && (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tแนบไฟล์เพิ่มเติม\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tตกลง\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n\r\nconst Transition = forwardRef(function Transtition(props, ref) {\r\n\treturn \r\n})\r\n","import { forwardRef } from 'react'\r\nimport {\r\n\tGrid,\r\n\tDialog,\r\n\tDialogTitle,\r\n\tDialogContent,\r\n\tDialogActions,\r\n\tSlide,\r\n\tIconButton,\r\n\tButton,\r\n\tRadioGroup,\r\n\tFormControlLabel,\r\n\tRadio,\r\n\tuseMediaQuery,\r\n} from '@material-ui/core'\r\nimport { Close, ReportProblem } from '@material-ui/icons'\r\n\r\nimport { useTheme } from '@material-ui/core/styles'\r\n\r\nexport default function AskingValidationModal({\r\n\topen,\r\n\tonClose,\r\n\thandleButton,\r\n\tinvalidInputMethod,\r\n\tonChangeInvalidaInputMethod,\r\n}) {\r\n\tconst theme = useTheme()\r\n\tconst fullScreen = useMediaQuery(theme.breakpoints.down('sm'))\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tเลือกวิธีการแจ้งเหตุผลที่ไม่ผ่านเกณฑ์\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t onChangeInvalidaInputMethod(e.target.value)}\r\n\t\t\t\t\t\tname=\"radio-buttons-group\">\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tlabel=\"กรอกเป็นข้อความ\"\r\n\t\t\t\t\t\t\tclassName=\"bg-gray-100 w-full py-2 my-1\"\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tlabel=\"แนบไฟล์แสดงเหตุผล\"\r\n\t\t\t\t\t\t\tclassName=\"bg-gray-100 w-full py-2 my-1\"\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tเลือก\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n\r\nconst Transition = forwardRef(function Transtition(props, ref) {\r\n\treturn \r\n})\r\n","import { useState, useEffect } from 'react'\r\nimport { Grid, Divider, useMediaQuery } from '@material-ui/core'\r\nimport { Description } from '@material-ui/icons'\r\n\r\nimport { useTheme, makeStyles } from '@material-ui/styles'\r\n\r\nimport PassedQualifiedListItem from './passed-qualified-item'\r\nimport UnqualifiedListItem from './unqualified-list-item/index'\r\nimport FillingUnqualifiedModal from './filling-unqualified-modal/index'\r\nimport AskingValidationModal from './asking-validation-modal/index'\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n\tcontainer: {\r\n\t\twidth: '500px',\r\n\t\toverflow: 'scroll',\r\n\t},\r\n}))\r\n\r\nexport default function StandardReportStep4({\r\n\tinvalidDataSetRecords,\r\n\tinvalidAnswers,\r\n\tonInputValidationReason,\r\n\tinvalidInputMethod,\r\n\tonChangeInvalidaInputMethod,\r\n\topenAskingValidationModal,\r\n\tonOpenAskingValidationModal,\r\n\tonAskInvalidInputMethod,\r\n\tcurrentValiationQuestionNumber,\r\n\topenFillingModal,\r\n\tonCloseAskingValidationModal,\r\n\tonCloseFillingModal,\r\n\tcurrentSelectedItem,\r\n}) {\r\n\tconst classes = useStyles()\r\n\tconst theme = useTheme()\r\n\tconst isMobile = useMediaQuery(theme.breakpoints.down('sm'))\r\n\tconst [currentAnswer, setCurrentAnswer] = useState({\r\n\t\treason: '',\r\n\t\tsolution: '',\r\n\t\tperiodSolution: null,\r\n\t\tfile: null,\r\n\t})\r\n\r\n\tconst [currentErrorMessage, setCurrentErrorMessage] = useState('')\r\n\tconst [currentLabel, setCurrentLabel] = useState({ text: '', no: '' })\r\n\r\n\tuseEffect(() => {\r\n\t\twindow.scrollTo(0, 0)\r\n\t}, [invalidDataSetRecords])\r\n\r\n\tuseEffect(() => {\r\n\t\tconst ans = invalidAnswers.find(\r\n\t\t\titem => item.id === currentValiationQuestionNumber\r\n\t\t)\r\n\r\n\t\tif (ans)\r\n\t\t\tsetCurrentAnswer({\r\n\t\t\t\treason: ans.reason,\r\n\t\t\t\tsolution: ans.solution,\r\n\t\t\t\tperiodSolution: ans.periodSolution,\r\n\t\t\t\tfile: ans.file,\r\n\t\t\t})\r\n\t}, [invalidAnswers, currentValiationQuestionNumber])\r\n\r\n\tuseEffect(() => {\r\n\t\tif (currentSelectedItem) {\r\n\t\t\tconst findError = invalidDataSetRecords.find(\r\n\t\t\t\tx => x.id === currentSelectedItem.id\r\n\t\t\t)\r\n\t\t\tsetCurrentErrorMessage(findError?.errors ?? '')\r\n\t\t\tif (findError)\r\n\t\t\t\tsetCurrentLabel({\r\n\t\t\t\t\ttext: findError.label,\r\n\t\t\t\t\tno: findError.question_number,\r\n\t\t\t\t})\r\n\t\t}\r\n\t}, [currentSelectedItem, invalidDataSetRecords])\r\n\r\n\tconst isFillAnswer = id => {\r\n\t\tconst ans = invalidAnswers.find(item => item.id === id)\r\n\t\tlet fill = false\r\n\t\tif (ans) {\r\n\t\t\tif (ans.inputMethod === 'message') {\r\n\t\t\t\tif (\r\n\t\t\t\t\tans.periodSolution !== null &&\r\n\t\t\t\t\tans.reason !== '' &&\r\n\t\t\t\t\tans.solution !== ''\r\n\t\t\t\t) {\r\n\t\t\t\t\tfill = true\r\n\t\t\t\t}\r\n\t\t\t} else if (ans.inputMethod === 'attach') {\r\n\t\t\t\tif (ans.file !== null) {\r\n\t\t\t\t\tfill = true\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn fill\r\n\t}\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t\r\n\t\t\t\t{/* Header */}\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tผลการตรวจสอบข้อมูล\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t{/* Table Header */}\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tข้อ\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tหัวข้อ\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tข้อผิดพลาด\r\n\t\t\t\t\t\r\n\t\t\t\t\tให้เหตุผล\r\n\t\t\t\t\r\n\t\t\t\t{/* Table Content */}\r\n\t\t\t\t{invalidDataSetRecords.map((item, index) => (\r\n\t\t\t\t\t {\r\n\t\t\t\t\t\t\tonOpenAskingValidationModal(item.id)\r\n\t\t\t\t\t\t}}\r\n\t\t\t\t\t/>\r\n\t\t\t\t))}\r\n\t\t\t\t{invalidDataSetRecords.length === 0 && }\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n","import Step1 from './step-1'\r\nimport Step2 from './step-2'\r\nimport Step3 from './step-3'\r\nimport Step4 from './step-4'\r\n\r\nexport default function StepContent({\r\n\t// Main State\r\n\tactiveStep: step,\r\n\thasMobile,\r\n\t// Standard Report Form Handler State\r\n\tflags,\r\n\tneedToFillFormType,\r\n\tfilledFormAmount,\r\n\tcurrentFilledFormIndex,\r\n\tonFillForm,\r\n\t// Standard Report Answers\r\n\tfixedGeneralAnswers,\r\n\tfixedInfoAnswers,\r\n\tfixedSoundAnswers,\r\n\tmobileGeneralAnswers,\r\n\tmobileInfoAnswers,\r\n\tmobileSoundAnswers,\r\n\t// Step 1\r\n\tuserOperatorProfile,\r\n\treportMethod,\r\n\tonChangeRadio,\r\n\tfixedReportTypeRadioValue,\r\n\tmobileReportTypeRadioValue,\r\n\tonChangeReportType,\r\n\thasEverSubmitedForm,\r\n\tisNewForm,\r\n\tonChangeIsContinueRadio,\r\n\tcontinueFormSubmittedType,\r\n\t// Step 2 Upload File\r\n\texcelFile,\r\n\tsetExcelFile,\r\n\texcelFileShow,\r\n\tsetExcelFileShow,\r\n\t// Step 3 Additional Files\r\n\tmobileFiles,\r\n\tonInputAdditionalFile,\r\n\tonDeleteAdditionalFile,\r\n\t// Step 4 Validation\r\n\tinvalidDataSetRecords,\r\n\tinvalidAnswers,\r\n\tonInputValidationReason,\r\n\tinvalidInputMethod,\r\n\tonChangeInvalidaInputMethod,\r\n\topenAskingValidationModal,\r\n\tonOpenAskingValidationModal,\r\n\tonCloseAskingValidationModal,\r\n\tonAskInvalidInputMethod,\r\n\tcurrentValiationQuestionNumber,\r\n\topenFillingModal,\r\n\tcurrentSelectedItem,\r\n\tonCloseFillingModal,\r\n}) {\r\n\treturn (\r\n\t\t<>\r\n\t\t\t{step === 0 && (\r\n\t\t\t\t\r\n\t\t\t)}\r\n\r\n\t\t\t{step === 1 && (\r\n\t\t\t\t\r\n\t\t\t)}\r\n\r\n\t\t\t{hasMobile && step === 2 && (\r\n\t\t\t\t\r\n\t\t\t)}\r\n\r\n\t\t\t{((step === 3 && hasMobile) || (step === 2 && !hasMobile)) && (\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t\r\n\t)\r\n}\r\n","import { forwardRef, useRef } from 'react'\r\nimport {\r\n\tGrid,\r\n\tDialog,\r\n\tDialogContent,\r\n\tDialogContentText,\r\n\tDialogActions,\r\n\tSlide,\r\n\tButton,\r\n\tuseMediaQuery,\r\n} from '@material-ui/core'\r\nimport { useTheme } from '@material-ui/core/styles'\r\n\r\nimport Cancel from '../../../../assets/images/cancel.png'\r\n\r\nexport default function EmptyFileModal({ open, handleButton }) {\r\n\tconst theme = useTheme()\r\n\tconst fullScreen = useMediaQuery(theme.breakpoints.down('sm'))\r\n\tconst descriptionElementRef = useRef(null)\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tไฟล์ที่คุณอัพโหลดมีข้อผิดพลาด โปรดตรวจสอบใหม่อีกครั้ง\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tตกลง\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n\r\nconst Transition = forwardRef(function Transtition(props, ref) {\r\n\treturn \r\n})\r\n","import React, { useState, useEffect, useCallback, useMemo } from 'react'\r\nimport {\r\n\tGrid,\r\n\tTypography,\r\n\tStep,\r\n\tStepper,\r\n\tStepConnector,\r\n\tStepLabel,\r\n\tButton,\r\n} from '@material-ui/core'\r\nimport {\r\n\tDescription,\r\n\tSpellcheck,\r\n\tSend,\r\n\tCheck,\r\n\tHighlightOff,\r\n\tSendOutlined,\r\n} from '@material-ui/icons'\r\n\r\nimport { convertNumber } from 'utils/convertExcelNumber'\r\nimport clsx from 'clsx'\r\nimport PropTypes from 'prop-types'\r\nimport moment from 'moment'\r\n\r\nimport SendingStandardReportModalSuccess from '../../../components/users/standard-report/success-modal'\r\nimport SendingStandardReportModalFailed from '../../../components/users/standard-report/failed-modal'\r\nimport SureModal from '../../../components/SureModal'\r\nimport StepContent from '../../../components/users/standard-report/index'\r\nimport EmptyFileModal from '../../../components/users/standard-report/empty-file-modal'\r\n\r\nimport Swal from 'sweetalert2/dist/sweetalert2.js'\r\nimport 'sweetalert2/dist/sweetalert2.min.css'\r\n\r\n\r\nimport { makeStyles, withStyles } from '@material-ui/core/styles'\r\nimport { useStoreState } from '../../../store'\r\nimport { form, datasetRecord } from '../../../api/index'\r\nimport { useHistory } from 'react-router-dom'\r\nimport { fixed_general_details } from '../../../data/standard-reportV2/fixed-general'\r\nimport { fixed_info_details } from '../../../data/standard-reportV2/fixed-info'\r\nimport { fixed_sound_details } from '../../../data/standard-reportV2/fixed-sound'\r\nimport { mobile_general_details } from '../../../data/standard-reportV2/mobile-general'\r\nimport { mobile_info_details } from '../../../data/standard-reportV2/mobile-info'\r\nimport { mobile_sound_details } from '../../../data/standard-reportV2/mobile-sound'\r\nimport { mobile_additional_files } from '../../../data/standard-reportV2/ui/mobile-additional-files'\r\n\r\nconst nonFloatDataSetItemIDs = [\r\n\t337,\r\n\t338,\r\n\t339,\r\n\t340,\r\n\t341,\r\n\t342,\r\n\t343,\r\n];\r\nconst useStyles = makeStyles(theme => ({\r\n\troot: {\r\n\t\twidth: '100%',\r\n\t},\r\n\tbutton: {\r\n\t\tmarginRight: theme.spacing(1),\r\n\t},\r\n\tinstructions: {\r\n\t\tmarginTop: theme.spacing(1),\r\n\t\tmarginBottom: theme.spacing(1),\r\n\t},\r\n\tnon_approve_button: {\r\n\t\tbackgroundColor: '#c33939',\r\n\t\tcolor: 'white',\r\n\t\t'&:hover': {\r\n\t\t\tbackgroundColor: '#a33e3e',\r\n\t\t},\r\n\t},\r\n}))\r\n\r\nconst Connector = withStyles({\r\n\talternativeLabel: {\r\n\t\ttop: 22,\r\n\t},\r\n\tactive: {\r\n\t\t'& $line': {\r\n\t\t\tbackgroundColor: '#a74345',\r\n\t\t},\r\n\t},\r\n\tcompleted: {\r\n\t\t'& $line': {\r\n\t\t\tbackgroundColor: '#a74345',\r\n\t\t},\r\n\t},\r\n\tline: {\r\n\t\theight: 3,\r\n\t\tborder: 0,\r\n\t\tbackgroundColor: '#eaeaf0',\r\n\t\tborderRadius: 1,\r\n\t},\r\n})(StepConnector)\r\n\r\nconst useStepStyles = makeStyles({\r\n\troot: {\r\n\t\tbackgroundColor: '#ccc',\r\n\t\tzIndex: 1,\r\n\t\tcolor: '#fff',\r\n\t\twidth: 50,\r\n\t\theight: 50,\r\n\t\tdisplay: 'flex',\r\n\t\tborderRadius: '50%',\r\n\t\tjustifyContent: 'center',\r\n\t\talignItems: 'center',\r\n\t},\r\n\tactive: {\r\n\t\tbackgroundColor: '#a74345',\r\n\t\tboxShadow: '0 4px 10px 0 rgba(0,0,0,.25)',\r\n\t},\r\n\tcompleted: {\r\n\t\tbackgroundColor: '#a74345',\r\n\t},\r\n})\r\n\r\nfunction getSteps() {\r\n\treturn [\r\n\t\t'รูปแบบการส่งรายงาน',\r\n\t\t'บันทึกข้อมูล',\r\n\t\t'หัวข้อที่ไม่ผ่านเกณฑ์และส่งรายงาน',\r\n\t]\r\n}\r\n\r\nfunction getStepsWithMobile() {\r\n\treturn [\r\n\t\t'รูปแบบการส่งรายงาน',\r\n\t\t'บันทึกข้อมูล',\r\n\t\t'แนบไฟล์เพิ่มเติมสำหรับรายงานมาตรฐานแบบเคลื่อนที่',\r\n\t\t'หัวข้อที่ไม่ผ่านเกณฑ์และส่งรายงาน',\r\n\t]\r\n}\r\n\r\nconst StandardReport = () => {\r\n\tconst classes = useStyles()\r\n\tconst history = useHistory()\r\n\tconst steps = getSteps()\r\n\tconst stepsMobile = getStepsWithMobile()\r\n\tconst [activeStep, setActiveStep] = useState(0)\r\n\tconst userOperatorProfile = useStoreState(\r\n\t\ts => s.userModel.userOperatorProfile\r\n\t)\r\n\tconst [hasMounted, setHasMounted] = useState(false)\r\n\tconst [loading, setLoading] = useState(false)\r\n\r\n\t// Types of Required Filled Standard Report Form\r\n\tconst [hasMobile, setHasMobile] = useState(false)\r\n\tconst [needToFillFormType, setNeedToFillFormType] = useState([\r\n\t\t'fixed-general',\r\n\t\t'fixed-sound',\r\n\t\t'fixed-info',\r\n\t\t'mobile-general',\r\n\t\t'mobile-sound',\r\n\t\t'mobile-info',\r\n\t])\r\n\t// Amount of Required Filled Standard Report Form\r\n\tconst [filledFormAmount, setFilledFormAmount] = useState(0)\r\n\t// Current Page of Required Filled Standard Report Form\r\n\tconst [currentFilledFormIndex, setCurrentFilledFormIndex] = useState(0)\r\n\t// Report Method State\r\n\tconst [reportMethod, setReportMethod] = useState('web-form')\r\n\tconst [fixedReportType, setFixedReportType] = useState(false)\r\n\tconst [mobileReportType, setMobileReportType] = useState(false)\r\n\t// Standard Report Form Answers\r\n\tconst [fixedGeneralAnswers, setFixedGeneralAnswers] = useState([])\r\n\tconst [fixedInfoAnswers, setFixedInfoAnswers] = useState([])\r\n\tconst [fixedSoundAnswers, setFixedSoundAnswers] = useState([])\r\n\tconst [mobileGeneralAnswers, setMobileGeneralAnswers] = useState([])\r\n\tconst [mobileInfoAnswers, setMobileInfoAnswers] = useState([])\r\n\tconst [mobileSoundAnswers, setMobileSoundAnswers] = useState([])\r\n\t// Standard Report Submiting Modal Status\r\n\tconst [openStandardReportSuccessModal, setOpenStandardReportSuccessModal] =\r\n\t\tuseState(false)\r\n\tconst [openStandardReportFailedModal, setOpenStandardReportFailedModal] =\r\n\t\tuseState(false)\r\n\tconst [sendingFailedMessage, setSendingFailedMessage] = useState('')\r\n\t// Sure Modal\r\n\tconst [\r\n\t\topenSubmitStandardReportSureModal,\r\n\t\tsetOpenSubmitStandardReportSureModal,\r\n\t] = useState(false)\r\n\t// Standard Report Excel File\r\n\tconst [excelFile, setExcelFile] = useState(null)\r\n\tconst [excelFileShow, setExcelFileShow] = useState('')\r\n\t// Mobile Report Additional Files\r\n\tconst [mobileFiles, setMobileFiles] = useState({})\r\n\r\n\t// Upload Excel Status\r\n\tconst [uploadExcelStatus, setUploadExcelStatus] = useState(null)\r\n\r\n\t// Has Ever Submit Form Status\r\n\tconst [hasEverSubmitedForm, setHasEverSubmitedForm] = useState(false)\r\n\t// Continue Form Submitted ID\r\n\tconst [continueFormSubmittedID, setContinueFormSubmittedID] = useState(null)\r\n\t// Continue Form Submmited Type\r\n\tconst [continueFormSubmittedType, setContinueFormSubmittedType] = useState({\r\n\t\tisFixed: false,\r\n\t\tisMobile: false,\r\n\t})\r\n\t// Is continue From Submitted Form\r\n\tconst [isNewForm, setIsNewForm] = useState('y')\r\n\t// Form Flags\r\n\tconst [flags, setFlags] = useState({\r\n\t\t'2G': false,\r\n\t\tNVMO: false,\r\n\t\tpayphone: false,\r\n\t})\r\n\t// Invalid Data Set Records\r\n\tconst [invalidDataSetRecords, setInvalidDataSetRecords] = useState([])\r\n\tconst [invalidAnswers, setInvalidAnswers] = useState([])\r\n\t// Invalid Input Method\r\n\tconst [invalidInputMethod, setInvalidInputMethod] = useState('message')\r\n\t// Open Asking Validation Modal\r\n\tconst [openAskingValidationModal, setOpenAskingValidationModal] =\r\n\t\tuseState(false)\r\n\t// Current Validation Question Number\r\n\tconst [currentValiationQuestionNumber, setCurrentValidationQuestionNumber] =\r\n\t\tuseState('')\r\n\t// Current Selected Validation\r\n\tconst [currentSelectedItem, setCurrentSelectedItem] = useState({\r\n\t\tid: '',\r\n\t\tquestion_number: '',\r\n\t\tlabel: '',\r\n\t\terrors: '',\r\n\t\tinputMethod: '',\r\n\t\tperiodSolution: null,\r\n\t})\r\n\t// Filling Modal\r\n\tconst [openFillingModal, setOpenFillingModal] = useState(false)\r\n\r\n\tconst { userOperatorProfile: userProfile } = useStoreState(s => s.userModel)\r\n\r\n\tconst isUseReport1_1_2 = useMemo(\r\n\t\t() => userProfile?.isUseReport1_1_2,\r\n\t\t[userProfile]\r\n\t)\r\n\r\n\t/** ---------------------------------------------- */\r\n\r\n\t/** Main Stepper Handle Function */\r\n\r\n\tconst handleNext = async () => {\r\n\t\t// Submit the form to approval\r\n\r\n\t\tif (\r\n\t\t\tactiveStep === (hasMobile ? stepsMobile.length - 1 : steps.length - 1)\r\n\t\t) {\r\n\t\t\tif (invalidDataSetRecords.length !== 0) {\r\n\t\t\t\tconst isPass = invalidAnswers.every(\r\n\t\t\t\t\titem =>\r\n\t\t\t\t\t\t(item.reason !== '' &&\r\n\t\t\t\t\t\t\titem.solution !== '' &&\r\n\t\t\t\t\t\t\titem.periodSolution !== null) ||\r\n\t\t\t\t\t\titem.file !== null\r\n\t\t\t\t)\r\n\r\n\t\t\t\tif (isPass) onOpenSubmitStandardReportSureModal()\r\n\t\t\t\telse alert('กรุณากรอกเหตุผลให้ครบถ้วน')\r\n\t\t\t} else if (invalidDataSetRecords.length === 0)\r\n\t\t\t\tonOpenSubmitStandardReportSureModal()\r\n\t\t} else if (activeStep === 2 && hasMobile) {\r\n\t\t\tsetActiveStep(prevActiveStep => prevActiveStep + 1)\r\n\t\t} else if (activeStep === 1 && reportMethod === 'upload') {\r\n\t\t\tuploadExcel()\r\n\t\t}\r\n\t\t// Saves the form and Validate the form then Shows a modal status\r\n\t\telse if (\r\n\t\t\tactiveStep === 1 &&\r\n\t\t\tcurrentFilledFormIndex === filledFormAmount - 1\r\n\t\t) {\r\n\t\t\tSubmitForm()\r\n\t\t}\r\n\t\t// Shows the next required filled standard report form\r\n\t\telse if (activeStep === 1 && currentFilledFormIndex < filledFormAmount - 1)\r\n\t\t\tonIncrementCurrentFilledFormIndex()\r\n\t\telse if (activeStep === 0 && isNewForm === 'n') {\r\n\t\t\tawait onLoadDataSetRecordToContinue()\r\n\t\t\tsetActiveStep(prevActiveStep => prevActiveStep + 1)\r\n\t\t} else if (activeStep !== steps.length - 1)\r\n\t\t\tsetActiveStep(prevActiveStep => prevActiveStep + 1)\r\n\t}\r\n\r\n\tconst handleBack = () => {\r\n\t\t// Shows the previous required filled standard report form\r\n\t\tif (activeStep === 1 && currentFilledFormIndex === 0) setActiveStep(0)\r\n\t\telse if (activeStep === 1 && currentFilledFormIndex <= filledFormAmount - 1)\r\n\t\t\tonDecrementCurrentFilledFormIndex()\r\n\t\t/**\r\n\t\t * General cases:\r\n\t\t * - Step 2 -> Step 1 (To first required standard report form)\r\n\t\t * - Step 3 -> Step 2 (To last required filled standard report form)\r\n\t\t */ else setActiveStep(prevActiveStep => prevActiveStep - 1)\r\n\t}\r\n\r\n\tfunction StepperIcon(props) {\r\n\t\tconst classes = useStepStyles()\r\n\t\tconst { active, completed } = props\r\n\r\n\t\tconst icons = {\r\n\t\t\t1: ,\r\n\t\t\t2: ,\r\n\t\t\t3: hasMobile ? : ,\r\n\t\t\t4: ,\r\n\t\t}\r\n\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t{completed ? : icons[String(props.icon)]}\r\n\t\t\t
\r\n\t\t)\r\n\t}\r\n\r\n\tStepperIcon.propTypes = {\r\n\t\tactive: PropTypes.bool,\r\n\t\tcompleted: PropTypes.bool,\r\n\t\ticon: PropTypes.node,\r\n\t}\r\n\r\n\t/** ---------------------------------------------- */\r\n\r\n\t// Open Standard Report Success Modal Handler\r\n\tconst onOpenStandardReportSuccessModal = () =>\r\n\t\tsetOpenStandardReportSuccessModal(!openStandardReportSuccessModal)\r\n\r\n\tconst onAgreeStandardReportSuccessModalCTA = () => {\r\n\t\tonOpenStandardReportSuccessModal()\r\n\t\thistory.go(0)\r\n\t}\r\n\r\n\t// Open Standard Report Failed Modal Handler\r\n\tconst onOpenStandardReportFailedModal = () => {\r\n\t\tsetOpenStandardReportFailedModal(!openStandardReportFailedModal)\r\n\t}\r\n\r\n\t/** ---------------------------------------------- */\r\n\r\n\t// Modal Empty File\r\n\tconst [openEmptyFileModal, setOpenEmptyFileModal] = useState(false)\r\n\r\n\tconst onOpenEmptyFileModal = () => setOpenEmptyFileModal(!openEmptyFileModal)\r\n\t// <-------------------------------------\r\n\r\n\t/** Step 1 */\r\n\r\n\tconst onChangeReportType = (type, checked) => {\r\n\t\tif (type === 1) setFixedReportType(checked)\r\n\t\telse if (type === 2) setMobileReportType(checked)\r\n\t}\r\n\r\n\tconst onChangeRadio = e => {\r\n\t\tsetReportMethod(e.target.value)\r\n\t}\r\n\r\n\tconst onChangeIsContinueRadio = e => {\r\n\t\tif (e.target.value === 'n') {\r\n\t\t\tsetFixedReportType(continueFormSubmittedType.isFixed)\r\n\t\t\tsetMobileReportType(continueFormSubmittedType.isMobile)\r\n\t\t}\r\n\r\n\t\tsetIsNewForm(e.target.value)\r\n\t}\r\n\r\n\tconst onLoadDataSetRecordToContinue = async () => {\r\n\t\tconst res = await datasetRecord.getlistdetails(continueFormSubmittedID)\r\n\t\tif (res) {\r\n\t\t\tconst tempFixedGeneralAnswers = []\r\n\t\t\tconst tempFixedSoundAnswers = []\r\n\t\t\tconst tempFixedInfoAnswers = []\r\n\t\t\tconst tempMobileGeneralAnswers = []\r\n\t\t\tconst tempMobileSoundAnswers = []\r\n\t\t\tconst tempMobileInfoAnswers = []\r\n\r\n\t\t\tres.data.forEach(item => {\r\n\t\t\t\tvar newitem = {};\r\n\t\t\t\tif (nonFloatDataSetItemIDs.includes(item.dataSetItemID)) {\r\n\t\t\t\t\tnewitem = {\r\n\t\t\t\t\t\tDataSetItemID: item.dataSetItemID,\r\n\t\t\t\t\t\tDataValueMonth1: item.dataValueMonth1\r\n\t\t\t\t\t\t\t? item.dataValueMonth1\r\n\t\t\t\t\t\t\t: '',\r\n\t\t\t\t\t\tDataValueMonth2: item.dataValueMonth2\r\n\t\t\t\t\t\t\t? item.dataValueMonth1\r\n\t\t\t\t\t\t\t: '',\r\n\t\t\t\t\t\tDataValueMonth3: item.dataValueMonth3\r\n\t\t\t\t\t\t\t? item.dataValueMonth3\r\n\t\t\t\t\t\t\t: '',\r\n\t\t\t\t\t\tDataValueMonthAvg: item.dataValueMonthAvg\r\n\t\t\t\t\t\t\t? item.dataValueMonthAvg\r\n\t\t\t\t\t\t\t: '',\r\n\t\t\t\t\t\tDataValueExtra: item.dataValueExtra\r\n\t\t\t\t\t\t\t? item.dataValueExtra\r\n\t\t\t\t\t\t\t: '',\r\n\t\t\t\t\t}\r\n\t\t\t\t} else {\r\n\t\t\t\t\tnewitem = {\r\n\t\t\t\t\t\tDataSetItemID: item.dataSetItemID,\r\n\t\t\t\t\t\tDataValueMonth1: item.dataValueMonth1\r\n\t\t\t\t\t\t\t? convertNumber(item.dataValueMonth1, true)\r\n\t\t\t\t\t\t\t: '',\r\n\t\t\t\t\t\tDataValueMonth2: item.dataValueMonth2\r\n\t\t\t\t\t\t\t? convertNumber(item.dataValueMonth2, true)\r\n\t\t\t\t\t\t\t: '',\r\n\t\t\t\t\t\tDataValueMonth3: item.dataValueMonth3\r\n\t\t\t\t\t\t\t? convertNumber(item.dataValueMonth3, true)\r\n\t\t\t\t\t\t\t: '',\r\n\t\t\t\t\t\tDataValueMonthAvg: item.dataValueMonthAvg\r\n\t\t\t\t\t\t\t? convertNumber(item.dataValueMonthAvg, true)\r\n\t\t\t\t\t\t\t: '',\r\n\t\t\t\t\t\tDataValueExtra: item.dataValueExtra\r\n\t\t\t\t\t\t\t? item.dataValueExtra\r\n\t\t\t\t\t\t\t: '',\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (item.dataSetItemID <= 10) tempFixedGeneralAnswers.push(newitem)\r\n\t\t\t\telse if (item.dataSetItemID <= 20) tempFixedSoundAnswers.push(newitem)\r\n\t\t\t\telse if (item.dataSetItemID <= 30) tempFixedInfoAnswers.push(newitem)\r\n\t\t\t\telse if (item.dataSetItemID <= 40)\r\n\t\t\t\t\ttempMobileGeneralAnswers.push(newitem)\r\n\t\t\t\telse if (item.dataSetItemID <= 200) tempMobileSoundAnswers.push(newitem)\r\n\t\t\t\telse if (item.dataSetItemID > 200) tempMobileInfoAnswers.push(newitem)\r\n\t\t\t})\r\n\r\n\t\t\tif (tempFixedGeneralAnswers.length !== 0)\r\n\t\t\t\tsetFixedGeneralAnswers(tempFixedGeneralAnswers)\r\n\t\t\tif (tempFixedInfoAnswers.length !== 0)\r\n\t\t\t\tsetFixedInfoAnswers(tempFixedInfoAnswers)\r\n\t\t\tif (tempFixedSoundAnswers.length !== 0)\r\n\t\t\t\tsetFixedSoundAnswers(tempFixedSoundAnswers)\r\n\t\t\tif (tempMobileGeneralAnswers.length !== 0)\r\n\t\t\t\tsetMobileGeneralAnswers(tempMobileGeneralAnswers)\r\n\t\t\tif (tempMobileInfoAnswers.length !== 0)\r\n\t\t\t\tsetMobileInfoAnswers(tempMobileInfoAnswers)\r\n\t\t\tif (tempMobileSoundAnswers.length !== 0)\r\n\t\t\t\tsetMobileSoundAnswers(tempMobileSoundAnswers)\r\n\t\t}\r\n\t}\r\n\r\n\t/** ---------------------------------------------- */\r\n\r\n\t/** Step 2 */\r\n\r\n\tconst onFillForm = (form_type, id, answer_type, value) => {\r\n\t\t// Check Input have only number and .\r\n\t\tvar pattern = /^[0-9.\\b]+$/\r\n\t\t// if id is in nonFloatDataSetItemIDs, then set pattern to free input\r\n\t\tif (nonFloatDataSetItemIDs.includes(id)) {\r\n\t\t\tpattern = /^.*$/\r\n\t\t}\r\n\t\tif (answer_type === 'dataValueExtra' || answer_type === 'DataValueExtra') {\r\n\t\t\tpattern = /^.*$/\r\n\t\t}\r\n\t\t// limit length to 10\r\n\t\tif (value.length > 15) {\r\n\t\t\treturn\r\n\t\t}\r\n\r\n\t\t// Sets new answers into answers state.\r\n\t\tif (pattern.test(value) || value === '') {\r\n\t\t\tif (form_type === 'fixed-general') {\r\n\t\t\t\tsetFixedGeneralAnswers(prevState => {\r\n\t\t\t\t\tconst newList = prevState.map((item, key) => {\r\n\t\t\t\t\t\tif (item.DataSetItemID === id) {\r\n\t\t\t\t\t\t\treturn { ...prevState[key], [answer_type]: value }\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\treturn item\r\n\t\t\t\t\t})\r\n\t\t\t\t\treturn newList\r\n\t\t\t\t})\r\n\t\t\t} else if (form_type === 'fixed-info') {\r\n\t\t\t\tsetFixedInfoAnswers(prevState => {\r\n\t\t\t\t\tconst newList = prevState.map((item, key) => {\r\n\t\t\t\t\t\tif (item.DataSetItemID === id) {\r\n\t\t\t\t\t\t\treturn { ...prevState[key], [answer_type]: value }\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\treturn item\r\n\t\t\t\t\t})\r\n\t\t\t\t\treturn newList\r\n\t\t\t\t})\r\n\t\t\t} else if (form_type === 'fixed-sound') {\r\n\t\t\t\tsetFixedSoundAnswers(prevState => {\r\n\t\t\t\t\tconst newList = prevState.map((item, key) => {\r\n\t\t\t\t\t\tif (item.DataSetItemID === id) {\r\n\t\t\t\t\t\t\treturn { ...prevState[key], [answer_type]: value }\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\treturn item\r\n\t\t\t\t\t})\r\n\t\t\t\t\treturn newList\r\n\t\t\t\t})\r\n\t\t\t} else if (form_type === 'mobile-general') {\r\n\t\t\t\tsetMobileGeneralAnswers(prevState => {\r\n\t\t\t\t\tconst newList = prevState.map((item, key) => {\r\n\t\t\t\t\t\tif (item.DataSetItemID === id) {\r\n\t\t\t\t\t\t\treturn { ...prevState[key], [answer_type]: value }\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\treturn item\r\n\t\t\t\t\t})\r\n\t\t\t\t\treturn newList\r\n\t\t\t\t})\r\n\t\t\t} else if (form_type === 'mobile-info') {\r\n\t\t\t\tsetMobileInfoAnswers(prevState => {\r\n\t\t\t\t\tconst newList = prevState.map((item, key) => {\r\n\t\t\t\t\t\tif (item.DataSetItemID === id) {\r\n\t\t\t\t\t\t\treturn { ...prevState[key], [answer_type]: value }\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\treturn item\r\n\t\t\t\t\t})\r\n\t\t\t\t\treturn newList\r\n\t\t\t\t})\r\n\t\t\t} else if (form_type === 'mobile-sound') {\r\n\t\t\t\tsetMobileSoundAnswers(prevState => {\r\n\t\t\t\t\tconst newList = prevState.map((item, key) => {\r\n\t\t\t\t\t\tif (item.DataSetItemID === id) {\r\n\t\t\t\t\t\t\treturn { ...prevState[key], [answer_type]: value }\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\treturn item\r\n\t\t\t\t\t})\r\n\t\t\t\t\treturn newList\r\n\t\t\t\t})\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tconst onChangeNeedToFillFormType = () => {\r\n\t\tif (!hasMounted) return\r\n\r\n\t\tconst temp = []\r\n\r\n\t\tif (fixedReportType) {\r\n\t\t\ttemp.push('fixed-general')\r\n\t\t\ttemp.push('fixed-sound')\r\n\t\t\ttemp.push('fixed-info')\r\n\t\t}\r\n\r\n\t\tif (mobileReportType) {\r\n\t\t\ttemp.push('mobile-general')\r\n\t\t\ttemp.push('mobile-sound')\r\n\t\t\ttemp.push('mobile-info')\r\n\t\t\tsetHasMobile(true)\r\n\t\t} else setHasMobile(false)\r\n\r\n\t\tsetNeedToFillFormType(temp)\r\n\t}\r\n\r\n\tconst onIncrementCurrentFilledFormIndex = () =>\r\n\t\tsetCurrentFilledFormIndex(currentFilledFormIndex + 1)\r\n\r\n\tconst onDecrementCurrentFilledFormIndex = () =>\r\n\t\tsetCurrentFilledFormIndex(currentFilledFormIndex - 1)\r\n\r\n\tconst SubmitForm = async () => {\r\n\t\tlet records = []\r\n\t\tsetLoading(true)\r\n\t\tneedToFillFormType.forEach(form_type => {\r\n\t\t\tif (form_type === 'fixed-general')\r\n\t\t\t\trecords = [...records, ...fixedGeneralAnswers]\r\n\t\t\tif (form_type === 'fixed-info')\r\n\t\t\t\trecords = [...records, ...fixedInfoAnswers]\r\n\t\t\tif (form_type === 'fixed-sound') {\r\n\t\t\t\tif (isUseReport1_1_2) {\r\n\t\t\t\t\trecords = [...records, ...fixedSoundAnswers]\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tif (form_type === 'mobile-general')\r\n\t\t\t\trecords = [...records, ...mobileGeneralAnswers]\r\n\t\t\tif (form_type === 'mobile-sound')\r\n\t\t\t\trecords = [...records, ...mobileSoundAnswers]\r\n\t\t\tif (form_type === 'mobile-info')\r\n\t\t\t\trecords = [...records, ...mobileInfoAnswers]\r\n\t\t})\r\n\r\n\t\tconst formTypes = []\r\n\r\n\t\tif (isNewForm === 'y') {\r\n\t\t\tif (mobileReportType) formTypes.push(1)\r\n\t\t\tif (fixedReportType) formTypes.push(2)\r\n\t\t} else {\r\n\t\t\tif (continueFormSubmittedType.isFixed) formTypes.push(2)\r\n\t\t\tif (continueFormSubmittedType.isMobile) formTypes.push(1)\r\n\t\t}\r\n\r\n\t\tconst res = await form.addRecord(records, isNewForm, formTypes)\r\n\r\n\t\tif (res?.data?.status === 'Incorrect') {\r\n\t\t\tconst tempInvalidDataSetRecords = res.data.validateResult.map(item => {\r\n\t\t\t\tconst question = [\r\n\t\t\t\t\t...fixed_general_details,\r\n\t\t\t\t\t...fixed_info_details,\r\n\t\t\t\t\t...fixed_sound_details,\r\n\t\t\t\t\t...mobile_general_details,\r\n\t\t\t\t\t...mobile_info_details,\r\n\t\t\t\t\t...mobile_sound_details,\r\n\t\t\t\t].find(q => q.id === item.dataSetItemID)\r\n\t\t\t\tlet label = question.label\r\n\r\n\t\t\t\tif (question.subLabel_2) {\r\n\t\t\t\t\tlabel = `${label} ${question.subLabel_1} (${question.subLabel_2})`\r\n\t\t\t\t} else if (question.subLabel_1) {\r\n\t\t\t\t\tlabel = `${label} ${question.subLabel_1}`\r\n\t\t\t\t}\r\n\r\n\t\t\t\treturn {\r\n\t\t\t\t\tid: question.id,\r\n\t\t\t\t\tquestion_number: question.no,\r\n\t\t\t\t\tlabel: label,\r\n\t\t\t\t\terrors: item.errors.toString(),\r\n\t\t\t\t\tinputMethod: 'message',\r\n\t\t\t\t}\r\n\t\t\t})\r\n\r\n\t\t\tconst tempInvalidAnswers = res.data.validateResult.map(item => {\r\n\t\t\t\treturn {\r\n\t\t\t\t\tid: item.dataSetItemID,\r\n\t\t\t\t\treason: '',\r\n\t\t\t\t\tsolution: '',\r\n\t\t\t\t\tperiodSolution: null,\r\n\t\t\t\t\tfile: null,\r\n\t\t\t\t\tdbID: item.id,\r\n\t\t\t\t\tinputMethod: 'message',\r\n\t\t\t\t}\r\n\t\t\t})\r\n\r\n\t\t\tsetInvalidDataSetRecords([...tempInvalidDataSetRecords])\r\n\t\t\tsetInvalidAnswers([...tempInvalidAnswers])\r\n\t\t}\r\n\t\tsetLoading(false)\r\n\t\tsetActiveStep(prev => prev + 1)\r\n\t}\r\n\r\n\t/** Step 2 Upload File */\r\n\tconst uploadExcel = async () => {\r\n\t\tsetLoading(true)\r\n\t\tconst resExcelFile = await form.excelUploading(excelFile, isNewForm)\r\n\t\tsetLoading(false)\r\n\r\n\t\t// Wrong format\r\n\t\tif (resExcelFile?.response?.status === 422) {\r\n\t\t\tsetUploadExcelStatus(false)\r\n\t\t} else {\r\n\t\t\t// Wrong answer. But correct format\r\n\t\t\tif (resExcelFile?.response?.status === 400) {\r\n\t\t\t\tconst tempInvalidDataSetRecords = resExcelFile.response.data.map(\r\n\t\t\t\t\titem => {\r\n\t\t\t\t\t\tconst question = [\r\n\t\t\t\t\t\t\t...fixed_general_details,\r\n\t\t\t\t\t\t\t...fixed_info_details,\r\n\t\t\t\t\t\t\t...fixed_sound_details,\r\n\t\t\t\t\t\t\t...mobile_general_details,\r\n\t\t\t\t\t\t\t...mobile_info_details,\r\n\t\t\t\t\t\t\t...mobile_sound_details,\r\n\t\t\t\t\t\t].find(q => q.id === item.dataSetItemID)\r\n\r\n\t\t\t\t\t\tlet label = question.label\r\n\r\n\t\t\t\t\t\tif (question.subLabel_2) {\r\n\t\t\t\t\t\t\tlabel = `${label} ${question.subLabel_1} (${question.subLabel_2})`\r\n\t\t\t\t\t\t} else if (question.subLabel_1) {\r\n\t\t\t\t\t\t\tlabel = `${label} ${question.subLabel_1}`\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\tid: question.id,\r\n\t\t\t\t\t\t\tquestion_number: question.no,\r\n\t\t\t\t\t\t\tlabel: label,\r\n\t\t\t\t\t\t\terrors: item.errors.toString(),\r\n\t\t\t\t\t\t\tinputMethod: 'message',\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t)\r\n\r\n\t\t\t\tconst tempInvalidAnswers = resExcelFile.response.data.map(item => {\r\n\t\t\t\t\treturn {\r\n\t\t\t\t\t\tid: item.dataSetItemID,\r\n\t\t\t\t\t\treason: '',\r\n\t\t\t\t\t\tsolution: '',\r\n\t\t\t\t\t\tperiodSolution: null,\r\n\t\t\t\t\t\tfile: null,\r\n\t\t\t\t\t\tdbID: item.id,\r\n\t\t\t\t\t\tinputMethod: 'message',\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\r\n\t\t\t\tsetInvalidDataSetRecords([...tempInvalidDataSetRecords])\r\n\t\t\t\tsetInvalidAnswers([...tempInvalidAnswers])\r\n\t\t\t}\r\n\r\n\t\t\tsetActiveStep(prev => prev + 1)\r\n\r\n\t\t\tsetUploadExcelStatus(true)\r\n\t\t}\r\n\t}\r\n\r\n\t/** ---------------------------------------------- */\r\n\r\n\t/** Step 3 */\r\n\r\n\tconst onOpenSubmitStandardReportSureModal = () => {\r\n\t\tsetOpenSubmitStandardReportSureModal(!openSubmitStandardReportSureModal)\r\n\t}\r\n\r\n\t/** ---------------------------------------------- */\r\n\r\n\tconst onInputAdditionalFile = (e, type) => {\r\n\t\tconst { files } = e.target\r\n\r\n\t\tif (files.length !== 0) {\r\n\t\t\tsetMobileFiles(prevState => ({\r\n\t\t\t\t...mobileFiles,\r\n\t\t\t\t[type]: [...prevState[type], files[0]],\r\n\t\t\t}))\r\n\t\t}\r\n\t}\r\n\r\n\tconst onDeleteAdditionalFile = (index, type) => {\r\n\t\tsetMobileFiles(prevState => {\r\n\t\t\tlet filesArr = prevState[type]\r\n\r\n\t\t\tconst tempList = filesArr.filter((_, idx) => idx !== index)\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...prevState,\r\n\t\t\t\t[type]: tempList,\r\n\t\t\t}\r\n\t\t})\r\n\t}\r\n\r\n\tconst uploadAdditionalFile = async () => {\r\n\t\tconst resCurrentHead = await datasetRecord.getCurrentHead()\r\n\r\n\t\tif (resCurrentHead && resCurrentHead?.status === 200) {\r\n\t\t\tconst res = await datasetRecord.uploadAdditionalFile(\r\n\t\t\t\tresCurrentHead.data.id,\r\n\t\t\t\tmobileFiles\r\n\t\t\t)\r\n\t\t\tif (res) {\r\n\t\t\t\tif (res.status === 200) {\r\n\t\t\t\t\tsetActiveStep(prevActiveStep => prevActiveStep + 1)\r\n\t\t\t\t} else if (res.status === 400) {\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\t/** ---------------------------------------------- */\r\n\r\n\t/** Step 4 */\r\n\r\n\tconst onInputValidationReason = (e, id, isPeriodSolution) => {\r\n\t\tif (isPeriodSolution) {\r\n\t\t\tsetInvalidAnswers(prevAnswers => {\r\n\t\t\t\tlet newAnswers = prevAnswers.find(ans => ans.id === id)\r\n\t\t\t\tnewAnswers['periodSolution'] = moment(e).format('yyyy-MM-DD')\r\n\t\t\t\tconst filtered = prevAnswers.filter(ans => ans.id !== id)\r\n\t\t\t\tfiltered.push(newAnswers)\r\n\r\n\t\t\t\treturn filtered\r\n\t\t\t})\r\n\t\t} else {\r\n\t\t\tconst { name, value, files } = e.target\r\n\r\n\t\t\tif (name === 'file') {\r\n\t\t\t\tsetInvalidAnswers(prevAnswers => {\r\n\t\t\t\t\tlet newAnswers = prevAnswers.find(ans => ans.id === id)\r\n\t\t\t\t\tnewAnswers['file'] = files[0]\r\n\r\n\t\t\t\t\tconst filtered = prevAnswers.filter(ans => ans.id !== id)\r\n\t\t\t\t\tfiltered.push(newAnswers)\r\n\r\n\t\t\t\t\treturn filtered\r\n\t\t\t\t})\r\n\t\t\t} else if (!isPeriodSolution) {\r\n\t\t\t\tsetInvalidAnswers(prevAnswers => {\r\n\t\t\t\t\tlet newAnswers = prevAnswers.find(ans => ans.id === id)\r\n\t\t\t\t\tnewAnswers[name] = value\r\n\r\n\t\t\t\t\tconst filtered = prevAnswers.filter(ans => ans.id !== id)\r\n\t\t\t\t\tfiltered.push(newAnswers)\r\n\r\n\t\t\t\t\treturn filtered\r\n\t\t\t\t})\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tconst onChangeInvalidaInputMethod = val => setInvalidInputMethod(val)\r\n\r\n\tconst onAskInvalidInputMethod = val => {\r\n\t\tsetInvalidAnswers(prevState => {\r\n\t\t\tconst invalid = invalidAnswers.find(\r\n\t\t\t\titem => item.id === currentSelectedItem.id\r\n\t\t\t)\r\n\t\t\tif (invalid) {\r\n\t\t\t\tinvalid['inputMethod'] = val\r\n\t\t\t}\r\n\r\n\t\t\tconst temp = prevState.filter(item => item.id !== currentSelectedItem.id)\r\n\t\t\ttemp.push(invalid)\r\n\t\t\tsetCurrentSelectedItem(invalid)\r\n\r\n\t\t\treturn temp\r\n\t\t})\r\n\t}\r\n\r\n\tconst onOpenAskingValidationModal = id => {\r\n\t\tconst question = invalidAnswers.find(item => item.id === id)\r\n\r\n\t\tsetCurrentSelectedItem(question)\r\n\t\tsetCurrentValidationQuestionNumber(id)\r\n\t\tsetOpenAskingValidationModal(true)\r\n\t\tsetOpenFillingModal(true)\r\n\t}\r\n\r\n\tconst onCloseAskingValidationModal = () => setOpenAskingValidationModal(false)\r\n\r\n\tconst onCloseFillingModal = () => setOpenFillingModal(false)\r\n\r\n\tconst onSubmitToApprove = async () => {\r\n\t\tconst resCurrentHead = await datasetRecord.getCurrentHead()\r\n\r\n\t\tif (resCurrentHead) {\r\n\t\t\tconst res = await datasetRecord.sendToApprove(\r\n\t\t\t\tresCurrentHead.data.id,\r\n\t\t\t\tinvalidAnswers\r\n\t\t\t)\r\n\t\t\tif (res) {\r\n\t\t\t\tonOpenSubmitStandardReportSureModal()\r\n\r\n\t\t\t\tif (res.status === 200) {\r\n\t\t\t\t\t// onOpenStandardReportSuccessModal()\r\n\t\t\t\t\tSwal.fire({\r\n\t\t\t\t\t\ttitle: 'ส่งข้อมูลสำเร็จ',\r\n\t\t\t\t\t\ttext: 'ท่านต้องการกรอกแบบประเมินความพึงพอใจหรือไม่?',\r\n\t\t\t\t\t\ticon: 'success',\r\n\t\t\t\t\t\tconfirmButtonText: 'ต้องการ',\r\n\t\t\t\t\t\tshowCancelButton: true,\r\n\t\t\t\t\t\tcancelButtonText: 'ไม่ต้องการ',\r\n\t\t\t\t\t}).then(result => {\r\n\t\t\t\t\t\tif (result.isConfirmed) {\r\n\t\t\t\t\t\t\twindow.open(\r\n\t\t\t\t\t\t\t\t'https://docs.google.com/forms/d/e/1FAIpQLSd3Kh9APHngJ16OWX9QbijN36-h_4YV9DxM59X8E8zetJf7Iw/viewform?usp=sf_link',\r\n\t\t\t\t\t\t\t\t'_blank'\r\n\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t})\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tsetSendingFailedMessage(res.data?.message ?? '')\r\n\t\t\t\t\tonOpenStandardReportFailedModal()\r\n\t\t\t\t}\r\n\t\t\t\t// fire swal that will show link to do survey from google from\r\n\r\n\r\n\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\t/** ---------------------------------------------- */\r\n\r\n\t/** Main Rendering */\r\n\r\n\tconst nextButtonGenerator = () => {\r\n\t\t// On last step\r\n\t\tif (loading) {\r\n\t\t\treturn 'กรุณารอสักครู่'\r\n\t\t} else if (\r\n\t\t\tactiveStep === (hasMobile ? stepsMobile.length - 1 : steps.length - 1)\r\n\t\t)\r\n\t\t\treturn 'ส่งไปยังผู้อนุมัติ'\r\n\t\t// General cases\r\n\t\telse return 'ขั้นตอนถัดไป'\r\n\t}\r\n\r\n\tconst buttonNextDisabled = useMemo(() => {\r\n\t\tif (activeStep === 2 && hasMobile) {\r\n\t\t\tlet hasFile = false\r\n\t\t\t// eslint-disable-next-line\r\n\t\t\tfor (const [key, value] of Object.entries(mobileFiles)) {\r\n\t\t\t\tif (value.length > 0) {\r\n\t\t\t\t\thasFile = true\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\t// const keys = Object.keys(mobileFiles)\r\n\t\t\t// const isDisable = keys.every(item => mobileFiles[item].length > 0)\r\n\r\n\t\t\treturn hasFile\r\n\t\t} else if (\r\n\t\t\tactiveStep === (hasMobile ? stepsMobile.length - 1 : steps.length - 1)\r\n\t\t) {\r\n\t\t\tconst isPass = invalidAnswers.some(item => {\r\n\t\t\t\treturn (\r\n\t\t\t\t\titem.reason === '' &&\r\n\t\t\t\t\titem.solution === '' &&\r\n\t\t\t\t\titem.periodSolution === '' &&\r\n\t\t\t\t\titem.file === null\r\n\t\t\t\t)\r\n\t\t\t})\r\n\r\n\t\t\treturn isPass && invalidAnswers.length !== 0\r\n\t\t}\r\n\t\t// When Input form and Method is Upload\r\n\t\telse if (activeStep === 1 && reportMethod === 'upload')\r\n\t\t\treturn excelFileShow === ''\r\n\t\t// When Input form and Method is WebForm\r\n\t\telse if (activeStep === 1 && reportMethod === 'web-form') return false\r\n\t\telse if (activeStep === 0 && isNewForm === 'n') return false\r\n\t\telse return !fixedReportType && !mobileReportType\r\n\t}, [\r\n\t\tactiveStep,\r\n\t\texcelFileShow,\r\n\t\tfixedReportType,\r\n\t\thasMobile,\r\n\t\tinvalidAnswers,\r\n\t\tisNewForm,\r\n\t\tmobileReportType,\r\n\t\tmobileFiles,\r\n\t\treportMethod,\r\n\t\tsteps.length,\r\n\t\tstepsMobile.length,\r\n\t])\r\n\r\n\tconst uploadAdditionalFileButtonDisabled = () => {\r\n\t\tif (activeStep === 2 && hasMobile) {\r\n\t\t\tconst keys = Object.keys(mobileFiles)\r\n\t\t\tconst isDisable = keys.every(item => mobileFiles[item].length === 0)\r\n\r\n\t\t\treturn isDisable\r\n\t\t}\r\n\t}\r\n\r\n\tconst onGenerateAnswer = useCallback(() => {\r\n\t\t/**\r\n\t\t * \tAnswer Object Example\r\n\t\t *\r\n\t\t * {\r\n\t\t * \tDataSetItemID: Integer,\r\n\t\t * DataValueMonth1: Float | Integer,\r\n\t\t * DataValueMonth2: Float | Integer,\r\n\t\t * DataValueMonth3: Float | Integer,\r\n\t\t * DataValueMonthAvg: Float | Integer\r\n\t\t * }\r\n\t\t *\r\n\t\t */\r\n\r\n\t\tneedToFillFormType.forEach(type => {\r\n\t\t\tif (type === 'fixed-general') {\r\n\t\t\t\tconst temp = fixed_general_details.map(item => {\r\n\t\t\t\t\treturn {\r\n\t\t\t\t\t\tDataSetItemID: item.id,\r\n\t\t\t\t\t\tDataValueMonth1: '',\r\n\t\t\t\t\t\tDataValueMonth2: '',\r\n\t\t\t\t\t\tDataValueMonth3: '',\r\n\t\t\t\t\t\tDataValueMonthAvg: '',\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t\tsetFixedGeneralAnswers(temp)\r\n\t\t\t} else if (type === 'fixed-info') {\r\n\t\t\t\tconst temp = fixed_info_details.map(item => {\r\n\t\t\t\t\treturn {\r\n\t\t\t\t\t\tDataSetItemID: item.id,\r\n\t\t\t\t\t\tDataValueMonth1: '',\r\n\t\t\t\t\t\tDataValueMonth2: '',\r\n\t\t\t\t\t\tDataValueMonth3: '',\r\n\t\t\t\t\t\tDataValueMonthAvg: '',\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t\tsetFixedInfoAnswers(temp)\r\n\t\t\t} else if (type === 'fixed-sound') {\r\n\t\t\t\tconst temp = fixed_sound_details.map(item => {\r\n\t\t\t\t\treturn {\r\n\t\t\t\t\t\tDataSetItemID: item.id,\r\n\t\t\t\t\t\tDataValueMonth1: '',\r\n\t\t\t\t\t\tDataValueMonth2: '',\r\n\t\t\t\t\t\tDataValueMonth3: '',\r\n\t\t\t\t\t\tDataValueMonthAvg: '',\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t\tsetFixedSoundAnswers(temp)\r\n\t\t\t} else if (type === 'mobile-general') {\r\n\t\t\t\tconst temp = mobile_general_details.map(item => {\r\n\t\t\t\t\treturn {\r\n\t\t\t\t\t\tDataSetItemID: item.id,\r\n\t\t\t\t\t\tDataValueMonth1: '',\r\n\t\t\t\t\t\tDataValueMonth2: '',\r\n\t\t\t\t\t\tDataValueMonth3: '',\r\n\t\t\t\t\t\tDataValueMonthAvg: '',\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t\tsetMobileGeneralAnswers(temp)\r\n\t\t\t} else if (type === 'mobile-info') {\r\n\t\t\t\tconst temp = mobile_info_details.map(item => {\r\n\t\t\t\t\treturn {\r\n\t\t\t\t\t\tDataSetItemID: item.id,\r\n\t\t\t\t\t\tDataValueMonth1: '',\r\n\t\t\t\t\t\tDataValueMonth2: '',\r\n\t\t\t\t\t\tDataValueMonth3: '',\r\n\t\t\t\t\t\tDataValueMonthAvg: '',\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t\tsetMobileInfoAnswers(temp)\r\n\t\t\t} else if (type === 'mobile-sound') {\r\n\t\t\t\tconst temp = mobile_sound_details.map(item => {\r\n\t\t\t\t\treturn {\r\n\t\t\t\t\t\tDataSetItemID: item.id,\r\n\t\t\t\t\t\tDataValueMonth1: '',\r\n\t\t\t\t\t\tDataValueMonth2: '',\r\n\t\t\t\t\t\tDataValueMonth3: '',\r\n\t\t\t\t\t\tDataValueMonthAvg: '',\r\n\t\t\t\t\t\tDataValueExtra: '',\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t\tsetMobileSoundAnswers(temp)\r\n\t\t\t}\r\n\t\t})\r\n\r\n\t\tsetFilledFormAmount(needToFillFormType.length)\r\n\t}, [needToFillFormType])\r\n\r\n\tconst onGetCurrentHead = async () => {\r\n\t\tlet twoG = false\r\n\t\tlet nvmo = false\r\n\t\tlet payphone = false\r\n\t\tconst res = await datasetRecord.getCurrentHead()\r\n\r\n\t\tif (res && res?.status === 200) {\r\n\t\t\tconst data = res.data\r\n\r\n\t\t\tif (data.dataSetReport.operator) {\r\n\t\t\t\t// 2G Checking\r\n\t\t\t\tif (data.dataSetReport.operator?.is2G === 'y') twoG = true\r\n\r\n\t\t\t\t// NVMO Checking\r\n\t\t\t\tif (data.dataSetReport.operator?.ownerNVOM === 'y') nvmo = true\r\n\r\n\t\t\t\t// Payphone Checking\r\n\t\t\t\tif (data.dataSetReport.operator?.isPayphone === 'y') payphone = true\r\n\r\n\t\t\t\tsetFlags({\r\n\t\t\t\t\t'2G': twoG,\r\n\t\t\t\t\tNVMO: nvmo,\r\n\t\t\t\t\tpayphone: payphone,\r\n\t\t\t\t})\r\n\t\t\t}\r\n\r\n\t\t\t// if (data.sendMethod > 1) setHasEverSubmitedForm(true)\r\n\t\t\tif (data.sendMethod !== null) setHasEverSubmitedForm(true)\r\n\r\n\t\t\tsetContinueFormSubmittedID(data.id)\r\n\r\n\t\t\tsetContinueFormSubmittedType({\r\n\t\t\t\tisFixed: data.isFixed === 'y',\r\n\t\t\t\tisMobile: data.isMobile === 'y',\r\n\t\t\t})\r\n\r\n\t\t\tsetHasMounted(true)\r\n\t\t}\r\n\t}\r\n\r\n\tuseEffect(\r\n\t\t() => onChangeNeedToFillFormType(),\r\n\t\t// eslint-disable-next-line\r\n\t\t[fixedReportType, mobileReportType, isNewForm]\r\n\t)\r\n\r\n\t// On Mounting the page\r\n\tuseEffect(() => {\r\n\t\tonGenerateAnswer()\r\n\t}, [onGenerateAnswer])\r\n\r\n\tuseEffect(() => {\r\n\t\tonGetCurrentHead()\r\n\t\t// Swal.fire({\r\n\t\t// \ttitle: 'ส่งข้อมูลสำเร็จ',\r\n\t\t// \ttext: 'ท่านต้องการกรอกแบบสำรวจหรือไม่?',\r\n\t\t// \ticon: 'success',\r\n\t\t// \tconfirmButtonText: 'ต้องการ',\r\n\t\t// \tshowCancelButton: true,\r\n\t\t// \tcancelButtonText: 'ไม่ต้องการ',\r\n\t\t// }).then(result => {\r\n\t\t// \tif (result.isConfirmed) {\r\n\t\t// \t\twindow.open(\r\n\t\t// \t\t\t'https://docs.google.com/forms/d/e/1FAIpQLSd3Kh9APHngJ16OWX9QbijN36-h_4YV9DxM59X8E8zetJf7Iw/viewform?usp=sf_link',\r\n\t\t// \t\t\t'_blank'\r\n\t\t// \t\t)\r\n\t\t// \t}\r\n\t\t// })\r\n\t}, [])\r\n\r\n\tuseEffect(() => {\r\n\t\tconst obj = {}\r\n\r\n\t\tmobile_additional_files.forEach(item => {\r\n\t\t\tobj[item.key] = []\r\n\t\t})\r\n\r\n\t\tsetMobileFiles(obj)\r\n\t}, [])\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t}>\r\n\t\t\t\t\t\t{hasMobile && activeStep > 0\r\n\t\t\t\t\t\t\t? stepsMobile.map(label => (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{label}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t))\r\n\t\t\t\t\t\t\t: steps.map(label => (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{label}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{activeStep === (hasMobile ? stepsMobile.length : steps.length) ? (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tAll steps completed - you're finished\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\tย้อนกลับ\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{hasMobile && activeStep === 2 && (\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\tบันทึกเอกสารแนบ\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{nextButtonGenerator()}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t\r\n\r\n\t\t\t{/* Upload Excel Failed Status Modal */}\r\n\t\t\t {\r\n\t\t\t\t\tsetUploadExcelStatus(null)\r\n\t\t\t\t}}\r\n\t\t\t/>\r\n\r\n\t\t\t\r\n\t\t\t\t}\r\n\t\t\t\topen={openSubmitStandardReportSureModal}\r\n\t\t\t\tonClose={onOpenSubmitStandardReportSureModal}\r\n\t\t\t\thandleCancel={onOpenSubmitStandardReportSureModal}\r\n\t\t\t\thandleButton={onSubmitToApprove}\r\n\t\t\t/>\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n\r\nexport default StandardReport\r\n","export const GRAY_ACCORDION = '#EEEEF0'\r\nexport const BLUE_ACCORDION = '#ccc'\r\nexport const ALT_2 = '#edf7fe'\r\nexport const ALT_3 = '#e2efd9'\r\n","import React, { useEffect, useState } from 'react'\r\nimport {\r\n\tGrid,\r\n\tAccordion,\r\n\tAccordionSummary,\r\n\tAccordionDetails,\r\n\tButton,\r\n\tuseMediaQuery,\r\n\tCard,\r\n\tTab,\r\n\tTabs,\r\n} from '@material-ui/core/'\r\nimport {\r\n\tExpandMore,\r\n\tDescriptionOutlined,\r\n\tCalendarToday,\r\n\tInsertDriveFileOutlined,\r\n\tCancel,\r\n} from '@material-ui/icons'\r\nimport { styled } from '@material-ui/styles'\r\nimport { dataSetReports, operators, datasetRecord } from '../../../api/'\r\nimport { useLoaded } from '../../../utils/useLoaded'\r\nimport { useStoreRehydrated } from '../../../store'\r\nimport SuccessModal from '../../../components/modal/SuccessModal'\r\nimport {\r\n\tBLUE_ACCORDION,\r\n\tGRAY_ACCORDION,\r\n} from '../../../config/constants/accordion-color'\r\n\r\nconst StyledTabs = styled(props => (\r\n\t }}\r\n\t/>\r\n))({\r\n\t'& .MuiTabs-indicator': {\r\n\t\tdisplay: 'hidden',\r\n\t\tjustifyContent: 'center',\r\n\t\tbackgroundColor: 'transparent',\r\n\t},\r\n})\r\n\r\nconst StyledTab = styled(props => )(\r\n\t({ theme }) => ({\r\n\t\ttextTransform: 'none',\r\n\t\tfontWeight: theme.typography.fontWeightRegular,\r\n\t\tfontSize: theme.typography.pxToRem(15),\r\n\t\tmarginRight: theme.spacing(1),\r\n\t\tcolor: 'black',\r\n\t\t'&.Mui-selected': {\r\n\t\t\tcolor: '#fff',\r\n\t\t\tbackgroundColor: '#a74345', // Pig Blood Red\r\n\t\t},\r\n\t})\r\n)\r\n\r\nconst StandardReportHistory = () => {\r\n\tconst isRehydrated = useStoreRehydrated()\r\n\tconst loaded = useLoaded()\r\n\tconst quarters = ['ไตรมาสที่ 1', 'ไตรมาสที่ 2', 'ไตรมาสที่ 3', 'ไตรมาสที่ 4']\r\n\tconst [quarterNow, setQuarterNow] = useState('')\r\n\tconst [yearPanel, setYearPanel] = useState('')\r\n\tconst [quarterPanel, setQuarterPanel] = useState('')\r\n\tconst onChangeYearPanel = panel => (event, newExpanded) => {\r\n\t\tsetYearPanel(newExpanded ? panel : false)\r\n\t}\r\n\tconst onChangeQuarterPanel = panel => (event, newExpanded) => {\r\n\t\tsetQuarterPanel(newExpanded ? panel : false)\r\n\t}\r\n\tconst [organizationData, setOrganizationData] = useState(null)\r\n\tconst isNotTablet = useMediaQuery('(min-width:768px)')\r\n\r\n\tconst [report, setReport] = useState({})\r\n\tconst [isOpenSuccessModal, setIsOpenSuccessModal] = useState(false)\r\n\r\n\tconst [tabController, setTabController] = useState(0)\r\n\tconst onTabChange = (event, newValue) => {\r\n\t\tsetTabController(newValue)\r\n\t}\r\n\r\n\tconst getDataSetReports = async () => {\r\n\t\tconst res = await dataSetReports.getDatasetReports()\r\n\t\tconst quarterData = res.data\r\n\t\tlet yearListsTemp = {}\r\n\t\tfor (const data of quarterData) {\r\n\t\t\tlet year = data.year\r\n\t\t\tif (!yearListsTemp[year]) {\r\n\t\t\t\tyearListsTemp = { ...yearListsTemp, [year]: [] }\r\n\t\t\t}\r\n\t\t\tyearListsTemp[year].push({\r\n\t\t\t\tquarter: data.quarter,\r\n\t\t\t\tdataSetRecordHeads: data.dataSetRecordHeads,\r\n\t\t\t})\r\n\t\t}\r\n\r\n\t\tsetReport(yearListsTemp)\r\n\t}\r\n\r\n\tconst handleDownloadExcel = async id => {\r\n\t\tconst res = await datasetRecord.downloadExcel(id)\r\n\t\tif (res && res.status === 200 && res.data) {\r\n\t\t\tlet blob = new Blob([res.data], { type: '' })\r\n\t\t\tlet link = document.createElement('a')\r\n\t\t\tlink.href = window.URL.createObjectURL(blob)\r\n\t\t\tlink.setAttribute('download', 'exportData.xlsx')\r\n\t\t\tdocument.body.appendChild(link)\r\n\t\t\tlink.click()\r\n\t\t\tdocument.body.removeChild(link)\r\n\t\t} else {\r\n\t\t\talert('ไม่สามาถดาวน์โหลดไฟล์ได้')\r\n\t\t}\r\n\t}\r\n\r\n\tconst onHeadDelete = async reportID => {\r\n\t\tconst res = await dataSetReports.deleteReport(reportID)\r\n\t\tif (res && res?.status === 200) {\r\n\t\t\tsetIsOpenSuccessModal(true)\r\n\t\t\tgetDataSetReports()\r\n\t\t}\r\n\t}\r\n\r\n\tconst getOrganizationData = async () => {\r\n\t\tconst res = await operators.getOrganizationData()\r\n\t\tconst status = res.status\r\n\t\tconst data = res.data\r\n\t\tif (status === 200) {\r\n\t\t\tsetOrganizationData(data)\r\n\t\t}\r\n\t}\r\n\r\n\tuseEffect(() => {\r\n\t\tif (organizationData) {\r\n\t\t\tgetDataSetReports()\r\n\t\t}\r\n\t}, [organizationData])\r\n\tuseEffect(() => {\r\n\t\tif (isRehydrated) getOrganizationData()\r\n\t}, [isRehydrated])\r\n\r\n\tuseEffect(() => {\r\n\t\tlet dateNow = new Date()\r\n\t\tlet yearNow = dateNow.getFullYear()\r\n\t\tlet quarterNow = ((dateNow.getMonth() + 1) / 3).toString()\r\n\t\tsetQuarterNow('y' + yearNow + 'm' + quarterNow)\r\n\t\tsetYearPanel(yearNow)\r\n\t\tsetQuarterPanel('y' + yearNow + 'm' + quarterNow)\r\n\r\n\t\t// let panelMonthNow = 'panelMonth' + quarterNow\r\n\t}, [])\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t{/* \r\n\t\t\t\t\t */}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t{loaded && tabController === 0 && (\r\n\t\t\t\t\t<>\r\n\t\t\t\t\t\t{!isNotTablet ? (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{Object.entries(report).map(([year, yearData]) => (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\taria-controls={`${year}`}\r\n\t\t\t\t\t\t\t\t\t\t\tid={`${year}`}>\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t{`ปี พ.ศ. ${year + 543}`}\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{yearData.length > 0 &&\r\n\t\t\t\t\t\t\t\t\t\t\t\tyearData.map(quarterData => (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\taria-controls={`y${year}m${quarterData.quarter}`}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tid={`y${year}m${quarterData.quarter}`}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tstyle={{\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tbackgroundColor:\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tquarterPanel ===\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t`y${year}m${quarterData.quarter}`\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? BLUE_ACCORDION\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: GRAY_ACCORDION,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{quarters[quarterData.quarter - 1]} \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{quarterNow ===\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t`y${year}m${quarterData.quarter}`\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? '(ปัจจุบัน)'\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: ''}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{/* onHeadDelete(reportID)}>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tยกเลิกรายงาน\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t */}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{quarterData &&\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tquarterData.dataSetRecordHeads &&\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tquarterData.dataSetRecordHeads.map(e => (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{e.isFixed === 'y' && e.isMobile === 'y'\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? 'ชุดข้อมูลแบบเคลื่อนที่และประจำที่'\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: ''}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{e.isFixed === 'y' && e.isMobile === 'n'\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? 'ชุดข้อมูลแบบประจำที่'\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: ''}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{e.isFixed === 'n' && e.isMobile === 'y'\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? 'ชุดข้อมูลแบบเคลื่อนที่'\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: ''}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\thandleDownloadExcel(e.id)\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName={`w-full`}>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tรายงาน\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tใบรับรายงาน\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{Object.entries(report).map(([year, yearData]) => (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\taria-controls={`${year}`}\r\n\t\t\t\t\t\t\t\t\t\t\tid={`${year}`}>\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t{`ปี พ.ศ. ${parseInt(year) + 543}`}\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{yearData.length > 0 &&\r\n\t\t\t\t\t\t\t\t\t\t\t\tyearData.map(quarterData => (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\taria-controls={`y${year}m${quarterData.quarter}`}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tid={`y${year}m${quarterData.quarter}`}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tstyle={{\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tbackgroundColor:\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tquarterPanel ===\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t`y${year}m${quarterData.quarter}`\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? BLUE_ACCORDION\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: GRAY_ACCORDION,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{quarters[quarterData.quarter - 1]} \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{quarterNow ===\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t`y${year}m${quarterData.quarter}`\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? '(ปัจจุบัน)'\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: ''}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{quarterData &&\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tquarterData.dataSetRecordHeads &&\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tquarterData.dataSetRecordHeads.map(e => {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tif (e.isFixed == null && e.isMobile == null)\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\treturn;\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{e.isFixed === 'y' &&\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\te.isMobile === 'y'\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? 'ชุดข้อมูลแบบเคลื่อนที่และประจำที่'\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: ''}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{e.isFixed === 'y' &&\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\te.isMobile === 'n'\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? 'ชุดข้อมูลแบบประจำที่'\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: ''}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{e.isFixed === 'n' &&\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\te.isMobile === 'y'\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? 'ชุดข้อมูลแบบเคลื่อนที่'\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: ''}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tJson Report\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\thandleDownloadExcel(e.id)\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName={`w-full`}>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tรายงาน\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t onHeadDelete(e.id)}>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tยกเลิกรายงาน\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tใบรับรายงาน\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t\t{tabController === 1 && เมนู 2}\r\n\t\t\t\t{tabController === 2 && เมนู 3}\r\n\t\t\t\r\n\t\t\t setIsOpenSuccessModal(false)}\r\n\t\t\t/>\r\n\t\t\r\n\t)\r\n}\r\n\r\nexport default StandardReportHistory\r\n","import { forwardRef, useRef, useEffect } from 'react'\r\nimport {\r\n\tDialog,\r\n\tDialogTitle,\r\n\tDialogContent,\r\n\tDialogActions,\r\n\tGrid,\r\n\tIconButton,\r\n\tSlide,\r\n\tuseMediaQuery,\r\n\tButton,\r\n\tFormControlLabel,\r\n\tRadio,\r\n\tRadioGroup,\r\n} from '@material-ui/core'\r\nimport { Close } from '@material-ui/icons'\r\n\r\nimport { useTheme } from '@material-ui/core/styles'\r\n\r\nexport function ChangeStatusModal({\r\n\thandleCloseDialog,\r\n\tstatusDialogOpen,\r\n\tname,\r\n\tstatusLabelTemp,\r\n\tonChangeStatusTemp,\r\n\thandleStatusTempChange,\r\n}) {\r\n\tconst theme = useTheme()\r\n\tconst fullScreen = useMediaQuery(theme.breakpoints.down('sm'))\r\n\tconst descriptionElementRef = useRef(null)\r\n\r\n\tuseEffect(() => {\r\n\t\tif (statusDialogOpen) {\r\n\t\t\tconst { current: descriptionElement } = descriptionElementRef\r\n\t\t\tif (descriptionElement !== null) {\r\n\t\t\t\tdescriptionElement.focus()\r\n\t\t\t}\r\n\t\t}\r\n\t}, [statusDialogOpen])\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tเปลี่ยนสถานะรายงานของ {name}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t onChangeStatusTemp(e)}\r\n\t\t\t\t\t\tname=\"radio-buttons-group\">\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tlabel=\"รอการตรวจสอบจากผู้อนุมัติ\"\r\n\t\t\t\t\t\t\tclassName=\"bg-gray-100 w-full py-2 my-1\"\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tlabel=\"ตรวจสอบแล้ว\"\r\n\t\t\t\t\t\t\tclassName=\"bg-gray-100 w-full py-2 my-1\"\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tlabel=\"รับรายงาน\"\r\n\t\t\t\t\t\t\tclassName=\"bg-gray-100 w-full py-2 my-1\"\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tบันทึก\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n\r\nconst Transition = forwardRef(function Transtition(props, ref) {\r\n\treturn \r\n})\r\n","import { forwardRef, useRef } from 'react'\r\nimport {\r\n\tGrid,\r\n\tDialog,\r\n\tDialogContent,\r\n\tDialogContentText,\r\n\tDialogActions,\r\n\tSlide,\r\n\tButton,\r\n\tuseMediaQuery,\r\n} from '@material-ui/core'\r\nimport { useTheme } from '@material-ui/core/styles'\r\n\r\nimport Check from '../../../../assets/images/check.png'\r\n\r\nexport default function SendingStandardReportToAdminModalSuccess({\r\n\topen,\r\n\thandleButton,\r\n}) {\r\n\tconst theme = useTheme()\r\n\tconst fullScreen = useMediaQuery(theme.breakpoints.down('sm'))\r\n\tconst descriptionElementRef = useRef(null)\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tคุณได้ส่งรายงานมาตรฐานไปยัง
สำนักงานกสทช.สำเร็จ\r\n\t\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tตกลง\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n\r\nconst Transition = forwardRef(function Transtition(props, ref) {\r\n\treturn \r\n})\r\n","import { forwardRef, useRef } from 'react'\r\nimport {\r\n\tGrid,\r\n\tDialog,\r\n\tDialogContent,\r\n\tDialogContentText,\r\n\tDialogActions,\r\n\tSlide,\r\n\tButton,\r\n\tuseMediaQuery,\r\n} from '@material-ui/core'\r\nimport { useTheme } from '@material-ui/core/styles'\r\n\r\nimport Cancel from '../../../../assets/images/cancel.png'\r\n\r\nexport default function SendingStandardReportToAdminModalFailed({\r\n\topen,\r\n\thandleButton,\r\n\tmessage,\r\n}) {\r\n\tconst theme = useTheme()\r\n\tconst fullScreen = useMediaQuery(theme.breakpoints.down('sm'))\r\n\tconst descriptionElementRef = useRef(null)\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tคุณส่งรายงานมาตรฐานไปสำนักงาน กสทช. ไม่สำเร็จ โปรดรออีกครั้ง\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tตกลง\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n\r\nconst Transition = forwardRef(function Transtition(props, ref) {\r\n\treturn \r\n})\r\n","import {\r\n\tGrid,\r\n\t// TextField,\r\n\tIconButton,\r\n} from '@material-ui/core'\r\nimport { Delete } from '@material-ui/icons'\r\n\r\nexport default function File({ originalFileName, onDelete, index = 0 }) {\r\n\treturn (\r\n\t\t\r\n\t\t\t{originalFileName}\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n","import { forwardRef, useRef, useEffect } from 'react'\r\nimport {\r\n\tDialog,\r\n\tDialogTitle,\r\n\tDialogContent,\r\n\tDialogActions,\r\n\tGrid,\r\n\tIconButton,\r\n\tSlide,\r\n\tuseMediaQuery,\r\n\tButton,\r\n\tDivider,\r\n} from '@material-ui/core'\r\nimport { Close, SendOutlined } from '@material-ui/icons'\r\n\r\nimport File from './file'\r\nimport { useTheme } from '@material-ui/core/styles'\r\n\r\nexport default function SubmitModal({\r\n\tsubmitDialogOpen,\r\n\thandleCloseSubmitDialog,\r\n\thandleSubmitButton,\r\n\tadditionalFile,\r\n\tadditionalFiles = [],\r\n\ttempFile = {\r\n\t\tfile: null,\r\n\t\tname: '',\r\n\t},\r\n\tonAddTemp,\r\n\tonAddDocument,\r\n\tonDeleteDocument,\r\n\tonChangeAttachedFileName,\r\n}) {\r\n\tconst theme = useTheme()\r\n\tconst fullScreen = useMediaQuery(theme.breakpoints.down('sm'))\r\n\tconst descriptionElementRef = useRef(null)\r\n\r\n\tuseEffect(() => {\r\n\t\tif (submitDialogOpen) {\r\n\t\t\tconst { current: descriptionElement } = descriptionElementRef\r\n\t\t\tif (descriptionElement !== null) {\r\n\t\t\t\tdescriptionElement.focus()\r\n\t\t\t}\r\n\t\t}\r\n\t}, [submitDialogOpen])\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tยืนยันการส่งรายงานมาตรฐานคุณภาพไปยังสำนักงานกสทช\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{/* Files Section */}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{/* Heading */}\r\n\t\t\t\t\t\tเอกสารแนบใบนำส่ง\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t* อัพโหลดไฟล์ข้อมูลใน format .pdf เท่านั้น *\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tเลือกไฟล์\r\n\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\tonAddTemp(e, 'file')\r\n\t\t\t\t\t\t\t\t\t\te.currentTarget.value = ''\r\n\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{tempFile.file ? tempFile.file?.name : 'ยังไม่ได้เลือกไฟล์'}\r\n\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tแนบไฟล์\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t{/* Uploaded File */}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{additionalFile && (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tส่งรายงาน\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n\r\nconst Transition = forwardRef(function Transtition(props, ref) {\r\n\treturn \r\n})\r\n","import React, { useState, useEffect } from 'react'\r\n\r\nimport { Grid, Card, Button, useMediaQuery } from '@material-ui/core'\r\nimport { ListAlt, Menu, SendOutlined } from '@material-ui/icons'\r\nimport { DataGrid, GridOverlay } from '@material-ui/data-grid'\r\n\r\nimport { ChangeStatusModal } from '@components/users/standard-report-validation/change-status-modal'\r\n\r\nimport SendingStandardReportToAdminModalSuccess from '@components/users/standard-report-validation/send-to-admin-modal'\r\nimport SendingStandardReportToAdminModalFailed from '@components/users/standard-report-validation/send-to-admin-modal-failed'\r\nimport SureModal from '@components/SureModal'\r\nimport SubmitModal from '@components/users/standard-report-validation/submit-modal'\r\n\r\nimport { useHistory } from 'react-router-dom'\r\nimport { makeStyles } from '@material-ui/core/styles'\r\nimport { useTheme } from '@material-ui/core/styles'\r\nimport { useStoreRehydrated } from '@store'\r\nimport { format } from 'date-fns'\r\n\r\nimport { datasetRecord } from '@api'\r\n\r\nconst useStyles = makeStyles(theme => {\r\n\treturn {\r\n\t\tcard_styles: {\r\n\t\t\theight: '80vh',\r\n\t\t},\r\n\t\tdetails_button: {\r\n\t\t\tbackgroundColor: '#466AE9',\r\n\t\t\tcolor: '#fff',\r\n\t\t\t'&:hover': {\r\n\t\t\t\tbackgroundColor: '#466AE9',\r\n\t\t\t},\r\n\t\t},\r\n\t\tapprove_button: {\r\n\t\t\tbackgroundColor: '#1DBF73',\r\n\t\t\tcolor: '#fff',\r\n\t\t\t'&:hover': {\r\n\t\t\t\tbackgroundColor: '#1DBF73',\r\n\t\t\t},\r\n\t\t},\r\n\t\twait_button: {\r\n\t\t\tbackgroundColor: '#F6B50B',\r\n\t\t\tcolor: '#fff',\r\n\t\t\t'&:hover': {\r\n\t\t\t\tbackgroundColor: '#F6B50B',\r\n\t\t\t},\r\n\t\t},\r\n\t\treject_button: {\r\n\t\t\tbackgroundColor: '#DB4D44',\r\n\t\t\tcolor: '#fff',\r\n\t\t\t'&:hover': {\r\n\t\t\t\tbackgroundColor: '#DB4D44',\r\n\t\t\t},\r\n\t\t},\r\n\t\ttype_of_report: {\r\n\t\t\tbackgroundColor: '#c8e8ff',\r\n\t\t\tcolor: '#028BFF',\r\n\t\t\tborderColor: '#84BFF0',\r\n\t\t},\r\n\t\tformControl: {\r\n\t\t\tmargin: theme.spacing(1),\r\n\t\t\tminWidth: 120,\r\n\t\t},\r\n\t}\r\n})\r\n\r\nexport default function StandardReportValidation() {\r\n\tconst isRehydrated = useStoreRehydrated()\r\n\tconst history = useHistory()\r\n\tconst classes = useStyles()\r\n\t// eslint-disable-next-line\r\n\tconst theme = useTheme()\r\n\tconst isMobile2 = useMediaQuery('(min-width:425px)')\r\n\tconst dataTypeOfReport = ['เคลื่อนที่', 'ประจำที่']\r\n\r\n\t// Work Status 0 = รอการตรวจสอบจากผู้อนุมัติ, 1 = ตรวจสอบแล้ว, 2 = รับรายงาน\r\n\t// eslint-disable-next-line\r\n\tconst [statusIDList, setStatusIDList] = useState([])\r\n\t// eslint-disable-next-line\r\n\tconst [tempID, setTempID] = useState(0)\r\n\t// eslint-disable-next-line\r\n\tconst [tempName, setTempName] = useState('')\r\n\tconst [statusDialogOpen, setStatusDialogOpen] = useState(false)\r\n\tconst [statusLabelTemp, setStatusLabelTemp] = useState('')\r\n\tconst [statusIDTemp, setStatusIDTemp] = useState(null)\r\n\t// eslint-disable-next-line\r\n\tconst [reportID, setReportID] = useState(null)\r\n\tconst [activeReportHead, setActiveReportHead] = useState(null)\r\n\tconst [pageSize, setPageSize] = useState(8)\r\n\r\n\t// Modal ​State\r\n\tconst [openSendToAdminModal, setOpenSendToAdminModal] = useState(false)\r\n\tconst [openSendToAdminModalFailed, setOpenSendToAdminModalFailed] =\r\n\t\tuseState(false)\r\n\tconst [\r\n\t\topenSubmitSendingToAdminSureModal,\r\n\t\tsetOpenSubmitSendingToAdminSureModal,\r\n\t] = useState(false)\r\n\r\n\t// const handleOpenChangeStatusDialog = status_id => {\r\n\t// \tsetStatusDialogOpen(true)\r\n\t// \tif (status_id === 2) {\r\n\t// \t\tsetStatusLabelTemp('รอการตรวจสอบจากผู้อนุมัติ')\r\n\t// \t\tsetStatusIDTemp(2)\r\n\t// \t} else if (status_id === 3) {\r\n\t// \t\tsetStatusLabelTemp('ตรวจสอบแล้ว')\r\n\t// \t\tsetStatusIDTemp(3)\r\n\t// \t} else if (status_id === 4) {\r\n\t// \t\tsetStatusLabelTemp('รับรายงาน')\r\n\t// \t\tsetStatusIDTemp(4)\r\n\t// \t}\r\n\t// }\r\n\r\n\tconst handleCloseDialog = () => {\r\n\t\tsetStatusDialogOpen(false)\r\n\t}\r\n\r\n\t// Additional Files\r\n\tconst [submitDialogOpen, setSubmitDialogOpen] = useState(false)\r\n\tconst [tempFile, setTempFile] = useState({\r\n\t\tfile: null,\r\n\t\tname: '',\r\n\t})\r\n\tconst [additionalFile, setAdditionalFile] = useState(null)\r\n\tconst [additionalFiles, setAdditionalFiles] = useState([])\r\n\r\n\t// Document Additional Card\r\n\r\n\tconst onAddTemp = (e, type) => {\r\n\t\tconst { files, value } = e.target\r\n\t\tif (type === 'file' && files.length !== 0)\r\n\t\t\tsetTempFile({ ...tempFile, file: files[0] })\r\n\t\tif (type === 'name') setTempFile({ ...tempFile, name: value })\r\n\t}\r\n\r\n\tconst onAddDocument = () => {\r\n\t\tif (tempFile.file) {\r\n\t\t\tsetAdditionalFiles(prevState => [...prevState, tempFile.file])\r\n\t\t\tsetAdditionalFile(tempFile.file)\r\n\t\t\tsetTempFile({ file: null, name: '' })\r\n\t\t}\r\n\t}\r\n\r\n\tconst onChangeAttachedFileName = (e, index) => {\r\n\t\tconst { value } = e.target\r\n\t\tsetAdditionalFiles(prevState => {\r\n\t\t\tconst newList = prevState.map((item, itemIndex) => {\r\n\t\t\t\tif (itemIndex === index)\r\n\t\t\t\t\treturn {\r\n\t\t\t\t\t\tfile: item?.file,\r\n\t\t\t\t\t\tname: value,\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\treturn item\r\n\t\t\t})\r\n\t\t\treturn newList\r\n\t\t})\r\n\t}\r\n\r\n\tconst onDeleteDocument = () => {\r\n\t\tsetAdditionalFile(null)\r\n\t}\r\n\r\n\tconst handleCloseSubmitDialog = () => {\r\n\t\tsetSubmitDialogOpen(!submitDialogOpen)\r\n\t}\r\n\r\n\tconst onSubmitToAdmin = async () => {\r\n\t\tconst res = await datasetRecord.sendToAdmin(\r\n\t\t\tactiveReportHead,\r\n\t\t\tadditionalFile\r\n\t\t)\r\n\t\tif (res?.response?.status === 400) {\r\n\t\t\thandleCloseSubmitDialog()\r\n\t\t\tonOpenSendingToAdminFailedModal()\r\n\t\t} else if (res.status === 200) {\r\n\t\t\thandleCloseSubmitDialog()\r\n\t\t\tonOpenSendingToAdminModal()\r\n\t\t}\r\n\t}\r\n\r\n\t/** <---------------------------------------------------------------------> */\r\n\r\n\t// On Click Change Status\r\n\t// const onClickChangeStatus = params => {\r\n\t// \tsetReportID(params.row.id)\r\n\t// \tsetStatusIDTemp(params.value.workStatus)\r\n\t// \thandleOpenChangeStatusDialog(params.value.workStatus)\r\n\t// }\r\n\r\n\tconst columnsWidth = {\r\n\t\tcolumnsId: 110,\r\n\t\tcolumnsName: 300,\r\n\t\tcolumnsDataTypeList: 220,\r\n\t\tcolumnsSubmitDate: 160,\r\n\t\tcolumnsSubmitType: 180,\r\n\t\tcolumnsReportDetails: 140,\r\n\t\tcolumnsWorkStatusId: 200,\r\n\t\tcolumnsAction: 180,\r\n\t}\r\n\tvar columns = [\r\n\t\t{\r\n\t\t\tfield: 'id',\r\n\t\t\theaderName: 'ลำดับ',\r\n\t\t\twidth: columnsWidth.columnsId,\r\n\t\t\theaderAlign: 'left',\r\n\t\t\talign: 'left',\r\n\t\t\tsortable: true,\r\n\t\t\teditable: false,\r\n\t\t\trenderCell: params => {\r\n\t\t\t\treturn {params.value}\r\n\t\t\t},\r\n\t\t},\r\n\t\t{\r\n\t\t\tfield: 'name',\r\n\t\t\theaderName: 'ชื่อ-นามสกุล',\r\n\t\t\twidth: columnsWidth.columnsName,\r\n\t\t\theaderAlign: 'left',\r\n\t\t\talign: 'left',\r\n\t\t\teditable: false,\r\n\t\t},\r\n\t\t{\r\n\t\t\tfield: 'dataTypeList',\r\n\t\t\theaderName: 'ประเภทรายงาน',\r\n\t\t\tsortable: true,\r\n\t\t\twidth: columnsWidth.columnsDataTypeList,\r\n\t\t\t// headerAlign: 'center',\r\n\t\t\talign: 'left',\r\n\t\t\teditable: false,\r\n\t\t\trenderCell: params => {\r\n\t\t\t\treturn (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{params.value.map((e, index) => (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{dataTypeOfReport[e]}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t))}\r\n\t\t\t\t\t\r\n\t\t\t\t)\r\n\t\t\t},\r\n\t\t},\r\n\t\t{\r\n\t\t\tfield: 'submit_date',\r\n\t\t\theaderName: 'วันที่ส่งข้อมูล',\r\n\t\t\twidth: columnsWidth.columnsSubmitDate,\r\n\t\t\t// headerAlign: 'center',\r\n\t\t\talign: 'left',\r\n\t\t\teditable: false,\r\n\t\t\trenderCell: params => {\r\n\t\t\t\treturn {params.value}\r\n\t\t\t},\r\n\t\t},\r\n\t\t{\r\n\t\t\tfield: 'submitType',\r\n\t\t\theaderName: 'วิธีการส่งรายงาน',\r\n\t\t\twidth: columnsWidth.columnsSubmitType,\r\n\t\t\talign: 'left',\r\n\t\t\teditable: false,\r\n\t\t},\r\n\t\t{\r\n\t\t\tfield: 'report_detials',\r\n\t\t\theaderName: 'ดูข้อมูลรายงาน',\r\n\t\t\tsortable: false,\r\n\t\t\twidth: columnsWidth.columnsReportDetails,\r\n\t\t\theaderAlign: 'center',\r\n\t\t\talign: 'left',\r\n\t\t\teditable: false,\r\n\t\t\trenderCell: params => {\r\n\t\t\t\treturn (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\tlet tempIndex = 0\r\n\t\t\t\t\t\t\t\tfor (tempIndex; tempIndex < rows.length; tempIndex++) {\r\n\t\t\t\t\t\t\t\t\tif (params.value === rows[tempIndex].id) {\r\n\t\t\t\t\t\t\t\t\t\tbreak\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\thistory.push({\r\n\t\t\t\t\t\t\t\t\tpathname: `/standard-report-validation/${params.row.workStatus.report_id}`,\r\n\t\t\t\t\t\t\t\t\tstate: {\r\n\t\t\t\t\t\t\t\t\t\trowData: rows[tempIndex],\r\n\t\t\t\t\t\t\t\t\t\tstatusIDList: statusIDList,\r\n\t\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\tclassName={`h-8`}\r\n\t\t\t\t\t\t\tcolor=\"secondary\"\r\n\t\t\t\t\t\t\tsize=\"small\"\r\n\t\t\t\t\t\t\tvariant=\"contained\">\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tรายละเอียด\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t)\r\n\t\t\t},\r\n\t\t},\r\n\t\t{\r\n\t\t\tfield: 'workStatus',\r\n\t\t\theaderName: 'สถานะ',\r\n\t\t\tsortable: false,\r\n\t\t\twidth: columnsWidth.columnsWorkStatusId,\r\n\t\t\theaderAlign: 'center',\r\n\t\t\talign: 'center',\r\n\t\t\trenderCell: params => {\r\n\t\t\t\tlet title = params.value.workStatusName;\r\n\t\t\t\tif (params.value.isRejected === 'y')\r\n\t\t\t\t\ttitle = \"รอแก้ไขรายงาน\"\r\n\r\n\t\t\t\treturn (\r\n\t\t\t\t\t<>\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t// \tparams.row.isActive === 'y'\r\n\t\t\t\t\t\t\t\t// \t\t? onClickChangeStatus(params)\r\n\t\t\t\t\t\t\t\t// \t\t: null\r\n\t\t\t\t\t\t\t\t// }\r\n\t\t\t\t\t\t\t\tclassName={`h-8 pointer-events-none\r\n\t\t\t\t\t\t\t\t ${params.value.workStatus === 2 || params.value.isRejected === 'y'\r\n\t\t\t\t\t\t\t\t\t\t? classes.wait_button\r\n\t\t\t\t\t\t\t\t\t\t: params.value.workStatus === 3\r\n\t\t\t\t\t\t\t\t\t\t\t? classes.approve_button\r\n\t\t\t\t\t\t\t\t\t\t\t: params.value.workStatus === 4\r\n\t\t\t\t\t\t\t\t\t\t\t\t? classes.approve_button\r\n\t\t\t\t\t\t\t\t\t\t\t\t: classes.approve_button\r\n\t\t\t\t\t\t\t\t\t}`}\r\n\t\t\t\t\t\t\t\tvariant=\"contained\"\r\n\t\t\t\t\t\t\t\tsize=\"small\">\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{title}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t)\r\n\t\t\t},\r\n\t\t},\r\n\t\t{\r\n\t\t\tfield: 'actions',\r\n\t\t\theaderName: ' ',\r\n\t\t\twidth: columnsWidth.columnsAction,\r\n\t\t\theaderAlign: 'center',\r\n\t\t\talign: 'center',\r\n\t\t\trenderCell: params => {\r\n\t\t\t\tif (params.row.workStatus.workStatus === 3) {\r\n\t\t\t\t\treturn params.row.isActive === 'y' ? (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\tsetReportID(params.value)\r\n\t\t\t\t\t\t\t\t\tsetActiveReportHead(params.id)\r\n\t\t\t\t\t\t\t\t\thandleCloseSubmitDialog()\r\n\t\t\t\t\t\t\t\t}}>\r\n\t\t\t\t\t\t\t\tส่งรายงาน\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t) : (\r\n\t\t\t\t\t\tเกินกำหนดส่งรายงาน\r\n\t\t\t\t\t)\r\n\t\t\t\t} else {\r\n\t\t\t\t\treturn <>\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t},\r\n\t]\r\n\r\n\tconst [rows, setRows] = useState([\r\n\t\t// Work Status 0 = รอการตรวจสอบจากผู้อนุมัติ, 1 = ตรวจสอบแล้ว, 2 = รับรายงาน\r\n\t\t// Data Type List 0 = ประจำที่, 1 = เคลื่อนที่\r\n\t])\r\n\tconst [isDataLoading, setIsDataLoading] = useState(false)\r\n\r\n\tfunction handleStatusTempChange() {\r\n\t\tchangeStatusRecord()\r\n\t\tvar statusIDListTemp = statusIDList\r\n\t\tstatusIDListTemp[tempID - 1] = statusLabelTemp\r\n\t\tif (statusLabelTemp === 'รอการตรวจสอบจากผู้อนุมัติ') {\r\n\t\t\tstatusIDListTemp[tempID - 1] = 0\r\n\t\t} else if (statusLabelTemp === 'ตรวจสอบแล้ว') {\r\n\t\t\tstatusIDListTemp[tempID - 1] = 1\r\n\t\t} else if (statusLabelTemp === 'รับรายงาน') {\r\n\t\t\tstatusIDListTemp[tempID - 1] = 2\r\n\t\t}\r\n\t\tsetStatusIDList(statusIDListTemp)\r\n\t\thandleCloseDialog()\r\n\t}\r\n\r\n\tconst onChangeStatusTemp = e => {\r\n\t\tsetStatusLabelTemp(e.target.value)\r\n\t\tif (e.target.value === 'รอการตรวจสอบจากผู้อนุมัติ') {\r\n\t\t\tsetStatusIDTemp(2)\r\n\t\t} else if (e.target.value === 'ตรวจสอบแล้ว') {\r\n\t\t\tsetStatusIDTemp(3)\r\n\t\t} else if (e.target.value === 'รับรายงาน') {\r\n\t\t\tsetStatusIDTemp(4)\r\n\t\t}\r\n\t}\r\n\r\n\t// -------------------------------\r\n\tconst getDatasetRecordList = async () => {\r\n\t\tsetIsDataLoading(true)\r\n\t\tconst res = await datasetRecord.getlist()\r\n\r\n\t\tif (res) {\r\n\t\t\tif (res.status === 200) {\r\n\t\t\t\tconst rowsTemp = []\r\n\r\n\t\t\t\tfor (let i = 0; i < res.data.length; i++) {\r\n\t\t\t\t\tconst qosType = []\r\n\t\t\t\t\t// if (res.data[i].status > 1 && res.data[i].status < 4) {\r\n\t\t\t\t\tif (res.data[i].status > 1) {\r\n\r\n\t\t\t\t\t\tif (res.data[i].isFixed === 'y') qosType.push(1)\r\n\t\t\t\t\t\tif (res.data[i].isMobile === 'y') qosType.push(0)\r\n\r\n\t\t\t\t\t\tconst tempObject = {\r\n\t\t\t\t\t\t\tid: res.data[i].id,\r\n\t\t\t\t\t\t\tname:\r\n\t\t\t\t\t\t\t\tres.data[i].operatorUser.firstname +\r\n\t\t\t\t\t\t\t\t' ' +\r\n\t\t\t\t\t\t\t\tres.data[i].operatorUser.lastname,\r\n\t\t\t\t\t\t\tsubmit_date: res.data[i].updatedAt\r\n\t\t\t\t\t\t\t\t? format(new Date(res.data[i].updatedAt), 'dd/MM/yyyy')\r\n\t\t\t\t\t\t\t\t: '',\r\n\t\t\t\t\t\t\tsubmitType: res.data[i].sendMethod,\r\n\t\t\t\t\t\t\tworkStatus: {\r\n\t\t\t\t\t\t\t\treport_id: res.data[i].id,\r\n\t\t\t\t\t\t\t\tworkStatus: res.data[i].dataSetRecordHeadStatus.id,\r\n\t\t\t\t\t\t\t\tworkStatusName: res.data[i].dataSetRecordHeadStatus.statusName,\r\n\t\t\t\t\t\t\t\tisRejected: res.data[i].isRejected\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\treport_detials: res.data[i].id,\r\n\t\t\t\t\t\t\tdataTypeList: qosType,\r\n\t\t\t\t\t\t\tactions: res.data[i].id,\r\n\t\t\t\t\t\t\tisActive: res.data[i].isActive,\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tlet tempStatusIDList = statusIDList\r\n\t\t\t\t\t\ttempStatusIDList[i] = {\r\n\t\t\t\t\t\t\treport_id: res.data[i].id,\r\n\t\t\t\t\t\t\tworkStatus: res.data[i].dataSetRecordHeadStatus.id,\r\n\t\t\t\t\t\t\tworkStatusName: res.data[i].dataSetRecordHeadStatus.statusName,\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tsetStatusIDList(tempStatusIDList)\r\n\t\t\t\t\t\tsetReportID(res.data[i].id)\r\n\t\t\t\t\t\trowsTemp.push(tempObject)\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tsetRows(rowsTemp)\r\n\t\t\t}\r\n\t\t}\r\n\t\tsetIsDataLoading(false)\r\n\t}\r\n\r\n\tconst changeStatusRecord = async () => {\r\n\t\t// eslint-disable-next-line\r\n\t\tconst res = await datasetRecord.changeStatusReportHead(\r\n\t\t\treportID,\r\n\t\t\tstatusIDTemp\r\n\t\t)\r\n\t\tgetDatasetRecordList()\r\n\t}\r\n\r\n\tconst onOpenSendingToAdminSureModal = () => {\r\n\t\tsetOpenSubmitSendingToAdminSureModal(!openSubmitSendingToAdminSureModal)\r\n\t}\r\n\r\n\tconst onOpenSendingToAdminModal = () => {\r\n\t\tsetOpenSendToAdminModal(!openSendToAdminModal)\r\n\t}\r\n\r\n\tconst onOpenSendingToAdminFailedModal = () => {\r\n\t\tsetOpenSendToAdminModalFailed(!openSendToAdminModalFailed)\r\n\t}\r\n\r\n\tconst onLoading = async () => {\r\n\t\tgetDatasetRecordList()\r\n\t}\r\n\r\n\tuseEffect(() => {\r\n\t\tif (isRehydrated) onLoading()\r\n\t\t// eslint-disable-next-line\r\n\t}, [isRehydrated])\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tรายชื่อรายงาน\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t setPageSize(size)}\r\n\t\t\t\t\t\t\t\tcomponents={{\r\n\t\t\t\t\t\t\t\t\tNoRowsOverlay: () => {\r\n\t\t\t\t\t\t\t\t\t\tif (!isDataLoading) {\r\n\t\t\t\t\t\t\t\t\t\t\treturn ไม่พบข้อมูล;\r\n\t\t\t\t\t\t\t\t\t\t}else{\r\n\t\t\t\t\t\t\t\t\t\t\treturn กำลังประมวลผลข้อมูล โปรดรอสักครู่..;\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t history.go(0)}\r\n\t\t\t/>\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t}\r\n\t\t\t\topen={openSubmitSendingToAdminSureModal}\r\n\t\t\t\tonClose={onOpenSendingToAdminSureModal}\r\n\t\t\t\thandleCancel={onOpenSendingToAdminSureModal}\r\n\t\t\t\thandleButton={onSubmitToAdmin}\r\n\t\t\t/>\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n","import { forwardRef, useRef } from 'react'\r\nimport {\r\n\tGrid,\r\n\tDialog,\r\n\tDialogContent,\r\n\tDialogContentText,\r\n\tDialogActions,\r\n\tSlide,\r\n\tButton,\r\n\tuseMediaQuery,\r\n} from '@material-ui/core'\r\nimport { useTheme } from '@material-ui/core/styles'\r\n\r\nimport Check from '../../../../assets/images/check.png'\r\n\r\nexport default function SendingStandardReportModalSuccess({\r\n\topen,\r\n\thandleButton,\r\n}) {\r\n\tconst theme = useTheme()\r\n\tconst fullScreen = useMediaQuery(theme.breakpoints.down('sm'))\r\n\tconst descriptionElementRef = useRef(null)\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tคุณได้ส่งผลการอนุมัติรายงานเรียบร้อยแล้ว\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tตกลง\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n\r\nconst Transition = forwardRef(function Transtition(props, ref) {\r\n\treturn \r\n})\r\n","import { forwardRef, useRef } from 'react'\r\nimport {\r\n\tGrid,\r\n\tDialog,\r\n\tDialogContent,\r\n\tDialogContentText,\r\n\tDialogActions,\r\n\tSlide,\r\n\tButton,\r\n\tuseMediaQuery,\r\n} from '@material-ui/core'\r\nimport { useTheme } from '@material-ui/core/styles'\r\n\r\nimport Cancel from '../../../../assets/images/cancel.png'\r\n\r\nexport default function DeletedFailedModal({ open, handleButton, message }) {\r\n\tconst theme = useTheme()\r\n\tconst fullScreen = useMediaQuery(theme.breakpoints.down('sm'))\r\n\tconst descriptionElementRef = useRef(null)\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tเกิดข้อผิดพลาดบางอย่าง โปรดลองอีกครั้ง\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tตกลง\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n\r\nconst Transition = forwardRef(function Transtition(props, ref) {\r\n\treturn \r\n})\r\n","import { forwardRef, useRef, useState } from 'react'\r\nimport {\r\n\tGrid,\r\n\tDialog,\r\n\tDialogContent,\r\n\tDialogContentText,\r\n\tDialogActions,\r\n\tButton,\r\n\tSlide,\r\n\tCircularProgress,\r\n\tuseMediaQuery,\r\n} from '@material-ui/core'\r\nimport { useTheme } from '@material-ui/core/styles'\r\n\r\nimport { datasetRecord } from '../api'\r\n\r\nimport Cancel from '../assets/images/cancel.png'\r\n\r\nconst makeid = (length) => {\r\n\tvar result = \"\";\r\n\tvar characters =\r\n\t\t\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789\";\r\n\tvar charactersLength = characters.length;\r\n\tfor (var i = 0; i < length; i++) {\r\n\t\tresult += characters.charAt(\r\n\t\t\tMath.floor(Math.random() * charactersLength)\r\n\t\t);\r\n\t}\r\n\treturn result;\r\n}\r\n\r\n\r\nexport function AuthenticatedLink({ url, filename = null, children }) {\r\n\tconst [isDownload, setIsDownload] = useState(false)\r\n\tconst [showSomethingWentWrongModal, setShowSomethingWentWrongModal] =\r\n\t\tuseState(false)\r\n\t// const link = createRef()\r\n\tconst theme = useTheme()\r\n\tconst fullScreen = useMediaQuery(theme.breakpoints.down('sm'))\r\n\tconst descriptionElementRef = useRef(null)\r\n\tif(!filename){\r\n\t\tfilename = makeid(5);\r\n\t}\r\n\tconst handleAction = async () => {\r\n\t\tconst result = await datasetRecord.downloadFile(url)\r\n\r\n\t\tconst blob = await result.data\r\n\r\n\t\tif (blob) {\r\n\t\t\tconst href = window.URL.createObjectURL(blob)\r\n\r\n\t\t\tconst link = document.createElement('a')\r\n\t\t\tlink.href = href\r\n\t\t\tlink.setAttribute('download', filename)\r\n\r\n\t\t\tdocument.body.appendChild(link)\r\n\r\n\t\t\tlink.click()\r\n\r\n\t\t\tsetIsDownload(false)\r\n\r\n\t\t\tlink.parentNode.removeChild(link)\r\n\t\t} else {\r\n\t\t\tsetShowSomethingWentWrongModal(true)\r\n\t\t\tsetIsDownload(false)\r\n\t\t}\r\n\t}\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t{/* eslint-disable-next-line */}\r\n\t\t\t {\r\n\t\t\t\t\tsetIsDownload(true)\r\n\t\t\t\t\thandleAction()\r\n\t\t\t\t}}\r\n\t\t\t\ttarget=\"_blank\"\r\n\t\t\t\trel=\"noreferrer\">\r\n\t\t\t\t{children}\r\n\t\t\t\r\n\r\n\t\t\t{/* Spinner Loading */}\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tกำลังดาวน​์โหลดไฟล์\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\r\n\t\t\t{/* Failed Modal */}\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tเกิดข้อผิดพลาดบางอย่าง โปรดลองอีกครั้ง\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t setShowSomethingWentWrongModal(false)}\r\n\t\t\t\t\t\t\t\tcolor=\"secondary\"\r\n\t\t\t\t\t\t\t\tsize=\"large\"\r\n\t\t\t\t\t\t\t\tvariant=\"contained\">\r\n\t\t\t\t\t\t\t\tตกลง\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n\r\nconst Transition = forwardRef(function Transtition(props, ref) {\r\n\treturn \r\n})\r\n","import { Grid, IconButton } from '@material-ui/core'\r\nimport { Archive } from '@material-ui/icons'\r\nimport { AuthenticatedLink } from 'components/AuthenticatedLink'\r\n\r\nexport default function File({ originalFileName, downloadUrl }) {\r\n\treturn (\r\n\t\t\r\n\t\t\tชื่อเอกสาร: {originalFileName ?? ''}\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n","export const mobile_additional_files = [\r\n\t{\r\n\t\tkey: 'attachmentBMARoad',\r\n\t\ttitle: 'เส้นทางในเขตกรุงเทพฯ และปริมณฑล',\r\n\t},\r\n\t{\r\n\t\tkey: 'attachmentBMAFocusArea',\r\n\t\ttitle: 'พื้นที่เฝ้าระวัง',\r\n\t},\r\n\t{\r\n\t\tkey: 'attachmentUPCRoad',\r\n\t\ttitle: 'สถานที่ทำการวัด เส้นทางสายหลักและสายรอง',\r\n\t},\r\n\t{\r\n\t\tkey: 'attachmentUPCCommunity',\r\n\t\ttitle: 'เส้นทางในพื้นที่ชุมชน',\r\n\t},\r\n]\r\n","import { Grid, Card, Divider, useMediaQuery, Button } from '@material-ui/core'\r\nimport { Assignment, InsertDriveFile } from '@material-ui/icons'\r\nimport { useParams } from 'react-router-dom'\r\nimport File from './file'\r\nimport { datasetRecord } from '@api'\r\nimport { mobile_additional_files } from 'data/standard-report/ui/mobile-additional-files'\r\n\r\nexport default function StandardReportStep1({\r\n\trowData,\r\n\tdataSetFilesUpload = {},\r\n}) {\r\n\tlet { id } = useParams()\r\n\tconst isNotTablet = useMediaQuery('(min-width:768px)')\r\n\r\n\tconst handleDownloadExcel = async () => {\r\n\t\tconst res = await datasetRecord.downloadExcel(id)\r\n\t\tif (res && res.status === 200 && res.data) {\r\n\t\t\tlet blob = new Blob([res.data], { type: '' })\r\n\t\t\tlet link = document.createElement('a')\r\n\t\t\tlink.href = window.URL.createObjectURL(blob)\r\n\t\t\tlink.setAttribute('download', 'exportData.xlsx')\r\n\t\t\tdocument.body.appendChild(link)\r\n\t\t\tlink.click()\r\n\t\t\tdocument.body.removeChild(link)\r\n\t\t} else {\r\n\t\t\talert('ไม่สามาถดาวน์โหลดไฟล์ได้')\r\n\t\t}\r\n\t}\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t{!isNotTablet ? (\r\n\t\t\t\t// Mobile and Tablet Layout\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tรายละเอียดการส่งรายงาน\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t{/* Name */}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tชื่อผู้ส่งรายงาน\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{rowData.name}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t{/* Type of Report */}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tประเภทรายงาน\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{rowData?.dataTypeList?.map((e, index) => (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{index === 1 && rowData.dataTypeList.length === 2 ? ', ' : ''}\r\n\t\t\t\t\t\t\t\t\t{e}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t{/* Submit Date */}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tวันที่ส่งข้อมูล\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{rowData.submit_date}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t{/* Status */}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tสถานะรายงาน\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{rowData.status}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t{/* Reject reason */}\r\n\t\t\t\t\t{rowData.isRejected === 'y' && (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tเหตุผล\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{rowData.rejectReason}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\t\t\t\t\r\n\t\t\t) : (\r\n\t\t\t\t<>\r\n\t\t\t\t\t{/* Computer Layout */}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tรายละเอียดการส่งรายงาน\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{/* Name */}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tชื่อผู้ส่งรายงาน\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{rowData.name}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{/* Company Name */}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tชื่อบริษัท\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{rowData.companyName}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{/* Type of Report */}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tประเภทรายงาน\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{rowData?.dataTypeList?.map((e, index) => (\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{index === 1 && rowData.dataTypeList.length === 2\r\n\t\t\t\t\t\t\t\t\t\t\t\t? ', '\r\n\t\t\t\t\t\t\t\t\t\t\t\t: ''}\r\n\t\t\t\t\t\t\t\t\t\t\t{e}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{/* Submit Date */}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tวันที่ส่งข้อมูล\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{rowData.submit_date}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{/* Status */}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tสถานะรายงาน\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{rowData.status}\r\n\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t{/* Status */}\r\n\t\t\t\t\t\t\t{rowData.isRejected === 'y' && (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tเหตุผล\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{rowData.rejectReason}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\thandleDownloadExcel()\r\n\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\tclassName={`h-8 `}\r\n\t\t\t\t\t\t\t\tcolor=\"success\"\r\n\t\t\t\t\t\t\t\tstyle={{ backgroundColor: '#1DBF73', color: '#E9E9E9' }}\r\n\t\t\t\t\t\t\t\tsize=\"small\"\r\n\t\t\t\t\t\t\t\tvariant=\"contained\">\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tดาวน์โหลด Excel\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tไฟล์แนบเพิ่มเติมสำหรับรายงานประเภทเคลื่อนที่ (Mobile)\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{mobile_additional_files.map((item, idx) => {\r\n\t\t\t\t\t\t\t\t\tconst additionalFile = dataSetFilesUpload[item.key]\r\n\r\n\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t{item.title}\r\n\t\t\t\t\t\t\t\t\t\t\t\t{additionalFile\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t? `(${additionalFile.length} ไฟล์)`\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t: '(0 ไฟล์)'}\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t{additionalFile &&\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tadditionalFile.map((file, index) => (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t\r\n\t)\r\n}\r\n","import { useMemo } from 'react'\r\nimport { Grid } from '@material-ui/core'\r\n\r\nexport default function TwoPointThreeSubHeader({ sub_label_type }) {\r\n\tconst firstValueWidth = useMemo(() => {\r\n\t\tif (sub_label_type === 3 || sub_label_type === 2) {\r\n\t\t\treturn 'w-4/12'\r\n\t\t}\r\n\r\n\t\treturn 'w-4/12'\r\n\t}, [sub_label_type])\r\n\r\n\tconst secondValueWidh = useMemo(() => {\r\n\t\tif (sub_label_type === 3 || sub_label_type === 2) {\r\n\t\t\treturn 'w-3/12'\r\n\t\t}\r\n\r\n\t\treturn 'w-5/12'\r\n\t}, [sub_label_type])\r\n\r\n\tconst validationWidth = useMemo(() => {\r\n\t\tif (sub_label_type === 3 || sub_label_type === 2) {\r\n\t\t\treturn 'w-2/12'\r\n\t\t}\r\n\r\n\t\treturn 'w-3/12'\r\n\t}, [sub_label_type])\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{(sub_label_type === 3 || sub_label_type === 2) && (\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t\t\r\n\t\t\t\tสถานที่ในส่วนภูมิภาค\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\tสถานที่ในเขตกรุงเทพฯ และ ปริมณฑล\r\n\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n","import { useState, useEffect } from 'react'\r\n\r\nexport const useWidthExcelInputWithValidation = sub_label_type => {\r\n\tconst [valueWidth, setValueWidth] = useState('')\r\n\tconst [avgWidth, setAvgWidth] = useState('')\r\n\tconst [validationWidth, setValidationWidth] = useState('')\r\n\r\n\tuseEffect(() => {\r\n\t\tif (sub_label_type === 3 || sub_label_type === 2) {\r\n\t\t\tsetValueWidth('w-2/12')\r\n\t\t\tsetAvgWidth('w-1/12')\r\n\t\t\tsetValidationWidth('w-2/12')\r\n\t\t} else if (sub_label_type === 1) {\r\n\t\t\tsetValueWidth('w-2/12')\r\n\t\t\tsetAvgWidth('w-3/12')\r\n\t\t\tsetValidationWidth('w-3/12')\r\n\t\t}\r\n\t}, [sub_label_type])\r\n\r\n\treturn { valueWidth, avgWidth, validationWidth }\r\n}\r\n","import { Grid } from '@material-ui/core'\r\nimport { useWidthExcelInputWithValidation } from 'utils/useWidthExcelInputWithValidation'\r\nimport { useTimeQuarter } from 'utils/useTimeQuarter'\r\n\r\nexport default function ExcelSubHeader({ sub_label_type, isTwoPointThree }) {\r\n\tconst { quarter } = useTimeQuarter()\r\n\tconst { valueWidth, validationWidth, avgWidth } =\r\n\t\tuseWidthExcelInputWithValidation(sub_label_type)\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{(sub_label_type === 3 || sub_label_type === 2) && (\r\n\t\t\t\t{isTwoPointThree?null:'ภูมิภาค'}\r\n\t\t\t)}\r\n\t\t\t\r\n\t\t\t\t{isTwoPointThree ? 'เส้นทางสายหลักและสายรอง' : quarter.month1}\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t{isTwoPointThree ? 'เส้นทางในบริเวณพื้นที่ชุมชน' : quarter.month2}\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t{isTwoPointThree ? 'เส้นทางในเขตกรุงเทพฯ และปริมณฑล' : quarter.month3}\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t{isTwoPointThree\r\n\t\t\t\t\t? 'พื้นที่เฝ้าระวังอื่นที่กำหนดในแต่ละไตรมาส**'\r\n\t\t\t\t\t: 'ค่าเฉลี่ย'}\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\tผลการประเมิน\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n","import { Grid, Input, Button } from '@material-ui/core'\r\nexport default function SubLabelType1({\r\n\ttype,\r\n\tonFillForm,\r\n\tdatasetId,\r\n\tanswers,\r\n\tonOpenValidationModal,\r\n}) {\r\n\tconst answer = answers.find(item => item.dataSetItemID === datasetId)\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t\r\n\t\t\t\t{/* Months */}\r\n\t\t\t\t {\r\n\t\t\t\t\t\tonFillForm(type, datasetId, 'dataValueMonth1', e.target.value)\r\n\t\t\t\t\t}}\r\n\t\t\t\t\ttype=\"text\"\r\n\t\t\t\t\treadOnly\r\n\t\t\t\t/>\r\n\t\t\t\t {\r\n\t\t\t\t\t\tonFillForm(type, datasetId, 'dataValueMonth2', e.target.value)\r\n\t\t\t\t\t}}\r\n\t\t\t\t\ttype=\"text\"\r\n\t\t\t\t\treadOnly\r\n\t\t\t\t/>\r\n\t\t\t\t {\r\n\t\t\t\t\t\tonFillForm(type, datasetId, 'dataValueMonth3', e.target.value)\r\n\t\t\t\t\t}}\r\n\t\t\t\t\ttype=\"text\"\r\n\t\t\t\t\treadOnly\r\n\t\t\t\t/>\r\n\t\t\t\t{/* Average */}\r\n\t\t\t\t {\r\n\t\t\t\t\t\tonFillForm(type, datasetId, 'dataValueMonthAvg', e.target.value)\r\n\t\t\t\t\t}}\r\n\t\t\t\t\ttype=\"text\"\r\n\t\t\t\t\treadOnly\r\n\t\t\t\t/>\r\n\t\t\t\t{/* Validation */}\r\n\t\t\t\t\r\n\t\t\t\t{((!answer?.dataValueMonth1 || !answer?.dataValueMonth2 || !answer?.dataValueMonth3) && !answer?.isError) ? null : (answer?.isError ==='y' ? (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tonOpenValidationModal(\r\n\t\t\t\t\t\t\t\t\t\t\tdatasetId,\r\n\t\t\t\t\t\t\t\t\t\t\tanswer.reason,\r\n\t\t\t\t\t\t\t\t\t\t\tanswer.solution,\r\n\t\t\t\t\t\t\t\t\t\t\tanswer.periodSolution,\r\n\t\t\t\t\t\t\t\t\t\t\tanswer?.validateFileUrl\r\n\t\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t\t}>\r\n\t\t\t\t\t\t\t\t\tไม่ผ่านเกณฑ์\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tผ่านเกณฑ์\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t))}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n","import { Grid, Input, Button } from '@material-ui/core'\r\nexport default function SubLabelType2({\r\n\ttype,\r\n\tflags,\r\n\titem,\r\n\tonFillForm,\r\n\tanswers,\r\n\tonOpenValidationModal,\r\n}) {\r\n\tconst answer = answers.find(ans => ans.dataSetItemID === item.id)\r\n\tconst is2G = item.label.includes('2G') ? true : false\r\n\tconst is5G = item.label.includes('5G')\r\n\tconst is5GArea = item.label.includes('5G (พื้นที่)')\r\n\tconst isFiveInput = item.label.includes('-ภาค')\r\n\t// const is2G = item.label.includes('2G') ? true : false\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t{isFiveInput ? (\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{item.label}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tonFillForm(type, item.id, 'dataValueExtra', e.target.value)\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\ttype=\"text\"\r\n\t\t\t\t\t\t\treadOnly\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\r\n\t\t\t\t\t{/* Months */}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\tonFillForm(type, item.id, 'dataValueMonth1', e.target.value)\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\ttype=\"text\"\r\n\t\t\t\t\t\treadOnly\r\n\t\t\t\t\t/>\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\tonFillForm(type, item.id, 'dataValueMonth2', e.target.value)\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\ttype=\"text\"\r\n\t\t\t\t\t\treadOnly\r\n\t\t\t\t\t/>\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\tonFillForm(type, item.id, 'dataValueMonth3', e.target.value)\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\ttype=\"text\"\r\n\t\t\t\t\t\treadOnly\r\n\t\t\t\t\t/>\r\n\t\t\t\t\t{/* Average */}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\tonFillForm(type, item.id, 'dataValueMonthAvg', e.target.value)\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\ttype=\"text\"\r\n\t\t\t\t\t\treadOnly\r\n\t\t\t\t\t/>\r\n\t\t\t\t\t{/* Validation */}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{(\r\n\t\t\t\t\t\t\t(\r\n\t\t\t\t\t\t\t\t((!answer?.dataValueMonth1 || !answer?.dataValueMonth2 || !answer?.dataValueMonth3) && !is5G)\r\n\t\t\t\t\t\t\t\t|| ((!answer?.dataValueMonth1 || !answer?.dataValueMonth2) && is5G)\r\n\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t&& !answer?.isError) ? null : (answer?.isError === 'y' ? (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tonOpenValidationModal(\r\n\t\t\t\t\t\t\t\t\t\t\titem.id,\r\n\t\t\t\t\t\t\t\t\t\t\tanswer.reason,\r\n\t\t\t\t\t\t\t\t\t\t\tanswer.solution,\r\n\t\t\t\t\t\t\t\t\t\t\tanswer.periodSolution,\r\n\t\t\t\t\t\t\t\t\t\t\tanswer?.validateFileUrl\r\n\t\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t\t}>\r\n\t\t\t\t\t\t\t\t\tไม่ผ่านเกณฑ์\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tผ่านเกณฑ์\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t) : !is2G ? (\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{item.label}\r\n\t\t\t\t\t\r\n\t\t\t\t\t{/* Months */}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\tonFillForm(type, item.id, 'dataValueMonth1', e.target.value)\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\ttype=\"text\"\r\n\t\t\t\t\t\treadOnly\r\n\t\t\t\t\t/>\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\tonFillForm(type, item.id, 'dataValueMonth2', e.target.value)\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\ttype=\"text\"\r\n\t\t\t\t\t\treadOnly\r\n\t\t\t\t\t/>\r\n\t\t\t\t\t{!is5G ? (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tonFillForm(type, item.id, 'dataValueMonth3', e.target.value)\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\ttype=\"text\"\r\n\t\t\t\t\t\t\treadOnly\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\t\t\t\t\t{/* Average */}\r\n\t\t\t\t\t{!is5G ? (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tonFillForm(type, item.id, 'dataValueMonthAvg', e.target.value)\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\ttype=\"text\"\r\n\t\t\t\t\t\t\treadOnly\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\t\t\t\t\t{/* Validation */}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{(\r\n\t\t\t\t\t\t\t(\r\n\t\t\t\t\t\t\t\t((!answer?.dataValueMonth1 || !answer?.dataValueMonth2 || !answer?.dataValueMonth3) && !is5G)\r\n\t\t\t\t\t\t\t\t|| ((!answer?.dataValueMonth1 || !answer?.dataValueMonth2) && is5G)\r\n\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t&& !answer?.isError) ? null : (answer?.isError === 'y' ? (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tonOpenValidationModal(\r\n\t\t\t\t\t\t\t\t\t\t\titem.id,\r\n\t\t\t\t\t\t\t\t\t\t\tanswer.reason,\r\n\t\t\t\t\t\t\t\t\t\t\tanswer.solution,\r\n\t\t\t\t\t\t\t\t\t\t\tanswer.periodSolution,\r\n\t\t\t\t\t\t\t\t\t\t\tanswer?.validateFileUrl\r\n\t\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t\t}>\r\n\t\t\t\t\t\t\t\t\tไม่ผ่านเกณฑ์\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{is5GArea ? \"ครบถ้วน\" : \"ผ่านเกณฑ์\"}\r\n\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t) : (\r\n\t\t\t\t<>\r\n\t\t\t)}\r\n\t\t\r\n\t)\r\n}\r\n","import { Grid, Input, Button } from '@material-ui/core'\r\nexport default function SubLabelType3({\r\n\ttype,\r\n\titem,\r\n\tonFillForm,\r\n\tanswers,\r\n\tonOpenValidationModal,\r\n}) {\r\n\tconst label_name = item.label_name\r\n\tconst childs = item.childs\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{/* Region */}\r\n\t\t\t\r\n\t\t\t\t{label_name}\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t\t{childs.map((child, index) => (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{child.label}\r\n\t\t\t\t\t\r\n\t\t\t\t))}\r\n\t\t\t\r\n\r\n\t\t\t{/* Months */}\r\n\t\t\t\r\n\t\t\t\t{childs.map((child, index) => {\r\n\t\t\t\t\tconst answer = answers.find(ans => ans.dataSetItemID === child.id)\r\n\r\n\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tonFillForm(type, child.id, 'dataValueMonth1', e.target.value)\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\ttype=\"text\"\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t)\r\n\t\t\t\t})}\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t{childs.map((child, index) => {\r\n\t\t\t\t\tconst answer = answers.find(ans => ans.dataSetItemID === child.id)\r\n\r\n\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tonFillForm(type, child.id, 'dataValueMonth2', e.target.value)\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\ttype=\"text\"\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t)\r\n\t\t\t\t})}\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t{childs.map((child, index) => {\r\n\t\t\t\t\tconst answer = answers.find(ans => ans.dataSetItemID === child.id)\r\n\r\n\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tonFillForm(type, child.id, 'dataValueMonth3', e.target.value)\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\ttype=\"text\"\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t)\r\n\t\t\t\t})}\r\n\t\t\t\r\n\r\n\t\t\t{/* Average */}\r\n\t\t\t\r\n\t\t\t\t{childs.map((child, index) => {\r\n\t\t\t\t\tconst answer = answers.find(ans => ans.dataSetItemID === child.id)\r\n\r\n\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tonFillForm(type, child.id, 'dataValueMonthAvg', e.target.value)\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\ttype=\"text\"\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t)\r\n\t\t\t\t})}\r\n\t\t\t\r\n\r\n\t\t\t{/* Validation */}\r\n\t\t\t\r\n\t\t\t\t{childs.map((child, index) => {\r\n\t\t\t\t\tconst answer = answers.find(ans => ans.dataSetItemID === child.id)\r\n\r\n\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{((!answer?.dataValueMonth1 || !answer?.dataValueMonth2 || !answer?.dataValueMonth3) && !answer?.isError) ? null : (answer?.isError ==='y' ? (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tonOpenValidationModal(\r\n\t\t\t\t\t\t\t\t\t\t\titem.id,\r\n\t\t\t\t\t\t\t\t\t\t\tanswer.reason,\r\n\t\t\t\t\t\t\t\t\t\t\tanswer.solution,\r\n\t\t\t\t\t\t\t\t\t\t\tanswer.periodSolution,\r\n\t\t\t\t\t\t\t\t\t\t\tanswer?.validateFileUrl\r\n\t\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t\t}>\r\n\t\t\t\t\t\t\t\t\tไม่ผ่านเกณฑ์\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tผ่านเกณฑ์\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)\r\n\t\t\t\t})}\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n","import { Grid, IconButton } from '@material-ui/core'\r\nimport { Archive } from '@material-ui/icons'\r\nimport { AuthenticatedLink } from 'components/AuthenticatedLink'\r\n\r\nexport default function File({ validateFileUrl , originalFileName }) {\r\n\treturn (\r\n\t\t\r\n\t\t\tดาวน์โหลดเอกสาร\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n","import { forwardRef, useEffect, useState } from 'react'\r\nimport {\r\n\tGrid,\r\n\tDialog,\r\n\tDialogContent,\r\n\tSlide,\r\n\tIconButton,\r\n\tDialogTitle,\r\n\tTextField,\r\n\tDivider,\r\n\tuseMediaQuery,\r\n} from '@material-ui/core'\r\nimport 'date-fns'\r\nimport DateFnsUtils from '@date-io/date-fns'\r\nimport {\r\n\tMuiPickersUtilsProvider,\r\n\tKeyboardDatePicker,\r\n} from '@material-ui/pickers'\r\nimport { useTheme } from '@material-ui/core/styles'\r\nimport { Close } from '@material-ui/icons'\r\n\r\nimport File from './file'\r\n\r\nexport default function ValidationModal({\r\n\topen = false,\r\n\tcurrentSelectedError = {\r\n\t\tdataSetItemID: '',\r\n\t\treason: '',\r\n\t\tsolution: '',\r\n\t\tperiodSolution: new Date(),\r\n\t\tvalidateFileUrl: null,\r\n\t},\r\n\tonClose,\r\n}) {\r\n\tconst theme = useTheme()\r\n\tconst fullScreen = useMediaQuery(theme.breakpoints.down('sm'))\r\n\r\n\tconst [invalidInputMethod, setInvalidInputMethod] = useState('message')\r\n\r\n\tuseEffect(() => {\r\n\t\tif (currentSelectedError.validateFileUrl) setInvalidInputMethod('attach')\r\n\t\telse setInvalidInputMethod('message')\r\n\t}, [currentSelectedError])\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tผลการประเมิน\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t{invalidInputMethod === 'message' && (\r\n\t\t\t\t\t<>\r\n\t\t\t\t\t\t{' '}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{/* Reason */}\r\n\t\t\t\t\t\t\tเหตุผล*\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{/* How to solve */}\r\n\t\t\t\t\t\t\tวิธีการแก้ไข*\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{/* Duration */}\r\n\t\t\t\t\t\t\tระยะเวลาการแก้ไข*\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t\t{invalidInputMethod === 'attach' && (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{/* \r\n\t\t\t\t\t\t\tไฟล์เหตุผลที่ไม่ผ่านการประเมิน\r\n\t\t\t\t\t\t */}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n\r\nconst Transition = forwardRef(function Transtition(props, ref) {\r\n\treturn \r\n})\r\n","import { useState, useEffect } from 'react'\r\nimport { useReduceForm } from '../../../../../utils/useReduceForm'\r\nimport {\r\n\tGrid,\r\n\tCard,\r\n\tCardContent,\r\n\tDivider,\r\n\tuseMediaQuery,\r\n} from '@material-ui/core'\r\nimport { useTheme, makeStyles } from '@material-ui/styles'\r\n\r\nimport TwoPointThreeSubHeader from './two-point-three-header/index'\r\nimport ExcelSubHeader from './sub-header'\r\nimport SubLabelType1 from './sub-label-1'\r\nimport SubLabelType2 from './sub-label-2'\r\nimport SubLabelType3 from './sub-label-3'\r\nimport ValidationModal from '../validation-modal/index'\r\n\r\nimport { fixed_general_details } from '../../../../../data/standard-reportV2/fixed-general'\r\nimport { fixed_info_details } from '../../../../../data/standard-reportV2/fixed-info'\r\nimport { fixed_sound_details } from '../../../../../data/standard-reportV2/fixed-sound'\r\nimport { mobile_general_details } from '../../../../../data/standard-reportV2/mobile-general'\r\nimport { mobile_info_details } from '../../../../../data/standard-reportV2/mobile-info'\r\nimport { mobile_sound_details } from '../../../../../data/standard-reportV2/mobile-sound'\r\nimport { canceledListDetailNo } from 'data/standard-reportV2/canceledList'\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n\tform_container: {\r\n\t\twidth: '700px',\r\n\t\toverflow: 'scroll',\r\n\t},\r\n}))\r\n\r\nexport default function StandardReportForm({\r\n\t// Main Component's State\r\n\tflags,\r\n\tpreField,\r\n\ttype,\r\n\tonFillForm,\r\n\t// Standard Report Answers\r\n\tfixedGeneralAnswers,\r\n\tfixedInfoAnswers,\r\n\tfixedSoundAnswers,\r\n\tmobileGeneralAnswers,\r\n\tmobileInfoAnswers,\r\n\tmobileSoundAnswers,\r\n\t// Validation\r\n\tcurrentSelectedError,\r\n\topenValidationModal,\r\n\tonOpenValidationModal,\r\n\tonCloseValidationModal,\r\n}) {\r\n\tconst classes = useStyles()\r\n\tconst [report, setReport] = useState([])\r\n\tconst [reportName, setReportName] = useState('')\r\n\tconst [answers, setAnswers] = useState([])\r\n\tconst theme = useTheme()\r\n\tconst isMobile = useMediaQuery(theme.breakpoints.down('sm'))\r\n\tconst { form } = useReduceForm(report)\r\n\tconst nvmo_no = ['2.1.4', '2.1.5', '2.1.6']\r\n\r\n\tuseEffect(() => {\r\n\t\tif (type === 'fixed-general') setReport(fixed_general_details)\r\n\t\telse if (type === 'fixed-sound') setReport(fixed_sound_details)\r\n\t\telse if (type === 'fixed-info') setReport(fixed_info_details)\r\n\t\telse if (type === 'mobile-general') setReport(mobile_general_details)\r\n\t\telse if (type === 'mobile-sound') setReport(mobile_sound_details)\r\n\t\telse if (type === 'mobile-info') setReport(mobile_info_details)\r\n\r\n\t\tif (type === 'fixed-general')\r\n\t\t\tsetReportName('ส่วนที่ 1 ค่าชี้วัดคุณภาพบริการทั่วไป')\r\n\t\telse if (type === 'fixed-sound')\r\n\t\t\tsetReportName('ส่วนที่ 2 ค่าชี้วัดคุณภาพบริการประเภทเสียง')\r\n\t\telse if (type === 'fixed-info')\r\n\t\t\tsetReportName('ส่วนที่ 3 ค่าชี้วัดคุณภาพบริการประเภทข้อมูล')\r\n\t\telse if (type === 'mobile-general')\r\n\t\t\tsetReportName('ส่วนที่ 1 ค่าชี้วัดคุณภาพบริการทั่วไป')\r\n\t\telse if (type === 'mobile-sound')\r\n\t\t\tsetReportName('ส่วนที่ 2 ค่าชี้วัดคุณภาพบริการประเภทเสียง')\r\n\t\telse if (type === 'mobile-info')\r\n\t\t\tsetReportName('ส่วนที่ 3 ค่าชี้วัดคุณภาพบริการประเภทข้อมูล')\r\n\t}, [type])\r\n\r\n\tuseEffect(() => {\r\n\t\tconst tempAnswers = [\r\n\t\t\t...fixedGeneralAnswers,\r\n\t\t\t...fixedInfoAnswers,\r\n\t\t\t...fixedSoundAnswers,\r\n\t\t\t...mobileGeneralAnswers,\r\n\t\t\t...mobileInfoAnswers,\r\n\t\t\t...mobileSoundAnswers,\r\n\t\t]\r\n\t\tsetAnswers(tempAnswers)\r\n\t}, [\r\n\t\tfixedGeneralAnswers,\r\n\t\tfixedInfoAnswers,\r\n\t\tfixedSoundAnswers,\r\n\t\tmobileGeneralAnswers,\r\n\t\tmobileInfoAnswers,\r\n\t\tmobileSoundAnswers,\r\n\t])\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t\r\n\t\t\t\t{reportName}\r\n\t\t\t\t\r\n\t\t\t\t\tไม่ต้องกำหนดข้อมูล ถ้าท่านไม่มีการให้บริการในข้อใด หรือ\r\n\t\t\t\t\tรายละเอียดของชุดข้อมูลนั้นๆ\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{form.map((detail, index) => {\r\n\t\t\t\t\t\t\tconst isNeedAnswer = detail.isNeedAnswer\r\n\t\t\t\t\t\t\tconst sub_label_type = detail.sub_labels.sub_label_type\r\n\t\t\t\t\t\t\tconst labels = detail.sub_labels.labels\r\n\t\t\t\t\t\t\tconst isNVMO = flags?.NVMO && nvmo_no.includes(detail.no)\r\n\t\t\t\t\t\t\tconst isPayPhone = flags?.payphone\r\n\t\t\t\t\t\t\tconst isTwoPointThree = detail.no.includes('2.3.' || '2.2.')\r\n\t\t\t\t\t\t\tconst canceledList = canceledListDetailNo\r\n\t\t\t\t\t\t\t// if detail no in cancledListDetailNo\r\n\t\t\t\t\t\t\tif (canceledList.includes(detail.no)) {\r\n\t\t\t\t\t\t\t\treturn <>\r\n\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\tif (detail.no !== '1.1.7')\r\n\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{/* Header */}\r\n\t\t\t\t\t\t\t\t\t\tข้อ\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\tค่าชี้วัดคุณภาพบริการ\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tค่าเป้าหมาย\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\tเงื่อนไขการกรอกข้อมูล\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{/* Divider */}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{/* Questions */}\r\n\t\t\t\t\t\t\t\t\t\t{/* ข้อ */}\r\n\t\t\t\t\t\t\t\t\t\t{detail.no}\r\n\t\t\t\t\t\t\t\t\t\t{/* ค่าชี้วัดคุณภาพบริการ */}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{detail.label}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{/* ค่าเป้าหมาย */}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{detail.targeted_text.map((item, index) => (\r\n\t\t\t\t\t\t\t\t\t\t\t\t{item}\r\n\t\t\t\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{/* เงื่อนไชการกรอกข้อมูล */}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t*{detail.filling_condition}\r\n\t\t\t\t\t\t\t\t\t\t\t{isNVMO && * มี MVNO}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{/* รายละเอียดชุดข้อมูล */}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{/* Header */}\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\tผลการวัด\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{/* Two Point Three Sub Header */}\r\n\t\t\t\t\t\t\t\t\t\t\t{isTwoPointThree && (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t{/* Sub Header */}\r\n\t\t\t\t\t\t\t\t\t\t\t{isNeedAnswer && (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t{/* Content */}\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t{/* Sub Label Type 1 */}\r\n\t\t\t\t\t\t\t\t\t\t\t{isNeedAnswer && sub_label_type === 1 && (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t{/* Sub Label Type 2 */}\r\n\t\t\t\t\t\t\t\t\t\t\t{isNeedAnswer &&\r\n\t\t\t\t\t\t\t\t\t\t\t\tsub_label_type === 2 &&\r\n\t\t\t\t\t\t\t\t\t\t\t\tlabels.map((item, index) => (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t))}\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t{/* Sub Label Type 3 */}\r\n\t\t\t\t\t\t\t\t\t\t\t{isNeedAnswer &&\r\n\t\t\t\t\t\t\t\t\t\t\t\tsub_label_type === 3 &&\r\n\t\t\t\t\t\t\t\t\t\t\t\tlabels.map(item => (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)\r\n\r\n\t\t\t\t\t\t\tif (detail.no === '1.1.7' && isPayPhone)\r\n\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{/* Header */}\r\n\t\t\t\t\t\t\t\t\t\tข้อ\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\tค่าชี้วัดคุณภาพบริการ\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tค่าเป้าหมาย\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\tเงื่อนไขการกรอกข้อมูล\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{/* Divider */}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{/* Questions */}\r\n\t\t\t\t\t\t\t\t\t\t{/* ข้อ */}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{detail.no}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{/* ค่าชี้วัดคุณภาพบริการ */}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{detail.label}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{/* ค่าเป้าหมาย */}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{detail.targeted_text.map((item, index) => (\r\n\t\t\t\t\t\t\t\t\t\t\t\t{item}\r\n\t\t\t\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{/* เงื่อนไชการกรอกข้อมูล */}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t*{detail.filling_condition}\r\n\t\t\t\t\t\t\t\t\t\t\t{isNVMO && * มี MVNO}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{/* รายละเอียดชุดข้อมูล */}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{/* Header */}\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\tผลการวัด\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{/* Sub Header */}\r\n\t\t\t\t\t\t\t\t\t\t\t{isNeedAnswer && (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t{/* Content */}\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t{/* Sub Label Type 1 */}\r\n\t\t\t\t\t\t\t\t\t\t\t{isNeedAnswer && sub_label_type === 1 && (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t{/* Sub Label Type 2 */}\r\n\t\t\t\t\t\t\t\t\t\t\t{isNeedAnswer &&\r\n\t\t\t\t\t\t\t\t\t\t\t\tsub_label_type === 2 &&\r\n\t\t\t\t\t\t\t\t\t\t\t\tlabels.map((item, index) => (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t))}\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t{/* Sub Label Type 3 */}\r\n\t\t\t\t\t\t\t\t\t\t\t{isNeedAnswer &&\r\n\t\t\t\t\t\t\t\t\t\t\t\tsub_label_type === 3 &&\r\n\t\t\t\t\t\t\t\t\t\t\t\tlabels.map(item => (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)\r\n\r\n\t\t\t\t\t\t\treturn <>\r\n\t\t\t\t\t\t})}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n","import { useEffect } from 'react'\r\nimport { Card, CardContent, Grid, Divider } from '@material-ui/core'\r\nimport { Place, DirectionsWalk } from '@material-ui/icons'\r\n\r\nimport StandardReportForm from './excel'\r\n\r\nexport default function ReportCard({\r\n\t// Main Component's State\r\n\tflags,\r\n\ttype,\r\n\tpreField,\r\n\tonFillForm,\r\n\t// Standard Report Answers\r\n\tfixedGeneralAnswers,\r\n\tfixedInfoAnswers,\r\n\tfixedSoundAnswers,\r\n\tmobileGeneralAnswers,\r\n\tmobileInfoAnswers,\r\n\tmobileSoundAnswers,\r\n\t// Validation\r\n\tcurrentSelectedError,\r\n\topenValidationModal,\r\n\tonOpenValidationModal,\r\n\tonCloseValidationModal,\r\n\t// Document Status ID\r\n\tdocumentStatusID,\r\n}) {\r\n\tuseEffect(() => {\r\n\t\twindow.scrollTo(0, 0)\r\n\t}, [type])\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{type?.includes('fixed') ? (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t{type?.includes('fixed') ? (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tแบบประจำที่ (Fixed)\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tแบบเคลื่อนที่ (Mobile)\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n","import { Grid } from '@material-ui/core'\r\n\r\nimport ReportCard from '../form'\r\nimport ValidationModal from '../form/validation-modal/index'\r\n\r\nexport default function StandardReportStep2({\r\n\tlist,\r\n\tcurrentFilledFormIndex,\r\n\t// Standard Report Answers\r\n\tfixedGeneralAnswers,\r\n\tfixedInfoAnswers,\r\n\tfixedSoundAnswers,\r\n\tmobileGeneralAnswers,\r\n\tmobileInfoAnswers,\r\n\tmobileSoundAnswers,\r\n\t// Validation\r\n\tcurrentSelectedError,\r\n\topenValidationModal,\r\n\tonOpenValidationModal,\r\n\tonCloseValidationModal,\r\n\t// Document Status ID\r\n\tdocumentStatusID,\r\n}) {\r\n\treturn (\r\n\t\t<>\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n","import Step1 from './step-1'\r\nimport Step2 from './step-2'\r\n// import Step3 from './step-3'\r\n\r\nexport default function getStepContent(\r\n\tstep,\r\n\trowData,\r\n\t// Standard Report State\r\n\treportTypes,\r\n\tcurrentFilledFormIndex,\r\n\t// Standard Report Answers\r\n\tfixedGeneralAnswers,\r\n\tfixedInfoAnswers,\r\n\tfixedSoundAnswers,\r\n\tmobileGeneralAnswers,\r\n\tmobileInfoAnswers,\r\n\tmobileSoundAnswers,\r\n\tdataSetFilesUpload,\r\n\t// Validation\r\n\tcurrentSelectedError,\r\n\topenValidationModal,\r\n\tonOpenValidationModal,\r\n\tonCloseValidationModal,\r\n\t// Document Status ID\r\n\tdocumentStatusID\r\n) {\r\n\tswitch (step) {\r\n\t\tcase 0:\r\n\t\t\treturn \r\n\t\tcase 1:\r\n\t\t\treturn (\r\n\t\t\t\t\r\n\t\t\t)\r\n\t\tdefault:\r\n\t\t\treturn 'Unknown step'\r\n\t}\r\n}\r\n","import React, { useState, useEffect, useCallback, useMemo } from 'react'\r\nimport { useHistory } from 'react-router'\r\nimport {\r\n\tGrid,\r\n\tTypography,\r\n\tStep,\r\n\tStepper,\r\n\tStepConnector,\r\n\tStepLabel,\r\n\tButton,\r\n\tTextField,\r\n} from '@material-ui/core'\r\nimport { Description, Spellcheck, Check, Assignment } from '@material-ui/icons'\r\n\r\nimport SendingStandardReportModalSuccess from '@components/users/standard-report-validation/modal'\r\nimport SomethingWentWrongModal from '@components/users/standard-report-validation/something-went-wrong-modal'\r\nimport SureModal from 'components/SureModal'\r\n\r\nimport { convertNumber } from 'utils/convertExcelNumber'\r\nimport { useParams } from 'react-router-dom'\r\nimport getStepContent from '@components/users/standard-report-validation'\r\nimport { makeStyles, withStyles } from '@material-ui/core/styles'\r\nimport clsx from 'clsx'\r\nimport PropTypes from 'prop-types'\r\nimport { useStoreRehydrated } from '@store'\r\nimport { datasetRecord } from '@api'\r\nimport { useLoaded } from '../../../../utils/useLoaded'\r\nimport { mobile_additional_files } from '../../../../data/standard-reportV2/ui/mobile-additional-files'\r\nimport { format } from 'date-fns'\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n\troot: {\r\n\t\twidth: '100%',\r\n\t},\r\n\tbutton: {\r\n\t\tmarginRight: theme.spacing(1),\r\n\t},\r\n\tinstructions: {\r\n\t\tmarginTop: theme.spacing(1),\r\n\t\tmarginBottom: theme.spacing(1),\r\n\t},\r\n\tnon_approve_button: {\r\n\t\tbackgroundColor: '#c33939',\r\n\t\tcolor: 'white',\r\n\t\t'&:hover': {\r\n\t\t\tbackgroundColor: '#a33e3e',\r\n\t\t},\r\n\t},\r\n\tapprove_button: {\r\n\t\tbackgroundColor: '#1DBF73',\r\n\t\tcolor: '#fff',\r\n\t\t'&:hover': {\r\n\t\t\tbackgroundColor: '#1DBF73',\r\n\t\t},\r\n\t},\r\n\tapprove_hidden_button: {\r\n\t\tdisplay: 'none',\r\n\t\tvisibility: 'none',\r\n\t\twidth: '0',\r\n\t},\r\n\treject_button: {\r\n\t\tbackgroundColor: '#DB4D44',\r\n\t\tcolor: '#fff',\r\n\t\t'&:hover': {\r\n\t\t\tbackgroundColor: '#DB4D44',\r\n\t\t},\r\n\t},\r\n\tnext_button: {\r\n\t\tbackgroundColor: '#8f2b35',\r\n\t\tcolor: '#fff',\r\n\t\t'&:hover': {\r\n\t\t\tbackgroundColor: '#8f2b35',\r\n\t\t},\r\n\t},\r\n}))\r\n\r\nconst Connector = withStyles({\r\n\talternativeLabel: {\r\n\t\ttop: 22,\r\n\t},\r\n\tactive: {\r\n\t\t'& $line': {\r\n\t\t\tbackgroundColor: '#a74345',\r\n\t\t},\r\n\t},\r\n\tcompleted: {\r\n\t\t'& $line': {\r\n\t\t\tbackgroundColor: '#a74345',\r\n\t\t},\r\n\t},\r\n\tline: {\r\n\t\theight: 3,\r\n\t\tborder: 0,\r\n\t\tbackgroundColor: '#eaeaf0',\r\n\t\tborderRadius: 1,\r\n\t},\r\n})(StepConnector)\r\n\r\nconst useStepStyles = makeStyles({\r\n\troot: {\r\n\t\tbackgroundColor: '#ccc',\r\n\t\tzIndex: 1,\r\n\t\tcolor: '#fff',\r\n\t\twidth: 50,\r\n\t\theight: 50,\r\n\t\tdisplay: 'flex',\r\n\t\tborderRadius: '50%',\r\n\t\tjustifyContent: 'center',\r\n\t\talignItems: 'center',\r\n\t},\r\n\tactive: {\r\n\t\tbackgroundColor: '#a74345',\r\n\t\tboxShadow: '0 4px 10px 0 rgba(0,0,0,.25)',\r\n\t},\r\n\tcompleted: {\r\n\t\tbackgroundColor: '#a74345',\r\n\t},\r\n})\r\n\r\nfunction getSteps() {\r\n\treturn ['รายละเอียดการส่ง', 'รายละเอียดรายงาน']\r\n}\r\n\r\nexport default function StandardReportValidationDetails({ match }) {\r\n\tconst isReHydrated = useStoreRehydrated()\r\n\tconst history = useHistory()\r\n\tconst { id } = useParams()\r\n\tconst classes = useStyles()\r\n\tconst steps = getSteps()\r\n\tconst [activeStep, setActiveStep] = useState(0)\r\n\tconst validateStep3 = false\r\n\tconst [openStandardReportSuccessModal, setOpenStandardReportSuccessModal] =\r\n\t\tuseState(false)\r\n\t// Type of Standard Report\r\n\tconst [reportTypes, setReportTypes] = useState([])\r\n\t// Current Page of Required Filled Standard Report Form\r\n\tconst [currentFilledFormIndex, setCurrentFilledFormIndex] = useState(0)\r\n\t// Standard Report Form Answers\r\n\tconst [fixedGeneralAnswers, setFixedGeneralAnswers] = useState([])\r\n\tconst [fixedInfoAnswers, setFixedInfoAnswers] = useState([])\r\n\tconst [fixedSoundAnswers, setFixedSoundAnswers] = useState([])\r\n\tconst [mobileGeneralAnswers, setMobileGeneralAnswers] = useState([])\r\n\tconst [mobileInfoAnswers, setMobileInfoAnswers] = useState([])\r\n\tconst [mobileSoundAnswers, setMobileSoundAnswers] = useState([])\r\n\tconst [dataSetFilesUpload, setDataSetFilesUpload] = useState({})\r\n\tconst loaded = useLoaded()\r\n\tconst [currentSelectedError, setCurrentSelectedError] = useState({\r\n\t\tdataSetItemID: '',\r\n\t\treason: '',\r\n\t\tsolution: '',\r\n\t\tperiodSolution: '',\r\n\t\tvalidateFileUrl: null,\r\n\t})\r\n\tconst [openSureModal, setOpenSureModal] = useState(false)\r\n\tconst [openValidationModal, setOpenValidationModal] = useState(false)\r\n\tconst [openSomethingWentWrongModal, setSomethingWentWrongModal] =\r\n\t\tuseState(false)\r\n\tconst [documentStatusID, setDocumentStatusID] = useState(0)\r\n\tconst [submitType, setSubmitType] = useState('approve')\r\n\tconst [remark, setRemark] = useState('')\r\n\r\n\t/** ---------------------------------------------- */\r\n\r\n\t/** Main Handler Function */\r\n\r\n\tconst onOpenStandardReportSuccessModal = useCallback(() => {\r\n\t\tsetOpenStandardReportSuccessModal(prevState => !prevState)\r\n\t}, [])\r\n\r\n\tconst onAgreeStandardReportSuccessModalCTA = () => {\r\n\t\tonOpenStandardReportSuccessModal()\r\n\t\thistory.push({\r\n\t\t\tpathname: '/standard-report-validation',\r\n\t\t})\r\n\t}\r\n\r\n\tconst handleNext = () => {\r\n\t\tsetActiveStep(prevActiveStep => prevActiveStep + 1)\r\n\t}\r\n\r\n\tconst handleBack = () => {\r\n\t\tsetActiveStep(prevActiveStep => prevActiveStep - 1)\r\n\t}\r\n\r\n\tconst changeStatusReportHead = useCallback(async () => {\r\n\t\tconst { status } = await datasetRecord.changeStatusReportHead(id, 3)\r\n\t\tif (status === 200) onOpenStandardReportSuccessModal()\r\n\t}, [onOpenStandardReportSuccessModal, id])\r\n\r\n\tconst changeStatusReportHeadToReject = useCallback(async () => {\r\n\t\tconst { status } = await datasetRecord.changeStatusReportHead(id, 1, remark)\r\n\t\tif (status === 200) onOpenStandardReportSuccessModal()\r\n\t}, [id, remark, onOpenStandardReportSuccessModal])\r\n\r\n\tfunction StepperIcon(props) {\r\n\t\tconst classes = useStepStyles()\r\n\t\tconst { active, completed } = props\r\n\r\n\t\tconst icons = {\r\n\t\t\t1: ,\r\n\t\t\t2: ,\r\n\t\t\t3: ,\r\n\t\t}\r\n\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t{completed ? : icons[String(props.icon)]}\r\n\t\t\t
\r\n\t\t)\r\n\t}\r\n\r\n\tStepperIcon.propTypes = {\r\n\t\tactive: PropTypes.bool,\r\n\t\tcompleted: PropTypes.bool,\r\n\t\ticon: PropTypes.node,\r\n\t}\r\n\r\n\tconst [rowData, setRowData] = useState([])\r\n\r\n\tconst onLanding = useCallback(async () => {\r\n\t\tconst res = await datasetRecord.getlistdetails(id)\r\n\r\n\t\tconst tempFixedGeneralAnswers = []\r\n\t\tconst tempFixedSoundAnswers = []\r\n\t\tconst tempFixedInfoAnswers = []\r\n\t\tconst tempMobileGeneralAnswers = []\r\n\t\tconst tempMobileSoundAnswers = []\r\n\t\tconst tempMobileInfoAnswers = []\r\n\r\n\t\t/**\r\n\t\t * Answer Object Example:\r\n\t\t * {\r\n\t\t * \tdataSetItemID: Integer,\r\n\t\t * dataValueMonth1: String,\r\n\t\t * dataValueMonth2: String,\r\n\t\t * dataValueMonth3: String,\r\n\t\t * dataValueMonthAvg: String,\r\n\t\t * \t\treason: String,\r\n\t\t * \t\tsolution: String,\r\n\t\t * \t\tperiodSolution: String,\r\n\t\t * \t\tvalidateFileUrl: String\r\n\t\t * }\r\n\t\t */\r\n\r\n\t\tif (res) {\r\n\t\t\t// ANSWERS\r\n\t\t\tconst nonFloatDataSetItemIDs = [\r\n\t\t\t\t337,\r\n\t\t\t\t338,\r\n\t\t\t\t339,\r\n\t\t\t\t340,\r\n\t\t\t\t341,\r\n\t\t\t\t342,\r\n\t\t\t\t343,\r\n\t\t\t];\r\n\t\t\tres.data.forEach(item => {\r\n\t\t\t\tvar newitem = {};\r\n\t\t\t\tif (nonFloatDataSetItemIDs.includes(item.dataSetItemID)) {\r\n\t\t\t\t\tnewitem = {\r\n\t\t\t\t\t\t...item,\r\n\t\t\t\t\t\tdataSetItemID: item.dataSetItemID,\r\n\t\t\t\t\t\tdataValueMonth1: item.dataValueMonth1\r\n\t\t\t\t\t\t\t? item.dataValueMonth1\r\n\t\t\t\t\t\t\t: '',\r\n\t\t\t\t\t\tdataValueMonth2: item.dataValueMonth2\r\n\t\t\t\t\t\t\t? item.dataValueMonth2\r\n\t\t\t\t\t\t\t: '',\r\n\t\t\t\t\t\tdataValueMonth3: item.dataValueMonth3\r\n\t\t\t\t\t\t\t? item.dataValueMonth3\r\n\t\t\t\t\t\t\t: '',\r\n\t\t\t\t\t\tdataValueMonthAvg: item.dataValueMonthAvg\r\n\t\t\t\t\t\t\t? item.dataValueMonthAvg\r\n\t\t\t\t\t\t\t: '',\r\n\t\t\t\t\t\tdataValueExtra: item.dataValueExtra\r\n\t\t\t\t\t\t\t? item.dataValueExtra\r\n\t\t\t\t\t\t\t: '',\r\n\t\t\t\t\t}\r\n\t\t\t\t} else {\r\n\t\t\t\t\tnewitem = {\r\n\t\t\t\t\t\t...item,\r\n\t\t\t\t\t\tdataSetItemID: item.dataSetItemID,\r\n\t\t\t\t\t\tdataValueMonth1: item.dataValueMonth1\r\n\t\t\t\t\t\t\t? convertNumber(item.dataValueMonth1, true)\r\n\t\t\t\t\t\t\t: '',\r\n\t\t\t\t\t\tdataValueMonth2: item.dataValueMonth2\r\n\t\t\t\t\t\t\t? convertNumber(item.dataValueMonth2, true)\r\n\t\t\t\t\t\t\t: '',\r\n\t\t\t\t\t\tdataValueMonth3: item.dataValueMonth3\r\n\t\t\t\t\t\t\t? convertNumber(item.dataValueMonth3, true)\r\n\t\t\t\t\t\t\t: '',\r\n\t\t\t\t\t\tdataValueMonthAvg: item.dataValueMonthAvg\r\n\t\t\t\t\t\t\t? convertNumber(item.dataValueMonthAvg, true)\r\n\t\t\t\t\t\t\t: '',\r\n\t\t\t\t\t\tdataValueExtra: item.dataValueExtra\r\n\t\t\t\t\t\t\t? item.dataValueExtra\r\n\t\t\t\t\t\t\t: '',\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\r\n\t\t\t\tif (item.dataSetItemID <= 10) tempFixedGeneralAnswers.push(newitem)\r\n\t\t\t\telse if (item.dataSetItemID <= 20) tempFixedSoundAnswers.push(newitem)\r\n\t\t\t\telse if (item.dataSetItemID <= 30) tempFixedInfoAnswers.push(newitem)\r\n\t\t\t\telse if (item.dataSetItemID <= 40)\r\n\t\t\t\t\ttempMobileGeneralAnswers.push(newitem)\r\n\t\t\t\telse if (item.dataSetItemID <= 200) tempMobileSoundAnswers.push(newitem)\r\n\t\t\t\telse if (item.dataSetItemID > 200) tempMobileInfoAnswers.push(newitem)\r\n\t\t\t})\r\n\r\n\t\t\tlet tempReportTypes = []\r\n\r\n\t\t\tif (tempFixedGeneralAnswers.length !== 0)\r\n\t\t\t\ttempReportTypes.push('fixed-general')\r\n\r\n\t\t\tif (tempFixedSoundAnswers.length !== 0)\r\n\t\t\t\ttempReportTypes.push('fixed-sound')\r\n\r\n\t\t\tif (tempFixedInfoAnswers.length !== 0) tempReportTypes.push('fixed-info')\r\n\r\n\t\t\tif (tempMobileGeneralAnswers.length !== 0)\r\n\t\t\t\ttempReportTypes.push('mobile-general')\r\n\r\n\t\t\tif (tempMobileSoundAnswers.length !== 0)\r\n\t\t\t\ttempReportTypes.push('mobile-sound')\r\n\r\n\t\t\tif (tempMobileInfoAnswers.length !== 0)\r\n\t\t\t\ttempReportTypes.push('mobile-info')\r\n\r\n\t\t\t// setFormAmount(tempFormAmount)\r\n\t\t\tsetReportTypes(tempReportTypes)\r\n\r\n\t\t\tsetFixedGeneralAnswers(tempFixedGeneralAnswers)\r\n\t\t\tsetFixedSoundAnswers(tempFixedSoundAnswers)\r\n\t\t\tsetFixedInfoAnswers(tempFixedInfoAnswers)\r\n\t\t\tsetMobileGeneralAnswers(tempMobileGeneralAnswers)\r\n\t\t\tsetMobileSoundAnswers(tempMobileSoundAnswers)\r\n\t\t\tsetMobileInfoAnswers(tempMobileInfoAnswers)\r\n\r\n\t\t\t/**\r\n\t\t\t * Data Set Files Upload Example\r\n\t\t\t * {\r\n\t\t\t * \t\tid: Number,\r\n\t\t\t * \t\tdataSetRecordHeadID: Number,\r\n\t\t\t * \t\tfilePath: String,\r\n\t\t\t * \t\tcategory: String,\r\n\t\t\t * \t\tupdatedAt: String,\r\n\t\t\t * \t\turl: String\r\n\t\t\t * }\r\n\t\t\t */\r\n\r\n\t\t\t// DATA SET FILES UPLOAD\r\n\t\t\tconst tempFiles = {}\r\n\r\n\t\t\tmobile_additional_files.forEach(item => {\r\n\t\t\t\ttempFiles[item.key] = []\r\n\t\t\t})\r\n\r\n\t\t\tres.files.forEach(file => {\r\n\t\t\t\tif (!tempFiles[file.category]) tempFiles[file.category] = []\r\n\r\n\t\t\t\ttempFiles[file.category].push(file)\r\n\t\t\t})\r\n\r\n\t\t\tif (res?.files?.length === 0 && res?.data?.length === 0)\r\n\t\t\t\tsetSomethingWentWrongModal(true)\r\n\r\n\t\t\tsetDataSetFilesUpload(tempFiles)\r\n\r\n\t\t\tlet rowDataTemp = {\r\n\t\t\t\tname: res.info.operatorUserName,\r\n\t\t\t\tcompanyName: res.info.operatorName,\r\n\t\t\t\tsubmit_date: format(new Date(res.info.sendToAdminAt), 'dd/MM/yyyy'),\r\n\t\t\t\tstatus: res.info.status,\r\n\t\t\t\tdataTypeList: res.info.reportType,\r\n\t\t\t\tisRejected: res.info.isRejected,\r\n\t\t\t\trejectReason: res.info.rejectReason,\r\n\t\t\t}\r\n\t\t\tsetRowData(rowDataTemp)\r\n\r\n\t\t\tsetDocumentStatusID(res.info.statusID)\r\n\t\t}\r\n\t}, [id])\r\n\r\n\t/** ---------------------------------------------- */\r\n\r\n\t/** Step 2 */\r\n\r\n\tconst onIncrementCurrentFilledFormIndex = () =>\r\n\t\tsetCurrentFilledFormIndex(currentFilledFormIndex + 1)\r\n\r\n\tconst onDecrementCurrentFilledFormIndex = () =>\r\n\t\tsetCurrentFilledFormIndex(currentFilledFormIndex - 1)\r\n\r\n\tconst onOpenValidationModal = (\r\n\t\tdataSetItemID,\r\n\t\treason,\r\n\t\tsolution,\r\n\t\tperiodSolution,\r\n\t\tvalidateFileUrl\r\n\t) => {\r\n\t\tsetCurrentSelectedError({\r\n\t\t\tdataSetItemID,\r\n\t\t\treason,\r\n\t\t\tsolution,\r\n\t\t\tperiodSolution,\r\n\t\t\tvalidateFileUrl,\r\n\t\t})\r\n\r\n\t\tsetOpenValidationModal(true)\r\n\t}\r\n\r\n\tconst onCloseValidationModal = () => setOpenValidationModal(false)\r\n\r\n\tconst titleSureModal = useMemo(\r\n\t\t() => (submitType === 'approve' ? 'อนุมัติรายงาน' : 'ไม่อนุมัติรายงาน'),\r\n\t\t[submitType]\r\n\t)\r\n\r\n\tconst contentSureModal = useMemo(\r\n\t\t() =>\r\n\t\t\tsubmitType === 'approve' ? (\r\n\t\t\t\t
ยืนยันอนุมัติรายงาน
\r\n\t\t\t) : (\r\n\t\t\t\t<>\r\n\t\t\t\t\t {\r\n\t\t\t\t\t\t\tsetRemark(e.target.value)\r\n\t\t\t\t\t\t}}\r\n\t\t\t\t\t\tvalue={remark}\r\n\t\t\t\t\t/>\r\n\t\t\t\t\r\n\t\t\t),\r\n\t\t[submitType, remark]\r\n\t)\r\n\r\n\tconst onSubmitAfterSure = useCallback(() => {\r\n\t\tif (submitType === 'approve') {\r\n\t\t\tchangeStatusReportHead(id, 3)\r\n\t\t} else if (submitType === 'reject') {\r\n\t\t\tchangeStatusReportHeadToReject(id, 1)\r\n\t\t}\r\n\t}, [submitType, changeStatusReportHeadToReject, changeStatusReportHead, id])\r\n\r\n\tconst isRenderCTARight = useMemo(() => {\r\n\t\tif (documentStatusID === 4 || documentStatusID === 3) {\r\n\t\t\tif (\r\n\t\t\t\tactiveStep === steps.length - 1 &&\r\n\t\t\t\tcurrentFilledFormIndex === reportTypes.length - 1\r\n\t\t\t)\r\n\t\t\t\treturn false\r\n\t\t\telse return true\r\n\t\t}\r\n\r\n\t\treturn true\r\n\t}, [documentStatusID, activeStep, steps, currentFilledFormIndex, reportTypes])\r\n\r\n\t/** ---------------------------------------------- */\r\n\r\n\t/** <---------------------------------------------------------------------> */\r\n\r\n\t/** Main Rendering */\r\n\r\n\tuseEffect(() => {\r\n\t\twindow.scrollTo(0, 0)\r\n\t}, [])\r\n\r\n\tuseEffect(() => {\r\n\t\tif (isReHydrated) onLanding()\r\n\t\t// eslint-disable-next-line\r\n\t}, [isReHydrated])\r\n\r\n\tuseEffect(() => {\r\n\t\t// if (documentStatusID === 1 || documentStatusID >= 4)\r\n\t\tif (documentStatusID === 1) history.push('/standard-report-validation')\r\n\t}, [documentStatusID, history])\r\n\r\n\t/** ---------------------------------------------- */\r\n\r\n\treturn (\r\n\t\tloaded && (\r\n\t\t\t<>\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t}>\r\n\t\t\t\t\t\t\t{steps.map((label, index) => (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{label}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{activeStep === steps.length ? (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tAll steps completed - you're finished\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{getStepContent(\r\n\t\t\t\t\t\t\t\t\t\t\t\tactiveStep,\r\n\t\t\t\t\t\t\t\t\t\t\t\trowData,\r\n\t\t\t\t\t\t\t\t\t\t\t\t// Standard Report State,\r\n\t\t\t\t\t\t\t\t\t\t\t\treportTypes,\r\n\t\t\t\t\t\t\t\t\t\t\t\tcurrentFilledFormIndex,\r\n\t\t\t\t\t\t\t\t\t\t\t\t// Standard Report Answers\r\n\t\t\t\t\t\t\t\t\t\t\t\tfixedGeneralAnswers,\r\n\t\t\t\t\t\t\t\t\t\t\t\tfixedInfoAnswers,\r\n\t\t\t\t\t\t\t\t\t\t\t\tfixedSoundAnswers,\r\n\t\t\t\t\t\t\t\t\t\t\t\tmobileGeneralAnswers,\r\n\t\t\t\t\t\t\t\t\t\t\t\tmobileInfoAnswers,\r\n\t\t\t\t\t\t\t\t\t\t\t\tmobileSoundAnswers,\r\n\t\t\t\t\t\t\t\t\t\t\t\tdataSetFilesUpload,\r\n\t\t\t\t\t\t\t\t\t\t\t\t// Validation\r\n\t\t\t\t\t\t\t\t\t\t\t\tcurrentSelectedError,\r\n\t\t\t\t\t\t\t\t\t\t\t\topenValidationModal,\r\n\t\t\t\t\t\t\t\t\t\t\t\tonOpenValidationModal,\r\n\t\t\t\t\t\t\t\t\t\t\t\tonCloseValidationModal,\r\n\t\t\t\t\t\t\t\t\t\t\t\t// Document Status ID\r\n\t\t\t\t\t\t\t\t\t\t\t\tdocumentStatusID\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tif (activeStep === 1 && currentFilledFormIndex !== 0)\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonDecrementCurrentFilledFormIndex()\r\n\t\t\t\t\t\t\t\t\t\t\t\t\telse handleBack()\r\n\t\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\t\tvariant=\"contained\"\r\n\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"w-36\">\r\n\t\t\t\t\t\t\t\t\t\t\t\tย้อนกลับ\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\t\t{isRenderCTARight && (\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetSubmitType('reject')\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetOpenSureModal(true)\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName={`w-36 hidden ${classes.reject_button}`}>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tไม่อนุมัติ\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tif (activeStep === 2) {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tchangeStatusReportHead(id, 3)\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tif (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tactiveStep === 1 &&\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcurrentFilledFormIndex < reportTypes.length - 1\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonIncrementCurrentFilledFormIndex()\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\telse if (activeStep !== steps.length - 1)\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\thandleNext()\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\telse if (activeStep === steps.length - 1) {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetSubmitType('approve')\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetOpenSureModal(true)\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tclassName={`w-36 ${activeStep === steps.length - 1 &&\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcurrentFilledFormIndex === reportTypes.length - 1\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t? classes.approve_button\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t: classes.next_button\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}`}>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{activeStep === 0\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? 'ถัดไป'\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: currentFilledFormIndex ===\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\treportTypes.length - 1\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? 'อนุมัติ'\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: 'รายงานถัดไป'}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\r\n\t\t\t\t {\r\n\t\t\t\t\t\tsetOpenSureModal(false)\r\n\t\t\t\t\t}}\r\n\t\t\t\t\thandleButton={onSubmitAfterSure}\r\n\t\t\t\t\thandleCancel={() => {\r\n\t\t\t\t\t\tsetOpenSureModal(false)\r\n\t\t\t\t\t}}\r\n\t\t\t\t/>\r\n\r\n\t\t\t\t\r\n\r\n\t\t\t\t history.goBack()}\r\n\t\t\t\t/>\r\n\t\t\t\r\n\t\t)\r\n\t)\r\n}\r\n","import { Grid, IconButton } from '@material-ui/core'\r\nimport { Edit, Delete } from '@material-ui/icons'\r\n\r\nexport default function OrgActions({\r\n\tid,\r\n\tsetCurrentEditUserID,\r\n\tonOpenUserModal,\r\n\tsetUserModalType,\r\n\tonOpenDeleteUserModal,\r\n}) {\r\n\treturn (\r\n\t\t\r\n\t\t\t {\r\n\t\t\t\t\tsetCurrentEditUserID(id)\r\n\t\t\t\t\tsetUserModalType('edit')\r\n\t\t\t\t\tonOpenUserModal()\r\n\t\t\t\t}}>\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t {\r\n\t\t\t\t\tsetCurrentEditUserID(id)\r\n\t\t\t\t\tonOpenDeleteUserModal()\r\n\t\t\t\t}}>\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n","import { useState, useEffect } from 'react'\r\nimport {\r\n\tGrid,\r\n\tTypography,\r\n\tDivider,\r\n\tButton,\r\n\tuseMediaQuery,\r\n} from '@material-ui/core'\r\nimport { DataGrid, GridOverlay } from '@material-ui/data-grid'\r\nimport {\r\n\tViewComfy,\r\n\tPersonAdd,\r\n\t// SearchOutlined\r\n} from '@material-ui/icons'\r\n\r\nimport OrgActions from '../org-actions/index'\r\n\r\nimport { makeStyles } from '@material-ui/core/styles'\r\nimport { useTheme } from '@material-ui/core/styles'\r\n\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n\tadd_button_styles: {\r\n\t\tbackgroundColor: '#3C8DBC',\r\n\t\tcolor: theme.palette.primary.contrastText,\r\n\t\t'&:hover': {\r\n\t\t\tbackgroundColor: '#2f6f94',\r\n\t\t},\r\n\t},\r\n\tnormal_status_box: {\r\n\t\tbackgroundColor: '#3C8DBC',\r\n\t\tcolor: '#fff',\r\n\t},\r\n\tban_temp_box: {\r\n\t\tbackgroundColor: '#F39C11',\r\n\t\tcolor: '#fff',\r\n\t},\r\n\texpired_box: {\r\n\t\tbackgroundColor: '#DD4C39',\r\n\t\tcolor: '#fff',\r\n\t},\r\n\tnormal_status_text: {\r\n\t\tcolor: '#3C8DBC',\r\n\t\tfontWeight: 600,\r\n\t},\r\n\tban_temp_text: {\r\n\t\tcolor: '#F39C11',\r\n\t\tfontWeight: 600,\r\n\t},\r\n\texpired_text: {\r\n\t\tcolor: '#DD4C39',\r\n\t\tfontWeight: 600,\r\n\t},\r\n}))\r\n\r\nexport default function OrgSearchResult({\r\n\tuser,\r\n\tonOpenUserModal,\r\n\tsetUserModalType,\r\n\tonOpenDeleteUserModal,\r\n\tonSearch,\r\n\tsetCurrentEditUserID,\r\n\tisDataLoading = false,\r\n}) {\r\n\tconst classes = useStyles()\r\n\tconst [pageSize, setPageSize] = useState(10)\r\n\tconst theme = useTheme()\r\n\tconst isMobile = useMediaQuery(theme.breakpoints.down('sm'))\r\n\r\n\tconst [columnsId, setColumnsId] = useState([100, 0])\r\n\tconst [columnsName, setColumnsName] = useState([180, 0])\r\n\tconst [columnsEmail, setColumnsEmail] = useState([180, 0])\r\n\t// eslint-disable-next-line\r\n\tconst [columnsCitizenId, setColumnsCitizenId] = useState([250, 0])\r\n\t// eslint-disable-next-line\r\n\tconst [columnsPhoneNumber, setColumnsPhoneNumber] = useState([250, 0])\r\n\tconst [columnsDuty, setColumnsDuty] = useState([150, 0])\r\n\tconst [columnsStatus, setColumnsStatus] = useState([150, 0])\r\n\tconst [columnsActions, setColumnsActions] = useState([150, 0])\r\n\r\n\tconst columns = [\r\n\t\t{\r\n\t\t\tfield: 'id',\r\n\t\t\theaderName: 'ลำดับ',\r\n\t\t\twidth: columnsId[0],\r\n\t\t\tflex: columnsId[1],\r\n\t\t\theaderAlign: 'left',\r\n\t\t\talign: 'left',\r\n\t\t\trenderCell: params => (\r\n\t\t\t\t{params.value}\r\n\t\t\t),\r\n\t\t},\r\n\t\t{\r\n\t\t\tfield: 'name',\r\n\t\t\theaderName: 'ชื่อ-นามสกุล',\r\n\t\t\twidth: columnsName[0],\r\n\t\t\tflex: columnsName[1],\r\n\t\t\theaderAlign: 'left',\r\n\t\t\talign: 'left',\r\n\t\t\trenderCell: params => (\r\n\t\t\t\t{params.value}\r\n\t\t\t),\r\n\t\t},\r\n\t\t{\r\n\t\t\tfield: 'email',\r\n\t\t\theaderName: 'อีเมล',\r\n\t\t\twidth: columnsEmail[0],\r\n\t\t\tflex: columnsEmail[1],\r\n\t\t\theaderAlign: 'left',\r\n\t\t\talign: 'left',\r\n\t\t\trenderCell: params => (\r\n\t\t\t\t{params.value}\r\n\t\t\t),\r\n\t\t},\r\n\t\t{\r\n\t\t\tfield: 'periodActivate',\r\n\t\t\theaderName: 'ระยะเวลาการใช้งาน',\r\n\t\t\twidth: columnsCitizenId[0],\r\n\t\t\tflex: columnsCitizenId[1],\r\n\t\t\theaderAlign: 'left',\r\n\t\t\talign: 'left',\r\n\t\t\trenderCell: params => {\r\n\t\t\t\treturn {params.value}\r\n\t\t\t},\r\n\t\t},\r\n\t\t{\r\n\t\t\tfield: 'mobile',\r\n\t\t\theaderName: 'หมายเลขโทรศัพท์',\r\n\t\t\twidth: columnsPhoneNumber[0],\r\n\t\t\tflex: columnsPhoneNumber[1],\r\n\t\t\theaderAlign: 'left',\r\n\t\t\talign: 'left',\r\n\t\t\trenderCell: params => {\r\n\t\t\t\t// eslint-disable-next-line\r\n\t\t\t\tconst mobile =\r\n\t\t\t\t\tparams.value.substring(0, 3) +\r\n\t\t\t\t\t'-' +\r\n\t\t\t\t\tparams.value.substring(3, 6) +\r\n\t\t\t\t\t'-' +\r\n\t\t\t\t\tparams.value.substring(6)\r\n\t\t\t\treturn {params.value}\r\n\t\t\t},\r\n\t\t},\r\n\t\t{\r\n\t\t\tfield: 'userRole',\r\n\t\t\theaderName: 'หน้าที่',\r\n\t\t\twidth: columnsDuty[0],\r\n\t\t\tflex: columnsDuty[1],\r\n\t\t\theaderAlign: 'left',\r\n\t\t\talign: 'left',\r\n\t\t\trenderCell: params => {\r\n\t\t\t\r\n\t\t\t\treturn (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{params.value}\r\n\t\t\t\t\t\r\n\t\t\t\t)\r\n\t\t\t},\r\n\t\t},\r\n\t\t{\r\n\t\t\tfield: 'status',\r\n\t\t\theaderName: 'สถานะผู้ใช้งาน',\r\n\t\t\twidth: columnsStatus[0],\r\n\t\t\tflex: columnsStatus[1],\r\n\t\t\theaderAlign: 'left',\r\n\t\t\talign: 'left',\r\n\t\t\trenderCell: params => {\r\n\t\t\t\treturn (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{params.value}\r\n\t\t\t\t\t\r\n\t\t\t\t)\r\n\t\t\t},\r\n\t\t},\r\n\t\t{\r\n\t\t\tfield: 'actions',\r\n\t\t\theaderName: 'การกระทำ',\r\n\t\t\twidth: columnsActions[0],\r\n\t\t\tflex: columnsActions[1],\r\n\t\t\theaderAlign: 'center',\r\n\t\t\talign: 'center',\r\n\t\t\trenderCell: params => (\r\n\t\t\t\t\r\n\t\t\t),\r\n\t\t},\r\n\t]\r\n\r\n\tuseEffect(() => {\r\n\t\tif (isMobile) {\r\n\t\t\tsetColumnsId([100, 0])\r\n\t\t\tsetColumnsName([180, 0])\r\n\t\t\tsetColumnsEmail([180, 0])\r\n\t\t\t// setColumnsCitizenId([250, 0])\r\n\t\t\t// setColumnsPhoneNumber([250, 0])\r\n\t\t\tsetColumnsDuty([150, 0])\r\n\t\t\tsetColumnsStatus([150, 0])\r\n\t\t\tsetColumnsActions([150, 0])\r\n\t\t} else {\r\n\t\t\tsetColumnsId([0, 0.7])\r\n\t\t\tsetColumnsName([0, 1])\r\n\t\t\tsetColumnsEmail([0, 1])\r\n\t\t\t// setColumnsCitizenId([0, 1])\r\n\t\t\t// setColumnsPhoneNumber([0, 1])\r\n\t\t\tsetColumnsDuty([0, 1])\r\n\t\t\tsetColumnsStatus([0, 1])\r\n\t\t\tsetColumnsActions([0, 0.8])\r\n\t\t}\r\n\t}, [isMobile])\r\n\r\n\tconst statusBoxGenerator = status => {\r\n\t\tif (status === 1) return classes.normal_status_text\r\n\t\telse if (status === 2) return classes.ban_temp_text\r\n\t\telse if (status === 3) return classes.expired_text\r\n\t}\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tผลการค้นหา\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t {\r\n\t\t\t\t\t\t\tsetUserModalType('add')\r\n\t\t\t\t\t\t\tonOpenUserModal()\r\n\t\t\t\t\t\t}}>\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\tเพิ่ม\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t setPageSize(size)}\r\n\t\t\t\t\t\tcomponents={{\r\n\t\t\t\t\t\t\tNoRowsOverlay: () => {\r\n\t\t\t\t\t\t\t\tif (!isDataLoading) {\r\n\t\t\t\t\t\t\t\t\treturn ไม่พบข้อมูล;\r\n\t\t\t\t\t\t\t\t}else{\r\n\t\t\t\t\t\t\t\t\treturn กำลังประมวลผลข้อมูล โปรดรอสักครู่..;\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}}\r\n\t\t\t\t\t/>\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n","export const org_duty = {\r\n\t1: { name: 'ผู้กำหนดสิทธิ์', value: 1 },\r\n\t2: { name: 'ผู้เตรียมข้อมูล', value: 2 },\r\n\t3: { name: 'ผู้อนุมัติการส่งข้อมูล', value: 3 },\r\n}\r\n","export const org_status = {\r\n\t1: 'ปกติ',\r\n\t2: 'ระงับการใช้งาน',\r\n\t3: 'หมดอายุการมอบอำนาจ',\r\n\t4: 'รอเปิดใช้งาน'\r\n}\r\n","import { forwardRef, useRef, useEffect, useState } from 'react'\r\nimport {\r\n\tTypography,\r\n\tDialog,\r\n\tDialogTitle,\r\n\tDialogActions,\r\n\tDialogContent,\r\n\tSlide,\r\n\tButton,\r\n\tGrid,\r\n\tuseMediaQuery,\r\n\tIconButton,\r\n\tTextField,\r\n\tDivider,\r\n\tCheckbox,\r\n\tFormControlLabel,\r\n\tFormControl,\r\n\tSelect,\r\n\tMenuItem,\r\n} from '@material-ui/core'\r\nimport 'date-fns'\r\nimport DateFnsUtils from '@date-io/date-fns'\r\nimport {\r\n\tMuiPickersUtilsProvider,\r\n\tKeyboardDatePicker,\r\n} from '@material-ui/pickers'\r\nimport { Close, PersonAdd, Edit } from '@material-ui/icons'\r\nimport { useTheme } from '@material-ui/core/styles'\r\nimport { org_duty } from '../../../../data/organization-user/organization-user-duty'\r\nimport { org_status } from '../../../../data/organization-user/organization-user-status'\r\n\r\nexport default function OrganizationUserModal({\r\n\topen,\r\n\thandleButton,\r\n\tonClose,\r\n\tuserModalType,\r\n\t// Adding States\r\n\tnationalCardIDNo,\r\n\tuserInfo,\r\n\tactiveDate,\r\n\texpireDate,\r\n\tfixedTypePermission,\r\n\tmobileTypePermission,\r\n\t// Editing States\r\n\teditNationalCardIDNo,\r\n\teditUserInfo,\r\n\teditActiveDate,\r\n\teditExpireDate,\r\n\teditFixedTypePermission,\r\n\teditMobileTypePermission,\r\n\t// Adding Handler\r\n\tonFillNationalCardIDNo,\r\n\tonCheckFormTypePermission,\r\n\tonChangeUserRoleID,\r\n\tonSelectActiveDate,\r\n\tonSelectExpireDate,\r\n\r\n\torganizationData,\r\n\t// Editing Handler\r\n\tonChangeEditUserRoleID,\r\n\tonFillEditNationalCardIDNo,\r\n\tonCheckEditFormTypePermission,\r\n\tonSelectEditActiveDate,\r\n\tonSelectEditExpireDate,\r\n\tonFillEditUserInfo,\r\n\tonChangeEditUserStatus,\r\n\t// Save Button Logic\r\n\tsaveButton,\r\n\r\n}) {\r\n\tconst theme = useTheme()\r\n\tconst fullScreen = useMediaQuery(theme.breakpoints.down('sm'))\r\n\tconst descriptionElementRef = useRef(null)\r\n\tconst [isOpenDate, setIsOpenDate] = useState(null)\r\n\r\n\tuseEffect(() => {\r\n\t\tif (open) {\r\n\t\t\tconst { current: descriptionElement } = descriptionElementRef\r\n\t\t\tif (descriptionElement !== null) {\r\n\t\t\t\tdescriptionElement.focus()\r\n\t\t\t}\r\n\t\t}\r\n\t}, [open])\r\n\r\n\tconst typeGenerator = _userModalType => {\r\n\t\tif (_userModalType === 'add')\r\n\t\t\treturn {\r\n\t\t\t\tlabel: 'เพิ่มผู้ใช้งาน',\r\n\t\t\t\ticon: ,\r\n\t\t\t}\r\n\t\tif (_userModalType === 'edit')\r\n\t\t\treturn {\r\n\t\t\t\tlabel: 'แก้ไขข้อมูลผู้ใช้งาน',\r\n\t\t\t\ticon: ,\r\n\t\t\t}\r\n\r\n\t\treturn { label: '', icon: '' }\r\n\t}\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{typeGenerator(userModalType).icon}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{typeGenerator(userModalType).label}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\tข้อมูลเจ้าหน้าที่\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tเลขประจำตัวประชาชน\r\n\t\t\t\t\t\t\t*\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{userModalType === 'add' && (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t{userModalType === 'edit' && (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tชื่อ\r\n\t\t\t\t\t\t\t\t*\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{userModalType === 'add' && (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{userInfo.firstname}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t{userModalType === 'edit' && (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tนามสกุล\r\n\t\t\t\t\t\t\t\t*\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{userModalType === 'add' && (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{userInfo.lastname}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t{userModalType === 'edit' && (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tประเภทเจ้าหน้าที่\r\n\t\t\t\t\t\t\t\t*\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{Object.values(org_duty).map((item, index) => {\r\n\t\t\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t{item.name}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tอีเมล\r\n\t\t\t\t\t\t\t\t*\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{userModalType === 'add' && (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{userInfo.email}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t{userModalType === 'edit' && (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tเบอร์โทรศัพท์\r\n\t\t\t\t\t\t\t\t*\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{userModalType === 'add' && (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{userInfo.mobile}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t{userModalType === 'edit' && (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t{(userModalType === 'add'\r\n\t\t\t\t\t? userInfo.userRoleID === 2\r\n\t\t\t\t\t: editUserInfo.userRoleID === 2) && (\r\n\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tประเภทสิทธิ์ในการเพิ่ม / แก้ไข\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{organizationData.operatorQOS.find(e => e.id === 2) && (\r\n\t\t\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t\t\t{userModalType === 'add' && (\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tonCheckFormTypePermission(2, e.target.checked)\r\n\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\tcontrol={\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\tlabel=\"ชุดข้อมูลแบบประจำที่\"\r\n\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t{userModalType === 'edit' && (\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tonCheckEditFormTypePermission(2, e.target.checked)\r\n\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\tcontrol={\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\tlabel=\"ชุดข้อมูลแบบประจำที่ แก้ไข\"\r\n\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)}\r\n\r\n\t\t\t\t\t\t\t\t{organizationData.operatorQOS.find(e => e.id === 1) && (\r\n\t\t\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t\t\t\t{userModalType === 'add' && (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonCheckFormTypePermission(1, e.target.checked)\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tcontrol={\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tlabel=\"ชุดข้อมูลแบบเคลื่อนที่\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t{userModalType === 'edit' && (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonCheckEditFormTypePermission(1, e.target.checked)\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tcontrol={\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tlabel=\"ชุดข้อมูลแบบเคลื่อนที่ แก้ไข\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\t\t\t\t{/* \r\n\t\t\t\t\tระยะเวลาการใช้งาน\r\n\t\t\t\t */}\r\n\t\t\t\t{/* \r\n\t\t\t\t\t\r\n\t\t\t\t */}\r\n\t\t\t\t{!editActiveDate && !editExpireDate && (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t setIsOpenDate(e.target.checked)}\r\n\t\t\t\t\t\t\t\t\tcolor=\"primary\"\r\n\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tlabel=\"กำหนดระยะเวลาการใช้งาน\"\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t\t{(isOpenDate || (editActiveDate && editExpireDate)) && (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t\t{userModalType === 'edit' && (\r\n\t\t\t\t\t<>\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tสถานะของผู้ใช้งาน\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{editUserInfo.userStatus.id !== 4 && (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{Object.keys(org_status)\r\n\t\t\t\t\t\t\t\t\t\t\t.filter(e => parseInt(e) !== 4 && parseInt(e) !== 3)\r\n\t\t\t\t\t\t\t\t\t\t\t.map((item, index) => {\r\n\t\t\t\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{org_status[item]}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)}\r\n\r\n\t\t\t\t\t\t\t\t{editUserInfo.userStatus.id === 4 && `-- รอเปิดใช้งาน --`}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tบันทึก\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n\r\nconst Transition = forwardRef(function Transtition(props, ref) {\r\n\treturn \r\n})\r\n","import { forwardRef, useRef, useEffect } from 'react'\r\nimport {\r\n\tDialog,\r\n\tDialogTitle,\r\n\tDialogContent,\r\n\tDialogContentText,\r\n\tGrid,\r\n\tTypography,\r\n\tIconButton,\r\n\tSlide,\r\n\tuseMediaQuery,\r\n\tButton,\r\n} from '@material-ui/core'\r\nimport { Delete, Close } from '@material-ui/icons'\r\n\r\nimport { useTheme, makeStyles } from '@material-ui/core/styles'\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n\tdelete_button: {\r\n\t\tbackgroundColor: '#DD4C39',\r\n\t\tcolor: '#fff',\r\n\t\t'&:hover': {\r\n\t\t\tbackgroundColor: '#b43e2f',\r\n\t\t},\r\n\t},\r\n}))\r\n\r\nexport function DeleteUserModal({ open, onClose, onDelete }) {\r\n\tconst classes = useStyles()\r\n\tconst theme = useTheme()\r\n\tconst fullScreen = useMediaQuery(theme.breakpoints.down('sm'))\r\n\tconst descriptionElementRef = useRef(null)\r\n\r\n\tuseEffect(() => {\r\n\t\tif (open) {\r\n\t\t\tconst { current: descriptionElement } = descriptionElementRef\r\n\t\t\tif (descriptionElement !== null) {\r\n\t\t\t\tdescriptionElement.focus()\r\n\t\t\t}\r\n\t\t}\r\n\t}, [open])\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tลบผู้ใช้งาน\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tคุณแน่ใจที่จะลบผู้ใช้งานคนนี้ใช่หรือไม่?\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tลบผู้ใช้งาน\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n\r\nconst Transition = forwardRef(function Transtition(props, ref) {\r\n\treturn \r\n})\r\n","import { forwardRef, useRef } from 'react'\r\nimport {\r\n\tGrid,\r\n\tDialog,\r\n\tDialogContent,\r\n\tDialogContentText,\r\n\tDialogActions,\r\n\tSlide,\r\n\tButton,\r\n\tuseMediaQuery,\r\n} from '@material-ui/core'\r\nimport { useTheme } from '@material-ui/core/styles'\r\n\r\nimport Cancel from '../../../../assets/images/cancel.png'\r\n\r\nexport default function NotFoundModal({\r\n\topen,\r\n\thandleButton,\r\n}) {\r\n\tconst theme = useTheme()\r\n\tconst fullScreen = useMediaQuery(theme.breakpoints.down('sm'))\r\n\tconst descriptionElementRef = useRef(null)\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tไม่พบหมายเลขบัตรประชาชนนี้\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tตกลง\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n\r\nconst Transition = forwardRef(function Transtition(props, ref) {\r\n\treturn \r\n})\r\n","import { forwardRef, useRef } from 'react'\r\nimport {\r\n\tGrid,\r\n\tDialog,\r\n\tDialogContent,\r\n\tDialogContentText,\r\n\tDialogActions,\r\n\tSlide,\r\n\tButton,\r\n\tuseMediaQuery,\r\n} from '@material-ui/core'\r\nimport { useTheme } from '@material-ui/core/styles'\r\n\r\nimport Check from '../../../../assets/images/check.png'\r\n\r\nexport default function AddingSuccessModal({\r\n\topen,\r\n\thandleButton,\r\n}) {\r\n\tconst theme = useTheme()\r\n\tconst fullScreen = useMediaQuery(theme.breakpoints.down('sm'))\r\n\tconst descriptionElementRef = useRef(null)\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tเพิ่มผู้ใช้งานสำเร็จ\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tตกลง\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n\r\nconst Transition = forwardRef(function Transtition(props, ref) {\r\n\treturn \r\n})\r\n","import { forwardRef, useRef } from 'react'\r\nimport {\r\n\tGrid,\r\n\tDialog,\r\n\tDialogContent,\r\n\tDialogContentText,\r\n\tDialogActions,\r\n\tSlide,\r\n\tButton,\r\n\tuseMediaQuery,\r\n} from '@material-ui/core'\r\nimport { useTheme } from '@material-ui/core/styles'\r\n\r\nimport Cancel from '../../../../assets/images/cancel.png'\r\n\r\nexport default function AddingFailedModal({\r\n\topen,\r\n\thandleButton,\r\n\tmessage,\r\n}) {\r\n\tconst theme = useTheme()\r\n\tconst fullScreen = useMediaQuery(theme.breakpoints.down('sm'))\r\n\tconst descriptionElementRef = useRef(null)\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t{message}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tตกลง\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n\r\nconst Transition = forwardRef(function Transtition(props, ref) {\r\n\treturn \r\n})\r\n","import { forwardRef, useRef } from 'react'\r\nimport {\r\n\tGrid,\r\n\tDialog,\r\n\tDialogContent,\r\n\tDialogContentText,\r\n\tDialogActions,\r\n\tSlide,\r\n\tButton,\r\n\tuseMediaQuery,\r\n} from '@material-ui/core'\r\nimport { useTheme } from '@material-ui/core/styles'\r\n\r\nimport Check from '../../../../assets/images/check.png'\r\n\r\nexport default function EditingSuccessModal({\r\n\topen,\r\n\thandleButton,\r\n}) {\r\n\tconst theme = useTheme()\r\n\tconst fullScreen = useMediaQuery(theme.breakpoints.down('sm'))\r\n\tconst descriptionElementRef = useRef(null)\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tแก้ไขข้อมูลผู้ใช้งานสำเร็จ\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tตกลง\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n\r\nconst Transition = forwardRef(function Transtition(props, ref) {\r\n\treturn \r\n})\r\n","import { forwardRef, useRef } from 'react'\r\nimport {\r\n\tGrid,\r\n\tDialog,\r\n\tDialogContent,\r\n\tDialogContentText,\r\n\tDialogActions,\r\n\tSlide,\r\n\tButton,\r\n\tuseMediaQuery,\r\n} from '@material-ui/core'\r\nimport { useTheme } from '@material-ui/core/styles'\r\n\r\nimport Cancel from '../../../../assets/images/cancel.png'\r\n\r\nexport default function EditingFailedModal({\r\n\topen,\r\n\thandleButton,\r\n\tmessage,\r\n}) {\r\n\tconst theme = useTheme()\r\n\tconst fullScreen = useMediaQuery(theme.breakpoints.down('sm'))\r\n\tconst descriptionElementRef = useRef(null)\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t{message}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tตกลง\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n\r\nconst Transition = forwardRef(function Transtition(props, ref) {\r\n\treturn \r\n})\r\n","import { forwardRef, useRef } from 'react'\r\nimport {\r\n\tGrid,\r\n\tDialog,\r\n\tDialogContent,\r\n\tDialogContentText,\r\n\tDialogActions,\r\n\tSlide,\r\n\tButton,\r\n\tuseMediaQuery,\r\n} from '@material-ui/core'\r\nimport { useTheme } from '@material-ui/core/styles'\r\n\r\nimport Check from '../../../../assets/images/check.png'\r\n\r\nexport default function DeletedSuccessModal({\r\n\topen,\r\n\thandleButton,\r\n}) {\r\n\tconst theme = useTheme()\r\n\tconst fullScreen = useMediaQuery(theme.breakpoints.down('sm'))\r\n\tconst descriptionElementRef = useRef(null)\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tลบข้อมูลผู้ใช้งานสำเร็จ\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tตกลง\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n\r\nconst Transition = forwardRef(function Transtition(props, ref) {\r\n\treturn \r\n})\r\n","import { forwardRef, useRef } from 'react'\r\nimport {\r\n\tGrid,\r\n\tDialog,\r\n\tDialogContent,\r\n\tDialogContentText,\r\n\tDialogActions,\r\n\tSlide,\r\n\tButton,\r\n\tuseMediaQuery,\r\n} from '@material-ui/core'\r\nimport { useTheme } from '@material-ui/core/styles'\r\n\r\nimport Cancel from '../../../../assets/images/cancel.png'\r\n\r\nexport default function DeletedFailedModal({\r\n\topen,\r\n\thandleButton,\r\n\tmessage,\r\n}) {\r\n\tconst theme = useTheme()\r\n\tconst fullScreen = useMediaQuery(theme.breakpoints.down('sm'))\r\n\tconst descriptionElementRef = useRef(null)\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t{message}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tตกลง\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n\r\nconst Transition = forwardRef(function Transtition(props, ref) {\r\n\treturn \r\n})\r\n","import React, { useState, useEffect } from 'react'\r\nimport { Grid } from '@material-ui/core/'\r\n\r\n// import SearchBox from '../../components/organization-user/search-box'\r\nimport OrgSearchResult from '../../../components/users/organization-user/search-result/index'\r\nimport OrganizationUserModal from '../../../components/users/organization-user/user-modal/index'\r\nimport { DeleteUserModal } from '../../../components/users/organization-user/delete-user-modal'\r\nimport NotFoundModal from '../../../components/users/organization-user/not-found-modal'\r\nimport AddingSuccessModal from '../../../components/users/organization-user/adding-success-modal'\r\nimport AddingFailedModal from '../../../components/users/organization-user/adding-failed-modal'\r\nimport EditingSuccessModal from '../../../components/users/organization-user/editing-success-modal'\r\nimport EditingFailedModal from '../../../components/users/organization-user/editing-failed-modal'\r\nimport DeletedSuccessModal from '../../../components/users/organization-user/deleted-success-modal'\r\nimport DeletedFailedModal from '../../../components/users/organization-user/deleted-failed-modal/index'\r\n\r\nimport { useStoreRehydrated } from '../../../store'\r\nimport { format } from 'date-fns'\r\nimport { useLoaded } from '../../../utils/useLoaded'\r\nimport { users, operators } from '../../../api/index'\r\n\r\nimport { org_status } from '../../../data/organization-user/organization-user-status'\r\n\r\nconst OrganizationUser = () => {\r\n\tconst loaded = useLoaded()\r\n\tconst isRehydrated = useStoreRehydrated()\r\n\t// Main Users Data\r\n\tconst [user, setUser] = useState([])\r\n\tconst [userData, setUserData] = useState([])\r\n\t// Modal State\r\n\tconst [currentEditUserID, setCurrentEditUserID] = useState(null)\r\n\tconst [openUserModal, setOpenUserModal] = useState(false)\r\n\tconst [userModalType, setUserModalType] = useState('add')\r\n\tconst [openDeleteUserModal, setOpenDeleteUserModal] = useState(false)\r\n\tconst [openAddingSuccessModal, setOpenAddingSuccessModal] = useState(false)\r\n\tconst [openAddingFailedModal, setOpenAddingFailedModal] = useState(false)\r\n\tconst [openNotFoundModal, setOpenNotFoundModal] = useState(false)\r\n\tconst [openEditingSuccessModal, setOpenEditingSuccessModal] = useState(false)\r\n\tconst [openEditingFailedModal, setOpenEditingFailedModal] = useState(false)\r\n\tconst [openDeletedSuccessModal, setOpenDeletedSuccessModal] = useState(false)\r\n\tconst [openDeletedFailedModal, setOpenDeletedFailedModal] = useState(false)\r\n\t// Adding User State\r\n\tconst [nationalIDCardNo, setNationalIDCardNo] = useState('')\r\n\tconst [userInfo, setUserInfo] = useState({\r\n\t\tuserRoleID: 1,\r\n\t\tprefix: '',\r\n\t\tfirstname: '',\r\n\t\tlastname: '',\r\n\t\tmobile: '',\r\n\t\temail: '',\r\n\t})\r\n\tconst [activeDate, setActiveDate] = useState(null)\r\n\tconst [expireDate, setExpireDate] = useState(null)\r\n\tconst [fixedTypePermission, setFixedTypePermission] = useState(false)\r\n\tconst [mobileTypePermission, setMobileTypePermission] = useState(false)\r\n\tconst [organizationData, setOrganizationData] = useState(null)\r\n\t// Editing User State\r\n\tconst [editNationalIDCardNo, setEditNationalIDCardNo] = useState('')\r\n\tconst [editUserInfo, setEditUserInfo] = useState({\r\n\t\tuserRoleID: 1,\r\n\t\tprefix: '',\r\n\t\tfirstname: '',\r\n\t\tlastname: '',\r\n\t\tmobile: '',\r\n\t\temail: '',\r\n\t\tuserStatus: {\r\n\t\t\tid: '',\r\n\t\t\tname: '',\r\n\t\t},\r\n\t\toperatorUserQOSTypes: {\r\n\t\t\tfixed: false,\r\n\t\t\tmobile: false,\r\n\t\t},\r\n\t})\r\n\tconst [editActiveDate, setEditActiveDate] = useState(null)\r\n\tconst [editExpireDate, setEditExpireDate] = useState(null)\r\n\tconst [editFixedTypePermission, setEditFixedTypePermission] = useState(false)\r\n\tconst [editMobileTypePermission, setEditMobileTypePermission] =\r\n\t\tuseState(false)\r\n\t// Save Button Logic\r\n\tconst [saveButtonAdd, setSaveButtonAdd] = useState(true)\r\n\tconst [saveButtonEdit, setSaveButtonEdit] = useState(true)\r\n\r\n\t/** -----------------------------------------------------------> */\r\n\r\n\t// Main Function\r\n\r\n\tconst onOpenUserModal = () => {\r\n\t\tsetOpenUserModal(!openUserModal)\r\n\t}\r\n\r\n\tconst onOpenDeleteUserModal = () => {\r\n\t\tsetOpenDeleteUserModal(!openDeleteUserModal)\r\n\t}\r\n\r\n\tconst onOpenNotFoundModal = () => {\r\n\t\tsetOpenNotFoundModal(!openNotFoundModal)\r\n\t}\r\n\r\n\tconst onOpenAddingSuccessModal = () => {\r\n\t\tsetOpenAddingSuccessModal(!openAddingSuccessModal)\r\n\t}\r\n\r\n\tconst onOpenAddingFailedModal = () => {\r\n\t\tsetOpenAddingFailedModal(!openAddingFailedModal)\r\n\t}\r\n\r\n\tconst onOpenEditingSuccessModal = () => {\r\n\t\tsetOpenEditingSuccessModal(!openEditingSuccessModal)\r\n\t}\r\n\r\n\tconst onOpenEditingFailedModal = () => {\r\n\t\tsetOpenEditingFailedModal(!openEditingFailedModal)\r\n\t}\r\n\r\n\tconst onOpenDeletedSuccessModal = () => {\r\n\t\tsetOpenDeletedSuccessModal(!openDeletedSuccessModal)\r\n\t}\r\n\r\n\tconst onOpenDeletedFailedModal = () => {\r\n\t\tsetOpenDeletedFailedModal(!openDeletedFailedModal)\r\n\t}\r\n\r\n\t// const onSearhResult = e => {\r\n\t// \tconst { value } = e.target\r\n\t// \tconst searchedName = userData.filter(user => {\r\n\t// \t\tconst name = user.firstname + ' ' + user.lastname\r\n\t// \t\treturn name.includes(value)\r\n\t// \t})\r\n\t// \tconst searchedCitizenID = userData.filter(user =>\r\n\t// \t\tuser.nationalIDCardNo.includes(value)\r\n\t// \t)\r\n\r\n\t// \tconst mergedSearched = [...searchedName, ...searchedCitizenID]\r\n\t// \tconst searchedResults = []\r\n\t// \tlet searchID = 1\r\n\t// \tmergedSearched.forEach(i => {\r\n\t// \t\tconst find = searchedResults.find(item => item.id === i.id)\r\n\t// \t\tif (!find)\r\n\t// \t\t\tsearchedResults.push({\r\n\t// \t\t\t\tid: searchID++,\r\n\t// \t\t\t\tuserId: i.id ?? '',\r\n\t// \t\t\t\tname: i.firstname + ' ' + i.lastname,\r\n\t// \t\t\t\temail: i.email ?? '',\r\n\t// \t\t\t\tnationalIDCardNo: i.nationalIDCardNo ?? '',\r\n\t// \t\t\t\tmobile: i.mobile ?? '',\r\n\t// \t\t\t\tuserRoleID: i.userRoleID ?? '',\r\n\t// \t\t\t\tstatus: parseInt(i.userStatus.id) ?? '',\r\n\t// \t\t\t})\r\n\t// \t})\r\n\r\n\t// \tsetUser(searchedResults)\r\n\t// }\r\n\tconst getOrganizationData = async () => {\r\n\t\tconst res = await operators.getOrganizationData()\r\n\t\tconst status = res.status\r\n\t\tconst data = res.data\r\n\t\tif (status === 200) {\r\n\t\t\tsetOrganizationData(data)\r\n\t\t}\r\n\t}\r\n\tconst onLanding = async () => {\r\n\t\tconst res = await users.getUsers()\r\n\t\tgetOrganizationData()\r\n\t\tif (res) {\r\n\t\t\tif (res.status === 200) {\r\n\t\t\t\tconst fetchedUsers = res.data\r\n\r\n\t\t\t\tconst preprocessedArr = fetchedUsers.map((item, index) => {\r\n\t\t\t\t\tconst tempOperatorUserQOSTypes = []\r\n\r\n\t\t\t\t\tif (item.operatorUserQOSTypes) {\r\n\t\t\t\t\t\titem.operatorUserQOSTypes.forEach(i => {\r\n\t\t\t\t\t\t\ttempOperatorUserQOSTypes.push(i.qosTypeID)\r\n\t\t\t\t\t\t})\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\treturn {\r\n\t\t\t\t\t\tid: index + 1,\r\n\t\t\t\t\t\taccessId: item.accessID ?? '',\r\n\t\t\t\t\t\tuserId: item.id ?? '',\r\n\t\t\t\t\t\tname: (item.firstname ?? '') + ' ' + (item.lastname ?? ''),\r\n\t\t\t\t\t\tfirstname: item.firstname ?? '',\r\n\t\t\t\t\t\tlastname: item.lastname ?? '',\r\n\t\t\t\t\t\temail: item.email ?? '',\r\n\t\t\t\t\t\tnationalIDCardNo: item.nationalIDCardNo ?? '',\r\n\t\t\t\t\t\tmobile: item.mobile ?? '',\r\n\t\t\t\t\t\tuserRoleID: item?.userRole?.id ?? '',\r\n\t\t\t\t\t\tuserRole: item?.userRole?.userRoleName ?? '',\r\n\t\t\t\t\t\tactiveDate: item.activeDate,\r\n\t\t\t\t\t\texpireDate: item.expireDate,\r\n\t\t\t\t\t\tperiodActivate: `${item.activeDate\r\n\t\t\t\t\t\t\t? format(new Date(item.activeDate), 'dd/MM/yyyy')\r\n\t\t\t\t\t\t\t: ''\r\n\t\t\t\t\t\t\t} ${item.expireDate\r\n\t\t\t\t\t\t\t\t? '- ' + format(new Date(item.expireDate), 'dd/MM/yyyy')\r\n\t\t\t\t\t\t\t\t: ''\r\n\t\t\t\t\t\t\t} `,\r\n\t\t\t\t\t\tstatusID: item.userStatusID,\r\n\t\t\t\t\t\tstatus: item.userStatus?.userStatusName ?? '',\r\n\t\t\t\t\t\toperatorUserQOSTypes: tempOperatorUserQOSTypes,\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\r\n\t\t\t\tsetUserData(fetchedUsers)\r\n\t\t\t\tsetUser(preprocessedArr)\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\t/** <----------------------------------------------------------- */\r\n\r\n\t// Adding User\r\n\r\n\tconst onFillNationalCardIDNo = e => {\r\n\t\tvar pattern = /^[0-9\\b]+$/\r\n\t\tconst { value } = e.target\r\n\t\tif (pattern.test(value) || value === '') {\r\n\t\t\tsetNationalIDCardNo(value)\r\n\t\t\tsetSaveButtonAdd(true)\r\n\t\t}\r\n\t}\r\n\r\n\tconst onCheckFormTypePermission = (type, checked) => {\r\n\t\tif (type === 2) setFixedTypePermission(checked)\r\n\t\telse if (type === 1) setMobileTypePermission(checked)\r\n\t}\r\n\r\n\tconst onChangeUserRoleID = e => {\r\n\t\tconst { value } = e.target\r\n\t\tsetUserInfo({ ...userInfo, userRoleID: value })\r\n\t}\r\n\r\n\tconst onSelectActiveDate = val => setActiveDate(val)\r\n\r\n\tconst onSelectExpireDate = val => setExpireDate(val)\r\n\r\n\tconst onAddUser = async () => {\r\n\t\tlet operatorUserQOSTypes = []\r\n\t\tif (fixedTypePermission && mobileTypePermission)\r\n\t\t\toperatorUserQOSTypes = [1, 2]\r\n\t\telse if (fixedTypePermission) operatorUserQOSTypes = [2]\r\n\t\telse if (mobileTypePermission) operatorUserQOSTypes = [1]\r\n\r\n\t\tawait users\r\n\t\t\t.addUser({\r\n\t\t\t\tuserRoleID: userInfo.userRoleID,\r\n\t\t\t\t// userInfo.firstname,\r\n\t\t\t\t// userInfo.lastname,\r\n\t\t\t\t// userInfo.mobile,\r\n\t\t\t\tnationalIDCardNo: nationalIDCardNo,\r\n\t\t\t\t// userInfo.email,\r\n\t\t\t\tactiveDate: activeDate,\r\n\t\t\t\texpireDate: expireDate,\r\n\t\t\t\toperatorUserQOSTypes: operatorUserQOSTypes,\r\n\t\t\t})\r\n\t\t\t.then(e => {\r\n\t\t\t\tonOpenAddingSuccessModal()\r\n\t\t\t\tsetNationalIDCardNo('')\r\n\t\t\t})\r\n\t\t\t.catch(e => {\r\n\t\t\t\tonOpenAddingFailedModal()\r\n\t\t\t})\r\n\t}\r\n\r\n\t// Editing User\r\n\r\n\tconst onFindUserToEdit = () => {\r\n\t\tconst finded = user.find(item => item.accessId === currentEditUserID)\r\n\r\n\t\tif (finded) {\r\n\t\t\tconst tempOperatorUserQOSTypes = {\r\n\t\t\t\tfixed: false,\r\n\t\t\t\tmobile: false,\r\n\t\t\t}\r\n\r\n\t\t\tfinded.operatorUserQOSTypes.forEach(item => {\r\n\t\t\t\tif (item === 2) tempOperatorUserQOSTypes['fixed'] = true\r\n\t\t\t\tif (item === 1) tempOperatorUserQOSTypes['mobile'] = true\r\n\t\t\t})\r\n\r\n\t\t\tsetEditUserInfo({\r\n\t\t\t\tuserRoleID: finded.userRoleID,\r\n\t\t\t\tfirstname: finded.firstname,\r\n\t\t\t\tlastname: finded.lastname,\r\n\t\t\t\temail: finded.email,\r\n\t\t\t\tmobile: finded.mobile,\r\n\t\t\t\tuserStatus: {\r\n\t\t\t\t\tid: finded.statusID,\r\n\t\t\t\t\tname: finded.status,\r\n\t\t\t\t},\r\n\t\t\t\toperatorUserQOSTypes: tempOperatorUserQOSTypes,\r\n\t\t\t})\r\n\t\t\tsetEditNationalIDCardNo(finded.nationalIDCardNo)\r\n\r\n\t\t\tfinded.operatorUserQOSTypes.forEach(item => {\r\n\t\t\t\tif (item === 1) setEditMobileTypePermission(true)\r\n\t\t\t\tif (item === 2) setEditFixedTypePermission(true)\r\n\t\t\t})\r\n\t\t\tif (finded.activeDate) setEditActiveDate(new Date(finded.activeDate))\r\n\t\t\telse setEditActiveDate(null)\r\n\t\t\tif (finded.expireDate) setEditExpireDate(new Date(finded.expireDate))\r\n\t\t\telse setEditExpireDate(null)\r\n\t\t}\r\n\t}\r\n\r\n\tconst onFillEditNationalCardIDNo = e => {\r\n\t\tvar pattern = /^[0-9\\b]+$/\r\n\t\tconst { value } = e.target\r\n\t\tif (pattern.test(value) || value === '') {\r\n\t\t\tsetEditNationalIDCardNo(value)\r\n\t\t}\r\n\t}\r\n\r\n\tconst onFillEditUserInfo = e => {\r\n\t\tconst { name, value } = e.target\r\n\t\tif (name === 'mobile') {\r\n\t\t\tvar pattern = /^[0-9-\\b]+$/\r\n\t\t\tif (pattern.test(value) || value === '') {\r\n\t\t\t\tsetEditUserInfo({ ...editUserInfo, [name]: value })\r\n\t\t\t}\r\n\t\t} else setEditUserInfo({ ...editUserInfo, [name]: value })\r\n\t}\r\n\r\n\tconst onChangeEditUserRoleID = e => {\r\n\t\tconst { value } = e.target\r\n\r\n\t\tsetEditUserInfo({ ...editUserInfo, userRoleID: value })\r\n\t}\r\n\r\n\tconst onChangeEditUserStatus = e => {\r\n\t\tconst { value } = e.target\r\n\t\tsetEditUserInfo({\r\n\t\t\t...editUserInfo,\r\n\t\t\tuserStatus: {\r\n\t\t\t\tid: value,\r\n\t\t\t\tname: org_status[value],\r\n\t\t\t},\r\n\t\t})\r\n\t}\r\n\r\n\tconst onCheckEditFormTypePermission = (type, checked) => {\r\n\t\tif (type === 1)\r\n\t\t\tsetEditUserInfo(prevState => ({\r\n\t\t\t\t...prevState,\r\n\t\t\t\toperatorUserQOSTypes: {\r\n\t\t\t\t\tmobile: checked,\r\n\t\t\t\t\tfixed: prevState.operatorUserQOSTypes.fixed,\r\n\t\t\t\t},\r\n\t\t\t}))\r\n\t\telse if (type === 2)\r\n\t\t\tsetEditUserInfo(prevState => ({\r\n\t\t\t\t...prevState,\r\n\t\t\t\toperatorUserQOSTypes: {\r\n\t\t\t\t\tfixed: checked,\r\n\t\t\t\t\tmobile: prevState.operatorUserQOSTypes.mobile,\r\n\t\t\t\t},\r\n\t\t\t}))\r\n\t}\r\n\r\n\tconst onSelectEditActiveDate = val => setEditActiveDate(val)\r\n\r\n\tconst onSelectEditExpireDate = val => setEditExpireDate(val)\r\n\r\n\tconst onEditUser = async () => {\r\n\t\t// operatorUserQOSTypes\r\n\t\tlet operatorUserQOSTypes = []\r\n\t\tif (\r\n\t\t\teditUserInfo.operatorUserQOSTypes.fixed &&\r\n\t\t\teditUserInfo.operatorUserQOSTypes.mobile\r\n\t\t)\r\n\t\t\toperatorUserQOSTypes = [1, 2]\r\n\t\telse if (editUserInfo.operatorUserQOSTypes.fixed) operatorUserQOSTypes = [2]\r\n\t\telse if (editUserInfo.operatorUserQOSTypes.mobile)\r\n\t\t\toperatorUserQOSTypes = [1]\r\n\r\n\t\tconst res = await users.editUser(\r\n\t\t\tcurrentEditUserID,\r\n\t\t\teditUserInfo.firstname,\r\n\t\t\teditUserInfo.lastname,\r\n\t\t\teditUserInfo.mobile,\r\n\t\t\teditNationalIDCardNo,\r\n\t\t\teditUserInfo.email,\r\n\t\t\teditActiveDate,\r\n\t\t\teditExpireDate,\r\n\t\t\toperatorUserQOSTypes,\r\n\t\t\teditUserInfo.userStatus.id,\r\n\t\t\teditUserInfo.userRoleID\r\n\t\t)\r\n\t\tif (res) {\r\n\t\t\tif (res.status !== 400) onOpenEditingSuccessModal()\r\n\t\t\telse onOpenEditingFailedModal()\r\n\t\t}\r\n\t}\r\n\r\n\t// Delete User\r\n\tconst deleteUserID = async () => {\r\n\t\tonOpenDeleteUserModal()\r\n\r\n\t\tconst finded = userData.find(item => item.accessID === currentEditUserID)\r\n\t\tif (finded) {\r\n\t\t\tconst res = await users.deleteUser(currentEditUserID)\r\n\t\t\tconst status = res.status\r\n\t\t\tif (status === 200) {\r\n\t\t\t\tonOpenDeletedSuccessModal()\r\n\t\t\t} else {\r\n\t\t\t\tonOpenDeletedFailedModal()\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tonOpenDeletedFailedModal()\r\n\t\t}\r\n\t}\r\n\r\n\t/** -----------------------------------------------------------> */\r\n\r\n\t// Main Rendering Function\r\n\r\n\t// eslint-disable-next-line\r\n\tuseEffect(() => onFindUserToEdit(), [currentEditUserID, openUserModal])\r\n\r\n\tuseEffect(() => {\r\n\t\tif (isRehydrated) onLanding()\r\n\t\t// eslint-disable-next-line\r\n\t}, [isRehydrated])\r\n\r\n\tuseEffect(() => {\r\n\t\tif (openUserModal)\r\n\t\t\tif (userModalType === 'edit') {\r\n\t\t\t\tif (\r\n\t\t\t\t\t!editNationalIDCardNo ||\r\n\t\t\t\t\t!editUserInfo.userRoleID ||\r\n\t\t\t\t\t!editUserInfo.firstname ||\r\n\t\t\t\t\t!editUserInfo.lastname ||\r\n\t\t\t\t\t!editUserInfo.mobile ||\r\n\t\t\t\t\t!editUserInfo.email\r\n\t\t\t\t) {\r\n\t\t\t\t\tsetSaveButtonEdit(true)\r\n\t\t\t\t} else {\r\n\t\t\t\t\tsetSaveButtonEdit(false)\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t}, [openUserModal, userModalType, editUserInfo, editNationalIDCardNo])\r\n\r\n\t/** <----------------------------------------------------------- */\r\n\t// check input field\r\n\tconst [isDisabled, setIsDisabled] = useState(true)\r\n\tuseEffect(() => {\r\n\t\tif (userModalType == 'add') {\r\n\t\t\tif (nationalIDCardNo == '' || nationalIDCardNo.length < 13) {\r\n\t\t\t\tsetIsDisabled(true)\r\n\t\t\t} else {\r\n\t\t\t\tsetIsDisabled(false)\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tif (editNationalIDCardNo == '' || editUserInfo.firstname == '' || editUserInfo.lastname == '' || editUserInfo.mobile == '' || editUserInfo.email == '') {\r\n\t\t\t\tsetIsDisabled(true)\r\n\t\t\t} else {\r\n\t\t\t\tsetIsDisabled(false)\r\n\t\t\t}\r\n\t\t}\r\n\t}, [nationalIDCardNo, userInfo, editNationalIDCardNo, editUserInfo])\r\n\treturn (\r\n\t\tloaded && (\r\n\t\t\t<>\r\n\t\t\t\t\r\n\t\t\t\t\t{/* */}\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t {\r\n\t\t\t\t\t\t\tonLanding()\r\n\t\t\t\t\t\t\tonOpenAddingSuccessModal()\r\n\t\t\t\t\t\t\tonOpenUserModal()\r\n\t\t\t\t\t\t}}\r\n\t\t\t\t\t/>\r\n\t\t\t\t\t\r\n\t\t\t\t\t {\r\n\t\t\t\t\t\t\tonLanding()\r\n\t\t\t\t\t\t\tonOpenEditingSuccessModal()\r\n\t\t\t\t\t\t\tonOpenUserModal()\r\n\t\t\t\t\t\t}}\r\n\t\t\t\t\t/>\r\n\t\t\t\t\t\r\n\t\t\t\t\t {\r\n\t\t\t\t\t\t\tonLanding()\r\n\t\t\t\t\t\t\tonOpenDeletedSuccessModal()\r\n\t\t\t\t\t\t}}\r\n\t\t\t\t\t/>\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t)\r\n\t)\r\n}\r\n\r\nexport default OrganizationUser\r\n","export default __webpack_public_path__ + \"static/media/NBTC-logo.de7da069.png\";","import React, { useState, useEffect } from 'react'\r\nimport { Button, Grid, Card } from '@material-ui/core'\r\n\r\nimport { useHistory } from 'react-router-dom'\r\n\r\nimport { useStoreState } from '../../../store'\r\nimport logo from '../../../assets/images/NBTC-logo.png'\r\nimport { makeStyles } from '@material-ui/core/styles'\r\n\r\nimport Swal from 'sweetalert2'\r\nimport 'sweetalert2/dist/sweetalert2.min.css'\r\nconst useStyles = makeStyles(theme => {\r\n\treturn {\r\n\t\tAppDescription: {\r\n\t\t\tfontSize: '24px',\r\n\t\t},\r\n\t\tAppDescriptionSpan: {\r\n\t\t\tcolor: theme.palette.primary.main,\r\n\t\t},\r\n\t\t\r\n\t}\r\n})\r\n\r\nconst isShowSwal = false\r\nconst isLockLoginButton = false\r\nconst isShowPrivacy = true\r\n\r\n\r\nconst SignIn = () => {\r\n\tconst classes = useStyles()\r\n\tconst history = useHistory()\r\n\tconst user = useStoreState(s => s.userModel.user)\r\n\r\n\t// const [signInMsg, setSignInMsg] = useState('')\r\n\tconst [isLoading] = useState(false)\r\n\tconst [isAccepted, setIsAccepted] = useState(false);\r\n\tconst [isInitialized, setIsInitialized] = useState(false);\r\n\tuseEffect(() => {\r\n\t\tconst policyAccept = localStorage.getItem('policy_consent');\r\n\t\tif (policyAccept) {\r\n\t\t\tsetIsAccepted(true);\r\n\t\t} else {\r\n\t\t\tsetIsAccepted(false);\r\n\t\t}\r\n\t\tsetIsInitialized(true);\r\n\t}, []);\r\n\r\n\tconst handleSignin = () => {\r\n\t\tif (process.env.REACT_APP_HOST_ENV === 'development')\r\n\t\t\t// D\r\n\t\t\t// window.location.href = `http://localhost:3000/auth/identify?_token=ufRk17uGp4hgM7mkUvnwjrxq1zGJNRpEUMUbaRrlOA5RK8D2GFuU8MHo48ENZKeSqDFITXsNpAEYv6RAJzhEsBNUUvmakFOY++Mqd23F+KIaCq0I6dSk7y88TdGUYGNu2l5f8vMtuatrYWcfA8B0pZ06jdNE7+rN0zZ8OTMmG8AJ4abyFwRhfpNTJ494dH+1raR3tga2Gao1dWMrK7K9KKxV6Lbx13Bd1lj58A1PeJ+oZneVrysv8ONTYEHkITUXM1D6VeHmQLuJCoqKmLL3iMDoXR+ApVN5hTwp14wXj7eRq6KfA1DD083Ga340wmBHdNhKgTbHP14rP/o5FHvaOq9bz16QSL1onHRKWXM22l8+SzFcFTyIcZ96GUEtYNbELse5OpLCwQBgqIxL2Qf8jq8LR2W8lhsGUnHgYmy6Bb8Xi+YrAwxfpvbv4b+kDdx7RNmTiKyvsKj8tMqsz4iKHgNs7yssRXzjFn62hmRpnrzR3r4o7ZLdtzXHwn7tcuOxE/azVQldVxOB/Sf4pZ0oT06k9ufiR46M3nYgko6KE16NNtzyyXan7SZbjsM15D4JoZseJIbmDvDWkjS2/EoEjv9CW73JKCkQR3f3SrGyjDEV+oVxZ2RhQF9EaAzK4lC0PeHzLRR2gnSTvwyyv7nnUCvkuF9WKymeb2HMNanuGlveb1qy/QXRDthq+KgiW3yQ4GeUTi49Axp6zQ0k3vhVaRcXzPrEpFRoMNXJNY6HT9tmFfbdpyvYWPQFjBSX3YEchEFflreU6yVWgQL4HbppLu2fuUAWwZWrCOc1vNaGn6I8bicXJFa3TB8VYlhwKCwlERTurLICfiD86dve4ZX/64I1uXm8gs2IcG38a5VbGCk2qNxAjk0F2BNOglROfP2QkN/bAYeopS0o+rWkctAWXnDRzGw+QXS1oQKHs6tTJ+eC+nO8Vl2xo2Gt4bB2y0+OLJC+8RPi4VK1/yqFqMDS4eY77P+xV40Ytj++ANlnDKZv93IO7VP8m9E6FWyHLPr2f0B21AuiMb4pSRvMsTwgNWwhRjBsIe/VX6Kw++S/0jyQo0mj1/t/JFtsaRk4Q1Hm9wb5WWu/dWAzFHt7Op/9SuDFmM7ZbVl/IBXgHRnaJ/4+OuYEq44ncHJKdYEB9OVkS7KMI94NzcWiuAFIE9qmbIJ1R9lKGt2+o6b3PpwbfSVEtg4eANQgIXRlniHF4WnCze0ceVjcHPi6IuCyh3MnEIpaGYW5yJjDTzsEvprPnwcJqg17s5kwWmW9tldNO5cCFmeH6peef1HXGy33XANk/RBR9GS73I4f84VewbnGd+vyFkFX+ITBjggCsntynm6Hz74/sj3kZMficdMiYhVe8XcAGbDETftmHbpGahcUY/Wb4YsVlhBH+OIAQYKKV1+dhnFP9f0vDp2f5F2M4wcf93I0uau/+n0v81srhj+Kd6VGxDdqW422Nld9ceAmEHxv4aqwkufThiARAsYeqmG9ZFHRAiL1XKPo805wmH/El0LUWfaDs3sJwm2XC6Du2P1UUFOYdjPNSblWpDAWRLPBye3w3w8qd05gi2zL0PIkmbZ7I/B3txzhyzvuTyXlTWlsF6IQJhzquX7ZVDZs9oOm1zgbWZOWDLZ9q6P/AQciwpCIEj/CVOC2DXmdhksvJEg/NgtoAy+RBqWep83YVGf/v+lVIVTszDX8nntaTs9IMvh8yXD7V5nHPpsk5JpFDijlRQBHFNA58pLoDnEcNtTo/26YEV9e/xTF9IFzQOT8XYDvutK9+j2AurBDmQ/f57bs4QwA/aQsNBxVf3KTaYEvaQ==`\r\n\t\t\t// P\r\n\t\t\t// window.location.href = `http://localhost:3000/auth/identify?_token=ufRk17uGp4hgM7mkUvnwjrxq1zGJNRpEUMUbaRrlOA5RK8D2GFuU8MHo48ENZKeSqDFITXsNpAEYv6RAJzhEsKc0YBKhnFWBP8FGIlxF96MmFDdfsR8qFCGxbBR56TAy%2fOKpQVjMQMMVIXvbP+KsVvLiOU7918qckJninaufsFXOqIKKFoloui+NtatIReiU8Sfd6NT%2fJs8519NBcMG+sbQRUxPR0d0pbbUGHrCUp8EWxMb6I3pjcE3NLN%2fgarZHPu9wcjtbyyghPZQjRNpOuwXtvI276x8R4B5pWSHiqkuy5AFtttKi7fZi4nGLFIBsH0EIzrOMr2W+KHDBW7lvyfjwILC+Ao6B8kjxV09RJUPbwh3zNYlJulzAYVeuGnrBze3Aa7mmzsnEJhOAyOgkZi326ZvMKl14uTAek0RwIdwW9pnAI1FwqyYSRsBrILTIuj55BvCphw2h72hsKrhBsCH324990vj1ogCBedvKrbx5B5h4JhZV4FU3QwesesS0wmm79o9dpSe96wSbprJsKm3YrVZPOn%2fHiZiklkt+5ZpsZkx7hiwzcH1TU7IonFO1wyeNv2Z6cOVysrv7jRC3kudC5aYV+rPrB2zWxfZGC2sCHO0TPlOE%2fbcAfuqCfHq4RaP5q1hB0fy6NAWpfMRJUzL1sQvm60vHhEH3+TSq1R+d9ac+ZyMLR6cojhK1itKlOuKgaaWPJKemXLBYWSaHYemdrgulS%2fbv2Jb94Mk64FZ9%2fI4liG4NEzq8+k3ku2k99CIKsDW%2fZc8Q+5oeOJylo4z1f%2f9nJB8suazxNGCkDGxZ2Ho5b3dNVksd0mnY3Tp4PkZv5rrvZyIKGW5NgLyBLquAugvFGAl09h2s8844wV1bPLr9bAKpAgCZWTCqIrFirCKHAW1fqPT4asvznBE1kR0Pbsazt7%2fgMSCis2EQm4ubF4HkwVwp2bI%2fjs2MtyDmZWDQrfUkVkz3tC1VWjrH2IXwRGUNekVoShVyfSCCBrFAo5NCNBSaQs3HgW7f5FNQFCRg87s70NGvVs9KKYSzVZcgPHVlpdAf67M%2ftEqZbgY88daJSXViR05fzIkLTY57VIk32hvC430473nzEVF0II1OVZkKyqD%2fm8ID+BYuuFZBR%2f3P7jQcQ0q94eQ2c%2fPnc56Hq54hSfrvtvxWHNf5wn8V3ueGNZtMdeWygdDhzianJgxBGkeFnwQdnbwX0BRqyu43iEVIOqW3g3K6r0zXRV4bnKwaR0hmL1CAoJuD3p8ewkaSvzkXXRB6bTXVpPXvnFSecu+pWfe3Yc9oRasY1tekimnZ%2fSg4G8r9nqU5+GgYsZ%2f7GrtOMd%2fw4BUUqx2JnBEtOokBKZv+vkgve7b8UovzimS1i6qt5UFNsJO2yYGLmOFIxJC+AVKPVu9zLftmO2CtaR+21ygo1ChBTs%2fHIYljKdHWhx9AI4%2fMoAeZ44LGyT5HwcG3CPWYA4DGWQMyOgOsSS5wWPU9Ihdi9p3sGhLUode599vTH6L2ZUJuR6D41yj3StKAklD7K1fEKr2YrVp6lNxstPTIYl1LyRoxC6JdxcmLDsF0OPCw3tdu2fDmFKfsYw7BL+eVtbC3A2mQNFyxigShwv+qdo%2fvVFcv3TPm7PM8D63tSPddlSn0HoiBfxtORWhUizRowQPuFpD3UviKtY10ANCLIYemk5Y6n3jQj2w%2fBYFkBeoq3ENU3le2+rWXEJBLfHtgeFQcRXqXI0u0+qJR3PuSlNzXEMQeIqfbhfU9eEO%2fGGmARzwU%2flk%3d`;\r\n\r\n\t\t\t// window.location.href = `http://localhost:3000/auth/identify?_token=ufRk17uGp4hgM7mkUvnwjrxq1zGJNRpEUMUbaRrlOA5RK8D2GFuU8MHo48ENZKeSqDFITXsNpAEYv6RAJzhEsBNUUvmakFOY++Mqd23F+KIaCq0I6dSk7y88TdGUYGNu2l5f8vMtuatrYWcfA8B0pZ06jdNE7+rN0zZ8OTMmG8AJ4abyFwRhfpNTJ494dH+1raR3tga2Gao1dWMrK7K9KKxV6Lbx13Bd1lj58A1PeJ+oZneVrysv8ONTYEHkITUXM1D6VeHmQLuJCoqKmLL3iMDoXR+ApVN5hTwp14wXj7eRq6KfA1DD083Ga340wmBHdNhKgTbHP14rP%2fo5FHvaOq9bz16QSL1onHRKWXM22l8+SzFcFTyIcZ96GUEtYNbELse5OpLCwQBgqIxL2Qf8jq8LR2W8lhsGUnHgYmy6Bb8Xi+YrAwxfpvbv4b+kDdx7RNmTiKyvsKj8tMqsz4iKHgNs7yssRXzjFn62hmRpnrzR3r4o7ZLdtzXHwn7tcuOxE%2fazVQldVxOB%2fSf4pZ0oT06k9ufiR46M3nYgko6KE16NNtzyyXan7SZbjsM15D4JoZseJIbmDvDWkjS2%2fEoEjv9CW73JKCkQR3f3SrGyjDEV+oVxZ2RhQF9EaAzK4lC0PeHzLRR2gnSTvwyyv7nnUCvkuF9WKymeb2HMNanuGlveb1qy%2fQXRDthq+KgiW3yQ4GeUTi49Axp6zQ0k3vhVaRcXzPrEpFRoMNXJNY6HT9tmFfbdpyvYWPQFjBSX3YEchEFflreU6yVWgQL4HbppLu2fuUAWwZWrCOc1vNaGn6I8bicXJFa3TB8VYlhwKCwlERTurLICfiD86dve4ZX%2f64I1uXm8gs2IcG38a5VbGCk2qNxAjk0F2BNOglROfP2QkN%2fbAYeopS0o+rWkctAWXnDRzGw+QXS1oQKHs6tTJ+eC+nO8Vl2xo2Gt4bB2y0+OLJC+8RPi4VK1%2fyqFqMDS4eY77P+xV40Ytj++ANlnDKZv93IO7VP8m9E6FWyHLPr2f0B21AuiMb4pSRvMsTwgNWwhRjBsIe%2fVX6Kw++S%2f0jyQo0mj1%2ft%2fJFtsaRk4Q1Hm9wb5WWu%2fdWAzFHt7Op%2f9SuDFmM7ZbVl%2fIBXgHRnaJ%2f4+OuYEq44ncHJKdYEB9OVkS7KMI94NzcWiuAFIE9qmbIJ1R9lKGt2+o6b3PpwbfSVEtg4eANQgIXRlniHF4WnCze0ceVjcHPi6IuCyh3MnEIpaGYW5yJjDTzsEvprPnwcJqg17s5kwWmW9tldNO5cCFmeH6peef1HXGy33XANk%2fRBR9GS73I4f84VewbnGd+vyFkFX+ITBjggCsntynm6Hz74%2fsj3kZMficdMiYhVe8XcAGbDETftmHbpGahcUY%2fWb4YsVlhBH+OIAQYKKV1+dhnFP9f0vDp2f5F2M4wcf93I0uau%2f+n0v81srhj+Kd6VGxDdqW422Nld9ceAmEHxv4aqwkufThiARAsYeqmG9ZFHRAiL1XKPo805wmH%2fEl0LUWfaDs3sJwm2XC6Du2P1UUFOYdjPNSblWpDAWRLPBye3w3w8qd05gi2zL0PIkmbZ7I%2fB3txzhyzvuTyXlTWlsF6IQJhzquX7ZVDZs9oOm1zgbWZOWDLZ9q6P%2fAQciwpCIEj%2fCVOC2DXmdhksvJEg%2fNgtoAy+RBqWep83YVGf%2fv+lVIVTszDX8nntaTs9IMvh8yXD7V5nHPpsk5JpFDijlRQBHFNA58pLoDnEcNtTo%2f26YEV9e%2fxTF9IFzQOT8XYDvutK9+j2AurBDmQ%2ff57bs4QwA%2faQsNBxVf3KTaYEvaQ%3d%3d`;\r\n\r\n\t\t\twindow.location.href = `http://localhost:3000/auth/identify?_token=ufRk17uGp4hgM7mkUvnwjrxq1zGJNRpEUMUbaRrlOA5RK8D2GFuU8MHo48ENZKeSqDFITXsNpAEYv6RAJzhEsOLEYG5+fZUsGyMjZlDkAl%2fjBu73s7TQmB9FIZCzxfh9bDpYEjdOMFGakVQ8h2UgGNYZkcWzvpMiJa42kuDTW+IY2UmU5mg6MLL8tDBOGb+cxiITsiJEKpK5QEXS5Ut4y5kKKIKvfVFsYOwjhDniTV54CxKVLm+9Zy7Ha0fSIUiIOabIdvQLBblK0aANyALnMu5PEx8O6mdgPLxWA7V+YbEvQvmYumAwrkun265x6ASqe4XXraJaC10K1VcfhwhuykFAeRDeycE5nsNu3qEPJLIWiMm4Lu+na27oZAUQS3OJg0PdK%2fyOCkJS8+BA+GRS9pxtaNc86ukovyZwrirm6B7jK3Y7TSxCv2j9a6XjpALPIQr2nkTjuDehtesaxHXJA0VSUcwXajmcaMn0yQtIqqp8%2fWnOJ1tp+l%2fcLnSwAjFwKEn92GSwP9LaF9rk%2fSZrxsx0RKd95SDM8jcRbzy4RJyqKGNDqe6YIS2xnIgvS355EMYzbkuB%2f3MWLhj4qFKQIdtR+IH9bsgoDSbH%2fXhp76a5VvK8q6jVu%2f7XSgHQSmZmdo6RilOpVh04HydugaGRj9wtZ+mg3Vo+0b7pjeCs3lIqpW8RToe0xl4cwGbwIWPuM7x+FxtbiF7aFKCrhKg0VqGQ4OmvcXpNlKkKEy2tvn8TLuermpdm0DL+EcI2RmQzuYPnUmimuBwrcqhVhzp9eFAYgq6lFBH68lwr7Z+p3ztGGydLaQ4PI2iMryHSY8+ZPzODn0ufQSlTTBpCUFvo4PEwykyBkG1JQ9mZRke7LSRCJPq0SSPzqVKjarAVIojRJmFHyA0l749kXl7w0765zOzbbOWSH%2fU3ZZxbHLZXiyEzJFK3eLvCXxaWOHsA+j73LFeilQvGOdjbuaYA9uQeCKaUZyUu+5aGDxYUNq3fPA8%2fSp4lecQhP+Y8lP5RBfFx0e3OmR8O5%2fm1VN4lLt6ADZH+BVoM%2fSYBtDOAB67M0CXQrA7hG2zrKBPrQI2uvjZjHTxAW+7sFpwNW0EWAZplNE6jmdu4H3XOhp+eSgAGk05cOkWp+YmLn9T0iZmu+vANtBRPNRN9ejJ0XBxlN95C6vnnf8gg8uvUzI3tV0JM784sRpEurP2%2fmN3HEZr6GP3Uiot5F3TBXBbYFGdux7wkJzFtkVuEEKEchjKmwn076RypsMdU7FSIzi5%2fvpin4wXrTS8oaZYsEyy%2f1ynuZdOztBpbXwvZ1tABp7Ck7QF%2f9Dg%2fAB%2feTgFxdkFHLkD9S5jaG41otg3vvMJHEJr7zICGrC6e%2fpaSXSQsllPg536dKlmpeaG3jOTk+22slW4l3YkxRpYwDf9dF1N5g%2f7A4hXKcaM2aM9mU%2fVszmIVroPiZBlhFoNRkI0Lq++0mRTZdN+A2ZIek7XeHraZ0m+qzMLJf9PY8eZi1AIceUEEuwhudzPX%2f59pEG0gDH47p2yO2ksqmsR7fR0OdKR4ks3eSAqP9dj5Hy2AjHMrtBU29+ym3G03AHSHCKZL5w875p%2fBhWi+QLA3a5L7OnEG+aUrEn+aypyj1%2faKX6dIJKQYZMrrXp0nx27uPKd%2f6WjIEL22yGNUQ+O6D7qkQjKEVx0B1NQgkD+H5lj36ZWr791cU1Jg990LV4e9HeOh45C3Xgw0EXi54EjNJ+%2fezJBHAjXcTQtRdQBwzBvnao35mgYl8VeMkXFa%2fFQ6IqdJR6isU3njckqiR7rV6Xq6V3UmH%2f5j02G2+6Ue1m2e6OCFV2sIH4U9Z4Hgq%2fjwNV3EJhtOFaGe13sd9ykCLqqmwYRfjFATLi%2f2fKtLPW1yaQS8+h0dNBEzDrW%2f4oS+0tAoLfJCrqWt8WgxzWAb%2fuLj2GUDKg6guE%2fPdzEzG05Ce1Fkprodq6CoVNpIhkhWeZ784cYVXmUoiv0Y2gPndsch0ImxK%2fDi%2fI6zCfjaxAX3pBnV`;\r\n\r\n\t\telse\r\n\t\t\twindow.location.href = `https://serviceportal.nbtc.go.th/Home/ServiceInfo?List_id=223`\r\n\t}\r\n\r\n\tuseEffect(() => {\r\n\t\tif (user) history.replace('/')\r\n\t\t// eslint-disable-next-line\r\n\t\tif (isShowSwal) {\r\n\t\t\tSwal.fire({\r\n\t\t\t\ttitle: 'ประกาศปิดปรับปรุงระบบ',\r\n\t\t\t\thtml: `\r\n\t\t\t\t
\r\n\t\t\t\t\t

ประกาศแจ้งปิดระบบทำการปิดปรับปรุงระบบฉุกเฉิน ขออภัยในความไม่สะดวก ทางสำนักงาน กสทช. จะเร่งดำเนินการเพื่อให้ท่านสามารถยื่นคำขอรับบริการหรืออนุญาตได้โดยเร็วที่สุด

\r\n\t\t\t\t\t

สำนักงาน กสทช.

\r\n\t\t\t\t
\r\n\t\t\t `,\r\n\t\t\t\ticon: 'warning',\r\n\t\t\t\twidth: '700',\r\n\t\t\t\tshowCancelButton: false,\r\n\t\t\t\tconfirmButtonText: 'ข้าพเจ้าได้อ่านและรับทราบแล้ว',\r\n\t\t\t\treverseButtons: true,\r\n\t\t\t});\r\n\t\t}\r\n\t\tif (isInitialized && isShowPrivacy && !isAccepted) {\r\n\t\t\tSwal.fire({\r\n\t\t\t\ttitle: '',\r\n\t\t\t\thtml: `\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\tประกาศความเป็นส่วนตัว (Privacy Notice)
\r\n\t\t\t\t\t(ฉบับมาตรฐานกลาง)\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n

       สำนักงานคณะกรรมการกิจการกระจายเสียง กิจการโทรทัศน์ และกิจการโทรคมนาคมแห่งชาติ (“สำนักงาน กสทช.”) เป็นหน่วยงานของรัฐที่สนับสนุนและรับผิดชอบงานธุรการของคณะกรรมการกิจการกระจายเสียง กิจการโทรทัศน์ กิจการโทรคมนาคมแห่งชาติ (กสทช.) ซึ่งเป็นองค์กรของรัฐที่มีความเป็นอิสระตามบทบัญญัติมาตรา ๖๐ ของรัฐธรรมนูญแห่งราชอาณาจักรไทย ในฐานะผู้ควบคุมข้อมูลส่วนบุคคล (Data Controller) ตามพระราชบัญญัติคุ้มครองข้อมูลส่วนบุคคล พ.ศ. ๒๕๖๒ มีการเก็บรวบรวมและประมวลผลข้อมูลส่วนบุคคลเท่าที่จำเป็นต่อการปฏิบัติหน้าที่ให้สอดคล้องและเป็นไปตามพระราชบัญญัติองค์กรจัดสรรคลื่นความถี่และกำกับการประกอบกิจการวิทยุกระจายเสียง วิทยุโทรทัศน์ และกิจการโทรคมนาคม พ.ศ. ๒๕๕๓ พระราชบัญญัติการประกอบกิจการกระจายเสียงและกิจการโทรทัศน์ พ.ศ. ๒๕๕๑ พระราชบัญญัติการประกอบกิจการโทรคมนาคม พ.ศ. ๒๕๔๔ พระราชบัญญัติวิทยุคมนาคม พ.ศ. ๒๔๙๘ และกฎหมายอื่น ๆ ที่ให้อำนาจแก่ กสทช. และสำนักงาน กสทช.

       ประกาศความเป็นส่วนตัวนี้จัดทำขึ้นเพื่อแจ้งให้เจ้าของข้อมูลส่วนบุคคลทราบถึงรายละเอียดเกี่ยวกับการประมวลผลข้อมูลส่วนบุคคล รวมถึงสิทธิของเจ้าของข้อมูลส่วนบุคคลตามพระราชบัญญัติคุ้มครองข้อมูลส่วนบุคคล พ.ศ. ๒๕๖๒ ดังต่อไปนี้

       บทนิยาม

       “เจ้าของข้อมูลส่วนบุคคล” หมายความว่า บุคคลธรรมดาซึ่งเป็นเจ้าของข้อมูลส่วนบุคคลที่สำนักงาน กสทช. เก็บรวบรวม ใช้ หรือเปิดเผยข้อมูลนั้น

       “ข้อมูลส่วนบุคคล” หมายความว่า ข้อมูลเกี่ยวกับบุคคลธรรมดาซึ่งทำให้สามารถระบุตัวบุคคลนั้นได้ไม่ว่าทางตรงหรือทางอ้อม แต่ไม่รวมถึงข้อมูลของผู้ถึงแก่กรรมโดยเฉพาะ

       “การประมวลผลข้อมูลส่วนบุคคล” หมายความว่า การเก็บรวบรวม ใช้ หรือเปิดเผยข้อมูลส่วนบุคคล

       “กสทช.” หมายความว่า คณะกรรมการกิจการกระจายเสียง กิจการโทรทัศน์ และกิจการโทรคมนาคมแห่งชาติ 

       “สำนักงาน กสทช.” หมายความว่า สำนักงานคณะกรรมการกิจการกระจายเสียง กิจการโทรทัศน์ และกิจการโทรคมนาคมแห่งชาติ

       “คลื่นความถี่” หมายความว่า คลื่นวิทยุหรือคลื่นแฮรตเซียนซึ่งเป็นคลื่นแม่เหล็กไฟฟ้าที่มีความถี่ต่ำกว่าสามล้านเมกะเฮิรตซ์ลงมาที่ถูกแพร่กระจายในที่ว่างโดยปราศจากสื่อนำที่ประดิษฐ์ขึ้น

      “จัดสรรคลื่นความถี่” หมายความว่า การอนุญาตให้สถานีวิทยุกระจายเสียง สถานีวิทยุโทรทัศน์ หรือสถานีวิทยุคมนาคม ใช้ความถี่วิทยุหรือช่องความถี่วิทยุตามตารางกำหนดคลื่นความถี่หรือแผนความถี่วิทยุเพื่อใช้งานภายใต้เงื่อนไขที่ กสทช. กำหนด

    “กิจการกระจายเสียง” หมายความว่า กิจการวิทยุกระจายเสียงและกิจการกระจายเสียง ซึ่งให้บริการการส่งข่าวสารสาธารณะหรือรายการไปยังเครื่องรับที่สามารถรับฟังการให้บริการนั้น ๆ ได้ ไม่ว่าจะส่งโดยผ่านระบบคลื่นความถี่ ระบบสาย ระบบแสง ระบบแม่เหล็กไฟฟ้า หรือระบบอื่น ระบบใดระบบหนึ่ง หรือหลายระบบรวมกัน หรือกิจการอื่นทำนองเดียวกันที่ กสทช. กำหนดให้เป็นกิจการกระจายเสียง

      “กิจการโทรทัศน์” หมายความว่า กิจการวิทยุโทรทัศน์และกิจการโทรทัศน์ซึ่งให้บริการการส่งข่าวสารสาธารณะหรือรายการไปยังเครื่องรับที่สามารถรับชมและฟังการให้บริการนั้น ๆ ได้ ไม่ว่าจะส่งโดยผ่านระบบคลื่นความถี่ ระบบสาย ระบบแสง ระบบแม่เหล็กไฟฟ้า หรือระบบอื่น ระบบใดระบบหนึ่ง หรือหลายระบบรวมกัน หรือกิจการอื่นทำนองเดียวกันที่ กสทช. กำหนดให้เป็นกิจการโทรทัศน์

     “กิจการวิทยุคมนาคม” หมายความว่า กิจการซึ่งเป็นการรับและส่งเครื่องหมาย สัญญาณ ตัวหนังสือ ตัวเลข ภาพ เสียง รหัส หรือสิ่งอื่นใด ซึ่งสามารถให้เข้าใจความหมายได้โดยระบบคลื่นความถี่ เพื่อความมุ่งหมายทางโทรคมนาคมในกิจการใดกิจการหนึ่งโดยเฉพาะหรือเป็นการเฉพาะกิจที่มิใช่เป็นการประกอบกิจการโทรคมนาคมตามกฎหมายว่าด้วยการประกอบกิจการโทรคมนาคมหรือการประกอบกิจการกระจายเสียงหรือกิจการโทรทัศน์ตามกฎหมายว่าด้วยการประกอบกิจการกระจายเสียงและกิจการโทรทัศน์

        “กิจการโทรคมนาคม” หมายความว่า กิจการซึ่งให้บริการการส่ง การแพร่ หรือการรับเครื่องหมาย สัญญาณ ตัวหนังสือ ตัวเลข ภาพ เสียง รหัส หรือสิ่งอื่นใด ซึ่งสามารถให้เข้าใจความหมายได้โดยระบบ
คลื่นความถี่ ระบบสาย ระบบแสง ระบบแม่เหล็กไฟฟ้า หรือระบบอื่น ระบบใดระบบหนึ่ง หรือหลายระบบรวมกัน และรวมถึงกิจการซึ่งให้บริการดาวเทียมสื่อสาร หรือกิจการอื่นที่ กสทช. กำหนดให้เป็นกิจการโทรคมนาคม แต่ไม่รวมถึงกิจการที่เป็นกิจการกระจายเสียง กิจการโทรทัศน์ และกิจการวิทยุคมนาคม

        “สิทธิในการเข้าใช้วงโคจรดาวเทียม” หมายความว่า สิทธิที่ประเทศไทยหรือหน่วยงานของรัฐได้รับหรือมีอยู่ในการส่งดาวเทียมเข้าสู่วงโคจรตามข้อบังคับวิทยุของสหภาพโทรคมนาคมระหว่างประเทศ

        “ระบบสารสนเทศที่ให้บริการ” หมายความว่า ระบบสารสนเทศที่สำนักงาน กสทช. จัดไว้เพื่อการปฏิบัติหน้าที่ตามกฎหมายและการอำนวยความสะดวกแก่เจ้าของข้อมูลส่วนบุคคล

 

       ๑. วัตถุประสงค์ในการประมวลผลข้อมูลส่วนบุคคล

            สำนักงาน กสทช. ประมวลผลข้อมูลส่วนบุคคลของผู้ใช้บริการเพื่อวัตถุประสงค์ดังนี้

         ๑) เพื่อให้บรรลุวัตถุประสงค์ตามการปฏิบัติหน้าที่ในการดำเนินภารกิจเพื่อประโยชน์สาธารณะของ กสทช. หรือสำนักงาน กสทช. หรือปฏิบัติหน้าที่ในการใช้อำนาจรัฐที่ได้มอบให้แก่ กสทช. หรือสำนักงาน กสทช. หรือประโยชน์สาธารณะที่สำคัญ เช่น

                  - การอนุญาตและกำกับดูแลการใช้เลขหมายโทรคมนาคม การอนุญาตและกำกับดูแลการประกอบกิจการกระจายเสียง กิจการโทรทัศน์ 

และกิจการโทรคมนาคม

                  - การส่งเสริมสิทธิเสรีภาพและความเสมอภาคของประชาชนในการเข้าถึงและใช้ประโยชน์คลื่นความถี่ 

                  - การส่งเสริมวิชาชีพและการส่งเสริมการรวมกลุ่มของผู้รับใบอนุญาต ผู้ผลิตรายการ และผู้ประกอบวิชาชีพสื่อสารมวลชนที่เกี่ยวกับกิจการกระจายเสียง

และกิจการโทรทัศน์ สำหรับส่งเสริมและควบคุมการประกอบวิชาชีพภายใต้มาตรฐานทางจริยธรรม

                  - การกำกับดูแลการแข่งขัน อัตราค่าธรรมเนียม การครอบงำกิจการ และการครองสิทธิข้ามสื่อ

                  - การคุ้มครองสิทธิและเสรีภาพของประชาชนมิให้ถูกเอาเปรียบจากผู้ประกอบกิจการ และคุ้มครองสิทธิความเป็นส่วนตัวและเสรีภาพของบุคคล

ในการสื่อสารถึงกัน 

                  - การจัดให้มีบริการขั้นพื้นฐานโดยทั่วถึงและบริการเพื่อสังคมที่เกี่ยวกับกิจการกระจายเสียง กิจการโทรทัศน์ กิจการวิทยุคมนาคม กิจการโทรคมนาคม 

และกิจการดาวเทียม รวมถึงการดำเนินการอื่นใดที่เกี่ยวข้องเพื่อบรรลุวัตถุประสงค์ดังกล่าว

                  - การดำเนินการด้านกองทุนวิจัยและพัฒนากิจการกระจายเสียง กิจการโทรทัศน์ และกิจการโทรคมนาคมเพื่อประโยชน์สาธารณะ

                  - การดำเนินการอื่นใดเพื่อสนับสนุนภารกิจเพื่อประโยชน์สาธารณะของ กสทช. และสำนักงาน กสทช. เช่น การติดต่อประสานงาน การออกใบเสร็จรับเงินหรือใบกำกับภาษี การรับเรื่องร้องเรียน 

และการจัดประชุม อบรม หรือสัมมนา

                   เพื่อให้การดำเนินภารกิจเพื่อประโยชน์สาธารณะของ กสทช. หรือสำนักงาน กสทช. บรรลุวัตถุประสงค์ เจ้าของข้อมูลส่วนบุคคลจึงต้องให้ข้อมูลส่วนบุคคลเพื่อการปฏิบัติตามกฎหมาย ทั้งนี้ การไม่ให้ข้อมูล
ส่วนบุคคลที่ถูกต้องครบถ้วนอาจทำให้สำนักงาน กสทช. ไม่สามารถดำเนินการต่าง ๆ ที่เกี่ยวข้องกับการขออนุญาต หรือการดำเนินการต่าง ๆ  ที่เกี่ยวข้องได้

               ๒) เพื่อให้บรรลุวัตถุประสงค์ตามความจำเป็นเพื่อประโยชน์โดยชอบด้วยกฎหมายระหว่างเจ้าของข้อมูลส่วนบุคคลกับสำนักงาน กสทช. โดยประโยชน์ดังกล่าวมีความสำคัญไม่น้อยไปกว่าสิทธิขั้นพื้นฐานใน

ข้อมูลส่วนบุคคลของเจ้าของข้อมูลส่วนบุคคล เช่น

                   - การตรวจสอบและพิสูจน์ตัวตนในการใช้งานระบบสารสนเทศที่ให้บริการ

                   - การตรวจจับและป้องกันมิให้มีการใช้ระบบที่ให้บริการโดยไม่ได้รับอนุญาต หรือใช้ในลักษณะฉ้อฉล หรือในทางมิชอบด้วยกฎหมาย

                   - การโอนหรือรับโอนหรือแบ่งปันข้อมูลส่วนบุคคลไปยังส่วนราชการ หน่วยงานภาครัฐ หรือองค์กรที่เกี่ยวข้อง

                ๓) เพื่อให้บรรลุวัตถุประสงค์ตามการปฏิบัติตามกฎหมายของ กสทช. หรือสำนักงาน กสทช. เช่น

                    - การใช้อำนาจหน้าที่ในการบังคับทางปกครอง กระบวนการพิจารณาทางปกครอง การระงับข้อพิพาท การมีคำสั่งทางปกครอง การดำเนินกระบวนพิจารณาตามกฎหมาย หรือการดำเนินคดีอื่น ๆ 
ทั้งนี้ตามที่กฎหมายกำหนดเกี่ยวกับวิธีปฏิบัติราชการทางปกครองหรือการบังคับใช้มาตรการบังคับทางปกครอง

                    - การดำเนินการตามกฎหมายเกี่ยวกับการป้องกันและปราบปรามการกระทำความผิดเกี่ยวกับคอมพิวเตอร์ กฎหมายเกี่ยวกับการป้องกันและปราบปรามการฟอกเงิน กฎหมายเกี่ยวกับการตรวจเงินแผ่นดิน และกฎหมายเกี่ยวกับการคลังหรือภาษีอากร

                ๔) เพื่อให้บรรลุวัตถุประสงค์ตามที่เจ้าของข้อมูลส่วนบุคคลได้ให้ความยินยอมกับสำนักงาน กสทช. ในการประมวลผลข้อมูลส่วนบุคคล

                ๕) เพื่อให้บรรลุวัตถุประสงค์ตามการจัดทำเอกสารประวัติศาสตร์หรือจดหมายเหตุเพื่อประโยชน์สาธารณะ หรือที่เกี่ยวกับการศึกษาวิจัยหรือสถิติ

                ๖) เพื่อให้บรรลุวัตถุประสงค์ตามความจำเป็นเพื่อการก่อตั้งสิทธิเรียกร้องตามกฎหมาย การปฏิบัติตามหรือการใช้สิทธิเรียกร้องตามกฎหมาย หรือการยกขึ้นต่อสู้เรียกร้องตามกฎหมาย

 

       ๒ประเภทของข้อมูลส่วนบุคคลที่เก็บรวบรวม

            สำนักงาน กสทช. มีความจำเป็นต้องใช้ข้อมูลพื้นฐานที่สำคัญ ซึ่งเป็นข้อมูลเกี่ยวกับบุคคลธรรมดาที่มีข้อมูลที่สามารถระบุตัวบุคคลได้ไม่ว่าทางตรงหรือทางอ้อม โดยจัดเก็บทั้งจากเจ้าของข้อมูลส่วนบุคคลที่ได้รับมาโดยตรงและมาจากแหล่งอื่น ซึ่งข้อมูลดังกล่าวครอบคลุมถึงข้อมูลที่ได้รับจากนิติบุคคล องค์การ หน่วยงาน สมาคม หรือข้อมูลอื่นใดที่อยู่ภายใต้การกำกับดูแลของ กสทช. และสำนักงาน กสทช. ข้อมูลจากหน่วยงานภาครัฐ คู่สัญญา ผู้ประกอบธุรกิจ และประชาชน โดยมีรายการดังต่อไปนี้

                ๑) ข้อมูลรายละเอียดเกี่ยวกับตัวบุคคลหรือข้อมูลที่ใช้ในการระบุและยืนยันตัวตนของเจ้าของข้อมูลส่วนบุคคล เช่น ชื่อ-นามสกุล วันเดือนปีเกิด ข้อมูลบนบัตรประจำตัวประชาชน ข้อมูลบนสำเนาหนังสือเดินทาง 

ลายมือชื่อ ข้อมูลชีวภาพ (ข้อมูลภาพจำลองใบหน้า ข้อมูลจำลองลายนิ้วมือ ฯลฯ)  ข้อมูลส่วนบุคคลเกี่ยวกับสัญชาติและเชื้อชาติ ข้อมูลเกี่ยวกับสุขภาพ ข้อมูลเกี่ยวกับประวัติอาชญากรรม หรือข้อมูลความพิการ

                 ๒) ข้อมูลสถานที่หรือวิธีการติดต่อ เช่น หมายเลขโทรศัพท์ อีเมล ที่อยู่ หรือบัญชีสื่อสังคมออนไลน์ 

                 ๓) ข้อมูลการประกอบวิชาชีพ เช่น อาชีพ ตำแหน่ง สถานที่ทำงานหรือสถานที่ติดต่อ ใบอนุญาตประกอบวิชาชีพต่าง ๆ หรือข้อมูลการได้รับอนุญาตให้ประกอบวิชาชีพ

                 ๔) ข้อมูลทางการเงิน เช่น เงินเดือน หรือรายละเอียดเกี่ยวกับบัญชีของเจ้าของข้อมูลส่วนบุคคล ข้อมูลผู้เสียภาษี เลขประจำตัวผู้เสียภาษี หรือเลขที่ใบเสร็จรับเงิน

                 ๕) ข้อมูลส่วนบุคคลของบุคคลอื่นที่เจ้าของข้อมูลส่วนบุคคลแจ้งแก่สำนักงาน กสทช. เช่น คู่สมรส ผู้ถือหุ้น รายชื่อหุ้นส่วน หรือผู้ค้ำประกัน

                 ๖) ข้อมูลเกี่ยวกับการศึกษา เช่น สถาบันการศึกษาที่สังกัด หรือระดับการศึกษา

                 ๗) ข้อมูลที่เกี่ยวกับการรักษาความปลอดภัย เช่น ข้อมูลจากระบบกล้องวงจรปิด

                 ๘) ข้อมูลส่วนบุคคลอื่น ๆ ตามที่ประกาศหรือกฎหมายที่เกี่ยวข้องกำหนด เช่น ข้อมูล Log ทางอิเล็กทรอนิกส์ ได้แก่ ข้อมูลแสดงตัวตนทางอิเล็กทรอนิกส์หรือบันทึกข้อมูลที่ได้มาโดยอัตโนมัติจากอุปกรณ์ของเจ้าของข้อมูลส่วนบุคคลบางรายการ เช่น ประเภทอุปกรณ์ ประเภทระบบปฏิบัติการ เลขที่อยู่ไอพี ข้อมูลเบราเซอร์ รวมถึงประเภทและการตั้งค่าภาษา ตัวระบุเครื่อง ข้อมูลคุกกี้ หรือตัวระบุแอปพลิเคชันบนโทรศัพท์เคลื่อนที่

                 ๙) ข้อมูลเพื่อประโยชน์ในการกำกับดูแล การพัฒนาระบบ และการให้บริการของสำนักงาน กสทช. เช่น ข้อมูลตำแหน่งทางภูมิศาสตร์ ข้อมูลไฟล์เสียง ไฟล์วิดีโอ หรือประวัติการเข้าร่วมกิจกรรม

                ๑๐) ข้อมูลอื่น ๆ ที่อาจมีความจำเป็นต่อการปฏิบัติหน้าที่ตามกฎหมาย

 

       ๓ฐานทางกฎหมายในการประมวลผลข้อมูลส่วนบุคคล

                สำนักงาน กสทช. ประมวลผลข้อมูลส่วนบุคคลของเจ้าของข้อมูลส่วนบุคคล ภายใต้ฐานทางกฎหมาย ดังนี้

              ๑) เป็นการจำเป็นเพื่อการปฏิบัติหน้าที่ในการดำเนินภารกิจเพื่อประโยชน์สาธารณะของ กสทช. หรือสำนักงาน กสทช. เช่น พระราชบัญญัติองค์กรจัดสรรคลื่นความถี่และกำกับการประกอบกิจการวิทยุกระจาย            เสียงวิทยุโทรทัศน์ และกิจการโทรคมนาคม พ.ศ. ๒๕๕๓ พระราชบัญญัติการประกอบกิจการกระจายเสียงและกิจการโทรทัศน์ พ.ศ. ๒๕๕๑ พระราชบัญญัติการประกอบกิจการโทรคมนาคม พ.ศ. ๒๕๔๔ และพระราชบัญญัติวิทยุคมนาคม พ.ศ. ๒๔๙๘ 

            ๒) เป็นการจำเป็นเพื่อปฏิบัติหน้าที่ในการใช้อำนาจรัฐที่ได้มอบให้แก่ กสทช. หรือสำนักงาน กสทช. เช่น มติคณะรัฐมนตรี หรือคำสั่งของหน่วยงานของรัฐที่มีอำนาจตามกฎหมายซึ่งเป็นไปตาม   ขอบเขตอำนาจที่  กสทช. หรือสำนักงาน กสทช. ได้รับมอบหมาย เป็นต้น

                  ๓) เป็นการจำเป็นเพื่อการปฏิบัติตามสัญญาซึ่งเจ้าของข้อมูลส่วนบุคคลเป็นคู่สัญญาหรือเพื่อใช้ในการดำเนินการตามคำขอของเจ้าของข้อมูลส่วนบุคคลก่อนเข้าทำสัญญานั้นกับสำนักงาน กสทช.

               ๔) ความจำเป็นเพื่อประโยชน์โดยชอบด้วยกฎหมายระหว่างเจ้าของข้อมูลส่วนบุคคลกับสำนักงาน กสทช. โดยประโยชน์ดังกล่าวมีความสำคัญไม่น้อยไปกว่าสิทธิขั้นพื้นฐานในข้อมูลส่วนบุคคล            ของเจ้าของข้อมูลส่วนบุคคล เช่น ในช่วงที่เจ้าของข้อมูลส่วนบุคคลสมัครลงทะเบียนขอบัญชีผู้ใช้งานเพื่อขอรับบริการบนระบบสารสนเทศที่ให้บริการ 

                 ๕) เป็นการปฏิบัติตามกฎหมายของ กสทช. หรือสำนักงาน กสทช. ในกรณีที่มีกฎหมายกำหนดให้ต้องปฏิบัติ เช่น กฎหมายเกี่ยวกับการป้องกันและปราบปรามการกระทำความผิดเกี่ยวกับคอมพิวเตอร์ กฎหมายเกี่ยว     กับการป้องกันและปราบปรามการฟอกเงิน กฎหมายเกี่ยวกับการตรวจเงินแผ่นดิน และกฎหมายเกี่ยวกับการคลังหรือภาษีอากร 

                  ๖) ความยินยอม ในกรณีที่เจ้าของข้อมูลส่วนบุคคลได้ให้ความยินยอมกับสำนักงาน กสทช. ในการประมวลผลข้อมูลส่วนบุคคล

                  ๗) เพื่อให้บรรลุวัตถุประสงค์ที่เกี่ยวกับการจัดทำเอกสารประวัติศาสตร์หรือจดหมายเหตุเพื่อประโยชน์สาธารณะ หรือที่เกี่ยวกับการศึกษาวิจัยหรือสถิติ

                  ๘) เพื่อป้องกันหรือระงับอันตรายต่อชีวิต ร่างกาย หรือสุขภาพของบุคคล

                  ในกรณีที่สำนักงาน กสทช. จะทำการประมวลผลข้อมูลส่วนบุคคลตามที่กำหนดในมาตรา ๒๖ แห่งพระราชบัญญัติคุ้มครองข้อมูลส่วนบุคคล พ.ศ. ๒๕๖๒ สำนักงาน กสทช. จะจัดให้มีฐานทางกฎหมายตามมาตรา ๒๖ ให้สอดคล้องกับวัตถุประสงค์ดังกล่าวเป็นการเพิ่มเติม และจัดให้มีมาตรการที่เหมาะสมเพื่อคุ้มครองสิทธิขั้นพื้นฐานและประโยชน์ของเจ้าของข้อมูลส่วนบุคคล

 

       ๔ระยะเวลาในการเก็บรักษาข้อมูลส่วนบุคคล

       สำนักงาน กสทช. เก็บรักษาข้อมูลส่วนบุคคลของเจ้าของข้อมูลส่วนบุคคลเป็นระยะเวลาตามที่กฎหมายกำหนดและตามวัตถุประสงค์ของการเก็บรวบรวมเพื่อให้สอดคล้องกับอำนาจหน้าที่ตามกฎหมายของ กสทช. หรือสำนักงาน กสทช. ในการจัดทำบริการสาธารณะ และหน้าที่อื่น ๆ ตามกฎหมาย รวมถึงเพื่อประโยชน์ในการใช้สิทธิทางศาลหรือการระงับข้อพิพาทใด ๆ ในอนาคต รายละเอียดปรากฏตามนโยบายการเก็บรักษาและการลบทำลายข้อมูลส่วนบุคคล (Data Retention and Disposal Policy) โดยเมื่อพ้นระยะเวลาการจัดเก็บดังกล่าวแล้ว สำนักงาน กสทช. จะลบทำลายข้อมูลส่วนบุคคลของเจ้าของข้อมูลส่วนบุคคลโดยทันที เว้นแต่กรณีที่เจ้าของข้อมูลส่วนบุคคลได้ใช้สิทธิ หรือมีข้อพิพาทหรือคดีความเกี่ยวกับการใช้บริการของเจ้าของข้อมูลส่วนบุคคล สำนักงาน กสทช. ขอสงวนสิทธิในการเก็บรักษาข้อมูลนั้นต่อไปจนกว่าการใช้สิทธิของเจ้าของข้อมูลส่วนบุคคลได้ดำเนินการจนถึงขั้นยุติ หรือข้อพิพาทหรือคดีความจะได้มีคำสั่งหรือคำพิพากษาถึงที่สุดแล้ว

 

       ๕การเปิดเผยข้อมูลส่วนบุคคล 

              สำนักงาน กสทช. อาจเปิดเผยข้อมูลส่วนบุคคลแก่บุคคลหรือหน่วยงาน ดังนี้ 

                ๑) คู่สัญญา ผู้ให้บริการภายนอก หรือบุคคลภายนอกที่เกี่ยวข้องกับการให้บริการแก่สำนักงาน กสทช. ซึ่งมีความเกี่ยวข้องกับข้อมูลส่วนบุคคลของเจ้าของข้อมูลส่วนบุคคล เช่น ผู้ให้บริการระบบงาน ผู้พัฒนาเว็บไซต์ ผู้ตรวจสอบ หรือที่ปรึกษา

                  ๒) เจ้าหน้าที่ของรัฐ หน่วยงานที่มีอำนาจหน้าที่ หรือบุคคลอื่น เพื่อการดำเนินการตามที่กฎหมายกำหนด คำสั่งของผู้มีอำนาจตามกฎหมาย หรือตามคำสั่งหรือหมายศาล เป็นต้น

                 ๓) หน่วยงานภายนอก เช่น สำนักงานพัฒนารัฐบาลดิจิทัล (องค์การมหาชน) ที่มีการดำเนินการเชื่อมโยงข้อมูลภาครัฐ (Open data) การเชื่อมโยงข้อมูลกับหน่วยงานภาครัฐและภาคเอกชนที่มีการขอความร่วมมือ       เพื่อการเปิดเผยข้อมูล สำนักงานการตรวจเงินแผ่นดิน สำนักงานเลขาธิการสภาผู้แทนราษฎร สำนักงานเลขาธิการวุฒิสภา หน่วยงานกำกับดูแลด้านความมั่นคงปลอดภัยทางไซเบอร์ หน่วยงานตรวจสอบด้านการปราบปรามการ กระทำความผิดหรืออาชญากรรมทางอิเล็กทรอนิกส์ หน่วยงานตรวจสอบด้านการป้องกันและปราบปรามการทุจริต หน่วยงานตรวจสอบด้านการคลังหรือภาษีอากร หน่วยงานบังคับใช้กฎหมายอื่น ๆ และหน่วยงานอื่นใดที่มีความร่วมมือหรือข้อตกลงกับ กสทช. หรือสำนักงาน กสทช.

 

       ๖การโอนหรือเปิดเผยข้อมูลส่วนบุคคลไปยังองค์กรระหว่างประเทศ

       เพื่อให้การดำเนินภารกิจเพื่อประโยชน์สาธารณะที่สำคัญของ กสทช. หรือสำนักงาน กสทช. บรรลุตามวัตถุประสงค์ในส่วนที่เกี่ยวกับการดำเนินการในฐานะหน่วยงานอำนวยการของรัฐที่มีอำนาจในการกำกับดูแลกิจการกระจายเสียง กิจการโทรทัศน์ กิจการโทรคมนาคม กิจการดาวเทียม และกิจการสื่อสารอื่น ๆ ตามที่กฎหมายกำหนดกับสหภาพโทรคมนาคมระหว่างประเทศ (International Telecommunication Union: ITU) หรือกับองค์การระหว่างประเทศอื่น รัฐบาลและหน่วยงานต่างประเทศ รวมทั้งสนับสนุนการดำเนินการของรัฐเพื่อให้การบริหารจัดการคลื่นความถี่ การจัดสรรคลื่นความถี่ และสิทธิในการเข้าใช้วงโคจรดาวเทียม ตลอดจนการประสานงานเกี่ยวกับการบริหารคลื่นความถี่ระหว่างประเทศ หรือความร่วมมือหรือข้อตกลงกับหน่วยงานระหว่างประเทศอื่นใดตามที่อยู่ในหน้าที่และอำนาจของ กสทช. หรือสำนักงาน กสทช. หรือตามที่รัฐบาลมอบหมาย จึงอาจมีการส่งหรือโอนข้อมูลส่วนบุคคลของเจ้าของข้อมูลส่วนบุคคลไปยังต่างประเทศหรือองค์การระหว่างประเทศ โดยสำนักงาน กสทช. จะดำเนินการให้เป็นไปตามมาตรฐานการคุ้มครองข้อมูลส่วนบุคคลตามที่กฎหมายกำหนด

 

       ๗สิทธิตามพระราชบัญญัติคุ้มครองข้อมูลส่วนบุคคล พ.ศ. ๒๕๖๒

             เจ้าของข้อมูลส่วนบุคคลสามารถใช้สิทธิตามพระราชบัญญัติคุ้มครองข้อมูลส่วนบุคคล พ.ศ. ๒๕๖๒ ภายใต้เงื่อนไขและข้อยกเว้นตามที่กฎหมายกำหนด ดังนี้

            ๑) สิทธิในการเข้าถึงและรับสำเนาข้อมูลส่วนบุคคล รวมถึงการขอให้เปิดเผยที่มาของข้อมูลส่วนบุคคลของเจ้าของข้อมูลส่วนบุคคลที่สำนักงาน กสทช. เก็บรวบรวมโดยที่เจ้าของข้อมูลส่วนบุคคลไม่ได้ให้
ความยินยอม เว้นแต่กรณีที่สำนักงาน กสทช. มีสิทธิปฏิเสธคำขอตามกฎหมายหรือคำสั่งศาลและกรณีที่การขอเข้าถึงและรับสำเนาของเจ้าของข้อมูลส่วนบุคคลจะส่งผลกระทบที่อาจก่อให้เกิดความเสียหายต่อสิทธิและเสรีภาพของบุคคลอื่น

            ๒) สิทธิในการขอแก้ไขข้อมูลส่วนบุคคลของเจ้าของข้อมูลส่วนบุคคลที่ไม่ถูกต้องหรือไม่ครบถ้วน เพื่อให้มีความถูกต้อง เป็นปัจจุบัน สมบูรณ์ และไม่ก่อให้เกิดความเข้าใจผิด 

            ๓) สิทธิในการขอให้ระงับการใช้ข้อมูลส่วนบุคคลของเจ้าของข้อมูลส่วนบุคคลในกรณี ดังนี้

                 ๓.๑) เมื่ออยู่ในระหว่างที่สำนักงาน กสทช. ทำการตรวจสอบตามคำร้องขอของเจ้าของข้อมูลส่วนบุคคล เพื่อให้แก้ไขข้อมูลส่วนบุคคลของเจ้าของข้อมูลส่วนบุคคลให้ถูกต้อง สมบูรณ์ และเป็นปัจจุบัน

                 ๓.๒) ข้อมูลส่วนบุคคลของเจ้าของข้อมูลส่วนบุคคลถูกเก็บรวบรวม ใช้ หรือเปิดเผยโดยมิชอบด้วยกฎหมาย

                ๓.๓) เมื่อข้อมูลส่วนบุคคลของเจ้าของข้อมูลส่วนบุคคลหมดความจำเป็นในการเก็บรักษาไว้ตามวัตถุประสงค์ที่สำนักงาน กสทช. ได้แจ้งต่อเจ้าของข้อมูลส่วนบุคคลในการเก็บรวบรวม                                            แต่เจ้าของข้อมูลส่วนบุคคลประสงค์ให้สำนักงาน กสทช. เก็บรักษาข้อมูลนั้นไว้ต่อไปเพื่อประกอบการใช้สิทธิตามกฎหมายของเจ้าของข้อมูลส่วนบุคคล

                  ๓.๔) เมื่ออยู่ในระหว่างที่สำนักงาน กสทช. กำลังพิสูจน์ให้เจ้าของข้อมูลส่วนบุคคลเห็นถึงเหตุอันชอบด้วยกฎหมายในการเก็บรวบรวมข้อมูลส่วนบุคคลของเจ้าของข้อมูลส่วนบุคคล หรือตรวจสอบ
ความจำเป็นในการเก็บรวบรวม ใช้ หรือเปิดเผยข้อมูลส่วนบุคคลของเจ้าของข้อมูลส่วนบุคคลเพื่อประโยชน์สาธารณะ อันเนื่องมาจากการที่เจ้าของข้อมูลส่วนบุคคลได้ใช้สิทธิคัดค้านการเก็บรวบรวม ใช้ หรือเปิดเผยข้อมูลส่วนบุคคลของเจ้าของข้อมูลส่วนบุคคล 

           ๔) สิทธิในการคัดค้านการเก็บรวบรวม ใช้ หรือเปิดเผยข้อมูลส่วนบุคคลของเจ้าของข้อมูลส่วนบุคคล เว้นแต่กรณีที่สำนักงาน กสทช. มีเหตุในการปฏิเสธสิทธิการคัดค้านของเจ้าของข้อมูลส่วนบุคคลโดยชอบ
ด้วยกฎหมาย เช่น สำนักงาน กสทช. สามารถแสดงให้เห็นว่า การเก็บรวบรวม ใช้ หรือเปิดเผยข้อมูลส่วนบุคคลของเจ้าของข้อมูลส่วนบุคคลมีเหตุอันชอบด้วยกฎหมายที่สำคัญยิ่งกว่า หรือเพื่อการก่อตั้งสิทธิเรียกร้อง
ตามกฎหมาย การปฏิบัติตาม หรือการใช้สิทธิเรียกร้องทางกฎหมาย หรือเพื่อประโยชน์สาธารณะตามภารกิจของสำนักงาน กสทช.

           ๕) สิทธิขอให้ดำเนินการลบหรือทำลาย หรือทำให้ข้อมูลส่วนบุคคลเป็นข้อมูลที่ไม่สามารถระบุตัวบุคคลที่เป็นเจ้าของข้อมูลส่วนบุคคลได้ ทั้งนี้ ตามเงื่อนไขที่กฎหมายกำหนด                                                                                 เมื่อเจ้าของข้อมูลส่วนบุคคลขอใช้สิทธิดังกล่าว สำนักงาน กสทช. จะตรวจสอบและดำเนินการตามคำขอใช้สิทธิโดยไม่ชักช้าและภายในระยะเวลาไม่เกิน ๙๐ วัน นับแต่วันที่บันทึกคำร้องลงระบบ เว้นแต่
มีเหตุจำเป็นอื่นที่ไม่อาจก้าวล่วงได้หรือมีกรณีที่อาจปฏิเสธคำขอได้ตามเงื่อนไขที่กฎหมายกำหนด ซึ่งสำนักงาน กสทช. จะได้แจ้งให้เจ้าของข้อมูลส่วนบุคคลทราบโดยทันที เว้นแต่สิทธิในการเข้าถึงและขอรับสำเนาข้อมูลส่วนบุคคลซึ่งจะดำเนินการภายในระยะเวลาไม่เกิน ๓๐ วัน

           ๖) สิทธิร้องเรียน ในกรณีที่เจ้าของข้อมูลส่วนบุคคลพบว่า สำนักงาน กสทช. มิได้ปฏิบัติตามพระราชบัญญัติคุ้มครองข้อมูลส่วนบุคคล พ.ศ. ๒๕๖๒ เจ้าของข้อมูลส่วนบุคคลมีสิทธิร้องเรียนไปยังคณะกรรมการผู้เชี่ยวชาญ สำนักงานคณะกรรมการคุ้มครองข้อมูลส่วนบุคคล หรือหน่วยงานที่มีอำนาจกำกับดูแลตามกฎหมาย ทั้งนี้ 
ก่อนการร้องเรียนดังกล่าวสำนักงาน กสทช. ขอให้เจ้าของข้อมูลส่วนบุคคลโปรดติดต่อมายังสำนักงาน กสทช. เพื่อให้สำนักงาน กสทช. มีโอกาสได้รับทราบข้อเท็จจริงและได้ชี้แจงในประเด็นต่าง ๆ รวมถึงจัดการแก้ไข
ข้อกังวลของเจ้าของข้อมูลส่วนบุคคลก่อนเป็นโอกาสแรก

 

       ๘การรักษาความมั่นคงปลอดภัยข้อมูลส่วนบุคคล

         สำนักงาน กสทช. มีความตระหนักและมุ่งมั่นให้ความสำคัญต่อความเป็นส่วนตัวของเจ้าของข้อมูลส่วนบุคคล จึงได้จัดให้มีมาตรการรักษาความมั่นคงปลอดภัยของข้อมูลส่วนบุคคลที่เหมาะสม รวมถึงสอดคล้องกับมาตรฐานสากล ซึ่งประกอบด้วยมาตรการเชิงองค์กร มาตรการเชิงเทคนิค และมาตรการทางกายภาพ ครอบคลุมส่วนประกอบต่าง ๆ และสอดคล้องกับความเสี่ยงที่มีการประเมินและวางมาตรการควบคุม 
เพื่อป้องกันมิให้ข้อมูลสูญหาย หรือมีการเข้าถึง ทำลาย ใช้ เปลี่ยนแปลง แก้ไข หรือเปิดเผยข้อมูลส่วนบุคคลโดยไม่ได้รับอนุญาต โดยกำหนดเป็นนโยบายและแนวปฏิบัติในการรักษาความมั่นคงปลอดภัยด้านสารสนเทศ (Information Security Policy) ของสำนักงาน กสทช.

                  ทั้งนี้ สำนักงาน กสทช. มีมาตรการเพื่อธำรงไว้ซึ่งความลับ (Confidentiality) ความถูกต้องครบถ้วน (Integrity) และสภาพพร้อมใช้งาน (Availability) ของข้อมูลส่วนบุคคล 

 

       ๙การมีส่วนร่วมของเจ้าของข้อมูลส่วนบุคคลและผู้แทน

            สำนักงาน กสทช. อาจเปิดเผยข้อมูลส่วนบุคคลของเจ้าของข้อมูลส่วนบุคคลเมื่อได้รับคำร้องขอจาก ผู้สืบสิทธิ ทายาท ผู้แทนโดยชอบธรรม ผู้อนุบาล หรือผู้พิทักษ์ตามกฎหมายของเจ้าของข้อมูลส่วนบุคคล 
โดยส่งคำร้องขอมาที่ Call Center: ๑๒๐๐ อีเมล: 1200@nbtc.go.th

            ในกรณีที่เจ้าของข้อมูลส่วนบุคคล ผู้สืบสิทธิ ทายาท ผู้แทนโดยชอบธรรม ผู้อนุบาล หรือผู้พิทักษ์ตามกฎหมายมีคำขอให้ดำเนินการใด ๆ เกี่ยวกับการประมวลผลข้อมูลส่วนบุคคล หรือการดำเนินการใด ๆ 
กับข้อมูลส่วนบุคคล เช่น การแจ้งให้ดำเนินการปรับปรุงแก้ไขข้อมูลส่วนบุคคล สำนักงาน กสทช. จะจัดทำบันทึกการดำเนินการดังกล่าวไว้เป็นหลักฐานด้วย ทั้งนี้ สำนักงาน กสทช. อาจปฏิเสธสิทธิต่าง ๆ ของเจ้าของข้อมูลส่วนบุคคลหรือผู้แทนของเจ้าของข้อมูลส่วนบุคคลได้ในกรณีที่มีกฎหมายกำหนดไว้

 

       ๑๐การให้บริการโดยบุคคลที่สาม

              ในกรณีที่มีความจำเป็น สำนักงาน กสทช. อาจมีการมอบหมายหรือจัดซื้อจัดจ้างผู้ให้บริการภายนอก หรือบุคคลภายนอกที่เกี่ยวข้องกับการให้บริการแก่สำนักงาน กสทช. เพื่อทำหน้าที่เป็นผู้ประมวลผลข้อมูล
ส่วนบุคคลของสำนักงาน กสทช. เช่น ผู้ให้บริการระบบงาน ผู้พัฒนาเว็บไซต์ ผู้ดูแลระบบ หรือเป็นงานในลักษณะการจ้างในรูปแบบอื่น ๆ

               การมอบหมายให้บุคคลที่สามทำการประมวลผลข้อมูลส่วนบุคคลในฐานะผู้ประมวลผลข้อมูลส่วนบุคคล สำนักงาน กสทช. จะจัดให้มีข้อตกลงระบุถึงสิทธิและหน้าที่ของสำนักงาน กสทช. ในฐานะผู้ควบคุมข้อมูล
ส่วนบุคคล และสิทธิและหน้าที่ของบุคคลที่สามที่สำนักงาน กสทช. มอบหมายให้ทำหน้าที่เป็นผู้ประมวลผลข้อมูลส่วนบุคคล ซึ่งรวมถึงการกำหนดรายละเอียดประเภทข้อมูลส่วนบุคคลที่สำนักงาน กสทช. มอบหมายให้ประมวลผล วัตถุประสงค์ ขอบเขตในการประมวลผลข้อมูลส่วนบุคคล และข้อตกลงอื่น ๆ ที่เกี่ยวข้องซึ่งผู้ประมวลผลข้อมูลส่วนบุคคลมีหน้าที่ประมวลผลข้อมูลส่วนบุคคลตามขอบเขตที่ระบุไว้ในข้อตกลง และตามคำสั่งของสำนักงาน กสทช. เท่านั้น โดยไม่สามารถประมวลผลข้อมูลส่วนบุคคลเพื่อวัตถุประสงค์อื่นได้ และต้องจัดให้มีมาตรการรักษาความมั่นคงปลอดภัยที่เหมาะสม เพื่อป้องกันการสูญหาย เข้าถึง ใช้ เปลี่ยนแปลง แก้ไข หรือเปิดเผยข้อมูลส่วนบุคคลโดยปราศจากอำนาจหรือโดยมิชอบด้วยกฎหมาย  

 

       ๑๑การเข้าถึงข้อมูลส่วนบุคคล

             สำนักงาน กสทช. ได้กำหนดให้ผู้ปฏิบัติงานของสำนักงาน กสทช. ที่มีอำนาจหน้าที่เกี่ยวข้องกับการประมวลผลข้อมูลส่วนบุคคลของเจ้าของข้อมูลส่วนบุคคลตามประกาศนี้เท่านั้นที่จะสามารถเข้าถึง                           ข้อมูลส่วนบุคคลของเจ้าของข้อมูลส่วนบุคคลได้ โดยสำนักงาน กสทช. จะดำเนินการให้ผู้ปฏิบัติงานดังกล่าวปฏิบัติตามประกาศนี้อย่างเคร่งครัด

 

       ๑๒การขอความยินยอม

               ในกรณีที่อาจต้องใช้ความยินยอมเป็นฐานในการประมวลผลข้อมูลส่วนบุคคล สำนักงาน กสทช. จะขอความยินยอมสำหรับกิจกรรมการประมวลผลข้อมูลส่วนบุคคลก่อนหรือในขณะประมวลผลข้อมูล
ส่วนบุคคล โดยในการขอความยินยอม สำนักงาน กสทช. จะดำเนินการอย่างโปร่งใสและให้อิสระต่อเจ้าของข้อมูลส่วนบุคคลในการที่จะให้หรือไม่ให้ความยินยอม และเมื่อได้ให้ความยินยอมแล้ว เจ้าของข้อมูลส่วนบุคคลมีสิทธิแก้ไข เปลี่ยนแปลง หรือยกเลิกความยินยอมนั้นได้โดยอิสระ แต่ต้องไม่เป็นการขัดต่อกฎหมายหรือละเมิดสิทธิและเสรีภาพของผู้อื่น

                ในการเปลี่ยนแปลง แก้ไข หรือยกเลิกความยินยอม สำนักงาน กสทช. จะจัดเก็บบันทึกคำขอเปลี่ยนแปลงหรือแก้ไขความยินยอมของเจ้าของข้อมูลส่วนบุคคลไว้เป็นหลักฐานเพื่อให้เจ้าของข้อมูล
ส่วนบุคคลสามารถตรวจสอบได้ หากเจ้าของข้อมูลส่วนบุคคลต้องการเข้าถึงข้อมูลการเปลี่ยนแปลงเหล่านี้ สามารถติดต่อเพื่อขอข้อมูลดังกล่าวได้จาก Call Center ๑๒๐๐ หรืออีเมล: 1200@nbtc.go.th

              ในกรณีที่เจ้าของข้อมูลส่วนบุคคลใช้สิทธิเพิกถอนความยินยอมตามเงื่อนไขที่กฎหมายกำหนด สำนักงาน กสทช. จะดำเนินการโดยเร็วที่สุดและภายในระยะเวลาไม่เกิน ๑๔ วัน นับจากวันที่ได้รับคำร้องขอจากเจ้าของข้อมูลส่วนบุคคล และบันทึกคำร้องดังกล่าวในระบบบริหารจัดการความยินยอม

 

       ๑๓การปรับปรุงหรือแก้ไขประกาศความเป็นส่วนตัว

               สำนักงาน กสทช. อาจพิจารณาปรับปรุง แก้ไข หรือเปลี่ยนแปลงประกาศนี้ตามที่เห็นสมควร และจะทำการแจ้งให้เจ้าของข้อมูลส่วนบุคคลได้รับทราบผ่านช่องทางเว็บไซต์ www.nbtc.go.th โดยการ
ระบุวันที่กำกับไว้ที่ประกาศสำนักงาน กสทช. จึงขอแนะนำให้เจ้าของข้อมูลส่วนบุคคลตรวจสอบเพื่อรับทราบประกาศฉบับใหม่อย่างสม่ำเสมอ

 

        ๑๔การติดต่อสอบถามและการร้องเรียน

       เจ้าของข้อมูลส่วนบุคคลสามารถติดต่อสอบถามเกี่ยวกับประกาศนี้ ใช้สิทธิร้องเรียนตามกฎหมาย หรือขอใช้สิทธิต่าง ๆ ตามที่กฎหมายกำหนดได้ที่

ผู้ควบคุมข้อมูลส่วนบุคคล (Data Controller)

ชื่อหน่วยงาน:    สำนักงาน กสทช.

สถานที่ติดต่อ:   สำนักงาน กสทช. ๘๗ ถนนพหลโยธิน ซอย ๘ แขวงสามเสนใน เขตพญาไท กรุงเทพฯ ๑๐๔๐๐ โทร : ๐ ๒๖๗๐ ๘๘๘๘

ช่องทางการติดต่อ:   อีเมล : ๑๒๐๐@nbtc.go.th 

                                  Call Center: ๑๒๐๐ (โทรฟรี)

เจ้าหน้าที่คุ้มครองข้อมูลส่วนบุคคล (Data Protection Officer)

ช่องทางการติดต่อ:        อีเมล : dpo@nbtc.go.th

 

\r\n

ประกาศความเป็นส่วนตัว (Privacy Notice) เวอร์ชั่น ๒ 

วันที่ประกาศใช้ ๑๙ ตุลาคม ๒๕๖๖

\r\n\r\n\t\t\t\t\r\n\t\t\t\t`,\r\n\t\t\t\twidth: '600',\r\n\t\t\t\tshowCancelButton: false,\r\n\t\t\t\tconfirmButtonText: 'รับทราบ',\r\n\t\t\t\treverseButtons: true,\r\n\t\t\t\tallowOutsideClick: false,\r\n\t\t\t\tallowEscapeKey: false,\r\n\t\t\t\tallowEnterKey: false,\r\n\t\t\t\tposition: 'top',\r\n\t\t\t\tbackdrop: 'rgba(0,0,0,0.5)',\r\n\r\n\t\t\t}).then((result) => {\r\n\t\t\t\tif (result.isConfirmed) {\r\n\t\t\t\t\tlocalStorage.setItem('policy_consent', 'true');\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\t}, [user, isAccepted, isInitialized])\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\"NBTC\"\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\tNBTC DATA PORTAL\r\n\t\t\t\t\r\n\r\n\t\t\t\tQoS\r\n\r\n\t\t\t\t\r\n\t\t\t\t\tสำหรับผู้ประกอบการ\r\n\t\t\t\t\t{process.env.REACT_APP_HOST_ENV === 'production'\r\n\t\t\t\t\t\t? ''\r\n\t\t\t\t\t\t: process.env.REACT_APP_HOST_ENV}\r\n\r\n\t\t\t\t\r\n\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{isLoading\r\n\t\t\t\t\t\t\t? 'กำลังเข้าสู่ระบบ...'\r\n\t\t\t\t\t\t\t: 'เข้าสู่ระบบผ่าน Service Portal'}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n\r\nexport default SignIn\r\n","import { forwardRef, useRef } from 'react'\r\nimport {\r\n\tGrid,\r\n\tDialog,\r\n\tDialogTitle,\r\n\tDialogContent,\r\n\tDialogContentText,\r\n\tDialogActions,\r\n\tSlide,\r\n\tIconButton,\r\n\tButton,\r\n\tuseMediaQuery,\r\n} from '@material-ui/core'\r\nimport { Close } from '@material-ui/icons'\r\n\r\nimport { useTheme } from '@material-ui/core/styles'\r\n\r\nexport default function NotifyModal({\r\n\topen,\r\n\tonClose,\r\n\ttitle,\r\n\theader_icon,\r\n\tcontent\r\n}) {\r\n\tconst theme = useTheme()\r\n\tconst fullScreen = useMediaQuery(theme.breakpoints.down('sm'))\r\n\tconst descriptionElementRef = useRef(null)\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{header_icon}\r\n\t\t\t\t\t\t{title}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t
{content}
\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tตกลง\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n\r\nconst Transition = forwardRef(function Transtition(props, ref) {\r\n\treturn \r\n})\r\n","import React from 'react'\r\nimport {\r\n\tButton,\r\n\tGrid,\r\n\tCard,\r\n\tDivider,\r\n} from '@material-ui/core'\r\n\r\nimport logo from 'assets/images/NBTC-logo.png'\r\nimport { makeStyles } from '@material-ui/core/styles'\r\n\r\nconst useStyles = makeStyles(theme => {\r\n\treturn {\r\n\t\tAppDescription: {\r\n\t\t\tfontSize: '24px',\r\n\t\t},\r\n\t\tAppDescriptionSpan: {\r\n\t\t\tcolor: theme.palette.primary.main,\r\n\t\t},\r\n\t}\r\n})\r\nconst FormSelectService = ({onSelectService}) => {\r\n\tconst classes = useStyles()\r\n\treturn (\r\n\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\"NBTC\"\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\tNBTC DATA PORTAL\r\n\t\t\t\t\r\n\r\n\t\t\t\t\r\n\t\t\t\tเลือกระบบที่ต้องการใช้บริการ\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t\r\n\t\t\t\t\tonSelectService('qos')}\r\n\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\tเลือกผู้ประกอบการ\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t{/* onSelectService('sdoc')}\r\n\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\tSDOC\r\n\t\t\t\t\t\t */}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\r\n\t)\r\n}\r\n\r\nexport default FormSelectService\r\n","import React, { useEffect, useState } from 'react'\r\nimport { makeStyles } from '@material-ui/core/styles'\r\nimport { useStoreActions, useStoreState } from 'store'\r\nimport {\r\n\tTable,\r\n\tTableBody,\r\n\tTableCell,\r\n\tTableContainer,\r\n\tTableHead,\r\n\tTableRow,\r\n\tPaper,\r\n\tButton,\r\n\tCircularProgress,\r\n} from '@material-ui/core'\r\nconst useStyles = makeStyles({\r\n\ttable: {\r\n\t\twidth: '100%',\r\n\t},\r\n})\r\n\r\nexport default function TablePOA(props) {\r\n\tconst classes = useStyles()\r\n\tconst { data } = useStoreState(state => state.poa)\r\n\tconst selectPOA = useStoreActions(action => action.poa.setSelected)\r\n\tconst [loading, setLoading] = useState(false)\r\n\r\n\tuseEffect(() => {\r\n\t\tselectPOA(null)\r\n\t\t// eslint-disable-next-line\r\n\t}, [])\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tเลขประจำตัวผู้เสียภาษี\r\n\t\t\t\t\t\tวันเริ่มต้น\r\n\t\t\t\t\t\tวันสิ้นสุด\r\n\t\t\t\t\t\tชื่อผู้ประกอบการ\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{data.map(row => (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{row.juristicNo}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{row.startDate}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{row.expireDate}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{row.operator ? row.operator.operatorName : 'ไม่พบในระบบ'}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\tselectPOA(row)\r\n\t\t\t\t\t\t\t\t\t\tsetLoading(true)\r\n\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\tdisabled={loading}\r\n\t\t\t\t\t\t\t\t\tcolor=\"primary\"\r\n\t\t\t\t\t\t\t\t\tvariant=\"contained\">\r\n\t\t\t\t\t\t\t\t\t{loading && }\r\n\t\t\t\t\t\t\t\t\t{!loading && 'เลือก'}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t))}\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\t)\r\n}\r\n","import { forwardRef, useRef } from 'react'\r\nimport {\r\n\tGrid,\r\n\tDialog,\r\n\tDialogTitle,\r\n\tDialogContent,\r\n\tDialogContentText,\r\n\tDialogActions,\r\n\tSlide,\r\n\tIconButton,\r\n\tButton,\r\n\tuseMediaQuery,\r\n} from '@material-ui/core'\r\nimport { Close } from '@material-ui/icons'\r\nimport TablePOA from './TablePOA'\r\nimport { useTheme } from '@material-ui/core/styles'\r\n\r\nexport default function SelectOperatorModal({\r\n\topen,\r\n\tonClose,\r\n\ttitle,\r\n\theader_icon,\r\n\tisError\r\n}) {\r\n\tconst theme = useTheme()\r\n\tconst fullScreen = useMediaQuery(theme.breakpoints.down('sm'))\r\n\tconst descriptionElementRef = useRef(null)\r\n\t\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{header_icon}\r\n\t\t\t\t\t\t{title}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t{!isError && ()}\r\n\t\t\t\t{isError && (
ไม่สามารถเรียกข้อมูลได้ กรุณาลองใหม่อีกครั้ง
)}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tปิด\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n\r\nconst Transition = forwardRef(function Transtition(props, ref) {\r\n\treturn \r\n})\r\n","import React, { useState, useEffect } from 'react'\r\nimport {\r\n\tGrid,\r\n\tTextField,\r\n\tCard,\r\n\tButton,\r\n\tDivider,\r\n\tFormControlLabel,\r\n\tCheckbox,\r\n\tSnackbar,\r\n} from '@material-ui/core'\r\nimport MuiAlert from '@material-ui/lab/Alert'\r\n\r\nimport logo from 'assets/images/NBTC-logo.png'\r\n\r\nimport { useStoreState } from 'store'\r\n\r\nfunction Alert(props) {\r\n\treturn \r\n}\r\n\r\nexport default function RegisterCompany(props) {\r\n\tconst { goBack, onSubmit: submitRegisterCompany } = props\r\n\r\n\tconst { servicePortalToken } = useStoreState(s => s.userModel)\r\n\tconst [company, setCompany] = useState({ qosType: [], address: '' })\r\n\tconst dataDBD = useStoreState(s => s.poa.dataDBD)\r\n\tconst [openSnack, setOpenSnack] = useState(false)\r\n\tconst handleCloseSnack = () => {\r\n\t\tsetOpenSnack(false)\r\n\t}\r\n\r\n\tuseEffect(() => {\r\n\t\tlet address = ''\r\n\t\tif (dataDBD.AddressInformations[0]) {\r\n\t\t\tlet addressInfo = dataDBD.AddressInformations[0]\r\n\t\t\tif (addressInfo.Province === 'กรุงเทพมหานคร') {\r\n\t\t\t\taddress = `${addressInfo.FullAddress} แขวง ${addressInfo.Tumbol} ${addressInfo.Ampur} ${addressInfo.Province}`\r\n\t\t\t} else {\r\n\t\t\t\taddress = `${addressInfo.FullAddress} ตำบล ${addressInfo.Tumbol} อำเภอ ${addressInfo.Ampur} จังหวัด ${addressInfo.Province}`\r\n\t\t\t}\r\n\t\t}\r\n\t\tlet newValue = { ...company, address: address }\r\n\t\tsetCompany({ ...newValue, ...dataDBD })\r\n\t\t// eslint-disable-next-line\r\n\t}, [])\r\n\r\n\t// ------------------------------------->\r\n\r\n\tconst handleFormSubmit = () => {\r\n\t\tif (company.qosType.length === 0) {\r\n\t\t\tsetOpenSnack(true)\r\n\t\t\treturn false\r\n\t\t}\r\n\t\tsubmitRegisterCompany({ _token: servicePortalToken, company: company })\r\n\t}\r\n\r\n\tconst handleCheckboxType = e => {\r\n\t\tlet newVal = []\r\n\t\tconst selectVal = parseInt(e.target.value)\r\n\t\tif (e.target.checked) {\r\n\t\t\tif (selectVal === 2) {\r\n\t\t\t\tnewVal = [...company.qosType, 2]\r\n\t\t\t} else if (selectVal === 1) {\r\n\t\t\t\tnewVal = [...company.qosType, 1]\r\n\t\t\t}\r\n\t\t} else if (!e.target.checked) {\r\n\t\t\tif (selectVal === 2) {\r\n\t\t\t\tnewVal = company.qosType.filter(e => e !== 2)\r\n\t\t\t} else if (selectVal === 1) {\r\n\t\t\t\tnewVal = company.qosType.filter(e => e !== 1)\r\n\t\t\t}\r\n\t\t}\r\n\t\tsetCompany({ ...company, qosType: newVal })\r\n\t}\r\n\t// <-------------------------------------\r\n\r\n\t// ------------------------------------->\r\n\t// Searching Users\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\"NBTC\"\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\tลงทะเบียนระบบ Data Portal\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t<>\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\tชุดข้อมูล\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\tlabel={'ชุดข้อมูลแบบประจำที่'}\r\n\t\t\t\t\t\t\t\t/>\r\n\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\tlabel={'ชุดข้อมูลแบบเคลื่อนที่'}\r\n\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tย้อนกลับ\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tยืนยันการลงทะเบียน\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tต้องเลือกอย่างน้อย 1 ชุดข้อมูล\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n","import React, { useState, useEffect } from 'react'\r\nimport { Grid } from '@material-ui/core'\r\nimport { SendOutlined } from '@material-ui/icons'\r\nimport NotifyModal from 'components/NotifyModal'\r\nimport FormSelectService from './components/FormSelectService'\r\nimport SelectOperatorModal from './components/SelectOperatorModal'\r\nimport FormRegisterCompany from './components/RegisterCompany'\r\nimport { users, operators } from 'api/index'\r\nimport { useHistory } from 'react-router-dom'\r\n\r\nimport { useStoreActions, useStoreState } from '../../../store/index'\r\n\r\nconst Identify = () => {\r\n\tconst history = useHistory()\r\n\tconst { servicePortalToken } = useStoreState(s => s.userModel)\r\n\tconst selectedPOA = useStoreState(s => s.poa.selected)\r\n\tconst POA = useStoreState(s => s.poa.data)\r\n\tconst actionIdentify = useStoreActions(a => a.userModel.identify)\r\n\tconst signinSdoc = useStoreActions(a => a.sdocUserModel.signInUser)\r\n\tconst { setServicePortalToken, signin: signinQos } = useStoreActions(\r\n\t\ta => a.userModel\r\n\t)\r\n\r\n\tconst {\r\n\t\tsetData: setPOAData,\r\n\t\tsetDataDBD,\r\n\t\tsetSelected: selectPOA,\r\n\t} = useStoreActions(a => a.poa)\r\n\r\n\tconst signinQosWithRegisterCompany = useStoreActions(\r\n\t\ta => a.userModel.signinQosWithRegisterCompany\r\n\t)\r\n\tconst [loadPoaSuccess, setLoadPoaSuccess] = useState(false)\r\n\tconst [selectPOAError, setSelectPOAError] = useState(false)\r\n\r\n\tconst [openNoPOAModal, setOpenNoPOAModal] = useState(false)\r\n\tconst [openPOAModal, setOpenPOAModal] = useState(false)\r\n\tconst [activeRegisterCompany, setActiveRegisterCompany] = useState(false)\r\n\r\n\tconst onSelectService = service => {\r\n\t\tif (service === 'sdoc') {\r\n\t\t\tsigninSdoc({ _token: servicePortalToken })\r\n\t\t\t\t.then(data => {\r\n\t\t\t\t\tif (data !== null) {\r\n\t\t\t\t\t\thistory.replace('/sdoc')\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t\t.catch(() => {\r\n\t\t\t\t\talert('error case 1')\r\n\t\t\t\t})\r\n\t\t} else if (service === 'qos') {\r\n\t\t\tif (POA) {\r\n\t\t\t\t// if (\r\n\t\t\t\t// \ttypeof userFromServicePortal.UserPOA === 'object' &&\r\n\t\t\t\t// \ttypeof userFromServicePortal.UserPOA.length === 'undefined'\r\n\t\t\t\t// ) {\r\n\t\t\t\t// \tconst newListPOA = [userFromServicePortal.UserPOA]\r\n\t\t\t\t// \t// setPOAData(newListPOA)\r\n\t\t\t\t// } else {\r\n\t\t\t\t// \tsetPOAData(userFromServicePortal.UserPOA)\r\n\t\t\t\t// }\r\n\t\t\t\tsetOpenPOAModal(true)\r\n\t\t\t} else {\r\n\t\t\t\tsetOpenNoPOAModal(true)\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\tconst submitRegisterCompany = async payload => {\r\n\t\tawait signinQosWithRegisterCompany(payload)\r\n\t\t\t.then(e => {\r\n\t\t\t\thistory.replace('/')\r\n\t\t\t})\r\n\t\t\t.catch(e => {\r\n\t\t\t\tconsole.log(e)\r\n\t\t\t})\r\n\t}\r\n\tuseEffect(() => {\r\n\t\tconst urlSearchParams = new URLSearchParams(window.location.search)\r\n\t\tconst params = Object.fromEntries(urlSearchParams.entries())\r\n\t\tasync function getListPOA(token) {\r\n\t\t\tconst res = await users.getMyPOA(token)\r\n\t\t\tif (res) {\r\n\t\t\t\tsetPOAData(res)\r\n\t\t\t\tsetLoadPoaSuccess(true)\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (!params._token) {\r\n\t\t\t// history.replace('/sign-in')\r\n\t\t}\r\n\t\tsetServicePortalToken(params._token)\r\n\r\n\t\tactionIdentify({ _token: params._token })\r\n\t\t\t.then(data => {})\r\n\t\t\t.catch(() => {\r\n\t\t\t\tsetOpenNoPOAModal(true)\r\n\t\t\t})\r\n\r\n\t\tgetListPOA(params._token)\r\n\r\n\t\t// eslint-disable-next-line\r\n\t}, [])\r\n\r\n\tuseEffect(() => {\r\n\t\tif (selectedPOA !== null && selectedPOA.operator !== null) {\r\n\t\t\tsigninQos({ _token: servicePortalToken, poa: selectedPOA.juristicNo })\r\n\t\t\t\t.then(data => {\r\n\t\t\t\t\tif (data !== null) {\r\n\t\t\t\t\t\thistory.replace('/')\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t\t.catch(() => {\r\n\t\t\t\t\talert('error case 1')\r\n\t\t\t\t})\r\n\t\t} else if (selectedPOA !== null && selectedPOA.operator === null) {\r\n\t\t\toperators\r\n\t\t\t\t.getOperatorInfoDBD({ taxno: selectedPOA.juristicNo })\r\n\t\t\t\t.then(e => {\r\n\t\t\t\t\tif (e.status !== 200) {\r\n\t\t\t\t\t\tsetSelectPOAError(true)\r\n\t\t\t\t\t\treturn false\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\treturn e\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t\t.then(e => e.data)\r\n\t\t\t\t.then(data => {\r\n\t\t\t\t\tif (data?.data1000101001) {\r\n\t\t\t\t\t\tconst foundCompany = data.data1000101001.ResultList[0]\r\n\t\t\t\t\t\tsetDataDBD(foundCompany)\r\n\t\t\t\t\t\tsetOpenPOAModal(false)\r\n\t\t\t\t\t\tsetActiveRegisterCompany(true)\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t\t.catch(err => {\r\n\t\t\t\t\tconsole.error(err)\r\n\t\t\t\t})\r\n\t\t}\r\n\t\t// eslint-disable-next-line\r\n\t}, [selectedPOA])\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{loadPoaSuccess && !activeRegisterCompany && (\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t\t{activeRegisterCompany && (\r\n\t\t\t\t {\r\n\t\t\t\t\t\tsetActiveRegisterCompany(false)\r\n\t\t\t\t\t}}\r\n\t\t\t\t/>\r\n\t\t\t)}\r\n\t\t\t\r\n\t\t\t\t}\r\n\t\t\t\topen={openNoPOAModal}\r\n\t\t\t\tonClose={() => {\r\n\t\t\t\t\tsetOpenNoPOAModal(false)\r\n\t\t\t\t\thistory.replace('/signin')\r\n\t\t\t\t}}\r\n\t\t\t/>\r\n\r\n\t\t\t\r\n\t\t\t\t}\r\n\t\t\t\tisError={selectPOAError}\r\n\t\t\t\topen={openPOAModal}\r\n\t\t\t\tonClose={() => {\r\n\t\t\t\t\tselectPOA(null)\r\n\t\t\t\t\tsetOpenPOAModal(false)\r\n\t\t\t\t\tsetSelectPOAError(false)\r\n\t\t\t\t}}\r\n\t\t\t/>\r\n\t\t\r\n\t)\r\n}\r\n\r\nexport default Identify\r\n","import { forwardRef, useRef } from 'react'\r\nimport {\r\n\tGrid,\r\n\tDialog,\r\n\tDialogContent,\r\n\tDialogContentText,\r\n\tDialogActions,\r\n\tSlide,\r\n\tButton,\r\n\tuseMediaQuery,\r\n} from '@material-ui/core'\r\nimport { useTheme } from '@material-ui/core/styles'\r\n\r\nimport Check from '../../../../assets/images/check.png'\r\n\r\nexport default function SendingStandardReportModalSuccess({\r\n\topen,\r\n\thandleButton,\r\n}) {\r\n\tconst theme = useTheme()\r\n\tconst fullScreen = useMediaQuery(theme.breakpoints.down('sm'))\r\n\tconst descriptionElementRef = useRef(null)\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tคุณได้ส่งรายงานมาตรฐานสำเร็จ\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tตกลง\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n\r\nconst Transition = forwardRef(function Transtition(props, ref) {\r\n\treturn \r\n})\r\n","import React, { useState } from 'react'\r\nimport { Button, Grid, Card, TextField, Divider } from '@material-ui/core'\r\n\r\nimport SuccessModal from '../../../components/users/client-api/success-modal'\r\nimport EmptyFileModal from '../../../components/users/standard-report/empty-file-modal'\r\n\r\nimport { useForm, Controller } from 'react-hook-form'\r\nimport { useHistory } from 'react-router-dom'\r\nimport { form } from '../../../api'\r\n\r\nimport logo from '../../../assets/images/NBTC-logo.png'\r\n\r\nconst ClientAPI = () => {\r\n\tconst history = useHistory()\r\n\tconst [excelFile, setExcelFile] = useState(null)\r\n\tconst [excelFileShow, setExcelFileShow] = useState('')\r\n\tconst [openEmptyFileModal, setOpenEmptyFileModal] = useState(false)\r\n\tconst [openUploadSuccessModal, setOpenUploadSuccessModal] = useState(false)\r\n\tlet excelFileTemp = []\r\n\tconst {\r\n\t\tcontrol,\r\n\t\thandleSubmit,\r\n\t\tformState: { errors },\r\n\t} = useForm()\r\n\r\n\tconst onOpenEmptyFileModal = () => setOpenEmptyFileModal(!openEmptyFileModal)\r\n\tconst onOpenUploadSuccessModal = () =>\r\n\t\tsetOpenUploadSuccessModal(!openUploadSuccessModal)\r\n\r\n\tconst uploadExcel = async ({ token }) => {\r\n\t\tconst resExcelFile = await form.APIExcelUploading(excelFile, token, true)\r\n\t\tif (resExcelFile === false) onOpenEmptyFileModal()\r\n\t\telse {\r\n\t\t\tonOpenUploadSuccessModal()\r\n\t\t}\r\n\t}\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\"NBTC\"\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t

ทดสอบการส่งข้อมูลผ่าน API

\r\n\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\tname=\"token\"\r\n\t\t\t\t\t\t\tdefaultValue=\"\"\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t{/* National Card ID No. Error Message */}\r\n\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t{errors.token?.type === 'required' && 'กรุณาใส่ API Token'}\r\n\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tอัพโหลดไฟล์\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t* อัพโหลดไฟล์ข้อมูลใน format .xls, .xlsx เท่านั้น *\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{excelFileShow}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tส่งข้อมูล\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t\r\n\t\t\t history.go(0)}\r\n\t\t\t/>\r\n\t\t\r\n\t)\r\n}\r\n\r\nexport default ClientAPI\r\n","import { forwardRef, useRef } from 'react'\r\nimport {\r\n\tGrid,\r\n\tDialog,\r\n\tDialogContent,\r\n\tDialogContentText,\r\n\tDialogActions,\r\n\tSlide,\r\n\tButton,\r\n\tuseMediaQuery,\r\n} from '@material-ui/core'\r\nimport { useTheme } from '@material-ui/core/styles'\r\n\r\nimport Cancel from '../../../../../assets/images/cancel.png'\r\n\r\nexport default function IncorrectIdModal({ open, handleButton, regisStep }) {\r\n\tconst theme = useTheme()\r\n\tconst fullScreen = useMediaQuery(theme.breakpoints.down('sm'))\r\n\tconst descriptionElementRef = useRef(null)\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{\r\n regisStep === 0?\r\n 'ไม่มีหมายเลขรหัสบัตรประชาชนนี้':'ไม่มีหมายเลขประจำตัวผู้เสียภาษีอากรนี้'}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tตกลง\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n\r\nconst Transition = forwardRef(function Transtition(props, ref) {\r\n\treturn \r\n})\r\n","import { forwardRef, useRef } from 'react'\r\nimport {\r\n\tGrid,\r\n\tDialog,\r\n\tDialogContent,\r\n\tDialogContentText,\r\n\tDialogActions,\r\n\tSlide,\r\n\tButton,\r\n\tuseMediaQuery,\r\n} from '@material-ui/core'\r\nimport { useTheme } from '@material-ui/core/styles'\r\n\r\nimport Cancel from '../../../../../assets/images/cancel.png'\r\n\r\nexport default function RegisterFailModal({ open, handleButton }) {\r\n\tconst theme = useTheme()\r\n\tconst fullScreen = useMediaQuery(theme.breakpoints.down('sm'))\r\n\tconst descriptionElementRef = useRef(null)\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tผู้ใช้งานนี้ได้เคยลงทะเบียนแล้ว\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tตกลง\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n\r\nconst Transition = forwardRef(function Transtition(props, ref) {\r\n\treturn \r\n})\r\n","import { forwardRef, useRef } from 'react'\r\nimport {\r\n\tGrid,\r\n\tDialog,\r\n\tDialogContent,\r\n\tDialogContentText,\r\n\tDialogActions,\r\n\tSlide,\r\n\tButton,\r\n\tuseMediaQuery,\r\n} from '@material-ui/core'\r\nimport { useTheme } from '@material-ui/core/styles'\r\n\r\nimport Check from '../../../../../assets/images/check.png'\r\n\r\nexport default function RegisterSuccessModal({\r\n\topen,\r\n\thandleButton,\r\n}) {\r\n\tconst theme = useTheme()\r\n\tconst fullScreen = useMediaQuery(theme.breakpoints.down('sm'))\r\n\tconst descriptionElementRef = useRef(null)\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tคุณได้ยืนยันการสมัคร\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tตกลง\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n\r\nconst Transition = forwardRef(function Transtition(props, ref) {\r\n\treturn \r\n})\r\n","const organization = [\r\n\t{\r\n\t\tid: 1,\r\n\t\ttitle: 'เอไอเอส',\r\n\t\ttaxno: '123456',\r\n\t\taddr: 'เลขที่ 414 อาคารเอไอเอส 1 ชั้น 13 ส่วนหน้า ถนนพหลโยธิน แขวงสามเสนใน เขตพญาไท กรุงเทพฯ 10400',\r\n\t},\r\n\t// {\r\n\t// \tid: 13,\r\n\t// \ttitle: 'บมจ.โทรคมนาคมแห่งชาติ จำกัด',\r\n\t// \ttaxno: '0107564000014',\r\n\t// \taddr: '99 ถนนแจ้งวัฒนะ แขวงทุ่งสองห้อง เขตหลักสี่ กรุงเทพ 10210',\r\n\t// },\r\n\t{\r\n\t\tid: 3,\r\n\t\ttitle: 'ดีแทค',\r\n\t\ttaxno: '178456',\r\n\t\taddr: 'บริษัท โทเทิ่ล แอ็คเซ็ส คอมมูนิเคชั่น จำกัด (มหาชน) เลขที่ 319 อาคารจัตุรัสจามจุรี ชั้น 38 ถนนพญาไท แขวงปทุมวัน เขตปทุมวัน กรุงเทพมหานคร 10330. โทรศัพท์: 02-202-8000.',\r\n\t},\r\n\t{\r\n\t\tid: 14,\r\n\t\ttitle: 'บริษัท ทรู มูฟ เอช ยูนิเวอร์แซล คอมมิวนิเคชั่น จำกัด',\r\n\t\ttaxno: '0105553045044',\r\n\t\taddr: 'เลขที่ 18 อาคารทรู ทาวเวอร์ ถนนรัชดาภิเษก แขวงห้วยขวาง เขตห้วยขวาง กรุงเทพฯ 10310',\r\n\t\tdataType:[1],\r\n\t},\r\n\t{\r\n\t\tid: 15,\r\n\t\ttitle: 'บริษัท ทรู อินเทอร์เน็ต คอร์ปอเรชั่น จำกัด',\r\n\t\ttaxno: '0105549025026',\r\n\t\taddr: 'เลขที่ 18 อาคารทรู ทาวเวอร์ ถนนรัชดาภิเษก แขวงห้วยขวาง เขตห้วยขวาง กรุงเทพฯ 10310',\r\n\t\tdataType:[2],\r\n\t},\r\n\t{\r\n\t\tid: 13,\r\n\t\ttitle: 'บริษัท สื่อสาร จำกัด',\r\n\t\ttaxno: '1234567890123',\r\n\t\taddr: 'กรุงเทพมหานคร',\r\n\t\tdataType:[1,2],\r\n\t},\r\n]\r\n\r\nexport { organization }\r\n","const users = [\r\n\t\r\n\t{\r\n\t\tnationalCardIDNo: '3222222222220',\r\n\t\temail: 'supharerkt@gmail.com',\r\n\t\tfirstname: 'ผู้ใช้งานที่ 1',\r\n\t\tlastname: 'QOS',\r\n\t\tphoneNumber: '0818262134',\r\n\t},\r\n\t{\r\n\t\tnationalCardIDNo: '3222222222221',\r\n\t\temail: 'supharerkt@gmail.com',\r\n\t\tfirstname: 'ผู้ใช้งานที่ 2',\r\n\t\tlastname: 'QOS',\r\n\t\tphoneNumber: '0818262134',\r\n\t},\r\n\t{\r\n\t\tnationalCardIDNo: '3222222222222',\r\n\t\temail: 'supharerkt@gmail.com',\r\n\t\tfirstname: 'ผู้ใช้งานที่ 3',\r\n\t\tlastname: 'QOS',\r\n\t\tphoneNumber: '0818262134',\r\n\t},\r\n]\r\n\r\nexport { users }\r\n","import React, { useState } from 'react'\r\nimport {\r\n\tGrid,\r\n\tTextField,\r\n\tCard,\r\n\tButton,\r\n\tDivider,\r\n\tFormControlLabel,\r\n\tCheckbox,\r\n} from '@material-ui/core'\r\nimport IncorrectIdModal from '../../../components/users/registration/modal/incorrect-id'\r\nimport RegisterFailModal from '../../../components/users/registration/modal/register-fail'\r\nimport RegisterSuccessModal from '../../../components/users/registration/modal/register-success'\r\n\r\nimport logo from '../../../assets/images/NBTC-logo.png'\r\n\r\nimport { useHistory } from 'react-router-dom'\r\nimport { useStoreActions } from '../../../store'\r\n\r\nimport { organization as Orgs } from '../../../data/registration/organization'\r\nimport { users as Users } from '../../../data/registration/users'\r\n\r\nexport default function Registration() {\r\n\tconst history = useHistory()\r\n\tconst registration = useStoreActions(a => a.userModel.registration)\r\n\r\n\t// ------------------------------------->\r\n\t// Step which tell Personal Information Part or Company Part\r\n\tconst [regisStep, setRegisStep] = useState(0) // 0 = Personal Information Part, 1 = Company Part\r\n\tconst increaseRegisStep = () => {\r\n\t\t// Go to next step or Corfirm the Registeration\r\n\t\tif (regisStep === 0) {\r\n\t\t\t// Go from first to next step\r\n\t\t\tsetRegisStep(1)\r\n\t\t} else {\r\n\t\t\t// Open Success Modal\r\n\r\n\t\t\tregistration({\r\n\t\t\t\tcitizenID: citizenID,\r\n\t\t\t\tphoneNumber: phoneNumber,\r\n\t\t\t\temail: email,\r\n\t\t\t\tfirstname: firstname,\r\n\t\t\t\tlastname: lastname,\r\n\t\t\t\tcompanyID: company.id,\r\n\t\t\t}).then(e => {\r\n\t\t\t\tif (e) onOpenStandardReportSuccessModal()\r\n\t\t\t\telse onOpenRegisterFailModal()\r\n\t\t\t})\r\n\t\t}\r\n\t}\r\n\tconst decreaseRegisStep = () => {\r\n\t\t// Back to previous step or Back to Sign In page\r\n\t\tif (regisStep === 1) {\r\n\t\t\t// Go back from last step to first step\r\n\t\t\tsetRegisStep(0)\r\n\t\t} else {\r\n\t\t\t// Go back to Sign In page\r\n\t\t\thistory.push('/sign-in')\r\n\t\t}\r\n\t}\r\n\t// <-------------------------------------\r\n\r\n\t// ------------------------------------->\r\n\t// Create State and OnChange of CitizenID and TaxID\r\n\tconst [citizenID, setCitizenID] = useState('')\r\n\tconst [taxID, setTaxID] = useState('')\r\n\tconst onChangeCitizenID = e => {\r\n\t\tsetCitizenID(e.target.value)\r\n\t}\r\n\tconst onChangeaxID = e => {\r\n\t\tsetTaxID(e.target.value)\r\n\t}\r\n\t// <-------------------------------------\r\n\r\n\t// ------------------------------------->\r\n\r\n\tconst cleanDataFromIncorrectId = () => {\r\n\t\tif (regisStep === 0) {\r\n\t\t\t// If CitizenID on First step is empty, then show Text Alert and Can't go next step\r\n\t\t\tsetStepValidStep1(false)\r\n\t\t\t// Set default data\r\n\t\t\tsetFirstname('')\r\n\t\t\tsetLastname('')\r\n\t\t\tsetEmail('')\r\n\t\t\tsetPhoneNumber('')\r\n\t\t} else if (regisStep === 1) {\r\n\t\t\t// If TaxID on Last step is empty, then show Text Alert and Can't confirm registeration\r\n\t\t\tsetStepValidStep2(false)\r\n\t\t\t// Set default data\r\n\t\t\tsetCompanyName('')\r\n\t\t\tsetCompanyAddress('')\r\n\t\t}\r\n\t\tonOpenInCorrectIdModal()\r\n\t}\r\n\r\n\tconst validGoNextStep = () => {\r\n\t\tif (regisStep === 0) {\r\n\t\t\t// If CitizenID is not empty, then hide Alert and Can go next step\r\n\t\t\tsetStepValidStep1(true)\r\n\t\t} else {\r\n\t\t\t// If TaxID is not empty, then hide Alert and Can confirm registeration\r\n\t\t\tsetStepValidStep2(true)\r\n\t\t}\r\n\t}\r\n\t// <-------------------------------------\r\n\r\n\t// ------------------------------------->\r\n\tconst [stepValidStep1, setStepValidStep1] = useState(false)\r\n\tconst [stepValidStep2, setStepValidStep2] = useState(false)\r\n\t// <-------------------------------------\r\n\r\n\t// ------------------------------------->\r\n\tconst [firstname, setFirstname] = useState('')\r\n\tconst [lastname, setLastname] = useState('')\r\n\tconst [email, setEmail] = useState('')\r\n\tconst [phoneNumber, setPhoneNumber] = useState('')\r\n\tconst [company, setCompany] = useState({})\r\n\tconst [companyName, setCompanyName] = useState('')\r\n\tconst [companyAddress, setCompanyAddress] = useState('')\r\n\t// <-------------------------------------\r\n\r\n\t// ------------------------------------->\r\n\t// Modal Success Manage\r\n\tconst [openStandardReportSuccessModal, setOpenStandardReportSuccessModal] =\r\n\t\tuseState(false)\r\n\r\n\tconst onOpenStandardReportSuccessModal = () =>\r\n\t\tsetOpenStandardReportSuccessModal(!openStandardReportSuccessModal)\r\n\r\n\tconst onAgreeStandardReportSuccessModalCTA = () => {\r\n\t\tonOpenStandardReportSuccessModal()\r\n\t\t// Confirm Registeration\r\n\t\thistory.push({\r\n\t\t\tpathname: '/sign-in',\r\n\t\t})\r\n\t}\r\n\t// <-------------------------------------\r\n\r\n\t// Modal Register Fail\r\n\tconst [openRegisterFailModal, setOpenRegisterFailModal] = useState(false)\r\n\r\n\tconst onOpenRegisterFailModal = () =>\r\n\t\tsetOpenRegisterFailModal(!openRegisterFailModal)\r\n\t// <-------------------------------------\r\n\r\n\t// Modal Incorrect ID\r\n\tconst [openInCorrectIdModal, setOpenInCorrectIdModal] = useState(false)\r\n\r\n\tconst onOpenInCorrectIdModal = () =>\r\n\t\tsetOpenInCorrectIdModal(!openInCorrectIdModal)\r\n\t// <-------------------------------------\r\n\r\n\t// ------------------------------------->\r\n\t// Searching Users\r\n\tconst onSearchUser = () => {\r\n\t\tif (regisStep === 0) {\r\n\t\t\tconst user = Users.find(item => item.nationalCardIDNo === citizenID)\r\n\t\t\tif (user && citizenID !== '') {\r\n\t\t\t\tsetFirstname(user.firstname)\r\n\t\t\t\tsetLastname(user.lastname)\r\n\t\t\t\tsetEmail(user.email)\r\n\t\t\t\tsetPhoneNumber(user.phoneNumber)\r\n\t\t\t\tvalidGoNextStep()\r\n\t\t\t} else {\r\n\t\t\t\tcleanDataFromIncorrectId()\r\n\t\t\t}\r\n\t\t} else if (regisStep === 1 && taxID !== '') {\r\n\t\t\tconst org = Orgs.find(item => item.taxno === taxID)\r\n\t\t\tif (org) {\r\n\t\t\t\tsetCompany(org)\r\n\t\t\t\tsetCompanyName(org.title)\r\n\t\t\t\tsetCompanyAddress(org.addr)\r\n\t\t\t\tvalidGoNextStep()\r\n\t\t\t} else {\r\n\t\t\t\tcleanDataFromIncorrectId()\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tcleanDataFromIncorrectId()\r\n\t\t}\r\n\r\n\t\t// checkSearchError()\r\n\t}\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\"NBTC\"\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tลงทะเบียนระบบ Data Portal\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{regisStep === 0 ? (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tค้นหา\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{regisStep === 0 ? (\r\n\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t{stepValidStep2 && (\r\n\t\t\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t\t\tชุดข้อมูล\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{company.dataType && company.dataType.includes(2) && (\r\n\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tlabel={'ชุดข้อมูลแบบประจำที่'}\r\n\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t{company.dataType && company.dataType.includes(1) && (\r\n\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tlabel={'ชุดข้อมูลแบบเคลื่อนที่'}\r\n\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tย้อนกลับ\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{regisStep === 0 ? 'ถัดไป' : 'ยืนยันการสมัคร'}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n","import React, { useState } from 'react'\r\nimport { useHistory } from 'react-router'\r\n\r\nimport { Typography, Card, Button, Grid } from '@material-ui/core/'\r\nimport { DataGrid, GridOverlay } from '@material-ui/data-grid'\r\nimport { CalendarToday, Menu } from '@material-ui/icons'\r\n\r\nconst StandardReportHistoryDetails = () => {\r\n\tconst history = useHistory()\r\n\tconst columns = [\r\n\t\t{\r\n\t\t\tfield: 'serviceQualityIndicator',\r\n\t\t\theaderName: 'ค่าชี้วัดคุณภาพบริการ',\r\n\t\t\twidth: 435,\r\n\t\t},\r\n\t\t{\r\n\t\t\tfield: 'operator',\r\n\t\t\theaderName: 'ผู้ดำเนินการ',\r\n\t\t\twidth: 180,\r\n\t\t},\r\n\t\t{\r\n\t\t\tfield: 'duty',\r\n\t\t\theaderName: 'หน้าที่',\r\n\t\t\twidth: 160,\r\n\t\t},\r\n\t\t{\r\n\t\t\tfield: 'date',\r\n\t\t\theaderName: 'วันที่ดำเนินการ',\r\n\t\t\twidth: 140,\r\n\t\t},\r\n\t\t{\r\n\t\t\tfield: 'workStatus',\r\n\t\t\theaderName: 'สถานะ',\r\n\t\t\twidth: 140,\r\n\t\t},\r\n\t\t{\r\n\t\t\tfield: '',\r\n\t\t\theaderName: 'กิจกรรม',\r\n\t\t\tsortable: false,\r\n\t\t\twidth: 110,\r\n\t\t\tdisableClickEventBubbling: true,\r\n\t\t\trenderCell: params => {\r\n\t\t\t\treturn (\r\n\t\t\t\t\t {\r\n\t\t\t\t\t\t\thistory.push('/standard-report-history/')\r\n\t\t\t\t\t\t}}>\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\tประวัติ\r\n\t\t\t\t\t\r\n\t\t\t\t)\r\n\t\t\t},\r\n\t\t},\r\n\t]\r\n\r\n\tconst rows = [\r\n\t\t{\r\n\t\t\tid: 1,\r\n\t\t\tserviceQualityIndicator: '1.1.1 ระยะเวลาสำหรับการขอเริ่มเปิดใช้บริการ',\r\n\t\t\toperator: 'นาย กนก สุวรรณศรี',\r\n\t\t\tduty: 'ผู้เตรียมข้อมูล',\r\n\t\t\tdate: '05/07/2564',\r\n\t\t\tworkStatus: 'เตรียมข้อมูล',\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: 2,\r\n\t\t\tserviceQualityIndicator:\r\n\t\t\t\t'1.1.2 ร้อยละของการติดตั้งบริการสำเร็จภายในวันที่',\r\n\t\t\toperator: 'นาย ป้องไท ศีรีกุล',\r\n\t\t\tduty: 'ผู้ตรวจสอบข้อมูล',\r\n\t\t\tdate: '06/07/2564',\r\n\t\t\tworkStatus: 'ตรวจสอบข้อมูล',\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: 3,\r\n\t\t\tserviceQualityIndicator:\r\n\t\t\t\t'1.3.1 ร้อยละของเวลารวมที่อุปกรณ์กระจายสัญญาณปลายทางไม่สามารถให้บริการได้ใน 1 เดือน',\r\n\t\t\toperator: 'นาย กนก สุวรรณศรี',\r\n\t\t\tduty: 'ผู้เตรียมข้อมูล',\r\n\t\t\tdate: '06/07/2564',\r\n\t\t\tworkStatus: 'แก้ไขข้อมูล',\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: 4,\r\n\t\t\tserviceQualityIndicator:\r\n\t\t\t\t'1.3.3 ความเร็วเฉลี่ยในการส่งข้อมูลแบบ FTP (Average speed of FTP transfers)',\r\n\t\t\toperator: 'นาย นราทิพย์ จรัญชัย',\r\n\t\t\tduty: 'ผู้อนุมัติการส่งข้อมูล',\r\n\t\t\tdate: '07/07/2564',\r\n\t\t\tworkStatus: 'ส่งข้อมูล',\r\n\t\t},\r\n\t]\r\n\tconst [isDataLoading, setIsDataLoading] = useState(false)\r\n\treturn (\r\n\t\t<>\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\tสถานะการส่งค่าตัวชี้วัด\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\tif (!isDataLoading) {\r\n\t\t\t\t\t\t\t\t\treturn ไม่พบข้อมูล;\r\n\t\t\t\t\t\t\t\t}else{\r\n\t\t\t\t\t\t\t\t\treturn กำลังประมวลผลข้อมูล โปรดรอสักครู่..;\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}}\r\n\t\t\t\t\t/>\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n\r\nexport default StandardReportHistoryDetails\r\n","import { useEffect } from 'react'\r\nimport { Switch, Route, useRouteMatch, Redirect } from 'react-router-dom'\r\nimport ProtectedRoute from './protected-route'\r\nimport { useStoreActions } from '@store'\r\n\r\n// Components\r\nimport Organization from './organization'\r\nimport StandardReport from './standard-report'\r\nimport StandardReportHistory from './standard-report-history'\r\nimport StandReportValidation from './standard-report-validation'\r\nimport StandardReportValidationDetails from './standard-report-validation/[id]'\r\nimport OrganizationUser from './organization-user'\r\nimport SignIn from './auth/signin'\r\nimport Identify from './auth/identify'\r\nimport ClientAPI from './client'\r\nimport Registration from './registration'\r\nimport StandardReportHistoryDetails from './standard-report-history/[id]'\r\n\r\nexport default function UsersRoute() {\r\n\tconst { path } = useRouteMatch()\r\n\tconst setAppType = useStoreActions(a => a.appModel.setAppType)\r\n\r\n\tuseEffect(() => setAppType('users'))\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t\r\n\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n","import React from 'react'\r\nimport { Route, Redirect } from 'react-router-dom'\r\nimport { useStoreState, useStoreRehydrated } from '../../store'\r\n\r\nexport default function ProtectedRoute({ children, ...rest }) {\r\n\tconst QoSAdmin = useStoreState(s => s.QoSAdminModel.admin)\r\n\tconst isRehydrated = useStoreRehydrated()\r\n\r\n\treturn (\r\n\t\tisRehydrated && (\r\n\t\t\t\r\n\t\t\t\t\tQoSAdmin ? (\r\n\t\t\t\t\t\tchildren\r\n\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)\r\n\t\t\t\t}\r\n\t\t\t/>\r\n\t\t)\r\n\t)\r\n}\r\n","import { Card, Grid } from '@material-ui/core'\r\n\r\nconst InfoBox = ({\r\n\ticon,\r\n\ticonBgColor = '',\r\n\tlabel = '',\r\n\tnumber = 0,\r\n\tunit = '',\r\n}) => {\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{icon}\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{label}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{number}\r\n\t\t\t\t\t\t{unit}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n\r\nexport default InfoBox\r\n","import Highcharts from 'highcharts'\r\nimport HighchartsReact from 'highcharts-react-official'\r\n// Load Highcharts modules\r\nrequire(\"highcharts/modules/exporting\")(Highcharts);\r\n\r\nexport default function piechart({\r\n Title,\r\n Categories,\r\n Series,\r\n unit = '',\r\n}) {\r\n const options = {\r\n title: {\r\n text: Title,\r\n },\r\n chart: {\r\n type: 'pie',\r\n },\r\n plotOptions: {\r\n pie: {\r\n allowPointSelect: true,\r\n cursor: 'pointer',\r\n dataLabels: {\r\n enabled: true,\r\n format: '{point.name}: {point.percentage:.1f} %'\r\n }\r\n }\r\n },\r\n series: Series,\r\n }\r\n return (\r\n \r\n )\r\n}","import { People, CheckCircle, AccessTime, Assignment } from '@material-ui/icons'\r\n\r\nexport const InfoBoxConfigs = [\r\n\t{\r\n\t\tname: 'stat1',\r\n\t\tlabel: 'จำนวนผู้ประกอบการ',\r\n\t\tunit: 'รายการ',\r\n\t\ticon: ,\r\n\t\ticonBgColor: '#007500',\r\n\t},\r\n\t{\r\n\t\tname: 'stat2',\r\n\t\tlabel: 'จำนวนผู้ส่งข้อมูลแล้ว',\r\n\t\tunit: 'รายการ',\r\n\t\ticon: ,\r\n\t\ticonBgColor: 'rgba(17, 69, 86, 0.867)',\r\n\t},\r\n\t{\r\n\t\tname: 'stat3',\r\n\t\tlabel: 'ระหว่างดำเนินการ',\r\n\t\tunit: 'รายการ',\r\n\t\ticon: ,\r\n\t\ticonBgColor: '#FAD02C',\r\n\t},\r\n\t{\r\n\t\tname: 'stat4',\r\n\t\tlabel: 'เกินกำหนด',\r\n\t\tunit: 'รายการ',\r\n\t\ticon: ,\r\n\t\ticonBgColor: '#DC143C',\r\n\t},\r\n]\r\n","// Main Libraries\r\nimport React, { useEffect, useCallback } from 'react'\r\nimport { Grid } from '@material-ui/core'\r\n\r\n// Components\r\nimport InfoBox from 'components/admin/dashboard/InfoBox'\r\nimport PieChart from 'components/admin/dashboard/piechart'\r\n\r\n// Hooks and Functions\r\nimport { useStoreState, useStoreActions } from 'store'\r\n\r\n// Configuration\r\nimport { InfoBoxConfigs } from './config'\r\n\r\nconst Dashboard = () => {\r\n\tconst { adminStat, adminOperator } = useStoreState(s => s.mainAdminModel)\r\n\tconst getDashboardStat = useStoreActions(\r\n\t\ta => a.mainAdminModel.getAdminDashboardStat\r\n\t)\r\n\r\n\tconst initFetch = useCallback(() => {\r\n\t\tgetDashboardStat()\r\n\t}, [getDashboardStat])\r\n\r\n\tuseEffect(() => {\r\n\t\tinitFetch()\r\n\t}, [initFetch])\r\n\r\n\tconst Categories1 = ['ส่งข้อมูลแล้ว', 'ระหว่างดำเนินการ'];\r\n\tconst Series1 = [\r\n\t\t{\r\n\t\t\tname: 'จำนวนรายงาน',\r\n\t\t\tcolorByPoint: true,\r\n\t\t\tdata: [\r\n\t\t\t\t{\r\n\t\t\t\t\tname: 'ส่งข้อมูลแล้ว',\r\n\t\t\t\t\ty: adminStat?.stat2 || 10,\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\tname: 'ระหว่างดำเนินการ',\r\n\t\t\t\t\ty: adminStat?.stat3 || 20,\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t},\r\n\t]\r\n\r\n\tconst Categories2 = ['ประจำที่', 'เคลื่อนที่', 'ประจำที่และเคลื่อนที่'];\r\n\tconst Series2 = [\r\n\t\t{\r\n\t\t\tname: 'จำนวน',\r\n\t\t\tcolorByPoint: true,\r\n\t\t\tdata: [\r\n\t\t\t\t{\r\n\t\t\t\t\tname: 'ประจำที่',\r\n\t\t\t\t\ty: adminOperator?.ope1 || 10,\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\tname: 'เคลื่อนที่',\r\n\t\t\t\t\ty: adminOperator?.ope2 || 20,\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\tname: 'ประจำที่และเคลื่อนที่',\r\n\t\t\t\t\ty: adminOperator?.ope3 || 30,\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t},\r\n\t]\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t{InfoBoxConfigs.map((config, idx) => (\r\n\t\t\t\t\t\r\n\t\t\t\t))}\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n\r\nexport default Dashboard\r\n","import { forwardRef, useRef, useEffect } from 'react'\r\nimport {\r\n\tDialog,\r\n\tDialogTitle,\r\n\tDialogContent,\r\n\tDialogActions,\r\n\tGrid,\r\n\tIconButton,\r\n\tSlide,\r\n\tuseMediaQuery,\r\n\tButton,\r\n\tFormControlLabel,\r\n\tRadio,\r\n\tRadioGroup,\r\n} from '@material-ui/core'\r\nimport { Close } from '@material-ui/icons'\r\n\r\nimport { useTheme } from '@material-ui/core/styles'\r\n\r\nexport function ChangeStatusModal({\r\n\thandleCloseDialog,\r\n\tstatusDialogOpen,\r\n\tname,\r\n\tstatusLabelTemp,\r\n\tonChangeStatusTemp,\r\n\thandleStatusTempChange,\r\n}) {\r\n\tconst theme = useTheme()\r\n\tconst fullScreen = useMediaQuery(theme.breakpoints.down('sm'))\r\n\tconst descriptionElementRef = useRef(null)\r\n\r\n\tuseEffect(() => {\r\n\t\tif (statusDialogOpen) {\r\n\t\t\tconst { current: descriptionElement } = descriptionElementRef\r\n\t\t\tif (descriptionElement !== null) {\r\n\t\t\t\tdescriptionElement.focus()\r\n\t\t\t}\r\n\t\t}\r\n\t}, [statusDialogOpen])\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tเปลี่ยนสถานะรายงานของ {name}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t onChangeStatusTemp(e)}\r\n\t\t\t\t\t\tname=\"radio-buttons-group\">\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tlabel=\"รอตรวจสอบ\"\r\n\t\t\t\t\t\t\tclassName=\"bg-gray-100 w-full py-2 my-1\"\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tlabel=\"ตรวจสอบแล้ว\"\r\n\t\t\t\t\t\t\tclassName=\"bg-gray-100 w-full py-2 my-1\"\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tlabel=\"ไม่อนุมัติ\"\r\n\t\t\t\t\t\t\tclassName=\"bg-gray-100 w-full py-2 my-1\"\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tบันทึก\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n\r\nconst Transition = forwardRef(function Transtition(props, ref) {\r\n\treturn \r\n})\r\n","import { forwardRef, useRef } from 'react'\r\nimport {\r\n\tGrid,\r\n\tDialog,\r\n\tDialogContent,\r\n\tDialogContentText,\r\n\tDialogActions,\r\n\tSlide,\r\n\tButton,\r\n\tuseMediaQuery,\r\n} from '@material-ui/core'\r\nimport { useTheme } from '@material-ui/core/styles'\r\n\r\nimport Check from '../../../../assets/images/check.png'\r\n\r\nexport default function SendingStandardReportToAdminModalSuccess({\r\n\topen,\r\n\thandleButton,\r\n}) {\r\n\tconst theme = useTheme()\r\n\tconst fullScreen = useMediaQuery(theme.breakpoints.down('sm'))\r\n\tconst descriptionElementRef = useRef(null)\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tคุณได้ส่งรายงานมาตรฐานไปยัง
สำนักงานกสทช.สำเร็จ\r\n\t\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tตกลง\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n\r\nconst Transition = forwardRef(function Transtition(props, ref) {\r\n\treturn \r\n})\r\n","import { forwardRef, useRef } from 'react'\r\nimport {\r\n\tGrid,\r\n\tDialog,\r\n\tDialogContent,\r\n\tDialogContentText,\r\n\tDialogActions,\r\n\tSlide,\r\n\tButton,\r\n\tuseMediaQuery,\r\n} from '@material-ui/core'\r\nimport { useTheme } from '@material-ui/core/styles'\r\n\r\nimport Cancel from '../../../../assets/images/cancel.png'\r\n\r\nexport default function SendingStandardReportToAdminModalFailed({\r\n\topen,\r\n\thandleButton,\r\n\tmessage,\r\n}) {\r\n\tconst theme = useTheme()\r\n\tconst fullScreen = useMediaQuery(theme.breakpoints.down('sm'))\r\n\tconst descriptionElementRef = useRef(null)\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tคุณส่งรายงานมาตรฐานไปสำนักงาน กสทช. ไม่สำเร็จ โปรดรออีกครั้ง\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tตกลง\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n\r\nconst Transition = forwardRef(function Transtition(props, ref) {\r\n\treturn \r\n})\r\n","import React, { useState, useEffect } from 'react'\r\n\r\nimport { Grid, Card, Button, useMediaQuery, TextField } from '@material-ui/core'\r\nimport { ListAlt, Menu, SendOutlined, SearchOutlined } from '@material-ui/icons'\r\nimport { DataGrid, GridOverlay } from '@material-ui/data-grid'\r\n\r\nimport { ChangeStatusModal } from '../../../components/admin/standard-report/change-status-modal'\r\n\r\nimport SendingStandardReportToAdminModalSuccess from '../../../components/admin/standard-report/send-to-admin-modal'\r\nimport SendingStandardReportToAdminModalFailed from '../../../components/admin/standard-report/send-to-admin-modal-failed'\r\nimport SureModal from '../../../components/SureModal'\r\n\r\nimport { useHistory } from 'react-router-dom'\r\nimport { makeStyles } from '@material-ui/core/styles'\r\nimport { useTheme } from '@material-ui/core/styles'\r\nimport { useStoreRehydrated } from '../../../store'\r\nimport { format } from 'date-fns'\r\n\r\nimport { datasetRecord } from '../../../api/'\r\n\r\nconst useStyles = makeStyles(theme => {\r\n\treturn {\r\n\t\tcard_styles: {\r\n\t\t\theight: '80vh',\r\n\t\t},\r\n\t\tdetails_button: {\r\n\t\t\tbackgroundColor: '#466AE9',\r\n\t\t\tcolor: '#fff',\r\n\t\t\t'&:hover': {\r\n\t\t\t\tbackgroundColor: '#466AE9',\r\n\t\t\t},\r\n\t\t},\r\n\t\tapprove_button: {\r\n\t\t\tbackgroundColor: '#1DBF73',\r\n\t\t\tcolor: '#fff',\r\n\t\t\t'&:hover': {\r\n\t\t\t\tbackgroundColor: '#1DBF73',\r\n\t\t\t},\r\n\t\t},\r\n\t\twait_button: {\r\n\t\t\tbackgroundColor: '#F6B50B',\r\n\t\t\tcolor: '#fff',\r\n\t\t\t'&:hover': {\r\n\t\t\t\tbackgroundColor: '#F6B50B',\r\n\t\t\t},\r\n\t\t},\r\n\t\treject_button: {\r\n\t\t\tbackgroundColor: '#DB4D44',\r\n\t\t\tcolor: '#fff',\r\n\t\t\t'&:hover': {\r\n\t\t\t\tbackgroundColor: '#DB4D44',\r\n\t\t\t},\r\n\t\t},\r\n\t\ttype_of_report: {\r\n\t\t\tbackgroundColor: '#c8e8ff',\r\n\t\t\tcolor: '#028BFF',\r\n\t\t\tborderColor: '#84BFF0',\r\n\t\t},\r\n\t\tformControl: {\r\n\t\t\tmargin: theme.spacing(1),\r\n\t\t\tminWidth: 120,\r\n\t\t},\r\n\t}\r\n})\r\n\r\nexport default function StandardReport() {\r\n\tconst isRehydrated = useStoreRehydrated()\r\n\tconst history = useHistory()\r\n\tconst classes = useStyles()\r\n\tconst theme = useTheme()\r\n\tconst isMobile = useMediaQuery(theme.breakpoints.down('sm'))\r\n\tconst isMobile2 = useMediaQuery('(min-width:425px)')\r\n\tconst dataTypeOfReport = { mobile: 'เคลื่อนที่', fixed: 'ประจำที่' }\r\n\r\n\t// Work Status 0 = รอตรวจสอบ, 1 = ตรวจสอบแล้ว, 2 = ไม่อนุมัติ\r\n\t// eslint-disable-next-line\r\n\tconst status = ['รอตรวจสอบ', 'ตรวจสอบแล้ว', 'ไม่อนุมัติ']\r\n\tconst [statusIDList, setStatusIDList] = useState([])\r\n\tconst [tempID, setTempID] = useState(0)\r\n\tconst [tempName, setTempName] = useState('')\r\n\tconst [statusDialogOpen, setStatusDialogOpen] = useState(false)\r\n\tconst [statusLabelTemp, setStatusLabelTemp] = useState('')\r\n\tconst [reportID, setReportID] = useState(null)\r\n\tconst [pageSize, setPageSize] = useState(8)\r\n\r\n\t// Modal ​State\r\n\tconst [openSendToAdminModal, setOpenSendToAdminModal] = useState(false)\r\n\tconst [openSendToAdminModalFailed, setOpenSendToAdminModalFailed] =\r\n\t\tuseState(false)\r\n\tconst [\r\n\t\topenSubmitSendingToAdminSureModal,\r\n\t\tsetOpenSubmitSendingToAdminSureModal,\r\n\t] = useState(false)\r\n\r\n\t// eslint-disable-next-line\r\n\tconst handleOpenDialog = id => {\r\n\t\tsetStatusDialogOpen(true)\r\n\t\tsetTempID(id)\r\n\t\tfor (let i = 0; i < rows.length; i++) {\r\n\t\t\tif (rows[i].id === id) {\r\n\t\t\t\tsetTempName(rows[i].name)\r\n\t\t\t\tbreak\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (statusIDList[id - 1] === 0) {\r\n\t\t\tsetStatusLabelTemp('รอตรวจสอบ')\r\n\t\t} else if (statusIDList[id - 1] === 1) {\r\n\t\t\tsetStatusLabelTemp('ตรวจสอบแล้ว')\r\n\t\t} else if (statusIDList[id - 1] === 2) {\r\n\t\t\tsetStatusLabelTemp('ไม่อนุมัติ')\r\n\t\t}\r\n\t}\r\n\r\n\tconst handleCloseDialog = () => {\r\n\t\tsetStatusDialogOpen(false)\r\n\t}\r\n\r\n\tconst [columnsId, setColumnsId] = useState([130, 0])\r\n\tconst [columnsName, setColumnsName] = useState([360, 0])\r\n\tconst [columnsDataTypeList, setColumnsDataTypeList] = useState([200, 0])\r\n\tconst [columnsSubmitDate, setColumnsSubmitDate] = useState([200, 0])\r\n\tconst [columnsReportDetails, setColumnsReportDetails] = useState([200, 0])\r\n\tconst [columnsWorkStatusId, setColumnsWorkStatusId] = useState([200, 0])\r\n\r\n\tvar columns = [\r\n\t\t{\r\n\t\t\tfield: 'id',\r\n\t\t\theaderName: 'ลำดับ',\r\n\t\t\twidth: columnsId[0],\r\n\t\t\tflex: columnsId[1],\r\n\t\t\theaderAlign: 'left',\r\n\t\t\talign: 'left',\r\n\t\t\tsortable: true,\r\n\t\t\teditable: false,\r\n\t\t\trenderCell: params => {\r\n\t\t\t\treturn {params.value}\r\n\t\t\t},\r\n\t\t},\r\n\t\t{\r\n\t\t\tfield: 'name',\r\n\t\t\theaderName: 'ชื่อ-นามสกุล',\r\n\t\t\twidth: columnsName[0],\r\n\t\t\tflex: columnsName[1],\r\n\t\t\theaderAlign: 'left',\r\n\t\t\talign: 'left',\r\n\t\t\teditable: false,\r\n\t\t},\r\n\t\t{\r\n\t\t\tfield: 'organization',\r\n\t\t\theaderName: 'ชื่อผู้ประกอบการ',\r\n\t\t\twidth: columnsName[0],\r\n\t\t\tflex: columnsName[1],\r\n\t\t\theaderAlign: 'left',\r\n\t\t\talign: 'left',\r\n\t\t\teditable: false,\r\n\t\t},\r\n\t\t{\r\n\t\t\tfield: 'dataTypeList',\r\n\t\t\theaderName: 'ประเภทรายงาน',\r\n\t\t\tsortable: true,\r\n\t\t\twidth: columnsDataTypeList[0],\r\n\t\t\tflex: columnsDataTypeList[1],\r\n\t\t\t// headerAlign: 'center',\r\n\t\t\talign: 'left',\r\n\t\t\teditable: false,\r\n\t\t\trenderCell: params => {\r\n\t\t\t\treturn (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{params.value.map((e, index) => (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{dataTypeOfReport[e]}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t))}\r\n\t\t\t\t\t\r\n\t\t\t\t)\r\n\t\t\t},\r\n\t\t},\r\n\t\t{\r\n\t\t\tfield: 'yearNQuarter',\r\n\t\t\theaderName: 'ปีและไตรมาส',\r\n\t\t\twidth: columnsSubmitDate[0],\r\n\t\t\tflex: columnsSubmitDate[1],\r\n\t\t\talign: 'left',\r\n\t\t\teditable: false,\r\n\t\t},\r\n\t\t{\r\n\t\t\tfield: 'submit_date',\r\n\t\t\theaderName: 'วันที่ส่งข้อมูล',\r\n\t\t\twidth: columnsSubmitDate[0],\r\n\t\t\tflex: columnsSubmitDate[1],\r\n\t\t\t// headerAlign: 'center',\r\n\t\t\talign: 'left',\r\n\t\t\teditable: false,\r\n\t\t\trenderCell: params => {\r\n\t\t\t\treturn {params.value}\r\n\t\t\t},\r\n\t\t},\r\n\t\t{\r\n\t\t\tfield: 'submitType',\r\n\t\t\theaderName: 'วิธีการส่งรายงาน',\r\n\t\t\twidth: columnsSubmitDate[0],\r\n\t\t\tflex: columnsSubmitDate[1],\r\n\t\t\talign: 'left',\r\n\t\t\teditable: false,\r\n\t\t},\r\n\t\t{\r\n\t\t\tfield: 'report_detials',\r\n\t\t\theaderName: 'ดูข้อมูลรายงาน',\r\n\t\t\tsortable: false,\r\n\t\t\twidth: columnsReportDetails[0],\r\n\t\t\tflex: columnsReportDetails[1],\r\n\t\t\theaderAlign: 'center',\r\n\t\t\talign: 'left',\r\n\t\t\teditable: false,\r\n\t\t\trenderCell: params => {\r\n\t\t\t\treturn (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\tlet tempIndex = 0\r\n\t\t\t\t\t\t\t\tfor (tempIndex; tempIndex < rows.length; tempIndex++) {\r\n\t\t\t\t\t\t\t\t\tif (params.value === rows[tempIndex].id) {\r\n\t\t\t\t\t\t\t\t\t\tbreak\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\thistory.push({\r\n\t\t\t\t\t\t\t\t\tpathname: `/admin/standard-report/${params.value}`,\r\n\t\t\t\t\t\t\t\t\tstate: {\r\n\t\t\t\t\t\t\t\t\t\trowData: rows[tempIndex],\r\n\t\t\t\t\t\t\t\t\t\tstatusIDList: statusIDList,\r\n\t\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\tclassName={`w-28 `}\r\n\t\t\t\t\t\t\tcolor=\"secondary\"\r\n\t\t\t\t\t\t\tvariant=\"contained\">\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tรายละเอียด\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t)\r\n\t\t\t},\r\n\t\t},\r\n\t\t{\r\n\t\t\tfield: 'workStatus',\r\n\t\t\theaderName: 'สถานะ',\r\n\t\t\tsortable: false,\r\n\t\t\twidth: columnsWorkStatusId[0],\r\n\t\t\tflex: columnsWorkStatusId[1],\r\n\t\t\theaderAlign: 'center',\r\n\t\t\talign: 'center',\r\n\t\t\trenderCell: params => {\r\n\t\t\t\treturn (\r\n\t\t\t\t\t<>\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t// \thandleOpenDialog(params.value.workStatus)\r\n\t\t\t\t\t\t\t\t// }}\r\n\t\t\t\t\t\t\t\tclassName={`w-36 ${\r\n\t\t\t\t\t\t\t\t\tparams.value.workStatus === 4\r\n\t\t\t\t\t\t\t\t\t\t? classes.wait_button\r\n\t\t\t\t\t\t\t\t\t\t: params.value.workStatus === 5\r\n\t\t\t\t\t\t\t\t\t\t? classes.approve_button\r\n\t\t\t\t\t\t\t\t\t\t: classes.reject_button\r\n\t\t\t\t\t\t\t\t}`}>\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{params.value.workStatusName}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t)\r\n\t\t\t},\r\n\t\t},\r\n\t\t// {\r\n\t\t// \tfield: 'actions',\r\n\t\t// \theaderName: ' ',\r\n\t\t// \twidth: columnsWorkStatusId[0],\r\n\t\t// \tflex: columnsWorkStatusId[1],\r\n\t\t// \theaderAlign: 'center',\r\n\t\t// \talign: 'center',\r\n\t\t// \trenderCell: params => (\r\n\t\t// \t\t\r\n\t\t// \t\t\t {\r\n\t\t// \t\t\t\t\tsetReportID(params.value)\r\n\t\t// \t\t\t\t\tonOpenSendingToAdminSureModal()\r\n\t\t// \t\t\t\t}}>\r\n\t\t// \t\t\t\tส่งรายงาน\r\n\t\t// \t\t\t\r\n\t\t// \t\t\r\n\t\t// \t),\r\n\t\t// },\r\n\t]\r\n\r\n\tconst [rows, setRows] = useState([\r\n\t\t// Work Status 0 = รอตรวจสอบ, 1 = ตรวจสอบแล้ว, 2 = ไม่อนุมัติ\r\n\t\t// Data Type List 0 = ประจำที่, 1 = เคลื่อนที่\r\n\t])\r\n\tconst [isDataLoading, setIsDataLoading] = useState(false)\r\n\tconst [rowsData, setRowsData] = useState([])\r\n\r\n\tfunction handleStatusTempChange() {\r\n\t\tvar statusIDListTemp = statusIDList\r\n\t\tstatusIDListTemp[tempID - 1] = statusLabelTemp\r\n\t\tif (statusLabelTemp === 'รอตรวจสอบ') {\r\n\t\t\tstatusIDListTemp[tempID - 1] = 0\r\n\t\t} else if (statusLabelTemp === 'ตรวจสอบแล้ว') {\r\n\t\t\tstatusIDListTemp[tempID - 1] = 1\r\n\t\t} else if (statusLabelTemp === 'ไม่อนุมัติ') {\r\n\t\t\tstatusIDListTemp[tempID - 1] = 2\r\n\t\t}\r\n\t\tsetStatusIDList(statusIDListTemp)\r\n\t\thandleCloseDialog()\r\n\t}\r\n\r\n\tconst onChangeStatusTemp = e => {\r\n\t\tsetStatusLabelTemp(e.target.value)\r\n\t}\r\n\r\n\t// -------------------------------\r\n\tconst getDatasetRecordList = async () => {\r\n\t\tsetIsDataLoading(true)\r\n\t\tconst res = await datasetRecord.getListAdmin()\r\n\r\n\t\tif (res) {\r\n\t\t\tif (res.status === 200) {\r\n\t\t\t\tsetRowsData(res.data)\r\n\r\n\t\t\t\tconst rowsTemp = []\r\n\r\n\t\t\t\tfor (let i = 0; i < res.data.length; i++) {\r\n\t\t\t\t\tif (res.data[i].dataSetRecordHeadStatus.id !== 5) {\r\n\t\t\t\t\t\tconst qosType = []\r\n\r\n\t\t\t\t\t\tif (res.data[i].isFixed === 'y') qosType.push('fixed')\r\n\t\t\t\t\t\tif (res.data[i].isMobile === 'y') qosType.push('mobile')\r\n\r\n\t\t\t\t\t\tconst tempObject = {\r\n\t\t\t\t\t\t\tid: res.data[i].id,\r\n\t\t\t\t\t\t\tname:\r\n\t\t\t\t\t\t\t\t(res.data[i].operatorApproveUser?.firstname ?? '') +\r\n\t\t\t\t\t\t\t\t' ' +\r\n\t\t\t\t\t\t\t\t(res.data[i].operatorApproveUser?.lastname ?? ''),\r\n\t\t\t\t\t\t\torganization: res.data[i].dataSetReport.operator.operatorName,\r\n\t\t\t\t\t\t\tsubmit_date: res.data[i].updatedAt\r\n\t\t\t\t\t\t\t\t? format(new Date(res.data[i].updatedAt), 'dd/MM/yyyy')\r\n\t\t\t\t\t\t\t\t: '',\r\n\t\t\t\t\t\t\tsubmitType: res.data[i].sendMethod,\r\n\t\t\t\t\t\t\tworkStatus: {\r\n\t\t\t\t\t\t\t\treport_id: res.data[i].id,\r\n\t\t\t\t\t\t\t\tworkStatus: res.data[i].dataSetRecordHeadStatus.id,\r\n\t\t\t\t\t\t\t\tworkStatusName: res.data[i].dataSetRecordHeadStatus.statusName,\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\treport_detials: res.data[i].id,\r\n\t\t\t\t\t\t\tdataTypeList: qosType,\r\n\t\t\t\t\t\t\tactions: res.data[i].id,\r\n\t\t\t\t\t\t\tyearNQuarter: res.data[i].dataSetReport.year + '/' + res.data[i].dataSetReport.quarter,\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tlet tempStatusIDList = statusIDList\r\n\t\t\t\t\t\ttempStatusIDList[i] = {\r\n\t\t\t\t\t\t\treport_id: res.data[i].id,\r\n\t\t\t\t\t\t\tworkStatus: res.data[i].dataSetRecordHeadStatus.id,\r\n\t\t\t\t\t\t\tworkStatusName: res.data[i].dataSetRecordHeadStatus.statusName,\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tsetStatusIDList(tempStatusIDList)\r\n\t\t\t\t\t\tsetReportID(res.data[i].id)\r\n\t\t\t\t\t\trowsTemp.push(tempObject)\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tsetRows(rowsTemp)\r\n\t\t\t}\r\n\t\t}\r\n\t\tsetIsDataLoading(false)\r\n\t}\r\n\r\n\tconst onSearhResult = e => {\r\n\t\tconst { value } = e.target\r\n\t\tconst searchedName = rowsData.filter(row => {\r\n\t\t\tconst name =\r\n\t\t\t\trow.operatorApproveUser?.firstname +\r\n\t\t\t\t' ' +\r\n\t\t\t\trow.operatorApproveUser?.lastname\r\n\t\t\treturn name.includes(value)\r\n\t\t})\r\n\t\tconst searchedOperatorName = rowsData.filter(row =>\r\n\t\t\trow.dataSetReport?.operator?.operatorName.includes(value)\r\n\t\t)\r\n\r\n\t\tconst mergedSearched = [...searchedName, ...searchedOperatorName]\r\n\t\tconst searchedResults = []\r\n\r\n\t\tmergedSearched.forEach(i => {\r\n\t\t\tconst find = searchedResults.find(item => item.id === i.id)\r\n\t\t\tif (!find && i.dataSetRecordHeadStatus.id !== 5) {\r\n\t\t\t\tconst qosType = []\r\n\r\n\t\t\t\tif (i.operatorUser.operatorUserQOSTypes)\r\n\t\t\t\t\ti.operatorUser.operatorUserQOSTypes.forEach(item => {\r\n\t\t\t\t\t\tif (item.qosTypeID === 1) qosType.push('mobile')\r\n\t\t\t\t\t\tif (item.qosTypeID === 2) qosType.push('fixed')\r\n\t\t\t\t\t})\r\n\r\n\t\t\t\tsearchedResults.push({\r\n\t\t\t\t\tid: i.id,\r\n\t\t\t\t\tname:\r\n\t\t\t\t\t\ti.operatorApproveUser?.firstname +\r\n\t\t\t\t\t\t' ' +\r\n\t\t\t\t\t\ti.operatorApproveUser?.lastname,\r\n\t\t\t\t\torganization: i.dataSetReport?.operator?.operatorName,\r\n\t\t\t\t\tsubmit_date: i.updatedAt\r\n\t\t\t\t\t\t? format(new Date(i.updatedAt), 'dd/MM/yyyy')\r\n\t\t\t\t\t\t: '',\r\n\t\t\t\t\tsubmitType: i.sendMethod,\r\n\t\t\t\t\tworkStatus: {\r\n\t\t\t\t\t\treport_id: i.id,\r\n\t\t\t\t\t\tworkStatus: i.dataSetRecordHeadStatus.id,\r\n\t\t\t\t\t\tworkStatusName: i.dataSetRecordHeadStatus.statusName,\r\n\t\t\t\t\t},\r\n\t\t\t\t\treport_detials: i.id,\r\n\t\t\t\t\tdataTypeList: qosType,\r\n\t\t\t\t\tactions: i.id,\r\n\t\t\t\t\tyearNQuarter: i.dataSetReport.year + '/' + i.dataSetReport.quarter,\r\n\t\t\t\t})\r\n\t\t\t}\r\n\t\t})\r\n\r\n\t\tsetRows(searchedResults)\r\n\t}\r\n\r\n\tconst onSubmitToAdmin = async () => {\r\n\t\tconst res = await datasetRecord.sendToAdmin(reportID)\r\n\t\tif (res.status !== 400) {\r\n\t\t\tonOpenSendingToAdminModal()\r\n\t\t\tonOpenSendingToAdminSureModal()\r\n\t\t} else {\r\n\t\t\tonOpenSendingToAdminSureModal()\r\n\t\t\tonOpenSendingToAdminFailedModal()\r\n\t\t}\r\n\t}\r\n\r\n\tconst onOpenSendingToAdminSureModal = () => {\r\n\t\tsetOpenSubmitSendingToAdminSureModal(!openSubmitSendingToAdminSureModal)\r\n\t}\r\n\r\n\tconst onOpenSendingToAdminModal = () => {\r\n\t\tsetOpenSendToAdminModal(!openSendToAdminModal)\r\n\t}\r\n\r\n\tconst onOpenSendingToAdminFailedModal = () => {\r\n\t\tsetOpenSendToAdminModalFailed(!openSendToAdminModalFailed)\r\n\t}\r\n\r\n\tuseEffect(() => {\r\n\t\tif (isMobile) {\r\n\t\t\tsetColumnsId([130, 0])\r\n\t\t\tsetColumnsName([100, 0])\r\n\t\t\tsetColumnsDataTypeList([200, 0])\r\n\t\t\tsetColumnsSubmitDate([200, 0])\r\n\t\t\tsetColumnsReportDetails([200, 0])\r\n\t\t\tsetColumnsWorkStatusId([200, 0])\r\n\t\t} else {\r\n\t\t\tsetColumnsId([0, 0.7])\r\n\t\t\tsetColumnsName([0, 1.2])\r\n\t\t\tsetColumnsDataTypeList([0, 1.2])\r\n\t\t\tsetColumnsSubmitDate([0, 1])\r\n\t\t\tsetColumnsReportDetails([0, 0.9])\r\n\t\t\tsetColumnsWorkStatusId([0, 0.8])\r\n\t\t}\r\n\t}, [isMobile])\r\n\r\n\tuseEffect(() => {\r\n\t\tif (isRehydrated) getDatasetRecordList()\r\n\t\t// eslint-disable-next-line\r\n\t}, [isRehydrated])\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tรายชื่อรายงาน\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t setPageSize(size)}\r\n\t\t\t\t\t\t\t\tsortModel={[\r\n\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\tfield: 'id',\r\n\t\t\t\t\t\t\t\t\t\tsort: 'desc',\r\n\t\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\t]}\r\n\t\t\t\t\t\t\t\tcomponents={{\r\n\t\t\t\t\t\t\t\t\tNoRowsOverlay: () => {\r\n\t\t\t\t\t\t\t\t\t\tif (!isDataLoading) {\r\n\t\t\t\t\t\t\t\t\t\t\treturn ไม่พบข้อมูล;\r\n\t\t\t\t\t\t\t\t\t\t}else{\r\n\t\t\t\t\t\t\t\t\t\t\treturn กำลังประมวลผลข้อมูล โปรดรอสักครู่..;\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t history.go(0)}\r\n\t\t\t/>\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t}\r\n\t\t\t\topen={openSubmitSendingToAdminSureModal}\r\n\t\t\t\tonClose={onOpenSendingToAdminSureModal}\r\n\t\t\t\thandleCancel={onOpenSendingToAdminSureModal}\r\n\t\t\t\thandleButton={onSubmitToAdmin}\r\n\t\t\t/>\r\n\t\t\r\n\t)\r\n}\r\n","import { forwardRef, useRef } from 'react'\r\nimport {\r\n\tGrid,\r\n\tDialog,\r\n\tDialogContent,\r\n\tDialogContentText,\r\n\tDialogActions,\r\n\tSlide,\r\n\tButton,\r\n\tuseMediaQuery,\r\n} from '@material-ui/core'\r\nimport { useTheme } from '@material-ui/core/styles'\r\n\r\nimport Check from '../../../../assets/images/check.png'\r\n\r\nexport default function SendingStandardReportModalSuccess({\r\n\topen,\r\n\thandleButton,\r\n}) {\r\n\tconst theme = useTheme()\r\n\tconst fullScreen = useMediaQuery(theme.breakpoints.down('sm'))\r\n\tconst descriptionElementRef = useRef(null)\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tคุณได้ตรวจสอบข้อมูลเรียบร้อยแล้ว\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tตกลง\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n\r\nconst Transition = forwardRef(function Transtition(props, ref) {\r\n\treturn \r\n})\r\n","import { Grid, IconButton } from '@material-ui/core'\r\nimport { Archive } from '@material-ui/icons'\r\nimport { AuthenticatedLink } from 'components/AuthenticatedLink'\r\n\r\nexport default function File({ originalFileName, downloadUrl }) {\r\n\treturn (\r\n\t\t\r\n\t\t\tชื่อเอกสาร: {originalFileName ?? ''}\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n","import {\r\n\tGrid,\r\n\tCard,\r\n\tDivider,\r\n\tuseMediaQuery,\r\n\tIconButton,\r\n} from '@material-ui/core'\r\nimport { Assignment, Archive } from '@material-ui/icons'\r\nimport { AuthenticatedLink } from 'components/AuthenticatedLink'\r\n\r\nimport { mobile_additional_files } from 'data/standard-report/ui/mobile-additional-files'\r\n\r\nimport File from './file'\r\n\r\nexport default function StandardReportStep1({ rowData, dataSetFilesUpload }) {\r\n\tconst isNotTablet = useMediaQuery('(min-width:768px)')\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t{!isNotTablet ? (\r\n\t\t\t\t// Mobile and Tablet Layout\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tรายละเอียดการส่งรายงาน\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t{/* Name */}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tชื่อผู้ส่งรายงาน\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{rowData.name}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t{/* Submit Date */}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tวันที่ส่งข้อมูล\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{rowData.submit_date}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t) : (\r\n\t\t\t\t<>\r\n\t\t\t\t\t{/* Computer Layout */}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tรายละเอียดการส่งรายงาน\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{/* Name */}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tชื่อผู้ส่งรายงาน\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{rowData.name}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{/* Company Name */}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tชื่อบริษัท\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{rowData.companyName}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{/* Type of Report */}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tประเภทรายงาน\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{rowData?.dataTypeList?.map((e, index) => (\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{index === 1 && rowData.dataTypeList.length === 2\r\n\t\t\t\t\t\t\t\t\t\t\t\t? ', '\r\n\t\t\t\t\t\t\t\t\t\t\t\t: ''}\r\n\t\t\t\t\t\t\t\t\t\t\t{e}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{/* Submit Date */}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tวันที่ส่งข้อมูล\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{rowData.submit_date}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{/* Status */}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tสถานะรายงาน\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{rowData.status}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{/* Reject reason */}\r\n\t\t\t\t\t\t\t{rowData.isRejected === 'y' && (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tเหตุผล\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{rowData.rejectReason}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t{/* ใบนำส่ง */}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tใบนำส่ง\r\n\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{rowData.attachSendToAdminFile\r\n\t\t\t\t\t\t\t\t\t\t? 'ดาวน์โหลดใบนำส่ง'\r\n\t\t\t\t\t\t\t\t\t\t: 'ไม่มีใบนำส่ง'}\r\n\t\t\t\t\t\t\t\t\t{rowData.attachSendToAdminFile && (\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tไฟล์แนบเพิ่มเติมสำหรับรายงานประเภทเคลื่อนที่ (Mobile)\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{mobile_additional_files.map((item, idx) => {\r\n\t\t\t\t\t\t\t\t\tconst additionalFile = dataSetFilesUpload[item.key]\r\n\r\n\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t{item.title}\r\n\t\t\t\t\t\t\t\t\t\t\t\t{additionalFile\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t? `(${additionalFile.length} ไฟล์)`\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t: '(0 ไฟล์)'}\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t{additionalFile &&\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tadditionalFile.map((file, index) => (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t\r\n\t)\r\n}\r\n","import { useMemo } from 'react'\r\nimport { Grid } from '@material-ui/core'\r\n\r\nexport default function TwoPointThreeSubHeader({ sub_label_type }) {\r\n\tconst firstValueWidth = useMemo(() => {\r\n\t\tif (sub_label_type === 3 || sub_label_type === 2) {\r\n\t\t\treturn 'w-4/12'\r\n\t\t}\r\n\r\n\t\treturn 'w-4/12'\r\n\t}, [sub_label_type])\r\n\r\n\tconst secondValueWidh = useMemo(() => {\r\n\t\tif (sub_label_type === 3 || sub_label_type === 2) {\r\n\t\t\treturn 'w-3/12'\r\n\t\t}\r\n\r\n\t\treturn 'w-5/12'\r\n\t}, [sub_label_type])\r\n\r\n\tconst validationWidth = useMemo(() => {\r\n\t\tif (sub_label_type === 3 || sub_label_type === 2) {\r\n\t\t\treturn 'w-2/12'\r\n\t\t}\r\n\r\n\t\treturn 'w-3/12'\r\n\t}, [sub_label_type])\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{(sub_label_type === 3 || sub_label_type === 2) && (\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t\t\r\n\t\t\t\tสถานที่ในส่วนภูมิภาค\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\tสถานที่ในเขตกรุงเทพฯ และ ปริมณฑล\r\n\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n","import { Grid } from '@material-ui/core'\r\nimport { useWidthExcelInputWithValidation } from 'utils/useWidthExcelInputWithValidation'\r\nimport { useTimeQuarter } from 'utils/useTimeQuarter'\r\n\r\nexport default function ExcelSubHeader({ sub_label_type, isTwoPointThree }) {\r\n\tconst { quarter } = useTimeQuarter()\r\n\tconst { valueWidth, validationWidth, avgWidth } =\r\n\t\tuseWidthExcelInputWithValidation(sub_label_type)\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{(sub_label_type === 3 || sub_label_type === 2) && (\r\n\t\t\t\t{isTwoPointThree?null:'ภูมิภาค'}\r\n\t\t\t)}\r\n\t\t\t\r\n\t\t\t\t{isTwoPointThree ? 'เส้นทางสายหลักและสายรอง' : quarter.month1}\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t{isTwoPointThree ? 'เส้นทางในบริเวณพื้นที่ชุมชน' : quarter.month2}\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t{isTwoPointThree ? 'เส้นทางในเขตกรุงเทพฯ และปริมณฑล' : quarter.month3}\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t{isTwoPointThree\r\n\t\t\t\t\t? 'พื้นที่เฝ้าระวังอื่นที่กำหนดในแต่ละไตรมาส**'\r\n\t\t\t\t\t: 'ค่าเฉลี่ย'}\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\tผลการประเมิน\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n","import { fixed_general_details } from './fixed-general'\r\nimport { fixed_info_details } from './fixed-info'\r\nimport { fixed_sound_details } from './fixed-sound'\r\nimport { mobile_general_details } from './mobile-general'\r\nimport { mobile_info_details } from './mobile-info'\r\nimport { mobile_sound_details } from './mobile-sound'\r\n\r\nconst REPORT = [\r\n\t...fixed_general_details,\r\n\t...fixed_info_details,\r\n\t...fixed_sound_details,\r\n\t...mobile_general_details,\r\n\t...mobile_info_details,\r\n\t...mobile_sound_details,\r\n]\r\n\r\nexport function findReportQuestion(datasetId) {\r\n\treturn REPORT.find(r => r.id === datasetId)\r\n}\r\n","import { Grid, Input, Button } from '@material-ui/core'\r\nimport { findReportQuestion } from '../../../../../../data/standard-reportV2/find-report-question'\r\n\r\nexport default function SubLabelType1({\r\n\ttype,\r\n\tonFillForm,\r\n\tdatasetId,\r\n\tanswers,\r\n\tonOpenValidationModal,\r\n}) {\r\n\tconst answer = answers.find(item => item.dataSetItemID === datasetId)\r\n\tconst question = findReportQuestion(answer?.dataSetItemID)\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t\r\n\t\t\t\t{/* Months */}\r\n\t\t\t\t {\r\n\t\t\t\t\t\tonFillForm(type, datasetId, 'dataValueMonth1', e.target.value)\r\n\t\t\t\t\t}}\r\n\t\t\t\t\treadOnly\r\n\t\t\t\t\ttype=\"text\"\r\n\t\t\t\t/>\r\n\t\t\t\t {\r\n\t\t\t\t\t\tonFillForm(type, datasetId, 'dataValueMonth2', e.target.value)\r\n\t\t\t\t\t}}\r\n\t\t\t\t\treadOnly\r\n\t\t\t\t\ttype=\"text\"\r\n\t\t\t\t/>\r\n\t\t\t\t {\r\n\t\t\t\t\t\tonFillForm(type, datasetId, 'dataValueMonth3', e.target.value)\r\n\t\t\t\t\t}}\r\n\t\t\t\t\treadOnly\r\n\t\t\t\t\ttype=\"text\"\r\n\t\t\t\t/>\r\n\t\t\t\t{/* Average */}\r\n\t\t\t\t {\r\n\t\t\t\t\t\tonFillForm(type, datasetId, 'dataValueMonthAvg', e.target.value)\r\n\t\t\t\t\t}}\r\n\t\t\t\t\treadOnly\r\n\t\t\t\t\ttype=\"text\"\r\n\t\t\t\t/>\r\n\t\t\t\t{/* Validation */}\r\n\t\t\t\t\r\n\t\t\t\t\t{(!answer?.dataValueMonth1 ||\r\n\t\t\t\t\t\t!answer?.dataValueMonth2 ||\r\n\t\t\t\t\t\t!answer?.dataValueMonth3) &&\r\n\t\t\t\t\t!answer?.isError ? null : answer?.isError === 'y' ? (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tonOpenValidationModal(\r\n\t\t\t\t\t\t\t\t\tdatasetId,\r\n\t\t\t\t\t\t\t\t\tanswer.reason,\r\n\t\t\t\t\t\t\t\t\tanswer.solution,\r\n\t\t\t\t\t\t\t\t\tanswer.periodSolution,\r\n\t\t\t\t\t\t\t\t\tanswer?.validateFileUrl,\r\n\t\t\t\t\t\t\t\t\tquestion?.no,\r\n\t\t\t\t\t\t\t\t\tquestion?.label\r\n\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t}>\r\n\t\t\t\t\t\t\tไม่ผ่านเกณฑ์\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tผ่านเกณฑ์\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n","import { Grid, Input, Button } from '@material-ui/core'\r\nimport { findReportQuestion } from '../../../../../../data/standard-reportV2/find-report-question'\r\n\r\nexport default function SubLabelType2({\r\n\ttype,\r\n\tflags,\r\n\titem,\r\n\tonFillForm,\r\n\tanswers,\r\n\tonOpenValidationModal,\r\n}) {\r\n\tconst answer = answers.find(ans => ans.dataSetItemID === item.id)\r\n\tconst is2G = item.label.includes('2G') ? true : false\r\n\tconst question = findReportQuestion(answer?.dataSetItemID)\r\n\tconst is5G = item.label.includes('5G')\r\n\tconst is5GArea = item.label.includes('5G (พื้นที่)')\r\n\tconst isFiveInput = item.label.includes('-ภาค')\r\n\t// const is2G = item.label.includes('2G') ? true : false\r\n\tconsole.log('answer', answer);\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t{isFiveInput ? (\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{item.label}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tonFillForm(type, item.id, 'dataValueExtra', e.target.value)\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\ttype=\"text\"\r\n\t\t\t\t\t\t\treadOnly\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\r\n\t\t\t\t\t{/* Months */}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\tonFillForm(type, item.id, 'dataValueMonth1', e.target.value)\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\ttype=\"text\"\r\n\t\t\t\t\t\treadOnly\r\n\t\t\t\t\t/>\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\tonFillForm(type, item.id, 'dataValueMonth2', e.target.value)\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\ttype=\"text\"\r\n\t\t\t\t\t\treadOnly\r\n\t\t\t\t\t/>\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\tonFillForm(type, item.id, 'dataValueMonth3', e.target.value)\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\ttype=\"text\"\r\n\t\t\t\t\t\treadOnly\r\n\t\t\t\t\t/>\r\n\t\t\t\t\t{/* Average */}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\tonFillForm(type, item.id, 'dataValueMonthAvg', e.target.value)\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\ttype=\"text\"\r\n\t\t\t\t\t\treadOnly\r\n\t\t\t\t\t/>\r\n\t\t\t\t\t{/* Validation */}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{(\r\n\t\t\t\t\t\t\t(\r\n\t\t\t\t\t\t\t\t((!answer?.dataValueMonth1 || !answer?.dataValueMonth2 || !answer?.dataValueMonth3) && !is5G)\r\n\t\t\t\t\t\t\t\t|| ((!answer?.dataValueMonth1 || !answer?.dataValueMonth2) && is5G)\r\n\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t&& !answer?.isError) ? null : (answer?.isError === 'y' ? (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tonOpenValidationModal(\r\n\t\t\t\t\t\t\t\t\t\t\titem.id,\r\n\t\t\t\t\t\t\t\t\t\t\tanswer.reason,\r\n\t\t\t\t\t\t\t\t\t\t\tanswer.solution,\r\n\t\t\t\t\t\t\t\t\t\t\tanswer.periodSolution,\r\n\t\t\t\t\t\t\t\t\t\t\tanswer?.validateFileUrl\r\n\t\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t\t}>\r\n\t\t\t\t\t\t\t\t\tไม่ผ่านเกณฑ์\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tผ่านเกณฑ์\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t) : !is2G ? (\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{item.label}\r\n\t\t\t\t\t\r\n\t\t\t\t\t{/* Months */}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\tonFillForm(type, item.id, 'dataValueMonth1', e.target.value)\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\ttype=\"text\"\r\n\t\t\t\t\t\treadOnly\r\n\t\t\t\t\t/>\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\tonFillForm(type, item.id, 'dataValueMonth2', e.target.value)\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\ttype=\"text\"\r\n\t\t\t\t\t\treadOnly\r\n\t\t\t\t\t/>\r\n\t\t\t\t\t{!is5G ? (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tonFillForm(type, item.id, 'dataValueMonth3', e.target.value)\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\ttype=\"text\"\r\n\t\t\t\t\t\t\treadOnly\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\t\t\t\t\t{/* Average */}\r\n\t\t\t\t\t{!is5G ? (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tonFillForm(type, item.id, 'dataValueMonthAvg', e.target.value)\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\ttype=\"text\"\r\n\t\t\t\t\t\t\treadOnly\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\t\t\t\t\t{/* Validation */}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{(\r\n\t\t\t\t\t\t\t(\r\n\t\t\t\t\t\t\t\t((!answer?.dataValueMonth1 || !answer?.dataValueMonth2 || !answer?.dataValueMonth3) && !is5G)\r\n\t\t\t\t\t\t\t\t|| ((!answer?.dataValueMonth1 || !answer?.dataValueMonth2) && is5G)\r\n\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t&& !answer?.isError) ? null : (answer?.isError === 'y' ? (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tonOpenValidationModal(\r\n\t\t\t\t\t\t\t\t\t\t\titem.id,\r\n\t\t\t\t\t\t\t\t\t\t\tanswer.reason,\r\n\t\t\t\t\t\t\t\t\t\t\tanswer.solution,\r\n\t\t\t\t\t\t\t\t\t\t\tanswer.periodSolution,\r\n\t\t\t\t\t\t\t\t\t\t\tanswer?.validateFileUrl\r\n\t\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t\t}>\r\n\t\t\t\t\t\t\t\t\tไม่ผ่านเกณฑ์\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{is5GArea ? \"ครบถ้วน\" : \"ผ่านเกณฑ์\"}\r\n\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t) : (\r\n\t\t\t\t<>\r\n\t\t\t)}\r\n\t\t\r\n\t)\r\n}\r\n","import { Grid, Input, Button } from '@material-ui/core'\r\nimport { findReportQuestion } from '../../../../../../data/standard-reportV2/find-report-question'\r\n\r\nexport default function SubLabelType3({\r\n\ttype,\r\n\titem,\r\n\tonFillForm,\r\n\tanswers,\r\n\tonOpenValidationModal,\r\n}) {\r\n\tconst label_name = item.label_name\r\n\tconst childs = item.childs\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{/* Region */}\r\n\t\t\t\r\n\t\t\t\t{label_name}\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t\t{childs.map((child, index) => (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{child.label}\r\n\t\t\t\t\t\r\n\t\t\t\t))}\r\n\t\t\t\r\n\r\n\t\t\t{/* Months */}\r\n\t\t\t\r\n\t\t\t\t{childs.map((child, index) => {\r\n\t\t\t\t\tconst answer = answers.find(ans => ans.dataSetItemID === child.id)\r\n\r\n\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tonFillForm(type, child.id, 'dataValueMonth1', e.target.value)\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\ttype=\"text\"\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t)\r\n\t\t\t\t})}\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t{childs.map((child, index) => {\r\n\t\t\t\t\tconst answer = answers.find(ans => ans.dataSetItemID === child.id)\r\n\r\n\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tonFillForm(type, child.id, 'dataValueMonth2', e.target.value)\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\ttype=\"text\"\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t)\r\n\t\t\t\t})}\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t{childs.map((child, index) => {\r\n\t\t\t\t\tconst answer = answers.find(ans => ans.dataSetItemID === child.id)\r\n\r\n\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tonFillForm(type, child.id, 'dataValueMonth3', e.target.value)\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\ttype=\"text\"\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t)\r\n\t\t\t\t})}\r\n\t\t\t\r\n\r\n\t\t\t{/* Average */}\r\n\t\t\t\r\n\t\t\t\t{childs.map((child, index) => {\r\n\t\t\t\t\tconst answer = answers.find(ans => ans.dataSetItemID === child.id)\r\n\r\n\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tonFillForm(type, child.id, 'dataValueMonthAvg', e.target.value)\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\ttype=\"text\"\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t)\r\n\t\t\t\t})}\r\n\t\t\t\r\n\r\n\t\t\t{/* Validation */}\r\n\t\t\t\r\n\t\t\t\t{childs.map((child, index) => {\r\n\t\t\t\t\tconst answer = answers.find(ans => ans.dataSetItemID === child.id)\r\n\t\t\t\t\tconst question = findReportQuestion(answer?.dataSetItemID)\r\n\r\n\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{(!answer?.dataValueMonth1 ||\r\n\t\t\t\t\t\t\t\t!answer?.dataValueMonth2 ||\r\n\t\t\t\t\t\t\t\t!answer?.dataValueMonth3) &&\r\n\t\t\t\t\t\t\t!answer?.isError ? null : answer?.isError === 'y' ? (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tonOpenValidationModal(\r\n\t\t\t\t\t\t\t\t\t\t\titem.id,\r\n\t\t\t\t\t\t\t\t\t\t\tanswer.reason,\r\n\t\t\t\t\t\t\t\t\t\t\tanswer.solution,\r\n\t\t\t\t\t\t\t\t\t\t\tanswer.periodSolution,\r\n\t\t\t\t\t\t\t\t\t\t\tanswer?.validateFileUrl,\r\n\t\t\t\t\t\t\t\t\t\t\tquestion?.no,\r\n\t\t\t\t\t\t\t\t\t\t\tquestion?.label\r\n\t\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t\t}>\r\n\t\t\t\t\t\t\t\t\tไม่ผ่านเกณฑ์\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tผ่านเกณฑ์\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)\r\n\t\t\t\t})}\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n","import { Grid, IconButton } from '@material-ui/core'\r\nimport { Archive } from '@material-ui/icons'\r\nimport { AuthenticatedLink } from 'components/AuthenticatedLink'\r\n\r\nexport default function File({ validateFileUrl , originalFileName }) {\r\n\treturn (\r\n\t\t\r\n\t\t\tดาวน์โหลดเอกสาร\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n","import { forwardRef, useEffect, useState } from 'react'\r\nimport {\r\n\tGrid,\r\n\tDialog,\r\n\tDialogContent,\r\n\tSlide,\r\n\tIconButton,\r\n\tDialogTitle,\r\n\tTextField,\r\n\tDivider,\r\n\tuseMediaQuery,\r\n} from '@material-ui/core'\r\nimport 'date-fns'\r\nimport DateFnsUtils from '@date-io/date-fns'\r\nimport {\r\n\tMuiPickersUtilsProvider,\r\n\tKeyboardDatePicker,\r\n} from '@material-ui/pickers'\r\nimport { useTheme } from '@material-ui/core/styles'\r\nimport { Close } from '@material-ui/icons'\r\n\r\nimport File from './file'\r\n\r\nexport default function ValidationModal({\r\n\topen = false,\r\n\tcurrentSelectedError = {\r\n\t\tdataSetItemID: '',\r\n\t\treason: '',\r\n\t\tsolution: '',\r\n\t\tperiodSolution: new Date(),\r\n\t\tvalidateFileUrl: null,\r\n\t\tno: '',\r\n\t\tlabel: '',\r\n\t},\r\n\tonClose,\r\n}) {\r\n\tconst theme = useTheme()\r\n\tconst fullScreen = useMediaQuery(theme.breakpoints.down('sm'))\r\n\r\n\tconst [invalidInputMethod, setInvalidInputMethod] = useState('message')\r\n\r\n\tuseEffect(() => {\r\n\t\tif (currentSelectedError.validateFileUrl) {\r\n\t\t\tsetInvalidInputMethod('attach')\r\n\t\t} else {\r\n\t\t\tsetInvalidInputMethod('message')\r\n\t\t}\r\n\t}, [currentSelectedError])\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tผลการประเมิน\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t<>\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{currentSelectedError?.no} {currentSelectedError?.label}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\r\n\t\t\t\t{invalidInputMethod === 'message' && (\r\n\t\t\t\t\t<>\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{/* Reason */}\r\n\t\t\t\t\t\t\tเหตุผล*\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{/* How to solve */}\r\n\t\t\t\t\t\t\tวิธีการแก้ไข*\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{/* Duration */}\r\n\t\t\t\t\t\t\tระยะเวลาการแก้ไข*\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t\t{invalidInputMethod === 'attach' && (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n\r\nconst Transition = forwardRef(function Transtition(props, ref) {\r\n\treturn \r\n})\r\n","import { useState, useEffect } from 'react'\r\nimport { useReduceForm } from '../../../../../utils/useReduceForm'\r\nimport {\r\n\tGrid,\r\n\tCard,\r\n\tCardContent,\r\n\tDivider,\r\n\tuseMediaQuery,\r\n} from '@material-ui/core'\r\nimport { useTheme, makeStyles } from '@material-ui/styles'\r\n\r\nimport TwoPointThreeSubHeader from './two-point-three-header/index'\r\nimport ExcelSubHeader from './sub-header'\r\nimport SubLabelType1 from './sub-label-1'\r\nimport SubLabelType2 from './sub-label-2'\r\nimport SubLabelType3 from './sub-label-3'\r\nimport ValidationModal from '../validation-modal'\r\n\r\nimport { fixed_general_details } from '../../../../../data/standard-reportV2/fixed-general'\r\nimport { fixed_info_details } from '../../../../../data/standard-reportV2/fixed-info'\r\nimport { fixed_sound_details } from '../../../../../data/standard-reportV2/fixed-sound'\r\nimport { mobile_general_details } from '../../../../../data/standard-reportV2/mobile-general'\r\nimport { mobile_info_details } from '../../../../../data/standard-reportV2/mobile-info'\r\nimport { mobile_sound_details } from '../../../../../data/standard-reportV2/mobile-sound'\r\nimport { canceledListDetailNo } from 'data/standard-reportV2/canceledList'\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n\tform_container: {\r\n\t\twidth: '700px',\r\n\t\toverflow: 'scroll',\r\n\t},\r\n}))\r\n\r\nexport default function StandardReportForm({\r\n\t// Main Component's State\r\n\tflags,\r\n\tpreField,\r\n\ttype,\r\n\tonFillForm,\r\n\t// Standard Report Answers\r\n\tfixedGeneralAnswers,\r\n\tfixedInfoAnswers,\r\n\tfixedSoundAnswers,\r\n\tmobileGeneralAnswers,\r\n\tmobileInfoAnswers,\r\n\tmobileSoundAnswers,\r\n\t// Validation\r\n\tcurrentSelectedError,\r\n\topenValidationModal,\r\n\tonOpenValidationModal,\r\n\tonCloseValidationModal,\r\n\t// Flags\r\n\toperatorFlag,\r\n}) {\r\n\tconst classes = useStyles()\r\n\tconst [report, setReport] = useState([])\r\n\tconst [reportName, setReportName] = useState('')\r\n\tconst [answers, setAnswers] = useState([])\r\n\tconst theme = useTheme()\r\n\tconst isMobile = useMediaQuery(theme.breakpoints.down('sm'))\r\n\tconst { form } = useReduceForm(report)\r\n\tconst nvmo_no = ['2.1.4', '2.1.5', '2.1.6']\r\n\r\n\tuseEffect(() => {\r\n\t\tif (type === 'fixed-general') setReport(fixed_general_details)\r\n\t\telse if (type === 'fixed-sound') setReport(fixed_sound_details)\r\n\t\telse if (type === 'fixed-info') setReport(fixed_info_details)\r\n\t\telse if (type === 'mobile-general') setReport(mobile_general_details)\r\n\t\telse if (type === 'mobile-sound') setReport(mobile_sound_details)\r\n\t\telse if (type === 'mobile-info') setReport(mobile_info_details)\r\n\r\n\t\tif (type === 'fixed-general')\r\n\t\t\tsetReportName('ส่วนที่ 1 ค่าชี้วัดคุณภาพบริการทั่วไป')\r\n\t\telse if (type === 'fixed-sound')\r\n\t\t\tsetReportName('ส่วนที่ 2 ค่าชี้วัดคุณภาพบริการประเภทเสียง')\r\n\t\telse if (type === 'fixed-info')\r\n\t\t\tsetReportName('ส่วนที่ 3 ค่าชี้วัดคุณภาพบริการประเภทข้อมูล')\r\n\t\telse if (type === 'mobile-general')\r\n\t\t\tsetReportName('ส่วนที่ 1 ค่าชี้วัดคุณภาพบริการทั่วไป')\r\n\t\telse if (type === 'mobile-sound')\r\n\t\t\tsetReportName('ส่วนที่ 2 ค่าชี้วัดคุณภาพบริการประเภทเสียง')\r\n\t\telse if (type === 'mobile-info')\r\n\t\t\tsetReportName('ส่วนที่ 3 ค่าชี้วัดคุณภาพบริการประเภทข้อมูล')\r\n\t}, [type])\r\n\r\n\tuseEffect(() => {\r\n\t\tconst tempAnswers = [\r\n\t\t\t...fixedGeneralAnswers,\r\n\t\t\t...fixedInfoAnswers,\r\n\t\t\t...fixedSoundAnswers,\r\n\t\t\t...mobileGeneralAnswers,\r\n\t\t\t...mobileInfoAnswers,\r\n\t\t\t...mobileSoundAnswers,\r\n\t\t]\r\n\t\tsetAnswers(tempAnswers)\r\n\t}, [\r\n\t\tfixedGeneralAnswers,\r\n\t\tfixedInfoAnswers,\r\n\t\tfixedSoundAnswers,\r\n\t\tmobileGeneralAnswers,\r\n\t\tmobileInfoAnswers,\r\n\t\tmobileSoundAnswers,\r\n\t])\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t\r\n\t\t\t\t{reportName}\r\n\t\t\t\t\r\n\t\t\t\t\tไม่ต้องกำหนดข้อมูล ถ้าท่านไม่มีการให้บริการในข้อใด หรือ\r\n\t\t\t\t\tรายละเอียดของชุดข้อมูลนั้นๆ\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{form.map((detail, index) => {\r\n\t\t\t\t\t\t\tconst isNeedAnswer = detail.isNeedAnswer\r\n\t\t\t\t\t\t\tconst sub_label_type = detail.sub_labels.sub_label_type\r\n\t\t\t\t\t\t\tconst labels = detail.sub_labels.labels\r\n\t\t\t\t\t\t\tconst isNVMO = flags?.NVMO && nvmo_no.includes(detail.no)\r\n\t\t\t\t\t\t\tconst isPayPhone = operatorFlag?.isPayphone\r\n\t\t\t\t\t\t\tconst is2G = operatorFlag?.is2G\r\n\t\t\t\t\t\t\tconst isTwoPointThree = detail.no.includes('2.3.' || '2.2.')\r\n\t\t\t\t\t\t\tconst canceledList = canceledListDetailNo\r\n\t\t\t\t\t\t\t// if detail no in cancledListDetailNo\r\n\t\t\t\t\t\t\tif (canceledList.includes(detail.no)) {\r\n\t\t\t\t\t\t\t\treturn <>\r\n\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\tif (detail.no !== '1.1.7')\r\n\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{/* Header */}\r\n\t\t\t\t\t\t\t\t\t\tข้อ\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\tค่าชี้วัดคุณภาพบริการ\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tค่าเป้าหมาย\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\tเงื่อนไขการกรอกข้อมูล\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{/* Divider */}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{/* Questions */}\r\n\t\t\t\t\t\t\t\t\t\t{/* ข้อ */}\r\n\t\t\t\t\t\t\t\t\t\t{detail.no}\r\n\t\t\t\t\t\t\t\t\t\t{/* ค่าชี้วัดคุณภาพบริการ */}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{detail.label}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{/* ค่าเป้าหมาย */}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{detail.targeted_text.map((item, index) => {\r\n\t\t\t\t\t\t\t\t\t\t\t\tconst matchedLabel = labels[index]\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\tif (sub_label_type === 2 && matchedLabel) {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tif (matchedLabel.label.includes('2G') && !is2G)\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\treturn <>\r\n\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\treturn {item}\r\n\t\t\t\t\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{/* เงื่อนไชการกรอกข้อมูล */}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t*{detail.filling_condition}\r\n\t\t\t\t\t\t\t\t\t\t\t{isNVMO && * มี MVNO}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{/* รายละเอียดชุดข้อมูล */}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{/* Header */}\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\tผลการวัด\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{/* Two Point Three Sub Header */}\r\n\t\t\t\t\t\t\t\t\t\t\t{isTwoPointThree && (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t{/* Sub Header */}\r\n\t\t\t\t\t\t\t\t\t\t\t{isNeedAnswer && (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t{/* Content */}\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t{/* Sub Label Type 1 */}\r\n\t\t\t\t\t\t\t\t\t\t\t{isNeedAnswer && sub_label_type === 1 && (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t{/* Sub Label Type 2 */}\r\n\t\t\t\t\t\t\t\t\t\t\t{isNeedAnswer &&\r\n\t\t\t\t\t\t\t\t\t\t\t\tsub_label_type === 2 &&\r\n\t\t\t\t\t\t\t\t\t\t\t\tlabels.map((item, index) => (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t))}\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t{/* Sub Label Type 3 */}\r\n\t\t\t\t\t\t\t\t\t\t\t{isNeedAnswer &&\r\n\t\t\t\t\t\t\t\t\t\t\t\tsub_label_type === 3 &&\r\n\t\t\t\t\t\t\t\t\t\t\t\tlabels.map(item => (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)\r\n\r\n\t\t\t\t\t\t\tif (detail.no === '1.1.7' && isPayPhone)\r\n\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{/* Header */}\r\n\t\t\t\t\t\t\t\t\t\tข้อ\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\tค่าชี้วัดคุณภาพบริการ\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tค่าเป้าหมาย\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\tเงื่อนไขการกรอกข้อมูล\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{/* Divider */}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{/* Questions */}\r\n\t\t\t\t\t\t\t\t\t\t{/* ข้อ */}\r\n\t\t\t\t\t\t\t\t\t\t{detail.no}\r\n\t\t\t\t\t\t\t\t\t\t{/* ค่าชี้วัดคุณภาพบริการ */}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{detail.label}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{/* ค่าเป้าหมาย */}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{detail.targeted_text.map((item, index) => (\r\n\t\t\t\t\t\t\t\t\t\t\t\t{item}\r\n\t\t\t\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{/* เงื่อนไชการกรอกข้อมูล */}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t*{detail.filling_condition}\r\n\t\t\t\t\t\t\t\t\t\t\t{isNVMO && * มี MVNO}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{/* รายละเอียดชุดข้อมูล */}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{/* Header */}\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\tผลการวัด\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{/* Sub Header */}\r\n\t\t\t\t\t\t\t\t\t\t\t{isNeedAnswer && (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t{/* Content */}\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t{/* Sub Label Type 1 */}\r\n\t\t\t\t\t\t\t\t\t\t\t{isNeedAnswer && sub_label_type === 1 && (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t{/* Sub Label Type 2 */}\r\n\t\t\t\t\t\t\t\t\t\t\t{isNeedAnswer &&\r\n\t\t\t\t\t\t\t\t\t\t\t\tsub_label_type === 2 &&\r\n\t\t\t\t\t\t\t\t\t\t\t\tlabels.map((item, index) => (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t))}\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t{/* Sub Label Type 3 */}\r\n\t\t\t\t\t\t\t\t\t\t\t{isNeedAnswer &&\r\n\t\t\t\t\t\t\t\t\t\t\t\tsub_label_type === 3 &&\r\n\t\t\t\t\t\t\t\t\t\t\t\tlabels.map(item => (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)\r\n\r\n\t\t\t\t\t\t\treturn <>\r\n\t\t\t\t\t\t})}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n","import { useEffect } from 'react'\r\nimport { Card, CardContent, Grid, Divider } from '@material-ui/core'\r\nimport { Place, DirectionsWalk } from '@material-ui/icons'\r\n\r\nimport StandardReportForm from './excel'\r\n\r\nexport default function ReportCard({\r\n\t// Main Component's State\r\n\tflags,\r\n\ttype,\r\n\tpreField,\r\n\tonFillForm,\r\n\t// Standard Report Answers\r\n\tfixedGeneralAnswers,\r\n\tfixedInfoAnswers,\r\n\tfixedSoundAnswers,\r\n\tmobileGeneralAnswers,\r\n\tmobileInfoAnswers,\r\n\tmobileSoundAnswers,\r\n\t// Validation\r\n\tcurrentSelectedError,\r\n\topenValidationModal,\r\n\tonOpenValidationModal,\r\n\tonCloseValidationModal,\r\n\t// Flags\r\n\toperatorFlag,\r\n}) {\r\n\tuseEffect(() => {\r\n\t\twindow.scrollTo(0, 0)\r\n\t}, [type])\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{type.includes('fixed') ? (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t{type.includes('fixed') ? (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tแบบประจำที่ (Fixed)\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tแบบเคลื่อนที่ (Mobile)\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n","import { Grid } from '@material-ui/core'\r\n\r\nimport ReportCard from '../form'\r\n\r\nexport default function StandardReportStep2({\r\n\tlist,\r\n\tcurrentFilledFormIndex,\r\n\t// Standard Report Answers\r\n\tfixedGeneralAnswers,\r\n\tfixedInfoAnswers,\r\n\tfixedSoundAnswers,\r\n\tmobileGeneralAnswers,\r\n\tmobileInfoAnswers,\r\n\tmobileSoundAnswers,\r\n\t// Validation\r\n\tcurrentSelectedError,\r\n\topenValidationModal,\r\n\tonOpenValidationModal,\r\n\tonCloseValidationModal,\r\n\t// Flags\r\n\toperatorFlag,\r\n}) {\r\n\treturn (\r\n\t\t<>\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n","import { useState, useEffect } from 'react'\r\nimport {\r\n\tCard,\r\n\tCardContent,\r\n\tGrid,\r\n\tDivider,\r\n\tRadioGroup,\r\n\tFormControlLabel,\r\n\tRadio,\r\n\tTextField,\r\n} from '@material-ui/core'\r\nimport { PlaylistAddCheck } from '@material-ui/icons'\r\n\r\nimport { adminQoS } from 'api/index'\r\n\r\nexport default function StandardReportStep3({\r\n\tchangeValidationStep3,\r\n\tselectSignature,\r\n\trejectReason,\r\n\tsetRejectReason,\r\n}) {\r\n\t// eslint-disable-next-line\r\n\tconst [signature, setSignature] = useState([])\r\n\t// eslint-disable-next-line\r\n\tconst [selected, setSelected] = useState('')\r\n\tconst [reportMethod, setReportMethod] = useState('accept')\r\n\r\n\tconst onChangeRadio = e => {\r\n\t\tsetReportMethod(e.target.value)\r\n\t}\r\n\r\n\tconst onChangeRejectReason = e => {\r\n\t\tsetRejectReason(e.target.value)\r\n\t}\r\n\r\n\tuseEffect(() => {\r\n\t\tif (reportMethod === 'reject' && rejectReason === '') {\r\n\t\t\tchangeValidationStep3(true)\r\n\t\t} else {\r\n\t\t\tchangeValidationStep3(false)\r\n\t\t}\r\n\t}, [reportMethod, rejectReason, changeValidationStep3])\r\n\r\n\tuseEffect(() => {\r\n\t\tadminQoS.getSignature().then(e => {\r\n\t\t\tsetSignature(e)\r\n\t\t})\r\n\t}, [])\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tตรวจสอบข้อมูล\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t} label=\"ผ่าน\" />\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tlabel=\"ไม่ผ่าน\"\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\r\n\t\t\t\t\t{reportMethod === 'reject' ? (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{/* \r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t-- กรุณาเลือกผู้มีอำนาจลงนาม --\r\n\t\t\t\t\t\t\t\t\t{signature.map(e=>({e.firstname ?? ''} {e.lastname ?? ''}))}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t */}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n","import Step1 from './step-1'\r\nimport Step2 from './step-2'\r\nimport Step3 from './step-3'\r\n\r\nexport default function getStepContent(\r\n\tstep,\r\n\tchangeValidationStep3,\r\n\tselectSignature,\r\n\trowData,\r\n\t// Standard Report State\r\n\treportTypes,\r\n\tcurrentFilledFormIndex,\r\n\t// Standard Report Answers\r\n\tfixedGeneralAnswers,\r\n\tfixedInfoAnswers,\r\n\tfixedSoundAnswers,\r\n\tmobileGeneralAnswers,\r\n\tmobileInfoAnswers,\r\n\tmobileSoundAnswers,\r\n\tdataSetFilesUpload,\r\n\t// Validation\r\n\tcurrentSelectedError,\r\n\topenValidationModal,\r\n\tonOpenValidationModal,\r\n\tonCloseValidationModal,\r\n\t// Flags\r\n\toperatorFlag,\r\n\t// Reject Reason\r\n\trejectReason,\r\n\tsetRejectReason\r\n) {\r\n\tswitch (step) {\r\n\t\tcase 0:\r\n\t\t\treturn \r\n\t\tcase 1:\r\n\t\t\treturn (\r\n\t\t\t\t\r\n\t\t\t)\r\n\t\tcase 2:\r\n\t\t\treturn (\r\n\t\t\t\t\r\n\t\t\t)\r\n\t\tdefault:\r\n\t\t\treturn 'Unknown step'\r\n\t}\r\n}\r\n","import React, { useState, useEffect, useCallback, useMemo } from 'react'\r\nimport { useHistory } from 'react-router'\r\nimport {\r\n\tGrid,\r\n\tTypography,\r\n\tStep,\r\n\tStepper,\r\n\tStepConnector,\r\n\tStepLabel,\r\n\tButton,\r\n} from '@material-ui/core'\r\nimport { Description, Spellcheck, Check, Assignment } from '@material-ui/icons'\r\nimport { convertNumber } from 'utils/convertExcelNumber'\r\nimport SomethingWentWrongModal from '@components/users/standard-report-validation/something-went-wrong-modal'\r\nimport SendingStandardReportModalSuccess from '../../../../components/admin/standard-report/modal'\r\n\r\nimport { useParams } from 'react-router-dom'\r\nimport getStepContent from '../../../../components/admin/standard-report/index'\r\nimport { makeStyles, withStyles } from '@material-ui/core/styles'\r\nimport clsx from 'clsx'\r\nimport PropTypes from 'prop-types'\r\nimport { useStoreRehydrated } from '../../../../store'\r\nimport { datasetRecord } from '../../../../api/index'\r\nimport { useLoaded } from '../../../../utils/useLoaded'\r\nimport { format } from 'date-fns'\r\nconst nonFloatDataSetItemIDs = [\r\n\t337,\r\n\t338,\r\n\t339,\r\n\t340,\r\n\t341,\r\n\t342,\r\n\t343,\r\n];\r\nconst useStyles = makeStyles(theme => ({\r\n\troot: {\r\n\t\twidth: '100%',\r\n\t},\r\n\tbutton: {\r\n\t\tmarginRight: theme.spacing(1),\r\n\t},\r\n\tinstructions: {\r\n\t\tmarginTop: theme.spacing(1),\r\n\t\tmarginBottom: theme.spacing(1),\r\n\t},\r\n\tnon_approve_button: {\r\n\t\tbackgroundColor: '#c33939',\r\n\t\tcolor: 'white',\r\n\t\t'&:hover': {\r\n\t\t\tbackgroundColor: '#a33e3e',\r\n\t\t},\r\n\t},\r\n}))\r\n\r\nconst Connector = withStyles({\r\n\talternativeLabel: {\r\n\t\ttop: 22,\r\n\t},\r\n\tactive: {\r\n\t\t'& $line': {\r\n\t\t\tbackgroundColor: '#a74345',\r\n\t\t},\r\n\t},\r\n\tcompleted: {\r\n\t\t'& $line': {\r\n\t\t\tbackgroundColor: '#a74345',\r\n\t\t},\r\n\t},\r\n\tline: {\r\n\t\theight: 3,\r\n\t\tborder: 0,\r\n\t\tbackgroundColor: '#eaeaf0',\r\n\t\tborderRadius: 1,\r\n\t},\r\n})(StepConnector)\r\n\r\nconst useStepStyles = makeStyles({\r\n\troot: {\r\n\t\tbackgroundColor: '#ccc',\r\n\t\tzIndex: 1,\r\n\t\tcolor: '#fff',\r\n\t\twidth: 50,\r\n\t\theight: 50,\r\n\t\tdisplay: 'flex',\r\n\t\tborderRadius: '50%',\r\n\t\tjustifyContent: 'center',\r\n\t\talignItems: 'center',\r\n\t},\r\n\tactive: {\r\n\t\tbackgroundColor: '#a74345',\r\n\t\tboxShadow: '0 4px 10px 0 rgba(0,0,0,.25)',\r\n\t},\r\n\tcompleted: {\r\n\t\tbackgroundColor: '#a74345',\r\n\t},\r\n})\r\n\r\nfunction getSteps() {\r\n\treturn ['รายละเอียดการส่ง', 'รายละเอียดรายงาน', 'อนุมัติข้อมูล']\r\n}\r\n\r\nexport default function StandardReportValidationDetails({ match }) {\r\n\tconst isReHydrated = useStoreRehydrated()\r\n\tconst history = useHistory()\r\n\tconst { id } = useParams()\r\n\tconst classes = useStyles()\r\n\tconst steps = getSteps()\r\n\tconst [activeStep, setActiveStep] = useState(0)\r\n\tconst [validateStep3, setValidateStep3] = useState(false)\r\n\tconst [openStandardReportSuccessModal, setOpenStandardReportSuccessModal] =\r\n\t\tuseState(false)\r\n\t// Type of Standard Report\r\n\tconst [reportTypes, setReportTypes] = useState([])\r\n\t// Current Page of Required Filled Standard Report Form\r\n\tconst [currentFilledFormIndex, setCurrentFilledFormIndex] = useState(0)\r\n\t// Standard Report Form Answers\r\n\tconst [fixedGeneralAnswers, setFixedGeneralAnswers] = useState([])\r\n\tconst [fixedInfoAnswers, setFixedInfoAnswers] = useState([])\r\n\tconst [fixedSoundAnswers, setFixedSoundAnswers] = useState([])\r\n\tconst [mobileGeneralAnswers, setMobileGeneralAnswers] = useState([])\r\n\tconst [mobileInfoAnswers, setMobileInfoAnswers] = useState([])\r\n\tconst [mobileSoundAnswers, setMobileSoundAnswers] = useState([])\r\n\tconst loaded = useLoaded()\r\n\tconst [dataSetFilesUpload, setDataSetFilesUpload] = useState({})\r\n\tconst [signature, setSignature] = useState(null)\r\n\r\n\tconst [operatorFlag, setOperatorFlag] = useState({\r\n\t\tisPayphone: null,\r\n\t\tis2G: null,\r\n\t})\r\n\tconst [currentSelectedError, setCurrentSelectedError] = useState({\r\n\t\tdataSetItemID: '',\r\n\t\treason: '',\r\n\t\tsolution: '',\r\n\t\tperiodSolution: '',\r\n\t\tvalidateFileUrl: null,\r\n\t\tno: '',\r\n\t\tlabel: '',\r\n\t})\r\n\tconst [openValidationModal, setOpenValidationModal] = useState(false)\r\n\tconst [openSomethingWentWrongModal, setSomethingWentWrongModal] =\r\n\t\tuseState(false)\r\n\tconst [documentStatusID, setDocumentStatusID] = useState(0)\r\n\r\n\tconst [rejectReason, setRejectReason] = useState('')\r\n\r\n\t/** ---------------------------------------------- */\r\n\r\n\t/** Main Handler Function */\r\n\r\n\tconst onOpenStandardReportSuccessModal = () =>\r\n\t\tsetOpenStandardReportSuccessModal(!openStandardReportSuccessModal)\r\n\r\n\tconst onAgreeStandardReportSuccessModalCTA = () => {\r\n\t\tonOpenStandardReportSuccessModal()\r\n\t\thistory.push({\r\n\t\t\tpathname: '/admin/standard-report',\r\n\t\t})\r\n\t}\r\n\r\n\tconst changeValidationStep3 = tempValidation => {\r\n\t\tsetValidateStep3(tempValidation)\r\n\t}\r\n\r\n\tconst selectSignature = ID => {\r\n\t\tsetSignature(ID)\r\n\t}\r\n\r\n\tconst handleNext = () => {\r\n\t\tsetActiveStep(prevActiveStep => prevActiveStep + 1)\r\n\t}\r\n\r\n\tconst handleBack = () => {\r\n\t\tsetActiveStep(prevActiveStep => prevActiveStep - 1)\r\n\t}\r\n\r\n\tconst changeStatusReportHead = async () => {\r\n\t\t// if(!signature){\r\n\t\t// \talert(\"กรุณาแนบลายเซนต์\");\r\n\t\t// \treturn false;\r\n\t\t// }\r\n\t\tconst { status } = await datasetRecord.changeStatusReportHeadAdmin(\r\n\t\t\tid,\r\n\t\t\t5,\r\n\t\t\tsignature,\r\n\t\t\trejectReason\r\n\t\t)\r\n\t\tif (status === 200) onOpenStandardReportSuccessModal()\r\n\t}\r\n\r\n\tfunction StepperIcon(props) {\r\n\t\tconst classes = useStepStyles()\r\n\t\tconst { active, completed } = props\r\n\r\n\t\tconst icons = {\r\n\t\t\t1: ,\r\n\t\t\t2: ,\r\n\t\t\t3: ,\r\n\t\t}\r\n\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t{completed ? : icons[String(props.icon)]}\r\n\t\t\t
\r\n\t\t)\r\n\t}\r\n\r\n\tStepperIcon.propTypes = {\r\n\t\tactive: PropTypes.bool,\r\n\t\tcompleted: PropTypes.bool,\r\n\t\ticon: PropTypes.node,\r\n\t}\r\n\r\n\tconst [rowData, setRowData] = useState({})\r\n\r\n\tconst onLanding = useCallback(async () => {\r\n\t\tconst res = await datasetRecord.getListDetailsAdmin(id)\r\n\r\n\t\tconst tempFixedGeneralAnswers = []\r\n\t\tconst tempFixedSoundAnswers = []\r\n\t\tconst tempFixedInfoAnswers = []\r\n\t\tconst tempMobileGeneralAnswers = []\r\n\t\tconst tempMobileSoundAnswers = []\r\n\t\tconst tempMobileInfoAnswers = []\r\n\r\n\t\t/**\r\n\t\t * Answer Object Example:\r\n\t\t * {\r\n\t\t * \tdataSetItemID: Integer,\r\n\t\t * dataValueMonth1: String,\r\n\t\t * dataValueMonth2: String,\r\n\t\t * dataValueMonth3: String,\r\n\t\t * dataValueMonthAvg: String,\r\n\t\t * \t\treason: String,\r\n\t\t * \t\tsolution: String,\r\n\t\t * \t\tperiodSolution: String,\r\n\t\t * \t\tvalidateFileUrl: String\r\n\t\t * }\r\n\t\t */\r\n\r\n\t\tif (res) {\r\n\t\t\t// Flags\r\n\t\t\tsetOperatorFlag({\r\n\t\t\t\tisPayphone: res?.info?.isPayphone,\r\n\t\t\t\tis2G: res?.info?.is2G,\r\n\t\t\t})\r\n\r\n\t\t\t// ANSWERS\r\n\r\n\t\t\tres.data.forEach(item => {\r\n\t\t\t\tvar newitem = {};\r\n\t\t\t\tif (nonFloatDataSetItemIDs.includes(item.dataSetItemID)) {\r\n\t\t\t\t\tnewitem = {\r\n\t\t\t\t\t\tdataSetItemID: item.dataSetItemID,\r\n\t\t\t\t\t\tdataValueMonth1: item.dataValueMonth1\r\n\t\t\t\t\t\t\t? item.dataValueMonth1\r\n\t\t\t\t\t\t\t: '',\r\n\t\t\t\t\t\tdataValueMonth2: item.dataValueMonth2\r\n\t\t\t\t\t\t\t? item.dataValueMonth1\r\n\t\t\t\t\t\t\t: '',\r\n\t\t\t\t\t\tdataValueMonth3: item.dataValueMonth3\r\n\t\t\t\t\t\t\t? item.dataValueMonth3\r\n\t\t\t\t\t\t\t: '',\r\n\t\t\t\t\t\tdataValueMonthAvg: item.dataValueMonthAvg\r\n\t\t\t\t\t\t\t? item.dataValueMonthAvg\r\n\t\t\t\t\t\t\t: '',\r\n\t\t\t\t\t\tdataValueExtra: item.dataValueExtra\r\n\t\t\t\t\t\t\t? item.dataValueExtra\r\n\t\t\t\t\t\t\t: '',\r\n\t\t\t\t\t}\r\n\t\t\t\t} else {\r\n\t\t\t\t\tnewitem = {\r\n\t\t\t\t\t\t...item,\r\n\t\t\t\t\t\tdataSetItemID: item.dataSetItemID,\r\n\t\t\t\t\t\tdataValueMonth1: item.dataValueMonth1\r\n\t\t\t\t\t\t\t? convertNumber(item.dataValueMonth1, true)\r\n\t\t\t\t\t\t\t: '',\r\n\t\t\t\t\t\tdataValueMonth2: item.dataValueMonth2\r\n\t\t\t\t\t\t\t? convertNumber(item.dataValueMonth2, true)\r\n\t\t\t\t\t\t\t: '',\r\n\t\t\t\t\t\tdataValueMonth3: item.dataValueMonth3\r\n\t\t\t\t\t\t\t? convertNumber(item.dataValueMonth3, true)\r\n\t\t\t\t\t\t\t: '',\r\n\t\t\t\t\t\tdataValueMonthAvg: item.dataValueMonthAvg\r\n\t\t\t\t\t\t\t? convertNumber(item.dataValueMonthAvg, true)\r\n\t\t\t\t\t\t\t: '',\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tif (item.dataSetItemID <= 10) tempFixedGeneralAnswers.push(newitem)\r\n\t\t\t\telse if (item.dataSetItemID <= 20) tempFixedSoundAnswers.push(newitem)\r\n\t\t\t\telse if (item.dataSetItemID <= 30) tempFixedInfoAnswers.push(newitem)\r\n\t\t\t\telse if (item.dataSetItemID <= 40)\r\n\t\t\t\t\ttempMobileGeneralAnswers.push(newitem)\r\n\t\t\t\telse if (item.dataSetItemID <= 200) tempMobileSoundAnswers.push(newitem)\r\n\t\t\t\telse if (item.dataSetItemID > 200) tempMobileInfoAnswers.push(newitem)\r\n\t\t\t})\r\n\r\n\t\t\tlet tempReportTypes = []\r\n\r\n\t\t\tif (tempFixedGeneralAnswers.length !== 0)\r\n\t\t\t\ttempReportTypes.push('fixed-general')\r\n\r\n\t\t\tif (tempFixedSoundAnswers.length !== 0)\r\n\t\t\t\ttempReportTypes.push('fixed-sound')\r\n\r\n\t\t\tif (tempFixedInfoAnswers.length !== 0) tempReportTypes.push('fixed-info')\r\n\r\n\t\t\tif (tempMobileGeneralAnswers.length !== 0)\r\n\t\t\t\ttempReportTypes.push('mobile-general')\r\n\r\n\t\t\tif (tempMobileSoundAnswers.length !== 0)\r\n\t\t\t\ttempReportTypes.push('mobile-sound')\r\n\r\n\t\t\tif (tempMobileInfoAnswers.length !== 0)\r\n\t\t\t\ttempReportTypes.push('mobile-info')\r\n\r\n\t\t\t// setFormAmount(tempFormAmount)\r\n\t\t\tsetReportTypes(tempReportTypes)\r\n\r\n\t\t\tsetFixedGeneralAnswers(tempFixedGeneralAnswers)\r\n\t\t\tsetFixedSoundAnswers(tempFixedSoundAnswers)\r\n\t\t\tsetFixedInfoAnswers(tempFixedInfoAnswers)\r\n\t\t\tsetMobileGeneralAnswers(tempMobileGeneralAnswers)\r\n\t\t\tsetMobileSoundAnswers(tempMobileSoundAnswers)\r\n\t\t\tsetMobileInfoAnswers(tempMobileInfoAnswers)\r\n\r\n\t\t\t// DATA SET FILES UPLOAD\r\n\t\t\tconst tempFiles = {}\r\n\r\n\t\t\tres.files.forEach(file => {\r\n\t\t\t\tif (!tempFiles[file.category]) tempFiles[file.category] = []\r\n\r\n\t\t\t\ttempFiles[file.category].push(file)\r\n\t\t\t})\r\n\r\n\t\t\tif (res?.files?.length === 0 && res?.data?.length === 0)\r\n\t\t\t\tsetSomethingWentWrongModal(true)\r\n\r\n\t\t\tsetDataSetFilesUpload(tempFiles)\r\n\r\n\t\t\tlet rowDataTemp = {\r\n\t\t\t\tname: res.info.operatorUserName,\r\n\t\t\t\tcompanyName: res.info.operatorName,\r\n\t\t\t\tsubmit_date: format(new Date(res.info.sendToAdminAt), 'dd/MM/yyyy'),\r\n\t\t\t\tstatus: res.info.status,\r\n\t\t\t\tdataTypeList: res.info.reportType,\r\n\t\t\t\tattachSendToAdminFile: res.info.attachSendToAdminFile,\r\n\t\t\t}\r\n\t\t\tsetRowData(rowDataTemp)\r\n\r\n\t\t\tsetDocumentStatusID(res.info.statusID)\r\n\t\t}\r\n\t}, [id])\r\n\r\n\t/** ---------------------------------------------- */\r\n\r\n\t/** Step 2 */\r\n\r\n\tconst onIncrementCurrentFilledFormIndex = () =>\r\n\t\tsetCurrentFilledFormIndex(currentFilledFormIndex + 1)\r\n\r\n\tconst onDecrementCurrentFilledFormIndex = () =>\r\n\t\tsetCurrentFilledFormIndex(currentFilledFormIndex - 1)\r\n\r\n\tconst onOpenValidationModal = (\r\n\t\tdataSetItemID,\r\n\t\treason,\r\n\t\tsolution,\r\n\t\tperiodSolution,\r\n\t\tvalidateFileUrl,\r\n\t\tno,\r\n\t\tlabel\r\n\t) => {\r\n\t\tsetCurrentSelectedError({\r\n\t\t\tdataSetItemID,\r\n\t\t\treason,\r\n\t\t\tsolution,\r\n\t\t\tperiodSolution,\r\n\t\t\tvalidateFileUrl,\r\n\t\t\tno,\r\n\t\t\tlabel,\r\n\t\t})\r\n\r\n\t\tsetOpenValidationModal(true)\r\n\t}\r\n\r\n\tconst onCloseValidationModal = () => setOpenValidationModal(false)\r\n\r\n\t/** ---------------------------------------------- */\r\n\r\n\t/** Main Rendering */\r\n\r\n\tuseEffect(() => {\r\n\t\twindow.scrollTo(0, 0)\r\n\t}, [])\r\n\r\n\tuseEffect(() => {\r\n\t\tif (isReHydrated) onLanding()\r\n\t\t// eslint-disable-next-line\r\n\t}, [isReHydrated])\r\n\r\n\tconst isRenderCTARight = useMemo(() => {\r\n\t\tif (\r\n\t\t\tdocumentStatusID === 1 ||\r\n\t\t\tdocumentStatusID === 2 ||\r\n\t\t\tdocumentStatusID === 3 ||\r\n\t\t\tdocumentStatusID === 5\r\n\t\t) {\r\n\t\t\tif (\r\n\t\t\t\tactiveStep === steps.length - 1 &&\r\n\t\t\t\tcurrentFilledFormIndex === reportTypes.length - 1\r\n\t\t\t)\r\n\t\t\t\treturn false\r\n\t\t\telse return true\r\n\t\t}\r\n\r\n\t\treturn true\r\n\t}, [documentStatusID, currentFilledFormIndex, activeStep, steps, reportTypes])\r\n\r\n\tuseEffect(() => {\r\n\t\tif (documentStatusID === 5) history.push('/admin/standard-report')\r\n\t}, [documentStatusID, history])\r\n\r\n\t/** ---------------------------------------------- */\r\n\r\n\treturn (\r\n\t\tloaded && (\r\n\t\t\t<>\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t}>\r\n\t\t\t\t\t\t\t{steps.map((label, index) => (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{label}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{activeStep === steps.length ? (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tAll steps completed - you're finished\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{getStepContent(\r\n\t\t\t\t\t\t\t\t\t\t\t\tactiveStep,\r\n\t\t\t\t\t\t\t\t\t\t\t\tchangeValidationStep3,\r\n\t\t\t\t\t\t\t\t\t\t\t\tselectSignature,\r\n\t\t\t\t\t\t\t\t\t\t\t\trowData,\r\n\t\t\t\t\t\t\t\t\t\t\t\t// Standard Report State,\r\n\t\t\t\t\t\t\t\t\t\t\t\treportTypes,\r\n\t\t\t\t\t\t\t\t\t\t\t\tcurrentFilledFormIndex,\r\n\t\t\t\t\t\t\t\t\t\t\t\t// Standard Report Answers\r\n\t\t\t\t\t\t\t\t\t\t\t\tfixedGeneralAnswers,\r\n\t\t\t\t\t\t\t\t\t\t\t\tfixedInfoAnswers,\r\n\t\t\t\t\t\t\t\t\t\t\t\tfixedSoundAnswers,\r\n\t\t\t\t\t\t\t\t\t\t\t\tmobileGeneralAnswers,\r\n\t\t\t\t\t\t\t\t\t\t\t\tmobileInfoAnswers,\r\n\t\t\t\t\t\t\t\t\t\t\t\tmobileSoundAnswers,\r\n\t\t\t\t\t\t\t\t\t\t\t\tdataSetFilesUpload,\r\n\t\t\t\t\t\t\t\t\t\t\t\t// Validation\r\n\t\t\t\t\t\t\t\t\t\t\t\tcurrentSelectedError,\r\n\t\t\t\t\t\t\t\t\t\t\t\topenValidationModal,\r\n\t\t\t\t\t\t\t\t\t\t\t\tonOpenValidationModal,\r\n\t\t\t\t\t\t\t\t\t\t\t\tonCloseValidationModal,\r\n\t\t\t\t\t\t\t\t\t\t\t\t// Flags\r\n\t\t\t\t\t\t\t\t\t\t\t\toperatorFlag,\r\n\t\t\t\t\t\t\t\t\t\t\t\t// Reject Reason\r\n\t\t\t\t\t\t\t\t\t\t\t\trejectReason,\r\n\t\t\t\t\t\t\t\t\t\t\t\tsetRejectReason\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tif (activeStep === 1 && currentFilledFormIndex !== 0)\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonDecrementCurrentFilledFormIndex()\r\n\t\t\t\t\t\t\t\t\t\t\t\t\telse handleBack()\r\n\t\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\t\tvariant=\"contained\"\r\n\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"w-36\">\r\n\t\t\t\t\t\t\t\t\t\t\t\tย้อนกลับ\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{isRenderCTARight && (\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tif (activeStep === 2) {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tchangeStatusReportHead()\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tif (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tactiveStep === 1 &&\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcurrentFilledFormIndex < reportTypes.length - 1\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonIncrementCurrentFilledFormIndex()\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\telse if (activeStep !== steps.length - 1)\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\thandleNext()\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t}}>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{activeStep !== steps.length - 1\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? activeStep === 0\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? 'ถัดไป'\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: currentFilledFormIndex ===\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\treportTypes.length - 1\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? 'ไปหน้ายืนยันการตรวจสอบข้อมูล'\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: 'รายงานถัดไป'\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: 'ยืนยัน'}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\r\n\t\t\t\t\r\n\r\n\t\t\t\t history.goBack()}\r\n\t\t\t\t/>\r\n\t\t\t\r\n\t\t)\r\n\t)\r\n}\r\n","import { forwardRef, useRef, useEffect, useState } from 'react'\r\nimport {\r\n\tTypography,\r\n\tDialog,\r\n\tDialogTitle,\r\n\tDialogActions,\r\n\tDialogContent,\r\n\tSlide,\r\n\tButton,\r\n\tGrid,\r\n\tuseMediaQuery,\r\n\tIconButton,\r\n\tTextField,\r\n\tDivider,\r\n} from '@material-ui/core'\r\nimport 'date-fns'\r\n\r\nimport { Close, PersonAdd, Edit } from '@material-ui/icons'\r\nimport { useTheme } from '@material-ui/core/styles'\r\nimport { useStoreActions } from 'store'\r\nexport default function OrganizationUserModal({\r\n\topen,\r\n\thandleButton,\r\n\tonClose,\r\n\tuserModalType,\r\n\tuserInfo,\r\n\tonFillAddUserInfo,\r\n\t// Save Button Logic\r\n\tsaveButtonAdd,\r\n\tsaveButtonEdit,\r\n\t// Admin Role\r\n}) {\r\n\tconst theme = useTheme()\r\n\tconst fullScreen = useMediaQuery(theme.breakpoints.down('sm'))\r\n\tconst descriptionElementRef = useRef(null)\r\n\r\n\tconst onSearchOperator = useStoreActions(\r\n\t\ta => a.operatorModel.searchOperatorDBD\r\n\t)\r\n\tconst [form, setForm] = useState({ taxno: '' })\r\n\tconst [resultDBD, setResultDBD] = useState(null)\r\n\r\n\tuseEffect(() => {\r\n\t\tif (open) {\r\n\t\t\tconst { current: descriptionElement } = descriptionElementRef\r\n\t\t\tif (descriptionElement !== null) {\r\n\t\t\t\tdescriptionElement.focus()\r\n\t\t\t}\r\n\t\t}\r\n\t\tsetForm({ taxno: '' })\r\n\t\tsetResultDBD(null)\r\n\t}, [open])\r\n\r\n\tconst typeGenerator = _userModalType => {\r\n\t\tif (_userModalType === 'add')\r\n\t\t\treturn {\r\n\t\t\t\tlabel: 'เพิ่มผู้ประกอบการ',\r\n\t\t\t\ticon: ,\r\n\t\t\t}\r\n\t\tif (_userModalType === 'edit')\r\n\t\t\treturn {\r\n\t\t\t\tlabel: 'แก้ไขข้อมูลผู้ประกอบการ',\r\n\t\t\t\ticon: ,\r\n\t\t\t}\r\n\r\n\t\treturn { label: '', icon: '' }\r\n\t}\r\n\r\n\tconst onSearch = () => {\r\n\t\tonSearchOperator({ taxno: form.taxno }).then(e => {\r\n\t\t\tif (e?.data1000101001 ) {\r\n\t\t\t\tconst foundCompany = e.data1000101001.ResultList[0]\r\n\t\t\t\tsetResultDBD(foundCompany)\r\n\t\t\t}\r\n\t\t\tsetResultDBD(\"ไม่พบข้อมูล\")\r\n\t\t})\r\n\t}\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{typeGenerator(userModalType).icon}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{typeGenerator(userModalType).label}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\tข้อมูลผู้ประกอบการ\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tเลขประจำตัวผู้เสียภาษี\r\n\t\t\t\t\t\t\t\t*\r\n\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t setForm({ ...form, taxno: e.target.value })}\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tค้นหา\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t
{resultDBD}
\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tบันทึก\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n\r\nconst Transition = forwardRef(function Transtition(props, ref) {\r\n\treturn \r\n})\r\n","import { useState, useEffect } from 'react'\r\nimport {\r\n\tGrid,\r\n\tCard,\r\n\tCardContent,\r\n\tTypography,\r\n\tButton,\r\n\tDivider,\r\n} from '@material-ui/core'\r\nimport { DataGrid, GridOverlay } from '@material-ui/data-grid'\r\nimport { ViewComfy, PersonAdd } from '@material-ui/icons'\r\nimport OrganizationModal from '../../../components/admin/admin-user/company-modal/index'\r\nimport { makeStyles } from '@material-ui/core/styles'\r\nimport { useHistory } from 'react-router'\r\nimport { operators } from '../../../api/'\r\nimport { useStoreRehydrated } from '../../../store'\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n\tcard_styles: {\r\n\t\theight: '80vh',\r\n\t},\r\n\ttable_styles: {\r\n\t\tmarginTop: '20px',\r\n\t\theight: '60vh',\r\n\t},\r\n}))\r\n\r\nconst Organization = () => {\r\n\tconst isRehydrated = useStoreRehydrated()\r\n\tconst [pageSize, setPageSize] = useState(8)\r\n\t// const dataTypeOfReport = ['ประจำที่', 'เคลื่อนที่']\r\n\tconst classes = useStyles()\r\n\tconst history = useHistory()\r\n\tconst [organization, setOrganization] = useState([])\r\n\tconst [isDataLoading, setIsDataLoading] = useState(false)\r\n\t// const [organizationData, setOrganizationData] = useState([])\r\n\tconst [openCRUDModal, setOpenCRUDModal] = useState(false)\r\n\r\n\tconst columns = [\r\n\t\t{\r\n\t\t\tfield: 'id',\r\n\t\t\theaderName: 'ลำดับ',\r\n\t\t\tflex: 0.8,\r\n\t\t\theaderAlign: 'left',\r\n\t\t\talign: 'left',\r\n\t\t},\r\n\t\t{\r\n\t\t\tfield: 'operatorName',\r\n\t\t\theaderName: 'ชื่อผู้หน่วยงาน',\r\n\t\t\tflex: 1,\r\n\t\t\theaderAlign: 'left',\r\n\t\t\talign: 'left',\r\n\t\t},\r\n\t\t{\r\n\t\t\tfield: 'typesOfReports',\r\n\t\t\theaderName: 'ประเภทรายงาน',\r\n\t\t\tflex: 1,\r\n\t\t\theaderAlign: 'left',\r\n\t\t\talign: 'left',\r\n\t\t\trenderCell: params => {\r\n\t\t\t\treturn (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{params.value.map((e, index) => (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{e.qosTypeName}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t))}\r\n\t\t\t\t\t\r\n\t\t\t\t)\r\n\t\t\t},\r\n\t\t},\r\n\t\t{\r\n\t\t\tfield: 'actions',\r\n\t\t\theaderName: 'การกระทำ',\r\n\t\t\tflex: 1,\r\n\t\t\theaderAlign: 'center',\r\n\t\t\talign: 'center',\r\n\t\t\trenderCell: params => (\r\n\t\t\t\t<>\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\thistory.push({\r\n\t\t\t\t\t\t\t\tpathname: `/admin/organization/${params.row.id}`,\r\n\t\t\t\t\t\t\t\t// state: {\r\n\t\t\t\t\t\t\t\t// \toperatorsID: params.row.id,\r\n\t\t\t\t\t\t\t\t// },\r\n\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t}>\r\n\t\t\t\t\t\tดูรายละเอียด\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t// \thistory.push({\r\n\t\t\t\t\t\t// \t\tpathname: `/admin/organization/editprofile/${params.row.id}`,\r\n\t\t\t\t\t\t// \t\t// state: {\r\n\t\t\t\t\t\t// \t\t// \toperatorsID: params.row.id,\r\n\t\t\t\t\t\t// \t\t// },\r\n\t\t\t\t\t\t// \t})\r\n\t\t\t\t\t\t// }\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\tจัดการข้อมูล\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t),\r\n\t\t},\r\n\t]\r\n\r\n\t/** ------------------------------------ */\r\n\r\n\tconst onLanding = async () => {\r\n\t\tsetIsDataLoading(true)\r\n\t\tconst res = await operators.getOperators()\r\n\t\tif (res) {\r\n\t\t\tif (res.status === 200) {\r\n\t\t\t\tconst fetchedOrg = res.data\r\n\t\t\t\tconst preprocessedArr = fetchedOrg.map(item => {\r\n\t\t\t\t\treturn {\r\n\t\t\t\t\t\tid: item.id ?? '',\r\n\t\t\t\t\t\toperatorName: item.operatorName ?? '',\r\n\t\t\t\t\t\ttypesOfReports: item.operatorQOS,\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\r\n\t\t\t\t// setOrganizationData(fetchedOrg)\r\n\t\t\t\tsetOrganization(preprocessedArr)\r\n\t\t\t}\r\n\t\t}\r\n\t\tsetIsDataLoading(false)\r\n\t}\r\n\r\n\t/** ------------------------------------ */\r\n\r\n\t// Main Rendering\r\n\r\n\tuseEffect(() => {\r\n\t\tif (isRehydrated) onLanding()\r\n\t}, [isRehydrated])\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\tรายชื่อผู้ประกอบการ\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{/* \r\n\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t}}\r\n\t\t\t\t\t/> */}\r\n\t\t\t\t\t\t setOpenCRUDModal(true)}>\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tเพิ่ม\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t setPageSize(size)}\r\n\t\t\t\t\t\t\tcomponents={{\r\n\t\t\t\t\t\t\t\tNoRowsOverlay: () => {\r\n\t\t\t\t\t\t\t\t\tif (!isDataLoading) {\r\n\t\t\t\t\t\t\t\t\t\treturn ไม่พบข้อมูล;\r\n\t\t\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\t\t\treturn กำลังประมวลผลข้อมูล โปรดรอสักครู่..;\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\r\n\t\t\t setOpenCRUDModal(false)}\r\n\t\t\t\tuserModalType={`add`}\r\n\t\t\t// Adding States\r\n\r\n\t\t\t// Save Button Logic\r\n\t\t\t/>\r\n\t\t\r\n\t)\r\n}\r\n\r\nexport default Organization\r\n","import React, { useEffect, useState, useCallback } from 'react'\r\nimport { Card, Grid, Divider, Button } from '@material-ui/core/'\r\nimport {\r\n\tAccountCircle,\r\n\tHome,\r\n\tAccountBox,\r\n\t// Storage,\r\n\tBusiness,\r\n\tWork,\r\n\tMail,\r\n\tPhone,\r\n} from '@material-ui/icons'\r\n\r\nimport { operators } from '../../../../api/'\r\n\r\nimport { useParams } from 'react-router-dom'\r\nimport { useStoreRehydrated } from '../../../../store'\r\n\r\nimport EditInfoModal from '../../../../components/users/organization/edit-info-modal'\r\nimport SuccessModal from 'components/modal/SuccessModal'\r\nimport FailModal from 'components/modal/FailModal'\r\n\r\nexport default function OrganizationDetails() {\r\n\tconst { id } = useParams()\r\n\tconst isRehydrated = useStoreRehydrated()\r\n\tconst [organizationData, setOrganizationData] = useState({\r\n\t\tcompanyName: '',\r\n\t\tcitizenId: '',\r\n\t\tcompanyAddress: '',\r\n\t\treportTypesFixed: '',\r\n\t\treportTypesMobile: '',\r\n\t\tcompanyStatus: '',\r\n\t\temail: '',\r\n\t\ttelephoneNumber: '',\r\n\t\tmobileNumber: '',\r\n\t\tapiToken: '',\r\n\t\tisPayphone: null,\r\n\t\toperatorQOS: [],\r\n\t})\r\n\tconst [tempAPIToken, setTempAPIToken] = useState('')\r\n\tconst [openEditInfoModal, setOpenEditInfoModal] = useState(false)\r\n\tconst [openFailModal, setOpenFailModal] = useState(false)\r\n\tconst [openSuccessModal, setOpenSuccessModal] = useState(false)\r\n\r\n\tconst [validSubmitButton, setValidSubmitButton] = useState(true)\r\n\tconst [email, setEmail] = useState('')\r\n\tconst [telephone, setTelephone] = useState('')\r\n\r\n\tconst onOpenSuccessModal = () => {\r\n\t\tsetOpenSuccessModal(!openSuccessModal)\r\n\t}\r\n\r\n\tconst onOpenFailModal = () => {\r\n\t\tsetOpenFailModal(!openFailModal)\r\n\t}\r\n\r\n\tconst onChangeEditInfoModal = () => {\r\n\t\tsetOpenEditInfoModal(!openEditInfoModal)\r\n\t}\r\n\r\n\t// eslint-disable-next-line\r\n\tconst onOpenEditInfoModal = () => {\r\n\t\tsetEmail(organizationData.email)\r\n\t\tsetTelephone(organizationData.mobileNumber)\r\n\t\tonChangeEditInfoModal()\r\n\t}\r\n\r\n\tconst onSubmitChangeTeleEmail = async () => {\r\n\t\tconst res = await operators.editOperatorContactInfo(telephone, email)\r\n\t\tonChangeEditInfoModal()\r\n\t\tif (res.status === 200) {\r\n\t\t\tonOpenSuccessModal()\r\n\t\t} else {\r\n\t\t\tonOpenFailModal()\r\n\t\t}\r\n\t\tgetOrganizationData()\r\n\t}\r\n\r\n\tconst onTeleEmailChange = (value, type) => {\r\n\t\tif (type === 'email') {\r\n\t\t\tsetEmail(value)\r\n\t\t} else if (type === 'telephone') {\r\n\t\t\tsetTelephone(value)\r\n\t\t}\r\n\t}\r\n\r\n\tconst getOrganizationData = useCallback(async () => {\r\n\t\tconst res = await operators.getOrganizationDataID(id)\r\n\t\tconst status = res.status\r\n\t\tconst data = res.data\r\n\t\tlet reportTypesFixedTemp = ''\r\n\t\tlet reportTypesMobileTemp = ''\r\n\t\tif (status === 200) {\r\n\t\t\tlet organizationDataTemp = {\r\n\t\t\t\tcompanyName: data.operatorName,\r\n\t\t\t\tcitizenId: '1100100010110',\r\n\t\t\t\tcompanyAddress: `${data.operatorInfos.addr} ${data.operatorInfos.postCode ?? ''}`,\r\n\t\t\t\treportTypesFixed: reportTypesFixedTemp,\r\n\t\t\t\treportTypesMobile: reportTypesMobileTemp,\r\n\t\t\t\tcompanyStatus: 'ดำเนินกิจการอยู่',\r\n\t\t\t\temail: data.operatorInfos.email,\r\n\t\t\t\ttelephoneNumber: data.operatorInfos.telephone,\r\n\t\t\t\tmobileNumber: data.operatorInfos.mobile,\r\n\t\t\t\tapiToken: data.apiToken,\r\n\t\t\t\tisPayphone: data.isPayphone,\r\n\t\t\t\toperatorQOS: data.operatorQOS,\r\n\t\t\t}\r\n\t\t\tsetTempAPIToken(data.apiToken)\r\n\r\n\t\t\tsetOrganizationData(organizationDataTemp)\r\n\t\t}\r\n\t}, [id])\r\n\r\n\t// const changeAPIToken = async () => {\r\n\t// \tconst res = await operators.resetAPIToken()\r\n\t// \tconst status = res.status\r\n\t// \tconst data = res.data\r\n\t// \tif (status === 200) {\r\n\t// \t\tsetTempAPIToken(data.token)\r\n\t// \t\tlet organizationDataTemp = {\r\n\t// \t\t\tcompanyName: organizationData.companyName,\r\n\t// \t\t\tcitizenId: organizationData.citizenId,\r\n\t// \t\t\tcompanyAddress: organizationData.companyAddress,\r\n\t// \t\t\treportTypesFixed: organizationData.reportTypesFixed,\r\n\t// \t\t\treportTypesMobile: organizationData.reportTypesMobile,\r\n\t// \t\t\tcompanyStatus: organizationData.companyStatus,\r\n\t// \t\t\temail: organizationData.email,\r\n\t// \t\t\ttelephoneNumber: organizationData.telephoneNumber,\r\n\t// \t\t\tmobileNumber: organizationData.mobilephoneNumber,\r\n\t// \t\t\tapiToken: data.token,\r\n\t// \t\t\tisPayphone: organizationData.isPayphone,\r\n\t// \t\t\toperatorQOS: organizationData.operatorQOS,\r\n\t// \t\t}\r\n\t// \t\tsetOrganizationData(organizationDataTemp)\r\n\t// \t}\r\n\t// }\r\n\r\n\tconst validateEmail = (email) => {\r\n\t\tconst emailRegex = /^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/;\r\n\t\treturn emailRegex.test(email);\r\n\t};\r\n\r\n\tuseEffect(() => {\r\n\t\tif (email === '' || telephone === '' || !validateEmail(email) || telephone.length < 9) {\r\n\t\t\tsetValidSubmitButton(true)\r\n\t\t} else {\r\n\t\t\tsetValidSubmitButton(false)\r\n\t\t}\r\n\t}, [email, telephone])\r\n\r\n\tuseEffect(() => {\r\n\t\tif (isRehydrated) getOrganizationData()\r\n\t\t// eslint-disable-next-line\r\n\t}, [isRehydrated])\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tรายละเอียดผู้ประกอบการ\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t{/* Company Name */}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tชื่อหน่วยงาน\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{organizationData.companyName}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t{/* Address */}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tที่อยู่\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{organizationData.companyAddress}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t{/* Type of Fixed Report */}\r\n\t\t\t\t\t\t{/* {organizationData.operatorQOS.find(e => e.id === 2) && (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tชุดข้อมูลแบบประจำที่\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tประเภททั่วไป, ประเภทข้อมูล, ประเภทเสียง\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t)} */}\r\n\r\n\t\t\t\t\t\t{/* Type of Mobile Report */}\r\n\t\t\t\t\t\t{/* {organizationData.operatorQOS.find(e => e.id === 1) && (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tชุดข้อมูลแบบเคลื่อนที่\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tประเภททั่วไป, ประเภทข้อมูล, ประเภทเสียง\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t)} */}\r\n\r\n\t\t\t\t\t\t{/* Organization Status */}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tสถานะการประกอบกิจการ\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{organizationData.companyStatus}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t{organizationData.isPayphone === 'y' && (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tให้บริการเครื่องโทรศัพท์สาธารณะ\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tให้บริการ\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t)}\r\n\r\n\t\t\t\t\t\t{/* API Token */}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tAPI Token\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{tempAPIToken}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\tnavigator.clipboard.writeText(tempAPIToken)\r\n\t\t\t\t\t\t\t\t\t}}>\r\n\t\t\t\t\t\t\t\t\tCopy\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{/* {\r\n\t\t\t\t\t\t\t\t\t\tchangeAPIToken()\r\n\t\t\t\t\t\t\t\t\t}}>\r\n\t\t\t\t\t\t\t\t\tReset\r\n\t\t\t\t\t\t\t\t */}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t{/* Organization Status Card */}\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{/* Header */}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tข้อมูลสำหรับการแจ้งเตือน\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{/* \r\n\t\t\t\t\t\t\t\t\tแก้ไขข้อมูลผู้ประกอบการ\r\n\t\t\t\t\t\t\t\t */}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t{/* Notification Settings */}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tอีเมล\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{organizationData.email === null ? '' : organizationData.email}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t{/* Phone Num */}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tเบอร์ติดต่อ\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{organizationData.mobileNumber}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n","import { forwardRef, useRef } from 'react'\r\nimport {\r\n\tGrid,\r\n\tDialog,\r\n\tDialogContent,\r\n\tDialogContentText,\r\n\tDialogActions,\r\n\tSlide,\r\n\tButton,\r\n\tuseMediaQuery,\r\n} from '@material-ui/core'\r\nimport { useTheme } from '@material-ui/core/styles'\r\n\r\nimport Check from '../../../../assets/images/check.png'\r\n\r\nexport default function UpdateProcessModalSuccess({ open, label, handleButton }) {\r\n\tconst theme = useTheme()\r\n\tconst fullScreen = useMediaQuery(theme.breakpoints.down('sm'))\r\n\tconst descriptionElementRef = useRef(null)\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t{label}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tตกลง\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n\r\nconst Transition = forwardRef(function Transtition(props, ref) {\r\n\treturn \r\n})\r\n","import { forwardRef, useRef } from 'react'\r\nimport {\r\n\tGrid,\r\n\tDialog,\r\n\tDialogContent,\r\n\tDialogContentText,\r\n\tDialogActions,\r\n\tSlide,\r\n\tButton,\r\n\tuseMediaQuery,\r\n} from '@material-ui/core'\r\nimport { useTheme } from '@material-ui/core/styles'\r\n\r\nimport Cancel from '../../../../assets/images/cancel.png'\r\n\r\nexport default function UpdateProcessModalFailed({ open, handleButton, message }) {\r\n\tconst theme = useTheme()\r\n\tconst fullScreen = useMediaQuery(theme.breakpoints.down('sm'))\r\n\tconst descriptionElementRef = useRef(null)\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t{message}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tตกลง\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n\r\nconst Transition = forwardRef(function Transtition(props, ref) {\r\n\treturn \r\n})\r\n","import { forwardRef, useRef,useState } from 'react'\r\nimport {\r\n\tGrid,\r\n\tDialog,\r\n\tDialogTitle,\r\n\tDialogContent,\r\n\tDialogContentText,\r\n\tDialogActions,\r\n\tSlide,\r\n\tIconButton,\r\n\tButton,\r\n\tuseMediaQuery,\r\n\tFormControl,\r\n\tSelect,\r\n\tMenuItem\r\n} from '@material-ui/core'\r\nimport { Close } from '@material-ui/icons'\r\n\r\nimport { useTheme } from '@material-ui/core/styles'\r\n\r\nexport default function ConfirmSendNotifyModal({\r\n\topen,\r\n\tonClose,\r\n\ttitle,\r\n\theader_icon,\r\n\tcontent,\r\n\thandleCancel,\r\n\thandleButton,\r\n\tlistSignature,\r\n\tselectSignature,\r\n\tisSetToProcess\r\n}) {\r\n\tconst theme = useTheme()\r\n\tconst fullScreen = useMediaQuery(theme.breakpoints.down('sm'))\r\n\tconst descriptionElementRef = useRef(null)\r\n\tconst [selected, setSelected] = useState('');\r\n\tconst handleChange = (event) => {\r\n\t\tsetSelected(event.target.value);\r\n\t\tselectSignature(event.target.value);\r\n\t };\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{header_icon}\r\n\t\t\t\t\t\t{title}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\t{!isSetToProcess && (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t-- กรุณาเลือกผู้มีอำนาจลงนาม --\r\n\t\t\t\t\t\t\t\t\t{listSignature.map(e=>({e.firstname ?? ''} {e.lastname ?? ''}))}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\r\n\t\t\t\t\t{isSetToProcess && ({content})};\r\n\r\n\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tยกเลิก\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tตกลง\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n\r\nconst Transition = forwardRef(function Transtition(props, ref) {\r\n\treturn \r\n})\r\n","import React, { useState, useEffect } from 'react'\r\n\r\nimport { Grid, Card, Button, useMediaQuery } from '@material-ui/core'\r\nimport { ListAlt, SendOutlined } from '@material-ui/icons'\r\nimport { DataGrid, GridOverlay } from '@material-ui/data-grid'\r\n\r\nimport UpdateProcessModalSuccess from '../../../components/admin/standard-report-organization/update-process-modal-success'\r\nimport UpdateProcessModalFailed from '../../../components/admin/standard-report-organization/update-process-modal-failed'\r\nimport ConfirmSendNotifyModal from './components/confirmSendNotifyModal'\r\n\r\n// import { useHistory } from 'react-router-dom'\r\nimport { makeStyles } from '@material-ui/core/styles'\r\nimport { useTheme } from '@material-ui/core/styles'\r\nimport { useStoreState, useStoreRehydrated } from '../../../store'\r\n\r\nimport { dataSetReports, adminQoS } from 'api/index'\r\nimport { set } from 'date-fns'\r\n\r\nconst useStyles = makeStyles(theme => {\r\n\treturn {\r\n\t\tcard_styles: {\r\n\t\t\theight: '80vh',\r\n\t\t},\r\n\t\tdetails_button: {\r\n\t\t\tbackgroundColor: '#466AE9',\r\n\t\t\tcolor: '#fff',\r\n\t\t\t'&:hover': {\r\n\t\t\t\tbackgroundColor: '#466AE9',\r\n\t\t\t},\r\n\t\t},\r\n\t\tapprove_button: {\r\n\t\t\tbackgroundColor: '#1DBF73',\r\n\t\t\tcolor: '#fff',\r\n\t\t\t'&:hover': {\r\n\t\t\t\tbackgroundColor: '#1DBF73',\r\n\t\t\t},\r\n\t\t},\r\n\t\twait_button: {\r\n\t\t\tbackgroundColor: '#F6B50B',\r\n\t\t\tcolor: '#fff',\r\n\t\t\t'&:hover': {\r\n\t\t\t\tbackgroundColor: '#F6B50B',\r\n\t\t\t},\r\n\t\t},\r\n\t\treject_button: {\r\n\t\t\tbackgroundColor: '#DB4D44',\r\n\t\t\tcolor: '#fff',\r\n\t\t\t'&:hover': {\r\n\t\t\t\tbackgroundColor: '#DB4D44',\r\n\t\t\t},\r\n\t\t},\r\n\t\ttype_of_report: {\r\n\t\t\tbackgroundColor: '#c8e8ff',\r\n\t\t\tcolor: '#028BFF',\r\n\t\t\tborderColor: '#84BFF0',\r\n\t\t},\r\n\t\tformControl: {\r\n\t\t\tmargin: theme.spacing(1),\r\n\t\t\tminWidth: 120,\r\n\t\t},\r\n\t}\r\n})\r\n\r\n// Page Description: Lists of Organization who don't send their report either of in time and on time\r\nexport default function StandardReportOrganization() {\r\n\t// const history = useHistory()\r\n\tconst [pageSize, setPageSize] = useState(8)\r\n\tconst isRehydrated = useStoreRehydrated()\r\n\tconst classes = useStyles()\r\n\tconst theme = useTheme()\r\n\tconst isMobile = useMediaQuery(theme.breakpoints.down('sm'))\r\n\tconst isMobile2 = useMediaQuery('(min-width:425px)')\r\n\tconst [rows, setRows] = useState([])\r\n\tconst [isDataLoading, setIsDataLoading] = useState(false)\r\n\tconst admin = useStoreState(s => s.QoSAdminModel.admin)\r\n\tconst [signature, setSignature] = useState([]);\r\n\tconst [selected, setSelected] = useState('');\r\n\t// Current dataSetReportID\r\n\tconst [currentDataSetReportID, setCurrentDataSetReportID] = useState(null)\r\n\t// Sending Modal States\r\n\tconst [sureModalText, setSureModalText] = useState({\r\n\t\ttitle: '',\r\n\t\tcontent: '',\r\n\t})\r\n\tconst [openSureModal, setOpenSureModal] = useState(false)\r\n\tconst [openUpdateProcessModalSuccess, setOpenUpdateProcessModalSuccess] =\r\n\t\tuseState(false)\r\n\tconst [openUpdateProcessModalFailed, setOpenUpdateProcessModalFailed] =\r\n\t\tuseState(false)\r\n\tconst [sendingSuccessLabel, setSendingSuccessLabel] = useState('')\r\n\tconst [sendingFailedLabel, setSendingFailedLabel] = useState('')\r\n\tconst [isSetToProcess, setIsSetToProcess] = useState(true)\r\n\t// Table Width\r\n\tconst [columnsId, setColumnsId] = useState([80, 0])\r\n\tconst [columnsName, setColumnsName] = useState([360, 0])\r\n\tconst [columnsWorkStatusId, setColumnsWorkStatusId] = useState([200, 0])\r\n\r\n\t/** <-----------------------------------------------------------------------> */\r\n\r\n\t// Setting Process Function Handler\r\n\r\n\t// roleID: 1 and roleID: 2\r\n\tconst onUpdateSetToProcess = async () => {\r\n\t\tconst res = await dataSetReports.updateAdminProcess(\r\n\t\t\tcurrentDataSetReportID,\r\n\t\t\t{\r\n\t\t\t\tisSetToProcess: 'y',\r\n\t\t\t}\r\n\t\t)\r\n\r\n\t\tif (res && res.status === 200) {\r\n\t\t\tsetSendingSuccessLabel('ส่งให้ผู้ออกหนังสือเร่งรัดสำเร็จ')\r\n\t\t\tonOpenUpdateProcessModalSuccess()\r\n\t\t} else if (res && res.response.status === 400) {\r\n\t\t\tsetSendingFailedLabel(\r\n\t\t\t\t'ส่งให้ผู้ออกหนังสือเร่งรัดไม่สำเร็จ โปรดลองอีกครั้ง'\r\n\t\t\t)\r\n\t\t\tonOpenUpdateProcessModalFailed()\r\n\t\t}\r\n\t}\r\n\r\n\t// roleID: 1 and roleID: 7\r\n\tconst onUpdateSentNotify = async () => {\r\n\r\n\t\tconst res = await dataSetReports.updateAdminProcess(\r\n\t\t\tcurrentDataSetReportID,\r\n\t\t\t{\r\n\t\t\t\tisSentNotify: 'y',\r\n\t\t\t\tsignatureID: selected\r\n\t\t\t}\r\n\t\t)\r\n\r\n\t\tif (res && res.status === 200) {\r\n\t\t\tsetSendingSuccessLabel('ออกหนังสือเร่งรัดสำเร็จ')\r\n\t\t\tonOpenUpdateProcessModalSuccess()\r\n\t\t} else {\r\n\t\t\tsetSendingFailedLabel('ออกหนังสือเร่งรัดไม่สำเร็จ โปรดลองอีกครั้ง')\r\n\t\t\tonOpenUpdateProcessModalFailed()\r\n\t\t}\r\n\t}\r\n\r\n\tconst onAskUpdateProcessSetToProcess = () => {\r\n\t\tsetIsSetToProcess(true)\r\n\t\tsetSureModalText({\r\n\t\t\ttitle: 'ส่งให้ผู้ออกหนังสือเร่งรัด',\r\n\t\t\tcontent: 'คุณแน่ใจที่จะส่งให้ผู้ออกหนังสือเร่งรัดหรือไม่?',\r\n\t\t})\r\n\t\tsetOpenSureModal(true)\r\n\t}\r\n\r\n\tconst onAskUpdateProcessSentNotify = () => {\r\n\t\tsetIsSetToProcess(false)\r\n\t\tsetSureModalText({\r\n\t\t\ttitle: 'ออกหนังสือเร่งรัด',\r\n\t\t\tcontent: 'คุณแน่ใจที่จะออกหนังสือเร่งรัดหรือไม่?',\r\n\t\t})\r\n\t\tsetOpenSureModal(true)\r\n\t}\r\n\r\n\tconst onOpenUpdateProcessModalSuccess = () =>\r\n\t\tsetOpenUpdateProcessModalSuccess(!openUpdateProcessModalSuccess)\r\n\r\n\tconst onOpenUpdateProcessModalFailed = () =>\r\n\t\tsetOpenUpdateProcessModalFailed(!openUpdateProcessModalFailed)\r\n\r\n\tconst selectSignature = ID => {\r\n\t\tsetSelected(ID)\r\n\t}\r\n\r\n\t/** <-----------------------------------------------------------------------> */\r\n\r\n\t// Main Rendering\r\n\r\n\tvar columns = [\r\n\t\t{\r\n\t\t\tfield: 'id',\r\n\t\t\theaderName: 'ลำดับ',\r\n\t\t\twidth: columnsId[0],\r\n\t\t\tflex: columnsId[1],\r\n\t\t\theaderAlign: 'left',\r\n\t\t\talign: 'left',\r\n\t\t\tsortable: true,\r\n\t\t\teditable: false,\r\n\t\t\trenderCell: params => {\r\n\t\t\t\treturn {params.value}\r\n\t\t\t},\r\n\t\t},\r\n\t\t{\r\n\t\t\tfield: 'operatorName',\r\n\t\t\theaderName: 'ผู้ประกอบการ',\r\n\t\t\twidth: columnsName[0],\r\n\t\t\tflex: columnsName[1],\r\n\t\t\theaderAlign: 'left',\r\n\t\t\talign: 'left',\r\n\t\t\teditable: false,\r\n\t\t},\r\n\t\t{\r\n\t\t\tfield: 'yearNQuarter',\r\n\t\t\theaderName: 'ปีและไตรมาส',\r\n\t\t\twidth: columnsWorkStatusId[0],\r\n\t\t\tflex: columnsWorkStatusId[1],\r\n\t\t\theaderAlign: 'left',\r\n\t\t\talign: 'left',\r\n\t\t\teditable: false,\r\n\t\t},\r\n\t\t{\r\n\t\t\tfield: 'actions',\r\n\t\t\theaderName: ' ',\r\n\t\t\twidth: columnsWorkStatusId[0],\r\n\t\t\tflex: columnsWorkStatusId[1],\r\n\t\t\theaderAlign: 'center',\r\n\t\t\talign: 'center',\r\n\t\t\trenderCell: params => {\r\n\t\t\t\tconst roleID = admin?.roleID\r\n\t\t\t\tconst isSetToProcess = params.row.isSetToProcess\r\n\t\t\t\tconst isSentNotify = params.row.isSentNotify\r\n\t\t\t\tconst dataSetReportID = params.row.dataSetReportID\r\n\r\n\t\t\t\treturn (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{(roleID === 1 || roleID === 2) && (isSetToProcess === 'n' || isSetToProcess === null) && (\r\n\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\tsetCurrentDataSetReportID(dataSetReportID)\r\n\t\t\t\t\t\t\t\t\tonAskUpdateProcessSetToProcess()\r\n\t\t\t\t\t\t\t\t}}>\r\n\t\t\t\t\t\t\t\tเตรียมส่งข้อมูลให้ผู้ออกหนังสือเร่งรัด\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t{/* case: sended to roleID: 7 (ผู้ออกหนังสือเร่งรัด) and admin is roleID: 2 (ผู้เตรียมข้อมูล) */}\r\n\t\t\t\t\t\t{(roleID === 1 || roleID === 2) && isSetToProcess === 'y' && (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tเตรียมข้อมูลแล้ว\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t{(roleID === 1 || roleID === 7) &&\r\n\t\t\t\t\t\t\tisSetToProcess === 'y' &&\r\n\t\t\t\t\t\t\tisSentNotify !== 'y' && (\r\n\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\tsetCurrentDataSetReportID(dataSetReportID)\r\n\t\t\t\t\t\t\t\t\t\tonAskUpdateProcessSentNotify()\r\n\t\t\t\t\t\t\t\t\t}}>\r\n\t\t\t\t\t\t\t\t\tออกหนังสือเร่งรัด\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\r\n\t\t\t\t)\r\n\t\t\t},\r\n\t\t},\r\n\t]\r\n\r\n\tconst onLanding = async () => {\r\n\t\tsetIsDataLoading(true)\r\n\t\tconst res = await dataSetReports.getUnReportDatasetReportsOperator()\r\n\t\tif (res && res.status === 200) {\r\n\t\t\tconst roleID = admin?.roleID\r\n\t\t\tconst response = res.data\r\n\t\t\tconst temp = []\r\n\r\n\t\t\tfor (let i = 0; i < response.length; i++) {\r\n\t\t\t\t// ผู้ออกหนังสือเร่งรัด\r\n\t\t\t\tif (roleID === 7 && response[i].isSetToProcess === 'y') {\r\n\t\t\t\t\ttemp.push({\r\n\t\t\t\t\t\tid: i + 1,\r\n\t\t\t\t\t\tunReportedID: response[i].id,\r\n\t\t\t\t\t\toperatorName: response[i].operatorName,\r\n\t\t\t\t\t\tdataSetReportID: response[i].dataSetReportID,\r\n\t\t\t\t\t\tisSentNotify: response[i].isSentNotify,\r\n\t\t\t\t\t\tisSetToProcess: response[i].isSetToProcess,\r\n\t\t\t\t\t\tyearNQuarter: response[i].year + '/' + response[i].quarter,\r\n\t\t\t\t\t})\r\n\t\t\t\t}\r\n\t\t\t\t// superadmin and ผู้เตรียมข้อมูล\r\n\t\t\t\telse {\r\n\t\t\t\t\ttemp.push({\r\n\t\t\t\t\t\tid: i + 1,\r\n\t\t\t\t\t\tunReportedID: response[i].id,\r\n\t\t\t\t\t\toperatorName: response[i].operatorName,\r\n\t\t\t\t\t\tdataSetReportID: response[i].dataSetReportID,\r\n\t\t\t\t\t\tisSentNotify: response[i].isSentNotify,\r\n\t\t\t\t\t\tisSetToProcess: response[i].isSetToProcess,\r\n\t\t\t\t\t\tyearNQuarter: response[i].year + '/' + response[i].quarter,\r\n\t\t\t\t\t})\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tsetRows(temp)\r\n\t\t}\r\n\t\tsetIsDataLoading(false)\r\n\t}\r\n\r\n\t/** <-----------------------------------------------------------------------> */\r\n\r\n\tuseEffect(() => {\r\n\t\tif (isMobile) {\r\n\t\t\tsetColumnsId([80, 0])\r\n\t\t\tsetColumnsName([360, 0])\r\n\t\t\tsetColumnsWorkStatusId([200, 0])\r\n\t\t} else {\r\n\t\t\tsetColumnsId([0, 0.2])\r\n\t\t\tsetColumnsName([0, 1.2])\r\n\t\t\tsetColumnsWorkStatusId([0, 0.8])\r\n\t\t}\r\n\t}, [isMobile])\r\n\r\n\tuseEffect(() => {\r\n\t\tif (isRehydrated) {\r\n\t\t\tonLanding();\r\n\t\t\tadminQoS.getSignature().then(e => {\r\n\t\t\t\tsetSignature(e);\r\n\t\t\t})\r\n\t\t}\r\n\t\t// eslint-disable-next-line\r\n\t}, [isRehydrated])\r\n\r\n\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tรายชื่อผู้ประกอบการที่ยังไม่ส่งรายงานมาตรฐาน\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t setPageSize(size)}\r\n\t\t\t\t\t\t\t\tdisableSelectionOnClick\r\n\t\t\t\t\t\t\t\tcomponents={{\r\n\t\t\t\t\t\t\t\t\tNoRowsOverlay: () => {\r\n\t\t\t\t\t\t\t\t\t\tif (!isDataLoading) {\r\n\t\t\t\t\t\t\t\t\t\t\treturn ไม่พบข้อมูล;\r\n\t\t\t\t\t\t\t\t\t\t}else{\r\n\t\t\t\t\t\t\t\t\t\t\treturn กำลังประมวลผลข้อมูล โปรดรอสักครู่..;\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t {\r\n\t\t\t\t\tonLanding()\r\n\t\t\t\t\tonOpenUpdateProcessModalSuccess()\r\n\t\t\t\t\tsetOpenSureModal(false)\r\n\t\t\t\t}}\r\n\t\t\t/>\r\n\t\t\t {\r\n\t\t\t\t\tonLanding()\r\n\t\t\t\t\tonOpenUpdateProcessModalFailed()\r\n\t\t\t\t\tsetOpenSureModal(false)\r\n\t\t\t\t}}\r\n\t\t\t/>\r\n\t\t\t\r\n\t\t\t\t}\r\n\t\t\t\topen={openSureModal}\r\n\t\t\t\thandleButton={\r\n\t\t\t\t\tisSetToProcess ? onUpdateSetToProcess : onUpdateSentNotify\r\n\t\t\t\t}\r\n\t\t\t\thandleCancel={() => setOpenSureModal(false)}\r\n\t\t\t/>\r\n\t\t\r\n\t)\r\n}\r\n","import React, { useState, useEffect } from 'react'\r\n\r\nimport { Grid, Card, Button, useMediaQuery, TextField } from '@material-ui/core'\r\nimport { ListAlt, Menu, SearchOutlined } from '@material-ui/icons'\r\nimport { DataGrid, GridOverlay } from '@material-ui/data-grid'\r\n\r\nimport { useHistory } from 'react-router-dom'\r\nimport { makeStyles } from '@material-ui/core/styles'\r\nimport { useTheme } from '@material-ui/core/styles'\r\nimport { useStoreRehydrated } from '../../../store'\r\nimport { format } from 'date-fns'\r\n\r\nimport { datasetRecord } from '../../../api/'\r\n\r\nconst useStyles = makeStyles(theme => {\r\n\treturn {\r\n\t\tcard_styles: {\r\n\t\t\theight: '80vh',\r\n\t\t},\r\n\t\ttype_of_report: {\r\n\t\t\tbackgroundColor: '#c8e8ff',\r\n\t\t\tcolor: '#028BFF',\r\n\t\t\tborderColor: '#84BFF0',\r\n\t\t},\r\n\t}\r\n})\r\n\r\nexport default function StandardReportSent() {\r\n\tconst isRehydrated = useStoreRehydrated()\r\n\tconst history = useHistory()\r\n\tconst classes = useStyles()\r\n\tconst theme = useTheme()\r\n\tconst isMobile = useMediaQuery(theme.breakpoints.down('sm'))\r\n\tconst isMobile2 = useMediaQuery('(min-width:425px)')\r\n\tconst dataTypeOfReport = { mobile: 'เคลื่อนที่', fixed: 'ประจำที่' }\r\n\r\n\t// Work Status 0 = รอตรวจสอบ, 1 = ตรวจสอบแล้ว, 2 = ไม่อนุมัติ\r\n\t// eslint-disable-next-line\r\n\tconst [statusIDList, setStatusIDList] = useState([])\r\n\tconst [pageSize, setPageSize] = useState(8)\r\n\tconst [columnsId, setColumnsId] = useState([130, 0])\r\n\tconst [columnsName, setColumnsName] = useState([360, 0])\r\n\tconst [columnsDataTypeList, setColumnsDataTypeList] = useState([200, 0])\r\n\tconst [columnsSubmitDate, setColumnsSubmitDate] = useState([200, 0])\r\n\tconst [columnsReportDetails, setColumnsReportDetails] = useState([200, 0])\r\n\r\n\tvar columns = [\r\n\t\t{\r\n\t\t\tfield: 'id',\r\n\t\t\theaderName: 'ลำดับ',\r\n\t\t\twidth: columnsId[0],\r\n\t\t\tflex: columnsId[1],\r\n\t\t\theaderAlign: 'left',\r\n\t\t\talign: 'left',\r\n\t\t\tsortable: true,\r\n\t\t\teditable: false,\r\n\t\t\trenderCell: params => {\r\n\t\t\t\treturn {params.value}\r\n\t\t\t},\r\n\t\t},\r\n\t\t{\r\n\t\t\tfield: 'name',\r\n\t\t\theaderName: 'ชื่อ-นามสกุล',\r\n\t\t\twidth: columnsName[0],\r\n\t\t\tflex: columnsName[1],\r\n\t\t\theaderAlign: 'left',\r\n\t\t\talign: 'left',\r\n\t\t\teditable: false,\r\n\t\t},\r\n\t\t{\r\n\t\t\tfield: 'organization',\r\n\t\t\theaderName: 'ชื่อผู้ประกอบการ',\r\n\t\t\twidth: columnsName[0],\r\n\t\t\tflex: columnsName[1],\r\n\t\t\theaderAlign: 'left',\r\n\t\t\talign: 'left',\r\n\t\t\teditable: false,\r\n\t\t},\r\n\t\t{\r\n\t\t\tfield: 'dataTypeList',\r\n\t\t\theaderName: 'ประเภทรายงาน',\r\n\t\t\tsortable: true,\r\n\t\t\twidth: columnsDataTypeList[0],\r\n\t\t\tflex: columnsDataTypeList[1],\r\n\t\t\t// headerAlign: 'center',\r\n\t\t\talign: 'left',\r\n\t\t\teditable: false,\r\n\t\t\trenderCell: params => {\r\n\t\t\t\treturn (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{params.value.map((e, index) => (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{dataTypeOfReport[e]}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t))}\r\n\t\t\t\t\t\r\n\t\t\t\t)\r\n\t\t\t},\r\n\t\t},\r\n\t\t{\r\n\t\t\tfield: 'yearNQuarter',\r\n\t\t\theaderName: 'ปีและไตรมาส',\r\n\t\t\twidth: columnsSubmitDate[0],\r\n\t\t\tflex: columnsSubmitDate[1],\r\n\t\t\t// headerAlign: 'center',\r\n\t\t\talign: 'left',\r\n\t\t\teditable: false,\r\n\t\t\tsortable: true,\r\n\t\t\trenderCell: params => {\r\n\t\t\t\treturn (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{params.value ? params.value : ''}\r\n\t\t\t\t\t\r\n\t\t\t\t)\r\n\t\t\t}\r\n\t\t},\r\n\t\t{\r\n\t\t\tfield: 'sendToAdminAt',\r\n\t\t\theaderName: 'วันที่ส่งข้อมูล',\r\n\t\t\twidth: columnsSubmitDate[0],\r\n\t\t\tflex: columnsSubmitDate[1],\r\n\t\t\t// headerAlign: 'center',\r\n\t\t\talign: 'left',\r\n\t\t\teditable: false,\r\n\t\t\tsortable: true,\r\n\t\t\trenderCell: params => (\r\n\t\t\t\t\r\n\t\t\t\t\t{params.value ? format(new Date(params.value), 'dd/MM/yyyy') : ''}\r\n\t\t\t\t\r\n\t\t\t),\r\n\t\t},\r\n\t\t{\r\n\t\t\tfield: 'submitType',\r\n\t\t\theaderName: 'วิธีการส่งรายงาน',\r\n\t\t\twidth: columnsSubmitDate[0],\r\n\t\t\tflex: columnsSubmitDate[1],\r\n\t\t\talign: 'left',\r\n\t\t\teditable: false,\r\n\t\t},\r\n\t\t{\r\n\t\t\tfield: 'report_detials',\r\n\t\t\theaderName: 'ดูข้อมูลรายงาน',\r\n\t\t\tsortable: false,\r\n\t\t\twidth: columnsReportDetails[0],\r\n\t\t\tflex: columnsReportDetails[1],\r\n\t\t\theaderAlign: 'center',\r\n\t\t\talign: 'left',\r\n\t\t\teditable: false,\r\n\t\t\trenderCell: params => {\r\n\t\t\t\treturn (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\tlet tempIndex = 0\r\n\t\t\t\t\t\t\t\tfor (tempIndex; tempIndex < rows.length; tempIndex++) {\r\n\t\t\t\t\t\t\t\t\tif (params.value === rows[tempIndex].id) {\r\n\t\t\t\t\t\t\t\t\t\tbreak\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\thistory.push({\r\n\t\t\t\t\t\t\t\t\tpathname: `/admin/sent/${params.value}`,\r\n\t\t\t\t\t\t\t\t\tstate: {\r\n\t\t\t\t\t\t\t\t\t\trowData: rows[tempIndex],\r\n\t\t\t\t\t\t\t\t\t\tstatusIDList: statusIDList,\r\n\t\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\tclassName={`w-28 `}\r\n\t\t\t\t\t\t\tcolor=\"secondary\"\r\n\t\t\t\t\t\t\tvariant=\"contained\">\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tรายละเอียด\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t)\r\n\t\t\t},\r\n\t\t},\r\n\t]\r\n\r\n\tconst [rows, setRows] = useState([\r\n\t\t// Work Status 0 = รอตรวจสอบ, 1 = ตรวจสอบแล้ว, 2 = ไม่อนุมัติ\r\n\t\t// Data Type List 0 = ประจำที่, 1 = เคลื่อนที่\r\n\t])\r\n\tconst [isDataLoading, setIsDataLoading] = useState(false)\r\n\tconst [rowsData, setRowsData] = useState([])\r\n\r\n\t// -------------------------------\r\n\tconst getDatasetRecordList = async () => {\r\n\t\tsetIsDataLoading(true)\r\n\t\tconst res = await datasetRecord.getListAdmin()\r\n\r\n\t\tif (res) {\r\n\t\t\tif (res.status === 200) {\r\n\t\t\t\tsetRowsData(res.data)\r\n\r\n\t\t\t\tconst rowsTemp = []\r\n\r\n\t\t\t\tfor (let i = 0; i < res.data.length; i++) {\r\n\t\t\t\t\tif (res.data[i].status === 5) {\r\n\t\t\t\t\t\tconst qosType = []\r\n\r\n\t\t\t\t\t\tif (res.data[i].isFixed === 'y') qosType.push('fixed')\r\n\t\t\t\t\t\tif (res.data[i].isMobile === 'y') qosType.push('mobile')\r\n\r\n\t\t\t\t\t\tconst tempObject = {\r\n\t\t\t\t\t\t\tid: res.data[i].id,\r\n\t\t\t\t\t\t\tname:\r\n\t\t\t\t\t\t\t\t(res.data[i].operatorApproveUser?.firstname ?? '') +\r\n\t\t\t\t\t\t\t\t' ' +\r\n\t\t\t\t\t\t\t\t(res.data[i].operatorApproveUser?.lastname ?? ''),\r\n\t\t\t\t\t\t\torganization: res.data[i].dataSetReport.operator.operatorName,\r\n\t\t\t\t\t\t\tsubmit_date: res.data[i].sendToAdminAt\r\n\t\t\t\t\t\t\t\t? format(new Date(res.data[i].sendToAdminAt), 'dd/MM/yyyy')\r\n\t\t\t\t\t\t\t\t: '',\r\n\t\t\t\t\t\t\tsendToAdminAt: res.data[i].sendToAdminAt,\r\n\t\t\t\t\t\t\tsubmitType: res.data[i].sendMethod,\r\n\t\t\t\t\t\t\treport_detials: res.data[i].id,\r\n\t\t\t\t\t\t\tdataTypeList: qosType,\r\n\t\t\t\t\t\t\tactions: res.data[i].id,\r\n\t\t\t\t\t\t\tyearNQuarter: res.data[i].dataSetReport.year + '/' + res.data[i].dataSetReport.quarter,\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tlet tempStatusIDList = statusIDList\r\n\t\t\t\t\t\ttempStatusIDList[i] = {\r\n\t\t\t\t\t\t\treport_id: res.data[i].id,\r\n\t\t\t\t\t\t\tworkStatus: res.data[i].dataSetRecordHeadStatus.id,\r\n\t\t\t\t\t\t\tworkStatusName: res.data[i].dataSetRecordHeadStatus.statusName,\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tsetStatusIDList(tempStatusIDList)\r\n\t\t\t\t\t\trowsTemp.push(tempObject)\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tsetRows(rowsTemp)\r\n\t\t\t}\r\n\t\t}\r\n\t\tsetIsDataLoading(false)\r\n\t}\r\n\r\n\tconst onSearhResult = e => {\r\n\t\tconst { value } = e.target\r\n\t\tconst searchedName = rowsData.filter(row => {\r\n\t\t\tconst name =\r\n\t\t\t\trow.operatorApproveUser?.firstname +\r\n\t\t\t\t' ' +\r\n\t\t\t\trow.operatorApproveUser?.lastname\r\n\t\t\treturn name.includes(value)\r\n\t\t})\r\n\t\tconst searchedOperatorName = rowsData.filter(row =>\r\n\t\t\trow.dataSetReport?.operator?.operatorName.includes(value)\r\n\t\t)\r\n\r\n\t\tconst mergedSearched = [...searchedName, ...searchedOperatorName]\r\n\t\tconst searchedResults = []\r\n\r\n\t\tmergedSearched.forEach(i => {\r\n\t\t\tconst find = searchedResults.find(item => item.id === i.id)\r\n\t\t\tif (!find) {\r\n\t\t\t\tconst qosType = []\r\n\r\n\t\t\t\tif (i.operatorUser.operatorUserQOSTypes)\r\n\t\t\t\t\ti.operatorUser.operatorUserQOSTypes.forEach(item => {\r\n\t\t\t\t\t\tif (item.qosTypeID === 1) qosType.push('mobile')\r\n\t\t\t\t\t\tif (item.qosTypeID === 2) qosType.push('fixed')\r\n\t\t\t\t\t})\r\n\t\t\t\tif (i.status === 5)\r\n\t\t\t\t\tsearchedResults.push({\r\n\t\t\t\t\t\tid: i.id,\r\n\t\t\t\t\t\tname:\r\n\t\t\t\t\t\t\ti.operatorApproveUser?.firstname +\r\n\t\t\t\t\t\t\t' ' +\r\n\t\t\t\t\t\t\ti.operatorApproveUser?.lastname,\r\n\t\t\t\t\t\torganization: i.dataSetReport?.operator?.operatorName,\r\n\t\t\t\t\t\tsubmit_date: i.updatedAt\r\n\t\t\t\t\t\t\t? format(new Date(i.updatedAt), 'dd/MM/yyyy')\r\n\t\t\t\t\t\t\t: '',\r\n\t\t\t\t\t\tsendToAdminAt: i.sendToAdminAt,\r\n\t\t\t\t\t\tsubmitType: i.sendMethod,\r\n\t\t\t\t\t\tworkStatus: {\r\n\t\t\t\t\t\t\treport_id: i.id,\r\n\t\t\t\t\t\t\tworkStatus: i.dataSetRecordHeadStatus.id,\r\n\t\t\t\t\t\t\tworkStatusName: i.dataSetRecordHeadStatus.statusName,\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\treport_detials: i.id,\r\n\t\t\t\t\t\tdataTypeList: qosType,\r\n\t\t\t\t\t\tactions: i.id,\r\n\t\t\t\t\t\tyearNQuarter: i.dataSetReport.year + '/' + i.dataSetReport.quarter,\r\n\t\t\t\t\t})\r\n\t\t\t}\r\n\t\t})\r\n\r\n\t\tsetRows(searchedResults)\r\n\t}\r\n\r\n\tuseEffect(() => {\r\n\t\tif (isMobile) {\r\n\t\t\tsetColumnsId([130, 0])\r\n\t\t\tsetColumnsName([100, 0])\r\n\t\t\tsetColumnsDataTypeList([200, 0])\r\n\t\t\tsetColumnsSubmitDate([200, 0])\r\n\t\t\tsetColumnsReportDetails([200, 0])\r\n\t\t} else {\r\n\t\t\tsetColumnsId([0, 0.7])\r\n\t\t\tsetColumnsName([0, 1.2])\r\n\t\t\tsetColumnsDataTypeList([0, 1.2])\r\n\t\t\tsetColumnsSubmitDate([0, 1])\r\n\t\t\tsetColumnsReportDetails([0, 0.9])\r\n\t\t}\r\n\t}, [isMobile])\r\n\r\n\tuseEffect(() => {\r\n\t\tif (isRehydrated) getDatasetRecordList()\r\n\t\t// eslint-disable-next-line\r\n\t}, [isRehydrated])\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tรายชื่อรายงานที่ได้รับการอนุมัติแล้ว\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t setPageSize(size)}\r\n\t\t\t\t\t\t\t\tcomponents={{\r\n\t\t\t\t\t\t\t\t\tNoRowsOverlay: () => {\r\n\t\t\t\t\t\t\t\t\t\tif (!isDataLoading) {\r\n\t\t\t\t\t\t\t\t\t\t\treturn ไม่พบข้อมูล;\r\n\t\t\t\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\t\t\t\treturn กำลังประมวลผลข้อมูล โปรดรอสักครู่..;\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n","import { forwardRef, useRef } from 'react'\r\nimport {\r\n\tGrid,\r\n\tDialog,\r\n\tDialogContent,\r\n\tDialogContentText,\r\n\tDialogActions,\r\n\tSlide,\r\n\tButton,\r\n\tuseMediaQuery,\r\n} from '@material-ui/core'\r\nimport { useTheme } from '@material-ui/core/styles'\r\n\r\nimport Check from '../../../../assets/images/check.png'\r\n\r\nexport default function SendingStandardReportModalSuccess({\r\n\topen,\r\n\thandleButton,\r\n}) {\r\n\tconst theme = useTheme()\r\n\tconst fullScreen = useMediaQuery(theme.breakpoints.down('sm'))\r\n\tconst descriptionElementRef = useRef(null)\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tคุณได้ตรวจสอบข้อมูลเรียบร้อยแล้ว\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tตกลง\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n\r\nconst Transition = forwardRef(function Transtition(props, ref) {\r\n\treturn \r\n})\r\n","import { Grid, IconButton } from '@material-ui/core'\r\nimport { Archive } from '@material-ui/icons'\r\nimport { AuthenticatedLink } from 'components/AuthenticatedLink'\r\n\r\nexport default function File({ originalFileName, downloadUrl }) {\r\n\treturn (\r\n\t\t\r\n\t\t\tชื่อเอกสาร: {originalFileName ?? ''}\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n","import { Grid, Card, Divider, useMediaQuery } from '@material-ui/core'\r\nimport { Assignment } from '@material-ui/icons'\r\n\r\nimport { mobile_additional_files } from 'data/standard-report/ui/mobile-additional-files'\r\nimport File from './file'\r\nexport default function StandardReportStep1({ rowData, dataSetFilesUpload }) {\r\n\tconst isNotTablet = useMediaQuery('(min-width:768px)')\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t{!isNotTablet ? (\r\n\t\t\t\t// Mobile and Tablet Layout\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tรายละเอียดการส่งรายงาน\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t{/* Name */}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tชื่อผู้ส่งรายงาน\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{rowData.name}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t{/* Submit Date */}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tวันที่ส่งข้อมูล\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{rowData.submit_date}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t) : (\r\n\t\t\t\t<>\r\n\t\t\t\t\t{/* Computer Layout */}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tรายละเอียดการส่งรายงาน\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{/* Name */}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tชื่อผู้ส่งรายงาน\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{rowData.name}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{/* Company Name */}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tชื่อบริษัท\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{rowData.companyName}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{/* Type of Report */}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tประเภทรายงาน\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{rowData?.dataTypeList?.map((e, index) => (\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{index === 1 && rowData.dataTypeList.length === 2\r\n\t\t\t\t\t\t\t\t\t\t\t\t? ', '\r\n\t\t\t\t\t\t\t\t\t\t\t\t: ''}\r\n\t\t\t\t\t\t\t\t\t\t\t{e}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{/* Submit Date */}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tวันที่ส่งข้อมูล\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{rowData.submit_date}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{/* Status */}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tสถานะรายงาน\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{rowData.status}\r\n\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t{/* Reject reason */}\r\n\t\t\t\t\t\t\t{rowData.isRejected === 'y' && (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tเหตุผล\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{rowData.rejectReason}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tไฟล์แนบเพิ่มเติมสำหรับรายงานประเภทเคลื่อนที่ (Mobile)\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{mobile_additional_files.map((item, idx) => {\r\n\t\t\t\t\t\t\t\t\tconst additionalFile = dataSetFilesUpload[item.key]\r\n\r\n\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t{item.title}\r\n\t\t\t\t\t\t\t\t\t\t\t\t{additionalFile\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t? `(${additionalFile.length} ไฟล์)`\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t: '(0 ไฟล์)'}\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t{additionalFile &&\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tadditionalFile.map((file, index) => (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t\r\n\t)\r\n}\r\n","import { useMemo } from 'react'\r\nimport { Grid } from '@material-ui/core'\r\n\r\nexport default function TwoPointThreeSubHeader({ sub_label_type }) {\r\n\tconst firstValueWidth = useMemo(() => {\r\n\t\tif (sub_label_type === 3 || sub_label_type === 2) {\r\n\t\t\treturn 'w-4/12'\r\n\t\t}\r\n\r\n\t\treturn 'w-4/12'\r\n\t}, [sub_label_type])\r\n\r\n\tconst secondValueWidh = useMemo(() => {\r\n\t\tif (sub_label_type === 3 || sub_label_type === 2) {\r\n\t\t\treturn 'w-3/12'\r\n\t\t}\r\n\r\n\t\treturn 'w-5/12'\r\n\t}, [sub_label_type])\r\n\r\n\tconst validationWidth = useMemo(() => {\r\n\t\tif (sub_label_type === 3 || sub_label_type === 2) {\r\n\t\t\treturn 'w-2/12'\r\n\t\t}\r\n\r\n\t\treturn 'w-3/12'\r\n\t}, [sub_label_type])\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{(sub_label_type === 3 || sub_label_type === 2) && (\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t\t\r\n\t\t\t\tสถานที่ในส่วนภูมิภาค\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\tสถานที่ในเขตกรุงเทพฯ และ ปริมณฑล\r\n\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n","import { Grid } from '@material-ui/core'\r\nimport { useWidthExcelInputWithValidation } from 'utils/useWidthExcelInputWithValidation'\r\nimport { useTimeQuarter } from 'utils/useTimeQuarter'\r\n\r\nexport default function ExcelSubHeader({ sub_label_type, isTwoPointThree }) {\r\n\tconst { quarter } = useTimeQuarter()\r\n\tconst { valueWidth, validationWidth, avgWidth } =\r\n\t\tuseWidthExcelInputWithValidation(sub_label_type)\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{(sub_label_type === 3 || sub_label_type === 2) && (\r\n\t\t\t\t{isTwoPointThree?null:'ภูมิภาค'}\r\n\t\t\t)}\r\n\t\t\t\r\n\t\t\t\t{isTwoPointThree ? 'เส้นทางสายหลักและสายรอง' : quarter.month1}\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t{isTwoPointThree ? 'เส้นทางในบริเวณพื้นที่ชุมชน' : quarter.month2}\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t{isTwoPointThree ? 'เส้นทางในเขตกรุงเทพฯ และปริมณฑล' : quarter.month3}\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t{isTwoPointThree\r\n\t\t\t\t\t? 'พื้นที่เฝ้าระวังอื่นที่กำหนดในแต่ละไตรมาส**'\r\n\t\t\t\t\t: 'ค่าเฉลี่ย'}\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\tผลการประเมิน\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n","import { Grid, Input, Button } from '@material-ui/core'\r\n\r\nexport default function SubLabelType1({\r\n\ttype,\r\n\tonFillForm,\r\n\tdatasetId,\r\n\tanswers,\r\n\tonOpenValidationModal,\r\n}) {\r\n\tconst answer = answers.find(item => item.dataSetItemID === datasetId)\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t\r\n\t\t\t\t{/* Months */}\r\n\t\t\t\t {\r\n\t\t\t\t\t\tonFillForm(type, datasetId, 'dataValueMonth1', e.target.value)\r\n\t\t\t\t\t}}\r\n\t\t\t\t\treadOnly\r\n\t\t\t\t\ttype=\"text\"\r\n\t\t\t\t/>\r\n\t\t\t\t {\r\n\t\t\t\t\t\tonFillForm(type, datasetId, 'dataValueMonth2', e.target.value)\r\n\t\t\t\t\t}}\r\n\t\t\t\t\treadOnly\r\n\t\t\t\t\ttype=\"text\"\r\n\t\t\t\t/>\r\n\t\t\t\t {\r\n\t\t\t\t\t\tonFillForm(type, datasetId, 'dataValueMonth3', e.target.value)\r\n\t\t\t\t\t}}\r\n\t\t\t\t\treadOnly\r\n\t\t\t\t\ttype=\"text\"\r\n\t\t\t\t/>\r\n\t\t\t\t{/* Average */}\r\n\t\t\t\t {\r\n\t\t\t\t\t\tonFillForm(type, datasetId, 'dataValueMonthAvg', e.target.value)\r\n\t\t\t\t\t}}\r\n\t\t\t\t\treadOnly\r\n\t\t\t\t\ttype=\"text\"\r\n\t\t\t\t/>\r\n\t\t\t\t{/* Validation */}\r\n\t\t\t\t\r\n\t\t\t\t{((!answer?.dataValueMonth1 || !answer?.dataValueMonth2 || !answer?.dataValueMonth3) && !answer?.isError) ? null : (answer?.isError ==='y' ? (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tonOpenValidationModal(\r\n\t\t\t\t\t\t\t\t\tdatasetId,\r\n\t\t\t\t\t\t\t\t\tanswer.reason,\r\n\t\t\t\t\t\t\t\t\tanswer.solution,\r\n\t\t\t\t\t\t\t\t\tanswer.periodSolution,\r\n\t\t\t\t\t\t\t\t\tanswer?.validateFileUrl\r\n\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t}>\r\n\t\t\t\t\t\t\tไม่ผ่านเกณฑ์\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tผ่านเกณฑ์\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t))}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n","import { Grid, Input, Button } from '@material-ui/core'\r\nexport default function SubLabelType2({\r\n\ttype,\r\n\tflags,\r\n\titem,\r\n\tonFillForm,\r\n\tanswers,\r\n\tonOpenValidationModal,\r\n}) {\r\n\tconst answer = answers.find(ans => ans.dataSetItemID === item.id)\r\n\tconst is2G = item.label.includes('2G') ? true : false\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t{!is2G ? (\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{item.label}\r\n\t\t\t\t\t\r\n\t\t\t\t\t{/* Months */}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\tonFillForm(type, item.id, 'dataValueMonth1', e.target.value)\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\ttype=\"text\"\r\n\t\t\t\t\t/>\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\tonFillForm(type, item.id, 'dataValueMonth2', e.target.value)\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\ttype=\"text\"\r\n\t\t\t\t\t/>\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\tonFillForm(type, item.id, 'dataValueMonth3', e.target.value)\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\ttype=\"text\"\r\n\t\t\t\t\t/>\r\n\t\t\t\t\t{/* Average */}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\tonFillForm(type, item.id, 'dataValueMonthAvg', e.target.value)\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\ttype=\"text\"\r\n\t\t\t\t\t/>\r\n\t\t\t\t\t{/* Validation */}\r\n\t\t\t\t\t\r\n\t\t\t\t\t{((!answer?.dataValueMonth1 || !answer?.dataValueMonth2 || !answer?.dataValueMonth3) && !answer?.isError) ? null : (answer?.isError ==='y' ? (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tonOpenValidationModal(\r\n\t\t\t\t\t\t\t\t\t\titem.id,\r\n\t\t\t\t\t\t\t\t\t\tanswer.reason,\r\n\t\t\t\t\t\t\t\t\t\tanswer.solution,\r\n\t\t\t\t\t\t\t\t\t\tanswer.periodSolution,\r\n\t\t\t\t\t\t\t\t\t\tanswer?.validateFileUrl\r\n\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t}>\r\n\t\t\t\t\t\t\t\tไม่ผ่านเกณฑ์\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tผ่านเกณฑ์\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t))}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t) : (\r\n\t\t\t\t<>\r\n\t\t\t)}\r\n\t\t\r\n\t)\r\n}\r\n","import { Grid, Input, Button } from '@material-ui/core'\r\nexport default function SubLabelType3({\r\n\ttype,\r\n\titem,\r\n\tonFillForm,\r\n\tanswers,\r\n\tonOpenValidationModal,\r\n}) {\r\n\tconst label_name = item.label_name\r\n\tconst childs = item.childs\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{/* Region */}\r\n\t\t\t\r\n\t\t\t\t{label_name}\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t\t{childs.map((child, index) => (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{child.label}\r\n\t\t\t\t\t\r\n\t\t\t\t))}\r\n\t\t\t\r\n\r\n\t\t\t{/* Months */}\r\n\t\t\t\r\n\t\t\t\t{childs.map((child, index) => {\r\n\t\t\t\t\tconst answer = answers.find(ans => ans.dataSetItemID === child.id)\r\n\r\n\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tonFillForm(type, child.id, 'dataValueMonth1', e.target.value)\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\ttype=\"text\"\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t)\r\n\t\t\t\t})}\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t{childs.map((child, index) => {\r\n\t\t\t\t\tconst answer = answers.find(ans => ans.dataSetItemID === child.id)\r\n\r\n\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tonFillForm(type, child.id, 'dataValueMonth2', e.target.value)\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\ttype=\"text\"\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t)\r\n\t\t\t\t})}\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t{childs.map((child, index) => {\r\n\t\t\t\t\tconst answer = answers.find(ans => ans.dataSetItemID === child.id)\r\n\r\n\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tonFillForm(type, child.id, 'dataValueMonth3', e.target.value)\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\ttype=\"text\"\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t)\r\n\t\t\t\t})}\r\n\t\t\t\r\n\r\n\t\t\t{/* Average */}\r\n\t\t\t\r\n\t\t\t\t{childs.map((child, index) => {\r\n\t\t\t\t\tconst answer = answers.find(ans => ans.dataSetItemID === child.id)\r\n\r\n\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tonFillForm(type, child.id, 'dataValueMonthAvg', e.target.value)\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\ttype=\"text\"\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t)\r\n\t\t\t\t})}\r\n\t\t\t\r\n\r\n\t\t\t{/* Validation */}\r\n\t\t\t\r\n\t\t\t\t{childs.map((child, index) => {\r\n\t\t\t\t\tconst answer = answers.find(ans => ans.dataSetItemID === child.id)\r\n\r\n\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{((!answer?.dataValueMonth1 || !answer?.dataValueMonth2 || !answer?.dataValueMonth3) && !answer?.isError) ? null : (answer?.isError ==='y' ? (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tonOpenValidationModal(\r\n\t\t\t\t\t\t\t\t\t\t\titem.id,\r\n\t\t\t\t\t\t\t\t\t\t\tanswer.reason,\r\n\t\t\t\t\t\t\t\t\t\t\tanswer.solution,\r\n\t\t\t\t\t\t\t\t\t\t\tanswer.periodSolution,\r\n\t\t\t\t\t\t\t\t\t\t\tanswer?.validateFileUrl\r\n\t\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t\t}>\r\n\t\t\t\t\t\t\t\t\tไม่ผ่านเกณฑ์\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tผ่านเกณฑ์\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)\r\n\t\t\t\t})}\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n","import { Grid, IconButton } from '@material-ui/core'\r\nimport { Archive } from '@material-ui/icons'\r\nimport { AuthenticatedLink } from 'components/AuthenticatedLink'\r\n\r\nexport default function File({ validateFileUrl , originalFileName }) {\r\n\treturn (\r\n\t\t\r\n\t\t\tดาวน์โหลดเอกสาร\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n","import { forwardRef, useEffect, useState } from 'react'\r\nimport {\r\n\tGrid,\r\n\tDialog,\r\n\tDialogContent,\r\n\tSlide,\r\n\tIconButton,\r\n\tDialogTitle,\r\n\tTextField,\r\n\tDivider,\r\n\tuseMediaQuery,\r\n} from '@material-ui/core'\r\nimport 'date-fns'\r\nimport DateFnsUtils from '@date-io/date-fns'\r\nimport {\r\n\tMuiPickersUtilsProvider,\r\n\tKeyboardDatePicker,\r\n} from '@material-ui/pickers'\r\nimport { useTheme } from '@material-ui/core/styles'\r\nimport { Close } from '@material-ui/icons'\r\n\r\nimport File from './file'\r\n\r\nexport default function ValidationModal({\r\n\topen = false,\r\n\tcurrentSelectedError = {\r\n\t\tdataSetItemID: '',\r\n\t\treason: '',\r\n\t\tsolution: '',\r\n\t\tperiodSolution: new Date(),\r\n\t\tvalidateFileUrl: null,\r\n\t},\r\n\tonClose,\r\n}) {\r\n\tconst theme = useTheme()\r\n\tconst fullScreen = useMediaQuery(theme.breakpoints.down('sm'))\r\n\r\n\tconst [invalidInputMethod, setInvalidInputMethod] = useState('message')\r\n\r\n\tuseEffect(() => {\r\n\t\tif (currentSelectedError.validateFileUrl) setInvalidInputMethod('attach')\r\n\t\telse setInvalidInputMethod('message')\r\n\t}, [currentSelectedError])\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tผลการประเมิน\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t{invalidInputMethod === 'message' && (\r\n\t\t\t\t\t<>\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{/* Reason */}\r\n\t\t\t\t\t\t\tเหตุผล*\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{/* How to solve */}\r\n\t\t\t\t\t\t\tวิธีการแก้ไข*\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{/* Duration */}\r\n\t\t\t\t\t\t\tระยะเวลาการแก้ไข*\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t\t{invalidInputMethod === 'attach' && (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n\r\nconst Transition = forwardRef(function Transtition(props, ref) {\r\n\treturn \r\n})\r\n","import { useState, useEffect } from 'react'\r\nimport { useReduceForm } from '../../../../../utils/useReduceForm'\r\nimport {\r\n\tGrid,\r\n\tCard,\r\n\tCardContent,\r\n\tDivider,\r\n\tuseMediaQuery,\r\n} from '@material-ui/core'\r\nimport { useTheme, makeStyles } from '@material-ui/styles'\r\n\r\nimport TwoPointThreeSubHeader from './two-point-three-header'\r\nimport ExcelSubHeader from './sub-header'\r\nimport SubLabelType1 from './sub-label-1'\r\nimport SubLabelType2 from './sub-label-2'\r\nimport SubLabelType3 from './sub-label-3'\r\nimport ValidationModal from '../validation-modal'\r\n\r\nimport { fixed_general_details } from '../../../../../data/standard-reportV2/fixed-general'\r\nimport { fixed_info_details } from '../../../../../data/standard-reportV2/fixed-info'\r\nimport { fixed_sound_details } from '../../../../../data/standard-reportV2/fixed-sound'\r\nimport { mobile_general_details } from '../../../../../data/standard-reportV2/mobile-general'\r\nimport { mobile_info_details } from '../../../../../data/standard-reportV2/mobile-info'\r\nimport { mobile_sound_details } from '../../../../../data/standard-reportV2/mobile-sound'\r\nimport { canceledListDetailNo } from '../../../../../data/standard-reportV2/canceledList';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n\tform_container: {\r\n\t\twidth: '700px',\r\n\t\toverflow: 'scroll',\r\n\t},\r\n}))\r\n\r\nexport default function StandardReportForm({\r\n\t// Main Component's State\r\n\tflags,\r\n\tpreField,\r\n\ttype,\r\n\tonFillForm,\r\n\t// Standard Report Answers\r\n\tfixedGeneralAnswers,\r\n\tfixedInfoAnswers,\r\n\tfixedSoundAnswers,\r\n\tmobileGeneralAnswers,\r\n\tmobileInfoAnswers,\r\n\tmobileSoundAnswers,\r\n\t// Validation\r\n\tcurrentSelectedError,\r\n\topenValidationModal,\r\n\tonOpenValidationModal,\r\n\tonCloseValidationModal,\r\n\t// Flags\r\n\toperatorFlag,\r\n}) {\r\n\tconst classes = useStyles()\r\n\tconst [report, setReport] = useState([])\r\n\tconst [reportName, setReportName] = useState('')\r\n\tconst [answers, setAnswers] = useState([])\r\n\tconst theme = useTheme()\r\n\tconst isMobile = useMediaQuery(theme.breakpoints.down('sm'))\r\n\tconst { form } = useReduceForm(report)\r\n\tconst nvmo_no = ['2.1.4', '2.1.5', '2.1.6']\r\n\r\n\tuseEffect(() => {\r\n\t\tif (type === 'fixed-general') setReport(fixed_general_details)\r\n\t\telse if (type === 'fixed-sound') setReport(fixed_sound_details)\r\n\t\telse if (type === 'fixed-info') setReport(fixed_info_details)\r\n\t\telse if (type === 'mobile-general') setReport(mobile_general_details)\r\n\t\telse if (type === 'mobile-sound') setReport(mobile_sound_details)\r\n\t\telse if (type === 'mobile-info') setReport(mobile_info_details)\r\n\r\n\t\tif (type === 'fixed-general')\r\n\t\t\tsetReportName('ส่วนที่ 1 ค่าชี้วัดคุณภาพบริการทั่วไป')\r\n\t\telse if (type === 'fixed-sound')\r\n\t\t\tsetReportName('ส่วนที่ 2 ค่าชี้วัดคุณภาพบริการประเภทเสียง')\r\n\t\telse if (type === 'fixed-info')\r\n\t\t\tsetReportName('ส่วนที่ 3 ค่าชี้วัดคุณภาพบริการประเภทข้อมูล')\r\n\t\telse if (type === 'mobile-general')\r\n\t\t\tsetReportName('ส่วนที่ 1 ค่าชี้วัดคุณภาพบริการทั่วไป')\r\n\t\telse if (type === 'mobile-sound')\r\n\t\t\tsetReportName('ส่วนที่ 2 ค่าชี้วัดคุณภาพบริการประเภทเสียง')\r\n\t\telse if (type === 'mobile-info')\r\n\t\t\tsetReportName('ส่วนที่ 3 ค่าชี้วัดคุณภาพบริการประเภทข้อมูล')\r\n\t}, [type])\r\n\r\n\tuseEffect(() => {\r\n\t\tconst tempAnswers = [\r\n\t\t\t...fixedGeneralAnswers,\r\n\t\t\t...fixedInfoAnswers,\r\n\t\t\t...fixedSoundAnswers,\r\n\t\t\t...mobileGeneralAnswers,\r\n\t\t\t...mobileInfoAnswers,\r\n\t\t\t...mobileSoundAnswers,\r\n\t\t]\r\n\t\tsetAnswers(tempAnswers)\r\n\t}, [\r\n\t\tfixedGeneralAnswers,\r\n\t\tfixedInfoAnswers,\r\n\t\tfixedSoundAnswers,\r\n\t\tmobileGeneralAnswers,\r\n\t\tmobileInfoAnswers,\r\n\t\tmobileSoundAnswers,\r\n\t])\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t\r\n\t\t\t\t{reportName}\r\n\t\t\t\t\r\n\t\t\t\t\tไม่ต้องกำหนดข้อมูล ถ้าท่านไม่มีการให้บริการในข้อใด หรือ\r\n\t\t\t\t\tรายละเอียดของชุดข้อมูลนั้นๆ\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{form.map((detail, index) => {\r\n\t\t\t\t\t\t\tconst isNeedAnswer = detail.isNeedAnswer\r\n\t\t\t\t\t\t\tconst sub_label_type = detail.sub_labels.sub_label_type\r\n\t\t\t\t\t\t\tconst labels = detail.sub_labels.labels\r\n\t\t\t\t\t\t\tconst isNVMO = flags?.NVMO && nvmo_no.includes(detail.no)\r\n\t\t\t\t\t\t\tconst isPayPhone = operatorFlag?.isPayphone\r\n\t\t\t\t\t\t\tconst is2G = operatorFlag?.is2G\r\n\t\t\t\t\t\t\tconst isTwoPointThree = detail.no.includes('2.3.' || '2.2.')\r\n\t\t\t\t\t\t\tconst canceledList = canceledListDetailNo\r\n\t\t\t\t\t\t\t// if detail no in cancledListDetailNo\r\n\t\t\t\t\t\t\tif (canceledList.includes(detail.no)) {\r\n\t\t\t\t\t\t\t\treturn <>\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\telse if (detail.no !== '1.1.7')\r\n\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{/* Header */}\r\n\t\t\t\t\t\t\t\t\t\tข้อ\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\tค่าชี้วัดคุณภาพบริการ\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tค่าเป้าหมาย\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\tเงื่อนไขการกรอกข้อมูล\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{/* Divider */}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{/* Questions */}\r\n\t\t\t\t\t\t\t\t\t\t{/* ข้อ */}\r\n\t\t\t\t\t\t\t\t\t\t{detail.no}\r\n\t\t\t\t\t\t\t\t\t\t{/* ค่าชี้วัดคุณภาพบริการ */}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{detail.label}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{/* ค่าเป้าหมาย */}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{detail.targeted_text.map((item, index) => {\r\n\t\t\t\t\t\t\t\t\t\t\t\tconst matchedLabel = labels[index]\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\tif (sub_label_type === 2 && matchedLabel) {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tif (matchedLabel.label.includes('2G') && !is2G)\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\treturn <>\r\n\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\treturn {item}\r\n\t\t\t\t\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{/* เงื่อนไชการกรอกข้อมูล */}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t*{detail.filling_condition}\r\n\t\t\t\t\t\t\t\t\t\t\t{isNVMO && * มี MVNO}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{/* รายละเอียดชุดข้อมูล */}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{/* Header */}\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\tผลการวัด\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{/* Two Point Three Sub Header */}\r\n\t\t\t\t\t\t\t\t\t\t\t{isTwoPointThree && (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t{/* Sub Header */}\r\n\t\t\t\t\t\t\t\t\t\t\t{isNeedAnswer && (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t{/* Content */}\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t{/* Sub Label Type 1 */}\r\n\t\t\t\t\t\t\t\t\t\t\t{isNeedAnswer && sub_label_type === 1 && (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t{/* Sub Label Type 2 */}\r\n\t\t\t\t\t\t\t\t\t\t\t{isNeedAnswer &&\r\n\t\t\t\t\t\t\t\t\t\t\t\tsub_label_type === 2 &&\r\n\t\t\t\t\t\t\t\t\t\t\t\tlabels.map((item, index) => (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t))}\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t{/* Sub Label Type 3 */}\r\n\t\t\t\t\t\t\t\t\t\t\t{isNeedAnswer &&\r\n\t\t\t\t\t\t\t\t\t\t\t\tsub_label_type === 3 &&\r\n\t\t\t\t\t\t\t\t\t\t\t\tlabels.map(item => (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)\r\n\r\n\t\t\t\t\t\t\tif (detail.no === '1.1.7' && isPayPhone)\r\n\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{/* Header */}\r\n\t\t\t\t\t\t\t\t\t\tข้อ\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\tค่าชี้วัดคุณภาพบริการ\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tค่าเป้าหมาย\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\tเงื่อนไขการกรอกข้อมูล\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{/* Divider */}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{/* Questions */}\r\n\t\t\t\t\t\t\t\t\t\t{/* ข้อ */}\r\n\t\t\t\t\t\t\t\t\t\t{detail.no}\r\n\t\t\t\t\t\t\t\t\t\t{/* ค่าชี้วัดคุณภาพบริการ */}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{detail.label}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{/* ค่าเป้าหมาย */}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{detail.targeted_text.map((item, index) => (\r\n\t\t\t\t\t\t\t\t\t\t\t\t{item}\r\n\t\t\t\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{/* เงื่อนไชการกรอกข้อมูล */}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t*{detail.filling_condition}\r\n\t\t\t\t\t\t\t\t\t\t\t{isNVMO && * มี NVMO}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{/* รายละเอียดชุดข้อมูล */}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{/* Header */}\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\tผลการวัด\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{/* Sub Header */}\r\n\t\t\t\t\t\t\t\t\t\t\t{isNeedAnswer && (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t{/* Content */}\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t{/* Sub Label Type 1 */}\r\n\t\t\t\t\t\t\t\t\t\t\t{isNeedAnswer && sub_label_type === 1 && (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t{/* Sub Label Type 2 */}\r\n\t\t\t\t\t\t\t\t\t\t\t{isNeedAnswer &&\r\n\t\t\t\t\t\t\t\t\t\t\t\tsub_label_type === 2 &&\r\n\t\t\t\t\t\t\t\t\t\t\t\tlabels.map((item, index) => (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t))}\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t{/* Sub Label Type 3 */}\r\n\t\t\t\t\t\t\t\t\t\t\t{isNeedAnswer &&\r\n\t\t\t\t\t\t\t\t\t\t\t\tsub_label_type === 3 &&\r\n\t\t\t\t\t\t\t\t\t\t\t\tlabels.map(item => (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)\r\n\r\n\t\t\t\t\t\t\treturn <>\r\n\t\t\t\t\t\t})}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n","import { useEffect } from 'react'\r\nimport { Card, CardContent, Grid, Divider } from '@material-ui/core'\r\nimport { Place, DirectionsWalk } from '@material-ui/icons'\r\n\r\nimport StandardReportForm from './excel'\r\n\r\nexport default function ReportCard({\r\n\t// Main Component's State\r\n\tflags,\r\n\ttype,\r\n\tpreField,\r\n\tonFillForm,\r\n\t// Standard Report Answers\r\n\tfixedGeneralAnswers,\r\n\tfixedInfoAnswers,\r\n\tfixedSoundAnswers,\r\n\tmobileGeneralAnswers,\r\n\tmobileInfoAnswers,\r\n\tmobileSoundAnswers,\r\n\t// Validation\r\n\tcurrentSelectedError,\r\n\topenValidationModal,\r\n\tonOpenValidationModal,\r\n\tonCloseValidationModal,\r\n\t// Flags\r\n\toperatorFlag,\r\n}) {\r\n\tuseEffect(() => {\r\n\t\twindow.scrollTo(0, 0)\r\n\t}, [type])\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{type.includes('fixed') ? (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t{type.includes('fixed') ? (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tแบบประจำที่ (Fixed)\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tแบบเคลื่อนที่ (Mobile)\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n","import { Grid } from '@material-ui/core'\r\n\r\nimport ReportCard from '../form'\r\n\r\nexport default function StandardReportStep2({\r\n\tlist,\r\n\tcurrentFilledFormIndex,\r\n\t// Standard Report Answers\r\n\tfixedGeneralAnswers,\r\n\tfixedInfoAnswers,\r\n\tfixedSoundAnswers,\r\n\tmobileGeneralAnswers,\r\n\tmobileInfoAnswers,\r\n\tmobileSoundAnswers,\r\n\t// Validation\r\n\tcurrentSelectedError,\r\n\topenValidationModal,\r\n\tonOpenValidationModal,\r\n\tonCloseValidationModal,\r\n}) {\r\n\treturn (\r\n\t\t<>\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n","import Step1 from './step-1'\r\nimport Step2 from './step-2'\r\n\r\nexport default function getStepContent(\r\n\tstep,\r\n\trowData,\r\n\t// Standard Report State\r\n\treportTypes,\r\n\tcurrentFilledFormIndex,\r\n\t// Standard Report Answers\r\n\tfixedGeneralAnswers,\r\n\tfixedInfoAnswers,\r\n\tfixedSoundAnswers,\r\n\tmobileGeneralAnswers,\r\n\tmobileInfoAnswers,\r\n\tmobileSoundAnswers,\r\n\tdataSetFilesUpload,\r\n\t// Validation\r\n\tcurrentSelectedError,\r\n\topenValidationModal,\r\n\tonOpenValidationModal,\r\n\tonCloseValidationModal\r\n) {\r\n\tswitch (step) {\r\n\t\tcase 0:\r\n\t\t\treturn \r\n\t\tcase 1:\r\n\t\t\treturn (\r\n\t\t\t\t\r\n\t\t\t)\r\n\t\tdefault:\r\n\t\t\treturn 'Unknown step'\r\n\t}\r\n}\r\n","import React, { useState, useEffect, useCallback } from 'react'\r\nimport { useHistory } from 'react-router'\r\nimport {\r\n\tGrid,\r\n\tTypography,\r\n\tStep,\r\n\tStepper,\r\n\tStepConnector,\r\n\tStepLabel,\r\n\tButton,\r\n} from '@material-ui/core'\r\nimport { Description, Spellcheck, Check, Assignment } from '@material-ui/icons'\r\n\r\nimport SendingStandardReportModalSuccess from '../../../../components/admin/sent/modal'\r\nimport SomethingWentWrongModal from '@components/users/standard-report-validation/something-went-wrong-modal'\r\nimport { convertNumber } from 'utils/convertExcelNumber'\r\nimport { useParams } from 'react-router-dom'\r\nimport getStepContent from '../../../../components/admin/sent'\r\nimport { makeStyles, withStyles } from '@material-ui/core/styles'\r\nimport clsx from 'clsx'\r\nimport PropTypes from 'prop-types'\r\nimport { useStoreRehydrated } from '../../../../store'\r\nimport { datasetRecord } from '../../../../api'\r\nimport { useLoaded } from '../../../../utils/useLoaded'\r\nimport { format } from 'date-fns'\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n\troot: {\r\n\t\twidth: '100%',\r\n\t},\r\n\tbutton: {\r\n\t\tmarginRight: theme.spacing(1),\r\n\t},\r\n\tinstructions: {\r\n\t\tmarginTop: theme.spacing(1),\r\n\t\tmarginBottom: theme.spacing(1),\r\n\t},\r\n\tnon_approve_button: {\r\n\t\tbackgroundColor: '#c33939',\r\n\t\tcolor: 'white',\r\n\t\t'&:hover': {\r\n\t\t\tbackgroundColor: '#a33e3e',\r\n\t\t},\r\n\t},\r\n}))\r\n\r\nconst Connector = withStyles({\r\n\talternativeLabel: {\r\n\t\ttop: 22,\r\n\t},\r\n\tactive: {\r\n\t\t'& $line': {\r\n\t\t\tbackgroundColor: '#a74345',\r\n\t\t},\r\n\t},\r\n\tcompleted: {\r\n\t\t'& $line': {\r\n\t\t\tbackgroundColor: '#a74345',\r\n\t\t},\r\n\t},\r\n\tline: {\r\n\t\theight: 3,\r\n\t\tborder: 0,\r\n\t\tbackgroundColor: '#eaeaf0',\r\n\t\tborderRadius: 1,\r\n\t},\r\n})(StepConnector)\r\n\r\nconst useStepStyles = makeStyles({\r\n\troot: {\r\n\t\tbackgroundColor: '#ccc',\r\n\t\tzIndex: 1,\r\n\t\tcolor: '#fff',\r\n\t\twidth: 50,\r\n\t\theight: 50,\r\n\t\tdisplay: 'flex',\r\n\t\tborderRadius: '50%',\r\n\t\tjustifyContent: 'center',\r\n\t\talignItems: 'center',\r\n\t},\r\n\tactive: {\r\n\t\tbackgroundColor: '#a74345',\r\n\t\tboxShadow: '0 4px 10px 0 rgba(0,0,0,.25)',\r\n\t},\r\n\tcompleted: {\r\n\t\tbackgroundColor: '#a74345',\r\n\t},\r\n})\r\n\r\nfunction getSteps() {\r\n\treturn ['รายละเอียดการส่ง', 'รายละเอียดรายงาน']\r\n}\r\n\r\nexport default function StandardReportValidationDetails({ match }) {\r\n\tconst isReHydrated = useStoreRehydrated()\r\n\tconst history = useHistory()\r\n\tconst { id } = useParams()\r\n\tconst classes = useStyles()\r\n\tconst steps = getSteps()\r\n\tconst [activeStep, setActiveStep] = useState(0)\r\n\tconst [openStandardReportSuccessModal, setOpenStandardReportSuccessModal] =\r\n\t\tuseState(false)\r\n\t// Type of Standard Report\r\n\tconst [reportTypes, setReportTypes] = useState([])\r\n\t// Current Page of Required Filled Standard Report Form\r\n\tconst [currentFilledFormIndex, setCurrentFilledFormIndex] = useState(0)\r\n\t// Standard Report Form Answers\r\n\tconst [fixedGeneralAnswers, setFixedGeneralAnswers] = useState([])\r\n\tconst [fixedInfoAnswers, setFixedInfoAnswers] = useState([])\r\n\tconst [fixedSoundAnswers, setFixedSoundAnswers] = useState([])\r\n\tconst [mobileGeneralAnswers, setMobileGeneralAnswers] = useState([])\r\n\tconst [mobileInfoAnswers, setMobileInfoAnswers] = useState([])\r\n\tconst [mobileSoundAnswers, setMobileSoundAnswers] = useState([])\r\n\tconst loaded = useLoaded()\r\n\tconst [dataSetFilesUpload, setDataSetFilesUpload] = useState([])\r\n\tconst [openSomethingWentWrongModal, setSomethingWentWrongModal] =\r\n\t\tuseState(false)\r\n\tconst [currentSelectedError, setCurrentSelectedError] = useState({\r\n\t\tdataSetItemID: '',\r\n\t\treason: '',\r\n\t\tsolution: '',\r\n\t\tperiodSolution: '',\r\n\t\tvalidateFileUrl: null,\r\n\t})\r\n\tconst [openValidationModal, setOpenValidationModal] = useState(false)\r\n\r\n\t/** ---------------------------------------------- */\r\n\r\n\t/** Main Handler Function */\r\n\r\n\tconst onOpenStandardReportSuccessModal = () =>\r\n\t\tsetOpenStandardReportSuccessModal(!openStandardReportSuccessModal)\r\n\r\n\tconst onAgreeStandardReportSuccessModalCTA = () => {\r\n\t\tonOpenStandardReportSuccessModal()\r\n\t\thistory.push({\r\n\t\t\tpathname: '/admin/standard-report',\r\n\t\t})\r\n\t}\r\n\r\n\tconst handleNext = () => {\r\n\t\tsetActiveStep(prevActiveStep => prevActiveStep + 1)\r\n\t}\r\n\r\n\tconst handleBack = () => {\r\n\t\tif (activeStep === 0) history.push('/admin/sent')\r\n\t\telse setActiveStep(prevActiveStep => prevActiveStep - 1)\r\n\t}\r\n\r\n\tconst changeStatusReportHead = async () => {\r\n\t\tconst { status } = await datasetRecord.changeStatusReportHeadAdmin(id, 5)\r\n\t\tif (status === 200) onOpenStandardReportSuccessModal()\r\n\t}\r\n\r\n\tfunction StepperIcon(props) {\r\n\t\tconst classes = useStepStyles()\r\n\t\tconst { active, completed } = props\r\n\r\n\t\tconst icons = {\r\n\t\t\t1: ,\r\n\t\t\t2: ,\r\n\t\t\t3: ,\r\n\t\t}\r\n\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t{completed ? : icons[String(props.icon)]}\r\n\t\t\t
\r\n\t\t)\r\n\t}\r\n\r\n\tStepperIcon.propTypes = {\r\n\t\tactive: PropTypes.bool,\r\n\t\tcompleted: PropTypes.bool,\r\n\t\ticon: PropTypes.node,\r\n\t}\r\n\r\n\tconst [rowData, setRowData] = useState([])\r\n\r\n\tconst onLanding = useCallback(async () => {\r\n\t\tconst res = await datasetRecord.getListDetailsAdmin(id)\r\n\r\n\t\tconst tempFixedGeneralAnswers = []\r\n\t\tconst tempFixedSoundAnswers = []\r\n\t\tconst tempFixedInfoAnswers = []\r\n\t\tconst tempMobileGeneralAnswers = []\r\n\t\tconst tempMobileSoundAnswers = []\r\n\t\tconst tempMobileInfoAnswers = []\r\n\r\n\t\t/**\r\n\t\t * Answer Object Example:\r\n\t\t * {\r\n\t\t * \tdataSetItemID: Integer,\r\n\t\t * dataValueMonth1: String,\r\n\t\t * dataValueMonth2: String,\r\n\t\t * dataValueMonth3: String,\r\n\t\t * dataValueMonthAvg: String,\r\n\t\t * }\r\n\t\t */\r\n\t\tif (res) {\r\n\t\t\t// ANSWERS\r\n\r\n\t\t\tres.data.forEach(item => {\r\n\t\t\t\tconst newitem = {...item,dataSetItemID: item.dataSetItemID,\r\n\t\t\t\t\tdataValueMonth1: item.dataValueMonth1 ? convertNumber(item.dataValueMonth1,true) :'',\r\n\t\t\t\t\tdataValueMonth2: item.dataValueMonth2 ? convertNumber(item.dataValueMonth2,true) :'',\r\n\t\t\t\t\tdataValueMonth3: item.dataValueMonth3 ? convertNumber(item.dataValueMonth3,true) :'',\r\n\t\t\t\t\tdataValueMonthAvg: item.dataValueMonthAvg ? convertNumber(item.dataValueMonthAvg,true) :''}\r\n\t\t\t\tif (item.dataSetItemID <= 10)\r\n\t\t\t\t\ttempFixedGeneralAnswers.push(newitem);\r\n\t\t\t\telse if (item.dataSetItemID <= 20)\r\n\t\t\t\t\ttempFixedSoundAnswers.push(newitem);\r\n\t\t\t\telse if (item.dataSetItemID <= 30)\r\n\t\t\t\t\ttempFixedInfoAnswers.push(newitem);\r\n\t\t\t\telse if (item.dataSetItemID <= 40)\r\n\t\t\t\t\ttempMobileGeneralAnswers.push(newitem);\r\n\t\t\t\telse if (item.dataSetItemID <= 200)\r\n\t\t\t\t\ttempMobileSoundAnswers.push(newitem);\r\n\t\t\t\telse if (item.dataSetItemID > 200)\r\n\t\t\t\t\ttempMobileInfoAnswers.push(newitem);\r\n\t\t\t})\r\n\r\n\t\t\tlet tempReportTypes = []\r\n\r\n\t\t\tif (tempFixedGeneralAnswers.length !== 0)\r\n\t\t\t\ttempReportTypes.push('fixed-general')\r\n\r\n\t\t\tif (tempFixedSoundAnswers.length !== 0)\r\n\t\t\t\ttempReportTypes.push('fixed-sound')\r\n\r\n\t\t\tif (tempFixedInfoAnswers.length !== 0) tempReportTypes.push('fixed-info')\r\n\r\n\t\t\tif (tempMobileGeneralAnswers.length !== 0)\r\n\t\t\t\ttempReportTypes.push('mobile-general')\r\n\r\n\t\t\tif (tempMobileSoundAnswers.length !== 0)\r\n\t\t\t\ttempReportTypes.push('mobile-sound')\r\n\r\n\t\t\tif (tempMobileInfoAnswers.length !== 0)\r\n\t\t\t\ttempReportTypes.push('mobile-info')\r\n\r\n\t\t\t// setFormAmount(tempFormAmount)\r\n\t\t\tsetReportTypes(tempReportTypes)\r\n\r\n\t\t\tsetFixedGeneralAnswers(tempFixedGeneralAnswers)\r\n\t\t\tsetFixedSoundAnswers(tempFixedSoundAnswers)\r\n\t\t\tsetFixedInfoAnswers(tempFixedInfoAnswers)\r\n\t\t\tsetMobileGeneralAnswers(tempMobileGeneralAnswers)\r\n\t\t\tsetMobileSoundAnswers(tempMobileSoundAnswers)\r\n\t\t\tsetMobileInfoAnswers(tempMobileInfoAnswers)\r\n\r\n\t\t\t// DATA SET FILES UPLOAD\r\n\t\t\tconst tempFiles = []\r\n\r\n\t\t\tres.files.forEach(file => {\r\n\t\t\t\tif (!tempFiles[file.category]) tempFiles[file.category] = []\r\n\r\n\t\t\t\ttempFiles[file.category].push(file)\r\n\t\t\t})\r\n\r\n\t\t\tif (res?.files?.length === 0 && res?.data?.length === 0)\r\n\t\t\t\tsetSomethingWentWrongModal(true)\r\n\r\n\t\t\tsetDataSetFilesUpload(tempFiles)\r\n\r\n\t\t\tlet rowDataTemp = {\r\n\t\t\t\tname: res.info.operatorUserName,\r\n\t\t\t\tcompanyName: res.info.operatorName,\r\n\t\t\t\tsubmit_date: format(new Date(res.info.sendToAdminAt), 'dd/MM/yyyy'),\r\n\t\t\t\tstatus: res.info.status,\r\n\t\t\t\tdataTypeList: res.info.reportType,\r\n\t\t\t}\r\n\t\t\tsetRowData(rowDataTemp)\r\n\t\t}\r\n\t}, [id])\r\n\r\n\t/** ---------------------------------------------- */\r\n\r\n\t/** Step 2 */\r\n\r\n\tconst onIncrementCurrentFilledFormIndex = () =>\r\n\t\tsetCurrentFilledFormIndex(currentFilledFormIndex + 1)\r\n\r\n\tconst onDecrementCurrentFilledFormIndex = () =>\r\n\t\tsetCurrentFilledFormIndex(currentFilledFormIndex - 1)\r\n\r\n\tconst onOpenValidationModal = (\r\n\t\tdataSetItemID,\r\n\t\treason,\r\n\t\tsolution,\r\n\t\tperiodSolution,\r\n\t\tvalidateFileUrl\r\n\t) => {\r\n\t\tsetCurrentSelectedError({\r\n\t\t\tdataSetItemID,\r\n\t\t\treason,\r\n\t\t\tsolution,\r\n\t\t\tperiodSolution,\r\n\t\t\tvalidateFileUrl,\r\n\t\t})\r\n\r\n\t\tsetOpenValidationModal(true)\r\n\t}\r\n\r\n\tconst onCloseValidationModal = () => setOpenValidationModal(false)\r\n\r\n\t/** ---------------------------------------------- */\r\n\r\n\t/** Main Rendering */\r\n\r\n\tuseEffect(() => {\r\n\t\twindow.scrollTo(0, 0)\r\n\t}, [])\r\n\r\n\tuseEffect(() => {\r\n\t\tif (isReHydrated) onLanding()\r\n\t\t// eslint-disable-next-line\r\n\t}, [isReHydrated])\r\n\r\n\t/** ---------------------------------------------- */\r\n\r\n\treturn (\r\n\t\tloaded && (\r\n\t\t\t<>\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t}>\r\n\t\t\t\t\t\t\t{steps.map((label, index) => (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{label}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{activeStep === steps.length ? (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tAll steps completed - you're finished\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{getStepContent(\r\n\t\t\t\t\t\t\t\t\t\t\t\tactiveStep,\r\n\t\t\t\t\t\t\t\t\t\t\t\trowData,\r\n\t\t\t\t\t\t\t\t\t\t\t\t// Standard Report State,\r\n\t\t\t\t\t\t\t\t\t\t\t\treportTypes,\r\n\t\t\t\t\t\t\t\t\t\t\t\tcurrentFilledFormIndex,\r\n\t\t\t\t\t\t\t\t\t\t\t\t// Standard Report Answers\r\n\t\t\t\t\t\t\t\t\t\t\t\tfixedGeneralAnswers,\r\n\t\t\t\t\t\t\t\t\t\t\t\tfixedInfoAnswers,\r\n\t\t\t\t\t\t\t\t\t\t\t\tfixedSoundAnswers,\r\n\t\t\t\t\t\t\t\t\t\t\t\tmobileGeneralAnswers,\r\n\t\t\t\t\t\t\t\t\t\t\t\tmobileInfoAnswers,\r\n\t\t\t\t\t\t\t\t\t\t\t\tmobileSoundAnswers,\r\n\t\t\t\t\t\t\t\t\t\t\t\tdataSetFilesUpload,\r\n\t\t\t\t\t\t\t\t\t\t\t\t// Validation\r\n\t\t\t\t\t\t\t\t\t\t\t\tcurrentSelectedError,\r\n\t\t\t\t\t\t\t\t\t\t\t\topenValidationModal,\r\n\t\t\t\t\t\t\t\t\t\t\t\tonOpenValidationModal,\r\n\t\t\t\t\t\t\t\t\t\t\t\tonCloseValidationModal\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tif (activeStep === 1 && currentFilledFormIndex !== 0)\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonDecrementCurrentFilledFormIndex()\r\n\t\t\t\t\t\t\t\t\t\t\t\t\telse handleBack()\r\n\t\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\t\tvariant=\"contained\"\r\n\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"w-36\">\r\n\t\t\t\t\t\t\t\t\t\t\t\tย้อนกลับ\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tif (activeStep === 2) {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t// onOpenStandardReportSuccessModal()\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tchangeStatusReportHead(id, 3)\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tif (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tactiveStep === 1 &&\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcurrentFilledFormIndex < reportTypes.length - 1\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonIncrementCurrentFilledFormIndex()\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\telse if (activeStep !== steps.length - 1)\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\thandleNext()\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\t\tclassName={`w-36`}>\r\n\t\t\t\t\t\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t{activeStep !== steps.length - 1\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t? activeStep === 0\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? 'ถัดไป'\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: 'รายงานถัดไป'\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t: 'ถัดไป'}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\r\n\t\t\t\t\r\n\t\t\t\t history.goBack()}\r\n\t\t\t\t/>\r\n\t\t\t\r\n\t\t)\r\n\t)\r\n}\r\n","import { useState, useEffect } from 'react'\r\nimport { Grid, Divider, IconButton, useMediaQuery } from '@material-ui/core'\r\nimport { DataGrid, GridOverlay } from '@material-ui/data-grid'\r\nimport { ViewComfy, Info } from '@material-ui/icons'\r\n\r\n// import OrgActions from '../org-actions'\r\n\r\nimport { makeStyles } from '@material-ui/core/styles'\r\nimport { useTheme } from '@material-ui/core/styles'\r\n\r\nimport { org_status } from '../../../../data/organization-user/organization-user-status'\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n\tadd_button_styles: {\r\n\t\tbackgroundColor: '#3C8DBC',\r\n\t\tcolor: theme.palette.primary.contrastText,\r\n\t\t'&:hover': {\r\n\t\t\tbackgroundColor: '#2f6f94',\r\n\t\t},\r\n\t},\r\n\tnormal_status_box: {\r\n\t\tbackgroundColor: '#3C8DBC',\r\n\t\tcolor: '#fff',\r\n\t},\r\n\tban_temp_box: {\r\n\t\tbackgroundColor: '#F39C11',\r\n\t\tcolor: '#fff',\r\n\t},\r\n\texpired_box: {\r\n\t\tbackgroundColor: '#DD4C39',\r\n\t\tcolor: '#fff',\r\n\t},\r\n\tnormal_status_text: {\r\n\t\tcolor: '#3C8DBC',\r\n\t\tfontWeight: 600,\r\n\t},\r\n\tban_temp_text: {\r\n\t\tcolor: '#F39C11',\r\n\t\tfontWeight: 600,\r\n\t},\r\n\texpired_text: {\r\n\t\tcolor: '#DD4C39',\r\n\t\tfontWeight: 600,\r\n\t},\r\n}))\r\n\r\nexport default function OrgSearchResult({\r\n\tuser,\r\n\tonOpenUserModal,\r\n\tsetUserModalType,\r\n\tonOpenDeleteUserModal,\r\n\tsetCurrentEditUserID,\r\n\tgetAdminRoleFromID,\r\n\tisDataLoading = false,\r\n}) {\r\n\tconst classes = useStyles()\r\n\tconst [pageSize, setPageSize] = useState(10)\r\n\tconst theme = useTheme()\r\n\tconst isMobile = useMediaQuery(theme.breakpoints.down('sm'))\r\n\r\n\tconst [columnsId, setColumnsId] = useState([100, 0])\r\n\tconst [columnsName, setColumnsName] = useState([180, 0])\r\n\t// const [columnsEmail, setColumnsEmail] = useState([180, 0])\r\n\t// eslint-disable-next-line\r\n\tconst [columnsCitizenId, setColumnsCitizenId] = useState([250, 0])\r\n\t// eslint-disable-next-line\r\n\tconst [columnsPhoneNumber, setColumnsPhoneNumber] = useState([250, 0])\r\n\tconst [columnsDuty, setColumnsDuty] = useState([150, 0])\r\n\tconst [columnsStatus, setColumnsStatus] = useState([150, 0])\r\n\tconst [columnsActions, setColumnsActions] = useState([150, 0])\r\n\r\n\tconst columns = [\r\n\t\t{\r\n\t\t\tfield: 'id',\r\n\t\t\theaderName: 'ลำดับ',\r\n\t\t\twidth: columnsId[0],\r\n\t\t\tflex: columnsId[1],\r\n\t\t\theaderAlign: 'left',\r\n\t\t\talign: 'left',\r\n\t\t\trenderCell: params => (\r\n\t\t\t\t{params.value}\r\n\t\t\t),\r\n\t\t},\r\n\t\t{\r\n\t\t\tfield: 'name',\r\n\t\t\theaderName: 'ชื่อ-นามสกุล',\r\n\t\t\twidth: columnsName[0],\r\n\t\t\tflex: columnsName[1],\r\n\t\t\theaderAlign: 'left',\r\n\t\t\talign: 'left',\r\n\t\t\trenderCell: params => (\r\n\t\t\t\t{params.value}\r\n\t\t\t),\r\n\t\t},\r\n\t\t{\r\n\t\t\tfield: 'adminRoleID',\r\n\t\t\theaderName: 'หน้าที่',\r\n\t\t\twidth: columnsDuty[0],\r\n\t\t\tflex: columnsDuty[1],\r\n\t\t\theaderAlign: 'left',\r\n\t\t\talign: 'left',\r\n\t\t\trenderCell: params => {\r\n\t\t\t\treturn (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{getAdminRoleFromID(params.value)}\r\n\t\t\t\t\t\r\n\t\t\t\t)\r\n\t\t\t},\r\n\t\t},\r\n\t\t{\r\n\t\t\tfield: 'status',\r\n\t\t\theaderName: 'สถานะผู้ใช้งาน',\r\n\t\t\twidth: columnsStatus[0],\r\n\t\t\tflex: columnsStatus[1],\r\n\t\t\theaderAlign: 'left',\r\n\t\t\talign: 'left',\r\n\t\t\trenderCell: params => {\r\n\t\t\t\treturn (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{org_status[params.value]}\r\n\t\t\t\t\t\r\n\t\t\t\t)\r\n\t\t\t},\r\n\t\t},\r\n\t\t{\r\n\t\t\tfield: 'actions',\r\n\t\t\theaderName: 'ดูรายละเอียด',\r\n\t\t\twidth: columnsActions[0],\r\n\t\t\tflex: columnsActions[1],\r\n\t\t\theaderAlign: 'center',\r\n\t\t\talign: 'center',\r\n\t\t\trenderCell: params => (\r\n\t\t\t\t {\r\n\t\t\t\t\t\tsetCurrentEditUserID(params.row.adminId)\r\n\t\t\t\t\t\tonOpenUserModal()\r\n\t\t\t\t\t}}>\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t// \r\n\t\t\t),\r\n\t\t},\r\n\t]\r\n\r\n\tuseEffect(() => {\r\n\t\tif (isMobile) {\r\n\t\t\tsetColumnsId([100, 0])\r\n\t\t\tsetColumnsName([180, 0])\r\n\t\t\t// setColumnsEmail([180, 0])\r\n\t\t\t// setColumnsCitizenId([250, 0])\r\n\t\t\t// setColumnsPhoneNumber([250, 0])\r\n\t\t\tsetColumnsDuty([150, 0])\r\n\t\t\tsetColumnsStatus([150, 0])\r\n\t\t\tsetColumnsActions([150, 0])\r\n\t\t} else {\r\n\t\t\tsetColumnsId([0, 0.7])\r\n\t\t\tsetColumnsName([0, 1])\r\n\t\t\t// setColumnsEmail([0, 1])\r\n\t\t\t// setColumnsCitizenId([0, 1])\r\n\t\t\t// setColumnsPhoneNumber([0, 1])\r\n\t\t\tsetColumnsDuty([0, 1])\r\n\t\t\tsetColumnsStatus([0, 1])\r\n\t\t\tsetColumnsActions([0, 0.8])\r\n\t\t}\r\n\t}, [isMobile])\r\n\r\n\tconst statusBoxGenerator = status => {\r\n\t\tif (status === 1) return classes.normal_status_text\r\n\t\telse if (status === 2) return classes.ban_temp_text\r\n\t\telse if (status === 3) return classes.expired_text\r\n\t}\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tผลการค้นหา\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{/* \r\n\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t}}\r\n\t\t\t\t\t/> */}\r\n\t\t\t\t\t{/* {\r\n\t\t\t\t\t\t\tsetUserModalType('add')\r\n\t\t\t\t\t\t\tonOpenUserModal()\r\n\t\t\t\t\t\t}}>\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\tเพิ่ม\r\n\t\t\t\t\t */}\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t setPageSize(size)}\r\n\t\t\t\t\t\tcomponents={{\r\n\t\t\t\t\t\t\tNoRowsOverlay: () => {\r\n\t\t\t\t\t\t\t\tif (!isDataLoading) {\r\n\t\t\t\t\t\t\t\t\treturn ไม่พบข้อมูล;\r\n\t\t\t\t\t\t\t\t}else{\r\n\t\t\t\t\t\t\t\t\treturn กำลังประมวลผลข้อมูล โปรดรอสักครู่..;\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}}\r\n\t\t\t\t\t/>\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n","import { forwardRef, useRef, useEffect } from 'react'\r\nimport {\r\n\tTypography,\r\n\tDialog,\r\n\tDialogTitle,\r\n\tDialogActions,\r\n\tDialogContent,\r\n\tSlide,\r\n\tButton,\r\n\tGrid,\r\n\tuseMediaQuery,\r\n\tIconButton,\r\n\tTextField,\r\n\tDivider,\r\n\tFormControl,\r\n\tSelect,\r\n\tMenuItem,\r\n} from '@material-ui/core'\r\nimport 'date-fns'\r\n\r\nimport { Close, PersonAdd, Edit } from '@material-ui/icons'\r\nimport { useTheme } from '@material-ui/core/styles'\r\n\r\nexport default function OrganizationUserModal({\r\n\topen,\r\n\thandleButton,\r\n\tonClose,\r\n\tuserModalType,\r\n\t// Adding States\r\n\tnationalCardIDNo,\r\n\tuserInfo,\r\n\tactiveDate,\r\n\texpireDate,\r\n\tfixedTypePermission,\r\n\tmobileTypePermission,\r\n\t// Editing States\r\n\teditNationalCardIDNo,\r\n\teditUserInfo,\r\n\teditActiveDate,\r\n\teditExpireDate,\r\n\teditFixedTypePermission,\r\n\teditMobileTypePermission,\r\n\t// Adding Handler\r\n\tonFillNationalCardIDNo,\r\n\tonCheckFormTypePermission,\r\n\tonChangeUserRoleID,\r\n\tonSelectActiveDate,\r\n\tonSelectExpireDate,\r\n\torganizationData,\r\n\t// Editing Handler\r\n\tonChangeEditUserRoleID,\r\n\tonFillEditNationalCardIDNo,\r\n\tonCheckEditFormTypePermission,\r\n\tonSelectEditActiveDate,\r\n\tonSelectEditExpireDate,\r\n\tonFillAddUserInfo,\r\n\tonFillEditUserInfo,\r\n\tonChangeEditUserStatus,\r\n\t// Save Button Logic\r\n\tsaveButtonAdd,\r\n\tsaveButtonEdit,\r\n\t// Admin Role\r\n\tadminRoles,\r\n}) {\r\n\tconst theme = useTheme()\r\n\tconst fullScreen = useMediaQuery(theme.breakpoints.down('sm'))\r\n\tconst descriptionElementRef = useRef(null)\r\n\r\n\tuseEffect(() => {\r\n\t\tif (open) {\r\n\t\t\tconst { current: descriptionElement } = descriptionElementRef\r\n\t\t\tif (descriptionElement !== null) {\r\n\t\t\t\tdescriptionElement.focus()\r\n\t\t\t}\r\n\t\t}\r\n\t}, [open])\r\n\r\n\tconst typeGenerator = _userModalType => {\r\n\t\tif (_userModalType === 'add')\r\n\t\t\treturn {\r\n\t\t\t\tlabel: 'เพิ่มผู้ใช้งาน',\r\n\t\t\t\ticon: ,\r\n\t\t\t}\r\n\t\tif (_userModalType === 'edit')\r\n\t\t\treturn {\r\n\t\t\t\tlabel: 'แก้ไขข้อมูลผู้ใช้งาน',\r\n\t\t\t\ticon: ,\r\n\t\t\t}\r\n\r\n\t\treturn { label: '', icon: '' }\r\n\t}\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{typeGenerator(userModalType).icon}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{typeGenerator(userModalType).label}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\tข้อมูลเจ้าหน้าที่\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tชื่อ\r\n\t\t\t\t\t\t\t\t*\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{userModalType === 'add' && (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t{userModalType === 'edit' && (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tนามสกุล\r\n\t\t\t\t\t\t\t\t*\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{userModalType === 'add' && (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t{userModalType === 'edit' && (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t{/* \r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t */}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tประเภทเจ้าหน้าที่\r\n\t\t\t\t\t\t\t\t*\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{Object.values(adminRoles).map((item, index) => {\r\n\t\t\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t{item.name}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tอีเมล\r\n\t\t\t\t\t\t\t\t*\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{userModalType === 'add' && (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t{userModalType === 'edit' && (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tบันทึก\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n\r\nconst Transition = forwardRef(function Transtition(props, ref) {\r\n\treturn \r\n})\r\n","import { forwardRef, useRef, useEffect } from 'react'\r\nimport {\r\n\tDialog,\r\n\tDialogTitle,\r\n\tDialogContent,\r\n\tDialogContentText,\r\n\tGrid,\r\n\tTypography,\r\n\tIconButton,\r\n\tSlide,\r\n\tuseMediaQuery,\r\n\tButton,\r\n} from '@material-ui/core'\r\nimport { Delete, Close } from '@material-ui/icons'\r\n\r\nimport { useTheme, makeStyles } from '@material-ui/core/styles'\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n\tdelete_button: {\r\n\t\tbackgroundColor: '#DD4C39',\r\n\t\tcolor: '#fff',\r\n\t\t'&:hover': {\r\n\t\t\tbackgroundColor: '#b43e2f',\r\n\t\t},\r\n\t},\r\n}))\r\n\r\nexport function DeleteUserModal({ open, onClose, onDelete }) {\r\n\tconst classes = useStyles()\r\n\tconst theme = useTheme()\r\n\tconst fullScreen = useMediaQuery(theme.breakpoints.down('sm'))\r\n\tconst descriptionElementRef = useRef(null)\r\n\r\n\tuseEffect(() => {\r\n\t\tif (open) {\r\n\t\t\tconst { current: descriptionElement } = descriptionElementRef\r\n\t\t\tif (descriptionElement !== null) {\r\n\t\t\t\tdescriptionElement.focus()\r\n\t\t\t}\r\n\t\t}\r\n\t}, [open])\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tลบผู้ใช้งาน\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tคุณแน่ใจที่จะลบผู้ใช้งานคนนี้ใช่หรือไม่?\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tลบผู้ใช้งาน\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n\r\nconst Transition = forwardRef(function Transtition(props, ref) {\r\n\treturn \r\n})\r\n","import { forwardRef, useRef } from 'react'\r\nimport {\r\n\tGrid,\r\n\tDialog,\r\n\tDialogContent,\r\n\tDialogContentText,\r\n\tDialogActions,\r\n\tSlide,\r\n\tButton,\r\n\tuseMediaQuery,\r\n} from '@material-ui/core'\r\nimport { useTheme } from '@material-ui/core/styles'\r\n\r\nimport Cancel from '../../../../assets/images/cancel.png'\r\n\r\nexport default function NotFoundModal({\r\n\topen,\r\n\thandleButton,\r\n}) {\r\n\tconst theme = useTheme()\r\n\tconst fullScreen = useMediaQuery(theme.breakpoints.down('sm'))\r\n\tconst descriptionElementRef = useRef(null)\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tไม่พบหมายเลขบัตรประชาชนนี้\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tตกลง\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n\r\nconst Transition = forwardRef(function Transtition(props, ref) {\r\n\treturn \r\n})\r\n","import { forwardRef, useRef } from 'react'\r\nimport {\r\n\tGrid,\r\n\tDialog,\r\n\tDialogContent,\r\n\tDialogContentText,\r\n\tDialogActions,\r\n\tSlide,\r\n\tButton,\r\n\tuseMediaQuery,\r\n} from '@material-ui/core'\r\nimport { useTheme } from '@material-ui/core/styles'\r\n\r\nimport Check from '../../../../assets/images/check.png'\r\n\r\nexport default function AddingSuccessModal({\r\n\topen,\r\n\thandleButton,\r\n}) {\r\n\tconst theme = useTheme()\r\n\tconst fullScreen = useMediaQuery(theme.breakpoints.down('sm'))\r\n\tconst descriptionElementRef = useRef(null)\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tเพิ่มผู้ใช้งานสำเร็จ\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tตกลง\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n\r\nconst Transition = forwardRef(function Transtition(props, ref) {\r\n\treturn \r\n})\r\n","import { forwardRef, useRef } from 'react'\r\nimport {\r\n\tGrid,\r\n\tDialog,\r\n\tDialogContent,\r\n\tDialogContentText,\r\n\tDialogActions,\r\n\tSlide,\r\n\tButton,\r\n\tuseMediaQuery,\r\n} from '@material-ui/core'\r\nimport { useTheme } from '@material-ui/core/styles'\r\n\r\nimport Cancel from '../../../../assets/images/cancel.png'\r\n\r\nexport default function AddingFailedModal({\r\n\topen,\r\n\thandleButton,\r\n\tmessage,\r\n}) {\r\n\tconst theme = useTheme()\r\n\tconst fullScreen = useMediaQuery(theme.breakpoints.down('sm'))\r\n\tconst descriptionElementRef = useRef(null)\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t{message}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tตกลง\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n\r\nconst Transition = forwardRef(function Transtition(props, ref) {\r\n\treturn \r\n})\r\n","import { forwardRef, useRef } from 'react'\r\nimport {\r\n\tGrid,\r\n\tDialog,\r\n\tDialogContent,\r\n\tDialogContentText,\r\n\tDialogActions,\r\n\tSlide,\r\n\tButton,\r\n\tuseMediaQuery,\r\n} from '@material-ui/core'\r\nimport { useTheme } from '@material-ui/core/styles'\r\n\r\nimport Check from '../../../../assets/images/check.png'\r\n\r\nexport default function EditingSuccessModal({\r\n\topen,\r\n\thandleButton,\r\n}) {\r\n\tconst theme = useTheme()\r\n\tconst fullScreen = useMediaQuery(theme.breakpoints.down('sm'))\r\n\tconst descriptionElementRef = useRef(null)\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tแก้ไขข้อมูลผู้ใช้งานสำเร็จ\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tตกลง\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n\r\nconst Transition = forwardRef(function Transtition(props, ref) {\r\n\treturn \r\n})\r\n","import { forwardRef, useRef } from 'react'\r\nimport {\r\n\tGrid,\r\n\tDialog,\r\n\tDialogContent,\r\n\tDialogContentText,\r\n\tDialogActions,\r\n\tSlide,\r\n\tButton,\r\n\tuseMediaQuery,\r\n} from '@material-ui/core'\r\nimport { useTheme } from '@material-ui/core/styles'\r\n\r\nimport Cancel from '../../../../assets/images/cancel.png'\r\n\r\nexport default function EditingFailedModal({\r\n\topen,\r\n\thandleButton,\r\n\tmessage,\r\n}) {\r\n\tconst theme = useTheme()\r\n\tconst fullScreen = useMediaQuery(theme.breakpoints.down('sm'))\r\n\tconst descriptionElementRef = useRef(null)\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t{message}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tตกลง\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n\r\nconst Transition = forwardRef(function Transtition(props, ref) {\r\n\treturn \r\n})\r\n","import { forwardRef, useRef } from 'react'\r\nimport {\r\n\tGrid,\r\n\tDialog,\r\n\tDialogContent,\r\n\tDialogContentText,\r\n\tDialogActions,\r\n\tSlide,\r\n\tButton,\r\n\tuseMediaQuery,\r\n} from '@material-ui/core'\r\nimport { useTheme } from '@material-ui/core/styles'\r\n\r\nimport Check from '../../../../assets/images/check.png'\r\n\r\nexport default function DeletedSuccessModal({\r\n\topen,\r\n\thandleButton,\r\n}) {\r\n\tconst theme = useTheme()\r\n\tconst fullScreen = useMediaQuery(theme.breakpoints.down('sm'))\r\n\tconst descriptionElementRef = useRef(null)\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tลบข้อมูลผู้ใช้งานสำเร็จ\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tตกลง\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n\r\nconst Transition = forwardRef(function Transtition(props, ref) {\r\n\treturn \r\n})\r\n","import { forwardRef, useRef } from 'react'\r\nimport {\r\n\tGrid,\r\n\tDialog,\r\n\tDialogContent,\r\n\tDialogContentText,\r\n\tDialogActions,\r\n\tSlide,\r\n\tButton,\r\n\tuseMediaQuery,\r\n} from '@material-ui/core'\r\nimport { useTheme } from '@material-ui/core/styles'\r\n\r\nimport Cancel from '../../../../assets/images/cancel.png'\r\n\r\nexport default function DeletedFailedModal({\r\n\topen,\r\n\thandleButton,\r\n\tmessage,\r\n}) {\r\n\tconst theme = useTheme()\r\n\tconst fullScreen = useMediaQuery(theme.breakpoints.down('sm'))\r\n\tconst descriptionElementRef = useRef(null)\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t{message}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tตกลง\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n\r\nconst Transition = forwardRef(function Transtition(props, ref) {\r\n\treturn \r\n})\r\n","// Page Descrition: Admin's user management page\r\nimport React, { useState, useEffect } from 'react'\r\nimport { Grid } from '@material-ui/core/'\r\n\r\n// import SearchBox from '../../components/organization-user/search-box'\r\nimport OrgSearchResult from 'components/admin/admin-user/search-result/index'\r\nimport OrganizationUserModal from 'components/admin/admin-user/user-modal/index'\r\nimport { DeleteUserModal } from 'components/admin/admin-user/delete-user-modal'\r\nimport NotFoundModal from 'components/admin/admin-user/not-found-modal'\r\nimport AddingSuccessModal from 'components/admin/admin-user/adding-success-modal'\r\nimport AddingFailedModal from 'components/admin/admin-user/adding-failed-modal'\r\nimport EditingSuccessModal from 'components/admin/admin-user/editing-success-modal'\r\nimport EditingFailedModal from 'components/admin/admin-user/editing-failed-modal'\r\nimport DeletedSuccessModal from 'components/admin/admin-user/deleted-success-modal'\r\nimport DeletedFailedModal from 'components/admin/admin-user/deleted-failed-modal'\r\n\r\nimport { useStoreRehydrated } from 'store'\r\n// import { format } from 'date-fns'\r\nimport { useLoaded } from 'utils/useLoaded'\r\nimport { admin } from 'api/'\r\n\r\n// import { users as Users } from 'data/registration/users'\r\nimport { org_status } from 'data/organization-user/organization-user-status'\r\n\r\nexport default function AdminUser() {\r\n\tconst loaded = useLoaded()\r\n\tconst isRehydrated = useStoreRehydrated()\r\n\t// Main Users Data\r\n\tconst [user, setUser] = useState([])\r\n\tconst [userData, setUserData] = useState([])\r\n\t// Modal State\r\n\tconst [currentEditUserID, setCurrentEditUserID] = useState(null)\r\n\tconst [openUserInfoModal, setOpenUserInfoModal] = useState(false)\r\n\r\n\tconst [openUserModal, setOpenUserModal] = useState(false)\r\n\tconst [userModalType, setUserModalType] = useState('add')\r\n\tconst [openDeleteUserModal, setOpenDeleteUserModal] = useState(false)\r\n\tconst [openAddingSuccessModal, setOpenAddingSuccessModal] = useState(false)\r\n\tconst [openAddingFailedModal, setOpenAddingFailedModal] = useState(false)\r\n\tconst [openNotFoundModal, setOpenNotFoundModal] = useState(false)\r\n\tconst [openEditingSuccessModal, setOpenEditingSuccessModal] = useState(false)\r\n\tconst [openEditingFailedModal, setOpenEditingFailedModal] = useState(false)\r\n\tconst [openDeletedSuccessModal, setOpenDeletedSuccessModal] = useState(false)\r\n\tconst [openDeletedFailedModal, setOpenDeletedFailedModal] = useState(false)\r\n\t// Adding User State\r\n\tconst [nationalIDCardNo, setNationalIDCardNo] = useState('')\r\n\tconst [userInfo, setUserInfo] = useState({\r\n\t\tadminRoleID: 1,\r\n\t\temail: '',\r\n\t\tfirstname: '',\r\n\t\tlastname: '',\r\n\t\tadminStatusID: 1,\r\n\t})\r\n\tconst [activeDate, setActiveDate] = useState(null)\r\n\tconst [expireDate, setExpireDate] = useState(null)\r\n\tconst [fixedTypePermission, setFixedTypePermission] = useState(false)\r\n\tconst [mobileTypePermission, setMobileTypePermission] = useState(false)\r\n\t// const [organizationData, setOrganizationData] = useState(null)\r\n\t// Editing User State\r\n\tconst [editNationalIDCardNo, setEditNationalIDCardNo] = useState('')\r\n\tconst [editUserInfo, setEditUserInfo] = useState({\r\n\t\tadminRoleID: 1,\r\n\t\temail: '',\r\n\t\tfirstname: '',\r\n\t\tlastname: '',\r\n\t\tadminStatusID: 1,\r\n\t})\r\n\tconst [editActiveDate, setEditActiveDate] = useState(null)\r\n\tconst [editExpireDate, setEditExpireDate] = useState(null)\r\n\tconst [editFixedTypePermission, setEditFixedTypePermission] = useState(false)\r\n\tconst [editMobileTypePermission, setEditMobileTypePermission] =\r\n\t\tuseState(false)\r\n\t// Save Button Logic\r\n\tconst [saveButtonAdd, setSaveButtonAdd] = useState(true)\r\n\tconst [saveButtonEdit, setSaveButtonEdit] = useState(true)\r\n\r\n\t// Admin Roles\r\n\tconst [adminRoles, setAdminRoles] = useState([])\r\n\r\n\t/** -----------------------------------------------------------> */\r\n\r\n\t// Main Function\r\n\r\n\tconst onOpenUserInfoModal = () => {\r\n\t\tsetOpenUserInfoModal(!openUserInfoModal)\r\n\t}\r\n\tconst onOpenUserModal = () => {\r\n\t\tsetOpenUserModal(!openUserModal)\r\n\t}\r\n\r\n\tconst onOpenDeleteUserModal = () => {\r\n\t\tsetOpenDeleteUserModal(!openDeleteUserModal)\r\n\t}\r\n\r\n\tconst onOpenNotFoundModal = () => {\r\n\t\tsetOpenNotFoundModal(!openNotFoundModal)\r\n\t}\r\n\r\n\tconst onOpenAddingSuccessModal = () => {\r\n\t\tsetOpenAddingSuccessModal(!openAddingSuccessModal)\r\n\t}\r\n\r\n\tconst onOpenAddingFailedModal = () => {\r\n\t\tsetOpenAddingFailedModal(!openAddingFailedModal)\r\n\t}\r\n\r\n\tconst onOpenEditingSuccessModal = () => {\r\n\t\tsetOpenEditingSuccessModal(!openEditingSuccessModal)\r\n\t}\r\n\r\n\tconst onOpenEditingFailedModal = () => {\r\n\t\tsetOpenEditingFailedModal(!openEditingFailedModal)\r\n\t}\r\n\r\n\tconst onOpenDeletedSuccessModal = () => {\r\n\t\tsetOpenDeletedSuccessModal(!openDeletedSuccessModal)\r\n\t}\r\n\r\n\tconst onOpenDeletedFailedModal = () => {\r\n\t\tsetOpenDeletedFailedModal(!openDeletedFailedModal)\r\n\t}\r\n\r\n\t// const onSearhResult = e => {\r\n\t// \tconst { value } = e.target\r\n\t// \tconst searchedName = userData.filter(user => {\r\n\t// \t\tconst name = user.firstname + ' ' + user.lastname\r\n\t// \t\treturn name.includes(value)\r\n\t// \t})\r\n\t// \tconst searchedCitizenID = userData.filter(user =>\r\n\t// \t\tuser.nationalIDCardNo.includes(value)\r\n\t// \t)\r\n\r\n\t// \tconst mergedSearched = [...searchedName, ...searchedCitizenID]\r\n\t// \tconst searchedResults = []\r\n\t// \tlet searchID = 1\r\n\t// \tmergedSearched.forEach(i => {\r\n\t// \t\tconst find = searchedResults.find(item => item.id === i.id)\r\n\t// \t\tif (!find)\r\n\t// \t\t\tsearchedResults.push({\r\n\t// \t\t\t\tid: searchID++,\r\n\t// \t\t\t\tuserId: i.id ?? '',\r\n\t// \t\t\t\tname: i.firstname + ' ' + i.lastname,\r\n\t// \t\t\t\temail: i.email ?? '',\r\n\t// \t\t\t\tnationalIDCardNo: i.nationalIDCardNo ?? '',\r\n\t// \t\t\t\tmobile: i.mobile ?? '',\r\n\t// \t\t\t\tuserRoleID: i.userRoleID ?? '',\r\n\t// \t\t\t\tstatus: parseInt(i.userStatus.id) ?? '',\r\n\t// \t\t\t})\r\n\t// \t})\r\n\r\n\t// \tsetUser(searchedResults)\r\n\t// }\r\n\tconst getAdminRoles = async () => {\r\n\t\tconst resRoles = await admin.getAdminRoles()\r\n\t\tif (resRoles) {\r\n\t\t\tif (resRoles.status === 200) {\r\n\t\t\t\tconst fetchedAdminRoles = resRoles.data\r\n\t\t\t\tlet tempAdminRoles = []\r\n\t\t\t\tfetchedAdminRoles.forEach((item, index) => {\r\n\t\t\t\t\tif (item.isActive === '1') {\r\n\t\t\t\t\t\ttempAdminRoles.push({\r\n\t\t\t\t\t\t\tname: item.adminRoleName,\r\n\t\t\t\t\t\t\tvalue: item.id,\r\n\t\t\t\t\t\t})\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t\tsetAdminRoles(tempAdminRoles)\r\n\t\t\t\treturn tempAdminRoles\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\tconst onLanding = async () => {\r\n\t\tgetAdminRoles()\r\n\t\tconst res = await admin.getAdmins()\r\n\t\tif (res) {\r\n\t\t\tif (res.status === 200) {\r\n\t\t\t\tconst fetchedAdmin = res.data\r\n\t\t\t\tconst preprocessedArr = fetchedAdmin.map((item, index) => {\r\n\t\t\t\t\treturn {\r\n\t\t\t\t\t\tid: index + 1,\r\n\t\t\t\t\t\tadminId: item.id ?? '',\r\n\t\t\t\t\t\tname: item.firstname + ' ' + item.lastname,\r\n\t\t\t\t\t\t// email: item.email ?? '',\r\n\t\t\t\t\t\t// nationalIDCardNo: item.nationalIDCardNo ?? '',\r\n\t\t\t\t\t\t// mobile: item.mobile ?? '',\r\n\t\t\t\t\t\tadminRoleID: item.adminRoleID ?? '',\r\n\t\t\t\t\t\t// periodActivate: `${\r\n\t\t\t\t\t\t// \titem.activeDate\r\n\t\t\t\t\t\t// \t\t? format(new Date(item.activeDate), 'dd/MM/yyyy')\r\n\t\t\t\t\t\t// \t\t: ''\r\n\t\t\t\t\t\t// } ${\r\n\t\t\t\t\t\t// \titem.expireDate\r\n\t\t\t\t\t\t// \t\t? '- ' + format(new Date(item.expireDate), 'dd/MM/yyyy')\r\n\t\t\t\t\t\t// \t\t: ''\r\n\t\t\t\t\t\t// } `,\r\n\t\t\t\t\t\tstatus: parseInt(item.adminStatusID) ?? '',\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\r\n\t\t\t\tsetUserData(fetchedAdmin)\r\n\t\t\t\tsetUser(preprocessedArr)\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\t/** <----------------------------------------------------------- */\r\n\r\n\t// Adding User\r\n\r\n\tconst onFillNationalCardIDNo = e => {\r\n\t\tvar pattern = /^[0-9\\b]+$/\r\n\t\tconst { value } = e.target\r\n\t\tif (pattern.test(value) || value === '') {\r\n\t\t\tsetNationalIDCardNo(value)\r\n\t\t\tsetSaveButtonAdd(true)\r\n\t\t}\r\n\t}\r\n\r\n\tconst onCheckFormTypePermission = (type, checked) => {\r\n\t\tif (type === 1) setFixedTypePermission(checked)\r\n\t\telse if (type === 2) setMobileTypePermission(checked)\r\n\t}\r\n\r\n\tconst onChangeUserRoleID = e => {\r\n\t\tconst { value } = e.target\r\n\t\tsetUserInfo({ ...userInfo, adminRoleID: value })\r\n\t}\r\n\r\n\tconst onSelectActiveDate = val => setActiveDate(val)\r\n\r\n\tconst onSelectExpireDate = val => setExpireDate(val)\r\n\r\n\tconst onAddUser = async () => {\r\n\t\tconst res = await admin.addAdmin(\r\n\t\t\tuserInfo.adminRoleID,\r\n\t\t\tuserInfo.email,\r\n\t\t\tuserInfo.firstname,\r\n\t\t\tuserInfo.lastname,\r\n\t\t\tuserInfo.adminStatusID\r\n\t\t)\r\n\t\tif (res) {\r\n\t\t\tif (res.status !== 400) {\r\n\t\t\t\tonOpenAddingSuccessModal()\r\n\t\t\t\tsetSaveButtonAdd(true)\r\n\t\t\t\tsetUserInfo({\r\n\t\t\t\t\tadminRoleID: userInfo.adminRoleID,\r\n\t\t\t\t\temail: '',\r\n\t\t\t\t\tfirstname: '',\r\n\t\t\t\t\tlastname: '',\r\n\t\t\t\t\tadminStatusID: userInfo.adminStatusID,\r\n\t\t\t\t})\r\n\t\t\t} else onOpenAddingFailedModal()\r\n\t\t}\r\n\t}\r\n\r\n\t// Editing User\r\n\r\n\tconst onFindUserToEdit = () => {\r\n\t\tconst finded = userData.find(item => item.id === currentEditUserID)\r\n\t\tif (finded) {\r\n\t\t\tsetEditUserInfo({\r\n\t\t\t\tadminRoleID: finded.adminRoleID,\r\n\t\t\t\tfirstname: finded.firstname,\r\n\t\t\t\tlastname: finded.lastname,\r\n\t\t\t\temail: finded.email,\r\n\t\t\t\tadminStatusID: finded.adminStatusID,\r\n\t\t\t})\r\n\t\t\t// setEditNationalIDCardNo(finded.nationalIDCardNo)\r\n\r\n\t\t\t// finded.operatorUserQOSTypes.forEach(item => {\r\n\t\t\t// \tif (item.qosTypeID === 1) setEditMobileTypePermission(true)\r\n\t\t\t// \tif (item.qosTypeID === 2) setEditFixedTypePermission(true)\r\n\t\t\t// })\r\n\t\t\tif (finded.activeDate) setEditActiveDate(new Date(finded.activeDate))\r\n\t\t\telse setEditActiveDate(null)\r\n\t\t\tif (finded.expireDate) setEditExpireDate(new Date(finded.expireDate))\r\n\t\t\telse setEditExpireDate(null)\r\n\t\t}\r\n\t}\r\n\r\n\tconst onFillEditNationalCardIDNo = e => {\r\n\t\tvar pattern = /^[0-9\\b]+$/\r\n\t\tconst { value } = e.target\r\n\t\tif (pattern.test(value) || value === '') {\r\n\t\t\tsetEditNationalIDCardNo(value)\r\n\t\t}\r\n\t}\r\n\r\n\tconst onFillAddUserInfo = e => {\r\n\t\tconst { name, value } = e.target\r\n\t\tsetUserInfo({ ...userInfo, [name]: value })\r\n\t}\r\n\r\n\tconst onFillEditUserInfo = e => {\r\n\t\tconst { name, value } = e.target\r\n\t\tsetEditUserInfo({ ...editUserInfo, [name]: value })\r\n\t}\r\n\r\n\tconst onChangeEditUserRoleID = e => {\r\n\t\tconst { value } = e.target\r\n\t\tsetEditUserInfo({ ...editUserInfo, adminRoleID: value })\r\n\t}\r\n\r\n\tconst onChangeEditUserStatus = e => {\r\n\t\tconst { value } = e.target\r\n\t\tconst findedStatus = Object.keys(org_status).find(\r\n\t\t\t(item, index) => item === value\r\n\t\t)\r\n\r\n\t\tif (findedStatus)\r\n\t\t\tsetEditUserInfo({\r\n\t\t\t\t...editUserInfo,\r\n\t\t\t\tuserStatus: {\r\n\t\t\t\t\tid: findedStatus,\r\n\t\t\t\t\tname: org_status[findedStatus],\r\n\t\t\t\t},\r\n\t\t\t})\r\n\t}\r\n\r\n\tconst onCheckEditFormTypePermission = (type, checked) => {\r\n\t\tif (type === 1) setEditMobileTypePermission(checked)\r\n\t\telse if (type === 2) setEditFixedTypePermission(checked)\r\n\t}\r\n\r\n\tconst onSelectEditActiveDate = val => setEditActiveDate(val)\r\n\r\n\tconst onSelectEditExpireDate = val => setEditExpireDate(val)\r\n\r\n\tconst onEditUser = async () => {\r\n\t\tconst res = await admin.editAdmin(\r\n\t\t\tcurrentEditUserID,\r\n\t\t\teditUserInfo.adminRoleID,\r\n\t\t\teditUserInfo.email,\r\n\t\t\teditUserInfo.firstname,\r\n\t\t\teditUserInfo.lastname,\r\n\t\t\teditUserInfo.adminStatusID\r\n\t\t)\r\n\t\tif (res) {\r\n\t\t\tif (res.status !== 400) onOpenEditingSuccessModal()\r\n\t\t\telse onOpenEditingFailedModal()\r\n\t\t}\r\n\t}\r\n\r\n\t// Delete User\r\n\tconst deleteUserID = async () => {\r\n\t\tonOpenDeleteUserModal()\r\n\t\tconst finded = userData.find(item => item.id === currentEditUserID)\r\n\t\tif (finded) {\r\n\t\t\tconst res = await admin.deleteAdmin(currentEditUserID)\r\n\t\t\tconst status = res.status\r\n\t\t\tif (status === 200) {\r\n\t\t\t\tonOpenDeletedSuccessModal()\r\n\t\t\t} else {\r\n\t\t\t\tonOpenDeletedFailedModal()\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tonOpenDeletedFailedModal()\r\n\t\t}\r\n\t}\r\n\r\n\t// Get Admin Role from ID\r\n\tconst getAdminRoleFromID = id => {\r\n\t\tfor (let i = 0; i < adminRoles.length; i++) {\r\n\t\t\tif (adminRoles[i].value === id) return adminRoles[i].name\r\n\t\t}\r\n\t}\r\n\r\n\t/** -----------------------------------------------------------> */\r\n\r\n\t// Main Rendering Function\r\n\r\n\t// eslint-disable-next-line\r\n\tuseEffect(() => onFindUserToEdit(), [currentEditUserID])\r\n\r\n\tuseEffect(() => {\r\n\t\tif (isRehydrated) onLanding()\r\n\t\t// eslint-disable-next-line\r\n\t}, [isRehydrated])\r\n\r\n\tuseEffect(() => {\r\n\t\tif (openUserModal)\r\n\t\t\tif (userModalType === 'add') {\r\n\t\t\t\tif (\r\n\t\t\t\t\t!userInfo.firstname ||\r\n\t\t\t\t\t!userInfo.lastname ||\r\n\t\t\t\t\t!userInfo.email ||\r\n\t\t\t\t\t!userInfo.adminRoleID ||\r\n\t\t\t\t\t!userInfo.adminStatusID\r\n\t\t\t\t) {\r\n\t\t\t\t\tsetSaveButtonAdd(true)\r\n\t\t\t\t} else {\r\n\t\t\t\t\tsetSaveButtonAdd(false)\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t}, [openUserModal, userModalType, userInfo])\r\n\r\n\tuseEffect(() => {\r\n\t\tif (openUserModal)\r\n\t\t\tif (userModalType === 'edit') {\r\n\t\t\t\tif (\r\n\t\t\t\t\t!editUserInfo.adminRoleID ||\r\n\t\t\t\t\t!editUserInfo.firstname ||\r\n\t\t\t\t\t!editUserInfo.lastname ||\r\n\t\t\t\t\t!editUserInfo.adminStatusID ||\r\n\t\t\t\t\t!editUserInfo.email\r\n\t\t\t\t) {\r\n\t\t\t\t\tsetSaveButtonEdit(true)\r\n\t\t\t\t} else {\r\n\t\t\t\t\tsetSaveButtonEdit(false)\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t}, [openUserModal, userModalType, editUserInfo])\r\n\r\n\t/** <----------------------------------------------------------- */\r\n\r\n\treturn (\r\n\t\tloaded && (\r\n\t\t\t<>\r\n\t\t\t\t\r\n\t\t\t\t\t{/* */}\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t {\r\n\t\t\t\t\t\t\tonLanding()\r\n\t\t\t\t\t\t\tonOpenAddingSuccessModal()\r\n\t\t\t\t\t\t\tonOpenUserModal()\r\n\t\t\t\t\t\t}}\r\n\t\t\t\t\t/>\r\n\t\t\t\t\t\r\n\t\t\t\t\t {\r\n\t\t\t\t\t\t\tonLanding()\r\n\t\t\t\t\t\t\tonOpenEditingSuccessModal()\r\n\t\t\t\t\t\t\tonOpenUserModal()\r\n\t\t\t\t\t\t}}\r\n\t\t\t\t\t/>\r\n\t\t\t\t\t\r\n\t\t\t\t\t {\r\n\t\t\t\t\t\t\tonLanding()\r\n\t\t\t\t\t\t\tonOpenDeletedSuccessModal()\r\n\t\t\t\t\t\t\t// onOpenUserModal()\r\n\t\t\t\t\t\t}}\r\n\t\t\t\t\t/>\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t)\r\n\t)\r\n}\r\n","import React, { useState, useEffect } from 'react'\r\nimport {\r\n\tButton,\r\n\tGrid,\r\n\tCard,\r\n\tTextField,\r\n\tIconButton,\r\n\tDivider,\r\n} from '@material-ui/core'\r\nimport { Visibility, VisibilityOff } from '@material-ui/icons'\r\n\r\nimport { useHistory, useLocation } from 'react-router-dom'\r\nimport { useForm, Controller } from 'react-hook-form'\r\nimport { useStoreActions, useStoreState } from '../../../store'\r\nimport { makeStyles } from '@material-ui/core/styles'\r\n\r\nimport logo from '../../../assets/images/NBTC-logo.png'\r\n\r\nconst useStyles = makeStyles(theme => {\r\n\treturn {\r\n\t\tAppDescription: {\r\n\t\t\tfontSize: '24px',\r\n\t\t},\r\n\t\tAppDescriptionSpan: {\r\n\t\t\tcolor: theme.palette.primary.main,\r\n\t\t},\r\n\t}\r\n})\r\n\r\nconst AdminSignIn = () => {\r\n\tconst history = useHistory()\r\n\tconst location = useLocation()\r\n\tconst [showPassword, setShowPassword] = useState(false)\r\n\tconst {\r\n\t\tcontrol,\r\n\t\thandleSubmit,\r\n\t\tformState: { errors },\r\n\t} = useForm()\r\n\tconst [signInMsg, setSignInMsg] = useState('')\r\n\tconst [isLoading, setIsLoading] = useState(false)\r\n\r\n\tconst classes = useStyles()\r\n\tconst admin = useStoreState(s => s.QoSAdminModel.QoSAdmin)\r\n\tconst signInAdmin = useStoreActions(a => a.QoSAdminModel.QoSAdminSignIn)\r\n\tconst getAdminProfile = useStoreActions(\r\n\t\ta => a.QoSAdminModel.getAdminProfile\r\n\t)\r\n\r\n\tconst onSignInAdmin = async ({ username, password }) => {\r\n\t\tsetIsLoading(true)\r\n\t\tconst { from } = location.state || { from: { pathname: '/admin' } }\r\n\r\n\t\tsignInAdmin({\r\n\t\t\tusername,\r\n\t\t\tpassword,\r\n\t\t})\r\n\t\t\t.then(() => {\r\n\t\t\t\tconsole.log('redirect')\r\n\t\t\t\tsetIsLoading(false)\r\n\t\t\t\tgetAdminProfile().then(() => history.replace(from))\r\n\t\t\t})\r\n\t\t\t.catch((e) => {\r\n\t\t\t\tconsole.error(e)\r\n\t\t\t\tsetIsLoading(false)\r\n\t\t\t\tsetSignInMsg('อีเมลหรือรหัสผ่านไม่ถูกต้อง')\r\n\t\t\t})\r\n\t}\r\n\r\n\tconst onShowPassword = () => {\r\n\t\tsetShowPassword(!showPassword)\r\n\t}\r\n\r\n\tuseEffect(() => {\r\n\t\tif (admin) history.replace('/admin')\r\n\t\t// eslint-disable-next-line\r\n\t}, [admin])\r\n\r\n\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\"NBTC\"\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\tNBTC DATA PORTAL\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\tสำหรับเจ้าหน้าที่\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t (\r\n\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\tif (e.key === 'Enter') handleSubmit(onSignInAdmin)()\r\n\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\tname=\"username\"\r\n\t\t\t\t\t\tdefaultValue={process.env.REACT_APP_DEMO_ADMIN_USERNAME ?? ''}\r\n\t\t\t\t\t/>\r\n\t\t\t\t\t

\r\n\t\t\t\t\t\t{errors.username?.type === 'required' && 'กรุณากรอกชื่อผู้ใช้งาน'}\r\n\t\t\t\t\t

\r\n\t\t\t\t\t (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{showPassword ? : }\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\tonKeyPress={e => {\r\n\t\t\t\t\t\t\t\t\tif (e.key === 'Enter') handleSubmit(onSignInAdmin)()\r\n\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\tname=\"password\"\r\n\t\t\t\t\t\tdefaultValue={process.env.REACT_APP_DEMO_ADMIN_PASSWORD ?? ''}\r\n\t\t\t\t\t/>\r\n\t\t\t\t\t

\r\n\t\t\t\t\t\t{errors.password?.type === 'required' && 'กรุณากรอกรหัสผ่าน'}\r\n\t\t\t\t\t\t{signInMsg}\r\n\t\t\t\t\t

\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{isLoading ? 'กำลังเข้าสู่ระบบ...' : 'เข้าสู่ระบบ'}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n\r\nexport default AdminSignIn\r\n","import { People, CheckCircle, AccessTime, Assignment } from '@material-ui/icons'\r\n\r\nexport const InfoBoxConfigs = [\r\n\t{\r\n\t\tname: 'stat1',\r\n\t\tlabel: 'จำนวนผู้ประกอบการ',\r\n\t\tunit: 'รายการ',\r\n\t\ticon: ,\r\n\t\ticonBgColor: '#007500',\r\n\t},\r\n\t{\r\n\t\tname: 'stat2',\r\n\t\tlabel: 'จำนวนผู้ส่งข้อมูลแล้ว',\r\n\t\tunit: 'รายการ',\r\n\t\ticon: ,\r\n\t\ticonBgColor: 'rgba(17, 69, 86, 0.867)',\r\n\t},\r\n\t{\r\n\t\tname: 'stat3',\r\n\t\tlabel: 'ระหว่างดำเนินการ',\r\n\t\tunit: 'รายการ',\r\n\t\ticon: ,\r\n\t\ticonBgColor: '#FAD02C',\r\n\t},\r\n\t{\r\n\t\tname: 'stat4',\r\n\t\tlabel: 'เกินกำหนด',\r\n\t\tunit: 'รายการ',\r\n\t\ticon: ,\r\n\t\ticonBgColor: '#DC143C',\r\n\t},\r\n]\r\n","import Highcharts from 'highcharts'\r\nimport HighchartsReact from 'highcharts-react-official'\r\n// Load Highcharts modules\r\nrequire(\"highcharts/modules/exporting\")(Highcharts);\r\nexport default function CompareBar({\r\n Title,\r\n Categories,\r\n Series,\r\n Max = 100,\r\n unit = '%',\r\n}) {\r\n const options = {\r\n title: {\r\n text: Title,\r\n },\r\n chart: {\r\n type: 'column',\r\n },\r\n plotOptions: {\r\n column: {\r\n pointPadding: 0,\r\n borderWidth: 0,\r\n dataLabels: {\r\n enabled: true,\r\n format: '{y}' + unit,\r\n inside: true,\r\n verticalAlign: 'top',\r\n align: 'center',\r\n color: 'black',\r\n }\r\n }\r\n },\r\n xAxis: {\r\n categories: Categories,\r\n },\r\n yAxis: {\r\n min: 0,\r\n max: Max,\r\n title: {\r\n text: unit\r\n }\r\n },\r\n series: Series,\r\n // if only one series, hide legend\r\n legend: {\r\n enabled: Series?.length > 1,\r\n },\r\n };\r\n\r\n return (\r\n\r\n \r\n\r\n )\r\n}\r\n","import Highcharts from 'highcharts'\r\nimport HighchartsReact from 'highcharts-react-official'\r\n// Load Highcharts modules\r\nrequire(\"highcharts/modules/exporting\")(Highcharts);\r\nexport default function CompareBar({\r\n Title,\r\n Categories,\r\n Series,\r\n Max = 100,\r\n MaxMS = 70,\r\n unit = '%',\r\n unit2 = 'ms',\r\n}) {\r\n const options = {\r\n title: {\r\n text: Title,\r\n },\r\n chart: {\r\n type: 'column',\r\n },\r\n plotOptions: {\r\n column: {\r\n pointPadding: 0,\r\n borderWidth: 0,\r\n dataLabels: {\r\n enabled: true,\r\n format: '{y}' + unit,\r\n inside: true,\r\n verticalAlign: 'top',\r\n align: 'center',\r\n color: 'black',\r\n }\r\n },\r\n spline: {\r\n dataLabels: {\r\n enabled: true,\r\n format: '{y}' + unit2,\r\n inside: true,\r\n verticalAlign: 'top',\r\n align: 'center',\r\n color: 'black',\r\n }\r\n }\r\n },\r\n xAxis: {\r\n categories: Categories,\r\n },\r\n yAxis: [{\r\n min: 0,\r\n max: Max,\r\n title: {\r\n text: unit\r\n }\r\n },\r\n {\r\n min: 0,\r\n max: MaxMS,\r\n title: {\r\n text: unit2\r\n },\r\n opposite: true,\r\n }],\r\n series: Series,\r\n };\r\n\r\n return (\r\n\r\n \r\n\r\n )\r\n}\r\n","// Main Libraries\r\nimport React, { useEffect, useCallback, useState } from 'react'\r\nimport { Grid, Card, Select, MenuItem, InputLabel, Input as InputBox } from '@material-ui/core'\r\nimport { ListAlt, Menu, SearchOutlined } from '@material-ui/icons'\r\n// Components\r\nimport InfoBox from 'components/admin/dashboard/InfoBox'\r\n\r\n// Hooks and Functions\r\nimport { useStoreState, useStoreActions } from 'store'\r\nimport { useStoreRehydrated } from '../../../store'\r\nimport { format } from 'date-fns'\r\n// Configuration\r\nimport { InfoBoxConfigs } from './config'\r\n\r\nimport CompareBar from 'components/admin/sent-chart/comparebar'\r\nimport CompareBarWithLine from 'components/admin/sent-chart/comparebarwithline'\r\n\r\nimport { makeStyles } from '@material-ui/core/styles'\r\n\r\nimport { datasetRecord } from '../../../api/'\r\nimport Swal from 'sweetalert2'\r\nimport { Input } from '../../../../node_modules/@material-ui/icons/index'\r\nimport { Button } from '../../../../node_modules/@material-ui/core/index'\r\nconst useStyles = makeStyles(theme => {\r\n\treturn {\r\n\t\tcard_styles: {\r\n\t\t\theight: 'auto',\r\n\t\t},\r\n\t\ttype_of_report: {\r\n\t\t\tbackgroundColor: '#c8e8ff',\r\n\t\t\tcolor: '#028BFF',\r\n\t\t\tborderColor: '#84BFF0',\r\n\t\t},\r\n\t}\r\n})\r\nexport default function SentChart() {\r\n\tconst isRehydrated = useStoreRehydrated()\r\n\tconst [rows, setRows] = useState([\r\n\t\t// Work Status 0 = รอตรวจสอบ, 1 = ตรวจสอบแล้ว, 2 = ไม่อนุมัติ\r\n\t\t// Data Type List 0 = ประจำที่, 1 = เคลื่อนที่\r\n\t])\r\n\tconst [rowsData, setRowsData] = useState([])\r\n\tconst [isDataLoading, setIsDataLoading] = useState(false)\r\n\tuseEffect(() => {\r\n\t\tconst swalModal = Swal.fire({\r\n\t\t\ttitle: 'Loading',\r\n\t\t\ttext: 'Please wait...',\r\n\t\t\tallowOutsideClick: false,\r\n\t\t\tallowEscapeKey: false,\r\n\t\t\tshowCancelButton: false,\r\n\t\t\tshowConfirmButton: false,\r\n\t\t\tdidOpen: () => {\r\n\t\t\t\tSwal.showLoading();\r\n\t\t\t},\r\n\t\t});\r\n\t\tif (isDataLoading) {\r\n\t\t\t// swalModal.showLoading();\r\n\t\t} else {\r\n\t\t\tswalModal.close();\r\n\t\t}\r\n\t\treturn () => {\r\n\t\t\t// Close the Swal modal when the component unmounts\r\n\t\t\tswalModal.close();\r\n\t\t};\r\n\r\n\t}, [isDataLoading]);\r\n\tconst [statusIDList, setStatusIDList] = useState([])\r\n\r\n\tconst yearList = [2020, 2021, 2022, 2023, 2024];\r\n\tconst quarterList = [1, 2, 3, 4];\r\n\tconst [selectedYear, setSelectedYear] = useState(2023);\r\n\tconst [selectedQuarter, setSelectedQuarter] = useState(2);\r\n\tconst handleYearChange = (event) => {\r\n\t\tsetSelectedYear(event.target.value);\r\n\t}\r\n\tconst handleQuarterChange = (event) => {\r\n\t\tsetSelectedQuarter(event.target.value);\r\n\t}\r\n\r\n\tconst getDatasetRecordList = async () => {\r\n\t\tsetIsDataLoading(true)\r\n\t\tconst operatorToReport = [185, 224];\r\n\t\tconst res = await datasetRecord.getListAdmin()\r\n\r\n\t\tif (res) {\r\n\t\t\tif (res.status === 200) {\r\n\t\t\t\tsetRowsData(res.data)\r\n\t\t\t\tconst rowsTemp = []\r\n\t\t\t\tfor (let i = 0; i < res.data.length; i++) {\r\n\t\t\t\t\tif (res.data[i].dataSetReport.year !== selectedYear || res.data[i].dataSetReport.quarter !== selectedQuarter) continue;\r\n\t\t\t\t\tif (!operatorToReport.includes(res.data[i].dataSetReport.operator.id)) continue;\r\n\t\t\t\t\tif (res.data[i].status === 5) {\r\n\t\t\t\t\t\tconst qosType = []\r\n\r\n\t\t\t\t\t\tif (res.data[i].isFixed === 'y') qosType.push('fixed')\r\n\t\t\t\t\t\tif (res.data[i].isMobile === 'y') qosType.push('mobile')\r\n\t\t\t\t\t\tconst dataSetReportDetail = await datasetRecord.getlistdetails(res.data[i].id)\r\n\t\t\t\t\t\tconst tempObject = {\r\n\t\t\t\t\t\t\tid: res.data[i].id,\r\n\t\t\t\t\t\t\tname:\r\n\t\t\t\t\t\t\t\t(res.data[i].operatorApproveUser?.firstname ?? '') +\r\n\t\t\t\t\t\t\t\t' ' +\r\n\t\t\t\t\t\t\t\t(res.data[i].operatorApproveUser?.lastname ?? ''),\r\n\t\t\t\t\t\t\torganization: res.data[i].dataSetReport.operator.operatorName,\r\n\t\t\t\t\t\t\tsubmit_date: res.data[i].sendToAdminAt\r\n\t\t\t\t\t\t\t\t? format(new Date(res.data[i].sendToAdminAt), 'dd/MM/yyyy')\r\n\t\t\t\t\t\t\t\t: '',\r\n\t\t\t\t\t\t\tsendToAdminAt: res.data[i].sendToAdminAt,\r\n\t\t\t\t\t\t\tsubmitType: res.data[i].sendMethod,\r\n\t\t\t\t\t\t\treport_detials: res.data[i].id,\r\n\t\t\t\t\t\t\tdataTypeList: qosType,\r\n\t\t\t\t\t\t\tactions: res.data[i].id,\r\n\t\t\t\t\t\t\tyearNQuarter: res.data[i].dataSetReport.year + '/' + res.data[i].dataSetReport.quarter,\r\n\t\t\t\t\t\t\toperatorID: res.data[i].dataSetReport.operator.id,\r\n\t\t\t\t\t\t\tdetail: dataSetReportDetail.data,\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tlet tempStatusIDList = statusIDList\r\n\t\t\t\t\t\ttempStatusIDList[i] = {\r\n\t\t\t\t\t\t\treport_id: res.data[i].id,\r\n\t\t\t\t\t\t\tworkStatus: res.data[i].dataSetRecordHeadStatus.id,\r\n\t\t\t\t\t\t\tworkStatusName: res.data[i].dataSetRecordHeadStatus.statusName,\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tsetStatusIDList(tempStatusIDList)\r\n\t\t\t\t\t\trowsTemp.push(tempObject)\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\tsetRows(rowsTemp)\r\n\t\t\t}\r\n\t\t}\r\n\t\tsetIsDataLoading(false)\r\n\t}\r\n\r\n\tconst updateGraphData = async () => {\r\n\t\tsetIsDataLoading(true)\r\n\t\tconst operatorToReport = [185, 224];\r\n\t\tconst res = rowsData\r\n\t\tconsole.log(selectedYear + \" \" + selectedQuarter)\r\n\t\tconst rowsTemp = []\r\n\t\tfor (let i = 0; i < res.length; i++) {\r\n\t\t\tif (res[i].dataSetReport.year !== selectedYear || res[i].dataSetReport.quarter !== selectedQuarter) continue;\r\n\t\t\tif (!operatorToReport.includes(res[i].dataSetReport.operator.id)) continue;\r\n\t\t\tif (res[i].status === 5) {\r\n\t\t\t\tconst qosType = []\r\n\t\t\t\tif (res[i].isFixed === 'y') qosType.push('fixed')\r\n\t\t\t\tif (res[i].isMobile === 'y') qosType.push('mobile')\r\n\t\t\t\tconst dataSetReportDetail = await datasetRecord.getlistdetails(res[i].id)\r\n\t\t\t\tconst tempObject = {\r\n\t\t\t\t\tid: res[i].id,\r\n\t\t\t\t\tname:\r\n\t\t\t\t\t\t(res[i].operatorApproveUser?.firstname ?? '') +\r\n\t\t\t\t\t\t' ' +\r\n\t\t\t\t\t\t(res[i].operatorApproveUser?.lastname ?? ''),\r\n\t\t\t\t\torganization: res[i].dataSetReport.operator.operatorName,\r\n\t\t\t\t\tsubmit_date: res[i].sendToAdminAt\r\n\t\t\t\t\t\t? format(new Date(res[i].sendToAdminAt), 'dd/MM/yyyy')\r\n\t\t\t\t\t\t: '',\r\n\t\t\t\t\tsendToAdminAt: res[i].sendToAdminAt,\r\n\t\t\t\t\tsubmitType: res[i].sendMethod,\r\n\t\t\t\t\treport_detials: res[i].id,\r\n\t\t\t\t\tdataTypeList: qosType,\r\n\t\t\t\t\tactions: res[i].id,\r\n\t\t\t\t\tyearNQuarter: res[i].dataSetReport.year + '/' + res[i].dataSetReport.quarter,\r\n\t\t\t\t\toperatorID: res[i].dataSetReport.operator.id,\r\n\t\t\t\t\tdetail: dataSetReportDetail.data,\r\n\t\t\t\t}\r\n\r\n\t\t\t\tlet tempStatusIDList = statusIDList\r\n\t\t\t\ttempStatusIDList[i] = {\r\n\t\t\t\t\treport_id: res[i].id,\r\n\t\t\t\t\tworkStatus: res[i].dataSetRecordHeadStatus.id,\r\n\t\t\t\t\tworkStatusName: res[i].dataSetRecordHeadStatus.statusName,\r\n\t\t\t\t}\r\n\t\t\t\tsetStatusIDList(tempStatusIDList)\r\n\t\t\t\trowsTemp.push(tempObject)\r\n\t\t\t}\r\n\t\t}\r\n\t\tsetRows(rowsTemp)\r\n\t\tsetIsDataLoading(false)\r\n\t}\r\n\r\n\r\n\r\n\tconst classes = useStyles()\r\n\tconst { adminStat } = useStoreState(s => s.mainAdminModel)\r\n\tconst getDashboardStat = useStoreActions(\r\n\t\ta => a.mainAdminModel.getAdminDashboardStat\r\n\t)\r\n\r\n\tconst initFetch = useCallback(() => {\r\n\t\tgetDashboardStat()\r\n\t}, [getDashboardStat])\r\n\r\n\t// eslint-disable-next-line\r\n\tuseEffect(() => initFetch(), [])\r\n\tconst [Categories, setCategories] = useState([\r\n\t\t\"AWN\",\r\n\t\t\"TUC\",\r\n\t\t\"DTN\",\r\n\t\t\"NT\",\r\n\t]);\r\n\tconst CategoriesMOS = [\r\n\t\t\"ภาคเหนือ โทรเข้า กรุงเทพฯ\",\r\n\t\t\"ภาคใต้ โทรเข้า กรุงเทพฯ\",\r\n\t\t\"ภาคกลาง โทรเข้า กรุงเทพฯ\",\r\n\t\t\"ภาคตะวันออกเฉียงเหนือ โทรเข้า กรุงเทพฯ\",\r\n\t];\r\n\tconst [province1, setProvince1] = useState(\"ขอนแก่น\");\r\n\tconst [province2, setProvince2] = useState(\"นครราชสีมา\");\r\n\tconst [province1box, setProvince1box] = useState(\"ขอนแก่น\");\r\n\tconst [province2box, setProvince2box] = useState(\"นครราชสีมา\");\r\n\tconst handleProvince1Change = (event) => {\r\n\t\tsetProvince1box(event.target.value);\r\n\t}\r\n\tconst handleProvince2Change = (event) => {\r\n\t\tsetProvince2box(event.target.value);\r\n\t}\r\n\r\n\tconst handleProvinceChange = (event) => {\r\n\t\tsetProvince1(province1box);\r\n\t\tsetProvince2(province2box);\r\n\t\tupdateGraphData();\r\n\t\tprepareData();\r\n\t}\r\n\r\n\tconst [SeriesSingle, setSeriesSingle] = useState(Array.from({ length: 13 }, () => ({ data: [], color: \"#e56c0a\" })));\r\n\tconst [SeriesCompare, setSeriesCompare] = useState(Array.from({ length: 13 }, (_, index) => {\r\n\t\treturn [\r\n\t\t\t{\r\n\t\t\t\tname: 'อัตราส่วน RTT (เส้นทางสายหลักและสายรอง)',\r\n\t\t\t\tdata: [],\r\n\t\t\t\tcolor: \"#30859b\",\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'อัตราส่วน RTT (เส้นทางในพื้นที่ชุมชน)',\r\n\t\t\t\tdata: [],\r\n\t\t\t\tcolor: \"#e56c0a\",\r\n\t\t\t}\r\n\t\t];\r\n\t}));\r\n\r\n\tconst [SeriesMOS, setSeriesMOS] = useState([\r\n\t\t{\r\n\t\t\tname: 'AWN',\r\n\t\t\tdata: [100, 100, 100, 100],\r\n\t\t\tcolor: \"#9fde59\",\r\n\t\t}, {\r\n\t\t\tname: 'TUC',\r\n\t\t\tdata: [100, 100, 100, 100],\r\n\t\t\tcolor: \"#cc5956\",\r\n\t\t}, {\r\n\t\t\tname: 'DTN',\r\n\t\t\tdata: [100, 100, 100, 100],\r\n\t\t\tcolor: \"#55b8d7\",\r\n\t\t}, {\r\n\t\t\tname: 'NT',\r\n\t\t\tdata: [92.6, 98.8, 98.5, 93.4],\r\n\t\t\tcolor: \"#fdcb03\",\r\n\t\t}\r\n\t]);\r\n\r\n\tconst [SeriesWithLine, setSeriesWithLine] = useState(Array.from({ length: 2 }, (_, index) => {\r\n\t\treturn [\r\n\t\t\t{\r\n\t\t\t\tname: 'อัตราส่วน RTT (เส้นทางสายหลักและสายรอง)',\r\n\t\t\t\ttype: 'column',\r\n\t\t\t\tyAxis: 0,\r\n\t\t\t\tdata: [],\r\n\t\t\t\tcolor: \"#30859b\",\r\n\t\t\t}, {\r\n\t\t\t\tname: 'อัตราส่วน RTT (เส้นทางในพื้นที่ชุมชน)',\r\n\t\t\t\ttype: 'column',\r\n\t\t\t\tyAxis: 0,\r\n\t\t\t\tdata: [],\r\n\t\t\t\tcolor: \"#e56c0a\",\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'RTT (' + province1 + ')',\r\n\t\t\t\ttype: 'spline',\r\n\t\t\t\tyAxis: 1,\r\n\t\t\t\tdata: [],\r\n\t\t\t\tcolor: \"#9dbc53\",\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'RTT (' + province2 + ')',\r\n\t\t\t\ttype: 'spline',\r\n\t\t\t\tyAxis: 1,\r\n\t\t\t\tdata: [],\r\n\t\t\t\tcolor: \"#8064a2\",\r\n\t\t\t},\r\n\t\t]\r\n\t}));\r\n\r\n\tconst [SeriesWithLine2, setSeriesWithLine2] = useState(Array.from({ length: 20 }, (_, index) => {\r\n\t\treturn [\r\n\t\t\t{\r\n\t\t\t\tname: 'อัตราส่วน FTP (เส้นทางสายหลักและสายรอง)',\r\n\t\t\t\ttype: 'column',\r\n\t\t\t\tyAxis: 0,\r\n\t\t\t\tdata: [],\r\n\t\t\t\tcolor: \"#30859b\",\r\n\t\t\t}, {\r\n\t\t\t\tname: 'อัตราส่วน FTP (เส้นทางในพื้นที่ชุมชน)',\r\n\t\t\t\ttype: 'column',\r\n\t\t\t\tyAxis: 0,\r\n\t\t\t\tdata: [],\r\n\t\t\t\tcolor: \"#e56c0a\",\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'ค่า FTP (สายหลักและสายรอง)',\r\n\t\t\t\ttype: 'spline',\r\n\t\t\t\tyAxis: 1,\r\n\t\t\t\tdata: [],\r\n\t\t\t\tcolor: \"#9dbc53\",\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'ค่า FTP (ชุมชน)',\r\n\t\t\t\ttype: 'spline',\r\n\t\t\t\tyAxis: 1,\r\n\t\t\t\tdata: [],\r\n\t\t\t\tcolor: \"#8064a2\",\r\n\t\t\t},\r\n\t\t];\r\n\t}));\r\n\r\n\tconst prepareData = () => {\r\n\t\tconst CategoriesToSet = [];\r\n\t\tconst SeriesSingleToSet = Array.from({ length: 13 }, () => ({ data: [], color: \"#e56c0a\" }));\r\n\t\tconst PreSeriesMOSToSet = ([\r\n\t\t\t{\r\n\t\t\t\tname: 'AWN',\r\n\t\t\t\tdata: [100, 100, 100, 100],\r\n\t\t\t\tcolor: \"#9fde59\",\r\n\t\t\t}, {\r\n\t\t\t\tname: 'TUC',\r\n\t\t\t\tdata: [100, 100, 100, 100],\r\n\t\t\t\tcolor: \"#cc5956\",\r\n\t\t\t}, {\r\n\t\t\t\tname: 'DTN',\r\n\t\t\t\tdata: [100, 100, 100, 100],\r\n\t\t\t\tcolor: \"#55b8d7\",\r\n\t\t\t}, {\r\n\t\t\t\tname: 'NT',\r\n\t\t\t\tdata: [92.6, 98.8, 98.5, 93.4],\r\n\t\t\t\tcolor: \"#fdcb03\",\r\n\t\t\t}\r\n\t\t]);\r\n\t\tconst SeriesMOSToSet = PreSeriesMOSToSet.slice(0, rows.length).map((item, index) => ({\r\n\t\t\tname: item.name,\r\n\t\t\tdata: [],\r\n\t\t\tcolor: item.color,\r\n\t\t}));\r\n\t\tconst setSeriesCompareToSet = Array.from({ length: 32 }, (_, index) => {\r\n\t\t\treturn [\r\n\t\t\t\t{\r\n\t\t\t\t\tname: 'อัตราส่วน RTT (เส้นทางสายหลักและสายรอง)',\r\n\t\t\t\t\tdata: [],\r\n\t\t\t\t\tcolor: \"#30859b\",\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\tname: 'อัตราส่วน RTT (เส้นทางในพื้นที่ชุมชน)',\r\n\t\t\t\t\tdata: [],\r\n\t\t\t\t\tcolor: \"#e56c0a\",\r\n\t\t\t\t}\r\n\t\t\t];\r\n\t\t});\r\n\t\tconst SeriesWithLineToSet = Array.from({ length: 2 }, (_, index) => {\r\n\t\t\treturn [\r\n\t\t\t\t{\r\n\t\t\t\t\tname: 'อัตราส่วน RTT (เส้นทางสายหลักและสายรอง)',\r\n\t\t\t\t\ttype: 'column',\r\n\t\t\t\t\tyAxis: 0,\r\n\t\t\t\t\tdata: [],\r\n\t\t\t\t\tcolor: \"#30859b\",\r\n\t\t\t\t}, {\r\n\t\t\t\t\tname: 'อัตราส่วน RTT (เส้นทางในพื้นที่ชุมชน)',\r\n\t\t\t\t\ttype: 'column',\r\n\t\t\t\t\tyAxis: 0,\r\n\t\t\t\t\tdata: [],\r\n\t\t\t\t\tcolor: \"#e56c0a\",\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\tname: 'RTT (' + province1 + ')',\r\n\t\t\t\t\ttype: 'spline',\r\n\t\t\t\t\tyAxis: 1,\r\n\t\t\t\t\tdata: [],\r\n\t\t\t\t\tcolor: \"#9dbc53\",\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\tname: 'RTT (' + province2 + ')',\r\n\t\t\t\t\ttype: 'spline',\r\n\t\t\t\t\tyAxis: 1,\r\n\t\t\t\t\tdata: [],\r\n\t\t\t\t\tcolor: \"#8064a2\",\r\n\t\t\t\t},\r\n\t\t\t]\r\n\t\t});\r\n\t\tconst SeriesWithLine2ToSet = Array.from({ length: 20 }, (_, index) => {\r\n\t\t\treturn [\r\n\r\n\t\t\t\t{\r\n\t\t\t\t\tname: 'อัตราส่วน FTP (เส้นทางสายหลักและสายรอง)',\r\n\t\t\t\t\ttype: 'column',\r\n\t\t\t\t\tyAxis: 0,\r\n\t\t\t\t\tdata: [],\r\n\t\t\t\t\tcolor: \"#30859b\",\r\n\t\t\t\t}, {\r\n\t\t\t\t\tname: 'อัตราส่วน FTP (เส้นทางในพื้นที่ชุมชน)',\r\n\t\t\t\t\ttype: 'column',\r\n\t\t\t\t\tyAxis: 0,\r\n\t\t\t\t\tdata: [],\r\n\t\t\t\t\tcolor: \"#e56c0a\",\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\tname: 'ค่า FTP (สายหลักและสายรอง)',\r\n\t\t\t\t\ttype: 'spline',\r\n\t\t\t\t\tyAxis: 1,\r\n\t\t\t\t\tdata: [],\r\n\t\t\t\t\tcolor: \"#9dbc53\",\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\tname: 'ค่า FTP (ชุมชน)',\r\n\t\t\t\t\ttype: 'spline',\r\n\t\t\t\t\tyAxis: 1,\r\n\t\t\t\t\tdata: [],\r\n\t\t\t\t\tcolor: \"#8064a2\",\r\n\t\t\t\t},\r\n\t\t\t]\r\n\t\t});\r\n\t\trows.forEach((row, corekey) => {\r\n\t\t\tswitch (row.operatorID) {\r\n\t\t\t\tcase 185:\r\n\t\t\t\t\tCategoriesToSet.push(\"TUC\");\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase 224:\r\n\t\t\t\t\tCategoriesToSet.push(\"DTN\");\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tdefault:\r\n\t\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t\tlet setSeriesCompareToSetIndex = 0;\r\n\t\t\tlet setSeriesCompareToSetIndex2 = 16;\r\n\t\t\trow.detail?.forEach((detail, key) => {\r\n\t\t\t\tswitch (detail.dataSetItemID) {\r\n\t\t\t\t\tcase 31:\r\n\t\t\t\t\tcase 32:\r\n\t\t\t\t\tcase 33:\r\n\t\t\t\t\tcase 34:\r\n\t\t\t\t\tcase 35:\r\n\t\t\t\t\tcase 36:\r\n\t\t\t\t\tcase 37:\r\n\t\t\t\t\tcase 41:\r\n\t\t\t\t\tcase 42:\r\n\t\t\t\t\tcase 43:\r\n\t\t\t\t\tcase 44:\r\n\t\t\t\t\tcase 45:\r\n\t\t\t\t\tcase 46:\r\n\t\t\t\t\t\tSeriesSingleToSet[key].data.push(parseFloat(detail.dataValueMonthAvg));\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t// case 47 to 51\r\n\t\t\t\t\tcase 47:\r\n\t\t\t\t\tcase 48:\r\n\t\t\t\t\tcase 49:\r\n\t\t\t\t\tcase 50:\r\n\t\t\t\t\t\tSeriesMOSToSet[corekey]?.data.push(parseFloat(detail.dataValueMonthAvg));\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase 202:\r\n\t\t\t\t\tcase 203:\r\n\t\t\t\t\tcase 204:\r\n\t\t\t\t\tcase 205:\r\n\t\t\t\t\tcase 304:\r\n\t\t\t\t\tcase 306:\r\n\t\t\t\t\tcase 206:\r\n\t\t\t\t\tcase 207:\r\n\t\t\t\t\tcase 305:\r\n\t\t\t\t\tcase 307:\r\n\t\t\t\t\t\tif (detail.dataValueMonth1) {\r\n\t\t\t\t\t\t\tsetSeriesCompareToSet[setSeriesCompareToSetIndex][0].data.push(parseFloat(detail.dataValueMonth1));\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t// setSeriesCompareToSet[setSeriesCompareToSetIndex][0].data.push(0);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (detail.dataValueMonth2) {\r\n\t\t\t\t\t\t\tsetSeriesCompareToSet[setSeriesCompareToSetIndex][1].data.push(parseFloat(detail.dataValueMonth2));\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t// setSeriesCompareToSet[setSeriesCompareToSetIndex][1].data.push(0);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tsetSeriesCompareToSetIndex++;\r\n\t\t\t\t\t\tif (detail.dataSetItemID !== 304 && detail.dataSetItemID !== 305 && detail.dataSetItemID !== 306 && detail.dataSetItemID !== 307) {\r\n\t\t\t\t\t\t\tif (detail.dataValueMonth3) {\r\n\t\t\t\t\t\t\t\tsetSeriesCompareToSet[setSeriesCompareToSetIndex][0].data.push(parseFloat(detail.dataValueMonth3));\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\t// setSeriesCompareToSet[setSeriesCompareToSetIndex][0].data.push(0);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tif (detail.dataValueMonthAvg) {\r\n\t\t\t\t\t\t\t\tsetSeriesCompareToSet[setSeriesCompareToSetIndex][1].data.push(parseFloat(detail.dataValueMonthAvg));\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\t// setSeriesCompareToSet[setSeriesCompareToSetIndex][1].data.push(0);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tsetSeriesCompareToSetIndex++;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase 213:\r\n\t\t\t\t\tcase 214:\r\n\t\t\t\t\tcase 215:\r\n\t\t\t\t\tcase 216:\r\n\t\t\t\t\tcase 217:\r\n\t\t\t\t\tcase 218:\r\n\t\t\t\t\tcase 316:\r\n\t\t\t\t\tcase 317:\r\n\t\t\t\t\tcase 318:\r\n\t\t\t\t\tcase 319:\r\n\t\t\t\t\tcase 320:\r\n\t\t\t\t\tcase 321:\r\n\t\t\t\t\tcase 335:\r\n\t\t\t\t\tcase 336:\r\n\t\t\t\t\t\tif (detail.dataSetItemID == 215 || detail.dataSetItemID == 216 || detail.dataSetItemID == 217 || detail.dataSetItemID == 218) {\r\n\t\t\t\t\t\t\tif (detail.dataValueMonth2) {\r\n\t\t\t\t\t\t\t\tsetSeriesCompareToSet[setSeriesCompareToSetIndex2][0].data.push(parseFloat(detail.dataValueMonth2));\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tif (detail.dataValueMonth3) {\r\n\t\t\t\t\t\t\t\tsetSeriesCompareToSet[setSeriesCompareToSetIndex2][1].data.push(parseFloat(detail.dataValueMonth3));\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tif (detail.dataValueMonth1) {\r\n\t\t\t\t\t\t\t\tsetSeriesCompareToSet[setSeriesCompareToSetIndex2][0].data.push(parseFloat(detail.dataValueMonth1));\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tif (detail.dataValueMonth2) {\r\n\t\t\t\t\t\t\t\tsetSeriesCompareToSet[setSeriesCompareToSetIndex2][1].data.push(parseFloat(detail.dataValueMonth2));\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t// change Series name\r\n\r\n\t\t\t\t\t\tif (detail.dataSetItemID == 213 || detail.dataSetItemID == 214) {\r\n\t\t\t\t\t\t\tsetSeriesCompareToSet[setSeriesCompareToSetIndex2][0].name = \"อัตราส่วน HTTP (เส้นทางสายหลักและสายรอง)\";\r\n\t\t\t\t\t\t\tsetSeriesCompareToSet[setSeriesCompareToSetIndex2][1].name = \"อัตราส่วน HTTP (เส้นทางในพื้นที่ชุมชน)\";\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tif (detail.dataSetItemID == 215 || detail.dataSetItemID == 216 || detail.dataSetItemID == 217 || detail.dataSetItemID == 218) {\r\n\t\t\t\t\t\t\tsetSeriesCompareToSet[setSeriesCompareToSetIndex2][0].name = \"อัตราส่วน Streaming Services (เส้นทางสายหลักและสายรอง)\";\r\n\t\t\t\t\t\t\tsetSeriesCompareToSet[setSeriesCompareToSetIndex2][1].name = \"อัตราส่วน Streaming Services (เส้นทางในพื้นที่ชุมชน)\";\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tif (detail.dataSetItemID == 316 || detail.dataSetItemID == 317 || detail.dataSetItemID == 320 || detail.dataSetItemID == 321) {\r\n\t\t\t\t\t\t\tsetSeriesCompareToSet[setSeriesCompareToSetIndex2][0].name = \"อัตราส่วน HTTP (\" + province1 + \")\";\r\n\t\t\t\t\t\t\tsetSeriesCompareToSet[setSeriesCompareToSetIndex2][1].name = \"อัตราส่วน HTTP (\" + province2 + \")\";\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tif (detail.dataSetItemID == 318 || detail.dataSetItemID == 319 || detail.dataSetItemID == 320 || detail.dataSetItemID == 321) {\r\n\t\t\t\t\t\t\tsetSeriesCompareToSet[setSeriesCompareToSetIndex2][0].name = \"อัตราส่วน Streaming Services (\" + province1 + \")\";\r\n\t\t\t\t\t\t\tsetSeriesCompareToSet[setSeriesCompareToSetIndex2][1].name = \"อัตราส่วน Streaming Services (\" + province2 + \")\";\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tif (detail.dataSetItemID == 335 || detail.dataSetItemID == 336) {\r\n\t\t\t\t\t\t\tsetSeriesCompareToSet[setSeriesCompareToSetIndex2][0].name = \"ค่าเฉลี่ย FTP (\" + province1 + \")\";\r\n\t\t\t\t\t\t\tsetSeriesCompareToSet[setSeriesCompareToSetIndex2][1].name = \"ค่าเฉลี่ย FTP (\" + province2 + \")\";\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tsetSeriesCompareToSetIndex2++;\r\n\r\n\t\t\t\t\t\tif (detail.dataSetItemID == 213 || detail.dataSetItemID == 214) {\r\n\t\t\t\t\t\t\tif (detail.dataValueMonth3) {\r\n\t\t\t\t\t\t\t\tsetSeriesCompareToSet[setSeriesCompareToSetIndex2][0].data.push(parseFloat(detail.dataValueMonth3));\r\n\t\t\t\t\t\t\t\tsetSeriesCompareToSet[setSeriesCompareToSetIndex2][0].name = \"อัตราส่วน HTTP (เส้นทางสายหลักและสายรอง)\";\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tif (detail.dataValueMonthAvg) {\r\n\t\t\t\t\t\t\t\tsetSeriesCompareToSet[setSeriesCompareToSetIndex2][1].data.push(parseFloat(detail.dataValueMonthAvg));\r\n\t\t\t\t\t\t\t\tsetSeriesCompareToSet[setSeriesCompareToSetIndex2][1].name = \"อัตราส่วน HTTP (เส้นทางในพื้นที่ชุมชน)\";\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tsetSeriesCompareToSetIndex2++;\r\n\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase 302:\r\n\t\t\t\t\t\tif (detail.dataValueMonth1) {\r\n\t\t\t\t\t\t\tSeriesWithLineToSet[0][0].data.push(parseFloat(detail.dataValueMonth1));\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (detail.dataValueMonth2) {\r\n\t\t\t\t\t\t\tSeriesWithLineToSet[0][1].data.push(parseFloat(detail.dataValueMonth2));\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase 329:\r\n\t\t\t\t\t\tif (detail.dataValueMonth1) {\r\n\t\t\t\t\t\t\tSeriesWithLineToSet[0][2].data.push(parseFloat(detail.dataValueMonth1));\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (detail.dataValueMonth2) {\r\n\t\t\t\t\t\t\tSeriesWithLineToSet[0][3].data.push(parseFloat(detail.dataValueMonth2));\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase 303:\r\n\t\t\t\t\t\tif (detail.dataValueMonth1) {\r\n\t\t\t\t\t\t\tSeriesWithLineToSet[1][0].data.push(parseFloat(detail.dataValueMonth1));\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (detail.dataValueMonth2) {\r\n\t\t\t\t\t\t\tSeriesWithLineToSet[1][1].data.push(parseFloat(detail.dataValueMonth2));\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase 330:\r\n\t\t\t\t\t\tif (detail.dataValueMonth1) {\r\n\t\t\t\t\t\t\tSeriesWithLineToSet[1][2].data.push(parseFloat(detail.dataValueMonth1));\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (detail.dataValueMonth2) {\r\n\t\t\t\t\t\t\tSeriesWithLineToSet[1][3].data.push(parseFloat(detail.dataValueMonth2));\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase 208:\r\n\t\t\t\t\t\tif (detail.dataValueMonth1) {\r\n\t\t\t\t\t\t\tSeriesWithLine2ToSet[0][0].data.push(parseFloat(detail.dataValueMonth1));\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (detail.dataValueMonth2) {\r\n\t\t\t\t\t\t\tSeriesWithLine2ToSet[0][1].data.push(parseFloat(detail.dataValueMonth2));\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (detail.dataValueMonth3) {\r\n\t\t\t\t\t\t\tSeriesWithLine2ToSet[1][0].data.push(parseFloat(detail.dataValueMonth3));\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (detail.dataValueMonthAvg) {\r\n\t\t\t\t\t\t\tSeriesWithLine2ToSet[1][1].data.push(parseFloat(detail.dataValueMonthAvg));\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase 223:\r\n\t\t\t\t\t\tif (detail.dataValueMonth1) {\r\n\t\t\t\t\t\t\tSeriesWithLine2ToSet[0][2].data.push(parseFloat(detail.dataValueMonth1));\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (detail.dataValueMonth2) {\r\n\t\t\t\t\t\t\tSeriesWithLine2ToSet[0][3].data.push(parseFloat(detail.dataValueMonth2));\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (detail.dataValueMonth3) {\r\n\t\t\t\t\t\t\tSeriesWithLine2ToSet[1][2].data.push(parseFloat(detail.dataValueMonth3));\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (detail.dataValueMonthAvg) {\r\n\t\t\t\t\t\t\tSeriesWithLine2ToSet[1][3].data.push(parseFloat(detail.dataValueMonthAvg));\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase 209:\r\n\t\t\t\t\t\tif (detail.dataValueMonth1) {\r\n\t\t\t\t\t\t\tSeriesWithLine2ToSet[2][0].data.push(parseFloat(detail.dataValueMonth1));\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (detail.dataValueMonth2) {\r\n\t\t\t\t\t\t\tSeriesWithLine2ToSet[2][1].data.push(parseFloat(detail.dataValueMonth2));\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (detail.dataValueMonth3) {\r\n\t\t\t\t\t\t\tSeriesWithLine2ToSet[3][0].data.push(parseFloat(detail.dataValueMonth3));\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (detail.dataValueMonthAvg) {\r\n\t\t\t\t\t\t\tSeriesWithLine2ToSet[3][1].data.push(parseFloat(detail.dataValueMonthAvg));\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase 224:\r\n\t\t\t\t\t\tif (detail.dataValueMonth1) {\r\n\t\t\t\t\t\t\tSeriesWithLine2ToSet[2][2].data.push(parseFloat(detail.dataValueMonth1));\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (detail.dataValueMonth2) {\r\n\t\t\t\t\t\t\tSeriesWithLine2ToSet[2][3].data.push(parseFloat(detail.dataValueMonth2));\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (detail.dataValueMonth3) {\r\n\t\t\t\t\t\t\tSeriesWithLine2ToSet[3][2].data.push(parseFloat(detail.dataValueMonth3));\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (detail.dataValueMonthAvg) {\r\n\t\t\t\t\t\t\tSeriesWithLine2ToSet[3][3].data.push(parseFloat(detail.dataValueMonthAvg));\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase 308:\r\n\t\t\t\t\t\tif (detail.dataValueMonth1) {\r\n\t\t\t\t\t\t\tSeriesWithLine2ToSet[4][0].name = \"อัตราส่วน FTP (\" + province1 + \")\";\r\n\t\t\t\t\t\t\tSeriesWithLine2ToSet[4][0].data.push(parseFloat(detail.dataValueMonth1));\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (detail.dataValueMonth2) {\r\n\t\t\t\t\t\t\tSeriesWithLine2ToSet[4][1].name = \"อัตราส่วน FTP (\" + province2 + \")\";\r\n\t\t\t\t\t\t\tSeriesWithLine2ToSet[4][1].data.push(parseFloat(detail.dataValueMonth2));\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase 309:\r\n\t\t\t\t\t\tif (detail.dataValueMonth1) {\r\n\t\t\t\t\t\t\tSeriesWithLine2ToSet[4][2].name = \"ค่า FTP (\" + province1 + \")\";\r\n\t\t\t\t\t\t\tSeriesWithLine2ToSet[4][2].data.push(parseFloat(detail.dataValueMonth1));\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (detail.dataValueMonth2) {\r\n\t\t\t\t\t\t\tSeriesWithLine2ToSet[4][3].name = \"ค่า FTP (\" + province2 + \")\";\r\n\t\t\t\t\t\t\tSeriesWithLine2ToSet[4][3].data.push(parseFloat(detail.dataValueMonth2));\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase 312:\r\n\t\t\t\t\t\tif (detail.dataValueMonth1) {\r\n\t\t\t\t\t\t\tSeriesWithLine2ToSet[5][0].name = \"อัตราส่วน FTP (\" + province1 + \")\";\r\n\t\t\t\t\t\t\tSeriesWithLine2ToSet[5][0].data.push(parseFloat(detail.dataValueMonth1));\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (detail.dataValueMonth2) {\r\n\t\t\t\t\t\t\tSeriesWithLine2ToSet[5][1].name = \"อัตราส่วน FTP (\" + province2 + \")\";\r\n\t\t\t\t\t\t\tSeriesWithLine2ToSet[5][1].data.push(parseFloat(detail.dataValueMonth2));\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase 313:\r\n\t\t\t\t\t\tif (detail.dataValueMonth1) {\r\n\t\t\t\t\t\t\tSeriesWithLine2ToSet[5][2].name = \"ค่า FTP (\" + province1 + \")\";\r\n\t\t\t\t\t\t\tSeriesWithLine2ToSet[5][2].data.push(parseFloat(detail.dataValueMonth1));\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (detail.dataValueMonth2) {\r\n\t\t\t\t\t\t\tSeriesWithLine2ToSet[5][3].name = \"ค่า FTP (\" + province2 + \")\";\r\n\t\t\t\t\t\t\tSeriesWithLine2ToSet[5][3].data.push(parseFloat(detail.dataValueMonth2));\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase 210:\r\n\t\t\t\t\t\tif (detail.dataValueMonth1) {\r\n\t\t\t\t\t\t\tSeriesWithLine2ToSet[6][0].data.push(parseFloat(detail.dataValueMonth1));\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (detail.dataValueMonth2) {\r\n\t\t\t\t\t\t\tSeriesWithLine2ToSet[6][1].data.push(parseFloat(detail.dataValueMonth2));\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (detail.dataValueMonth3) {\r\n\t\t\t\t\t\t\tSeriesWithLine2ToSet[7][0].data.push(parseFloat(detail.dataValueMonth3));\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (detail.dataValueMonthAvg) {\r\n\t\t\t\t\t\t\tSeriesWithLine2ToSet[7][1].data.push(parseFloat(detail.dataValueMonthAvg));\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase 225:\r\n\t\t\t\t\t\tif (detail.dataValueMonth1) {\r\n\t\t\t\t\t\t\tSeriesWithLine2ToSet[6][2].data.push(parseFloat(detail.dataValueMonth1));\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (detail.dataValueMonth2) {\r\n\t\t\t\t\t\t\tSeriesWithLine2ToSet[6][3].data.push(parseFloat(detail.dataValueMonth2));\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (detail.dataValueMonth3) {\r\n\t\t\t\t\t\t\tSeriesWithLine2ToSet[7][2].data.push(parseFloat(detail.dataValueMonth3));\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (detail.dataValueMonthAvg) {\r\n\t\t\t\t\t\t\tSeriesWithLine2ToSet[7][3].data.push(parseFloat(detail.dataValueMonthAvg));\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase 211:\r\n\t\t\t\t\t\tif (detail.dataValueMonth1) {\r\n\t\t\t\t\t\t\tSeriesWithLine2ToSet[8][0].data.push(parseFloat(detail.dataValueMonth1));\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (detail.dataValueMonth2) {\r\n\t\t\t\t\t\t\tSeriesWithLine2ToSet[8][1].data.push(parseFloat(detail.dataValueMonth2));\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (detail.dataValueMonth3) {\r\n\t\t\t\t\t\t\tSeriesWithLine2ToSet[9][0].data.push(parseFloat(detail.dataValueMonth3));\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (detail.dataValueMonthAvg) {\r\n\t\t\t\t\t\t\tSeriesWithLine2ToSet[9][1].data.push(parseFloat(detail.dataValueMonthAvg));\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase 226:\r\n\t\t\t\t\t\tif (detail.dataValueMonth1) {\r\n\t\t\t\t\t\t\tSeriesWithLine2ToSet[8][2].data.push(parseFloat(detail.dataValueMonth1));\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (detail.dataValueMonth2) {\r\n\t\t\t\t\t\t\tSeriesWithLine2ToSet[8][3].data.push(parseFloat(detail.dataValueMonth2));\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (detail.dataValueMonth3) {\r\n\t\t\t\t\t\t\tSeriesWithLine2ToSet[9][2].data.push(parseFloat(detail.dataValueMonth3));\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (detail.dataValueMonthAvg) {\r\n\t\t\t\t\t\t\tSeriesWithLine2ToSet[9][3].data.push(parseFloat(detail.dataValueMonthAvg));\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase 310:\r\n\t\t\t\t\t\tif (detail.dataValueMonth1) {\r\n\t\t\t\t\t\t\tSeriesWithLine2ToSet[10][0].name = \"อัตราส่วน FTP (\" + province1 + \")\";\r\n\t\t\t\t\t\t\tSeriesWithLine2ToSet[10][0].data.push(parseFloat(detail.dataValueMonth1));\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (detail.dataValueMonth2) {\r\n\t\t\t\t\t\t\tSeriesWithLine2ToSet[10][1].name = \"อัตราส่วน FTP (\" + province2 + \")\";\r\n\t\t\t\t\t\t\tSeriesWithLine2ToSet[10][1].data.push(parseFloat(detail.dataValueMonth2));\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase 311:\r\n\t\t\t\t\t\tif (detail.dataValueMonth1) {\r\n\t\t\t\t\t\t\tSeriesWithLine2ToSet[10][2].name = \"ค่า FTP (\" + province1 + \")\";\r\n\t\t\t\t\t\t\tSeriesWithLine2ToSet[10][2].data.push(parseFloat(detail.dataValueMonth1));\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (detail.dataValueMonth2) {\r\n\t\t\t\t\t\t\tSeriesWithLine2ToSet[10][3].name = \"ค่า FTP (\" + province2 + \")\";\r\n\t\t\t\t\t\t\tSeriesWithLine2ToSet[10][3].data.push(parseFloat(detail.dataValueMonth2));\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase 314:\r\n\t\t\t\t\t\tif (detail.dataValueMonth1) {\r\n\t\t\t\t\t\t\tSeriesWithLine2ToSet[11][0].name = \"อัตราส่วน FTP (\" + province1 + \")\";\r\n\t\t\t\t\t\t\tSeriesWithLine2ToSet[11][0].data.push(parseFloat(detail.dataValueMonth1));\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (detail.dataValueMonth2) {\r\n\t\t\t\t\t\t\tSeriesWithLine2ToSet[11][1].name = \"อัตราส่วน FTP (\" + province2 + \")\";\r\n\t\t\t\t\t\t\tSeriesWithLine2ToSet[11][1].data.push(parseFloat(detail.dataValueMonth2));\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase 315:\r\n\t\t\t\t\t\tif (detail.dataValueMonth1) {\r\n\t\t\t\t\t\t\tSeriesWithLine2ToSet[11][2].name = \"ค่า FTP (\" + province1 + \")\";\r\n\t\t\t\t\t\t\tSeriesWithLine2ToSet[11][2].data.push(parseFloat(detail.dataValueMonth1));\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (detail.dataValueMonth2) {\r\n\t\t\t\t\t\t\tSeriesWithLine2ToSet[11][3].name = \"ค่า FTP (\" + province2 + \")\";\r\n\t\t\t\t\t\t\tSeriesWithLine2ToSet[11][3].data.push(parseFloat(detail.dataValueMonth2));\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tdefault:\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t});\r\n\t\tsetCategories(CategoriesToSet);\r\n\t\tsetSeriesSingle(SeriesSingleToSet);\r\n\t\tsetSeriesMOS(SeriesMOSToSet);\r\n\t\tconsole.log(isDataLoading);\r\n\t\tsetSeriesCompare(setSeriesCompareToSet);\r\n\t\tsetSeriesWithLine(SeriesWithLineToSet);\r\n\t\tsetSeriesWithLine2(SeriesWithLine2ToSet);\r\n\t\tsetIsDataLoading(false);\r\n\t}\r\n\r\n\tuseEffect(() => {\r\n\t\tif (isRehydrated) getDatasetRecordList()\r\n\t\t// eslint-disable-next-line\r\n\t}, [isRehydrated])\r\n\r\n\tuseEffect(() => {\r\n\t\tupdateGraphData();\r\n\t}, [selectedYear, selectedQuarter])\r\n\r\n\tuseEffect(() => {\r\n\t\tprepareData();\r\n\t}, [rows])\r\n\r\n\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tกราฟสรุปรายงานผลประจำไตรมาส\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tปี\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t{yearList.map((item, index) => (\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{item}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tไตรมาส\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t{quarterList.map((item, index) => (\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{item}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tพื้นที่เทคโนโลยี 5G \r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tอัพเดทกราฟ\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t--------------------\r\n\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t--------------------\r\n\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t-----------------\r\n\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t---------------------\r\n\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t-----------------------\r\n\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t------------------------\r\n\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t------------\r\n\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\r\n\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n\r\n}\r\n","import { useEffect } from 'react'\r\nimport { Switch, Route, useRouteMatch, Redirect } from 'react-router-dom'\r\nimport ProtectedRoute from './protected-route'\r\nimport { useStoreActions } from '@store'\r\n\r\n// Components\r\nimport Dashboard from './dashboard'\r\nimport StandardReport from './standard-report'\r\nimport StandardReportDetails from './standard-report/[id]'\r\nimport Organization from './organization'\r\nimport OrganizationDetails from './organization/[id]'\r\nimport StandardReportOrganization from './standard-report-organization'\r\nimport StandardReportSent from './sent'\r\nimport StandardReportSentDetail from './sent/[id]'\r\nimport AdminUser from './admin-user'\r\nimport SignIn from './sign-in'\r\nimport SentChart from './sent-chart'\r\n\r\nexport default function AdminsRoute() {\r\n\tconst { path } = useRouteMatch()\r\n\tconst setAppType = useStoreActions(a => a.appModel.setAppType)\r\n\r\n\tuseEffect(() => setAppType('admin'))\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n","import React from 'react'\r\nimport { Route, Redirect } from 'react-router-dom'\r\nimport { useStoreState, useStoreRehydrated } from '../../../store'\r\n\r\nexport default function ProtectedRoute({ children, ...rest }) {\r\n\tconst userSDOC = useStoreState(s => s.sdocUserModel.userSDOC)\r\n\tconst isRehydrated = useStoreRehydrated()\r\n\r\n\treturn (\r\n\t\tisRehydrated && (\r\n\t\t\t\r\n\t\t\t\t\tuserSDOC ? (\r\n\t\t\t\t\t\tchildren\r\n\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)\r\n\t\t\t\t}\r\n\t\t\t/>\r\n\t\t)\r\n\t)\r\n}\r\n","import React, { useState } from 'react'\r\nimport {\r\n\tCard,\r\n\tGrid,\r\n\tDivider,\r\n\tRadioGroup,\r\n\tFormControlLabel,\r\n\tRadio,\r\n\tInputBase,\r\n\tButton,\r\n\tSelect,\r\n\tMenuItem,\r\n} from '@material-ui/core'\r\nimport { Business } from '@material-ui/icons'\r\nimport { operators } from 'api/index'\r\nimport { useStoreState } from '../../../store/index'\r\nimport { MailOutlineSharp } from '../../../../node_modules/@material-ui/icons/index'\r\nimport { Alert, AlertTitle } from '../../../../node_modules/@material-ui/lab/index'\r\nimport Swal from 'sweetalert2'\r\nexport default function OrganizationDetailCardV3({\r\n\tmountType,\r\n\tsenderState,\r\n\tconfirmationInfo,\r\n\tonChangeSenderType,\r\n\tonChangeCompanyInfo,\r\n}) {\r\n\t// eslint-disable-next-line\r\n\tconst [selectPOAError, setSelectPOAError] = useState(false)\r\n\t// eslint-disable-next-line\r\n\tconst [dbdData, setDbdData] = useState(null)\r\n\tconst [isProfileError, setIsProfileError] = useState(false)\r\n\tconst userSDOC = useStoreState(s => s.sdocUserModel.userSDOC)\r\n\r\n\tconst handleInput = async e => {\r\n\t\tconst { name, value } = e.target\r\n\r\n\t\tlet newData = confirmationInfo.organization\r\n\t\tonChangeCompanyInfo({ ...newData, [name]: value })\r\n\r\n\t\tif (name === 'branchNo') {\r\n\t\t\tif (value.length === 5) {\r\n\t\t\t\tconst res = await operators.getOperatorInfo({ taxno: userSDOC?.poa, branchno: value });\r\n\r\n\t\t\t\tif (res && res?.status === 200 && res?.data.status !== 'error') {\r\n\t\t\t\t\tconst data = res.data\r\n\t\t\t\t\tif (data.operatorInfo.zipcode?.length !== 5) {\r\n\t\t\t\t\t\tsetIsProfileError(true)\r\n\t\t\t\t\t\tSwal.fire({\r\n\t\t\t\t\t\t\ticon: 'error',\r\n\t\t\t\t\t\t\ttitle: 'ข้อมูลที่อยู่ไม่ถูกต้อง หรือรูปแบบผิด',\r\n\t\t\t\t\t\t\ttext: 'กรุณาตรวจสอบและปรับปรุงข้อมูลในเมนู \"ข้อมูลผู้ใช้งาน\" และกรอกข้อมูลลงฟอร์มให้ถูกต้อง',\r\n\t\t\t\t\t\t\tconfirmButtonText: 'ตกลง',\r\n\t\t\t\t\t\t})\r\n\r\n\t\t\t\t\t}\r\n\t\t\t\t\tonChangeCompanyInfo({\r\n\t\t\t\t\t\t...newData,\r\n\t\t\t\t\t\ttype: 'organization',\r\n\t\t\t\t\t\tname: data.operators.operatorName ?? '',\r\n\t\t\t\t\t\t// cardNo: data.operators.taxNo ?? '',\r\n\t\t\t\t\t\tprefix: data.operators.prefix ?? '',\r\n\t\t\t\t\t\tbranchNo: value,\r\n\t\t\t\t\t\taddress: data.operatorInfo.addr ?? '',\r\n\t\t\t\t\t\t// address: data.operatorInfo.address + ' ' + data.operatorInfo.district + ' ' + data.operatorInfo.amphoe + ' ' + data.operatorInfo.province + ' ' + data.operatorInfo.zipcode ?? '',\r\n\t\t\t\t\t\taddr: data.operatorInfo.addr ?? '',\r\n\t\t\t\t\t\temail: data.operatorInfo.email ?? '',\r\n\t\t\t\t\t\tmobile: data.operatorInfo.mobile ?? '',\r\n\t\t\t\t\t\tdistrict: data.operatorInfo.district ?? '',\r\n\t\t\t\t\t\tamphoe: data.operatorInfo.amphoe ?? '',\r\n\t\t\t\t\t\tprovince: data.operatorInfo.province ?? '',\r\n\t\t\t\t\t\tzipcode: data.operatorInfo.zipcode ?? '',\r\n\t\t\t\t\t})\r\n\t\t\t\t} else {\r\n\t\t\t\t\tonChangeCompanyInfo({\r\n\t\t\t\t\t\t...newData,\r\n\t\t\t\t\t\ttype: 'organization',\r\n\t\t\t\t\t\t// name: '',\r\n\t\t\t\t\t\t// cardNo: '',\r\n\t\t\t\t\t\t// prefix: '',\r\n\t\t\t\t\t\tbranchNo: value,\r\n\t\t\t\t\t\taddress: '',\r\n\t\t\t\t\t\temail: '',\r\n\t\t\t\t\t\tmobile: '',\r\n\t\t\t\t\t})\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tonChangeCompanyInfo({\r\n\t\t\t\t\t...newData,\r\n\t\t\t\t\ttype: 'organization',\r\n\t\t\t\t\t// name: '',\r\n\t\t\t\t\t// cardNo: '',\r\n\t\t\t\t\t// prefix: '',\r\n\t\t\t\t\tbranchNo: value,\r\n\t\t\t\t\taddress: '',\r\n\t\t\t\t\taddr: '',\r\n\t\t\t\t\tdistrict: '',\r\n\t\t\t\t\tamphoe: '',\r\n\t\t\t\t\tprovince: '',\r\n\t\t\t\t\tzipcode: '',\r\n\t\t\t\t\temail: '',\r\n\t\t\t\t\tmobile: '',\r\n\t\t\t\t})\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t{/* Header */}\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t1. รายละเอียดผู้ยื่นแบบรับรองตนเอง\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t{/* Normal Person or Organization */}\r\n\t\t\t\t{!mountType && การแก้ไขข้อมูลผู้ยื่นแบบรับรองตนเองหากข้อมูลในรายละเอียดด้านล่างไม่ตรงกับข้อมูลปัจจุบัน ผู้ใช้งานสามารถแก้ไขข้อมูลได้ที่เมนู \"ข้อมูลผู้ใช้งาน\" ก่อนยื่นแบบรับรองตนเอง}\r\n\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tประเภทของผู้ยื่นหนังสือยืนยันตนเอง\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tlabel=\"บุคคลธรรมดา\"\r\n\t\t\t\t\t\t\t\tdisabled={mountType}\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t{(mountType || userSDOC?.poa) && (\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\tlabel=\"นิติบุคคล\"\r\n\t\t\t\t\t\t\t\t\tdisabled={mountType}\r\n\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t{/* Normal Person or Organization's Name */}\r\n\t\t\t\t{senderState === 'normal_person' && (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tชื่อ-นามสกุล\r\n\t\t\t\t\t\t\t*\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tเลขประจำตัวบัตรประชาชน\r\n\t\t\t\t\t\t\t\t*\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tที่อยู่\r\n\t\t\t\t\t\t\t\t*\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tEmail\r\n\t\t\t\t\t\t\t\t*\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tเบอร์โทรศัพท์\r\n\t\t\t\t\t\t\t\t*\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\r\n\t\t\t\t{senderState === 'organization' && (\r\n\t\t\t\t\t<>\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{/* {!mountType && (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\tตรวจสอบข้อมูลนิติบุคคล\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)} */}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tเลขประจำตัวผู้เสียภาษีอากร\r\n\t\t\t\t\t\t\t\t\t*\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tประเภทสถานประกอบการ\r\n\t\t\t\t\t\t\t\t\t*\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tคำนำหน้าชื่อบริษัท\r\n\t\t\t\t\t\t\t\t*\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{/* \r\n\t\t\t\t\t\t\t\t\tบริษัท\r\n\t\t\t\t\t\t\t\t\tห้างหุ้นส่วน\r\n\t\t\t\t\t\t\t\t\tห้างหุ้นส่วนจำกัด\r\n\t\t\t\t\t\t\t\t\tสหกรณ์\r\n\t\t\t\t\t\t\t\t\tอื่น ๆ\r\n\r\n\t\t\t\t\t\t\t\t */}\r\n\t\t\t\t\t\t\t\t{/* {confirmationInfo.organization.prefix === \"อื่นๆ\" && (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)} */}\r\n\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tชื่อหน่วยงาน / ชื่อผู้ประกอบการ\r\n\t\t\t\t\t\t\t\t*\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tรหัสสาขา\r\n\t\t\t\t\t\t\t\t*\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tที่อยู่\r\n\t\t\t\t\t\t\t\t*\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tEmail\r\n\t\t\t\t\t\t\t\t*\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tเบอร์โทรศัพท์\r\n\t\t\t\t\t\t\t\t*\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\r\n\t\t\t\t{/* Card Number */}\r\n\r\n\t\t\t\t{/* Address */}\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n","import { Card, Grid, Divider, InputBase } from '@material-ui/core'\r\nimport { Settings } from '@material-ui/icons'\r\n\r\nimport { makeStyles } from '@material-ui/core/styles'\r\n\r\nconst useStyles = makeStyles(theme => {\r\n\treturn {\r\n\t\tdisabled_text_field: {\r\n\t\t\tcolor: '#000',\r\n\t\t},\r\n\t}\r\n})\r\n\r\nexport default function BrandNameCard({\r\n\tmountType,\r\n\tinputModel = {\r\n\t\tbrandName: '',\r\n\t\tproductModel: '',\r\n\t\tproductDescription: '',\r\n\t},\r\n\tonChangeInputModel,\r\n}) {\r\n\tconst classes = useStyles()\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t2.รายละเอียดของเครื่องโทรคมนาคมและอุปกรณ์\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tตราอักษร (Brand Name)\r\n\t\t\t\t\t\t*\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tแบบ/รุ่น (model)\r\n\t\t\t\t\t\t*\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tประเภท / ชนิดของเครื่องโทรคมนาคมและอุปกรณ์ (Product Description)\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t*\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n","import { useMemo, useState, useRef } from 'react'\r\nimport {\r\n\tCard,\r\n\tGrid,\r\n\tDivider,\r\n\tFormControl,\r\n\tSelect,\r\n\tMenuItem,\r\n\tInputBase,\r\n\tIconButton,\r\n} from '@material-ui/core'\r\nimport { Settings, Close } from '@material-ui/icons'\r\n\r\nimport { makeStyles } from '@material-ui/core/styles'\r\nimport { months } from '../../../../node_modules/moment/moment'\r\nimport { useEffect } from 'react'\r\n\r\nconst useStyles = makeStyles(theme => {\r\n\treturn {\r\n\t\tdisabled_text_field: {\r\n\t\t\tcolor: '#000',\r\n\t\t},\r\n\t}\r\n})\r\n\r\nconst ErrorPower = () => {\r\n\treturn (
***ข้อมูลกำลังคลื่นความถี่ หรือกำลังส่งไม่ถูกต้อง โปรดกรอกกำลังส่งหรือหน่วยให้ถูกต้อง โดยท่านสามารถศึกษารายละเอียดเพิ่มเติมได้ที่ https://standard1.nbtc.go.th/getattachment/บริการออนไลน์/คัดสำเนาออนไลน์-(1)/SDoC-Online/frequcysdoc.pdf.aspx?lang=th-TH\r\n\t\tหรือสามารถสอบถามข้อมูลเพิ่มเติมได้ที่ email : SDoC@nbtc.go.th
)\r\n}\r\n\r\n\r\n\r\nexport default function EquipmentCard({\r\n\tmountType,\r\n\tinputEquipmentState = {\r\n\t\tProductTypeText: '',\r\n\t\tFrequencyText: '',\r\n\t\tPowerText: '',\r\n\t\tPolicyText: '',\r\n\t\tSelectedPowerUnit: '',\r\n\t\tPolicyText_2: '',\r\n\t\tPolicyText_3: '',\r\n\t\tFlag: '',\r\n\t},\r\n\tonChangeInputEquipmentState,\r\n\tseq,\r\n\tequipmentMasterData = {\r\n\t\ttypeEquipment: [],\r\n\t\tfrequency: [],\r\n\t\tpowerUnit: [],\r\n\t},\r\n\tonDelete,\r\n\tindex,\r\n\tonError = () => { },\r\n}) {\r\n\tconst classes = useStyles()\r\n\r\n\tconst inputRef = useRef(null);\r\n\r\n\tconst [isError, setIsError] = useState(false)\r\n\r\n\r\n\r\n\tconst possibleFreq = useMemo(() => {\r\n\t\tconst availableFreq = Object.keys(equipmentMasterData.typeEquipment).find(\r\n\t\t\tx => x.toLowerCase() === inputEquipmentState.ProductTypeText.toLowerCase()\r\n\t\t)\r\n\r\n\t\treturn equipmentMasterData.typeEquipment[availableFreq] ?? []\r\n\t}, [equipmentMasterData, inputEquipmentState])\r\n\r\n\tconst possibleAnnoucement = useMemo(() => {\r\n\t\tif (\r\n\t\t\tinputEquipmentState.FrequencyText.length === 0 ||\r\n\t\t\tinputEquipmentState.ProductTypeText.length === 0\r\n\t\t) {\r\n\r\n\t\t\treturn []\r\n\t\t}\r\n\r\n\t\tconst findedMasterItem = equipmentMasterData.frequency.find(f => {\r\n\t\t\tconst isMatchedName =\r\n\t\t\t\tf.name.toLowerCase() === inputEquipmentState.FrequencyText.toLowerCase()\r\n\r\n\t\t\tconst isMatchedTechType = f.policy.find(\r\n\t\t\t\tpf =>\r\n\t\t\t\t\tpf.tech_type.toLowerCase() ===\r\n\t\t\t\t\tinputEquipmentState.ProductTypeText.toLowerCase()\r\n\t\t\t)\r\n\r\n\t\t\treturn isMatchedName && isMatchedTechType\r\n\t\t})\r\n\r\n\t\tif (findedMasterItem) {\r\n\t\t\tconst findedPolicy = findedMasterItem.policy.find(\r\n\t\t\t\tpf2 =>\r\n\t\t\t\t\tpf2.tech_type.toLowerCase() ===\r\n\t\t\t\t\tinputEquipmentState.ProductTypeText.toLowerCase()\r\n\t\t\t)\r\n\r\n\t\t\treturn findedPolicy.title\r\n\t\t}\r\n\r\n\t\treturn []\r\n\t}, [inputEquipmentState, equipmentMasterData])\r\n\r\n\tconst possibleAnnoucementFlag = useMemo(() => {\r\n\t\tif (\r\n\t\t\tinputEquipmentState.FrequencyText.length === 0 ||\r\n\t\t\tinputEquipmentState.ProductTypeText.length === 0\r\n\t\t) {\r\n\r\n\t\t\treturn []\r\n\t\t}\r\n\r\n\t\tconst findedMasterItem = equipmentMasterData.frequency.find(f => {\r\n\t\t\tconst isMatchedName =\r\n\t\t\t\tf.name.toLowerCase() === inputEquipmentState.FrequencyText.toLowerCase()\r\n\r\n\t\t\tconst isMatchedTechType = f.policy.find(\r\n\t\t\t\tpf =>\r\n\t\t\t\t\tpf.tech_type.toLowerCase() ===\r\n\t\t\t\t\tinputEquipmentState.ProductTypeText.toLowerCase()\r\n\t\t\t)\r\n\r\n\t\t\treturn isMatchedName && isMatchedTechType\r\n\t\t})\r\n\r\n\t\tif (findedMasterItem) {\r\n\t\t\tconst findedPolicy = findedMasterItem.policy.find(\r\n\t\t\t\tpf2 =>\r\n\t\t\t\t\tpf2.tech_type.toLowerCase() ===\r\n\t\t\t\t\tinputEquipmentState.ProductTypeText.toLowerCase()\r\n\t\t\t)\r\n\r\n\t\t\treturn findedPolicy.flag\r\n\t\t}\r\n\r\n\t\treturn []\r\n\t}, [inputEquipmentState, equipmentMasterData])\r\n\r\n\tconst filterFrequency = (e, filterFrequencyIndex) => {\r\n\t\tonChangeInputEquipmentState('FrequencyText', '', filterFrequencyIndex)\r\n\t\tonChangeInputEquipmentState('PowerText', '', filterFrequencyIndex)\r\n\t}\r\n\r\n\tconst filterFrequency2 = (e, filterFrequencyIndex) => {\r\n\t\tonChangeInputEquipmentState('PowerText', '', filterFrequencyIndex)\r\n\t}\r\n\r\n\r\n\tconst isValidPowerText = useMemo(() => {\r\n\t\tconst checking_whitelist = [\r\n\t\t\t'FrequencyText',\r\n\t\t\t'ProductTypeText',\r\n\t\t\t'PowerText',\r\n\t\t\t'SelectedPowerUnit',\r\n\t\t]\r\n\t\tif (checking_whitelist.some(cw => inputEquipmentState[cw].length === 0)) {\r\n\t\t\treturn true\r\n\t\t}\r\n\r\n\t\tconst finded = equipmentMasterData.frequency.find(\r\n\t\t\titem =>\r\n\t\t\t\titem.name.toLowerCase() ===\r\n\t\t\t\tinputEquipmentState.FrequencyText.toLowerCase()\r\n\t\t)\r\n\r\n\t\tif (finded) {\r\n\t\t\tconst findedPolicy = finded.policy.find(\r\n\t\t\t\tp =>\r\n\t\t\t\t\tp.tech_type.toLowerCase() ===\r\n\t\t\t\t\tinputEquipmentState.ProductTypeText.toLowerCase()\r\n\t\t\t)\r\n\t\t\t// console.log('findedPolicy',findedPolicy.power,inputEquipmentState.PowerText,inputEquipmentState.SelectedPowerUnit.toLowerCase())\r\n\t\t\t// console.log('findedPolicy', findedPolicy)\r\n\t\t\tif (findedPolicy) {\r\n\t\t\t\tconst findedPower = findedPolicy.power.find(\r\n\t\t\t\t\titem =>\r\n\t\t\t\t\t\tparseFloat(item.value) >= parseFloat(inputEquipmentState.PowerText) &&\r\n\t\t\t\t\t\titem.unit.toLowerCase() ===\r\n\t\t\t\t\t\tinputEquipmentState.SelectedPowerUnit.toLowerCase()\r\n\t\t\t\t\t\t&& parseFloat(inputEquipmentState.PowerText) >= 0\r\n\t\t\t\t)\r\n\r\n\t\t\t\t// onError(index, findedPower !== undefined || findedPower !== null)\r\n\r\n\t\t\t\treturn findedPower !== undefined\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn true\r\n\t}, [equipmentMasterData, inputEquipmentState])\r\n\r\n\tuseEffect(() => {\r\n\t\t// console.log(inputEquipmentState.isError);\r\n\t\tsetIsError(inputEquipmentState.isError)\r\n\t}, [inputEquipmentState.isError])\r\n\r\n\r\n\t// const handleChange = (event) => {\r\n\t// \tsetSelected(event.target.value === props.value);\r\n\t// };\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t{/* Header */}\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tอุปกรณ์ย่านความถี่ {seq}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t{(!mountType || mountType === \"ModifyInfo\") && (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{/* Type of Equipment */}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tประเภทมาตรฐานเทคโนโลยี\r\n\t\t\t\t\t\t\t*\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\tonChangeInputEquipmentState(\r\n\t\t\t\t\t\t\t\t\t\te.target.name,\r\n\t\t\t\t\t\t\t\t\t\te.target.value,\r\n\t\t\t\t\t\t\t\t\t\tindex\r\n\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t\tfilterFrequency(e, index)\r\n\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\tclassName={`${(mountType && mountType !== \"ModifyInfo\") ? classes.disabled_text_field : ''}`}>\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{Object.keys(equipmentMasterData.typeEquipment).map(\r\n\t\t\t\t\t\t\t\t\t(item, index) => {\r\n\t\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t{item}\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\r\n\t\t\t\t{/* Frequency and Transmitted Power */}\r\n\t\t\t\t\r\n\t\t\t\t\t{/* Frequency */}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tคลื่นความถี่\r\n\t\t\t\t\t\t\t*\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{(!mountType || mountType == \"ModifyInfo\") ? (\r\n\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\tonChangeInputEquipmentState(\r\n\t\t\t\t\t\t\t\t\t\t\te.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\te.target.value,\r\n\t\t\t\t\t\t\t\t\t\t\tindex\r\n\t\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t\t\tfilterFrequency2(e, index)\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\tclassName={`${(mountType && mountType !== \"ModifyInfo\") ? classes.disabled_text_field : ''}`}>\r\n\t\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\t{possibleFreq.map((item, index) => {\r\n\t\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t{item}\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t{/* Transmitted Power */}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tกำลังส่ง\r\n\t\t\t\t\t\t\t*\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\te.target.value = e.target.value.replace(/[^0-9.]/g, '').replace(/(\\..*)\\./g, '$1').replace(/[e-]/ig, '');\r\n\t\t\t\t\t\t\t\t\tonChangeInputEquipmentState(\r\n\t\t\t\t\t\t\t\t\t\te.target.name,\r\n\t\t\t\t\t\t\t\t\t\te.target.value,\r\n\t\t\t\t\t\t\t\t\t\tindex\r\n\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t\tpossibleAnnoucement.map((item, indexs) => {\r\n\t\t\t\t\t\t\t\t\t\tonChangeInputEquipmentState(\r\n\t\t\t\t\t\t\t\t\t\t\tindexs > 0 ? \"PolicyText_\" + (indexs + 1) : 'PolicyText',\r\n\t\t\t\t\t\t\t\t\t\t\titem,\r\n\t\t\t\t\t\t\t\t\t\t\tindex\r\n\t\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t\t\tonChangeInputEquipmentState(\r\n\t\t\t\t\t\t\t\t\t\t\"Flag\",\r\n\t\t\t\t\t\t\t\t\t\tpossibleAnnoucementFlag,\r\n\t\t\t\t\t\t\t\t\t\tindex\r\n\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\tonBlur={e => {\r\n\t\t\t\t\t\t\t\t\tonChangeInputEquipmentState(\r\n\t\t\t\t\t\t\t\t\t\te.target.name,\r\n\t\t\t\t\t\t\t\t\t\te.target.value,\r\n\t\t\t\t\t\t\t\t\t\tindex\r\n\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t\tpossibleAnnoucement.map((item, indexs) => {\r\n\t\t\t\t\t\t\t\t\t\tonChangeInputEquipmentState(\r\n\t\t\t\t\t\t\t\t\t\t\tindexs > 0 ? \"PolicyText_\" + (indexs + 1) : 'PolicyText',\r\n\t\t\t\t\t\t\t\t\t\t\titem,\r\n\t\t\t\t\t\t\t\t\t\t\tindex\r\n\t\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t\t\tonChangeInputEquipmentState(\r\n\t\t\t\t\t\t\t\t\t\t\"Flag\",\r\n\t\t\t\t\t\t\t\t\t\tpossibleAnnoucementFlag,\r\n\t\t\t\t\t\t\t\t\t\tindex\r\n\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\tclassName={`${inputEquipmentState.FrequencyText === '' || (mountType && mountType !== \"ModifyInfo\")\r\n\t\t\t\t\t\t\t\t\t? classes.disabled_text_field\r\n\t\t\t\t\t\t\t\t\t: ''\r\n\t\t\t\t\t\t\t\t\t} w-full h-full px-2`}\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tหน่วย\r\n\t\t\t\t\t\t\t*\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\tonChangeInputEquipmentState(\r\n\t\t\t\t\t\t\t\t\t\te.target.name,\r\n\t\t\t\t\t\t\t\t\t\te.target.value,\r\n\t\t\t\t\t\t\t\t\t\tindex\r\n\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t\tpossibleAnnoucement.map((item, indexs) => {\r\n\t\t\t\t\t\t\t\t\t\tonChangeInputEquipmentState(\r\n\t\t\t\t\t\t\t\t\t\t\tindexs > 0 ? \"PolicyText_\" + (indexs + 1) : 'PolicyText',\r\n\t\t\t\t\t\t\t\t\t\t\titem,\r\n\t\t\t\t\t\t\t\t\t\t\tindex\r\n\t\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t\t\tonChangeInputEquipmentState(\r\n\t\t\t\t\t\t\t\t\t\t\"Flag\",\r\n\t\t\t\t\t\t\t\t\t\tpossibleAnnoucementFlag,\r\n\t\t\t\t\t\t\t\t\t\tindex\r\n\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\tonBlur={e => {\r\n\t\t\t\t\t\t\t\t\tonChangeInputEquipmentState(\r\n\t\t\t\t\t\t\t\t\t\te.target.name,\r\n\t\t\t\t\t\t\t\t\t\te.target.value,\r\n\t\t\t\t\t\t\t\t\t\tindex\r\n\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t\tpossibleAnnoucement.map((item, indexs) => {\r\n\t\t\t\t\t\t\t\t\t\tonChangeInputEquipmentState(\r\n\t\t\t\t\t\t\t\t\t\t\tindexs > 0 ? \"PolicyText_\" + (indexs + 1) : 'PolicyText',\r\n\t\t\t\t\t\t\t\t\t\t\titem,\r\n\t\t\t\t\t\t\t\t\t\t\tindex\r\n\t\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t\t\tonChangeInputEquipmentState(\r\n\t\t\t\t\t\t\t\t\t\t\"Flag\",\r\n\t\t\t\t\t\t\t\t\t\tpossibleAnnoucementFlag,\r\n\t\t\t\t\t\t\t\t\t\tindex\r\n\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{equipmentMasterData.powerUnit.map((item, index) => {\r\n\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{item}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t{/* Technical Standard and Related Annoucement */}\r\n\t\t\t\t\r\n\t\t\t\t\t{/* Related Annoucement */}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tประกาศที่เกี่ยวข้อง\r\n\t\t\t\t\t\t\t*\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{mountType === 'readOnly' ? (\r\n\t\t\t\t\t\t\t\t// \r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{inputEquipmentState.PolicyText ? - {inputEquipmentState.PolicyText} : ''}\r\n\t\t\t\t\t\t\t\t\t{inputEquipmentState.PolicyText_2 ? - {inputEquipmentState.PolicyText_2} : ''}\r\n\t\t\t\t\t\t\t\t\t{inputEquipmentState.PolicyText_3 ? - {inputEquipmentState.PolicyText_3} : ''}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\tpossibleAnnoucement.map((item, indexs) => {\r\n\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t- {item}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t{/* \r\n\t\t\t\t\t\t\t{mountType === 'readOnly' ? () : (\r\n\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\tonChangeInputEquipmentState(\r\n\t\t\t\t\t\t\t\t\t\t\te.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\te.target.value,\r\n\t\t\t\t\t\t\t\t\t\t\tindex\r\n\t\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\tclassName={`${inputEquipmentState.FrequencyText === '' || (mountType && mountType !== \"ModifyInfo\")\r\n\t\t\t\t\t\t\t\t\t\t? classes.disabled_text_field\r\n\t\t\t\t\t\t\t\t\t\t: ''\r\n\t\t\t\t\t\t\t\t\t\t}`}>\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tโปรดระบุลักษณะทางเทคนิคที่แสดงความสอดคล้อง\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{possibleAnnoucement.map((item, index) => {\r\n\t\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t{item}\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{mountType === 'readOnly' ? () : (\r\n\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\tonChangeInputEquipmentState(\r\n\t\t\t\t\t\t\t\t\t\t\te.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\te.target.value,\r\n\t\t\t\t\t\t\t\t\t\t\tindex\r\n\t\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\tclassName={`${inputEquipmentState.FrequencyText === '' || (mountType && mountType !== \"ModifyInfo\")\r\n\t\t\t\t\t\t\t\t\t\t? classes.disabled_text_field\r\n\t\t\t\t\t\t\t\t\t\t: ''\r\n\t\t\t\t\t\t\t\t\t\t}`}>\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tโปรดระบุลักษณะทางเทคนิคที่แสดงความสอดคล้อง\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{possibleAnnoucement.map((item, index) => {\r\n\t\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t{item}\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t */}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{!(mountType && mountType !== \"ModifyInfo\") &&\r\n\t\t\t\t\t\t!isValidPowerText ? (inputEquipmentState.isError = true) : (inputEquipmentState.isError = false)}\r\n\t\t\t\t\t{!isValidPowerText && ()}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n","import React, { useState } from 'react';\r\nimport { Grid, IconButton, Input, Button, TextField, Tooltip, Switch } from '@material-ui/core'\r\nimport { Delete, Archive, Pageview, LockOpen, Lock } from '@material-ui/icons'\r\n\r\nexport default function File({\r\n\tsDOCID,\r\n\tfileID,\r\n\tmountType,\r\n\toriginalFileName,\r\n\tfileName,\r\n\t// fileDate,\r\n\tonDownloadDocument,\r\n\tonDelete,\r\n\tindex = 0,\r\n\tisFileLocked,\r\n\tonDeleteUploadedDocument,\r\n\tonChangeAttachedFileName,\r\n\tonChangeIsFileLocked,\r\n\tApprovalControl,\r\n\tsDOCStatus,\r\n\tisEditing,\r\n}) {\r\n\tconst [FileName, setFileName] = useState(fileName);\r\n\tconst handleFileNameChange = (e) => {\r\n\t\tsetFileName(e.target.value);\r\n\t};\r\n\r\n\tconst [showFullFileNames, setShowFullFileNames] = useState({});\r\n\r\n\tconst toggleFileName = (id) => {\r\n\t\tsetShowFullFileNames((prevState) => ({\r\n\t\t\t...prevState,\r\n\t\t\t[id]: !prevState[id],\r\n\t\t}));\r\n\t};\r\n\r\n\tconst truncate = (str, maxLength) => {\r\n\t\treturn str.length > maxLength ? str.substring(0, maxLength) + '...' : str;\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{/* Index Section */}\r\n\t\t\t\r\n\t\t\t\t{index + 1}.)\r\n\t\t\t\r\n\r\n\t\t\t{/* File Name Section */}\r\n\t\t\t\r\n\t\t\t\t{isEditing ? (\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t) : (\r\n\t\t\t\t\t<>ชื่อเอกสาร : {FileName}\r\n\t\t\t\t)}\r\n\t\t\t
\r\n\r\n\t\t\t{/* Original File Name Section */}\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t toggleFileName(fileID)}\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t({showFullFileNames[fileID] ? originalFileName : truncate(originalFileName, 25)})\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\r\n\t\t\t{/* File Actions Section */}\r\n\t\t\t{mountType && fileID && (\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t{((mountType === 'ModifyInfo' ||\r\n\t\t\t\t\t\tmountType === 'attachFile' ||\r\n\t\t\t\t\t\t(sDOCStatus &&\r\n\t\t\t\t\t\t\tsDOCStatus === 2 &&\r\n\t\t\t\t\t\t\tApprovalControl &&\r\n\t\t\t\t\t\t\tApprovalControl === 'true'))) &&\r\n\t\t\t\t\t\tisFileLocked === false && (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\t\t\t\t\t{((mountType === 'ModifyInfo' ||\r\n\t\t\t\t\t\tmountType === 'attachFile' ||\r\n\t\t\t\t\t\t(sDOCStatus &&\r\n\t\t\t\t\t\t\tsDOCStatus === 2 &&\r\n\t\t\t\t\t\t\tApprovalControl &&\r\n\t\t\t\t\t\t\tApprovalControl === 'true'))) &&\r\n\t\t\t\t\t\tisFileLocked === true && (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\t\t\t\t\r\n\t\t\t)}\r\n\r\n\t\t\t{/* Delete and Additional File Section */}\r\n\t\t\t{(!mountType ||\r\n\t\t\t\t(mountType &&\r\n\t\t\t\t\t(mountType === 'ModifyInfo' || mountType === 'attachFile')) &&\r\n\t\t\t\t!fileID) && (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t(เอกสารที่แนบเพิ่มเติม)\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\r\n\t\t\t{/* Lock/Unlock Section */}\r\n\t\t\t{ApprovalControl && ApprovalControl === 'true' && (\r\n\t\t\t\t\r\n\t\t\t\t\t{isFileLocked === true ? (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t\r\n\t)\r\n}\r\n","import { Card, Grid, Divider, TextField, Button } from '@material-ui/core'\r\nimport { Assignment, Archive } from '@material-ui/icons'\r\n\r\nimport File from './file'\r\n\r\nexport default function DocumentAdditionCard({\r\n\tsDOCID,\r\n\tmountType,\r\n\tadditionalFiles = [],\r\n\ttempFile = {\r\n\t\tfile: null,\r\n\t\tname: '',\r\n\t\tfiledate: '',\r\n\t\tisfilelocked: false,\r\n\t},\r\n\tonAddTemp,\r\n\tonAddDocument,\r\n\tonDeleteDocument,\r\n\tonChangeAttachedFileName,\r\n\tonDownloadDocument,\r\n\tonDeleteUploadedDocument,\r\n\tonChangeIsFileLocked,\r\n\tApprovalControl,\r\n\tsDOCStatus,\r\n}) {\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t{/* Header */}\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tเอกสารหลักฐานประกอบการรับรองตนเอง\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\r\n\t\t\t\t{/* Files Section */}\r\n\t\t\t\t\r\n\t\t\t\t\t{/* Heading */}\r\n\t\t\t\t\tเอกสารแนบประกอบการรับรองตนเอง\r\n\t\t\t\t\t{/* \r\n\t\t\t\t\t\t* อัพโหลดไฟล์ข้อมูลใน format .xlsx .xls .docx .doc .pdf .jpeg .png\r\n\t\t\t\t\t\t.jpg .zip เท่านั้น *\r\n\t\t\t\t\t */}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t* อัพโหลดไฟล์ข้อมูลใน format .pdf เท่านั้น *\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{additionalFiles.map((item, index) => {\r\n\t\t\t\t\t\t\t\tconsole.log('item', item)\r\n\t\t\t\t\t\t\t\tconst fileKey = `sdoc-file-additional-${index}-${item.fileID}`;\r\n\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t onDeleteDocument(index)}\r\n\t\t\t\t\t\t\t\t\t\tonDownloadDocument={onDownloadDocument}\r\n\t\t\t\t\t\t\t\t\t\tonChangeAttachedFileName={onChangeAttachedFileName}\r\n\t\t\t\t\t\t\t\t\t\tonDeleteUploadedDocument={() => onDeleteUploadedDocument(item.fileID, index)}\r\n\t\t\t\t\t\t\t\t\t\tonChangeIsFileLocked={() => onChangeIsFileLocked(item.fileID, index)}\r\n\t\t\t\t\t\t\t\t\t\tApprovalControl={ApprovalControl}\r\n\t\t\t\t\t\t\t\t\t\tsDOCStatus={sDOCStatus}\r\n\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t{mountType && (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tดาวน์โหลดทั้งหมด\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\r\n\t\t\t\t\t{(!mountType || mountType === 'attachFile' || mountType === \"ModifyInfo\") && (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{/* \r\n\t\t\t\t\t\t\t\t\tชื่อเอกสาร\r\n\t\t\t\t\t\t\t\t\t*\r\n\t\t\t\t\t\t\t\t */}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tข้อมูลเอกสารแนบ\r\n\t\t\t\t\t\t\t\t\t*\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t onAddTemp(e, 'name')}\r\n\t\t\t\t\t\t\t\t\t\tlabel=\"โปรดตั้งชื่อเอกสาร*\"\r\n\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t{/* \r\n\t\t\t\t\t\t\t\t\tวันที่เอกสาร\r\n\t\t\t\t\t\t\t\t\t*\r\n\t\t\t\t\t\t\t\t */}\r\n\t\t\t\t\t\t\t\t\t{/* onAddTemp(e, 'filedate')}\r\n\t\t\t\t\t\t\t\t\t\tlabel=\"วันที่เอกสาร*\"\r\n\t\t\t\t\t\t\t\t\t/> */}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tเลือกไฟล์\r\n\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\tonAddTemp(e, 'file')\r\n\t\t\t\t\t\t\t\t\t\te.target.value = ''\r\n\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{tempFile.file ? tempFile.file?.name : 'ยังไม่ได้เลือกไฟล์'}\r\n\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tแนบไฟล์\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t{/* display text please upload file least 1 file */}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{!mountType && (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t* กรุณาแนบเอกสารประกอบการรับรองตนเองอย่างน้อย 2 ไฟล์
\r\n\t\t\t\t\t\t\t\t* ขนาดไฟล์รวมกันต้องไม่เกิน 300 MB
\r\n\t\t\t\t\t\t\t\t** หากเอกสารเป็นไฟล์ผลการทดสอบเครื่องโทรคมนาคม (Test Report) ขอให้ท่านตั้งชื่อเอกสารเป็นหมายเลขผลการทดสอบ\r\n\t\t\t\t\t\t\t\tเช่น Test Report No. : XXXXXXX\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t{/* Uploaded File */}\r\n\t\t\t\r\n\t\t
\r\n\t)\r\n}\r\n","import { useLocation } from 'react-router'\r\n\r\nexport const useQuery = () => {\r\n\treturn new URLSearchParams(useLocation().search)\r\n}\r\n","export const frequency = [\r\n\t{\r\n\t\tname: '≤135 kHz',\r\n\t\tpolicy: [\r\n\t\t\t{\r\n\t\t\t\tpolicy_id: 1,\r\n\t\t\t\ttech_type: 'RFID',\r\n\t\t\t\ttitle: [\r\n\t\t\t\t\t'ประกาศ กสทช. เรื่อง หลักเกณฑ์การใช้คลื่นความถี่และเครื่องวิทยุคมนาคมที่อนุญาตให้มีการใช้งานเป็นการทั่วไป และที่แก้ไขเพิ่มเติม ฉบับที่ ๒',\r\n\t\t\t\t\t'มาตรฐานทางเทคนิค กสทช.มท. 1010-2560',\r\n\t\t\t\t],\r\n\t\t\t\tpower: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '150 mW (eirp)',\r\n\t\t\t\t\t\tvalue: 150,\r\n\t\t\t\t\t\tunit: 'mW (eirp)',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '0.15 W (eirp)',\r\n\t\t\t\t\t\tvalue: 0.15,\r\n\t\t\t\t\t\tunit: 'W (eirp)',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '0.00015 kW (eirp)',\r\n\t\t\t\t\t\tvalue: 0.00015,\r\n\t\t\t\t\t\tunit: 'kW (eirp)',\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t\tflag: 0b111111100001,\r\n\t\t\t},\r\n\t\t],\r\n\t},\r\n\t{\r\n\t\tname: '≤315 kHz',\r\n\t\tpolicy: [\r\n\t\t\t{\r\n\t\t\t\tpolicy_id: 1,\r\n\t\t\t\ttech_type: 'ทั่วไป',\r\n\t\t\t\ttitle: [\r\n\t\t\t\t\t'ประกาศ กสทช. เรื่อง หลักเกณฑ์การใช้คลื่นความถี่และเครื่องวิทยุคมนาคมที่อนุญาตให้มีการใช้งานเป็นการทั่วไป และที่แก้ไขเพิ่มเติม ฉบับที่ ๒',\r\n\t\t\t\t],\r\n\t\t\t\tpower: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '150 mW (eirp)',\r\n\t\t\t\t\t\tvalue: 150,\r\n\t\t\t\t\t\tunit: 'mW (eirp)',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '0.15 W (eirp)',\r\n\t\t\t\t\t\tvalue: 0.15,\r\n\t\t\t\t\t\tunit: 'W (eirp)',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '0.00015 kW (eirp)',\r\n\t\t\t\t\t\tvalue: 0.00015,\r\n\t\t\t\t\t\tunit: 'kW (eirp)',\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t\tflag: 0b111111100001,\r\n\t\t\t},\r\n\t\t],\r\n\t},\r\n\t{\r\n\t\tname: '13.553-13.567 MHz',\r\n\t\tpolicy: [\r\n\t\t\t{\r\n\t\t\t\tpolicy_id: 1,\r\n\t\t\t\ttech_type: 'ทั่วไป',\r\n\t\t\t\ttitle: [\r\n\t\t\t\t\t'ประกาศ กสทช. เรื่อง หลักเกณฑ์การใช้คลื่นความถี่และเครื่องวิทยุคมนาคมที่อนุญาตให้มีการใช้งานเป็นการทั่วไป และที่แก้ไขเพิ่มเติม ฉบับที่ ๒',\r\n\t\t\t\t],\r\n\t\t\t\tpower: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '10 mW (eirp)',\r\n\t\t\t\t\t\tvalue: 10,\r\n\t\t\t\t\t\tunit: 'mW (eirp)',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '0.01 W (eirp)',\r\n\t\t\t\t\t\tvalue: 0.01,\r\n\t\t\t\t\t\tunit: 'W (eirp)',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '0.00001 kW (eirp)',\r\n\t\t\t\t\t\tvalue: 0.00001,\r\n\t\t\t\t\t\tunit: 'kW (eirp)',\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t\tflag: 0b111111100001,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpolicy_id: 2,\r\n\t\t\t\ttech_type: 'RFID',\r\n\t\t\t\ttitle: ['มาตรฐานทางเทคนิค กสทช.มท. 1010-2560'],\r\n\t\t\t\tpower: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '10 mW (eirp)',\r\n\t\t\t\t\t\tvalue: 10,\r\n\t\t\t\t\t\tunit: 'mW (eirp)',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '0.01 W (eirp)',\r\n\t\t\t\t\t\tvalue: 0.01,\r\n\t\t\t\t\t\tunit: 'W (eirp)',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '0.00001 kW (eirp)',\r\n\t\t\t\t\t\tvalue: 0.00001,\r\n\t\t\t\t\t\tunit: 'kW (eirp)',\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t\tflag: 0b111111100001,\r\n\t\t\t},\r\n\t\t],\r\n\t},\r\n\t{\r\n\t\tname: '25-470 MHz',\r\n\t\tpolicy: [\r\n\t\t\t{\r\n\t\t\t\tpolicy_id: 1,\r\n\t\t\t\ttech_type: 'on-site paging (Pocket Unit)',\r\n\t\t\t\ttitle: ['มาตรฐานทางเทคนิค กสทช.มท. 1028-2558'],\r\n\t\t\t\tpower: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '50 mW (eirp)',\r\n\t\t\t\t\t\tvalue: 50,\r\n\t\t\t\t\t\tunit: 'mW (eirp)',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '0.05 W (eirp)',\r\n\t\t\t\t\t\tvalue: 0.05,\r\n\t\t\t\t\t\tunit: 'W (eirp)',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '0.00005 kW (eirp)',\r\n\t\t\t\t\t\tvalue: 0.00005,\r\n\t\t\t\t\t\tunit: 'kW (eirp)',\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t\tflag: 0b111111100001,\r\n\t\t\t},\r\n\t\t],\r\n\t},\r\n\t{\r\n\t\tname: '26.975-27.405 MHz',\r\n\t\tpolicy: [\r\n\t\t\t{\r\n\t\t\t\tpolicy_id: 1,\r\n\t\t\t\ttech_type: 'ทั่วไป',\r\n\t\t\t\ttitle: [\r\n\t\t\t\t\t'ประกาศ กสทช. เรื่อง หลักเกณฑ์การใช้คลื่นความถี่และเครื่องวิทยุคมนาคมที่อนุญาตให้มีการใช้งานเป็นการทั่วไป และที่แก้ไขเพิ่มเติม ฉบับที่ ๒',\r\n\t\t\t\t],\r\n\t\t\t\tpower: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '100 mW',\r\n\t\t\t\t\t\tvalue: 100,\r\n\t\t\t\t\t\tunit: 'mW',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '0.1 W',\r\n\t\t\t\t\t\tvalue: 0.1,\r\n\t\t\t\t\t\tunit: 'W',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '0.0001 kW',\r\n\t\t\t\t\t\tvalue: 0.0001,\r\n\t\t\t\t\t\tunit: 'kW',\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t\tflag: 0b111111100001,\r\n\t\t\t},\r\n\t\t],\r\n\t},\r\n\t{\r\n\t\tname: '30-50 MHz',\r\n\t\tpolicy: [\r\n\t\t\t{\r\n\t\t\t\tpolicy_id: 1,\r\n\t\t\t\ttech_type: 'ทั่วไป',\r\n\t\t\t\ttitle: [\r\n\t\t\t\t\t'ประกาศ กสทช. เรื่อง หลักเกณฑ์การใช้คลื่นความถี่และเครื่องวิทยุคมนาคมที่อนุญาตให้มีการใช้งานเป็นการทั่วไป และที่แก้ไขเพิ่มเติม ฉบับที่ ๒',\r\n\t\t\t\t],\r\n\t\t\t\tpower: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '10 mW',\r\n\t\t\t\t\t\tvalue: 10,\r\n\t\t\t\t\t\tunit: 'mW',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '0.01 W',\r\n\t\t\t\t\t\tvalue: 0.01,\r\n\t\t\t\t\t\tunit: 'W',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '0.00001 kW',\r\n\t\t\t\t\t\tvalue: 0.00001,\r\n\t\t\t\t\t\tunit: 'kW',\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t\tflag: 0b111111100001,\r\n\t\t\t},\r\n\t\t],\r\n\t},\r\n\t{\r\n\t\tname: '54-74 MHz',\r\n\t\tpolicy: [\r\n\t\t\t{\r\n\t\t\t\tpolicy_id: 1,\r\n\t\t\t\ttech_type: 'ทั่วไป',\r\n\t\t\t\ttitle: [\r\n\t\t\t\t\t'ประกาศ กสทช. เรื่อง หลักเกณฑ์การใช้คลื่นความถี่และเครื่องวิทยุคมนาคมที่อนุญาตให้มีการใช้งานเป็นการทั่วไป และที่แก้ไขเพิ่มเติม ฉบับที่ ๒',\r\n\t\t\t\t],\r\n\t\t\t\tpower: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '10 mW',\r\n\t\t\t\t\t\tvalue: 10,\r\n\t\t\t\t\t\tunit: 'mW',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '0.01 W',\r\n\t\t\t\t\t\tvalue: 0.01,\r\n\t\t\t\t\t\tunit: 'W',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '0.00001 kW',\r\n\t\t\t\t\t\tvalue: 0.00001,\r\n\t\t\t\t\t\tunit: 'kW',\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t\tflag: 0b111111100001,\r\n\t\t\t},\r\n\t\t],\r\n\t},\r\n\t{\r\n\t\tname: '88-108 MHz',\r\n\t\tpolicy: [\r\n\t\t\t{\r\n\t\t\t\tpolicy_id: 1,\r\n\t\t\t\ttech_type: 'wireless microphone',\r\n\t\t\t\ttitle: [\r\n\t\t\t\t\t'มาตรฐานทางเทคนิค กสทช.มท. 1006-2560',\r\n\t\t\t\t\t'ประกาศ กสทช. เรื่อง หลักเกณฑ์การใช้คลื่นความถี่และเครื่องวิทยุคมนาคมที่อนุญาตให้มีการใช้งานเป็นการทั่วไป และที่แก้ไขเพิ่มเติม ฉบับที่ ๒'],\r\n\t\t\t\tpower: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '10 mW',\r\n\t\t\t\t\t\tvalue: 10,\r\n\t\t\t\t\t\tunit: 'mW',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '0.01 W',\r\n\t\t\t\t\t\tvalue: 0.01,\r\n\t\t\t\t\t\tunit: 'W',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '0.00001 kW',\r\n\t\t\t\t\t\tvalue: 0.00001,\r\n\t\t\t\t\t\tunit: 'kW',\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t\tflag: 0b111111100001,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpolicy_id: 2,\r\n\t\t\t\ttech_type: 'เครื่องส่งสัญญาณเสียง',\r\n\t\t\t\ttitle: [\r\n\t\t\t\t\t'ประกาศ กสทช. เรื่อง หลักเกณฑ์การใช้คลื่นความถี่และเครื่องวิทยุคมนาคมที่อนุญาตให้มีการใช้งานเป็นการทั่วไป และที่แก้ไขเพิ่มเติม ฉบับที่ ๒',\r\n\t\t\t\t],\r\n\t\t\t\tpower: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '10 mW (eirp)',\r\n\t\t\t\t\t\tvalue: 10,\r\n\t\t\t\t\t\tunit: 'mW (eirp)',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '0.01 W (eirp)',\r\n\t\t\t\t\t\tvalue: 0.01,\r\n\t\t\t\t\t\tunit: 'W (eirp)',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '0.00001 kW (eirp)',\r\n\t\t\t\t\t\tvalue: 0.00001,\r\n\t\t\t\t\t\tunit: 'kW (eirp)',\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t\tflag: 0b111111100001,\r\n\t\t\t},\r\n\t\t],\r\n\t},\r\n\t{\r\n\t\tname: '165-210 MHz',\r\n\t\tpolicy: [\r\n\t\t\t{\r\n\t\t\t\tpolicy_id: 1,\r\n\t\t\t\ttech_type: 'wireless microphone',\r\n\t\t\t\ttitle: [\r\n\t\t\t\t\t'มาตรฐานทางเทคนิค กสทช.มท. 1006-2560',\r\n\t\t\t\t\t'ประกาศ กสทช. เรื่อง หลักเกณฑ์การใช้คลื่นความถี่และเครื่องวิทยุคมนาคมที่อนุญาตให้มีการใช้งานเป็นการทั่วไป และที่แก้ไขเพิ่มเติม ฉบับที่ ๒'\r\n\t\t\t\t],\r\n\t\t\t\tpower: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '10 mW',\r\n\t\t\t\t\t\tvalue: 10,\r\n\t\t\t\t\t\tunit: 'mW',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '0.01 W',\r\n\t\t\t\t\t\tvalue: 0.01,\r\n\t\t\t\t\t\tunit: 'W',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '0.00001 kW',\r\n\t\t\t\t\t\tvalue: 0.00001,\r\n\t\t\t\t\t\tunit: 'kW',\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t\tflag: 0b111111100001,\r\n\t\t\t},\r\n\t\t],\r\n\t},\r\n\t{\r\n\t\tname: '300-500 MHz',\r\n\t\tpolicy: [\r\n\t\t\t{\r\n\t\t\t\tpolicy_id: 1,\r\n\t\t\t\ttech_type: 'ทั่วไป',\r\n\t\t\t\ttitle: [\r\n\t\t\t\t\t'ประกาศ กสทช. เรื่อง หลักเกณฑ์การใช้คลื่นความถี่และเครื่องวิทยุคมนาคมที่อนุญาตให้มีการใช้งานเป็นการทั่วไป และที่แก้ไขเพิ่มเติม ฉบับที่ ๒',\r\n\t\t\t\t],\r\n\t\t\t\tpower: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '10 mW',\r\n\t\t\t\t\t\tvalue: 10,\r\n\t\t\t\t\t\tunit: 'mW',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '0.01 W',\r\n\t\t\t\t\t\tvalue: 0.01,\r\n\t\t\t\t\t\tunit: 'W',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '0.00001 kW',\r\n\t\t\t\t\t\tvalue: 0.00001,\r\n\t\t\t\t\t\tunit: 'kW',\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t\tflag: 0b111111100001,\r\n\t\t\t},\r\n\t\t],\r\n\t},\r\n\t{\r\n\t\tname: '433.05 - 434.79 MHz',\r\n\t\tpolicy: [\r\n\t\t\t{\r\n\t\t\t\tpolicy_id: 1,\r\n\t\t\t\ttech_type: 'RFID',\r\n\t\t\t\ttitle: [\r\n\t\t\t\t\t'มาตรฐานทางเทคนิค กสทช.มท. 1010-2560',\r\n\t\t\t\t\t'ประกาศ กสทช. เรื่อง หลักเกณฑ์การใช้คลื่นความถี่และเครื่องวิทยุคมนาคมที่อนุญาตให้มีการใช้งานเป็นการทั่วไป และที่แก้ไขเพิ่มเติม ฉบับที่ ๒',\r\n\t\t\t\t],\r\n\t\t\t\tpower: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '10 mW',\r\n\t\t\t\t\t\tvalue: 10,\r\n\t\t\t\t\t\tunit: 'mW',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '0.01 W',\r\n\t\t\t\t\t\tvalue: 0.01,\r\n\t\t\t\t\t\tunit: 'W',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '0.00001 kW',\r\n\t\t\t\t\t\tvalue: 0.00001,\r\n\t\t\t\t\t\tunit: 'kW',\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t\tflag: 0b111111100001,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpolicy_id: 2,\r\n\t\t\t\ttech_type: 'UAS',\r\n\t\t\t\ttitle: [\r\n\t\t\t\t\t'ประกาศ กสทช. เรื่อง หลักเกณฑ์และเงื่อนไขการอนุญาตให้ใช้คลื่นความถี่ สำหรับอากาศยานซึ่งไม่มีนักบิน สำหรับใช้งานเป็นการทั่วไป',\r\n\t\t\t\t\t'ประกาศ กสทช. เรื่อง หลักเกณฑ์การใช้คลื่นความถี่และเครื่องวิทยุคมนาคมที่อนุญาตให้มีการใช้งานเป็นการทั่วไป และที่แก้ไขเพิ่มเติม ฉบับที่ ๒',\r\n\t\t\t\t],\r\n\t\t\t\tpower: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '10 mW (eirp)',\r\n\t\t\t\t\t\tvalue: 10,\r\n\t\t\t\t\t\tunit: 'mW (eirp)',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '0.01 W (eirp)',\r\n\t\t\t\t\t\tvalue: 0.01,\r\n\t\t\t\t\t\tunit: 'W (eirp)',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '0.00001 kW (eirp)',\r\n\t\t\t\t\t\tvalue: 0.00001,\r\n\t\t\t\t\t\tunit: 'kW (eirp)',\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t\tflag: 0b110010100001,\r\n\t\t\t},\r\n\t\t],\r\n\t},\r\n\t{\r\n\t\tname: '470 - 694 MHz',\r\n\t\tpolicy: [\r\n\t\t\t{\r\n\t\t\t\tpolicy_id: 1,\r\n\t\t\t\ttech_type: 'เครื่องส่งสัญญาณภาพ หรือเครื่องส่งสัญญาณภาพและเสียง',\r\n\t\t\t\ttitle: [\r\n\t\t\t\t\t'ประกาศ กสทช. เรื่อง หลักเกณฑ์การใช้คลื่นความถี่และเครื่องวิทยุคมนาคมที่อนุญาตให้มีการใช้งานเป็นการทั่วไป และที่แก้ไขเพิ่มเติม ฉบับที่ ๒',\r\n\t\t\t\t],\r\n\t\t\t\tpower: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '10 mW',\r\n\t\t\t\t\t\tvalue: 10,\r\n\t\t\t\t\t\tunit: 'mW',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '0.01 W',\r\n\t\t\t\t\t\tvalue: 0.01,\r\n\t\t\t\t\t\tunit: 'W',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '0.00001 kW',\r\n\t\t\t\t\t\tvalue: 0.00001,\r\n\t\t\t\t\t\tunit: 'kW',\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t\tflag: 0b110010100001,\r\n\t\t\t},\r\n\t\t],\r\n\t},\r\n\t{\r\n\t\tname: '920-925 MHz',\r\n\t\tpolicy: [\r\n\t\t\t{\r\n\t\t\t\tpolicy_id: 1,\r\n\t\t\t\ttech_type: 'RFID',\r\n\t\t\t\ttitle: [\r\n\t\t\t\t\t'ประกาศ กสทช. เรื่อง หลักเกณฑ์การอนุญาตให้ใช้คลื่นความถี่ย่าน ๙๒๐-๙๒๕ เมกะเฮิรตซ์',\r\n\t\t\t\t\t'ประกาศ กสทช. เรื่อง หลักเกณฑ์การใช้คลื่นความถี่และเครื่องวิทยุคมนาคมที่อนุญาตให้มีการใช้งานเป็นการทั่วไป และที่แก้ไขเพิ่มเติม ฉบับที่ ๒',\r\n\t\t\t\t\t'มาตรฐานทางเทคนิค กสทช.มท. 1010-2560',\r\n\t\t\t\t],\r\n\t\t\t\tpower: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '50 mW (eirp)',\r\n\t\t\t\t\t\tvalue: 50,\r\n\t\t\t\t\t\tunit: 'mW (eirp)',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '0.05 W (eirp)',\r\n\t\t\t\t\t\tvalue: 0.05,\r\n\t\t\t\t\t\tunit: 'W (eirp)',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '0.00005 kW (eirp)',\r\n\t\t\t\t\t\tvalue: 0.00005,\r\n\t\t\t\t\t\tunit: 'kW (eirp)',\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t\tflag: 0b111110100001,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpolicy_id: 2,\r\n\t\t\t\ttech_type: 'Non-RFID',\r\n\t\t\t\ttitle: [\r\n\t\t\t\t\t'ประกาศ กสทช. เรื่อง หลักเกณฑ์การอนุญาตให้ใช้คลื่นความถี่ย่าน ๙๒๐-๙๒๕ เมกะเฮิรตซ์',\r\n\t\t\t\t\t'ประกาศ กสทช. เรื่อง หลักเกณฑ์การใช้คลื่นความถี่และเครื่องวิทยุคมนาคมที่อนุญาตให้มีการใช้งานเป็นการทั่วไป และที่แก้ไขเพิ่มเติม ฉบับที่ ๒',\r\n\t\t\t\t\t'มาตรฐานทางเทคนิค กสทช.มท. 1033-2560',\r\n\t\t\t\t],\r\n\t\t\t\tpower: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '50 mW (eirp)',\r\n\t\t\t\t\t\tvalue: 50,\r\n\t\t\t\t\t\tunit: 'mW (eirp)',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '0.05 W (eirp)',\r\n\t\t\t\t\t\tvalue: 0.05,\r\n\t\t\t\t\t\tunit: 'W (eirp)',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '0.00005 kW (eirp)',\r\n\t\t\t\t\t\tvalue: 0.00005,\r\n\t\t\t\t\t\tunit: 'kW (eirp)',\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t\tflag: 0b111110100001,\r\n\t\t\t},\r\n\t\t],\r\n\t},\r\n\t{\r\n\t\tname: '1900-1906 MHz',\r\n\t\tpolicy: [\r\n\t\t\t{\r\n\t\t\t\tpolicy_id: 1,\r\n\t\t\t\ttech_type: 'cordless telephone',\r\n\t\t\t\ttitle: [\r\n\t\t\t\t\t'ประกาศ กสทช. เรื่อง หลักเกณฑ์การใช้คลื่นความถี่และเครื่องวิทยุคมนาคมที่อนุญาตให้มีการใช้งานเป็นการทั่วไป และที่แก้ไขเพิ่มเติม ฉบับที่ ๒',\r\n\t\t\t\t],\r\n\t\t\t\tpower: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '10 mW',\r\n\t\t\t\t\t\tvalue: 10,\r\n\t\t\t\t\t\tunit: 'mW',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '0.01 W (eirp)',\r\n\t\t\t\t\t\tvalue: 0.01,\r\n\t\t\t\t\t\tunit: 'W (eirp)',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '0.00001 kW (eirp)',\r\n\t\t\t\t\t\tvalue: 0.00001,\r\n\t\t\t\t\t\tunit: 'kW (eirp)',\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t\tflag: 0b110010100001,\r\n\t\t\t},\r\n\t\t],\r\n\t},\r\n\t{\r\n\t\tname: '2400-2500 MHz',\r\n\t\tpolicy: [\r\n\t\t\t{\r\n\t\t\t\tpolicy_id: 1,\r\n\t\t\t\ttech_type: 'ทั่วไป',\r\n\t\t\t\ttitle: [\r\n\t\t\t\t\t'ประกาศ กสทช. เรื่อง หลักเกณฑ์การใช้คลื่นความถี่และเครื่องวิทยุคมนาคมที่อนุญาตให้มีการใช้งานเป็นการทั่วไป และที่แก้ไขเพิ่มเติม ฉบับที่ ๒',\r\n\t\t\t\t],\r\n\t\t\t\tpower: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '100 mW (eirp)',\r\n\t\t\t\t\t\tvalue: 100,\r\n\t\t\t\t\t\tunit: 'mW (eirp)',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '0.1 W (eirp)',\r\n\t\t\t\t\t\tvalue: 0.1,\r\n\t\t\t\t\t\tunit: 'W (eirp)',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '0.0001 kW (eirp)',\r\n\t\t\t\t\t\tvalue: 0.0001,\r\n\t\t\t\t\t\tunit: 'kW (eirp)',\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t\tflag: 0b111111100001,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpolicy_id: 2,\r\n\t\t\t\ttech_type: 'RFID',\r\n\t\t\t\ttitle: [\r\n\t\t\t\t\t'มาตรฐานทางเทคนิค กสทช.มท. 1010-2560',\r\n\t\t\t\t\t'ประกาศ กสทช. เรื่อง หลักเกณฑ์การใช้คลื่นความถี่และเครื่องวิทยุคมนาคมที่อนุญาตให้มีการใช้งานเป็นการทั่วไป และที่แก้ไขเพิ่มเติม ฉบับที่ ๒',\r\n\t\t\t\t],\r\n\t\t\t\tpower: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '100 mW (eirp)',\r\n\t\t\t\t\t\tvalue: 100,\r\n\t\t\t\t\t\tunit: 'mW (eirp)',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '0.1 W (eirp)',\r\n\t\t\t\t\t\tvalue: 0.1,\r\n\t\t\t\t\t\tunit: 'W (eirp)',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '0.0001 kW (eirp)',\r\n\t\t\t\t\t\tvalue: 0.0001,\r\n\t\t\t\t\t\tunit: 'kW (eirp)',\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t\tflag: 0b111111100001,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpolicy_id: 3,\r\n\t\t\t\ttech_type: 'RLAN',\r\n\t\t\t\ttitle: [\r\n\t\t\t\t\t'มาตรฐานทางเทคนิค กสทช.มท. 1035-2562',\r\n\t\t\t\t\t'ประกาศ กสทช. เรื่อง หลักเกณฑ์การใช้คลื่นความถี่และเครื่องวิทยุคมนาคมที่อนุญาตให้มีการใช้งานเป็นการทั่วไป และที่แก้ไขเพิ่มเติม ฉบับที่ ๒',\r\n\t\t\t\t],\r\n\t\t\t\tpower: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '100 mW (eirp)',\r\n\t\t\t\t\t\tvalue: 100,\r\n\t\t\t\t\t\tunit: 'mW (eirp)',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '0.1 W (eirp)',\r\n\t\t\t\t\t\tvalue: 0.1,\r\n\t\t\t\t\t\tunit: 'W (eirp)',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '0.0001 kW (eirp)',\r\n\t\t\t\t\t\tvalue: 0.0001,\r\n\t\t\t\t\t\tunit: 'kW (eirp)',\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t\tflag: 0b111111100001,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpolicy_id: 4,\r\n\t\t\t\ttech_type: 'UAS',\r\n\t\t\t\ttitle: [\r\n\t\t\t\t\t'ประกาศ กสทช. เรื่อง หลักเกณฑ์และเงื่อนไขการอนุญาตให้ใช้คลื่นความถี่ สำหรับอากาศยานซึ่งไม่มีนักบิน สำหรับใช้งานเป็นการทั่วไป',\r\n\t\t\t\t\t'ประกาศ กสทช. เรื่อง หลักเกณฑ์การใช้คลื่นความถี่และเครื่องวิทยุคมนาคมที่อนุญาตให้มีการใช้งานเป็นการทั่วไป และที่แก้ไขเพิ่มเติม ฉบับที่ ๒',\r\n\t\t\t\t],\r\n\t\t\t\tpower: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '100 mW (eirp)',\r\n\t\t\t\t\t\tvalue: 100,\r\n\t\t\t\t\t\tunit: 'mW (eirp)',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '0.1 W (eirp)',\r\n\t\t\t\t\t\tvalue: 0.1,\r\n\t\t\t\t\t\tunit: 'W (eirp)',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '0.0001 kW (eirp)',\r\n\t\t\t\t\t\tvalue: 0.0001,\r\n\t\t\t\t\t\tunit: 'kW (eirp)',\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t\tflag: 0b110010100001,\r\n\t\t\t},\r\n\t\t],\r\n\t},\r\n\t{\r\n\t\tname: '5150-5350 MHz',\r\n\t\tpolicy: [\r\n\t\t\t{\r\n\t\t\t\tpolicy_id: 1,\r\n\t\t\t\ttech_type: 'ทั่วไป',\r\n\t\t\t\ttitle: [\r\n\t\t\t\t\t'ประกาศ กสทช. เรื่อง หลักเกณฑ์การใช้คลื่นความถี่ย่าน ๕ กิกะเฮิรตซ์',\r\n\t\t\t\t\t'ประกาศ กสทช. เรื่อง หลักเกณฑ์การใช้คลื่นความถี่และเครื่องวิทยุคมนาคมที่อนุญาตให้มีการใช้งานเป็นการทั่วไป และที่แก้ไขเพิ่มเติม ฉบับที่ ๒',\r\n\t\t\t\t],\r\n\t\t\t\tpower: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '200 mW (eirp)',\r\n\t\t\t\t\t\tvalue: 200,\r\n\t\t\t\t\t\tunit: 'mW (eirp)',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '0.2 W (eirp)',\r\n\t\t\t\t\t\tvalue: 0.2,\r\n\t\t\t\t\t\tunit: 'W (eirp)',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '0.0002 kW (eirp)',\r\n\t\t\t\t\t\tvalue: 0.0002,\r\n\t\t\t\t\t\tunit: 'kW (eirp)',\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t\tflag: 0b111111100001,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpolicy_id: 2,\r\n\t\t\t\ttech_type: 'RFID',\r\n\t\t\t\ttitle: [\r\n\t\t\t\t\t'มาตรฐานทางเทคนิค กสทช.มท. 1010-2560',\r\n\t\t\t\t\t'ประกาศ กสทช. เรื่อง หลักเกณฑ์การใช้คลื่นความถี่ย่าน ๕ กิกะเฮิรตซ์',\r\n\t\t\t\t\t'ประกาศ กสทช. เรื่อง หลักเกณฑ์การใช้คลื่นความถี่และเครื่องวิทยุคมนาคมที่อนุญาตให้มีการใช้งานเป็นการทั่วไป และที่แก้ไขเพิ่มเติม ฉบับที่ ๒',\r\n\t\t\t\t],\r\n\t\t\t\tpower: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '200 mW (eirp)',\r\n\t\t\t\t\t\tvalue: 200,\r\n\t\t\t\t\t\tunit: 'mW (eirp)',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '0.2 W (eirp)',\r\n\t\t\t\t\t\tvalue: 0.2,\r\n\t\t\t\t\t\tunit: 'W (eirp)',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '0.0002 kW (eirp)',\r\n\t\t\t\t\t\tvalue: 0.0002,\r\n\t\t\t\t\t\tunit: 'kW (eirp)',\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t\tflag: 0b111111100001,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpolicy_id: 3,\r\n\t\t\t\ttech_type: 'RLAN',\r\n\t\t\t\ttitle: [\r\n\t\t\t\t\t'มาตรฐานทางเทคนิค กสทช.มท. 1035-2562',\r\n\t\t\t\t\t'ประกาศ กสทช. เรื่อง หลักเกณฑ์การใช้คลื่นความถี่ย่าน ๕ กิกะเฮิรตซ์',\r\n\t\t\t\t\t'ประกาศ กสทช. เรื่อง หลักเกณฑ์การใช้คลื่นความถี่และเครื่องวิทยุคมนาคมที่อนุญาตให้มีการใช้งานเป็นการทั่วไป และที่แก้ไขเพิ่มเติม ฉบับที่ ๒',\r\n\t\t\t\t],\r\n\t\t\t\tpower: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '200 mW (eirp)',\r\n\t\t\t\t\t\tvalue: 200,\r\n\t\t\t\t\t\tunit: 'mW (eirp)',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '0.2 W (eirp)',\r\n\t\t\t\t\t\tvalue: 0.2,\r\n\t\t\t\t\t\tunit: 'W (eirp)',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '0.0002 kW (eirp)',\r\n\t\t\t\t\t\tvalue: 0.0002,\r\n\t\t\t\t\t\tunit: 'kW (eirp)',\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t\tflag: 0b111111100001,\r\n\t\t\t},\r\n\t\t],\r\n\t},\r\n\t{\r\n\t\tname: '5470-5725 MHz',\r\n\t\tpolicy: [\r\n\t\t\t{\r\n\t\t\t\tpolicy_id: 1,\r\n\t\t\t\ttech_type: 'ทั่วไป',\r\n\t\t\t\ttitle: [\r\n\t\t\t\t\t'ประกาศ กสทช. เรื่อง หลักเกณฑ์การใช้คลื่นความถี่ย่าน ๕ กิกะเฮิรตซ์',\r\n\t\t\t\t\t'ประกาศ กสทช. เรื่อง หลักเกณฑ์การใช้คลื่นความถี่และเครื่องวิทยุคมนาคมที่อนุญาตให้มีการใช้งานเป็นการทั่วไป และที่แก้ไขเพิ่มเติม ฉบับที่ ๒',\r\n\t\t\t\t],\r\n\t\t\t\tpower: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '1000 mW (eirp)',\r\n\t\t\t\t\t\tvalue: 1000,\r\n\t\t\t\t\t\tunit: 'mW (eirp)',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '1 W (eirp)',\r\n\t\t\t\t\t\tvalue: 1,\r\n\t\t\t\t\t\tunit: 'W (eirp)',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '0.001 kW (eirp)',\r\n\t\t\t\t\t\tvalue: 0.001,\r\n\t\t\t\t\t\tunit: 'kW (eirp)',\r\n\t\t\t\t\t},\r\n\r\n\t\t\t\t],\r\n\t\t\t\tflag: 0b111111100001,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpolicy_id: 2,\r\n\t\t\t\ttech_type: 'RFID',\r\n\t\t\t\ttitle: [\r\n\t\t\t\t\t'มาตรฐานทางเทคนิค กสทช.มท. 1010-2560',\r\n\t\t\t\t\t'ประกาศ กสทช. เรื่อง หลักเกณฑ์การใช้คลื่นความถี่ย่าน ๕ กิกะเฮิรตซ์',\r\n\t\t\t\t\t'ประกาศ กสทช. เรื่อง หลักเกณฑ์การใช้คลื่นความถี่และเครื่องวิทยุคมนาคมที่อนุญาตให้มีการใช้งานเป็นการทั่วไป และที่แก้ไขเพิ่มเติม ฉบับที่ ๒',\r\n\t\t\t\t],\r\n\t\t\t\tpower: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '1000 mW (eirp)',\r\n\t\t\t\t\t\tvalue: 1000,\r\n\t\t\t\t\t\tunit: 'mW (eirp)',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '1 W (eirp)',\r\n\t\t\t\t\t\tvalue: 1,\r\n\t\t\t\t\t\tunit: 'W (eirp)',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '0.001 kW (eirp)',\r\n\t\t\t\t\t\tvalue: 0.001,\r\n\t\t\t\t\t\tunit: 'kW (eirp)',\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t\tflag: 0b111111100001,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpolicy_id: 3,\r\n\t\t\t\ttech_type: 'RLAN',\r\n\t\t\t\ttitle: [\r\n\t\t\t\t\t// 'ประกาศ กสทช. 1010-2562',\r\n\t\t\t\t\t'มาตรฐานทางเทคนิค กสทช.มท. 1035-2562',\r\n\t\t\t\t\t'ประกาศ กสทช. เรื่อง หลักเกณฑ์การใช้คลื่นความถี่ย่าน ๕ กิกะเฮิรตซ์',\r\n\t\t\t\t\t'ประกาศ กสทช. เรื่อง หลักเกณฑ์การใช้คลื่นความถี่และเครื่องวิทยุคมนาคมที่อนุญาตให้มีการใช้งานเป็นการทั่วไป และที่แก้ไขเพิ่มเติม ฉบับที่ ๒',\r\n\t\t\t\t],\r\n\t\t\t\tpower: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '1000 mW (eirp)',\r\n\t\t\t\t\t\tvalue: 1000,\r\n\t\t\t\t\t\tunit: 'mW (eirp)',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '1 W (eirp)',\r\n\t\t\t\t\t\tvalue: 1,\r\n\t\t\t\t\t\tunit: 'W (eirp)',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '0.001 kW (eirp)',\r\n\t\t\t\t\t\tvalue: 0.001,\r\n\t\t\t\t\t\tunit: 'kW (eirp)',\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t\tflag: 0b111111100001,\r\n\t\t\t},\r\n\t\t],\r\n\t},\r\n\t{\r\n\t\tname: '5725-5850 MHz',\r\n\t\tpolicy: [\r\n\t\t\t{\r\n\t\t\t\tpolicy_id: 1,\r\n\t\t\t\ttech_type: 'ทั่วไป',\r\n\t\t\t\ttitle: [\r\n\t\t\t\t\t'ประกาศ กสทช. เรื่อง หลักเกณฑ์การใช้คลื่นความถี่ย่าน ๕ กิกะเฮิรตซ์',\r\n\t\t\t\t\t'ประกาศ กสทช. เรื่อง หลักเกณฑ์การใช้คลื่นความถี่และเครื่องวิทยุคมนาคมที่อนุญาตให้มีการใช้งานเป็นการทั่วไป และที่แก้ไขเพิ่มเติม ฉบับที่ ๒',\r\n\t\t\t\t],\r\n\t\t\t\tpower: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '1000 mW (eirp)',\r\n\t\t\t\t\t\tvalue: 1000,\r\n\t\t\t\t\t\tunit: 'mW (eirp)',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '1 W (eirp)',\r\n\t\t\t\t\t\tvalue: 1,\r\n\t\t\t\t\t\tunit: 'W (eirp)',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '0.001 kW (eirp)',\r\n\t\t\t\t\t\tvalue: 0.001,\r\n\t\t\t\t\t\tunit: 'kW (eirp)',\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t\tflag: 0b111111100001,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpolicy_id: 2,\r\n\t\t\t\ttech_type: 'RFID',\r\n\t\t\t\ttitle: [\r\n\t\t\t\t\t'มาตรฐานทางเทคนิค กสทช.มท. 1010-2560',\r\n\t\t\t\t\t'ประกาศ กสทช. เรื่อง หลักเกณฑ์การใช้คลื่นความถี่ย่าน ๕ กิกะเฮิรตซ์',\r\n\t\t\t\t\t'ประกาศ กสทช. เรื่อง หลักเกณฑ์การใช้คลื่นความถี่และเครื่องวิทยุคมนาคมที่อนุญาตให้มีการใช้งานเป็นการทั่วไป และที่แก้ไขเพิ่มเติม ฉบับที่ ๒',\r\n\t\t\t\t],\r\n\t\t\t\tpower: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '1000 mW (eirp)',\r\n\t\t\t\t\t\tvalue: 1000,\r\n\t\t\t\t\t\tunit: 'mW (eirp)',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '1 W (eirp)',\r\n\t\t\t\t\t\tvalue: 1,\r\n\t\t\t\t\t\tunit: 'W (eirp)',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '0.001 kW (eirp)',\r\n\t\t\t\t\t\tvalue: 0.001,\r\n\t\t\t\t\t\tunit: 'kW (eirp)',\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t\tflag: 0b111111100001,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpolicy_id: 3,\r\n\t\t\t\ttech_type: 'RLAN',\r\n\t\t\t\ttitle: [\r\n\t\t\t\t\t// 'ประกาศ กสทช. 1010-2562',\r\n\t\t\t\t\t'มาตรฐานทางเทคนิค กสทช.มท. 1035-2562',\r\n\t\t\t\t\t'ประกาศ กสทช. เรื่อง หลักเกณฑ์การใช้คลื่นความถี่ย่าน ๕ กิกะเฮิรตซ์',\r\n\t\t\t\t\t'ประกาศ กสทช. เรื่อง หลักเกณฑ์การใช้คลื่นความถี่และเครื่องวิทยุคมนาคมที่อนุญาตให้มีการใช้งานเป็นการทั่วไป และที่แก้ไขเพิ่มเติม ฉบับที่ ๒',\r\n\t\t\t\t],\r\n\t\t\t\tpower: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '1000 mW (eirp)',\r\n\t\t\t\t\t\tvalue: 1000,\r\n\t\t\t\t\t\tunit: 'mW (eirp)',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '1 W (eirp)',\r\n\t\t\t\t\t\tvalue: 1,\r\n\t\t\t\t\t\tunit: 'W (eirp)',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '0.001 kW (eirp)',\r\n\t\t\t\t\t\tvalue: 0.001,\r\n\t\t\t\t\t\tunit: 'kW (eirp)',\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t\tflag: 0b111111100001,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpolicy_id: 4,\r\n\t\t\t\ttech_type: 'UAS',\r\n\t\t\t\ttitle: [\r\n\t\t\t\t\t'ประกาศ กสทช. เรื่อง หลักเกณฑ์และเงื่อนไขการอนุญาตให้ใช้คลื่นความถี่ สำหรับอากาศยานซึ่งไม่มีนักบิน สำหรับใช้งานเป็นการทั่วไป',\r\n\t\t\t\t\t'ประกาศ กสทช. เรื่อง หลักเกณฑ์การใช้คลื่นความถี่และเครื่องวิทยุคมนาคมที่อนุญาตให้มีการใช้งานเป็นการทั่วไป และที่แก้ไขเพิ่มเติม ฉบับที่ ๒',\r\n\t\t\t\t],\r\n\t\t\t\tpower: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '1000 mW (eirp)',\r\n\t\t\t\t\t\tvalue: 1000,\r\n\t\t\t\t\t\tunit: 'mW (eirp)',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '1 W (eirp)',\r\n\t\t\t\t\t\tvalue: 1,\r\n\t\t\t\t\t\tunit: 'W (eirp)',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '0.001 kW (eirp)',\r\n\t\t\t\t\t\tvalue: 0.001,\r\n\t\t\t\t\t\tunit: 'kW (eirp)',\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t\tflag: 0b110010100001,\r\n\t\t\t},\r\n\t\t],\r\n\t},\r\n\t{\r\n\t\tname: '5725-5875 MHz',\r\n\t\tpolicy: [\r\n\t\t\t{\r\n\t\t\t\ttitle: [\r\n\t\t\t\t\t'ประกาศ กสทช. เรื่อง หลักเกณฑ์การใช้คลื่นความถี่และเครื่องวิทยุคมนาคมที่อนุญาตให้มีการใช้งานเป็นการทั่วไป และที่แก้ไขเพิ่มเติม ฉบับที่ ๒',\r\n\t\t\t\t],\r\n\t\t\t\ttech_type: 'radar',\r\n\t\t\t\tpower: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '10 mW (eirp)',\r\n\t\t\t\t\t\tvalue: 10,\r\n\t\t\t\t\t\tunit: 'mW (eirp)',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '0.01 W (eirp)',\r\n\t\t\t\t\t\tvalue: 0.01,\r\n\t\t\t\t\t\tunit: 'W (eirp)',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '0.00001 kW (eirp)',\r\n\t\t\t\t\t\tvalue: 0.00001,\r\n\t\t\t\t\t\tunit: 'kW (eirp)',\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t\tflag: 0b111111100001,\r\n\t\t\t},\r\n\t\t],\r\n\t},\r\n\t{\r\n\t\tname: '10-10.6 GHz',\r\n\t\tpolicy: [\r\n\t\t\t{\r\n\t\t\t\ttitle: [\r\n\t\t\t\t\t'ประกาศ กสทช. เรื่อง หลักเกณฑ์การใช้คลื่นความถี่และเครื่องวิทยุคมนาคมที่อนุญาตให้มีการใช้งานเป็นการทั่วไป และที่แก้ไขเพิ่มเติม ฉบับที่ ๒',\r\n\t\t\t\t],\r\n\t\t\t\ttech_type: 'radar',\r\n\t\t\t\tpower: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '10 mW (eirp)',\r\n\t\t\t\t\t\tvalue: 10,\r\n\t\t\t\t\t\tunit: 'mW (eirp)',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '0.01 W (eirp)',\r\n\t\t\t\t\t\tvalue: 0.01,\r\n\t\t\t\t\t\tunit: 'W (eirp)',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '0.00001 kW (eirp)',\r\n\t\t\t\t\t\tvalue: 0.00001,\r\n\t\t\t\t\t\tunit: 'kW (eirp)',\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t\tflag: 0b111111100001,\r\n\t\t\t},\r\n\t\t],\r\n\t},\r\n\t{\r\n\t\tname: '24.05-24.25 GHz',\r\n\t\tpolicy: [\r\n\t\t\t{\r\n\t\t\t\ttitle: [\r\n\t\t\t\t\t'ประกาศ กสทช. เรื่อง หลักเกณฑ์การใช้คลื่นความถี่และเครื่องวิทยุคมนาคมที่อนุญาตให้มีการใช้งานเป็นการทั่วไป และที่แก้ไขเพิ่มเติม ฉบับที่ ๒',\r\n\t\t\t\t],\r\n\t\t\t\ttech_type: 'radar',\r\n\t\t\t\tpower: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '10 mW (eirp)',\r\n\t\t\t\t\t\tvalue: 10,\r\n\t\t\t\t\t\tunit: 'mW (eirp)',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '0.01 W (eirp)',\r\n\t\t\t\t\t\tvalue: 0.01,\r\n\t\t\t\t\t\tunit: 'W (eirp)',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '0.00001 kW (eirp)',\r\n\t\t\t\t\t\tvalue: 0.00001,\r\n\t\t\t\t\t\tunit: 'kW (eirp)',\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t\tflag: 0b111111100001,\r\n\t\t\t},\r\n\t\t],\r\n\t},\r\n\t{\r\n\t\tname: '76-81 GHz',\r\n\t\tpolicy: [\r\n\t\t\t{\r\n\t\t\t\ttitle: [\r\n\t\t\t\t\t'ประกาศ กสทช. เรื่อง หลักเกณฑ์การใช้คลื่นความถี่และเครื่องวิทยุคมนาคมที่อนุญาตให้มีการใช้งานเป็นการทั่วไป และที่แก้ไขเพิ่มเติม ฉบับที่ ๒',\r\n\t\t\t\t],\r\n\t\t\t\ttech_type: 'radar',\r\n\t\t\t\tpower: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '10 mW (eirp)',\r\n\t\t\t\t\t\tvalue: 10,\r\n\t\t\t\t\t\tunit: 'mW (eirp)',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '0.01 W (eirp)',\r\n\t\t\t\t\t\tvalue: 0.01,\r\n\t\t\t\t\t\tunit: 'W (eirp)',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '0.00001 kW (eirp)',\r\n\t\t\t\t\t\tvalue: 0.00001,\r\n\t\t\t\t\t\tunit: 'kW (eirp)',\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t\tflag: 0b111111100001,\r\n\t\t\t},\r\n\t\t],\r\n\t},\r\n\t{\r\n\t\tname: '2025.5-2053.5 MHz',\r\n\t\tpolicy: [\r\n\t\t\t{\r\n\t\t\t\ttitle: [\r\n\t\t\t\t\t'ประกาศ กสทช. เรื่อง แผนความถี่วิทยุ กิจการประจําที่ ย่านความถี่ ๒ กิกะเฮิรตซ์',\r\n\t\t\t\t],\r\n\t\t\t\ttech_type: 'Fix link',\r\n\t\t\t\tpower: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '55 dBw',\r\n\t\t\t\t\t\tvalue: 55,\r\n\t\t\t\t\t\tunit: 'dBw',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '316 kW (eirp)',\r\n\t\t\t\t\t\tvalue: 316,\r\n\t\t\t\t\t\tunit: 'kW (eirp)',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '316000 w (eirp)',\r\n\t\t\t\t\t\tvalue: 316000,\r\n\t\t\t\t\t\tunit: 'w (eirp)',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '316000000 mW (eirp)',\r\n\t\t\t\t\t\tvalue: 316000000,\r\n\t\t\t\t\t\tunit: 'mW (eirp)',\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t\tflag: 0b000000000000,\r\n\t\t\t},\r\n\t\t],\r\n\t},\r\n\t{\r\n\t\tname: '4400–5000 MHz',\r\n\t\tpolicy: [\r\n\t\t\t{\r\n\t\t\t\ttitle: [\r\n\t\t\t\t\t'ประกาศ กสทช. เรื่อง แผนความถี่วิทยุ กิจการประจำที่ ย่านความถี่ ๕ กิกะเฮิรตซ์',\r\n\t\t\t\t],\r\n\t\t\t\ttech_type: 'Fix link',\r\n\t\t\t\tpower: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '55 dBw',\r\n\t\t\t\t\t\tvalue: 55,\r\n\t\t\t\t\t\tunit: 'dBw',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '316 kW (eirp)',\r\n\t\t\t\t\t\tvalue: 316,\r\n\t\t\t\t\t\tunit: 'kW (eirp)',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '316000 w (eirp)',\r\n\t\t\t\t\t\tvalue: 316000,\r\n\t\t\t\t\t\tunit: 'w (eirp)',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '316000000 mW (eirp)',\r\n\t\t\t\t\t\tvalue: 316000000,\r\n\t\t\t\t\t\tunit: 'mW (eirp)',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '13 dbw',\r\n\t\t\t\t\t\tvalue: 13,\r\n\t\t\t\t\t\tunit: 'dbw',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '20 w',\r\n\t\t\t\t\t\tvalue: 20,\r\n\t\t\t\t\t\tunit: 'w',\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t\tflag: 0b000000000000,\r\n\t\t\t},\r\n\t\t],\r\n\t},\r\n\t{\r\n\t\tname: '6425–7125 MHz',\r\n\t\tpolicy: [\r\n\t\t\t{\r\n\t\t\t\ttitle: [\r\n\t\t\t\t\t'ประกาศ กสทช. เรื่อง แผนความถี่วิทยุ กิจการประจำที่ ย่านความถี่ ๖.๗ กิกะเฮิรตซ์',\r\n\t\t\t\t],\r\n\t\t\t\ttech_type: 'Fix link',\r\n\t\t\t\tpower: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '55 dBw',\r\n\t\t\t\t\t\tvalue: 55,\r\n\t\t\t\t\t\tunit: 'dBw',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '316 kW (eirp)',\r\n\t\t\t\t\t\tvalue: 316,\r\n\t\t\t\t\t\tunit: 'kW (eirp)',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '316000 w (eirp)',\r\n\t\t\t\t\t\tvalue: 316000,\r\n\t\t\t\t\t\tunit: 'w (eirp)',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '316000000 mW (eirp)',\r\n\t\t\t\t\t\tvalue: 316000000,\r\n\t\t\t\t\t\tunit: 'mW (eirp)',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '13 dbw',\r\n\t\t\t\t\t\tvalue: 13,\r\n\t\t\t\t\t\tunit: 'dbw',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '20 w',\r\n\t\t\t\t\t\tvalue: 20,\r\n\t\t\t\t\t\tunit: 'w',\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t\tflag: 0b000000000000,\r\n\t\t\t},\r\n\t\t],\r\n\t},\r\n\t{\r\n\t\tname: '7110 – 7425 MHz',\r\n\t\tpolicy: [\r\n\t\t\t{\r\n\t\t\t\ttitle: [\r\n\t\t\t\t\t'ประกาศ กสทช. เรื่อง แผนความถี่วิทยุ กิจการประจำที่ ย่านความถี่ ๗.๒ กิกะเฮิรตซ์',\r\n\t\t\t\t],\r\n\t\t\t\ttech_type: 'Fix link',\r\n\t\t\t\tpower: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '55 dBw',\r\n\t\t\t\t\t\tvalue: 55,\r\n\t\t\t\t\t\tunit: 'dBw',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '316 kW (eirp)',\r\n\t\t\t\t\t\tvalue: 316,\r\n\t\t\t\t\t\tunit: 'kW (eirp)',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '316000 w (eirp)',\r\n\t\t\t\t\t\tvalue: 316000,\r\n\t\t\t\t\t\tunit: 'w (eirp)',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '316000000 mW (eirp)',\r\n\t\t\t\t\t\tvalue: 316000000,\r\n\t\t\t\t\t\tunit: 'mW (eirp)',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '13 dbw',\r\n\t\t\t\t\t\tvalue: 13,\r\n\t\t\t\t\t\tunit: 'dbw',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '20 w',\r\n\t\t\t\t\t\tvalue: 20,\r\n\t\t\t\t\t\tunit: 'w',\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t\tflag: 0b000000000000,\r\n\t\t\t},\r\n\t\t],\r\n\t},\r\n\t{\r\n\t\tname: '7425 – 7725 MHz',\r\n\t\tpolicy: [\r\n\t\t\t{\r\n\t\t\t\ttitle: [\r\n\t\t\t\t\t'ประกาศ กสทช. เรื่อง แผนความถี่วิทยุ กิจการประจำที่ ย่านความถี่ ๗.๕ กิกะเฮิรตซ์',\r\n\t\t\t\t],\r\n\t\t\t\ttech_type: 'Fix link',\r\n\t\t\t\tpower: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '55 dBw',\r\n\t\t\t\t\t\tvalue: 55,\r\n\t\t\t\t\t\tunit: 'dBw',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '316 kW (eirp)',\r\n\t\t\t\t\t\tvalue: 316,\r\n\t\t\t\t\t\tunit: 'kW (eirp)',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '316000 w (eirp)',\r\n\t\t\t\t\t\tvalue: 316000,\r\n\t\t\t\t\t\tunit: 'w (eirp)',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '316000000 mW (eirp)',\r\n\t\t\t\t\t\tvalue: 316000000,\r\n\t\t\t\t\t\tunit: 'mW (eirp)',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '13 dbw',\r\n\t\t\t\t\t\tvalue: 13,\r\n\t\t\t\t\t\tunit: 'dbw',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '20 w',\r\n\t\t\t\t\t\tvalue: 20,\r\n\t\t\t\t\t\tunit: 'w',\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t\tflag: 0b000000000000,\r\n\t\t\t},\r\n\t\t],\r\n\t},\r\n\t{\r\n\t\tname: '7725 – 8285 MHz',\r\n\t\tpolicy: [\r\n\t\t\t{\r\n\t\t\t\ttitle: [\r\n\t\t\t\t\t'ประกาศ กสทช. เรื่อง แผนความถี่วิทยุ กิจการประจำที่ ย่านความถี่ ๘ กิกะเฮิรตซ์',\r\n\t\t\t\t],\r\n\t\t\t\ttech_type: 'Fix link',\r\n\t\t\t\tpower: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '55 dBw',\r\n\t\t\t\t\t\tvalue: 55,\r\n\t\t\t\t\t\tunit: 'dBw',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '316 kW (eirp)',\r\n\t\t\t\t\t\tvalue: 316,\r\n\t\t\t\t\t\tunit: 'kW (eirp)',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '316000 w (eirp)',\r\n\t\t\t\t\t\tvalue: 316000,\r\n\t\t\t\t\t\tunit: 'w (eirp)',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '316000000 mW (eirp)',\r\n\t\t\t\t\t\tvalue: 316000000,\r\n\t\t\t\t\t\tunit: 'mW (eirp)',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '13 dbw',\r\n\t\t\t\t\t\tvalue: 13,\r\n\t\t\t\t\t\tunit: 'dbw',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '20 w',\r\n\t\t\t\t\t\tvalue: 20,\r\n\t\t\t\t\t\tunit: 'w',\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t\tflag: 0b000000000000,\r\n\t\t\t},\r\n\t\t],\r\n\t},\r\n\t{\r\n\t\tname: '10700 – 11700 MHz',\r\n\t\tpolicy: [\r\n\t\t\t{\r\n\t\t\t\ttitle: [\r\n\t\t\t\t\t'ประกาศ กสทช. เรื่อง แผนความถี่วิทยุ กิจการประจำที่ ย่านความถี่ ๑๑ กิกะเฮิรตซ์',\r\n\t\t\t\t],\r\n\t\t\t\ttech_type: 'Fix link',\r\n\t\t\t\tpower: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '55 dBw',\r\n\t\t\t\t\t\tvalue: 55,\r\n\t\t\t\t\t\tunit: 'dBw',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '316 kW (eirp)',\r\n\t\t\t\t\t\tvalue: 316,\r\n\t\t\t\t\t\tunit: 'kW (eirp)',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '316000 w (eirp)',\r\n\t\t\t\t\t\tvalue: 316000,\r\n\t\t\t\t\t\tunit: 'w (eirp)',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '316000000 mW (eirp)',\r\n\t\t\t\t\t\tvalue: 316000000,\r\n\t\t\t\t\t\tunit: 'mW (eirp)',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '13 dbw',\r\n\t\t\t\t\t\tvalue: 13,\r\n\t\t\t\t\t\tunit: 'dbw',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '20 w',\r\n\t\t\t\t\t\tvalue: 20,\r\n\t\t\t\t\t\tunit: 'w',\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t\tflag: 0b000000000000,\r\n\t\t\t},\r\n\t\t],\r\n\t},\r\n\t{\r\n\t\tname: '14500 – 15350 MHz',\r\n\t\tpolicy: [\r\n\t\t\t{\r\n\t\t\t\ttitle: [\r\n\t\t\t\t\t'ประกาศ กสทช. เรื่อง แผนความถี่วิทยุ กิจการประจำที่ ย่านความถี่ ๑๕ กิกะเฮิรตซ์',\r\n\t\t\t\t],\r\n\t\t\t\ttech_type: 'Fix link',\r\n\t\t\t\tpower: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '55 dBw',\r\n\t\t\t\t\t\tvalue: 55,\r\n\t\t\t\t\t\tunit: 'dBw',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '316 kW (eirp)',\r\n\t\t\t\t\t\tvalue: 316,\r\n\t\t\t\t\t\tunit: 'kW (eirp)',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '316000 w (eirp)',\r\n\t\t\t\t\t\tvalue: 316000,\r\n\t\t\t\t\t\tunit: 'w (eirp)',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '316000000 mW (eirp)',\r\n\t\t\t\t\t\tvalue: 316000000,\r\n\t\t\t\t\t\tunit: 'mW (eirp)',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '10 dbw',\r\n\t\t\t\t\t\tvalue: 10,\r\n\t\t\t\t\t\tunit: 'dbw',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '10 w',\r\n\t\t\t\t\t\tvalue: 10,\r\n\t\t\t\t\t\tunit: 'w',\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t\tflag: 0b000000000000,\r\n\t\t\t},\r\n\t\t],\r\n\t},\r\n\t{\r\n\t\tname: '17700 – 19700 MHz',\r\n\t\tpolicy: [\r\n\t\t\t{\r\n\t\t\t\ttitle: [\r\n\t\t\t\t\t'ประกาศ กสทช. เรื่อง แผนความถี่วิทยุ กิจการประจำที่ ย่านความถี่ ๑๘ กิกะเฮิรตซ์',\r\n\t\t\t\t],\r\n\t\t\t\ttech_type: 'Fix link',\r\n\t\t\t\tpower: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '55 dBw',\r\n\t\t\t\t\t\tvalue: 55,\r\n\t\t\t\t\t\tunit: 'dBw',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '316 kW (eirp)',\r\n\t\t\t\t\t\tvalue: 316,\r\n\t\t\t\t\t\tunit: 'kW (eirp)',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '316000 w (eirp)',\r\n\t\t\t\t\t\tvalue: 316000,\r\n\t\t\t\t\t\tunit: 'w (eirp)',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '316000000 mW (eirp)',\r\n\t\t\t\t\t\tvalue: 316000000,\r\n\t\t\t\t\t\tunit: 'mW (eirp)',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '10 dbw',\r\n\t\t\t\t\t\tvalue: 10,\r\n\t\t\t\t\t\tunit: 'dbw',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '10 w',\r\n\t\t\t\t\t\tvalue: 10,\r\n\t\t\t\t\t\tunit: 'w',\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t\tflag: 0b000000000000,\r\n\t\t\t},\r\n\t\t],\r\n\t},\r\n\t{\r\n\t\tname: '21200 – 23600 MHz',\r\n\t\tpolicy: [\r\n\t\t\t{\r\n\t\t\t\ttitle: [\r\n\t\t\t\t\t'ประกาศ กสทช. เรื่อง แผนความถี่วิทยุ กิจการประจำที่ ย่านความถี่ ๒๓ กิกะเฮิรตซ์',\r\n\t\t\t\t],\r\n\t\t\t\ttech_type: 'Fix link',\r\n\t\t\t\tpower: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '55 dBw',\r\n\t\t\t\t\t\tvalue: 55,\r\n\t\t\t\t\t\tunit: 'dBw',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '316 kW (eirp)',\r\n\t\t\t\t\t\tvalue: 316,\r\n\t\t\t\t\t\tunit: 'kW (eirp)',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '316000 w (eirp)',\r\n\t\t\t\t\t\tvalue: 316000,\r\n\t\t\t\t\t\tunit: 'w (eirp)',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '316000000 mW (eirp)',\r\n\t\t\t\t\t\tvalue: 316000000,\r\n\t\t\t\t\t\tunit: 'mW (eirp)',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '10 dbw',\r\n\t\t\t\t\t\tvalue: 10,\r\n\t\t\t\t\t\tunit: 'dbw',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '10 w',\r\n\t\t\t\t\t\tvalue: 10,\r\n\t\t\t\t\t\tunit: 'w',\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t\tflag: 0b000000000000,\r\n\t\t\t},\r\n\t\t],\r\n\t},\r\n\t{\r\n\t\tname: '12750 – 13250 MHz',\r\n\t\tpolicy: [\r\n\t\t\t{\r\n\t\t\t\ttitle: [\r\n\t\t\t\t\t'ประกาศ กสทช. เรื่อง แผนความถี่วิทยุ กิจการประจำที่ ย่านความถี่ ๑๓ กิกะเฮิรตซ์',\r\n\t\t\t\t],\r\n\t\t\t\ttech_type: 'Fix link',\r\n\t\t\t\tpower: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '55 dBw',\r\n\t\t\t\t\t\tvalue: 55,\r\n\t\t\t\t\t\tunit: 'dBw',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '316 kW (eirp)',\r\n\t\t\t\t\t\tvalue: 316,\r\n\t\t\t\t\t\tunit: 'kW (eirp)',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '316000 w (eirp)',\r\n\t\t\t\t\t\tvalue: 316000,\r\n\t\t\t\t\t\tunit: 'w (eirp)',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '316000000 mW (eirp)',\r\n\t\t\t\t\t\tvalue: 316000000,\r\n\t\t\t\t\t\tunit: 'mW (eirp)',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '10 dbw',\r\n\t\t\t\t\t\tvalue: 10,\r\n\t\t\t\t\t\tunit: 'dbw',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '10 w',\r\n\t\t\t\t\t\tvalue: 10,\r\n\t\t\t\t\t\tunit: 'w',\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t\tflag: 0b000000000000,\r\n\t\t\t},\r\n\t\t],\r\n\t},\r\n\t{\r\n\t\tname: '10150 – 10300 MHz',\r\n\t\tpolicy: [\r\n\t\t\t{\r\n\t\t\t\ttitle: [\r\n\t\t\t\t\t'ประกาศ กสทช. เรื่อง แผนความถี่วิทยุ กิจการประจำที่ ย่านความถี่ ๑๐ กิกะเฮิรตซ์',\r\n\t\t\t\t],\r\n\t\t\t\ttech_type: 'Fix link',\r\n\t\t\t\tpower: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '47 dBw',\r\n\t\t\t\t\t\tvalue: 47,\r\n\t\t\t\t\t\tunit: 'dBw',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '50 kW (eirp)',\r\n\t\t\t\t\t\tvalue: 50,\r\n\t\t\t\t\t\tunit: 'kW (eirp)',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '50000 w (eirp)',\r\n\t\t\t\t\t\tvalue: 316000,\r\n\t\t\t\t\t\tunit: 'w (eirp)',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '50000000 mW (eirp)',\r\n\t\t\t\t\t\tvalue: 316000000,\r\n\t\t\t\t\t\tunit: 'mW (eirp)',\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t\tflag: 0b000000000000,\r\n\t\t\t},\r\n\t\t],\r\n\t},\r\n\t{\r\n\t\tname: '10500 – 10650 MHz',\r\n\t\tpolicy: [\r\n\t\t\t{\r\n\t\t\t\ttitle: [\r\n\t\t\t\t\t'ประกาศ กสทช. เรื่อง แผนความถี่วิทยุ กิจการประจำที่ ย่านความถี่ ๑๐ กิกะเฮิรตซ์',\r\n\t\t\t\t],\r\n\t\t\t\ttech_type: 'Fix link',\r\n\t\t\t\tpower: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '47 dBw',\r\n\t\t\t\t\t\tvalue: 47,\r\n\t\t\t\t\t\tunit: 'dBw',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '50 kW (eirp)',\r\n\t\t\t\t\t\tvalue: 50,\r\n\t\t\t\t\t\tunit: 'kW (eirp)',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '50000 w (eirp)',\r\n\t\t\t\t\t\tvalue: 316000,\r\n\t\t\t\t\t\tunit: 'w (eirp)',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '50000000 mW (eirp)',\r\n\t\t\t\t\t\tvalue: 316000000,\r\n\t\t\t\t\t\tunit: 'mW (eirp)',\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t\tflag: 0b000000000000,\r\n\t\t\t},\r\n\t\t],\r\n\t},\r\n\t{\r\n\t\tname: '71000 – 76000 MHz',\r\n\t\tpolicy: [\r\n\t\t\t{\r\n\t\t\t\ttitle: [\r\n\t\t\t\t\t'ประกาศ กสทช. เรื่อง แผนความถี่วิทยุ กิจการประจำที่ ย่านความถี่ ๗๑ - ๗๖ กิกะเฮิรตซ์ และ ๘๑ - ๘๖ กิกะเฮิรตซ์',\r\n\t\t\t\t],\r\n\t\t\t\ttech_type: 'Fix link',\r\n\t\t\t\tpower: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '55 dBw',\r\n\t\t\t\t\t\tvalue: 55,\r\n\t\t\t\t\t\tunit: 'dBw',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '316 kW (eirp)',\r\n\t\t\t\t\t\tvalue: 316,\r\n\t\t\t\t\t\tunit: 'kW (eirp)',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '316000 w (eirp)',\r\n\t\t\t\t\t\tvalue: 316000,\r\n\t\t\t\t\t\tunit: 'w (eirp)',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '316000000 mW (eirp)',\r\n\t\t\t\t\t\tvalue: 316000000,\r\n\t\t\t\t\t\tunit: 'mW (eirp)',\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t\tflag: 0b000000000000,\r\n\t\t\t},\r\n\t\t],\r\n\t},\r\n\t{\r\n\t\tname: '81000 – 86000 MHz',\r\n\t\tpolicy: [\r\n\t\t\t{\r\n\t\t\t\ttitle: [\r\n\t\t\t\t\t'ประกาศ กสทช. เรื่อง แผนความถี่วิทยุ กิจการประจำที่ ย่านความถี่ ๗๑ - ๗๖ กิกะเฮิรตซ์ และ ๘๑ - ๘๖ กิกะเฮิรตซ์',\r\n\t\t\t\t],\r\n\t\t\t\ttech_type: 'Fix link',\r\n\t\t\t\tpower: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '55 dBw',\r\n\t\t\t\t\t\tvalue: 55,\r\n\t\t\t\t\t\tunit: 'dBw',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '316 kW (eirp)',\r\n\t\t\t\t\t\tvalue: 316,\r\n\t\t\t\t\t\tunit: 'kW (eirp)',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '316000 w (eirp)',\r\n\t\t\t\t\t\tvalue: 316000,\r\n\t\t\t\t\t\tunit: 'w (eirp)',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '316000000 mW (eirp)',\r\n\t\t\t\t\t\tvalue: 316000000,\r\n\t\t\t\t\t\tunit: 'mW (eirp)',\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t\tflag: 0b000000000000,\r\n\t\t\t},\r\n\t\t],\r\n\t},\r\n\t{\r\n\t\tname: '300 - 320.1 MHz',\r\n\t\tpolicy: [\r\n\t\t\t{\r\n\t\t\t\ttitle: [\r\n\t\t\t\t\t'ประกาศ กสทช. เรื่อง แผนความถี่วิทยุสำหรับการใช้งานเชื่อมโยงสัญญาณระหว่างห้องส่งกับเครื่องส่งวิทยุกระจายเสียง (Studio-Transmitter Link) ย่านความถี่ ๓๐๐-๓๒๐.๑ เมกะเฮิรตซ์',\r\n\t\t\t\t],\r\n\t\t\t\ttech_type: 'Studio-Transmitter Link',\r\n\t\t\t\tpower: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '20 W',\r\n\t\t\t\t\t\tvalue: 20,\r\n\t\t\t\t\t\tunit: 'W',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '18 dBw',\r\n\t\t\t\t\t\tvalue: 18,\r\n\t\t\t\t\t\tunit: 'dBw',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '0 ไม่มี',\r\n\t\t\t\t\t\tvalue: 0,\r\n\t\t\t\t\t\tunit: 'ไม่มี',\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t\tflag: 0b000000000001,\r\n\t\t\t},\r\n\t\t],\r\n\t},\r\n\t{\r\n\t\tname: '=0',\r\n\t\tpolicy: [\r\n\t\t\t{\r\n\t\t\t\ttitle: [\r\n\t\t\t\t\t'มาตรฐานทางเทคนิค กสทช.มท. 3001-2561',\r\n\t\t\t\t\t'มาตรฐานทางเทคนิค กสทช.มท. 4001-2561'\r\n\t\t\t\t],\r\n\t\t\t\ttech_type: 'เครืองโทรศัพท์ (telephone set)',\r\n\t\t\t\tpower: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '0 ไม่มี',\r\n\t\t\t\t\t\tvalue: 0,\r\n\t\t\t\t\t\tunit: 'ไม่มี',\r\n\t\t\t\t\t},\r\n\r\n\t\t\t\t],\r\n\t\t\t\tflag: 0b111111100001,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\ttitle: [\r\n\t\t\t\t\t'มาตรฐานทางเทคนิค กสทช.มท. 3001-2561',\r\n\t\t\t\t\t'มาตรฐานทางเทคนิค กสทช.มท. 4001-2561'\r\n\t\t\t\t],\r\n\t\t\t\ttech_type: 'เครืองโทรสาร (facsimile equipment)',\r\n\t\t\t\tpower: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '0',\r\n\t\t\t\t\t\tvalue: 0,\r\n\t\t\t\t\t\tunit: 'ไม่มี',\r\n\t\t\t\t\t},\r\n\r\n\t\t\t\t],\r\n\t\t\t\tflag: 0b111111100001,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\ttitle: [\r\n\t\t\t\t\t'มาตรฐานทางเทคนิค กสทช.มท. 3001-2561',\r\n\t\t\t\t\t'มาตรฐานทางเทคนิค กสทช.มท. 4001-2561'\r\n\t\t\t\t],\r\n\t\t\t\ttech_type: 'ระบบโทรศัพท์กดปุ่ม (key telephone system)',\r\n\t\t\t\tpower: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '0',\r\n\t\t\t\t\t\tvalue: 0,\r\n\t\t\t\t\t\tunit: 'ไม่มี',\r\n\t\t\t\t\t},\r\n\r\n\t\t\t\t],\r\n\t\t\t\tflag: 0b111111100001,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\ttitle: [\r\n\t\t\t\t\t'มาตรฐานทางเทคนิค กสทช.มท. 3001-2561',\r\n\t\t\t\t\t'มาตรฐานทางเทคนิค กสทช.มท. 4001-2561'\r\n\t\t\t\t],\r\n\t\t\t\ttech_type: 'โมเด็ม (modem)',\r\n\t\t\t\tpower: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '0',\r\n\t\t\t\t\t\tvalue: 0,\r\n\t\t\t\t\t\tunit: 'ไม่มี',\r\n\t\t\t\t\t},\r\n\r\n\t\t\t\t],\r\n\t\t\t\tflag: 0b111111100001,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\ttitle: [\r\n\t\t\t\t\t'มาตรฐานทางเทคนิค กสทช.มท. 3001-2561',\r\n\t\t\t\t\t'มาตรฐานทางเทคนิค กสทช.มท. 4001-2561'\r\n\t\t\t\t],\r\n\t\t\t\ttech_type: 'บริภัณฑ์ข้อมูลปลายทาง (data terminal equipment)',\r\n\t\t\t\tpower: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '0',\r\n\t\t\t\t\t\tvalue: 0,\r\n\t\t\t\t\t\tunit: 'ไม่มี',\r\n\t\t\t\t\t},\r\n\r\n\t\t\t\t],\r\n\t\t\t\tflag: 0b111111100001,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\ttitle: [\r\n\t\t\t\t\t'มาตรฐานทางเทคนิค กสทช.มท. 3001-2561',\r\n\t\t\t\t\t'มาตรฐานทางเทคนิค กสทช.มท. 4001-2561'\r\n\t\t\t\t],\r\n\t\t\t\ttech_type: 'ตู้สาขาโทรศัพท์อัตโนมัติ (PABX)',\r\n\t\t\t\tpower: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '0',\r\n\t\t\t\t\t\tvalue: 0,\r\n\t\t\t\t\t\tunit: 'ไม่มี',\r\n\t\t\t\t\t},\r\n\r\n\t\t\t\t],\r\n\t\t\t\tflag: 0b111111100001,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\ttitle: [\r\n\t\t\t\t\t'มาตรฐานทางเทคนิค กสทช.มท. 3001-2561',\r\n\t\t\t\t\t'มาตรฐานทางเทคนิค กสทช.มท. 4001-2561'\r\n\t\t\t\t],\r\n\t\t\t\ttech_type: 'เครืองโทรคมนาคมส่าหรับสายผู้เช่าดิจิทัลแบบต่าง ๆ (xDSL equipment)',\r\n\t\t\t\tpower: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '0',\r\n\t\t\t\t\t\tvalue: 0,\r\n\t\t\t\t\t\tunit: 'ไม่มี',\r\n\t\t\t\t\t},\r\n\r\n\t\t\t\t],\r\n\t\t\t\tflag: 0b111111100001,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\ttitle: [\r\n\t\t\t\t\t'มาตรฐานทางเทคนิค กทช.มท. 2001-2550'\r\n\r\n\t\t\t\t],\r\n\t\t\t\ttech_type: 'Optical System',\r\n\t\t\t\tpower: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '0',\r\n\t\t\t\t\t\tvalue: 0,\r\n\t\t\t\t\t\tunit: 'ไม่มี',\r\n\t\t\t\t\t},\r\n\r\n\t\t\t\t],\r\n\t\t\t\tflag: 0b111111100001,\r\n\t\t\t},\r\n\t\t],\r\n\t},\r\n\t{\r\n\t\tname: '5925-6425 MHz',\r\n\t\tpolicy: [\r\n\t\t\t{\r\n\t\t\t\ttitle: [\r\n\t\t\t\t\t'ประกาศ กสทช. เรื่อง หลักเกณฑ์การใช้คลื่นความถี่และเครื่องวิทยุคมนาคมที่อนุญาตให้มีการใช้งานเป็นการทั่วไป (ฉบับที่ ๒)',\r\n\t\t\t\t\t'ประกาศ กสทช. เรื่อง หลักเกณฑ์การอนุญาตให้ใช้คลื่นความถี่ ๕.๙๒๕ - ๖.๔๒๕ กิกะเฮิรตซ์ (Indoor)',\r\n\t\t\t\t\t'มาตรฐานทางเทคนิค กสทช.มท. 1039-2567 (Indoor)'\r\n\t\t\t\t],\r\n\t\t\t\ttech_type: 'RLAN Wifi 6e (ภายในอาคาร)',\r\n\t\t\t\tpower: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '250 mW (eirp)',\r\n\t\t\t\t\t\tvalue: 250,\r\n\t\t\t\t\t\tunit: 'mW (eirp)'\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t\tflag: 0b111111100001,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\ttitle: [\r\n\t\t\t\t\t'ประกาศ กสทช. เรื่อง หลักเกณฑ์การใช้คลื่นความถี่และเครื่องวิทยุคมนาคมที่อนุญาตให้มีการใช้งานเป็นการทั่วไป (ฉบับที่ ๒)',\r\n\t\t\t\t\t'ประกาศ กสทช. เรื่อง หลักเกณฑ์การอนุญาตให้ใช้คลื่นความถี่ ๕.๙๒๕ - ๖.๔๒๕ กิกะเฮิรตซ์ (Indoor/Outdoor)',\r\n\t\t\t\t\t'มาตรฐานทางเทคนิค กสทช.มท. 1039-2567 (Indoor/Outdoor)'\r\n\t\t\t\t],\r\n\t\t\t\ttech_type: 'RLAN Wifi 6e (ภายในและภายนอกอาคาร)',\r\n\t\t\t\tpower: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlabel: '25 mW (eirp)',\r\n\t\t\t\t\t\tvalue: 25,\r\n\t\t\t\t\t\tunit: 'mW (eirp)'\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t\tflag: 0b111111100001,\r\n\t\t\t}\r\n\t\t]\r\n\t}\r\n\t// {\r\n\t// \tname: '71.000 - 71.125 GHz',\r\n\t// \tpolicy: [\r\n\t// \t\t{\r\n\t// \t\t\ttitle: [\r\n\t// \t\t\t\t'ประกาศ กสทช. เรื่อง แผนความถี่วิทยุ กิจการประจําที่ ย่านความถี่ ๗๑ - ๗๖ กิกะเฮิรตซ์ (GHz) และ ๘๑ - ๘๖ กิกะเฮิรตซ์ (GHz)',\r\n\t// \t\t\t],\r\n\t// \t\t\ttech_type: 'Fix link',\r\n\t// \t\t\tpower: [\r\n\t// \t\t\t\t{\r\n\t// \t\t\t\t\tlabel: '55 dBw',\r\n\t// \t\t\t\t\tvalue: 55,\r\n\t// \t\t\t\t\tunit: 'dBw',\r\n\t// \t\t\t\t},\r\n\t// \t\t\t\t{\r\n\t// \t\t\t\t\tlabel: '316 kW (eirp)',\r\n\t// \t\t\t\t\tvalue: 316,\r\n\t// \t\t\t\t\tunit: 'kW (eirp)',\r\n\t// \t\t\t\t},\r\n\t// \t\t\t],\r\n\t// \t\t},\r\n\t// \t],\r\n\t// },\r\n\t// {\r\n\t// \tname: '75.875 – 76.000 GHz',\r\n\t// \tpolicy: [\r\n\t// \t\t{\r\n\t// \t\t\ttitle: [\r\n\t// \t\t\t\t'ประกาศ กสทช. เรื่อง แผนความถี่วิทยุ กิจการประจําที่ ย่านความถี่ ๗๑ - ๗๖ กิกะเฮิรตซ์ (GHz) และ ๘๑ - ๘๖ กิกะเฮิรตซ์ (GHz)',\r\n\t// \t\t\t],\r\n\t// \t\t\ttech_type: 'Fix link',\r\n\t// \t\t\tpower: [\r\n\t// \t\t\t\t{\r\n\t// \t\t\t\t\tlabel: '55 dBw',\r\n\t// \t\t\t\t\tvalue: 55,\r\n\t// \t\t\t\t\tunit: 'dBw',\r\n\t// \t\t\t\t},\r\n\t// \t\t\t\t{\r\n\t// \t\t\t\t\tlabel: '316 kW (eirp)',\r\n\t// \t\t\t\t\tvalue: 316,\r\n\t// \t\t\t\t\tunit: 'kW (eirp)',\r\n\t// \t\t\t\t},\r\n\t// \t\t\t],\r\n\t// \t\t},\r\n\t// \t],\r\n\t// },\r\n\t// {\r\n\t// \tname: '81.000 - 81.125 GHz',\r\n\t// \tpolicy: [\r\n\t// \t\t{\r\n\t// \t\t\ttitle: [\r\n\t// \t\t\t\t'ประกาศ กสทช. เรื่อง แผนความถี่วิทยุ กิจการประจําที่ ย่านความถี่ ๗๑ - ๗๖ กิกะเฮิรตซ์ (GHz) และ ๘๑ - ๘๖ กิกะเฮิรตซ์ (GHz)',\r\n\t// \t\t\t],\r\n\t// \t\t\ttech_type: 'Fix link',\r\n\t// \t\t\tpower: [\r\n\t// \t\t\t\t{\r\n\t// \t\t\t\t\tlabel: '55 dBw',\r\n\t// \t\t\t\t\tvalue: 55,\r\n\t// \t\t\t\t\tunit: 'dBw',\r\n\t// \t\t\t\t},\r\n\t// \t\t\t\t{\r\n\t// \t\t\t\t\tlabel: '316 kW (eirp)',\r\n\t// \t\t\t\t\tvalue: 316,\r\n\t// \t\t\t\t\tunit: 'kW (eirp)',\r\n\t// \t\t\t\t},\r\n\t// \t\t\t],\r\n\t// \t\t},\r\n\t// \t],\r\n\t// },\r\n\t// {\r\n\t// \tname: '85.875 – 86.000 GHz',\r\n\t// \tpolicy: [\r\n\t// \t\t{\r\n\t// \t\t\ttitle: [\r\n\t// \t\t\t\t'ประกาศ กสทช. เรื่อง แผนความถี่วิทยุ กิจการประจําที่ ย่านความถี่ ๗๑ - ๗๖ กิกะเฮิรตซ์ (GHz) และ ๘๑ - ๘๖ กิกะเฮิรตซ์ (GHz)',\r\n\t// \t\t\t],\r\n\t// \t\t\ttech_type: 'Fix link',\r\n\t// \t\t\tpower: [\r\n\t// \t\t\t\t{\r\n\t// \t\t\t\t\tlabel: '55 dBw',\r\n\t// \t\t\t\t\tvalue: 55,\r\n\t// \t\t\t\t\tunit: 'dBw',\r\n\t// \t\t\t\t},\r\n\t// \t\t\t\t{\r\n\t// \t\t\t\t\tlabel: '316 kW (eirp)',\r\n\t// \t\t\t\t\tvalue: 316,\r\n\t// \t\t\t\t\tunit: 'kW (eirp)',\r\n\t// \t\t\t\t},\r\n\t// \t\t\t],\r\n\t// \t\t},\r\n\t// \t],\r\n\t// },\r\n]\r\n","export const powerUnit = [\r\n\t'mW',\r\n\t'mW (eirp)',\r\n\t'W',\r\n\t'W (eirp)',\r\n\t'dBW',\r\n\t'kW (eirp)',\r\n\t'ไม่มี',\r\n]\r\n","/* eslint-disable no-unused-vars */\r\nimport { frequency } from './frequency'\r\n\r\nconst SPACE_NAME_WHITELIST = [\r\n\t'wireless microphone',\r\n\t'cordless telephone',\r\n\t'on-site paging (Pocket Unit)',\r\n\t'Fix link',\r\n\t'เครื่องส่งสัญญาณภาพ หรือเครื่องส่งสัญญาณภาพและเสียง',\r\n\t'เครื่องส่งสัญญาณเสียง',\r\n]\r\n\r\nconst spaceNameField = {\r\n\t'wireless microphone': 'wireless_microphone',\r\n\t'cordless telephone': 'cordless_telephone',\r\n\t'on-site paging (Pocket Unit)': 'on_site_paging',\r\n\t'Fix link': 'fix_link',\r\n\t'เครื่องส่งสัญญาณภาพ หรือเครื่องส่งสัญญาณภาพและเสียง': 'image_generator',\r\n\tเครื่องส่งสัญญาณเสียง: 'sound_generator',\r\n}\r\n\r\nexport const type_equipment = frequency.reduce((total, val) => {\r\n\tval.policy.forEach(p => {\r\n\t\tif (total[p.tech_type] === undefined) {\r\n\t\t\ttotal[p.tech_type] = []\r\n\t\t}\r\n\r\n\t\tif (!total[p.tech_type].includes(val.name)) {\r\n\t\t\ttotal[p.tech_type].push(val.name)\r\n\t\t}\r\n\t})\r\n\r\n\treturn total\r\n}, {})\r\n","import { useState, useEffect, useCallback, useRef } from 'react'\r\nimport { Grid, Button } from '@material-ui/core'\r\nimport { Alert, AlertTitle } from '@material-ui/lab';\r\n\r\nimport OrganizationDetailCard from '@components/sdoc/organization-detail-card'\r\nimport OrganizationDetailCardV2 from '@components/sdoc/organization-detail-cardV2'\r\nimport OrganizationDetailCardV3 from '@components/sdoc/organization-detail-cardV3'\r\nimport BrandNameCard from 'components/sdoc/brand-name-card/index'\r\nimport EquipmentCard from 'components/sdoc/equipment-card/index'\r\nimport DocumentAdditionCard from 'components/sdoc/document-addition-card/index'\r\nimport SureModal from '@components/SureModal'\r\nimport SuccessModal from '@components/modal/SuccessModal'\r\n\r\nimport { useLocation, useParams, useHistory } from 'react-router-dom'\r\n\r\nimport { useQuery } from 'utils/useQuery'\r\nimport {\r\n\toperators,\r\n\tsdocUser,\r\n\tsdoc,\r\n\r\n} from 'api/index'\r\n\r\nimport { frequency, powerUnit, type_equipment } from 'data/sdoc'\r\n\r\nimport Swal from 'sweetalert2/dist/sweetalert2.js'\r\nimport 'sweetalert2/dist/sweetalert2.min.css'\r\n\r\nimport { useStoreState } from 'store/index'\r\nimport datasetRecordAPI from 'api/dataset-record';\r\nimport { maxWidth } from '../../../../../node_modules/tailwindcss/lib/plugins/index';\r\n\r\n// Intitial State\r\n\r\nconst EQUIPMENT_INITIAL_STATE = {\r\n\tProductTypeText: '',\r\n\tFrequencyText: '',\r\n\tPowerText: '',\r\n\tPolicyText: '',\r\n\tSelectedPowerUnit: '',\r\n\tPolicyText_2: '',\r\n\tPolicyText_3: '',\r\n\tFlag: '',\r\n\tisError: false,\r\n}\r\n\r\nconst CONFIRMATION_INFO_STORAGE_INITIAL_STATE = {\r\n\tnormal_person: {\r\n\t\ttype: 'normal-person',\r\n\t\tname: '',\r\n\t\tcardNo: '',\r\n\t\taddress: '',\r\n\t},\r\n\torganization: {\r\n\t\ttype: 'organization',\r\n\t\tname: '',\r\n\t\tcardNo: '',\r\n\t\taddress: '',\r\n\t\tprefix: '',\r\n\t\tbranchNo: '',\r\n\t},\r\n}\r\n\r\nconst EQUIPMENT_MASTER_DATA_INTITIAL_STATE = {\r\n\tproductType: [],\r\n\ttypeEquipment: [],\r\n\tfrequency: [],\r\n\tpowerUnit: [],\r\n}\r\n\r\nconst INPUT_MODEL_INITIAL_STATE = {\r\n\tbrandName: '',\r\n\tproductModel: '',\r\n\tproductDescription: '',\r\n}\r\n\r\nconst TEMP_FILE_INTIAL_STATE = {\r\n\tfile: null,\r\n\tname: '',\r\n\t// filedate: '',\r\n}\r\n\r\nconst SUBMIT_TEXT_MODAL_INITIAL_STATE = {\r\n\ttitle: '',\r\n\tcontent: '',\r\n\thandleButton: null,\r\n}\r\n\r\n// Page Description: ยื่นแบบหนังสือรับรองตนเอง\r\nexport default function SDOC() {\r\n\tconst history = useHistory()\r\n\tconst location = useLocation()\r\n\tconst query = useQuery()\r\n\r\n\tconst { id: sDOCID } = useParams()\r\n\tconst mountType = query.get('mountType')\r\n\r\n\t// eslint-disable-next-line\r\n\tconst [sDOCId, setSDOCId] = useState(null)\r\n\r\n\t// Confirmation Info. Status\r\n\tconst [currentSenderState, setCurrentSenderState] = useState('normal_person')\r\n\tconst [confirmationInfoStorage, setConfirmationInfoStorage] = useState(\r\n\t\tCONFIRMATION_INFO_STORAGE_INITIAL_STATE\r\n\t)\r\n\t// Confirmation Info.\r\n\r\n\tconst [equipmentMasterData, setEquipmentMasterData] = useState(\r\n\t\tEQUIPMENT_MASTER_DATA_INTITIAL_STATE\r\n\t)\r\n\tconst [inputModel, setInputModel] = useState(INPUT_MODEL_INITIAL_STATE)\r\n\t// Input Equipment State\r\n\tconst [inputEquipmentState, setInputEquipmentState] = useState([\r\n\t\tEQUIPMENT_INITIAL_STATE,\r\n\t])\r\n\t// Additional Files\r\n\tconst [tempFile, setTempFile] = useState(TEMP_FILE_INTIAL_STATE)\r\n\tconst [additionalFiles, setAdditionalFiles] = useState([])\r\n\t// Modal States\r\n\tconst [submitEquipmentSureModal, setSubmitEquipmentSureModal] =\r\n\t\tuseState(false)\r\n\tconst [openSubmitEquipmentSuccessModal, setOpenSubmitEquipmentSuccessModal] =\r\n\t\tuseState(false)\r\n\tconst [submitTextModal, setSubmitTextModal] = useState(\r\n\t\tSUBMIT_TEXT_MODAL_INITIAL_STATE\r\n\t)\r\n\tconst [isSubmit, setIsSubmit] = useState(false)\r\n\t// Validation States\r\n\tconst [canSubmit, setCanSubmit] = useState(false)\r\n\tconst [isEquipmentCardValid, setIsEquipmentCardValid] = useState(false)\r\n\tconst [attachFileLength, setAttachFileLength] = useState(0)\r\n\tconst [requestAddiotionFile, setRequestAddiotionFile] = useState('')\r\n\tconst [requestModifyInfo, setRequestModifyInfo] = useState('')\r\n\tconst [ejectRemark, setEjectRemark] = useState('')\r\n\r\n\tconst [isProfileError, setIsProfileError] = useState(false)\r\n\r\n\tconst [uploadProgress, setUploadProgress] = useState(0);\r\n\r\n\r\n\t// GET POA DATA\r\n\tconst userSDOC = useStoreState(s => s.sdocUserModel.userSDOC)\r\n\r\n\t/** <---------------------------------------------------------------------> */\r\n\r\n\tconst onOpenSubmitEquipmentSureModal = () => {\r\n\r\n\t\tif (mountType === 'attachFile')\r\n\t\t\tsetSubmitTextModal({\r\n\t\t\t\ttitle: 'แนบเอกสารเพิ่มเติม',\r\n\t\t\t\tcontent:\r\n\t\t\t\t\t'คุณแน่ใจที่จะแนบเอกสารสำหรับยื่นแบบหนังสือรับรองตนเองหรือไม่?​',\r\n\t\t\t\thandleButton: () => onSubmitAddtionalFiles(sDOCID),\r\n\t\t\t})\r\n\t\telse\r\n\t\t\tif (mountType === 'ModifyInfo')\r\n\t\t\t\tsetSubmitTextModal({\r\n\t\t\t\t\ttitle: 'ปรับปรุงข้อมูลเอกสาร',\r\n\t\t\t\t\tcontent:\r\n\t\t\t\t\t\t'คุณแน่ใจที่จะส่งข้อมูลที่ถูกปรับปรุงชุดนี้แล้วหรือไม่?​',\r\n\t\t\t\t\thandleButton: () => onSubmitModifyInfo(sDOCID),\r\n\t\t\t\t})\r\n\t\t\telse\r\n\t\t\t\tsetSubmitTextModal({\r\n\t\t\t\t\ttitle: 'ยื่นแบบหนังสือรับรองตนเอง',\r\n\t\t\t\t\t// content: 'คุณแน่ใจที่จะยื่นแบบหนังสือรับรองตนเอง​หรือไม่?',\r\n\t\t\t\t\tcontent: (\r\n\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\tคุณกำลังยื่นแบบหนังสือรับรองตนเอง​ในนามของ \"{confirmationInfoStorage[currentSenderState].type === 'organization' ? 'นิติบุคคล' : 'บุคคลธรรมดา'}\"
\r\n\t\t\t\t\t\t\tคุณสามารถดูตัวอย่างหนังสือรับรองตนเองก่อนยื่นได้ ที่นี่
\r\n\t\t\t\t\t\t\tคุณต้องการดำเนินการต่อหรือไม่?
\r\n\t\t\t\t\t\t\t* หมายเหตุ เอกสารแนบที่แนบมาพร้อมคำขอนี้มีจำนวนทั้งสิ้น {additionalFiles.length} ไฟล์\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t),\r\n\t\t\t\t\thandleButton: onSubmitEquipment,\r\n\t\t\t\t})\r\n\t\tsetSubmitEquipmentSureModal(!submitEquipmentSureModal)\r\n\t}\r\n\r\n\tconst onOpenSubmitEquipmentSuccessModal = () =>\r\n\t\tsetOpenSubmitEquipmentSuccessModal(!openSubmitEquipmentSuccessModal)\r\n\r\n\tconst disabledRuleSubmitButton = () => {\r\n\t\tconst isCardError = inputEquipmentState.some(s => s.isError)\r\n\t\tif (isCardError) {\r\n\t\t\tsetCanSubmit(true)\r\n\t\t} else if (mountType === 'attachFile') {\r\n\t\t\tsetCanSubmit(false)\r\n\t\t} else if (isEquipmentCardValid && (!mountType || (mountType && mountType == \"ModifyInfo\")) && (confirmationInfoStorage[currentSenderState].address)) {\r\n\t\t\tsetCanSubmit(false)\r\n\t\t} else {\r\n\t\t\tsetCanSubmit(true)\r\n\t\t}\r\n\t}\r\n\r\n\t// case: mountType is 'readOnly'\r\n\tconst getListAndPrefield = useCallback(async () => {\r\n\t\tconst res = await sdoc.getListDetail(sDOCID)\r\n\r\n\t\tif (res && res.status === 200) {\r\n\t\t\tconst findedList = res.data\r\n\r\n\t\t\t// หากขอเอกสารเพิ่มเติมและมีการแนบหมายเหตุ\r\n\t\t\tif (findedList.sDocStatusID === 3) {\r\n\r\n\t\t\t\tif (findedList.requestAddtionDocStatusID === 1 && findedList.requestAdditionFileRemark !== null) {\r\n\t\t\t\t\tsetRequestAddiotionFile(findedList.requestAdditionFileRemark);\r\n\t\t\t\t}\r\n\t\t\t\tif (findedList.requestAddtionDocStatusID === 2 && findedList.requestModifyInfoRemark !== null) {\r\n\t\t\t\t\tsetRequestModifyInfo(findedList.requestModifyInfoRemark);\r\n\t\t\t\t}\r\n\r\n\t\t\t}\r\n\t\t\tif (findedList.sDocStatusID === 2) {\r\n\t\t\t\tif (findedList.requestAddtionDocStatusID === 1 && findedList.requestAdditionFileRemark !== null) {\r\n\t\t\t\t\tsetRequestAddiotionFile(findedList.requestAdditionFileRemark);\r\n\t\t\t\t}\r\n\t\t\t\tif (findedList.requestAddtionDocStatusID === 2 && findedList.requestModifyInfoRemark !== null) {\r\n\t\t\t\t\tsetRequestModifyInfo(findedList.requestModifyInfoRemark);\r\n\t\t\t\t}\r\n\r\n\t\t\t}\r\n\t\t\tif (findedList.sDocStatusID === 6) {\r\n\t\t\t\tsetEjectRemark(findedList.remark);\r\n\t\t\t}\r\n\r\n\t\t\t// console.log(data);\r\n\t\t\tif (findedList.senderType === 'organization') {\r\n\t\t\t\tconst res2 = await operators.getOperatorInfo({ taxno: findedList.operatorTaxNo, branchno: findedList.operatorBranchNo });\r\n\t\t\t\tif (res2 && res2.status === 200 && res2?.data.status !== 'error') {\r\n\t\t\t\t\tvar data = res2.data\r\n\t\t\t\t}\r\n\t\t\t\tsetCurrentSenderState('organization')\r\n\t\t\t\tsetConfirmationInfoStorage(prevState => {\r\n\t\t\t\t\treturn {\r\n\t\t\t\t\t\t...prevState,\r\n\t\t\t\t\t\torganization: {\r\n\t\t\t\t\t\t\ttype: 'organization',\r\n\t\t\t\t\t\t\tname: data.operators.operatorName ?? '',\r\n\t\t\t\t\t\t\tcardNo: data.operators.taxNo ?? '',\r\n\t\t\t\t\t\t\tprefix: data.operators.prefix ?? '',\r\n\t\t\t\t\t\t\tbranchNo: data.operatorInfo.branchNo,\r\n\t\t\t\t\t\t\taddress: data.operatorInfo.addr ?? '',\r\n\t\t\t\t\t\t\temail: data.operatorInfo.email ?? '',\r\n\t\t\t\t\t\t\tmobile: data.operatorInfo.mobile ?? '',\r\n\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t} else if (findedList.senderType === 'normal-person') {\r\n\t\t\t\tconst res3 = await operators.getOperatorUserInfo({ cardNo: findedList.operatorTaxNo })\r\n\t\t\t\tif (res3 && res3.status === 200 && res3?.data.status !== 'error') {\r\n\t\t\t\t\tvar data2 = res3.data\r\n\t\t\t\t}\r\n\t\t\t\tsetCurrentSenderState('normal_person')\r\n\t\t\t\tsetConfirmationInfoStorage(prevState => {\r\n\t\t\t\t\treturn {\r\n\t\t\t\t\t\t...prevState,\r\n\t\t\t\t\t\tnormal_person: {\r\n\t\t\t\t\t\t\ttype: 'normal-person',\r\n\t\t\t\t\t\t\t// name: findedList.operatorTitle ?? '',\r\n\t\t\t\t\t\t\tname: (data2?.operatorUser?.prefix ?? '') + data2?.operatorUser?.firstname + ' ' + data2?.operatorUser?.lastname,\r\n\t\t\t\t\t\t\tcardNo: findedList.operatorTaxNo ?? '',\r\n\t\t\t\t\t\t\tbranchNo: findedList.operatorBranchNo ?? '00000',\r\n\t\t\t\t\t\t\taddress: data2?.operatorUser?.address ?? '',\r\n\t\t\t\t\t\t\temail: data2?.operatorUser?.email ?? '',\r\n\t\t\t\t\t\t\tmobile: data2?.operatorUser?.mobile ?? '',\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t}\r\n\r\n\t\t\tif (findedList) {\r\n\t\t\t\tconst productModel = findedList.productModel\r\n\t\t\t\tconst productDescription = findedList.productDescription\r\n\t\t\t\tconst brandName = findedList.brandName\r\n\t\t\t\tconst sDocItems = findedList.sDocItems\r\n\t\t\t\tconst sDocAttachs = findedList.sDocAttachs\r\n\r\n\t\t\t\tsetInputModel({\r\n\t\t\t\t\tbrandName: brandName ?? '',\r\n\t\t\t\t\tproductModel: productModel ?? '',\r\n\t\t\t\t\tproductDescription: productDescription ?? '',\r\n\t\t\t\t})\r\n\r\n\t\t\t\tconst newList = sDocItems.map(sdocItem => {\r\n\t\t\t\t\tconst regexpSize = /^(\\S+)\\s(.+)/\r\n\t\t\t\t\tconst match = sdocItem.powerText.match(regexpSize)\r\n\r\n\t\t\t\t\tconst obj = {\r\n\t\t\t\t\t\tProductTypeText: sdocItem.productTypeText,\r\n\t\t\t\t\t\tFrequencyText: sdocItem.frequencyText,\r\n\t\t\t\t\t\tPolicyText: sdocItem.policyText,\r\n\t\t\t\t\t\tPowerText: match ? match[1] : '',\r\n\t\t\t\t\t\tSelectedPowerUnit: match ? match[2] : '',\r\n\t\t\t\t\t\tPolicyText_2: sdocItem.policyText_2,\r\n\t\t\t\t\t\tPolicyText_3: sdocItem.policyText_3,\r\n\t\t\t\t\t\tFlag: sdocItem.flag,\r\n\t\t\t\t\t\tisError: false,\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\treturn obj\r\n\t\t\t\t})\r\n\r\n\t\t\t\tsetInputEquipmentState(newList)\r\n\r\n\t\t\t\tsetAttachFileLength(sDocAttachs.length)\r\n\t\t\t\tsetAdditionalFiles(() => {\r\n\t\t\t\t\tconst newList = sDocAttachs.map(sdocAttach => {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\tfileID: sdocAttach.id,\r\n\t\t\t\t\t\t\tfile: sdocAttach.fileName,\r\n\t\t\t\t\t\t\tname: sdocAttach.title,\r\n\t\t\t\t\t\t\tisfilelocked: sdocAttach.isFileLocked ?? false,\r\n\t\t\t\t\t\t\t// filedate: sdocAttach.fileDate,\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t})\r\n\t\t\t\t\treturn newList\r\n\t\t\t\t})\r\n\t\t\t}\r\n\t\t}\r\n\t\t// eslint-disable-next-line\r\n\t}, [])\r\n\r\n\t/** <---------------------------------------------------------------------> */\r\n\r\n\t// Organization Detail Function\r\n\r\n\tconst onChangeSenderType = e => {\r\n\t\tconst { value } = e.target\r\n\t\tsetCurrentSenderState(value)\r\n\t}\r\n\r\n\tconst onChangeCompanyInfo = e => {\r\n\t\tsetConfirmationInfoStorage(prev => ({ ...prev, organization: e }))\r\n\t}\r\n\r\n\tconst getUserProfile = async () => {\r\n\t\tconst res = await sdocUser.getMe()\r\n\t\tif (res && res?.status === 200) {\r\n\t\t\tconst data = res.data\r\n\t\t\tconst res2 = await sdocUser.getMyProfile(userSDOC.poa)\r\n\t\t\tif (res2 && res2?.status === 200) {\r\n\t\t\t\t// console.log(res2.data)\r\n\t\t\t\tvar data2 = res2.data\r\n\t\t\t}\r\n\t\t\tif (data.prefix == null) {\r\n\t\t\t\tSwal.fire({\r\n\t\t\t\t\ticon: 'error',\r\n\t\t\t\t\ttitle: 'ข้อมูลส่วนตัวของผู้ยื่นแบบไม่ครบถ้วน',\r\n\t\t\t\t\ttext: 'กรุณาตรวจสอบและปรับปรุงข้อมูลในเมนู \"ข้อมูลผู้ใช้งาน\" (ท่านยังไม่ได้ระบุคำนำหน้าชื่อ)',\r\n\t\t\t\t\tconfirmButtonText: 'ตกลง',\r\n\t\t\t\t})\r\n\t\t\t\tsetIsProfileError(true)\r\n\t\t\t}\r\n\t\t\tif (data2?.taxNo != \"null\" && (data2?.operators[0].prefix == null || data2?.operators[0].prefix.length < 2)) {\r\n\t\t\t\tSwal.fire({\r\n\t\t\t\t\ticon: 'error',\r\n\t\t\t\t\ttitle: 'ข้อมูลบริษัทไม่ครบถ้วน',\r\n\t\t\t\t\ttext: 'กรุณาตรวจสอบและปรับปรุงข้อมูลในเมนู \"ข้อมูลผู้ใช้งาน\" (ท่านยังไม่ได้ระบุคำนำหน้าชื่อบริษัท)',\r\n\t\t\t\t\tconfirmButtonText: 'ตกลง',\r\n\t\t\t\t})\r\n\t\t\t\tsetIsProfileError(true)\r\n\t\t\t}\r\n\t\t\tif (data.addr == null || data.zipcode == null || data.province == null || data.amphoe == null || data.district == null) {\r\n\t\t\t\tSwal.fire({\r\n\t\t\t\t\ticon: 'error',\r\n\t\t\t\t\ttitle: 'ข้อมูลที่อยู่ไม่ถูกต้อง หรือรูปแบบผิด',\r\n\t\t\t\t\ttext: 'กรุณาตรวจสอบและปรับปรุงข้อมูลในเมนู \"ข้อมูลผู้ใช้งาน\" และกรอกข้อมูลลงฟอร์มให้ถูกต้อง',\r\n\t\t\t\t\tconfirmButtonText: 'ตกลง',\r\n\t\t\t\t})\r\n\t\t\t\tsetIsProfileError(true)\r\n\t\t\t}\r\n\t\t\tsetConfirmationInfoStorage(prevState => {\r\n\t\t\t\treturn {\r\n\t\t\t\t\t...prevState,\r\n\t\t\t\t\tnormal_person: {\r\n\t\t\t\t\t\ttype: 'normal-person',\r\n\t\t\t\t\t\tname: (data.prefix ?? \"\") + data.firstname + ' ' + data.lastname,\r\n\t\t\t\t\t\tcardNo: data.nationalIDCardNo,\r\n\t\t\t\t\t\tbranchNo: '00000',\r\n\t\t\t\t\t\taddress: data.address ?? '',\r\n\t\t\t\t\t\temail: data.email ?? '',\r\n\t\t\t\t\t\tmobile: data.mobile ?? '',\r\n\t\t\t\t\t},\r\n\t\t\t\t\torganization: {\r\n\t\t\t\t\t\ttype: 'organization',\r\n\t\t\t\t\t\tcardNo: userSDOC.poa ?? '',\r\n\t\t\t\t\t\tprefix: data2.operators[0]?.prefix ?? '',\r\n\t\t\t\t\t\tname: data2.operators[0]?.operatorName ?? '',\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t}\r\n\t}\r\n\r\n\r\n\r\n\t/** <---------------------------------------------------------------------> */\r\n\r\n\t// Equipment Card\r\n\r\n\tconst onChangeInputModel = e => {\r\n\t\tconst { name, value } = e.target\r\n\t\tsetInputModel(prevState => ({ ...prevState, [name]: value }))\r\n\t}\r\n\r\n\tconst onChangeInputEquipmentState = (name, value, key) => {\r\n\t\tsetInputEquipmentState(prevState => {\r\n\t\t\tconst newState = [...prevState]\r\n\r\n\t\t\tif (name === 'ProductTypeText')\r\n\t\t\t\tnewState[key] = {\r\n\t\t\t\t\t...prevState[key],\r\n\t\t\t\t\tProductTypeText: value,\r\n\t\t\t\t\tFrequencyText: '',\r\n\t\t\t\t\tPolicyText: '',\r\n\t\t\t\t\tPolicyText_2: '',\r\n\t\t\t\t\tPolicyText_3: '',\r\n\t\t\t\t\tFlag: '',\r\n\t\t\t\t}\r\n\t\t\telse if (name === 'FrequencyText')\r\n\t\t\t\tnewState[key] = {\r\n\t\t\t\t\t...prevState[key],\r\n\t\t\t\t\tFrequencyText: value,\r\n\t\t\t\t\tPolicyText: '',\r\n\t\t\t\t\tPolicyText_2: '',\r\n\t\t\t\t\tPolicyText_3: '',\r\n\t\t\t\t\tFlag: '',\r\n\t\t\t\t}\r\n\t\t\telse newState[key] = { ...prevState[key], [name]: value }\r\n\r\n\t\t\treturn newState\r\n\t\t})\r\n\t}\r\n\r\n\tconst onFetchMasterdata = async () => {\r\n\t\tsetEquipmentMasterData({\r\n\t\t\tproductType: [],\r\n\t\t\ttypeEquipment: type_equipment,\r\n\t\t\tfrequency: frequency,\r\n\t\t\tpowerUnit: powerUnit,\r\n\t\t})\r\n\t}\r\n\r\n\tconst addMoreItem = () => {\r\n\t\tsetInputEquipmentState(prevState => [...prevState, EQUIPMENT_INITIAL_STATE])\r\n\t}\r\n\r\n\tconst onDeleteItem = index => {\r\n\t\tif (inputEquipmentState.length === 1) return\r\n\t\tsetInputEquipmentState(prevState => {\r\n\t\t\tconst newList = prevState.filter((item, prevIndex) => prevIndex !== index)\r\n\t\t\treturn newList\r\n\t\t})\r\n\t}\r\n\r\n\tconst onEquipmentCardError = (errIdx, isError) => {\r\n\t\tsetInputEquipmentState(prevState => {\r\n\t\t\tconst newList = prevState.map((item, prevIndex) => {\r\n\t\t\t\tif (prevIndex === errIdx) {\r\n\t\t\t\t\titem.isError = isError\r\n\t\t\t\t}\r\n\t\t\t\treturn item\r\n\t\t\t})\r\n\t\t\treturn newList\r\n\t\t})\r\n\t}\r\n\r\n\tconst isExecuting = useRef(false);\r\n\tconst handlePreviewButton = () => {\r\n\t\tonSubmitPreviewSDoC()\r\n\t}\r\n\tconst onSubmitPreviewSDoC = async () => {\r\n\t\t// prevent multiple submit\r\n\t\tif (isExecuting.current) return\r\n\r\n\t\ttry {\r\n\t\t\tisExecuting.current = true;\r\n\t\t\tSwal.fire({\r\n\t\t\t\ticon: 'info',\r\n\t\t\t\ttitle: 'กำลังดำเนินการ',\r\n\t\t\t\ttext: 'กรุณารอสักครู่...',\r\n\t\t\t\tshowConfirmButton: false,\r\n\t\t\t\tallowOutsideClick: false,\r\n\t\t\t\tallowEscapeKey: false,\r\n\t\t\t\tallowEnterKey: false,\r\n\t\t\t\tfooter: 'โปรดรอสักครู่....',\r\n\t\t\t})\r\n\r\n\t\t\tconst items = inputEquipmentState.map(item => {\r\n\t\t\t\treturn {\r\n\t\t\t\t\tProductTypeText: item.ProductTypeText,\r\n\t\t\t\t\tPolicyText: item.PolicyText,\r\n\t\t\t\t\tFrequencyText: item.FrequencyText,\r\n\t\t\t\t\tPowerText: item.PowerText + ' ' + item.SelectedPowerUnit,\r\n\t\t\t\t\tPolicyText_2: item.PolicyText_2,\r\n\t\t\t\t\tPolicyText_3: item.PolicyText_3,\r\n\t\t\t\t\tFlag: item.Flag,\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t\tlet title = [];\r\n\t\t\tadditionalFiles.forEach(file => {\r\n\t\t\t\ttitle.push(file.name);\r\n\t\t\t})\r\n\r\n\t\t\tconst res = await sdoc.getPreviewSDoC(\r\n\t\t\t\tinputModel.brandName,\r\n\t\t\t\tinputModel.productModel,\r\n\t\t\t\tinputModel.productDescription,\r\n\t\t\t\tconfirmationInfoStorage[currentSenderState],\r\n\t\t\t\titems,\r\n\t\t\t\ttitle\r\n\t\t\t)\r\n\t\t\tif (res && res.status === 200) {\r\n\t\t\t\tconst base64Data = res.data.file; // Assuming the response data is already in base64 format\r\n\r\n\t\t\t\t// Convert base64 data to a Blob\r\n\t\t\t\tconst byteCharacters = atob(base64Data);\r\n\t\t\t\tconst byteNumbers = new Array(byteCharacters.length);\r\n\t\t\t\tfor (let i = 0; i < byteCharacters.length; i++) {\r\n\t\t\t\t\tbyteNumbers[i] = byteCharacters.charCodeAt(i);\r\n\t\t\t\t}\r\n\t\t\t\tconst byteArray = new Uint8Array(byteNumbers);\r\n\t\t\t\tconst blob = new Blob([byteArray], { type: 'application/pdf' });\r\n\r\n\t\t\t\t// Create a URL for the Blob\r\n\t\t\t\tconst blobUrl = URL.createObjectURL(blob);\r\n\r\n\t\t\t\t// Open the Blob URL in a new tab\r\n\t\t\t\twindow.open(blobUrl, '_blank');\r\n\t\t\t}\r\n\t\t} finally {\r\n\t\t\tisExecuting.current = false;\r\n\t\t\tSwal.close();\r\n\t\t}\r\n\r\n\t}\r\n\r\n\tconst onSubmitEquipment = async () => {\r\n\t\t// prevent multiple submit\r\n\t\tif (isSubmit) return\r\n\t\tsetIsSubmit(true)\r\n\r\n\t\tconst items = inputEquipmentState.map(item => {\r\n\t\t\treturn {\r\n\t\t\t\tProductTypeText: item.ProductTypeText,\r\n\t\t\t\tPolicyText: item.PolicyText,\r\n\t\t\t\tFrequencyText: item.FrequencyText,\r\n\t\t\t\tPowerText: item.PowerText + ' ' + item.SelectedPowerUnit,\r\n\t\t\t\tPolicyText_2: item.PolicyText_2,\r\n\t\t\t\tPolicyText_3: item.PolicyText_3,\r\n\t\t\t\tFlag: item.Flag,\r\n\t\t\t}\r\n\t\t})\r\n\r\n\t\tconst res = await sdoc.addList(\r\n\t\t\tinputModel.brandName,\r\n\t\t\tinputModel.productModel,\r\n\t\t\tinputModel.productDescription,\r\n\t\t\tconfirmationInfoStorage[currentSenderState],\r\n\t\t\titems\r\n\t\t)\r\n\t\tif (res && res.status === 200) {\r\n\t\t\tsetSDOCId(res.data.id)\r\n\t\t\tif (additionalFiles.length !== 0) {\r\n\t\t\t\tsetIsSubmit(false)\r\n\t\t\t\tonSubmitAddtionalFiles(res.data.id)\r\n\t\t\t} else {\r\n\t\t\t\tonOpenSubmitEquipmentSuccessModal()\r\n\t\t\t}\r\n\t\t\tsetSubmitEquipmentSureModal(false)\r\n\t\t\tsetIsSubmit(false)\r\n\t\t} else if (res && res.status === 400) {\r\n\t\t\tSwal.fire({\r\n\t\t\t\ticon: 'error',\r\n\t\t\t\ttitle: 'ข้อมูลคำขอไม่ถูกต้อง',\r\n\t\t\t\ttext: res.data.message,\r\n\t\t\t\tconfirmButtonText: 'ตกลง',\r\n\t\t\t})\r\n\t\t\tsetSubmitEquipmentSureModal(false)\r\n\t\t\tsetIsSubmit(false)\r\n\t\t} else if (res && res.status === 500) {\r\n\t\t\tSwal.fire({\r\n\t\t\t\ticon: 'error',\r\n\t\t\t\ttitle: 'เกิดข้อผิดพลาดจากระบบ',\r\n\t\t\t\ttext: 'กรุณาลองใหม่ภายหลัง',\r\n\t\t\t\tconfirmButtonText: 'ตกลง',\r\n\t\t\t})\r\n\t\t\tsetSubmitEquipmentSureModal(false)\r\n\t\t\tsetIsSubmit(false)\r\n\t\t} else if (res && res.status === 408) {\r\n\t\t\tSwal.fire({\r\n\t\t\t\ticon: 'error',\r\n\t\t\t\ttitle: 'หมดเวลาในการทำรายการ',\r\n\t\t\t\ttext: 'กรุณาตรวจสอบคำขอในเมนู สถานะการยื่นแบบรับรองตนเอง',\r\n\t\t\t\tconfirmButtonText: 'ตกลง',\r\n\t\t\t})\r\n\t\t\tsetSubmitEquipmentSureModal(false)\r\n\t\t\tsetIsSubmit(false)\r\n\t\t} else {\r\n\t\t\tSwal.fire({\r\n\t\t\t\ticon: 'error',\r\n\t\t\t\ttitle: 'เกิดข้อผิดพลาดจากระบบ',\r\n\t\t\t\ttext: 'กรุณาตรวจสอบคำขอในเมนู สถานะการยื่นแบบรับรองตนเอง (error code: ' + res.status + ')',\r\n\t\t\t\tconfirmButtonText: 'ตกลง',\r\n\t\t\t})\r\n\t\t\tsetSubmitEquipmentSureModal(false)\r\n\t\t\tsetIsSubmit(false)\r\n\t\t}\r\n\r\n\t}\r\n\r\n\tconst onSubmitModifyInfo = async id => {\r\n\t\tif (isSubmit) return\r\n\t\tsetIsSubmit(true)\r\n\r\n\t\tconst items = inputEquipmentState.map(item => {\r\n\t\t\treturn {\r\n\t\t\t\tProductTypeText: item.ProductTypeText,\r\n\t\t\t\tPolicyText: item.PolicyText,\r\n\t\t\t\tFrequencyText: item.FrequencyText,\r\n\t\t\t\tPowerText: item.PowerText + ' ' + item.SelectedPowerUnit,\r\n\t\t\t\tPolicyText_2: item.PolicyText_2,\r\n\t\t\t\tPolicyText_3: item.PolicyText_3,\r\n\t\t\t\tFlag: item.Flag,\r\n\t\t\t}\r\n\t\t})\r\n\r\n\t\tconst res = await sdoc.editList(\r\n\t\t\tid,\r\n\t\t\tinputModel.brandName,\r\n\t\t\tinputModel.productModel,\r\n\t\t\tinputModel.productDescription,\r\n\t\t\tconfirmationInfoStorage[currentSenderState],\r\n\t\t\titems,\r\n\t\t)\r\n\t\tconsole.log(res.status);\r\n\t\tif (res && res.status === 200) {\r\n\t\t\tsetSDOCId(res.data.id)\r\n\t\t\tif (additionalFiles.length > attachFileLength) {\r\n\t\t\t\tsetIsSubmit(false)\r\n\t\t\t\tonSubmitAddtionalFiles(res.data.id)\r\n\t\t\t} else onOpenSubmitEquipmentSuccessModal()\r\n\t\t\tsetIsSubmit(false)\r\n\t\t} else if (res && res.status === 400) {\r\n\t\t\tSwal.fire({\r\n\t\t\t\ticon: 'error',\r\n\t\t\t\ttitle: 'ข้อมูลคำขอไม่ถูกต้อง',\r\n\t\t\t\ttext: res.data.message,\r\n\t\t\t\tconfirmButtonText: 'ตกลง',\r\n\t\t\t})\r\n\t\t\tsetSubmitEquipmentSureModal(false)\r\n\t\t\tsetIsSubmit(false)\r\n\t\t} else if (res && res.status === 500) {\r\n\t\t\tSwal.fire({\r\n\t\t\t\ticon: 'error',\r\n\t\t\t\ttitle: 'เกิดข้อผิดพลาดจากระบบ',\r\n\t\t\t\ttext: 'กรุณาลองใหม่ภายหลัง',\r\n\t\t\t\tconfirmButtonText: 'ตกลง',\r\n\t\t\t})\r\n\t\t\tsetSubmitEquipmentSureModal(false)\r\n\t\t\tsetIsSubmit(false)\r\n\t\t} else if (res && res.status === 408) {\r\n\t\t\tSwal.fire({\r\n\t\t\t\ticon: 'error',\r\n\t\t\t\ttitle: 'หมดเวลาในการทำรายการ',\r\n\t\t\t\ttext: 'กรุณาตรวจสอบคำขอในเมนู สถานะการยื่นแบบรับรองตนเอง',\r\n\t\t\t\tconfirmButtonText: 'ตกลง',\r\n\t\t\t})\r\n\t\t\tsetSubmitEquipmentSureModal(false)\r\n\t\t\tsetIsSubmit(false)\r\n\t\t} else {\r\n\t\t\tSwal.fire({\r\n\t\t\t\ticon: 'error',\r\n\t\t\t\ttitle: 'เกิดข้อผิดพลาดจากระบบ',\r\n\t\t\t\ttext: 'กรุณาตรวจสอบคำขอในเมนู สถานะการยื่นแบบรับรองตนเอง (error code: ' + res.status + ')',\r\n\t\t\t\tconfirmButtonText: 'ตกลง',\r\n\t\t\t})\r\n\t\t\tsetSubmitEquipmentSureModal(false)\r\n\t\t\tsetIsSubmit(false)\r\n\t\t}\r\n\t}\r\n\r\n\t/** <---------------------------------------------------------------------> */\r\n\r\n\t// Document Additional Card\r\n\r\n\tconst onAddTemp = (e, type) => {\r\n\t\tconst { files, value } = e.target\r\n\t\tif (type === 'file' && files.length !== 0)\r\n\t\t\tsetTempFile({ ...tempFile, file: files[0] })\r\n\t\tif (type === 'name') setTempFile({ ...tempFile, name: value })\r\n\t\t// if (type === 'filedate') setTempFile({ ...tempFile, filedate: value })\r\n\t}\r\n\r\n\tconst onAddDocument = () => {\r\n\t\t// check sum size all file\r\n\t\tlet sumSize = 0\r\n\t\tadditionalFiles.forEach(file => {\r\n\t\t\tsumSize += file.file.size\r\n\t\t})\r\n\t\tsumSize += tempFile.file.size\r\n\t\tif (sumSize > 314572800) {\r\n\t\t\t// if (sumSize > 100000000){\r\n\t\t\tSwal.fire({\r\n\t\t\t\ticon: 'error',\r\n\t\t\t\ttitle: 'ขนาดไฟล์เกินขีด จำกัด',\r\n\t\t\t\ttext: 'ขนาดไฟล์รวมกันต้องไม่เกิน 300 MB',\r\n\t\t\t})\r\n\t\t\treturn\r\n\t\t}\r\n\t\tif (tempFile.file.type !== 'application/pdf') {\r\n\t\t\tSwal.fire({\r\n\t\t\t\ticon: 'error',\r\n\t\t\t\ttitle: 'ชนิดไฟล์ไม่ถูกต้อง',\r\n\t\t\t\ttext: 'ชนิดไฟล์ต้องเป็น PDF เท่านั้น',\r\n\t\t\t})\r\n\t\t\treturn\r\n\t\t}\r\n\t\t// if (tempFile.file && tempFile.name !== '' && tempFile.filedate !== '') {\r\n\t\tif (tempFile.file && tempFile.name !== '') {\r\n\t\t\tsetAdditionalFiles(prevState => [\r\n\t\t\t\t...prevState,\r\n\t\t\t\t// { file: tempFile.file, name: tempFile.name, filedate: tempFile.filedate },\r\n\t\t\t\t{ file: tempFile.file, name: tempFile.name },\r\n\t\t\t])\r\n\t\t\t// setTempFile({ file: null, name: '', filedate: '' })\r\n\t\t\tsetTempFile({ file: null, name: '' })\r\n\t\t}\r\n\t}\r\n\r\n\tconst onChangeAttachedFileName = (e, index) => {\r\n\t\tconst { value } = e.target\r\n\t\tsetAdditionalFiles(prevState => {\r\n\t\t\tconst newList = prevState.map((item, itemIndex) => {\r\n\t\t\t\tif (itemIndex === index)\r\n\t\t\t\t\treturn {\r\n\t\t\t\t\t\tfile: item?.file,\r\n\t\t\t\t\t\tname: value,\r\n\t\t\t\t\t\t// filedate: item?.filedate,\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\treturn item\r\n\t\t\t})\r\n\t\t\treturn newList\r\n\t\t})\r\n\t}\r\n\r\n\tconst onDeleteDocument = index => {\r\n\t\tsetAdditionalFiles(prevState => {\r\n\t\t\tconst temp_list = prevState.filter((_, listInd) => {\r\n\t\t\t\treturn listInd !== index\r\n\t\t\t})\r\n\t\t\tsetAttachFileLength(temp_list.length)\r\n\t\t\treturn temp_list\r\n\t\t})\r\n\t}\r\n\r\n\tconst onDeletedUploadedDocument = index => {\r\n\t\tsetAdditionalFiles(prevState => {\r\n\t\t\tconst temp_list = prevState.filter((_, listInd) => {\r\n\t\t\t\treturn listInd !== index\r\n\t\t\t})\r\n\t\t\tsetAttachFileLength(attachFileLength - 1)\r\n\t\t\treturn temp_list\r\n\t\t})\r\n\t}\r\n\r\n\tconst onSubmitAddtionalFiles = async id => {\r\n\t\tif (isSubmit) return\r\n\t\tsetIsSubmit(true)\r\n\t\tconst currentAdditionalFileLength = additionalFiles.length\r\n\t\tlet sendedFiles = []\r\n\r\n\t\tif (mountType && (mountType === 'attachFile' || mountType === 'ModifyInfo')) {\r\n\t\t\tconst amountOfNewFiles = currentAdditionalFileLength - attachFileLength\r\n\r\n\t\t\tadditionalFiles.forEach((file, index) => {\r\n\t\t\t\tif (index > currentAdditionalFileLength - amountOfNewFiles - 1)\r\n\t\t\t\t\tsendedFiles.push(file)\r\n\t\t\t})\r\n\t\t} else sendedFiles = additionalFiles\r\n\r\n\t\tconst res = await sdoc.attachAdditionalFiles(id, sendedFiles, percentCompleted => {\r\n\t\t\tsetUploadProgress(percentCompleted);\r\n\t\t});\r\n\t\tconsole.log(\"upload file complete\");\r\n\t\tconsole.log(res);\r\n\t\tif (res && res.status === 200) {\r\n\t\t\tonOpenSubmitEquipmentSuccessModal()\r\n\t\t\tsetIsSubmit(false)\r\n\t\t} else if (res && res.status === 400) {\r\n\t\t\tSwal.fire({\r\n\t\t\t\ticon: 'error',\r\n\t\t\t\ttitle: 'ข้อมูลคำขอไม่ถูกต้อง',\r\n\t\t\t\ttext: res.data.message,\r\n\t\t\t\tconfirmButtonText: 'ตกลง',\r\n\t\t\t})\r\n\t\t\tsetSubmitEquipmentSureModal(false)\r\n\t\t\tsetIsSubmit(false)\r\n\t\t} else if (res && res.status === 500) {\r\n\t\t\tSwal.fire({\r\n\t\t\t\ticon: 'error',\r\n\t\t\t\ttitle: 'เกิดข้อผิดพลาดจากระบบ',\r\n\t\t\t\ttext: 'กรุณาลองใหม่ภายหลัง',\r\n\t\t\t\tconfirmButtonText: 'ตกลง',\r\n\t\t\t})\r\n\t\t\tsetSubmitEquipmentSureModal(false)\r\n\t\t\tsetIsSubmit(false)\r\n\t\t} else if (res && res.status === 408) {\r\n\t\t\tSwal.fire({\r\n\t\t\t\ticon: 'error',\r\n\t\t\t\ttitle: 'หมดเวลาในการทำรายการ',\r\n\t\t\t\ttext: 'กรุณาตรวจสอบคำขอในเมนู สถานะการยื่นแบบรับรองตนเอง',\r\n\t\t\t\tconfirmButtonText: 'ตกลง',\r\n\t\t\t})\r\n\t\t\tsetSubmitEquipmentSureModal(false)\r\n\t\t\tsetIsSubmit(false)\r\n\t\t} else {\r\n\t\t\tSwal.fire({\r\n\t\t\t\ticon: 'error',\r\n\t\t\t\ttitle: 'เกิดข้อผิดพลาดจากระบบ',\r\n\t\t\t\ttext: 'กรุณาตรวจสอบคำขอในเมนู สถานะการยื่นแบบรับรองตนเอง (error code: ' + res.status + ')',\r\n\t\t\t\tconfirmButtonText: 'ตกลง',\r\n\t\t\t})\r\n\t\t\tsetSubmitEquipmentSureModal(false)\r\n\t\t\tsetIsSubmit(false)\r\n\t\t}\r\n\t}\r\n\r\n\tconst handleSubmitSuccess = () => {\r\n\t\tif (mountType && mountType === 'attachFile') {\r\n\t\t\thistory.push('/sdoc/manage')\r\n\t\t}\r\n\t\tonOpenSubmitEquipmentSureModal()\r\n\t\tonOpenSubmitEquipmentSuccessModal()\r\n\t\tsetSDOCId(null)\r\n\t\tsetInputModel(INPUT_MODEL_INITIAL_STATE)\r\n\t\tsetInputEquipmentState([EQUIPMENT_INITIAL_STATE])\r\n\t\tsetTempFile(TEMP_FILE_INTIAL_STATE)\r\n\t\tsetAdditionalFiles([])\r\n\t\thistory.push('/sdoc/manage')\r\n\t}\r\n\r\n\tconst onLandingFromEdit = () => {\r\n\t\tif (!mountType) {\r\n\t\t\tsetSDOCId(null)\r\n\t\t\tsetInputModel(INPUT_MODEL_INITIAL_STATE)\r\n\t\t\tsetInputEquipmentState([EQUIPMENT_INITIAL_STATE])\r\n\t\t\tsetTempFile(TEMP_FILE_INTIAL_STATE)\r\n\t\t\tsetAdditionalFiles([])\r\n\t\t}\r\n\t}\r\n\r\n\tconst onDeleteUploadedDocument = async (id, index) => {\r\n\t\tSwal.fire({\r\n\t\t\ttitle: 'คุณต้องการลบไฟล์นี้ใช่หรือไม่?',\r\n\t\t\ttext: 'คุณจะไม่สามารถกู้คืนไฟล์นี้ได้หากลบไปแล้ว',\r\n\t\t\ticon: 'warning',\r\n\t\t\tshowCancelButton: true,\r\n\t\t\tconfirmButtonColor: '#3085d6',\r\n\t\t\tcancelButtonColor: '#d33',\r\n\t\t\tconfirmButtonText: 'ใช่, ลบไฟล์นี้',\r\n\t\t\tcancelButtonText: 'ยกเลิก',\r\n\t\t}).then(async result => {\r\n\t\t\tif (result.value) {\r\n\t\t\t\tconst res = await sdoc.deleteAdditionalFile(sDOCID, id)\r\n\t\t\t\tif (res && res.status === 200) {\r\n\t\t\t\t\tonDeletedUploadedDocument(index)\r\n\t\t\t\t\tSwal.fire('ลบไฟล์สำเร็จ!', 'ไฟล์ของคุณถูกลบแล้ว', 'success')\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t})\r\n\t\t// const res = await sdoc.deleteAdditionalFile(id)\r\n\t\t// if (res && res.status === 200) {\r\n\t\t// \tonDeleteDocument(index)\r\n\r\n\t\t// }\r\n\r\n\t}\r\n\r\n\t/** <---------------------------------------------------------------------> */\r\n\r\n\t// Trigger when change the confirmation type\r\n\t// useEffect(() => {\r\n\t// \t// if (confirmationInfo.type === 'normal-person' ) {\r\n\t// \t// \tif (confirmationInfoHasFetched.normal_person && !sDOCId) {\r\n\t// \t// \t\tsetConfirmationInfo(prevState => {\r\n\t// \t// \t\t\treturn {\r\n\t// \t// \t\t\t\t...prevState,\r\n\t// \t// \t\t\t\ttype: confirmationInfoStorage.normal_person.type,\r\n\t// \t// \t\t\t\tname: confirmationInfoStorage.normal_person.name,\r\n\t// \t// \t\t\t\tcardNo: confirmationInfoStorage.normal_person.cardNo,\r\n\t// \t// \t\t\t\taddress: confirmationInfoStorage.normal_person.address,\r\n\t// \t// \t\t\t}\r\n\t// \t// \t\t})\r\n\t// \t// \t} else getUserProfile()\r\n\t// \t// } else if (confirmationInfo.type === 'organization' ) {\r\n\r\n\t// \t// \tif (confirmationInfoHasFetched.organization && !sDOCId) {\r\n\r\n\t// \t// \t\tsetConfirmationInfo(prevState => {\r\n\t// \t// \t\t\treturn {\r\n\t// \t// \t\t\t\t...prevState,\r\n\t// \t// \t\t\t\ttype: confirmationInfoStorage.organization.type,\r\n\t// \t// \t\t\t\tname: confirmationInfoStorage.organization.name,\r\n\t// \t// \t\t\t\tcardNo: confirmationInfoStorage.organization.cardNo,\r\n\t// \t// \t\t\t\taddress: confirmationInfoStorage.organization.address,\r\n\t// \t// \t\t\t}\r\n\t// \t// \t\t})\r\n\t// \t// \t}\r\n\t// \t// }\r\n\t// \t// eslint-disable-next-line\r\n\t// }, [confirmationInfo.type])\r\n\r\n\t// const eqipmentValidation = useCallback(() => {\r\n\t// \tinputEquipmentState.forEach(item => {\r\n\t// \t\tconst premilinaryCondition =\r\n\t// \t\t\titem.FrequencyText !== '' &&\r\n\t// \t\t\t// (item.PolicyText !== '' || item.PolicyText_2 !== '' || item.PolicyText_3 !== '') &&\r\n\t// \t\t\titem.PowerText !== '' &&\r\n\t// \t\t\titem.SelectedPowerUnit !== '' &&\r\n\t// \t\t\titem.ProductTypeText !== ''\r\n\r\n\t// \t\tconst isFilledText =\r\n\t// \t\t\tinputModel.brandName !== '' &&\r\n\t// \t\t\tinputModel.productModel !== '' &&\r\n\t// \t\t\tinputModel.productDescription !== ''\r\n\r\n\t// \t\tsetIsEquipmentCardValid(premilinaryCondition && isFilledText)\r\n\t// \t})\r\n\t// }, [\r\n\t// \tinputEquipmentState,\r\n\t// \tinputModel.productDescription,\r\n\t// \tinputModel.productModel,\r\n\t// \tinputModel.brandName,\r\n\t// ])\r\n\r\n\tconst eqipmentValidation = useCallback(() => {\r\n\t\tconst isValid = inputEquipmentState.every(item => {\r\n\t\t\tconst premilinaryCondition =\r\n\t\t\t\titem.FrequencyText !== '' &&\r\n\t\t\t\t// (item.PolicyText !== '' || item.PolicyText_2 !== '' || item.PolicyText_3 !== '') &&\r\n\t\t\t\titem.PowerText !== '' &&\r\n\t\t\t\titem.SelectedPowerUnit !== '' &&\r\n\t\t\t\titem.ProductTypeText !== ''\r\n\r\n\t\t\tconst isFilledText =\r\n\t\t\t\tinputModel.brandName !== '' &&\r\n\t\t\t\tinputModel.productModel !== '' &&\r\n\t\t\t\tinputModel.productDescription !== ''\r\n\r\n\t\t\treturn premilinaryCondition && isFilledText;\r\n\t\t});\r\n\r\n\t\tsetIsEquipmentCardValid(isValid);\r\n\t}, [\r\n\t\tinputEquipmentState,\r\n\t\tinputModel.productDescription,\r\n\t\tinputModel.productModel,\r\n\t\tinputModel.brandName,\r\n\t]);\r\n\r\n\r\n\t// Equipment Validation\r\n\tuseEffect(() => {\r\n\t\teqipmentValidation()\r\n\t}, [eqipmentValidation])\r\n\r\n\t// Submit Button Validation\r\n\tuseEffect(\r\n\t\t() => disabledRuleSubmitButton(),\r\n\t\t// eslint-disable-next-line\r\n\t\t[isEquipmentCardValid, inputEquipmentState, additionalFiles, confirmationInfoStorage[currentSenderState]]\r\n\t)\r\n\r\n\t// Initial Fetch\r\n\tuseEffect(() => {\r\n\t\tonFetchMasterdata()\r\n\t\tgetUserProfile()\r\n\t\t// eslint-disable-next-line\r\n\t}, [])\r\n\r\n\t// eslint-disable-next-line\r\n\tuseEffect(() => onLandingFromEdit(), [mountType])\r\n\r\n\t// Initial Fetch from /manage\r\n\tuseEffect(() => {\r\n\t\tif (sDOCID && mountType) {\r\n\t\t\tsetSDOCId(sDOCID)\r\n\t\t\tgetListAndPrefield()\r\n\t\t}\r\n\t\t// eslint-disable-next-line\r\n\t}, [sDOCID, mountType])\r\n\r\n\t// On Unmounting\r\n\tuseEffect(() => {\r\n\t\treturn () => (location.state = null)\r\n\t\t// eslint-disable-next-line\r\n\t}, [])\r\n\r\n\tfunction makeLinksClickable(text) {\r\n\t\tconst urlRegex = /(https?:\\/\\/[^\\s]+)/g;\r\n\t\treturn text.split(urlRegex).map((part, index) => {\r\n\t\t\tif (part.match(urlRegex)) {\r\n\t\t\t\t// This part is a URL, convert it to a clickable link\r\n\t\t\t\treturn (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{part}\r\n\t\t\t\t\t\r\n\t\t\t\t);\r\n\t\t\t} else {\r\n\t\t\t\t// This part is not a URL, render it as plain text\r\n\t\t\t\treturn {part};\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t\r\n\t\t\t\tท่านสามารถศึกษาประกาศและกฎระเบียบที่เกี่ยวข้อง รวมถึงวิธีการยื่นอย่างละเอียดได้ที่https://standard.nbtc.go.th/บริการออนไลน์/SDoC-Online.aspx\r\n\t\t\t\t{!mountType && !userSDOC.poa && (ท่านยังไม่ได้รับการมอบอำนาจจากสถานประกอบการท่านยังไม่ได้รับการมอบอำนาจหรือสิทธิ์ ในการดำเนินการแทนสถานประกอบการ ทำให้ท่านไม่สามารถ ยื่นแบบหนังสือรับรองตนเอง แบบนิติบุคคล ได้ หากท่านต้องการดำเนินการแบบนิติบุคคล กรุณาติดต่อเจ้าหน้าที่ผู้ดูแลระบบ เพื่อดำเนินการมอบอำนาจก่อนดำเนินการต่อไป)}\r\n\t\t\t\t{requestAddiotionFile && requestAddiotionFile !== '' && (รายละเอียดการขอเอกสารเพิ่มเติมจากเจ้าหน้าที่
{makeLinksClickable(requestAddiotionFile)}
)}\r\n\t\t\t\t{requestModifyInfo && requestModifyInfo !== '' && (รายละเอียดการขอให้ปรับปรุงข้อมูลจากเจ้าหน้าที่
{makeLinksClickable(requestModifyInfo)}
)}\r\n\t\t\t\t{ejectRemark && ejectRemark !== '' && (รายละเอียดการไม่อนุมัติคำขอจากเจ้าหน้าที่
{makeLinksClickable(ejectRemark)}
)}\r\n\t\t\t\t\r\n\t\t\t\t\r\n\r\n\t\t\t\t{inputEquipmentState.map((item, index) => {\r\n\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tonEquipmentCardError(errIdx, isError)\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tonDelete={() => onDeleteItem(index)}\r\n\t\t\t\t\t\t\tindex={index}\r\n\t\t\t\t\t\t\tkey={'EquipmentCard' + index + mountType}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t)\r\n\t\t\t\t})}\r\n\r\n\t\t\t\t{(!mountType || (mountType && mountType === \"ModifyInfo\")) && (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tเพิ่มอุปกรณ์ย่านความถี่\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t\t\r\n\r\n\t\t\t\t{mountType !== 'readOnly' && (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tยื่นแบบ\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t
\r\n\t\t\t\r\n\t\t\t handleSubmitSuccess()}\r\n\t\t\t/>\r\n\t\t\r\n\t)\r\n}\r\n","import { forwardRef, useRef } from 'react'\r\nimport {\r\n\tGrid,\r\n\tDialog,\r\n\tDialogTitle,\r\n\tDialogContent,\r\n\tDialogContentText,\r\n\tSlide,\r\n\tIconButton,\r\n\tuseMediaQuery,\r\n} from '@material-ui/core'\r\nimport { Close } from '@material-ui/icons'\r\n\r\nimport { useTheme } from '@material-ui/core/styles'\r\n\r\nexport function RejectReasonModal({ open, onClose, header_icon, content }) {\r\n\tconst theme = useTheme()\r\n\tconst fullScreen = useMediaQuery(theme.breakpoints.down('sm'))\r\n\tconst descriptionElementRef = useRef(null)\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{header_icon}\r\n\t\t\t\t\t\tเหตุผลที่ไม่อนุมัติ\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{content}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n\r\nconst Transition = forwardRef(function Transtition(props, ref) {\r\n\treturn \r\n})\r\n","import { forwardRef, useRef, useEffect, useState } from 'react'\r\nimport {\r\n\tGrid,\r\n\tDialog,\r\n\tDialogTitle,\r\n\tDialogContent,\r\n\tDialogContentText,\r\n\tDialogActions,\r\n\tButton,\r\n\tSlide,\r\n\tIconButton,\r\n\tuseMediaQuery,\r\n} from '@material-ui/core'\r\nimport { Close } from '@material-ui/icons'\r\n\r\nimport { useTheme } from '@material-ui/core/styles'\r\n\r\nexport function CancelSDoCModal({\r\n\topen,\r\n\tonClose,\r\n\theader_icon,\r\n\tcontent,\r\n\tSDoCID,\r\n\thandleCancel,\r\n\thandleButton,\r\n}) {\r\n\tconst theme = useTheme()\r\n\tconst fullScreen = useMediaQuery(theme.breakpoints.down('sm'))\r\n\tconst descriptionElementRef = useRef(null)\r\n\tconst [isLoading, setIsLoading] = useState(false)\r\n\tuseEffect(() => {\r\n\t\tsetIsLoading(false)\r\n\t}, [open])\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{header_icon}\r\n\t\t\t\t\t\tยกเลิกคำขอยื่นแบบรับรองตนเอง\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\tคุณต้องการยกเลิกคำขอที่ {content} ใช่หรือไม่
หากท่านยกเลิกแล้วรายการคำขอนี้จะไม่สามารถดำเนินการต่อได้อีก
\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tยกเลิก\r\n\t\t\t\t\t\r\n\t\t\t\t\t { handleButton(SDoCID); setIsLoading(true) }}\r\n\t\t\t\t\t\tcolor=\"primary\"\r\n\t\t\t\t\t\tvariant=\"contained\"\r\n\t\t\t\t\t\tdisabled={isLoading}>\r\n\t\t\t\t\t\t{isLoading ? 'กำลังดำเนินการ...' : 'ตกลง'}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n\r\nconst Transition = forwardRef(function Transtition(props, ref) {\r\n\treturn \r\n})\r\n","import React, { useState, useEffect, useCallback } from 'react'\r\n\r\nimport { Grid, Card, Button } from '@material-ui/core'\r\nimport { DataGrid, GridOverlay } from '@material-ui/data-grid'\r\nimport {\r\n\tListAlt,\r\n\tDescription,\r\n\tAttachFile,\r\n\tMenu,\r\n\tClose,\r\n} from '@material-ui/icons'\r\n\r\nimport { RejectReasonModal } from './components/RejectReasonModal'\r\nimport { CancelSDoCModal } from './components/CancelSDoCModal'\r\n\r\nimport { useStoreRehydrated, useStoreState } from '@store'\r\nimport { useHistory } from 'react-router-dom'\r\nimport { makeStyles } from '@material-ui/core/styles'\r\nimport { format } from 'date-fns'\r\n\r\nimport { sdoc } from '@api'\r\nimport { now } from '../../../../../node_modules/moment/moment'\r\nimport Swal from 'sweetalert2'\r\n\r\nconst useStyles = makeStyles(theme => {\r\n\treturn {\r\n\t\tdetails_button: {\r\n\t\t\tbackgroundColor: '#466AE9',\r\n\t\t\tcolor: '#fff',\r\n\t\t\t'&:hover': {\r\n\t\t\t\tbackgroundColor: '#466AE9',\r\n\t\t\t},\r\n\t\t},\r\n\t\tcommon_button: {\r\n\t\t\tbackgroundColor: '#eee',\r\n\t\t\tcolor: '#000',\r\n\t\t\t'&:hover': {\r\n\t\t\t\tbackgroundColor: '#eee',\r\n\t\t\t},\r\n\t\t},\r\n\t\tapprove_button: {\r\n\t\t\tbackgroundColor: '#1DBF73',\r\n\t\t\tcolor: '#fff',\r\n\t\t\t'&:hover': {\r\n\t\t\t\tbackgroundColor: '#1DBF73',\r\n\t\t\t},\r\n\t\t},\r\n\t\twait_button: {\r\n\t\t\tbackgroundColor: '#F6B50B',\r\n\t\t\tcolor: '#fff',\r\n\t\t\t'&:hover': {\r\n\t\t\t\tbackgroundColor: '#F6B50B',\r\n\t\t\t},\r\n\t\t},\r\n\t\treject_button: {\r\n\t\t\tbackgroundColor: '#DB4D44',\r\n\t\t\tcolor: '#fff',\r\n\t\t\t'&:hover': {\r\n\t\t\t\tbackgroundColor: '#DB4D44',\r\n\t\t\t},\r\n\t\t},\r\n\t}\r\n})\r\n\r\n// Page Description: สถานะการยื่นแบบหนังสือรับรองตนเอง\r\nexport default function SDOCStatus() {\r\n\tconst isRehydrated = useStoreRehydrated()\r\n\tconst history = useHistory()\r\n\tconst classes = useStyles()\r\n\t// const isMobile = useMediaQuery(theme.breakpoints.down('sm'))\r\n\tconst [rowsWaitStatus, setRowsWaitStatus] = useState([])\r\n\tconst [isDataLoading, setIsDataLoading] = useState(false)\r\n\tconst [rowsApproveStatus, setRowsApproveStatus] = useState([])\r\n\t// const [columnsWidthApproveStatus, setColumnsWidthApproveStatus] = useState({\r\n\t// \tbrandNameWidth: 0,\r\n\t// \tbrandNameFlex: 0.9,\r\n\t// \tapproveDateWidth: 0,\r\n\t// \tapproveDateFlex: 0.8,\r\n\t// \tactivityWidth: 0,\r\n\t// \tactivityFlex: 1.2,\r\n\t// })\r\n\t// eslint-disable-next-line\r\n\t// GET POA DATA\r\n\tconst userSDOC = useStoreState(s => s.sdocUserModel.userSDOC)\r\n\tconst [statusList, setStatusList] = useState([])\r\n\tconst [openRejectReasonModal, setOpenRejectReasonModal] = useState(false)\r\n\tconst [rejectReason, setRejectReason] = useState('')\r\n\tconst [openCancelSdoCModal, setOpenCancelSDoCModal] = useState(false)\r\n\tconst [cancelSDoCID, setCancelSDoCID] = useState('')\r\n\tconst [cancelSDoCRunningNo, setCancelSDoCRunningNo] = useState('')\r\n\tconst [sortModelInprogress, setSortModelInprogress] = useState([\r\n\t\t{\r\n\t\t\tfield: 'runningNumber',\r\n\t\t\tsort: 'desc',\r\n\t\t},\r\n\t]);\r\n\tconst [sortModel, setSortModel] = useState([\r\n\t\t{\r\n\t\t\tfield: 'sDocNo',\r\n\t\t\tsort: 'desc',\r\n\t\t},\r\n\t]);\r\n\tconst onClickBillInquiry = useCallback(async (id) => {\r\n\t\tconst res = await sdoc.billInquiry(id)\r\n\t\tSwal.fire({\r\n\t\t\ttitle: 'กรุณารอสักครู่',\r\n\t\t\ttext: 'ระบบกำลังทำรายการ',\r\n\t\t\tallowOutsideClick: false,\r\n\t\t\tallowEscapeKey: false,\r\n\t\t\tallowEnterKey: false,\r\n\t\t\tshowConfirmButton: false,\r\n\t\t\tdidOpen: () => {\r\n\t\t\t\tSwal.showLoading()\r\n\t\t\t},\r\n\t\t})\r\n\t\t// wait for 1.5 seconds\r\n\t\tsetTimeout(() => {\r\n\t\t\tif (res && res.status === 200) {\r\n\t\t\t\tSwal.close()\r\n\t\t\t\tif (res.data.billInquiryStatus === \"Match\") {\r\n\t\t\t\t\tSwal.fire({\r\n\t\t\t\t\t\ttitle: 'ทำการตรวจสอบการชำระเงินสำเร็จ',\r\n\t\t\t\t\t\ttext: 'ตรวจพบการชำระเงินของท่านแล้ว กรุณารอระบบดำเนินการต่อ',\r\n\t\t\t\t\t\ticon: 'success',\r\n\t\t\t\t\t\tconfirmButtonText: 'OK',\r\n\t\t\t\t\t}).then((result) => {\r\n\t\t\t\t\t\tif (result.isConfirmed) {\r\n\t\t\t\t\t\t\tgetSDOCWaitStatusList();\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t})\r\n\t\t\t\t} else {\r\n\t\t\t\t\tSwal.fire({\r\n\t\t\t\t\t\ttitle: 'ไม่พบข้อมูลการชำระเงินดังกล่าว',\r\n\t\t\t\t\t\ttext: 'ไม่พบการชำระเงินรายการนี้ หรือ ข้อมูลอาจจะล่าช้า กรุณารอสักครู่ และทำรายการใหม่ภายหลัง',\r\n\t\t\t\t\t\ticon: 'error',\r\n\t\t\t\t\t\tconfirmButtonText: 'OK',\r\n\t\t\t\t\t}).then((result) => {\r\n\t\t\t\t\t\tif (result.isConfirmed) {\r\n\t\t\t\t\t\t\tgetSDOCWaitStatusList();\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\t)\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}, 1500)\r\n\t})\r\n\tconst onClickBillRenew = useCallback(async (id) => {\r\n\t\tconst res = await sdoc.billRenew(id)\r\n\t\t// show waiting modal\r\n\t\tSwal.fire({\r\n\t\t\ttitle: 'กรุณารอสักครู่',\r\n\t\t\ttext: 'ระบบกำลังทำรายการ',\r\n\t\t\tallowOutsideClick: false,\r\n\t\t\tallowEscapeKey: false,\r\n\t\t\tallowEnterKey: false,\r\n\t\t\tshowConfirmButton: false,\r\n\t\t\tdidOpen: () => {\r\n\t\t\t\tSwal.showLoading()\r\n\t\t\t},\r\n\t\t})\r\n\t\tif (res && res.status === 200) {\r\n\t\t\t// hide waiting modal\r\n\t\t\tSwal.close()\r\n\t\t\tSwal.fire({\r\n\t\t\t\ttitle: 'Success',\r\n\t\t\t\ttext: 'ทำรายการใบนำฝากใหม่สำเร็จ',\r\n\t\t\t\ticon: 'success',\r\n\t\t\t\tconfirmButtonText: 'OK',\r\n\t\t\t}).then((result) => {\r\n\t\t\t\tif (result.isConfirmed) {\r\n\t\t\t\t\tgetSDOCWaitStatusList();\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t}\r\n\t})\r\n\tconst onCancelSDoC = useCallback(async (id) => {\r\n\t\t// show waiting modal\r\n\t\tSwal.fire({\r\n\t\t\ttitle: 'กรุณารอสักครู่',\r\n\t\t\ttext: 'ระบบกำลังทำรายการ',\r\n\t\t\tallowOutsideClick: false,\r\n\t\t\tallowEscapeKey: false,\r\n\t\t\tallowEnterKey: false,\r\n\t\t\tshowConfirmButton: false,\r\n\t\t\tdidOpen: () => {\r\n\t\t\t\tSwal.showLoading()\r\n\t\t\t}\r\n\r\n\t\t})\r\n\t\tconst res = await sdoc.cancelSDoC(id)\r\n\t\tif (res && res.status === 200) {\r\n\t\t\t// hide waiting modal\r\n\t\t\tSwal.close()\r\n\t\t\tSwal.fire({\r\n\t\t\t\ttitle: 'ยกเลิกรายการคำขอสำเร็จ',\r\n\t\t\t\ttext: 'ระบบได้ทำการยกเลิกคำขอยื่นแบบรับรองตนเองของท่านแล้ว',\r\n\t\t\t\ticon: 'success',\r\n\t\t\t\tconfirmButtonText: 'OK',\r\n\t\t\t}).then((result) => {\r\n\t\t\t\tif (result.isConfirmed) {\r\n\t\t\t\t\tgetSDOCWaitStatusList();\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t} else {\r\n\t\t\tSwal.close()\r\n\t\t\tSwal.fire({\r\n\t\t\t\ttitle: 'ไม่สามารถยกเลิกรายการคำขอได้',\r\n\t\t\t\ttext: 'ระบบไม่สามารถทำรายการได้ กรุณาติดต่อเจ้าหน้าที่',\r\n\t\t\t\ticon: 'error',\r\n\t\t\t\tconfirmButtonText: 'OK',\r\n\t\t\t}).then((result) => {\r\n\t\t\t\tif (result.isConfirmed) {\r\n\t\t\t\t\tgetSDOCWaitStatusList();\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t}\r\n\r\n\t})\r\n\r\n\r\n\r\n\tvar columnsWaitingStatus = [\r\n\t\t{\r\n\t\t\tfield: 'runningNumber',\r\n\t\t\theaderName: 'เลขที่คำขอ',\r\n\t\t\twidth: 180,\r\n\t\t\theaderAlign: 'left',\r\n\t\t\talign: 'left',\r\n\t\t\tsortable: true,\r\n\t\t\teditable: false,\r\n\t\t},\r\n\t\t{\r\n\t\t\tfield: 'brandName',\r\n\t\t\theaderName: 'ตราอักษร (Brand Name)',\r\n\t\t\twidth: 220,\r\n\t\t\theaderAlign: 'left',\r\n\t\t\talign: 'left',\r\n\t\t\tsortable: true,\r\n\t\t\teditable: false,\r\n\t\t},\r\n\t\t{\r\n\t\t\tfield: 'productModel',\r\n\t\t\theaderName: 'รุ่นของผลิตภัณฑ์',\r\n\t\t\twidth: 180,\r\n\t\t\theaderAlign: 'left',\r\n\t\t\talign: 'left',\r\n\t\t\tsortable: true,\r\n\t\t\teditable: false,\r\n\t\t},\r\n\t\t{\r\n\t\t\tfield: 'submitDate',\r\n\t\t\theaderName: 'วันที่และเวลายื่นแบบ',\r\n\t\t\twidth: 200,\r\n\t\t\theaderAlign: 'left',\r\n\t\t\talign: 'left',\r\n\t\t\tsortable: true,\r\n\t\t\teditable: false,\r\n\t\t\trenderCell: params => (\r\n\t\t\t\t\r\n\t\t\t\t\t{params.value ? format(new Date(params.value), 'dd/MM/yyyy HH:mm') : ''}\r\n\t\t\t\t\t{/* {params.value ? format(new Date(params.value), 'MM/dd/yyyy HH:mm') : ''} */}\r\n\t\t\t\t\r\n\t\t\t),\r\n\t\t},\r\n\t\t{\r\n\t\t\tfield: 'statusID',\r\n\t\t\theaderName: 'สถานะ',\r\n\t\t\twidth: 130,\r\n\t\t\theaderAlign: 'left',\r\n\t\t\talign: 'left',\r\n\t\t\tsortable: true,\r\n\t\t\teditable: false,\r\n\t\t\trenderCell: params => {\r\n\t\t\t\tvar today = new Date();\r\n\t\t\t\ttoday.setDate(today.getDate() + 1);\r\n\t\t\t\tvar dueDate = null;\r\n\t\t\t\tif (params.row.transactions != null && params.row.transactions.dueDate != null) {\r\n\t\t\t\t\tdueDate = new Date(params.row.transactions.dueDate);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tdueDate = new Date();\r\n\t\t\t\t}\r\n\t\t\t\tdueDate.setHours(23, 59, 59, 999);\r\n\t\t\t\treturn (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t(params.row.isUploadedAttachment == false) ?\r\n\t\t\t\t\t\t\t\t'คำขอไม่สมบูรณ์'\r\n\t\t\t\t\t\t\t\t: (params.value === 2 && params.row.requestAddtionDocStatusID === 1) ?\r\n\t\t\t\t\t\t\t\t\t'เพิ่มเอกสารแล้ว'\r\n\t\t\t\t\t\t\t\t\t: (params.value === 2 && params.row.requestAddtionDocStatusID === 2) ?\r\n\t\t\t\t\t\t\t\t\t\t'ปรับปรุงข้อมูลแล้ว'\r\n\t\t\t\t\t\t\t\t\t\t: (params.value === 3 && params.row.requestAddtionDocStatusID === 2) ?\r\n\t\t\t\t\t\t\t\t\t\t\t'ขอปรับปรุงเอกสาร'\r\n\t\t\t\t\t\t\t\t\t\t\t: (params.value === 8 && (dueDate < today)) ?\r\n\t\t\t\t\t\t\t\t\t\t\t\t'เลยกำหนดชำระ'\r\n\t\t\t\t\t\t\t\t\t\t\t\t: params.row.statusName\r\n\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\r\n\t\t\t\t)\r\n\t\t\t},\r\n\t\t},\r\n\t\t{\r\n\t\t\tfield: 'activity',\r\n\t\t\theaderName: 'กิจกรรม',\r\n\t\t\twidth: 800,\r\n\t\t\theaderAlign: 'left',\r\n\t\t\talign: 'left',\r\n\t\t\tsortable: false,\r\n\t\t\teditable: false,\r\n\t\t\trenderCell: params => {\r\n\t\t\t\tvar today = new Date();\r\n\t\t\t\ttoday.setDate(today.getDate() + 1);\r\n\t\t\t\tvar dueDate = null;\r\n\t\t\t\tif (params.row.transactions != null && params.row.transactions.dueDate != null) {\r\n\t\t\t\t\tdueDate = new Date(params.row.transactions.dueDate);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tdueDate = new Date();\r\n\t\t\t\t}\r\n\t\t\t\tdueDate.setHours(23, 59, 59, 999);\r\n\t\t\t\treturn (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\thistory.push(`/sdoc/form/${params.row.id}?mountType=readOnly`)\r\n\t\t\t\t\t\t\t}}>\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tรายละเอียด\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t{params.row.statusID === 6 && (\r\n\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\tsetRejectReason(params.row.remark)\r\n\t\t\t\t\t\t\t\t\tsetOpenRejectReasonModal(true)\r\n\t\t\t\t\t\t\t\t}}>\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tดูเหตุผลที่ไม่อนุมัติ\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t)}\r\n\r\n\t\t\t\t\t\t{(params.row.statusID === 3 && params.row.requestAddtionDocStatusID === 1) || (params.row.statusID === 1 && params.row.isUploadedAttachment == false) ? (\r\n\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\thistory.push(\r\n\t\t\t\t\t\t\t\t\t\t`/sdoc/form/${params.row.id}?mountType=attachFile`\r\n\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t}}>\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tแนบไฟล์เพิ่ม\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t) : params.row.statusID === 3 && params.row.requestAddtionDocStatusID === 2 ? (\r\n\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\thistory.push(\r\n\t\t\t\t\t\t\t\t\t\t`/sdoc/form/${params.row.id}?mountType=ModifyInfo`\r\n\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t}}>\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tปรับปรุงข้อมูล\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t) : params.row.statusID === 5 ? (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t) : params.row.statusID === 8 ? (\r\n\t\t\t\t\t\t\t// console.log(new Date(params.row.transactions?.dueDate) > new Date()),\r\n\t\t\t\t\t\t\t(dueDate > today) ? (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t { onClickBillInquiry(params.row.id) }}\r\n\t\t\t\t\t\t\t\t\t\trel=\"noreferrer\"\r\n\t\t\t\t\t\t\t\t\t\ttarget=\"_blank\">\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t { onClickBillRenew(params.row.id) }}\r\n\t\t\t\t\t\t\t\t\t\trel=\"noreferrer\"\r\n\t\t\t\t\t\t\t\t\t\ttarget=\"_blank\">\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t)}\r\n\r\n\t\t\t\t\t\t{((params.row.statusID === 1 || params.row.statusID === 2 || params.row.statusID === 3 || params.row.statusID === 8 || params.row.StausID === 11) && params.row.transactions?.invoiceNo == null) && (\r\n\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\tsetCancelSDoCID(params.row.id)\r\n\t\t\t\t\t\t\t\t\tsetCancelSDoCRunningNo(params.row.runningNumber)\r\n\t\t\t\t\t\t\t\t\tsetOpenCancelSDoCModal(true)\r\n\t\t\t\t\t\t\t\t}}>\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tยกเลิกคำขอ\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\r\n\t\t\t\t)\r\n\t\t\t},\r\n\t\t},\r\n\t]\r\n\r\n\tvar columnsApproveStatus = [\r\n\t\t{\r\n\t\t\tfield: 'sDocNo',\r\n\t\t\theaderName: 'sDoc No.',\r\n\t\t\twidth: 180,\r\n\t\t\theaderAlign: 'left',\r\n\t\t\talign: 'left',\r\n\t\t\tsortable: true,\r\n\t\t\teditable: false,\r\n\t\t\trenderCell: params => {\r\n\t\t\t\treturn params.row.sDocNo;\r\n\t\t\t},\r\n\t\t\tvalueGetter: params => {\r\n\t\t\t\tif (params.row.sDocNo) {\r\n\t\t\t\t\treturn params.row.sDocNo.slice(8, 10) + '-' + params.row.sDocNo.slice(2, 7)\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t},\r\n\t\t{\r\n\t\t\tfield: 'brandName',\r\n\t\t\theaderName: 'ตราอักษร (Brand Name)',\r\n\t\t\twidth: 220,\r\n\t\t\theaderAlign: 'left',\r\n\t\t\talign: 'left',\r\n\t\t\tsortable: true,\r\n\t\t\teditable: false,\r\n\t\t},\r\n\t\t{\r\n\t\t\tfield: 'productModel',\r\n\t\t\theaderName: 'รุ่นของผลิตภัณฑ์',\r\n\t\t\twidth: 180,\r\n\t\t\theaderAlign: 'left',\r\n\t\t\talign: 'left',\r\n\t\t\tsortable: true,\r\n\t\t\teditable: false,\r\n\t\t},\r\n\t\t// {\r\n\t\t// \tfield: 'approver',\r\n\t\t// \theaderName: 'ผู้อนุมัติ',\r\n\t\t// \twidth: 170,\r\n\t\t// \theaderAlign: 'left',\r\n\t\t// \talign: 'left',\r\n\t\t// \tsortable: true,\r\n\t\t// \teditable: false,\r\n\t\t// },\r\n\t\t{\r\n\t\t\tfield: 'approveDate',\r\n\t\t\theaderName: 'วันที่และเวลาได้รับอนุมัติ',\r\n\t\t\twidth: 220,\r\n\t\t\theaderAlign: 'left',\r\n\t\t\talign: 'left',\r\n\t\t\tsortable: true,\r\n\t\t\teditable: false,\r\n\t\t\trenderCell: params => (\r\n\t\t\t\t\r\n\t\t\t\t\t{params.value ? format(new Date(params.value), 'dd/MM/yyyy HH:mm') : ''}\r\n\t\t\t\t\t{/* {params.value ? format(new Date(params.value), 'MM/dd/yyyy HH:mm') : ''} */}\r\n\t\t\t\t\r\n\t\t\t),\r\n\t\t},\r\n\t\t{\r\n\t\t\tfield: 'activity',\r\n\t\t\theaderName: 'กิจกรรม',\r\n\t\t\twidth: 500,\r\n\t\t\theaderAlign: 'left',\r\n\t\t\talign: 'left',\r\n\t\t\tsortable: false,\r\n\t\t\teditable: false,\r\n\t\t\trenderCell: params => {\r\n\t\t\t\treturn (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\thistory.push(`/sdoc/form/${params.row.id}?mountType=readOnly`)\r\n\t\t\t\t\t\t\t}}>\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tรายละเอียด\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t)\r\n\t\t\t},\r\n\t\t},\r\n\t]\r\n\r\n\tconst getSDocStatusList = async () => {\r\n\t\t// Get Status List\r\n\t\tconst resStatusList = await sdoc.getListsStatus()\r\n\t\tconst dataStatusList = resStatusList.data\r\n\t\tconst statusListTemp = []\r\n\t\tif (resStatusList) {\r\n\t\t\tif (resStatusList.status === 200) {\r\n\t\t\t\tfor (let i = 0; i < dataStatusList.length; i++) {\r\n\t\t\t\t\tstatusListTemp.push({\r\n\t\t\t\t\t\tid: dataStatusList[i].id,\r\n\t\t\t\t\t\tstatusName: dataStatusList[i].statusName,\r\n\t\t\t\t\t})\r\n\t\t\t\t}\r\n\t\t\t\tsetStatusList(statusListTemp)\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn statusListTemp\r\n\t}\r\n\r\n\tconst getSDOCWaitStatusList = async () => {\r\n\t\t// Get Status List\r\n\t\tsetIsDataLoading(true)\r\n\t\tgetSDocStatusList()\r\n\r\n\t\t// Get SDoc List\r\n\t\tconst resList = await sdoc.getListsV2(userSDOC.poa)\r\n\t\tconst dataSDocList = resList.data\r\n\t\tif (resList) {\r\n\t\t\tif (resList.status === 200) {\r\n\t\t\t\tconst rowsTemp = []\r\n\t\t\t\tconst rowsApproveTemp = []\r\n\t\t\t\tfor (let i = 0; i < dataSDocList.length; i++) {\r\n\t\t\t\t\tif (dataSDocList[i].sDocStatusID === 5) {\r\n\t\t\t\t\t\trowsApproveTemp.push({\r\n\t\t\t\t\t\t\tid: dataSDocList[i].id,\r\n\t\t\t\t\t\t\tbrandName: dataSDocList[i].brandName,\r\n\t\t\t\t\t\t\t// brandName: dataSDocList[i].brandName + dataSDocList[i].id,\r\n\t\t\t\t\t\t\t// operator: 'Operator No.' + dataSDocList[i].sDocUserID,\r\n\t\t\t\t\t\t\tapprover:\r\n\t\t\t\t\t\t\t\t(dataSDocList[i].approver?.firstname ?? '') +\r\n\t\t\t\t\t\t\t\t' ' +\r\n\t\t\t\t\t\t\t\tdataSDocList[i].approver?.lastname,\r\n\t\t\t\t\t\t\toperator: dataSDocList[i].operatorName,\r\n\t\t\t\t\t\t\tapproveDate: dataSDocList[i].approveDate,\r\n\t\t\t\t\t\t\tstatusID: dataSDocList[i].sDocStatusID,\r\n\t\t\t\t\t\t\tproductModel: dataSDocList[i].productModel,\r\n\t\t\t\t\t\t\tsDocNo: dataSDocList[i].sDocNo,\r\n\t\t\t\t\t\t\tremark: dataSDocList[i].remark,\r\n\t\t\t\t\t\t\trequestAddtionDocStatusID: dataSDocList[i].requestAddtionDocStatusID,\r\n\t\t\t\t\t\t\ttransactions: dataSDocList[i].sDocTransactions,\r\n\t\t\t\t\t\t\t// statusID: (i % 6) + 1,\r\n\t\t\t\t\t\t})\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\trowsTemp.push({\r\n\t\t\t\t\t\t\tid: dataSDocList[i].id,\r\n\t\t\t\t\t\t\tbrandName: dataSDocList[i].brandName,\r\n\t\t\t\t\t\t\t// brandName: dataSDocList[i].brandName + dataSDocList[i].id,\r\n\t\t\t\t\t\t\t// operator: 'Operator No.' + dataSDocList[i].sDocUserID,\r\n\t\t\t\t\t\t\toperator: dataSDocList[i].operatorName,\r\n\t\t\t\t\t\t\tsubmitDate: dataSDocList[i].createDate,\r\n\t\t\t\t\t\t\tstatusID: dataSDocList[i].sDocStatusID,\r\n\t\t\t\t\t\t\tstatusName: dataSDocList[i].sDocStatus.publicStatusName,\r\n\t\t\t\t\t\t\tproductModel: dataSDocList[i].productModel,\r\n\t\t\t\t\t\t\trunningNumber: dataSDocList[i].runningNo,\r\n\t\t\t\t\t\t\tremark: dataSDocList[i].remark,\r\n\t\t\t\t\t\t\trequestAddtionDocStatusID: dataSDocList[i].requestAddtionDocStatusID,\r\n\t\t\t\t\t\t\ttransactions: dataSDocList[i].sDocTransactions,\r\n\t\t\t\t\t\t\tisUploadedAttachment: dataSDocList[i].isUploadedAttachment,\r\n\t\t\t\t\t\t\t// statusID: (i % 6) + 1,\r\n\t\t\t\t\t\t})\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tsetRowsWaitStatus(rowsTemp)\r\n\t\t\t\tsetRowsApproveStatus(rowsApproveTemp)\r\n\t\t\t}\r\n\t\t}\r\n\t\tsetIsDataLoading(false)\r\n\t}\r\n\r\n\t// useEffect(() => {\r\n\t// \tif (isMobile) {\r\n\t// \t\tsetColumnsWidthWaitStatus({\r\n\t// \t\t\tbrandNameWidth: 220,\r\n\t// \t\t\tbrandNameFlex: 0,\r\n\t// \t\t\toperatorWidth: 170,\r\n\t// \t\t\toperatorFlex: 0,\r\n\t// \t\t\tsubmitDateWidth: 150,\r\n\t// \t\t\tsubmitDateFlex: 0,\r\n\t// \t\t\tstatusWidth: 130,\r\n\t// \t\t\tstatusFlex: 0,\r\n\t// \t\t\tactivityWidth: 360,\r\n\t// \t\t\tactivityFlex: 0,\r\n\t// \t\t})\r\n\t// \t\tsetColumnsWidthApproveStatus({\r\n\t// \t\t\tbrandNameWidth: 300,\r\n\t// \t\t\tbrandNameFlex: 0,\r\n\t// \t\t\tapproveDateWidth: 220,\r\n\t// \t\t\tapproveDateFlex: 0,\r\n\t// \t\t\tactivityWidth: 240,\r\n\t// \t\t\tactivityFlex: 0,\r\n\t// \t\t})\r\n\t// \t} else {\r\n\t// \t\tsetColumnsWidthWaitStatus({\r\n\t// \t\t\tbrandNameWidth: 0,\r\n\t// \t\t\tbrandNameFlex: 1.2,\r\n\t// \t\t\toperatorWidth: 0,\r\n\t// \t\t\toperatorFlex: 1,\r\n\t// \t\t\tsubmitDateWidth: 0,\r\n\t// \t\t\tsubmitDateFlex: 0.8,\r\n\t// \t\t\tstatusWidth: 0,\r\n\t// \t\t\tstatusFlex: 1,\r\n\t// \t\t\tactivityWidth: 0,\r\n\t// \t\t\tactivityFlex: 2.6,\r\n\t// \t\t})\r\n\t// \t\tsetColumnsWidthApproveStatus({\r\n\t// \t\t\tbrandNameWidth: 0,\r\n\t// \t\t\tbrandNameFlex: 0.9,\r\n\t// \t\t\tapproveDateWidth: 0,\r\n\t// \t\t\tapproveDateFlex: 0.8,\r\n\t// \t\t\tactivityWidth: 0,\r\n\t// \t\t\tactivityFlex: 1.2,\r\n\t// \t\t})\r\n\t// \t}\r\n\t// }, [isMobile])\r\n\r\n\tconst handleSortChange = (model) => {\r\n\t\tif (isRehydrated && model[0] !== sortModel[0])\r\n\t\t\tsetSortModel(model);\r\n\t};\r\n\r\n\tconst handleSortInprogressChange = (model) => {\r\n\t\tif (isRehydrated && model[0] !== sortModelInprogress[0])\r\n\t\t\tsetSortModelInprogress(model);\r\n\t};\r\n\r\n\r\n\tuseEffect(() => {\r\n\t\tif (isRehydrated) {\r\n\t\t\tgetSDOCWaitStatusList()\r\n\t\t}\r\n\t\t// eslint-disable-next-line\r\n\t}, [isRehydrated])\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tสถานะการยื่นแบบรับรองตนเอง\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\thandleSortInprogressChange(model)\r\n\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\tcomponents={{\r\n\t\t\t\t\t\t\t\t\t\tNoRowsOverlay: () => {\r\n\t\t\t\t\t\t\t\t\t\t\tif (!isDataLoading) {\r\n\t\t\t\t\t\t\t\t\t\t\t\treturn ไม่พบข้อมูล;\r\n\t\t\t\t\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\t\t\t\t\treturn กำลังประมวลผลข้อมูล โปรดรอสักครู่..;\r\n\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tแบบรับรองตนเองทีได้รับการอนุมัติแล้ว\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\thandleSortChange(model)\r\n\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\tcomponents={{\r\n\t\t\t\t\t\t\t\t\t\tNoRowsOverlay: () => {\r\n\t\t\t\t\t\t\t\t\t\t\tif (!isDataLoading) {\r\n\t\t\t\t\t\t\t\t\t\t\t\treturn ไม่พบข้อมูล;\r\n\t\t\t\t\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\t\t\t\t\treturn กำลังประมวลผลข้อมูล โปรดรอสักครู่..;\r\n\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\r\n\t\t\t{rejectReason}}\r\n\t\t\t\tonClose={() => {\r\n\t\t\t\t\tsetOpenRejectReasonModal(false)\r\n\t\t\t\t\tsetRejectReason('')\r\n\t\t\t\t}}\r\n\t\t\t/>\r\n\r\n\t\t\t {\r\n\t\t\t\t\tsetOpenCancelSDoCModal(false)\r\n\t\t\t\t\tsetCancelSDoCID('')\r\n\t\t\t\t\tsetCancelSDoCRunningNo('')\r\n\t\t\t\t}}\r\n\t\t\t\thandleButton={() => {\r\n\t\t\t\t\tonCancelSDoC(cancelSDoCID)\r\n\t\t\t\t\tsetOpenCancelSDoCModal(false)\r\n\t\t\t\t\tsetCancelSDoCID('')\r\n\t\t\t\t\tsetCancelSDoCRunningNo('')\r\n\t\t\t\t}}\r\n\t\t\t\tonClose={() => {\r\n\t\t\t\t\tsetOpenCancelSDoCModal(false)\r\n\t\t\t\t\tsetCancelSDoCID('')\r\n\t\t\t\t\tsetCancelSDoCRunningNo('')\r\n\t\t\t\t}}\r\n\t\t\t/>\r\n\t\t\r\n\t)\r\n}\r\n","import { forwardRef, useRef } from 'react'\r\nimport {\r\n\tGrid,\r\n\tDialog,\r\n\tDialogContent,\r\n\tDialogContentText,\r\n\tDialogActions,\r\n\tSlide,\r\n\tButton,\r\n\tuseMediaQuery,\r\n} from '@material-ui/core'\r\nimport { useTheme } from '@material-ui/core/styles'\r\n\r\nimport Cancel from '../../../../../assets/images/cancel.png'\r\n\r\nexport default function IncorrectIdModal({ open, handleButton }) {\r\n\tconst theme = useTheme()\r\n\tconst fullScreen = useMediaQuery(theme.breakpoints.down('sm'))\r\n\tconst descriptionElementRef = useRef(null)\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tไม่มีหมายเลขรหัสบัตรประชาชนนี้\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tตกลง\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n\r\nconst Transition = forwardRef(function Transtition(props, ref) {\r\n\treturn \r\n})\r\n","import { forwardRef, useRef } from 'react'\r\nimport {\r\n\tGrid,\r\n\tDialog,\r\n\tDialogContent,\r\n\tDialogContentText,\r\n\tDialogActions,\r\n\tSlide,\r\n\tButton,\r\n\tuseMediaQuery,\r\n} from '@material-ui/core'\r\nimport { useTheme } from '@material-ui/core/styles'\r\n\r\nimport Cancel from '../../../../../assets/images/cancel.png'\r\n\r\nexport default function RegisterFailModal({ open, handleButton }) {\r\n\tconst theme = useTheme()\r\n\tconst fullScreen = useMediaQuery(theme.breakpoints.down('sm'))\r\n\tconst descriptionElementRef = useRef(null)\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tผู้ใช้งานนี้ได้เคยลงทะเบียนแล้ว\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tตกลง\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n\r\nconst Transition = forwardRef(function Transtition(props, ref) {\r\n\treturn \r\n})\r\n","import { forwardRef, useRef } from 'react'\r\nimport {\r\n\tGrid,\r\n\tDialog,\r\n\tDialogContent,\r\n\tDialogContentText,\r\n\tDialogActions,\r\n\tSlide,\r\n\tButton,\r\n\tuseMediaQuery,\r\n} from '@material-ui/core'\r\nimport { useTheme } from '@material-ui/core/styles'\r\n\r\nimport Check from '../../../../../assets/images/check.png'\r\n\r\nexport default function RegisterSuccessModal({\r\n\topen,\r\n\thandleButton,\r\n}) {\r\n\tconst theme = useTheme()\r\n\tconst fullScreen = useMediaQuery(theme.breakpoints.down('sm'))\r\n\tconst descriptionElementRef = useRef(null)\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tคุณได้ยืนยันการสมัคร\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tตกลง\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n\r\nconst Transition = forwardRef(function Transtition(props, ref) {\r\n\treturn \r\n})\r\n","const users = [\r\n\t\r\n\t{\r\n\t\tnationalCardIDNo: '3222222222220',\r\n\t\temail: 'supharerkt@gmail.com',\r\n\t\tfirstname: 'นุกูล',\r\n\t\tlastname: 'โชตเศรษฐ์',\r\n\t\tphoneNumber: '0818262134',\r\n\t},\r\n\t{\r\n\t\tnationalCardIDNo: '3222222222221',\r\n\t\temail: 'supharerkt@gmail.com',\r\n\t\tfirstname: 'สุรัชต์',\r\n\t\tlastname: 'องอาจ',\r\n\t\tphoneNumber: '0818262134',\r\n\t},\r\n\t{\r\n\t\tnationalCardIDNo: '3222222222222',\r\n\t\temail: 'supharerkt@gmail.com',\r\n\t\tfirstname: 'ชุติมา',\r\n\t\tlastname: 'เกษมสมประดิษฐ์',\r\n\t\tphoneNumber: '0818262134',\r\n\t},\r\n]\r\n\r\nexport { users }\r\n","import React, { useState } from 'react'\r\nimport { Grid, TextField, Card, Button, Divider } from '@material-ui/core'\r\nimport IncorrectIdModal from '../../../../components/sdoc/registration/modal/incorrect-id'\r\nimport RegisterFailModal from '../../../../components/sdoc/registration/modal/register-fail'\r\nimport RegisterSuccessModal from '../../../../components/sdoc/registration/modal/register-success'\r\n\r\nimport logo from '../../../../assets/images/NBTC-logo.png'\r\n\r\nimport { useHistory } from 'react-router-dom'\r\n\r\nimport { users as Users } from '../../../../data/sdoc/users'\r\n\r\nimport { sdocUser } from '../../../../api'\r\n\r\nexport default function SDOCRegistration() {\r\n\tconst history = useHistory()\r\n\r\n\t// ------------------------------------->\r\n\t// Step which tell Personal Information Part or Company Part\r\n\tconst onSubmitRegistration = async () => {\r\n\t\t// Corfirm the Registeration\r\n\t\ttry {\r\n\t\t\tconst res = await sdocUser.addUser(\r\n\t\t\t\tfirstname,\r\n\t\t\t\tlastname,\r\n\t\t\t\tphoneNumber,\r\n\t\t\t\tcitizenID,\r\n\t\t\t\temail\r\n\t\t\t)\r\n\t\t\tif (res) {\r\n\t\t\t\tif (res.status === 201) {\r\n\t\t\t\t\tonOpenStandardReportSuccessModal()\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tonOpenRegisterFailModal()\r\n\t\t\t}\r\n\t\t} catch (err) {\r\n\t\t\tonOpenRegisterFailModal()\r\n\t\t}\r\n\t\t// else if (res.response.status === 400) onOpenRegisterFailModal()\r\n\t}\r\n\tconst goBackToSignInPage = () => {\r\n\t\t// Go back to Sign In page\r\n\t\thistory.push('/sdoc/sign-in')\r\n\t}\r\n\r\n\t// <-------------------------------------\r\n\r\n\t// ------------------------------------->\r\n\t// Create State and OnChange of CitizenID and TaxID\r\n\tconst [citizenID, setCitizenID] = useState('')\r\n\tconst onChangeCitizenID = e => {\r\n\t\tvar pattern = /^[0-9\\b]+$/\r\n\t\tif (pattern.test(e.target.value) || e.target.value === '') {\r\n\t\t\tsetCitizenID(e.target.value)\r\n\t\t\tsetValidSubmitButton(false)\r\n\t\t\tsetFirstname('')\r\n\t\t\tsetLastname('')\r\n\t\t\tsetEmail('')\r\n\t\t\tsetPhoneNumber('')\r\n\t\t}\r\n\t}\r\n\t// <-------------------------------------\r\n\r\n\t// ------------------------------------->\r\n\r\n\tconst cleanDataFromIncorrectId = () => {\r\n\t\tsetValidSubmitButton(false)\r\n\t\t// Set default data\r\n\t\tsetFirstname('')\r\n\t\tsetLastname('')\r\n\t\tsetEmail('')\r\n\t\tsetPhoneNumber('')\r\n\t\tonOpenInCorrectIdModal()\r\n\t}\r\n\r\n\t// <-------------------------------------\r\n\r\n\t// ------------------------------------->\r\n\tconst [validSubmitButton, setValidSubmitButton] = useState(false)\r\n\t// <-------------------------------------\r\n\r\n\t// ------------------------------------->\r\n\tconst [firstname, setFirstname] = useState('')\r\n\tconst [lastname, setLastname] = useState('')\r\n\tconst [email, setEmail] = useState('')\r\n\tconst [phoneNumber, setPhoneNumber] = useState('')\r\n\t// <-------------------------------------\r\n\r\n\t// ------------------------------------->\r\n\t// Modal Success Manage\r\n\tconst [openStandardReportSuccessModal, setOpenStandardReportSuccessModal] =\r\n\t\tuseState(false)\r\n\r\n\tconst onOpenStandardReportSuccessModal = () =>\r\n\t\tsetOpenStandardReportSuccessModal(!openStandardReportSuccessModal)\r\n\r\n\tconst onAgreeStandardReportSuccessModalCTA = () => {\r\n\t\tonOpenStandardReportSuccessModal()\r\n\t\t// Confirm Registeration\r\n\t\thistory.push({\r\n\t\t\tpathname: '/sdoc/sign-in',\r\n\t\t})\r\n\t}\r\n\t// <-------------------------------------\r\n\r\n\t// Modal Register Fail\r\n\tconst [openRegisterFailModal, setOpenRegisterFailModal] = useState(false)\r\n\r\n\tconst onOpenRegisterFailModal = () =>\r\n\t\tsetOpenRegisterFailModal(!openRegisterFailModal)\r\n\t// <-------------------------------------\r\n\r\n\t// Modal Incorrect ID\r\n\tconst [openInCorrectIdModal, setOpenInCorrectIdModal] = useState(false)\r\n\r\n\tconst onOpenInCorrectIdModal = () =>\r\n\t\tsetOpenInCorrectIdModal(!openInCorrectIdModal)\r\n\t// <-------------------------------------\r\n\r\n\t// ------------------------------------->\r\n\t// Searching Users\r\n\tconst onSearchUser = () => {\r\n\t\tconst user = Users.find(item => item.nationalCardIDNo === citizenID)\r\n\t\tif (user && citizenID !== '') {\r\n\t\t\tsetValidSubmitButton(true)\r\n\t\t\tsetFirstname(user.firstname)\r\n\t\t\tsetLastname(user.lastname)\r\n\t\t\tsetEmail(user.email)\r\n\t\t\tsetPhoneNumber(user.phoneNumber)\r\n\t\t} else {\r\n\t\t\tcleanDataFromIncorrectId()\r\n\t\t}\r\n\r\n\t\t// checkSearchError()\r\n\t}\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\"NBTC\"\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tลงทะเบียนระบบ Data Portal\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tค้นหา\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tย้อนกลับ\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\tonSubmitRegistration()\r\n\t\t\t\t\t\t\t\t}}>\r\n\t\t\t\t\t\t\t\t{'ยืนยันการสมัคร'}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n","import React, { useState, useEffect } from 'react'\r\nimport { Button, Grid, Card } from '@material-ui/core'\r\n\r\nimport { useHistory } from 'react-router-dom'\r\n\r\nimport { useStoreState } from 'store'\r\nimport logo from '../../../../assets/images/NBTC-logo.png'\r\nimport { makeStyles } from '@material-ui/core/styles'\r\n\r\nimport Swal from 'sweetalert2'\r\nimport 'sweetalert2/dist/sweetalert2.min.css'\r\nconst useStyles = makeStyles(theme => {\r\n\treturn {\r\n\t\tAppDescription: {\r\n\t\t\tfontSize: '24px',\r\n\t\t},\r\n\t\tAppDescriptionSpan: {\r\n\t\t\tcolor: theme.palette.primary.main,\r\n\t\t},\r\n\r\n\t}\r\n})\r\n\r\nconst isShowSwal = false\r\nconst isLockLoginButton = false\r\nconst isShowPrivacy = true\r\n\r\nconst SignIn = () => {\r\n\tconst classes = useStyles()\r\n\tconst history = useHistory()\r\n\tconst user = useStoreState(s => s.userModel.user)\r\n\r\n\t// const [signInMsg, setSignInMsg] = useState('')\r\n\tconst [isLoading] = useState(false)\r\n\tconst [isAccepted, setIsAccepted] = useState(false);\r\n\tconst [isInitialized, setIsInitialized] = useState(false);\r\n\tuseEffect(() => {\r\n\t\tconst policyAccept = localStorage.getItem('policy_consent_sdoc');\r\n\t\tif (policyAccept) {\r\n\t\t\tsetIsAccepted(true);\r\n\t\t} else {\r\n\t\t\tsetIsAccepted(false);\r\n\t\t}\r\n\t\tsetIsInitialized(true);\r\n\t}, []);\r\n\r\n\tconst handleSignin = () => {\r\n\t\tif (process.env.REACT_APP_HOST_ENV === 'development')\r\n\t\t\t// S\r\n\t\t\t// window.location.href = `http://localhost:3000/sdoc/auth/identify?_token=ufRk17uGp4hgM7mkUvnwjrxq1zGJNRpEUMUbaRrlOA5RK8D2GFuU8MHo48ENZKeSqDFITXsNpAEYv6RAJzhEsIShDzgj4IVny53QZJ53NhwEXK/v6vBJingz80t1B10/gP3MEhoK6xQdjDqet7JQ6LdJI4V0AkOwYz0N1ghBNOb0yr2dc4BTfKLRik6w2/i6t20S+nJBA37DKAkhmdNOu1WrVSPyOxEOQXmv+5gwhKhCXGg+jADXLKU5YWhIN3fefpemQY+IrUV+qDHOwH0HyRPg0fuim04f1ukdDEoz3EDJFm8HfTvQx4xlHjQeyqp+SQCjnOn2Hnd2gEGEtVlzDnQZBOimNrD1OXnAz+CHXGuyqNWa4hISeaSz/wu/X9p7oZMqButpvuamHAs3BPaYcmGq49RdgtRDUzNjwznBhkQV63eFGL+aGIDi5q6IWcRtqPrxGpJmKxmwrwtF2K+bv/var/7Mq2A/zJms5hcNPdxbI34DLlX9XpJbUfMTd9F6+VTkbjMaqySoOsywvdqpN063mhUcS4LG8642oWN4KuGAGcOkofUtuTiAy6Nc3FON7/2Mym2LUduhi2R3g5q20yWn8zTjLeOfVBDroveBtpLiM4GSfwldHDv//AclOL3GJiAxhALZjVhxqrjAREdqovqwaA14+r7zFZ4jhDPaA6FXf4yYrEPqB1F6FFgSucd8ImPwV7v2PSknO6EqtAb+V3uMQYVvilbeUR56h2OxdWSNwdjikgryTdvI5dFzrtVdBX6EhhEDeRsTHSiLY+FvSDSgjyWwzzxF88wrTRFSoYB0vXt0gLNL5nSGmTlY+M8CBP7eMKyH5lldLa0sdQrfwUvp8LTK6S1ktr1vcJ9Yp9PyhJAfCnDwSiB8Q0LwMS4MMLprzjYkMjl7XDf9vO7NQNFmGN6gLhuAKI8K/QTZc4+VopEQCPjzOH9myMLUTKMHYbHRkTDKKPrWoRRJgb2OIDUxifMizD89jkNqXzJ/wu5NspUxnfnR9bg727pEl/450O36IvOEIfYbfxFupYk1K3HUqoBE+pgQn9QC0I+B6nMofYixQs2YdcRMWyJgNYrxGNEaeOqskrdcLV52qkDzoIZdx+NzMR/MvqURoMyG/PX/GmelLlRX1B/Ubf+U4OuhEHitWjqt+KuAxiIQPp8PMitnpoEdzvBVfcSYK9ebtcVkerjGjfjrCLr8Qc4VzK8osVUOFqBG3FfNVuWuOFEMQCAQuUhkK/iWaX9zTCsCDKA5ChjRSHNv1Dcp7ImiFS2gNAvMBMlg5qtk2CuTBHZPbwDvor6+ANzz8BkvSXJJ/p8/f5NWa9yxEHKXmh7VGBg53Um4CaRiWeY6HOXKnCbHJTA1QPdkegn0EPecXQ/SQhjRZaQgpCxE2360jPWz7bnjUWXKgFTPBPytsglaTXC6flvgpXDX0lXXFakh9LLE/7TiqpbdBDeHJqj5w8xqJRJANrx7uabD2jSfmtG2L5rPfji5VztcDBrX5omwxKJAplIqdASayzRDg1uRZw4SeleJAuGxlf8nXBMyG0efA8FOKRfzTjM27e+luak5R/TG5L0Lu3R9bkOb+sPI6heLeHUTcdeCo48AQx/z4Oj8TzaztwQF8EvDHk6n9sebjM8WqAPRZGbEfz9Z/jLlp6Cmihf/wTEvL0kf2kRSyqJJO3M2oEppu1H8b5iMlxgdw75ZUdRoFuvKYKsn/4b9EvoY3PWqdzoBYDy+1FzMz0TOjnIq89Irko2O6WC4GPyR6kziAdGEZ3r7pcPCO/kx6aTIfMGwsj/mSN0b6n9+MC1rRLVorCWssYfKG3N2VrMAvgiPvB/A/xphSRUzDeqcd8fzEgxE2byAvkHmSCPgIH6vmJ3qldoKZgWY/DhoLMe8/sZQkPkLcBAmNtqcW/i3mgs4ic8dOUnKfDnSEks=`\r\n\t\t\t// D\r\n\t\t\t// window.location.href = `http://localhost:3000/sdoc/auth/identify?_token=ufRk17uGp4hgM7mkUvnwjrxq1zGJNRpEUMUbaRrlOA5RK8D2GFuU8MHo48ENZKeSqDFITXsNpAEYv6RAJzhEsBNUUvmakFOY++Mqd23F+KIaCq0I6dSk7y88TdGUYGNu2l5f8vMtuatrYWcfA8B0pZ06jdNE7+rN0zZ8OTMmG8AJ4abyFwRhfpNTJ494dH+1raR3tga2Gao1dWMrK7K9KKxV6Lbx13Bd1lj58A1PeJ+oZneVrysv8ONTYEHkITUXM1D6VeHmQLuJCoqKmLL3iMDoXR+ApVN5hTwp14wXj7eRq6KfA1DD083Ga340wmBHdNhKgTbHP14rP/o5FHvaOq9bz16QSL1onHRKWXM22l8+SzFcFTyIcZ96GUEtYNbELse5OpLCwQBgqIxL2Qf8jq8LR2W8lhsGUnHgYmy6Bb8Xi+YrAwxfpvbv4b+kDdx7RNmTiKyvsKj8tMqsz4iKHgNs7yssRXzjFn62hmRpnrzR3r4o7ZLdtzXHwn7tcuOxE/azVQldVxOB/Sf4pZ0oT06k9ufiR46M3nYgko6KE16NNtzyyXan7SZbjsM15D4JoZseJIbmDvDWkjS2/EoEjv9CW73JKCkQR3f3SrGyjDEV+oVxZ2RhQF9EaAzK4lC0PeHzLRR2gnSTvwyyv7nnUCvkuF9WKymeb2HMNanuGlveb1qy/QXRDthq+KgiW3yQ4GeUTi49Axp6zQ0k3vhVaRcXzPrEpFRoMNXJNY6HT9tmFfbdpyvYWPQFjBSX3YEchEFflreU6yVWgQL4HbppLu2fuUAWwZWrCOc1vNaGn6I8bicXJFa3TB8VYlhwKCwlERTurLICfiD86dve4ZX/64I1uXm8gs2IcG38a5VbGCk2qNxAjk0F2BNOglROfP2QkN/bAYeopS0o+rWkctAWXnDRzGw+QXS1oQKHs6tTJ+eC+nO8Vl2xo2Gt4bB2y0+OLJC+8RPi4VK1/yqFqMDS4eY77P+xV40Ytj++ANlnDKZv93IO7VP8m9E6FWyHLPr2f0B21AuiMb4pSRvMsTwgNWwhRjBsIe/VX6Kw++S/0jyQo0mj1/t/JFtsaRk4Q1Hm9wb5WWu/dWAzFHt7Op/9SuDFmM7ZbVl/IBXgHRnaJ/4+OuYEq44ncHJKdYEB9OVkS7KMI94NzcWiuAFIE9qmbIJ1R9lKGt2+o6b3PpwbfSVEtg4eANQgIXRlniHF4WnCze0ceVjcHPi6IuCyh3MnEIpaGYW5yJjDTzsEvprPnwcJqg17s5kwWmW9tldNO5cCFmeH6peef1HXGy33XANk/RBR9GS73I4f84VewbnGd+vyFkFX+ITBjggCsntynm6Hz74/sj3kZMficdMiYhVe8XcAGbDETftmHbpGahcUY/Wb4YsVlhBH+OIAQYKKV1+dhnFP9f0vDp2f5F2M4wcf93I0uau/+n0v81srhj+Kd6VGxDdqW422Nld9ceAmEHxv4aqwkufThiARAsYeqmG9ZFHRAiL1XKPo805wmH/El0LUWfaDs3sJwm2XC6Du2P1UUFOYdjPNSblWpDAWRLPBye3w3w8qd05gi2zL0PIkmbZ7I/B3txzhyzvuTyXlTWlsF6IQJhzquX7ZVDZs9oOm1zgbWZOWDLZ9q6P/AQciwpCIEj/CVOC2DXmdhksvJEg/NgtoAy+RBqWep83YVGf/v+lVIVTszDX8nntaTs9IMvh8yXD7V5nHPpsk5JpFDijlRQBHFNA58pLoDnEcNtTo/26YEV9e/xTF9IFzQOT8XYDvutK9+j2AurBDmQ/f57bs4QwA/aQsNBxVf3KTaYEvaQ==`\r\n\t\t\t// P\r\n\t\t\t// window.location.href = `http://localhost:3000/sdoc/auth/identify?_token=ufRk17uGp4hgM7mkUvnwjrxq1zGJNRpEUMUbaRrlOA5RK8D2GFuU8MHo48ENZKeSqDFITXsNpAEYv6RAJzhEsKc0YBKhnFWBP8FGIlxF96MmFDdfsR8qFCGxbBR56TAy%2fOKpQVjMQMMVIXvbP+KsVvLiOU7918qckJninaufsFXOqIKKFoloui+NtatIReiU8Sfd6NT%2fJs8519NBcMG+sbQRUxPR0d0pbbUGHrCUp8EWxMb6I3pjcE3NLN%2fgarZHPu9wcjtbyyghPZQjRNpOuwXtvI276x8R4B5pWSHiqkuy5AFtttKi7fZi4nGLFIBsH0EIzrOMr2W+KHDBW7lvyfjwILC+Ao6B8kjxV09RJUPbwh3zNYlJulzAYVeuGnrBze3Aa7mmzsnEJhOAyOgkZi326ZvMKl14uTAek0RwIdwW9pnAI1FwqyYSRsBrILTIuj55BvCphw2h72hsKrhBsCH324990vj1ogCBedvKrbx5B5h4JhZV4FU3QwesesS0wmm79o9dpSe96wSbprJsKm3YrVZPOn%2fHiZiklkt+5ZpsZkx7hiwzcH1TU7IonFO1wyeNv2Z6cOVysrv7jRC3kudC5aYV+rPrB2zWxfZGC2sCHO0TPlOE%2fbcAfuqCfHq4RaP5q1hB0fy6NAWpfMRJUzL1sQvm60vHhEH3+TSq1R+d9ac+ZyMLR6cojhK1itKlOuKgaaWPJKemXLBYWSaHYemdrgulS%2fbv2Jb94Mk64FZ9%2fI4liG4NEzq8+k3ku2k99CIKsDW%2fZc8Q+5oeOJylo4z1f%2f9nJB8suazxNGCkDGxZ2Ho5b3dNVksd0mnY3Tp4PkZv5rrvZyIKGW5NgLyBLquAugvFGAl09h2s8844wV1bPLr9bAKpAgCZWTCqIrFirCKHAW1fqPT4asvznBE1kR0Pbsazt7%2fgMSCis2EQm4ubF4HkwVwp2bI%2fjs2MtyDmZWDQrfUkVkz3tC1VWjrH2IXwRGUNekVoShVyfSCCBrFAo5NCNBSaQs3HgW7f5FNQFCRg87s70NGvVs9KKYSzVZcgPHVlpdAf67M%2ftEqZbgY88daJSXViR05fzIkLTY57VIk32hvC430473nzEVF0II1OVZkKyqD%2fm8ID+BYuuFZBR%2f3P7jQcQ0q94eQ2c%2fPnc56Hq54hSfrvtvxWHNf5wn8V3ueGNZtMdeWygdDhzianJgxBGkeFnwQdnbwX0BRqyu43iEVIOqW3g3K6r0zXRV4bnKwaR0hmL1CAoJuD3p8ewkaSvzkXXRB6bTXVpPXvnFSecu+pWfe3Yc9oRasY1tekimnZ%2fSg4G8r9nqU5+GgYsZ%2f7GrtOMd%2fw4BUUqx2JnBEtOokBKZv+vkgve7b8UovzimS1i6qt5UFNsJO2yYGLmOFIxJC+AVKPVu9zLftmO2CtaR+21ygo1ChBTs%2fHIYljKdHWhx9AI4%2fMoAeZ44LGyT5HwcG3CPWYA4DGWQMyOgOsSS5wWPU9Ihdi9p3sGhLUode599vTH6L2ZUJuR6D41yj3StKAklD7K1fEKr2YrVp6lNxstPTIYl1LyRoxC6JdxcmLDsF0OPCw3tdu2fDmFKfsYw7BL+eVtbC3A2mQNFyxigShwv+qdo%2fvVFcv3TPm7PM8D63tSPddlSn0HoiBfxtORWhUizRowQPuFpD3UviKtY10ANCLIYemk5Y6n3jQj2w%2fBYFkBeoq3ENU3le2+rWXEJBLfHtgeFQcRXqXI0u0+qJR3PuSlNzXEMQeIqfbhfU9eEO%2fGGmARzwU%2flk%3d`;\r\n\t\t\twindow.location.href = `http://localhost:3000/sdoc/auth/identify?_token=ufRk17uGp4hgM7mkUvnwjrxq1zGJNRpEUMUbaRrlOA5RK8D2GFuU8MHo48ENZKeSqDFITXsNpAEYv6RAJzhEsOLEYG5+fZUsGyMjZlDkAl%2fjBu73s7TQmB9FIZCzxfh9bDpYEjdOMFGakVQ8h2UgGNYZkcWzvpMiJa42kuDTW+IY2UmU5mg6MLL8tDBOGb+cxiITsiJEKpK5QEXS5Ut4y5kKKIKvfVFsYOwjhDniTV72gb3qvbwArne++PUwxzqGPaHKxnAmTBB2AB3ela3u1VYc4Hk6Vl7L+5Z2vDQihHOP0g3Andh6FbQiZv9hVsrutypjy7FyehXpqpU2+EDfZKoo+PUoKshjEawDYM64k1T8gjUi+el8RkrmSedQbEZLp4Sl7v0y3lOx%2fgQ+Xey+UkenkQjUhJOA0x4trWdRaOWYPXYhhJxoNALqL8HSF6+ELKkSVRIf3KjQFU6+g91Ns1dnr2RnYXpScWNTkFvy%2fV4pwXyRbXtTGYuMiqYOP8KRUpz0fpFw6ocI%2feD8MVPfkF8MHYt3RhXBbsY4NGtOMmdTtPGiRP8wCwsjhWs%2fqUTOdqM%2fVRKch+llXWu8Yjr4skXar3nA3Fc3gCJnryT9TQ7%2fRAkAbvJ6NDNG82uIQ9%2fqFepwuwMd7ipBXCDJRRl%2fNy21QR3Qpamk6iTm1XRCR5kg+xk7cz3NkoNgt4EgyH8JgIzJlKxgp6XEvlUvyPlAOGXOrNpithhDQu+Vm5bLC874esv8kkngdFa5R6NRwOc2AhPBOlQKF8JFWWSAKVpol+W8QJu9iNcJSuXFZGplqCl6w7lzsVro5ew8v4xV%2fBhnD2ZU6TtbOMpJL7EhecqUuxExz47YI8gTxJFBehoftaAEikczQipzeu8C2dPlphw+NPwq74Kmr4AWD85KEWQrjoGbXbMY151uh+MlOxVOAt%2fKT6mj+dhWChF6Sz%2fWIHkk2UielfkDMwfo%2fIK5arcFYpjAaIppSg34O%2fZlDAUjWi4WVx2yM7uowSO9XDKpPsDGowwP3SlC4Nf%2fQ2Bsnui9%2f9Vnz+yl0VGVTKd4SLHNB5zYAwfi1Y9nKv0HFPCBTuR+v5Or+1AlhDXWhzcPOXfftVo4P4dDNBO2tQPHazD6+nDg7%2fzinc5EjK7dlrcA2ZB8JQGUQWn7Choiq3zWJuPoSPeAbP8O9y8+90bHecC967ussSZxUa%2foOdhTjP5FlFQ0V3AYcrrjMDkaHHaxOPSbmljDdGzPjUnHZ3tVBD4leLNBvKq2gZesa1HkyaV2vevNEiVAwp3CQ6yWMy2zQNV7LYGKsrnXUjf+Fmty8RzU7wX+aSCvsv5A7XlCyaPYG7IvpVs2Ix8D0XHOduBz1Do3nYLSjFSYBuCBQxfzzv0lGDo4p%2fbG3EBOVrlbm1HVNOwuJX+Yh0cmY2GJdOLrdbwE4rB%2fJFw4YPMEIUs3klFSiFGym405%2f5zyB9mEy1WjjdCgnZY3jGEyxusATryBa4s3aXkqYziRn3xO%2f5zYbhhcyOT+bkZHlejttzHEN7%2f8vkdh+zuSl5pIpqVYEyYYoeKo2jOYN0B6eUVQW+yVW+HSHoA+mCeTVFQ9glM4+ZsDlxuKBkmVu4+ykTeuwK2odP4x%2fvst+Hwkp%2fhj0%2f45biPDv+CQ7RWddCupWJLMS%2fJBSFz5JAA6qHViY9tcjEChBXDoXREgSeeAInpmTHvWCzYNANZf6DNcHxvgS73A+t8+CoUvo1PehC4zS2VVOAWt8RT9iB3lhRQxFRPtU2xUreRYV6pOpgsSKQrAH1XWKra1GNoJ6SuqXOgUjnVXtKWazt88Zmypdn0U3TDPPq2AHBmAP7uBBFJnfyS+UJqSIoHoSBANIvqkbU6BdIaw7y88Ws94SWzG159SkWEEHrWa2VkVoaF9WsraGhjfT0UFZONpEkP1+6jdO+2PpWvifLAriKBLRBurfBk3Gzo7Vxk9lBHGSDIXEOUrV8NTr8NUBWSVswae%2fR7iGnIGZ4nDfRNiRKH7C2mjlLR7giryEmhUshUO3hFS++f7xzsm4LoU1dow14qTk4BOyyjAJaGcjsK5ekO+yjLe58EwG7sEqkmu0lmLoIO4IYC3TZzWp%2fLNJcF6vA2NImNugAX+45Si40Rx8aeyT%2fkA5993NaQ4CrpnkeRFCNdC%2fZWX5hRc3eIdusZjxw+LQXgvP5eVJrDK15kTySeesqX2MPnxUTJNGCJDhOT84OW9ezFHOpngqjb9AFSbrIrf4JmSPElh2elq%2fGQX5RoDxTMsFEXct1Ben1xolXdz4yRz+oR%2f1GajhE5AFDLZAlxj+qMjjKOZ4dSex2VwLxt4tWRHaoayB0qXfNVsZa7Dq%2fCq8DA5xvOpZ+90WLNPN4I9AYSxHTRk7WwaCgd6uhHep33tZczt3k9+E0urHIUueiQ%3d`\r\n\t\telse\r\n\t\t\twindow.location.href = `https://serviceportal.nbtc.go.th/Home/ServiceInfo?List_id=224`\r\n\t}\r\n\r\n\tuseEffect(() => {\r\n\t\tif (user) history.replace('/')\r\n\t\t// eslint-disable-next-line\r\n\r\n\t\tif (isShowSwal) {\r\n\t\t\tSwal.fire({\r\n\t\t\t\ttitle: 'ประกาศปิดปรับปรุงระบบ',\r\n\t\t\t\thtml: `\r\n\t\t\t\t
\r\n\t\t\t\t\t

ประกาศแจ้งปิดระบบทำการปิดปรับปรุงระบบฉุกเฉิน ขออภัยในความไม่สะดวก ทางสำนักงาน กสทช. จะเร่งดำเนินการเพื่อให้ท่านสามารถยื่นคำขอรับบริการหรืออนุญาตได้โดยเร็วที่สุด

\r\n\t\t\t\t\t

สำนักงาน กสทช.

\r\n\t\t\t\t
\r\n\t\t\t `,\r\n\t\t\t\ticon: 'warning',\r\n\t\t\t\twidth: '700',\r\n\t\t\t\tshowCancelButton: false,\r\n\t\t\t\tconfirmButtonText: 'ข้าพเจ้าได้อ่านและรับทราบแล้ว',\r\n\t\t\t\treverseButtons: true,\r\n\t\t\t});\r\n\t\t}\r\n\t\tif (isInitialized && isShowPrivacy && !isAccepted) {\r\n\t\t\tSwal.fire({\r\n\t\t\t\ttitle: '',\r\n\t\t\t\thtml: `\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\tประกาศความเป็นส่วนตัว (Privacy Notice)
\r\n\t\t\t\t\t(ฉบับมาตรฐานกลาง)\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n

       สำนักงานคณะกรรมการกิจการกระจายเสียง กิจการโทรทัศน์ และกิจการโทรคมนาคมแห่งชาติ (“สำนักงาน กสทช.”) เป็นหน่วยงานของรัฐที่สนับสนุนและรับผิดชอบงานธุรการของคณะกรรมการกิจการกระจายเสียง กิจการโทรทัศน์ กิจการโทรคมนาคมแห่งชาติ (กสทช.) ซึ่งเป็นองค์กรของรัฐที่มีความเป็นอิสระตามบทบัญญัติมาตรา ๖๐ ของรัฐธรรมนูญแห่งราชอาณาจักรไทย ในฐานะผู้ควบคุมข้อมูลส่วนบุคคล (Data Controller) ตามพระราชบัญญัติคุ้มครองข้อมูลส่วนบุคคล พ.ศ. ๒๕๖๒ มีการเก็บรวบรวมและประมวลผลข้อมูลส่วนบุคคลเท่าที่จำเป็นต่อการปฏิบัติหน้าที่ให้สอดคล้องและเป็นไปตามพระราชบัญญัติองค์กรจัดสรรคลื่นความถี่และกำกับการประกอบกิจการวิทยุกระจายเสียง วิทยุโทรทัศน์ และกิจการโทรคมนาคม พ.ศ. ๒๕๕๓ พระราชบัญญัติการประกอบกิจการกระจายเสียงและกิจการโทรทัศน์ พ.ศ. ๒๕๕๑ พระราชบัญญัติการประกอบกิจการโทรคมนาคม พ.ศ. ๒๕๔๔ พระราชบัญญัติวิทยุคมนาคม พ.ศ. ๒๔๙๘ และกฎหมายอื่น ๆ ที่ให้อำนาจแก่ กสทช. และสำนักงาน กสทช.

       ประกาศความเป็นส่วนตัวนี้จัดทำขึ้นเพื่อแจ้งให้เจ้าของข้อมูลส่วนบุคคลทราบถึงรายละเอียดเกี่ยวกับการประมวลผลข้อมูลส่วนบุคคล รวมถึงสิทธิของเจ้าของข้อมูลส่วนบุคคลตามพระราชบัญญัติคุ้มครองข้อมูลส่วนบุคคล พ.ศ. ๒๕๖๒ ดังต่อไปนี้

       บทนิยาม

       “เจ้าของข้อมูลส่วนบุคคล” หมายความว่า บุคคลธรรมดาซึ่งเป็นเจ้าของข้อมูลส่วนบุคคลที่สำนักงาน กสทช. เก็บรวบรวม ใช้ หรือเปิดเผยข้อมูลนั้น

       “ข้อมูลส่วนบุคคล” หมายความว่า ข้อมูลเกี่ยวกับบุคคลธรรมดาซึ่งทำให้สามารถระบุตัวบุคคลนั้นได้ไม่ว่าทางตรงหรือทางอ้อม แต่ไม่รวมถึงข้อมูลของผู้ถึงแก่กรรมโดยเฉพาะ

       “การประมวลผลข้อมูลส่วนบุคคล” หมายความว่า การเก็บรวบรวม ใช้ หรือเปิดเผยข้อมูลส่วนบุคคล

       “กสทช.” หมายความว่า คณะกรรมการกิจการกระจายเสียง กิจการโทรทัศน์ และกิจการโทรคมนาคมแห่งชาติ 

       “สำนักงาน กสทช.” หมายความว่า สำนักงานคณะกรรมการกิจการกระจายเสียง กิจการโทรทัศน์ และกิจการโทรคมนาคมแห่งชาติ

       “คลื่นความถี่” หมายความว่า คลื่นวิทยุหรือคลื่นแฮรตเซียนซึ่งเป็นคลื่นแม่เหล็กไฟฟ้าที่มีความถี่ต่ำกว่าสามล้านเมกะเฮิรตซ์ลงมาที่ถูกแพร่กระจายในที่ว่างโดยปราศจากสื่อนำที่ประดิษฐ์ขึ้น

      “จัดสรรคลื่นความถี่” หมายความว่า การอนุญาตให้สถานีวิทยุกระจายเสียง สถานีวิทยุโทรทัศน์ หรือสถานีวิทยุคมนาคม ใช้ความถี่วิทยุหรือช่องความถี่วิทยุตามตารางกำหนดคลื่นความถี่หรือแผนความถี่วิทยุเพื่อใช้งานภายใต้เงื่อนไขที่ กสทช. กำหนด

    “กิจการกระจายเสียง” หมายความว่า กิจการวิทยุกระจายเสียงและกิจการกระจายเสียง ซึ่งให้บริการการส่งข่าวสารสาธารณะหรือรายการไปยังเครื่องรับที่สามารถรับฟังการให้บริการนั้น ๆ ได้ ไม่ว่าจะส่งโดยผ่านระบบคลื่นความถี่ ระบบสาย ระบบแสง ระบบแม่เหล็กไฟฟ้า หรือระบบอื่น ระบบใดระบบหนึ่ง หรือหลายระบบรวมกัน หรือกิจการอื่นทำนองเดียวกันที่ กสทช. กำหนดให้เป็นกิจการกระจายเสียง

      “กิจการโทรทัศน์” หมายความว่า กิจการวิทยุโทรทัศน์และกิจการโทรทัศน์ซึ่งให้บริการการส่งข่าวสารสาธารณะหรือรายการไปยังเครื่องรับที่สามารถรับชมและฟังการให้บริการนั้น ๆ ได้ ไม่ว่าจะส่งโดยผ่านระบบคลื่นความถี่ ระบบสาย ระบบแสง ระบบแม่เหล็กไฟฟ้า หรือระบบอื่น ระบบใดระบบหนึ่ง หรือหลายระบบรวมกัน หรือกิจการอื่นทำนองเดียวกันที่ กสทช. กำหนดให้เป็นกิจการโทรทัศน์

     “กิจการวิทยุคมนาคม” หมายความว่า กิจการซึ่งเป็นการรับและส่งเครื่องหมาย สัญญาณ ตัวหนังสือ ตัวเลข ภาพ เสียง รหัส หรือสิ่งอื่นใด ซึ่งสามารถให้เข้าใจความหมายได้โดยระบบคลื่นความถี่ เพื่อความมุ่งหมายทางโทรคมนาคมในกิจการใดกิจการหนึ่งโดยเฉพาะหรือเป็นการเฉพาะกิจที่มิใช่เป็นการประกอบกิจการโทรคมนาคมตามกฎหมายว่าด้วยการประกอบกิจการโทรคมนาคมหรือการประกอบกิจการกระจายเสียงหรือกิจการโทรทัศน์ตามกฎหมายว่าด้วยการประกอบกิจการกระจายเสียงและกิจการโทรทัศน์

        “กิจการโทรคมนาคม” หมายความว่า กิจการซึ่งให้บริการการส่ง การแพร่ หรือการรับเครื่องหมาย สัญญาณ ตัวหนังสือ ตัวเลข ภาพ เสียง รหัส หรือสิ่งอื่นใด ซึ่งสามารถให้เข้าใจความหมายได้โดยระบบ
คลื่นความถี่ ระบบสาย ระบบแสง ระบบแม่เหล็กไฟฟ้า หรือระบบอื่น ระบบใดระบบหนึ่ง หรือหลายระบบรวมกัน และรวมถึงกิจการซึ่งให้บริการดาวเทียมสื่อสาร หรือกิจการอื่นที่ กสทช. กำหนดให้เป็นกิจการโทรคมนาคม แต่ไม่รวมถึงกิจการที่เป็นกิจการกระจายเสียง กิจการโทรทัศน์ และกิจการวิทยุคมนาคม

        “สิทธิในการเข้าใช้วงโคจรดาวเทียม” หมายความว่า สิทธิที่ประเทศไทยหรือหน่วยงานของรัฐได้รับหรือมีอยู่ในการส่งดาวเทียมเข้าสู่วงโคจรตามข้อบังคับวิทยุของสหภาพโทรคมนาคมระหว่างประเทศ

        “ระบบสารสนเทศที่ให้บริการ” หมายความว่า ระบบสารสนเทศที่สำนักงาน กสทช. จัดไว้เพื่อการปฏิบัติหน้าที่ตามกฎหมายและการอำนวยความสะดวกแก่เจ้าของข้อมูลส่วนบุคคล

 

       ๑. วัตถุประสงค์ในการประมวลผลข้อมูลส่วนบุคคล

            สำนักงาน กสทช. ประมวลผลข้อมูลส่วนบุคคลของผู้ใช้บริการเพื่อวัตถุประสงค์ดังนี้

         ๑) เพื่อให้บรรลุวัตถุประสงค์ตามการปฏิบัติหน้าที่ในการดำเนินภารกิจเพื่อประโยชน์สาธารณะของ กสทช. หรือสำนักงาน กสทช. หรือปฏิบัติหน้าที่ในการใช้อำนาจรัฐที่ได้มอบให้แก่ กสทช. หรือสำนักงาน กสทช. หรือประโยชน์สาธารณะที่สำคัญ เช่น

                  - การอนุญาตและกำกับดูแลการใช้เลขหมายโทรคมนาคม การอนุญาตและกำกับดูแลการประกอบกิจการกระจายเสียง กิจการโทรทัศน์ 

และกิจการโทรคมนาคม

                  - การส่งเสริมสิทธิเสรีภาพและความเสมอภาคของประชาชนในการเข้าถึงและใช้ประโยชน์คลื่นความถี่ 

                  - การส่งเสริมวิชาชีพและการส่งเสริมการรวมกลุ่มของผู้รับใบอนุญาต ผู้ผลิตรายการ และผู้ประกอบวิชาชีพสื่อสารมวลชนที่เกี่ยวกับกิจการกระจายเสียง

และกิจการโทรทัศน์ สำหรับส่งเสริมและควบคุมการประกอบวิชาชีพภายใต้มาตรฐานทางจริยธรรม

                  - การกำกับดูแลการแข่งขัน อัตราค่าธรรมเนียม การครอบงำกิจการ และการครองสิทธิข้ามสื่อ

                  - การคุ้มครองสิทธิและเสรีภาพของประชาชนมิให้ถูกเอาเปรียบจากผู้ประกอบกิจการ และคุ้มครองสิทธิความเป็นส่วนตัวและเสรีภาพของบุคคล

ในการสื่อสารถึงกัน 

                  - การจัดให้มีบริการขั้นพื้นฐานโดยทั่วถึงและบริการเพื่อสังคมที่เกี่ยวกับกิจการกระจายเสียง กิจการโทรทัศน์ กิจการวิทยุคมนาคม กิจการโทรคมนาคม 

และกิจการดาวเทียม รวมถึงการดำเนินการอื่นใดที่เกี่ยวข้องเพื่อบรรลุวัตถุประสงค์ดังกล่าว

                  - การดำเนินการด้านกองทุนวิจัยและพัฒนากิจการกระจายเสียง กิจการโทรทัศน์ และกิจการโทรคมนาคมเพื่อประโยชน์สาธารณะ

                  - การดำเนินการอื่นใดเพื่อสนับสนุนภารกิจเพื่อประโยชน์สาธารณะของ กสทช. และสำนักงาน กสทช. เช่น การติดต่อประสานงาน การออกใบเสร็จรับเงินหรือใบกำกับภาษี การรับเรื่องร้องเรียน 

และการจัดประชุม อบรม หรือสัมมนา

                   เพื่อให้การดำเนินภารกิจเพื่อประโยชน์สาธารณะของ กสทช. หรือสำนักงาน กสทช. บรรลุวัตถุประสงค์ เจ้าของข้อมูลส่วนบุคคลจึงต้องให้ข้อมูลส่วนบุคคลเพื่อการปฏิบัติตามกฎหมาย ทั้งนี้ การไม่ให้ข้อมูล
ส่วนบุคคลที่ถูกต้องครบถ้วนอาจทำให้สำนักงาน กสทช. ไม่สามารถดำเนินการต่าง ๆ ที่เกี่ยวข้องกับการขออนุญาต หรือการดำเนินการต่าง ๆ  ที่เกี่ยวข้องได้

               ๒) เพื่อให้บรรลุวัตถุประสงค์ตามความจำเป็นเพื่อประโยชน์โดยชอบด้วยกฎหมายระหว่างเจ้าของข้อมูลส่วนบุคคลกับสำนักงาน กสทช. โดยประโยชน์ดังกล่าวมีความสำคัญไม่น้อยไปกว่าสิทธิขั้นพื้นฐานใน

ข้อมูลส่วนบุคคลของเจ้าของข้อมูลส่วนบุคคล เช่น

                   - การตรวจสอบและพิสูจน์ตัวตนในการใช้งานระบบสารสนเทศที่ให้บริการ

                   - การตรวจจับและป้องกันมิให้มีการใช้ระบบที่ให้บริการโดยไม่ได้รับอนุญาต หรือใช้ในลักษณะฉ้อฉล หรือในทางมิชอบด้วยกฎหมาย

                   - การโอนหรือรับโอนหรือแบ่งปันข้อมูลส่วนบุคคลไปยังส่วนราชการ หน่วยงานภาครัฐ หรือองค์กรที่เกี่ยวข้อง

                ๓) เพื่อให้บรรลุวัตถุประสงค์ตามการปฏิบัติตามกฎหมายของ กสทช. หรือสำนักงาน กสทช. เช่น

                    - การใช้อำนาจหน้าที่ในการบังคับทางปกครอง กระบวนการพิจารณาทางปกครอง การระงับข้อพิพาท การมีคำสั่งทางปกครอง การดำเนินกระบวนพิจารณาตามกฎหมาย หรือการดำเนินคดีอื่น ๆ 
ทั้งนี้ตามที่กฎหมายกำหนดเกี่ยวกับวิธีปฏิบัติราชการทางปกครองหรือการบังคับใช้มาตรการบังคับทางปกครอง

                    - การดำเนินการตามกฎหมายเกี่ยวกับการป้องกันและปราบปรามการกระทำความผิดเกี่ยวกับคอมพิวเตอร์ กฎหมายเกี่ยวกับการป้องกันและปราบปรามการฟอกเงิน กฎหมายเกี่ยวกับการตรวจเงินแผ่นดิน และกฎหมายเกี่ยวกับการคลังหรือภาษีอากร

                ๔) เพื่อให้บรรลุวัตถุประสงค์ตามที่เจ้าของข้อมูลส่วนบุคคลได้ให้ความยินยอมกับสำนักงาน กสทช. ในการประมวลผลข้อมูลส่วนบุคคล

                ๕) เพื่อให้บรรลุวัตถุประสงค์ตามการจัดทำเอกสารประวัติศาสตร์หรือจดหมายเหตุเพื่อประโยชน์สาธารณะ หรือที่เกี่ยวกับการศึกษาวิจัยหรือสถิติ

                ๖) เพื่อให้บรรลุวัตถุประสงค์ตามความจำเป็นเพื่อการก่อตั้งสิทธิเรียกร้องตามกฎหมาย การปฏิบัติตามหรือการใช้สิทธิเรียกร้องตามกฎหมาย หรือการยกขึ้นต่อสู้เรียกร้องตามกฎหมาย

 

       ๒ประเภทของข้อมูลส่วนบุคคลที่เก็บรวบรวม

            สำนักงาน กสทช. มีความจำเป็นต้องใช้ข้อมูลพื้นฐานที่สำคัญ ซึ่งเป็นข้อมูลเกี่ยวกับบุคคลธรรมดาที่มีข้อมูลที่สามารถระบุตัวบุคคลได้ไม่ว่าทางตรงหรือทางอ้อม โดยจัดเก็บทั้งจากเจ้าของข้อมูลส่วนบุคคลที่ได้รับมาโดยตรงและมาจากแหล่งอื่น ซึ่งข้อมูลดังกล่าวครอบคลุมถึงข้อมูลที่ได้รับจากนิติบุคคล องค์การ หน่วยงาน สมาคม หรือข้อมูลอื่นใดที่อยู่ภายใต้การกำกับดูแลของ กสทช. และสำนักงาน กสทช. ข้อมูลจากหน่วยงานภาครัฐ คู่สัญญา ผู้ประกอบธุรกิจ และประชาชน โดยมีรายการดังต่อไปนี้

                ๑) ข้อมูลรายละเอียดเกี่ยวกับตัวบุคคลหรือข้อมูลที่ใช้ในการระบุและยืนยันตัวตนของเจ้าของข้อมูลส่วนบุคคล เช่น ชื่อ-นามสกุล วันเดือนปีเกิด ข้อมูลบนบัตรประจำตัวประชาชน ข้อมูลบนสำเนาหนังสือเดินทาง 

ลายมือชื่อ ข้อมูลชีวภาพ (ข้อมูลภาพจำลองใบหน้า ข้อมูลจำลองลายนิ้วมือ ฯลฯ)  ข้อมูลส่วนบุคคลเกี่ยวกับสัญชาติและเชื้อชาติ ข้อมูลเกี่ยวกับสุขภาพ ข้อมูลเกี่ยวกับประวัติอาชญากรรม หรือข้อมูลความพิการ

                 ๒) ข้อมูลสถานที่หรือวิธีการติดต่อ เช่น หมายเลขโทรศัพท์ อีเมล ที่อยู่ หรือบัญชีสื่อสังคมออนไลน์ 

                 ๓) ข้อมูลการประกอบวิชาชีพ เช่น อาชีพ ตำแหน่ง สถานที่ทำงานหรือสถานที่ติดต่อ ใบอนุญาตประกอบวิชาชีพต่าง ๆ หรือข้อมูลการได้รับอนุญาตให้ประกอบวิชาชีพ

                 ๔) ข้อมูลทางการเงิน เช่น เงินเดือน หรือรายละเอียดเกี่ยวกับบัญชีของเจ้าของข้อมูลส่วนบุคคล ข้อมูลผู้เสียภาษี เลขประจำตัวผู้เสียภาษี หรือเลขที่ใบเสร็จรับเงิน

                 ๕) ข้อมูลส่วนบุคคลของบุคคลอื่นที่เจ้าของข้อมูลส่วนบุคคลแจ้งแก่สำนักงาน กสทช. เช่น คู่สมรส ผู้ถือหุ้น รายชื่อหุ้นส่วน หรือผู้ค้ำประกัน

                 ๖) ข้อมูลเกี่ยวกับการศึกษา เช่น สถาบันการศึกษาที่สังกัด หรือระดับการศึกษา

                 ๗) ข้อมูลที่เกี่ยวกับการรักษาความปลอดภัย เช่น ข้อมูลจากระบบกล้องวงจรปิด

                 ๘) ข้อมูลส่วนบุคคลอื่น ๆ ตามที่ประกาศหรือกฎหมายที่เกี่ยวข้องกำหนด เช่น ข้อมูล Log ทางอิเล็กทรอนิกส์ ได้แก่ ข้อมูลแสดงตัวตนทางอิเล็กทรอนิกส์หรือบันทึกข้อมูลที่ได้มาโดยอัตโนมัติจากอุปกรณ์ของเจ้าของข้อมูลส่วนบุคคลบางรายการ เช่น ประเภทอุปกรณ์ ประเภทระบบปฏิบัติการ เลขที่อยู่ไอพี ข้อมูลเบราเซอร์ รวมถึงประเภทและการตั้งค่าภาษา ตัวระบุเครื่อง ข้อมูลคุกกี้ หรือตัวระบุแอปพลิเคชันบนโทรศัพท์เคลื่อนที่

                 ๙) ข้อมูลเพื่อประโยชน์ในการกำกับดูแล การพัฒนาระบบ และการให้บริการของสำนักงาน กสทช. เช่น ข้อมูลตำแหน่งทางภูมิศาสตร์ ข้อมูลไฟล์เสียง ไฟล์วิดีโอ หรือประวัติการเข้าร่วมกิจกรรม

                ๑๐) ข้อมูลอื่น ๆ ที่อาจมีความจำเป็นต่อการปฏิบัติหน้าที่ตามกฎหมาย

 

       ๓ฐานทางกฎหมายในการประมวลผลข้อมูลส่วนบุคคล

                สำนักงาน กสทช. ประมวลผลข้อมูลส่วนบุคคลของเจ้าของข้อมูลส่วนบุคคล ภายใต้ฐานทางกฎหมาย ดังนี้

              ๑) เป็นการจำเป็นเพื่อการปฏิบัติหน้าที่ในการดำเนินภารกิจเพื่อประโยชน์สาธารณะของ กสทช. หรือสำนักงาน กสทช. เช่น พระราชบัญญัติองค์กรจัดสรรคลื่นความถี่และกำกับการประกอบกิจการวิทยุกระจาย            เสียงวิทยุโทรทัศน์ และกิจการโทรคมนาคม พ.ศ. ๒๕๕๓ พระราชบัญญัติการประกอบกิจการกระจายเสียงและกิจการโทรทัศน์ พ.ศ. ๒๕๕๑ พระราชบัญญัติการประกอบกิจการโทรคมนาคม พ.ศ. ๒๕๔๔ และพระราชบัญญัติวิทยุคมนาคม พ.ศ. ๒๔๙๘ 

            ๒) เป็นการจำเป็นเพื่อปฏิบัติหน้าที่ในการใช้อำนาจรัฐที่ได้มอบให้แก่ กสทช. หรือสำนักงาน กสทช. เช่น มติคณะรัฐมนตรี หรือคำสั่งของหน่วยงานของรัฐที่มีอำนาจตามกฎหมายซึ่งเป็นไปตาม   ขอบเขตอำนาจที่  กสทช. หรือสำนักงาน กสทช. ได้รับมอบหมาย เป็นต้น

                  ๓) เป็นการจำเป็นเพื่อการปฏิบัติตามสัญญาซึ่งเจ้าของข้อมูลส่วนบุคคลเป็นคู่สัญญาหรือเพื่อใช้ในการดำเนินการตามคำขอของเจ้าของข้อมูลส่วนบุคคลก่อนเข้าทำสัญญานั้นกับสำนักงาน กสทช.

               ๔) ความจำเป็นเพื่อประโยชน์โดยชอบด้วยกฎหมายระหว่างเจ้าของข้อมูลส่วนบุคคลกับสำนักงาน กสทช. โดยประโยชน์ดังกล่าวมีความสำคัญไม่น้อยไปกว่าสิทธิขั้นพื้นฐานในข้อมูลส่วนบุคคล            ของเจ้าของข้อมูลส่วนบุคคล เช่น ในช่วงที่เจ้าของข้อมูลส่วนบุคคลสมัครลงทะเบียนขอบัญชีผู้ใช้งานเพื่อขอรับบริการบนระบบสารสนเทศที่ให้บริการ 

                 ๕) เป็นการปฏิบัติตามกฎหมายของ กสทช. หรือสำนักงาน กสทช. ในกรณีที่มีกฎหมายกำหนดให้ต้องปฏิบัติ เช่น กฎหมายเกี่ยวกับการป้องกันและปราบปรามการกระทำความผิดเกี่ยวกับคอมพิวเตอร์ กฎหมายเกี่ยว     กับการป้องกันและปราบปรามการฟอกเงิน กฎหมายเกี่ยวกับการตรวจเงินแผ่นดิน และกฎหมายเกี่ยวกับการคลังหรือภาษีอากร 

                  ๖) ความยินยอม ในกรณีที่เจ้าของข้อมูลส่วนบุคคลได้ให้ความยินยอมกับสำนักงาน กสทช. ในการประมวลผลข้อมูลส่วนบุคคล

                  ๗) เพื่อให้บรรลุวัตถุประสงค์ที่เกี่ยวกับการจัดทำเอกสารประวัติศาสตร์หรือจดหมายเหตุเพื่อประโยชน์สาธารณะ หรือที่เกี่ยวกับการศึกษาวิจัยหรือสถิติ

                  ๘) เพื่อป้องกันหรือระงับอันตรายต่อชีวิต ร่างกาย หรือสุขภาพของบุคคล

                  ในกรณีที่สำนักงาน กสทช. จะทำการประมวลผลข้อมูลส่วนบุคคลตามที่กำหนดในมาตรา ๒๖ แห่งพระราชบัญญัติคุ้มครองข้อมูลส่วนบุคคล พ.ศ. ๒๕๖๒ สำนักงาน กสทช. จะจัดให้มีฐานทางกฎหมายตามมาตรา ๒๖ ให้สอดคล้องกับวัตถุประสงค์ดังกล่าวเป็นการเพิ่มเติม และจัดให้มีมาตรการที่เหมาะสมเพื่อคุ้มครองสิทธิขั้นพื้นฐานและประโยชน์ของเจ้าของข้อมูลส่วนบุคคล

 

       ๔ระยะเวลาในการเก็บรักษาข้อมูลส่วนบุคคล

       สำนักงาน กสทช. เก็บรักษาข้อมูลส่วนบุคคลของเจ้าของข้อมูลส่วนบุคคลเป็นระยะเวลาตามที่กฎหมายกำหนดและตามวัตถุประสงค์ของการเก็บรวบรวมเพื่อให้สอดคล้องกับอำนาจหน้าที่ตามกฎหมายของ กสทช. หรือสำนักงาน กสทช. ในการจัดทำบริการสาธารณะ และหน้าที่อื่น ๆ ตามกฎหมาย รวมถึงเพื่อประโยชน์ในการใช้สิทธิทางศาลหรือการระงับข้อพิพาทใด ๆ ในอนาคต รายละเอียดปรากฏตามนโยบายการเก็บรักษาและการลบทำลายข้อมูลส่วนบุคคล (Data Retention and Disposal Policy) โดยเมื่อพ้นระยะเวลาการจัดเก็บดังกล่าวแล้ว สำนักงาน กสทช. จะลบทำลายข้อมูลส่วนบุคคลของเจ้าของข้อมูลส่วนบุคคลโดยทันที เว้นแต่กรณีที่เจ้าของข้อมูลส่วนบุคคลได้ใช้สิทธิ หรือมีข้อพิพาทหรือคดีความเกี่ยวกับการใช้บริการของเจ้าของข้อมูลส่วนบุคคล สำนักงาน กสทช. ขอสงวนสิทธิในการเก็บรักษาข้อมูลนั้นต่อไปจนกว่าการใช้สิทธิของเจ้าของข้อมูลส่วนบุคคลได้ดำเนินการจนถึงขั้นยุติ หรือข้อพิพาทหรือคดีความจะได้มีคำสั่งหรือคำพิพากษาถึงที่สุดแล้ว

 

       ๕การเปิดเผยข้อมูลส่วนบุคคล 

              สำนักงาน กสทช. อาจเปิดเผยข้อมูลส่วนบุคคลแก่บุคคลหรือหน่วยงาน ดังนี้ 

                ๑) คู่สัญญา ผู้ให้บริการภายนอก หรือบุคคลภายนอกที่เกี่ยวข้องกับการให้บริการแก่สำนักงาน กสทช. ซึ่งมีความเกี่ยวข้องกับข้อมูลส่วนบุคคลของเจ้าของข้อมูลส่วนบุคคล เช่น ผู้ให้บริการระบบงาน ผู้พัฒนาเว็บไซต์ ผู้ตรวจสอบ หรือที่ปรึกษา

                  ๒) เจ้าหน้าที่ของรัฐ หน่วยงานที่มีอำนาจหน้าที่ หรือบุคคลอื่น เพื่อการดำเนินการตามที่กฎหมายกำหนด คำสั่งของผู้มีอำนาจตามกฎหมาย หรือตามคำสั่งหรือหมายศาล เป็นต้น

                 ๓) หน่วยงานภายนอก เช่น สำนักงานพัฒนารัฐบาลดิจิทัล (องค์การมหาชน) ที่มีการดำเนินการเชื่อมโยงข้อมูลภาครัฐ (Open data) การเชื่อมโยงข้อมูลกับหน่วยงานภาครัฐและภาคเอกชนที่มีการขอความร่วมมือ       เพื่อการเปิดเผยข้อมูล สำนักงานการตรวจเงินแผ่นดิน สำนักงานเลขาธิการสภาผู้แทนราษฎร สำนักงานเลขาธิการวุฒิสภา หน่วยงานกำกับดูแลด้านความมั่นคงปลอดภัยทางไซเบอร์ หน่วยงานตรวจสอบด้านการปราบปรามการ กระทำความผิดหรืออาชญากรรมทางอิเล็กทรอนิกส์ หน่วยงานตรวจสอบด้านการป้องกันและปราบปรามการทุจริต หน่วยงานตรวจสอบด้านการคลังหรือภาษีอากร หน่วยงานบังคับใช้กฎหมายอื่น ๆ และหน่วยงานอื่นใดที่มีความร่วมมือหรือข้อตกลงกับ กสทช. หรือสำนักงาน กสทช.

 

       ๖การโอนหรือเปิดเผยข้อมูลส่วนบุคคลไปยังองค์กรระหว่างประเทศ

       เพื่อให้การดำเนินภารกิจเพื่อประโยชน์สาธารณะที่สำคัญของ กสทช. หรือสำนักงาน กสทช. บรรลุตามวัตถุประสงค์ในส่วนที่เกี่ยวกับการดำเนินการในฐานะหน่วยงานอำนวยการของรัฐที่มีอำนาจในการกำกับดูแลกิจการกระจายเสียง กิจการโทรทัศน์ กิจการโทรคมนาคม กิจการดาวเทียม และกิจการสื่อสารอื่น ๆ ตามที่กฎหมายกำหนดกับสหภาพโทรคมนาคมระหว่างประเทศ (International Telecommunication Union: ITU) หรือกับองค์การระหว่างประเทศอื่น รัฐบาลและหน่วยงานต่างประเทศ รวมทั้งสนับสนุนการดำเนินการของรัฐเพื่อให้การบริหารจัดการคลื่นความถี่ การจัดสรรคลื่นความถี่ และสิทธิในการเข้าใช้วงโคจรดาวเทียม ตลอดจนการประสานงานเกี่ยวกับการบริหารคลื่นความถี่ระหว่างประเทศ หรือความร่วมมือหรือข้อตกลงกับหน่วยงานระหว่างประเทศอื่นใดตามที่อยู่ในหน้าที่และอำนาจของ กสทช. หรือสำนักงาน กสทช. หรือตามที่รัฐบาลมอบหมาย จึงอาจมีการส่งหรือโอนข้อมูลส่วนบุคคลของเจ้าของข้อมูลส่วนบุคคลไปยังต่างประเทศหรือองค์การระหว่างประเทศ โดยสำนักงาน กสทช. จะดำเนินการให้เป็นไปตามมาตรฐานการคุ้มครองข้อมูลส่วนบุคคลตามที่กฎหมายกำหนด

 

       ๗สิทธิตามพระราชบัญญัติคุ้มครองข้อมูลส่วนบุคคล พ.ศ. ๒๕๖๒

             เจ้าของข้อมูลส่วนบุคคลสามารถใช้สิทธิตามพระราชบัญญัติคุ้มครองข้อมูลส่วนบุคคล พ.ศ. ๒๕๖๒ ภายใต้เงื่อนไขและข้อยกเว้นตามที่กฎหมายกำหนด ดังนี้

            ๑) สิทธิในการเข้าถึงและรับสำเนาข้อมูลส่วนบุคคล รวมถึงการขอให้เปิดเผยที่มาของข้อมูลส่วนบุคคลของเจ้าของข้อมูลส่วนบุคคลที่สำนักงาน กสทช. เก็บรวบรวมโดยที่เจ้าของข้อมูลส่วนบุคคลไม่ได้ให้
ความยินยอม เว้นแต่กรณีที่สำนักงาน กสทช. มีสิทธิปฏิเสธคำขอตามกฎหมายหรือคำสั่งศาลและกรณีที่การขอเข้าถึงและรับสำเนาของเจ้าของข้อมูลส่วนบุคคลจะส่งผลกระทบที่อาจก่อให้เกิดความเสียหายต่อสิทธิและเสรีภาพของบุคคลอื่น

            ๒) สิทธิในการขอแก้ไขข้อมูลส่วนบุคคลของเจ้าของข้อมูลส่วนบุคคลที่ไม่ถูกต้องหรือไม่ครบถ้วน เพื่อให้มีความถูกต้อง เป็นปัจจุบัน สมบูรณ์ และไม่ก่อให้เกิดความเข้าใจผิด 

            ๓) สิทธิในการขอให้ระงับการใช้ข้อมูลส่วนบุคคลของเจ้าของข้อมูลส่วนบุคคลในกรณี ดังนี้

                 ๓.๑) เมื่ออยู่ในระหว่างที่สำนักงาน กสทช. ทำการตรวจสอบตามคำร้องขอของเจ้าของข้อมูลส่วนบุคคล เพื่อให้แก้ไขข้อมูลส่วนบุคคลของเจ้าของข้อมูลส่วนบุคคลให้ถูกต้อง สมบูรณ์ และเป็นปัจจุบัน

                 ๓.๒) ข้อมูลส่วนบุคคลของเจ้าของข้อมูลส่วนบุคคลถูกเก็บรวบรวม ใช้ หรือเปิดเผยโดยมิชอบด้วยกฎหมาย

                ๓.๓) เมื่อข้อมูลส่วนบุคคลของเจ้าของข้อมูลส่วนบุคคลหมดความจำเป็นในการเก็บรักษาไว้ตามวัตถุประสงค์ที่สำนักงาน กสทช. ได้แจ้งต่อเจ้าของข้อมูลส่วนบุคคลในการเก็บรวบรวม                                            แต่เจ้าของข้อมูลส่วนบุคคลประสงค์ให้สำนักงาน กสทช. เก็บรักษาข้อมูลนั้นไว้ต่อไปเพื่อประกอบการใช้สิทธิตามกฎหมายของเจ้าของข้อมูลส่วนบุคคล

                  ๓.๔) เมื่ออยู่ในระหว่างที่สำนักงาน กสทช. กำลังพิสูจน์ให้เจ้าของข้อมูลส่วนบุคคลเห็นถึงเหตุอันชอบด้วยกฎหมายในการเก็บรวบรวมข้อมูลส่วนบุคคลของเจ้าของข้อมูลส่วนบุคคล หรือตรวจสอบ
ความจำเป็นในการเก็บรวบรวม ใช้ หรือเปิดเผยข้อมูลส่วนบุคคลของเจ้าของข้อมูลส่วนบุคคลเพื่อประโยชน์สาธารณะ อันเนื่องมาจากการที่เจ้าของข้อมูลส่วนบุคคลได้ใช้สิทธิคัดค้านการเก็บรวบรวม ใช้ หรือเปิดเผยข้อมูลส่วนบุคคลของเจ้าของข้อมูลส่วนบุคคล 

           ๔) สิทธิในการคัดค้านการเก็บรวบรวม ใช้ หรือเปิดเผยข้อมูลส่วนบุคคลของเจ้าของข้อมูลส่วนบุคคล เว้นแต่กรณีที่สำนักงาน กสทช. มีเหตุในการปฏิเสธสิทธิการคัดค้านของเจ้าของข้อมูลส่วนบุคคลโดยชอบ
ด้วยกฎหมาย เช่น สำนักงาน กสทช. สามารถแสดงให้เห็นว่า การเก็บรวบรวม ใช้ หรือเปิดเผยข้อมูลส่วนบุคคลของเจ้าของข้อมูลส่วนบุคคลมีเหตุอันชอบด้วยกฎหมายที่สำคัญยิ่งกว่า หรือเพื่อการก่อตั้งสิทธิเรียกร้อง
ตามกฎหมาย การปฏิบัติตาม หรือการใช้สิทธิเรียกร้องทางกฎหมาย หรือเพื่อประโยชน์สาธารณะตามภารกิจของสำนักงาน กสทช.

           ๕) สิทธิขอให้ดำเนินการลบหรือทำลาย หรือทำให้ข้อมูลส่วนบุคคลเป็นข้อมูลที่ไม่สามารถระบุตัวบุคคลที่เป็นเจ้าของข้อมูลส่วนบุคคลได้ ทั้งนี้ ตามเงื่อนไขที่กฎหมายกำหนด                                                                                 เมื่อเจ้าของข้อมูลส่วนบุคคลขอใช้สิทธิดังกล่าว สำนักงาน กสทช. จะตรวจสอบและดำเนินการตามคำขอใช้สิทธิโดยไม่ชักช้าและภายในระยะเวลาไม่เกิน ๙๐ วัน นับแต่วันที่บันทึกคำร้องลงระบบ เว้นแต่
มีเหตุจำเป็นอื่นที่ไม่อาจก้าวล่วงได้หรือมีกรณีที่อาจปฏิเสธคำขอได้ตามเงื่อนไขที่กฎหมายกำหนด ซึ่งสำนักงาน กสทช. จะได้แจ้งให้เจ้าของข้อมูลส่วนบุคคลทราบโดยทันที เว้นแต่สิทธิในการเข้าถึงและขอรับสำเนาข้อมูลส่วนบุคคลซึ่งจะดำเนินการภายในระยะเวลาไม่เกิน ๓๐ วัน

           ๖) สิทธิร้องเรียน ในกรณีที่เจ้าของข้อมูลส่วนบุคคลพบว่า สำนักงาน กสทช. มิได้ปฏิบัติตามพระราชบัญญัติคุ้มครองข้อมูลส่วนบุคคล พ.ศ. ๒๕๖๒ เจ้าของข้อมูลส่วนบุคคลมีสิทธิร้องเรียนไปยังคณะกรรมการผู้เชี่ยวชาญ สำนักงานคณะกรรมการคุ้มครองข้อมูลส่วนบุคคล หรือหน่วยงานที่มีอำนาจกำกับดูแลตามกฎหมาย ทั้งนี้ 
ก่อนการร้องเรียนดังกล่าวสำนักงาน กสทช. ขอให้เจ้าของข้อมูลส่วนบุคคลโปรดติดต่อมายังสำนักงาน กสทช. เพื่อให้สำนักงาน กสทช. มีโอกาสได้รับทราบข้อเท็จจริงและได้ชี้แจงในประเด็นต่าง ๆ รวมถึงจัดการแก้ไข
ข้อกังวลของเจ้าของข้อมูลส่วนบุคคลก่อนเป็นโอกาสแรก

 

       ๘การรักษาความมั่นคงปลอดภัยข้อมูลส่วนบุคคล

         สำนักงาน กสทช. มีความตระหนักและมุ่งมั่นให้ความสำคัญต่อความเป็นส่วนตัวของเจ้าของข้อมูลส่วนบุคคล จึงได้จัดให้มีมาตรการรักษาความมั่นคงปลอดภัยของข้อมูลส่วนบุคคลที่เหมาะสม รวมถึงสอดคล้องกับมาตรฐานสากล ซึ่งประกอบด้วยมาตรการเชิงองค์กร มาตรการเชิงเทคนิค และมาตรการทางกายภาพ ครอบคลุมส่วนประกอบต่าง ๆ และสอดคล้องกับความเสี่ยงที่มีการประเมินและวางมาตรการควบคุม 
เพื่อป้องกันมิให้ข้อมูลสูญหาย หรือมีการเข้าถึง ทำลาย ใช้ เปลี่ยนแปลง แก้ไข หรือเปิดเผยข้อมูลส่วนบุคคลโดยไม่ได้รับอนุญาต โดยกำหนดเป็นนโยบายและแนวปฏิบัติในการรักษาความมั่นคงปลอดภัยด้านสารสนเทศ (Information Security Policy) ของสำนักงาน กสทช.

                  ทั้งนี้ สำนักงาน กสทช. มีมาตรการเพื่อธำรงไว้ซึ่งความลับ (Confidentiality) ความถูกต้องครบถ้วน (Integrity) และสภาพพร้อมใช้งาน (Availability) ของข้อมูลส่วนบุคคล 

 

       ๙การมีส่วนร่วมของเจ้าของข้อมูลส่วนบุคคลและผู้แทน

            สำนักงาน กสทช. อาจเปิดเผยข้อมูลส่วนบุคคลของเจ้าของข้อมูลส่วนบุคคลเมื่อได้รับคำร้องขอจาก ผู้สืบสิทธิ ทายาท ผู้แทนโดยชอบธรรม ผู้อนุบาล หรือผู้พิทักษ์ตามกฎหมายของเจ้าของข้อมูลส่วนบุคคล 
โดยส่งคำร้องขอมาที่ Call Center: ๑๒๐๐ อีเมล: 1200@nbtc.go.th

            ในกรณีที่เจ้าของข้อมูลส่วนบุคคล ผู้สืบสิทธิ ทายาท ผู้แทนโดยชอบธรรม ผู้อนุบาล หรือผู้พิทักษ์ตามกฎหมายมีคำขอให้ดำเนินการใด ๆ เกี่ยวกับการประมวลผลข้อมูลส่วนบุคคล หรือการดำเนินการใด ๆ 
กับข้อมูลส่วนบุคคล เช่น การแจ้งให้ดำเนินการปรับปรุงแก้ไขข้อมูลส่วนบุคคล สำนักงาน กสทช. จะจัดทำบันทึกการดำเนินการดังกล่าวไว้เป็นหลักฐานด้วย ทั้งนี้ สำนักงาน กสทช. อาจปฏิเสธสิทธิต่าง ๆ ของเจ้าของข้อมูลส่วนบุคคลหรือผู้แทนของเจ้าของข้อมูลส่วนบุคคลได้ในกรณีที่มีกฎหมายกำหนดไว้

 

       ๑๐การให้บริการโดยบุคคลที่สาม

              ในกรณีที่มีความจำเป็น สำนักงาน กสทช. อาจมีการมอบหมายหรือจัดซื้อจัดจ้างผู้ให้บริการภายนอก หรือบุคคลภายนอกที่เกี่ยวข้องกับการให้บริการแก่สำนักงาน กสทช. เพื่อทำหน้าที่เป็นผู้ประมวลผลข้อมูล
ส่วนบุคคลของสำนักงาน กสทช. เช่น ผู้ให้บริการระบบงาน ผู้พัฒนาเว็บไซต์ ผู้ดูแลระบบ หรือเป็นงานในลักษณะการจ้างในรูปแบบอื่น ๆ

               การมอบหมายให้บุคคลที่สามทำการประมวลผลข้อมูลส่วนบุคคลในฐานะผู้ประมวลผลข้อมูลส่วนบุคคล สำนักงาน กสทช. จะจัดให้มีข้อตกลงระบุถึงสิทธิและหน้าที่ของสำนักงาน กสทช. ในฐานะผู้ควบคุมข้อมูล
ส่วนบุคคล และสิทธิและหน้าที่ของบุคคลที่สามที่สำนักงาน กสทช. มอบหมายให้ทำหน้าที่เป็นผู้ประมวลผลข้อมูลส่วนบุคคล ซึ่งรวมถึงการกำหนดรายละเอียดประเภทข้อมูลส่วนบุคคลที่สำนักงาน กสทช. มอบหมายให้ประมวลผล วัตถุประสงค์ ขอบเขตในการประมวลผลข้อมูลส่วนบุคคล และข้อตกลงอื่น ๆ ที่เกี่ยวข้องซึ่งผู้ประมวลผลข้อมูลส่วนบุคคลมีหน้าที่ประมวลผลข้อมูลส่วนบุคคลตามขอบเขตที่ระบุไว้ในข้อตกลง และตามคำสั่งของสำนักงาน กสทช. เท่านั้น โดยไม่สามารถประมวลผลข้อมูลส่วนบุคคลเพื่อวัตถุประสงค์อื่นได้ และต้องจัดให้มีมาตรการรักษาความมั่นคงปลอดภัยที่เหมาะสม เพื่อป้องกันการสูญหาย เข้าถึง ใช้ เปลี่ยนแปลง แก้ไข หรือเปิดเผยข้อมูลส่วนบุคคลโดยปราศจากอำนาจหรือโดยมิชอบด้วยกฎหมาย  

 

       ๑๑การเข้าถึงข้อมูลส่วนบุคคล

             สำนักงาน กสทช. ได้กำหนดให้ผู้ปฏิบัติงานของสำนักงาน กสทช. ที่มีอำนาจหน้าที่เกี่ยวข้องกับการประมวลผลข้อมูลส่วนบุคคลของเจ้าของข้อมูลส่วนบุคคลตามประกาศนี้เท่านั้นที่จะสามารถเข้าถึง                           ข้อมูลส่วนบุคคลของเจ้าของข้อมูลส่วนบุคคลได้ โดยสำนักงาน กสทช. จะดำเนินการให้ผู้ปฏิบัติงานดังกล่าวปฏิบัติตามประกาศนี้อย่างเคร่งครัด

 

       ๑๒การขอความยินยอม

               ในกรณีที่อาจต้องใช้ความยินยอมเป็นฐานในการประมวลผลข้อมูลส่วนบุคคล สำนักงาน กสทช. จะขอความยินยอมสำหรับกิจกรรมการประมวลผลข้อมูลส่วนบุคคลก่อนหรือในขณะประมวลผลข้อมูล
ส่วนบุคคล โดยในการขอความยินยอม สำนักงาน กสทช. จะดำเนินการอย่างโปร่งใสและให้อิสระต่อเจ้าของข้อมูลส่วนบุคคลในการที่จะให้หรือไม่ให้ความยินยอม และเมื่อได้ให้ความยินยอมแล้ว เจ้าของข้อมูลส่วนบุคคลมีสิทธิแก้ไข เปลี่ยนแปลง หรือยกเลิกความยินยอมนั้นได้โดยอิสระ แต่ต้องไม่เป็นการขัดต่อกฎหมายหรือละเมิดสิทธิและเสรีภาพของผู้อื่น

                ในการเปลี่ยนแปลง แก้ไข หรือยกเลิกความยินยอม สำนักงาน กสทช. จะจัดเก็บบันทึกคำขอเปลี่ยนแปลงหรือแก้ไขความยินยอมของเจ้าของข้อมูลส่วนบุคคลไว้เป็นหลักฐานเพื่อให้เจ้าของข้อมูล
ส่วนบุคคลสามารถตรวจสอบได้ หากเจ้าของข้อมูลส่วนบุคคลต้องการเข้าถึงข้อมูลการเปลี่ยนแปลงเหล่านี้ สามารถติดต่อเพื่อขอข้อมูลดังกล่าวได้จาก Call Center ๑๒๐๐ หรืออีเมล: 1200@nbtc.go.th

              ในกรณีที่เจ้าของข้อมูลส่วนบุคคลใช้สิทธิเพิกถอนความยินยอมตามเงื่อนไขที่กฎหมายกำหนด สำนักงาน กสทช. จะดำเนินการโดยเร็วที่สุดและภายในระยะเวลาไม่เกิน ๑๔ วัน นับจากวันที่ได้รับคำร้องขอจากเจ้าของข้อมูลส่วนบุคคล และบันทึกคำร้องดังกล่าวในระบบบริหารจัดการความยินยอม

 

       ๑๓การปรับปรุงหรือแก้ไขประกาศความเป็นส่วนตัว

               สำนักงาน กสทช. อาจพิจารณาปรับปรุง แก้ไข หรือเปลี่ยนแปลงประกาศนี้ตามที่เห็นสมควร และจะทำการแจ้งให้เจ้าของข้อมูลส่วนบุคคลได้รับทราบผ่านช่องทางเว็บไซต์ www.nbtc.go.th โดยการ
ระบุวันที่กำกับไว้ที่ประกาศสำนักงาน กสทช. จึงขอแนะนำให้เจ้าของข้อมูลส่วนบุคคลตรวจสอบเพื่อรับทราบประกาศฉบับใหม่อย่างสม่ำเสมอ

 

        ๑๔การติดต่อสอบถามและการร้องเรียน

       เจ้าของข้อมูลส่วนบุคคลสามารถติดต่อสอบถามเกี่ยวกับประกาศนี้ ใช้สิทธิร้องเรียนตามกฎหมาย หรือขอใช้สิทธิต่าง ๆ ตามที่กฎหมายกำหนดได้ที่

ผู้ควบคุมข้อมูลส่วนบุคคล (Data Controller)

ชื่อหน่วยงาน:    สำนักงาน กสทช.

สถานที่ติดต่อ:   สำนักงาน กสทช. ๘๗ ถนนพหลโยธิน ซอย ๘ แขวงสามเสนใน เขตพญาไท กรุงเทพฯ ๑๐๔๐๐ โทร : ๐ ๒๖๗๐ ๘๘๘๘

ช่องทางการติดต่อ:   อีเมล : ๑๒๐๐@nbtc.go.th 

                                  Call Center: ๑๒๐๐ (โทรฟรี)

เจ้าหน้าที่คุ้มครองข้อมูลส่วนบุคคล (Data Protection Officer)

ช่องทางการติดต่อ:        อีเมล : dpo@nbtc.go.th

 

\r\n

ประกาศความเป็นส่วนตัว (Privacy Notice) เวอร์ชั่น ๒ 

วันที่ประกาศใช้ ๑๙ ตุลาคม ๒๕๖๖

\r\n\r\n\t\t\t\t\r\n\t\t\t\t`,\r\n\t\t\t\twidth: '600',\r\n\t\t\t\tshowCancelButton: false,\r\n\t\t\t\tconfirmButtonText: 'รับทราบ',\r\n\t\t\t\treverseButtons: true,\r\n\t\t\t\tallowOutsideClick: false,\r\n\t\t\t\tallowEscapeKey: false,\r\n\t\t\t\tallowEnterKey: false,\r\n\t\t\t\tposition: 'top',\r\n\t\t\t\tbackdrop: 'rgba(0,0,0,0.5)',\r\n\r\n\t\t\t}).then((result) => {\r\n\t\t\t\tif (result.isConfirmed) {\r\n\t\t\t\t\tlocalStorage.setItem('policy_consent_sdoc', 'true');\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t}, [user, isAccepted, isInitialized])\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\"NBTC\"\r\n\t\t\t\t\r\n\r\n\r\n\t\t\t\t\r\n\t\t\t\t\tNBTC DATA PORTAL

สำหรับ\r\n\t\t\t\t\t{/* ระบบกลางการเชื่อมต่อข้อมูลกับหน่วยงานภายนอกแบบอัตโนมัติ
(NBTC DATA PORTAL) */}\r\n\t\t\t\t
\r\n\r\n\t\t\t\tการยื่นแบบรับรองตนเองของผู้ประกอบการ (SDoC)\r\n\r\n\t\t\t\t{/* \r\n\t\t\t\t\tสำหรับผู้ประกอบการ \r\n\t\t\t\t\t\r\n\t\t\t\t\t{process.env.REACT_APP_HOST_ENV === 'production'\r\n\t\t\t\t\t\t? ''\r\n\t\t\t\t\t\t: process.env.REACT_APP_HOST_ENV}\r\n\t\t\t\t */}\r\n\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{isLoading\r\n\t\t\t\t\t\t\t? 'กำลังเข้าสู่ระบบ...'\r\n\t\t\t\t\t\t\t: 'ยืนยันตัวตนด้วย Digital ID เพื่อเข้าสู่ระบบ\t'}\r\n\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\r\n\t\t\t\t\r\n\t\t\t\t\tระบบกลางการเชื่อมต่อข้อมูลกับหน่วยงานภายนอกแบบอัตโนมัติ
(NBTC DATA PORTAL)\r\n\t\t\t\t\r\n\t\t\t\r\n\r\n\t\t\r\n\t)\r\n}\r\n\r\nexport default SignIn\r\n","import React from 'react'\r\nimport {\r\n\tButton,\r\n\tGrid,\r\n\tCard,\r\n\tDivider,\r\n} from '@material-ui/core'\r\n\r\nimport logo from 'assets/images/NBTC-logo.png'\r\nimport { makeStyles } from '@material-ui/core/styles'\r\n\r\nimport Swal from 'sweetalert2/dist/sweetalert2.js'\r\nimport 'sweetalert2/dist/sweetalert2.min.css'\r\nimport { API_BASE_END_POINT } from 'config'\r\n\r\nconst useStyles = makeStyles(theme => {\r\n\treturn {\r\n\t\tAppDescription: {\r\n\t\t\tfontSize: '24px',\r\n\t\t},\r\n\t\tAppDescriptionSpan: {\r\n\t\t\tcolor: theme.palette.primary.main,\r\n\t\t},\r\n\t}\r\n})\r\nconst FormSelectService = ({ onSelectService }) => {\r\n\tconst classes = useStyles()\r\n\tconst showUpdateTokenModal = () => {\r\n\t\t// fire Swal with input box to put new token and submit button POST method\r\n\t\tSwal.fire({\r\n\t\t\ttitle: 'อัพเดทข้อมูลการมอบอำนาจ',\r\n\t\t\tinput: 'textarea',\r\n\t\t\tinputLabel: 'URL',\r\n\t\t\tinputPlaceholder: 'ใส่ URL ที่ได้รับจากการเข้าสู่ระบบ',\r\n\t\t\tshowCancelButton: true,\r\n\t\t\tconfirmButtonText: 'อัพเดท',\r\n\t\t\tshowLoaderOnConfirm: true,\r\n\t\t\t// FromForm\r\n\t\t\tpreConfirm: (newToken) => {\r\n\t\t\t\tconst formData = new FormData();\r\n\t\t\t\tformData.append('newToken', newToken);\r\n\r\n\t\t\t\treturn fetch(`${API_BASE_END_POINT}/api/OperatorUsers/UpdateSPLoginToken`, {\r\n\t\t\t\t\tmethod: 'POST',\r\n\t\t\t\t\tbody: formData\r\n\t\t\t\t})\r\n\t\t\t\t\t.then(response => {\r\n\t\t\t\t\t\tif (!response.ok) {\r\n\t\t\t\t\t\t\treturn response.json().then(data => {\r\n\t\t\t\t\t\t\t\tthrow new Error(data.message);\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\treturn response.json()\r\n\t\t\t\t\t})\r\n\t\t\t\t\t.catch(error => {\r\n\t\t\t\t\t\tSwal.showValidationMessage(`Request failed: ${error}`)\r\n\t\t\t\t\t})\r\n\t\t\t},\r\n\t\t\tinputAttributes: {\r\n\t\t\t\tautocomplete: 'off' // Disable autocomplete\r\n\t\t\t},\r\n\t\t\tallowOutsideClick: () => !Swal.isLoading(),\r\n\t\t}).then(result => {\r\n\t\t\tif (result.isConfirmed) {\r\n\t\t\t\tSwal.fire('อัพเดทข้อมูลสำเร็จ')\r\n\t\t\t}\r\n\t\t})\r\n\r\n\t}\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\"NBTC\"\r\n\t\t\t\t\r\n\r\n\t\t\t\t\r\n\t\t\t\t\tNBTC DATA PORTAL

สำหรับ\r\n\t\t\t\t\t{/* ระบบกลางการเชื่อมต่อข้อมูลกับหน่วยงานภายนอกแบบอัตโนมัติ
(NBTC DATA PORTAL) */}\r\n\t\t\t\t\r\n\r\n\t\t\t\tการยื่นแบบรับรองตนเองของผู้ประกอบการ (SDoC)\r\n\r\n\r\n\t\t\t\t\r\n\r\n\t\t\t\t\t\r\n\r\n\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t onSelectService('sdoc')}\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\tเลือกผู้ประกอบการ\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t{/* onSelectService('sdoc')}\r\n\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\tSDOC\r\n\t\t\t\t\t\t */}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\tระบบกลางการเชื่อมต่อข้อมูลกับหน่วยงานภายนอกแบบอัตโนมัติ
(NBTC DATA PORTAL)\r\n\t\t\t\t\r\n\t\t\t\t\r\n\r\n\t\t\t\t\t{window.location.search.includes('_token=U1BMb2dpblRva2VuRm9yVG9vTG9uZ1JlcXVlc3Q=') ?\r\n\t\t\t\t\t\t showUpdateTokenModal()}\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\tอัพเดทข้อมูลการมอบอำนาจ\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t: null}\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t\r\n\t)\r\n}\r\n\r\nexport default FormSelectService\r\n","import React, { useEffect, useState } from 'react'\r\nimport { makeStyles } from '@material-ui/core/styles'\r\nimport { useStoreActions, useStoreState } from 'store'\r\nimport {\r\n\tTable,\r\n\tTableBody,\r\n\tTableCell,\r\n\tTableContainer,\r\n\tTableHead,\r\n\tTableRow,\r\n\tPaper,\r\n\tButton,\r\n\tCircularProgress,\r\n} from '@material-ui/core'\r\nimport { now } from '../../../../../../node_modules/moment/moment'\r\nconst useStyles = makeStyles({\r\n\ttable: {\r\n\t\twidth: '100%',\r\n\t},\r\n})\r\n\r\nexport default function TablePOA(props) {\r\n\tconst classes = useStyles()\r\n\tconst { data } = useStoreState(state => state.poa)\r\n\tconst selectPOA = useStoreActions(action => action.poa.setSelected)\r\n\tconst [loading, setLoading] = useState(false)\r\n\r\n\tuseEffect(() => {\r\n\t\t// console.log('data',data)\r\n\t\tselectPOA(null)\r\n\t\t// eslint-disable-next-line\r\n\t}, [])\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tเลขประจำตัวผู้เสียภาษี\r\n\r\n\t\t\t\t\t\tระยะเวลามอบอำนาจ\r\n\t\t\t\t\t\tชื่อผู้ประกอบการ\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t-\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t-\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tบุคคลธรรมดา\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\tselectPOA(0)\r\n\t\t\t\t\t\t\t\t\tsetLoading(true)\r\n\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\tdisabled={loading}\r\n\t\t\t\t\t\t\t\tcolor=\"primary\"\r\n\t\t\t\t\t\t\t\tvariant=\"contained\">\r\n\t\t\t\t\t\t\t\tเลือก\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t{data.map(row => {\r\n\t\t\t\t\t\tvar exp = new Date(new String(row.expireDate).split('/')[2] + '-' + new String(row.expireDate).split('/')[1] + '-' + new String(row.expireDate).split('/')[0])\r\n\t\t\t\t\t\t// if (row.expireDate == null){\r\n\t\t\t\t\t\t// \t// if expireDate is null, set expireDate to today + 1 day\r\n\t\t\t\t\t\t// \texp = new Date()\r\n\t\t\t\t\t\t// \texp.setDate(exp.getDate() + 7)\r\n\t\t\t\t\t\t// }\r\n\t\t\t\t\t\tvar now = new Date()\r\n\t\t\t\t\t\texp.setDate(exp.getDate() + 1)\r\n\t\t\t\t\t\tconsole.log('exp', exp.getTime())\r\n\t\t\t\t\t\tconsole.log('now', now.getTime())\r\n\t\t\t\t\t\tif (exp.getTime() >= now.getTime()) {\r\n\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{row.juristicNo}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{row.startDate} ถึง {row.expireDate ? row.expireDate : 'ไม่มีกำหนด'}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{row.operator ? row.operator.operatorName : 'ไม่พบในระบบ'}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\t\t\tselectPOA(row)\r\n\t\t\t\t\t\t\t\t\t\t\t\tsetLoading(true)\r\n\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\tdisabled={loading}\r\n\t\t\t\t\t\t\t\t\t\t\tcolor=\"primary\"\r\n\t\t\t\t\t\t\t\t\t\t\tvariant=\"contained\">\r\n\t\t\t\t\t\t\t\t\t\t\t{loading && }\r\n\t\t\t\t\t\t\t\t\t\t\t{!loading && 'เลือก'}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t})}\r\n\r\n\r\n\r\n\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\t)\r\n}\r\n","import { forwardRef, useRef } from 'react'\r\nimport {\r\n\tGrid,\r\n\tDialog,\r\n\tDialogTitle,\r\n\tDialogContent,\r\n\tDialogContentText,\r\n\tDialogActions,\r\n\tSlide,\r\n\tIconButton,\r\n\tButton,\r\n\tuseMediaQuery,\r\n} from '@material-ui/core'\r\nimport { Close } from '@material-ui/icons'\r\nimport TablePOA from './TablePOA'\r\nimport { useTheme } from '@material-ui/core/styles'\r\n\r\nexport default function SelectOperatorModal({\r\n\topen,\r\n\tonClose,\r\n\ttitle,\r\n\theader_icon,\r\n\tisError\r\n}) {\r\n\tconst theme = useTheme()\r\n\tconst fullScreen = useMediaQuery(theme.breakpoints.down('sm'))\r\n\tconst descriptionElementRef = useRef(null)\r\n\t\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{header_icon}\r\n\t\t\t\t\t\t{title}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t{!isError && ()}\r\n\t\t\t\t{isError && (
ไม่สามารถเรียกข้อมูลได้ กรุณาลองใหม่อีกครั้ง
)}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tปิด\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n\r\nconst Transition = forwardRef(function Transtition(props, ref) {\r\n\treturn \r\n})\r\n","import React, { useState, useEffect } from 'react'\r\nimport {\r\n\tGrid,\r\n\tTextField,\r\n\tCard,\r\n\tButton,\r\n\tDivider,\r\n\tFormControlLabel,\r\n\tCheckbox,\r\n\tSnackbar,\r\n} from '@material-ui/core'\r\nimport MuiAlert from '@material-ui/lab/Alert'\r\n\r\nimport logo from 'assets/images/NBTC-logo.png'\r\n\r\nimport { useStoreState } from 'store'\r\n\r\nfunction Alert(props) {\r\n\treturn \r\n}\r\n\r\nexport default function RegisterCompany(props) {\r\n\tconst { goBack, onSubmit: submitRegisterCompany } = props\r\n\r\n\tconst { servicePortalToken } = useStoreState(s => s.userModel)\r\n\tconst [company, setCompany] = useState({ qosType: [], address: '' })\r\n\tconst dataDBD = useStoreState(s => s.poa.dataDBD)\r\n\tconst [openSnack, setOpenSnack] = useState(false)\r\n\tconst handleCloseSnack = () => {\r\n\t\tsetOpenSnack(false)\r\n\t}\r\n\r\n\tuseEffect(() => {\r\n\t\tlet address = ''\r\n\t\tif (dataDBD.AddressInformations[0]) {\r\n\t\t\tlet addressInfo = dataDBD.AddressInformations[0]\r\n\t\t\tif (addressInfo.Province === 'กรุงเทพมหานคร') {\r\n\t\t\t\taddress = `${addressInfo.FullAddress} แขวง ${addressInfo.Tumbol} เขต ${addressInfo.Ampur} ${addressInfo.Province}`\r\n\t\t\t} else {\r\n\t\t\t\taddress = `${addressInfo.FullAddress} ตำบล ${addressInfo.Tumbol} อำเภอ ${addressInfo.Ampur} จังหวัด ${addressInfo.Province}`\r\n\t\t\t}\r\n\t\t}\r\n\t\tlet newValue = { ...company, address: address }\r\n\t\tsetCompany({ ...newValue, ...dataDBD })\r\n\t\t// eslint-disable-next-line\r\n\t}, [])\r\n\r\n\tconst handleFormSubmit = () => {\r\n\t\t// if (company.qosType.length === 0) {\r\n\t\t// \tsetOpenSnack(true)\r\n\t\t// \treturn false\r\n\t\t// }\r\n\t\tsubmitRegisterCompany({ _token: servicePortalToken, company: company })\r\n\t}\r\n\r\n\tconst handleCheckboxType = e => {\r\n\t\tlet newVal = []\r\n\t\tconst selectVal = parseInt(e.target.value)\r\n\t\tif (e.target.checked) {\r\n\t\t\tif (selectVal === 2) {\r\n\t\t\t\tnewVal = [...company.qosType, 2]\r\n\t\t\t} else if (selectVal === 1) {\r\n\t\t\t\tnewVal = [...company.qosType, 1]\r\n\t\t\t}\r\n\t\t} else if (!e.target.checked) {\r\n\t\t\tif (selectVal === 2) {\r\n\t\t\t\tnewVal = company.qosType.filter(e => e !== 2)\r\n\t\t\t} else if (selectVal === 1) {\r\n\t\t\t\tnewVal = company.qosType.filter(e => e !== 1)\r\n\t\t\t}\r\n\t\t}\r\n\t\tsetCompany({ ...company, qosType: newVal })\r\n\t}\r\n\t// <-------------------------------------\r\n\r\n\t// ------------------------------------->\r\n\t// Searching Users\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\"NBTC\"\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\tลงทะเบียนระบบ Data Portal\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t<>\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t{/* <>\r\n\t\t\t\t\t\t\tชุดข้อมูล\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\tlabel={'ชุดข้อมูลแบบประจำที่'}\r\n\t\t\t\t\t\t\t\t/>\r\n\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\tlabel={'ชุดข้อมูลแบบเคลื่อนที่'}\r\n\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t */}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tย้อนกลับ\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tยืนยันการลงทะเบียน\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\r\n\t\t\t\t{/* \r\n\t\t\t\t\t\r\n\t\t\t\t\t\tต้องเลือกอย่างน้อย 1 ชุดข้อมูล\r\n\t\t\t\t\t\r\n\t\t\t\t */}\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n","import React, { useState, useEffect } from 'react'\r\nimport { Grid } from '@material-ui/core'\r\nimport { SendOutlined } from '@material-ui/icons'\r\nimport NotifyModal from 'components/NotifyModal'\r\nimport FormSelectService from './components/FormSelectService'\r\nimport SelectOperatorModal from './components/SelectOperatorModal'\r\nimport FormRegisterCompany from './components/RegisterCompany'\r\nimport { users, operators } from 'api/index'\r\nimport { useHistory } from 'react-router-dom'\r\n\r\nimport { useStoreActions, useStoreState } from 'store/index'\r\n\r\nimport Swal from 'sweetalert2'\r\nimport 'sweetalert2/dist/sweetalert2.min.css'\r\n\r\nconst isShowSwal = false\r\n\r\nconst Identify = () => {\r\n\t// const history = useHistory()\r\n\t// const { servicePortalToken } = useStoreState(s => s.userModel)\r\n\t// const selectedPOA = useStoreState(s => s.poa.selected)\r\n\r\n\t// const signinSdoc = useStoreActions(a => a.sdocUserModel.signInUser)\r\n\t// const { setServicePortalToken, signin: signinQos } = useStoreActions(\r\n\t// \ta => a.userModel\r\n\t// )\r\n\tconst history = useHistory()\r\n\tconst { servicePortalToken } = useStoreState(s => s.userModel)\r\n\tconst selectedPOA = useStoreState(s => s.poa.selected)\r\n\tconst POA = useStoreState(s => s.poa.data)\r\n\tconst actionIdentify = useStoreActions(a => a.userModel.identify)\r\n\tconst signinSdoc = useStoreActions(a => a.sdocUserModel.signInUser)\r\n\tconst { setServicePortalToken, signin: signinQos } = useStoreActions(\r\n\t\ta => a.userModel\r\n\t)\r\n\r\n\tconst {\r\n\t\tsetData: setPOAData,\r\n\t\tsetDataDBD,\r\n\t\tsetSelected: selectPOA,\r\n\t} = useStoreActions(a => a.poa)\r\n\r\n\t// const { setDataDBD } = useStoreActions(a => a.poa)\r\n\r\n\tconst signinQosWithRegisterCompany = useStoreActions(\r\n\t\ta => a.userModel.signinQosWithRegisterCompany\r\n\t)\r\n\t// eslint-disable-next-line\r\n\tconst [loadPoaSuccess, setLoadPoaSuccess] = useState(false)\r\n\t// eslint-disable-next-line\r\n\tconst [selectPOAError, setSelectPOAError] = useState(false)\r\n\r\n\tconst [openNoPOAModal, setOpenNoPOAModal] = useState(false)\r\n\t// eslint-disable-next-line\r\n\tconst [openPOAModal, setOpenPOAModal] = useState(false)\r\n\tconst [activeRegisterCompany, setActiveRegisterCompany] = useState(false)\r\n\r\n\tconst onSelectService = service => {\r\n\t\t// signinSdoc({ _token: servicePortalToken })\r\n\t\t// \t.then(data => {\r\n\t\t// \t\tif (data !== null) {\r\n\t\t// \t\t\thistory.replace('/sdoc')\r\n\t\t// \t\t}\r\n\t\t// \t})\r\n\t\t// \t.catch(() => {\r\n\t\t// \t\talert('error case 1')\r\n\t\t// \t})\r\n\r\n\t\tif (POA) {\r\n\t\t\tsetOpenPOAModal(true)\r\n\t\t} else {\r\n\t\t\t// setOpenNoPOAModal(true)\r\n\t\t}\r\n\t}\r\n\tconst submitRegisterCompany = async payload => {\r\n\t\tawait signinQosWithRegisterCompany(payload)\r\n\t\t\t.then(e => {\r\n\t\t\t\thistory.replace('/sdoc')\r\n\t\t\t})\r\n\t\t\t.catch(e => {\r\n\t\t\t\tconsole.log(e)\r\n\t\t\t})\r\n\t}\r\n\tuseEffect(() => {\r\n\t\tif (isShowSwal) {\r\n\t\t\tSwal.fire({\r\n\t\t\t\ttitle: 'ประกาศปิดปรับปรุงระบบ',\r\n\t\t\t\thtml: `\r\n\t\t\t\t
\r\n\t\t\t\t\t

ประกาศแจ้งปิดระบบทำการปิดปรับปรุงระบบฉุกเฉิน ขออภัยในความไม่สะดวก ทางสำนักงาน กสทช. จะเร่งดำเนินการเพื่อให้ท่านสามารถยื่นคำขอรับบริการหรืออนุญาตได้โดยเร็วที่สุด

\r\n\t\t\t\t\t

สำนักงาน กสทช.

\r\n\t\t\t\t
\r\n\t\t\t `,\r\n\t\t\t\ticon: 'warning',\r\n\t\t\t\twidth: '700',\r\n\t\t\t\tshowCancelButton: false,\r\n\t\t\t\tconfirmButtonText: 'ข้าพเจ้าได้อ่านและรับทราบแล้ว',\r\n\t\t\t\treverseButtons: true,\r\n\t\t\t});\r\n\t\t}\r\n\t\t// const urlSearchParams = new URLSearchParams(window.location.search)\r\n\t\t// const params = Object.fromEntries(urlSearchParams.entries())\r\n\r\n\t\t// setServicePortalToken(params._token)\r\n\r\n\t\t// signinSdoc({ _token: params._token })\r\n\t\t// \t.then(data => {\r\n\t\t// \t\tif (data !== null) {\r\n\t\t// \t\t\thistory.replace('/sdoc')\r\n\t\t// \t\t}\r\n\t\t// \t})\r\n\t\t// \t.catch(() => {\r\n\t\t// \t\talert('error case 1')\r\n\t\t// \t})\r\n\t\tconst urlSearchParams = new URLSearchParams(window.location.search)\r\n\t\tconst params = Object.fromEntries(urlSearchParams.entries())\r\n\t\tasync function getListPOASDoC(token) {\r\n\t\t\tconst res = await users.getMyPOASDoC(token)\r\n\t\t\tif (res) {\r\n\t\t\t\tsetPOAData(res)\r\n\t\t\t\tsetLoadPoaSuccess(true)\r\n\t\t\t} else {\r\n\t\t\t\tsetPOAData(null)\r\n\t\t\t\tsetLoadPoaSuccess(true)\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (!params._token) {\r\n\t\t\t// history.replace('/sign-in')\r\n\t\t}\r\n\t\tsetServicePortalToken(params._token)\r\n\r\n\t\tactionIdentify({ _token: params._token })\r\n\t\t\t.then(data => { })\r\n\t\t\t.catch(() => {\r\n\t\t\t\tsetOpenNoPOAModal(true)\r\n\t\t\t})\r\n\r\n\t\tgetListPOASDoC(params._token)\r\n\r\n\t\t// eslint-disable-next-line\r\n\t}, [])\r\n\r\n\tuseEffect(() => {\r\n\t\tif (selectedPOA !== null && selectedPOA.operator !== null) {\r\n\t\t\tif (selectedPOA !== 0) {\r\n\t\t\t\tsigninSdoc({ _token: servicePortalToken, poa: selectedPOA.juristicNo })\r\n\t\t\t\t\t.then(data => {\r\n\t\t\t\t\t\tif (data !== null) {\r\n\t\t\t\t\t\t\thistory.replace('/sdoc')\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t})\r\n\t\t\t\t\t.catch(() => {\r\n\t\t\t\t\t\talert('error case 1')\r\n\t\t\t\t\t})\r\n\t\t\t} else {\r\n\t\t\t\tsigninSdoc({ _token: servicePortalToken, poa: null })\r\n\t\t\t\t\t.then(data => {\r\n\t\t\t\t\t\tif (data !== null) {\r\n\t\t\t\t\t\t\thistory.replace('/sdoc')\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t})\r\n\t\t\t\t\t.catch(() => {\r\n\t\t\t\t\t\talert('error case 1')\r\n\t\t\t\t\t})\r\n\t\t\t}\r\n\t\t} else if (selectedPOA !== null && selectedPOA.operator === null) {\r\n\t\t\toperators\r\n\t\t\t\t.getOperatorInfoDBD({ taxno: selectedPOA.juristicNo })\r\n\t\t\t\t.then(e => {\r\n\t\t\t\t\tif (e.status !== 200) {\r\n\t\t\t\t\t\tsetSelectPOAError(true)\r\n\t\t\t\t\t\treturn false\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\treturn e\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t\t.then(e => e.data)\r\n\t\t\t\t.then(data => {\r\n\t\t\t\t\tif (data?.data1000101001) {\r\n\t\t\t\t\t\tconst foundCompany = data.data1000101001.ResultList[0]\r\n\t\t\t\t\t\tsetDataDBD(foundCompany)\r\n\t\t\t\t\t\tsetOpenPOAModal(false)\r\n\t\t\t\t\t\tsetActiveRegisterCompany(true)\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tconst blankData = {\r\n\t\t\t\t\t\t\t\"ResultList\": [\r\n\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\"JuristicType\": null,\r\n\t\t\t\t\t\t\t\t\t\"JuristicID\": selectedPOA.juristicNo,\r\n\t\t\t\t\t\t\t\t\t\"OldJuristicID\": null,\r\n\t\t\t\t\t\t\t\t\t\"RegisterDate\": null,\r\n\t\t\t\t\t\t\t\t\t\"JuristicName_TH\": null,\r\n\t\t\t\t\t\t\t\t\t\"JuristicName_EN\": null,\r\n\t\t\t\t\t\t\t\t\t\"RegisterCapital\": null,\r\n\t\t\t\t\t\t\t\t\t\"PaidRegisterCapital\": null,\r\n\t\t\t\t\t\t\t\t\t\"NumberOfObjective\": null,\r\n\t\t\t\t\t\t\t\t\t\"NumberOfPageOfObjective\": null,\r\n\t\t\t\t\t\t\t\t\t\"JuristicStatus\": null,\r\n\t\t\t\t\t\t\t\t\t\"StandardID\": null,\r\n\t\t\t\t\t\t\t\t\t\"CommitteeInformations\": [\r\n\t\t\t\t\t\t\t\t\t],\r\n\t\t\t\t\t\t\t\t\t\"AuthorizeDescriptions\": [\r\n\t\t\t\t\t\t\t\t\t],\r\n\t\t\t\t\t\t\t\t\t\"StandardObjectives\": [\r\n\t\t\t\t\t\t\t\t\t],\r\n\t\t\t\t\t\t\t\t\t\"AddressInformations\": [\r\n\t\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\t\t\"Sequence\": null,\r\n\t\t\t\t\t\t\t\t\t\t\t\"AddressName\": null,\r\n\t\t\t\t\t\t\t\t\t\t\t\"FullAddress\": null,\r\n\t\t\t\t\t\t\t\t\t\t\t\"Building\": null,\r\n\t\t\t\t\t\t\t\t\t\t\t\"RoomNo\": null,\r\n\t\t\t\t\t\t\t\t\t\t\t\"Floor\": null,\r\n\t\t\t\t\t\t\t\t\t\t\t\"VillageName\": null,\r\n\t\t\t\t\t\t\t\t\t\t\t\"AddressNo\": null,\r\n\t\t\t\t\t\t\t\t\t\t\t\"Moo\": null,\r\n\t\t\t\t\t\t\t\t\t\t\t\"Soi\": null,\r\n\t\t\t\t\t\t\t\t\t\t\t\"Road\": null,\r\n\t\t\t\t\t\t\t\t\t\t\t\"Tumbol\": null,\r\n\t\t\t\t\t\t\t\t\t\t\t\"Ampur\": null,\r\n\t\t\t\t\t\t\t\t\t\t\t\"Province\": null,\r\n\t\t\t\t\t\t\t\t\t\t\t\"Phone\": null,\r\n\t\t\t\t\t\t\t\t\t\t\t\"Email\": null\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t]\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t]\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tconst foundCompany = blankData.ResultList[0];\r\n\t\t\t\t\t\tsetDataDBD(foundCompany)\r\n\t\t\t\t\t\tsetOpenPOAModal(false)\r\n\t\t\t\t\t\tsetActiveRegisterCompany(true)\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t\t.catch(err => {\r\n\t\t\t\t\tconsole.error(err)\r\n\t\t\t\t})\r\n\t\t}\r\n\t\t// eslint-disable-next-line\r\n\t}, [selectedPOA])\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{loadPoaSuccess && !activeRegisterCompany && (\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t\t{activeRegisterCompany && (\r\n\t\t\t\t {\r\n\t\t\t\t\t\tsetActiveRegisterCompany(false)\r\n\t\t\t\t\t}}\r\n\t\t\t\t/>\r\n\t\t\t)}\r\n\t\t\t\r\n\t\t\t\t}\r\n\t\t\t\topen={openNoPOAModal}\r\n\t\t\t\tonClose={() => {\r\n\t\t\t\t\tsetOpenNoPOAModal(false)\r\n\t\t\t\t\thistory.replace('/signin')\r\n\t\t\t\t}}\r\n\t\t\t/>\r\n\r\n\t\t\t\r\n\t\t\t\t}\r\n\t\t\t\tisError={selectPOAError}\r\n\t\t\t\topen={openPOAModal}\r\n\t\t\t\tonClose={() => {\r\n\t\t\t\t\tselectPOA(null)\r\n\t\t\t\t\tsetOpenPOAModal(false)\r\n\t\t\t\t\tsetSelectPOAError(false)\r\n\t\t\t\t}}\r\n\t\t\t/>\r\n\t\t\r\n\t)\r\n}\r\n\r\nexport default Identify\r\n","import React, { useState } from 'react'\r\nimport {\r\n\tCard,\r\n\tGrid,\r\n\tDivider,\r\n\tRadioGroup,\r\n\tFormControlLabel,\r\n\tRadio,\r\n\tInputBase,\r\n\tButton,\r\n\tSelect,\r\n\tMenuItem,\r\n\tTextField,\r\n\tFormControl,\r\n} from '@material-ui/core'\r\nimport { Business } from '@material-ui/icons'\r\nimport { operators } from 'api/index'\r\nimport { useStoreState } from '../../../store/index'\r\nimport { useEffect } from 'react'\r\n\r\nexport default function ProfileCardV3({\r\n\tsenderState,\r\n\tconfirmationInfo,\r\n\tonChangeUserInfo,\r\n\tonChangeSenderType,\r\n\tonChangeCompanyInfo,\r\n\tonSubmitNormalPerson,\r\n\tonSubmitOrganizationInfo,\r\n\tonSubmitOrganizationBranch,\r\n\taddressList,\r\n}) {\r\n\t// eslint-disable-next-line\r\n\tconst [selectPOAError, setSelectPOAError] = useState(false)\r\n\t// eslint-disable-next-line\r\n\tconst [dbdData, setDbdData] = useState(null)\r\n\tconst userSDOC = useStoreState(s => s.sdocUserModel.userSDOC)\r\n\tconst [ProvinceList, setProvinceList] = useState([]);\r\n\tconst [DistrictList, setDistrictList] = useState([]);\r\n\tconst [AmphoeList, setAmphoeList] = useState([]);\r\n\tconst [ProvinceListNP, setProvinceListNP] = useState([]);\r\n\tconst [DistrictListNP, setDistrictListNP] = useState([]);\r\n\tconst [AmphoeListNP, setAmphoeListNP] = useState([]);\r\n\r\n\tconst [currentProvince, setCurrentProvince] = useState('');\r\n\tconst [currentAmphoe, setCurrentAmphoe] = useState('');\r\n\tconst [currentDistrict, setCurrentDistrict] = useState('');\r\n\r\n\tconst isEmailValid = (email) => {\r\n\t\t// Simple email validation check\r\n\t\tconst emailRegex = /^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/;\r\n\t\treturn emailRegex.test(email);\r\n\t};\r\n\r\n\r\n\tconst initProvinceList = async () => {\r\n\t\tconst availableSelection = { province: [], district: [], amphoe: [] }\r\n\t\taddressList.map((item) => {\r\n\t\t\tif (!availableSelection.province.includes(item.province)) {\r\n\t\t\t\tavailableSelection.province.push(item.province)\r\n\t\t\t}\r\n\t\t})\r\n\t\tsetProvinceList(availableSelection.province)\r\n\t\tsetProvinceListNP(availableSelection.province)\r\n\t}\r\n\r\n\tconst updateAvailableAddress = async (name, value) => {\r\n\t\tvar availableAddress = []\r\n\t\tif (name == 'province') {\r\n\t\t\tsetCurrentProvince(value)\r\n\t\t\tavailableAddress = addressList.filter((item) => item.province === value)\r\n\t\t} else if (name == 'amphoe') {\r\n\t\t\tsetCurrentAmphoe(value)\r\n\t\t\tavailableAddress = addressList.filter((item) =>\r\n\t\t\t\titem.province === currentProvince &&\r\n\t\t\t\titem.amphoe === value)\r\n\t\t} else if (name == 'district') {\r\n\t\t\tsetCurrentDistrict(value)\r\n\t\t\tavailableAddress = addressList.filter((item) =>\r\n\t\t\t\titem.province === currentProvince &&\r\n\t\t\t\titem.amphoe === currentAmphoe &&\r\n\t\t\t\titem.district === value)\r\n\t\t}\r\n\r\n\t\tif (availableAddress.length > 0) {\r\n\t\t\tconst availableSelection = { province: [], district: [], amphoe: [], zipcode: [] }\r\n\t\t\tavailableAddress.map((item) => {\r\n\t\t\t\tif (!availableSelection.district.includes(item.district)) {\r\n\t\t\t\t\tavailableSelection.district.push(item.district)\r\n\t\t\t\t}\r\n\t\t\t\tif (!availableSelection.amphoe.includes(item.amphoe)) {\r\n\t\t\t\t\tavailableSelection.amphoe.push(item.amphoe)\r\n\t\t\t\t}\r\n\t\t\t\tif (!availableSelection.zipcode.includes(item.zipcode)) {\r\n\t\t\t\t\tavailableSelection.zipcode.push(item.zipcode)\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t\t// setProvinceListNP(availableSelection.province)\r\n\t\t\tif (name == 'province') {\r\n\t\t\t\tsetAmphoeList(availableSelection.amphoe)\r\n\t\t\t\tsetDistrictList([]);\r\n\t\t\t} else if (name == 'amphoe') {\r\n\t\t\t\tsetDistrictList(availableSelection.district)\r\n\t\t\t} else if (name == 'district') {\r\n\t\t\t\tlet newData = confirmationInfo.organization\r\n\t\t\t\tonChangeCompanyInfo({\r\n\t\t\t\t\t...newData,\r\n\t\t\t\t\tdistrict: value,\r\n\t\t\t\t\tzipcode: availableSelection.zipcode[0],\r\n\t\t\t\t})\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tsetDistrictList([]);\r\n\t\t\tsetAmphoeList([]);\r\n\t\t\tlet newData = confirmationInfo.organization\r\n\t\t\tonChangeUserInfo({\r\n\t\t\t\t...newData,\r\n\t\t\t\tdistrict: '',\r\n\t\t\t\tamphoe: '',\r\n\t\t\t\tprovince: '',\r\n\t\t\t\tzipcode: '',\r\n\t\t\t})\r\n\t\t}\r\n\t}\r\n\r\n\tconst updateAvailableAddressNP = async (name, value) => {\r\n\t\tvar availableAddress = []\r\n\t\tif (name == 'province') {\r\n\t\t\tavailableAddress = addressList.filter((item) => item.province === value)\r\n\t\t} else if (name == 'amphoe') {\r\n\t\t\tavailableAddress = addressList.filter((item) =>\r\n\t\t\t\titem.province === confirmationInfo.normal_person.province &&\r\n\t\t\t\titem.amphoe === value)\r\n\t\t} else if (name == 'district') {\r\n\t\t\tavailableAddress = addressList.filter((item) =>\r\n\t\t\t\titem.province === confirmationInfo.normal_person.province &&\r\n\t\t\t\titem.amphoe === confirmationInfo.normal_person.amphoe &&\r\n\t\t\t\titem.district === value)\r\n\t\t}\r\n\r\n\t\tif (availableAddress.length > 0) {\r\n\t\t\tconst availableSelection = { province: [], district: [], amphoe: [], zipcode: [] }\r\n\t\t\tavailableAddress.map((item) => {\r\n\t\t\t\tif (!availableSelection.district.includes(item.district)) {\r\n\t\t\t\t\tavailableSelection.district.push(item.district)\r\n\t\t\t\t}\r\n\t\t\t\tif (!availableSelection.amphoe.includes(item.amphoe)) {\r\n\t\t\t\t\tavailableSelection.amphoe.push(item.amphoe)\r\n\t\t\t\t}\r\n\t\t\t\tif (!availableSelection.zipcode.includes(item.zipcode)) {\r\n\t\t\t\t\tavailableSelection.zipcode.push(item.zipcode)\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t\t// setProvinceListNP(availableSelection.province)\r\n\t\t\tif (name == 'province') {\r\n\t\t\t\tsetAmphoeListNP(availableSelection.amphoe)\r\n\t\t\t\tsetDistrictListNP([]);\r\n\t\t\t} else if (name == 'amphoe') {\r\n\t\t\t\tsetDistrictListNP(availableSelection.district)\r\n\t\t\t} else if (name == 'district') {\r\n\t\t\t\tlet newData = confirmationInfo.normal_person\r\n\t\t\t\tonChangeUserInfo({\r\n\t\t\t\t\t...newData,\r\n\t\t\t\t\tdistrict: value,\r\n\t\t\t\t\tzipcode: availableSelection.zipcode[0],\r\n\t\t\t\t})\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tsetDistrictListNP([]);\r\n\t\t\tsetAmphoeListNP([]);\r\n\t\t\tlet newData = confirmationInfo.normal_person\r\n\t\t\tonChangeUserInfo({\r\n\t\t\t\t...newData,\r\n\t\t\t\tdistrict: '',\r\n\t\t\t\tamphoe: '',\r\n\t\t\t\tprovince: '',\r\n\t\t\t\tzipcode: '',\r\n\t\t\t})\r\n\t\t}\r\n\t}\r\n\r\n\tconst handleInput = async e => {\r\n\t\tconst { name, value } = e.target\r\n\t\tconst numericValue = name === 'mobile' || name === 'zipcode' || name === 'branchNo' ? value.replace(/[^0-9]/g, '') : value;\r\n\t\tlet newData = confirmationInfo.organization\r\n\t\tonChangeCompanyInfo({ ...newData, [name]: numericValue })\r\n\r\n\t\tif (name === 'branchNo') {\r\n\t\t\tconst newValue = value.replace(/[^0-9]/g, '');\r\n\t\t\tif (value.length === 5) {\r\n\t\t\t\tconst res = await operators.getOperatorInfo({ taxno: userSDOC.poa, branchno: newValue });\r\n\t\t\t\tif (res && res?.status === 200 && res?.data.status !== 'error') {\r\n\t\t\t\t\t// setCurrentDistrict(res?.data?.operatorInfo?.district)\r\n\t\t\t\t\tconst data = res.data\r\n\t\t\t\t\tawait onChangeCompanyInfo({\r\n\t\t\t\t\t\t...newData,\r\n\t\t\t\t\t\ttype: 'organization',\r\n\t\t\t\t\t\tbranchNo: newValue,\r\n\t\t\t\t\t\taddress: data.operatorInfo.address ?? '',\r\n\t\t\t\t\t\temail: data.operatorInfo.email ?? '',\r\n\t\t\t\t\t\tmobile: data.operatorInfo.mobile ?? '',\r\n\t\t\t\t\t\tdistrict: data.operatorInfo.district ?? '',\r\n\t\t\t\t\t\tamphoe: data.operatorInfo.amphoe ?? '',\r\n\t\t\t\t\t\tprovince: data.operatorInfo.province ?? '',\r\n\t\t\t\t\t\tzipcode: data.operatorInfo.zipcode ?? '',\r\n\t\t\t\t\t})\r\n\t\t\t\t\t// console.log(confirmationInfo.organization)\r\n\t\t\t\t\tsetCurrentProvince(res?.data?.operatorInfo?.province)\r\n\t\t\t\t\tsetCurrentAmphoe(res?.data?.operatorInfo?.amphoe)\r\n\t\t\t\t\tsetCurrentDistrict(res?.data?.operatorInfo?.district)\r\n\r\n\r\n\t\t\t\t} else {\r\n\t\t\t\t\tonChangeCompanyInfo({\r\n\t\t\t\t\t\t...newData,\r\n\t\t\t\t\t\ttype: 'organization',\r\n\t\t\t\t\t\tbranchNo: newValue,\r\n\t\t\t\t\t\taddress: '',\r\n\t\t\t\t\t\temail: '',\r\n\t\t\t\t\t\tmobile: '',\r\n\t\t\t\t\t\tdistrict: '',\r\n\t\t\t\t\t\tamphoe: '',\r\n\t\t\t\t\t\tprovince: '',\r\n\t\t\t\t\t\tzipcode: '',\r\n\t\t\t\t\t})\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tonChangeCompanyInfo({\r\n\t\t\t\t\t...newData,\r\n\t\t\t\t\ttype: 'organization',\r\n\t\t\t\t\tbranchNo: newValue,\r\n\t\t\t\t\taddress: '',\r\n\t\t\t\t\temail: '',\r\n\t\t\t\t\tmobile: '',\r\n\t\t\t\t\tdistrict: '',\r\n\t\t\t\t\tamphoe: '',\r\n\t\t\t\t\tprovince: '',\r\n\t\t\t\t\tzipcode: '',\r\n\t\t\t\t})\r\n\t\t\t}\r\n\t\t} else if (name === 'province' || name === 'district' || name === 'amphoe') {\r\n\t\t\tupdateAvailableAddress(name, value)\r\n\t\t\tif (name == 'province') {\r\n\t\t\t\tonChangeCompanyInfo({ ...newData, [name]: value, amphoe: '', district: '', zipcode: '' })\r\n\t\t\t} else if (name == 'amphoe') {\r\n\t\t\t\tonChangeCompanyInfo({ ...newData, [name]: value, district: '', zipcode: '' })\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\tconst handleUserInput = e => {\r\n\t\tconst { name, value } = e.target\r\n\t\t// console.log('name', name, 'value', value)\r\n\t\tconst numericValue = name === 'mobile' || name === 'zipcode' ? value.replace(/[^0-9]/g, '') : value;\r\n\t\tlet newData = confirmationInfo.normal_person;\r\n\t\tonChangeUserInfo({ ...newData, [name]: numericValue });\r\n\r\n\t\tif (name === 'province' || name === 'district' || name === 'amphoe') {\r\n\t\t\tupdateAvailableAddressNP(name, value)\r\n\t\t\tif (name == 'province') {\r\n\t\t\t\tonChangeUserInfo({ ...newData, [name]: value, amphoe: '', district: '', zipcode: '' })\r\n\t\t\t} else if (name == 'amphoe') {\r\n\t\t\t\tonChangeUserInfo({ ...newData, [name]: value, district: '', zipcode: '' })\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\r\n\r\n\tuseEffect(() => {\r\n\t\tif (addressList.length > 0) {\r\n\t\t\tconsole.log(confirmationInfo)\r\n\t\t\tinitProvinceList()\r\n\t\t\tupdateAvailableAddressNP('province', confirmationInfo.normal_person.province)\r\n\t\t\tupdateAvailableAddressNP('amphoe', confirmationInfo.normal_person.amphoe)\r\n\t\t\t// updateAvailableAddressNP('district', confirmationInfo.normal_person.district)\r\n\t\t\tif (userSDOC.poa && confirmationInfo.organization.branchNo.length === 5) {\r\n\t\t\t\tsetCurrentProvince(confirmationInfo.organization.province)\r\n\t\t\t\tsetCurrentAmphoe(confirmationInfo.organization.amphoe)\r\n\t\t\t\t// setCurrentDistrict(confirmationInfo.organization.district)\r\n\t\t\t}\r\n\t\t}\r\n\t\t// eslint-disable-next-line\r\n\t}, [addressList])\r\n\r\n\tuseEffect(() => {\r\n\t\tif (addressList.length > 0) {\r\n\t\t\tupdateAvailableAddress('province', currentProvince)\r\n\t\t}\r\n\t}, [currentProvince])\r\n\tuseEffect(() => {\r\n\t\tif (addressList.length > 0) {\r\n\t\t\tupdateAvailableAddress('amphoe', currentAmphoe)\r\n\t\t}\r\n\t}, [currentAmphoe])\r\n\tuseEffect(() => {\r\n\t\tif (addressList.length > 0) {\r\n\t\t\t// updateAvailableAddress('district', currentDistrict)\r\n\t\t}\r\n\t}, [currentDistrict])\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t{/* Header */}\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tรายละเอียดผู้ยื่นแบบรับรองตนเอง\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t{/* Normal Person or Organization */}\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tประเภทของข้อมูลผู้ใช้งาน\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tlabel=\"บุคคลธรรมดา\"\r\n\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t{(userSDOC.poa) && (\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\tlabel=\"นิติบุคคล\"\r\n\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t{/* Normal Person or Organization's Name */}\r\n\t\t\t\t{senderState === 'normal_person' && (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tเลขประจำตัวบัตรประชาชน\r\n\t\t\t\t\t\t\t*\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t{/* \r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tเลขที่สาขา\r\n\t\t\t\t\t\t\t\t*\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t */}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tคำนำหน้าชื่อ / ประเภทร้านค้า\r\n\t\t\t\t\t\t\t*\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{/* */}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tนาย\r\n\t\t\t\t\t\t\t\tนาง\r\n\t\t\t\t\t\t\t\tนางสาว\r\n\t\t\t\t\t\t\t\tท่านผู้หญิง\r\n\t\t\t\t\t\t\t\t{/* คุณ */}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t// if branchNo is 00000 or null then show this\r\n\t\t\t\t\t\t\t(confirmationInfo.normal_person.branchNo === '00000' || confirmationInfo.normal_person.branchNo === null) ? (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tชื่อ-นามสกุล\r\n\t\t\t\t\t\t\t\t\t\t*\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tชื่อร้านค้า\r\n\t\t\t\t\t\t\t\t\t\t*\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t{/* \r\n\t\t\t\t\t\t\tที่อยู่\r\n\t\t\t\t\t\t\t*\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t */}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tที่อยู่\r\n\t\t\t\t\t\t\t\t*\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{/* \r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t */}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tจังหวัด\r\n\t\t\t\t\t\t\t\t\t*\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{/* จังหวัด */}\r\n\t\t\t\t\t\t\t\t\t\t{ProvinceListNP.map((item, index) => (\r\n\t\t\t\t\t\t\t\t\t\t\t {item} \r\n\t\t\t\t\t\t\t\t\t\t))}\r\n\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tอำเภอ / เขต\r\n\t\t\t\t\t\t\t\t\t*\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{/* เลือกอำเภอ */}\r\n\t\t\t\t\t\t\t\t\t\t{AmphoeListNP.map((item, index) => (\r\n\t\t\t\t\t\t\t\t\t\t\t {item} \r\n\t\t\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tตำบล / แขวง\r\n\t\t\t\t\t\t\t\t\t*\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{/* เลือกตำบล */}\r\n\t\t\t\t\t\t\t\t\t\t{DistrictListNP.map((item, index) => (\r\n\t\t\t\t\t\t\t\t\t\t\t {item} \r\n\t\t\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tรหัสไปรษณีย์\r\n\t\t\t\t\t\t\t\t\t*\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\r\n\r\n\r\n\r\n\r\n\r\n\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tEmail\r\n\t\t\t\t\t\t\t*\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\r\n\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tเบอร์โทรศัพท์\r\n\t\t\t\t\t\t\t*\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tบันทึกข้อมูลส่วนตัว\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\r\n\t\t\t\t{senderState === 'organization' && (\r\n\t\t\t\t\t<>\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tข้อมูลบริษัท\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tเลขประจำตัวผู้เสียภาษีอากร\r\n\t\t\t\t\t\t\t\t\t\t*\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tประเภทสถานประกอบการ\r\n\t\t\t\t\t\t\t\t\t\t*\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tคำนำหน้าชื่อบริษัท\r\n\t\t\t\t\t\t\t\t\t*\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tบริษัท\r\n\t\t\t\t\t\t\t\t\t\tห้างหุ้นส่วน\r\n\t\t\t\t\t\t\t\t\t\tห้างหุ้นส่วนจำกัด\r\n\t\t\t\t\t\t\t\t\t\tอื่น ๆ\r\n\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{confirmationInfo.organization.prefix === \"อื่นๆ\" && (\r\n\t\t\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t)}\r\n\r\n\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tชื่อหน่วยงาน / ชื่อผู้ประกอบการ\r\n\t\t\t\t\t\t\t\t\t*\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tบันทึกข้อมูลบริษัท\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\tข้อมูลสาขา\r\n\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tรหัสสาขา\r\n\t\t\t\t\t\t\t\t\t*\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tที่อยู่\r\n\t\t\t\t\t\t\t\t\t*\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{/* \r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t */}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tจังหวัด\r\n\t\t\t\t\t\t\t\t\t\t*\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{/* จังหวัด */}\r\n\t\t\t\t\t\t\t\t\t\t\t{ProvinceList.map((item, index) => (\r\n\t\t\t\t\t\t\t\t\t\t\t\t {item} \r\n\t\t\t\t\t\t\t\t\t\t\t))}\r\n\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tอำเภอ / เขต\r\n\t\t\t\t\t\t\t\t\t\t*\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{/* เลือกอำเภอ */}\r\n\t\t\t\t\t\t\t\t\t\t\t{AmphoeList.map((item, index) => (\r\n\t\t\t\t\t\t\t\t\t\t\t\t {item} \r\n\t\t\t\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tตำบล / แขวง\r\n\t\t\t\t\t\t\t\t\t\t*\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{/* เลือกตำบล */}\r\n\t\t\t\t\t\t\t\t\t\t\t{DistrictList.map((item, index) => (\r\n\t\t\t\t\t\t\t\t\t\t\t\t {item} \r\n\t\t\t\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tรหัสไปรษณีย์\r\n\t\t\t\t\t\t\t\t\t\t*\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tEmail\r\n\t\t\t\t\t\t\t\t\t*\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tเบอร์โทรศัพท์\r\n\t\t\t\t\t\t\t\t\t*\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tบันทึกข้อมูลสาขา\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\r\n\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\r\n\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n","import { useState, useEffect, useCallback } from 'react'\r\nimport { Grid, Button } from '@material-ui/core'\r\nimport { Alert, AlertTitle } from '@material-ui/lab';\r\n\r\nimport ProfileCardV3 from '@components/sdoc/profile-cardV3'\r\nimport SureModal from '@components/SureModal'\r\nimport SuccessModal from '@components/modal/SuccessModal'\r\n\r\nimport { useLocation, useParams, useHistory } from 'react-router-dom'\r\nimport { useQuery } from 'utils/useQuery'\r\nimport {\r\n\t// operators,\r\n\tsdocUser,\r\n\tsdoc,\r\n} from 'api/index'\r\n\r\nimport { frequency, powerUnit, type_equipment } from 'data/sdoc'\r\n\r\nimport Swal from 'sweetalert2/dist/sweetalert2.js'\r\nimport 'sweetalert2/dist/sweetalert2.min.css'\r\n\r\nimport { useStoreState } from 'store/index'\r\n\r\n// Intitial State\r\nconst CONFIRMATION_INFO_STORAGE_INITIAL_STATE = {\r\n\tnormal_person: {\r\n\t\ttype: 'normal-person',\r\n\t\tprefix: '',\r\n\t\tfirstname: '',\r\n\t\tlastname: '',\r\n\t\tname: '',\r\n\t\tcardNo: '',\r\n\t\taddress: '',\r\n\t\taddr: '',\r\n\t\temail: '',\r\n\t\tmobile: '',\r\n\t\tdistrict: '',\r\n\t\tamphoe: '',\r\n\t\tprovince: '',\r\n\t\tzipcode: '',\r\n\t},\r\n\torganization: {\r\n\t\ttype: 'organization',\r\n\t\tbranchNo: '',\r\n\t\tprefix: '',\r\n\t\tname: '',\r\n\t\tcardNo: '',\r\n\t\taddress: '',\r\n\t\temail: '',\r\n\t\tmobile: '',\r\n\t\tdistrict: '',\r\n\t\tamphoe: '',\r\n\t\tprovince: '',\r\n\t\tzipcode: '',\r\n\t},\r\n}\r\n\r\n\r\n\r\n// Page Description: ข้อมูลผู้ใช้งาน\r\nexport default function SDOCProfile() {\r\n\tconst history = useHistory()\r\n\tconst location = useLocation()\r\n\tconst query = useQuery()\r\n\r\n\tconst [operatorId, setOperatorId] = useState('')\r\n\r\n\tconst [AddressList, setAddressList] = useState('')\r\n\r\n\t// Confirmation Info. Status\r\n\tconst [currentSenderState, setCurrentSenderState] = useState('normal_person')\r\n\tconst [confirmationInfoStorage, setConfirmationInfoStorage] = useState(\r\n\t\tCONFIRMATION_INFO_STORAGE_INITIAL_STATE\r\n\t)\r\n\r\n\t// GET POA DATA\r\n\tconst userSDOC = useStoreState(s => s.sdocUserModel.userSDOC)\r\n\t/** <---------------------------------------------------------------------> */\r\n\r\n\t// Organization Detail Function\r\n\r\n\tconst onChangeSenderType = e => {\r\n\t\tconst { value } = e.target\r\n\t\tsetCurrentSenderState(value)\r\n\t}\r\n\r\n\tconst onChangeUserInfo = e => {\r\n\t\tsetConfirmationInfoStorage(prev => ({ ...prev, normal_person: e }))\r\n\t}\r\n\r\n\tconst onChangeCompanyInfo = e => {\r\n\t\tsetConfirmationInfoStorage(prev => ({ ...prev, organization: e }))\r\n\t}\r\n\r\n\tconst onSubmitNormalPerson = async () => {\r\n\t\tconst res = await sdocUser.updateMyProfile({\r\n\t\t\tpoa: userSDOC.poa,\r\n\t\t\t...confirmationInfoStorage.normal_person,\r\n\t\t})\r\n\r\n\t\tif (res && res?.status === 200) {\r\n\t\t\tSwal.fire({\r\n\t\t\t\ticon: 'success',\r\n\t\t\t\ttitle: 'บันทึกข้อมูลสำเร็จ',\r\n\t\t\t\tshowConfirmButton: false,\r\n\t\t\t\ttimer: 1500,\r\n\t\t\t})\r\n\t\t}\r\n\t}\r\n\r\n\tconst onSubmitOrganization = async () => {\r\n\t\t// console.log(confirmationInfoStorage.organization);\r\n\t\tif (confirmationInfoStorage.organization.prefixother !== '' && confirmationInfoStorage.organization.prefix === 'อื่นๆ') {\r\n\t\t\tconfirmationInfoStorage.organization.prefix = confirmationInfoStorage.organization.prefixother;\r\n\t\t}\r\n\t\tconst res = await sdocUser.updateOrganizationV2({\r\n\t\t\toperatorId,\r\n\t\t\tbranchNo: confirmationInfoStorage.organization.branchNo,\r\n\t\t\t...confirmationInfoStorage.organization,\r\n\t\t})\r\n\t\tif (res && res?.status === 200) {\r\n\t\t\tSwal.fire({\r\n\t\t\t\ticon: 'success',\r\n\t\t\t\ttitle: 'บันทึกข้อมูลสำเร็จ',\r\n\t\t\t\tshowConfirmButton: false,\r\n\t\t\t\ttimer: 1500,\r\n\t\t\t})\r\n\t\t}\r\n\t}\r\n\r\n\tconst onSubmitOrganizationInfo = async () => {\r\n\t\tconsole.log(confirmationInfoStorage.organization);\r\n\t\tif (confirmationInfoStorage.organization.prefixother !== '' && confirmationInfoStorage.organization.prefix === 'อื่นๆ') {\r\n\t\t\tconfirmationInfoStorage.organization.prefix = confirmationInfoStorage.organization.prefixother;\r\n\t\t}\r\n\t\tconst res = await sdocUser.updateOrganizationInfo({\r\n\t\t\toperatorId,\r\n\t\t\tbranchNo: confirmationInfoStorage.organization.branchNo,\r\n\t\t\t...confirmationInfoStorage.organization,\r\n\t\t})\r\n\t\tif (res && res?.status === 200) {\r\n\t\t\tSwal.fire({\r\n\t\t\t\ticon: 'success',\r\n\t\t\t\ttitle: 'บันทึกข้อมูลสำเร็จ',\r\n\t\t\t\tshowConfirmButton: false,\r\n\t\t\t\ttimer: 1500,\r\n\t\t\t})\r\n\t\t}\r\n\t}\r\n\r\n\tconst onSubmitOrganizationBranch = async () => {\r\n\t\t// console.log(confirmationInfoStorage.organization);\r\n\t\tif (confirmationInfoStorage.organization.prefixother !== '' && confirmationInfoStorage.organization.prefix === 'อื่นๆ') {\r\n\t\t\tconfirmationInfoStorage.organization.prefix = confirmationInfoStorage.organization.prefixother;\r\n\t\t}\r\n\t\tconst res = await sdocUser.updateOperatorInfoBranch({\r\n\t\t\toperatorId,\r\n\t\t\tbranchNo: confirmationInfoStorage.organization.branchNo,\r\n\t\t\t...confirmationInfoStorage.organization,\r\n\t\t})\r\n\t\tif (res && res?.status === 200) {\r\n\t\t\tSwal.fire({\r\n\t\t\t\ticon: 'success',\r\n\t\t\t\ttitle: 'บันทึกข้อมูลสำเร็จ',\r\n\t\t\t\tshowConfirmButton: false,\r\n\t\t\t\ttimer: 1500,\r\n\t\t\t})\r\n\t\t}\r\n\t}\r\n\r\n\tconst onSubmitUpdateAgentInfo = async () => {\r\n\t\t// console.log(confirmationInfoStorage.organization);\r\n\t\tif (confirmationInfoStorage.organization.prefixother !== '' && confirmationInfoStorage.organization.prefix === 'อื่นๆ') {\r\n\t\t\tconfirmationInfoStorage.organization.prefix = confirmationInfoStorage.organization.prefixother;\r\n\t\t}\r\n\t\tconst res = await sdocUser.updateOperatorAgentInfo({\r\n\t\t\toperatorId,\r\n\t\t\tbranchNo: confirmationInfoStorage.organization.branchNo,\r\n\t\t\t...confirmationInfoStorage.organization,\r\n\t\t})\r\n\t\tif (res && res?.status === 200) {\r\n\t\t\tSwal.fire({\r\n\t\t\t\ticon: 'success',\r\n\t\t\t\ttitle: 'บันทึกข้อมูลสำเร็จ',\r\n\t\t\t\tshowConfirmButton: false,\r\n\t\t\t\ttimer: 1500,\r\n\t\t\t})\r\n\t\t}\r\n\t}\r\n\r\n\tconst getUserProfile = async () => {\r\n\r\n\t\tconst res = await sdocUser.getMyProfile(userSDOC.poa)\r\n\t\tif (res && res?.status === 200) {\r\n\t\t\tconst data = res.data\r\n\r\n\t\t\tif (data.operators?.length > 0) {\r\n\t\t\t\tsetOperatorId(data.operators[0].id);\r\n\t\t\t\tsetConfirmationInfoStorage(prevState => {\r\n\t\t\t\t\treturn {\r\n\t\t\t\t\t\t...prevState,\r\n\t\t\t\t\t\tnormal_person: {\r\n\t\t\t\t\t\t\ttype: 'normal-person',\r\n\t\t\t\t\t\t\tprefix: data.user[0].prefix ?? '',\r\n\t\t\t\t\t\t\tfirstname: data.user[0].firstname,\r\n\t\t\t\t\t\t\tlastname: data.user[0].lastname,\r\n\t\t\t\t\t\t\tname: data.user[0].firstname + ' ' + data.user[0].lastname,\r\n\t\t\t\t\t\t\tcardNo: data.user[0].nationalIDCardNo,\r\n\t\t\t\t\t\t\tbranchNo: data.user[0].branchNo ?? '00000',\r\n\t\t\t\t\t\t\taddress: data.user[0].address ?? '',\r\n\t\t\t\t\t\t\taddr: data.user[0].addr ?? '',\r\n\t\t\t\t\t\t\temail: data.user[0].email ?? '',\r\n\t\t\t\t\t\t\tmobile: data.user[0].mobile ?? '',\r\n\t\t\t\t\t\t\tdistrict: data.user[0].district ?? '',\r\n\t\t\t\t\t\t\tamphoe: data.user[0].amphoe ?? '',\r\n\t\t\t\t\t\t\tprovince: data.user[0].province ?? '',\r\n\t\t\t\t\t\t\tzipcode: data.user[0].zipcode ?? '',\r\n\t\t\t\t\t\t\tagentEmail: data.operators[0].agentEmail ?? '',\r\n\t\t\t\t\t\t\tagentMobile: data.operators[0].agentMobile ?? '',\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\torganization: {\r\n\t\t\t\t\t\t\ttype: 'organization',\r\n\t\t\t\t\t\t\tname: data.operators[0].operatorName ?? '',\r\n\t\t\t\t\t\t\tcardNo: data.operators[0].taxNo ?? '',\r\n\t\t\t\t\t\t\tprefix: data.operators[0].prefix ?? '',\r\n\t\t\t\t\t\t\tprefix: (data.operators[0].prefix !== 'บริษัท' &&\r\n\t\t\t\t\t\t\t\tdata.operators[0].prefix !== 'ห้างหุ้นส่วน' &&\r\n\t\t\t\t\t\t\t\tdata.operators[0].prefix !== 'ห้างหุ้นส่วนจำกัด') ? 'อื่นๆ' : data.operators[0].prefix,\r\n\t\t\t\t\t\t\tprefixother: (data.operators[0].prefix !== 'บริษัท' &&\r\n\t\t\t\t\t\t\t\tdata.operators[0].prefix !== 'ห้างหุ้นส่วน' &&\r\n\t\t\t\t\t\t\t\tdata.operators[0].prefix !== 'ห้างหุ้นส่วนจำกัด') ? data.operators[0].prefix : '',\r\n\t\t\t\t\t\t\tbranchNo: data.operators[0].operatorInfos.branchNo ?? '00000',\r\n\t\t\t\t\t\t\taddress: data.operators[0].operatorInfos.address ?? '',\r\n\t\t\t\t\t\t\temail: data.operators[0].operatorInfos.email ?? '',\r\n\t\t\t\t\t\t\tmobile: data.operators[0].operatorInfos.mobile ?? '',\r\n\t\t\t\t\t\t\tdistrict: data.operators[0].operatorInfos.district ?? '',\r\n\t\t\t\t\t\t\tamphoe: data.operators[0].operatorInfos.amphoe ?? '',\r\n\t\t\t\t\t\t\tprovince: data.operators[0].operatorInfos.province ?? '',\r\n\t\t\t\t\t\t\tzipcode: data.operators[0].operatorInfos.zipcode ?? '',\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t} else {\r\n\t\t\t\tsetConfirmationInfoStorage(prevState => {\r\n\t\t\t\t\treturn {\r\n\t\t\t\t\t\t...prevState,\r\n\t\t\t\t\t\tnormal_person: {\r\n\t\t\t\t\t\t\ttype: 'normal-person',\r\n\t\t\t\t\t\t\tprefix: data.user[0].prefix ?? '',\r\n\t\t\t\t\t\t\tfirstname: data.user[0].firstname,\r\n\t\t\t\t\t\t\tlastname: data.user[0].lastname,\r\n\t\t\t\t\t\t\tname: data.user[0].firstname + ' ' + data.user[0].lastname,\r\n\t\t\t\t\t\t\tcardNo: data.user[0].nationalIDCardNo,\r\n\t\t\t\t\t\t\tbranchNo: data.user[0].branchNo ?? '00000',\r\n\t\t\t\t\t\t\taddress: data.user[0].address ?? '',\r\n\t\t\t\t\t\t\taddr: data.user[0].addr ?? '',\r\n\t\t\t\t\t\t\temail: data.user[0].email ?? '',\r\n\t\t\t\t\t\t\tmobile: data.user[0].mobile ?? '',\r\n\t\t\t\t\t\t\tdistrict: data.user[0].district ?? '',\r\n\t\t\t\t\t\t\tamphoe: data.user[0].amphoe ?? '',\r\n\t\t\t\t\t\t\tprovince: data.user[0].province ?? '',\r\n\t\t\t\t\t\t\tzipcode: data.user[0].zipcode ?? '',\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tconst getAddressList = async () => {\r\n\t\tconst res = await sdocUser.getAddressList()\r\n\t\tif (res && res?.status === 200) {\r\n\t\t\tconst data = res.data\r\n\t\t\tsetAddressList(data)\r\n\t\t}\r\n\t}\r\n\r\n\r\n\r\n\t/** <---------------------------------------------------------------------> */\r\n\r\n\t// Initial Fetch\r\n\tuseEffect(() => {\r\n\t\tgetUserProfile()\r\n\t\tgetAddressList()\r\n\t\t// eslint-disable-next-line\r\n\t}, [])\r\n\r\n\t// On Unmounting\r\n\tuseEffect(() => {\r\n\t\treturn () => (location.state = null)\r\n\t\t// eslint-disable-next-line\r\n\t}, [])\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t\r\n\t\t\t\t\r\n\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n","import { useEffect } from 'react'\r\nimport { Switch, Route, useRouteMatch, Redirect } from 'react-router-dom'\r\nimport ProtectedRoute from './protected-route'\r\nimport { useStoreActions } from '@store'\r\n\r\n// Components\r\nimport Form from './form'\r\nimport Manage from './manage'\r\nimport Registration from './registration'\r\nimport SignIn from './auth/signin'\r\nimport Identify from './auth/identify'\r\nimport Profile from './profile'\r\n\r\nexport default function SDOCUsersRoute() {\r\n\tconst { path } = useRouteMatch()\r\n\tconst setAppType = useStoreActions(a => a.appModel.setAppType)\r\n\r\n\tuseEffect(() => setAppType('sdoc'))\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t\r\n\r\n\t\t\r\n\t\t\t\r\n\r\n\r\n\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n","import React, { useMemo } from 'react'\r\nimport { Route, Redirect } from 'react-router-dom'\r\nimport { useStoreState, useStoreRehydrated } from '../../../store'\r\n\r\nexport default function ProtectedRoute({ children, ...rest }) {\r\n\tconst { adminMESDOC, adminSDOC } = useStoreState(s => s.sdocAdminModel)\r\n\tconst isRehydrated = useStoreRehydrated()\r\n\r\n\tconst sdocAdminRoleId = useMemo(() => adminMESDOC?.roleID, [adminMESDOC])\r\n\r\n\treturn (\r\n\t\tisRehydrated && (\r\n\t\t\t {\r\n\t\t\t\t\r\n\r\n\t\t\t\t\treturn adminSDOC ? (\r\n\t\t\t\t\t\tchildren\r\n\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)\r\n\t\t\t\t}}\r\n\t\t\t/>\r\n\t\t)\r\n\t)\r\n}\r\n","import React, { useState, useEffect } from 'react'\r\nimport {\r\n\tButton,\r\n\tGrid,\r\n\tCard,\r\n\tTextField,\r\n\tIconButton,\r\n\tDivider,\r\n} from '@material-ui/core'\r\nimport { Visibility, VisibilityOff } from '@material-ui/icons'\r\n\r\nimport { useHistory, useLocation } from 'react-router-dom'\r\nimport { useForm, Controller } from 'react-hook-form'\r\nimport { useStoreActions, useStoreState } from '../../../../store'\r\nimport { makeStyles } from '@material-ui/core/styles'\r\n\r\nimport logo from '../../../../assets/images/NBTC-logo.png'\r\n\r\nconst useStyles = makeStyles(theme => {\r\n\treturn {\r\n\t\tAppDescription: {\r\n\t\t\tfontSize: '24px',\r\n\t\t},\r\n\t\tAppDescriptionSpan: {\r\n\t\t\tcolor: theme.palette.primary.main,\r\n\t\t},\r\n\t}\r\n})\r\n\r\nexport default function SDOCAdminSignIn() {\r\n\tconst history = useHistory()\r\n\tconst location = useLocation()\r\n\tconst [showPassword, setShowPassword] = useState(false)\r\n\tconst {\r\n\t\tcontrol,\r\n\t\thandleSubmit,\r\n\t\tformState: { errors },\r\n\t} = useForm()\r\n\tconst [signInMsg, setSignInMsg] = useState('')\r\n\r\n\tconst classes = useStyles()\r\n\r\n\tconst adminSDOC = useStoreState(s => s.sdocAdminModel.adminSDOC)\r\n\tconst signInAdmin = useStoreActions(a => a.sdocAdminModel.signInAdmin)\r\n\tconst [isLoading, setIsLoading] = useState(false)\r\n\r\n\tconst onSignInAdmin = async ({ username, password }) => {\r\n\t\tsetIsLoading(true)\r\n\t\tconst { from } = location.state || { from: { pathname: '/admin/sdoc' } }\r\n\r\n\t\tsignInAdmin({\r\n\t\t\tusername,\r\n\t\t\tpassword,\r\n\t\t})\r\n\t\t\t.then(res => {\r\n\t\t\t\tsetIsLoading(false)\r\n\t\t\t\thistory.replace(from)\r\n\t\t\t})\r\n\t\t\t.catch(e => {\r\n\t\t\t\tconsole.error(e)\r\n\t\t\t\tsetIsLoading(false)\r\n\t\t\t\tsetSignInMsg('ชื่อผู้ใช้งานหรือรหัสผ่านไม่ถูกต้อง')\r\n\t\t\t})\r\n\t}\r\n\r\n\tconst onShowPassword = () => {\r\n\t\tsetShowPassword(!showPassword)\r\n\t}\r\n\r\n\tuseEffect(() => {\r\n\t\tif (adminSDOC) history.replace('/admin/sdoc')\r\n\t\t// eslint-disable-next-line\r\n\t}, [adminSDOC])\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\"NBTC\"\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\tNBTC SDOC\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\tสำหรับเจ้าหน้าที่\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t (\r\n\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\tif (e.key === 'Enter') handleSubmit(onSignInAdmin)()\r\n\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\tname=\"username\"\r\n\t\t\t\t\t\tdefaultValue={process.env.REACT_APP_DEMO_ADMIN_USERNAME ?? ''}\r\n\t\t\t\t\t/>\r\n\t\t\t\t\t

\r\n\t\t\t\t\t\t{errors.username?.type === 'required' && 'กรุณากรอกอีเมล'}\r\n\t\t\t\t\t

\r\n\t\t\t\t\t (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{showPassword ? : }\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\tonKeyPress={e => {\r\n\t\t\t\t\t\t\t\t\tif (e.key === 'Enter') handleSubmit(onSignInAdmin)()\r\n\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\tname=\"password\"\r\n\t\t\t\t\t\tdefaultValue={process.env.REACT_APP_DEMO_ADMIN_PASSWORD ?? ''}\r\n\t\t\t\t\t/>\r\n\t\t\t\t\t

\r\n\t\t\t\t\t\t{errors.password?.type === 'required' && 'กรุณากรอกรหัสผ่าน'}\r\n\t\t\t\t\t\t{signInMsg}\r\n\t\t\t\t\t

\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{isLoading ? 'กำลังเข้าสู่ระบบ...' : 'เข้าสู่ระบบ'}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n","import React, { useEffect, useState } from 'react';\r\nimport axios from 'axios';\r\nimport { Grid, Card, Button, FormControlLabel, Switch } from '@material-ui/core';\r\nimport { ListAlt, Dashboard } from '@material-ui/icons';\r\n\r\n\r\n\r\nimport { sdocAdmin, admin, adminQoS } from 'api/index'\r\n\r\nexport default function Index() {\r\n\tconst [tableauTicket, setTableauTicket] = useState('');\r\n\tconst [tableauMode, setTableauMode] = useState(true);\r\n\r\n\tconst toggleTableauMode = () => {\r\n\t\tsetTableauMode(!tableauMode);\r\n\t};\r\n\r\n\tconst initialize = async () => {\r\n\t\tawait getTableauTicket();\r\n\t\tawait loadScripts();\r\n\t};\r\n\r\n\tconst getTableauTicket = async () => {\r\n\t\ttry {\r\n\t\t\tconst response = await sdocAdmin.getTableauTicket();\r\n\t\t\tif (response.data && response.data.tableau_ticket) {\r\n\t\t\t\tif (tableauTicket !== response.data.tableau_ticket) {\r\n\t\t\t\t\tsetTableauTicket(response.data.tableau_ticket);\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tconsole.error('Error getting Tableau ticket:', response.data);\r\n\t\t\t}\r\n\t\t} catch (error) {\r\n\t\t\tconsole.error('Error getting Tableau ticket:', error);\r\n\t\t}\r\n\t};\r\n\r\n\tconst getTableauTicket2 = async () => {\r\n\t\ttry {\r\n\t\t\tconst response = await sdocAdmin.getTableauTicket();\r\n\t\t\tif (response.data && response.data.tableau_ticket) {\r\n\t\t\t\treturn response.data.tableau_ticket;\r\n\t\t\t} else {\r\n\t\t\t\tconsole.error('Error getting Tableau ticket:', response.data);\r\n\t\t\t\treturn '';\r\n\t\t\t}\r\n\t\t} catch (error) {\r\n\t\t\tconsole.error('Error getting Tableau ticket:', error);\r\n\t\t}\r\n\t};\r\n\r\n\r\n\tconst loadScripts = async () => {\r\n\t\ttry {\r\n\t\t\t// Load Tableau JavaScript API\r\n\t\t\tconst tableauScript = document.createElement('script');\r\n\t\t\ttableauScript.src = 'https://dataviz.nbtc.go.th/javascripts/api/viz_v1.js';\r\n\t\t\ttableauScript.async = true;\r\n\t\t\tdocument.head.appendChild(tableauScript);\r\n\r\n\t\t\t// Load Axios\r\n\t\t\tconst axiosScript = document.createElement('script');\r\n\t\t\taxiosScript.src = 'https://cdn.jsdelivr.net/npm/axios/dist/axios.min.js';\r\n\t\t\taxiosScript.async = true;\r\n\t\t\tdocument.head.appendChild(axiosScript);\r\n\t\t} catch (error) {\r\n\t\t\tconsole.error('Error loading scripts:', error);\r\n\t\t}\r\n\t};\r\n\r\n\tuseEffect(() => {\r\n\t\t// initialize();\r\n\t}, []);\r\n\r\n\tconst updateTableau = async () => {\r\n\t\t// Get the new Tableau ticket\r\n\t\t// await getTableauTicket();\r\n\t\tconst ticket = await getTableauTicket2();\r\n\t\tconsole.log(ticket);\r\n\t\tif (ticket !== '') {\r\n\t\t\tconst tableauGrid = document.querySelector('.tableauGrid');\r\n\t\t\tif (tableauGrid) {\r\n\t\t\t\ttableauGrid.innerHTML = '';\r\n\t\t\t\t// Add a new object to the element with class 'tableauGrid'\r\n\t\t\t\tconst newTableauViz = document.createElement('object');\r\n\t\t\t\tnewTableauViz.className = 'tableauViz';\r\n\t\t\t\tnewTableauViz.width = '100%';\r\n\t\t\t\tnewTableauViz.height = '670';\r\n\t\t\t\tnewTableauViz.style.display = 'none';\r\n\t\t\t\tnewTableauViz.innerHTML = `\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t `;\r\n\r\n\t\t\t\ttableauGrid.appendChild(newTableauViz);\r\n\t\t\t}\r\n\r\n\t\t\tconst existingTableauScripts = document.querySelectorAll('script[src*=\"dataviz.nbtc.go.th\"]');\r\n\t\t\texistingTableauScripts.forEach(script => script.remove());\r\n\r\n\t\t\tconst existingAxiosScripts = document.querySelectorAll('script[src*=\"cdn.jsdelivr.net\"]');\r\n\t\t\tif (existingAxiosScripts) {\r\n\t\t\t\texistingAxiosScripts.forEach(script => script.remove());\r\n\t\t\t}\r\n\r\n\t\t\tawait loadScripts();\r\n\t\t}\r\n\r\n\t};\r\n\r\n\tuseEffect(() => {\r\n\t\tupdateTableau();\r\n\t}, [tableauMode]);\r\n\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{tableauMode ? \"ภาพรวมการขอแบบรับรองตนเองของผู้ประกอบการ (SDoC)\" : \"ตารางรายการเครื่องโทรคมนาคมและอุปกรณ์ที่ผ่านการรับรองตนเองของผู้ประกอบการ (SDoC)\"}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{tableauMode ? \"แสดงรายการเครื่องฯ\" : \"แสดงภาพรวม\"}\r\n\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{tableauMode ?\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t:\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\r\n\t\t\r\n\t);\r\n}\r\n","import { forwardRef } from 'react'\r\nimport {\r\n\tDialog,\r\n\tDialogTitle,\r\n\tDialogContent,\r\n\tDialogActions,\r\n\tGrid,\r\n\tIconButton,\r\n\tSlide,\r\n\tuseMediaQuery,\r\n\tButton,\r\n\tFormControl,\r\n\tInputLabel,\r\n\tSelect,\r\n\tMenuItem,\r\n} from '@material-ui/core'\r\nimport { Close } from '@material-ui/icons'\r\n\r\nimport { useTheme } from '@material-ui/core/styles'\r\n\r\nexport default function SelectAssignAdminModal({\r\n\topen,\r\n\tonClose,\r\n\thandleButton,\r\n\tonChangeCheckerAdminID,\r\n\tcheckerAdminList,\r\n\tcheckerAdminID,\r\n}) {\r\n\tconst theme = useTheme()\r\n\tconst fullScreen = useMediaQuery(theme.breakpoints.down('sm'))\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tเลือกผู้ตรวจสอบข้อมูล\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tรายชื่อผู้ตรวจข้อมูล\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{checkerAdminList.map(admin => {\r\n\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{admin.name ? admin.name : `${admin.firstname} ${admin.lastname}`}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tยืนยันการเลือก\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n\r\nconst Transition = forwardRef(function Transtition(props, ref) {\r\n\treturn \r\n})\r\n","import { forwardRef ,useState,useEffect } from 'react'\r\nimport {\r\n\tDialog,\r\n\tDialogTitle,\r\n\tDialogContent,\r\n\tDialogActions,\r\n\tGrid,\r\n\tIconButton,\r\n\tSlide,\r\n\tuseMediaQuery,\r\n\tButton,\r\n\tFormControl,\r\n\tInputLabel,\r\n\tSelect,\r\n\tMenuItem,\r\n} from '@material-ui/core'\r\nimport { Close } from '@material-ui/icons'\r\n\r\nimport { useTheme } from '@material-ui/core/styles'\r\n\r\nexport default function SignSignatureModal({\r\n\topen,\r\n\tonClose,\r\n\thandleButton,\r\n\tonChangeCheckerAdminID,\r\n\tcheckerAdminList,\r\n\tcheckerAdminID,\r\n}) {\r\n\tconst theme = useTheme()\r\n\tconst fullScreen = useMediaQuery(theme.breakpoints.down('sm'))\r\n\tconst [isLoading, setIsLoading] = useState(false)\r\n\tuseEffect(() => {\r\n\t\tsetIsLoading(false)\r\n\t}, [open])\r\n\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{/* เลือกผู้ตรวจสอบข้อมูล */}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{/* \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tรายชื่อผู้ตรวจข้อมูล\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{checkerAdminList.map(admin => {\r\n\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{admin.name ? admin.name : `${admin.firstname} ${admin.lastname}`}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t */}\r\n\t\t\t\t\tยืนยันการออกหนังรับรองด้วยลายเซนต์ของท่าน\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{handleButton(e); setIsLoading(true)}}\r\n\t\t\t\t\t\t\tcolor=\"secondary\"\r\n\t\t\t\t\t\t\tvariant=\"contained\"\r\n\t\t\t\t\t\t\tdisabled={isLoading}>\r\n\t\t\t\t\t\t\t{isLoading ? 'กำลังดำเนินการ...' : 'ยืนยัน'}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n\r\nconst Transition = forwardRef(function Transtition(props, ref) {\r\n\treturn \r\n})\r\n","import React, { useState, useEffect, useMemo, useCallback } from 'react'\r\n\r\nimport {\r\n\tGrid,\r\n\tCard,\r\n\tButton,\r\n\tTextField,\r\n\tDialog,\r\n\tDialogTitle,\r\n\tDialogContent,\r\n\tDialogContentText,\r\n\tDialogActions,\r\n\tSelect,\r\n\tMenuItem,\r\n\tIconButton,\r\n\tCheckbox,\r\n\tListItemText,\r\n\tSwitch,\r\n\tFormControlLabel,\r\n} from '@material-ui/core'\r\nimport { DataGrid, GridOverlay } from '@material-ui/data-grid'\r\nimport {\r\n\tListAlt,\r\n\tDescription,\r\n\tNoteAdd,\r\n\tCancel,\r\n\tPlaylistAddCheck,\r\n\tMenu,\r\n\tCheckCircle,\r\n\tSyncAlt,\r\n\tSearch,\r\n\tClose,\r\n\tArrowBack,\r\n} from '@material-ui/icons'\r\nimport Swal from 'sweetalert2/dist/sweetalert2.js'\r\nimport 'sweetalert2/dist/sweetalert2.min.css'\r\nimport SelectAssignAdminModal from 'components/sdoc-admin/manage/select-assign-admin-modal/index'\r\nimport SignSignatureModal from 'components/sdoc-admin/manage/sign-signature-modal/index'\r\nimport SureModal from 'components/SureModal'\r\nimport { useStoreState } from '../../../../store/index'\r\nimport { useStoreRehydrated } from '@store'\r\n\r\nimport { useHistory } from 'react-router-dom'\r\nimport { makeStyles } from '@material-ui/core/styles'\r\nimport { format, set } from 'date-fns'\r\n\r\n\r\nimport { sdoc, sdocAdmin, admin, adminQoS } from 'api/index'\r\nimport { CheckBox } from '../../../../../node_modules/@material-ui/icons/index'\r\n// import { Switch } from '../../../../../node_modules/react-router-dom/cjs/react-router-dom.min'\r\n\r\nconst useStyles = makeStyles(() => {\r\n\treturn {\r\n\t\tdetails_button: {\r\n\t\t\tbackgroundColor: '#466AE9',\r\n\t\t\tcolor: '#fff',\r\n\t\t\t'&:hover': {\r\n\t\t\t\tbackgroundColor: '#466AE9',\r\n\t\t\t},\r\n\t\t},\r\n\t\tcommon_button: {\r\n\t\t\tbackgroundColor: '#eee',\r\n\t\t\tcolor: '#000',\r\n\t\t\t'&:hover': {\r\n\t\t\t\tbackgroundColor: '#eee',\r\n\t\t\t},\r\n\t\t},\r\n\t\tapprove_button: {\r\n\t\t\tbackgroundColor: '#1DBF73',\r\n\t\t\tcolor: '#fff',\r\n\t\t\t'&:hover': {\r\n\t\t\t\tbackgroundColor: '#1DBF73',\r\n\t\t\t},\r\n\t\t},\r\n\t\twait_button: {\r\n\t\t\tbackgroundColor: '#F6B50B',\r\n\t\t\tcolor: '#fff',\r\n\t\t\t'&:hover': {\r\n\t\t\t\tbackgroundColor: '#F6B50B',\r\n\t\t\t},\r\n\t\t},\r\n\t\treject_button: {\r\n\t\t\tbackgroundColor: '#DB4D44',\r\n\t\t\tcolor: '#fff',\r\n\t\t\t'&:hover': {\r\n\t\t\t\tbackgroundColor: '#DB4D44',\r\n\t\t\t},\r\n\t\t},\r\n\t\tupdated_button: {\r\n\t\t\tbackgroundColor: '#466AE9',\r\n\t\t\tcolor: '#fff',\r\n\t\t\t'&:hover': {\r\n\t\t\t\tbackgroundColor: '#466AE9',\r\n\t\t\t},\r\n\t\t},\r\n\t\tcancel_button: {\r\n\t\t\tbackgroundColor: '#DB4D44',\r\n\t\t\tcolor: '#fff',\r\n\t\t\t'&:hover': {\r\n\t\t\t\tbackgroundColor: '#DB4D44',\r\n\t\t\t},\r\n\t\t},\r\n\t\tpreapprove_button: {\r\n\t\t\tbackgroundColor: '#46E9A4',\r\n\t\t\tcolor: '#000',\r\n\t\t\t'&:hover': {\r\n\t\t\t\tbackgroundColor: '#46E9A4',\r\n\t\t\t},\r\n\t\t},\r\n\t\twaiting_assign_button: {\r\n\t\t\tbackgroundColor: '#FAFAD2',\r\n\t\t\tcolor: '#000',\r\n\t\t\t'&:hover': {\r\n\t\t\t\tbackgroundColor: '#FAFAD2',\r\n\t\t\t},\r\n\t\t},\r\n\r\n\t}\r\n})\r\n\r\n// Page Description: สถานะการยื่นแบบหนังสือรับรองตนเอง\r\nexport default function SDOCStatus() {\r\n\tconst isRehydrated = useStoreRehydrated()\r\n\tconst history = useHistory()\r\n\tconst classes = useStyles()\r\n\tconst myInfo = useStoreState(\r\n\t\ts => s.sdocAdminModel.adminMESDOC\r\n\t)\r\n\r\n\tconst [rowsWaitStatus, setRowsWaitStatus] = useState([])\r\n\tconst [isDataLoading, setIsDataLoading] = useState(false)\r\n\tconst [RowsData, setRowsData] = useState([])\r\n\tconst [myRole, setMyRole] = useState(null)\r\n\tconst [myID, setMyID] = useState(null)\r\n\tconst [checkerAdminList, setCheckerAdminList] = useState([])\r\n\tconst [signatureAdminList, setSignatureAdminList] = useState([])\r\n\tconst [sDocID, setSDocID] = useState(null)\r\n\tconst [checkerAdminID, setCheckerAdminID] = useState('')\r\n\tconst [selectedSignature, setSelectedSignature] = useState(null)\r\n\r\n\t// Sure Modal\r\n\tconst [openSubmitSDocSureModal, setOpenSubmitSDocSureModal] = useState(false)\r\n\tconst [submitType, setSubmitType] = useState('approve')\r\n\tconst [remark, setRemark] = useState('')\r\n\tconst [currentActionSDoc, setCurrentActionSDoc] = useState('')\r\n\tconst [sortModel, setSortModel] = useState([\r\n\t\t{\r\n\t\t\tfield: 'runningNumber',\r\n\t\t\tsort: 'desc',\r\n\t\t},\r\n\t]);\r\n\r\n\tconst [openModalAssignAdmin, setOpenModalAssignAdmin] = useState(false)\r\n\tconst [openModalAssignSignature, setOpenModalAssignSignature] =\r\n\t\tuseState(false)\r\n\r\n\tconst sureModalTitle = useMemo(\r\n\t\t() => {\r\n\t\t\tif (submitType === 'approve') {\r\n\t\t\t\treturn 'อนุมัติแบบหนังสือรับรองตนเอง';\r\n\t\t\t} else if (submitType === 'reject') {\r\n\t\t\t\treturn 'ไม่อนุมัติแบบหนังสือรับรองตนเอง';\r\n\t\t\t} else if (submitType === 'requestAdditionDoc') {\r\n\t\t\t\treturn 'ขอเอกสารเพิ่มเติม';\r\n\t\t\t} else if (submitType === 'requestModifyInfo') {\r\n\t\t\t\treturn 'ขอปรับปรุงข้อมูล';\r\n\t\t\t} else if (submitType === 'rejectchecker') {\r\n\t\t\t\treturn 'ไม่อนุมัติออกหนังสือรับรองตนเองและส่งกลับไปยังผู้ตรวจสอบ';\r\n\t\t\t} else if (submitType === 'updateCustomerInfo') {\r\n\t\t\t\treturn 'อัพเดทข้อมูลลูกค้า DataCenter / SAP ';\r\n\t\t\t}\r\n\t\t},\r\n\t\t[submitType]\r\n\t)\r\n\r\n\t// filter Dialog / Modal\r\n\tconst [isDialogOpen, setIsDialogOpen] = useState(false);\r\n\tconst [searchQuery, setSearchQuery] = useState([]);\r\n\tconst [selectedStatus, setSelectedStatus] = useState([]);\r\n\tconst [searchCreate, setSearchCreate] = useState('');\r\n\tconst [searchLastUpdated, setSearchLastUpdated] = useState('');\r\n\tconst [isSearching, setIsSearching] = useState(false);\r\n\tconst [isSaveSearch, setIsSaveSearch] = useState(true);\r\n\r\n\tconst statusOptions = [\r\n\t\t// { value: '0', label: 'ทั้งหมด' },\r\n\t\t{ value: '1', label: 'รอมอบหมาย' },\r\n\t\t{ value: '2', label: 'รอตรวจสอบ/เพิ่มเอกสารแล้ว/ปรับปรุงข้อมูลแล้ว' },\r\n\t\t{ value: '3', label: 'ขอเอกสารเพิ่ม/ขอปรับปรุงเอกสาร' },\r\n\t\t{ value: '4', label: 'รอออกใบรับรอง' },\r\n\t\t{ value: '5', label: 'อนุมัติ' },\r\n\t\t{ value: '6', label: 'ไม่อนุมัติ' },\r\n\t\t{ value: '8', label: 'รอชำระเงิน' },\r\n\t\t{ value: '82', label: 'เลยกำหนดชำระ' },\r\n\t\t{ value: '9', label: 'รอออกใบเสร็จรับเงิน' },\r\n\t\t{ value: '10', label: 'ยกเลิกคำขอ' },\r\n\t\t{ value: '11', label: 'เลยระยะเวลา' },\r\n\t];\r\n\tconst toggleDialog = () => {\r\n\t\tsetIsDialogOpen(!isDialogOpen);\r\n\t};\r\n\tconst handleSearchChange = (event) => {\r\n\t\tconst { id, value } = event.target;\r\n\t\tsetSearchQuery((prevSearchQuery) => {\r\n\t\t\tconst updatedQuery = [...prevSearchQuery];\r\n\t\t\tconst existingItemIndex = updatedQuery.findIndex((item) => item.id === id);\r\n\t\t\tif (existingItemIndex !== -1) {\r\n\t\t\t\tupdatedQuery[existingItemIndex] = { id, value };\r\n\t\t\t} else {\r\n\t\t\t\tupdatedQuery.push({ id, value });\r\n\t\t\t}\r\n\t\t\treturn updatedQuery;\r\n\t\t});\r\n\t\t// console.log(searchQuery);\r\n\t};\r\n\r\n\tconst handleStatusChange = (event) => {\r\n\t\tsetSelectedStatus(event.target.value);\r\n\t};\r\n\tconst handleCreateChange = (event) => {\r\n\t\tsetSearchCreate(event.target.value);\r\n\t};\r\n\tconst handleLastUpdatedChange = (event) => {\r\n\t\tsetSearchLastUpdated(event.target.value);\r\n\t};\r\n\tconst handleSaveSearch = () => {\r\n\t\tsetIsSaveSearch(!isSaveSearch);\r\n\t};\r\n\r\n\tconst contentSureModal = useMemo(\r\n\t\t() => {\r\n\r\n\t\t\tif (submitType === 'approve') {\r\n\t\t\t\treturn
ยืนยันอนุมัติแบบหนังสือรับรองตนเอง
\r\n\t\t\t} else if (submitType === 'reject') {\r\n\t\t\t\treturn {\r\n\t\t\t\t\t\tsetRemark(e.target.value)\r\n\t\t\t\t\t}}\r\n\t\t\t\t\tvalue={remark}\r\n\t\t\t\t/>\r\n\t\t\t} else if (submitType === 'requestAdditionDoc') {\r\n\t\t\t\treturn {\r\n\t\t\t\t\t\tsetRemark(e.target.value)\r\n\t\t\t\t\t}}\r\n\t\t\t\t\tvalue={remark}\r\n\t\t\t\t/>\r\n\t\t\t} else if (submitType === 'requestModifyInfo') {\r\n\t\t\t\treturn {\r\n\t\t\t\t\t\tsetRemark(e.target.value)\r\n\t\t\t\t\t}}\r\n\t\t\t\t\tvalue={remark}\r\n\t\t\t\t/>\r\n\t\t\t} else if (submitType === 'rejectchecker') {\r\n\t\t\t\treturn {\r\n\t\t\t\t\t\tsetRemark(e.target.value)\r\n\t\t\t\t\t}}\r\n\t\t\t\t\tvalue={remark}\r\n\t\t\t\t/>\r\n\t\t\t} else if (submitType === 'updateCustomerInfo') {\r\n\t\t\t\treturn \r\n\t\t\t\t\tปรับปรุงข้อมูลลูกค้า เพื่อให้ข้อมูลลูกค้าใน DataCenter / SAP ตรงกับในระบบ\r\n\t\t\t\t\r\n\t\t\t} else if (submitType === 'resentBill') {\r\n\t\t\t\treturn \r\n\t\t\t\t\tส่งใบนำฝากเงินใหม่ (กรณีส่งล้มเหลว)\r\n\t\t\t\t\r\n\t\t\t} else if (submitType === 'BackToPreapprove') {\r\n\t\t\t\treturn \r\n\t\t\t\t\tย้อนสถานะกลับไปเป็นรอตรวจสอบ\r\n\t\t\t\t\r\n\t\t\t}\r\n\t\t},\r\n\t\t[submitType, remark]\r\n\t)\r\n\r\n\tconst onOpenModalAssignAdmin = () => {\r\n\r\n\t\tsetOpenModalAssignAdmin(!openModalAssignAdmin)\r\n\t}\r\n\r\n\tconst handleIssueBtn = e => {\r\n\t\tsetSDocID(e)\r\n\t\tadminQoS.getSignature().then(e => {\r\n\t\t\tsetSignatureAdminList(e)\r\n\r\n\t\t\tsetOpenModalAssignSignature(true)\r\n\t\t})\r\n\t}\r\n\r\n\tconst onClickAssignAdmin = sDocID => {\r\n\t\tsetSDocID(sDocID)\r\n\t\tsetCheckerAdminID('')\r\n\t\tonOpenModalAssignAdmin()\r\n\t}\r\n\r\n\tconst onChangeCheckerAdminID = event => {\r\n\t\tsetCheckerAdminID(event.target.value)\r\n\t}\r\n\r\n\tconst onChangeSignature = event => {\r\n\t\tsetSelectedSignature(event.target.value)\r\n\t}\r\n\r\n\tconst createWaitingRow = (dataSDocList, i) => {\r\n\t\tconst rowData = {\r\n\t\t\tid: dataSDocList[i].id,\r\n\t\t\tbrandName: dataSDocList[i].brandName,\r\n\t\t\toperator:\r\n\t\t\t\t(dataSDocList[i].sDocUser.prefix ?? '') +\r\n\t\t\t\tdataSDocList[i].sDocUser.firstname +\r\n\t\t\t\t' ' +\r\n\t\t\t\tdataSDocList[i].sDocUser.lastname,\r\n\t\t\tsubmitDate: dataSDocList[i].createDate,\r\n\t\t\tstatusID: dataSDocList[i].sDocStatusID,\r\n\t\t\t// statusID: (i % 6) + 1,\r\n\t\t\tstatusName: dataSDocList[i].sDocStatus.statusName,\r\n\t\t\tapprover: dataSDocList[i].approver\r\n\t\t\t\t? dataSDocList[i].approver.firstname +\r\n\t\t\t\t' ' +\r\n\t\t\t\tdataSDocList[i].approver.lastname\r\n\t\t\t\t: 'ยังไม่ได้มอบหมาย',\r\n\t\t\tproductModel: dataSDocList[i].productModel,\r\n\t\t\trunningNumber: dataSDocList[i].runningNo,\r\n\t\t\trequestAddtionDocStatusID: dataSDocList[i].requestAddtionDocStatusID,\r\n\t\t\toperatorInfo: dataSDocList[i].senderType === 'organization' ? dataSDocList[i].operatorTitle : null,\r\n\t\t\ttransactions: dataSDocList[i].sDocTransactions,\r\n\t\t\tlastUpdate: dataSDocList[i].sDocLogs[0]?.createDate,\r\n\t\t\tIsUploadedAttachment: dataSDocList[i].isUploadedAttachment,\r\n\t\t}\r\n\r\n\t\treturn rowData\r\n\t}\r\n\r\n\tconst getSDocStatusList = async () => {\r\n\t\t// Get Status List\r\n\t\tconst resStatusList = await sdoc.getListsStatus()\r\n\t\tconst dataStatusList = resStatusList.data\r\n\t\tconst statusListTemp = []\r\n\t\tif (resStatusList) {\r\n\t\t\tif (resStatusList.status === 200) {\r\n\t\t\t\tfor (let i = 0; i < dataStatusList.length; i++) {\r\n\t\t\t\t\tstatusListTemp.push({\r\n\t\t\t\t\t\tid: dataStatusList[i].id,\r\n\t\t\t\t\t\tstatusName: dataStatusList[i].statusName,\r\n\t\t\t\t\t})\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn statusListTemp\r\n\t}\r\n\r\n\tconst getCheckerAdminList = async () => {\r\n\t\tconst resAdminList = await sdocAdmin.getAdminList()\r\n\r\n\t\tconst adminListTemp = []\r\n\t\tif (resAdminList) {\r\n\t\t\tif (resAdminList.status === 200) {\r\n\t\t\t\tconst dataAdminList = resAdminList.data\r\n\t\t\t\tfor (let i = 0; i < dataAdminList.length; i++) {\r\n\t\t\t\t\tconst adminAccess = dataAdminList[i].adminAccess[0] ?? null\r\n\t\t\t\t\tif (\r\n\t\t\t\t\t\tadminAccess.dataportalServiceID === 2 &&\r\n\t\t\t\t\t\t// (adminAccess.adminRoleID === 11 || adminAccess.adminRoleID === 15) // show exclusive admin\r\n\t\t\t\t\t\t( adminAccess.adminRoleID === 11 ) // not show exclusive admin\r\n\t\t\t\t\t) {\r\n\t\t\t\t\t\tadminListTemp.push({\r\n\t\t\t\t\t\t\tid: dataAdminList[i].id,\r\n\t\t\t\t\t\t\tname:\r\n\t\t\t\t\t\t\t\tdataAdminList[i].firstname + ' ' + dataAdminList[i].lastname,\r\n\t\t\t\t\t\t})\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\tsetCheckerAdminList(adminListTemp)\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tconst [isShowFinished, setIsShowFinished] = useState(false)\r\n\tconst handleSwitch = () => {\r\n\t\tif (isDataLoading) return false\r\n\t\tif (isShowFinished == false) {\r\n\t\t\t// show popup that will tell user that when enable this server will load a large amount of data\r\n\t\t\tSwal.fire({\r\n\t\t\t\ttitle: 'คุณต้องการแสดงรายการที่เสร็จสิ้นแล้วใช่หรือไม่',\r\n\t\t\t\ttext: 'การแสดงรายการที่เสร็จสิ้นแล้วอาจใช้เวลาในการเรียกข้อมูลนาน',\r\n\t\t\t\ticon: 'warning',\r\n\t\t\t\tshowCancelButton: true,\r\n\t\t\t\tconfirmButtonText: 'ใช่',\r\n\t\t\t\tcancelButtonText: 'ไม่ใช่',\r\n\t\t\t\treverseButtons: true,\r\n\t\t\t}).then(result => {\r\n\t\t\t\tif (result.isConfirmed) {\r\n\t\t\t\t\tsetIsShowFinished(!isShowFinished)\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\t)\r\n\t\t} else {\r\n\t\t\tsetIsShowFinished(!isShowFinished)\r\n\t\t}\r\n\t}\r\n\tconst getSDOCWaitStatusList = useCallback(async () => {\r\n\t\t// Get Status List\r\n\t\tsetIsDataLoading(true)\r\n\t\tgetSDocStatusList()\r\n\r\n\t\tawait admin.me().then(async event => {\r\n\t\t\tif (event) {\r\n\t\t\t\tconst dataMe = event.data\r\n\t\t\t\tsetMyRole(dataMe.roleID)\r\n\t\t\t\tsetMyID(dataMe.id)\r\n\r\n\t\t\t\t// Get SDoc List\r\n\t\t\t\tconst showFinished = isShowFinished\r\n\t\t\t\tconst resList = await sdoc.getLists(showFinished)\r\n\t\t\t\tconst dataSDocList = resList.data\r\n\t\t\t\t// set expired status \r\n\t\t\t\tdataSDocList.forEach((item) => {\r\n\t\t\t\t\tif (item.sDocStatusID === 8) {\r\n\t\t\t\t\t\tvar today = new Date();\r\n\t\t\t\t\t\ttoday.setDate(today.getDate() + 1);\r\n\t\t\t\t\t\tvar dueDate = null;\r\n\r\n\t\t\t\t\t\tif (item.sDocTransactions != null && item.sDocTransactions.dueDate != null) {\r\n\t\t\t\t\t\t\tdueDate = new Date(item.sDocTransactions.dueDate);\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tdueDate = new Date();\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tdueDate.setHours(23, 59, 59, 999);\r\n\t\t\t\t\t\t// console.log(dueDate);\r\n\t\t\t\t\t\tif (dueDate < today) {\r\n\t\t\t\t\t\t\titem.sDocStatusID = 82;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\r\n\r\n\t\t\t\tif (resList) {\r\n\t\t\t\t\tif (resList.status === 200) {\r\n\t\t\t\t\t\tconst rowsTemp = []\r\n\r\n\t\t\t\t\t\t// Role === 'ผู้ตรวจสอบข้อมูล'\r\n\t\t\t\t\t\tif (dataMe.roleID === 11) {\r\n\t\t\t\t\t\t\tfor (let i = 0; i < dataSDocList.length; i++) {\r\n\t\t\t\t\t\t\t\tif (\r\n\t\t\t\t\t\t\t\t\t// Show only own approver && status !== 'รอมอบหมาย'\r\n\t\t\t\t\t\t\t\t\t// Not show status === 'สำเร็จ'\r\n\r\n\t\t\t\t\t\t\t\t\tdataMe.id === dataSDocList[i].approverID &&\r\n\t\t\t\t\t\t\t\t\tdataSDocList[i].sDocStatusID !== 1\r\n\t\t\t\t\t\t\t\t) {\r\n\t\t\t\t\t\t\t\t\tif (dataSDocList[i].sDocStatusID !== 5)\r\n\t\t\t\t\t\t\t\t\t\trowsTemp.push(createWaitingRow(dataSDocList, i))\r\n\t\t\t\t\t\t\t\t\t// Not show status === 'สำเร็จ'\r\n\t\t\t\t\t\t\t\t\t// <--- Add Data to Array\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t// Role === 'ผู้ออกใบรับรอง'\r\n\t\t\t\t\t\telse if (dataMe.roleID === 9) {\r\n\t\t\t\t\t\t\tfor (let i = 0; i < dataSDocList.length; i++) {\r\n\t\t\t\t\t\t\t\tif (\r\n\t\t\t\t\t\t\t\t\t// Show only status === 'รอออกใบรับรอง' && status === 'ยกเลิก'\r\n\t\t\t\t\t\t\t\t\t// Not show status === 'สำเร็จ'\r\n\t\t\t\t\t\t\t\t\tdataSDocList[i].sDocStatusID === 4\r\n\t\t\t\t\t\t\t\t\t// || dataSDocList[i].sDocStatusID === 6\r\n\t\t\t\t\t\t\t\t) {\r\n\t\t\t\t\t\t\t\t\trowsTemp.push(createWaitingRow(dataSDocList, i))\r\n\t\t\t\t\t\t\t\t\t// Not show status === 'สำเร็จ'\r\n\t\t\t\t\t\t\t\t\t// ---> Add Data to Array\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t// Role === 'ผู้มอบหมายงาน'\r\n\t\t\t\t\t\telse if (dataMe.roleID === 10) {\r\n\t\t\t\t\t\t\tfor (let i = 0; i < dataSDocList.length; i++) {\r\n\t\t\t\t\t\t\t\tif (dataSDocList[i].sDocStatusID !== 5)\r\n\t\t\t\t\t\t\t\t\trowsTemp.push(createWaitingRow(dataSDocList, i))\r\n\t\t\t\t\t\t\t\t// ---> Add Data to Array\r\n\t\t\t\t\t\t\t\t// Not show status === 'สำเร็จ'\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}// Role === 'ผุ้มีอำนาจสูงสุด'\r\n\t\t\t\t\t\telse if (dataMe.roleID === 15) {\r\n\t\t\t\t\t\t\tfor (let i = 0; i < dataSDocList.length; i++) {\r\n\r\n\t\t\t\t\t\t\t\trowsTemp.push(createWaitingRow(dataSDocList, i))\r\n\t\t\t\t\t\t\t\t// ---> Add Data to Array\r\n\t\t\t\t\t\t\t\t// Not show status === 'สำเร็จ'\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tsetRowsData(rowsTemp)\r\n\t\t\t\t\t\tsetRowsWaitStatus(rowsTemp)\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t})\r\n\t\tgetCheckerAdminList()\r\n\t\tsetIsDataLoading(false)\r\n\t}, [isShowFinished, isSearching])\r\n\t// filter \r\n\tconst onSearchResult = () => {\r\n\t\tlet searchedData = RowsData;\r\n\t\tconst savedFilters = {\r\n\t\t\tsearchQuery: searchQuery,\r\n\t\t\tsearchCreate: searchCreate,\r\n\t\t\tsearchLastUpdated: searchLastUpdated,\r\n\t\t\tselectedStatus: selectedStatus\r\n\t\t};\r\n\t\r\n\t\t// Save filters to localStorage if isSaveSearch is true\r\n\t\tif (isSaveSearch){\r\n\t\t\tlocalStorage.setItem('savedFilters', JSON.stringify(savedFilters));\r\n\t\t}else{\r\n\t\t\tlocalStorage.removeItem('savedFilters');\r\n\t\t}\r\n\t\tif(searchQuery)\r\n\t\t// console.log(\"searchQuery >> \", searchQuery)\r\n\t\tsearchQuery.forEach((query) => {\r\n\t\t\tconst { id, value } = query;\r\n\t\t\tif (value !== '' && value !== null && value !== undefined && value.length > 0) {\r\n\t\t\t\t// console.log(\"id >> \", id, \" value >> \", value)\r\n\t\t\t\tsearchedData = searchedData.filter((item) => {\r\n\t\t\t\t\tconst itemValue = item[id];\r\n\t\t\t\t\t// console.log(\"itemValue >> \", itemValue);\r\n\t\t\t\t\t// console.log(\"typeof itemValue >> \", typeof itemValue);\r\n\t\t\t\t\tif (typeof itemValue === 'string') {\r\n\t\t\t\t\t\treturn itemValue.toLowerCase().includes(value.toLowerCase());\r\n\t\t\t\t\t} else if (typeof itemValue === 'object') {\r\n\t\t\t\t\t\treturn false;\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\treturn itemValue.toString().includes(value);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t});\r\n\t\r\n\t\tif (searchCreate !== '') {\r\n\t\t\tsearchedData = searchedData.filter((item) => {\r\n\t\t\t\tconst itemDate = new Date(item.submitDate.split('T')[0]);\r\n\t\t\t\tconst searchDate = new Date(searchCreate);\r\n\t\t\t\treturn itemDate.getTime() === searchDate.getTime();\r\n\t\t\t});\r\n\t\t}\r\n\t\tif (searchLastUpdated !== '') {\r\n\t\t\tsearchedData = searchedData.filter((item) => {\r\n\t\t\t\tconst itemDate = new Date(item.lastUpdate.split('T')[0]);\r\n\t\t\t\tconst searchDate = new Date(searchLastUpdated);\r\n\t\t\t\treturn itemDate.getTime() === searchDate.getTime();\r\n\t\t\t});\r\n\t\t}\r\n\t\tif (selectedStatus.length > 0 && selectedStatus[0] !== '0') {\r\n\t\t\tsearchedData = searchedData.filter(\r\n\t\t\t\t(item) => selectedStatus.includes(item.statusID.toString())\r\n\t\t\t);\r\n\t\t}\r\n\t\r\n\t\tconst mergedSearched = searchedData;\r\n\t\tsetRowsWaitStatus(mergedSearched);\r\n\t\tsetIsDialogOpen(false);\r\n\t\tsetIsSearching(true);\r\n\t\treturn;\r\n\t};\r\n\t\r\n\t// Function to apply saved filters on component mount\r\n\tconst applySavedFilters = () => {\r\n\t\t\tconst savedFilters = localStorage.getItem('savedFilters');\r\n\r\n\t\tif (savedFilters) {\r\n\t\t\tconst { searchQuery, searchCreate, searchLastUpdated, selectedStatus } = JSON.parse(savedFilters);\r\n\t\t\t// Apply the saved filters to your state variables\r\n\t\t\tsetSearchQuery(searchQuery);\r\n\t\t\tsetSearchCreate(searchCreate);\r\n\t\t\tsetSearchLastUpdated(searchLastUpdated);\r\n\t\t\tsetSelectedStatus(selectedStatus);\r\n\t\t\tsetIsSearching(true);\r\n\t\t\tsetIsSaveSearch(true);\r\n\t\t}\r\n\t};\r\n\t\r\n\t// Call applySavedFilters when the component mounts\r\n\tuseEffect(() => {\r\n\t\tapplySavedFilters();\r\n\t}, [isSearching]);\r\n\tuseEffect(() => {\r\n if (RowsData && isSearching) {\r\n onSearchResult();\r\n }\r\n }, [RowsData, isSearching]); // Call onSearchResult when rowsData or isSearching changes\r\n\r\n\t\r\n\r\n\tconst onSearchResultClear = () => {\r\n\t\tsetSearchQuery([]);\r\n\t\tsetSearchCreate('');\r\n\t\tsetSearchLastUpdated('');\r\n\t\tsetSelectedStatus([]);\r\n\t\tsetRowsWaitStatus(RowsData);\r\n\t\tsetIsSearching(false);\r\n\t\tsetIsSaveSearch(false);\r\n\t\t\r\n\t\t// Remove the saved filters from localStorage\r\n\t\tlocalStorage.removeItem('savedFilters');\r\n\t\t\r\n\t\treturn;\r\n\t};\r\n\t\r\n\r\n\tconst onDeny = useCallback(\r\n\t\tasync sDocID => {\r\n\t\t\tconst res = await sdocAdmin.denySDoc(sDocID, remark)\r\n\t\t\tif (res && res.status === 200) {\r\n\t\t\t\tgetSDOCWaitStatusList()\r\n\t\t\t\tsetOpenSubmitSDocSureModal(false)\r\n\t\t\t\tsetRemark('');\r\n\t\t\t}\r\n\t\t},\r\n\t\t[getSDOCWaitStatusList, remark]\r\n\t)\r\n\r\n\tconst sendToIssue = useCallback(\r\n\t\tasync sDocID => {\r\n\t\t\tconst res = await sdocAdmin.sendToIssue(sDocID)\r\n\t\t\tif (res && res.status === 200) {\r\n\t\t\t\tgetSDOCWaitStatusList()\r\n\t\t\t\tsetOpenSubmitSDocSureModal(false)\r\n\t\t\t}\r\n\t\t},\r\n\t\t[getSDOCWaitStatusList]\r\n\t)\r\n\r\n\tconst onSubmitApproval = useCallback(() => {\r\n\t\tif (submitType === 'approve') {\r\n\t\t\tsendToIssue(currentActionSDoc)\r\n\t\t} else if (submitType === 'reject') {\r\n\t\t\tonDeny(currentActionSDoc)\r\n\t\t} else if (submitType === 'requestAdditionDoc') {\r\n\t\t\tonRequestAddition(currentActionSDoc);\r\n\t\t} else if (submitType === 'requestModifyInfo') {\r\n\t\t\tonRequestModifyInfo(currentActionSDoc);\r\n\t\t} else if (submitType === 'rejectchecker') {\r\n\t\t\tonDenyChecker(currentActionSDoc)\r\n\t\t} else if (submitType === 'updateCustomerInfo') {\r\n\t\t\tonUpdateCustomerInfo(currentActionSDoc)\r\n\t\t} else if (submitType === 'resentBill') {\r\n\t\t\tonResentBill(currentActionSDoc)\r\n\t\t} else if (submitType === 'BackToPreapprove') {\r\n\t\t\tonBackToPreapprove(currentActionSDoc)\r\n\t\t}\r\n\t}, [onDeny, sendToIssue, currentActionSDoc, submitType])\r\n\r\n\tconst onAssignAdmin = async () => {\r\n\t\tconst res = await sdocAdmin.assignAdmin(sDocID, checkerAdminID)\r\n\t\tif (res && res.status === 200) {\r\n\t\t\tSwal.fire({\r\n\t\t\t\ttitle: 'มอบหมายงานสำเร็จ',\r\n\t\t\t\ttext: '',\r\n\t\t\t\ticon: 'success',\r\n\t\t\t\tconfirmButtonText: 'ปิด'\r\n\t\t\t})\r\n\t\t\tsetCheckerAdminID('')\r\n\t\t\tonOpenModalAssignAdmin()\r\n\t\t\tgetSDOCWaitStatusList()\r\n\t\t}\r\n\t}\r\n\tconst onAssignSignature = async () => {\r\n\t\tconst res = await sdocAdmin.approveSDoc(sDocID, myInfo.id)\r\n\t\tif (res && res.status === 200) {\r\n\t\t\tgetSDOCWaitStatusList()\r\n\t\t\tsetOpenModalAssignSignature(false)\r\n\t\t\tsetRemark('');\r\n\t\t}\r\n\t}\r\n\r\n\tconst onRequestAddition = async sDocID => {\r\n\t\tconst res = await sdocAdmin.requestAddition(sDocID, remark)\r\n\t\tif (res && res.status === 200) {\r\n\t\t\tgetSDOCWaitStatusList()\r\n\t\t\tsetOpenSubmitSDocSureModal(false);\r\n\t\t\tsetRemark('');\r\n\t\t}\r\n\t}\r\n\tconst onRequestModifyInfo = async sDocID => {\r\n\t\tconst res = await sdocAdmin.requestModifyInfo(sDocID, remark)\r\n\t\tif (res && res.status === 200) {\r\n\t\t\tgetSDOCWaitStatusList()\r\n\t\t\tsetOpenSubmitSDocSureModal(false);\r\n\t\t\tsetRemark('');\r\n\t\t}\r\n\t}\r\n\r\n\tconst onDenyChecker = useCallback(\r\n\t\tasync sDocID => {\r\n\t\t\tconst res = await sdocAdmin.denyCheckerSDoc(sDocID, remark)\r\n\t\t\tif (res && res.status === 200) {\r\n\t\t\t\tgetSDOCWaitStatusList()\r\n\t\t\t\tsetOpenSubmitSDocSureModal(false)\r\n\t\t\t\tsetRemark('');\r\n\t\t\t}\r\n\t\t},\r\n\t\t[getSDOCWaitStatusList, remark]\r\n\t)\r\n\r\n\tconst onRejectJob = async sDocID => {\r\n\t\tconst res = await sdocAdmin.rejectJob(sDocID)\r\n\t\tif (res && res.status === 200) {\r\n\t\t\tgetSDOCWaitStatusList()\r\n\t\t}\r\n\t}\r\n\tconst onUpdateCustomerInfo = async sDocID => {\r\n\t\tconst res = await sdocAdmin.updateCustomerInfo(sDocID)\r\n\t\tif (res && res.status === 200) {\r\n\t\t\tgetSDOCWaitStatusList()\r\n\t\t\tsetOpenSubmitSDocSureModal(false)\r\n\t\t\tSwal.fire({\r\n\t\t\t\ttitle: 'อัพเดทข้อมูลลูกค้าสำเร็จ',\r\n\t\t\t\ttext: 'อัพเดทข้อมูลลูกค้าสำเร็จไปยัง DataCenter / SAP สำเร็จ',\r\n\t\t\t\ticon: 'success',\r\n\t\t\t\tconfirmButtonText: 'ปิด'\r\n\t\t\t})\r\n\t\t} else {\r\n\t\t\tsetOpenSubmitSDocSureModal(false)\r\n\t\t\tSwal.fire({\r\n\t\t\t\ttitle: 'เกิดข้อผิดพลาด',\r\n\t\t\t\ttext: 'ไม่สามารถอัพเดทข้อมูลลูกค้าไปยัง DataCenter / SAP ได้',\r\n\t\t\t\ticon: 'error',\r\n\t\t\t\tconfirmButtonText: 'ปิด'\r\n\t\t\t})\r\n\t\t}\r\n\t}\r\n\r\n\tconst onResentBill = async sDocID => {\r\n\t\tconst res = await sdocAdmin.billResent(sDocID)\r\n\t\tif (res && res.status === 200) {\r\n\t\t\tgetSDOCWaitStatusList()\r\n\t\t\tsetOpenSubmitSDocSureModal(false)\r\n\t\t\tSwal.fire({\r\n\t\t\t\ttitle: 'ส่งข้อมูลใบนำฝากชำระเงินสำเร็จ',\r\n\t\t\t\ttext: 'ส่งข้อมูลใบนำฝากชำระเงินไปยัง DataCenter / SAP สำเร็จ',\r\n\t\t\t\ticon: 'success',\r\n\t\t\t\tconfirmButtonText: 'ปิด'\r\n\t\t\t})\r\n\t\t} else {\r\n\t\t\tsetOpenSubmitSDocSureModal(false)\r\n\t\t\tSwal.fire({\r\n\t\t\t\ttitle: 'เกิดข้อผิดพลาด',\r\n\t\t\t\ttext: 'ไม่สามารถส่งข้อมูลใบนำฝากชำระเงินไปยัง DataCenter / SAP ได้',\r\n\t\t\t\ticon: 'error',\r\n\t\t\t\tconfirmButtonText: 'ปิด'\r\n\t\t\t})\r\n\t\t}\r\n\t}\r\n\r\n\tconst onBackToPreapprove = async sDocID => {\r\n\t\tconst res = await sdocAdmin.backToPreapprove(sDocID)\r\n\t\tif (res && res.status === 200) {\r\n\t\t\tgetSDOCWaitStatusList()\r\n\t\t\tsetOpenSubmitSDocSureModal(false)\r\n\t\t\tSwal.fire({\r\n\t\t\t\ttitle: 'ย้อนกลับไปยังก่อนการอนุมัติ',\r\n\t\t\t\ttext: 'ย้อนกลับไปยังก่อนการอนุมัติสำเร็จ',\r\n\t\t\t\ticon: 'success',\r\n\t\t\t\tconfirmButtonText: 'ปิด'\r\n\t\t\t})\r\n\t\t} else {\r\n\t\t\tsetOpenSubmitSDocSureModal(false)\r\n\t\t\tSwal.fire({\r\n\t\t\t\ttitle: 'เกิดข้อผิดพลาด',\r\n\t\t\t\ttext: 'ไม่สามารถย้อนกลับไปยังก่อนการอนุมัติได้',\r\n\t\t\t\ticon: 'error',\r\n\t\t\t\tconfirmButtonText: 'ปิด'\r\n\t\t\t})\r\n\t\t}\r\n\t}\r\n\r\n\tconst handleSortChange = (model) => {\r\n\t\tif (isRehydrated && model[0] !== sortModel[0])\r\n\t\t\tsetSortModel(model);\r\n\t};\r\n\tuseEffect(() => {\r\n\t\tif (isRehydrated) {\r\n\t\t\tgetSDOCWaitStatusList()\r\n\t\t}\r\n\t\t//eslint-disable-next-line\r\n\t}, [isRehydrated])\r\n\tuseEffect(() => {\r\n\t\tsetRowsWaitStatus([])\r\n\t\tgetSDOCWaitStatusList()\r\n\t}, [isShowFinished])\r\n\r\n\tvar columnsWaitingStatus = [\r\n\t\t{\r\n\t\t\tfield: 'runningNumber',\r\n\t\t\theaderName: 'เลขที่คำขอ',\r\n\t\t\twidth: 180,\r\n\t\t\theaderAlign: 'left',\r\n\t\t\talign: 'left',\r\n\t\t\tsortable: true,\r\n\t\t\teditable: false,\r\n\t\t},\r\n\t\t{\r\n\t\t\tfield: 'brandName',\r\n\t\t\theaderName: 'ตราอักษร (Brand Name)',\r\n\t\t\twidth: 220,\r\n\t\t\theaderAlign: 'left',\r\n\t\t\talign: 'left',\r\n\t\t\tsortable: true,\r\n\t\t\teditable: false,\r\n\t\t},\r\n\t\t{\r\n\t\t\tfield: 'productModel',\r\n\t\t\theaderName: 'รุ่นของผลิตภัณฑ์',\r\n\t\t\twidth: 180,\r\n\t\t\theaderAlign: 'left',\r\n\t\t\talign: 'left',\r\n\t\t\tsortable: true,\r\n\t\t\teditable: false,\r\n\t\t},\r\n\t\t{\r\n\t\t\tfield: 'operator',\r\n\t\t\theaderName: 'ผู้ยื่นเอกสาร',\r\n\t\t\twidth: 200,\r\n\t\t\theaderAlign: 'left',\r\n\t\t\talign: 'center',\r\n\t\t\tsortable: true,\r\n\t\t\teditable: false,\r\n\t\t\trenderCell: (params) => (\r\n\t\t\t\t\r\n\t\t\t\t\t{/* {params.row.operator}
{params.row.operatorInfo && ('แทน ' + params.row.operatorInfo)} */}\r\n\t\t\t\t\t{params.row.operator}\r\n\t\t\t\t
\r\n\t\t\t),\r\n\t\t\t// valueGetter: (params) => {\r\n\t\t\t// \tif (params.row.operatorInfo) {\r\n\t\t\t// \t\treturn params.value + ' แทน ' + params.row.operatorInfo + ')'\r\n\t\t\t// \t}\r\n\t\t\t// },\r\n\t\t},\r\n\t\t{\r\n\t\t\tfield: 'operatorInfo',\r\n\t\t\theaderName: 'ยื่นในนาม',\r\n\t\t\twidth: 200,\r\n\t\t\theaderAlign: 'left',\r\n\t\t\talign: 'center',\r\n\t\t\tsortable: true,\r\n\t\t\teditable: false,\r\n\t\t\trenderCell: (params) => (\r\n\t\t\t\t\r\n\t\t\t\t\t{params.row.operatorInfo && (params.row.operatorInfo)}\r\n\t\t\t\t\r\n\t\t\t),\r\n\t\t},\r\n\t\t{\r\n\t\t\tfield: 'approver',\r\n\t\t\theaderName: 'ผู้ได้รับมอบหมายงาน',\r\n\t\t\twidth: 220,\r\n\t\t\theaderAlign: 'left',\r\n\t\t\talign: 'left',\r\n\t\t\tsortable: true,\r\n\t\t\teditable: false,\r\n\t\t},\r\n\t\t{\r\n\t\t\tfield: 'refnO1',\r\n\t\t\theaderName: 'หมายเลขอ้างอิง 1',\r\n\t\t\twidth: 220,\r\n\t\t\theaderAlign: 'center',\r\n\t\t\talign: 'center',\r\n\t\t\tsortable: false,\r\n\t\t\teditable: false,\r\n\t\t\thide: true,\r\n\t\t\trenderCell: (params) => (\r\n\t\t\t\t\r\n\t\t\t\t\t{params.row.transactions ? params.row.transactions.refnO1 : ''}\r\n\r\n\t\t\t\t\r\n\t\t\t),\r\n\t\t},\r\n\t\t{\r\n\t\t\tfield: 'refnO2',\r\n\t\t\theaderName: 'หมายเลขอ้างอิง 2',\r\n\t\t\twidth: 220,\r\n\t\t\theaderAlign: 'center',\r\n\t\t\talign: 'center',\r\n\t\t\tsortable: true,\r\n\t\t\teditable: false,\r\n\t\t\thide: true,\r\n\t\t\trenderCell: (params) => (\r\n\t\t\t\t\r\n\t\t\t\t\t{params.row.transactions ? params.row.transactions.refnO2 : ''}\r\n\t\t\t\t\r\n\t\t\t),\r\n\t\t},\r\n\t\t{\r\n\t\t\tfield: 'submitDate',\r\n\t\t\theaderName: 'วันที่ยื่นแบบ',\r\n\t\t\twidth: 150,\r\n\t\t\theaderAlign: 'left',\r\n\t\t\talign: 'left',\r\n\t\t\tsortable: true,\r\n\t\t\teditable: false,\r\n\t\t\trenderCell: params => (\r\n\t\t\t\t\r\n\t\t\t\t\t{/* {params.value ? format(new Date(params.value), 'dd/MM/yyyy HH:mm') : ''} */}\r\n\t\t\t\t\t{params.value ? params.value : ''}\r\n\t\t\t\t\r\n\t\t\t),\r\n\t\t\tvalueGetter: params => {\r\n\t\t\t\tif (params.row.submitDate) {\r\n\t\t\t\t\treturn format(new Date(params.value), 'dd/MM/yyyy HH:mm')\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t},\r\n\t\t{\r\n\t\t\tfield: 'lastUpdate',\r\n\t\t\theaderName: 'วันที่อัพเดทล่าสุด',\r\n\t\t\twidth: 200,\r\n\t\t\theaderAlign: 'left',\r\n\t\t\talign: 'left',\r\n\t\t\tsortable: true,\r\n\t\t\teditable: false,\r\n\t\t\trenderCell: params => (\r\n\t\t\t\t\r\n\t\t\t\t\t{params.row.lastUpdate ? format(new Date(params.row.lastUpdate), 'dd/MM/yyyy HH:mm') : ''}\r\n\t\t\t\t\r\n\t\t\t),\r\n\t\t\tfilterValueGetter: params => {\r\n\t\t\t\tif (params.row.lastUpdate) {\r\n\t\t\t\t\treturn format(new Date(params.row.lastUpdate), 'dd/MM/yyyy HH:mm');\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t},\r\n\t\t{\r\n\t\t\tfield: 'statusID',\r\n\t\t\theaderName: 'สถานะ',\r\n\t\t\twidth: 130,\r\n\t\t\theaderAlign: 'left',\r\n\t\t\talign: 'left',\r\n\t\t\tsortable: true,\r\n\t\t\teditable: false,\r\n\t\t\trenderCell: params => {\r\n\t\t\t\tvar today = new Date();\r\n\t\t\t\ttoday.setDate(today.getDate() + 1);\r\n\t\t\t\tvar dueDate = null;\r\n\t\t\t\tif (params.row.transactions != null && params.row.transactions.dueDate != null) {\r\n\t\t\t\t\tdueDate = new Date(params.row.transactions.dueDate);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tdueDate = new Date();\r\n\t\t\t\t}\r\n\t\t\t\tdueDate.setHours(23, 59, 59, 999);\r\n\t\t\t\treturn (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t(params.row.statusID === 1 && params.row.IsUploadedAttachment === false) ?\r\n\t\t\t\t\t\t\t\t'คำขอไม่สมบูรณ์'\r\n\t\t\t\t\t\t\t\t: (params.row.statusID === 2 && params.row.requestAddtionDocStatusID === 1) ?\r\n\t\t\t\t\t\t\t\t\t'เพิ่มเอกสารแล้ว'\r\n\t\t\t\t\t\t\t\t\t: (params.row.statusID === 2 && params.row.requestAddtionDocStatusID === 2) ?\r\n\t\t\t\t\t\t\t\t\t\t'ปรับปรุงข้อมูลแล้ว'\r\n\t\t\t\t\t\t\t\t\t\t: (params.row.statusID === 3 && params.row.requestAddtionDocStatusID === 2) ?\r\n\t\t\t\t\t\t\t\t\t\t\t'ขอปรับปรุงเอกสาร'\r\n\t\t\t\t\t\t\t\t\t\t\t: (params.row.statusID === 82 && (dueDate < today)) ?\r\n\t\t\t\t\t\t\t\t\t\t\t\t'เลยกำหนดชำระ'\r\n\t\t\t\t\t\t\t\t\t\t\t\t: params.row.statusName\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\r\n\t\t\t\t)\r\n\t\t\t},\r\n\t\t\tvalueGetter: (params) => {\r\n\t\t\t\t{\r\n\t\t\t\t\tvar today = new Date();\r\n\t\t\t\t\ttoday.setDate(today.getDate() + 1);\r\n\t\t\t\t\tvar dueDate = null;\r\n\t\t\t\t\tif (params.row.transactions != null && params.row.transactions.dueDate != null) {\r\n\t\t\t\t\t\tdueDate = new Date(params.row.transactions.dueDate);\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tdueDate = new Date();\r\n\t\t\t\t\t}\r\n\t\t\t\t\tdueDate.setHours(23, 59, 59, 999);\r\n\t\t\t\t\tif (params.row.statusID === 1 && params.row.IsUploadedAttachment === false)\r\n\t\t\t\t\t\treturn 'คำขอไม่สมบูรณ์';\r\n\t\t\t\t\telse if (params.value === 2 && params.row.requestAddtionDocStatusID === 1)\r\n\t\t\t\t\t\treturn 'เพิ่มเอกสารแล้ว';\r\n\t\t\t\t\telse if (params.value === 2 && params.row.requestAddtionDocStatusID === 2)\r\n\t\t\t\t\t\treturn 'ปรับปรุงข้อมูลแล้ว';\r\n\t\t\t\t\telse if (params.value === 3 && params.row.requestAddtionDocStatusID === 2)\r\n\t\t\t\t\t\treturn 'ขอปรับปรุงเอกสาร';\r\n\t\t\t\t\telse if (params.value === 82 && (dueDate < today))\r\n\t\t\t\t\t\treturn 'เลยกำหนดชำระ';\r\n\t\t\t\t\telse\r\n\t\t\t\t\t\treturn params.row.statusName;\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t},\r\n\t\t{\r\n\t\t\tfield: 'activity',\r\n\t\t\theaderName: 'กิจกรรม',\r\n\t\t\twidth: 1500,\r\n\t\t\theaderAlign: 'left',\r\n\t\t\talign: 'left',\r\n\t\t\tsortable: false,\r\n\t\t\teditable: false,\r\n\t\t\trenderCell: params => {\r\n\t\t\t\treturn (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\thistory.push(\r\n\t\t\t\t\t\t\t\t\t`/admin/sdoc/form/${params.row.id}?mountType=readOnly&ApprovalControl=true`\r\n\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t}}>\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tรายละเอียด\r\n\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t{(myRole === 10) && (\r\n\t\t\t\t\t\t\t/* ผู้มอบหมาย */\r\n\t\t\t\t\t\t\t(params.row.statusID === 1 && params.row.IsUploadedAttachment == true) ? (\r\n\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\tonClickAssignAdmin(params.row.id)\r\n\t\t\t\t\t\t\t\t\t}}>\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tเลือกผู้ตรวจสอบข้อมูล\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t) : params.row.statusID === 5 ? (\r\n\t\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\tดาวน์โหลดหนังสือรับรอง\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t)}\r\n\r\n\t\t\t\t\t\t{(myRole === 11) && (\r\n\t\t\t\t\t\t\t/* ผู้ตรวจข้อมูล */\r\n\t\t\t\t\t\t\tparams.row.statusID === 2 ||\r\n\t\t\t\t\t\t\t\tparams.row.statusID === 3 ||\r\n\t\t\t\t\t\t\t\tparams.row.statusID === 5 ? (\r\n\t\t\t\t\t\t\t\t// Check if have other Button except Detail Button\r\n\t\t\t\t\t\t\t\tparams.row.statusID === 3 ? (\r\n\t\t\t\t\t\t\t\t\t// Status 3 have Cancel Button\r\n\t\t\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t\t\t{!(params.row.sDocTransactions && params.row.sDocTransactions?.invoiceNo !== null) &&\r\n\t\t\t\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tsetCurrentActionSDoc(params.row.id)\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tsetSubmitType('reject')\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tsetOpenSubmitSDocSureModal(true)\r\n\t\t\t\t\t\t\t\t\t\t\t\t}}>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\tไม่อนุมัติ\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\t\t\t// onRequestAddition(params.row.id)\r\n\t\t\t\t\t\t\t\t\t\t\t\tsetCurrentActionSDoc(params.row.id)\r\n\t\t\t\t\t\t\t\t\t\t\t\tsetSubmitType('requestAdditionDoc')\r\n\t\t\t\t\t\t\t\t\t\t\t\tsetOpenSubmitSDocSureModal(true)\r\n\t\t\t\t\t\t\t\t\t\t\t}}>\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\tขอเอกสารเพิ่ม\r\n\t\t\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\t\t\tsetCurrentActionSDoc(params.row.id)\r\n\t\t\t\t\t\t\t\t\t\t\t\tsetSubmitType('requestModifyInfo')\r\n\t\t\t\t\t\t\t\t\t\t\t\tsetOpenSubmitSDocSureModal(true)\r\n\t\t\t\t\t\t\t\t\t\t\t}}>\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\tขอปรับปรุงข้อมูล\r\n\t\t\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\t\t\tsetCurrentActionSDoc(params.row.id)\r\n\t\t\t\t\t\t\t\t\t\t\t\tsetSubmitType('approve')\r\n\t\t\t\t\t\t\t\t\t\t\t\tsetOpenSubmitSDocSureModal(true)\r\n\t\t\t\t\t\t\t\t\t\t\t}}>\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\tอนุมัติ\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{!(params.row.sDocTransactions && params.row.sDocTransactions?.invoiceNo !== null) &&\r\n\t\t\t\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tsetCurrentActionSDoc(params.row.id)\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tsetSubmitType('reject')\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tsetOpenSubmitSDocSureModal(true)\r\n\t\t\t\t\t\t\t\t\t\t\t\t}}>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\tไม่อนุมัติ\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\t\t\tonRejectJob(params.row.id)\r\n\t\t\t\t\t\t\t\t\t\t\t}}>\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\tปฏิเสธงาน\r\n\t\t\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\tตัวอย่างหนังสือรับรอง\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t) : (params.row.statusID === 8 || params.row.statusID === 82 || params.row.statusID === 9) ? (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{params.row.statusID === 82 &&\r\n\t\t\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\t\t\tsetCurrentActionSDoc(params.row.id)\r\n\t\t\t\t\t\t\t\t\t\t\t\tsetSubmitType('reject')\r\n\t\t\t\t\t\t\t\t\t\t\t\tsetOpenSubmitSDocSureModal(true)\r\n\t\t\t\t\t\t\t\t\t\t\t}}>\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\tไม่อนุมัติ\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\tตัวอย่างหนังสือรับรอง\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\t\tsetCurrentActionSDoc(params.row.id)\r\n\t\t\t\t\t\t\t\t\t\t\tsetSubmitType('updateCustomerInfo')\r\n\t\t\t\t\t\t\t\t\t\t\tsetOpenSubmitSDocSureModal(true)\r\n\t\t\t\t\t\t\t\t\t\t}}>\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tอัพเดทข้อมูลลูกค้าไปยังSAP\r\n\t\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\t\tsetCurrentActionSDoc(params.row.id)\r\n\t\t\t\t\t\t\t\t\t\t\tsetSubmitType('resentBill')\r\n\t\t\t\t\t\t\t\t\t\t\tsetOpenSubmitSDocSureModal(true)\r\n\t\t\t\t\t\t\t\t\t\t}}>\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tส่งข้อมูลใบนำฝากชำระเงินใหม่\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t)}\r\n\r\n\t\t\t\t\t\t{(myRole === 9) ? (\r\n\t\t\t\t\t\t\t/* ผู้ออกใบรับรอง */\r\n\t\t\t\t\t\t\tparams.row.statusID === 4 ? (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t handleIssueBtn(params.row.id)}>\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tออกหนังสือรับรอง\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\t\tsetCurrentActionSDoc(params.row.id)\r\n\t\t\t\t\t\t\t\t\t\t\tsetSubmitType('rejectchecker')\r\n\t\t\t\t\t\t\t\t\t\t\tsetOpenSubmitSDocSureModal(true)\r\n\t\t\t\t\t\t\t\t\t\t}}>\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tไม่อนุมัติออกหนังสือ\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\tตัวอย่างหนังสือรับรอง\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{/* {\r\n\t\t\t\t\t\t\t\t\t\t\tonDeny(params.row.id)\r\n\t\t\t\t\t\t\t\t\t\t}}>\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tยกเลิก\r\n\t\t\t\t\t\t\t\t\t */}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t) : params.row.statusID === 5 ? (\r\n\t\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\tดาวน์โหลดหนังสือรับรอง\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t) : (params.row.statusID === 8 || params.row.statusID === 82 || params.row.statusID === 9) ? (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{params.row.statusID === 82 &&\r\n\t\t\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\t\t\tsetCurrentActionSDoc(params.row.id)\r\n\t\t\t\t\t\t\t\t\t\t\t\tsetSubmitType('reject')\r\n\t\t\t\t\t\t\t\t\t\t\t\tsetOpenSubmitSDocSureModal(true)\r\n\t\t\t\t\t\t\t\t\t\t\t}}>\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\tไม่อนุมัติ\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\tตัวอย่างหนังสือรับรอง\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t) : myRole === 15 ? (\r\n\t\t\t\t\t\t\t/* เจ้าหน้าที่สูงสุด */\r\n\t\t\t\t\t\t\t(params.row.statusID === 1 && params.row.IsUploadedAttachment == true) ? (\r\n\t\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\t\tonClickAssignAdmin(params.row.id)\r\n\t\t\t\t\t\t\t\t\t\t}}>\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tเลือกผู้ตรวจสอบข้อมูล\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t) : params.row.statusID === 2 ||\r\n\t\t\t\t\t\t\t\tparams.row.statusID === 3 ? (\r\n\t\t\t\t\t\t\t\t// Check if have other Button except Detail Button\r\n\t\t\t\t\t\t\t\tparams.row.statusID === 3 ? (\r\n\t\t\t\t\t\t\t\t\t// Status 3 and 5 have Cancel Button\r\n\t\t\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t\t\t{!(params.row.sDocTransactions && params.row.sDocTransactions?.invoiceNo !== null) &&\r\n\t\t\t\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tsetCurrentActionSDoc(params.row.id)\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tsetSubmitType('reject')\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tsetOpenSubmitSDocSureModal(true)\r\n\t\t\t\t\t\t\t\t\t\t\t\t}}>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\tไม่อนุมัติ\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\t\t\t// onRequestAddition(params.row.id)\r\n\t\t\t\t\t\t\t\t\t\t\t\tsetCurrentActionSDoc(params.row.id)\r\n\t\t\t\t\t\t\t\t\t\t\t\tsetSubmitType('requestAdditionDoc')\r\n\t\t\t\t\t\t\t\t\t\t\t\tsetOpenSubmitSDocSureModal(true)\r\n\t\t\t\t\t\t\t\t\t\t\t}}>\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\tขอเอกสารเพิ่ม\r\n\t\t\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\t\t\tsetCurrentActionSDoc(params.row.id)\r\n\t\t\t\t\t\t\t\t\t\t\t\tsetSubmitType('requestModifyInfo')\r\n\t\t\t\t\t\t\t\t\t\t\t\tsetOpenSubmitSDocSureModal(true)\r\n\t\t\t\t\t\t\t\t\t\t\t}}>\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\tขอปรับปรุงข้อมูล\r\n\t\t\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\t\t\tsetCurrentActionSDoc(params.row.id)\r\n\t\t\t\t\t\t\t\t\t\t\t\tsetSubmitType('approve')\r\n\t\t\t\t\t\t\t\t\t\t\t\tsetOpenSubmitSDocSureModal(true)\r\n\t\t\t\t\t\t\t\t\t\t\t}}>\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\tอนุมัติ\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{!(params.row.sDocTransactions && params.row.sDocTransactions?.invoiceNo !== null) &&\r\n\t\t\t\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tsetCurrentActionSDoc(params.row.id)\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tsetSubmitType('reject')\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tsetOpenSubmitSDocSureModal(true)\r\n\t\t\t\t\t\t\t\t\t\t\t\t}}>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\tไม่อนุมัติ\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\t\t\tonRejectJob(params.row.id)\r\n\t\t\t\t\t\t\t\t\t\t\t}}>\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\tปฏิเสธงาน\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\tตัวอย่างหนังสือรับรอง\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t) : params.row.statusID === 4 ? (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t handleIssueBtn(params.row.id)}>\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tออกหนังสือรับรอง\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\t\tsetCurrentActionSDoc(params.row.id)\r\n\t\t\t\t\t\t\t\t\t\t\tsetSubmitType('rejectchecker')\r\n\t\t\t\t\t\t\t\t\t\t\tsetOpenSubmitSDocSureModal(true)\r\n\t\t\t\t\t\t\t\t\t\t}}>\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tไม่อนุมัติออกหนังสือ\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\tตัวอย่างหนังสือรับรอง\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{/* \t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\t\t\tonDeny(params.row.id)\r\n\t\t\t\t\t\t\t\t\t\t\t}}>\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\tยกเลิก\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t */}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t) : params.row.statusID === 5 ? (\r\n\t\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\tดาวน์โหลดหนังสือรับรอง\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\t\tsetCurrentActionSDoc(params.row.id)\r\n\t\t\t\t\t\t\t\t\t\t\tsetSubmitType('updateCustomerInfo')\r\n\t\t\t\t\t\t\t\t\t\t\tsetOpenSubmitSDocSureModal(true)\r\n\t\t\t\t\t\t\t\t\t\t}}>\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tอัพเดทข้อมูลลูกค้าไปยังSAP\r\n\t\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t) : params.row.statusID === 8 || params.row.statusID === 82 || params.row.statusID === 9 ? (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{params.row.statusID === 82 &&\r\n\t\t\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\t\t\tsetCurrentActionSDoc(params.row.id)\r\n\t\t\t\t\t\t\t\t\t\t\t\tsetSubmitType('reject')\r\n\t\t\t\t\t\t\t\t\t\t\t\tsetOpenSubmitSDocSureModal(true)\r\n\t\t\t\t\t\t\t\t\t\t\t}}>\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\tไม่อนุมัติ\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\tตัวอย่างหนังสือรับรอง\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\t\tsetCurrentActionSDoc(params.row.id)\r\n\t\t\t\t\t\t\t\t\t\t\tsetSubmitType('updateCustomerInfo')\r\n\t\t\t\t\t\t\t\t\t\t\tsetOpenSubmitSDocSureModal(true)\r\n\t\t\t\t\t\t\t\t\t\t}}>\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tอัพเดทข้อมูลลูกค้าไปยังSAP\r\n\t\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\t\tsetCurrentActionSDoc(params.row.id)\r\n\t\t\t\t\t\t\t\t\t\t\tsetSubmitType('resentBill')\r\n\t\t\t\t\t\t\t\t\t\t\tsetOpenSubmitSDocSureModal(true)\r\n\t\t\t\t\t\t\t\t\t\t}}>\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tส่งข้อมูลใบนำฝากชำระเงินใหม่\r\n\t\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\t\tsetCurrentActionSDoc(params.row.id)\r\n\t\t\t\t\t\t\t\t\t\t\tsetSubmitType('BackToPreapprove')\r\n\t\t\t\t\t\t\t\t\t\t\tsetOpenSubmitSDocSureModal(true)\r\n\t\t\t\t\t\t\t\t\t\t}}>\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tย้อนคืนสถานะ\r\n\t\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)\r\n\r\n\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\r\n\t\t\t\t)\r\n\t\t\t},\r\n\t\t},\r\n\t]\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tแบบหนังสือรับรองตนเอง\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tค้นหาขั้นสูง\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{myRole === 15 && (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\tlabel=\"แสดงรายการที่อนุมัติแล้ว\"\r\n\t\t\t\t\t\t\t\t\t\tlabelPlacement=\"start\"\r\n\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\thandleSortChange(model)\r\n\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\tcomponents={{\r\n\t\t\t\t\t\t\t\t\t\tNoRowsOverlay: () => {\r\n\t\t\t\t\t\t\t\t\t\t\tif (!isDataLoading) {\r\n\t\t\t\t\t\t\t\t\t\t\t\treturn ไม่พบข้อมูล;\r\n\t\t\t\t\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\t\t\t\t\treturn กำลังประมวลผลข้อมูล โปรดรอสักครู่..;\r\n\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\r\n\t\t\t {\r\n\t\t\t\t\tsetOpenSubmitSDocSureModal(false)\r\n\t\t\t\t}}\r\n\t\t\t\thandleButton={onSubmitApproval}\r\n\t\t\t\thandleCancel={() => {\r\n\t\t\t\t\tsetOpenSubmitSDocSureModal(false)\r\n\t\t\t\t}}\r\n\t\t\t/>\r\n\r\n\t\t\t\r\n\r\n\t\t\t setOpenModalAssignSignature(false)}\r\n\t\t\t\thandleButton={onAssignSignature}\r\n\t\t\t\tonChangeCheckerAdminID={onChangeSignature}\r\n\t\t\t\tcheckerAdminList={signatureAdminList}\r\n\t\t\t\tcheckerAdminID={selectedSignature}\r\n\t\t\t/>\r\n\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tค้นหาขั้นสูง\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tเลขที่คำขอ:\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t query.id === 'runningNumber')?.value || ''}\r\n\t\t\t\t\t\t\t\t\t\tplaceholder=\"(ไม่ต้องใส่ SR นำหน้า)\"\r\n\t\t\t\t\t\t\t\t\t\tid=\"runningNumber\"\r\n\t\t\t\t\t\t\t\t\t\tonChange={handleSearchChange}\r\n\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tตราอักษร:\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t query.id === 'brandName')?.value || ''}\r\n\t\t\t\t\t\t\t\t\t\tid=\"brandName\"\r\n\t\t\t\t\t\t\t\t\t\tonChange={handleSearchChange}\r\n\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tรุ่นของผลิตภัณฑ์:\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t query.id === 'productModel')?.value || ''}\r\n\t\t\t\t\t\t\t\t\t\tid=\"productModel\"\r\n\t\t\t\t\t\t\t\t\t\tonChange={handleSearchChange}\r\n\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tผู้ยื่นเอกสาร:\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t query.id === 'operator')?.value || ''}\r\n\t\t\t\t\t\t\t\t\t\tid=\"operator\"\r\n\t\t\t\t\t\t\t\t\t\tonChange={handleSearchChange}\r\n\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tยื่นในนาม:\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t query.id === 'operatorInfo')?.value || ''}\r\n\t\t\t\t\t\t\t\t\t\tid=\"operatorInfo\"\r\n\t\t\t\t\t\t\t\t\t\tonChange={handleSearchChange}\r\n\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tผู้ได้รับมอบหมายงาน:\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t query.id === 'approver')?.value || ''}\r\n\t\t\t\t\t\t\t\t\t\tid=\"approver\"\r\n\t\t\t\t\t\t\t\t\t\tonChange={handleSearchChange}\r\n\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tวันที่ยื่นแบบ:\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tวันที่อัพเดทล่าสุด:\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tสถานะ:\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\t\tconst selectedLabels = selected.map(value => {\r\n\t\t\t\t\t\t\t\t\t\t\t\tconst selectedOption = statusOptions.find(option => option.value === value);\r\n\t\t\t\t\t\t\t\t\t\t\t\treturn selectedOption ? selectedOption.label : '';\r\n\t\t\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\t\t\treturn selectedLabels.join(', ');\r\n\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t{statusOptions.map((option) => (\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t -1} />\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t{/* {option.label} */}\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tบันทึกข้อมูลการค้นหา:\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tล้างผลการค้นหา\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tค้นหา\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\r\n\t\t\r\n\t)\r\n}\r\n","import { Card, Grid, Divider, Button } from '@material-ui/core'\r\nimport { Settings, CheckCircle, NoteAdd, Cancel } from '@material-ui/icons'\r\n\r\nimport { makeStyles } from '@material-ui/core/styles'\r\n\r\nconst useStyles = makeStyles(() => {\r\n\treturn {\r\n\t\tdisabled_text_field: {\r\n\t\t\tcolor: '#000',\r\n\r\n\t\t},\r\n\t\tdetails_button: {\r\n\t\t\tbackgroundColor: '#466AE9',\r\n\t\t\tcolor: '#fff',\r\n\t\t\t'&:hover': {\r\n\t\t\t\tbackgroundColor: '#466AE9',\r\n\t\t\t},\r\n\t\t},\r\n\t\tcommon_button: {\r\n\t\t\tbackgroundColor: '#eee',\r\n\t\t\tcolor: '#000',\r\n\t\t\t'&:hover': {\r\n\t\t\t\tbackgroundColor: '#eee',\r\n\t\t\t},\r\n\t\t},\r\n\t\tapprove_button: {\r\n\t\t\tbackgroundColor: '#1DBF73',\r\n\t\t\tcolor: '#fff',\r\n\t\t\t'&:hover': {\r\n\t\t\t\tbackgroundColor: '#1DBF73',\r\n\t\t\t},\r\n\t\t},\r\n\t\twait_button: {\r\n\t\t\tbackgroundColor: '#F6B50B',\r\n\t\t\tcolor: '#fff',\r\n\t\t\t'&:hover': {\r\n\t\t\t\tbackgroundColor: '#F6B50B',\r\n\t\t\t},\r\n\t\t},\r\n\t\treject_button: {\r\n\t\t\tbackgroundColor: '#DB4D44',\r\n\t\t\tcolor: '#fff',\r\n\t\t\t'&:hover': {\r\n\t\t\t\tbackgroundColor: '#DB4D44',\r\n\t\t\t},\r\n\t\t},\r\n\t\taddedDoc_button: {\r\n\t\t\tbackgroundColor: '#1DBF73',\r\n\t\t\tcolor: '#fff',\r\n\t\t\t'&:hover': {\r\n\t\t\t\tbackgroundColor: '#1DBF73',\r\n\t\t\t},\r\n\t\t},\r\n\t}\r\n})\r\n\r\nexport default function ApprovalCard({\r\n\tsDOCID,\r\n\tonRequestAddition,\r\n\tsetCurrentActionSDoc,\r\n\tsetSubmitType,\r\n\tsetOpenSubmitSDocSureModal,\r\n\tonRejectJob\r\n\r\n}) {\r\n\tconst classes = useStyles()\r\n\r\n\treturn (\r\n\r\n\t\t\r\n\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tผลการตรวจสอบข้อมูลเอกสารหลักฐานประกอบการรับรองตนเอง\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t {\r\n\t\t\t\t\t\t\t// onRequestAddition(sDOCID)\r\n\t\t\t\t\t\t\tsetCurrentActionSDoc(sDOCID)\r\n\t\t\t\t\t\t\tsetSubmitType('requestAdditionDoc')\r\n\t\t\t\t\t\t\tsetOpenSubmitSDocSureModal(true)\r\n\t\t\t\t\t\t}}>\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\tขอเอกสารเพิ่ม\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t {\r\n\t\t\t\t\t\t\tsetCurrentActionSDoc(sDOCID)\r\n\t\t\t\t\t\t\tsetSubmitType('requestModifyInfo')\r\n\t\t\t\t\t\t\tsetOpenSubmitSDocSureModal(true)\r\n\t\t\t\t\t\t}}>\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\tขอปรับปรุงข้อมูล\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t {\r\n\t\t\t\t\t\t\tsetCurrentActionSDoc(sDOCID)\r\n\t\t\t\t\t\t\tsetSubmitType('approve')\r\n\t\t\t\t\t\t\tsetOpenSubmitSDocSureModal(true)\r\n\t\t\t\t\t\t}}>\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\tอนุมัติ\r\n\t\t\t\t\t\r\n\t\t\t\t\t {\r\n\t\t\t\t\t\t\tsetCurrentActionSDoc(sDOCID)\r\n\t\t\t\t\t\t\tsetSubmitType('reject')\r\n\t\t\t\t\t\t\tsetOpenSubmitSDocSureModal(true)\r\n\t\t\t\t\t\t}}>\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\tไม่อนุมัติ\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t {\r\n\t\t\t\t\t\t\tonRejectJob(sDOCID)\r\n\t\t\t\t\t\t}}>\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\tปฏิเสธงาน\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n","import { useState } from 'react'\r\nimport { Card, Grid, Divider, TextField, Button } from '@material-ui/core'\r\nimport { Assignment, Archive } from '@material-ui/icons'\r\nimport { DataGrid, GridOverlay } from '@material-ui/data-grid'\r\nimport { format } from 'date-fns'\r\n\r\n// import File from './file'\r\n\r\nexport default function SDoCLogsCard({\r\n\tSDoCLogs,\r\n\tisDataLoading = false,\r\n}) {\r\n\tconst [sortModel, setSortModel] = useState([\r\n\t\t{\r\n\t\t\tfield: 'createDate',\r\n\t\t\tsort: 'desc',\r\n\t\t},\r\n\t]);\r\n\r\n\tconst columnsSDoCLogs = [\r\n\t\t{\r\n\t\t\tfield: 'createDate',\r\n\t\t\theaderName: 'วันเวลากิจกรรม',\r\n\t\t\twidth: 180,\r\n\t\t\theaderAlign: 'left',\r\n\t\t\talign: 'left',\r\n\t\t\tsortable: true,\r\n\t\t\teditable: false,\r\n\t\t\trenderCell: params => (\r\n\t\t\t\t\r\n\t\t\t\t\t{params.value ? format(new Date(params.value), 'dd/MM/yyyy HH:mm') : ''}\r\n\t\t\t\t\r\n\t\t\t),\r\n\t\t},\r\n\t\t{\r\n\t\t\tfield: 'beforeActionStatus',\r\n\t\t\theaderName: 'สถานะก่อนการกระทำ',\r\n\t\t\twidth: 230,\r\n\t\t\theaderAlign: 'center',\r\n\t\t\talign: 'center',\r\n\t\t\tsortable: true,\r\n\t\t\teditable: false,\r\n\t\t},\r\n\t\t{\r\n\t\t\tfield: 'afterActionStatus',\r\n\t\t\theaderName: 'สถานะหลังการกระทำ',\r\n\t\t\twidth: 230,\r\n\t\t\theaderAlign: 'center',\r\n\t\t\talign: 'center',\r\n\t\t\tsortable: true,\r\n\t\t\teditable: false,\r\n\t\t},\r\n\t\t{\r\n\t\t\tfield: 'remark',\r\n\t\t\theaderName: 'รายละเอียด',\r\n\t\t\twidth: 700,\r\n\t\t\theaderAlign: 'left',\r\n\t\t\talign: 'left',\r\n\t\t\tsortable: true,\r\n\t\t\teditable: false,\r\n\t\t\trenderCell: params => (\r\n\t\t\t\t\r\n\t\t\t),\r\n\t\t}\r\n\r\n\t]\r\n\r\n\tfunction makeLinksClickable(text) {\r\n\t\tconst urlRegex = /(https?:\\/\\/[^\\s]+)/g;\r\n\t\treturn text.replace(urlRegex, '$1');\r\n\t}\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t{/* Header */}\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tMemo Logs\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\r\n\t\t\t\t{/* Files Section */}\r\n\t\t\t\t\r\n\t\t\t\t\t{/* Heading */}\r\n\t\t\t\t\tรายละเอียดกิจกรรมต่าง ๆ \r\n\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\tif (!isDataLoading) {\r\n\t\t\t\t\t\t\t\t\t\treturn ไม่พบข้อมูล;\r\n\t\t\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\t\t\treturn กำลังประมวลผลข้อมูล โปรดรอสักครู่..;\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t// whiteSpace=\"normal\"\r\n\t\t\t\t\t\t// onSortModelChange={(model) => {\r\n\t\t\t\t\t\t// \thandleSortChange(model)\r\n\t\t\t\t\t\t// }}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t{/* Uploaded File */}\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n","import { Card, Grid, Divider, InputBase } from '@material-ui/core'\r\nimport { Settings, CheckCircle, NoteAdd, Cancel } from '@material-ui/icons'\r\n\r\nimport { makeStyles } from '@material-ui/core/styles'\r\n\r\n\r\nexport default function SDoCDetailCard({\r\n\trunningNo,\r\n\tsDoCNo\r\n}) {\r\n\treturn (\r\n\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t{/* Header */}\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tรายละเอียดแบบรับรองตนเอง\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tเลขที่คำขอ\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tSDoC NO.\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n","import { useState, useEffect, useMemo, useCallback } from 'react'\r\nimport { Grid, TextField, Button } from '@material-ui/core'\r\nimport { Alert, AlertTitle } from '@material-ui/lab';\r\n\r\nimport OrganizationDetailCard from '@components/sdoc/organization-detail-card'\r\nimport OrganizationDetailCardV2 from '@components/sdoc/organization-detail-cardV2'\r\nimport OrganizationDetailCardV3 from '@components/sdoc/organization-detail-cardV3'\r\nimport ProfileCardV2 from 'components/sdoc/profile-cardV2/index';\r\nimport BrandNameCard from '@components/sdoc/brand-name-card'\r\nimport EquipmentCard from 'components/sdoc/equipment-card/index'\r\nimport DocumentAdditionCard from 'components/sdoc/document-addition-card/index'\r\nimport ApprovalCard from 'components/sdoc/approval-card/index'\r\nimport SDoCLogsCard from 'components/sdoc/sdoclogs-card/index'\r\nimport SDoCDetailCard from 'components/sdoc/sdoc-detail-card/index'\r\nimport SureModal from '@components/SureModal'\r\nimport SuccessModal from '@components/modal/SuccessModal'\r\n\r\nimport { useHistory, useLocation, useParams } from 'react-router-dom'\r\nimport { sdoc, sdocAdmin, admin, operators, sdocUser } from '@api'\r\nimport { useQuery } from 'utils/useQuery'\r\nimport { useStoreRehydrated } from '@store'\r\n\r\nimport { frequency, powerUnit, type_equipment } from 'data/sdoc'\r\n\r\nimport Swal from 'sweetalert2/dist/sweetalert2.js'\r\nimport 'sweetalert2/dist/sweetalert2.min.css'\r\n\r\nconst initEquipmentState = {\r\n\tProductTypeText: '',\r\n\tFrequencyText: '',\r\n\tPowerText: '',\r\n\tPolicyText: '',\r\n\tSelectedPowerUnit: '',\r\n\tPolicyText_2: '',\r\n\tPolicyText_3: '',\r\n\tFlag: '',\r\n\tisError: false,\r\n}\r\n\r\n\r\nconst EQUIPMENT_INITIAL_STATE = {\r\n\tProductTypeText: '',\r\n\tFrequencyText: '',\r\n\tPowerText: '',\r\n\tPolicyText: '',\r\n\tSelectedPowerUnit: '',\r\n\tPolicyText_2: '',\r\n\tPolicyText_3: '',\r\n\tFlag: '',\r\n\tisError: false,\r\n}\r\n\r\nconst CONFIRMATION_INFO_STORAGE_INITIAL_STATE = {\r\n\tnormal_person: {\r\n\t\ttype: 'normal-person',\r\n\t\tname: '',\r\n\t\tcardNo: '',\r\n\t\taddress: '',\r\n\t},\r\n\torganization: {\r\n\t\ttype: 'organization',\r\n\t\tname: '',\r\n\t\tcardNo: '',\r\n\t\taddress: '',\r\n\t},\r\n}\r\n\r\n// Page Description: ยื่นแบบหนังสือรับรองตนเอง\r\nexport default function SDOC() {\r\n\tconst isRehydrated = useStoreRehydrated()\r\n\tconst history = useHistory()\r\n\tconst location = useLocation()\r\n\tconst query = useQuery()\r\n\r\n\tconst { id: sDOCID } = useParams()\r\n\tconst [mountType, setmountType] = useState('')\r\n\r\n\tconst ApprovalControl = query.get('ApprovalControl')\r\n\tconst [currentSenderState, setCurrentSenderState] = useState('normal_person')\r\n\t// SDOC Id\r\n\t// eslint-disable-next-line\r\n\tconst [sDOCId, setSDOCId] = useState(null)\r\n\t// Confirmation Info. Status\r\n\t// eslint-disable-next-line\r\n\tconst [confirmationInfoHasFetched, setConfirmationInfoHasFetched] = useState({\r\n\t\tnormal_person: false,\r\n\t\torganization: false,\r\n\t})\r\n\t// eslint-disable-next-line\r\n\tconst [confirmationInfoStorage, setConfirmationInfoStorage] = useState(CONFIRMATION_INFO_STORAGE_INITIAL_STATE)\r\n\t// Confirmation Info.\r\n\tconst [confirmationInfo, setConfirmationInfo] = useState({\r\n\t\ttype: 'normal-person',\r\n\t\tname: '',\r\n\t\tcardNo: '',\r\n\t\taddress: '',\r\n\t})\r\n\r\n\tconst [equipmentMasterData, setEquipmentMasterData] = useState({\r\n\t\tproductType: [],\r\n\t\ttypeEquipment: [],\r\n\t\tfrequency: [],\r\n\t\tpowerUnit: [],\r\n\t})\r\n\tconst [inputModel, setInputModel] = useState({\r\n\t\tbrandName: '',\r\n\t\tproductModel: '',\r\n\t})\r\n\t// Input Equipment State\r\n\tconst [inputEquipmentState, setInputEquipmentState] = useState([\r\n\t\tEQUIPMENT_INITIAL_STATE,\r\n\t])\r\n\t// Additional Files\r\n\tconst [tempFile, setTempFile] = useState({\r\n\t\tfile: null,\r\n\t\tname: '',\r\n\t\t// filedate: '',\r\n\t})\r\n\tconst [additionalFiles, setAdditionalFiles] = useState([])\r\n\t// Modal States\r\n\tconst [submitEquipmentSureModal, setSubmitEquipmentSureModal] =\r\n\t\tuseState(false)\r\n\tconst [openSubmitEquipmentSuccessModal, setOpenSubmitEquipmentSuccessModal] =\r\n\t\tuseState(false)\r\n\tconst [submitTextModal, setSubmitTextModal] = useState({\r\n\t\ttitle: '',\r\n\t\tcontent: '',\r\n\t\thandleButton: null,\r\n\t})\r\n\tconst [isSubmitting, setIsSubmitting] = useState(false)\r\n\t// SDOC Status\r\n\tconst [sDOCStatus, setSDOCStatus] = useState('')\r\n\t// Running NO / SDoC NO\r\n\tconst [runningNo, setRunningNo] = useState('')\r\n\tconst [sDoCNo, setSDoCNo] = useState('')\r\n\t// AdminRole\r\n\tconst [myRole, setMyRole] = useState('')\r\n\t// Sure Modal For Update SDOC Status\r\n\tconst [openSubmitSDocSureModal, setOpenSubmitSDocSureModal] = useState(false)\r\n\tconst [submitType, setSubmitType] = useState('approve')\r\n\tconst [remark, setRemark] = useState('')\r\n\tconst [currentActionSDoc, setCurrentActionSDoc] = useState('')\r\n\r\n\tconst [openModalAssignAdmin, setOpenModalAssignAdmin] = useState(false)\r\n\tconst [openModalAssignSignature, setOpenModalAssignSignature] =\r\n\t\tuseState(false)\r\n\tconst [isRejectable, setIsRejectable] = useState(true)\r\n\t// for editing profile\r\n\tconst [isEditingSDoC, setIsEditingSDoC] = useState(false)\r\n\tconst [AddressList, setAddressList] = useState('')\r\n\r\n\tconst getAddressList = async () => {\r\n\t\tconst res = await sdocUser.getAddressList()\r\n\t\tif (res && res?.status === 200) {\r\n\t\t\tconst data = res.data\r\n\t\t\tsetAddressList(data)\r\n\t\t}\r\n\t}\r\n\r\n\tconst sureModalTitle = useMemo(\r\n\t\t() =>\r\n\t\t\tsubmitType === 'approve'\r\n\t\t\t\t? 'อนุมัติแบบหนังสือรับรองตนเอง'\r\n\t\t\t\t: 'ไม่อนุมัติแบบหนังสือรับรองตนเอง',\r\n\t\t[submitType]\r\n\t)\r\n\tconst contentSureModal = useMemo(\r\n\t\t() => {\r\n\r\n\t\t\tif (submitType === 'approve') {\r\n\t\t\t\treturn
ยืนยันอนุมัติแบบหนังสือรับรองตนเอง
\r\n\t\t\t} else if (submitType === 'reject') {\r\n\t\t\t\treturn {\r\n\t\t\t\t\t\tsetRemark(e.target.value)\r\n\t\t\t\t\t}}\r\n\t\t\t\t\tvalue={remark}\r\n\t\t\t\t/>\r\n\t\t\t} else if (submitType === 'requestAdditionDoc') {\r\n\t\t\t\treturn {\r\n\t\t\t\t\t\tsetRemark(e.target.value)\r\n\t\t\t\t\t}}\r\n\t\t\t\t\tvalue={remark}\r\n\t\t\t\t/>\r\n\t\t\t} else if (submitType === 'requestModifyInfo') {\r\n\t\t\t\treturn {\r\n\t\t\t\t\t\tsetRemark(e.target.value)\r\n\t\t\t\t\t}}\r\n\t\t\t\t\tvalue={remark}\r\n\t\t\t\t/>\r\n\t\t\t} else if (submitType === 'rejectchecker') {\r\n\t\t\t\treturn {\r\n\t\t\t\t\t\tsetRemark(e.target.value)\r\n\t\t\t\t\t}}\r\n\t\t\t\t\tvalue={remark}\r\n\t\t\t\t/>\r\n\t\t\t}\r\n\t\t},\r\n\t\t[submitType, remark]\r\n\t)\r\n\r\n\t// const onDeny = useCallback(\r\n\t// \tasync sDocID => {\r\n\t// \t\tconst res = await sdocAdmin.denySDoc(sDocID, remark)\r\n\t// \t\tif (res && res.status === 200) {\r\n\t// \t\t\t// getListAndPrefield()\r\n\t// \t\t\tsetOpenSubmitSDocSureModal(false)\r\n\t// \t\t\tSwal.fire({\r\n\t// \t\t\t\ttitle: 'ปฏิเสธคำขอสำเร็จ',\r\n\t// \t\t\t\ttext: '',\r\n\t// \t\t\t\ticon: 'success',\r\n\t// \t\t\t\tconfirmButtonText: 'ปิด'\r\n\t// \t\t\t})\r\n\t// \t\t}\r\n\t// \t},\r\n\t// \t// [getListAndPrefield, remark]\r\n\t// )\r\n\r\n\t// const sendToIssue = useCallback(\r\n\t// \tasync sDocID => {\r\n\t// \t\tconst res = await sdocAdmin.sendToIssue(sDocID)\r\n\t// \t\tif (res && res.status === 200) {\r\n\t// \t\t\t// getListAndPrefield()\r\n\t// \t\t\tsetOpenSubmitSDocSureModal(false)\r\n\t// \t\t\tSwal.fire({\r\n\t// \t\t\t\ttitle: 'อนุมัติคำขอสำเร็จ',\r\n\t// \t\t\t\ttext: '',\r\n\t// \t\t\t\ticon: 'success',\r\n\t// \t\t\t\tconfirmButtonText: 'ปิด'\r\n\t// \t\t\t})\r\n\t// \t\t}\r\n\t// \t},\r\n\t// \t// [getListAndPrefield]\r\n\t// )\r\n\r\n\t// const onSubmitApproval = useCallback(() => {\r\n\t// \tif (submitType === 'approve') {\r\n\t// \t\tsendToIssue(currentActionSDoc)\r\n\t// \t} else if (submitType === 'reject') {\r\n\t// \t\tonDeny(currentActionSDoc)\r\n\t// \t}\r\n\t// }, [onDeny, sendToIssue, currentActionSDoc, submitType])\r\n\r\n\tconst sendToIssue = async sDocID => {\r\n\t\tconst res = await sdocAdmin.sendToIssue(sDocID)\r\n\t\tif (res && res.status === 200) {\r\n\t\t\tsetOpenSubmitSDocSureModal(false)\r\n\t\t\tSwal.fire({\r\n\t\t\t\ttitle: 'อนุมัติคำขอสำเร็จ',\r\n\t\t\t\ttext: '',\r\n\t\t\t\ticon: 'success',\r\n\t\t\t\tconfirmButtonText: 'ปิด'\r\n\t\t\t})\r\n\t\t\tgetListAndPrefield()\r\n\t\t}\r\n\t}\r\n\r\n\tconst onDeny = async sDocID => {\r\n\t\tconst res = await sdocAdmin.denySDoc(sDocID, remark)\r\n\t\tif (res && res.status === 200) {\r\n\t\t\tsetOpenSubmitSDocSureModal(false)\r\n\t\t\tSwal.fire({\r\n\t\t\t\ttitle: 'ปฏิเสธคำขอสำเร็จ',\r\n\t\t\t\ttext: '',\r\n\t\t\t\ticon: 'success',\r\n\t\t\t\tconfirmButtonText: 'ปิด'\r\n\t\t\t})\r\n\t\t\tgetListAndPrefield()\r\n\t\t}\r\n\t}\r\n\r\n\tconst onSubmitApproval = useCallback(() => {\r\n\t\t// Prevent multiple submit\r\n\t\tif (isSubmitting) return\r\n\t\tsetIsSubmitting(true)\r\n\r\n\t\tif (submitType === 'approve') {\r\n\t\t\tsendToIssue(currentActionSDoc)\r\n\t\t} else if (submitType === 'reject') {\r\n\t\t\tonDeny(currentActionSDoc)\r\n\t\t} else if (submitType === 'requestAdditionDoc') {\r\n\t\t\tonRequestAddition(currentActionSDoc);\r\n\t\t} else if (submitType === 'requestModifyInfo') {\r\n\t\t\tonRequestModifyInfo(currentActionSDoc);\r\n\t\t} else if (submitType === 'rejectchecker') {\r\n\t\t\tonDenyChecker(currentActionSDoc)\r\n\t\t}\r\n\t\tsetIsSubmitting(false)\r\n\t}, [onDeny, sendToIssue, currentActionSDoc, submitType])\r\n\r\n\tconst onRequestAddition = async sDocID => {\r\n\t\tconst res = await sdocAdmin.requestAddition(sDocID, remark)\r\n\t\tif (res && res.status === 200) {\r\n\t\t\t// getSDOCWaitStatusList()\r\n\t\t\tsetOpenSubmitSDocSureModal(false);\r\n\t\t\tSwal.fire({\r\n\t\t\t\ttitle: 'ร้องขอเอกสารเพิ่มเติมสำเร็จ',\r\n\t\t\t\ttext: '',\r\n\t\t\t\ticon: 'success',\r\n\t\t\t\tconfirmButtonText: 'ปิด'\r\n\t\t\t})\r\n\t\t\tgetListAndPrefield()\r\n\t\t}\r\n\t}\r\n\r\n\tconst onRequestModifyInfo = async sDocID => {\r\n\t\tconst res = await sdocAdmin.requestModifyInfo(sDocID, remark)\r\n\t\tif (res && res.status === 200) {\r\n\t\t\t// getSDOCWaitStatusList()\r\n\t\t\t// setOpenSubmitSDocSureModal(false);\r\n\t\t\t// setRemark('');\r\n\t\t\tsetOpenSubmitSDocSureModal(false);\r\n\t\t\tSwal.fire({\r\n\t\t\t\ttitle: 'ร้องขอเอกสารให้แก้ไขคำขอสำเร็จ',\r\n\t\t\t\ttext: '',\r\n\t\t\t\ticon: 'success',\r\n\t\t\t\tconfirmButtonText: 'ปิด'\r\n\t\t\t})\r\n\t\t\tgetListAndPrefield()\r\n\t\t}\r\n\t}\r\n\r\n\tconst onDenyChecker = useCallback(\r\n\t\tasync sDocID => {\r\n\t\t\tconst res = await sdocAdmin.denyCheckerSDoc(sDocID, remark)\r\n\t\t\tif (res && res.status === 200) {\r\n\t\t\t\t// getSDOCWaitStatusList()\r\n\t\t\t\t// setOpenSubmitSDocSureModal(false)\r\n\t\t\t\t// setRemark('');\r\n\t\t\t\tsetOpenSubmitSDocSureModal(false);\r\n\t\t\t\tSwal.fire({\r\n\t\t\t\t\ttitle: 'ปฏิเสธการลงนาม',\r\n\t\t\t\t\ttext: '',\r\n\t\t\t\t\ticon: 'success',\r\n\t\t\t\t\tconfirmButtonText: 'ปิด'\r\n\t\t\t\t})\r\n\t\t\t\tgetListAndPrefield()\r\n\t\t\t}\r\n\t\t},\r\n\t)\r\n\r\n\tconst onRejectJob = async sDocID => {\r\n\t\tconst res = await sdocAdmin.rejectJob(sDocID)\r\n\t\tif (res && res.status === 200) {\r\n\t\t\t// getSDOCWaitStatusList()\r\n\t\t\tSwal.fire({\r\n\t\t\t\ttitle: 'ปฏิเสธงานสำเร็จ',\r\n\t\t\t\ttext: '',\r\n\t\t\t\ticon: 'success',\r\n\t\t\t\tconfirmButtonText: 'ปิด'\r\n\t\t\t})\r\n\t\t\tgetListAndPrefield()\r\n\t\t}\r\n\t}\r\n\r\n\t// Validation States\r\n\r\n\t// eslint-disable-next-line\r\n\tconst [canSubmit, setCanSubmit] = useState(false)\r\n\tconst [isEquipmentCardValid, setIsEquipmentCardValid] = useState(false)\r\n\tconst [attachFileLength, setAttachFileLength] = useState(0)\r\n\tconst [EjectCredential, setEjectCredential] = useState('')\r\n\tconst [requestAddiotionFile, setRequestAddiotionFile] = useState('')\r\n\tconst [requestModifyInfo, setRequestModifyInfo] = useState('')\r\n\tconst [ejectRemark, setEjectRemark] = useState('')\r\n\tconst [SDoCLogs, setSDoCLogs] = useState([])\r\n\r\n\t/** <---------------------------------------------------------------------> */\r\n\r\n\tconst onOpenSubmitEquipmentSureModal = () => {\r\n\t\tconsole.log('onOpenSubmitEquipmentSureModal')\r\n\t\tif (mountType === 'attachFile')\r\n\t\t\tsetSubmitTextModal({\r\n\t\t\t\ttitle: 'แนบเอกสารเพิ่มเติม',\r\n\t\t\t\tcontent:\r\n\t\t\t\t\t'คุณแน่ใจที่จะแนบเอกสารเพิิ่มเติมสำหรับยื่นแบบหนังสือรับรองตนเองหรือไม่?​',\r\n\t\t\t\thandleButton: () => onSubmitAddtionalFiles(sDOCID),\r\n\t\t\t})\r\n\t\telse\r\n\t\t\tsetSubmitTextModal({\r\n\t\t\t\ttitle: 'บันทึกข้อมูลหนังสือรับรองตนเอง',\r\n\t\t\t\t// content: 'คุณแน่ใจที่จะยื่นแบบหนังสือรับรองตนเอง​หรือไม่?',\r\n\t\t\t\tcontent: 'คุณต้องการบันทึกข้อมูลหนังสือรับรองตนเองที่คุณแก้ไขแล้วหรือไม่?',\r\n\t\t\t\thandleButton: onSubmitEquipment,\r\n\t\t\t})\r\n\t\tsetSubmitEquipmentSureModal(!submitEquipmentSureModal)\r\n\t}\r\n\r\n\tconst onOpenSubmitEquipmentSuccessModal = () =>\r\n\t\tsetOpenSubmitEquipmentSuccessModal(!openSubmitEquipmentSuccessModal)\r\n\r\n\tconst disabledRuleSubmitButton = () => {\r\n\t\tconst isCardError = inputEquipmentState.some(s => s.isError)\r\n\t\tif (isCardError) {\r\n\t\t\tsetCanSubmit(true)\r\n\t\t} else if (mountType === 'attachFile') {\r\n\t\t\tsetCanSubmit(false)\r\n\t\t} else if (isEquipmentCardValid && (mountType && mountType == \"ModifyInfo\") && (confirmationInfoStorage[currentSenderState].address)) {\r\n\t\t\tsetCanSubmit(false)\r\n\t\t} else {\r\n\t\t\tsetCanSubmit(true)\r\n\t\t}\r\n\t\tconsole.log(canSubmit)\r\n\t}\r\n\r\n\tconst onEquipmentCardError = (errIdx, isError) => {\r\n\t\tsetInputEquipmentState(prevState => {\r\n\t\t\tconst newList = prevState.map((item, prevIndex) => {\r\n\t\t\t\tif (prevIndex === errIdx) {\r\n\t\t\t\t\titem.isError = isError\r\n\t\t\t\t}\r\n\t\t\t\treturn item\r\n\t\t\t})\r\n\t\t\treturn newList\r\n\t\t})\r\n\t}\r\n\r\n\t// case: mountType is 'readOnly'\r\n\tconst getListAndPrefield = async () => {\r\n\t\tconst res = await sdoc.getListDetail(sDOCID)\r\n\t\tconsole.log(res.data)\r\n\t\tif (res && res.status === 200) {\r\n\t\t\tconst findedList = res.data\r\n\t\t\t// console.log(findedList);\r\n\t\t\t// หากขอเอกสารเพิ่มเติมและมีการแนบหมายเหตุ จะแสดงในหน้าเจ้าหน้าที่ด้วย\r\n\t\t\tif (findedList.sDocStatusID === 2) {\r\n\t\t\t\tif (findedList.requestAddtionDocStatusID === 1 && findedList.requestAdditionFileRemark !== null) {\r\n\t\t\t\t\tsetRequestAddiotionFile(findedList.requestAdditionFileRemark);\r\n\t\t\t\t}\r\n\t\t\t\tif (findedList.requestAddtionDocStatusID === 2 && findedList.requestModifyInfoRemark !== null) {\r\n\t\t\t\t\tsetRequestModifyInfo(findedList.requestModifyInfoRemark);\r\n\t\t\t\t}\r\n\t\t\t\tif (findedList.requestAddtionDocStatusID === 3 && findedList.ejectCredentialRemark !== null) {\r\n\t\t\t\t\tsetEjectCredential(findedList.ejectCredentialRemark);\r\n\r\n\t\t\t\t}\r\n\t\t\t\tif (findedList.sDocTransactions && findedList.sDocTransactions?.invoiceNo !== null) {\r\n\t\t\t\t\tsetIsRejectable(false);\r\n\t\t\t\t}\r\n\r\n\t\t\t}\r\n\r\n\t\t\tif (findedList.sDocStatusID === 6) {\r\n\t\t\t\tsetEjectRemark(findedList.remark);\r\n\t\t\t}\r\n\r\n\t\t\t// console.log(data);\r\n\t\t\tif (findedList.senderType === 'organization') {\r\n\t\t\t\tconst res2 = await operators.getOperatorInfo({ taxno: findedList.operatorTaxNo, branchno: findedList.operatorBranchNo });\r\n\t\t\t\tif (res2 && res2.status === 200 && res2?.data.status !== 'error') {\r\n\t\t\t\t\tvar data = res2.data\r\n\t\t\t\t}\r\n\t\t\t\tconsole.log(res2)\r\n\t\t\t\tsetCurrentSenderState('organization')\r\n\t\t\t\tsetConfirmationInfoStorage(prevState => {\r\n\t\t\t\t\treturn {\r\n\t\t\t\t\t\t...prevState,\r\n\t\t\t\t\t\torganization: {\r\n\t\t\t\t\t\t\ttype: 'organization',\r\n\t\t\t\t\t\t\tname: data.operators.operatorName ?? '',\r\n\t\t\t\t\t\t\tcardNo: data.operators.taxNo ?? '',\r\n\t\t\t\t\t\t\tprefix: data.operators.prefix ?? '',\r\n\t\t\t\t\t\t\tbranchNo: data.operatorInfo.branchNo,\r\n\t\t\t\t\t\t\taddress: data.operatorInfo.addr ?? '',\r\n\t\t\t\t\t\t\temail: data.operatorInfo.email ?? '',\r\n\t\t\t\t\t\t\tmobile: data.operatorInfo.mobile ?? '',\r\n\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t} else if (findedList.senderType === 'normal-person') {\r\n\t\t\t\tconst res3 = await operators.getOperatorUserInfo({ cardNo: findedList.operatorTaxNo })\r\n\t\t\t\tif (res3 && res3.status === 200 && res3?.data.status !== 'error') {\r\n\t\t\t\t\tvar data2 = res3.data\r\n\t\t\t\t}\r\n\t\t\t\tsetCurrentSenderState('normal_person')\r\n\t\t\t\tsetConfirmationInfoStorage(prevState => {\r\n\t\t\t\t\treturn {\r\n\t\t\t\t\t\t...prevState,\r\n\t\t\t\t\t\tnormal_person: {\r\n\t\t\t\t\t\t\ttype: 'normal-person',\r\n\t\t\t\t\t\t\t// name: findedList.operatorTitle ?? '',\r\n\t\t\t\t\t\t\tname: (data2?.operatorUser?.prefix ?? '') + data2?.operatorUser?.firstname + ' ' + data2?.operatorUser?.lastname,\r\n\t\t\t\t\t\t\tcardNo: findedList.operatorTaxNo ?? '',\r\n\t\t\t\t\t\t\tbranchNo: findedList.operatorBranchNo ?? '00000',\r\n\t\t\t\t\t\t\taddress: data2?.operatorUser?.address ?? '',\r\n\t\t\t\t\t\t\temail: data2?.operatorUser?.email ?? '',\r\n\t\t\t\t\t\t\tmobile: data2?.operatorUser?.mobile ?? '',\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t}\r\n\r\n\t\t\tif (findedList) {\r\n\t\t\t\tconst productModel = findedList.productModel\r\n\t\t\t\tconst productDescription = findedList.productDescription\r\n\t\t\t\tconst brandName = findedList.brandName\r\n\t\t\t\tconst sDocItems = findedList.sDocItems\r\n\t\t\t\tconst sDocAttachs = findedList.sDocAttachs\r\n\t\t\t\tconst sDocStatusID = findedList.sDocStatusID\r\n\r\n\t\t\t\tsetInputModel({\r\n\t\t\t\t\tbrandName: brandName ?? '',\r\n\t\t\t\t\tproductModel: productModel ?? '',\r\n\t\t\t\t\tproductDescription: productDescription ?? '',\r\n\t\t\t\t})\r\n\r\n\t\t\t\tif (findedList.sDocLogs) {\r\n\t\t\t\t\tsetSDoCLogs(findedList.sDocLogs)\r\n\t\t\t\t}\r\n\r\n\t\t\t\tconst newList = sDocItems.map(sdocItem => {\r\n\t\t\t\t\tconst regexpSize = /^(\\S+)\\s(.+)/\r\n\t\t\t\t\tconst match = sdocItem.powerText.match(regexpSize)\r\n\r\n\t\t\t\t\tconst obj = {\r\n\t\t\t\t\t\tProductTypeText: sdocItem.productTypeText,\r\n\t\t\t\t\t\tFrequencyText: sdocItem.frequencyText,\r\n\t\t\t\t\t\tPolicyText: sdocItem.policyText,\r\n\t\t\t\t\t\tPowerText: match ? match[1] : '',\r\n\t\t\t\t\t\tSelectedPowerUnit: match ? match[2] : '',\r\n\t\t\t\t\t\tisError: false,\r\n\t\t\t\t\t\tPolicyText_2: sdocItem.policyText_2,\r\n\t\t\t\t\t\tPolicyText_3: sdocItem.policyText_3,\r\n\t\t\t\t\t\tFlag: sdocItem.flag,\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\treturn obj\r\n\t\t\t\t})\r\n\r\n\t\t\t\tsetInputEquipmentState(newList)\r\n\r\n\t\t\t\tsetAttachFileLength(sDocAttachs.length)\r\n\t\t\t\tsetAdditionalFiles(() => {\r\n\t\t\t\t\tconst newList = sDocAttachs.map(sdocAttach => {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\tfileID: sdocAttach.id,\r\n\t\t\t\t\t\t\tfile: sdocAttach.fileName,\r\n\t\t\t\t\t\t\tname: sdocAttach.title,\r\n\t\t\t\t\t\t\tisfilelocked: sdocAttach.isFileLocked ?? false,\r\n\t\t\t\t\t\t\t// filedate: sdocAttach.fileDate,\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t})\r\n\t\t\t\t\treturn newList\r\n\t\t\t\t})\r\n\t\t\t\tsetSDOCStatus(sDocStatusID)\r\n\r\n\t\t\t\tsetRunningNo(findedList.runningNo)\r\n\t\t\t\tsetSDoCNo(findedList.sDocNo?.length == 0 ? 'ยังไม่มีเลขที่ SDoC NO.' : findedList.sDocNo)\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\t/** <---------------------------------------------------------------------> */\r\n\r\n\t// Get Admin Profile\r\n\tconst getAdminProfile = async () => {\r\n\t\tawait admin.me().then(async event => {\r\n\t\t\tif (event) {\r\n\t\t\t\tconst dataMe = event.data\r\n\t\t\t\tsetMyRole(dataMe.roleID)\r\n\t\t\t}\r\n\t\t})\r\n\t}\r\n\r\n\t/** <---------------------------------------------------------------------> */\r\n\t// Organization Detail Function\r\n\r\n\tconst onChangeConfirmationInfo = e => {\r\n\t\tconst { name, value } = e.target\r\n\t\tsetConfirmationInfo({ ...confirmationInfo, [name]: value })\r\n\t}\r\n\r\n\t/** <---------------------------------------------------------------------> */\r\n\r\n\t// Equipment Card\r\n\r\n\tconst onChangeInputModel = e => {\r\n\t\tconst { name, value } = e.target\r\n\t\tsetInputModel({ ...inputModel, [name]: value })\r\n\t}\r\n\r\n\tconst onChangeInputEquipmentState = (name, value, key) => {\r\n\t\tsetInputEquipmentState(prevState => {\r\n\t\t\tconst newState = [...prevState]\r\n\r\n\t\t\tif (name === 'ProductTypeText')\r\n\t\t\t\tnewState[key] = {\r\n\t\t\t\t\t...prevState[key],\r\n\t\t\t\t\tProductTypeText: value,\r\n\t\t\t\t\tFrequencyText: '',\r\n\t\t\t\t\tPolicyText: '',\r\n\t\t\t\t\tPolicyText_2: '',\r\n\t\t\t\t\tPolicyText_3: '',\r\n\t\t\t\t\tFlag: '',\r\n\t\t\t\t}\r\n\t\t\telse if (name === 'FrequencyText')\r\n\t\t\t\tnewState[key] = {\r\n\t\t\t\t\t...prevState[key],\r\n\t\t\t\t\tFrequencyText: value,\r\n\t\t\t\t\tPolicyText: '',\r\n\t\t\t\t\tPolicyText_2: '',\r\n\t\t\t\t\tPolicyText_3: '',\r\n\t\t\t\t\tFlag: '',\r\n\t\t\t\t}\r\n\t\t\telse newState[key] = { ...prevState[key], [name]: value }\r\n\r\n\t\t\treturn newState\r\n\t\t})\r\n\t}\r\n\r\n\tconst onFetchMasterdata = async () => {\r\n\t\tsetEquipmentMasterData({\r\n\t\t\tproductType: [],\r\n\t\t\ttypeEquipment: type_equipment,\r\n\t\t\tfrequency: frequency,\r\n\t\t\tpowerUnit: powerUnit,\r\n\t\t})\r\n\t\t// const res = await something\r\n\t}\r\n\t// eslint-disable-next-line\r\n\tconst addMoreItem = () => {\r\n\t\tsetInputEquipmentState(prevState => [...prevState, EQUIPMENT_INITIAL_STATE])\r\n\t}\r\n\r\n\tconst onDeleteItem = index => {\r\n\t\tif (inputEquipmentState.length === 1) return\r\n\t\tsetInputEquipmentState(prevState => {\r\n\t\t\tconst newList = prevState.filter((item, prevIndex) => prevIndex !== index)\r\n\t\t\treturn newList\r\n\t\t})\r\n\t}\r\n\r\n\tconst onSubmitEquipment = async () => {\r\n\t\tconst items = inputEquipmentState.map(item => {\r\n\t\t\treturn {\r\n\t\t\t\tPolicyText: item.PolicyText,\r\n\t\t\t\tFrequencyText: item.FrequencyText,\r\n\t\t\t\tPowerText: item.PowerText + ' ' + item.SelectedPowerUnit,\r\n\t\t\t\tPolicyText_2: item.PolicyText_2,\r\n\t\t\t\tPolicyText_3: item.PolicyText_3,\r\n\t\t\t\tFlag: item.Flag,\r\n\t\t\t}\r\n\t\t})\r\n\t\tconsole.log(items);\r\n\r\n\t\t// const res = await sdoc.addList(\r\n\t\t// \tinputModel.brandName,\r\n\t\t// \tinputModel.productModel,\r\n\t\t// \tnull,\r\n\t\t// \titems\r\n\t\t// )\r\n\t\t// if (res && res.status === 200) {\r\n\t\t// \tsetSDOCId(res.data.id)\r\n\t\t// \tif (additionalFiles.length !== 0) {\r\n\t\t// \t\tonSubmitAddtionalFiles(res.data.id)\r\n\t\t// \t} else onOpenSubmitEquipmentSuccessModal()\r\n\t\t// }\r\n\t}\r\n\r\n\t/** <---------------------------------------------------------------------> */\r\n\r\n\t// Document Additional Card\r\n\r\n\tconst onAddTemp = (e, type) => {\r\n\t\tconst { files, value } = e.target\r\n\t\tif (type === 'file' && files.length !== 0)\r\n\t\t\tsetTempFile({ ...tempFile, file: files[0] })\r\n\t\tif (type === 'name') setTempFile({ ...tempFile, name: value })\r\n\t\t// if (type === 'filedate') setTempFile({ ...tempFile, filedate: value })\r\n\t}\r\n\r\n\tconst onAddDocument = () => {\r\n\t\tif (tempFile.file.type !== 'application/pdf') {\r\n\t\t\tSwal.fire({\r\n\t\t\t\ticon: 'error',\r\n\t\t\t\ttitle: 'ชนิดไฟล์ไม่ถูกต้อง',\r\n\t\t\t\ttext: 'ชนิดไฟล์ต้องเป็น PDF เท่านั้น',\r\n\t\t\t})\r\n\t\t\treturn\r\n\t\t}\r\n\t\t// if (tempFile.file && tempFile.name !== '' && tempFile.filedate !== '') {\r\n\t\tif (tempFile.file && tempFile.name !== '') {\r\n\t\t\tsetAdditionalFiles(prevState => [\r\n\t\t\t\t...prevState,\r\n\t\t\t\t// { file: tempFile.file, name: tempFile.name, filedate: tempFile.filedate },\r\n\t\t\t\t{ file: tempFile.file, name: tempFile.name },\r\n\t\t\t])\r\n\t\t\t// setTempFile({ file: null, name: '', filedate: '' })\r\n\t\t\tsetTempFile({ file: null, name: '' })\r\n\t\t}\r\n\t}\r\n\r\n\tconst onChangeAttachedFileName = (e, index) => {\r\n\t\tconst { value } = e.target\r\n\t\tsetAdditionalFiles(prevState => {\r\n\t\t\tconst newList = prevState.map((item, itemIndex) => {\r\n\t\t\t\tif (itemIndex === index)\r\n\t\t\t\t\treturn {\r\n\t\t\t\t\t\tfile: item?.file,\r\n\t\t\t\t\t\tname: value,\r\n\t\t\t\t\t\t// filedate: item?.filedate,\r\n\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\treturn item\r\n\t\t\t})\r\n\t\t\treturn newList\r\n\t\t})\r\n\t}\r\n\r\n\tconst onDeleteDocument = index => {\r\n\t\tsetAdditionalFiles(prevState => {\r\n\t\t\tconst temp_list = prevState.filter((_, listInd) => {\r\n\t\t\t\treturn listInd !== index\r\n\t\t\t})\r\n\t\t\treturn temp_list\r\n\t\t})\r\n\t}\r\n\r\n\tconst onSubmitAddtionalFiles = async id => {\r\n\t\tconsole.log(\"submit\")\r\n\t\t// const currentAdditionalFileLength = additionalFiles.length\r\n\t\t// let sendedFiles = []\r\n\r\n\t\t// if (mountType && mountType === 'attachFile') {\r\n\t\t// \tconst amountOfNewFiles = currentAdditionalFileLength - attachFileLength\r\n\r\n\t\t// \tadditionalFiles.forEach((file, index) => {\r\n\t\t// \t\tif (index > currentAdditionalFileLength - amountOfNewFiles - 1)\r\n\t\t// \t\t\tsendedFiles.push(file)\r\n\t\t// \t})\r\n\t\t// } else sendedFiles = additionalFiles\r\n\r\n\t\t// const res = await sdoc.attachAdditionalFiles(id, sendedFiles)\r\n\t\t// if (res && res.status === 200) {\r\n\t\t// \tonOpenSubmitEquipmentSuccessModal()\r\n\t\t// }\r\n\t}\r\n\r\n\tconst onDownloadDocument = async () => {\r\n\t\tconst res = await sdoc.downloadAdditionalFile(21, '11')\r\n\t\tif (res && res.status === 200) {\r\n\t\t}\r\n\t}\r\n\r\n\tconst onClickEditingSDoC = () => {\r\n\r\n\t\tsetIsEditingSDoC(true)\r\n\t\tsetmountType('ModifyInfo')\r\n\t}\r\n\r\n\tconst onChangeIsFileLocked = async (fileID, index) => {\r\n\t\tconsole.log(additionalFiles[index].isfilelocked)\r\n\t\tconst res = await sdocAdmin.changeFileLockStatus(fileID)\r\n\t\tif (res && res.status === 200) {\r\n\t\t\tsetAdditionalFiles(prevState => {\r\n\t\t\t\tconst newList = prevState.map((item, itemIndex) => {\r\n\t\t\t\t\tif (itemIndex === index)\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...item,\r\n\t\t\t\t\t\t\tisfilelocked: !item.isfilelocked,\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\treturn item\r\n\t\t\t\t})\r\n\t\t\t\treturn newList\r\n\t\t\t})\r\n\t\t}\r\n\t}\r\n\r\n\tconst onDeletedUploadedDocument = index => {\r\n\t\tsetAdditionalFiles(prevState => {\r\n\t\t\tconst temp_list = prevState.filter((_, listInd) => {\r\n\t\t\t\treturn listInd !== index\r\n\t\t\t})\r\n\t\t\tsetAttachFileLength(attachFileLength - 1)\r\n\t\t\treturn temp_list\r\n\t\t})\r\n\t}\r\n\t\r\n\tconst onDeleteUploadedDocument = async (id, index) => {\r\n\t\tSwal.fire({\r\n\t\t\ttitle: 'คุณต้องการลบไฟล์นี้ใช่หรือไม่?',\r\n\t\t\ttext: 'คุณจะไม่สามารถกู้คืนไฟล์นี้ได้หากลบไปแล้ว',\r\n\t\t\ticon: 'warning',\r\n\t\t\tshowCancelButton: true,\r\n\t\t\tconfirmButtonColor: '#3085d6',\r\n\t\t\tcancelButtonColor: '#d33',\r\n\t\t\tconfirmButtonText: 'ใช่, ลบไฟล์นี้',\r\n\t\t\tcancelButtonText: 'ยกเลิก',\r\n\t\t}).then(async result => {\r\n\t\t\tif (result.value) {\r\n\t\t\t\tconst res = await sdoc.deleteAdditionalFile(sDOCID, id)\r\n\t\t\t\tif (res && res.status === 200) {\r\n\t\t\t\t\tonDeletedUploadedDocument(index)\r\n\t\t\t\t\tSwal.fire('ลบไฟล์สำเร็จ!', 'ไฟล์ของคุณถูกลบแล้ว', 'success')\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t})\r\n\t}\r\n\r\n\t/** <---------------------------------------------------------------------> */\r\n\r\n\t// Trigger when change the confirmation type\r\n\t// useEffect(() => {\r\n\t// \tif (confirmationInfo.type === 'normal-person') {\r\n\t// \t\tif (confirmationInfoHasFetched.normal_person) {\r\n\t// \t\t\tsetConfirmationInfo(prevState => {\r\n\t// \t\t\t\treturn {\r\n\t// \t\t\t\t\t...prevState,\r\n\t// \t\t\t\t\ttype: confirmationInfoStorage.normal_person.type,\r\n\t// \t\t\t\t\tname: confirmationInfoStorage.normal_person.name,\r\n\t// \t\t\t\t\tcardNo: confirmationInfoStorage.normal_person.nationalIDCardNo,\r\n\t// \t\t\t\t\taddress: confirmationInfoStorage.normal_person.address,\r\n\t// \t\t\t\t}\r\n\t// \t\t\t})\r\n\t// \t\t} else getUserProfile()\r\n\t// \t} else if (confirmationInfo.type === 'organization') {\r\n\t// \t\tif (confirmationInfoHasFetched.organization) {\r\n\t// \t\t\tsetConfirmationInfo(prevState => {\r\n\t// \t\t\t\treturn {\r\n\t// \t\t\t\t\t...prevState,\r\n\t// \t\t\t\t\ttype: confirmationInfoStorage.organization.type,\r\n\t// \t\t\t\t\tname: confirmationInfoStorage.organization.name,\r\n\t// \t\t\t\t\tcardNo: confirmationInfoStorage.organization.nationalIDCardNo,\r\n\t// \t\t\t\t\taddress: confirmationInfoStorage.organization.address,\r\n\t// \t\t\t\t}\r\n\t// \t\t\t})\r\n\t// \t\t} else getOperatorProfile()\r\n\t// \t}\r\n\t// \t// eslint-disable-next-line\r\n\t// }, [confirmationInfo.type])\r\n\r\n\t// // Equipment Validation\r\n\t// useEffect(() => {\r\n\t// \tconst isValid = inputEquipmentState.every(\r\n\t// \t\titem =>\r\n\t// \t\t\titem.FrequencyText !== '' &&\r\n\t// \t\t\t// (item.PolicyText !== '' || item.PolicyText_2 !== '' || item.PolicyText_3 !== '') &&\r\n\t// \t\t\titem.PowerText !== '' &&\r\n\t// \t\t\titem.SelectedPowerUnit !== ''\r\n\t// \t)\r\n\t// \tsetIsEquipmentCardValid(isValid)\r\n\t// }, [inputEquipmentState])\r\n\r\n\tconst eqipmentValidation = useCallback(() => {\r\n\r\n\t\tinputEquipmentState.forEach(item => {\r\n\r\n\t\t\tconst premilinaryCondition =\r\n\t\t\t\titem.FrequencyText !== '' &&\r\n\t\t\t\t// (item.PolicyText !== '' || item.PolicyText_2 !== '' || item.PolicyText_3 !== '') &&\r\n\t\t\t\titem.PowerText !== '' &&\r\n\t\t\t\titem.SelectedPowerUnit !== '' &&\r\n\t\t\t\titem.ProductTypeText !== ''\r\n\r\n\t\t\tconst isFilledText =\r\n\t\t\t\tinputModel.brandName !== '' &&\r\n\t\t\t\tinputModel.productModel !== '' &&\r\n\t\t\t\tinputModel.productDescription !== ''\r\n\t\t\tsetIsEquipmentCardValid(premilinaryCondition && isFilledText)\r\n\t\t})\r\n\t}, [\r\n\t\tinputEquipmentState,\r\n\t\tinputModel.productDescription,\r\n\t\tinputModel.productModel,\r\n\t\tinputModel.brandName,\r\n\t])\r\n\r\n\t// Equipment Validation\r\n\tuseEffect(() => {\r\n\t\teqipmentValidation()\r\n\t}, [eqipmentValidation])\r\n\r\n\t// Submit Button Validation\r\n\tuseEffect(\r\n\t\t() => disabledRuleSubmitButton(),\r\n\t\t// eslint-disable-next-line\r\n\t\t[isEquipmentCardValid, inputEquipmentState, additionalFiles, confirmationInfoStorage[currentSenderState]]\r\n\t)\r\n\r\n\t// Initial Fetch\r\n\tuseEffect(() => {\r\n\t\tonFetchMasterdata()\r\n\t\tsetmountType(query.get('mountType'))\r\n\t\t// eslint-disable-next-line\r\n\t}, [])\r\n\r\n\t// Initial Fetch from /manage\r\n\tuseEffect(() => {\r\n\t\tif (sDOCID && mountType) {\r\n\t\t\tsetSDOCId(sDOCID)\r\n\t\t\tgetListAndPrefield()\r\n\t\t}\r\n\t\t// eslint-disable-next-line\r\n\t}, [sDOCID, mountType])\r\n\r\n\t// On Unmounting\r\n\tuseEffect(() => {\r\n\t\treturn () => (location.state = null)\r\n\t\t// eslint-disable-next-line\r\n\t}, [])\r\n\r\n\t// Load Admin Profile \r\n\tuseEffect(() => {\r\n\t\tif (isRehydrated) {\r\n\t\t\tgetAdminProfile()\r\n\t\t}\r\n\t\t//eslint-disable-next-line\r\n\t}, [isRehydrated])\r\n\r\n\tuseEffect(() => {\r\n\t\tif (isEditingSDoC) {\r\n\t\t\tgetAddressList()\r\n\t\t}\r\n\t}, [isEditingSDoC])\r\n\r\n\tfunction makeLinksClickable(text) {\r\n\t\tconst urlRegex = /(https?:\\/\\/[^\\s]+)/g;\r\n\t\treturn text.split(urlRegex).map((part, index) => {\r\n\t\t\tif (part.match(urlRegex)) {\r\n\t\t\t\t// This part is a URL, convert it to a clickable link\r\n\t\t\t\treturn (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{part}\r\n\t\t\t\t\t\r\n\t\t\t\t);\r\n\t\t\t} else {\r\n\t\t\t\t// This part is not a URL, render it as plain text\r\n\t\t\t\treturn {part};\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t\r\n\t\t\t\t{(EjectCredential && EjectCredential !== '') && (รายละเอียดจากผู้ออกใบรับรอง
{makeLinksClickable(EjectCredential)}
)}\r\n\t\t\t\t{(requestAddiotionFile && requestAddiotionFile !== '') && (รายละเอียดการขอเอกสารเพิ่มเติมจากเจ้าหน้าที่ ที่แจ้งไป
{makeLinksClickable(requestAddiotionFile)}
)}\r\n\t\t\t\t{(requestModifyInfo && requestModifyInfo !== '') && (รายละเอียดการขอให้ปรับปรุงข้อมูลจากเจ้าหน้าที่ ที่แจ้งไป
{makeLinksClickable(requestModifyInfo)}
)}\r\n\t\t\t\t{(ejectRemark && ejectRemark !== '') && (รายละเอียดการไม่อนุมัติคำขอจากเจ้าหน้าที่
{makeLinksClickable(ejectRemark)}
)}\r\n\r\n\t\t\t\t{/* \r\n\t\t\t\t\t\r\n\t\t\t\t\t\tเปิดการแก้ไข\r\n\t\t\t\t\t\r\n\t\t\t\t */}\r\n\t\t\t\t\r\n\t\t\t\t{isEditingSDoC ? (\r\n\t\t\t\t\t// \r\n\t\t\t\t\t<>\r\n\r\n\t\t\t\t) : (\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t\t\r\n\r\n\t\t\t\t{inputEquipmentState.map((item, index) => {\r\n\t\t\t\t\treturn (\r\n\t\t\t\t\t\t onDeleteItem(index)}\r\n\t\t\t\t\t\t\tindex={index}\r\n\t\t\t\t\t\t\tkey={'EquipmentCard' + index}\r\n\t\t\t\t\t\t\tonError={(errIdx, isError) =>\r\n\t\t\t\t\t\t\t\tonEquipmentCardError(errIdx, isError)\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t)\r\n\t\t\t\t})}\r\n\t\t\t\t{(!mountType || (mountType && mountType === \"ModifyInfo\")) && (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tเพิ่มอุปกรณ์ย่านความถี่\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t\t\r\n\t\t\t\t{mountType !== 'readOnly' && (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tบันทึกข้อมูล\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t\t{(myRole === 11 || myRole === 15) &&\r\n\t\t\t\t\t(sDOCStatus === 2 && (ApprovalControl && ApprovalControl === \"true\")) ?\r\n\t\t\t\t\t\r\n\t\t\t\t\t: null}\r\n\t\t\t\t\r\n\r\n\t\t\t
\r\n\t\t\t {\r\n\t\t\t\t\tsetOpenSubmitSDocSureModal(false)\r\n\t\t\t\t}}\r\n\t\t\t\thandleButton={onSubmitApproval}\r\n\t\t\t\thandleCancel={() => {\r\n\t\t\t\t\tsetOpenSubmitSDocSureModal(false)\r\n\t\t\t\t}}\r\n\t\t\t/>\r\n\t\t\t\r\n\t\t\t history.go(0)}\r\n\t\t\t/>\r\n\t\t\r\n\t)\r\n}\r\n","// Page Descrition: Admin's user management page\r\nimport React, { useState, useEffect } from 'react'\r\nimport { Grid } from '@material-ui/core/'\r\n\r\n// import SearchBox from '../../components/organization-user/search-box'\r\nimport OrgSearchResult from 'components/admin/admin-user/search-result'\r\nimport OrganizationUserModal from 'components/admin/admin-user/user-modal'\r\nimport { DeleteUserModal } from 'components/admin/admin-user/delete-user-modal'\r\nimport NotFoundModal from 'components/admin/admin-user/not-found-modal'\r\nimport AddingSuccessModal from 'components/admin/admin-user/adding-success-modal'\r\nimport AddingFailedModal from 'components/admin/admin-user/adding-failed-modal'\r\nimport EditingSuccessModal from 'components/admin/admin-user/editing-success-modal/index'\r\nimport EditingFailedModal from 'components/admin/admin-user/editing-failed-modal'\r\nimport DeletedSuccessModal from 'components/admin/admin-user/deleted-success-modal'\r\nimport DeletedFailedModal from 'components/admin/admin-user/deleted-failed-modal'\r\n\r\nimport { useStoreRehydrated } from 'store'\r\n// import { format } from 'date-fns'\r\nimport { useLoaded } from 'utils/useLoaded'\r\nimport { sdocAdmin } from 'api/'\r\n\r\n// import { users as Users } from '../../../data/registration/users'\r\nimport { org_status } from 'data/organization-user/organization-user-status'\r\n\r\nexport default function AdminSDOCUser() {\r\n\tconst loaded = useLoaded()\r\n\tconst isRehydrated = useStoreRehydrated()\r\n\t// Main Users Data\r\n\tconst [user, setUser] = useState([])\r\n\tconst [userData, setUserData] = useState([])\r\n\t// Modal State\r\n\tconst [currentEditUserID, setCurrentEditUserID] = useState(null)\r\n\tconst [openUserModal, setOpenUserModal] = useState(false)\r\n\tconst [userModalType, setUserModalType] = useState('add')\r\n\tconst [openDeleteUserModal, setOpenDeleteUserModal] = useState(false)\r\n\tconst [openAddingSuccessModal, setOpenAddingSuccessModal] = useState(false)\r\n\tconst [openAddingFailedModal, setOpenAddingFailedModal] = useState(false)\r\n\tconst [openNotFoundModal, setOpenNotFoundModal] = useState(false)\r\n\tconst [openEditingSuccessModal, setOpenEditingSuccessModal] = useState(false)\r\n\tconst [openEditingFailedModal, setOpenEditingFailedModal] = useState(false)\r\n\tconst [openDeletedSuccessModal, setOpenDeletedSuccessModal] = useState(false)\r\n\tconst [openDeletedFailedModal, setOpenDeletedFailedModal] = useState(false)\r\n\t// Adding User State\r\n\tconst [nationalIDCardNo, setNationalIDCardNo] = useState('')\r\n\tconst [userInfo, setUserInfo] = useState({\r\n\t\tadminRoleID: 1,\r\n\t\temail: '',\r\n\t\tfirstname: '',\r\n\t\tlastname: '',\r\n\t\tadminStatusID: 1,\r\n\t})\r\n\tconst [activeDate, setActiveDate] = useState(null)\r\n\tconst [expireDate, setExpireDate] = useState(null)\r\n\tconst [fixedTypePermission, setFixedTypePermission] = useState(false)\r\n\tconst [mobileTypePermission, setMobileTypePermission] = useState(false)\r\n\t// const [organizationData, setOrganizationData] = useState(null)\r\n\t// Editing User State\r\n\tconst [editNationalIDCardNo, setEditNationalIDCardNo] = useState('')\r\n\tconst [editUserInfo, setEditUserInfo] = useState({\r\n\t\tadminRoleID: 1,\r\n\t\temail: '',\r\n\t\tfirstname: '',\r\n\t\tlastname: '',\r\n\t\tadminStatusID: 1,\r\n\t})\r\n\tconst [editActiveDate, setEditActiveDate] = useState(null)\r\n\tconst [editExpireDate, setEditExpireDate] = useState(null)\r\n\tconst [editFixedTypePermission, setEditFixedTypePermission] = useState(false)\r\n\tconst [editMobileTypePermission, setEditMobileTypePermission] =\r\n\t\tuseState(false)\r\n\t// Save Button Logic\r\n\tconst [saveButtonAdd, setSaveButtonAdd] = useState(true)\r\n\tconst [saveButtonEdit, setSaveButtonEdit] = useState(true)\r\n\r\n\t// Admin Roles\r\n\tconst [adminRoles, setAdminRoles] = useState([])\r\n\r\n\t/** -----------------------------------------------------------> */\r\n\r\n\t// Main Function\r\n\r\n\tconst onOpenUserModal = () => {\r\n\t\tsetOpenUserModal(!openUserModal)\r\n\t}\r\n\r\n\tconst onOpenDeleteUserModal = () => {\r\n\t\tsetOpenDeleteUserModal(!openDeleteUserModal)\r\n\t}\r\n\r\n\tconst onOpenNotFoundModal = () => {\r\n\t\tsetOpenNotFoundModal(!openNotFoundModal)\r\n\t}\r\n\r\n\tconst onOpenAddingSuccessModal = () => {\r\n\t\tsetOpenAddingSuccessModal(!openAddingSuccessModal)\r\n\t}\r\n\r\n\tconst onOpenAddingFailedModal = () => {\r\n\t\tsetOpenAddingFailedModal(!openAddingFailedModal)\r\n\t}\r\n\r\n\tconst onOpenEditingSuccessModal = () => {\r\n\t\tsetOpenEditingSuccessModal(!openEditingSuccessModal)\r\n\t}\r\n\r\n\tconst onOpenEditingFailedModal = () => {\r\n\t\tsetOpenEditingFailedModal(!openEditingFailedModal)\r\n\t}\r\n\r\n\tconst onOpenDeletedSuccessModal = () => {\r\n\t\tsetOpenDeletedSuccessModal(!openDeletedSuccessModal)\r\n\t}\r\n\r\n\tconst onOpenDeletedFailedModal = () => {\r\n\t\tsetOpenDeletedFailedModal(!openDeletedFailedModal)\r\n\t}\r\n\r\n\t// const onSearhResult = e => {\r\n\t// \tconst { value } = e.target\r\n\t// \tconst searchedName = userData.filter(user => {\r\n\t// \t\tconst name = user.firstname + ' ' + user.lastname\r\n\t// \t\treturn name.includes(value)\r\n\t// \t})\r\n\t// \tconst searchedCitizenID = userData.filter(user =>\r\n\t// \t\tuser.nationalIDCardNo.includes(value)\r\n\t// \t)\r\n\r\n\t// \tconst mergedSearched = [...searchedName, ...searchedCitizenID]\r\n\t// \tconst searchedResults = []\r\n\t// \tlet searchID = 1\r\n\t// \tmergedSearched.forEach(i => {\r\n\t// \t\tconst find = searchedResults.find(item => item.id === i.id)\r\n\t// \t\tif (!find)\r\n\t// \t\t\tsearchedResults.push({\r\n\t// \t\t\t\tid: searchID++,\r\n\t// \t\t\t\tuserId: i.id ?? '',\r\n\t// \t\t\t\tname: i.firstname + ' ' + i.lastname,\r\n\t// \t\t\t\temail: i.email ?? '',\r\n\t// \t\t\t\tnationalIDCardNo: i.nationalIDCardNo ?? '',\r\n\t// \t\t\t\tmobile: i.mobile ?? '',\r\n\t// \t\t\t\tuserRoleID: i.userRoleID ?? '',\r\n\t// \t\t\t\tstatus: parseInt(i.userStatus.id) ?? '',\r\n\t// \t\t\t})\r\n\t// \t})\r\n\r\n\t// \tsetUser(searchedResults)\r\n\t// }\r\n\tconst getAdminRoles = async () => {\r\n\t\tconst resRoles = await sdocAdmin.getRoleList()\r\n\t\tif (resRoles) {\r\n\t\t\tif (resRoles.status === 200) {\r\n\t\t\t\tconst fetchedAdminRoles = resRoles.data\r\n\t\t\t\tlet tempAdminRoles = []\r\n\t\t\t\tfetchedAdminRoles.forEach((item, index) => {\r\n\t\t\t\t\tif (item.isActive === '1') {\r\n\t\t\t\t\t\ttempAdminRoles.push({\r\n\t\t\t\t\t\t\tname: item.adminRoleName,\r\n\t\t\t\t\t\t\tvalue: item.id,\r\n\t\t\t\t\t\t})\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t\tsetAdminRoles(tempAdminRoles)\r\n\t\t\t\treturn tempAdminRoles\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\tconst onLanding = async () => {\r\n\t\tgetAdminRoles()\r\n\t\tconst res = await sdocAdmin.getAdminList()\r\n\t\tif (res) {\r\n\t\t\tif (res.status === 200) {\r\n\t\t\t\tconst fetchedAdmin = res.data\r\n\t\t\t\tconst preprocessedArr = fetchedAdmin.map((item, index) => {\r\n\t\t\t\t\treturn {\r\n\t\t\t\t\t\tid: index + 1,\r\n\t\t\t\t\t\tadminId: item.id ?? '',\r\n\t\t\t\t\t\tname: item.firstname + ' ' + item.lastname,\r\n\t\t\t\t\t\t// email: item.email ?? '',\r\n\t\t\t\t\t\t// nationalIDCardNo: item.nationalIDCardNo ?? '',\r\n\t\t\t\t\t\t// mobile: item.mobile ?? '',\r\n\t\t\t\t\t\tadminRoleID: item.adminRoleID ?? '',\r\n\t\t\t\t\t\t// periodActivate: `${\r\n\t\t\t\t\t\t// \titem.activeDate\r\n\t\t\t\t\t\t// \t\t? format(new Date(item.activeDate), 'dd/MM/yyyy')\r\n\t\t\t\t\t\t// \t\t: ''\r\n\t\t\t\t\t\t// } ${\r\n\t\t\t\t\t\t// \titem.expireDate\r\n\t\t\t\t\t\t// \t\t? '- ' + format(new Date(item.expireDate), 'dd/MM/yyyy')\r\n\t\t\t\t\t\t// \t\t: ''\r\n\t\t\t\t\t\t// } `,\r\n\t\t\t\t\t\tstatus: parseInt(item.adminStatusID) ?? '',\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\r\n\t\t\t\tsetUserData(fetchedAdmin)\r\n\t\t\t\tsetUser(preprocessedArr)\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\t/** <----------------------------------------------------------- */\r\n\r\n\t// Adding User\r\n\r\n\tconst onFillNationalCardIDNo = e => {\r\n\t\tvar pattern = /^[0-9\\b]+$/\r\n\t\tconst { value } = e.target\r\n\t\tif (pattern.test(value) || value === '') {\r\n\t\t\tsetNationalIDCardNo(value)\r\n\t\t\tsetSaveButtonAdd(true)\r\n\t\t}\r\n\t}\r\n\r\n\tconst onCheckFormTypePermission = (type, checked) => {\r\n\t\tif (type === 1) setFixedTypePermission(checked)\r\n\t\telse if (type === 2) setMobileTypePermission(checked)\r\n\t}\r\n\r\n\tconst onChangeUserRoleID = e => {\r\n\t\tconst { value } = e.target\r\n\t\tsetUserInfo({ ...userInfo, adminRoleID: value })\r\n\t}\r\n\r\n\tconst onSelectActiveDate = val => setActiveDate(val)\r\n\r\n\tconst onSelectExpireDate = val => setExpireDate(val)\r\n\r\n\tconst onAddUser = async () => {\r\n\t\tconst res = await sdocAdmin.addAdmin(\r\n\t\t\tuserInfo.adminRoleID,\r\n\t\t\tuserInfo.email,\r\n\t\t\tuserInfo.firstname,\r\n\t\t\tuserInfo.lastname,\r\n\t\t\tuserInfo.adminStatusID\r\n\t\t)\r\n\t\tif (res) {\r\n\t\t\tif (res.status !== 400) {\r\n\t\t\t\tonOpenAddingSuccessModal()\r\n\t\t\t\tsetSaveButtonAdd(true)\r\n\t\t\t\tsetUserInfo({\r\n\t\t\t\t\tadminRoleID: userInfo.adminRoleID,\r\n\t\t\t\t\temail: '',\r\n\t\t\t\t\tfirstname: '',\r\n\t\t\t\t\tlastname: '',\r\n\t\t\t\t\tadminStatusID: userInfo.adminStatusID,\r\n\t\t\t\t})\r\n\t\t\t} else onOpenAddingFailedModal()\r\n\t\t}\r\n\t}\r\n\r\n\t// Editing User\r\n\r\n\tconst onFindUserToEdit = () => {\r\n\t\tconst finded = userData.find(item => item.id === currentEditUserID)\r\n\t\tif (finded) {\r\n\t\t\tsetEditUserInfo({\r\n\t\t\t\tadminRoleID: finded.adminRoleID,\r\n\t\t\t\tfirstname: finded.firstname,\r\n\t\t\t\tlastname: finded.lastname,\r\n\t\t\t\temail: finded.email,\r\n\t\t\t\tadminStatusID: finded.adminStatusID,\r\n\t\t\t})\r\n\t\t\t// setEditNationalIDCardNo(finded.nationalIDCardNo)\r\n\r\n\t\t\t// finded.operatorUserQOSTypes.forEach(item => {\r\n\t\t\t// \tif (item.qosTypeID === 1) setEditMobileTypePermission(true)\r\n\t\t\t// \tif (item.qosTypeID === 2) setEditFixedTypePermission(true)\r\n\t\t\t// })\r\n\t\t\t// if (finded.activeDate) setEditActiveDate(new Date(finded.activeDate))\r\n\t\t\t// else setEditActiveDate(null)\r\n\t\t\t// if (finded.expireDate) setEditExpireDate(new Date(finded.expireDate))\r\n\t\t\t// else setEditExpireDate(null)\r\n\t\t}\r\n\t}\r\n\r\n\tconst onFillEditNationalCardIDNo = e => {\r\n\t\tvar pattern = /^[0-9\\b]+$/\r\n\t\tconst { value } = e.target\r\n\t\tif (pattern.test(value) || value === '') {\r\n\t\t\tsetEditNationalIDCardNo(value)\r\n\t\t}\r\n\t}\r\n\r\n\tconst onFillAddUserInfo = e => {\r\n\t\tconst { name, value } = e.target\r\n\t\tsetUserInfo({ ...userInfo, [name]: value })\r\n\t}\r\n\r\n\tconst onFillEditUserInfo = e => {\r\n\t\tconst { name, value } = e.target\r\n\t\tsetEditUserInfo({ ...editUserInfo, [name]: value })\r\n\t}\r\n\r\n\tconst onChangeEditUserRoleID = e => {\r\n\t\tconst { value } = e.target\r\n\t\tsetEditUserInfo({ ...editUserInfo, adminRoleID: value })\r\n\t}\r\n\r\n\tconst onChangeEditUserStatus = e => {\r\n\t\tconst { value } = e.target\r\n\t\tconst findedStatus = Object.keys(org_status).find(\r\n\t\t\t(item, index) => item === value\r\n\t\t)\r\n\r\n\t\tif (findedStatus)\r\n\t\t\tsetEditUserInfo({\r\n\t\t\t\t...editUserInfo,\r\n\t\t\t\tuserStatus: {\r\n\t\t\t\t\tid: findedStatus,\r\n\t\t\t\t\tname: org_status[findedStatus],\r\n\t\t\t\t},\r\n\t\t\t})\r\n\t}\r\n\r\n\tconst onCheckEditFormTypePermission = (type, checked) => {\r\n\t\tif (type === 1) setEditMobileTypePermission(checked)\r\n\t\telse if (type === 2) setEditFixedTypePermission(checked)\r\n\t}\r\n\r\n\tconst onSelectEditActiveDate = val => setEditActiveDate(val)\r\n\r\n\tconst onSelectEditExpireDate = val => setEditExpireDate(val)\r\n\r\n\tconst onEditUser = async () => {\r\n\t\tconst res = await sdocAdmin.editAdmin(\r\n\t\t\tcurrentEditUserID,\r\n\t\t\teditUserInfo.adminRoleID,\r\n\t\t\teditUserInfo.email,\r\n\t\t\teditUserInfo.firstname,\r\n\t\t\teditUserInfo.lastname,\r\n\t\t\teditUserInfo.adminStatusID\r\n\t\t)\r\n\t\tif (res) {\r\n\t\t\tif (res.status !== 400) onOpenEditingSuccessModal()\r\n\t\t\telse onOpenEditingFailedModal()\r\n\t\t}\r\n\t}\r\n\r\n\t// Delete User\r\n\tconst deleteUserID = async () => {\r\n\t\tonOpenDeleteUserModal()\r\n\t\tconst finded = userData.find(item => item.id === currentEditUserID)\r\n\t\tif (finded) {\r\n\t\t\tconst res = await sdocAdmin.deleteAdmin(currentEditUserID)\r\n\t\t\tconst status = res.status\r\n\t\t\tif (status === 200) {\r\n\t\t\t\tonOpenDeletedSuccessModal()\r\n\t\t\t} else {\r\n\t\t\t\tonOpenDeletedFailedModal()\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tonOpenDeletedFailedModal()\r\n\t\t}\r\n\t}\r\n\r\n\t// Get Admin Role from ID\r\n\tconst getAdminRoleFromID = id => {\r\n\t\tfor (let i = 0; i < adminRoles.length; i++) {\r\n\t\t\tif (adminRoles[i].value === id) return adminRoles[i].name\r\n\t\t}\r\n\t}\r\n\r\n\t/** -----------------------------------------------------------> */\r\n\r\n\t// Main Rendering Function\r\n\r\n\t// eslint-disable-next-line\r\n\tuseEffect(() => onFindUserToEdit(), [currentEditUserID])\r\n\r\n\tuseEffect(() => {\r\n\t\tif (isRehydrated) onLanding()\r\n\t\t// eslint-disable-next-line\r\n\t}, [isRehydrated])\r\n\r\n\tuseEffect(() => {\r\n\t\tif (openUserModal)\r\n\t\t\tif (userModalType === 'add') {\r\n\t\t\t\tif (\r\n\t\t\t\t\t!userInfo.firstname ||\r\n\t\t\t\t\t!userInfo.lastname ||\r\n\t\t\t\t\t!userInfo.email ||\r\n\t\t\t\t\t!userInfo.adminRoleID ||\r\n\t\t\t\t\t!userInfo.adminStatusID\r\n\t\t\t\t) {\r\n\t\t\t\t\tsetSaveButtonAdd(true)\r\n\t\t\t\t} else {\r\n\t\t\t\t\tsetSaveButtonAdd(false)\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t}, [openUserModal, userModalType, userInfo])\r\n\r\n\tuseEffect(() => {\r\n\t\tif (openUserModal)\r\n\t\t\tif (userModalType === 'edit') {\r\n\t\t\t\tif (\r\n\t\t\t\t\t!editUserInfo.adminRoleID ||\r\n\t\t\t\t\t!editUserInfo.firstname ||\r\n\t\t\t\t\t!editUserInfo.lastname ||\r\n\t\t\t\t\t!editUserInfo.adminStatusID ||\r\n\t\t\t\t\t!editUserInfo.email\r\n\t\t\t\t) {\r\n\t\t\t\t\tsetSaveButtonEdit(true)\r\n\t\t\t\t} else {\r\n\t\t\t\t\tsetSaveButtonEdit(false)\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t}, [openUserModal, userModalType, editUserInfo])\r\n\r\n\t/** <----------------------------------------------------------- */\r\n\r\n\treturn (\r\n\t\tloaded && (\r\n\t\t\t<>\r\n\t\t\t\t\r\n\t\t\t\t\t{/* */}\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t {\r\n\t\t\t\t\t\t\tonLanding()\r\n\t\t\t\t\t\t\tonOpenAddingSuccessModal()\r\n\t\t\t\t\t\t\tonOpenUserModal()\r\n\t\t\t\t\t\t}}\r\n\t\t\t\t\t/>\r\n\t\t\t\t\t\r\n\t\t\t\t\t {\r\n\t\t\t\t\t\t\tonLanding()\r\n\t\t\t\t\t\t\tonOpenEditingSuccessModal()\r\n\t\t\t\t\t\t\tonOpenUserModal()\r\n\t\t\t\t\t\t}}\r\n\t\t\t\t\t/>\r\n\t\t\t\t\t\r\n\t\t\t\t\t {\r\n\t\t\t\t\t\t\tonLanding()\r\n\t\t\t\t\t\t\tonOpenDeletedSuccessModal()\r\n\t\t\t\t\t\t\t// onOpenUserModal()\r\n\t\t\t\t\t\t}}\r\n\t\t\t\t\t/>\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t)\r\n\t)\r\n}\r\n","import React, { useState, useEffect } from 'react'\r\n\r\nimport { Grid, Card, Button, Tooltip, Dialog, DialogTitle, IconButton, DialogContent, TextField, Select, MenuItem, Checkbox, ListItemText, Switch, DialogActions } from '@material-ui/core'\r\nimport { DataGrid, GridToolbarContainer, GridToolbarExport, GridOverlay } from '@mui/x-data-grid'\r\nimport { ListAlt, Menu, Description, SaveAlt, Refresh, GetApp, Build, Search, Close } from '@material-ui/icons'\r\n\r\nimport { useHistory } from 'react-router-dom'\r\nimport { useStoreRehydrated } from '@store'\r\n\r\nimport { format } from 'date-fns'\r\n\r\nimport { sdoc, sdocAdmin, admin } from '@api'\r\nimport Swal from 'sweetalert2/dist/sweetalert2.js'\r\n\r\n\r\n// Page Description: สถานะการยื่นแบบหนังสือรับรองตนเอง\r\nexport default function SDOCSent() {\r\n\tconst isRehydrated = useStoreRehydrated()\r\n\tconst history = useHistory()\r\n\tconst [rowsApproveStatus, setRowsApproveStatus] = useState([])\r\n\tconst [isDataLoading, setIsDataLoading] = useState(false)\r\n\t// eslint-disable-next-line\r\n\t// eslint-disable-next-line\r\n\r\n\tconst [sortModel, setSortModel] = useState([\r\n\t\t{\r\n\t\t\tfield: 'sDocNo',\r\n\t\t\tsort: 'desc',\r\n\t\t},\r\n\t]);\r\n\t// filter Dialog / Modal\r\n\tconst [RowsData, setRowsData] = useState([])\r\n\tconst [isDialogOpen, setIsDialogOpen] = useState(false);\r\n\tconst [searchQuery, setSearchQuery] = useState([]);\r\n\tconst [selectedStatus, setSelectedStatus] = useState([]);\r\n\tconst [searchCreate, setSearchCreate] = useState('');\r\n\tconst [searchLastUpdated, setSearchLastUpdated] = useState('');\r\n\tconst [isSearching, setIsSearching] = useState(false);\r\n\tconst [isSaveSearch, setIsSaveSearch] = useState(true);\r\n\r\n\tconst statusOptions = [\r\n\t\t// { value: '0', label: 'ทั้งหมด' },\r\n\t\t{ value: '1', label: 'รอมอบหมาย' },\r\n\t\t{ value: '2', label: 'รอตรวจสอบ/เพิ่มเอกสารแล้ว/ปรับปรุงข้อมูลแล้ว' },\r\n\t\t{ value: '3', label: 'ขอเอกสารเพิ่ม/ขอปรับปรุงเอกสาร' },\r\n\t\t{ value: '4', label: 'รอออกใบรับรอง' },\r\n\t\t{ value: '5', label: 'อนุมัติ' },\r\n\t\t{ value: '6', label: 'ไม่อนุมัติ' },\r\n\t\t{ value: '8', label: 'รอชำระเงิน' },\r\n\t\t{ value: '82', label: 'เลยกำหนดชำระ' },\r\n\t\t{ value: '9', label: 'รอออกใบเสร็จรับเงิน' },\r\n\t\t{ value: '10', label: 'ยกเลิกคำขอ' },\r\n\t\t{ value: '11', label: 'เลยระยะเวลา' },\r\n\t];\r\n\tconst toggleDialog = () => {\r\n\t\tsetIsDialogOpen(!isDialogOpen);\r\n\t};\r\n\tconst handleSearchChange = (event) => {\r\n\t\tconst { id, value } = event.target;\r\n\t\tsetSearchQuery((prevSearchQuery) => {\r\n\t\t\tconst updatedQuery = [...prevSearchQuery];\r\n\t\t\tconst existingItemIndex = updatedQuery.findIndex((item) => item.id === id);\r\n\t\t\tif (existingItemIndex !== -1) {\r\n\t\t\t\tupdatedQuery[existingItemIndex] = { id, value };\r\n\t\t\t} else {\r\n\t\t\t\tupdatedQuery.push({ id, value });\r\n\t\t\t}\r\n\t\t\treturn updatedQuery;\r\n\t\t});\r\n\t\t// console.log(searchQuery);\r\n\t};\r\n\r\n\tconst handleStatusChange = (event) => {\r\n\t\tsetSelectedStatus(event.target.value);\r\n\t};\r\n\tconst handleCreateChange = (event) => {\r\n\t\tsetSearchCreate(event.target.value);\r\n\t};\r\n\tconst handleLastUpdatedChange = (event) => {\r\n\t\tsetSearchLastUpdated(event.target.value);\r\n\t};\r\n\tconst handleSaveSearch = () => {\r\n\t\tsetIsSaveSearch(!isSaveSearch);\r\n\t};\r\n\r\n\r\n\r\n\tvar columnsApproveStatus = [\r\n\t\t{\r\n\t\t\tfield: 'sDocNoExport',\r\n\t\t\theaderName: 'sDoc No.',\r\n\t\t\twidth: 180,\r\n\t\t\theaderAlign: 'left',\r\n\t\t\talign: 'left',\r\n\t\t\tsortable: true,\r\n\t\t\tfilterable: false,\r\n\t\t\teditable: false,\r\n\t\t\thide: true,\r\n\t\t\tvalueGetter: params => {\r\n\t\t\t\treturn params.row.sDocNo;\r\n\t\t\t}\r\n\t\t},\r\n\t\t{\r\n\t\t\tfield: 'sDocNo',\r\n\t\t\theaderName: 'sDoc No.',\r\n\t\t\twidth: 180,\r\n\t\t\theaderAlign: 'left',\r\n\t\t\talign: 'left',\r\n\t\t\tsortable: true,\r\n\t\t\teditable: false,\r\n\t\t\trenderCell: params => {\r\n\t\t\t\treturn params.row.sDocNo;\r\n\t\t\t},\r\n\t\t\tvalueGetter: params => {\r\n\t\t\t\tif (params.row.sDocNo) {\r\n\t\t\t\t\treturn params.row.sDocNo.slice(8, 10) + '-' + params.row.sDocNo.slice(2, 7)\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t},\r\n\t\t{\r\n\t\t\tfield: 'runningNumber', // ERROR MARK\r\n\t\t\theaderName: 'เลขที่คำขอ',\r\n\t\t\twidth: 180,\r\n\t\t\theaderAlign: 'left',\r\n\t\t\talign: 'left',\r\n\t\t\tsortable: true,\r\n\t\t\teditable: false,\r\n\t\t},\r\n\t\t{\r\n\t\t\tfield: 'brandName',\r\n\t\t\theaderName: 'ตราอักษร (Brand Name)',\r\n\t\t\twidth: 220,\r\n\t\t\theaderAlign: 'left',\r\n\t\t\talign: 'left',\r\n\t\t\tsortable: true,\r\n\t\t\teditable: false,\r\n\t\t},\r\n\t\t{\r\n\t\t\tfield: 'productModel',\r\n\t\t\theaderName: 'รุ่นของผลิตภัณฑ์',\r\n\t\t\twidth: 180,\r\n\t\t\theaderAlign: 'left',\r\n\t\t\talign: 'left',\r\n\t\t\tsortable: true,\r\n\t\t\teditable: false,\r\n\t\t},\r\n\t\t{\r\n\t\t\tfield: 'operator',\r\n\t\t\theaderName: 'ผู้ยื่นเอกสาร',\r\n\t\t\twidth: 200,\r\n\t\t\theaderAlign: 'left',\r\n\t\t\talign: 'center',\r\n\t\t\tsortable: true,\r\n\t\t\teditable: false,\r\n\t\t\trenderCell: (params) => (\r\n\t\t\t\t\r\n\t\t\t\t\t{/* {params.row.operator}
{params.row.operatorInfo && ('แทน ' + params.row.operatorInfo)} */}\r\n\t\t\t\t\t{params.row.operator}\r\n\t\t\t\t
\r\n\t\t\t),\r\n\t\t\t// valueGetter: (params) => {\r\n\t\t\t// \tif (params.row.operatorInfo) {\r\n\t\t\t// \t\treturn params.value + ' แทน ' + params.row.operatorInfo + ')'\r\n\t\t\t// \t}\r\n\t\t\t// },\r\n\t\t},\r\n\t\t{\r\n\t\t\tfield: 'operatorInfo',\r\n\t\t\theaderName: 'ยื่นในนาม',\r\n\t\t\twidth: 200,\r\n\t\t\theaderAlign: 'left',\r\n\t\t\talign: 'center',\r\n\t\t\tsortable: true,\r\n\t\t\teditable: false,\r\n\t\t\trenderCell: (params) => (\r\n\t\t\t\t\r\n\t\t\t\t\t{params.row.operatorInfo && (params.row.operatorInfo)}\r\n\t\t\t\t\r\n\t\t\t),\r\n\t\t},\r\n\t\t{\r\n\t\t\tfield: 'approver',\r\n\t\t\theaderName: 'ผู้ได้รับมอบหมายงาน',\r\n\t\t\twidth: 220,\r\n\t\t\theaderAlign: 'left',\r\n\t\t\talign: 'left',\r\n\t\t\tsortable: true,\r\n\t\t\teditable: false,\r\n\t\t},\r\n\t\t{\r\n\t\t\tfield: 'signatureAdmin',\r\n\t\t\theaderName: 'ผู้ลงนาม',\r\n\t\t\twidth: 220,\r\n\t\t\theaderAlign: 'left',\r\n\t\t\talign: 'left',\r\n\t\t\tsortable: true,\r\n\t\t\teditable: false,\r\n\t\t},\r\n\t\t{\r\n\t\t\tfield: 'approveDateExport',\r\n\t\t\theaderName: 'วันที่ได้รับอนุมัติ',\r\n\t\t\twidth: 170,\r\n\t\t\theaderAlign: 'left',\r\n\t\t\talign: 'left',\r\n\t\t\tsortable: true,\r\n\t\t\tfilterable: false,\r\n\t\t\teditable: false,\r\n\t\t\thide: true,\r\n\t\t\trenderCell: params => (\r\n\t\t\t\t\r\n\t\t\t\t\t{params.value ? format(new Date(params.row.approveDateExport), 'MM/dd/yyyy HH:mm') : ''}\r\n\t\t\t\t\t{/* {params.value ? params.value : ''} */}\r\n\t\t\t\t\r\n\t\t\t),\r\n\t\t\tvalueGetter: params => {\r\n\t\t\t\tif (params.row.approveDateExport) {\r\n\t\t\t\t\treturn format(new Date(params.value), 'MM/dd/yyyy HH:mm')\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t},\r\n\t\t{\r\n\t\t\tfield: 'invoiceDate',\r\n\t\t\theaderName: 'วันที่ได้รับใบเสร็จรับเงิน',\r\n\t\t\twidth: 170,\r\n\t\t\theaderAlign: 'left',\r\n\t\t\talign: 'left',\r\n\t\t\tsortable: true,\r\n\t\t\tfilterable: false,\r\n\t\t\teditable: false,\r\n\t\t\thide: true,\r\n\t\t\trenderCell: params => (\r\n\t\t\t\t\r\n\t\t\t\t\t{params.value ? format(new Date(params.row.invoiceDate), 'MM/dd/yyyy HH:mm') : ''}\r\n\t\t\t\t\t{/* {params.value ? params.value : ''} */}\r\n\t\t\t\t\r\n\t\t\t),\r\n\t\t\tvalueGetter: params => {\r\n\t\t\t\tif (params.row.approveDateExport) {\r\n\t\t\t\t\treturn format(new Date(params.value), 'MM/dd/yyyy HH:mm')\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t},\r\n\t\t{\r\n\t\t\tfield: 'approveDate',\r\n\t\t\theaderName: 'วันที่ได้รับอนุมัติ',\r\n\t\t\twidth: 170,\r\n\t\t\theaderAlign: 'left',\r\n\t\t\talign: 'left',\r\n\t\t\tsortable: true,\r\n\t\t\teditable: false,\r\n\t\t\trenderCell: params => (\r\n\t\t\t\t\r\n\t\t\t\t\t{/* {params.value ? format(new Date(params.value), 'dd/MM/yyyy HH:mm') : ''} */}\r\n\t\t\t\t\t{params.value ? params.value : ''}\r\n\t\t\t\t\r\n\t\t\t),\r\n\t\t\tvalueGetter: params => {\r\n\t\t\t\tif (params.row.approveDate) {\r\n\t\t\t\t\treturn format(new Date(params.value), 'dd/MM/yyyy HH:mm')\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t},\r\n\t\t{\r\n\t\t\tfield: 'amount',\r\n\t\t\theaderName: 'เงินที่ได้รับ',\r\n\t\t\twidth: 170,\r\n\t\t\theaderAlign: 'left',\r\n\t\t\talign: 'left',\r\n\t\t\tsortable: true,\r\n\t\t\teditable: false,\r\n\t\t\thide: true,\r\n\t\t\trenderCell: params => (\r\n\t\t\t\t\r\n\t\t\t\t\t{params.value ? params.value.toFixed(2) + \" บาท\" : ''}\r\n\t\t\t\t\r\n\t\t\t),\r\n\t\t},\r\n\t\t{\r\n\t\t\tfield: 'activity',\r\n\t\t\theaderName: 'กิจกรรม',\r\n\t\t\twidth: 800,\r\n\t\t\theaderAlign: 'left',\r\n\t\t\talign: 'left',\r\n\t\t\tsortable: false,\r\n\t\t\teditable: false,\r\n\t\t\trenderCell: params => {\r\n\t\t\t\treturn (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\thistory.push(\r\n\t\t\t\t\t\t\t\t\t`/admin/sdoc/sent/${params.row.id}?mountType=readOnly`\r\n\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t}}>\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tรายละเอียด\r\n\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t{/* \r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t */}\r\n\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\tconfirmRepairCredential(params.row.id)\r\n\t\t\t\t\t\t\t}}>\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tซ่อมแซมหนังสือรับรอง(กรณีดาวน์โหลดไม่ได้)\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t)\r\n\t\t\t},\r\n\t\t},\r\n\t]\r\n\tconst handleSortChange = (model) => {\r\n\t\tif (isRehydrated && model[0] !== sortModel[0])\r\n\t\t\tsetSortModel(model);\r\n\t};\r\n\tconst createApproveRow = (dataSDocList, i) => {\r\n\t\tconst rowData = {\r\n\t\t\tid: dataSDocList[i].id,\r\n\t\t\tbrandName: dataSDocList[i].brandName,\r\n\t\t\toperator:\r\n\t\t\t\t(dataSDocList[i].sDocUser.prefix ?? '') +\r\n\t\t\t\tdataSDocList[i].sDocUser.firstname +\r\n\t\t\t\t' ' +\r\n\t\t\t\tdataSDocList[i].sDocUser.lastname,\r\n\t\t\tapprover: dataSDocList[i].approver\r\n\t\t\t\t?\r\n\t\t\t\t(dataSDocList[i].approver.prefixname ?? '') +\r\n\t\t\t\tdataSDocList[i].approver.firstname +\r\n\t\t\t\t' ' +\r\n\t\t\t\tdataSDocList[i].approver.lastname\r\n\t\t\t\t: 'ยังไม่ได้มอบหมาย',\r\n\t\t\tapproveDate: dataSDocList[i].approveDate,\r\n\t\t\tapproveDateExport: dataSDocList[i].approveDate,\r\n\t\t\tinvoiceDate: dataSDocList[i].sDocTransactions?.receiveDate,\r\n\t\t\tsignatureAdmin: dataSDocList[i].signatureAdmin\r\n\t\t\t\t?\r\n\t\t\t\t(dataSDocList[i].signatureAdmin.prefixname ?? '') +\r\n\t\t\t\tdataSDocList[i].signatureAdmin.firstname +\r\n\t\t\t\t' ' +\r\n\t\t\t\tdataSDocList[i].signatureAdmin.lastname\r\n\t\t\t\t: 'ยังไม่ได้ลงนาม',\r\n\t\t\tstatusID: dataSDocList[i].sDocStatusID,\r\n\t\t\tstatusName: dataSDocList[i].sDocStatus.statusName,\r\n\t\t\tproductModel: dataSDocList[i].productModel,\r\n\t\t\tsDocNo: dataSDocList[i].sDocNo,\r\n\t\t\toperatorInfo: dataSDocList[i].senderType === 'organization' ? dataSDocList[i].operatorTitle : null,\r\n\t\t\trunningNumber: dataSDocList[i].runningNo, // ERROR MARK\r\n\t\t\tamount: dataSDocList[i].sDocTransactions.amount * 1.07,\r\n\t\t}\r\n\t\treturn rowData\r\n\t}\r\n\r\n\tconst getSDocStatusList = async () => {\r\n\t\t// Get Status List\r\n\t\tconst resStatusList = await sdoc.getListsStatus()\r\n\t\tconst dataStatusList = resStatusList.data\r\n\t\tconst statusListTemp = []\r\n\t\tif (resStatusList) {\r\n\t\t\tif (resStatusList.status === 200) {\r\n\t\t\t\tfor (let i = 0; i < dataStatusList.length; i++) {\r\n\t\t\t\t\tstatusListTemp.push({\r\n\t\t\t\t\t\tid: dataStatusList[i].id,\r\n\t\t\t\t\t\tstatusName: dataStatusList[i].statusName,\r\n\t\t\t\t\t})\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn statusListTemp\r\n\t}\r\n\r\n\tconst getCheckerAdminList = async () => {\r\n\t\tconst resAdminList = await sdocAdmin.getAdminList()\r\n\t\tconst adminListTemp = []\r\n\t\tif (resAdminList) {\r\n\t\t\tif (resAdminList.status === 200) {\r\n\t\t\t\tconst dataAdminList = resAdminList.data\r\n\t\t\t\tfor (let i = 0; i < dataAdminList.length; i++) {\r\n\t\t\t\t\tif (dataAdminList[i].adminRoleID === 4) {\r\n\t\t\t\t\t\tadminListTemp.push({\r\n\t\t\t\t\t\t\tid: dataAdminList[i].id,\r\n\t\t\t\t\t\t\tname:\r\n\t\t\t\t\t\t\t\tdataAdminList[i].firstname + ' ' + dataAdminList[i].lastname,\r\n\t\t\t\t\t\t})\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tconst openDB = () => {\r\n\t\treturn new Promise((resolve, reject) => {\r\n\t\t\t// const deleteRequest = indexedDB.deleteDatabase('MyDatabase');\r\n\t\t\tconst request = window.indexedDB.open('NBTCSDoCApproved', 1);\r\n\r\n\t\t\trequest.onerror = (event) => {\r\n\t\t\t\tconsole.error(\"Error opening database\", event.target.error);\r\n\t\t\t\treject(event.target.error);\r\n\t\t\t};\r\n\r\n\t\t\trequest.onupgradeneeded = (event) => {\r\n\t\t\t\tconst db = event.target.result;\r\n\r\n\t\t\t\t// Create an object store (similar to a table in relational databases)\r\n\t\t\t\tif (!db.objectStoreNames.contains('SDocList')) {\r\n\t\t\t\t\tdb.createObjectStore('SDocList', { keyPath: 'id' });\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (!db.objectStoreNames.contains('SDocListTimeout')) {\r\n\t\t\t\t\tdb.createObjectStore('SDocListTimeout', { keyPath: 'id' });\r\n\t\t\t\t}\r\n\r\n\t\t\t\tconsole.log(\"Database upgrade complete\");\r\n\t\t\t};\r\n\r\n\t\t\trequest.onsuccess = (event) => {\r\n\t\t\t\tconst db = event.target.result;\r\n\t\t\t\tresolve(db);\r\n\t\t\t};\r\n\t\t});\r\n\t};\r\n\r\n\tconst addDataToDBWithTimeout = (data, timeout) => {\r\n\t\topenDB().then((db) => {\r\n\t\t\tconst transaction = db.transaction(['SDocList'], 'readwrite');\r\n\t\t\tconst transaction2 = db.transaction(['SDocListTimeout'], 'readwrite');\r\n\t\t\tconst objectStore = transaction.objectStore('SDocList');\r\n\t\t\tconst objectStore2 = transaction2.objectStore('SDocListTimeout');\r\n\r\n\t\t\ttransaction.oncomplete = () => {\r\n\t\t\t\tconsole.log(\"Data added to IndexedDB with timeout\");\r\n\t\t\t};\r\n\r\n\t\t\ttransaction.onerror = (event) => {\r\n\t\t\t\tconsole.error(\"Error adding data to IndexedDB\", event.target.error);\r\n\t\t\t};\r\n\r\n\t\t\ttransaction.onabort = (event) => {\r\n\t\t\t\tconsole.error(\"Transaction aborted\", event.target.error);\r\n\t\t\t};\r\n\t\t\tconst vtimeout = new Date().getTime() + timeout;\r\n\t\t\tlet vtimeoutData = {\r\n\t\t\t\tid: 1,\r\n\t\t\t\ttimeout: vtimeout\r\n\t\t\t}\r\n\t\t\tobjectStore2.add(vtimeoutData);\r\n\t\t\tconsole.log(\"Data Timeout Set to:\", vtimeoutData)\r\n\t\t\tdata.forEach((item) => {\r\n\t\t\t\ttry {\r\n\t\t\t\t\tconst request = objectStore.add(item);\r\n\r\n\t\t\t\t\trequest.onsuccess = () => {\r\n\t\t\t\t\t\t// console.log(\"Data added:\", item);\r\n\t\t\t\t\t};\r\n\r\n\t\t\t\t\trequest.onerror = (event) => {\r\n\t\t\t\t\t\tconsole.error(\"Error adding data to IndexedDB\", event.target.error);\r\n\t\t\t\t\t};\r\n\t\t\t\t} catch (error) {\r\n\t\t\t\t\tconsole.error(\"Error within transaction:\", error);\r\n\t\t\t\t\ttransaction.abort();\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}).catch((error) => {\r\n\t\t\tconsole.error(\"Error opening database\", error);\r\n\t\t});\r\n\t};\r\n\r\n\tconst getDataFromDBWithTimeout = () => {\r\n\t\treturn new Promise((resolve, reject) => {\r\n\t\t\topenDB().then((db) => {\r\n\t\t\t\tconst transaction = db.transaction(['SDocList'], 'readonly');\r\n\t\t\t\tconst transaction2 = db.transaction(['SDocListTimeout'], 'readonly');\r\n\t\t\t\tconst objectStore = transaction.objectStore('SDocList');\r\n\t\t\t\tconst objectStore2 = transaction2.objectStore('SDocListTimeout');\r\n\t\t\t\tconst currentTime = Date.now();\r\n\t\t\t\tconst request2 = objectStore2.getAll();\r\n\t\t\t\trequest2.onsuccess = (event) => {\r\n\t\t\t\t\tlet data2 = event.target.result;\r\n\t\t\t\t\tif (data2.length <= 0) {\r\n\t\t\t\t\t\treturn [];\r\n\t\t\t\t\t}\r\n\t\t\t\t\tdata2 = data2[0].timeout;\r\n\t\t\t\t\tif (currentTime > data2) {\r\n\t\t\t\t\t\tconsole.log(\"Data Expired, clearing DB\");\r\n\t\t\t\t\t\tclearSDocList();\r\n\t\t\t\t\t\treturn [];\r\n\t\t\t\t\t}\r\n\t\t\t\t};\r\n\r\n\t\t\t\tconst request = objectStore.getAll();\r\n\r\n\t\t\t\trequest.onsuccess = (event) => {\r\n\t\t\t\t\tconst data = event.target.result;\r\n\t\t\t\t\tresolve(data);\r\n\t\t\t\t};\r\n\r\n\t\t\t\trequest.onerror = (event) => {\r\n\t\t\t\t\tconsole.error(\"Error retrieving data from IndexedDB\", event.target.error);\r\n\t\t\t\t\treject(event.target.error);\r\n\t\t\t\t};\r\n\t\t\t}).catch((error) => {\r\n\t\t\t\tconsole.error(\"Error opening database\", error);\r\n\t\t\t\treject(error);\r\n\t\t\t});\r\n\t\t});\r\n\t};\r\n\r\n\tconst clearSDocList = () => {\r\n\t\topenDB().then((db) => {\r\n\t\t\tconst transaction = db.transaction(['SDocList'], 'readwrite');\r\n\t\t\tconst objectStore = transaction.objectStore('SDocList');\r\n\t\t\tconst transaction2 = db.transaction(['SDocListTimeout'], 'readwrite');\r\n\t\t\tconst objectStore2 = transaction2.objectStore('SDocListTimeout');\r\n\r\n\t\t\tconst request = objectStore.clear();\r\n\t\t\tconst request2 = objectStore2.clear();\r\n\r\n\t\t\trequest.onsuccess = () => {\r\n\t\t\t\tconsole.log(\"SDocList cleared successfully\");\r\n\t\t\t};\r\n\r\n\t\t\trequest.onerror = (event) => {\r\n\t\t\t\tconsole.error(\"Error clearing SDocList\", event.target.error);\r\n\t\t\t};\r\n\t\t}).catch((error) => {\r\n\t\t\tconsole.error(\"Error opening database\", error);\r\n\t\t});\r\n\t};\r\n\tconst forceSDOCWaitStatusList = async () => {\r\n\t\tsetIsDataLoading(true);\r\n\t\tsetRowsApproveStatus([]);\r\n\t\tawait admin.me().then(async event => {\r\n\t\t\tif (event) {\r\n\t\t\t\tconst dataMe = event.data\r\n\t\t\t\tconst timeout = 15 * 60 * 1000;\r\n\r\n\t\t\t\tlet dataSDoc = [];\r\n\t\t\t\tconst resList = await sdoc.getListsApproved()\r\n\t\t\t\tlet dataSDocList = resList.data\r\n\t\t\t\tif (resList) {\r\n\t\t\t\t\tif (resList.status === 200) {\r\n\t\t\t\t\t\tdataSDoc = resList.data\r\n\t\t\t\t\t\tclearSDocList();\r\n\t\t\t\t\t\taddDataToDBWithTimeout(dataSDoc, timeout);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (dataSDoc && dataSDoc.length > 0) {\r\n\t\t\t\t\tconst rowsApproveTemp = []\r\n\t\t\t\t\t// Role === 'ผู้ตรวจสอบข้อมูล'\r\n\t\t\t\t\tif (dataMe.adminRoleID === 4) {\r\n\t\t\t\t\t\tfor (let i = 0; i < dataSDocList.length; i++) {\r\n\t\t\t\t\t\t\tif (\r\n\t\t\t\t\t\t\t\t// Show only own approver && status !== 'รอมอบหมาย'\r\n\t\t\t\t\t\t\t\tdataMe.id === dataSDocList[i].approverID &&\r\n\t\t\t\t\t\t\t\tdataSDocList[i].sDocStatusID !== 1\r\n\t\t\t\t\t\t\t) {\r\n\t\t\t\t\t\t\t\t// ---> Add Data to Array\r\n\t\t\t\t\t\t\t\tif (dataSDocList[i].sDocStatusID === 5)\r\n\t\t\t\t\t\t\t\t\trowsApproveTemp.push(createApproveRow(dataSDocList, i))\r\n\t\t\t\t\t\t\t\t// <--- Add Data to Array\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\t// Role === 'ผู้ออกใบรับรอง'\r\n\t\t\t\t\telse if (dataMe.adminRoleID === 2) {\r\n\t\t\t\t\t\tfor (let i = 0; i < dataSDocList.length; i++) {\r\n\t\t\t\t\t\t\tif (\r\n\t\t\t\t\t\t\t\t// Show only status === 'รอออกใบรับรอง' && status === 'สำเร็จ' && status === 'ยกเลิก'\r\n\t\t\t\t\t\t\t\tdataSDocList[i].sDocStatusID === 4 ||\r\n\t\t\t\t\t\t\t\tdataSDocList[i].sDocStatusID === 5 ||\r\n\t\t\t\t\t\t\t\tdataSDocList[i].sDocStatusID === 6\r\n\t\t\t\t\t\t\t) {\r\n\t\t\t\t\t\t\t\t// ---> Add Data to Array\r\n\t\t\t\t\t\t\t\tif (dataSDocList[i].sDocStatusID === 5)\r\n\t\t\t\t\t\t\t\t\trowsApproveTemp.push(createApproveRow(dataSDocList, i))\r\n\t\t\t\t\t\t\t\t// <--- Add Data to Array\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\t// Role === 'ผู้มอบหมายงาน'\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tfor (let i = 0; i < dataSDocList.length; i++) {\r\n\t\t\t\t\t\t\t// ---> Add Data to Array\r\n\t\t\t\t\t\t\tif (dataSDocList[i].sDocStatusID === 5)\r\n\t\t\t\t\t\t\t\trowsApproveTemp.push(createApproveRow(dataSDocList, i))\r\n\t\t\t\t\t\t\t// <--- Add Data to Array\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\tsetRowsApproveStatus(rowsApproveTemp)\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t})\r\n\t\tsetIsDataLoading(false)\r\n\t\tgetCheckerAdminList()\r\n\t}\r\n\tconst getSDOCWaitStatusList = async () => {\r\n\t\t// Get Status List\r\n\t\tsetIsDataLoading(true)\r\n\t\tgetSDocStatusList()\r\n\r\n\t\tawait admin.me().then(async event => {\r\n\t\t\tif (event) {\r\n\t\t\t\tconst dataMe = event.data\r\n\t\t\t\tconst timeout = 15 * 60 * 1000;\r\n\t\t\t\tlet dataSDocList = await getDataFromDBWithTimeout();\r\n\t\t\t\tlet dataSDoc = [];\r\n\t\t\t\tif (dataSDocList && dataSDocList.length > 0) {\r\n\t\t\t\t\tdataSDoc = dataSDocList;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tconst resList = await sdoc.getListsApproved()\r\n\t\t\t\t\tdataSDocList = resList.data\r\n\t\t\t\t\tif (resList) {\r\n\t\t\t\t\t\tif (resList.status === 200) {\r\n\t\t\t\t\t\t\tdataSDoc = resList.data\r\n\t\t\t\t\t\t\tclearSDocList();\r\n\t\t\t\t\t\t\taddDataToDBWithTimeout(dataSDoc, timeout);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tif (dataSDoc && dataSDoc.length > 0) {\r\n\t\t\t\t\tconst rowsApproveTemp = []\r\n\t\t\t\t\t// Role === 'ผู้ตรวจสอบข้อมูล'\r\n\t\t\t\t\tif (dataMe.adminRoleID === 4) {\r\n\t\t\t\t\t\tfor (let i = 0; i < dataSDocList.length; i++) {\r\n\t\t\t\t\t\t\tif (\r\n\t\t\t\t\t\t\t\t// Show only own approver && status !== 'รอมอบหมาย'\r\n\t\t\t\t\t\t\t\tdataMe.id === dataSDocList[i].approverID &&\r\n\t\t\t\t\t\t\t\tdataSDocList[i].sDocStatusID !== 1\r\n\t\t\t\t\t\t\t) {\r\n\t\t\t\t\t\t\t\t// ---> Add Data to Array\r\n\t\t\t\t\t\t\t\tif (dataSDocList[i].sDocStatusID === 5)\r\n\t\t\t\t\t\t\t\t\trowsApproveTemp.push(createApproveRow(dataSDocList, i))\r\n\t\t\t\t\t\t\t\t// <--- Add Data to Array\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\t// Role === 'ผู้ออกใบรับรอง'\r\n\t\t\t\t\telse if (dataMe.adminRoleID === 2) {\r\n\t\t\t\t\t\tfor (let i = 0; i < dataSDocList.length; i++) {\r\n\t\t\t\t\t\t\tif (\r\n\t\t\t\t\t\t\t\t// Show only status === 'รอออกใบรับรอง' && status === 'สำเร็จ' && status === 'ยกเลิก'\r\n\t\t\t\t\t\t\t\tdataSDocList[i].sDocStatusID === 4 ||\r\n\t\t\t\t\t\t\t\tdataSDocList[i].sDocStatusID === 5 ||\r\n\t\t\t\t\t\t\t\tdataSDocList[i].sDocStatusID === 6\r\n\t\t\t\t\t\t\t) {\r\n\t\t\t\t\t\t\t\t// ---> Add Data to Array\r\n\t\t\t\t\t\t\t\tif (dataSDocList[i].sDocStatusID === 5)\r\n\t\t\t\t\t\t\t\t\trowsApproveTemp.push(createApproveRow(dataSDocList, i))\r\n\t\t\t\t\t\t\t\t// <--- Add Data to Array\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\t// Role === 'ผู้มอบหมายงาน'\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tfor (let i = 0; i < dataSDocList.length; i++) {\r\n\t\t\t\t\t\t\t// ---> Add Data to Array\r\n\t\t\t\t\t\t\tif (dataSDocList[i].sDocStatusID === 5)\r\n\t\t\t\t\t\t\t\trowsApproveTemp.push(createApproveRow(dataSDocList, i))\r\n\t\t\t\t\t\t\t// <--- Add Data to Array\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\tsetRowsData(rowsApproveTemp);\r\n\t\t\t\t\tsetRowsApproveStatus(rowsApproveTemp)\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t})\r\n\t\tsetIsDataLoading(false)\r\n\t\tgetCheckerAdminList()\r\n\t}\r\n\r\n\t// filter \r\n\tconst onSearchResult = () => {\r\n\t\tlet searchedData = RowsData;\r\n\t\tconst savedFilters = {\r\n\t\t\tsearchQuery: searchQuery,\r\n\t\t\tsearchCreate: searchCreate,\r\n\t\t\tsearchLastUpdated: searchLastUpdated,\r\n\t\t\tselectedStatus: selectedStatus\r\n\t\t};\r\n\r\n\t\t// Save filters to localStorage if isSaveSearch is true\r\n\t\tif (isSaveSearch) {\r\n\t\t\tlocalStorage.setItem('savedFiltersApproved', JSON.stringify(savedFilters));\r\n\t\t} else {\r\n\t\t\tlocalStorage.removeItem('savedFiltersApproved');\r\n\t\t}\r\n\t\tif (searchQuery)\r\n\t\t\t// console.log(\"searchQuery >> \", searchQuery)\r\n\t\t\tsearchQuery.forEach((query) => {\r\n\t\t\t\tconst { id, value } = query;\r\n\t\t\t\tif (value !== '' && value !== null && value !== undefined && value.length > 0) {\r\n\t\t\t\t\t// console.log(\"id >> \", id, \" value >> \", value)\r\n\t\t\t\t\tsearchedData = searchedData.filter((item) => {\r\n\t\t\t\t\t\tconst itemValue = item[id];\r\n\t\t\t\t\t\t// console.log(\"itemValue >> \", itemValue);\r\n\t\t\t\t\t\t// console.log(\"typeof itemValue >> \", typeof itemValue);\r\n\t\t\t\t\t\tif (typeof itemValue === 'string') {\r\n\t\t\t\t\t\t\treturn itemValue.toLowerCase().includes(value.toLowerCase());\r\n\t\t\t\t\t\t} else if (typeof itemValue === 'object') {\r\n\t\t\t\t\t\t\treturn false;\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\treturn itemValue.toString().includes(value);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\tif (searchCreate !== '') {\r\n\t\t\tsearchedData = searchedData.filter((item) => {\r\n\t\t\t\tconst itemDate = new Date(item.approveDate.split('T')[0]);\r\n\t\t\t\tconst searchDate = new Date(searchCreate);\r\n\t\t\t\treturn itemDate.getTime() === searchDate.getTime();\r\n\t\t\t});\r\n\t\t}\r\n\t\tif (searchLastUpdated !== '') {\r\n\t\t\tsearchedData = searchedData.filter((item) => {\r\n\t\t\t\tconst itemDate = new Date(item.lastUpdate.split('T')[0]);\r\n\t\t\t\tconst searchDate = new Date(searchLastUpdated);\r\n\t\t\t\treturn itemDate.getTime() === searchDate.getTime();\r\n\t\t\t});\r\n\t\t}\r\n\t\tif (selectedStatus.length > 0 && selectedStatus[0] !== '0') {\r\n\t\t\tsearchedData = searchedData.filter(\r\n\t\t\t\t(item) => selectedStatus.includes(item.statusID.toString())\r\n\t\t\t);\r\n\t\t}\r\n\r\n\t\tconst mergedSearched = searchedData;\r\n\t\tsetRowsApproveStatus(mergedSearched);\r\n\t\tsetIsDialogOpen(false);\r\n\t\tsetIsSearching(true);\r\n\t\treturn;\r\n\t};\r\n\r\n\t// Function to apply saved filters on component mount\r\n\tconst applySavedFilters = () => {\r\n\t\tconst savedFilters = localStorage.getItem('savedFiltersApproved');\r\n\r\n\t\tif (savedFilters) {\r\n\t\t\tconst { searchQuery, searchCreate, searchLastUpdated, selectedStatus } = JSON.parse(savedFilters);\r\n\t\t\t// Apply the saved filters to your state variables\r\n\t\t\tsetSearchQuery(searchQuery);\r\n\t\t\tsetSearchCreate(searchCreate);\r\n\t\t\tsetSearchLastUpdated(searchLastUpdated);\r\n\t\t\tsetSelectedStatus(selectedStatus);\r\n\t\t\tsetIsSearching(true);\r\n\t\t\tsetIsSaveSearch(true);\r\n\t\t}\r\n\t};\r\n\r\n\t// Call applySavedFilters when the component mounts\r\n\tuseEffect(() => {\r\n\t\tapplySavedFilters();\r\n\t}, [isSearching]);\r\n\tuseEffect(() => {\r\n\t\tif (RowsData && isSearching) {\r\n\t\t\tonSearchResult();\r\n\t\t}\r\n\t}, [RowsData, isSearching]); // Call onSearchResult when rowsData or isSearching changes\r\n\r\n\r\n\r\n\tconst onSearchResultClear = () => {\r\n\t\tsetSearchQuery([]);\r\n\t\tsetSearchCreate('');\r\n\t\tsetSearchLastUpdated('');\r\n\t\tsetSelectedStatus([]);\r\n\t\tsetRowsApproveStatus(RowsData);\r\n\t\tsetIsSearching(false);\r\n\t\tsetIsSaveSearch(false);\r\n\r\n\t\t// Remove the saved filters from localStorage\r\n\t\tlocalStorage.removeItem('savedFiltersApproved');\r\n\r\n\t\treturn;\r\n\t};\r\n\r\n\t// repairCredential\r\n\tconst confirmRepairCredential = async (sDocID) => {\r\n\t\tconst shouldRepair = await Swal.fire({\r\n\t\t\ttitle: 'คุณต้องการที่จะดำเนินการซ่อมแซมหนังสือรับรองนี้หรือไม่?',\r\n\t\t\ticon: 'warning',\r\n\t\t\tshowCancelButton: true,\r\n\t\t\tconfirmButtonText: 'ใช่',\r\n\t\t\tcancelButtonText: 'ไม่',\r\n\t\t});\r\n\r\n\t\tif (shouldRepair.isConfirmed) {\r\n\t\t\tonRepairCredential(sDocID);\r\n\t\t}\r\n\t};\r\n\r\n\t// Call confirmRepairCredential when you want to initiate the repair\r\n\r\n\tconst onRepairCredential = async sDocID => {\r\n\t\tconst res = await sdocAdmin.repairCredential(sDocID)\r\n\t\tif (res && res.status === 200 && res.data.status == \"success\") {\r\n\t\t\tgetSDOCWaitStatusList()\r\n\t\t\tSwal.fire({\r\n\t\t\t\ttitle: 'ซ่อมแซมหนังสือรับรองสำเร็จ',\r\n\t\t\t\ttext: 'ซ่อมแซมหนังสือรับรองสำเร็จ',\r\n\t\t\t\ticon: 'success',\r\n\t\t\t\tconfirmButtonText: 'ปิด'\r\n\t\t\t})\r\n\t\t} else if (res && res.status === 200 && res.data.status == \"fail\") {\r\n\t\t\tSwal.fire({\r\n\t\t\t\ttitle: 'ซ่อมแซมหนังสือรับรองไม่สำเร็จ',\r\n\t\t\t\ttext: res.data.message,\r\n\t\t\t\ticon: 'error',\r\n\t\t\t\tconfirmButtonText: 'ปิด'\r\n\t\t\t})\r\n\t\t}\r\n\t}\r\n\r\n\tuseEffect(() => {\r\n\t\tif (isRehydrated) {\r\n\t\t\tgetSDOCWaitStatusList()\r\n\t\t}\r\n\t\t// eslint-disable-next-line\r\n\t}, [isRehydrated])\r\n\tconst handleDownloadClick = async () => {\r\n\t\ttry {\r\n\t\t\thandleCloseDialogRangeDate();\r\n\t\t\t// Display a loading popup\r\n\t\t\tconst loadingPopup = Swal.fire({\r\n\t\t\t\ttitle: 'กำลังดาวน์โหลดไฟล์',\r\n\t\t\t\ttext: 'โปรดรอสักครู่...',\r\n\t\t\t\ticon: 'info',\r\n\t\t\t\tshowCancelButton: false,\r\n\t\t\t\tshowConfirmButton: false,\r\n\t\t\t\tallowOutsideClick: false,\r\n\t\t\t\tallowEscapeKey: false,\r\n\t\t\t\tallowEnterKey: false,\r\n\t\t\t\tonBeforeOpen: () => {\r\n\t\t\t\t\tSwal.showLoading();\r\n\t\t\t\t},\r\n\t\t\t});\r\n\t\t\tconst encodedParams = new URLSearchParams({\r\n\t\t\t\tstartdate: formatDate(startDate),\r\n\t\t\t\tenddate: formatDate(endDate),\r\n\t\t\t}).toString();\r\n\t\t\tconst response = await fetch(\r\n\t\t\t\t`${process.env.REACT_APP_PUBLIC_API_URL}/api/SDoc/SDoCSummaryExcel`,\r\n\t\t\t\t{\r\n\t\t\t\t\tmethod: 'POST',\r\n\t\t\t\t\theaders: {\r\n\t\t\t\t\t\t'Authorization': `Basic bmJ0YyNkYXRhY2VudGVyOmRhdGFjZW50ZXJzZG9jQDY1`,\r\n\t\t\t\t\t\t'Content-Type': 'application/x-www-form-urlencoded',\r\n\t\t\t\t\t},\r\n\t\t\t\t\tbody: encodedParams,\r\n\t\t\t\t}\r\n\t\t\t);\r\n\r\n\t\t\tif (response.ok) {\r\n\t\t\t\tconst blob = await response.blob();\r\n\r\n\t\t\t\t// Close the loading popup\r\n\t\t\t\tloadingPopup.close();\r\n\r\n\t\t\t\t// Create a download link\r\n\t\t\t\tconst downloadLink = document.createElement('a');\r\n\t\t\t\tdownloadLink.href = URL.createObjectURL(blob);\r\n\t\t\t\tdownloadLink.download = 'SDoCSummary.xlsx';\r\n\r\n\t\t\t\t// Trigger a click event on the download link\r\n\t\t\t\tdownloadLink.click();\r\n\r\n\t\t\t\t// Cleanup: Remove the download link\r\n\t\t\t\tURL.revokeObjectURL(downloadLink.href);\r\n\t\t\t\tdownloadLink.remove();\r\n\t\t\t} else {\r\n\t\t\t\t// Close the loading popup\r\n\t\t\t\tloadingPopup.close();\r\n\r\n\t\t\t\t// Handle error response\r\n\t\t\t\tconsole.error('Download failed:', response.statusText);\r\n\t\t\t}\r\n\t\t} catch (error) {\r\n\t\t\tconsole.error('Download failed:', error);\r\n\t\t}\r\n\t};\r\n\tconst handleDownloadSummaryFullClick = async () => {\r\n\t\ttry {\r\n\t\t\t// Display a loading popup\r\n\t\t\thandleCloseDialogRangeDate();\r\n\r\n\t\t\tconst loadingPopup = Swal.fire({\r\n\t\t\t\ttitle: 'กำลังดาวน์โหลดไฟล์',\r\n\t\t\t\ttext: 'โปรดรอสักครู่...',\r\n\t\t\t\ticon: 'info',\r\n\t\t\t\tshowCancelButton: false,\r\n\t\t\t\tshowConfirmButton: false,\r\n\t\t\t\tallowOutsideClick: false,\r\n\t\t\t\tallowEscapeKey: false,\r\n\t\t\t\tallowEnterKey: false,\r\n\t\t\t\tonBeforeOpen: () => {\r\n\t\t\t\t\tSwal.showLoading();\r\n\t\t\t\t},\r\n\t\t\t});\r\n\t\t\tconst encodedParams = new URLSearchParams({\r\n\t\t\t\tstartdate: formatDate(startDate),\r\n\t\t\t\tenddate: formatDate(endDate),\r\n\t\t\t}).toString();\r\n\t\t\tconst response = await fetch(\r\n\t\t\t\t`${process.env.REACT_APP_PUBLIC_API_URL}/api/SDoc/SDoCSummaryFull`,\r\n\t\t\t\t{\r\n\t\t\t\t\tmethod: 'POST',\r\n\t\t\t\t\theaders: {\r\n\t\t\t\t\t\t'Authorization': `Basic bmJ0YyNkYXRhY2VudGVyOmRhdGFjZW50ZXJzZG9jQDY1`,\r\n\t\t\t\t\t\t'Content-Type': 'application/x-www-form-urlencoded',\r\n\t\t\t\t\t},\r\n\t\t\t\t\tbody: encodedParams,\r\n\t\t\t\t}\r\n\t\t\t);\r\n\r\n\t\t\tif (response.ok) {\r\n\t\t\t\tconst blob = await response.blob();\r\n\r\n\t\t\t\t// Close the loading popup\r\n\t\t\t\tloadingPopup.close();\r\n\r\n\t\t\t\t// Create a download link\r\n\t\t\t\tconst downloadLink = document.createElement('a');\r\n\t\t\t\tdownloadLink.href = URL.createObjectURL(blob);\r\n\t\t\t\tdownloadLink.download = 'SDoCAddress.xlsx';\r\n\r\n\t\t\t\t// Trigger a click event on the download link\r\n\t\t\t\tdownloadLink.click();\r\n\r\n\t\t\t\t// Cleanup: Remove the download link\r\n\t\t\t\tURL.revokeObjectURL(downloadLink.href);\r\n\t\t\t\tdownloadLink.remove();\r\n\t\t\t} else {\r\n\t\t\t\t// Close the loading popup\r\n\t\t\t\tloadingPopup.close();\r\n\r\n\t\t\t\t// Handle error response\r\n\t\t\t\tconsole.error('Download failed:', response.statusText);\r\n\t\t\t}\r\n\t\t} catch (error) {\r\n\t\t\tconsole.error('Download failed:', error);\r\n\t\t}\r\n\t};\r\n\tfunction exceljsPreProcess({ workbook, worksheet }) {\r\n\t\tworkbook.created = new Date(); // Add metadata\r\n\t\tworksheet.name = 'Monthly Results'; // Modify worksheet name\r\n\r\n\t\t// Write on first line the date of creation\r\n\t\tworksheet.getCell('A1').value = `Values from the`;\r\n\t\tworksheet.getCell('A2').value = new Date();\r\n\t}\r\n\r\n\tfunction exceljsPostProcess({ worksheet }) {\r\n\t\t// Add a text after the data\r\n\t\tworksheet.addRow(); // Add empty row\r\n\r\n\t\tconst newRow = worksheet.addRow();\r\n\t\tnewRow.getCell(1).value = 'Those data are for internal use only';\r\n\t}\r\n\r\n\tfunction CustomToolbar() {\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t\r\n\r\n\t\t\t\t handleOpenDialogRangeDate('SDoCSummaryExcel')}>\r\n\t\t\t\t\t\r\n\t\t\t\t\tแบบรับรองตนเองทีได้รับการอนุมัติ\r\n\t\t\t\t\r\n\t\t\t\t handleOpenDialogRangeDate('SDoCSummaryFull')}>\r\n\t\t\t\t\t\r\n\t\t\t\t\tข้อมูลผู้ยื่นแบบรับรองตนเองที่ได้รับการอนุมัติ\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t);\r\n\t}\r\n\r\n\tconst formatDate = (date) => {\r\n\t\tif (!(date instanceof Date) || isNaN(date)) {\r\n\t\t\treturn ''; // or handle invalid dates appropriately\r\n\t\t}\r\n\t\tconst year = date.getFullYear();\r\n\t\tconst month = String(date.getMonth() + 1).padStart(2, '0');\r\n\t\tconst day = String(date.getDate()).padStart(2, '0');\r\n\t\treturn `${year}-${month}-${day}`;\r\n\t};\r\n\r\n\r\n\tconst [DialogRangeDateType , setDialogRangeDateType] = useState('SDoCSummaryExcel'); // SDoCSummaryExcel or SDoCSummaryFull\r\n\tconst [openDialogRangeDate, setOpenDialogRangeDate] = useState(false);\r\n\tconst handleCloseDialogRangeDate = () => {\r\n\t\tsetOpenDialogRangeDate(false);\r\n\t};\r\n\tconst handleOpenDialogRangeDate = (sdoctype) => {\r\n\t\tsetDialogRangeDateType(sdoctype);\r\n\t\tsetOpenDialogRangeDate(true);\r\n\t};\r\n\t// initail value for startDate first day of month\r\n\tconst [startDate, setStartDate] = useState(new Date(new Date().getFullYear(), new Date().getMonth(), 1));\r\n\t// initial value for endDate today\r\n\tconst [endDate, setEndDate] = useState(new Date());\r\n\tconst handleStartDateChange = (event) => {\r\n\t\tconst date = new Date(event.target.value);\r\n\t\tsetStartDate(date);\r\n\t};\r\n\r\n\tconst handleEndDateChange = (event) => {\r\n\t\tconst date = new Date(event.target.value);\r\n\t\tsetEndDate(date);\r\n\t};\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tแบบรับรองตนเองทีได้รับการอนุมัติแล้ว\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\t\t\tforceSDOCWaitStatusList();\r\n\t\t\t\t\t\t\t\t\t\t\t}}>\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tค้นหาขั้นสูง\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{/* \r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tแบบรับรองตนเองทีได้รับการอนุมัติ\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t */}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\thandleSortChange(model)\r\n\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\tlocaleText={{\r\n\t\t\t\t\t\t\t\t\t\ttoolbarExport: 'ดาวน์โหลดข้อมูลจากตาราง',\r\n\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\tcomponents={{\r\n\t\t\t\t\t\t\t\t\t\tNoRowsOverlay: () => {\r\n\t\t\t\t\t\t\t\t\t\t\tif (!isDataLoading) {\r\n\t\t\t\t\t\t\t\t\t\t\t\treturn ไม่พบข้อมูล;\r\n\t\t\t\t\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\t\t\t\t\treturn กำลังประมวลผลข้อมูล โปรดรอสักครู่..;\r\n\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\t\t\tToolbar: CustomToolbar,\r\n\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tค้นหาขั้นสูง\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tเลขที่ใบรับรอง:\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t query.id === 'sDocNo')?.value || ''}\r\n\t\t\t\t\t\t\t\t\t\tplaceholder=\"(ไม่ต้องใส่ SD นำหน้า)\"\r\n\t\t\t\t\t\t\t\t\t\tid=\"sDocNo\"\r\n\t\t\t\t\t\t\t\t\t\tonChange={handleSearchChange}\r\n\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tเลขที่คำขอ:\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t query.id === 'runningNumber')?.value || ''}\r\n\t\t\t\t\t\t\t\t\t\tplaceholder=\"(ไม่ต้องใส่ SR นำหน้า)\"\r\n\t\t\t\t\t\t\t\t\t\tid=\"runningNumber\"\r\n\t\t\t\t\t\t\t\t\t\tonChange={handleSearchChange}\r\n\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tตราอักษร:\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t query.id === 'brandName')?.value || ''}\r\n\t\t\t\t\t\t\t\t\t\tid=\"brandName\"\r\n\t\t\t\t\t\t\t\t\t\tonChange={handleSearchChange}\r\n\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tรุ่นของผลิตภัณฑ์:\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t query.id === 'productModel')?.value || ''}\r\n\t\t\t\t\t\t\t\t\t\tid=\"productModel\"\r\n\t\t\t\t\t\t\t\t\t\tonChange={handleSearchChange}\r\n\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tผู้ยื่นเอกสาร:\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t query.id === 'operator')?.value || ''}\r\n\t\t\t\t\t\t\t\t\t\tid=\"operator\"\r\n\t\t\t\t\t\t\t\t\t\tonChange={handleSearchChange}\r\n\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tยื่นในนาม:\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t query.id === 'operatorInfo')?.value || ''}\r\n\t\t\t\t\t\t\t\t\t\tid=\"operatorInfo\"\r\n\t\t\t\t\t\t\t\t\t\tonChange={handleSearchChange}\r\n\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tผู้ได้รับมอบหมายงาน:\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t query.id === 'approver')?.value || ''}\r\n\t\t\t\t\t\t\t\t\t\tid=\"approver\"\r\n\t\t\t\t\t\t\t\t\t\tonChange={handleSearchChange}\r\n\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tวันที่ได้รับอนุมัติ:\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tบันทึกข้อมูลการค้นหา:\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tล้างผลการค้นหา\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tค้นหา\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tดาวน์โหลดข้อมูล{DialogRangeDateType == \"SDoCSummaryExcel\" ? \"แบบรับรองตนเองทีได้รับการอนุมัติ\" : \"ผู้ยื่นแบบรับรองตนเองที่ได้รับการอนุมัติ\"}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\tเลือกวันที่เริ่มต้นและสิ้นสุด\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
วันที่เริ่มต้น:\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
วันที่สิ้นสุด:\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t\r\n\t)\r\n}\r\n","import { useState, useEffect } from 'react'\r\nimport { Grid } from '@material-ui/core'\r\n\r\nimport OrganizationDetailCardV3 from '@components/sdoc/organization-detail-cardV3'\r\nimport BrandNameCard from '@components/sdoc/brand-name-card'\r\nimport EquipmentCard from '@components/sdoc/equipment-card'\r\nimport DocumentAdditionCard from '@components/sdoc/document-addition-card'\r\nimport SDoCDetailCard from '@components/sdoc/sdoc-detail-card'\r\nimport SureModal from '@components/SureModal'\r\nimport SuccessModal from '@components/modal/SuccessModal'\r\n\r\nimport { useHistory, useLocation, useParams } from 'react-router-dom'\r\nimport { sdoc, operators } from '@api'\r\nimport { useQuery } from 'utils/useQuery'\r\n\r\nimport { frequency, powerUnit, type_equipment } from 'data/sdoc'\r\nimport Swal from 'sweetalert2/dist/sweetalert2.js'\r\nimport 'sweetalert2/dist/sweetalert2.min.css'\r\n\r\nconst initEquipmentState = {\r\n\tProductTypeText: '',\r\n\tFrequencyText: '',\r\n\tPowerText: '',\r\n\tPolicyText: '',\r\n\tSelectedPowerUnit: '',\r\n\tPolicyText_2: '',\r\n\tPolicyText_3: '',\r\n\tFlag: '',\r\n}\r\nconst CONFIRMATION_INFO_STORAGE_INITIAL_STATE = {\r\n\tnormal_person: {\r\n\t\ttype: 'normal-person',\r\n\t\tname: '',\r\n\t\tcardNo: '',\r\n\t\taddress: '',\r\n\t},\r\n\torganization: {\r\n\t\ttype: 'organization',\r\n\t\tname: '',\r\n\t\tcardNo: '',\r\n\t\taddress: '',\r\n\t},\r\n}\r\n// Page Description: ยื่นแบบหนังสือรับรองตนเอง\r\nexport default function SDOC() {\r\n\tconst history = useHistory()\r\n\tconst location = useLocation()\r\n\tconst query = useQuery()\r\n\r\n\r\n\tconst { id: sDOCID } = useParams()\r\n\tconst mountType = query.get('mountType')\r\n\t// SDOC Id\r\n\t// eslint-disable-next-line\r\n\tconst [sDOCId, setSDOCId] = useState(null)\r\n\t// Running NO / SDoC NO\r\n\tconst [runningNo, setRunningNo] = useState('')\r\n\tconst [sDoCNo, setSDoCNo] = useState('')\r\n\r\n\tconst [currentSenderState, setCurrentSenderState] = useState('normal_person')\r\n\t// Confirmation Info. Status\r\n\t// eslint-disable-next-line\r\n\tconst [confirmationInfoHasFetched, setConfirmationInfoHasFetched] = useState({\r\n\t\tnormal_person: false,\r\n\t\torganization: false,\r\n\t})\r\n\t// eslint-disable-next-line\r\n\tconst [confirmationInfoStorage, setConfirmationInfoStorage] = useState(CONFIRMATION_INFO_STORAGE_INITIAL_STATE)\r\n\t// Confirmation Info.\r\n\tconst [confirmationInfo, setConfirmationInfo] = useState({\r\n\t\ttype: 'normal-person',\r\n\t\tname: '',\r\n\t\tcardNo: '',\r\n\t\taddress: '',\r\n\t})\r\n\r\n\tconst [equipmentMasterData, setEquipmentMasterData] = useState({\r\n\t\tproductType: [],\r\n\t\ttypeEquipment: [],\r\n\t\tfrequency: [],\r\n\t\tpowerUnit: [],\r\n\t})\r\n\tconst [inputModel, setInputModel] = useState({\r\n\t\tbrandName: '',\r\n\t\tproductModel: '',\r\n\t})\r\n\t// Input Equipment State\r\n\tconst [inputEquipmentState, setInputEquipmentState] = useState([\r\n\t\tinitEquipmentState,\r\n\t])\r\n\t// Additional Files\r\n\tconst [tempFile, setTempFile] = useState({\r\n\t\tfile: null,\r\n\t\tname: '',\r\n\t\t// filedate: '',\r\n\t})\r\n\tconst [additionalFiles, setAdditionalFiles] = useState([])\r\n\t// Modal States\r\n\tconst [submitEquipmentSureModal, setSubmitEquipmentSureModal] =\r\n\t\tuseState(false)\r\n\tconst [openSubmitEquipmentSuccessModal, setOpenSubmitEquipmentSuccessModal] =\r\n\t\tuseState(false)\r\n\tconst [submitTextModal, setSubmitTextModal] = useState({\r\n\t\ttitle: '',\r\n\t\tcontent: '',\r\n\t\thandleButton: null,\r\n\t})\r\n\t// Validation States\r\n\t// eslint-disable-next-line\r\n\tconst [canSubmit, setCanSubmit] = useState(false)\r\n\tconst [isEquipmentCardValid, setIsEquipmentCardValid] = useState(false)\r\n\tconst [attachFileLength, setAttachFileLength] = useState(0)\r\n\r\n\t/** <---------------------------------------------------------------------> */\r\n\r\n\tconst onOpenSubmitEquipmentSureModal = () => {\r\n\t\tif (mountType === 'attachFile')\r\n\t\t\tsetSubmitTextModal({\r\n\t\t\t\ttitle: 'แนบเอกสารเพิ่มเติม',\r\n\t\t\t\tcontent:\r\n\t\t\t\t\t'คุณแน่ใจที่จะแนบเอกสารเพิิ่มเติมสำหรับยื่นแบบหนังสือรับรองตนเองหรือไม่?​',\r\n\t\t\t\thandleButton: () => onSubmitAddtionalFiles(sDOCID),\r\n\t\t\t})\r\n\t\telse\r\n\t\t\tsetSubmitTextModal({\r\n\t\t\t\ttitle: 'ยื่นแบบหนังสือรับรองตนเอง',\r\n\t\t\t\t// content: 'คุณแน่ใจที่จะยื่นแบบหนังสือรับรองตนเอง​หรือไม่?',\r\n\t\t\t\tcontent: 'คุณกำลังยื่นแบบหนังสือรับรองตนเอง​ในนามของ \\\"' + (confirmationInfoStorage[currentSenderState].type == \"organization\" ? \"นิติบุคคล\" : \"บุคคลธรรมดา\") + '\\\" คุณต้องการดำเนินการต่อหรือไม่?',\r\n\t\t\t\thandleButton: onSubmitEquipment,\r\n\t\t\t})\r\n\t\tsetSubmitEquipmentSureModal(!submitEquipmentSureModal)\r\n\t}\r\n\r\n\tconst onOpenSubmitEquipmentSuccessModal = () =>\r\n\t\tsetOpenSubmitEquipmentSuccessModal(!openSubmitEquipmentSuccessModal)\r\n\r\n\tconst disabledRuleSubmitButton = () => {\r\n\t\tif (mountType === 'attachFile' && additionalFiles.length > attachFileLength)\r\n\t\t\tsetCanSubmit(false)\r\n\t\telse if (isEquipmentCardValid && !mountType) setCanSubmit(false)\r\n\r\n\t\tsetCanSubmit(true)\r\n\t}\r\n\r\n\t// case: mountType is 'readOnly'\r\n\tconst getListAndPrefield = async () => {\r\n\t\tconst res = await sdoc.getListDetail(sDOCID)\r\n\t\tconsole.log(res.data)\r\n\t\tif (res && res.status === 200) {\r\n\t\t\tconst findedList = res.data\r\n\r\n\t\t\tif (findedList.senderType === 'organization') {\r\n\t\t\t\tconst res2 = await operators.getOperatorInfo({ taxno: findedList.operatorTaxNo, branchno: findedList.operatorBranchNo });\r\n\t\t\t\tif (res2 && res2.status === 200 && res2?.data.status !== 'error') {\r\n\t\t\t\t\tvar data = res2.data\r\n\t\t\t\t}\r\n\t\t\t\tsetCurrentSenderState('organization')\r\n\t\t\t\tsetConfirmationInfoStorage(prevState => {\r\n\t\t\t\t\treturn {\r\n\t\t\t\t\t\t...prevState,\r\n\t\t\t\t\t\torganization: {\r\n\t\t\t\t\t\t\ttype: 'organization',\r\n\t\t\t\t\t\t\tname: data.operators.operatorName ?? '',\r\n\t\t\t\t\t\t\tcardNo: data.operators.taxNo ?? '',\r\n\t\t\t\t\t\t\tprefix: data.operators.prefix ?? '',\r\n\t\t\t\t\t\t\tbranchNo: data.operatorInfo.branchNo,\r\n\t\t\t\t\t\t\taddress: data.operatorInfo.addr ?? '',\r\n\t\t\t\t\t\t\temail: data.operatorInfo.email ?? '',\r\n\t\t\t\t\t\t\tmobile: data.operatorInfo.mobile ?? '',\r\n\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t} else if (findedList.senderType === 'normal-person') {\r\n\t\t\t\tconst res3 = await operators.getOperatorUserInfo({ cardNo: findedList.operatorTaxNo })\r\n\t\t\t\tif (res3 && res3.status === 200 && res3?.data.status !== 'error') {\r\n\t\t\t\t\tvar data2 = res3.data\r\n\t\t\t\t}\r\n\t\t\t\tsetCurrentSenderState('normal_person')\r\n\t\t\t\tsetConfirmationInfoStorage(prevState => {\r\n\t\t\t\t\treturn {\r\n\t\t\t\t\t\t...prevState,\r\n\t\t\t\t\t\tnormal_person: {\r\n\t\t\t\t\t\t\ttype: 'normal-person',\r\n\t\t\t\t\t\t\t// name: findedList.operatorTitle ?? '',\r\n\t\t\t\t\t\t\tname: (data2?.operatorUser?.prefix ?? '') + data2?.operatorUser?.firstname + ' ' + data2?.operatorUser?.lastname,\r\n\t\t\t\t\t\t\tcardNo: findedList.operatorTaxNo ?? '',\r\n\t\t\t\t\t\t\tbranchNo: findedList.operatorBranchNo ?? '00000',\r\n\t\t\t\t\t\t\taddress: data2?.operatorUser?.address ?? '',\r\n\t\t\t\t\t\t\temail: data2?.operatorUser?.email ?? '',\r\n\t\t\t\t\t\t\tmobile: data2?.operatorUser?.mobile ?? '',\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t}\r\n\r\n\t\t\tif (findedList) {\r\n\t\t\t\tconst productModel = findedList.productModel\r\n\t\t\t\tconst productDescription = findedList.productDescription\r\n\t\t\t\tconst brandName = findedList.brandName\r\n\t\t\t\tconst sDocItems = findedList.sDocItems\r\n\t\t\t\tconst sDocAttachs = findedList.sDocAttachs\r\n\t\t\t\tconst sDocStatusID = findedList.sDocStatusID\r\n\r\n\t\t\t\tsetInputModel({\r\n\t\t\t\t\tbrandName: brandName ?? '',\r\n\t\t\t\t\tproductModel: productModel ?? '',\r\n\t\t\t\t\tproductDescription: productDescription ?? '',\r\n\t\t\t\t})\r\n\r\n\t\t\t\tconst newList = sDocItems.map(sdocItem => {\r\n\t\t\t\t\tconst regexpSize = /^(\\S+)\\s(.+)/\r\n\t\t\t\t\tconst match = sdocItem.powerText.match(regexpSize)\r\n\r\n\t\t\t\t\tconst obj = {\r\n\t\t\t\t\t\tProductTypeText: sdocItem.productTypeText,\r\n\t\t\t\t\t\tFrequencyText: sdocItem.frequencyText,\r\n\t\t\t\t\t\tPolicyText: sdocItem.policyText,\r\n\t\t\t\t\t\tPowerText: match ? match[1] : '',\r\n\t\t\t\t\t\tSelectedPowerUnit: match ? match[2] : '',\r\n\t\t\t\t\t\tisError: false,\r\n\t\t\t\t\t\tPolicyText_2: sdocItem.policyText_2,\r\n\t\t\t\t\t\tPolicyText_3: sdocItem.policyText_3,\r\n\t\t\t\t\t\tFlag: sdocItem.flag,\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\treturn obj\r\n\t\t\t\t})\r\n\r\n\t\t\t\tsetInputEquipmentState(newList)\r\n\r\n\t\t\t\tsetAttachFileLength(sDocAttachs.length)\r\n\t\t\t\tsetAdditionalFiles(() => {\r\n\t\t\t\t\tconst newList = sDocAttachs.map(sdocAttach => {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\tfileID: sdocAttach.id,\r\n\t\t\t\t\t\t\tfile: sdocAttach.fileName,\r\n\t\t\t\t\t\t\tname: sdocAttach.title,\r\n\t\t\t\t\t\t\tisfilelocked: sdocAttach.isFileLocked ?? false,\r\n\t\t\t\t\t\t\t// filedate: sdocAttach.fileDate,\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t})\r\n\t\t\t\t\treturn newList\r\n\t\t\t\t})\r\n\t\t\t\tsetRunningNo(findedList.runningNo)\r\n\t\t\t\tsetSDoCNo(findedList.sDocNo?.length == 0 ? 'ยังไม่มีเลขที่ SDoC NO.' : findedList.sDocNo)\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\t/** <---------------------------------------------------------------------> */\r\n\r\n\t// Organization Detail Function\r\n\r\n\tconst onChangeConfirmationInfo = e => {\r\n\t\tconst { name, value } = e.target\r\n\t\tsetConfirmationInfo({ ...confirmationInfo, [name]: value })\r\n\t}\r\n\r\n\t/** <---------------------------------------------------------------------> */\r\n\r\n\t// Equipment Card\r\n\r\n\tconst onChangeInputModel = e => {\r\n\t\tconst { name, value } = e.target\r\n\t\tsetInputModel({ ...inputModel, [name]: value })\r\n\t}\r\n\r\n\tconst onChangeInputEquipmentState = (e, key) => {\r\n\t\tconst { name, value } = e.target\r\n\r\n\t\tsetInputEquipmentState(prevState => {\r\n\t\t\tconst newState = [...prevState]\r\n\t\t\tnewState[key] = { ...prevState[key], [name]: value }\r\n\t\t\treturn newState\r\n\t\t})\r\n\t}\r\n\r\n\tconst onFetchMasterdata = async () => {\r\n\t\tsetEquipmentMasterData({\r\n\t\t\tproductType: [],\r\n\t\t\ttypeEquipment: type_equipment,\r\n\t\t\tfrequency: frequency,\r\n\t\t\tpowerUnit: powerUnit,\r\n\t\t})\r\n\t\t// const res = await something\r\n\t}\r\n\t// eslint-disable-next-line\r\n\tconst addMoreItem = () => {\r\n\t\tsetInputEquipmentState(prevState => [...prevState, initEquipmentState])\r\n\t}\r\n\r\n\tconst onDeleteItem = index => {\r\n\t\tsetInputEquipmentState(prevState => {\r\n\t\t\tconst newList = prevState.filter((item, prevIndex) => prevIndex !== index)\r\n\t\t\treturn newList\r\n\t\t})\r\n\t}\r\n\r\n\tconst onSubmitEquipment = async () => {\r\n\t\tconst items = inputEquipmentState.map(item => {\r\n\t\t\treturn {\r\n\t\t\t\tPolicyText: item.PolicyText,\r\n\t\t\t\tFrequencyText: item.FrequencyText,\r\n\t\t\t\tPowerText: item.PowerText + ' ' + item.SelectedPowerUnit,\r\n\t\t\t\tpolicyText_2: item.PolicyText_2,\r\n\t\t\t\tPolicyText_3: item.PolicyText_3,\r\n\t\t\t\tFlag: item.Flag,\r\n\t\t\t}\r\n\t\t})\r\n\r\n\t\tconst res = await sdoc.addList(\r\n\t\t\tinputModel.brandName,\r\n\t\t\tinputModel.productModel,\r\n\t\t\tnull,\r\n\t\t\titems\r\n\t\t)\r\n\t\tif (res && res.status === 200) {\r\n\t\t\tsetSDOCId(res.data.id)\r\n\t\t\tif (additionalFiles.length !== 0) {\r\n\t\t\t\tonSubmitAddtionalFiles(res.data.id)\r\n\t\t\t} else onOpenSubmitEquipmentSuccessModal()\r\n\t\t}\r\n\t}\r\n\r\n\t/** <---------------------------------------------------------------------> */\r\n\r\n\t// Document Additional Card\r\n\r\n\tconst onAddTemp = (e, type) => {\r\n\t\tconst { files, value } = e.target\r\n\t\tif (type === 'file' && files.length !== 0)\r\n\t\t\tsetTempFile({ ...tempFile, file: files[0] })\r\n\t\tif (type === 'name') setTempFile({ ...tempFile, name: value })\r\n\t\t// if (type === 'filedate') setTempFile({ ...tempFile, filedate: value })\r\n\t}\r\n\r\n\tconst onAddDocument = () => {\r\n\t\tif (tempFile.file.type !== 'application/pdf') {\r\n\t\t\tSwal.fire({\r\n\t\t\t\ticon: 'error',\r\n\t\t\t\ttitle: 'ชนิดไฟล์ไม่ถูกต้อง',\r\n\t\t\t\ttext: 'ชนิดไฟล์ต้องเป็น PDF เท่านั้น',\r\n\t\t\t})\r\n\t\t\treturn\r\n\t\t}\r\n\t\t// if (tempFile.file && tempFile.name !== '' && tempFile.filedate !== '') {\r\n\t\tif (tempFile.file && tempFile.name !== '') {\r\n\t\t\tsetAdditionalFiles(prevState => [\r\n\t\t\t\t...prevState,\r\n\t\t\t\t// { file: tempFile.file, name: tempFile.name, filedate: tempFile.filedate },\r\n\t\t\t\t{ file: tempFile.file, name: tempFile.name },\r\n\t\t\t])\r\n\t\t\t// setTempFile({ file: null, name: '', filedate: '' })\r\n\t\t\tsetTempFile({ file: null, name: '' })\r\n\t\t}\r\n\t}\r\n\r\n\tconst onChangeAttachedFileName = (e, index) => {\r\n\t\tconst { value } = e.target\r\n\t\tsetAdditionalFiles(prevState => {\r\n\t\t\tconst newList = prevState.map((item, itemIndex) => {\r\n\t\t\t\tif (itemIndex === index)\r\n\t\t\t\t\treturn {\r\n\t\t\t\t\t\tfile: item?.file,\r\n\t\t\t\t\t\tname: value,\r\n\t\t\t\t\t\t// filedate: item?.filedate,\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\treturn item\r\n\t\t\t})\r\n\t\t\treturn newList\r\n\t\t})\r\n\t}\r\n\r\n\tconst onDeleteDocument = index => {\r\n\t\tsetAdditionalFiles(prevState => {\r\n\t\t\tconst temp_list = prevState.filter((_, listInd) => {\r\n\t\t\t\treturn listInd !== index\r\n\t\t\t})\r\n\t\t\treturn temp_list\r\n\t\t})\r\n\t}\r\n\r\n\tconst onSubmitAddtionalFiles = async id => {\r\n\t\tconst currentAdditionalFileLength = additionalFiles.length\r\n\t\tlet sendedFiles = []\r\n\r\n\t\tif (mountType && mountType === 'attachFile') {\r\n\t\t\tconst amountOfNewFiles = currentAdditionalFileLength - attachFileLength\r\n\r\n\t\t\tadditionalFiles.forEach((file, index) => {\r\n\t\t\t\tif (index > currentAdditionalFileLength - amountOfNewFiles - 1)\r\n\t\t\t\t\tsendedFiles.push(file)\r\n\t\t\t})\r\n\t\t} else sendedFiles = additionalFiles\r\n\r\n\t\tconst res = await sdoc.attachAdditionalFiles(id, sendedFiles)\r\n\t\tif (res && res.status === 200) {\r\n\t\t\tonOpenSubmitEquipmentSuccessModal()\r\n\t\t}\r\n\t}\r\n\r\n\tconst onDownloadDocument = async () => {\r\n\t\tconst res = await sdoc.downloadAdditionalFile(21, '11')\r\n\t\tif (res && res.status === 200) {\r\n\t\t}\r\n\t}\r\n\r\n\t/** <---------------------------------------------------------------------> */\r\n\r\n\t// Trigger when change the confirmation type\r\n\t// useEffect(() => {\r\n\t// \tif (confirmationInfo.type === 'normal-person') {\r\n\t// \t\tif (confirmationInfoHasFetched.normal_person) {\r\n\t// \t\t\tsetConfirmationInfo(prevState => {\r\n\t// \t\t\t\treturn {\r\n\t// \t\t\t\t\t...prevState,\r\n\t// \t\t\t\t\ttype: confirmationInfoStorage.normal_person.type,\r\n\t// \t\t\t\t\tname: confirmationInfoStorage.normal_person.name,\r\n\t// \t\t\t\t\tcardNo: confirmationInfoStorage.normal_person.nationalIDCardNo,\r\n\t// \t\t\t\t\taddress: confirmationInfoStorage.normal_person.address,\r\n\t// \t\t\t\t}\r\n\t// \t\t\t})\r\n\t// \t\t} else getUserProfile()\r\n\t// \t} else if (confirmationInfo.type === 'organization') {\r\n\t// \t\tif (confirmationInfoHasFetched.organization) {\r\n\t// \t\t\tsetConfirmationInfo(prevState => {\r\n\t// \t\t\t\treturn {\r\n\t// \t\t\t\t\t...prevState,\r\n\t// \t\t\t\t\ttype: confirmationInfoStorage.organization.type,\r\n\t// \t\t\t\t\tname: confirmationInfoStorage.organization.name,\r\n\t// \t\t\t\t\tcardNo: confirmationInfoStorage.organization.nationalIDCardNo,\r\n\t// \t\t\t\t\taddress: confirmationInfoStorage.organization.address,\r\n\t// \t\t\t\t}\r\n\t// \t\t\t})\r\n\t// \t\t} else getOperatorProfile()\r\n\t// \t}\r\n\t// \t// eslint-disable-next-line\r\n\t// }, [confirmationInfo.type])\r\n\r\n\t// Equipment Validation\r\n\tuseEffect(() => {\r\n\t\tconst isValid = inputEquipmentState.every(\r\n\t\t\titem =>\r\n\t\t\t\titem.FrequencyText !== '' &&\r\n\t\t\t\t// (item.PolicyText !== '' || item.PolicyText_2 !== '' || item.PolicyText_3 !== '') &&\r\n\t\t\t\titem.PowerText !== '' &&\r\n\t\t\t\titem.SelectedPowerUnit !== ''\r\n\t\t)\r\n\t\tsetIsEquipmentCardValid(isValid)\r\n\t}, [inputEquipmentState])\r\n\r\n\t// Submit Button Validation\r\n\tuseEffect(\r\n\t\t() => disabledRuleSubmitButton(),\r\n\t\t// eslint-disable-next-line\r\n\t\t[inputEquipmentState, additionalFiles]\r\n\t)\r\n\r\n\t// Initial Fetch\r\n\tuseEffect(() => {\r\n\t\tonFetchMasterdata()\r\n\r\n\t\t// eslint-disable-next-line\r\n\t}, [])\r\n\r\n\t// Initial Fetch from /manage\r\n\tuseEffect(() => {\r\n\t\tif (sDOCID && mountType) {\r\n\t\t\tsetSDOCId(sDOCID)\r\n\t\t\tgetListAndPrefield()\r\n\t\t}\r\n\t\t// eslint-disable-next-line\r\n\t}, [sDOCID, mountType])\r\n\r\n\t// On Unmounting\r\n\tuseEffect(() => {\r\n\t\treturn () => (location.state = null)\r\n\t\t// eslint-disable-next-line\r\n\t}, [])\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\r\n\t\t\t\t{inputEquipmentState.map((item, index) => {\r\n\t\t\t\t\treturn (\r\n\t\t\t\t\t\t onDeleteItem(index)}\r\n\t\t\t\t\t\t\tindex={index}\r\n\t\t\t\t\t\t\tkey={'EquipmentCard' + index}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t)\r\n\t\t\t\t})}\r\n\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t history.go(0)}\r\n\t\t\t/>\r\n\t\t\r\n\t)\r\n}\r\n","import React, { useState, useEffect, useMemo, useCallback } from 'react'\r\n\r\nimport {\r\n\tGrid,\r\n\tCard,\r\n\tButton,\r\n\tTextField,\r\n\tDialog,\r\n\tDialogTitle,\r\n\tDialogContent,\r\n\tDialogContentText,\r\n\tDialogActions,\r\n\tSelect,\r\n\tMenuItem,\r\n\tIconButton,\r\n\tCheckbox,\r\n\tListItemText,\r\n\tSwitch,\r\n\tFormControlLabel,\r\n\tTooltip,\r\n\r\n} from '@material-ui/core'\r\nimport { DataGrid, GridOverlay, GridToolbarContainer, GridToolbarExport } from '@material-ui/data-grid'\r\nimport {\r\n\tListAlt,\r\n\tDescription,\r\n\tNoteAdd,\r\n\tCancel,\r\n\tPlaylistAddCheck,\r\n\tMenu,\r\n\tCheckCircle,\r\n\tSyncAlt,\r\n\tSearch,\r\n\tClose,\r\n\tArrowBack,\r\n\tRefresh,\r\n} from '@material-ui/icons'\r\nimport Swal from 'sweetalert2/dist/sweetalert2.js'\r\nimport 'sweetalert2/dist/sweetalert2.min.css'\r\nimport SelectAssignAdminModal from 'components/sdoc-admin/manage/select-assign-admin-modal/index'\r\nimport SignSignatureModal from 'components/sdoc-admin/manage/sign-signature-modal/index'\r\nimport SureModal from 'components/SureModal'\r\nimport { useStoreState } from '../../../../store/index'\r\nimport { useStoreRehydrated } from '@store'\r\n\r\nimport { useHistory } from 'react-router-dom'\r\nimport { makeStyles } from '@material-ui/core/styles'\r\nimport { format } from 'date-fns'\r\n\r\nimport { sdoc, sdocAdmin, admin, adminQoS } from 'api/index'\r\n\r\nconst useStyles = makeStyles(() => {\r\n\treturn {\r\n\t\tdetails_button: {\r\n\t\t\tbackgroundColor: '#466AE9',\r\n\t\t\tcolor: '#fff',\r\n\t\t\t'&:hover': {\r\n\t\t\t\tbackgroundColor: '#466AE9',\r\n\t\t\t},\r\n\t\t},\r\n\t\tcommon_button: {\r\n\t\t\tbackgroundColor: '#eee',\r\n\t\t\tcolor: '#000',\r\n\t\t\t'&:hover': {\r\n\t\t\t\tbackgroundColor: '#eee',\r\n\t\t\t},\r\n\t\t},\r\n\t\tapprove_button: {\r\n\t\t\tbackgroundColor: '#1DBF73',\r\n\t\t\tcolor: '#fff',\r\n\t\t\t'&:hover': {\r\n\t\t\t\tbackgroundColor: '#1DBF73',\r\n\t\t\t},\r\n\t\t},\r\n\t\twait_button: {\r\n\t\t\tbackgroundColor: '#F6B50B',\r\n\t\t\tcolor: '#fff',\r\n\t\t\t'&:hover': {\r\n\t\t\t\tbackgroundColor: '#F6B50B',\r\n\t\t\t},\r\n\t\t},\r\n\t\treject_button: {\r\n\t\t\tbackgroundColor: '#DB4D44',\r\n\t\t\tcolor: '#fff',\r\n\t\t\t'&:hover': {\r\n\t\t\t\tbackgroundColor: '#DB4D44',\r\n\t\t\t},\r\n\t\t},\r\n\t\tupdated_button: {\r\n\t\t\tbackgroundColor: '#466AE9',\r\n\t\t\tcolor: '#fff',\r\n\t\t\t'&:hover': {\r\n\t\t\t\tbackgroundColor: '#466AE9',\r\n\t\t\t},\r\n\t\t},\r\n\t\tcancel_button: {\r\n\t\t\tbackgroundColor: '#DB4D44',\r\n\t\t\tcolor: '#fff',\r\n\t\t\t'&:hover': {\r\n\t\t\t\tbackgroundColor: '#DB4D44',\r\n\t\t\t},\r\n\t\t},\r\n\t\tpreapprove_button: {\r\n\t\t\tbackgroundColor: '#46E9A4',\r\n\t\t\tcolor: '#fff',\r\n\t\t\t'&:hover': {\r\n\t\t\t\tbackgroundColor: '#46E9A4',\r\n\t\t\t},\r\n\t\t},\r\n\t\twaiting_assign_button: {\r\n\t\t\tbackgroundColor: '#FAFAD2',\r\n\t\t\tcolor: '#000',\r\n\t\t\t'&:hover': {\r\n\t\t\t\tbackgroundColor: '#FAFAD2',\r\n\t\t\t},\r\n\t\t},\r\n\r\n\t}\r\n})\r\n\r\n// Page Description: สถานะการยื่นแบบหนังสือรับรองตนเอง\r\nexport default function SDOCStatus() {\r\n\tconst isRehydrated = useStoreRehydrated()\r\n\tconst history = useHistory()\r\n\tconst classes = useStyles()\r\n\tconst myInfo = useStoreState(\r\n\t\ts => s.sdocAdminModel.adminMESDOC\r\n\t)\r\n\r\n\tconst [rowsWaitStatus, setRowsWaitStatus] = useState([])\r\n\tconst [isDataLoading, setIsDataLoading] = useState(false)\r\n\tconst [RowsData, setRowsData] = useState([])\r\n\tconst [myRole, setMyRole] = useState(null)\r\n\tconst [myID, setMyID] = useState(null)\r\n\tconst [checkerAdminList, setCheckerAdminList] = useState([])\r\n\tconst [signatureAdminList, setSignatureAdminList] = useState([])\r\n\tconst [sDocID, setSDocID] = useState(null)\r\n\tconst [checkerAdminID, setCheckerAdminID] = useState('')\r\n\tconst [selectedSignature, setSelectedSignature] = useState(null)\r\n\r\n\t// Sure Modal\r\n\tconst [openSubmitSDocSureModal, setOpenSubmitSDocSureModal] = useState(false)\r\n\tconst [submitType, setSubmitType] = useState('approve')\r\n\tconst [remark, setRemark] = useState('')\r\n\tconst [currentActionSDoc, setCurrentActionSDoc] = useState('')\r\n\tconst [sortModel, setSortModel] = useState([\r\n\t\t{\r\n\t\t\tfield: 'runningNumber',\r\n\t\t\tsort: 'desc',\r\n\t\t},\r\n\t]);\r\n\r\n\tconst [openModalAssignAdmin, setOpenModalAssignAdmin] = useState(false)\r\n\tconst [openModalAssignSignature, setOpenModalAssignSignature] =\r\n\t\tuseState(false)\r\n\r\n\tconst sureModalTitle = useMemo(\r\n\t\t() => {\r\n\t\t\tif (submitType === 'approve') {\r\n\t\t\t\treturn 'อนุมัติแบบหนังสือรับรองตนเอง';\r\n\t\t\t} else if (submitType === 'reject') {\r\n\t\t\t\treturn 'ไม่อนุมัติแบบหนังสือรับรองตนเอง';\r\n\t\t\t} else if (submitType === 'requestAdditionDoc') {\r\n\t\t\t\treturn 'ขอเอกสารเพิ่มเติม';\r\n\t\t\t} else if (submitType === 'requestModifyInfo') {\r\n\t\t\t\treturn 'ขอปรับปรุงข้อมูล';\r\n\t\t\t} else if (submitType === 'rejectchecker') {\r\n\t\t\t\treturn 'ไม่อนุมัติออกหนังสือรับรองตนเองและส่งกลับไปยังผู้ตรวจสอบ';\r\n\t\t\t}\r\n\t\t},\r\n\t\t[submitType]\r\n\t)\r\n\r\n\t// filter Dialog / Modal\r\n\tconst [isDialogOpen, setIsDialogOpen] = useState(false);\r\n\tconst [searchQuery, setSearchQuery] = useState([]);\r\n\tconst [selectedStatus, setSelectedStatus] = useState([]);\r\n\tconst [searchCreate, setSearchCreate] = useState('');\r\n\tconst [searchLastUpdated, setSearchLastUpdated] = useState('');\r\n\tconst [isSearching, setIsSearching] = useState(false);\r\n\tconst [isSaveSearch, setIsSaveSearch] = useState(true);\r\n\r\n\tconst statusOptions = [\r\n\t\t// { value: '0', label: 'ทั้งหมด' },\r\n\t\t{ value: '1', label: 'รอมอบหมาย' },\r\n\t\t{ value: '2', label: 'รอตรวจสอบ/เพิ่มเอกสารแล้ว/ปรับปรุงข้อมูลแล้ว' },\r\n\t\t{ value: '3', label: 'ขอเอกสารเพิ่ม/ขอปรับปรุงเอกสาร' },\r\n\t\t{ value: '4', label: 'รอออกใบรับรอง' },\r\n\t\t{ value: '5', label: 'อนุมัติ' },\r\n\t\t{ value: '6', label: 'ไม่อนุมัติ' },\r\n\t\t{ value: '8', label: 'รอชำระเงิน' },\r\n\t\t{ value: '82', label: 'เลยกำหนดชำระ' },\r\n\t\t{ value: '9', label: 'รอออกใบเสร็จรับเงิน' },\r\n\t\t{ value: '10', label: 'ยกเลิกคำขอ' },\r\n\t\t{ value: '11', label: 'เลยระยะเวลา' },\r\n\t];\r\n\tconst toggleDialog = () => {\r\n\t\tsetIsDialogOpen(!isDialogOpen);\r\n\t};\r\n\tconst handleSearchChange = (event) => {\r\n\t\tconst { id, value } = event.target;\r\n\t\tsetSearchQuery((prevSearchQuery) => {\r\n\t\t\tconst updatedQuery = [...prevSearchQuery];\r\n\t\t\tconst existingItemIndex = updatedQuery.findIndex((item) => item.id === id);\r\n\t\t\tif (existingItemIndex !== -1) {\r\n\t\t\t\tupdatedQuery[existingItemIndex] = { id, value };\r\n\t\t\t} else {\r\n\t\t\t\tupdatedQuery.push({ id, value });\r\n\t\t\t}\r\n\t\t\treturn updatedQuery;\r\n\t\t});\r\n\t\t// console.log(searchQuery);\r\n\t};\r\n\r\n\tconst handleStatusChange = (event) => {\r\n\t\tsetSelectedStatus(event.target.value);\r\n\t};\r\n\tconst handleCreateChange = (event) => {\r\n\t\tsetSearchCreate(event.target.value);\r\n\t};\r\n\tconst handleLastUpdatedChange = (event) => {\r\n\t\tsetSearchLastUpdated(event.target.value);\r\n\t};\r\n\tconst handleSaveSearch = () => {\r\n\t\tsetIsSaveSearch(!isSaveSearch);\r\n\t};\r\n\r\n\r\n\tconst contentSureModal = useMemo(\r\n\t\t() => {\r\n\r\n\t\t\tif (submitType === 'approve') {\r\n\t\t\t\treturn
ยืนยันอนุมัติแบบหนังสือรับรองตนเอง
\r\n\t\t\t} else if (submitType === 'reject') {\r\n\t\t\t\treturn {\r\n\t\t\t\t\t\tsetRemark(e.target.value)\r\n\t\t\t\t\t}}\r\n\t\t\t\t\tvalue={remark}\r\n\t\t\t\t/>\r\n\t\t\t} else if (submitType === 'requestAdditionDoc') {\r\n\t\t\t\treturn {\r\n\t\t\t\t\t\tsetRemark(e.target.value)\r\n\t\t\t\t\t}}\r\n\t\t\t\t\tvalue={remark}\r\n\t\t\t\t/>\r\n\t\t\t} else if (submitType === 'requestModifyInfo') {\r\n\t\t\t\treturn {\r\n\t\t\t\t\t\tsetRemark(e.target.value)\r\n\t\t\t\t\t}}\r\n\t\t\t\t\tvalue={remark}\r\n\t\t\t\t/>\r\n\t\t\t} else if (submitType === 'rejectchecker') {\r\n\t\t\t\treturn {\r\n\t\t\t\t\t\tsetRemark(e.target.value)\r\n\t\t\t\t\t}}\r\n\t\t\t\t\tvalue={remark}\r\n\t\t\t\t/>\r\n\t\t\t}\r\n\t\t},\r\n\t\t[submitType, remark]\r\n\t)\r\n\r\n\tconst onOpenModalAssignAdmin = () => {\r\n\r\n\t\tsetOpenModalAssignAdmin(!openModalAssignAdmin)\r\n\t}\r\n\r\n\tconst handleIssueBtn = e => {\r\n\t\tsetSDocID(e)\r\n\t\tadminQoS.getSignature().then(e => {\r\n\t\t\tsetSignatureAdminList(e)\r\n\r\n\t\t\tsetOpenModalAssignSignature(true)\r\n\t\t})\r\n\t}\r\n\r\n\tconst onClickAssignAdmin = sDocID => {\r\n\t\tsetSDocID(sDocID)\r\n\t\tsetCheckerAdminID('')\r\n\t\tonOpenModalAssignAdmin()\r\n\t}\r\n\r\n\tconst onChangeCheckerAdminID = event => {\r\n\t\tsetCheckerAdminID(event.target.value)\r\n\t}\r\n\r\n\tconst onChangeSignature = event => {\r\n\t\tsetSelectedSignature(event.target.value)\r\n\t}\r\n\r\n\tconst createWaitingRow = (dataSDocList, i) => {\r\n\t\tconst rowData = {\r\n\t\t\tid: dataSDocList[i].id,\r\n\t\t\tbrandName: dataSDocList[i].brandName,\r\n\t\t\toperator:\r\n\t\t\t\t(dataSDocList[i].sDocUser.prefix ?? '') +\r\n\t\t\t\tdataSDocList[i].sDocUser.firstname +\r\n\t\t\t\t' ' +\r\n\t\t\t\tdataSDocList[i].sDocUser.lastname,\r\n\t\t\tsubmitDate: dataSDocList[i].createDate,\r\n\t\t\tstatusID: dataSDocList[i].sDocStatusID,\r\n\t\t\t// statusID: (i % 6) + 1,\r\n\t\t\tstatusName: dataSDocList[i].sDocStatus.statusName,\r\n\t\t\tapprover: dataSDocList[i].approver\r\n\t\t\t\t? dataSDocList[i].approver.firstname +\r\n\t\t\t\t' ' +\r\n\t\t\t\tdataSDocList[i].approver.lastname\r\n\t\t\t\t: 'ยังไม่ได้มอบหมาย',\r\n\t\t\tproductModel: dataSDocList[i].productModel,\r\n\t\t\trunningNumber: dataSDocList[i].runningNo,\r\n\t\t\trequestAddtionDocStatusID: dataSDocList[i].requestAddtionDocStatusID,\r\n\t\t\toperatorInfo: dataSDocList[i].senderType === 'organization' ? dataSDocList[i].operatorTitle : null,\r\n\t\t\ttransactions: dataSDocList[i].sDocTransactions,\r\n\t\t}\r\n\t\treturn rowData\r\n\t}\r\n\r\n\tconst getSDocStatusList = async () => {\r\n\t\t// Get Status List\r\n\t\tconst resStatusList = await sdoc.getListsStatus()\r\n\t\tconst dataStatusList = resStatusList.data\r\n\t\tconst statusListTemp = []\r\n\t\tif (resStatusList) {\r\n\t\t\tif (resStatusList.status === 200) {\r\n\t\t\t\tfor (let i = 0; i < dataStatusList.length; i++) {\r\n\t\t\t\t\tstatusListTemp.push({\r\n\t\t\t\t\t\tid: dataStatusList[i].id,\r\n\t\t\t\t\t\tstatusName: dataStatusList[i].statusName,\r\n\t\t\t\t\t})\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn statusListTemp\r\n\t}\r\n\r\n\tconst getCheckerAdminList = async () => {\r\n\t\tconst resAdminList = await sdocAdmin.getAdminList()\r\n\r\n\t\tconst adminListTemp = []\r\n\t\tif (resAdminList) {\r\n\t\t\tif (resAdminList.status === 200) {\r\n\t\t\t\tconst dataAdminList = resAdminList.data\r\n\t\t\t\tfor (let i = 0; i < dataAdminList.length; i++) {\r\n\t\t\t\t\tconst adminAccess = dataAdminList[i].adminAccess[0] ?? null\r\n\t\t\t\t\tif (\r\n\t\t\t\t\t\tadminAccess.dataportalServiceID === 2 &&\r\n\t\t\t\t\t\t// (adminAccess.adminRoleID === 11 || adminAccess.adminRoleID === 15) // show exclusive admin\r\n\t\t\t\t\t\t( adminAccess.adminRoleID === 11 ) // not show exclusive admin\r\n\t\t\t\t\t) {\r\n\t\t\t\t\t\tadminListTemp.push({\r\n\t\t\t\t\t\t\tid: dataAdminList[i].id,\r\n\t\t\t\t\t\t\tname:\r\n\t\t\t\t\t\t\t\tdataAdminList[i].firstname + ' ' + dataAdminList[i].lastname,\r\n\t\t\t\t\t\t})\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\tsetCheckerAdminList(adminListTemp)\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tconst openDB = () => {\r\n\t\treturn new Promise((resolve, reject) => {\r\n\t\t\t// const deleteRequest = indexedDB.deleteDatabase('MyDatabase');\r\n\t\t\tconst request = window.indexedDB.open('NBTCSDoCALL', 1);\r\n\r\n\t\t\trequest.onerror = (event) => {\r\n\t\t\t\tconsole.error(\"Error opening database\", event.target.error);\r\n\t\t\t\treject(event.target.error);\r\n\t\t\t};\r\n\r\n\t\t\trequest.onupgradeneeded = (event) => {\r\n\t\t\t\tconst db = event.target.result;\r\n\r\n\t\t\t\t// Create an object store (similar to a table in relational databases)\r\n\t\t\t\tif (!db.objectStoreNames.contains('SDocList')) {\r\n\t\t\t\t\tdb.createObjectStore('SDocList', { keyPath: 'id' });\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (!db.objectStoreNames.contains('SDocListTimeout')) {\r\n\t\t\t\t\tdb.createObjectStore('SDocListTimeout', { keyPath: 'id' });\r\n\t\t\t\t}\r\n\r\n\t\t\t\tconsole.log(\"Database upgrade complete\");\r\n\t\t\t};\r\n\r\n\t\t\trequest.onsuccess = (event) => {\r\n\t\t\t\tconst db = event.target.result;\r\n\t\t\t\tresolve(db);\r\n\t\t\t};\r\n\t\t});\r\n\t};\r\n\r\n\tconst addDataToDBWithTimeout = (data, timeout) => {\r\n\t\topenDB().then((db) => {\r\n\t\t\tconst transaction = db.transaction(['SDocList'], 'readwrite');\r\n\t\t\tconst transaction2 = db.transaction(['SDocListTimeout'], 'readwrite');\r\n\t\t\tconst objectStore = transaction.objectStore('SDocList');\r\n\t\t\tconst objectStore2 = transaction2.objectStore('SDocListTimeout');\r\n\r\n\t\t\ttransaction.oncomplete = () => {\r\n\t\t\t\tconsole.log(\"Data added to IndexedDB with timeout\");\r\n\t\t\t};\r\n\r\n\t\t\ttransaction.onerror = (event) => {\r\n\t\t\t\tconsole.error(\"Error adding data to IndexedDB\", event.target.error);\r\n\t\t\t};\r\n\r\n\t\t\ttransaction.onabort = (event) => {\r\n\t\t\t\tconsole.error(\"Transaction aborted\", event.target.error);\r\n\t\t\t};\r\n\t\t\tconst vtimeout = new Date().getTime() + timeout;\r\n\t\t\tlet vtimeoutData = {\r\n\t\t\t\tid: 1,\r\n\t\t\t\ttimeout: vtimeout\r\n\t\t\t}\r\n\t\t\tobjectStore2.add(vtimeoutData);\r\n\t\t\tconsole.log(\"Data Timeout Set to:\", vtimeoutData)\r\n\t\t\tdata.forEach((item) => {\r\n\t\t\t\ttry {\r\n\t\t\t\t\tconst request = objectStore.add(item);\r\n\r\n\t\t\t\t\trequest.onsuccess = () => {\r\n\t\t\t\t\t\t// console.log(\"Data added:\", item);\r\n\t\t\t\t\t};\r\n\r\n\t\t\t\t\trequest.onerror = (event) => {\r\n\t\t\t\t\t\tconsole.error(\"Error adding data to IndexedDB\", event.target.error);\r\n\t\t\t\t\t};\r\n\t\t\t\t} catch (error) {\r\n\t\t\t\t\tconsole.error(\"Error within transaction:\", error);\r\n\t\t\t\t\ttransaction.abort();\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}).catch((error) => {\r\n\t\t\tconsole.error(\"Error opening database\", error);\r\n\t\t});\r\n\t};\r\n\r\n\tconst getDataFromDBWithTimeout = () => {\r\n\t\treturn new Promise((resolve, reject) => {\r\n\t\t\topenDB().then((db) => {\r\n\t\t\t\tconst transaction = db.transaction(['SDocList'], 'readonly');\r\n\t\t\t\tconst transaction2 = db.transaction(['SDocListTimeout'], 'readonly');\r\n\t\t\t\tconst objectStore = transaction.objectStore('SDocList');\r\n\t\t\t\tconst objectStore2 = transaction2.objectStore('SDocListTimeout');\r\n\t\t\t\tconst currentTime = Date.now();\r\n\t\t\t\tconst request2 = objectStore2.getAll();\r\n\t\t\t\trequest2.onsuccess = (event) => {\r\n\t\t\t\t\tlet data2 = event.target.result;\r\n\t\t\t\t\tif (data2.length <= 0) {\r\n\t\t\t\t\t\treturn [];\r\n\t\t\t\t\t}\r\n\t\t\t\t\tdata2 = data2[0].timeout;\r\n\t\t\t\t\tif (currentTime > data2) {\r\n\t\t\t\t\t\tconsole.log(\"Data Expired, clearing DB\");\r\n\t\t\t\t\t\tclearSDocList();\r\n\t\t\t\t\t\treturn [];\r\n\t\t\t\t\t}\r\n\t\t\t\t};\r\n\r\n\t\t\t\tconst request = objectStore.getAll();\r\n\r\n\t\t\t\trequest.onsuccess = (event) => {\r\n\t\t\t\t\tconst data = event.target.result;\r\n\t\t\t\t\tresolve(data);\r\n\t\t\t\t};\r\n\r\n\t\t\t\trequest.onerror = (event) => {\r\n\t\t\t\t\tconsole.error(\"Error retrieving data from IndexedDB\", event.target.error);\r\n\t\t\t\t\treject(event.target.error);\r\n\t\t\t\t};\r\n\t\t\t}).catch((error) => {\r\n\t\t\t\tconsole.error(\"Error opening database\", error);\r\n\t\t\t\treject(error);\r\n\t\t\t});\r\n\t\t});\r\n\t};\r\n\r\n\tconst clearSDocList = () => {\r\n\t\topenDB().then((db) => {\r\n\t\t\tconst transaction = db.transaction(['SDocList'], 'readwrite');\r\n\t\t\tconst objectStore = transaction.objectStore('SDocList');\r\n\t\t\tconst transaction2 = db.transaction(['SDocListTimeout'], 'readwrite');\r\n\t\t\tconst objectStore2 = transaction2.objectStore('SDocListTimeout');\r\n\r\n\t\t\tconst request = objectStore.clear();\r\n\t\t\tconst request2 = objectStore2.clear();\r\n\r\n\t\t\trequest.onsuccess = () => {\r\n\t\t\t\tconsole.log(\"SDocList cleared successfully\");\r\n\t\t\t};\r\n\r\n\t\t\trequest.onerror = (event) => {\r\n\t\t\t\tconsole.error(\"Error clearing SDocList\", event.target.error);\r\n\t\t\t};\r\n\t\t}).catch((error) => {\r\n\t\t\tconsole.error(\"Error opening database\", error);\r\n\t\t});\r\n\t};\r\n\r\n\tconst forcegetSDOCWaitStatusList = async () => {\r\n\t\tsetIsDataLoading(true);\r\n\t\tsetRowsWaitStatus([]);\r\n\t\tconst resList = await sdoc.getAllLists();\r\n\t\tconst apiDataSDocList = resList.data;\r\n\t\tif (resList && resList.status === 200) {\r\n\t\t\tconst timeout = 15 * 60 * 1000;\r\n\t\t\tconst rowsTemp = [];\r\n\t\t\tfor (let i = 0; i < apiDataSDocList.length; i++) {\r\n\t\t\t\trowsTemp.push(createWaitingRow(apiDataSDocList, i));\r\n\t\t\t}\r\n\t\t\tsetRowsData(rowsTemp);\r\n\t\t\tsetRowsWaitStatus(rowsTemp);\r\n\t\t\tsetIsDataLoading(false); // Set loading state after updating the rows\r\n\t\t\tgetCheckerAdminList();\r\n\r\n\t\t\t// Store data in IndexedDB with timeout\r\n\t\t\tclearSDocList();\r\n\t\t\taddDataToDBWithTimeout(apiDataSDocList, timeout);\r\n\t\t}\r\n\t}\r\n\r\n\tconst getSDOCWaitStatusList = useCallback(async () => {\r\n\t\tsetIsDataLoading(true);\r\n\t\tgetSDocStatusList();\r\n\r\n\t\tawait admin.me().then(async (event) => {\r\n\t\t\tif (event) {\r\n\t\t\t\tconst dataMe = event.data;\r\n\t\t\t\tsetMyRole(dataMe.roleID);\r\n\t\t\t\tsetMyID(dataMe.id);\r\n\r\n\t\t\t\tconst timeout = 15 * 60 * 1000;\r\n\r\n\t\t\t\t// Retrieve data from IndexedDB with timeout management\r\n\t\t\t\tconst dataSDocList = await getDataFromDBWithTimeout();\r\n\t\t\t\tif (dataSDocList && dataSDocList.length > 0) {\r\n\t\t\t\t\tconst rowsTemp = [];\r\n\t\t\t\t\tfor (let i = 0; i < dataSDocList.length; i++) {\r\n\t\t\t\t\t\trowsTemp.push(createWaitingRow(dataSDocList, i));\r\n\t\t\t\t\t}\r\n\t\t\t\t\tsetRowsData(rowsTemp);\r\n\t\t\t\t\tsetRowsWaitStatus(rowsTemp);\r\n\t\t\t\t\tsetIsDataLoading(false); // Set loading state after updating the rows\r\n\t\t\t\t\tgetCheckerAdminList();\r\n\t\t\t\t\treturn; // Exit the function since data was retrieved from IndexedDB\r\n\t\t\t\t}\r\n\t\t\t\t// Fetch data from API if not available in IndexedDB\r\n\t\t\t\tconst resList = await sdoc.getAllLists();\r\n\t\t\t\tconst apiDataSDocList = resList.data;\r\n\r\n\t\t\t\tif (resList && resList.status === 200) {\r\n\t\t\t\t\tconst rowsTemp = [];\r\n\t\t\t\t\tfor (let i = 0; i < apiDataSDocList.length; i++) {\r\n\t\t\t\t\t\trowsTemp.push(createWaitingRow(apiDataSDocList, i));\r\n\t\t\t\t\t\t// ---> Add Data to Array\r\n\t\t\t\t\t\t// Not show status === 'สำเร็จ'\r\n\t\t\t\t\t}\r\n\t\t\t\t\tsetRowsData(rowsTemp);\r\n\t\t\t\t\tsetRowsWaitStatus(rowsTemp);\r\n\t\t\t\t\tsetIsDataLoading(false); // Set loading state after updating the rows\r\n\t\t\t\t\tgetCheckerAdminList();\r\n\r\n\t\t\t\t\t// Store data in IndexedDB with timeout\r\n\t\t\t\t\tclearSDocList();\r\n\t\t\t\t\taddDataToDBWithTimeout(apiDataSDocList, timeout);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n\t}, []);\r\n\t// filter \r\n\tconst onSearchResult = () => {\r\n\t\tlet searchedData = RowsData;\r\n\t\tconst savedFilters = {\r\n\t\t\tsearchQuery: searchQuery,\r\n\t\t\tsearchCreate: searchCreate,\r\n\t\t\tselectedStatus: selectedStatus\r\n\t\t};\r\n\r\n\t\t// Save filters to localStorage if isSaveSearch is true\r\n\t\tif (isSaveSearch) {\r\n\t\t\tlocalStorage.setItem('savedFiltersAll', JSON.stringify(savedFilters));\r\n\t\t} else {\r\n\t\t\tlocalStorage.removeItem('savedFiltersAll');\r\n\t\t}\r\n\t\tif (searchQuery)\r\n\t\t\t// console.log(\"searchQuery >> \", searchQuery)\r\n\t\t\tsearchQuery.forEach((query) => {\r\n\t\t\t\tconst { id, value } = query;\r\n\t\t\t\tif (value !== '' && value !== null && value !== undefined && value.length > 0) {\r\n\t\t\t\t\t// console.log(\"id >> \", id, \" value >> \", value)\r\n\t\t\t\t\tsearchedData = searchedData.filter((item) => {\r\n\t\t\t\t\t\tconst itemValue = item[id];\r\n\t\t\t\t\t\t// console.log(\"itemValue >> \", itemValue);\r\n\t\t\t\t\t\t// console.log(\"typeof itemValue >> \", typeof itemValue);\r\n\t\t\t\t\t\tif (typeof itemValue === 'string') {\r\n\t\t\t\t\t\t\treturn itemValue.toLowerCase().includes(value.toLowerCase());\r\n\t\t\t\t\t\t} else if (typeof itemValue === 'object') {\r\n\t\t\t\t\t\t\treturn false;\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\treturn itemValue.toString().includes(value);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\tif (searchCreate !== '') {\r\n\t\t\tsearchedData = searchedData.filter((item) => {\r\n\t\t\t\tconst itemDate = new Date(item.submitDate.split('T')[0]);\r\n\t\t\t\tconst searchDate = new Date(searchCreate);\r\n\t\t\t\treturn itemDate.getTime() === searchDate.getTime();\r\n\t\t\t});\r\n\t\t}\r\n\t\tif (searchLastUpdated !== '') {\r\n\t\t\tsearchedData = searchedData.filter((item) => {\r\n\t\t\t\tconst itemDate = new Date(item.lastUpdate.split('T')[0]);\r\n\t\t\t\tconst searchDate = new Date(searchLastUpdated);\r\n\t\t\t\treturn itemDate.getTime() === searchDate.getTime();\r\n\t\t\t});\r\n\t\t}\r\n\t\tif (selectedStatus.length > 0 && selectedStatus[0] !== '0') {\r\n\t\t\tsearchedData = searchedData.filter(\r\n\t\t\t\t(item) => selectedStatus.includes(item.statusID.toString())\r\n\t\t\t);\r\n\t\t}\r\n\r\n\t\tconst mergedSearched = searchedData;\r\n\t\tsetRowsWaitStatus(mergedSearched);\r\n\t\tsetIsDialogOpen(false);\r\n\t\tsetIsSearching(true);\r\n\t\treturn;\r\n\t};\r\n\r\n\t// Function to apply saved filters on component mount\r\n\tconst applySavedFilters = () => {\r\n\t\tconst savedFilters = localStorage.getItem('savedFiltersAll');\r\n\r\n\t\tif (savedFilters) {\r\n\t\t\tconst { searchQuery, searchCreate, searchLastUpdated, selectedStatus } = JSON.parse(savedFilters);\r\n\t\t\t// Apply the saved filters to your state variables\r\n\t\t\tsetSearchQuery(searchQuery);\r\n\t\t\tsetSearchCreate(searchCreate);\r\n\t\t\tsetSelectedStatus(selectedStatus);\r\n\t\t\tsetIsSearching(true);\r\n\t\t\tsetIsSaveSearch(true);\r\n\t\t}\r\n\t};\r\n\r\n\t// Call applySavedFilters when the component mounts\r\n\tuseEffect(() => {\r\n\t\tapplySavedFilters();\r\n\t}, [isSearching]);\r\n\tuseEffect(() => {\r\n\t\tif (RowsData && isSearching) {\r\n\t\t\tonSearchResult();\r\n\t\t}\r\n\t}, [RowsData, isSearching]); // Call onSearchResult when rowsData or isSearching changes\r\n\r\n\r\n\r\n\tconst onSearchResultClear = () => {\r\n\t\tsetSearchQuery([]);\r\n\t\tsetSearchCreate('');\r\n\t\tsetSelectedStatus([]);\r\n\t\tsetRowsWaitStatus(RowsData);\r\n\t\tsetIsSearching(false);\r\n\t\tsetIsSaveSearch(false);\r\n\r\n\t\t// Remove the saved filters from localStorage\r\n\t\tlocalStorage.removeItem('savedFiltersAll');\r\n\r\n\t\treturn;\r\n\t};\r\n\r\n\tconst onDeny = useCallback(\r\n\t\tasync sDocID => {\r\n\t\t\tconst res = await sdocAdmin.denySDoc(sDocID, remark)\r\n\t\t\tif (res && res.status === 200) {\r\n\t\t\t\tgetSDOCWaitStatusList()\r\n\t\t\t\tsetOpenSubmitSDocSureModal(false)\r\n\t\t\t\tsetRemark('');\r\n\t\t\t}\r\n\t\t},\r\n\t\t[getSDOCWaitStatusList, remark]\r\n\t)\r\n\r\n\tconst sendToIssue = useCallback(\r\n\t\tasync sDocID => {\r\n\t\t\tconst res = await sdocAdmin.sendToIssue(sDocID)\r\n\t\t\tif (res && res.status === 200) {\r\n\t\t\t\tgetSDOCWaitStatusList()\r\n\t\t\t\tsetOpenSubmitSDocSureModal(false)\r\n\t\t\t}\r\n\t\t},\r\n\t\t[getSDOCWaitStatusList]\r\n\t)\r\n\r\n\tconst onSubmitApproval = useCallback(() => {\r\n\t\tif (submitType === 'approve') {\r\n\t\t\tsendToIssue(currentActionSDoc)\r\n\t\t} else if (submitType === 'reject') {\r\n\t\t\tonDeny(currentActionSDoc)\r\n\t\t} else if (submitType === 'requestAdditionDoc') {\r\n\t\t\tonRequestAddition(currentActionSDoc);\r\n\t\t} else if (submitType === 'requestModifyInfo') {\r\n\t\t\tonRequestModifyInfo(currentActionSDoc);\r\n\t\t} else if (submitType === 'rejectchecker') {\r\n\t\t\tonDenyChecker(currentActionSDoc)\r\n\t\t}\r\n\t}, [onDeny, sendToIssue, currentActionSDoc, submitType])\r\n\r\n\tconst onAssignAdmin = async () => {\r\n\t\tconst res = await sdocAdmin.assignAdmin(sDocID, checkerAdminID)\r\n\t\tif (res && res.status === 200) {\r\n\t\t\tSwal.fire({\r\n\t\t\t\ttitle: 'มอบหมายงานสำเร็จ',\r\n\t\t\t\ttext: '',\r\n\t\t\t\ticon: 'success',\r\n\t\t\t\tconfirmButtonText: 'ปิด'\r\n\t\t\t})\r\n\t\t\tsetCheckerAdminID('')\r\n\t\t\tonOpenModalAssignAdmin()\r\n\t\t\tgetSDOCWaitStatusList()\r\n\t\t}\r\n\t}\r\n\tconst onAssignSignature = async () => {\r\n\t\tconst res = await sdocAdmin.approveSDoc(sDocID, myInfo.id)\r\n\t\tif (res && res.status === 200) {\r\n\t\t\tgetSDOCWaitStatusList()\r\n\t\t\tsetOpenModalAssignSignature(false)\r\n\t\t\tsetRemark('');\r\n\t\t}\r\n\t}\r\n\r\n\tconst onRequestAddition = async sDocID => {\r\n\t\tconst res = await sdocAdmin.requestAddition(sDocID, remark)\r\n\t\tif (res && res.status === 200) {\r\n\t\t\tgetSDOCWaitStatusList()\r\n\t\t\tsetOpenSubmitSDocSureModal(false);\r\n\t\t\tsetRemark('');\r\n\t\t}\r\n\t}\r\n\tconst onRequestModifyInfo = async sDocID => {\r\n\t\tconst res = await sdocAdmin.requestModifyInfo(sDocID, remark)\r\n\t\tif (res && res.status === 200) {\r\n\t\t\tgetSDOCWaitStatusList()\r\n\t\t\tsetOpenSubmitSDocSureModal(false);\r\n\t\t\tsetRemark('');\r\n\t\t}\r\n\t}\r\n\r\n\tconst onDenyChecker = useCallback(\r\n\t\tasync sDocID => {\r\n\t\t\tconst res = await sdocAdmin.denyCheckerSDoc(sDocID, remark)\r\n\t\t\tif (res && res.status === 200) {\r\n\t\t\t\tgetSDOCWaitStatusList()\r\n\t\t\t\tsetOpenSubmitSDocSureModal(false)\r\n\t\t\t\tsetRemark('');\r\n\t\t\t}\r\n\t\t},\r\n\t\t[getSDOCWaitStatusList, remark]\r\n\t)\r\n\r\n\tconst onRejectJob = async sDocID => {\r\n\t\tconst res = await sdocAdmin.rejectJob(sDocID)\r\n\t\tif (res && res.status === 200) {\r\n\t\t\tgetSDOCWaitStatusList()\r\n\t\t}\r\n\t}\r\n\tconst handleSortChange = (model) => {\r\n\t\tif (isRehydrated && model[0] !== sortModel[0])\r\n\t\t\tsetSortModel(model);\r\n\t};\r\n\tuseEffect(() => {\r\n\t\tif (isRehydrated) {\r\n\t\t\tgetSDOCWaitStatusList()\r\n\r\n\t\t}\r\n\t\t//eslint-disable-next-line\r\n\t}, [isRehydrated])\r\n\r\n\tvar columnsWaitingStatus = [\r\n\t\t{\r\n\t\t\tfield: 'runningNumber',\r\n\t\t\theaderName: 'เลขที่คำขอ',\r\n\t\t\twidth: 180,\r\n\t\t\theaderAlign: 'left',\r\n\t\t\talign: 'left',\r\n\t\t\tsortable: true,\r\n\t\t\teditable: false,\r\n\t\t},\r\n\t\t{\r\n\t\t\tfield: 'brandName',\r\n\t\t\theaderName: 'ตราอักษร (Brand Name)',\r\n\t\t\twidth: 220,\r\n\t\t\theaderAlign: 'left',\r\n\t\t\talign: 'left',\r\n\t\t\tsortable: true,\r\n\t\t\teditable: false,\r\n\t\t},\r\n\t\t{\r\n\t\t\tfield: 'productModel',\r\n\t\t\theaderName: 'รุ่นของผลิตภัณฑ์',\r\n\t\t\twidth: 180,\r\n\t\t\theaderAlign: 'left',\r\n\t\t\talign: 'left',\r\n\t\t\tsortable: true,\r\n\t\t\teditable: false,\r\n\t\t},\r\n\t\t{\r\n\t\t\tfield: 'operator',\r\n\t\t\theaderName: 'ผู้ยื่นเอกสาร',\r\n\t\t\twidth: 200,\r\n\t\t\theaderAlign: 'left',\r\n\t\t\talign: 'center',\r\n\t\t\tsortable: true,\r\n\t\t\teditable: false,\r\n\t\t\trenderCell: (params) => (\r\n\t\t\t\t\r\n\t\t\t\t\t{/* {params.row.operator}
{params.row.operatorInfo && ('แทน ' + params.row.operatorInfo)} */}\r\n\t\t\t\t\t{params.row.operator}\r\n\t\t\t\t
\r\n\t\t\t),\r\n\t\t\t// valueGetter: (params) => {\r\n\t\t\t// \tif (params.row.operatorInfo) {\r\n\t\t\t// \t\treturn params.value + ' แทน ' + params.row.operatorInfo + ')'\r\n\t\t\t// \t}\r\n\t\t\t// },\r\n\t\t},\r\n\t\t{\r\n\t\t\tfield: 'operatorInfo',\r\n\t\t\theaderName: 'ยื่นในนาม',\r\n\t\t\twidth: 200,\r\n\t\t\theaderAlign: 'left',\r\n\t\t\talign: 'center',\r\n\t\t\tsortable: true,\r\n\t\t\teditable: false,\r\n\t\t\trenderCell: (params) => (\r\n\t\t\t\t\r\n\t\t\t\t\t{params.row.operatorInfo && (params.row.operatorInfo)}\r\n\t\t\t\t\r\n\t\t\t),\r\n\t\t},\r\n\t\t{\r\n\t\t\tfield: 'approver',\r\n\t\t\theaderName: 'ผู้ได้รับมอบหมายงาน',\r\n\t\t\twidth: 220,\r\n\t\t\theaderAlign: 'left',\r\n\t\t\talign: 'left',\r\n\t\t\tsortable: true,\r\n\t\t\teditable: false,\r\n\t\t},\r\n\t\t{\r\n\t\t\tfield: 'submitDate',\r\n\t\t\theaderName: 'วันที่ยื่นแบบ',\r\n\t\t\twidth: 150,\r\n\t\t\theaderAlign: 'left',\r\n\t\t\talign: 'left',\r\n\t\t\tsortable: true,\r\n\t\t\teditable: false,\r\n\t\t\trenderCell: params => (\r\n\t\t\t\t\r\n\t\t\t\t\t{/* {params.value ? format(new Date(params.value), 'dd/MM/yyyy HH:mm') : ''} */}\r\n\t\t\t\t\t{params.value ? params.value : ''}\r\n\t\t\t\t\r\n\t\t\t),\r\n\t\t\tvalueGetter: params => {\r\n\t\t\t\tif (params.row.submitDate) {\r\n\t\t\t\t\treturn format(new Date(params.value), 'dd/MM/yyyy HH:mm')\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t},\r\n\t\t// {\r\n\t\t// \tfield: 'submitDateB',\r\n\t\t// \theaderName: 'วันที่ยื่นแบบ(สำหรับค้นหา)',\r\n\t\t// \twidth: 150,\r\n\t\t// \theaderAlign: 'left',\r\n\t\t// \talign: 'left',\r\n\t\t// \tsortable: true,\r\n\t\t// \teditable: false,\r\n\t\t// \thide: true,\r\n\t\t// \trenderCell: params => (\r\n\t\t// \t\t\r\n\t\t// \t\t\t{/* {params.value ? format(new Date(params.value), 'dd/MM/yyyy HH:mm') : ''} */}\r\n\t\t// \t\t\t{params.value ? params.value : ''}\r\n\t\t// \t\t\r\n\t\t// \t),\t\r\n\t\t// \tvalueGetter: params => {\r\n\t\t// \t\tif (params.row.submitDate) {\r\n\t\t// \t\t\treturn format(new Date(params.row.submitDate), 'dd/MM/yyyy HH:mm')\r\n\t\t// \t\t}\r\n\t\t// \t}\r\n\r\n\t\t// },\r\n\t\t{\r\n\t\t\tfield: 'statusID',\r\n\t\t\theaderName: 'สถานะ',\r\n\t\t\twidth: 130,\r\n\t\t\theaderAlign: 'left',\r\n\t\t\talign: 'left',\r\n\t\t\tsortable: true,\r\n\t\t\teditable: false,\r\n\t\t\trenderCell: params => {\r\n\t\t\t\tvar today = new Date();\r\n\t\t\t\ttoday.setDate(today.getDate() + 1);\r\n\t\t\t\tvar dueDate = null;\r\n\t\t\t\tif (params.row.transactions != null && params.row.transactions.dueDate != null) {\r\n\t\t\t\t\tdueDate = new Date(params.row.transactions.dueDate);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tdueDate = new Date();\r\n\t\t\t\t}\r\n\t\t\t\tdueDate.setHours(23, 59, 59, 999);\r\n\t\t\t\treturn (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t(params.row.statusID === 2 && params.row.requestAddtionDocStatusID === 1) ?\r\n\t\t\t\t\t\t\t\t'เพิ่มเอกสารแล้ว'\r\n\t\t\t\t\t\t\t\t: (params.row.statusID === 2 && params.row.requestAddtionDocStatusID === 2) ?\r\n\t\t\t\t\t\t\t\t\t'ปรับปรุงข้อมูลแล้ว'\r\n\t\t\t\t\t\t\t\t\t: (params.row.statusID === 3 && params.row.requestAddtionDocStatusID === 2) ?\r\n\t\t\t\t\t\t\t\t\t\t'ขอปรับปรุงเอกสาร'\r\n\t\t\t\t\t\t\t\t\t\t: (params.row.statusID === 8 && (dueDate < today)) ?\r\n\t\t\t\t\t\t\t\t\t\t\t'เลยกำหนดชำระ'\r\n\t\t\t\t\t\t\t\t\t\t\t: params.row.statusName\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\r\n\t\t\t\t)\r\n\t\t\t},\r\n\t\t\tvalueGetter: (params) => {\r\n\t\t\t\t{\r\n\t\t\t\t\tvar today = new Date();\r\n\t\t\t\t\ttoday.setDate(today.getDate() + 1);\r\n\t\t\t\t\tvar dueDate = null;\r\n\t\t\t\t\tif (params.row.transactions != null && params.row.transactions.dueDate != null) {\r\n\t\t\t\t\t\tdueDate = new Date(params.row.transactions.dueDate);\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tdueDate = new Date();\r\n\t\t\t\t\t}\r\n\t\t\t\t\tdueDate.setHours(23, 59, 59, 999);\r\n\r\n\t\t\t\t\tif (params.value === 2 && params.row.requestAddtionDocStatusID === 1)\r\n\t\t\t\t\t\treturn 'เพิ่มเอกสารแล้ว';\r\n\t\t\t\t\telse if (params.value === 2 && params.row.requestAddtionDocStatusID === 2)\r\n\t\t\t\t\t\treturn 'ปรับปรุงข้อมูลแล้ว';\r\n\t\t\t\t\telse if (params.value === 3 && params.row.requestAddtionDocStatusID === 2)\r\n\t\t\t\t\t\treturn 'ขอปรับปรุงเอกสาร';\r\n\t\t\t\t\telse if (params.value === 8 && (dueDate < today))\r\n\t\t\t\t\t\treturn 'เลยกำหนดชำระ';\r\n\t\t\t\t\telse\r\n\t\t\t\t\t\treturn params.row.statusName;\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t},\r\n\t\t{\r\n\t\t\tfield: 'activity',\r\n\t\t\theaderName: 'กิจกรรม',\r\n\t\t\twidth: 1000,\r\n\t\t\theaderAlign: 'left',\r\n\t\t\talign: 'left',\r\n\t\t\tsortable: false,\r\n\t\t\teditable: false,\r\n\t\t\trenderCell: params => {\r\n\t\t\t\treturn (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\thistory.push(\r\n\t\t\t\t\t\t\t\t\t`/admin/sdoc/form/${params.row.id}?mountType=readOnly`\r\n\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t}}>\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tรายละเอียด\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t)\r\n\t\t\t},\r\n\t\t},\r\n\r\n\t]\r\n\tfunction CustomToolbar() {\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t);\r\n\t}\r\n\treturn (\r\n\t\t<>\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tรายการคำร้องขอหนังสือรับรองตนเอง\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\t\t\tforcegetSDOCWaitStatusList();\r\n\t\t\t\t\t\t\t\t\t\t\t}}>\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tค้นหาขั้นสูง\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\thandleSortChange(model)\r\n\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\tlocaleText={{\r\n\t\t\t\t\t\t\t\t\t\ttoolbarExport: 'ดาวน์โหลดข้อมูลจากตาราง',\r\n\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\tcomponents={{\r\n\t\t\t\t\t\t\t\t\t\tNoRowsOverlay: () => {\r\n\t\t\t\t\t\t\t\t\t\t\tif (!isDataLoading) {\r\n\t\t\t\t\t\t\t\t\t\t\t\treturn ไม่พบข้อมูล;\r\n\t\t\t\t\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\t\t\t\t\treturn กำลังประมวลผลข้อมูล โปรดรอสักครู่..;\r\n\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\t\t\tToolbar: CustomToolbar,\r\n\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\r\n\t\t\t {\r\n\t\t\t\t\tsetOpenSubmitSDocSureModal(false)\r\n\t\t\t\t}}\r\n\t\t\t\thandleButton={onSubmitApproval}\r\n\t\t\t\thandleCancel={() => {\r\n\t\t\t\t\tsetOpenSubmitSDocSureModal(false)\r\n\t\t\t\t}}\r\n\t\t\t/>\r\n\r\n\t\t\t\r\n\r\n\t\t\t setOpenModalAssignSignature(false)}\r\n\t\t\t\thandleButton={onAssignSignature}\r\n\t\t\t\tonChangeCheckerAdminID={onChangeSignature}\r\n\t\t\t\tcheckerAdminList={signatureAdminList}\r\n\t\t\t\tcheckerAdminID={selectedSignature}\r\n\t\t\t/>\r\n\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tค้นหาขั้นสูง\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tเลขที่คำขอ:\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t query.id === 'runningNumber')?.value || ''}\r\n\t\t\t\t\t\t\t\t\t\tplaceholder=\"(ไม่ต้องใส่ SR นำหน้า)\"\r\n\t\t\t\t\t\t\t\t\t\tid=\"runningNumber\"\r\n\t\t\t\t\t\t\t\t\t\tonChange={handleSearchChange}\r\n\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tตราอักษร:\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t query.id === 'brandName')?.value || ''}\r\n\t\t\t\t\t\t\t\t\t\tid=\"brandName\"\r\n\t\t\t\t\t\t\t\t\t\tonChange={handleSearchChange}\r\n\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tรุ่นของผลิตภัณฑ์:\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t query.id === 'productModel')?.value || ''}\r\n\t\t\t\t\t\t\t\t\t\tid=\"productModel\"\r\n\t\t\t\t\t\t\t\t\t\tonChange={handleSearchChange}\r\n\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tผู้ยื่นเอกสาร:\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t query.id === 'operator')?.value || ''}\r\n\t\t\t\t\t\t\t\t\t\tid=\"operator\"\r\n\t\t\t\t\t\t\t\t\t\tonChange={handleSearchChange}\r\n\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tยื่นในนาม:\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t query.id === 'operatorInfo')?.value || ''}\r\n\t\t\t\t\t\t\t\t\t\tid=\"operatorInfo\"\r\n\t\t\t\t\t\t\t\t\t\tonChange={handleSearchChange}\r\n\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tผู้ได้รับมอบหมายงาน:\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t query.id === 'approver')?.value || ''}\r\n\t\t\t\t\t\t\t\t\t\tid=\"approver\"\r\n\t\t\t\t\t\t\t\t\t\tonChange={handleSearchChange}\r\n\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tวันที่ยื่นแบบ:\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tสถานะ:\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\t\tconst selectedLabels = selected.map(value => {\r\n\t\t\t\t\t\t\t\t\t\t\t\tconst selectedOption = statusOptions.find(option => option.value === value);\r\n\t\t\t\t\t\t\t\t\t\t\t\treturn selectedOption ? selectedOption.label : '';\r\n\t\t\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\t\t\treturn selectedLabels.join(', ');\r\n\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t{statusOptions.map((option) => (\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t -1} />\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t{/* {option.label} */}\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tบันทึกข้อมูลการค้นหา:\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tล้างผลการค้นหา\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tค้นหา\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\r\n\t\t\r\n\t)\r\n}\r\n","import React, { useState, useEffect } from 'react'\r\n\r\nimport { Grid, Card, Button, Tooltip } from '@material-ui/core'\r\nimport { DataGrid, GridToolbarContainer, GridToolbarExport, GridOverlay } from '@mui/x-data-grid'\r\nimport { ListAlt, Menu, Description, SaveAlt, Refresh, GetApp, Build } from '@material-ui/icons'\r\n\r\nimport { useHistory } from 'react-router-dom'\r\nimport { useStoreRehydrated } from '@store'\r\n\r\nimport { format } from 'date-fns'\r\n\r\nimport { sdoc, sdocAdmin, admin } from '@api'\r\nimport Swal from 'sweetalert2/dist/sweetalert2.js'\r\n\r\nexport default function POALIST() {\r\n const isRehydrated = useStoreRehydrated()\r\n const history = useHistory()\r\n const [rowsPOAList, setRowsPOAList] = useState([]);\r\n const [isDataLoading, setIsDataLoading] = useState(false)\r\n const [sortModel, setSortModel] = useState([\r\n {\r\n field: 'startDate',\r\n sort: 'desc',\r\n },\r\n ]);\r\n\r\n var columnsPOAList = [\r\n {\r\n field: 'nationalID',\r\n headerName: 'ข้อมูลผู้รับมอบอำนาจ',\r\n width: 300,\r\n headerAlign: 'left',\r\n align: 'center',\r\n sortable: true,\r\n editable: false,\r\n renderCell: (params) => {\r\n return (\r\n \r\n {params.row.operatorUser?.prefix}{params.row.operatorUser?.firstname} {params.row.operatorUser?.lastname}
\r\n ({params.row.nationalID})\r\n
\r\n )\r\n },\r\n valueGetter: (params) => {\r\n return `${params.row.operatorUser?.prefix}${params.row.operatorUser?.firstname} ${params.row.operatorUser?.lastname} (${params.row.nationalID})`\r\n }\r\n },\r\n {\r\n field: 'juristicNo',\r\n headerName: 'ข้อมูลนิติบุคคล',\r\n width: 400,\r\n headerAlign: 'left',\r\n align: 'center',\r\n sortable: true,\r\n editable: false,\r\n renderCell: (params) => {\r\n return (\r\n \r\n {params.row.operator?.operatorName || \"ไม่พบข้อมูล\"}
\r\n ({params.row.juristicNo})\r\n
\r\n )\r\n },\r\n valueGetter: (params) => {\r\n return `${params.row.operator?.operatorName || \"ไม่พบข้อมูล\"} (${params.row.juristicNo})`\r\n }\r\n },\r\n {\r\n field: 'startDate',\r\n headerName: 'วันที่เริ่มต้นมอบอำนาจ',\r\n width: 250,\r\n headerAlign: 'left',\r\n align: 'center',\r\n sortable: true,\r\n editable: false,\r\n renderCell: (params) => {\r\n return format(new Date(params.value), 'dd/MM/yyyy')\r\n }\r\n },\r\n {\r\n field: 'endDate',\r\n headerName: 'วันที่สิ้นสุดมอบอำนาจ',\r\n width: 250,\r\n headerAlign: 'left',\r\n align: 'center',\r\n sortable: true,\r\n editable: false,\r\n renderCell: (params) => {\r\n return format(new Date(params.value), 'dd/MM/yyyy')\r\n }\r\n },\r\n {\r\n field: 'status',\r\n headerName: 'สถานะ',\r\n width: 150,\r\n headerAlign: 'left',\r\n align: 'center',\r\n sortable: true,\r\n editable: false,\r\n renderCell: (params) => {\r\n // compare by startDate and endDate\r\n const startDate = new Date(params.row.startDate)\r\n const endDate = new Date(params.row.endDate)\r\n const today = new Date()\r\n if (today < startDate) {\r\n return (\r\n \r\n รอเริ่มต้น\r\n \r\n )\r\n } else if (today > endDate) {\r\n return (\r\n \r\n หมดอายุ\r\n \r\n )\r\n } else {\r\n return (\r\n \r\n กำลังใช้งาน\r\n \r\n )\r\n }\r\n },\r\n valueGetter: (params) => {\r\n const startDate = new Date(params.row.startDate)\r\n const endDate = new Date(params.row.endDate)\r\n const today = new Date()\r\n if (today < startDate) {\r\n return \"รอเริ่มต้น\"\r\n } else if (today > endDate) {\r\n return \"หมดอายุ\"\r\n } else {\r\n return \"กำลังใช้งาน\"\r\n }\r\n }\r\n }\r\n ];\r\n\r\n const handleSortChange = (model) => {\r\n if (isRehydrated && model[0] !== sortModel[0])\r\n setSortModel(model);\r\n };\r\n\r\n const getPOAList = async () => {\r\n setIsDataLoading(true)\r\n const res = await sdocAdmin.getPOAList()\r\n if (res && res.status === 200) {\r\n const data = res.data\r\n if (data) {\r\n setRowsPOAList(data)\r\n }\r\n }\r\n setIsDataLoading(false)\r\n }\r\n\r\n useEffect(() => {\r\n if (isRehydrated) {\r\n getPOAList()\r\n }\r\n // eslint-disable-next-line\r\n }, [isRehydrated])\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n รายการมอบอำนาจภายในระบบ SDoC\r\n \r\n \r\n \r\n {\r\n handleSortChange(model)\r\n }}\r\n // localeText={{\r\n // toolbarExport: 'ดาวน์โหลดข้อมูลจากตาราง',\r\n // }}\r\n components={{\r\n NoRowsOverlay: () => {\r\n if (!isDataLoading) {\r\n return ไม่พบข้อมูล;\r\n } else {\r\n return กำลังประมวลผลข้อมูล โปรดรอสักครู่..;\r\n }\r\n },\r\n // Toolbar: CustomToolbar,\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n );\r\n}","import { useEffect } from 'react'\r\nimport { Switch, Route, useRouteMatch, Redirect } from 'react-router-dom'\r\nimport ProtectedRoute from './protected-route'\r\nimport { useStoreActions } from '@store'\r\n\r\n// Components\r\nimport SignIn from './sign-in'\r\nimport Home from './home'\r\nimport Manage from './manage'\r\nimport Form from './form'\r\nimport AdminSDOCUser from './user'\r\nimport Sent from './sent'\r\nimport SendDetails from './sent/[id]'\r\nimport RequestList from './requestlist'\r\nimport POAList from './poalist'\r\n\r\nexport default function SDOCAdminsRoute() {\r\n\tconst { path } = useRouteMatch()\r\n\tconst setAppType = useStoreActions(a => a.appModel.setAppType)\r\n\r\n\tuseEffect(() => setAppType('sdoc-admin'))\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n","import React from 'react'\r\nimport { Route, Redirect } from 'react-router-dom'\r\nimport { useStoreState, useStoreRehydrated } from '../../store'\r\n\r\nexport default function ProtectedRoute({ children, ...rest }) {\r\n\tconst admin = useStoreState(s => s.mainAdminModel.admin)\r\n\tconst isRehydrated = useStoreRehydrated()\r\n\r\n\treturn (\r\n\t\tisRehydrated && (\r\n\t\t\t\r\n\t\t\t\t\t\tadmin ? (\r\n\t\t\t\t\t\tchildren\r\n\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)\r\n\t\t\t\t}\r\n\t\t\t/>\r\n\t\t)\r\n\t)\r\n}\r\n","import React, { useState, useEffect } from 'react'\r\nimport {\r\n\tButton,\r\n\tGrid,\r\n\tCard,\r\n\tTextField,\r\n\tIconButton,\r\n\tDivider,\r\n} from '@material-ui/core'\r\nimport { Visibility, VisibilityOff } from '@material-ui/icons'\r\n\r\nimport { useHistory, useLocation } from 'react-router-dom'\r\nimport { useForm, Controller } from 'react-hook-form'\r\nimport { useStoreActions, useStoreState } from '../../../store'\r\nimport { makeStyles } from '@material-ui/core/styles'\r\n\r\nimport logo from '../../../assets/images/NBTC-logo.png'\r\n\r\nconst useStyles = makeStyles(theme => {\r\n\treturn {\r\n\t\tAppDescription: {\r\n\t\t\tfontSize: '24px',\r\n\t\t},\r\n\t\tAppDescriptionSpan: {\r\n\t\t\tcolor: theme.palette.primary.main,\r\n\t\t},\r\n\t}\r\n})\r\n\r\nconst MainAdminAuth = () => {\r\n\tconst history = useHistory()\r\n\tconst location = useLocation()\r\n\tconst [showPassword, setShowPassword] = useState(false)\r\n\tconst {\r\n\t\tcontrol,\r\n\t\thandleSubmit,\r\n\t\tformState: { errors },\r\n\t} = useForm()\r\n\tconst [signInMsg, setSignInMsg] = useState('')\r\n\tconst [isLoading, setIsLoading] = useState(false)\r\n\r\n\tconst classes = useStyles()\r\n\tconst admin = useStoreState(s => s.mainAdminModel.mainAdmin)\r\n\tconst signInAdmin = useStoreActions(a => a.mainAdminModel.signin)\r\n\t// const getAdminProfile = useStoreActions(a => a.mainAdminModel.getAdminProfile)\r\n\r\n\tconst onSignInAdmin = async ({ username, password }) => {\r\n\t\tsetIsLoading(true)\r\n\t\tconst { from } = location.state || { from: { pathname: '/main-admin' } }\r\n\t\t\r\n\t\tsignInAdmin({\r\n\t\t\tusername,\r\n\t\t\tpassword,\r\n\t\t})\r\n\t\t\t.then(() => {\r\n\t\t\t\tsetIsLoading(false)\r\n\t\t\t\thistory.replace(from)\r\n\t\t\t\t// getAdminProfile().then(() => history.replace(from))\r\n\t\t\t})\r\n\t\t\t.catch((e) => {\r\n\t\t\r\n\t\t\t\tsetIsLoading(false)\r\n\r\n\t\t\t\tsetSignInMsg(e.response.data.message)\r\n\t\t\t})\r\n\t}\r\n\r\n\tconst onShowPassword = () => {\r\n\t\tsetShowPassword(!showPassword)\r\n\t}\r\n\r\n\tuseEffect(() => {\r\n\t\t// if (admin) history.replace('/admin')\r\n\t\t// eslint-disable-next-line\r\n\t}, [admin])\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\"NBTC\"\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\tNBTC DATA PORTAL\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\tสำหรับเจ้าหน้าที่\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t (\r\n\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\tif (e.key === 'Enter') handleSubmit(onSignInAdmin)()\r\n\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\tname=\"username\"\r\n\t\t\t\t\t\tdefaultValue={process.env.REACT_APP_DEMO_ADMIN_USERNAME ?? ''}\r\n\t\t\t\t\t/>\r\n\t\t\t\t\t

\r\n\t\t\t\t\t\t{errors.email?.type === 'required' && 'กรุณากรอกอีเมล'}\r\n\t\t\t\t\t

\r\n\t\t\t\t\t (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{showPassword ? : }\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\tonKeyPress={e => {\r\n\t\t\t\t\t\t\t\t\tif (e.key === 'Enter') handleSubmit(onSignInAdmin)()\r\n\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\tname=\"password\"\r\n\t\t\t\t\t\tdefaultValue={process.env.REACT_APP_DEMO_ADMIN_PASSWORD ?? ''}\r\n\t\t\t\t\t/>\r\n\t\t\t\t\t

\r\n\t\t\t\t\t\t{errors.password?.type === 'required' && 'กรุณากรอกรหัสผ่าน'}\r\n\t\t\t\t\t\t{signInMsg}\r\n\t\t\t\t\t

\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{isLoading ? 'กำลังเข้าสู่ระบบ...' : 'เข้าสู่ระบบ'}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n\r\nexport default MainAdminAuth\r\n","import { Grid, IconButton } from '@material-ui/core'\r\nimport { Edit, Delete } from '@material-ui/icons'\r\n\r\nexport default function OrgActions({\r\n\tid,\r\n\tsetCurrentEditUserID,\r\n\tonOpenUserModal,\r\n\tonFindUserToEdit,\r\n\tsetUserModalType,\r\n\tonOpenDeleteUserModal,\r\n}) {\r\n\treturn (\r\n\t\t\r\n\t\t\t {\r\n\t\t\t\t\tsetCurrentEditUserID(id)\r\n\t\t\t\t\tsetUserModalType('edit')\r\n\t\t\t\t\tonOpenUserModal()\r\n\t\t\t\t}}>\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t {\r\n\t\t\t\t\tsetCurrentEditUserID(id)\r\n\t\t\t\t\tonOpenDeleteUserModal()\r\n\t\t\t\t}}>\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n","import { useState, useEffect } from 'react'\r\nimport {\r\n\tGrid,\r\n\tTypography,\r\n\tDivider,\r\n\tButton,\r\n\tuseMediaQuery,\r\n} from '@material-ui/core'\r\nimport { DataGrid, GridOverlay } from '@material-ui/data-grid'\r\nimport {\r\n\tViewComfy,\r\n\tPersonAdd,\r\n\t// SearchOutlined\r\n} from '@material-ui/icons'\r\n\r\nimport OrgActions from '../org-actions'\r\n\r\nimport { makeStyles } from '@material-ui/core/styles'\r\nimport { useTheme } from '@material-ui/core/styles'\r\n\r\nimport { org_status } from '../../../../../data/organization-user/organization-user-status'\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n\tadd_button_styles: {\r\n\t\tbackgroundColor: '#3C8DBC',\r\n\t\tcolor: theme.palette.primary.contrastText,\r\n\t\t'&:hover': {\r\n\t\t\tbackgroundColor: '#2f6f94',\r\n\t\t},\r\n\t},\r\n\tnormal_status_box: {\r\n\t\tbackgroundColor: '#3C8DBC',\r\n\t\tcolor: '#fff',\r\n\t},\r\n\tban_temp_box: {\r\n\t\tbackgroundColor: '#F39C11',\r\n\t\tcolor: '#fff',\r\n\t},\r\n\texpired_box: {\r\n\t\tbackgroundColor: '#DD4C39',\r\n\t\tcolor: '#fff',\r\n\t},\r\n\tnormal_status_text: {\r\n\t\tcolor: '#3C8DBC',\r\n\t\tfontWeight: 600,\r\n\t},\r\n\tban_temp_text: {\r\n\t\tcolor: '#F39C11',\r\n\t\tfontWeight: 600,\r\n\t},\r\n\texpired_text: {\r\n\t\tcolor: '#DD4C39',\r\n\t\tfontWeight: 600,\r\n\t},\r\n}))\r\n\r\nexport default function OrgSearchResult({\r\n\tuser,\r\n\tonOpenUserModal,\r\n\tsetUserModalType,\r\n\tonOpenDeleteUserModal,\r\n\tsetCurrentEditUserID,\r\n\tgetAdminRoleFromID,\r\n\tisDataLoading = false,\r\n}) {\r\n\tconst classes = useStyles()\r\n\tconst [pageSize, setPageSize] = useState(10)\r\n\tconst theme = useTheme()\r\n\tconst isMobile = useMediaQuery(theme.breakpoints.down('sm'))\r\n\r\n\tconst [columnsId, setColumnsId] = useState([100, 0])\r\n\tconst [columnsName, setColumnsName] = useState([180, 0])\r\n\t// const [columnsEmail, setColumnsEmail] = useState([180, 0])\r\n\t// eslint-disable-next-line\r\n\tconst [columnsCitizenId, setColumnsCitizenId] = useState([250, 0])\r\n\t// eslint-disable-next-line\r\n\tconst [columnsPhoneNumber, setColumnsPhoneNumber] = useState([250, 0])\r\n\tconst [columnsDuty, setColumnsDuty] = useState([150, 0])\r\n\tconst [columnsStatus, setColumnsStatus] = useState([150, 0])\r\n\tconst [columnsActions, setColumnsActions] = useState([150, 0])\r\n\r\n\tconst columns = [\r\n\t\t{\r\n\t\t\tfield: 'id',\r\n\t\t\theaderName: 'ลำดับ',\r\n\t\t\twidth: columnsId[0],\r\n\t\t\tflex: columnsId[1],\r\n\t\t\theaderAlign: 'left',\r\n\t\t\talign: 'left',\r\n\t\t\trenderCell: params => (\r\n\t\t\t\t{params.value}\r\n\t\t\t),\r\n\t\t},\r\n\t\t{\r\n\t\t\tfield: 'name',\r\n\t\t\theaderName: 'ชื่อ-นามสกุล',\r\n\t\t\twidth: columnsName[0],\r\n\t\t\tflex: columnsName[1],\r\n\t\t\theaderAlign: 'left',\r\n\t\t\talign: 'left',\r\n\t\t\trenderCell: params => (\r\n\t\t\t\t{params.value}\r\n\t\t\t),\r\n\t\t},\r\n\t\t{\r\n\t\t\tfield: 'adminRoleID',\r\n\t\t\theaderName: 'หน้าที่',\r\n\t\t\twidth: columnsDuty[0],\r\n\t\t\tflex: columnsDuty[1],\r\n\t\t\theaderAlign: 'left',\r\n\t\t\talign: 'left',\r\n\t\t\trenderCell: params => {\r\n\t\t\t\treturn (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{getAdminRoleFromID(params.value)}\r\n\t\t\t\t\t\r\n\t\t\t\t)\r\n\t\t\t},\r\n\t\t},\r\n\t\t{\r\n\t\t\tfield: 'status',\r\n\t\t\theaderName: 'สถานะผู้ใช้งาน',\r\n\t\t\twidth: columnsStatus[0],\r\n\t\t\tflex: columnsStatus[1],\r\n\t\t\theaderAlign: 'left',\r\n\t\t\talign: 'left',\r\n\t\t\trenderCell: params => {\r\n\t\t\t\treturn (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{org_status[params.value]}\r\n\t\t\t\t\t\r\n\t\t\t\t)\r\n\t\t\t},\r\n\t\t},\r\n\t\t{\r\n\t\t\tfield: 'actions',\r\n\t\t\theaderName: 'การกระทำ',\r\n\t\t\twidth: columnsActions[0],\r\n\t\t\tflex: columnsActions[1],\r\n\t\t\theaderAlign: 'center',\r\n\t\t\talign: 'center',\r\n\t\t\trenderCell: params => (\r\n\t\t\t\t\r\n\t\t\t),\r\n\t\t},\r\n\t]\r\n\r\n\tuseEffect(() => {\r\n\t\tif (isMobile) {\r\n\t\t\tsetColumnsId([100, 0])\r\n\t\t\tsetColumnsName([180, 0])\r\n\t\t\t// setColumnsEmail([180, 0])\r\n\t\t\t// setColumnsCitizenId([250, 0])\r\n\t\t\t// setColumnsPhoneNumber([250, 0])\r\n\t\t\tsetColumnsDuty([150, 0])\r\n\t\t\tsetColumnsStatus([150, 0])\r\n\t\t\tsetColumnsActions([150, 0])\r\n\t\t} else {\r\n\t\t\tsetColumnsId([0, 0.7])\r\n\t\t\tsetColumnsName([0, 1])\r\n\t\t\t// setColumnsEmail([0, 1])\r\n\t\t\t// setColumnsCitizenId([0, 1])\r\n\t\t\t// setColumnsPhoneNumber([0, 1])\r\n\t\t\tsetColumnsDuty([0, 1])\r\n\t\t\tsetColumnsStatus([0, 1])\r\n\t\t\tsetColumnsActions([0, 0.8])\r\n\t\t}\r\n\t}, [isMobile])\r\n\r\n\tconst statusBoxGenerator = status => {\r\n\t\tif (status === 1) return classes.normal_status_text\r\n\t\telse if (status === 2) return classes.ban_temp_text\r\n\t\telse if (status === 3) return classes.expired_text\r\n\t}\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tผลการค้นหา\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{/* \r\n\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t}}\r\n\t\t\t\t\t/> */}\r\n\t\t\t\t\t {\r\n\t\t\t\t\t\t\tsetUserModalType('add')\r\n\t\t\t\t\t\t\tonOpenUserModal()\r\n\t\t\t\t\t\t}}>\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\tเพิ่ม\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t setPageSize(size)}\r\n\t\t\t\t\t\tcomponents={{\r\n\t\t\t\t\t\t\tNoRowsOverlay: () => {\r\n\t\t\t\t\t\t\t\tif (!isDataLoading) {\r\n\t\t\t\t\t\t\t\t\treturn ไม่พบข้อมูล;\r\n\t\t\t\t\t\t\t\t}else{\r\n\t\t\t\t\t\t\t\t\treturn กำลังประมวลผลข้อมูล โปรดรอสักครู่..;\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}}\r\n\t\t\t\t\t/>\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n","import { forwardRef, useRef, useEffect } from 'react'\r\nimport {\r\n\tTypography,\r\n\tDialog,\r\n\tDialogTitle,\r\n\tDialogActions,\r\n\tDialogContent,\r\n\tSlide,\r\n\tButton,\r\n\tGrid,\r\n\tuseMediaQuery,\r\n\tIconButton,\r\n\tTextField,\r\n\tDivider,\r\n\tFormControl,\r\n\tSelect,\r\n\tMenuItem,\r\n\tCircularProgress,\r\n} from '@material-ui/core'\r\nimport 'date-fns'\r\n\r\nimport { Close, PersonAdd, Edit } from '@material-ui/icons'\r\nimport { useTheme } from '@material-ui/core/styles'\r\n\r\nexport default function OrganizationUserModal({\r\n\topen,\r\n\thandleButton,\r\n\tonClose,\r\n\tuserModalType,\r\n\t// Adding States\r\n\tnationalCardIDNo,\r\n\tuserInfo,\r\n\tactiveDate,\r\n\texpireDate,\r\n\tfixedTypePermission,\r\n\tmobileTypePermission,\r\n\t// Editing States\r\n\teditNationalCardIDNo,\r\n\teditUserInfo,\r\n\teditActiveDate,\r\n\teditExpireDate,\r\n\teditFixedTypePermission,\r\n\teditMobileTypePermission,\r\n\t// Adding Handler\r\n\tonFillNationalCardIDNo,\r\n\tonCheckFormTypePermission,\r\n\tonChangeUserRoleID,\r\n\tonChangeUserRoleIDSDoc,\r\n\tonChangeUserRoleIDCentralAdmin,\r\n\tonChangeUserprefixname,\r\n\tonSelectActiveDate,\r\n\tonSelectExpireDate,\r\n\torganizationData,\r\n\t// Editing Handler\r\n\tonChangeEditUserRoleID,\r\n\tonChangeEditUserRoleIDSDoc,\r\n\tonChangeEditUserRoleIDCentralAdmin,\r\n\tonChangeEditUserprefixname,\r\n\tonFillEditNationalCardIDNo,\r\n\tonCheckEditFormTypePermission,\r\n\tonSelectEditActiveDate,\r\n\tonSelectEditExpireDate,\r\n\tonFillAddUserInfo,\r\n\tonFillEditUserInfo,\r\n\tonChangeEditUserStatus,\r\n\t// Save Button Logic\r\n\tsaveButtonAdd,\r\n\tsaveButtonEdit,\r\n\t// Admin Role\r\n\tadminRoles,\r\n\t// Search Email\r\n\tonSearchEmail,\r\n\temailValidation,\r\n\tisSearchingEmail,\r\n\t// Validation\r\n\tshowPositionAndSignatureAdd,\r\n\tshowPositionAndSignatureEdit,\r\n\t// Reset Admin Role\r\n\tresetAdminRole,\r\n\t// Uploading Signature Handler\r\n\tonUploadSignature,\r\n\t// Clear All User Modal State Handler\r\n\tclearAllUserModalState,\r\n}) {\r\n\tconst theme = useTheme()\r\n\tconst fullScreen = useMediaQuery(theme.breakpoints.down('sm'))\r\n\tconst descriptionElementRef = useRef(null)\r\n\r\n\tuseEffect(() => {\r\n\t\tif (open) {\r\n\t\t\tconst { current: descriptionElement } = descriptionElementRef\r\n\t\t\tif (descriptionElement !== null) {\r\n\t\t\t\tdescriptionElement.focus()\r\n\t\t\t}\r\n\t\t}\r\n\t}, [open])\r\n\r\n\tconst typeGenerator = _userModalType => {\r\n\t\tif (_userModalType === 'add')\r\n\t\t\treturn {\r\n\t\t\t\tlabel: 'เพิ่มผู้ใช้งาน',\r\n\t\t\t\ticon: ,\r\n\t\t\t}\r\n\t\tif (_userModalType === 'edit')\r\n\t\t\treturn {\r\n\t\t\t\tlabel: 'แก้ไขข้อมูลผู้ใช้งาน',\r\n\t\t\t\ticon: ,\r\n\t\t\t}\r\n\r\n\t\treturn { label: '', icon: '' }\r\n\t}\r\n\r\n\tuseEffect(() => {\r\n\t\treturn () => clearAllUserModalState()\r\n\t\t// eslint-disable-next-line\r\n\t}, [])\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{typeGenerator(userModalType).icon}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{typeGenerator(userModalType).label}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\tข้อมูลเจ้าหน้าที่\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tรีเซ็ต\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{userModalType === 'add' && (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tชื่อผู้ใช้งาน\r\n\t\t\t\t\t\t\t\t\t*\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\tif (e.key === 'Enter') onSearchEmail()\r\n\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{isSearchingEmail ? (\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t\t'ค้นหา'\r\n\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\t\t\t\t\t{userModalType === 'edit' && (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tชื่อผู้ใช้งาน\r\n\t\t\t\t\t\t\t\t\t*\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t{userModalType === 'add' && !emailValidation ? (\r\n\t\t\t\t\t<>\r\n\t\t\t\t) : (\r\n\t\t\t\t\t<>\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tชื่อ\r\n\t\t\t\t\t\t\t\t\t*\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{userModalType === 'add' && (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t{userModalType === 'edit' && (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tนามสกุล\r\n\t\t\t\t\t\t\t\t\t*\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{userModalType === 'add' && (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t{userModalType === 'edit' && (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tเบอร์โทรศัพท์\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{userModalType === 'add' && (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t{userModalType === 'edit' && (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tE-Mail\r\n\t\t\t\t\t\t\t\t\t*\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{userModalType === 'add' && (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t{userModalType === 'edit' && (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tคำนำหน้าชื่อ\r\n\t\t\t\t\t\t\t\t\t*\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tไม่ระบุ\r\n\t\t\t\t\t\t\t\t\t\tนาย\r\n\t\t\t\t\t\t\t\t\t\tนาง\r\n\t\t\t\t\t\t\t\t\t\tนางสาว\r\n\t\t\t\t\t\t\t\t\t\tคุณ\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tสิทธิ์การใช้งานส่วนแอดมินกลาง\r\n\t\t\t\t\t\t\t\t\t*\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\tไม่มีสิทธิ์\r\n\t\t\t\t\t\t\t\t\t\t\t{Object.values(adminRoles).map((item, index) => {\r\n\t\t\t\t\t\t\t\t\t\t\t\tif (item.dataportalServiceID === 3)\r\n\t\t\t\t\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{item.name}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t)\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\treturn null\r\n\t\t\t\t\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tสิทธิ์การใช้งานระบบ QoS\r\n\t\t\t\t\t\t\t\t\t*\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\tไม่มีสิทธิ์\r\n\t\t\t\t\t\t\t\t\t\t\t{Object.values(adminRoles).map((item, index) => {\r\n\t\t\t\t\t\t\t\t\t\t\t\tif (item.dataportalServiceID === 1)\r\n\t\t\t\t\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{item.name}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t)\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\treturn null\r\n\t\t\t\t\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tสิทธิ์การใช้งานระบบ SDoc\r\n\t\t\t\t\t\t\t\t\t*\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\tไม่มีสิทธิ์\r\n\t\t\t\t\t\t\t\t\t\t\t{Object.values(adminRoles).map((item, index) => {\r\n\t\t\t\t\t\t\t\t\t\t\t\tif (item.dataportalServiceID === 2)\r\n\t\t\t\t\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{item.name}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t)\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\treturn null\r\n\t\t\t\t\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t{userModalType === 'add' && showPositionAndSignatureAdd && (\r\n\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\tตำแหน่ง\r\n\t\t\t\t\t\t\t\t\t\t\t*\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\r\n\r\n\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\tลายเซ็น (.PNG เท่านั้น)\r\n\t\t\t\t\t\t\t\t\t\t\t*\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tdocument\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t.getElementById('add-signature-button')\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t.click()\r\n\t\t\t\t\t\t\t\t\t\t\t\t}>\r\n\t\t\t\t\t\t\t\t\t\t\t\tอัพโหลดลายเซ็น\r\n\t\t\t\t\t\t\t\t\t\t\t\t onUploadSignature(e, 'add')}\r\n\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t{userInfo.signature\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t? userInfo.signature?.name\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t: 'ยังไม่เลือกไฟล์'}\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t)}\r\n\r\n\t\t\t\t\t\t{userModalType === 'edit' && showPositionAndSignatureEdit && (\r\n\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\tตำแหน่ง\r\n\t\t\t\t\t\t\t\t\t\t\t*\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\tลายเซ็น (.PNG เท่านั้น)\r\n\t\t\t\t\t\t\t\t\t\t\t*\r\n\t\t\t\t\t\t\t\t\t\t\t{editUserInfo.signature && (\r\n\t\t\t\t\t\t\t\t\t\t\t\tดูลายเซนต์ที่ใช้อยู่\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tdocument\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t.getElementById('edit-signature-button')\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t.click()\r\n\t\t\t\t\t\t\t\t\t\t\t\t}>\r\n\t\t\t\t\t\t\t\t\t\t\t\tอัพโหลดลายเซ็น\r\n\t\t\t\t\t\t\t\t\t\t\t\t onUploadSignature(e, 'edit')}\r\n\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t{editUserInfo.signature\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t? editUserInfo.signature?.name\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t: 'ยังไม่เลือกไฟล์'}\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t
\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tบันทึก\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n\r\nconst Transition = forwardRef(function Transtition(props, ref) {\r\n\treturn \r\n})\r\n","import { forwardRef, useRef, useEffect } from 'react'\r\nimport {\r\n\tDialog,\r\n\tDialogTitle,\r\n\tDialogContent,\r\n\tDialogContentText,\r\n\tGrid,\r\n\tTypography,\r\n\tIconButton,\r\n\tSlide,\r\n\tuseMediaQuery,\r\n\tButton,\r\n} from '@material-ui/core'\r\nimport { Delete, Close } from '@material-ui/icons'\r\n\r\nimport { useTheme, makeStyles } from '@material-ui/core/styles'\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n\tdelete_button: {\r\n\t\tbackgroundColor: 'red',\r\n\t\tcolor: '#fff',\r\n\t\t'&:hover': {\r\n\t\t\tbackgroundColor: '#b43e2f',\r\n\t\t},\r\n\t},\r\n}))\r\n\r\nexport function DeleteUserModal({ open, onClose, onDelete }) {\r\n\tconst classes = useStyles()\r\n\tconst theme = useTheme()\r\n\tconst fullScreen = useMediaQuery(theme.breakpoints.down('sm'))\r\n\tconst descriptionElementRef = useRef(null)\r\n\r\n\tuseEffect(() => {\r\n\t\tif (open) {\r\n\t\t\tconst { current: descriptionElement } = descriptionElementRef\r\n\t\t\tif (descriptionElement !== null) {\r\n\t\t\t\tdescriptionElement.focus()\r\n\t\t\t}\r\n\t\t}\r\n\t}, [open])\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tลบผู้ใช้งาน\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tคุณแน่ใจที่จะลบผู้ใช้งานคนนี้ใช่หรือไม่?\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tลบผู้ใช้งาน\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n\r\nconst Transition = forwardRef(function Transtition(props, ref) {\r\n\treturn \r\n})\r\n","import { forwardRef, useRef } from 'react'\r\nimport {\r\n\tGrid,\r\n\tDialog,\r\n\tDialogContent,\r\n\tDialogContentText,\r\n\tDialogActions,\r\n\tSlide,\r\n\tButton,\r\n\tuseMediaQuery,\r\n} from '@material-ui/core'\r\nimport { useTheme } from '@material-ui/core/styles'\r\n\r\nimport Cancel from '@assets/images/cancel.png'\r\n\r\nexport default function NotFoundModal({\r\n\topen,\r\n\thandleButton,\r\n}) {\r\n\tconst theme = useTheme()\r\n\tconst fullScreen = useMediaQuery(theme.breakpoints.down('sm'))\r\n\tconst descriptionElementRef = useRef(null)\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tไม่พบหมายเลขบัตรประชาชนนี้\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tตกลง\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n\r\nconst Transition = forwardRef(function Transtition(props, ref) {\r\n\treturn \r\n})\r\n","import { forwardRef, useRef } from 'react'\r\nimport {\r\n\tGrid,\r\n\tDialog,\r\n\tDialogContent,\r\n\tDialogContentText,\r\n\tDialogActions,\r\n\tSlide,\r\n\tButton,\r\n\tuseMediaQuery,\r\n} from '@material-ui/core'\r\nimport { useTheme } from '@material-ui/core/styles'\r\n\r\nimport Check from '@assets/images/check.png'\r\n\r\nexport default function AddingSuccessModal({\r\n\topen,\r\n\thandleButton,\r\n}) {\r\n\tconst theme = useTheme()\r\n\tconst fullScreen = useMediaQuery(theme.breakpoints.down('sm'))\r\n\tconst descriptionElementRef = useRef(null)\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tเพิ่มผู้ใช้งานสำเร็จ\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tตกลง\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n\r\nconst Transition = forwardRef(function Transtition(props, ref) {\r\n\treturn \r\n})\r\n","import { forwardRef, useRef } from 'react'\r\nimport {\r\n\tGrid,\r\n\tDialog,\r\n\tDialogContent,\r\n\tDialogContentText,\r\n\tDialogActions,\r\n\tSlide,\r\n\tButton,\r\n\tuseMediaQuery,\r\n} from '@material-ui/core'\r\nimport { useTheme } from '@material-ui/core/styles'\r\n\r\nimport Cancel from '@assets/images/cancel.png'\r\n\r\nexport default function AddingFailedModal({\r\n\topen,\r\n\thandleButton,\r\n\tmessage,\r\n}) {\r\n\tconst theme = useTheme()\r\n\tconst fullScreen = useMediaQuery(theme.breakpoints.down('sm'))\r\n\tconst descriptionElementRef = useRef(null)\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t{message}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tตกลง\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n\r\nconst Transition = forwardRef(function Transtition(props, ref) {\r\n\treturn \r\n})\r\n","import { forwardRef, useRef } from 'react'\r\nimport {\r\n\tGrid,\r\n\tDialog,\r\n\tDialogContent,\r\n\tDialogContentText,\r\n\tDialogActions,\r\n\tSlide,\r\n\tButton,\r\n\tuseMediaQuery,\r\n} from '@material-ui/core'\r\nimport { useTheme } from '@material-ui/core/styles'\r\n\r\nimport Check from '@assets/images/check.png'\r\n\r\nexport default function EditingSuccessModal({\r\n\topen,\r\n\thandleButton,\r\n}) {\r\n\tconst theme = useTheme()\r\n\tconst fullScreen = useMediaQuery(theme.breakpoints.down('sm'))\r\n\tconst descriptionElementRef = useRef(null)\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tแก้ไขข้อมูลผู้ใช้งานสำเร็จ\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tตกลง\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n\r\nconst Transition = forwardRef(function Transtition(props, ref) {\r\n\treturn \r\n})\r\n","import { forwardRef, useRef } from 'react'\r\nimport {\r\n\tGrid,\r\n\tDialog,\r\n\tDialogContent,\r\n\tDialogContentText,\r\n\tDialogActions,\r\n\tSlide,\r\n\tButton,\r\n\tuseMediaQuery,\r\n} from '@material-ui/core'\r\nimport { useTheme } from '@material-ui/core/styles'\r\n\r\nimport Cancel from '@assets/images/cancel.png'\r\n\r\nexport default function EditingFailedModal({\r\n\topen,\r\n\thandleButton,\r\n\tmessage,\r\n}) {\r\n\tconst theme = useTheme()\r\n\tconst fullScreen = useMediaQuery(theme.breakpoints.down('sm'))\r\n\tconst descriptionElementRef = useRef(null)\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t{message}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tตกลง\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n\r\nconst Transition = forwardRef(function Transtition(props, ref) {\r\n\treturn \r\n})\r\n","import { forwardRef, useRef } from 'react'\r\nimport {\r\n\tGrid,\r\n\tDialog,\r\n\tDialogContent,\r\n\tDialogContentText,\r\n\tDialogActions,\r\n\tSlide,\r\n\tButton,\r\n\tuseMediaQuery,\r\n} from '@material-ui/core'\r\nimport { useTheme } from '@material-ui/core/styles'\r\n\r\nimport Check from '@assets/images/check.png'\r\n\r\nexport default function DeletedSuccessModal({\r\n\topen,\r\n\thandleButton,\r\n}) {\r\n\tconst theme = useTheme()\r\n\tconst fullScreen = useMediaQuery(theme.breakpoints.down('sm'))\r\n\tconst descriptionElementRef = useRef(null)\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tลบข้อมูลผู้ใช้งานสำเร็จ\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tตกลง\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n\r\nconst Transition = forwardRef(function Transtition(props, ref) {\r\n\treturn \r\n})\r\n","import { forwardRef, useRef } from 'react'\r\nimport {\r\n\tGrid,\r\n\tDialog,\r\n\tDialogContent,\r\n\tDialogContentText,\r\n\tDialogActions,\r\n\tSlide,\r\n\tButton,\r\n\tuseMediaQuery,\r\n} from '@material-ui/core'\r\nimport { useTheme } from '@material-ui/core/styles'\r\n\r\nimport Cancel from '@assets/images/cancel.png'\r\n\r\nexport default function DeletedFailedModal({\r\n\topen,\r\n\thandleButton,\r\n\tmessage,\r\n}) {\r\n\tconst theme = useTheme()\r\n\tconst fullScreen = useMediaQuery(theme.breakpoints.down('sm'))\r\n\tconst descriptionElementRef = useRef(null)\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t{message}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tตกลง\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n\r\nconst Transition = forwardRef(function Transtition(props, ref) {\r\n\treturn \r\n})\r\n","// Page Descrition: Admin's user management page\r\nimport React, { useState, useEffect } from 'react'\r\nimport { Grid } from '@material-ui/core/'\r\n\r\nimport OrgSearchResult from '@pages/main-admin/user-management/components/search-result/index'\r\nimport OrganizationUserModal from 'pages/main-admin/user-management/components/user-modal/index'\r\nimport { DeleteUserModal } from '@pages/main-admin/user-management/components/delete-user-modal'\r\nimport NotFoundModal from '@pages/main-admin/user-management/components/not-found-modal'\r\nimport AddingSuccessModal from '@pages/main-admin/user-management/components/adding-success-modal'\r\nimport AddingFailedModal from '@pages/main-admin/user-management/components/adding-failed-modal'\r\nimport EditingSuccessModal from '@pages/main-admin/user-management/components/editing-success-modal'\r\nimport EditingFailedModal from '@pages/main-admin/user-management/components/editing-failed-modal'\r\nimport DeletedSuccessModal from '@pages/main-admin/user-management/components/deleted-success-modal'\r\nimport DeletedFailedModal from '@pages/main-admin/user-management/components/deleted-failed-modal'\r\n\r\nimport { useStoreRehydrated } from '../../../store'\r\n\r\nimport { useLoaded } from '../../../utils/useLoaded'\r\nimport { admin, adminQoS } from '../../../api/index'\r\n\r\nimport { org_status } from '../../../data/organization-user/organization-user-status'\r\n\r\nconst initialUserInfoState = {\r\n\tadminRoleID: 'no-permission',\r\n\tadminRoleIDSDoc: 'no-permission',\r\n\tadminRoleIDCentralAdmin: 'no-permission',\r\n\temail: '',\r\n\tfirstname: '',\r\n\tlastname: '',\r\n\ttel: '',\r\n\tposition: '',\r\n\tadminStatusID: 1,\r\n\tsignature: null,\r\n\tmobile: '',\r\n\tprefixname: 'ไม่ระบุ',\r\n}\r\n\r\n/**\r\n * * Developer Notes - Fetched Admin Permission Role ID Field Name\r\n * `dataportalServiceID: 1`: QoS\r\n * `dataportalServiceID: 2`: SDoc\r\n * `dataportalServiceID: 3`: Central Admin\r\n */\r\n\r\nexport default function MainAdminUserManagement() {\r\n\tconst loaded = useLoaded()\r\n\tconst isRehydrated = useStoreRehydrated()\r\n\t// Main Users Data\r\n\tconst [user, setUser] = useState([])\r\n\tconst [userData, setUserData] = useState([])\r\n\t// Modal State\r\n\tconst [currentEditUserID, setCurrentEditUserID] = useState(null)\r\n\tconst [openUserModal, setOpenUserModal] = useState(false)\r\n\tconst [userModalType, setUserModalType] = useState('add')\r\n\tconst [openDeleteUserModal, setOpenDeleteUserModal] = useState(false)\r\n\tconst [openAddingSuccessModal, setOpenAddingSuccessModal] = useState(false)\r\n\tconst [openAddingFailedModal, setOpenAddingFailedModal] = useState(false)\r\n\tconst [openNotFoundModal, setOpenNotFoundModal] = useState(false)\r\n\tconst [openEditingSuccessModal, setOpenEditingSuccessModal] = useState(false)\r\n\tconst [openEditingFailedModal, setOpenEditingFailedModal] = useState(false)\r\n\tconst [openDeletedSuccessModal, setOpenDeletedSuccessModal] = useState(false)\r\n\tconst [openDeletedFailedModal, setOpenDeletedFailedModal] = useState(false)\r\n\tconst [openUserNotFoundModal, setOpenUserNotFoundModal] = useState(false)\r\n\t// Validation\r\n\tconst [isSearchingEmail, setIsSearchingEmail] = useState(false)\r\n\tconst [emailValidation, setEmailValidation] = useState(false)\r\n\tconst [showPositionAndSignatureAdd, setShowPositionAndSignatureAdd] =\r\n\t\tuseState(false)\r\n\tconst [showPositionAndSignatureEdit, setShowPositionAndSignatureEdit] =\r\n\t\tuseState(false)\r\n\r\n\t// Adding User State\r\n\tconst [nationalIDCardNo, setNationalIDCardNo] = useState('')\r\n\tconst [userInfo, setUserInfo] = useState(initialUserInfoState)\r\n\tconst [activeDate, setActiveDate] = useState(null)\r\n\tconst [expireDate, setExpireDate] = useState(null)\r\n\tconst [fixedTypePermission, setFixedTypePermission] = useState(false)\r\n\tconst [mobileTypePermission, setMobileTypePermission] = useState(false)\r\n\t// const [organizationData, setOrganizationData] = useState(null)\r\n\t// Editing User State\r\n\tconst [editNationalIDCardNo, setEditNationalIDCardNo] = useState('')\r\n\tconst [editUserInfo, setEditUserInfo] = useState(initialUserInfoState)\r\n\tconst [editActiveDate, setEditActiveDate] = useState(null)\r\n\tconst [editExpireDate, setEditExpireDate] = useState(null)\r\n\tconst [editFixedTypePermission, setEditFixedTypePermission] = useState(false)\r\n\tconst [editMobileTypePermission, setEditMobileTypePermission] =\r\n\t\tuseState(false)\r\n\t// Save Button Logic\r\n\tconst [saveButtonAdd, setSaveButtonAdd] = useState(true)\r\n\tconst [saveButtonEdit, setSaveButtonEdit] = useState(true)\r\n\r\n\t// Admin Roles\r\n\tconst [adminRoles, setAdminRoles] = useState([])\r\n\r\n\t/** -----------------------------------------------------------> */\r\n\r\n\t// Main Function\r\n\r\n\tconst onOpenUserNotFoundModal = () => {\r\n\t\tsetOpenUserNotFoundModal(!openUserNotFoundModal)\r\n\t}\r\n\r\n\tconst onOpenUserModal = () => {\r\n\t\tsetOpenUserModal(!openUserModal)\r\n\t\tclearAllUserModalState()\r\n\t}\r\n\r\n\tconst onOpenDeleteUserModal = () => {\r\n\t\tsetOpenDeleteUserModal(!openDeleteUserModal)\r\n\t}\r\n\r\n\tconst onOpenNotFoundModal = () => {\r\n\t\tsetOpenNotFoundModal(!openNotFoundModal)\r\n\t}\r\n\r\n\tconst onOpenAddingSuccessModal = () => {\r\n\t\tsetOpenAddingSuccessModal(!openAddingSuccessModal)\r\n\t}\r\n\r\n\tconst onOpenAddingFailedModal = () => {\r\n\t\tsetOpenAddingFailedModal(!openAddingFailedModal)\r\n\t}\r\n\r\n\tconst onOpenEditingSuccessModal = () => {\r\n\t\tsetOpenEditingSuccessModal(!openEditingSuccessModal)\r\n\t}\r\n\r\n\tconst onOpenEditingFailedModal = () => {\r\n\t\tsetOpenEditingFailedModal(!openEditingFailedModal)\r\n\t}\r\n\r\n\tconst onOpenDeletedSuccessModal = () => {\r\n\t\tsetOpenDeletedSuccessModal(!openDeletedSuccessModal)\r\n\t}\r\n\r\n\tconst onOpenDeletedFailedModal = () => {\r\n\t\tsetOpenDeletedFailedModal(!openDeletedFailedModal)\r\n\t}\r\n\r\n\tconst onSearchEmail = async () => {\r\n\t\tsetIsSearchingEmail(true)\r\n\t\tconst resSearch = await adminQoS.ldapAuth(userInfo.username)\r\n\t\tif (resSearch) {\r\n\t\t\tif (resSearch.status === 200) {\r\n\t\t\t\tsetEmailValidation(true)\r\n\t\t\t\tsetUserInfo({\r\n\t\t\t\t\t...userInfo,\r\n\t\t\t\t\tadminRoleID: userInfo.adminRoleID,\r\n\t\t\t\t\tadminRoleIDSDoc: userInfo.adminRoleIDSDoc,\r\n\t\t\t\t\tadminRoleIDCentralAdmin: userInfo.adminRoleIDCentralAdmin,\r\n\t\t\t\t\tfirstname: resSearch.data.firstname,\r\n\t\t\t\t\tlastname: resSearch.data.lastname,\r\n\t\t\t\t\temail: resSearch.data.email,\r\n\t\t\t\t\tprefixname: resSearch.data.prefixname,\r\n\t\t\t\t\tadminStatusID: userInfo.adminStatusID,\r\n\t\t\t\t})\r\n\t\t\t} else {\r\n\t\t\t\tsetEmailValidation(false)\r\n\t\t\t\tonOpenUserNotFoundModal()\r\n\t\t\t}\r\n\t\t\tsetIsSearchingEmail(false)\r\n\t\t}\r\n\t}\r\n\r\n\tconst onUploadSignature = (e, type) => {\r\n\t\tconst { files } = e.target\r\n\t\tif (type === 'add' && files.length !== 0)\r\n\t\t\tsetUserInfo({ ...userInfo, signature: files[0] })\r\n\t\telse if (type === 'edit' && files.length !== 0){\r\n\t\t\tsetEditUserInfo({ ...editUserInfo, signature: files[0] })\r\n\t\t}\r\n\t\t\t\r\n\t}\r\n\r\n\tconst getAdminRoles = async () => {\r\n\t\tconst resRoles = await admin.getAdminRoles()\r\n\t\tif (resRoles) {\r\n\t\t\tif (resRoles.status === 200) {\r\n\t\t\t\tconst fetchedAdminRoles = resRoles.data\r\n\t\t\t\tlet tempAdminRoles = []\r\n\t\t\t\tfetchedAdminRoles.forEach((item, index) => {\r\n\t\t\t\t\tif (item.isActive === '1') {\r\n\t\t\t\t\t\ttempAdminRoles.push({\r\n\t\t\t\t\t\t\tname: item.adminRoleName,\r\n\t\t\t\t\t\t\tdataportalServiceID: item.dataportalServiceID,\r\n\t\t\t\t\t\t\tvalue: item.id,\r\n\t\t\t\t\t\t})\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t\tsetAdminRoles(tempAdminRoles)\r\n\t\t\t\treturn tempAdminRoles\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tconst onAddAdmin = async () => {\r\n\t\tconst res = await adminQoS.addAdmin(userInfo)\r\n\t\tif (res.status === 201) {\r\n\t\t\tonOpenAddingSuccessModal()\r\n\t\t\tsetUserInfo(initialUserInfoState)\r\n\t\t\tsetEditUserInfo(initialUserInfoState)\r\n\t\t} else {\r\n\t\t\tonOpenAddingFailedModal()\r\n\t\t}\r\n\t}\r\n\r\n\tconst onLanding = async () => {\r\n\t\tgetAdminRoles()\r\n\t\tconst res = await admin.getAdmins()\r\n\t\tif (res) {\r\n\t\t\tif (res.status === 200) {\r\n\t\t\t\tconst fetchedAdmin = res.data\r\n\r\n\t\t\t\tconst preprocessedArr = fetchedAdmin.map((item, index) => {\r\n\t\t\t\t\treturn {\r\n\t\t\t\t\t\tid: index + 1,\r\n\t\t\t\t\t\tadminId: item.id ?? '',\r\n\t\t\t\t\t\tname: item.firstname + ' ' + item.lastname,\r\n\t\t\t\t\t\t// email: item.email ?? '',\r\n\t\t\t\t\t\t// nationalIDCardNo: item.nationalIDCardNo ?? '',\r\n\t\t\t\t\t\t// mobile: item.mobile ?? '',\r\n\t\t\t\t\t\tadminRoleID: item.adminRoleID ?? '',\r\n\t\t\t\t\t\t// periodActivate: `${\r\n\t\t\t\t\t\t// \titem.activeDate\r\n\t\t\t\t\t\t// \t\t? format(new Date(item.activeDate), 'dd/MM/yyyy')\r\n\t\t\t\t\t\t// \t\t: ''\r\n\t\t\t\t\t\t// } ${\r\n\t\t\t\t\t\t// \titem.expireDate\r\n\t\t\t\t\t\t// \t\t? '- ' + format(new Date(item.expireDate), 'dd/MM/yyyy')\r\n\t\t\t\t\t\t// \t\t: ''\r\n\t\t\t\t\t\t// } `,\r\n\t\t\t\t\t\tstatus: parseInt(item.adminStatusID) ?? '',\r\n\t\t\t\t\t\tadminAccess: item.adminAccess,\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\r\n\t\t\t\tsetUserData(fetchedAdmin)\r\n\t\t\t\tsetUser(preprocessedArr)\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\t/** <----------------------------------------------------------- */\r\n\r\n\t// Adding User\r\n\r\n\tconst onFillNationalCardIDNo = e => {\r\n\t\tvar pattern = /^[0-9\\b]+$/\r\n\t\tconst { value } = e.target\r\n\t\tif (pattern.test(value) || value === '') {\r\n\t\t\tsetNationalIDCardNo(value)\r\n\t\t\tsetSaveButtonAdd(true)\r\n\t\t}\r\n\t}\r\n\r\n\tconst onCheckFormTypePermission = (type, checked) => {\r\n\t\tif (type === 1) setFixedTypePermission(checked)\r\n\t\telse if (type === 2) setMobileTypePermission(checked)\r\n\t}\r\n\r\n\tconst onChangeUserRoleID = e => {\r\n\t\tconst { value } = e.target\r\n\t\tsetUserInfo({ ...userInfo, adminRoleID: value })\r\n\t}\r\n\r\n\tconst onChangeUserRoleIDSDoc = e => {\r\n\t\tconst { value } = e.target\r\n\t\tsetUserInfo({ ...userInfo, adminRoleIDSDoc: value })\r\n\t}\r\n\r\n\tconst onChangeUserRoleIDCentralAdmin = e => {\r\n\t\tconst { value } = e.target\r\n\t\tsetUserInfo({ ...userInfo, adminRoleIDCentralAdmin: value })\r\n\t}\r\n\r\n\tconst onSelectActiveDate = val => setActiveDate(val)\r\n\r\n\tconst onSelectExpireDate = val => setExpireDate(val)\r\n\r\n\t//new\r\n\tconst onChangeUserprefixname = e => {\r\n\t\tconst { value } = e.target\r\n\t\tsetUserInfo({ ...userInfo, prefixname: value })\r\n\t}\r\n\r\n\t// Editing User\r\n\r\n\tconst onFindUserToEdit = () => {\r\n\t\tconst finded = userData.find(item => item.id === currentEditUserID)\r\n\r\n\t\tif (finded) {\r\n\t\t\tconst findedAdminRoleId = finded?.adminAccess\r\n\t\t\t\t? finded.adminAccess.find(\r\n\t\t\t\t\t\titem => parseInt(item.dataportalServiceID) === 1\r\n\t\t\t\t )\r\n\t\t\t\t: null\r\n\t\t\tconst findedAdminRoleIdSdoc = finded?.adminAccess\r\n\t\t\t\t? finded.adminAccess.find(\r\n\t\t\t\t\t\titem => parseInt(item.dataportalServiceID) === 2\r\n\t\t\t\t )\r\n\t\t\t\t: null\r\n\t\t\tconst findedAdminRoleIdCentralAdmin = finded?.adminAccess\r\n\t\t\t\t? finded.adminAccess.find(\r\n\t\t\t\t\t\titem => parseInt(item.dataportalServiceID) === 3\r\n\t\t\t\t )\r\n\t\t\t\t: null\r\n\r\n\t\t\tsetEditUserInfo({\r\n\t\t\t\tadminId: finded.id,\r\n\t\t\t\tadminRoleID: findedAdminRoleId?.adminRoleID ?? 'no-permission',\r\n\t\t\t\tadminRoleIDSDoc: findedAdminRoleIdSdoc?.adminRoleID ?? 'no-permission',\r\n\t\t\t\tadminRoleIDCentralAdmin:\r\n\t\t\t\t\tfindedAdminRoleIdCentralAdmin?.adminRoleID ?? 'no-permission',\r\n\t\t\t\tfirstname: finded.firstname,\r\n\t\t\t\tlastname: finded.lastname,\r\n\t\t\t\temail: finded.email,\r\n\t\t\t\tprefixname: finded.prefixname,\r\n\t\t\t\tusername: finded.username,\r\n\t\t\t\tadminStatusID: finded.adminStatusID,\r\n\t\t\t\tadminAccess: finded.adminAccess,\r\n\t\t\t\tmobile: finded.mobile,\r\n\t\t\t\tposition: finded.position,\r\n\t\t\t\tsignature:finded.signaturePicturePath\r\n\t\t\t})\r\n\t\t}\r\n\t}\r\n\r\n\tconst onFillEditNationalCardIDNo = e => {\r\n\t\tvar pattern = /^[0-9\\b]+$/\r\n\t\tconst { value } = e.target\r\n\t\tif (pattern.test(value) || value === '') {\r\n\t\t\tsetEditNationalIDCardNo(value)\r\n\t\t}\r\n\t}\r\n\r\n\tconst onFillAddUserInfo = e => {\r\n\t\tconst { name, value } = e.target\r\n\t\tsetUserInfo({ ...userInfo, [name]: value })\r\n\t}\r\n\r\n\tconst onFillEditUserInfo = e => {\r\n\t\tconst { name, value } = e.target\r\n\t\tsetEditUserInfo({ ...editUserInfo, [name]: value })\r\n\t}\r\n\r\n\tconst onChangeEditUserRoleID = e => {\r\n\t\tconst { value } = e.target\r\n\t\tsetEditUserInfo({ ...editUserInfo, adminRoleID: value })\r\n\t}\r\n\r\n\tconst onChangeEditUserRoleIDSDoc = e => {\r\n\t\tconst { value } = e.target\r\n\t\tsetEditUserInfo({ ...editUserInfo, adminRoleIDSDoc: value })\r\n\t}\r\n\r\n\tconst onChangeEditUserRoleIDCentralAdmin = e => {\r\n\t\tconst { value } = e.target\r\n\t\tsetEditUserInfo({ ...editUserInfo, adminRoleIDCentralAdmin: value })\r\n\t}\r\n\r\n\tconst onChangeEditUserStatus = e => {\r\n\t\tconst { value } = e.target\r\n\t\tconst findedStatus = Object.keys(org_status).find(\r\n\t\t\t(item, index) => item === value\r\n\t\t)\r\n\r\n\t\tif (findedStatus)\r\n\t\t\tsetEditUserInfo({\r\n\t\t\t\t...editUserInfo,\r\n\t\t\t\tuserStatus: {\r\n\t\t\t\t\tid: findedStatus,\r\n\t\t\t\t\tname: org_status[findedStatus],\r\n\t\t\t\t},\r\n\t\t\t})\r\n\t}\r\n\r\n\tconst onCheckEditFormTypePermission = (type, checked) => {\r\n\t\tif (type === 1) setEditMobileTypePermission(checked)\r\n\t\telse if (type === 2) setEditFixedTypePermission(checked)\r\n\t}\r\n\r\n\tconst onSelectEditActiveDate = val => setEditActiveDate(val)\r\n\r\n\tconst onSelectEditExpireDate = val => setEditExpireDate(val)\r\n\r\n\tconst onEditUser = async () => {\r\n\t\tconst res = await adminQoS.editAdmin(editUserInfo)\r\n\t\tif (res) {\r\n\t\t\tif (res.status === (200 || 201)) onOpenEditingSuccessModal()\r\n\t\t\telse onOpenEditingFailedModal()\r\n\t\t}\r\n\t}\r\n\t// new code\r\n\tconst onChangeEditUserprefixname = e => {\r\n\t\tconst { value } = e.target\r\n\t\tsetEditUserInfo({ ...editUserInfo, prefixname: value })\r\n\t}\r\n\r\n\t// Delete User\r\n\tconst deleteUserID = async () => {\r\n\t\tonOpenDeleteUserModal()\r\n\t\tconst finded = userData.find(item => item.id === currentEditUserID)\r\n\t\tif (finded) {\r\n\t\t\tconst res = await admin.deleteAdmin(currentEditUserID)\r\n\t\t\tconst status = res.status\r\n\t\t\tif (status === 200) {\r\n\t\t\t\tonOpenDeletedSuccessModal()\r\n\t\t\t} else {\r\n\t\t\t\tonOpenDeletedFailedModal()\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tonOpenDeletedFailedModal()\r\n\t\t}\r\n\t}\r\n\r\n\t// Get Admin Role from ID\r\n\tconst getAdminRoleFromID = id => {\r\n\t\tfor (let i = 0; i < adminRoles.length; i++) {\r\n\t\t\tif (adminRoles[i].value === id) return adminRoles[i].name\r\n\t\t}\r\n\t}\r\n\r\n\tconst clearAllUserModalState = () => {\r\n\t\tsetUserInfo(initialUserInfoState)\r\n\t\tsetEditUserInfo(initialUserInfoState)\r\n\t}\r\n\r\n\t// Reset Role of Admin\r\n\r\n\tconst resetAdminRole = () => {\r\n\t\tif (userModalType === 'add') {\r\n\t\t\tsetUserInfo({\r\n\t\t\t\tadminRoleID: 'no-permission',\r\n\t\t\t\tadminRoleIDSDoc: 'no-permission',\r\n\t\t\t\tadminRoleIDCentralAdmin: 'no-permission',\r\n\t\t\t\temail: userInfo.email,\r\n\t\t\t\tprefixname: userInfo.prefixname,\r\n\t\t\t\tfirstname: userInfo.firstname,\r\n\t\t\t\tlastname: userInfo.lastname,\r\n\t\t\t\tadminStatusID: userInfo.adminStatusID,\r\n\t\t\t})\r\n\t\t} else if (userModalType === 'edit') {\r\n\t\t\tonFindUserToEdit()\r\n\t\t}\r\n\t}\r\n\r\n\t/** -----------------------------------------------------------> */\r\n\r\n\t// Main Rendering Function\r\n\r\n\tuseEffect(() => {\r\n\t\tif (userModalType === 'edit') onFindUserToEdit()\r\n\t\t//eslint-disable-next-line\r\n\t}, [openUserModal])\r\n\r\n\tuseEffect(() => {\r\n\t\tif (isRehydrated) onLanding()\r\n\t\t// eslint-disable-next-line\r\n\t}, [isRehydrated])\r\n\r\n\tuseEffect(() => {\r\n\t\tsetEmailValidation(false)\r\n\t}, [userInfo.username])\r\n\r\n\tuseEffect(() => {\r\n\t\tif (\r\n\t\t\temailValidation &&\r\n\t\t\t(userInfo.adminRoleID !== 'no-permission' ||\r\n\t\t\t\tuserInfo.adminRoleIDSDoc !== 'no-permission' ||\r\n\t\t\t\tuserInfo.adminRoleIDCentralAdmin !== 'no-permission')\r\n\t\t) {\r\n\t\t\tif (\r\n\t\t\t\t(userInfo.adminRoleID === 8 || userInfo.adminRoleIDSDoc === 12) &&\r\n\t\t\t\t(!userInfo.position || userInfo.signature === null)\r\n\t\t\t) {\r\n\t\t\t\tsetSaveButtonAdd(false)\r\n\t\t\t} else if (\r\n\t\t\t\tuserInfo.email === '' ||\r\n\t\t\t\tuserInfo.email === null ||\r\n\t\t\t\tuserInfo.email === ' '\r\n\t\t\t) {\r\n\t\t\t\tsetSaveButtonAdd(false)\r\n\t\t\t} else {\r\n\t\t\t\tsetSaveButtonAdd(true)\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tsetSaveButtonAdd(false)\r\n\t\t}\r\n\t}, [\r\n\t\topenUserModal,\r\n\t\temailValidation,\r\n\t\tuserInfo.email,\r\n\t\tuserInfo.adminRoleID,\r\n\t\tuserInfo.adminRoleIDSDoc,\r\n\t\tuserInfo.adminRoleIDCentralAdmin,\r\n\t\tuserInfo.position,\r\n\t\tuserInfo.signature,\r\n\t])\r\n\r\n\tuseEffect(() => console.log('userInfo', userInfo), [userInfo])\r\n\r\n\tuseEffect(() => {\r\n\t\tif (\r\n\t\t\teditUserInfo.adminRoleID ||\r\n\t\t\teditUserInfo.adminRoleIDSDoc ||\r\n\t\t\teditUserInfo.adminRoleIDCentralAdmin\r\n\t\t) {\r\n\t\t\tif (\r\n\t\t\t\t(editUserInfo.adminRoleID === 8 || editUserInfo.adminRoleID === 9 ||editUserInfo.adminRoleID === 12 ) &&\r\n\t\t\t\t(!editUserInfo.position || editUserInfo.signature === null)\r\n\t\t\t) {\r\n\t\t\t\tsetSaveButtonEdit(false)\r\n\t\t\t} else if (\r\n\t\t\t\teditUserInfo.email === '' ||\r\n\t\t\t\teditUserInfo.email === null ||\r\n\t\t\t\teditUserInfo.email === ' '\r\n\t\t\t) {\r\n\t\t\t\tsetSaveButtonAdd(false)\r\n\t\t\t} else {\r\n\t\t\t\tsetSaveButtonEdit(true)\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tsetSaveButtonEdit(false)\r\n\t\t}\r\n\t}, [\r\n\t\topenUserModal,\r\n\t\teditUserInfo.email,\r\n\t\teditUserInfo.adminRoleID,\r\n\t\teditUserInfo.adminRoleIDSDoc,\r\n\t\teditUserInfo.adminRoleIDCentralAdmin,\r\n\t\teditUserInfo.position,\r\n\t\teditUserInfo.signature,\r\n\t])\r\n\r\n\tuseEffect(() => {\r\n\t\tif (userInfo.adminRoleIDSDoc === 8 ||userInfo.adminRoleIDSDoc === 9 || userInfo.adminRoleIDSDoc === 12 || userInfo.adminRoleIDSDoc === 15)\r\n\t\t\tsetShowPositionAndSignatureAdd(true)\r\n\t\telse setShowPositionAndSignatureAdd(false)\r\n\t}, [userInfo.adminRoleID, userInfo.adminRoleIDSDoc])\r\n\r\n\tuseEffect(() => {\r\n\t\tif (editUserInfo.adminRoleIDSDoc === 8 ||editUserInfo.adminRoleIDSDoc === 9 || editUserInfo.adminRoleIDSDoc === 12 || editUserInfo.adminRoleIDSDoc === 15)\r\n\t\t\tsetShowPositionAndSignatureEdit(true)\r\n\t\telse setShowPositionAndSignatureEdit(false)\r\n\t}, [editUserInfo.adminRoleID, editUserInfo.adminRoleIDSDoc])\r\n\r\n\t/** <----------------------------------------------------------- */\r\n\r\n\treturn (\r\n\t\tloaded && (\r\n\t\t\t<>\r\n\t\t\t\t\r\n\t\t\t\t\t{/* */}\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t {\r\n\t\t\t\t\t\t\tonLanding()\r\n\t\t\t\t\t\t\tonOpenAddingSuccessModal()\r\n\t\t\t\t\t\t\tonOpenUserModal()\r\n\t\t\t\t\t\t}}\r\n\t\t\t\t\t/>\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t {\r\n\t\t\t\t\t\t\tonLanding()\r\n\t\t\t\t\t\t\tonOpenEditingSuccessModal()\r\n\t\t\t\t\t\t\tonOpenUserModal()\r\n\t\t\t\t\t\t}}\r\n\t\t\t\t\t/>\r\n\t\t\t\t\t\r\n\t\t\t\t\t {\r\n\t\t\t\t\t\t\tonLanding()\r\n\t\t\t\t\t\t\tonOpenDeletedSuccessModal()\r\n\t\t\t\t\t\t\t// onOpenUserModal()\r\n\t\t\t\t\t\t}}\r\n\t\t\t\t\t/>\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t)\r\n\t)\r\n}\r\n","import { useEffect } from 'react'\r\nimport { Switch, Route, useRouteMatch, Redirect } from 'react-router-dom'\r\nimport ProtectedRoute from './protected-route'\r\nimport { useStoreActions } from '@store'\r\n\r\n// Views\r\nimport MainAdminAuth from './auth'\r\nimport MainAdminUserManagement from './user-management'\r\n\r\n// import Dashboard from 'pages/sdoc/admin/dashboard/index'\r\n\r\nexport default function MainAdminRoutes() {\r\n\tconst { path } = useRouteMatch()\r\n\tconst setAppType = useStoreActions(a => a.appModel.setAppType)\r\n\r\n\tuseEffect(() => setAppType('main-admin'))\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t\t
อยู่ระหว่างดำเนินการ
\r\n\t\t\t
\r\n\t\t\t\r\n\t\t\t
อยู่ระหว่างดำเนินการ
\r\n\t\t\t\t{/* */}\r\n\t\t\t
\r\n\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t
\r\n\t)\r\n}\r\n","import React from 'react'\r\nimport { Route, Redirect, Switch, withRouter } from 'react-router-dom'\r\n\r\nimport NavBar from '../components/NavBar'\r\nimport UsersRoute from './users'\r\nimport AdminsRoute from './admin'\r\nimport SDOCUsersRoute from './sdoc/users'\r\nimport SDOCAdminsRoute from './sdoc/admin/'\r\nimport MainAdminRoutes from './main-admin/'\r\n\r\nconst Main = () => {\r\n\treturn (\r\n\t\t<>\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{/* Admin Qos Routes */}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t{/* SDOC Admin's Routes */}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t{/* SDOC User's Routes */}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t{/* Admin Routes */}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t{/* User's Routes */}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n\r\nexport default withRouter(Main)\r\n","const reportWebVitals = onPerfEntry => {\r\n if (onPerfEntry && onPerfEntry instanceof Function) {\r\n import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => {\r\n getCLS(onPerfEntry);\r\n getFID(onPerfEntry);\r\n getFCP(onPerfEntry);\r\n getLCP(onPerfEntry);\r\n getTTFB(onPerfEntry);\r\n });\r\n }\r\n};\r\n\r\nexport default reportWebVitals;\r\n","import { createTheme } from '@material-ui/core/styles'\r\n\r\n// import SarabunLight from '../assets/font/Sarabun-Light.ttf'\r\n// import SarabunLightItalic from '../assets/font/Sarabun-LightItalic.ttf'\r\n// import SarabunRegular from '../assets/font/Sarabun-Regular.ttf'\r\n// import SarabunRegularItalic from '../assets/font/Sarabun-Italic.ttf'\r\n\r\n// const sarabun_light = {\r\n// \tfontFamily: 'Sarabun',\r\n// \tfontStyle: 'normal',\r\n// \tfontDisplay: 'swap',\r\n// \tfontWeight: 300,\r\n// \tunicodeRange:\r\n// \t\t'U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF',\r\n// }\r\n\r\n// const sarabun_light_italic = {\r\n// \tfontFamily: 'Sarabun',\r\n// \tfontStyle: 'italic',\r\n// \tfontDisplay: 'swap',\r\n// \tfontWeight: 300,\r\n// \tunicodeRange:\r\n// \t\t'U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF',\r\n// }\r\n\r\n// const sarabun_regular = {\r\n// \tfontFamily: 'Sarabun',\r\n// \tfontStyle: 'normal',\r\n// \tfontDisplay: 'swap',\r\n// \tfontWeight: 400,\r\n// \tunicodeRange:\r\n// \t\t'U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF',\r\n// }\r\n\r\n// const sarabun_regular_italic = {\r\n// \tfontFamily: 'Sarabun',\r\n// \tfontStyle: 'italic',\r\n// \tfontDisplay: 'swap',\r\n// \tfontWeight: 400,\r\n// \tunicodeRange:\r\n// \t\t'U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF',\r\n// }\r\n\r\nexport const Theme = createTheme({\r\n\tpalette: {\r\n\t\tprimary: {\r\n\t\t\tmain: '#a74345',\r\n\t\t\tcontrastText: '#fff',\r\n\t\t},\r\n\t\tsecondary: {\r\n\t\t\tmain: '#8f2b35',\r\n\t\t\tcontrastText: '#fff',\r\n\t\t},\r\n\t\talt1: {\r\n\t\t\tmain: '#c8e8ff',\r\n\t\t\tcontrastText: '#000',\r\n\t\t},\r\n\t\talt2: {\r\n\t\t\tmain: '#edf7fe',\r\n\t\t\tcontrastText: '#000',\r\n\t\t},\r\n\t\talt3: {\r\n\t\t\tmain: '#e2efd9',\r\n\t\t\tcontrastText: '#000',\r\n\t\t},\r\n\t\terror: {\r\n\t\t\tmain: '#FF0000',\r\n\t\t},\r\n\t},\r\n\ttypography: {\r\n\t\tfontFamily: ['Sarabun','sans-serif'].join(','),\r\n\t},\r\n\t// overrides: {\r\n\t// \tMuiCssBaseline: {\r\n\t// \t\t'@global': {\r\n\t// \t\t\t'@font-face': [\r\n\t// \t\t\t\tsarabun_light,\r\n\t// \t\t\t\tsarabun_light_italic,\r\n\t// \t\t\t\tsarabun_regular,\r\n\t// \t\t\t\tsarabun_regular_italic,\r\n\t// \t\t\t],\r\n\t// \t\t},\r\n\t// \t},\r\n\t// },\r\n})\r\n","import React, { useEffect } from 'react';\r\n\r\nconst CookieConsent = () => {\r\n useEffect(() => {\r\n // Load the external script dynamically\r\n const script = document.createElement('script');\r\n script.type = 'text/javascript';\r\n script.src = 'https://csapi.nbtc.go.th/v1/privacy-managers/54057097048/reddot.js?lang=th';\r\n document.body.appendChild(script);\r\n\r\n // Cleanup to remove script and link on unmount\r\n return () => {\r\n document.body.removeChild(script);\r\n };\r\n }, []);\r\n\r\n return (\r\n
\r\n {/* Add your content here, if necessary, or keep it blank for script-driven functionality */}\r\n
\r\n );\r\n};\r\n\r\nexport default CookieConsent;\r\n","import React, { Suspense } from 'react';\r\nimport ReactDOM from 'react-dom';\r\nimport './index.css';\r\nimport './cookieOverrideStyleNbtc.css'\r\nimport App from './pages/index';\r\nimport reportWebVitals from './reportWebVitals';\r\n\r\nimport { CssBaseline } from '@material-ui/core';\r\nimport { ThemeProvider } from '@material-ui/core/styles';\r\nimport { Theme } from '../src/styles/theme';\r\nimport { StoreProvider } from 'easy-peasy';\r\nimport store from './store';\r\n\r\nimport { Router } from 'react-router-dom';\r\nimport { createBrowserHistory } from 'history';\r\nimport CookieInfoBar from './components/CookieInfoBar'; // Import the CookieInfoBar component\r\nimport CookieConsent from 'components/CookieConsent';\r\n\r\nconst history = createBrowserHistory();\r\n\r\nReactDOM.render(\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 document.getElementById('root')\r\n);\r\n\r\n// If you want to start measuring performance in your app, pass a function\r\n// to log results (for example: reportWebVitals(console.log))\r\n// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals\r\nreportWebVitals();\r\n"],"sourceRoot":""}